diff --git a/internal/gen/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.json b/internal/gen/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.json new file mode 100644 index 00000000..f8f76664 --- /dev/null +++ b/internal/gen/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.json @@ -0,0 +1,51 @@ +{ + "$id": "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": true, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "required": [ + "id", + "name" + ] + } + } + ] + } + ], + "properties": { + "id": { + "default": "", + "type": "string" + }, + "name": { + "default": "", + "type": "string" + } + }, + "title": "One Of Optional", + "type": "object" +} diff --git a/internal/gen/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.json b/internal/gen/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.json new file mode 100644 index 00000000..40010c78 --- /dev/null +++ b/internal/gen/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.json @@ -0,0 +1,43 @@ +{ + "$id": "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": true, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + } + ] + } + ], + "properties": { + "id": { + "default": "", + "type": "string" + }, + "name": { + "default": "", + "type": "string" + } + }, + "title": "One Of Required", + "type": "object" +} diff --git a/internal/gen/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.strict.bundle.json b/internal/gen/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.strict.bundle.json index 8cc35604..e2351b89 100644 --- a/internal/gen/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.strict.bundle.json +++ b/internal/gen/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.strict.bundle.json @@ -1,5 +1,93 @@ { "$defs": { + "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.strict.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": true, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "required": [ + "id", + "name" + ] + } + } + ] + } + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "title": "One Of Optional", + "type": "object" + }, + "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.strict.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": true, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + } + ] + } + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "title": "One Of Required", + "type": "object" + }, "buf.protoschema.test.v1.ConstraintTest.RequiredImplicit.jsonschema.strict.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": true, @@ -84,6 +172,9898 @@ "buf.protoschema.test.v1.ConstraintTest.jsonschema.strict.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": true, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "requiredImplicit" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "requiredOptional" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constBool" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "definedOnlyEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "notInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "definedOnlyNotInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inAndNotInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "maxLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minMaxLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "patternString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "suffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "containsString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixSuffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixContainsSuffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "hostnameString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "emailString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4String" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6String" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uriString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uriRefString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "addressString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uuidString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "tuuidString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipWithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4WithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6WithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipPrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4PrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6PrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "hostAndPortString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "httpHeaderNameStrictString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "maxLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minMaxLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64" + ] + }, + "required": [ + "inSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + } + } + ] + } + ], "properties": { "addressString": { "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$|^(([0-9a-fA-F]{1,4}::?){1,7}([0-9a-fA-F]{1,4})|([0-9a-fA-F]{1,4}:){1,7}:|:((([0-9a-fA-F]{1,4}:){1,6})?[0-9a-fA-F]{1,4})?|::)$|^[A-Za-z0-9][A-Za-z0-9-]{0,63}(\\.[A-Za-z0-9-][A-Za-z0-9-]{0,63})*$", @@ -853,6 +10833,12 @@ "title": "Enum", "type": "string" }, + "oneOfOptional": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.strict.json" + }, + "oneOfRequired": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.strict.json" + }, "patternString": { "pattern": "^pat*ern$", "type": "string" diff --git a/internal/gen/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.json b/internal/gen/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.json index 648d5222..28c06f2c 100644 --- a/internal/gen/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.json +++ b/internal/gen/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.json @@ -2,6 +2,9898 @@ "$id": "buf.protoschema.test.v1.ConstraintTest.schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": true, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "required_implicit" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "required_optional" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_bool" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "defined_only_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "defined_only_not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_and_not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "max_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_max_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "pattern_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "contains_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_contains_suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "hostname_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "email_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uri_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uri_ref_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "address_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uuid_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "tuuid_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "host_and_port_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "http_header_name_strict_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "max_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_max_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64" + ] + }, + "required": [ + "in_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + } + } + ] + } + ], "patternProperties": { "^(addressString)$": { "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$|^(([0-9a-fA-F]{1,4}::?){1,7}([0-9a-fA-F]{1,4})|([0-9a-fA-F]{1,4}:){1,7}:|:((([0-9a-fA-F]{1,4}:){1,6})?[0-9a-fA-F]{1,4})?|::)$|^[A-Za-z0-9][A-Za-z0-9-]{0,63}(\\.[A-Za-z0-9-][A-Za-z0-9-]{0,63})*$", @@ -1437,6 +11329,12 @@ ], "title": "Enum" }, + "^(oneOfOptional)$": { + "$ref": "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.json" + }, + "^(oneOfRequired)$": { + "$ref": "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.json" + }, "^(patternString)$": { "pattern": "^pat*ern$", "type": "string" @@ -2915,6 +12813,12 @@ ], "title": "Enum" }, + "one_of_optional": { + "$ref": "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.json" + }, + "one_of_required": { + "$ref": "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.json" + }, "pattern_string": { "pattern": "^pat*ern$", "type": "string" diff --git a/internal/gen/jsonschema/buf.protoschema.test.v1.ConstraintTests.jsonschema.strict.bundle.json b/internal/gen/jsonschema/buf.protoschema.test.v1.ConstraintTests.jsonschema.strict.bundle.json index ecb3b93f..400df629 100644 --- a/internal/gen/jsonschema/buf.protoschema.test.v1.ConstraintTests.jsonschema.strict.bundle.json +++ b/internal/gen/jsonschema/buf.protoschema.test.v1.ConstraintTests.jsonschema.strict.bundle.json @@ -1,5 +1,93 @@ { "$defs": { + "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.strict.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": true, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "required": [ + "id", + "name" + ] + } + } + ] + } + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "title": "One Of Optional", + "type": "object" + }, + "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.strict.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": true, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + } + ] + } + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "title": "One Of Required", + "type": "object" + }, "buf.protoschema.test.v1.ConstraintTest.RequiredImplicit.jsonschema.strict.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": true, @@ -84,6 +172,9898 @@ "buf.protoschema.test.v1.ConstraintTest.jsonschema.strict.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": true, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "requiredImplicit" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "requiredOptional" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constBool" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "definedOnlyEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "notInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "definedOnlyNotInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inAndNotInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "maxLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minMaxLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "patternString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "suffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "containsString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixSuffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixContainsSuffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "hostnameString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "emailString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4String" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6String" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uriString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uriRefString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "addressString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uuidString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "tuuidString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipWithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4WithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6WithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipPrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4PrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6PrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "hostAndPortString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "httpHeaderNameStrictString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "maxLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minMaxLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64" + ] + }, + "required": [ + "inSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + } + } + ] + } + ], "properties": { "addressString": { "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$|^(([0-9a-fA-F]{1,4}::?){1,7}([0-9a-fA-F]{1,4})|([0-9a-fA-F]{1,4}:){1,7}:|:((([0-9a-fA-F]{1,4}:){1,6})?[0-9a-fA-F]{1,4})?|::)$|^[A-Za-z0-9][A-Za-z0-9-]{0,63}(\\.[A-Za-z0-9-][A-Za-z0-9-]{0,63})*$", @@ -853,6 +10833,12 @@ "title": "Enum", "type": "string" }, + "oneOfOptional": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.strict.json" + }, + "oneOfRequired": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.strict.json" + }, "patternString": { "pattern": "^pat*ern$", "type": "string" diff --git a/internal/gen/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.strict.bundle.json b/internal/gen/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.strict.bundle.json index 8494c88d..3d499434 100644 --- a/internal/gen/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.strict.bundle.json +++ b/internal/gen/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.strict.bundle.json @@ -19,6 +19,9 @@ "type": "string" } }, + "required": [ + "stringField" + ], "title": "The title for CustomOptions. On\n multiple lines.", "type": "object" } diff --git a/internal/gen/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.json b/internal/gen/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.json index 372c7028..b9e7358b 100644 --- a/internal/gen/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.json +++ b/internal/gen/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.json @@ -49,6 +49,9 @@ "type": "string" } }, + "required": [ + "string_field" + ], "title": "The title for CustomOptions. On\n multiple lines.", "type": "object" } diff --git a/internal/gen/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.jsonschema.strict.bundle.json b/internal/gen/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.jsonschema.strict.bundle.json index 68772e8f..1b2a272b 100644 --- a/internal/gen/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.jsonschema.strict.bundle.json +++ b/internal/gen/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.jsonschema.strict.bundle.json @@ -35,6 +35,40 @@ "bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.strict.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": true, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "singleNestedEnum" + ] + }, + "required": [ + "singleNestedMessage" + ] + }, + { + "not": { + "required": [ + "singleNestedMessage" + ] + }, + "required": [ + "singleNestedEnum" + ] + }, + { + "not": { + "required": [ + "singleNestedMessage", + "singleNestedEnum" + ] + } + } + ] + } + ], "description": "This proto includes every type of field in both singular and repeated\n forms.", "properties": { "listValue": { diff --git a/internal/gen/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.strict.bundle.json b/internal/gen/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.strict.bundle.json index 922d7679..78937a3e 100644 --- a/internal/gen/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.strict.bundle.json +++ b/internal/gen/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.strict.bundle.json @@ -35,6 +35,40 @@ "bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.strict.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": true, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "singleNestedEnum" + ] + }, + "required": [ + "singleNestedMessage" + ] + }, + { + "not": { + "required": [ + "singleNestedMessage" + ] + }, + "required": [ + "singleNestedEnum" + ] + }, + { + "not": { + "required": [ + "singleNestedMessage", + "singleNestedEnum" + ] + } + } + ] + } + ], "description": "This proto includes every type of field in both singular and repeated\n forms.", "properties": { "listValue": { diff --git a/internal/gen/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.json b/internal/gen/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.json index 040491b2..5e59e65d 100644 --- a/internal/gen/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.json +++ b/internal/gen/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.json @@ -2,6 +2,40 @@ "$id": "bufext.cel.expr.conformance.proto3.TestAllTypes.schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": true, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "single_nested_enum" + ] + }, + "required": [ + "single_nested_message" + ] + }, + { + "not": { + "required": [ + "single_nested_message" + ] + }, + "required": [ + "single_nested_enum" + ] + }, + { + "not": { + "required": [ + "single_nested_message", + "single_nested_enum" + ] + } + } + ] + } + ], "description": "This proto includes every type of field in both singular and repeated\n forms.", "patternProperties": { "^(listValue)$": { diff --git a/internal/gen/proto/buf/protoschema/test/v1/constraints.pb.go b/internal/gen/proto/buf/protoschema/test/v1/constraints.pb.go index b7471037..fe451c64 100644 --- a/internal/gen/proto/buf/protoschema/test/v1/constraints.pb.go +++ b/internal/gen/proto/buf/protoschema/test/v1/constraints.pb.go @@ -187,36 +187,38 @@ type ConstraintTest struct { // *ConstraintTest_GtSfixed64 // *ConstraintTest_GteSfixed64 // *ConstraintTest_InSfixed64 - TestCase isConstraintTest_TestCase `protobuf_oneof:"test_case"` - ConstFixed32 uint32 `protobuf:"fixed32,86,opt,name=const_fixed32,json=constFixed32,proto3" json:"const_fixed32,omitempty"` - LtFixed32 uint32 `protobuf:"fixed32,87,opt,name=lt_fixed32,json=ltFixed32,proto3" json:"lt_fixed32,omitempty"` - LteFixed32 uint32 `protobuf:"fixed32,88,opt,name=lte_fixed32,json=lteFixed32,proto3" json:"lte_fixed32,omitempty"` - GtFixed32 uint32 `protobuf:"fixed32,89,opt,name=gt_fixed32,json=gtFixed32,proto3" json:"gt_fixed32,omitempty"` - GteFixed32 uint32 `protobuf:"fixed32,90,opt,name=gte_fixed32,json=gteFixed32,proto3" json:"gte_fixed32,omitempty"` - InFixed32 uint32 `protobuf:"fixed32,91,opt,name=in_fixed32,json=inFixed32,proto3" json:"in_fixed32,omitempty"` - ConstFixed64 uint64 `protobuf:"fixed64,92,opt,name=const_fixed64,json=constFixed64,proto3" json:"const_fixed64,omitempty"` - LtFixed64 uint64 `protobuf:"fixed64,93,opt,name=lt_fixed64,json=ltFixed64,proto3" json:"lt_fixed64,omitempty"` - LteFixed64 uint64 `protobuf:"fixed64,94,opt,name=lte_fixed64,json=lteFixed64,proto3" json:"lte_fixed64,omitempty"` - GtFixed64 uint64 `protobuf:"fixed64,95,opt,name=gt_fixed64,json=gtFixed64,proto3" json:"gt_fixed64,omitempty"` - GteFixed64 uint64 `protobuf:"fixed64,96,opt,name=gte_fixed64,json=gteFixed64,proto3" json:"gte_fixed64,omitempty"` - InFixed64 uint64 `protobuf:"fixed64,97,opt,name=in_fixed64,json=inFixed64,proto3" json:"in_fixed64,omitempty"` - ConstDouble float64 `protobuf:"fixed64,98,opt,name=const_double,json=constDouble,proto3" json:"const_double,omitempty"` - LtDouble float64 `protobuf:"fixed64,99,opt,name=lt_double,json=ltDouble,proto3" json:"lt_double,omitempty"` - LteDouble float64 `protobuf:"fixed64,100,opt,name=lte_double,json=lteDouble,proto3" json:"lte_double,omitempty"` - GtDouble float64 `protobuf:"fixed64,101,opt,name=gt_double,json=gtDouble,proto3" json:"gt_double,omitempty"` - GteDouble float64 `protobuf:"fixed64,102,opt,name=gte_double,json=gteDouble,proto3" json:"gte_double,omitempty"` - InDouble float64 `protobuf:"fixed64,103,opt,name=in_double,json=inDouble,proto3" json:"in_double,omitempty"` - FiniteDouble float64 `protobuf:"fixed64,104,opt,name=finite_double,json=finiteDouble,proto3" json:"finite_double,omitempty"` - LtGtDouble float64 `protobuf:"fixed64,105,opt,name=lt_gt_double,json=ltGtDouble,proto3" json:"lt_gt_double,omitempty"` - ConstFloat float32 `protobuf:"fixed32,106,opt,name=const_float,json=constFloat,proto3" json:"const_float,omitempty"` - LtFloat float32 `protobuf:"fixed32,107,opt,name=lt_float,json=ltFloat,proto3" json:"lt_float,omitempty"` - LteFloat float32 `protobuf:"fixed32,108,opt,name=lte_float,json=lteFloat,proto3" json:"lte_float,omitempty"` - GtFloat float32 `protobuf:"fixed32,109,opt,name=gt_float,json=gtFloat,proto3" json:"gt_float,omitempty"` - GteFloat float32 `protobuf:"fixed32,110,opt,name=gte_float,json=gteFloat,proto3" json:"gte_float,omitempty"` - InFloat float32 `protobuf:"fixed32,111,opt,name=in_float,json=inFloat,proto3" json:"in_float,omitempty"` - FiniteFloat float32 `protobuf:"fixed32,112,opt,name=finite_float,json=finiteFloat,proto3" json:"finite_float,omitempty"` - LtGtFloat float32 `protobuf:"fixed32,113,opt,name=lt_gt_float,json=ltGtFloat,proto3" json:"lt_gt_float,omitempty"` - InMap map[string]string `protobuf:"bytes,118,rep,name=in_map,json=inMap,proto3" json:"in_map,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + TestCase isConstraintTest_TestCase `protobuf_oneof:"test_case"` + OneOfRequired *ConstraintTest_OneOfRequired `protobuf:"bytes,125,opt,name=one_of_required,json=oneOfRequired,proto3" json:"one_of_required,omitempty"` + OneOfOptional *ConstraintTest_OneOfOptional `protobuf:"bytes,126,opt,name=one_of_optional,json=oneOfOptional,proto3" json:"one_of_optional,omitempty"` + ConstFixed32 uint32 `protobuf:"fixed32,86,opt,name=const_fixed32,json=constFixed32,proto3" json:"const_fixed32,omitempty"` + LtFixed32 uint32 `protobuf:"fixed32,87,opt,name=lt_fixed32,json=ltFixed32,proto3" json:"lt_fixed32,omitempty"` + LteFixed32 uint32 `protobuf:"fixed32,88,opt,name=lte_fixed32,json=lteFixed32,proto3" json:"lte_fixed32,omitempty"` + GtFixed32 uint32 `protobuf:"fixed32,89,opt,name=gt_fixed32,json=gtFixed32,proto3" json:"gt_fixed32,omitempty"` + GteFixed32 uint32 `protobuf:"fixed32,90,opt,name=gte_fixed32,json=gteFixed32,proto3" json:"gte_fixed32,omitempty"` + InFixed32 uint32 `protobuf:"fixed32,91,opt,name=in_fixed32,json=inFixed32,proto3" json:"in_fixed32,omitempty"` + ConstFixed64 uint64 `protobuf:"fixed64,92,opt,name=const_fixed64,json=constFixed64,proto3" json:"const_fixed64,omitempty"` + LtFixed64 uint64 `protobuf:"fixed64,93,opt,name=lt_fixed64,json=ltFixed64,proto3" json:"lt_fixed64,omitempty"` + LteFixed64 uint64 `protobuf:"fixed64,94,opt,name=lte_fixed64,json=lteFixed64,proto3" json:"lte_fixed64,omitempty"` + GtFixed64 uint64 `protobuf:"fixed64,95,opt,name=gt_fixed64,json=gtFixed64,proto3" json:"gt_fixed64,omitempty"` + GteFixed64 uint64 `protobuf:"fixed64,96,opt,name=gte_fixed64,json=gteFixed64,proto3" json:"gte_fixed64,omitempty"` + InFixed64 uint64 `protobuf:"fixed64,97,opt,name=in_fixed64,json=inFixed64,proto3" json:"in_fixed64,omitempty"` + ConstDouble float64 `protobuf:"fixed64,98,opt,name=const_double,json=constDouble,proto3" json:"const_double,omitempty"` + LtDouble float64 `protobuf:"fixed64,99,opt,name=lt_double,json=ltDouble,proto3" json:"lt_double,omitempty"` + LteDouble float64 `protobuf:"fixed64,100,opt,name=lte_double,json=lteDouble,proto3" json:"lte_double,omitempty"` + GtDouble float64 `protobuf:"fixed64,101,opt,name=gt_double,json=gtDouble,proto3" json:"gt_double,omitempty"` + GteDouble float64 `protobuf:"fixed64,102,opt,name=gte_double,json=gteDouble,proto3" json:"gte_double,omitempty"` + InDouble float64 `protobuf:"fixed64,103,opt,name=in_double,json=inDouble,proto3" json:"in_double,omitempty"` + FiniteDouble float64 `protobuf:"fixed64,104,opt,name=finite_double,json=finiteDouble,proto3" json:"finite_double,omitempty"` + LtGtDouble float64 `protobuf:"fixed64,105,opt,name=lt_gt_double,json=ltGtDouble,proto3" json:"lt_gt_double,omitempty"` + ConstFloat float32 `protobuf:"fixed32,106,opt,name=const_float,json=constFloat,proto3" json:"const_float,omitempty"` + LtFloat float32 `protobuf:"fixed32,107,opt,name=lt_float,json=ltFloat,proto3" json:"lt_float,omitempty"` + LteFloat float32 `protobuf:"fixed32,108,opt,name=lte_float,json=lteFloat,proto3" json:"lte_float,omitempty"` + GtFloat float32 `protobuf:"fixed32,109,opt,name=gt_float,json=gtFloat,proto3" json:"gt_float,omitempty"` + GteFloat float32 `protobuf:"fixed32,110,opt,name=gte_float,json=gteFloat,proto3" json:"gte_float,omitempty"` + InFloat float32 `protobuf:"fixed32,111,opt,name=in_float,json=inFloat,proto3" json:"in_float,omitempty"` + FiniteFloat float32 `protobuf:"fixed32,112,opt,name=finite_float,json=finiteFloat,proto3" json:"finite_float,omitempty"` + LtGtFloat float32 `protobuf:"fixed32,113,opt,name=lt_gt_float,json=ltGtFloat,proto3" json:"lt_gt_float,omitempty"` + InMap map[string]string `protobuf:"bytes,118,rep,name=in_map,json=inMap,proto3" json:"in_map,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1113,6 +1115,20 @@ func (x *ConstraintTest) GetInSfixed64() int64 { return 0 } +func (x *ConstraintTest) GetOneOfRequired() *ConstraintTest_OneOfRequired { + if x != nil { + return x.OneOfRequired + } + return nil +} + +func (x *ConstraintTest) GetOneOfOptional() *ConstraintTest_OneOfOptional { + if x != nil { + return x.OneOfOptional + } + return nil +} + func (x *ConstraintTest) GetConstFixed32() uint32 { if x != nil { return x.ConstFixed32 @@ -2070,11 +2086,115 @@ func (x *ConstraintTest_RequiredOptional) GetStrictEnumValue() ConstraintTest_En return ConstraintTest_ENUM_UNSPECIFIED } +type ConstraintTest_OneOfRequired struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConstraintTest_OneOfRequired) Reset() { + *x = ConstraintTest_OneOfRequired{} + mi := &file_buf_protoschema_test_v1_constraints_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConstraintTest_OneOfRequired) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConstraintTest_OneOfRequired) ProtoMessage() {} + +func (x *ConstraintTest_OneOfRequired) ProtoReflect() protoreflect.Message { + mi := &file_buf_protoschema_test_v1_constraints_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConstraintTest_OneOfRequired.ProtoReflect.Descriptor instead. +func (*ConstraintTest_OneOfRequired) Descriptor() ([]byte, []int) { + return file_buf_protoschema_test_v1_constraints_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *ConstraintTest_OneOfRequired) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ConstraintTest_OneOfRequired) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type ConstraintTest_OneOfOptional struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConstraintTest_OneOfOptional) Reset() { + *x = ConstraintTest_OneOfOptional{} + mi := &file_buf_protoschema_test_v1_constraints_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConstraintTest_OneOfOptional) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConstraintTest_OneOfOptional) ProtoMessage() {} + +func (x *ConstraintTest_OneOfOptional) ProtoReflect() protoreflect.Message { + mi := &file_buf_protoschema_test_v1_constraints_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConstraintTest_OneOfOptional.ProtoReflect.Descriptor instead. +func (*ConstraintTest_OneOfOptional) Descriptor() ([]byte, []int) { + return file_buf_protoschema_test_v1_constraints_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *ConstraintTest_OneOfOptional) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ConstraintTest_OneOfOptional) GetName() string { + if x != nil { + return x.Name + } + return "" +} + var File_buf_protoschema_test_v1_constraints_proto protoreflect.FileDescriptor const file_buf_protoschema_test_v1_constraints_proto_rawDesc = "" + "\n" + - ")buf/protoschema/test/v1/constraints.proto\x12\x17buf.protoschema.test.v1\x1a\x1bbuf/validate/validate.proto\"\xfc8\n" + + ")buf/protoschema/test/v1/constraints.proto\x12\x17buf.protoschema.test.v1\x1a\x1bbuf/validate/validate.proto\"\xc8;\n" + "\x0eConstraintTest\x12g\n" + "\x11required_implicit\x18\x01 \x01(\v28.buf.protoschema.test.v1.ConstraintTest.RequiredImplicitH\x00R\x10requiredImplicit\x12g\n" + "\x11required_optional\x18\x02 \x01(\v28.buf.protoschema.test.v1.ConstraintTest.RequiredOptionalH\x00R\x10requiredOptional\x12(\n" + @@ -2220,7 +2340,9 @@ const file_buf_protoschema_test_v1_constraints_proto_rawDesc = "" + "gtSfixed64\x123\n" + "\fgte_sfixed64\x18T \x01(\x10B\x0e\xbaH\vb\t)\x05\x00\x00\x00\x00\x00\x00\x00H\x00R\vgteSfixed64\x12:\n" + "\vin_sfixed64\x18U \x01(\x10B\x17\xbaH\x14b\x121\x01\x00\x00\x00\x00\x00\x00\x001\x02\x00\x00\x00\x00\x00\x00\x00H\x00R\n" + - "inSfixed64\x12/\n" + + "inSfixed64\x12]\n" + + "\x0fone_of_required\x18} \x01(\v25.buf.protoschema.test.v1.ConstraintTest.OneOfRequiredR\roneOfRequired\x12]\n" + + "\x0fone_of_optional\x18~ \x01(\v25.buf.protoschema.test.v1.ConstraintTest.OneOfOptionalR\roneOfOptional\x12/\n" + "\rconst_fixed32\x18V \x01(\aB\n" + "\xbaH\aJ\x05\r\x05\x00\x00\x00R\fconstFixed32\x12)\n" + "\n" + @@ -2302,7 +2424,18 @@ const file_buf_protoschema_test_v1_constraints_proto_rawDesc = "" + "\v_bool_valueB\x0f\n" + "\r_string_valueB\r\n" + "\v_enum_valueB\x14\n" + - "\x12_strict_enum_value\x1a8\n" + + "\x12_strict_enum_value\x1aF\n" + + "\rOneOfRequired\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name:\x11\xbaH\x0e\"\f\n" + + "\x02id\n" + + "\x04name\x10\x01\x1aD\n" + + "\rOneOfOptional\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name:\x0f\xbaH\f\"\n" + + "\n" + + "\x02id\n" + + "\x04name\x1a8\n" + "\n" + "InMapEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + @@ -2331,14 +2464,16 @@ func file_buf_protoschema_test_v1_constraints_proto_rawDescGZIP() []byte { } var file_buf_protoschema_test_v1_constraints_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_buf_protoschema_test_v1_constraints_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_buf_protoschema_test_v1_constraints_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_buf_protoschema_test_v1_constraints_proto_goTypes = []any{ (ConstraintTest_Enum)(0), // 0: buf.protoschema.test.v1.ConstraintTest.Enum (*ConstraintTest)(nil), // 1: buf.protoschema.test.v1.ConstraintTest (*ConstraintTests)(nil), // 2: buf.protoschema.test.v1.ConstraintTests (*ConstraintTest_RequiredImplicit)(nil), // 3: buf.protoschema.test.v1.ConstraintTest.RequiredImplicit (*ConstraintTest_RequiredOptional)(nil), // 4: buf.protoschema.test.v1.ConstraintTest.RequiredOptional - nil, // 5: buf.protoschema.test.v1.ConstraintTest.InMapEntry + (*ConstraintTest_OneOfRequired)(nil), // 5: buf.protoschema.test.v1.ConstraintTest.OneOfRequired + (*ConstraintTest_OneOfOptional)(nil), // 6: buf.protoschema.test.v1.ConstraintTest.OneOfOptional + nil, // 7: buf.protoschema.test.v1.ConstraintTest.InMapEntry } var file_buf_protoschema_test_v1_constraints_proto_depIdxs = []int32{ 3, // 0: buf.protoschema.test.v1.ConstraintTest.required_implicit:type_name -> buf.protoschema.test.v1.ConstraintTest.RequiredImplicit @@ -2349,17 +2484,19 @@ var file_buf_protoschema_test_v1_constraints_proto_depIdxs = []int32{ 0, // 5: buf.protoschema.test.v1.ConstraintTest.not_in_enum:type_name -> buf.protoschema.test.v1.ConstraintTest.Enum 0, // 6: buf.protoschema.test.v1.ConstraintTest.defined_only_not_in_enum:type_name -> buf.protoschema.test.v1.ConstraintTest.Enum 0, // 7: buf.protoschema.test.v1.ConstraintTest.in_and_not_in_enum:type_name -> buf.protoschema.test.v1.ConstraintTest.Enum - 5, // 8: buf.protoschema.test.v1.ConstraintTest.in_map:type_name -> buf.protoschema.test.v1.ConstraintTest.InMapEntry - 1, // 9: buf.protoschema.test.v1.ConstraintTests.test_cases:type_name -> buf.protoschema.test.v1.ConstraintTest - 0, // 10: buf.protoschema.test.v1.ConstraintTest.RequiredImplicit.enum_value:type_name -> buf.protoschema.test.v1.ConstraintTest.Enum - 0, // 11: buf.protoschema.test.v1.ConstraintTest.RequiredImplicit.strict_enum_value:type_name -> buf.protoschema.test.v1.ConstraintTest.Enum - 0, // 12: buf.protoschema.test.v1.ConstraintTest.RequiredOptional.enum_value:type_name -> buf.protoschema.test.v1.ConstraintTest.Enum - 0, // 13: buf.protoschema.test.v1.ConstraintTest.RequiredOptional.strict_enum_value:type_name -> buf.protoschema.test.v1.ConstraintTest.Enum - 14, // [14:14] is the sub-list for method output_type - 14, // [14:14] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 14, // [14:14] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name + 5, // 8: buf.protoschema.test.v1.ConstraintTest.one_of_required:type_name -> buf.protoschema.test.v1.ConstraintTest.OneOfRequired + 6, // 9: buf.protoschema.test.v1.ConstraintTest.one_of_optional:type_name -> buf.protoschema.test.v1.ConstraintTest.OneOfOptional + 7, // 10: buf.protoschema.test.v1.ConstraintTest.in_map:type_name -> buf.protoschema.test.v1.ConstraintTest.InMapEntry + 1, // 11: buf.protoschema.test.v1.ConstraintTests.test_cases:type_name -> buf.protoschema.test.v1.ConstraintTest + 0, // 12: buf.protoschema.test.v1.ConstraintTest.RequiredImplicit.enum_value:type_name -> buf.protoschema.test.v1.ConstraintTest.Enum + 0, // 13: buf.protoschema.test.v1.ConstraintTest.RequiredImplicit.strict_enum_value:type_name -> buf.protoschema.test.v1.ConstraintTest.Enum + 0, // 14: buf.protoschema.test.v1.ConstraintTest.RequiredOptional.enum_value:type_name -> buf.protoschema.test.v1.ConstraintTest.Enum + 0, // 15: buf.protoschema.test.v1.ConstraintTest.RequiredOptional.strict_enum_value:type_name -> buf.protoschema.test.v1.ConstraintTest.Enum + 16, // [16:16] is the sub-list for method output_type + 16, // [16:16] is the sub-list for method input_type + 16, // [16:16] is the sub-list for extension type_name + 16, // [16:16] is the sub-list for extension extendee + 0, // [0:16] is the sub-list for field type_name } func init() { file_buf_protoschema_test_v1_constraints_proto_init() } @@ -2471,7 +2608,7 @@ func file_buf_protoschema_test_v1_constraints_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_buf_protoschema_test_v1_constraints_proto_rawDesc), len(file_buf_protoschema_test_v1_constraints_proto_rawDesc)), NumEnums: 1, - NumMessages: 5, + NumMessages: 7, NumExtensions: 0, NumServices: 0, }, diff --git a/internal/proto/buf/protoschema/test/v1/constraints.proto b/internal/proto/buf/protoschema/test/v1/constraints.proto index 86b7599b..a2cc9516 100644 --- a/internal/proto/buf/protoschema/test/v1/constraints.proto +++ b/internal/proto/buf/protoschema/test/v1/constraints.proto @@ -39,6 +39,29 @@ message ConstraintTest { ]; } + message OneOfRequired { + option (buf.validate.message).oneof = { + fields: [ + "id", + "name" + ] + required: true + }; + string id = 1; + string name = 2; + } + + message OneOfOptional { + option (buf.validate.message).oneof = { + fields: [ + "id", + "name" + ] + }; + string id = 1; + string name = 2; + } + enum Enum { ENUM_UNSPECIFIED = 0; ENUM_VAL1 = 1; @@ -238,6 +261,9 @@ message ConstraintTest { ] }]; } + OneOfRequired one_of_required = 125; + OneOfOptional one_of_optional = 126; + fixed32 const_fixed32 = 86 [(buf.validate.field).fixed32.const = 5]; fixed32 lt_fixed32 = 87 [(buf.validate.field).fixed32.lt = 5]; fixed32 lte_fixed32 = 88 [(buf.validate.field).fixed32.lte = 5]; diff --git a/internal/protoschema/jsonschema/jsonschema.go b/internal/protoschema/jsonschema/jsonschema.go index e82c85dc..5e67494c 100644 --- a/internal/protoschema/jsonschema/jsonschema.go +++ b/internal/protoschema/jsonschema/jsonschema.go @@ -15,6 +15,7 @@ package jsonschema import ( + "errors" "fmt" "maps" "math" @@ -24,6 +25,7 @@ import ( "buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate" "buf.build/go/protovalidate" + "google.golang.org/protobuf/proto" "google.golang.org/protobuf/reflect/protoreflect" ) @@ -262,13 +264,33 @@ func (p *Generator) generate(desc protoreflect.MessageDescriptor) (*msgSchema, e func (p *Generator) generateMessage(entry *msgSchema) error { entry.schema["type"] = jsObject p.setDescription(entry.desc, entry.schema) + + var oneOfRules []*validate.MessageOneofRule + rules, err := p.getMessageRules(entry.desc) + if err != nil { + return err + } + if rules != nil { + oneOfRules = append(oneOfRules, rules.GetOneof()...) + } + var required []string properties := make(map[string]any) patternProperties := make(map[string]any) + fieldPropertiesNames := make(map[protoreflect.Name]string) for i := range entry.desc.Fields().Len() { field := entry.desc.Fields().Get(i) + + // If this is a one fields add it as a oneOf message rule + if oneOfRule, err := p.fieldOneOfToMessageRule(field); err != nil { + return err + } else if oneOfRule != nil { + oneOfRules = append(oneOfRules, oneOfRule) + } + visibility := p.shouldIgnoreField(field) if visibility == FieldIgnore { + fieldPropertiesNames[field.Name()] = "" continue } rules, err := p.getFieldRules(field) @@ -290,7 +312,12 @@ func (p *Generator) generateMessage(entry *msgSchema) error { return fmt.Errorf("failed to generate field %q: %w", field.FullName(), err) } // Add the field schema to the properties. - aliases := p.addFieldProperties(field, visibility == FieldHide, fieldSchema, properties) + fieldProperty, aliases := p.getFieldPropertyNames(field, visibility == FieldHide) + fieldPropertiesNames[field.Name()] = fieldProperty + if fieldProperty != "" { + properties[fieldProperty] = fieldSchema + } + // Add any aliases to the pattern properties. if !p.strict && len(aliases) > 0 { pattern := "^(" + strings.Join(aliases, "|") + ")$" @@ -305,41 +332,154 @@ func (p *Generator) generateMessage(entry *msgSchema) error { if len(required) > 0 { entry.schema["required"] = required } + + return p.addOneOfConstraintsToSchema(entry.schema, fieldPropertiesNames, oneOfRules) +} + +func (p *Generator) fieldOneOfToMessageRule(field protoreflect.FieldDescriptor) (*validate.MessageOneofRule, error) { + oneOf := field.ContainingOneof() + if oneOf == nil { + return nil, nil + } + fields := oneOf.Fields() + + // Only transform the first field to avoid duplicate entries + if fields.Len() == 0 || fields.Get(0).FullName() != field.FullName() { + return nil, nil + } + + rule := validate.MessageOneofRule_builder{} + rule.Fields = make([]string, fields.Len()) + for i := range fields.Len() { + rule.Fields[i] = string(fields.Get(i).Name()) + } + + oneOfRule, err := protovalidate.ResolveOneofRules(oneOf) + if err != nil { + return nil, err + } + if oneOfRule != nil && oneOfRule.HasRequired() { + rule.Required = proto.Bool(oneOfRule.GetRequired()) + } + return rule.Build(), nil +} + +func (p *Generator) addOneOfConstraintsToSchema(schema map[string]any, fieldProperties map[protoreflect.Name]string, rules []*validate.MessageOneofRule) error { + if len(rules) == 0 { + return nil + } + + var required []string + if r, found := schema["required"]; found { + rs, ok := r.([]string) + if !ok { + return errors.New("invalid required field in schema") + } + required = rs + } + + allOf := make([]any, 0, len(rules)) + for _, rule := range rules { + fields := rule.GetFields() + properties := make([]string, 0, len(fields)) + for _, field := range fields { + property, ok := fieldProperties[protoreflect.Name(field)] + if !ok { + return fmt.Errorf("failed to generate one of rule for unknown field %q", field) + } + if property == "" { + continue + } + properties = append(properties, property) + } + if len(properties) == 0 { + continue + } + + if len(properties) == 1 { + if rule.GetRequired() && !slices.Contains(required, properties[0]) { + required = append(required, properties[0]) + } + continue + } + + anyOf := make([]map[string]any, 0, len(properties)+1) + for j := range properties { + notRequired := make([]string, 0, len(fields)-1) + notRequired = append(notRequired, properties[:j]...) + notRequired = append(notRequired, properties[j+1:]...) + anyOf = append(anyOf, map[string]any{ + "required": []string{properties[j]}, + "not": map[string]any{ + "required": notRequired, + }, + }) + } + + if !rule.GetRequired() { + anyOf = append(anyOf, map[string]any{ + "not": map[string]any{ + "required": properties, + }, + }) + } + allOf = append(allOf, map[string]any{ + "anyOf": anyOf, + }) + + // Ensure none of the oneOf fields are required + required = slices.DeleteFunc(required, func(s string) bool { + return slices.Contains(properties, s) + }) + } + + if len(required) == 0 { + delete(schema, "required") + } else { + schema["required"] = required + } + if len(allOf) > 0 { + schema["allOf"] = allOf + } + return nil } -func (p *Generator) addFieldProperties( +func (p *Generator) getFieldPropertyNames( field protoreflect.FieldDescriptor, hide bool, - fieldSchema map[string]any, - properties map[string]any) []string { +) (string, []string) { + var ( + name string + aliases []string + ) // TODO: Add an option to include custom alias. - aliases := make([]string, 0, 1) + aliases = make([]string, 0, 1) if p.useJSONNames { // Add the JSON name as the primary name. if hide { aliases = append(aliases, field.JSONName()) } else { - properties[field.JSONName()] = fieldSchema + name = field.JSONName() } // Add the proto name as an alias. if field.JSONName() != string(field.Name()) { aliases = append(aliases, string(field.Name())) } - return aliases + return name, aliases } // Add the proto name as the primary name. if hide { aliases = append(aliases, string(field.Name())) } else { - properties[string(field.Name())] = fieldSchema + name = string(field.Name()) } // Add the JSON name as an alias. if field.JSONName() != string(field.Name()) { aliases = append(aliases, field.JSONName()) } - return aliases + return name, aliases } func (p *Generator) setDescription(desc protoreflect.Descriptor, schema map[string]any) { @@ -433,6 +573,10 @@ func (p *Generator) generateFieldValidation(entry *msgSchema, field protoreflect return nil } +func (p *Generator) getMessageRules(msg protoreflect.MessageDescriptor) (*validate.MessageRules, error) { + return protovalidate.ResolveMessageRules(msg) +} + func (p *Generator) getFieldRules(field protoreflect.FieldDescriptor) (*validate.FieldRules, error) { rules, err := protovalidate.ResolveFieldRules(field) if err != nil { diff --git a/internal/protoschema/plugin/pluginjsonschema/pluginjsonschema_test.go b/internal/protoschema/plugin/pluginjsonschema/pluginjsonschema_test.go index f73ee1ec..b560f27a 100644 --- a/internal/protoschema/plugin/pluginjsonschema/pluginjsonschema_test.go +++ b/internal/protoschema/plugin/pluginjsonschema/pluginjsonschema_test.go @@ -77,10 +77,13 @@ func TestJSONSchemaHandler(t *testing.T) { require.Equal(t, wantFiles, gatherGoldenFiles(t, goldenPath)) for _, file := range response.GetFile() { - filename := path.Join(goldenPath, file.GetName()) - want, err := os.ReadFile(filename) - require.NoError(t, err) - require.Equal(t, string(want), file.GetContent()) + t.Run(file.GetName(), func(t *testing.T) { + t.Parallel() + filename := path.Join(goldenPath, file.GetName()) + want, err := os.ReadFile(filename) + require.NoError(t, err) + require.Equal(t, string(want), file.GetContent()) + }) } } diff --git a/internal/testdata/codegenrequest/input.json b/internal/testdata/codegenrequest/input.json index f8a963fe..7e7d98e9 100644 --- a/internal/testdata/codegenrequest/input.json +++ b/internal/testdata/codegenrequest/input.json @@ -1 +1 @@ -{"file":[{"name":"google/protobuf/descriptor.proto","package":"google.protobuf","messageType":[{"name":"FileDescriptorSet","field":[{"name":"file","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FileDescriptorProto","jsonName":"file"}],"extensionRange":[{"start":536000000,"end":536000001,"options":{"declaration":[{"number":536000000,"fullName":".buf.descriptor.v1.buf_file_descriptor_set_extension","type":".buf.descriptor.v1.FileDescriptorSetExtension"}]}}]},{"name":"FileDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"package","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"package"},{"name":"dependency","number":3,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"dependency"},{"name":"public_dependency","number":10,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"publicDependency"},{"name":"weak_dependency","number":11,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"weakDependency"},{"name":"message_type","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.DescriptorProto","jsonName":"messageType"},{"name":"enum_type","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumDescriptorProto","jsonName":"enumType"},{"name":"service","number":6,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.ServiceDescriptorProto","jsonName":"service"},{"name":"extension","number":7,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldDescriptorProto","jsonName":"extension"},{"name":"options","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FileOptions","jsonName":"options"},{"name":"source_code_info","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.SourceCodeInfo","jsonName":"sourceCodeInfo"},{"name":"syntax","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"syntax"},{"name":"edition","number":14,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"edition"}]},{"name":"DescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"field","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldDescriptorProto","jsonName":"field"},{"name":"extension","number":6,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldDescriptorProto","jsonName":"extension"},{"name":"nested_type","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.DescriptorProto","jsonName":"nestedType"},{"name":"enum_type","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumDescriptorProto","jsonName":"enumType"},{"name":"extension_range","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.DescriptorProto.ExtensionRange","jsonName":"extensionRange"},{"name":"oneof_decl","number":8,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.OneofDescriptorProto","jsonName":"oneofDecl"},{"name":"options","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.MessageOptions","jsonName":"options"},{"name":"reserved_range","number":9,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.DescriptorProto.ReservedRange","jsonName":"reservedRange"},{"name":"reserved_name","number":10,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"reservedName"}],"nestedType":[{"name":"ExtensionRange","field":[{"name":"start","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"start"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"end"},{"name":"options","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ExtensionRangeOptions","jsonName":"options"}]},{"name":"ReservedRange","field":[{"name":"start","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"start"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"end"}]}]},{"name":"ExtensionRangeOptions","field":[{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"},{"name":"declaration","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.ExtensionRangeOptions.Declaration","jsonName":"declaration","options":{"retention":"RETENTION_SOURCE"}},{"name":"features","number":50,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"verification","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.ExtensionRangeOptions.VerificationState","defaultValue":"UNVERIFIED","jsonName":"verification","options":{"retention":"RETENTION_SOURCE"}}],"nestedType":[{"name":"Declaration","field":[{"name":"number","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"number"},{"name":"full_name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"fullName"},{"name":"type","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"type"},{"name":"reserved","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"reserved"},{"name":"repeated","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"repeated"}],"reservedRange":[{"start":4,"end":5}]}],"enumType":[{"name":"VerificationState","value":[{"name":"DECLARATION","number":0},{"name":"UNVERIFIED","number":1}]}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"FieldDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"number","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"number"},{"name":"label","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldDescriptorProto.Label","jsonName":"label"},{"name":"type","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldDescriptorProto.Type","jsonName":"type"},{"name":"type_name","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"typeName"},{"name":"extendee","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"extendee"},{"name":"default_value","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"defaultValue"},{"name":"oneof_index","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"oneofIndex"},{"name":"json_name","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"jsonName"},{"name":"options","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldOptions","jsonName":"options"},{"name":"proto3_optional","number":17,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"proto3Optional"}],"enumType":[{"name":"Type","value":[{"name":"TYPE_DOUBLE","number":1},{"name":"TYPE_FLOAT","number":2},{"name":"TYPE_INT64","number":3},{"name":"TYPE_UINT64","number":4},{"name":"TYPE_INT32","number":5},{"name":"TYPE_FIXED64","number":6},{"name":"TYPE_FIXED32","number":7},{"name":"TYPE_BOOL","number":8},{"name":"TYPE_STRING","number":9},{"name":"TYPE_GROUP","number":10},{"name":"TYPE_MESSAGE","number":11},{"name":"TYPE_BYTES","number":12},{"name":"TYPE_UINT32","number":13},{"name":"TYPE_ENUM","number":14},{"name":"TYPE_SFIXED32","number":15},{"name":"TYPE_SFIXED64","number":16},{"name":"TYPE_SINT32","number":17},{"name":"TYPE_SINT64","number":18}]},{"name":"Label","value":[{"name":"LABEL_OPTIONAL","number":1},{"name":"LABEL_REPEATED","number":3},{"name":"LABEL_REQUIRED","number":2}]}]},{"name":"OneofDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"options","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.OneofOptions","jsonName":"options"}]},{"name":"EnumDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"value","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumValueDescriptorProto","jsonName":"value"},{"name":"options","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumOptions","jsonName":"options"},{"name":"reserved_range","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumDescriptorProto.EnumReservedRange","jsonName":"reservedRange"},{"name":"reserved_name","number":5,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"reservedName"}],"nestedType":[{"name":"EnumReservedRange","field":[{"name":"start","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"start"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"end"}]}]},{"name":"EnumValueDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"number","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"number"},{"name":"options","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumValueOptions","jsonName":"options"}]},{"name":"ServiceDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"method","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.MethodDescriptorProto","jsonName":"method"},{"name":"options","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ServiceOptions","jsonName":"options"}]},{"name":"MethodDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"input_type","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"inputType"},{"name":"output_type","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"outputType"},{"name":"options","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.MethodOptions","jsonName":"options"},{"name":"client_streaming","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"clientStreaming"},{"name":"server_streaming","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"serverStreaming"}]},{"name":"FileOptions","field":[{"name":"java_package","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"javaPackage"},{"name":"java_outer_classname","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"javaOuterClassname"},{"name":"java_multiple_files","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"javaMultipleFiles"},{"name":"java_generate_equals_and_hash","number":20,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"javaGenerateEqualsAndHash","options":{"deprecated":true}},{"name":"java_string_check_utf8","number":27,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"javaStringCheckUtf8"},{"name":"optimize_for","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FileOptions.OptimizeMode","defaultValue":"SPEED","jsonName":"optimizeFor"},{"name":"go_package","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"goPackage"},{"name":"cc_generic_services","number":16,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"ccGenericServices"},{"name":"java_generic_services","number":17,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"javaGenericServices"},{"name":"py_generic_services","number":18,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"pyGenericServices"},{"name":"deprecated","number":23,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"cc_enable_arenas","number":31,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"true","jsonName":"ccEnableArenas"},{"name":"objc_class_prefix","number":36,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"objcClassPrefix"},{"name":"csharp_namespace","number":37,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"csharpNamespace"},{"name":"swift_prefix","number":39,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"swiftPrefix"},{"name":"php_class_prefix","number":40,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"phpClassPrefix"},{"name":"php_namespace","number":41,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"phpNamespace"},{"name":"php_metadata_namespace","number":44,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"phpMetadataNamespace"},{"name":"ruby_package","number":45,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"rubyPackage"},{"name":"features","number":50,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"enumType":[{"name":"OptimizeMode","value":[{"name":"SPEED","number":1},{"name":"CODE_SIZE","number":2},{"name":"LITE_RUNTIME","number":3}]}],"extensionRange":[{"start":1000,"end":536870912}],"reservedRange":[{"start":42,"end":43},{"start":38,"end":39}],"reservedName":["php_generic_services"]},{"name":"MessageOptions","field":[{"name":"message_set_wire_format","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"messageSetWireFormat"},{"name":"no_standard_descriptor_accessor","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"noStandardDescriptorAccessor"},{"name":"deprecated","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"map_entry","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"mapEntry"},{"name":"deprecated_legacy_json_field_conflicts","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"deprecatedLegacyJsonFieldConflicts","options":{"deprecated":true}},{"name":"features","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}],"reservedRange":[{"start":4,"end":5},{"start":5,"end":6},{"start":6,"end":7},{"start":8,"end":9},{"start":9,"end":10}]},{"name":"FieldOptions","field":[{"name":"ctype","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldOptions.CType","defaultValue":"STRING","jsonName":"ctype"},{"name":"packed","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"packed"},{"name":"jstype","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldOptions.JSType","defaultValue":"JS_NORMAL","jsonName":"jstype"},{"name":"lazy","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"lazy"},{"name":"unverified_lazy","number":15,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"unverifiedLazy"},{"name":"deprecated","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"weak","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"weak"},{"name":"debug_redact","number":16,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"debugRedact"},{"name":"retention","number":17,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldOptions.OptionRetention","jsonName":"retention"},{"name":"targets","number":19,"label":"LABEL_REPEATED","type":"TYPE_ENUM","typeName":".google.protobuf.FieldOptions.OptionTargetType","jsonName":"targets"},{"name":"edition_defaults","number":20,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldOptions.EditionDefault","jsonName":"editionDefaults"},{"name":"features","number":21,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"feature_support","number":22,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldOptions.FeatureSupport","jsonName":"featureSupport"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"nestedType":[{"name":"EditionDefault","field":[{"name":"edition","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"edition"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}]},{"name":"FeatureSupport","field":[{"name":"edition_introduced","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"editionIntroduced"},{"name":"edition_deprecated","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"editionDeprecated"},{"name":"deprecation_warning","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"deprecationWarning"},{"name":"edition_removed","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"editionRemoved"}]}],"enumType":[{"name":"CType","value":[{"name":"STRING","number":0},{"name":"CORD","number":1},{"name":"STRING_PIECE","number":2}]},{"name":"JSType","value":[{"name":"JS_NORMAL","number":0},{"name":"JS_STRING","number":1},{"name":"JS_NUMBER","number":2}]},{"name":"OptionRetention","value":[{"name":"RETENTION_UNKNOWN","number":0},{"name":"RETENTION_RUNTIME","number":1},{"name":"RETENTION_SOURCE","number":2}]},{"name":"OptionTargetType","value":[{"name":"TARGET_TYPE_UNKNOWN","number":0},{"name":"TARGET_TYPE_FILE","number":1},{"name":"TARGET_TYPE_EXTENSION_RANGE","number":2},{"name":"TARGET_TYPE_MESSAGE","number":3},{"name":"TARGET_TYPE_FIELD","number":4},{"name":"TARGET_TYPE_ONEOF","number":5},{"name":"TARGET_TYPE_ENUM","number":6},{"name":"TARGET_TYPE_ENUM_ENTRY","number":7},{"name":"TARGET_TYPE_SERVICE","number":8},{"name":"TARGET_TYPE_METHOD","number":9}]}],"extensionRange":[{"start":1000,"end":536870912}],"reservedRange":[{"start":4,"end":5},{"start":18,"end":19}]},{"name":"OneofOptions","field":[{"name":"features","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"EnumOptions","field":[{"name":"allow_alias","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"allowAlias"},{"name":"deprecated","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"deprecated_legacy_json_field_conflicts","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"deprecatedLegacyJsonFieldConflicts","options":{"deprecated":true}},{"name":"features","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}],"reservedRange":[{"start":5,"end":6}]},{"name":"EnumValueOptions","field":[{"name":"deprecated","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"features","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"debug_redact","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"debugRedact"},{"name":"feature_support","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldOptions.FeatureSupport","jsonName":"featureSupport"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"ServiceOptions","field":[{"name":"features","number":34,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"deprecated","number":33,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"MethodOptions","field":[{"name":"deprecated","number":33,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"idempotency_level","number":34,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.MethodOptions.IdempotencyLevel","defaultValue":"IDEMPOTENCY_UNKNOWN","jsonName":"idempotencyLevel"},{"name":"features","number":35,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"enumType":[{"name":"IdempotencyLevel","value":[{"name":"IDEMPOTENCY_UNKNOWN","number":0},{"name":"NO_SIDE_EFFECTS","number":1},{"name":"IDEMPOTENT","number":2}]}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"UninterpretedOption","field":[{"name":"name","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption.NamePart","jsonName":"name"},{"name":"identifier_value","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"identifierValue"},{"name":"positive_int_value","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"positiveIntValue"},{"name":"negative_int_value","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"negativeIntValue"},{"name":"double_value","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"doubleValue"},{"name":"string_value","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"stringValue"},{"name":"aggregate_value","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"aggregateValue"}],"nestedType":[{"name":"NamePart","field":[{"name":"name_part","number":1,"label":"LABEL_REQUIRED","type":"TYPE_STRING","jsonName":"namePart"},{"name":"is_extension","number":2,"label":"LABEL_REQUIRED","type":"TYPE_BOOL","jsonName":"isExtension"}]}]},{"name":"FeatureSet","field":[{"name":"field_presence","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.FieldPresence","jsonName":"fieldPresence","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_FIELD","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"EXPLICIT"},{"edition":"EDITION_PROTO3","value":"IMPLICIT"},{"edition":"EDITION_2023","value":"EXPLICIT"}],"featureSupport":{"editionIntroduced":"EDITION_2023"}}},{"name":"enum_type","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.EnumType","jsonName":"enumType","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_ENUM","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"CLOSED"},{"edition":"EDITION_PROTO3","value":"OPEN"}],"featureSupport":{"editionIntroduced":"EDITION_2023"}}},{"name":"repeated_field_encoding","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.RepeatedFieldEncoding","jsonName":"repeatedFieldEncoding","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_FIELD","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"EXPANDED"},{"edition":"EDITION_PROTO3","value":"PACKED"}],"featureSupport":{"editionIntroduced":"EDITION_2023"}}},{"name":"utf8_validation","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.Utf8Validation","jsonName":"utf8Validation","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_FIELD","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"NONE"},{"edition":"EDITION_PROTO3","value":"VERIFY"}],"featureSupport":{"editionIntroduced":"EDITION_2023"}}},{"name":"message_encoding","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.MessageEncoding","jsonName":"messageEncoding","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_FIELD","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"LENGTH_PREFIXED"}],"featureSupport":{"editionIntroduced":"EDITION_2023"}}},{"name":"json_format","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.JsonFormat","jsonName":"jsonFormat","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_MESSAGE","TARGET_TYPE_ENUM","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"LEGACY_BEST_EFFORT"},{"edition":"EDITION_PROTO3","value":"ALLOW"}],"featureSupport":{"editionIntroduced":"EDITION_2023"}}}],"enumType":[{"name":"FieldPresence","value":[{"name":"FIELD_PRESENCE_UNKNOWN","number":0},{"name":"EXPLICIT","number":1},{"name":"IMPLICIT","number":2},{"name":"LEGACY_REQUIRED","number":3}]},{"name":"EnumType","value":[{"name":"ENUM_TYPE_UNKNOWN","number":0},{"name":"OPEN","number":1},{"name":"CLOSED","number":2}]},{"name":"RepeatedFieldEncoding","value":[{"name":"REPEATED_FIELD_ENCODING_UNKNOWN","number":0},{"name":"PACKED","number":1},{"name":"EXPANDED","number":2}]},{"name":"Utf8Validation","value":[{"name":"UTF8_VALIDATION_UNKNOWN","number":0},{"name":"VERIFY","number":2},{"name":"NONE","number":3}],"reservedRange":[{"start":1,"end":1}]},{"name":"MessageEncoding","value":[{"name":"MESSAGE_ENCODING_UNKNOWN","number":0},{"name":"LENGTH_PREFIXED","number":1},{"name":"DELIMITED","number":2}]},{"name":"JsonFormat","value":[{"name":"JSON_FORMAT_UNKNOWN","number":0},{"name":"ALLOW","number":1},{"name":"LEGACY_BEST_EFFORT","number":2}]}],"extensionRange":[{"start":1000,"end":9995,"options":{"declaration":[{"number":1000,"fullName":".pb.cpp","type":".pb.CppFeatures"},{"number":1001,"fullName":".pb.java","type":".pb.JavaFeatures"},{"number":1002,"fullName":".pb.go","type":".pb.GoFeatures"},{"number":9990,"fullName":".pb.proto1","type":".pb.Proto1Features"}]}},{"start":9995,"end":10000},{"start":10000,"end":10001}],"reservedRange":[{"start":999,"end":1000}]},{"name":"FeatureSetDefaults","field":[{"name":"defaults","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault","jsonName":"defaults"},{"name":"minimum_edition","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"minimumEdition"},{"name":"maximum_edition","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"maximumEdition"}],"nestedType":[{"name":"FeatureSetEditionDefault","field":[{"name":"edition","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"edition"},{"name":"overridable_features","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"overridableFeatures"},{"name":"fixed_features","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"fixedFeatures"}],"reservedRange":[{"start":1,"end":2},{"start":2,"end":3}],"reservedName":["features"]}]},{"name":"SourceCodeInfo","field":[{"name":"location","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.SourceCodeInfo.Location","jsonName":"location"}],"nestedType":[{"name":"Location","field":[{"name":"path","number":1,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"path","options":{"packed":true}},{"name":"span","number":2,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"span","options":{"packed":true}},{"name":"leading_comments","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"leadingComments"},{"name":"trailing_comments","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"trailingComments"},{"name":"leading_detached_comments","number":6,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"leadingDetachedComments"}]}],"extensionRange":[{"start":536000000,"end":536000001,"options":{"declaration":[{"number":536000000,"fullName":".buf.descriptor.v1.buf_source_code_info_extension","type":".buf.descriptor.v1.SourceCodeInfoExtension"}]}}]},{"name":"GeneratedCodeInfo","field":[{"name":"annotation","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.GeneratedCodeInfo.Annotation","jsonName":"annotation"}],"nestedType":[{"name":"Annotation","field":[{"name":"path","number":1,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"path","options":{"packed":true}},{"name":"source_file","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"sourceFile"},{"name":"begin","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"begin"},{"name":"end","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"end"},{"name":"semantic","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.GeneratedCodeInfo.Annotation.Semantic","jsonName":"semantic"}],"enumType":[{"name":"Semantic","value":[{"name":"NONE","number":0},{"name":"SET","number":1},{"name":"ALIAS","number":2}]}]}]}],"enumType":[{"name":"Edition","value":[{"name":"EDITION_UNKNOWN","number":0},{"name":"EDITION_LEGACY","number":900},{"name":"EDITION_PROTO2","number":998},{"name":"EDITION_PROTO3","number":999},{"name":"EDITION_2023","number":1000},{"name":"EDITION_2024","number":1001},{"name":"EDITION_1_TEST_ONLY","number":1},{"name":"EDITION_2_TEST_ONLY","number":2},{"name":"EDITION_99997_TEST_ONLY","number":99997},{"name":"EDITION_99998_TEST_ONLY","number":99998},{"name":"EDITION_99999_TEST_ONLY","number":99999},{"name":"EDITION_MAX","number":2147483647}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"DescriptorProtos","optimizeFor":"SPEED","goPackage":"google.golang.org/protobuf/types/descriptorpb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.Reflection"},"sourceCodeInfo":{"location":[{"span":[38,0,1306,1]},{"path":[12],"span":[38,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"," Author: kenton@google.com (Kenton Varda)\n Based on original Protocol Buffers design by\n Sanjay Ghemawat, Jeff Dean, and others.\n\n The messages in this file describe the definitions found in .proto files.\n A valid .proto file can be translated directly to a FileDescriptorProto\n without any other information (e.g. without reading its imports).\n"]},{"path":[2],"span":[40,0,24]},{"path":[8],"span":[42,0,68]},{"path":[8,11],"span":[42,0,68]},{"path":[8],"span":[43,0,44]},{"path":[8,1],"span":[43,0,44]},{"path":[8],"span":[44,0,49]},{"path":[8,8],"span":[44,0,49]},{"path":[8],"span":[45,0,55]},{"path":[8,37],"span":[45,0,55]},{"path":[8],"span":[46,0,33]},{"path":[8,36],"span":[46,0,33]},{"path":[8],"span":[47,0,31]},{"path":[8,31],"span":[47,0,31]},{"path":[8],"span":[51,0,28]},{"path":[8,9],"span":[51,0,28],"leadingComments":" descriptor.proto must be optimized for speed because reflection-based\n algorithms don't work during bootstrapping.\n"},{"path":[4,0],"span":[55,0,64,1],"leadingComments":" The protocol compiler can output a FileDescriptorSet containing the .proto\n files it parses.\n"},{"path":[4,0,1],"span":[55,8,25]},{"path":[4,0,2,0],"span":[56,2,40]},{"path":[4,0,2,0,4],"span":[56,2,10]},{"path":[4,0,2,0,6],"span":[56,11,30]},{"path":[4,0,2,0,1],"span":[56,31,35]},{"path":[4,0,2,0,3],"span":[56,38,39]},{"path":[4,0,5],"span":[59,2,63,5],"leadingComments":" Extensions for tooling.\n"},{"path":[4,0,5,0],"span":[59,13,22]},{"path":[4,0,5,0,1],"span":[59,13,22]},{"path":[4,0,5,0,2],"span":[59,13,22]},{"path":[4,0,5,0,3],"span":[59,23,63,4]},{"path":[4,0,5,0,3,2,0],"span":[59,24,63,3]},{"path":[4,0,5,0,3,2,0,1],"span":[60,4,21]},{"path":[4,0,5,0,3,2,0,3],"span":[61,4,57]},{"path":[4,0,5,0,3,2,0,2],"span":[62,4,69]},{"path":[5,0],"span":[67,0,100,1],"leadingComments":" The full set of known editions.\n"},{"path":[5,0,1],"span":[67,5,12]},{"path":[5,0,2,0],"span":[69,2,22],"leadingComments":" A placeholder for an unknown edition value.\n"},{"path":[5,0,2,0,1],"span":[69,2,17]},{"path":[5,0,2,0,2],"span":[69,20,21]},{"path":[5,0,2,1],"span":[73,2,23],"leadingComments":" A placeholder edition for specifying default behaviors *before* a feature\n was first introduced. This is effectively an \"infinite past\".\n"},{"path":[5,0,2,1,1],"span":[73,2,16]},{"path":[5,0,2,1,2],"span":[73,19,22]},{"path":[5,0,2,2],"span":[79,2,23],"leadingComments":" Legacy syntax \"editions\". These pre-date editions, but behave much like\n distinct editions. These can't be used to specify the edition of proto\n files, but feature definitions must supply proto2/proto3 defaults for\n backwards compatibility.\n"},{"path":[5,0,2,2,1],"span":[79,2,16]},{"path":[5,0,2,2,2],"span":[79,19,22]},{"path":[5,0,2,3],"span":[80,2,23]},{"path":[5,0,2,3,1],"span":[80,2,16]},{"path":[5,0,2,3,2],"span":[80,19,22]},{"path":[5,0,2,4],"span":[85,2,22],"leadingComments":" Editions that have been released. The specific values are arbitrary and\n should not be depended on, but they will always be time-ordered for easy\n comparison.\n"},{"path":[5,0,2,4,1],"span":[85,2,14]},{"path":[5,0,2,4,2],"span":[85,17,21]},{"path":[5,0,2,5],"span":[86,2,22]},{"path":[5,0,2,5,1],"span":[86,2,14]},{"path":[5,0,2,5,2],"span":[86,17,21]},{"path":[5,0,2,6],"span":[90,2,26],"leadingComments":" Placeholder editions for testing feature resolution. These should not be\n used or relied on outside of tests.\n"},{"path":[5,0,2,6,1],"span":[90,2,21]},{"path":[5,0,2,6,2],"span":[90,24,25]},{"path":[5,0,2,7],"span":[91,2,26]},{"path":[5,0,2,7,1],"span":[91,2,21]},{"path":[5,0,2,7,2],"span":[91,24,25]},{"path":[5,0,2,8],"span":[92,2,34]},{"path":[5,0,2,8,1],"span":[92,2,25]},{"path":[5,0,2,8,2],"span":[92,28,33]},{"path":[5,0,2,9],"span":[93,2,34]},{"path":[5,0,2,9,1],"span":[93,2,25]},{"path":[5,0,2,9,2],"span":[93,28,33]},{"path":[5,0,2,10],"span":[94,2,34]},{"path":[5,0,2,10,1],"span":[94,2,25]},{"path":[5,0,2,10,2],"span":[94,28,33]},{"path":[5,0,2,11],"span":[99,2,27],"leadingComments":" Placeholder for specifying unbounded edition support. This should only\n ever be used by plugins that can expect to never require any changes to\n support a new edition.\n"},{"path":[5,0,2,11,1],"span":[99,2,13]},{"path":[5,0,2,11,2],"span":[99,16,26]},{"path":[4,1],"span":[103,0,137,1],"leadingComments":" Describes a complete .proto file.\n"},{"path":[4,1,1],"span":[103,8,27]},{"path":[4,1,2,0],"span":[104,2,27],"trailingComments":" file name, relative to root of source tree\n"},{"path":[4,1,2,0,4],"span":[104,2,10]},{"path":[4,1,2,0,5],"span":[104,11,17]},{"path":[4,1,2,0,1],"span":[104,18,22]},{"path":[4,1,2,0,3],"span":[104,25,26]},{"path":[4,1,2,1],"span":[105,2,30],"trailingComments":" e.g. \"foo\", \"foo.bar\", etc.\n"},{"path":[4,1,2,1,4],"span":[105,2,10]},{"path":[4,1,2,1,5],"span":[105,11,17]},{"path":[4,1,2,1,1],"span":[105,18,25]},{"path":[4,1,2,1,3],"span":[105,28,29]},{"path":[4,1,2,2],"span":[108,2,33],"leadingComments":" Names of files imported by this file.\n"},{"path":[4,1,2,2,4],"span":[108,2,10]},{"path":[4,1,2,2,5],"span":[108,11,17]},{"path":[4,1,2,2,1],"span":[108,18,28]},{"path":[4,1,2,2,3],"span":[108,31,32]},{"path":[4,1,2,3],"span":[110,2,40],"leadingComments":" Indexes of the public imported files in the dependency list above.\n"},{"path":[4,1,2,3,4],"span":[110,2,10]},{"path":[4,1,2,3,5],"span":[110,11,16]},{"path":[4,1,2,3,1],"span":[110,17,34]},{"path":[4,1,2,3,3],"span":[110,37,39]},{"path":[4,1,2,4],"span":[113,2,38],"leadingComments":" Indexes of the weak imported files in the dependency list.\n For Google-internal migration only. Do not use.\n"},{"path":[4,1,2,4,4],"span":[113,2,10]},{"path":[4,1,2,4,5],"span":[113,11,16]},{"path":[4,1,2,4,1],"span":[113,17,32]},{"path":[4,1,2,4,3],"span":[113,35,37]},{"path":[4,1,2,5],"span":[116,2,44],"leadingComments":" All top-level definitions in this file.\n"},{"path":[4,1,2,5,4],"span":[116,2,10]},{"path":[4,1,2,5,6],"span":[116,11,26]},{"path":[4,1,2,5,1],"span":[116,27,39]},{"path":[4,1,2,5,3],"span":[116,42,43]},{"path":[4,1,2,6],"span":[117,2,45]},{"path":[4,1,2,6,4],"span":[117,2,10]},{"path":[4,1,2,6,6],"span":[117,11,30]},{"path":[4,1,2,6,1],"span":[117,31,40]},{"path":[4,1,2,6,3],"span":[117,43,44]},{"path":[4,1,2,7],"span":[118,2,46]},{"path":[4,1,2,7,4],"span":[118,2,10]},{"path":[4,1,2,7,6],"span":[118,11,33]},{"path":[4,1,2,7,1],"span":[118,34,41]},{"path":[4,1,2,7,3],"span":[118,44,45]},{"path":[4,1,2,8],"span":[119,2,46]},{"path":[4,1,2,8,4],"span":[119,2,10]},{"path":[4,1,2,8,6],"span":[119,11,31]},{"path":[4,1,2,8,1],"span":[119,32,41]},{"path":[4,1,2,8,3],"span":[119,44,45]},{"path":[4,1,2,9],"span":[121,2,35]},{"path":[4,1,2,9,4],"span":[121,2,10]},{"path":[4,1,2,9,6],"span":[121,11,22]},{"path":[4,1,2,9,1],"span":[121,23,30]},{"path":[4,1,2,9,3],"span":[121,33,34]},{"path":[4,1,2,10],"span":[127,2,47],"leadingComments":" This field contains optional information about the original source code.\n You may safely remove this entire field without harming runtime\n functionality of the descriptors -- the information is needed only by\n development tools.\n"},{"path":[4,1,2,10,4],"span":[127,2,10]},{"path":[4,1,2,10,6],"span":[127,11,25]},{"path":[4,1,2,10,1],"span":[127,26,42]},{"path":[4,1,2,10,3],"span":[127,45,46]},{"path":[4,1,2,11],"span":[133,2,30],"leadingComments":" The syntax of the proto file.\n The supported values are \"proto2\", \"proto3\", and \"editions\".\n\n If `edition` is present, this value must be \"editions\".\n"},{"path":[4,1,2,11,4],"span":[133,2,10]},{"path":[4,1,2,11,5],"span":[133,11,17]},{"path":[4,1,2,11,1],"span":[133,18,24]},{"path":[4,1,2,11,3],"span":[133,27,29]},{"path":[4,1,2,12],"span":[136,2,32],"leadingComments":" The edition of the proto file.\n"},{"path":[4,1,2,12,4],"span":[136,2,10]},{"path":[4,1,2,12,6],"span":[136,11,18]},{"path":[4,1,2,12,1],"span":[136,19,26]},{"path":[4,1,2,12,3],"span":[136,29,31]},{"path":[4,2],"span":[140,0,172,1],"leadingComments":" Describes a message type.\n"},{"path":[4,2,1],"span":[140,8,23]},{"path":[4,2,2,0],"span":[141,2,27]},{"path":[4,2,2,0,4],"span":[141,2,10]},{"path":[4,2,2,0,5],"span":[141,11,17]},{"path":[4,2,2,0,1],"span":[141,18,22]},{"path":[4,2,2,0,3],"span":[141,25,26]},{"path":[4,2,2,1],"span":[143,2,42]},{"path":[4,2,2,1,4],"span":[143,2,10]},{"path":[4,2,2,1,6],"span":[143,11,31]},{"path":[4,2,2,1,1],"span":[143,32,37]},{"path":[4,2,2,1,3],"span":[143,40,41]},{"path":[4,2,2,2],"span":[144,2,46]},{"path":[4,2,2,2,4],"span":[144,2,10]},{"path":[4,2,2,2,6],"span":[144,11,31]},{"path":[4,2,2,2,1],"span":[144,32,41]},{"path":[4,2,2,2,3],"span":[144,44,45]},{"path":[4,2,2,3],"span":[146,2,43]},{"path":[4,2,2,3,4],"span":[146,2,10]},{"path":[4,2,2,3,6],"span":[146,11,26]},{"path":[4,2,2,3,1],"span":[146,27,38]},{"path":[4,2,2,3,3],"span":[146,41,42]},{"path":[4,2,2,4],"span":[147,2,45]},{"path":[4,2,2,4,4],"span":[147,2,10]},{"path":[4,2,2,4,6],"span":[147,11,30]},{"path":[4,2,2,4,1],"span":[147,31,40]},{"path":[4,2,2,4,3],"span":[147,43,44]},{"path":[4,2,3,0],"span":[149,2,154,3]},{"path":[4,2,3,0,1],"span":[149,10,24]},{"path":[4,2,3,0,2,0],"span":[150,4,29],"trailingComments":" Inclusive.\n"},{"path":[4,2,3,0,2,0,4],"span":[150,4,12]},{"path":[4,2,3,0,2,0,5],"span":[150,13,18]},{"path":[4,2,3,0,2,0,1],"span":[150,19,24]},{"path":[4,2,3,0,2,0,3],"span":[150,27,28]},{"path":[4,2,3,0,2,1],"span":[151,4,27],"trailingComments":" Exclusive.\n"},{"path":[4,2,3,0,2,1,4],"span":[151,4,12]},{"path":[4,2,3,0,2,1,5],"span":[151,13,18]},{"path":[4,2,3,0,2,1,1],"span":[151,19,22]},{"path":[4,2,3,0,2,1,3],"span":[151,25,26]},{"path":[4,2,3,0,2,2],"span":[153,4,47]},{"path":[4,2,3,0,2,2,4],"span":[153,4,12]},{"path":[4,2,3,0,2,2,6],"span":[153,13,34]},{"path":[4,2,3,0,2,2,1],"span":[153,35,42]},{"path":[4,2,3,0,2,2,3],"span":[153,45,46]},{"path":[4,2,2,5],"span":[155,2,46]},{"path":[4,2,2,5,4],"span":[155,2,10]},{"path":[4,2,2,5,6],"span":[155,11,25]},{"path":[4,2,2,5,1],"span":[155,26,41]},{"path":[4,2,2,5,3],"span":[155,44,45]},{"path":[4,2,2,6],"span":[157,2,47]},{"path":[4,2,2,6,4],"span":[157,2,10]},{"path":[4,2,2,6,6],"span":[157,11,31]},{"path":[4,2,2,6,1],"span":[157,32,42]},{"path":[4,2,2,6,3],"span":[157,45,46]},{"path":[4,2,2,7],"span":[159,2,38]},{"path":[4,2,2,7,4],"span":[159,2,10]},{"path":[4,2,2,7,6],"span":[159,11,25]},{"path":[4,2,2,7,1],"span":[159,26,33]},{"path":[4,2,2,7,3],"span":[159,36,37]},{"path":[4,2,3,1],"span":[164,2,167,3],"leadingComments":" Range of reserved tag numbers. Reserved tag numbers may not be used by\n fields or extension ranges in the same message. Reserved ranges may\n not overlap.\n"},{"path":[4,2,3,1,1],"span":[164,10,23]},{"path":[4,2,3,1,2,0],"span":[165,4,29],"trailingComments":" Inclusive.\n"},{"path":[4,2,3,1,2,0,4],"span":[165,4,12]},{"path":[4,2,3,1,2,0,5],"span":[165,13,18]},{"path":[4,2,3,1,2,0,1],"span":[165,19,24]},{"path":[4,2,3,1,2,0,3],"span":[165,27,28]},{"path":[4,2,3,1,2,1],"span":[166,4,27],"trailingComments":" Exclusive.\n"},{"path":[4,2,3,1,2,1,4],"span":[166,4,12]},{"path":[4,2,3,1,2,1,5],"span":[166,13,18]},{"path":[4,2,3,1,2,1,1],"span":[166,19,22]},{"path":[4,2,3,1,2,1,3],"span":[166,25,26]},{"path":[4,2,2,8],"span":[168,2,44]},{"path":[4,2,2,8,4],"span":[168,2,10]},{"path":[4,2,2,8,6],"span":[168,11,24]},{"path":[4,2,2,8,1],"span":[168,25,39]},{"path":[4,2,2,8,3],"span":[168,42,43]},{"path":[4,2,2,9],"span":[171,2,37],"leadingComments":" Reserved field names, which may not be used by fields in the same message.\n A given name may only be reserved once.\n"},{"path":[4,2,2,9,4],"span":[171,2,10]},{"path":[4,2,2,9,5],"span":[171,11,17]},{"path":[4,2,2,9,1],"span":[171,18,31]},{"path":[4,2,2,9,3],"span":[171,34,36]},{"path":[4,3],"span":[174,0,226,1]},{"path":[4,3,1],"span":[174,8,29]},{"path":[4,3,2,0],"span":[176,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,3,2,0,4],"span":[176,2,10]},{"path":[4,3,2,0,6],"span":[176,11,30]},{"path":[4,3,2,0,1],"span":[176,31,51]},{"path":[4,3,2,0,3],"span":[176,54,57]},{"path":[4,3,3,0],"span":[178,2,201,3]},{"path":[4,3,3,0,1],"span":[178,10,21]},{"path":[4,3,3,0,2,0],"span":[180,4,30],"leadingComments":" The extension number declared within the extension range.\n"},{"path":[4,3,3,0,2,0,4],"span":[180,4,12]},{"path":[4,3,3,0,2,0,5],"span":[180,13,18]},{"path":[4,3,3,0,2,0,1],"span":[180,19,25]},{"path":[4,3,3,0,2,0,3],"span":[180,28,29]},{"path":[4,3,3,0,2,1],"span":[184,4,34],"leadingComments":" The fully-qualified name of the extension field. There must be a leading\n dot in front of the full name.\n"},{"path":[4,3,3,0,2,1,4],"span":[184,4,12]},{"path":[4,3,3,0,2,1,5],"span":[184,13,19]},{"path":[4,3,3,0,2,1,1],"span":[184,20,29]},{"path":[4,3,3,0,2,1,3],"span":[184,32,33]},{"path":[4,3,3,0,2,2],"span":[189,4,29],"leadingComments":" The fully-qualified type name of the extension field. Unlike\n Metadata.type, Declaration.type must have a leading dot for messages\n and enums.\n"},{"path":[4,3,3,0,2,2,4],"span":[189,4,12]},{"path":[4,3,3,0,2,2,5],"span":[189,13,19]},{"path":[4,3,3,0,2,2,1],"span":[189,20,24]},{"path":[4,3,3,0,2,2,3],"span":[189,27,28]},{"path":[4,3,3,0,2,3],"span":[194,4,31],"leadingComments":" If true, indicates that the number is reserved in the extension range,\n and any extension field with the number will fail to compile. Set this\n when a declared extension field is deleted.\n"},{"path":[4,3,3,0,2,3,4],"span":[194,4,12]},{"path":[4,3,3,0,2,3,5],"span":[194,13,17]},{"path":[4,3,3,0,2,3,1],"span":[194,18,26]},{"path":[4,3,3,0,2,3,3],"span":[194,29,30]},{"path":[4,3,3,0,2,4],"span":[198,4,31],"leadingComments":" If true, indicates that the extension must be defined as repeated.\n Otherwise the extension must be defined as optional.\n"},{"path":[4,3,3,0,2,4,4],"span":[198,4,12]},{"path":[4,3,3,0,2,4,5],"span":[198,13,17]},{"path":[4,3,3,0,2,4,1],"span":[198,18,26]},{"path":[4,3,3,0,2,4,3],"span":[198,29,30]},{"path":[4,3,3,0,9],"span":[200,4,15],"trailingComments":" removed is_repeated\n"},{"path":[4,3,3,0,9,0],"span":[200,13,14]},{"path":[4,3,3,0,9,0,1],"span":[200,13,14]},{"path":[4,3,3,0,9,0,2],"span":[200,13,14]},{"path":[4,3,2,1],"span":[206,2,70],"leadingComments":" For external users: DO NOT USE. We are in the process of open sourcing\n extension declaration and executing internal cleanups before it can be\n used externally.\n"},{"path":[4,3,2,1,4],"span":[206,2,10]},{"path":[4,3,2,1,6],"span":[206,11,22]},{"path":[4,3,2,1,1],"span":[206,23,34]},{"path":[4,3,2,1,3],"span":[206,37,38]},{"path":[4,3,2,1,8],"span":[206,39,69]},{"path":[4,3,2,1,8,17],"span":[206,40,68]},{"path":[4,3,2,2],"span":[209,2,36],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,3,2,2,4],"span":[209,2,10]},{"path":[4,3,2,2,6],"span":[209,11,21]},{"path":[4,3,2,2,1],"span":[209,22,30]},{"path":[4,3,2,2,3],"span":[209,33,35]},{"path":[4,3,4,0],"span":[212,2,216,3],"leadingComments":" The verification state of the extension range.\n"},{"path":[4,3,4,0,1],"span":[212,7,24]},{"path":[4,3,4,0,2,0],"span":[214,4,20],"leadingComments":" All the extensions of the range must be declared.\n"},{"path":[4,3,4,0,2,0,1],"span":[214,4,15]},{"path":[4,3,4,0,2,0,2],"span":[214,18,19]},{"path":[4,3,4,0,2,1],"span":[215,4,19]},{"path":[4,3,4,0,2,1,1],"span":[215,4,14]},{"path":[4,3,4,0,2,1,2],"span":[215,17,18]},{"path":[4,3,2,3],"span":[221,2,222,59],"leadingComments":" The verification state of the range.\n TODO: flip the default to DECLARATION once all empty ranges\n are marked as UNVERIFIED.\n"},{"path":[4,3,2,3,4],"span":[221,2,10]},{"path":[4,3,2,3,6],"span":[221,11,28]},{"path":[4,3,2,3,1],"span":[221,29,41]},{"path":[4,3,2,3,3],"span":[221,44,45]},{"path":[4,3,2,3,8],"span":[222,6,58]},{"path":[4,3,2,3,7],"span":[222,7,27]},{"path":[4,3,2,3,8,17],"span":[222,29,57]},{"path":[4,3,5],"span":[225,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,3,5,0],"span":[225,13,24]},{"path":[4,3,5,0,1],"span":[225,13,17]},{"path":[4,3,5,0,2],"span":[225,21,24]},{"path":[4,4],"span":[229,0,333,1],"leadingComments":" Describes a field within a message.\n"},{"path":[4,4,1],"span":[229,8,28]},{"path":[4,4,4,0],"span":[230,2,262,3]},{"path":[4,4,4,0,1],"span":[230,7,11]},{"path":[4,4,4,0,2,0],"span":[233,4,20],"leadingComments":" 0 is reserved for errors.\n Order is weird for historical reasons.\n"},{"path":[4,4,4,0,2,0,1],"span":[233,4,15]},{"path":[4,4,4,0,2,0,2],"span":[233,18,19]},{"path":[4,4,4,0,2,1],"span":[234,4,19]},{"path":[4,4,4,0,2,1,1],"span":[234,4,14]},{"path":[4,4,4,0,2,1,2],"span":[234,17,18]},{"path":[4,4,4,0,2,2],"span":[237,4,19],"leadingComments":" Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if\n negative values are likely.\n"},{"path":[4,4,4,0,2,2,1],"span":[237,4,14]},{"path":[4,4,4,0,2,2,2],"span":[237,17,18]},{"path":[4,4,4,0,2,3],"span":[238,4,20]},{"path":[4,4,4,0,2,3,1],"span":[238,4,15]},{"path":[4,4,4,0,2,3,2],"span":[238,18,19]},{"path":[4,4,4,0,2,4],"span":[241,4,19],"leadingComments":" Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if\n negative values are likely.\n"},{"path":[4,4,4,0,2,4,1],"span":[241,4,14]},{"path":[4,4,4,0,2,4,2],"span":[241,17,18]},{"path":[4,4,4,0,2,5],"span":[242,4,21]},{"path":[4,4,4,0,2,5,1],"span":[242,4,16]},{"path":[4,4,4,0,2,5,2],"span":[242,19,20]},{"path":[4,4,4,0,2,6],"span":[243,4,21]},{"path":[4,4,4,0,2,6,1],"span":[243,4,16]},{"path":[4,4,4,0,2,6,2],"span":[243,19,20]},{"path":[4,4,4,0,2,7],"span":[244,4,18]},{"path":[4,4,4,0,2,7,1],"span":[244,4,13]},{"path":[4,4,4,0,2,7,2],"span":[244,16,17]},{"path":[4,4,4,0,2,8],"span":[245,4,20]},{"path":[4,4,4,0,2,8,1],"span":[245,4,15]},{"path":[4,4,4,0,2,8,2],"span":[245,18,19]},{"path":[4,4,4,0,2,9],"span":[251,4,20],"leadingComments":" Tag-delimited aggregate.\n Group type is deprecated and not supported after google.protobuf. However, Proto3\n implementations should still be able to parse the group wire format and\n treat group fields as unknown fields. In Editions, the group wire format\n can be enabled via the `message_encoding` feature.\n"},{"path":[4,4,4,0,2,9,1],"span":[251,4,14]},{"path":[4,4,4,0,2,9,2],"span":[251,17,19]},{"path":[4,4,4,0,2,10],"span":[252,4,22],"trailingComments":" Length-delimited aggregate.\n"},{"path":[4,4,4,0,2,10,1],"span":[252,4,16]},{"path":[4,4,4,0,2,10,2],"span":[252,19,21]},{"path":[4,4,4,0,2,11],"span":[255,4,20],"leadingComments":" New in version 2.\n"},{"path":[4,4,4,0,2,11,1],"span":[255,4,14]},{"path":[4,4,4,0,2,11,2],"span":[255,17,19]},{"path":[4,4,4,0,2,12],"span":[256,4,21]},{"path":[4,4,4,0,2,12,1],"span":[256,4,15]},{"path":[4,4,4,0,2,12,2],"span":[256,18,20]},{"path":[4,4,4,0,2,13],"span":[257,4,19]},{"path":[4,4,4,0,2,13,1],"span":[257,4,13]},{"path":[4,4,4,0,2,13,2],"span":[257,16,18]},{"path":[4,4,4,0,2,14],"span":[258,4,23]},{"path":[4,4,4,0,2,14,1],"span":[258,4,17]},{"path":[4,4,4,0,2,14,2],"span":[258,20,22]},{"path":[4,4,4,0,2,15],"span":[259,4,23]},{"path":[4,4,4,0,2,15,1],"span":[259,4,17]},{"path":[4,4,4,0,2,15,2],"span":[259,20,22]},{"path":[4,4,4,0,2,16],"span":[260,4,21],"trailingComments":" Uses ZigZag encoding.\n"},{"path":[4,4,4,0,2,16,1],"span":[260,4,15]},{"path":[4,4,4,0,2,16,2],"span":[260,18,20]},{"path":[4,4,4,0,2,17],"span":[261,4,21],"trailingComments":" Uses ZigZag encoding.\n"},{"path":[4,4,4,0,2,17,1],"span":[261,4,15]},{"path":[4,4,4,0,2,17,2],"span":[261,18,20]},{"path":[4,4,4,1],"span":[264,2,272,3]},{"path":[4,4,4,1,1],"span":[264,7,12]},{"path":[4,4,4,1,2,0],"span":[266,4,23],"leadingComments":" 0 is reserved for errors\n"},{"path":[4,4,4,1,2,0,1],"span":[266,4,18]},{"path":[4,4,4,1,2,0,2],"span":[266,21,22]},{"path":[4,4,4,1,2,1],"span":[267,4,23]},{"path":[4,4,4,1,2,1,1],"span":[267,4,18]},{"path":[4,4,4,1,2,1,2],"span":[267,21,22]},{"path":[4,4,4,1,2,2],"span":[271,4,23],"leadingComments":" The required label is only allowed in google.protobuf. In proto3 and Editions\n it's explicitly prohibited. In Editions, the `field_presence` feature\n can be used to get this behavior.\n"},{"path":[4,4,4,1,2,2,1],"span":[271,4,18]},{"path":[4,4,4,1,2,2,2],"span":[271,21,22]},{"path":[4,4,2,0],"span":[274,2,27]},{"path":[4,4,2,0,4],"span":[274,2,10]},{"path":[4,4,2,0,5],"span":[274,11,17]},{"path":[4,4,2,0,1],"span":[274,18,22]},{"path":[4,4,2,0,3],"span":[274,25,26]},{"path":[4,4,2,1],"span":[275,2,28]},{"path":[4,4,2,1,4],"span":[275,2,10]},{"path":[4,4,2,1,5],"span":[275,11,16]},{"path":[4,4,2,1,1],"span":[275,17,23]},{"path":[4,4,2,1,3],"span":[275,26,27]},{"path":[4,4,2,2],"span":[276,2,27]},{"path":[4,4,2,2,4],"span":[276,2,10]},{"path":[4,4,2,2,6],"span":[276,11,16]},{"path":[4,4,2,2,1],"span":[276,17,22]},{"path":[4,4,2,2,3],"span":[276,25,26]},{"path":[4,4,2,3],"span":[280,2,25],"leadingComments":" If type_name is set, this need not be set. If both this and type_name\n are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.\n"},{"path":[4,4,2,3,4],"span":[280,2,10]},{"path":[4,4,2,3,6],"span":[280,11,15]},{"path":[4,4,2,3,1],"span":[280,16,20]},{"path":[4,4,2,3,3],"span":[280,23,24]},{"path":[4,4,2,4],"span":[287,2,32],"leadingComments":" For message and enum types, this is the name of the type. If the name\n starts with a '.', it is fully-qualified. Otherwise, C++-like scoping\n rules are used to find the type (i.e. first the nested types within this\n message are searched, then within the parent, on up to the root\n namespace).\n"},{"path":[4,4,2,4,4],"span":[287,2,10]},{"path":[4,4,2,4,5],"span":[287,11,17]},{"path":[4,4,2,4,1],"span":[287,18,27]},{"path":[4,4,2,4,3],"span":[287,30,31]},{"path":[4,4,2,5],"span":[291,2,31],"leadingComments":" For extensions, this is the name of the type being extended. It is\n resolved in the same manner as type_name.\n"},{"path":[4,4,2,5,4],"span":[291,2,10]},{"path":[4,4,2,5,5],"span":[291,11,17]},{"path":[4,4,2,5,1],"span":[291,18,26]},{"path":[4,4,2,5,3],"span":[291,29,30]},{"path":[4,4,2,6],"span":[297,2,36],"leadingComments":" For numeric types, contains the original text representation of the value.\n For booleans, \"true\" or \"false\".\n For strings, contains the default text contents (not escaped in any way).\n For bytes, contains the C escaped value. All bytes >= 128 are escaped.\n"},{"path":[4,4,2,6,4],"span":[297,2,10]},{"path":[4,4,2,6,5],"span":[297,11,17]},{"path":[4,4,2,6,1],"span":[297,18,31]},{"path":[4,4,2,6,3],"span":[297,34,35]},{"path":[4,4,2,7],"span":[301,2,33],"leadingComments":" If set, gives the index of a oneof in the containing type's oneof_decl\n list. This field is a member of that oneof.\n"},{"path":[4,4,2,7,4],"span":[301,2,10]},{"path":[4,4,2,7,5],"span":[301,11,16]},{"path":[4,4,2,7,1],"span":[301,17,28]},{"path":[4,4,2,7,3],"span":[301,31,32]},{"path":[4,4,2,8],"span":[307,2,33],"leadingComments":" JSON name of this field. The value is set by protocol compiler. If the\n user has set a \"json_name\" option on this field, that option's value\n will be used. Otherwise, it's deduced from the field's name by converting\n it to camelCase.\n"},{"path":[4,4,2,8,4],"span":[307,2,10]},{"path":[4,4,2,8,5],"span":[307,11,17]},{"path":[4,4,2,8,1],"span":[307,18,27]},{"path":[4,4,2,8,3],"span":[307,30,32]},{"path":[4,4,2,9],"span":[309,2,36]},{"path":[4,4,2,9,4],"span":[309,2,10]},{"path":[4,4,2,9,6],"span":[309,11,23]},{"path":[4,4,2,9,1],"span":[309,24,31]},{"path":[4,4,2,9,3],"span":[309,34,35]},{"path":[4,4,2,10],"span":[332,2,37],"leadingComments":" If true, this is a proto3 \"optional\". When a proto3 field is optional, it\n tracks presence regardless of field type.\n\n When proto3_optional is true, this field must belong to a oneof to signal\n to old proto3 clients that presence is tracked for this field. This oneof\n is known as a \"synthetic\" oneof, and this field must be its sole member\n (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs\n exist in the descriptor only, and do not generate any API. Synthetic oneofs\n must be ordered after all \"real\" oneofs.\n\n For message fields, proto3_optional doesn't create any semantic change,\n since non-repeated message fields always track presence. However it still\n indicates the semantic detail of whether the user wrote \"optional\" or not.\n This can be useful for round-tripping the .proto file. For consistency we\n give message fields a synthetic oneof also, even though it is not required\n to track presence. This is especially important because the parser can't\n tell if a field is a message or an enum, so it must always create a\n synthetic oneof.\n\n Proto2 optional fields do not set this flag, because they already indicate\n optional with `LABEL_OPTIONAL`.\n"},{"path":[4,4,2,10,4],"span":[332,2,10]},{"path":[4,4,2,10,5],"span":[332,11,15]},{"path":[4,4,2,10,1],"span":[332,16,31]},{"path":[4,4,2,10,3],"span":[332,34,36]},{"path":[4,5],"span":[336,0,339,1],"leadingComments":" Describes a oneof.\n"},{"path":[4,5,1],"span":[336,8,28]},{"path":[4,5,2,0],"span":[337,2,27]},{"path":[4,5,2,0,4],"span":[337,2,10]},{"path":[4,5,2,0,5],"span":[337,11,17]},{"path":[4,5,2,0,1],"span":[337,18,22]},{"path":[4,5,2,0,3],"span":[337,25,26]},{"path":[4,5,2,1],"span":[338,2,36]},{"path":[4,5,2,1,4],"span":[338,2,10]},{"path":[4,5,2,1,6],"span":[338,11,23]},{"path":[4,5,2,1,1],"span":[338,24,31]},{"path":[4,5,2,1,3],"span":[338,34,35]},{"path":[4,6],"span":[342,0,368,1],"leadingComments":" Describes an enum type.\n"},{"path":[4,6,1],"span":[342,8,27]},{"path":[4,6,2,0],"span":[343,2,27]},{"path":[4,6,2,0,4],"span":[343,2,10]},{"path":[4,6,2,0,5],"span":[343,11,17]},{"path":[4,6,2,0,1],"span":[343,18,22]},{"path":[4,6,2,0,3],"span":[343,25,26]},{"path":[4,6,2,1],"span":[345,2,46]},{"path":[4,6,2,1,4],"span":[345,2,10]},{"path":[4,6,2,1,6],"span":[345,11,35]},{"path":[4,6,2,1,1],"span":[345,36,41]},{"path":[4,6,2,1,3],"span":[345,44,45]},{"path":[4,6,2,2],"span":[347,2,35]},{"path":[4,6,2,2,4],"span":[347,2,10]},{"path":[4,6,2,2,6],"span":[347,11,22]},{"path":[4,6,2,2,1],"span":[347,23,30]},{"path":[4,6,2,2,3],"span":[347,33,34]},{"path":[4,6,3,0],"span":[355,2,358,3],"leadingComments":" Range of reserved numeric values. Reserved values may not be used by\n entries in the same enum. Reserved ranges may not overlap.\n\n Note that this is distinct from DescriptorProto.ReservedRange in that it\n is inclusive such that it can appropriately represent the entire int32\n domain.\n"},{"path":[4,6,3,0,1],"span":[355,10,27]},{"path":[4,6,3,0,2,0],"span":[356,4,29],"trailingComments":" Inclusive.\n"},{"path":[4,6,3,0,2,0,4],"span":[356,4,12]},{"path":[4,6,3,0,2,0,5],"span":[356,13,18]},{"path":[4,6,3,0,2,0,1],"span":[356,19,24]},{"path":[4,6,3,0,2,0,3],"span":[356,27,28]},{"path":[4,6,3,0,2,1],"span":[357,4,27],"trailingComments":" Inclusive.\n"},{"path":[4,6,3,0,2,1,4],"span":[357,4,12]},{"path":[4,6,3,0,2,1,5],"span":[357,13,18]},{"path":[4,6,3,0,2,1,1],"span":[357,19,22]},{"path":[4,6,3,0,2,1,3],"span":[357,25,26]},{"path":[4,6,2,3],"span":[363,2,48],"leadingComments":" Range of reserved numeric values. Reserved numeric values may not be used\n by enum values in the same enum declaration. Reserved ranges may not\n overlap.\n"},{"path":[4,6,2,3,4],"span":[363,2,10]},{"path":[4,6,2,3,6],"span":[363,11,28]},{"path":[4,6,2,3,1],"span":[363,29,43]},{"path":[4,6,2,3,3],"span":[363,46,47]},{"path":[4,6,2,4],"span":[367,2,36],"leadingComments":" Reserved enum value names, which may not be reused. A given name may only\n be reserved once.\n"},{"path":[4,6,2,4,4],"span":[367,2,10]},{"path":[4,6,2,4,5],"span":[367,11,17]},{"path":[4,6,2,4,1],"span":[367,18,31]},{"path":[4,6,2,4,3],"span":[367,34,35]},{"path":[4,7],"span":[371,0,376,1],"leadingComments":" Describes a value within an enum.\n"},{"path":[4,7,1],"span":[371,8,32]},{"path":[4,7,2,0],"span":[372,2,27]},{"path":[4,7,2,0,4],"span":[372,2,10]},{"path":[4,7,2,0,5],"span":[372,11,17]},{"path":[4,7,2,0,1],"span":[372,18,22]},{"path":[4,7,2,0,3],"span":[372,25,26]},{"path":[4,7,2,1],"span":[373,2,28]},{"path":[4,7,2,1,4],"span":[373,2,10]},{"path":[4,7,2,1,5],"span":[373,11,16]},{"path":[4,7,2,1,1],"span":[373,17,23]},{"path":[4,7,2,1,3],"span":[373,26,27]},{"path":[4,7,2,2],"span":[375,2,40]},{"path":[4,7,2,2,4],"span":[375,2,10]},{"path":[4,7,2,2,6],"span":[375,11,27]},{"path":[4,7,2,2,1],"span":[375,28,35]},{"path":[4,7,2,2,3],"span":[375,38,39]},{"path":[4,8],"span":[379,0,384,1],"leadingComments":" Describes a service.\n"},{"path":[4,8,1],"span":[379,8,30]},{"path":[4,8,2,0],"span":[380,2,27]},{"path":[4,8,2,0,4],"span":[380,2,10]},{"path":[4,8,2,0,5],"span":[380,11,17]},{"path":[4,8,2,0,1],"span":[380,18,22]},{"path":[4,8,2,0,3],"span":[380,25,26]},{"path":[4,8,2,1],"span":[381,2,44]},{"path":[4,8,2,1,4],"span":[381,2,10]},{"path":[4,8,2,1,6],"span":[381,11,32]},{"path":[4,8,2,1,1],"span":[381,33,39]},{"path":[4,8,2,1,3],"span":[381,42,43]},{"path":[4,8,2,2],"span":[383,2,38]},{"path":[4,8,2,2,4],"span":[383,2,10]},{"path":[4,8,2,2,6],"span":[383,11,25]},{"path":[4,8,2,2,1],"span":[383,26,33]},{"path":[4,8,2,2,3],"span":[383,36,37]},{"path":[4,9],"span":[387,0,401,1],"leadingComments":" Describes a method of a service.\n"},{"path":[4,9,1],"span":[387,8,29]},{"path":[4,9,2,0],"span":[388,2,27]},{"path":[4,9,2,0,4],"span":[388,2,10]},{"path":[4,9,2,0,5],"span":[388,11,17]},{"path":[4,9,2,0,1],"span":[388,18,22]},{"path":[4,9,2,0,3],"span":[388,25,26]},{"path":[4,9,2,1],"span":[392,2,33],"leadingComments":" Input and output type names. These are resolved in the same way as\n FieldDescriptorProto.type_name, but must refer to a message type.\n"},{"path":[4,9,2,1,4],"span":[392,2,10]},{"path":[4,9,2,1,5],"span":[392,11,17]},{"path":[4,9,2,1,1],"span":[392,18,28]},{"path":[4,9,2,1,3],"span":[392,31,32]},{"path":[4,9,2,2],"span":[393,2,34]},{"path":[4,9,2,2,4],"span":[393,2,10]},{"path":[4,9,2,2,5],"span":[393,11,17]},{"path":[4,9,2,2,1],"span":[393,18,29]},{"path":[4,9,2,2,3],"span":[393,32,33]},{"path":[4,9,2,3],"span":[395,2,37]},{"path":[4,9,2,3,4],"span":[395,2,10]},{"path":[4,9,2,3,6],"span":[395,11,24]},{"path":[4,9,2,3,1],"span":[395,25,32]},{"path":[4,9,2,3,3],"span":[395,35,36]},{"path":[4,9,2,4],"span":[398,2,55],"leadingComments":" Identifies if client streams multiple client messages\n"},{"path":[4,9,2,4,4],"span":[398,2,10]},{"path":[4,9,2,4,5],"span":[398,11,15]},{"path":[4,9,2,4,1],"span":[398,16,32]},{"path":[4,9,2,4,3],"span":[398,35,36]},{"path":[4,9,2,4,8],"span":[398,37,54]},{"path":[4,9,2,4,7],"span":[398,38,53]},{"path":[4,9,2,5],"span":[400,2,55],"leadingComments":" Identifies if server streams multiple server messages\n"},{"path":[4,9,2,5,4],"span":[400,2,10]},{"path":[4,9,2,5,5],"span":[400,11,15]},{"path":[4,9,2,5,1],"span":[400,16,32]},{"path":[4,9,2,5,3],"span":[400,35,36]},{"path":[4,9,2,5,8],"span":[400,37,54]},{"path":[4,9,2,5,7],"span":[400,38,53]},{"path":[4,10],"span":[435,0,559,1],"leadingDetachedComments":[" ===================================================================\n Options\n"," Each of the definitions above may have \"options\" attached. These are\n just annotations which may cause code to be generated slightly differently\n or may contain hints for code that manipulates protocol messages.\n\n Clients may define custom options as extensions of the *Options messages.\n These extensions may not yet be known at parsing time, so the parser cannot\n store the values in them. Instead it stores them in a field in the *Options\n message called uninterpreted_option. This field must have the same name\n across all *Options messages. We then use this field to populate the\n extensions when we build a descriptor, at which point all protos have been\n parsed and so all extensions are known.\n\n Extension numbers for custom options may be chosen as follows:\n * For options which will only be used within a single application or\n organization, or for experimental options, use field numbers 50000\n through 99999. It is up to you to ensure that you do not use the\n same number for multiple options.\n * For options which will be published and used publicly by multiple\n independent entities, e-mail protobuf-global-extension-registry@google.com\n to reserve extension numbers. Simply provide your project name (e.g.\n Objective-C plugin) and your project website (if available) -- there's no\n need to explain how you intend to use them. Usually you only need one\n extension number. You can declare multiple options with only one extension\n number by putting them in a sub-message. See the Custom Options section of\n the docs for examples:\n https://developers.google.com/protocol-buffers/docs/proto#options\n If this turns out to be popular, a web service will be set up\n to automatically assign option numbers.\n"]},{"path":[4,10,1],"span":[435,8,19]},{"path":[4,10,2,0],"span":[441,2,35],"leadingComments":" Sets the Java package where classes generated from this .proto will be\n placed. By default, the proto package is used, but this is often\n inappropriate because proto packages do not normally start with backwards\n domain names.\n"},{"path":[4,10,2,0,4],"span":[441,2,10]},{"path":[4,10,2,0,5],"span":[441,11,17]},{"path":[4,10,2,0,1],"span":[441,18,30]},{"path":[4,10,2,0,3],"span":[441,33,34]},{"path":[4,10,2,1],"span":[448,2,43],"leadingComments":" Controls the name of the wrapper Java class generated for the .proto file.\n That class will always contain the .proto file's getDescriptor() method as\n well as any top-level extensions defined in the .proto file.\n If java_multiple_files is disabled, then all the other classes from the\n .proto file will be nested inside the single wrapper outer class.\n"},{"path":[4,10,2,1,4],"span":[448,2,10]},{"path":[4,10,2,1,5],"span":[448,11,17]},{"path":[4,10,2,1,1],"span":[448,18,38]},{"path":[4,10,2,1,3],"span":[448,41,42]},{"path":[4,10,2,2],"span":[456,2,59],"leadingComments":" If enabled, then the Java code generator will generate a separate .java\n file for each top-level message, enum, and service defined in the .proto\n file. Thus, these types will *not* be nested inside the wrapper class\n named by java_outer_classname. However, the wrapper class will still be\n generated to contain the file's getDescriptor() method as well as any\n top-level extensions defined in the file.\n"},{"path":[4,10,2,2,4],"span":[456,2,10]},{"path":[4,10,2,2,5],"span":[456,11,15]},{"path":[4,10,2,2,1],"span":[456,16,35]},{"path":[4,10,2,2,3],"span":[456,38,40]},{"path":[4,10,2,2,8],"span":[456,41,58]},{"path":[4,10,2,2,7],"span":[456,42,57]},{"path":[4,10,2,3],"span":[459,2,69],"leadingComments":" This option does nothing.\n"},{"path":[4,10,2,3,4],"span":[459,2,10]},{"path":[4,10,2,3,5],"span":[459,11,15]},{"path":[4,10,2,3,1],"span":[459,16,45]},{"path":[4,10,2,3,3],"span":[459,48,50]},{"path":[4,10,2,3,8],"span":[459,51,68]},{"path":[4,10,2,3,8,3],"span":[459,52,67]},{"path":[4,10,2,4],"span":[471,2,62],"leadingComments":" A proto2 file can set this to true to opt in to UTF-8 checking for Java,\n which will throw an exception if invalid UTF-8 is parsed from the wire or\n assigned to a string field.\n\n TODO: clarify exactly what kinds of field types this option\n applies to, and update these docs accordingly.\n\n Proto3 files already perform these checks. Setting the option explicitly to\n false has no effect: it cannot be used to opt proto3 files out of UTF-8\n checks.\n"},{"path":[4,10,2,4,4],"span":[471,2,10]},{"path":[4,10,2,4,5],"span":[471,11,15]},{"path":[4,10,2,4,1],"span":[471,16,38]},{"path":[4,10,2,4,3],"span":[471,41,43]},{"path":[4,10,2,4,8],"span":[471,44,61]},{"path":[4,10,2,4,7],"span":[471,45,60]},{"path":[4,10,4,0],"span":[474,2,479,3],"leadingComments":" Generated classes can be optimized for speed or code size.\n"},{"path":[4,10,4,0,1],"span":[474,7,19]},{"path":[4,10,4,0,2,0],"span":[475,4,14],"trailingComments":" Generate complete code for parsing, serialization,\n"},{"path":[4,10,4,0,2,0,1],"span":[475,4,9]},{"path":[4,10,4,0,2,0,2],"span":[475,12,13]},{"path":[4,10,4,0,2,1],"span":[477,4,18],"leadingComments":" etc.\n","trailingComments":" Use ReflectionOps to implement these methods.\n"},{"path":[4,10,4,0,2,1,1],"span":[477,4,13]},{"path":[4,10,4,0,2,1,2],"span":[477,16,17]},{"path":[4,10,4,0,2,2],"span":[478,4,21],"trailingComments":" Generate code using MessageLite and the lite runtime.\n"},{"path":[4,10,4,0,2,2,1],"span":[478,4,16]},{"path":[4,10,4,0,2,2,2],"span":[478,19,20]},{"path":[4,10,2,5],"span":[480,2,59]},{"path":[4,10,2,5,4],"span":[480,2,10]},{"path":[4,10,2,5,6],"span":[480,11,23]},{"path":[4,10,2,5,1],"span":[480,24,36]},{"path":[4,10,2,5,3],"span":[480,39,40]},{"path":[4,10,2,5,8],"span":[480,41,58]},{"path":[4,10,2,5,7],"span":[480,42,57]},{"path":[4,10,2,6],"span":[487,2,34],"leadingComments":" Sets the Go package where structs generated from this .proto will be\n placed. If omitted, the Go package will be derived from the following:\n - The basename of the package import path, if provided.\n - Otherwise, the package statement in the .proto file, if present.\n - Otherwise, the basename of the .proto file, without extension.\n"},{"path":[4,10,2,6,4],"span":[487,2,10]},{"path":[4,10,2,6,5],"span":[487,11,17]},{"path":[4,10,2,6,1],"span":[487,18,28]},{"path":[4,10,2,6,3],"span":[487,31,33]},{"path":[4,10,2,7],"span":[499,2,59],"leadingComments":" Should generic services be generated in each language? \"Generic\" services\n are not specific to any particular RPC system. They are generated by the\n main code generators in each language (without additional plugins).\n Generic services were the only kind of service generation supported by\n early versions of google.protobuf.\n\n Generic services are now considered deprecated in favor of using plugins\n that generate code specific to your particular RPC system. Therefore,\n these default to false. Old code which depends on generic services should\n explicitly set them to true.\n"},{"path":[4,10,2,7,4],"span":[499,2,10]},{"path":[4,10,2,7,5],"span":[499,11,15]},{"path":[4,10,2,7,1],"span":[499,16,35]},{"path":[4,10,2,7,3],"span":[499,38,40]},{"path":[4,10,2,7,8],"span":[499,41,58]},{"path":[4,10,2,7,7],"span":[499,42,57]},{"path":[4,10,2,8],"span":[500,2,61]},{"path":[4,10,2,8,4],"span":[500,2,10]},{"path":[4,10,2,8,5],"span":[500,11,15]},{"path":[4,10,2,8,1],"span":[500,16,37]},{"path":[4,10,2,8,3],"span":[500,40,42]},{"path":[4,10,2,8,8],"span":[500,43,60]},{"path":[4,10,2,8,7],"span":[500,44,59]},{"path":[4,10,2,9],"span":[501,2,59]},{"path":[4,10,2,9,4],"span":[501,2,10]},{"path":[4,10,2,9,5],"span":[501,11,15]},{"path":[4,10,2,9,1],"span":[501,16,35]},{"path":[4,10,2,9,3],"span":[501,38,40]},{"path":[4,10,2,9,8],"span":[501,41,58]},{"path":[4,10,2,9,7],"span":[501,42,57]},{"path":[4,10,9],"span":[502,2,14],"trailingComments":" removed php_generic_services\n"},{"path":[4,10,9,0],"span":[502,11,13]},{"path":[4,10,9,0,1],"span":[502,11,13]},{"path":[4,10,9,0,2],"span":[502,11,13]},{"path":[4,10,10],"span":[503,2,34]},{"path":[4,10,10,0],"span":[503,11,33]},{"path":[4,10,2,10],"span":[509,2,50],"leadingComments":" Is this file deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for everything in the file, or it will be completely ignored; in the very\n least, this is a formalization for deprecating files.\n"},{"path":[4,10,2,10,4],"span":[509,2,10]},{"path":[4,10,2,10,5],"span":[509,11,15]},{"path":[4,10,2,10,1],"span":[509,16,26]},{"path":[4,10,2,10,3],"span":[509,29,31]},{"path":[4,10,2,10,8],"span":[509,32,49]},{"path":[4,10,2,10,7],"span":[509,33,48]},{"path":[4,10,2,11],"span":[513,2,55],"leadingComments":" Enables the use of arenas for the proto messages in this file. This applies\n only to generated classes for C++.\n"},{"path":[4,10,2,11,4],"span":[513,2,10]},{"path":[4,10,2,11,5],"span":[513,11,15]},{"path":[4,10,2,11,1],"span":[513,16,32]},{"path":[4,10,2,11,3],"span":[513,35,37]},{"path":[4,10,2,11,8],"span":[513,38,54]},{"path":[4,10,2,11,7],"span":[513,39,53]},{"path":[4,10,2,12],"span":[517,2,41],"leadingComments":" Sets the objective c class prefix which is prepended to all objective c\n generated classes from this .proto. There is no default.\n"},{"path":[4,10,2,12,4],"span":[517,2,10]},{"path":[4,10,2,12,5],"span":[517,11,17]},{"path":[4,10,2,12,1],"span":[517,18,35]},{"path":[4,10,2,12,3],"span":[517,38,40]},{"path":[4,10,2,13],"span":[520,2,40],"leadingComments":" Namespace for generated classes; defaults to the package.\n"},{"path":[4,10,2,13,4],"span":[520,2,10]},{"path":[4,10,2,13,5],"span":[520,11,17]},{"path":[4,10,2,13,1],"span":[520,18,34]},{"path":[4,10,2,13,3],"span":[520,37,39]},{"path":[4,10,2,14],"span":[526,2,36],"leadingComments":" By default Swift generators will take the proto package and CamelCase it\n replacing '.' with underscore and use that to prefix the types/symbols\n defined. When this options is provided, they will use this value instead\n to prefix the types/symbols defined.\n"},{"path":[4,10,2,14,4],"span":[526,2,10]},{"path":[4,10,2,14,5],"span":[526,11,17]},{"path":[4,10,2,14,1],"span":[526,18,30]},{"path":[4,10,2,14,3],"span":[526,33,35]},{"path":[4,10,2,15],"span":[530,2,40],"leadingComments":" Sets the php class prefix which is prepended to all php generated classes\n from this .proto. Default is empty.\n"},{"path":[4,10,2,15,4],"span":[530,2,10]},{"path":[4,10,2,15,5],"span":[530,11,17]},{"path":[4,10,2,15,1],"span":[530,18,34]},{"path":[4,10,2,15,3],"span":[530,37,39]},{"path":[4,10,2,16],"span":[535,2,37],"leadingComments":" Use this option to change the namespace of php generated classes. Default\n is empty. When this option is empty, the package name will be used for\n determining the namespace.\n"},{"path":[4,10,2,16,4],"span":[535,2,10]},{"path":[4,10,2,16,5],"span":[535,11,17]},{"path":[4,10,2,16,1],"span":[535,18,31]},{"path":[4,10,2,16,3],"span":[535,34,36]},{"path":[4,10,2,17],"span":[540,2,46],"leadingComments":" Use this option to change the namespace of php generated metadata classes.\n Default is empty. When this option is empty, the proto file name will be\n used for determining the namespace.\n"},{"path":[4,10,2,17,4],"span":[540,2,10]},{"path":[4,10,2,17,5],"span":[540,11,17]},{"path":[4,10,2,17,1],"span":[540,18,40]},{"path":[4,10,2,17,3],"span":[540,43,45]},{"path":[4,10,2,18],"span":[545,2,36],"leadingComments":" Use this option to change the package of ruby generated classes. Default\n is empty. When this option is not set, the package name will be used for\n determining the ruby package.\n"},{"path":[4,10,2,18,4],"span":[545,2,10]},{"path":[4,10,2,18,5],"span":[545,11,17]},{"path":[4,10,2,18,1],"span":[545,18,30]},{"path":[4,10,2,18,3],"span":[545,33,35]},{"path":[4,10,2,19],"span":[548,2,36],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,10,2,19,4],"span":[548,2,10]},{"path":[4,10,2,19,6],"span":[548,11,21]},{"path":[4,10,2,19,1],"span":[548,22,30]},{"path":[4,10,2,19,3],"span":[548,33,35]},{"path":[4,10,2,20],"span":[552,2,58],"leadingComments":" The parser stores options it doesn't recognize here.\n See the documentation for the \"Options\" section above.\n"},{"path":[4,10,2,20,4],"span":[552,2,10]},{"path":[4,10,2,20,6],"span":[552,11,30]},{"path":[4,10,2,20,1],"span":[552,31,51]},{"path":[4,10,2,20,3],"span":[552,54,57]},{"path":[4,10,5],"span":[556,2,25],"leadingComments":" Clients can define custom options in extensions of this message.\n See the documentation for the \"Options\" section above.\n"},{"path":[4,10,5,0],"span":[556,13,24]},{"path":[4,10,5,0,1],"span":[556,13,17]},{"path":[4,10,5,0,2],"span":[556,21,24]},{"path":[4,10,9],"span":[558,2,14]},{"path":[4,10,9,1],"span":[558,11,13]},{"path":[4,10,9,1,1],"span":[558,11,13]},{"path":[4,10,9,1,2],"span":[558,11,13]},{"path":[4,11],"span":[561,0,641,1]},{"path":[4,11,1],"span":[561,8,22]},{"path":[4,11,2,0],"span":[580,2,62],"leadingComments":" Set true to use the old proto1 MessageSet wire format for extensions.\n This is provided for backwards-compatibility with the MessageSet wire\n format. You should not use this for any other reason: It's less\n efficient, has fewer features, and is more complicated.\n\n The message must be defined exactly as follows:\n message Foo {\n option message_set_wire_format = true;\n extensions 4 to max;\n }\n Note that the message cannot have any defined fields; MessageSets only\n have extensions.\n\n All extensions of your type must be singular messages; e.g. they cannot\n be int32s, enums, or repeated messages.\n\n Because this is an option, the above two restrictions are not enforced by\n the protocol compiler.\n"},{"path":[4,11,2,0,4],"span":[580,2,10]},{"path":[4,11,2,0,5],"span":[580,11,15]},{"path":[4,11,2,0,1],"span":[580,16,39]},{"path":[4,11,2,0,3],"span":[580,42,43]},{"path":[4,11,2,0,8],"span":[580,44,61]},{"path":[4,11,2,0,7],"span":[580,45,60]},{"path":[4,11,2,1],"span":[585,2,70],"leadingComments":" Disables the generation of the standard \"descriptor()\" accessor, which can\n conflict with a field of the same name. This is meant to make migration\n from proto1 easier; new code should avoid fields named \"descriptor\".\n"},{"path":[4,11,2,1,4],"span":[585,2,10]},{"path":[4,11,2,1,5],"span":[585,11,15]},{"path":[4,11,2,1,1],"span":[585,16,47]},{"path":[4,11,2,1,3],"span":[585,50,51]},{"path":[4,11,2,1,8],"span":[585,52,69]},{"path":[4,11,2,1,7],"span":[585,53,68]},{"path":[4,11,2,2],"span":[591,2,49],"leadingComments":" Is this message deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the message, or it will be completely ignored; in the very least,\n this is a formalization for deprecating messages.\n"},{"path":[4,11,2,2,4],"span":[591,2,10]},{"path":[4,11,2,2,5],"span":[591,11,15]},{"path":[4,11,2,2,1],"span":[591,16,26]},{"path":[4,11,2,2,3],"span":[591,29,30]},{"path":[4,11,2,2,8],"span":[591,31,48]},{"path":[4,11,2,2,7],"span":[591,32,47]},{"path":[4,11,9],"span":[593,2,19]},{"path":[4,11,9,0],"span":[593,11,12]},{"path":[4,11,9,0,1],"span":[593,11,12]},{"path":[4,11,9,0,2],"span":[593,11,12]},{"path":[4,11,9,1],"span":[593,14,15]},{"path":[4,11,9,1,1],"span":[593,14,15]},{"path":[4,11,9,1,2],"span":[593,14,15]},{"path":[4,11,9,2],"span":[593,17,18]},{"path":[4,11,9,2,1],"span":[593,17,18]},{"path":[4,11,9,2,2],"span":[593,17,18]},{"path":[4,11,2,3],"span":[616,2,30],"leadingComments":" Whether the message is an automatically generated map entry type for the\n maps field.\n\n For maps fields:\n map map_field = 1;\n The parsed descriptor looks like:\n message MapFieldEntry {\n option map_entry = true;\n optional KeyType key = 1;\n optional ValueType value = 2;\n }\n repeated MapFieldEntry map_field = 1;\n\n Implementations may choose not to generate the map_entry=true message, but\n use a native map in the target language to hold the keys and values.\n The reflection APIs in such implementations still need to work as\n if the field is a repeated message field.\n\n NOTE: Do not set the option in .proto files. Always use the maps syntax\n instead. The option should only be implicitly set by the proto compiler\n parser.\n"},{"path":[4,11,2,3,4],"span":[616,2,10]},{"path":[4,11,2,3,5],"span":[616,11,15]},{"path":[4,11,2,3,1],"span":[616,16,25]},{"path":[4,11,2,3,3],"span":[616,28,29]},{"path":[4,11,9],"span":[618,2,13],"trailingComments":" javalite_serializable\n"},{"path":[4,11,9,3],"span":[618,11,12]},{"path":[4,11,9,3,1],"span":[618,11,12]},{"path":[4,11,9,3,2],"span":[618,11,12]},{"path":[4,11,9],"span":[619,2,13],"trailingComments":" javanano_as_lite\n"},{"path":[4,11,9,4],"span":[619,11,12]},{"path":[4,11,9,4,1],"span":[619,11,12]},{"path":[4,11,9,4,2],"span":[619,11,12]},{"path":[4,11,2,4],"span":[631,2,80],"leadingComments":" Enable the legacy handling of JSON field name conflicts. This lowercases\n and strips underscored from the fields before comparison in proto3 only.\n The new behavior takes `json_name` into account and applies to proto2 as\n well.\n\n This should only be used as a temporary measure against broken builds due\n to the change in behavior for JSON field name conflicts.\n\n TODO This is legacy behavior we plan to remove once downstream\n teams have had time to migrate.\n"},{"path":[4,11,2,4,4],"span":[631,2,10]},{"path":[4,11,2,4,5],"span":[631,11,15]},{"path":[4,11,2,4,1],"span":[631,16,54]},{"path":[4,11,2,4,3],"span":[631,57,59]},{"path":[4,11,2,4,8],"span":[631,60,79]},{"path":[4,11,2,4,8,3],"span":[631,61,78]},{"path":[4,11,2,5],"span":[634,2,36],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,11,2,5,4],"span":[634,2,10]},{"path":[4,11,2,5,6],"span":[634,11,21]},{"path":[4,11,2,5,1],"span":[634,22,30]},{"path":[4,11,2,5,3],"span":[634,33,35]},{"path":[4,11,2,6],"span":[637,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,11,2,6,4],"span":[637,2,10]},{"path":[4,11,2,6,6],"span":[637,11,30]},{"path":[4,11,2,6,1],"span":[637,31,51]},{"path":[4,11,2,6,3],"span":[637,54,57]},{"path":[4,11,5],"span":[640,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,11,5,0],"span":[640,13,24]},{"path":[4,11,5,0,1],"span":[640,13,17]},{"path":[4,11,5,0,2],"span":[640,21,24]},{"path":[4,12],"span":[643,0,806,1]},{"path":[4,12,1],"span":[643,8,20]},{"path":[4,12,2,0],"span":[651,2,69],"leadingComments":" NOTE: ctype is deprecated. Use `features.(pb.cpp).string_type` instead.\n The ctype option instructs the C++ code generator to use a different\n representation of the field than it normally would. See the specific\n options below. This option is only implemented to support use of\n [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of\n type \"bytes\" in the open source release.\n TODO: make ctype actually deprecated.\n"},{"path":[4,12,2,0,4],"span":[651,2,10]},{"path":[4,12,2,0,6],"span":[651,11,16]},{"path":[4,12,2,0,1],"span":[651,17,22]},{"path":[4,12,2,0,3],"span":[651,25,26]},{"path":[4,12,2,0,8],"span":[651,27,68]},{"path":[4,12,2,0,7],"span":[651,51,67]},{"path":[4,12,4,0],"span":[652,2,665,3]},{"path":[4,12,4,0,1],"span":[652,7,12]},{"path":[4,12,4,0,2,0],"span":[654,4,15],"leadingComments":" Default mode.\n"},{"path":[4,12,4,0,2,0,1],"span":[654,4,10]},{"path":[4,12,4,0,2,0,2],"span":[654,13,14]},{"path":[4,12,4,0,2,1],"span":[662,4,13],"leadingComments":" The option [ctype=CORD] may be applied to a non-repeated field of type\n \"bytes\". It indicates that in C++, the data should be stored in a Cord\n instead of a string. For very large strings, this may reduce memory\n fragmentation. It may also allow better performance when parsing from a\n Cord, or when parsing with aliasing enabled, as the parsed Cord may then\n alias the original buffer.\n"},{"path":[4,12,4,0,2,1,1],"span":[662,4,8]},{"path":[4,12,4,0,2,1,2],"span":[662,11,12]},{"path":[4,12,4,0,2,2],"span":[664,4,21]},{"path":[4,12,4,0,2,2,1],"span":[664,4,16]},{"path":[4,12,4,0,2,2,2],"span":[664,19,20]},{"path":[4,12,2,1],"span":[673,2,27],"leadingComments":" The packed option can be enabled for repeated primitive fields to enable\n a more efficient representation on the wire. Rather than repeatedly\n writing the tag and type for each element, the entire array is encoded as\n a single length-delimited blob. In proto3, only explicit setting it to\n false will avoid using packed encoding. This option is prohibited in\n Editions, but the `repeated_field_encoding` feature can be used to control\n the behavior.\n"},{"path":[4,12,2,1,4],"span":[673,2,10]},{"path":[4,12,2,1,5],"span":[673,11,15]},{"path":[4,12,2,1,1],"span":[673,16,22]},{"path":[4,12,2,1,3],"span":[673,25,26]},{"path":[4,12,2,2],"span":[686,2,51],"leadingComments":" The jstype option determines the JavaScript type used for values of the\n field. The option is permitted only for 64 bit integral and fixed types\n (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING\n is represented as JavaScript string, which avoids loss of precision that\n can happen when a large value is converted to a floating point JavaScript.\n Specifying JS_NUMBER for the jstype causes the generated JavaScript code to\n use the JavaScript \"number\" type. The behavior of the default option\n JS_NORMAL is implementation dependent.\n\n This option is an enum to permit additional types to be added, e.g.\n goog.math.Integer.\n"},{"path":[4,12,2,2,4],"span":[686,2,10]},{"path":[4,12,2,2,6],"span":[686,11,17]},{"path":[4,12,2,2,1],"span":[686,18,24]},{"path":[4,12,2,2,3],"span":[686,27,28]},{"path":[4,12,2,2,8],"span":[686,29,50]},{"path":[4,12,2,2,7],"span":[686,30,49]},{"path":[4,12,4,1],"span":[687,2,696,3]},{"path":[4,12,4,1,1],"span":[687,7,13]},{"path":[4,12,4,1,2,0],"span":[689,4,18],"leadingComments":" Use the default type.\n"},{"path":[4,12,4,1,2,0,1],"span":[689,4,13]},{"path":[4,12,4,1,2,0,2],"span":[689,16,17]},{"path":[4,12,4,1,2,1],"span":[692,4,18],"leadingComments":" Use JavaScript strings.\n"},{"path":[4,12,4,1,2,1,1],"span":[692,4,13]},{"path":[4,12,4,1,2,1,2],"span":[692,16,17]},{"path":[4,12,4,1,2,2],"span":[695,4,18],"leadingComments":" Use JavaScript numbers.\n"},{"path":[4,12,4,1,2,2,1],"span":[695,4,13]},{"path":[4,12,4,1,2,2,2],"span":[695,16,17]},{"path":[4,12,2,3],"span":[720,2,43],"leadingComments":" Should this field be parsed lazily? Lazy applies only to message-type\n fields. It means that when the outer message is initially parsed, the\n inner message's contents will not be parsed but instead stored in encoded\n form. The inner message will actually be parsed when it is first accessed.\n\n This is only a hint. Implementations are free to choose whether to use\n eager or lazy parsing regardless of the value of this option. However,\n setting this option true suggests that the protocol author believes that\n using lazy parsing on this field is worth the additional bookkeeping\n overhead typically needed to implement it.\n\n This option does not affect the public interface of any generated code;\n all method signatures remain the same. Furthermore, thread-safety of the\n interface is not affected by this option; const methods remain safe to\n call from multiple threads concurrently, while non-const methods continue\n to require exclusive access.\n\n Note that lazy message fields are still eagerly verified to check\n ill-formed wireformat or missing required fields. Calling IsInitialized()\n on the outer message would fail if the inner message has missing required\n fields. Failed verification would result in parsing failure (except when\n uninitialized messages are acceptable).\n"},{"path":[4,12,2,3,4],"span":[720,2,10]},{"path":[4,12,2,3,5],"span":[720,11,15]},{"path":[4,12,2,3,1],"span":[720,16,20]},{"path":[4,12,2,3,3],"span":[720,23,24]},{"path":[4,12,2,3,8],"span":[720,25,42]},{"path":[4,12,2,3,7],"span":[720,26,41]},{"path":[4,12,2,4],"span":[725,2,55],"leadingComments":" unverified_lazy does no correctness checks on the byte stream. This should\n only be used where lazy with verification is prohibitive for performance\n reasons.\n"},{"path":[4,12,2,4,4],"span":[725,2,10]},{"path":[4,12,2,4,5],"span":[725,11,15]},{"path":[4,12,2,4,1],"span":[725,16,31]},{"path":[4,12,2,4,3],"span":[725,34,36]},{"path":[4,12,2,4,8],"span":[725,37,54]},{"path":[4,12,2,4,7],"span":[725,38,53]},{"path":[4,12,2,5],"span":[731,2,49],"leadingComments":" Is this field deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for accessors, or it will be completely ignored; in the very least, this\n is a formalization for deprecating fields.\n"},{"path":[4,12,2,5,4],"span":[731,2,10]},{"path":[4,12,2,5,5],"span":[731,11,15]},{"path":[4,12,2,5,1],"span":[731,16,26]},{"path":[4,12,2,5,3],"span":[731,29,30]},{"path":[4,12,2,5,8],"span":[731,31,48]},{"path":[4,12,2,5,7],"span":[731,32,47]},{"path":[4,12,2,6],"span":[734,2,44],"leadingComments":" For Google-internal migration only. Do not use.\n"},{"path":[4,12,2,6,4],"span":[734,2,10]},{"path":[4,12,2,6,5],"span":[734,11,15]},{"path":[4,12,2,6,1],"span":[734,16,20]},{"path":[4,12,2,6,3],"span":[734,23,25]},{"path":[4,12,2,6,8],"span":[734,26,43]},{"path":[4,12,2,6,7],"span":[734,27,42]},{"path":[4,12,2,7],"span":[738,2,52],"leadingComments":" Indicate that the field value should not be printed out when using debug\n formats, e.g. when the field contains sensitive credentials.\n"},{"path":[4,12,2,7,4],"span":[738,2,10]},{"path":[4,12,2,7,5],"span":[738,11,15]},{"path":[4,12,2,7,1],"span":[738,16,28]},{"path":[4,12,2,7,3],"span":[738,31,33]},{"path":[4,12,2,7,8],"span":[738,34,51]},{"path":[4,12,2,7,7],"span":[738,35,50]},{"path":[4,12,4,2],"span":[741,2,745,3],"leadingComments":" If set to RETENTION_SOURCE, the option will be omitted from the binary.\n"},{"path":[4,12,4,2,1],"span":[741,7,22]},{"path":[4,12,4,2,2,0],"span":[742,4,26]},{"path":[4,12,4,2,2,0,1],"span":[742,4,21]},{"path":[4,12,4,2,2,0,2],"span":[742,24,25]},{"path":[4,12,4,2,2,1],"span":[743,4,26]},{"path":[4,12,4,2,2,1,1],"span":[743,4,21]},{"path":[4,12,4,2,2,1,2],"span":[743,24,25]},{"path":[4,12,4,2,2,2],"span":[744,4,25]},{"path":[4,12,4,2,2,2,1],"span":[744,4,20]},{"path":[4,12,4,2,2,2,2],"span":[744,23,24]},{"path":[4,12,2,8],"span":[747,2,42]},{"path":[4,12,2,8,4],"span":[747,2,10]},{"path":[4,12,2,8,6],"span":[747,11,26]},{"path":[4,12,2,8,1],"span":[747,27,36]},{"path":[4,12,2,8,3],"span":[747,39,41]},{"path":[4,12,4,3],"span":[752,2,763,3],"leadingComments":" This indicates the types of entities that the field may apply to when used\n as an option. If it is unset, then the field may be freely used as an\n option on any kind of entity.\n"},{"path":[4,12,4,3,1],"span":[752,7,23]},{"path":[4,12,4,3,2,0],"span":[753,4,28]},{"path":[4,12,4,3,2,0,1],"span":[753,4,23]},{"path":[4,12,4,3,2,0,2],"span":[753,26,27]},{"path":[4,12,4,3,2,1],"span":[754,4,25]},{"path":[4,12,4,3,2,1,1],"span":[754,4,20]},{"path":[4,12,4,3,2,1,2],"span":[754,23,24]},{"path":[4,12,4,3,2,2],"span":[755,4,36]},{"path":[4,12,4,3,2,2,1],"span":[755,4,31]},{"path":[4,12,4,3,2,2,2],"span":[755,34,35]},{"path":[4,12,4,3,2,3],"span":[756,4,28]},{"path":[4,12,4,3,2,3,1],"span":[756,4,23]},{"path":[4,12,4,3,2,3,2],"span":[756,26,27]},{"path":[4,12,4,3,2,4],"span":[757,4,26]},{"path":[4,12,4,3,2,4,1],"span":[757,4,21]},{"path":[4,12,4,3,2,4,2],"span":[757,24,25]},{"path":[4,12,4,3,2,5],"span":[758,4,26]},{"path":[4,12,4,3,2,5,1],"span":[758,4,21]},{"path":[4,12,4,3,2,5,2],"span":[758,24,25]},{"path":[4,12,4,3,2,6],"span":[759,4,25]},{"path":[4,12,4,3,2,6,1],"span":[759,4,20]},{"path":[4,12,4,3,2,6,2],"span":[759,23,24]},{"path":[4,12,4,3,2,7],"span":[760,4,31]},{"path":[4,12,4,3,2,7,1],"span":[760,4,26]},{"path":[4,12,4,3,2,7,2],"span":[760,29,30]},{"path":[4,12,4,3,2,8],"span":[761,4,28]},{"path":[4,12,4,3,2,8,1],"span":[761,4,23]},{"path":[4,12,4,3,2,8,2],"span":[761,26,27]},{"path":[4,12,4,3,2,9],"span":[762,4,27]},{"path":[4,12,4,3,2,9,1],"span":[762,4,22]},{"path":[4,12,4,3,2,9,2],"span":[762,25,26]},{"path":[4,12,2,9],"span":[765,2,41]},{"path":[4,12,2,9,4],"span":[765,2,10]},{"path":[4,12,2,9,6],"span":[765,11,27]},{"path":[4,12,2,9,1],"span":[765,28,35]},{"path":[4,12,2,9,3],"span":[765,38,40]},{"path":[4,12,3,0],"span":[767,2,770,3]},{"path":[4,12,3,0,1],"span":[767,10,24]},{"path":[4,12,3,0,2,0],"span":[768,4,33]},{"path":[4,12,3,0,2,0,4],"span":[768,4,12]},{"path":[4,12,3,0,2,0,6],"span":[768,13,20]},{"path":[4,12,3,0,2,0,1],"span":[768,21,28]},{"path":[4,12,3,0,2,0,3],"span":[768,31,32]},{"path":[4,12,3,0,2,1],"span":[769,4,30],"trailingComments":" Textproto value.\n"},{"path":[4,12,3,0,2,1,4],"span":[769,4,12]},{"path":[4,12,3,0,2,1,5],"span":[769,13,19]},{"path":[4,12,3,0,2,1,1],"span":[769,20,25]},{"path":[4,12,3,0,2,1,3],"span":[769,28,29]},{"path":[4,12,2,10],"span":[771,2,48]},{"path":[4,12,2,10,4],"span":[771,2,10]},{"path":[4,12,2,10,6],"span":[771,11,25]},{"path":[4,12,2,10,1],"span":[771,26,42]},{"path":[4,12,2,10,3],"span":[771,45,47]},{"path":[4,12,2,11],"span":[774,2,36],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,12,2,11,4],"span":[774,2,10]},{"path":[4,12,2,11,6],"span":[774,11,21]},{"path":[4,12,2,11,1],"span":[774,22,30]},{"path":[4,12,2,11,3],"span":[774,33,35]},{"path":[4,12,3,1],"span":[777,2,795,3],"leadingComments":" Information about the support window of a feature.\n"},{"path":[4,12,3,1,1],"span":[777,10,24]},{"path":[4,12,3,1,2,0],"span":[781,4,44],"leadingComments":" The edition that this feature was first available in. In editions\n earlier than this one, the default assigned to EDITION_LEGACY will be\n used, and proto files will not be able to override it.\n"},{"path":[4,12,3,1,2,0,4],"span":[781,4,12]},{"path":[4,12,3,1,2,0,6],"span":[781,13,20]},{"path":[4,12,3,1,2,0,1],"span":[781,21,39]},{"path":[4,12,3,1,2,0,3],"span":[781,42,43]},{"path":[4,12,3,1,2,1],"span":[785,4,44],"leadingComments":" The edition this feature becomes deprecated in. Using this after this\n edition may trigger warnings.\n"},{"path":[4,12,3,1,2,1,4],"span":[785,4,12]},{"path":[4,12,3,1,2,1,6],"span":[785,13,20]},{"path":[4,12,3,1,2,1,1],"span":[785,21,39]},{"path":[4,12,3,1,2,1,3],"span":[785,42,43]},{"path":[4,12,3,1,2,2],"span":[789,4,44],"leadingComments":" The deprecation warning text if this feature is used after the edition it\n was marked deprecated in.\n"},{"path":[4,12,3,1,2,2,4],"span":[789,4,12]},{"path":[4,12,3,1,2,2,5],"span":[789,13,19]},{"path":[4,12,3,1,2,2,1],"span":[789,20,39]},{"path":[4,12,3,1,2,2,3],"span":[789,42,43]},{"path":[4,12,3,1,2,3],"span":[794,4,41],"leadingComments":" The edition this feature is no longer available in. In editions after\n this one, the last default assigned will be used, and proto files will\n not be able to override it.\n"},{"path":[4,12,3,1,2,3,4],"span":[794,4,12]},{"path":[4,12,3,1,2,3,6],"span":[794,13,20]},{"path":[4,12,3,1,2,3,1],"span":[794,21,36]},{"path":[4,12,3,1,2,3,3],"span":[794,39,40]},{"path":[4,12,2,12],"span":[796,2,47]},{"path":[4,12,2,12,4],"span":[796,2,10]},{"path":[4,12,2,12,6],"span":[796,11,25]},{"path":[4,12,2,12,1],"span":[796,26,41]},{"path":[4,12,2,12,3],"span":[796,44,46]},{"path":[4,12,2,13],"span":[799,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,12,2,13,4],"span":[799,2,10]},{"path":[4,12,2,13,6],"span":[799,11,30]},{"path":[4,12,2,13,1],"span":[799,31,51]},{"path":[4,12,2,13,3],"span":[799,54,57]},{"path":[4,12,5],"span":[802,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,12,5,0],"span":[802,13,24]},{"path":[4,12,5,0,1],"span":[802,13,17]},{"path":[4,12,5,0,2],"span":[802,21,24]},{"path":[4,12,9],"span":[804,2,13],"trailingComments":" removed jtype\n"},{"path":[4,12,9,0],"span":[804,11,12]},{"path":[4,12,9,0,1],"span":[804,11,12]},{"path":[4,12,9,0,2],"span":[804,11,12]},{"path":[4,12,9],"span":[805,2,14],"trailingComments":" reserve target, target_obsolete_do_not_use\n"},{"path":[4,12,9,1],"span":[805,11,13]},{"path":[4,12,9,1,1],"span":[805,11,13]},{"path":[4,12,9,1,2],"span":[805,11,13]},{"path":[4,13],"span":[808,0,817,1]},{"path":[4,13,1],"span":[808,8,20]},{"path":[4,13,2,0],"span":[810,2,35],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,13,2,0,4],"span":[810,2,10]},{"path":[4,13,2,0,6],"span":[810,11,21]},{"path":[4,13,2,0,1],"span":[810,22,30]},{"path":[4,13,2,0,3],"span":[810,33,34]},{"path":[4,13,2,1],"span":[813,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,13,2,1,4],"span":[813,2,10]},{"path":[4,13,2,1,6],"span":[813,11,30]},{"path":[4,13,2,1,1],"span":[813,31,51]},{"path":[4,13,2,1,3],"span":[813,54,57]},{"path":[4,13,5],"span":[816,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,13,5,0],"span":[816,13,24]},{"path":[4,13,5,0,1],"span":[816,13,17]},{"path":[4,13,5,0,2],"span":[816,21,24]},{"path":[4,14],"span":[819,0,849,1]},{"path":[4,14,1],"span":[819,8,19]},{"path":[4,14,2,0],"span":[823,2,32],"leadingComments":" Set this option to true to allow mapping different tag names to the same\n value.\n"},{"path":[4,14,2,0,4],"span":[823,2,10]},{"path":[4,14,2,0,5],"span":[823,11,15]},{"path":[4,14,2,0,1],"span":[823,16,27]},{"path":[4,14,2,0,3],"span":[823,30,31]},{"path":[4,14,2,1],"span":[829,2,49],"leadingComments":" Is this enum deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the enum, or it will be completely ignored; in the very least, this\n is a formalization for deprecating enums.\n"},{"path":[4,14,2,1,4],"span":[829,2,10]},{"path":[4,14,2,1,5],"span":[829,11,15]},{"path":[4,14,2,1,1],"span":[829,16,26]},{"path":[4,14,2,1,3],"span":[829,29,30]},{"path":[4,14,2,1,8],"span":[829,31,48]},{"path":[4,14,2,1,7],"span":[829,32,47]},{"path":[4,14,9],"span":[831,2,13],"trailingComments":" javanano_as_lite\n"},{"path":[4,14,9,0],"span":[831,11,12]},{"path":[4,14,9,0,1],"span":[831,11,12]},{"path":[4,14,9,0,2],"span":[831,11,12]},{"path":[4,14,2,2],"span":[839,2,79],"leadingComments":" Enable the legacy handling of JSON field name conflicts. This lowercases\n and strips underscored from the fields before comparison in proto3 only.\n The new behavior takes `json_name` into account and applies to proto2 as\n well.\n TODO Remove this legacy behavior once downstream teams have\n had time to migrate.\n"},{"path":[4,14,2,2,4],"span":[839,2,10]},{"path":[4,14,2,2,5],"span":[839,11,15]},{"path":[4,14,2,2,1],"span":[839,16,54]},{"path":[4,14,2,2,3],"span":[839,57,58]},{"path":[4,14,2,2,8],"span":[839,59,78]},{"path":[4,14,2,2,8,3],"span":[839,60,77]},{"path":[4,14,2,3],"span":[842,2,35],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,14,2,3,4],"span":[842,2,10]},{"path":[4,14,2,3,6],"span":[842,11,21]},{"path":[4,14,2,3,1],"span":[842,22,30]},{"path":[4,14,2,3,3],"span":[842,33,34]},{"path":[4,14,2,4],"span":[845,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,14,2,4,4],"span":[845,2,10]},{"path":[4,14,2,4,6],"span":[845,11,30]},{"path":[4,14,2,4,1],"span":[845,31,51]},{"path":[4,14,2,4,3],"span":[845,54,57]},{"path":[4,14,5],"span":[848,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,14,5,0],"span":[848,13,24]},{"path":[4,14,5,0,1],"span":[848,13,17]},{"path":[4,14,5,0,2],"span":[848,21,24]},{"path":[4,15],"span":[851,0,874,1]},{"path":[4,15,1],"span":[851,8,24]},{"path":[4,15,2,0],"span":[856,2,49],"leadingComments":" Is this enum value deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the enum value, or it will be completely ignored; in the very least,\n this is a formalization for deprecating enum values.\n"},{"path":[4,15,2,0,4],"span":[856,2,10]},{"path":[4,15,2,0,5],"span":[856,11,15]},{"path":[4,15,2,0,1],"span":[856,16,26]},{"path":[4,15,2,0,3],"span":[856,29,30]},{"path":[4,15,2,0,8],"span":[856,31,48]},{"path":[4,15,2,0,7],"span":[856,32,47]},{"path":[4,15,2,1],"span":[859,2,35],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,15,2,1,4],"span":[859,2,10]},{"path":[4,15,2,1,6],"span":[859,11,21]},{"path":[4,15,2,1,1],"span":[859,22,30]},{"path":[4,15,2,1,3],"span":[859,33,34]},{"path":[4,15,2,2],"span":[864,2,51],"leadingComments":" Indicate that fields annotated with this enum value should not be printed\n out when using debug formats, e.g. when the field contains sensitive\n credentials.\n"},{"path":[4,15,2,2,4],"span":[864,2,10]},{"path":[4,15,2,2,5],"span":[864,11,15]},{"path":[4,15,2,2,1],"span":[864,16,28]},{"path":[4,15,2,2,3],"span":[864,31,32]},{"path":[4,15,2,2,8],"span":[864,33,50]},{"path":[4,15,2,2,7],"span":[864,34,49]},{"path":[4,15,2,3],"span":[867,2,59],"leadingComments":" Information about the support window of a feature value.\n"},{"path":[4,15,2,3,4],"span":[867,2,10]},{"path":[4,15,2,3,6],"span":[867,11,38]},{"path":[4,15,2,3,1],"span":[867,39,54]},{"path":[4,15,2,3,3],"span":[867,57,58]},{"path":[4,15,2,4],"span":[870,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,15,2,4,4],"span":[870,2,10]},{"path":[4,15,2,4,6],"span":[870,11,30]},{"path":[4,15,2,4,1],"span":[870,31,51]},{"path":[4,15,2,4,3],"span":[870,54,57]},{"path":[4,15,5],"span":[873,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,15,5,0],"span":[873,13,24]},{"path":[4,15,5,0,1],"span":[873,13,17]},{"path":[4,15,5,0,2],"span":[873,21,24]},{"path":[4,16],"span":[876,0,897,1]},{"path":[4,16,1],"span":[876,8,22]},{"path":[4,16,2,0],"span":[879,2,36],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,16,2,0,4],"span":[879,2,10]},{"path":[4,16,2,0,6],"span":[879,11,21]},{"path":[4,16,2,0,1],"span":[879,22,30]},{"path":[4,16,2,0,3],"span":[879,33,35]},{"path":[4,16,2,1],"span":[890,2,50],"leadingComments":" Is this service deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the service, or it will be completely ignored; in the very least,\n this is a formalization for deprecating services.\n","leadingDetachedComments":[" Note: Field numbers 1 through 32 are reserved for Google's internal RPC\n framework. We apologize for hoarding these numbers to ourselves, but\n we were already using them long before we decided to release Protocol\n Buffers.\n"]},{"path":[4,16,2,1,4],"span":[890,2,10]},{"path":[4,16,2,1,5],"span":[890,11,15]},{"path":[4,16,2,1,1],"span":[890,16,26]},{"path":[4,16,2,1,3],"span":[890,29,31]},{"path":[4,16,2,1,8],"span":[890,32,49]},{"path":[4,16,2,1,7],"span":[890,33,48]},{"path":[4,16,2,2],"span":[893,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,16,2,2,4],"span":[893,2,10]},{"path":[4,16,2,2,6],"span":[893,11,30]},{"path":[4,16,2,2,1],"span":[893,31,51]},{"path":[4,16,2,2,3],"span":[893,54,57]},{"path":[4,16,5],"span":[896,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,16,5,0],"span":[896,13,24]},{"path":[4,16,5,0,1],"span":[896,13,17]},{"path":[4,16,5,0,2],"span":[896,21,24]},{"path":[4,17],"span":[899,0,931,1]},{"path":[4,17,1],"span":[899,8,21]},{"path":[4,17,2,0],"span":[910,2,50],"leadingComments":" Is this method deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the method, or it will be completely ignored; in the very least,\n this is a formalization for deprecating methods.\n","leadingDetachedComments":[" Note: Field numbers 1 through 32 are reserved for Google's internal RPC\n framework. We apologize for hoarding these numbers to ourselves, but\n we were already using them long before we decided to release Protocol\n Buffers.\n"]},{"path":[4,17,2,0,4],"span":[910,2,10]},{"path":[4,17,2,0,5],"span":[910,11,15]},{"path":[4,17,2,0,1],"span":[910,16,26]},{"path":[4,17,2,0,3],"span":[910,29,31]},{"path":[4,17,2,0,8],"span":[910,32,49]},{"path":[4,17,2,0,7],"span":[910,33,48]},{"path":[4,17,4,0],"span":[915,2,919,3],"leadingComments":" Is this method side-effect-free (or safe in HTTP parlance), or idempotent,\n or neither? HTTP based RPC implementation may choose GET verb for safe\n methods, and PUT verb for idempotent methods instead of the default POST.\n"},{"path":[4,17,4,0,1],"span":[915,7,23]},{"path":[4,17,4,0,2,0],"span":[916,4,28]},{"path":[4,17,4,0,2,0,1],"span":[916,4,23]},{"path":[4,17,4,0,2,0,2],"span":[916,26,27]},{"path":[4,17,4,0,2,1],"span":[917,4,24],"trailingComments":" implies idempotent\n"},{"path":[4,17,4,0,2,1,1],"span":[917,4,19]},{"path":[4,17,4,0,2,1,2],"span":[917,22,23]},{"path":[4,17,4,0,2,2],"span":[918,4,19],"trailingComments":" idempotent, but may have side effects\n"},{"path":[4,17,4,0,2,2,1],"span":[918,4,14]},{"path":[4,17,4,0,2,2,2],"span":[918,17,18]},{"path":[4,17,2,1],"span":[920,2,921,38]},{"path":[4,17,2,1,4],"span":[920,2,10]},{"path":[4,17,2,1,6],"span":[920,11,27]},{"path":[4,17,2,1,1],"span":[920,28,45]},{"path":[4,17,2,1,3],"span":[920,48,50]},{"path":[4,17,2,1,8],"span":[921,6,37]},{"path":[4,17,2,1,7],"span":[921,7,36]},{"path":[4,17,2,2],"span":[924,2,36],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,17,2,2,4],"span":[924,2,10]},{"path":[4,17,2,2,6],"span":[924,11,21]},{"path":[4,17,2,2,1],"span":[924,22,30]},{"path":[4,17,2,2,3],"span":[924,33,35]},{"path":[4,17,2,3],"span":[927,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,17,2,3,4],"span":[927,2,10]},{"path":[4,17,2,3,6],"span":[927,11,30]},{"path":[4,17,2,3,1],"span":[927,31,51]},{"path":[4,17,2,3,3],"span":[927,54,57]},{"path":[4,17,5],"span":[930,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,17,5,0],"span":[930,13,24]},{"path":[4,17,5,0,1],"span":[930,13,17]},{"path":[4,17,5,0,2],"span":[930,21,24]},{"path":[4,18],"span":[939,0,959,1],"leadingComments":" A message representing a option the parser does not recognize. This only\n appears in options protos created by the compiler::Parser class.\n DescriptorPool resolves these when building Descriptor objects. Therefore,\n options protos in descriptor objects (e.g. returned by Descriptor::options(),\n or produced by Descriptor::CopyTo()) will never have UninterpretedOptions\n in them.\n"},{"path":[4,18,1],"span":[939,8,27]},{"path":[4,18,3,0],"span":[945,2,948,3],"leadingComments":" The name of the uninterpreted option. Each string represents a segment in\n a dot-separated name. is_extension is true iff a segment represents an\n extension (denoted with parentheses in options specs in .proto files).\n E.g.,{ [\"foo\", false], [\"bar.baz\", true], [\"moo\", false] } represents\n \"foo.(bar.baz).moo\".\n"},{"path":[4,18,3,0,1],"span":[945,10,18]},{"path":[4,18,3,0,2,0],"span":[946,4,34]},{"path":[4,18,3,0,2,0,4],"span":[946,4,12]},{"path":[4,18,3,0,2,0,5],"span":[946,13,19]},{"path":[4,18,3,0,2,0,1],"span":[946,20,29]},{"path":[4,18,3,0,2,0,3],"span":[946,32,33]},{"path":[4,18,3,0,2,1],"span":[947,4,35]},{"path":[4,18,3,0,2,1,4],"span":[947,4,12]},{"path":[4,18,3,0,2,1,5],"span":[947,13,17]},{"path":[4,18,3,0,2,1,1],"span":[947,18,30]},{"path":[4,18,3,0,2,1,3],"span":[947,33,34]},{"path":[4,18,2,0],"span":[949,2,29]},{"path":[4,18,2,0,4],"span":[949,2,10]},{"path":[4,18,2,0,6],"span":[949,11,19]},{"path":[4,18,2,0,1],"span":[949,20,24]},{"path":[4,18,2,0,3],"span":[949,27,28]},{"path":[4,18,2,1],"span":[953,2,39],"leadingComments":" The value of the uninterpreted option, in whatever type the tokenizer\n identified it as during parsing. Exactly one of these should be set.\n"},{"path":[4,18,2,1,4],"span":[953,2,10]},{"path":[4,18,2,1,5],"span":[953,11,17]},{"path":[4,18,2,1,1],"span":[953,18,34]},{"path":[4,18,2,1,3],"span":[953,37,38]},{"path":[4,18,2,2],"span":[954,2,41]},{"path":[4,18,2,2,4],"span":[954,2,10]},{"path":[4,18,2,2,5],"span":[954,11,17]},{"path":[4,18,2,2,1],"span":[954,18,36]},{"path":[4,18,2,2,3],"span":[954,39,40]},{"path":[4,18,2,3],"span":[955,2,40]},{"path":[4,18,2,3,4],"span":[955,2,10]},{"path":[4,18,2,3,5],"span":[955,11,16]},{"path":[4,18,2,3,1],"span":[955,17,35]},{"path":[4,18,2,3,3],"span":[955,38,39]},{"path":[4,18,2,4],"span":[956,2,35]},{"path":[4,18,2,4,4],"span":[956,2,10]},{"path":[4,18,2,4,5],"span":[956,11,17]},{"path":[4,18,2,4,1],"span":[956,18,30]},{"path":[4,18,2,4,3],"span":[956,33,34]},{"path":[4,18,2,5],"span":[957,2,34]},{"path":[4,18,2,5,4],"span":[957,2,10]},{"path":[4,18,2,5,5],"span":[957,11,16]},{"path":[4,18,2,5,1],"span":[957,17,29]},{"path":[4,18,2,5,3],"span":[957,32,33]},{"path":[4,18,2,6],"span":[958,2,38]},{"path":[4,18,2,6,4],"span":[958,2,10]},{"path":[4,18,2,6,5],"span":[958,11,17]},{"path":[4,18,2,6,1],"span":[958,18,33]},{"path":[4,18,2,6,3],"span":[958,36,37]},{"path":[4,19],"span":[970,0,1093,1],"leadingComments":" TODO Enums in C++ gencode (and potentially other languages) are\n not well scoped. This means that each of the feature enums below can clash\n with each other. The short names we've chosen maximize call-site\n readability, but leave us very open to this scenario. A future feature will\n be designed and implemented to handle this, hopefully before we ever hit a\n conflict here.\n","leadingDetachedComments":[" ===================================================================\n Features\n"]},{"path":[4,19,1],"span":[970,8,18]},{"path":[4,19,4,0],"span":[971,2,976,3]},{"path":[4,19,4,0,1],"span":[971,7,20]},{"path":[4,19,4,0,2,0],"span":[972,4,31]},{"path":[4,19,4,0,2,0,1],"span":[972,4,26]},{"path":[4,19,4,0,2,0,2],"span":[972,29,30]},{"path":[4,19,4,0,2,1],"span":[973,4,17]},{"path":[4,19,4,0,2,1,1],"span":[973,4,12]},{"path":[4,19,4,0,2,1,2],"span":[973,15,16]},{"path":[4,19,4,0,2,2],"span":[974,4,17]},{"path":[4,19,4,0,2,2,1],"span":[974,4,12]},{"path":[4,19,4,0,2,2,2],"span":[974,15,16]},{"path":[4,19,4,0,2,3],"span":[975,4,24]},{"path":[4,19,4,0,2,3,1],"span":[975,4,19]},{"path":[4,19,4,0,2,3,2],"span":[975,22,23]},{"path":[4,19,2,0],"span":[977,2,987,4]},{"path":[4,19,2,0,4],"span":[977,2,10]},{"path":[4,19,2,0,6],"span":[977,11,24]},{"path":[4,19,2,0,1],"span":[977,25,39]},{"path":[4,19,2,0,3],"span":[977,42,43]},{"path":[4,19,2,0,8],"span":[977,44,987,3]},{"path":[4,19,2,0,8,17],"span":[978,4,33]},{"path":[4,19,2,0,8,19,0],"span":[979,4,31]},{"path":[4,19,2,0,8,19,1],"span":[980,4,30]},{"path":[4,19,2,0,8,22],"span":[981,4,983,5]},{"path":[4,19,2,0,8,22,1],"span":[982,6,38]},{"path":[4,19,2,0,8,20,0],"span":[984,4,69]},{"path":[4,19,2,0,8,20,0,3],"span":[984,25,48]},{"path":[4,19,2,0,8,20,0,2],"span":[984,50,67]},{"path":[4,19,2,0,8,20,1],"span":[985,4,69]},{"path":[4,19,2,0,8,20,1,3],"span":[985,25,48]},{"path":[4,19,2,0,8,20,1,2],"span":[985,50,67]},{"path":[4,19,2,0,8,20,2],"span":[986,4,67]},{"path":[4,19,2,0,8,20,2,3],"span":[986,25,46]},{"path":[4,19,2,0,8,20,2,2],"span":[986,48,65]},{"path":[4,19,4,1],"span":[989,2,993,3]},{"path":[4,19,4,1,1],"span":[989,7,15]},{"path":[4,19,4,1,2,0],"span":[990,4,26]},{"path":[4,19,4,1,2,0,1],"span":[990,4,21]},{"path":[4,19,4,1,2,0,2],"span":[990,24,25]},{"path":[4,19,4,1,2,1],"span":[991,4,13]},{"path":[4,19,4,1,2,1,1],"span":[991,4,8]},{"path":[4,19,4,1,2,1,2],"span":[991,11,12]},{"path":[4,19,4,1,2,2],"span":[992,4,15]},{"path":[4,19,4,1,2,2,1],"span":[992,4,10]},{"path":[4,19,4,1,2,2,2],"span":[992,13,14]},{"path":[4,19,2,1],"span":[994,2,1003,4]},{"path":[4,19,2,1,4],"span":[994,2,10]},{"path":[4,19,2,1,6],"span":[994,11,19]},{"path":[4,19,2,1,1],"span":[994,20,29]},{"path":[4,19,2,1,3],"span":[994,32,33]},{"path":[4,19,2,1,8],"span":[994,34,1003,3]},{"path":[4,19,2,1,8,17],"span":[995,4,33]},{"path":[4,19,2,1,8,19,0],"span":[996,4,30]},{"path":[4,19,2,1,8,19,1],"span":[997,4,30]},{"path":[4,19,2,1,8,22],"span":[998,4,1000,5]},{"path":[4,19,2,1,8,22,1],"span":[999,6,38]},{"path":[4,19,2,1,8,20,0],"span":[1001,4,67]},{"path":[4,19,2,1,8,20,0,3],"span":[1001,25,48]},{"path":[4,19,2,1,8,20,0,2],"span":[1001,50,65]},{"path":[4,19,2,1,8,20,1],"span":[1002,4,65]},{"path":[4,19,2,1,8,20,1,3],"span":[1002,25,48]},{"path":[4,19,2,1,8,20,1,2],"span":[1002,50,63]},{"path":[4,19,4,2],"span":[1005,2,1009,3]},{"path":[4,19,4,2,1],"span":[1005,7,28]},{"path":[4,19,4,2,2,0],"span":[1006,4,40]},{"path":[4,19,4,2,2,0,1],"span":[1006,4,35]},{"path":[4,19,4,2,2,0,2],"span":[1006,38,39]},{"path":[4,19,4,2,2,1],"span":[1007,4,15]},{"path":[4,19,4,2,2,1,1],"span":[1007,4,10]},{"path":[4,19,4,2,2,1,2],"span":[1007,13,14]},{"path":[4,19,4,2,2,2],"span":[1008,4,17]},{"path":[4,19,4,2,2,2,1],"span":[1008,4,12]},{"path":[4,19,4,2,2,2,2],"span":[1008,15,16]},{"path":[4,19,2,2],"span":[1010,2,1019,4]},{"path":[4,19,2,2,4],"span":[1010,2,10]},{"path":[4,19,2,2,6],"span":[1010,11,32]},{"path":[4,19,2,2,1],"span":[1010,33,56]},{"path":[4,19,2,2,3],"span":[1010,59,60]},{"path":[4,19,2,2,8],"span":[1010,61,1019,3]},{"path":[4,19,2,2,8,17],"span":[1011,4,33]},{"path":[4,19,2,2,8,19,0],"span":[1012,4,31]},{"path":[4,19,2,2,8,19,1],"span":[1013,4,30]},{"path":[4,19,2,2,8,22],"span":[1014,4,1016,5]},{"path":[4,19,2,2,8,22,1],"span":[1015,6,38]},{"path":[4,19,2,2,8,20,0],"span":[1017,4,69]},{"path":[4,19,2,2,8,20,0,3],"span":[1017,25,48]},{"path":[4,19,2,2,8,20,0,2],"span":[1017,50,67]},{"path":[4,19,2,2,8,20,1],"span":[1018,4,67]},{"path":[4,19,2,2,8,20,1,3],"span":[1018,25,48]},{"path":[4,19,2,2,8,20,1,2],"span":[1018,50,65]},{"path":[4,19,4,3],"span":[1021,2,1026,3]},{"path":[4,19,4,3,1],"span":[1021,7,21]},{"path":[4,19,4,3,2,0],"span":[1022,4,32]},{"path":[4,19,4,3,2,0,1],"span":[1022,4,27]},{"path":[4,19,4,3,2,0,2],"span":[1022,30,31]},{"path":[4,19,4,3,2,1],"span":[1023,4,15]},{"path":[4,19,4,3,2,1,1],"span":[1023,4,10]},{"path":[4,19,4,3,2,1,2],"span":[1023,13,14]},{"path":[4,19,4,3,2,2],"span":[1024,4,13]},{"path":[4,19,4,3,2,2,1],"span":[1024,4,8]},{"path":[4,19,4,3,2,2,2],"span":[1024,11,12]},{"path":[4,19,4,3,4],"span":[1025,4,15]},{"path":[4,19,4,3,4,0],"span":[1025,13,14]},{"path":[4,19,4,3,4,0,1],"span":[1025,13,14]},{"path":[4,19,4,3,4,0,2],"span":[1025,13,14]},{"path":[4,19,2,3],"span":[1027,2,1036,4]},{"path":[4,19,2,3,4],"span":[1027,2,10]},{"path":[4,19,2,3,6],"span":[1027,11,25]},{"path":[4,19,2,3,1],"span":[1027,26,41]},{"path":[4,19,2,3,3],"span":[1027,44,45]},{"path":[4,19,2,3,8],"span":[1027,46,1036,3]},{"path":[4,19,2,3,8,17],"span":[1028,4,33]},{"path":[4,19,2,3,8,19,0],"span":[1029,4,31]},{"path":[4,19,2,3,8,19,1],"span":[1030,4,30]},{"path":[4,19,2,3,8,22],"span":[1031,4,1033,5]},{"path":[4,19,2,3,8,22,1],"span":[1032,6,38]},{"path":[4,19,2,3,8,20,0],"span":[1034,4,65]},{"path":[4,19,2,3,8,20,0,3],"span":[1034,25,48]},{"path":[4,19,2,3,8,20,0,2],"span":[1034,50,63]},{"path":[4,19,2,3,8,20,1],"span":[1035,4,67]},{"path":[4,19,2,3,8,20,1,3],"span":[1035,25,48]},{"path":[4,19,2,3,8,20,1,2],"span":[1035,50,65]},{"path":[4,19,4,4],"span":[1038,2,1042,3]},{"path":[4,19,4,4,1],"span":[1038,7,22]},{"path":[4,19,4,4,2,0],"span":[1039,4,33]},{"path":[4,19,4,4,2,0,1],"span":[1039,4,28]},{"path":[4,19,4,4,2,0,2],"span":[1039,31,32]},{"path":[4,19,4,4,2,1],"span":[1040,4,24]},{"path":[4,19,4,4,2,1,1],"span":[1040,4,19]},{"path":[4,19,4,4,2,1,2],"span":[1040,22,23]},{"path":[4,19,4,4,2,2],"span":[1041,4,18]},{"path":[4,19,4,4,2,2,1],"span":[1041,4,13]},{"path":[4,19,4,4,2,2,2],"span":[1041,16,17]},{"path":[4,19,2,4],"span":[1043,2,1051,4]},{"path":[4,19,2,4,4],"span":[1043,2,10]},{"path":[4,19,2,4,6],"span":[1043,11,26]},{"path":[4,19,2,4,1],"span":[1043,27,43]},{"path":[4,19,2,4,3],"span":[1043,46,47]},{"path":[4,19,2,4,8],"span":[1043,48,1051,3]},{"path":[4,19,2,4,8,17],"span":[1044,4,33]},{"path":[4,19,2,4,8,19,0],"span":[1045,4,31]},{"path":[4,19,2,4,8,19,1],"span":[1046,4,30]},{"path":[4,19,2,4,8,22],"span":[1047,4,1049,5]},{"path":[4,19,2,4,8,22,1],"span":[1048,6,38]},{"path":[4,19,2,4,8,20,0],"span":[1050,4,76]},{"path":[4,19,2,4,8,20,0,3],"span":[1050,25,48]},{"path":[4,19,2,4,8,20,0,2],"span":[1050,50,74]},{"path":[4,19,4,5],"span":[1053,2,1057,3]},{"path":[4,19,4,5,1],"span":[1053,7,17]},{"path":[4,19,4,5,2,0],"span":[1054,4,28]},{"path":[4,19,4,5,2,0,1],"span":[1054,4,23]},{"path":[4,19,4,5,2,0,2],"span":[1054,26,27]},{"path":[4,19,4,5,2,1],"span":[1055,4,14]},{"path":[4,19,4,5,2,1,1],"span":[1055,4,9]},{"path":[4,19,4,5,2,1,2],"span":[1055,12,13]},{"path":[4,19,4,5,2,2],"span":[1056,4,27]},{"path":[4,19,4,5,2,2,1],"span":[1056,4,22]},{"path":[4,19,4,5,2,2,2],"span":[1056,25,26]},{"path":[4,19,2,5],"span":[1058,2,1068,4]},{"path":[4,19,2,5,4],"span":[1058,2,10]},{"path":[4,19,2,5,6],"span":[1058,11,21]},{"path":[4,19,2,5,1],"span":[1058,22,33]},{"path":[4,19,2,5,3],"span":[1058,36,37]},{"path":[4,19,2,5,8],"span":[1058,38,1068,3]},{"path":[4,19,2,5,8,17],"span":[1059,4,33]},{"path":[4,19,2,5,8,19,0],"span":[1060,4,33]},{"path":[4,19,2,5,8,19,1],"span":[1061,4,30]},{"path":[4,19,2,5,8,19,2],"span":[1062,4,30]},{"path":[4,19,2,5,8,22],"span":[1063,4,1065,5]},{"path":[4,19,2,5,8,22,1],"span":[1064,6,38]},{"path":[4,19,2,5,8,20,0],"span":[1066,4,79]},{"path":[4,19,2,5,8,20,0,3],"span":[1066,25,48]},{"path":[4,19,2,5,8,20,0,2],"span":[1066,50,77]},{"path":[4,19,2,5,8,20,1],"span":[1067,4,66]},{"path":[4,19,2,5,8,20,1,3],"span":[1067,25,48]},{"path":[4,19,2,5,8,20,1,2],"span":[1067,50,64]},{"path":[4,19,9],"span":[1070,2,15]},{"path":[4,19,9,0],"span":[1070,11,14]},{"path":[4,19,9,0,1],"span":[1070,11,14]},{"path":[4,19,9,0,2],"span":[1070,11,14]},{"path":[4,19,5],"span":[1072,2,1089,4]},{"path":[4,19,5,0],"span":[1072,13,25]},{"path":[4,19,5,0,1],"span":[1072,13,17]},{"path":[4,19,5,0,2],"span":[1072,21,25]},{"path":[4,19,5,0,3],"span":[1072,26,1089,3]},{"path":[4,19,5,0,3,2,0],"span":[1073,4,1077,5]},{"path":[4,19,5,0,3,2,0,1],"span":[1074,6,18]},{"path":[4,19,5,0,3,2,0,2],"span":[1075,6,26]},{"path":[4,19,5,0,3,2,0,3],"span":[1076,6,29]},{"path":[4,19,5,0,3,2,1],"span":[1078,4,1082,5]},{"path":[4,19,5,0,3,2,1,1],"span":[1079,6,18]},{"path":[4,19,5,0,3,2,1,2],"span":[1080,6,27]},{"path":[4,19,5,0,3,2,1,3],"span":[1081,6,30]},{"path":[4,19,5,0,3,2,2],"span":[1083,4,79]},{"path":[4,19,5,0,3,2,2,1],"span":[1083,20,32]},{"path":[4,19,5,0,3,2,2,2],"span":[1083,34,53]},{"path":[4,19,5,0,3,2,2,3],"span":[1083,55,77]},{"path":[4,19,5,0,3,2,3],"span":[1084,4,1088,5]},{"path":[4,19,5,0,3,2,3,1],"span":[1085,6,18]},{"path":[4,19,5,0,3,2,3,2],"span":[1086,6,29]},{"path":[4,19,5,0,3,2,3,3],"span":[1087,6,32]},{"path":[4,19,5],"span":[1091,2,26],"trailingComments":" For internal testing\n"},{"path":[4,19,5,1],"span":[1091,13,25]},{"path":[4,19,5,1,1],"span":[1091,13,17]},{"path":[4,19,5,1,2],"span":[1091,21,25]},{"path":[4,19,5],"span":[1092,2,19],"trailingComments":" for https://github.com/bufbuild/protobuf-es\n"},{"path":[4,19,5,2],"span":[1092,13,18]},{"path":[4,19,5,2,1],"span":[1092,13,18]},{"path":[4,19,5,2,2],"span":[1092,13,18]},{"path":[4,20],"span":[1099,0,1125,1],"leadingComments":" A compiled specification for the defaults of a set of features. These\n messages are generated from FeatureSet extensions and can be used to seed\n feature resolution. The resolution with this object becomes a simple search\n for the closest matching edition, followed by proto merges.\n"},{"path":[4,20,1],"span":[1099,8,26]},{"path":[4,20,3,0],"span":[1104,2,1115,3],"leadingComments":" A map from every known edition with a unique set of defaults to its\n defaults. Not all editions may be contained here. For a given edition,\n the defaults at the closest matching edition ordered at or before it should\n be used. This field must be in strict ascending order by edition.\n"},{"path":[4,20,3,0,1],"span":[1104,10,34]},{"path":[4,20,3,0,2,0],"span":[1105,4,33]},{"path":[4,20,3,0,2,0,4],"span":[1105,4,12]},{"path":[4,20,3,0,2,0,6],"span":[1105,13,20]},{"path":[4,20,3,0,2,0,1],"span":[1105,21,28]},{"path":[4,20,3,0,2,0,3],"span":[1105,31,32]},{"path":[4,20,3,0,2,1],"span":[1108,4,49],"leadingComments":" Defaults of features that can be overridden in this edition.\n"},{"path":[4,20,3,0,2,1,4],"span":[1108,4,12]},{"path":[4,20,3,0,2,1,6],"span":[1108,13,23]},{"path":[4,20,3,0,2,1,1],"span":[1108,24,44]},{"path":[4,20,3,0,2,1,3],"span":[1108,47,48]},{"path":[4,20,3,0,2,2],"span":[1111,4,43],"leadingComments":" Defaults of features that can't be overridden in this edition.\n"},{"path":[4,20,3,0,2,2,4],"span":[1111,4,12]},{"path":[4,20,3,0,2,2,6],"span":[1111,13,23]},{"path":[4,20,3,0,2,2,1],"span":[1111,24,38]},{"path":[4,20,3,0,2,2,3],"span":[1111,41,42]},{"path":[4,20,3,0,9],"span":[1113,4,18]},{"path":[4,20,3,0,9,0],"span":[1113,13,14]},{"path":[4,20,3,0,9,0,1],"span":[1113,13,14]},{"path":[4,20,3,0,9,0,2],"span":[1113,13,14]},{"path":[4,20,3,0,9,1],"span":[1113,16,17]},{"path":[4,20,3,0,9,1,1],"span":[1113,16,17]},{"path":[4,20,3,0,9,1,2],"span":[1113,16,17]},{"path":[4,20,3,0,10],"span":[1114,4,24]},{"path":[4,20,3,0,10,0],"span":[1114,13,23]},{"path":[4,20,2,0],"span":[1116,2,49]},{"path":[4,20,2,0,4],"span":[1116,2,10]},{"path":[4,20,2,0,6],"span":[1116,11,35]},{"path":[4,20,2,0,1],"span":[1116,36,44]},{"path":[4,20,2,0,3],"span":[1116,47,48]},{"path":[4,20,2,1],"span":[1120,2,39],"leadingComments":" The minimum supported edition (inclusive) when this was constructed.\n Editions before this will not have defaults.\n"},{"path":[4,20,2,1,4],"span":[1120,2,10]},{"path":[4,20,2,1,6],"span":[1120,11,18]},{"path":[4,20,2,1,1],"span":[1120,19,34]},{"path":[4,20,2,1,3],"span":[1120,37,38]},{"path":[4,20,2,2],"span":[1124,2,39],"leadingComments":" The maximum known edition (inclusive) when this was constructed. Editions\n after this will not have reliable defaults.\n"},{"path":[4,20,2,2,4],"span":[1124,2,10]},{"path":[4,20,2,2,6],"span":[1124,11,18]},{"path":[4,20,2,2,1],"span":[1124,19,34]},{"path":[4,20,2,2,3],"span":[1124,37,38]},{"path":[4,21],"span":[1132,0,1268,1],"leadingComments":" Encapsulates information about the original source file from which a\n FileDescriptorProto was generated.\n","leadingDetachedComments":[" ===================================================================\n Optional source code info\n"]},{"path":[4,21,1],"span":[1132,8,22]},{"path":[4,21,2,0],"span":[1176,2,33],"leadingComments":" A Location identifies a piece of source code in a .proto file which\n corresponds to a particular definition. This information is intended\n to be useful to IDEs, code indexers, documentation generators, and similar\n tools.\n\n For example, say we have a file like:\n message Foo {\n optional string foo = 1;\n }\n Let's look at just the field definition:\n optional string foo = 1;\n ^ ^^ ^^ ^ ^^^\n a bc de f ghi\n We have the following locations:\n span path represents\n [a,i) [ 4, 0, 2, 0 ] The whole field definition.\n [a,b) [ 4, 0, 2, 0, 4 ] The label (optional).\n [c,d) [ 4, 0, 2, 0, 5 ] The type (string).\n [e,f) [ 4, 0, 2, 0, 1 ] The name (foo).\n [g,h) [ 4, 0, 2, 0, 3 ] The number (1).\n\n Notes:\n - A location may refer to a repeated field itself (i.e. not to any\n particular index within it). This is used whenever a set of elements are\n logically enclosed in a single code segment. For example, an entire\n extend block (possibly containing multiple extension definitions) will\n have an outer location whose path refers to the \"extensions\" repeated\n field without an index.\n - Multiple locations may have the same path. This happens when a single\n logical declaration is spread out across multiple places. The most\n obvious example is the \"extend\" block again -- there may be multiple\n extend blocks in the same scope, each of which will have the same path.\n - A location's span is not always a subset of its parent's span. For\n example, the \"extendee\" of an extension declaration appears at the\n beginning of the \"extend\" block and is shared by all extensions within\n the block.\n - Just because a location's span is a subset of some other location's span\n does not mean that it is a descendant. For example, a \"group\" defines\n both a type and a field in a single declaration. Thus, the locations\n corresponding to the type and field and their components will overlap.\n - Code which tries to interpret locations should probably be designed to\n ignore those that it doesn't understand, as more types of locations could\n be recorded in the future.\n"},{"path":[4,21,2,0,4],"span":[1176,2,10]},{"path":[4,21,2,0,6],"span":[1176,11,19]},{"path":[4,21,2,0,1],"span":[1176,20,28]},{"path":[4,21,2,0,3],"span":[1176,31,32]},{"path":[4,21,3,0],"span":[1177,2,1260,3]},{"path":[4,21,3,0,1],"span":[1177,10,18]},{"path":[4,21,3,0,2,0],"span":[1201,4,44],"leadingComments":" Identifies which part of the FileDescriptorProto was defined at this\n location.\n\n Each element is a field number or an index. They form a path from\n the root FileDescriptorProto to the place where the definition appears.\n For example, this path:\n [ 4, 3, 2, 7, 1 ]\n refers to:\n file.message_type(3) // 4, 3\n .field(7) // 2, 7\n .name() // 1\n This is because FileDescriptorProto.message_type has field number 4:\n repeated DescriptorProto message_type = 4;\n and DescriptorProto.field has field number 2:\n repeated FieldDescriptorProto field = 2;\n and FieldDescriptorProto.name has field number 1:\n optional string name = 1;\n\n Thus, the above path gives the location of a field name. If we removed\n the last element:\n [ 4, 3, 2, 7 ]\n this path refers to the whole field declaration (from the beginning\n of the label to the terminating semicolon).\n"},{"path":[4,21,3,0,2,0,4],"span":[1201,4,12]},{"path":[4,21,3,0,2,0,5],"span":[1201,13,18]},{"path":[4,21,3,0,2,0,1],"span":[1201,19,23]},{"path":[4,21,3,0,2,0,3],"span":[1201,26,27]},{"path":[4,21,3,0,2,0,8],"span":[1201,28,43]},{"path":[4,21,3,0,2,0,8,2],"span":[1201,29,42]},{"path":[4,21,3,0,2,1],"span":[1208,4,44],"leadingComments":" Always has exactly three or four elements: start line, start column,\n end line (optional, otherwise assumed same as start line), end column.\n These are packed into a single field for efficiency. Note that line\n and column numbers are zero-based -- typically you will want to add\n 1 to each before displaying to a user.\n"},{"path":[4,21,3,0,2,1,4],"span":[1208,4,12]},{"path":[4,21,3,0,2,1,5],"span":[1208,13,18]},{"path":[4,21,3,0,2,1,1],"span":[1208,19,23]},{"path":[4,21,3,0,2,1,3],"span":[1208,26,27]},{"path":[4,21,3,0,2,1,8],"span":[1208,28,43]},{"path":[4,21,3,0,2,1,8,2],"span":[1208,29,42]},{"path":[4,21,3,0,2,2],"span":[1257,4,41],"leadingComments":" If this SourceCodeInfo represents a complete declaration, these are any\n comments appearing before and after the declaration which appear to be\n attached to the declaration.\n\n A series of line comments appearing on consecutive lines, with no other\n tokens appearing on those lines, will be treated as a single comment.\n\n leading_detached_comments will keep paragraphs of comments that appear\n before (but not connected to) the current element. Each paragraph,\n separated by empty lines, will be one comment element in the repeated\n field.\n\n Only the comment content is provided; comment markers (e.g. //) are\n stripped out. For block comments, leading whitespace and an asterisk\n will be stripped from the beginning of each line other than the first.\n Newlines are included in the output.\n\n Examples:\n\n optional int32 foo = 1; // Comment attached to foo.\n // Comment attached to bar.\n optional int32 bar = 2;\n\n optional string baz = 3;\n // Comment attached to baz.\n // Another line attached to baz.\n\n // Comment attached to moo.\n //\n // Another line attached to moo.\n optional double moo = 4;\n\n // Detached comment for corge. This is not leading or trailing comments\n // to moo or corge because there are blank lines separating it from\n // both.\n\n // Detached comment for corge paragraph 2.\n\n optional string corge = 5;\n /* Block comment attached\n * to corge. Leading asterisks\n * will be removed. */\n /* Block comment attached to\n * grault. */\n optional int32 grault = 6;\n\n // ignored detached comments.\n"},{"path":[4,21,3,0,2,2,4],"span":[1257,4,12]},{"path":[4,21,3,0,2,2,5],"span":[1257,13,19]},{"path":[4,21,3,0,2,2,1],"span":[1257,20,36]},{"path":[4,21,3,0,2,2,3],"span":[1257,39,40]},{"path":[4,21,3,0,2,3],"span":[1258,4,42]},{"path":[4,21,3,0,2,3,4],"span":[1258,4,12]},{"path":[4,21,3,0,2,3,5],"span":[1258,13,19]},{"path":[4,21,3,0,2,3,1],"span":[1258,20,37]},{"path":[4,21,3,0,2,3,3],"span":[1258,40,41]},{"path":[4,21,3,0,2,4],"span":[1259,4,50]},{"path":[4,21,3,0,2,4,4],"span":[1259,4,12]},{"path":[4,21,3,0,2,4,5],"span":[1259,13,19]},{"path":[4,21,3,0,2,4,1],"span":[1259,20,45]},{"path":[4,21,3,0,2,4,3],"span":[1259,48,49]},{"path":[4,21,5],"span":[1263,2,1267,5],"leadingComments":" Extensions for tooling.\n"},{"path":[4,21,5,0],"span":[1263,13,22]},{"path":[4,21,5,0,1],"span":[1263,13,22]},{"path":[4,21,5,0,2],"span":[1263,13,22]},{"path":[4,21,5,0,3],"span":[1263,23,1267,4]},{"path":[4,21,5,0,3,2,0],"span":[1263,24,1267,3]},{"path":[4,21,5,0,3,2,0,1],"span":[1264,4,21]},{"path":[4,21,5,0,3,2,0,3],"span":[1265,4,54]},{"path":[4,21,5,0,3,2,0,2],"span":[1266,4,66]},{"path":[4,22],"span":[1273,0,1306,1],"leadingComments":" Describes the relationship between generated code and its original source\n file. A GeneratedCodeInfo message is associated with only one generated\n source file, but may contain references to different source .proto files.\n"},{"path":[4,22,1],"span":[1273,8,25]},{"path":[4,22,2,0],"span":[1276,2,37],"leadingComments":" An Annotation connects some span of text in generated code to an element\n of its generating .proto file.\n"},{"path":[4,22,2,0,4],"span":[1276,2,10]},{"path":[4,22,2,0,6],"span":[1276,11,21]},{"path":[4,22,2,0,1],"span":[1276,22,32]},{"path":[4,22,2,0,3],"span":[1276,35,36]},{"path":[4,22,3,0],"span":[1277,2,1305,3]},{"path":[4,22,3,0,1],"span":[1277,10,20]},{"path":[4,22,3,0,2,0],"span":[1280,4,44],"leadingComments":" Identifies the element in the original source .proto file. This field\n is formatted the same as SourceCodeInfo.Location.path.\n"},{"path":[4,22,3,0,2,0,4],"span":[1280,4,12]},{"path":[4,22,3,0,2,0,5],"span":[1280,13,18]},{"path":[4,22,3,0,2,0,1],"span":[1280,19,23]},{"path":[4,22,3,0,2,0,3],"span":[1280,26,27]},{"path":[4,22,3,0,2,0,8],"span":[1280,28,43]},{"path":[4,22,3,0,2,0,8,2],"span":[1280,29,42]},{"path":[4,22,3,0,2,1],"span":[1283,4,36],"leadingComments":" Identifies the filesystem path to the original source .proto.\n"},{"path":[4,22,3,0,2,1,4],"span":[1283,4,12]},{"path":[4,22,3,0,2,1,5],"span":[1283,13,19]},{"path":[4,22,3,0,2,1,1],"span":[1283,20,31]},{"path":[4,22,3,0,2,1,3],"span":[1283,34,35]},{"path":[4,22,3,0,2,2],"span":[1287,4,29],"leadingComments":" Identifies the starting offset in bytes in the generated code\n that relates to the identified object.\n"},{"path":[4,22,3,0,2,2,4],"span":[1287,4,12]},{"path":[4,22,3,0,2,2,5],"span":[1287,13,18]},{"path":[4,22,3,0,2,2,1],"span":[1287,19,24]},{"path":[4,22,3,0,2,2,3],"span":[1287,27,28]},{"path":[4,22,3,0,2,3],"span":[1292,4,27],"leadingComments":" Identifies the ending offset in bytes in the generated code that\n relates to the identified object. The end offset should be one past\n the last relevant byte (so the length of the text = end - begin).\n"},{"path":[4,22,3,0,2,3,4],"span":[1292,4,12]},{"path":[4,22,3,0,2,3,5],"span":[1292,13,18]},{"path":[4,22,3,0,2,3,1],"span":[1292,19,22]},{"path":[4,22,3,0,2,3,3],"span":[1292,25,26]},{"path":[4,22,3,0,4,0],"span":[1296,4,1303,5],"leadingComments":" Represents the identified object's effect on the element in the original\n .proto file.\n"},{"path":[4,22,3,0,4,0,1],"span":[1296,9,17]},{"path":[4,22,3,0,4,0,2,0],"span":[1298,6,15],"leadingComments":" There is no effect or the effect is indescribable.\n"},{"path":[4,22,3,0,4,0,2,0,1],"span":[1298,6,10]},{"path":[4,22,3,0,4,0,2,0,2],"span":[1298,13,14]},{"path":[4,22,3,0,4,0,2,1],"span":[1300,6,14],"leadingComments":" The element is set or otherwise mutated.\n"},{"path":[4,22,3,0,4,0,2,1,1],"span":[1300,6,9]},{"path":[4,22,3,0,4,0,2,1,2],"span":[1300,12,13]},{"path":[4,22,3,0,4,0,2,2],"span":[1302,6,16],"leadingComments":" An alias to the element is returned.\n"},{"path":[4,22,3,0,4,0,2,2,1],"span":[1302,6,11]},{"path":[4,22,3,0,4,0,2,2,2],"span":[1302,14,15]},{"path":[4,22,3,0,2,4],"span":[1304,4,35]},{"path":[4,22,3,0,2,4,4],"span":[1304,4,12]},{"path":[4,22,3,0,2,4,6],"span":[1304,13,21]},{"path":[4,22,3,0,2,4,1],"span":[1304,22,30]},{"path":[4,22,3,0,2,4,3],"span":[1304,33,34]}]},"bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"google/protobuf/duration.proto","package":"google.protobuf","messageType":[{"name":"Duration","field":[{"name":"seconds","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"seconds"},{"name":"nanos","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"nanos"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"DurationProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/durationpb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,114,1]},{"path":[12],"span":[30,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"]},{"path":[2],"span":[32,0,24]},{"path":[8],"span":[34,0,31]},{"path":[8,31],"span":[34,0,31]},{"path":[8],"span":[35,0,72]},{"path":[8,11],"span":[35,0,72]},{"path":[8],"span":[36,0,44]},{"path":[8,1],"span":[36,0,44]},{"path":[8],"span":[37,0,46]},{"path":[8,8],"span":[37,0,46]},{"path":[8],"span":[38,0,34]},{"path":[8,10],"span":[38,0,34]},{"path":[8],"span":[39,0,33]},{"path":[8,36],"span":[39,0,33]},{"path":[8],"span":[40,0,59]},{"path":[8,37],"span":[40,0,59]},{"path":[4,0],"span":[101,0,114,1],"leadingComments":" A Duration represents a signed, fixed-length span of time represented\n as a count of seconds and fractions of seconds at nanosecond\n resolution. It is independent of any calendar and concepts like \"day\"\n or \"month\". It is related to Timestamp in that the difference between\n two Timestamp values is a Duration and it can be added or subtracted\n from a Timestamp. Range is approximately +-10,000 years.\n\n # Examples\n\n Example 1: Compute Duration from two Timestamps in pseudo code.\n\n Timestamp start = ...;\n Timestamp end = ...;\n Duration duration = ...;\n\n duration.seconds = end.seconds - start.seconds;\n duration.nanos = end.nanos - start.nanos;\n\n if (duration.seconds < 0 && duration.nanos > 0) {\n duration.seconds += 1;\n duration.nanos -= 1000000000;\n } else if (duration.seconds > 0 && duration.nanos < 0) {\n duration.seconds -= 1;\n duration.nanos += 1000000000;\n }\n\n Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.\n\n Timestamp start = ...;\n Duration duration = ...;\n Timestamp end = ...;\n\n end.seconds = start.seconds + duration.seconds;\n end.nanos = start.nanos + duration.nanos;\n\n if (end.nanos < 0) {\n end.seconds -= 1;\n end.nanos += 1000000000;\n } else if (end.nanos >= 1000000000) {\n end.seconds += 1;\n end.nanos -= 1000000000;\n }\n\n Example 3: Compute Duration from datetime.timedelta in Python.\n\n td = datetime.timedelta(days=3, minutes=10)\n duration = Duration()\n duration.FromTimedelta(td)\n\n # JSON Mapping\n\n In JSON format, the Duration type is encoded as a string rather than an\n object, where the string ends in the suffix \"s\" (indicating seconds) and\n is preceded by the number of seconds, with nanoseconds expressed as\n fractional seconds. For example, 3 seconds with 0 nanoseconds should be\n encoded in JSON format as \"3s\", while 3 seconds and 1 nanosecond should\n be expressed in JSON format as \"3.000000001s\", and 3 seconds and 1\n microsecond should be expressed in JSON format as \"3.000001s\".\n\n"},{"path":[4,0,1],"span":[101,8,16]},{"path":[4,0,2,0],"span":[105,2,20],"leadingComments":" Signed seconds of the span of time. Must be from -315,576,000,000\n to +315,576,000,000 inclusive. Note: these bounds are computed from:\n 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years\n"},{"path":[4,0,2,0,5],"span":[105,2,7]},{"path":[4,0,2,0,1],"span":[105,8,15]},{"path":[4,0,2,0,3],"span":[105,18,19]},{"path":[4,0,2,1],"span":[113,2,18],"leadingComments":" Signed fractions of a second at nanosecond resolution of the span\n of time. Durations less than one second are represented with a 0\n `seconds` field and a positive or negative `nanos` field. For durations\n of one second or more, a non-zero value for the `nanos` field must be\n of the same sign as the `seconds` field. Must be from -999,999,999\n to +999,999,999 inclusive.\n"},{"path":[4,0,2,1,5],"span":[113,2,7]},{"path":[4,0,2,1,1],"span":[113,8,13]},{"path":[4,0,2,1,3],"span":[113,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"google/protobuf/timestamp.proto","package":"google.protobuf","messageType":[{"name":"Timestamp","field":[{"name":"seconds","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"seconds"},{"name":"nanos","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"nanos"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"TimestampProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/timestamppb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,143,1]},{"path":[12],"span":[30,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"]},{"path":[2],"span":[32,0,24]},{"path":[8],"span":[34,0,31]},{"path":[8,31],"span":[34,0,31]},{"path":[8],"span":[35,0,73]},{"path":[8,11],"span":[35,0,73]},{"path":[8],"span":[36,0,44]},{"path":[8,1],"span":[36,0,44]},{"path":[8],"span":[37,0,47]},{"path":[8,8],"span":[37,0,47]},{"path":[8],"span":[38,0,34]},{"path":[8,10],"span":[38,0,34]},{"path":[8],"span":[39,0,33]},{"path":[8,36],"span":[39,0,33]},{"path":[8],"span":[40,0,59]},{"path":[8,37],"span":[40,0,59]},{"path":[4,0],"span":[132,0,143,1],"leadingComments":" A Timestamp represents a point in time independent of any time zone or local\n calendar, encoded as a count of seconds and fractions of seconds at\n nanosecond resolution. The count is relative to an epoch at UTC midnight on\n January 1, 1970, in the proleptic Gregorian calendar which extends the\n Gregorian calendar backwards to year one.\n\n All minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap\n second table is needed for interpretation, using a [24-hour linear\n smear](https://developers.google.com/time/smear).\n\n The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By\n restricting to that range, we ensure that we can convert to and from [RFC\n 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n\n # Examples\n\n Example 1: Compute Timestamp from POSIX `time()`.\n\n Timestamp timestamp;\n timestamp.set_seconds(time(NULL));\n timestamp.set_nanos(0);\n\n Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n\n struct timeval tv;\n gettimeofday(&tv, NULL);\n\n Timestamp timestamp;\n timestamp.set_seconds(tv.tv_sec);\n timestamp.set_nanos(tv.tv_usec * 1000);\n\n Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n\n FILETIME ft;\n GetSystemTimeAsFileTime(&ft);\n UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n\n // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n Timestamp timestamp;\n timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n\n Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n\n long millis = System.currentTimeMillis();\n\n Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n .setNanos((int) ((millis % 1000) * 1000000)).build();\n\n Example 5: Compute Timestamp from Java `Instant.now()`.\n\n Instant now = Instant.now();\n\n Timestamp timestamp =\n Timestamp.newBuilder().setSeconds(now.getEpochSecond())\n .setNanos(now.getNano()).build();\n\n Example 6: Compute Timestamp from current time in Python.\n\n timestamp = Timestamp()\n timestamp.GetCurrentTime()\n\n # JSON Mapping\n\n In JSON format, the Timestamp type is encoded as a string in the\n [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n where {year} is always expressed using four digits while {month}, {day},\n {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n is required. A proto3 JSON serializer should always use UTC (as indicated by\n \"Z\") when printing the Timestamp type and a proto3 JSON parser should be\n able to accept both UTC and other timezones (as indicated by an offset).\n\n For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n 01:30 UTC on January 15, 2017.\n\n In JavaScript, one can convert a Date object to this format using the\n standard\n [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\n method. In Python, a standard `datetime.datetime` object can be converted\n to this format using\n [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with\n the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use\n the Joda Time's [`ISODateTimeFormat.dateTime()`](\n http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()\n ) to obtain a formatter capable of generating timestamps in this format.\n\n"},{"path":[4,0,1],"span":[132,8,17]},{"path":[4,0,2,0],"span":[136,2,20],"leadingComments":" Represents seconds of UTC time since Unix epoch\n 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n 9999-12-31T23:59:59Z inclusive.\n"},{"path":[4,0,2,0,5],"span":[136,2,7]},{"path":[4,0,2,0,1],"span":[136,8,15]},{"path":[4,0,2,0,3],"span":[136,18,19]},{"path":[4,0,2,1],"span":[142,2,18],"leadingComments":" Non-negative fractions of a second at nanosecond resolution. Negative\n second values with fractions must still have non-negative nanos values\n that count forward in time. Must be from 0 to 999,999,999\n inclusive.\n"},{"path":[4,0,2,1,5],"span":[142,2,7]},{"path":[4,0,2,1,1],"span":[142,8,13]},{"path":[4,0,2,1,3],"span":[142,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"buf/validate/validate.proto","package":"buf.validate","dependency":["google/protobuf/descriptor.proto","google/protobuf/duration.proto","google/protobuf/timestamp.proto"],"messageType":[{"name":"Rule","field":[{"name":"id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"id"},{"name":"message","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"message"},{"name":"expression","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"expression"}]},{"name":"MessageRules","field":[{"name":"disabled","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"disabled"},{"name":"cel","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".buf.validate.Rule","jsonName":"cel"}]},{"name":"OneofRules","field":[{"name":"required","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"required"}]},{"name":"FieldRules","field":[{"name":"cel","number":23,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".buf.validate.Rule","jsonName":"cel"},{"name":"required","number":25,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"required"},{"name":"ignore","number":27,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.validate.Ignore","jsonName":"ignore"},{"name":"float","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.FloatRules","oneofIndex":0,"jsonName":"float"},{"name":"double","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.DoubleRules","oneofIndex":0,"jsonName":"double"},{"name":"int32","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.Int32Rules","oneofIndex":0,"jsonName":"int32"},{"name":"int64","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.Int64Rules","oneofIndex":0,"jsonName":"int64"},{"name":"uint32","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.UInt32Rules","oneofIndex":0,"jsonName":"uint32"},{"name":"uint64","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.UInt64Rules","oneofIndex":0,"jsonName":"uint64"},{"name":"sint32","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.SInt32Rules","oneofIndex":0,"jsonName":"sint32"},{"name":"sint64","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.SInt64Rules","oneofIndex":0,"jsonName":"sint64"},{"name":"fixed32","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.Fixed32Rules","oneofIndex":0,"jsonName":"fixed32"},{"name":"fixed64","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.Fixed64Rules","oneofIndex":0,"jsonName":"fixed64"},{"name":"sfixed32","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.SFixed32Rules","oneofIndex":0,"jsonName":"sfixed32"},{"name":"sfixed64","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.SFixed64Rules","oneofIndex":0,"jsonName":"sfixed64"},{"name":"bool","number":13,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.BoolRules","oneofIndex":0,"jsonName":"bool"},{"name":"string","number":14,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.StringRules","oneofIndex":0,"jsonName":"string"},{"name":"bytes","number":15,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.BytesRules","oneofIndex":0,"jsonName":"bytes"},{"name":"enum","number":16,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.EnumRules","oneofIndex":0,"jsonName":"enum"},{"name":"repeated","number":18,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.RepeatedRules","oneofIndex":0,"jsonName":"repeated"},{"name":"map","number":19,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.MapRules","oneofIndex":0,"jsonName":"map"},{"name":"any","number":20,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.AnyRules","oneofIndex":0,"jsonName":"any"},{"name":"duration","number":21,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.DurationRules","oneofIndex":0,"jsonName":"duration"},{"name":"timestamp","number":22,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.TimestampRules","oneofIndex":0,"jsonName":"timestamp"}],"oneofDecl":[{"name":"type"}],"reservedRange":[{"start":24,"end":25},{"start":26,"end":27}],"reservedName":["skipped","ignore_empty"]},{"name":"PredefinedRules","field":[{"name":"cel","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".buf.validate.Rule","jsonName":"cel"}],"reservedRange":[{"start":24,"end":25},{"start":26,"end":27}],"reservedName":["skippedignore_empty"]},{"name":"FloatRules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"float.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"float.lt","expression":"!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"float.lte","expression":"!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"float.gt","expression":"!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"float.gt_lt","expression":"has(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]) : ''"},{"id":"float.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"float.gt_lte","expression":"has(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]) : ''"},{"id":"float.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"float.gte","expression":"!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"float.gte_lt","expression":"has(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]) : ''"},{"id":"float.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"float.gte_lte","expression":"has(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]) : ''"},{"id":"float.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_FLOAT","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"float.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_FLOAT","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"float.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"finite","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"finite","options":{"[buf.validate.predefined]":{"cel":[{"id":"float.finite","expression":"rules.finite ? (this.isNan() || this.isInf() ? 'value must be finite' : '') : ''"}]}}},{"name":"example","number":9,"label":"LABEL_REPEATED","type":"TYPE_FLOAT","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"float.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"DoubleRules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"double.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"double.lt","expression":"!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"double.lte","expression":"!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"double.gt","expression":"!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"double.gt_lt","expression":"has(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]) : ''"},{"id":"double.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"double.gt_lte","expression":"has(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]) : ''"},{"id":"double.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"double.gte","expression":"!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"double.gte_lt","expression":"has(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]) : ''"},{"id":"double.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"double.gte_lte","expression":"has(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]) : ''"},{"id":"double.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_DOUBLE","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"double.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_DOUBLE","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"double.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"finite","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"finite","options":{"[buf.validate.predefined]":{"cel":[{"id":"double.finite","expression":"rules.finite ? (this.isNan() || this.isInf() ? 'value must be finite' : '') : ''"}]}}},{"name":"example","number":9,"label":"LABEL_REPEATED","type":"TYPE_DOUBLE","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"double.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"Int32Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"int32.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"int32.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"int32.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"int32.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"int32.gt_lt","expression":"has(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]) : ''"},{"id":"int32.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"int32.gt_lte","expression":"has(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]) : ''"},{"id":"int32.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"int32.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"int32.gte_lt","expression":"has(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]) : ''"},{"id":"int32.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"int32.gte_lte","expression":"has(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]) : ''"},{"id":"int32.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"int32.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"int32.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":8,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"int32.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"Int64Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"int64.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"int64.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"int64.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"int64.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"int64.gt_lt","expression":"has(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]) : ''"},{"id":"int64.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"int64.gt_lte","expression":"has(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]) : ''"},{"id":"int64.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"int64.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"int64.gte_lt","expression":"has(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]) : ''"},{"id":"int64.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"int64.gte_lte","expression":"has(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]) : ''"},{"id":"int64.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_INT64","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"int64.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_INT64","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"int64.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":9,"label":"LABEL_REPEATED","type":"TYPE_INT64","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"int64.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"UInt32Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint32.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint32.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint32.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint32.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"uint32.gt_lt","expression":"has(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]) : ''"},{"id":"uint32.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"uint32.gt_lte","expression":"has(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]) : ''"},{"id":"uint32.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint32.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"uint32.gte_lt","expression":"has(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]) : ''"},{"id":"uint32.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"uint32.gte_lte","expression":"has(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]) : ''"},{"id":"uint32.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_UINT32","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint32.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_UINT32","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint32.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":8,"label":"LABEL_REPEATED","type":"TYPE_UINT32","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint32.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"UInt64Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint64.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint64.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint64.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint64.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"uint64.gt_lt","expression":"has(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]) : ''"},{"id":"uint64.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"uint64.gt_lte","expression":"has(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]) : ''"},{"id":"uint64.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint64.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"uint64.gte_lt","expression":"has(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]) : ''"},{"id":"uint64.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"uint64.gte_lte","expression":"has(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]) : ''"},{"id":"uint64.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_UINT64","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint64.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_UINT64","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint64.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":8,"label":"LABEL_REPEATED","type":"TYPE_UINT64","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint64.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"SInt32Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint32.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint32.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint32.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint32.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"sint32.gt_lt","expression":"has(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]) : ''"},{"id":"sint32.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"sint32.gt_lte","expression":"has(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]) : ''"},{"id":"sint32.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint32.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"sint32.gte_lt","expression":"has(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]) : ''"},{"id":"sint32.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"sint32.gte_lte","expression":"has(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]) : ''"},{"id":"sint32.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_SINT32","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint32.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_SINT32","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint32.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":8,"label":"LABEL_REPEATED","type":"TYPE_SINT32","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint32.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"SInt64Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint64.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint64.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint64.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint64.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"sint64.gt_lt","expression":"has(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]) : ''"},{"id":"sint64.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"sint64.gt_lte","expression":"has(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]) : ''"},{"id":"sint64.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint64.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"sint64.gte_lt","expression":"has(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]) : ''"},{"id":"sint64.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"sint64.gte_lte","expression":"has(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]) : ''"},{"id":"sint64.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_SINT64","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint64.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_SINT64","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint64.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":8,"label":"LABEL_REPEATED","type":"TYPE_SINT64","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint64.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"Fixed32Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed32.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed32.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed32.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed32.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"fixed32.gt_lt","expression":"has(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]) : ''"},{"id":"fixed32.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"fixed32.gt_lte","expression":"has(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]) : ''"},{"id":"fixed32.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed32.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"fixed32.gte_lt","expression":"has(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]) : ''"},{"id":"fixed32.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"fixed32.gte_lte","expression":"has(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]) : ''"},{"id":"fixed32.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_FIXED32","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed32.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_FIXED32","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed32.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":8,"label":"LABEL_REPEATED","type":"TYPE_FIXED32","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed32.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"Fixed64Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed64.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed64.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed64.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed64.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"fixed64.gt_lt","expression":"has(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]) : ''"},{"id":"fixed64.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"fixed64.gt_lte","expression":"has(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]) : ''"},{"id":"fixed64.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed64.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"fixed64.gte_lt","expression":"has(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]) : ''"},{"id":"fixed64.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"fixed64.gte_lte","expression":"has(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]) : ''"},{"id":"fixed64.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_FIXED64","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed64.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_FIXED64","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed64.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":8,"label":"LABEL_REPEATED","type":"TYPE_FIXED64","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed64.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"SFixed32Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed32.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed32.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed32.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed32.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"sfixed32.gt_lt","expression":"has(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]) : ''"},{"id":"sfixed32.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"sfixed32.gt_lte","expression":"has(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]) : ''"},{"id":"sfixed32.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed32.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"sfixed32.gte_lt","expression":"has(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]) : ''"},{"id":"sfixed32.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"sfixed32.gte_lte","expression":"has(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]) : ''"},{"id":"sfixed32.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_SFIXED32","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed32.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_SFIXED32","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed32.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":8,"label":"LABEL_REPEATED","type":"TYPE_SFIXED32","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed32.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"SFixed64Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed64.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed64.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed64.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed64.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"sfixed64.gt_lt","expression":"has(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]) : ''"},{"id":"sfixed64.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"sfixed64.gt_lte","expression":"has(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]) : ''"},{"id":"sfixed64.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed64.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"sfixed64.gte_lt","expression":"has(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]) : ''"},{"id":"sfixed64.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"sfixed64.gte_lte","expression":"has(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]) : ''"},{"id":"sfixed64.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_SFIXED64","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed64.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_SFIXED64","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed64.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":8,"label":"LABEL_REPEATED","type":"TYPE_SFIXED64","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed64.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"BoolRules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"bool.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"example","number":2,"label":"LABEL_REPEATED","type":"TYPE_BOOL","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"bool.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"StringRules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.const","expression":"this != getField(rules, 'const') ? 'value must equal `%s`'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"len","number":19,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"len","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.len","expression":"uint(this.size()) != rules.len ? 'value length must be %s characters'.format([rules.len]) : ''"}]}}},{"name":"min_len","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"minLen","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.min_len","expression":"uint(this.size()) < rules.min_len ? 'value length must be at least %s characters'.format([rules.min_len]) : ''"}]}}},{"name":"max_len","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"maxLen","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.max_len","expression":"uint(this.size()) > rules.max_len ? 'value length must be at most %s characters'.format([rules.max_len]) : ''"}]}}},{"name":"len_bytes","number":20,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"lenBytes","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.len_bytes","expression":"uint(bytes(this).size()) != rules.len_bytes ? 'value length must be %s bytes'.format([rules.len_bytes]) : ''"}]}}},{"name":"min_bytes","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"minBytes","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.min_bytes","expression":"uint(bytes(this).size()) < rules.min_bytes ? 'value length must be at least %s bytes'.format([rules.min_bytes]) : ''"}]}}},{"name":"max_bytes","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"maxBytes","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.max_bytes","expression":"uint(bytes(this).size()) > rules.max_bytes ? 'value length must be at most %s bytes'.format([rules.max_bytes]) : ''"}]}}},{"name":"pattern","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"pattern","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.pattern","expression":"!this.matches(rules.pattern) ? 'value does not match regex pattern `%s`'.format([rules.pattern]) : ''"}]}}},{"name":"prefix","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"prefix","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.prefix","expression":"!this.startsWith(rules.prefix) ? 'value does not have prefix `%s`'.format([rules.prefix]) : ''"}]}}},{"name":"suffix","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"suffix","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.suffix","expression":"!this.endsWith(rules.suffix) ? 'value does not have suffix `%s`'.format([rules.suffix]) : ''"}]}}},{"name":"contains","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"contains","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.contains","expression":"!this.contains(rules.contains) ? 'value does not contain substring `%s`'.format([rules.contains]) : ''"}]}}},{"name":"not_contains","number":23,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"notContains","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.not_contains","expression":"this.contains(rules.not_contains) ? 'value contains substring `%s`'.format([rules.not_contains]) : ''"}]}}},{"name":"in","number":10,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":11,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"email","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"email","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.email","message":"value must be a valid email address","expression":"!rules.email || this == '' || this.isEmail()"},{"id":"string.email_empty","message":"value is empty, which is not a valid email address","expression":"!rules.email || this != ''"}]}}},{"name":"hostname","number":13,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"hostname","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.hostname","message":"value must be a valid hostname","expression":"!rules.hostname || this == '' || this.isHostname()"},{"id":"string.hostname_empty","message":"value is empty, which is not a valid hostname","expression":"!rules.hostname || this != ''"}]}}},{"name":"ip","number":14,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ip","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.ip","message":"value must be a valid IP address","expression":"!rules.ip || this == '' || this.isIp()"},{"id":"string.ip_empty","message":"value is empty, which is not a valid IP address","expression":"!rules.ip || this != ''"}]}}},{"name":"ipv4","number":15,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipv4","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.ipv4","message":"value must be a valid IPv4 address","expression":"!rules.ipv4 || this == '' || this.isIp(4)"},{"id":"string.ipv4_empty","message":"value is empty, which is not a valid IPv4 address","expression":"!rules.ipv4 || this != ''"}]}}},{"name":"ipv6","number":16,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipv6","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.ipv6","message":"value must be a valid IPv6 address","expression":"!rules.ipv6 || this == '' || this.isIp(6)"},{"id":"string.ipv6_empty","message":"value is empty, which is not a valid IPv6 address","expression":"!rules.ipv6 || this != ''"}]}}},{"name":"uri","number":17,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"uri","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.uri","message":"value must be a valid URI","expression":"!rules.uri || this == '' || this.isUri()"},{"id":"string.uri_empty","message":"value is empty, which is not a valid URI","expression":"!rules.uri || this != ''"}]}}},{"name":"uri_ref","number":18,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"uriRef","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.uri_ref","message":"value must be a valid URI Reference","expression":"!rules.uri_ref || this.isUriRef()"}]}}},{"name":"address","number":21,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"address","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.address","message":"value must be a valid hostname, or ip address","expression":"!rules.address || this == '' || this.isHostname() || this.isIp()"},{"id":"string.address_empty","message":"value is empty, which is not a valid hostname, or ip address","expression":"!rules.address || this != ''"}]}}},{"name":"uuid","number":22,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"uuid","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.uuid","message":"value must be a valid UUID","expression":"!rules.uuid || this == '' || this.matches('^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$')"},{"id":"string.uuid_empty","message":"value is empty, which is not a valid UUID","expression":"!rules.uuid || this != ''"}]}}},{"name":"tuuid","number":33,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"tuuid","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.tuuid","message":"value must be a valid trimmed UUID","expression":"!rules.tuuid || this == '' || this.matches('^[0-9a-fA-F]{32}$')"},{"id":"string.tuuid_empty","message":"value is empty, which is not a valid trimmed UUID","expression":"!rules.tuuid || this != ''"}]}}},{"name":"ip_with_prefixlen","number":26,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipWithPrefixlen","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.ip_with_prefixlen","message":"value must be a valid IP prefix","expression":"!rules.ip_with_prefixlen || this == '' || this.isIpPrefix()"},{"id":"string.ip_with_prefixlen_empty","message":"value is empty, which is not a valid IP prefix","expression":"!rules.ip_with_prefixlen || this != ''"}]}}},{"name":"ipv4_with_prefixlen","number":27,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipv4WithPrefixlen","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.ipv4_with_prefixlen","message":"value must be a valid IPv4 address with prefix length","expression":"!rules.ipv4_with_prefixlen || this == '' || this.isIpPrefix(4)"},{"id":"string.ipv4_with_prefixlen_empty","message":"value is empty, which is not a valid IPv4 address with prefix length","expression":"!rules.ipv4_with_prefixlen || this != ''"}]}}},{"name":"ipv6_with_prefixlen","number":28,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipv6WithPrefixlen","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.ipv6_with_prefixlen","message":"value must be a valid IPv6 address with prefix length","expression":"!rules.ipv6_with_prefixlen || this == '' || this.isIpPrefix(6)"},{"id":"string.ipv6_with_prefixlen_empty","message":"value is empty, which is not a valid IPv6 address with prefix length","expression":"!rules.ipv6_with_prefixlen || this != ''"}]}}},{"name":"ip_prefix","number":29,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipPrefix","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.ip_prefix","message":"value must be a valid IP prefix","expression":"!rules.ip_prefix || this == '' || this.isIpPrefix(true)"},{"id":"string.ip_prefix_empty","message":"value is empty, which is not a valid IP prefix","expression":"!rules.ip_prefix || this != ''"}]}}},{"name":"ipv4_prefix","number":30,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipv4Prefix","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.ipv4_prefix","message":"value must be a valid IPv4 prefix","expression":"!rules.ipv4_prefix || this == '' || this.isIpPrefix(4, true)"},{"id":"string.ipv4_prefix_empty","message":"value is empty, which is not a valid IPv4 prefix","expression":"!rules.ipv4_prefix || this != ''"}]}}},{"name":"ipv6_prefix","number":31,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipv6Prefix","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.ipv6_prefix","message":"value must be a valid IPv6 prefix","expression":"!rules.ipv6_prefix || this == '' || this.isIpPrefix(6, true)"},{"id":"string.ipv6_prefix_empty","message":"value is empty, which is not a valid IPv6 prefix","expression":"!rules.ipv6_prefix || this != ''"}]}}},{"name":"host_and_port","number":32,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"hostAndPort","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.host_and_port","message":"value must be a valid host (hostname or IP address) and port pair","expression":"!rules.host_and_port || this == '' || this.isHostAndPort(true)"},{"id":"string.host_and_port_empty","message":"value is empty, which is not a valid host and port pair","expression":"!rules.host_and_port || this != ''"}]}}},{"name":"well_known_regex","number":24,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.validate.KnownRegex","oneofIndex":0,"jsonName":"wellKnownRegex","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.well_known_regex.header_name","message":"value must be a valid HTTP header name","expression":"rules.well_known_regex != 1 || this == '' || this.matches(!has(rules.strict) || rules.strict ?'^:?[0-9a-zA-Z!#$%&\\'*+-.^_|~\\x60]+$' :'^[^\\u0000\\u000A\\u000D]+$')"},{"id":"string.well_known_regex.header_name_empty","message":"value is empty, which is not a valid HTTP header name","expression":"rules.well_known_regex != 1 || this != ''"},{"id":"string.well_known_regex.header_value","message":"value must be a valid HTTP header value","expression":"rules.well_known_regex != 2 || this.matches(!has(rules.strict) || rules.strict ?'^[^\\u0000-\\u0008\\u000A-\\u001F\\u007F]*$' :'^[^\\u0000\\u000A\\u000D]*$')"}]}}},{"name":"strict","number":25,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"strict"},{"name":"example","number":34,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"well_known"}]},{"name":"BytesRules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.const","expression":"this != getField(rules, 'const') ? 'value must be %x'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"len","number":13,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"len","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.len","expression":"uint(this.size()) != rules.len ? 'value length must be %s bytes'.format([rules.len]) : ''"}]}}},{"name":"min_len","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"minLen","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.min_len","expression":"uint(this.size()) < rules.min_len ? 'value length must be at least %s bytes'.format([rules.min_len]) : ''"}]}}},{"name":"max_len","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"maxLen","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.max_len","expression":"uint(this.size()) > rules.max_len ? 'value must be at most %s bytes'.format([rules.max_len]) : ''"}]}}},{"name":"pattern","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"pattern","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.pattern","expression":"!string(this).matches(rules.pattern) ? 'value must match regex pattern `%s`'.format([rules.pattern]) : ''"}]}}},{"name":"prefix","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"prefix","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.prefix","expression":"!this.startsWith(rules.prefix) ? 'value does not have prefix %x'.format([rules.prefix]) : ''"}]}}},{"name":"suffix","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"suffix","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.suffix","expression":"!this.endsWith(rules.suffix) ? 'value does not have suffix %x'.format([rules.suffix]) : ''"}]}}},{"name":"contains","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"contains","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.contains","expression":"!this.contains(rules.contains) ? 'value does not contain %x'.format([rules.contains]) : ''"}]}}},{"name":"in","number":8,"label":"LABEL_REPEATED","type":"TYPE_BYTES","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.in","expression":"getField(rules, 'in').size() > 0 && !(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":9,"label":"LABEL_REPEATED","type":"TYPE_BYTES","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"ip","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ip","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.ip","message":"value must be a valid IP address","expression":"!rules.ip || this.size() == 0 || this.size() == 4 || this.size() == 16"},{"id":"bytes.ip_empty","message":"value is empty, which is not a valid IP address","expression":"!rules.ip || this.size() != 0"}]}}},{"name":"ipv4","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipv4","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.ipv4","message":"value must be a valid IPv4 address","expression":"!rules.ipv4 || this.size() == 0 || this.size() == 4"},{"id":"bytes.ipv4_empty","message":"value is empty, which is not a valid IPv4 address","expression":"!rules.ipv4 || this.size() != 0"}]}}},{"name":"ipv6","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipv6","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.ipv6","message":"value must be a valid IPv6 address","expression":"!rules.ipv6 || this.size() == 0 || this.size() == 16"},{"id":"bytes.ipv6_empty","message":"value is empty, which is not a valid IPv6 address","expression":"!rules.ipv6 || this.size() != 0"}]}}},{"name":"example","number":14,"label":"LABEL_REPEATED","type":"TYPE_BYTES","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"well_known"}]},{"name":"EnumRules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"enum.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"defined_only","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"definedOnly"},{"name":"in","number":3,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"enum.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":4,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"enum.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":5,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"enum.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"RepeatedRules","field":[{"name":"min_items","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"minItems","options":{"[buf.validate.predefined]":{"cel":[{"id":"repeated.min_items","expression":"uint(this.size()) < rules.min_items ? 'value must contain at least %d item(s)'.format([rules.min_items]) : ''"}]}}},{"name":"max_items","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"maxItems","options":{"[buf.validate.predefined]":{"cel":[{"id":"repeated.max_items","expression":"uint(this.size()) > rules.max_items ? 'value must contain no more than %s item(s)'.format([rules.max_items]) : ''"}]}}},{"name":"unique","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"unique","options":{"[buf.validate.predefined]":{"cel":[{"id":"repeated.unique","message":"repeated value must contain unique items","expression":"!rules.unique || this.unique()"}]}}},{"name":"items","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.FieldRules","jsonName":"items"}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"MapRules","field":[{"name":"min_pairs","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"minPairs","options":{"[buf.validate.predefined]":{"cel":[{"id":"map.min_pairs","expression":"uint(this.size()) < rules.min_pairs ? 'map must be at least %d entries'.format([rules.min_pairs]) : ''"}]}}},{"name":"max_pairs","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"maxPairs","options":{"[buf.validate.predefined]":{"cel":[{"id":"map.max_pairs","expression":"uint(this.size()) > rules.max_pairs ? 'map must be at most %d entries'.format([rules.max_pairs]) : ''"}]}}},{"name":"keys","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.FieldRules","jsonName":"keys"},{"name":"values","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.FieldRules","jsonName":"values"}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"AnyRules","field":[{"name":"in","number":2,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"in"},{"name":"not_in","number":3,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"notIn"}]},{"name":"DurationRules","field":[{"name":"const","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"duration.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"duration.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"duration.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"duration.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"duration.gt_lt","expression":"has(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]) : ''"},{"id":"duration.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"duration.gt_lte","expression":"has(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]) : ''"},{"id":"duration.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"duration.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"duration.gte_lt","expression":"has(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]) : ''"},{"id":"duration.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"duration.gte_lte","expression":"has(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]) : ''"},{"id":"duration.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":7,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"duration.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":8,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"duration.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":9,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"duration.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"TimestampRules","field":[{"name":"const","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"timestamp.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"timestamp.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"timestamp.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"lt_now","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ltNow","options":{"[buf.validate.predefined]":{"cel":[{"id":"timestamp.lt_now","expression":"(rules.lt_now && this > now) ? 'value must be less than now' : ''"}]}}},{"name":"gt","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"timestamp.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"timestamp.gt_lt","expression":"has(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]) : ''"},{"id":"timestamp.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"timestamp.gt_lte","expression":"has(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]) : ''"},{"id":"timestamp.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"timestamp.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"timestamp.gte_lt","expression":"has(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]) : ''"},{"id":"timestamp.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"timestamp.gte_lte","expression":"has(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]) : ''"},{"id":"timestamp.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gt_now","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":1,"jsonName":"gtNow","options":{"[buf.validate.predefined]":{"cel":[{"id":"timestamp.gt_now","expression":"(rules.gt_now && this < now) ? 'value must be greater than now' : ''"}]}}},{"name":"within","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"within","options":{"[buf.validate.predefined]":{"cel":[{"id":"timestamp.within","expression":"this < now-rules.within || this > now+rules.within ? 'value must be within %s of now'.format([rules.within]) : ''"}]}}},{"name":"example","number":10,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"timestamp.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"Violations","field":[{"name":"violations","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".buf.validate.Violation","jsonName":"violations"}]},{"name":"Violation","field":[{"name":"field","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.FieldPath","jsonName":"field"},{"name":"rule","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.FieldPath","jsonName":"rule"},{"name":"rule_id","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"ruleId"},{"name":"message","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"message"},{"name":"for_key","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"forKey"}],"reservedRange":[{"start":1,"end":2}],"reservedName":["field_path"]},{"name":"FieldPath","field":[{"name":"elements","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".buf.validate.FieldPathElement","jsonName":"elements"}]},{"name":"FieldPathElement","field":[{"name":"field_number","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"fieldNumber"},{"name":"field_name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"fieldName"},{"name":"field_type","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldDescriptorProto.Type","jsonName":"fieldType"},{"name":"key_type","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldDescriptorProto.Type","jsonName":"keyType"},{"name":"value_type","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldDescriptorProto.Type","jsonName":"valueType"},{"name":"index","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"index"},{"name":"bool_key","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"boolKey"},{"name":"int_key","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"intKey"},{"name":"uint_key","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"uintKey"},{"name":"string_key","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"stringKey"}],"oneofDecl":[{"name":"subscript"}]}],"enumType":[{"name":"Ignore","value":[{"name":"IGNORE_UNSPECIFIED","number":0},{"name":"IGNORE_IF_UNPOPULATED","number":1},{"name":"IGNORE_IF_DEFAULT_VALUE","number":2},{"name":"IGNORE_ALWAYS","number":3}],"reservedName":["IGNORE_EMPTYIGNORE_DEFAULT"]},{"name":"KnownRegex","value":[{"name":"KNOWN_REGEX_UNSPECIFIED","number":0},{"name":"KNOWN_REGEX_HTTP_HEADER_NAME","number":1},{"name":"KNOWN_REGEX_HTTP_HEADER_VALUE","number":2}]}],"extension":[{"name":"message","number":1159,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.MessageRules","extendee":".google.protobuf.MessageOptions","jsonName":"message"},{"name":"oneof","number":1159,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.OneofRules","extendee":".google.protobuf.OneofOptions","jsonName":"oneof"},{"name":"field","number":1159,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.FieldRules","extendee":".google.protobuf.FieldOptions","jsonName":"field"},{"name":"predefined","number":1160,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.PredefinedRules","extendee":".google.protobuf.FieldOptions","jsonName":"predefined"}],"options":{"javaPackage":"build.buf.validate","javaOuterClassname":"ValidateProto","javaMultipleFiles":true,"goPackage":"buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate"},"sourceCodeInfo":{"location":[{"span":[14,0,4951,1]},{"path":[12],"span":[14,0,18],"leadingDetachedComments":[" Copyright 2023-2025 Buf Technologies, Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n"]},{"path":[2],"span":[16,0,21]},{"path":[3,0],"span":[18,0,42]},{"path":[3,1],"span":[19,0,40]},{"path":[3,2],"span":[20,0,41]},{"path":[8],"span":[22,0,94]},{"path":[8,11],"span":[22,0,94]},{"path":[8],"span":[23,0,34]},{"path":[8,10],"span":[23,0,34]},{"path":[8],"span":[24,0,46]},{"path":[8,8],"span":[24,0,46]},{"path":[8],"span":[25,0,43]},{"path":[8,1],"span":[25,0,43]},{"path":[7],"span":[31,0,35,1],"leadingComments":" MessageOptions is an extension to google.protobuf.MessageOptions. It allows\n the addition of validation rules at the message level. These rules can be\n applied to incoming messages to ensure they meet certain criteria before\n being processed.\n"},{"path":[7,0],"span":[34,2,39],"leadingComments":" Rules specify the validations to be performed on this message. By default,\n no validation is performed against a message.\n"},{"path":[7,0,2],"span":[31,7,37]},{"path":[7,0,4],"span":[34,2,10]},{"path":[7,0,6],"span":[34,11,23]},{"path":[7,0,1],"span":[34,24,31]},{"path":[7,0,3],"span":[34,34,38]},{"path":[7],"span":[41,0,45,1],"leadingComments":" OneofOptions is an extension to google.protobuf.OneofOptions. It allows\n the addition of validation rules on a oneof. These rules can be\n applied to incoming messages to ensure they meet certain criteria before\n being processed.\n"},{"path":[7,1],"span":[44,2,35],"leadingComments":" Rules specify the validations to be performed on this oneof. By default,\n no validation is performed against a oneof.\n"},{"path":[7,1,2],"span":[41,7,35]},{"path":[7,1,4],"span":[44,2,10]},{"path":[7,1,6],"span":[44,11,21]},{"path":[7,1,1],"span":[44,22,27]},{"path":[7,1,3],"span":[44,30,34]},{"path":[7],"span":[51,0,73,1],"leadingComments":" FieldOptions is an extension to google.protobuf.FieldOptions. It allows\n the addition of validation rules at the field level. These rules can be\n applied to incoming messages to ensure they meet certain criteria before\n being processed.\n"},{"path":[7,2],"span":[54,2,35],"leadingComments":" Rules specify the validations to be performed on this field. By default,\n no validation is performed against a field.\n"},{"path":[7,2,2],"span":[51,7,35]},{"path":[7,2,4],"span":[54,2,10]},{"path":[7,2,6],"span":[54,11,21]},{"path":[7,2,1],"span":[54,22,27]},{"path":[7,2,3],"span":[54,30,34]},{"path":[7,3],"span":[72,2,45],"leadingComments":" Specifies predefined rules. When extending a standard rule message,\n this adds additional CEL expressions that apply when the extension is used.\n\n ```proto\n extend buf.validate.Int32Rules {\n bool is_zero [(buf.validate.predefined).cel = {\n id: \"int32.is_zero\",\n message: \"value must be zero\",\n expression: \"!rule || this == 0\",\n }];\n }\n\n message Foo {\n int32 reserved = 1 [(buf.validate.field).int32.(is_zero) = true];\n }\n ```\n"},{"path":[7,3,2],"span":[51,7,35]},{"path":[7,3,4],"span":[72,2,10]},{"path":[7,3,6],"span":[72,11,26]},{"path":[7,3,1],"span":[72,27,37]},{"path":[7,3,3],"span":[72,40,44]},{"path":[4,0],"span":[90,0,106,1],"leadingComments":" `Rule` represents a validation rule written in the Common Expression\n Language (CEL) syntax. Each Rule includes a unique identifier, an\n optional error message, and the CEL expression to evaluate. For more\n information on CEL, [see our documentation](https://github.com/bufbuild/protovalidate/blob/main/docs/cel.md).\n\n ```proto\n message Foo {\n option (buf.validate.message).cel = {\n id: \"foo.bar\"\n message: \"bar must be greater than 0\"\n expression: \"this.bar > 0\"\n };\n int32 bar = 1;\n }\n ```\n"},{"path":[4,0,1],"span":[90,8,12]},{"path":[4,0,2,0],"span":[93,2,25],"leadingComments":" `id` is a string that serves as a machine-readable name for this Rule.\n It should be unique within its scope, which could be either a message or a field.\n"},{"path":[4,0,2,0,4],"span":[93,2,10]},{"path":[4,0,2,0,5],"span":[93,11,17]},{"path":[4,0,2,0,1],"span":[93,18,20]},{"path":[4,0,2,0,3],"span":[93,23,24]},{"path":[4,0,2,1],"span":[99,2,30],"leadingComments":" `message` is an optional field that provides a human-readable error message\n for this Rule when the CEL expression evaluates to false. If a\n non-empty message is provided, any strings resulting from the CEL\n expression evaluation are ignored.\n"},{"path":[4,0,2,1,4],"span":[99,2,10]},{"path":[4,0,2,1,5],"span":[99,11,17]},{"path":[4,0,2,1,1],"span":[99,18,25]},{"path":[4,0,2,1,3],"span":[99,28,29]},{"path":[4,0,2,2],"span":[105,2,33],"leadingComments":" `expression` is the actual CEL expression that will be evaluated for\n validation. This string must resolve to either a boolean or a string\n value. If the expression evaluates to false or a non-empty string, the\n validation is considered failed, and the message is rejected.\n"},{"path":[4,0,2,2,4],"span":[105,2,10]},{"path":[4,0,2,2,5],"span":[105,11,17]},{"path":[4,0,2,2,1],"span":[105,18,28]},{"path":[4,0,2,2,3],"span":[105,31,32]},{"path":[4,1],"span":[110,0,139,1],"leadingComments":" MessageRules represents validation rules that are applied to the entire message.\n It includes disabling options and a list of Rule messages representing Common Expression Language (CEL) validation rules.\n"},{"path":[4,1,1],"span":[110,8,20]},{"path":[4,1,2,0],"span":[120,2,29],"leadingComments":" `disabled` is a boolean flag that, when set to true, nullifies any validation rules for this message.\n This includes any fields within the message that would otherwise support validation.\n\n ```proto\n message MyMessage {\n // validation will be bypassed for this message\n option (buf.validate.message).disabled = true;\n }\n ```\n"},{"path":[4,1,2,0,4],"span":[120,2,10]},{"path":[4,1,2,0,5],"span":[120,11,15]},{"path":[4,1,2,0,1],"span":[120,16,24]},{"path":[4,1,2,0,3],"span":[120,27,28]},{"path":[4,1,2,1],"span":[138,2,24],"leadingComments":" `cel` is a repeated field of type Rule. Each Rule specifies a validation rule to be applied to this message.\n These rules are written in Common Expression Language (CEL) syntax. For more information on\n CEL, [see our documentation](https://github.com/bufbuild/protovalidate/blob/main/docs/cel.md).\n\n\n ```proto\n message MyMessage {\n // The field `foo` must be greater than 42.\n option (buf.validate.message).cel = {\n id: \"my_message.value\",\n message: \"value must be greater than 42\",\n expression: \"this.foo > 42\",\n };\n optional int32 foo = 1;\n }\n ```\n"},{"path":[4,1,2,1,4],"span":[138,2,10]},{"path":[4,1,2,1,6],"span":[138,11,15]},{"path":[4,1,2,1,1],"span":[138,16,19]},{"path":[4,1,2,1,3],"span":[138,22,23]},{"path":[4,2],"span":[143,0,162,1],"leadingComments":" The `OneofRules` message type enables you to manage rules for\n oneof fields in your protobuf messages.\n"},{"path":[4,2,1],"span":[143,8,18]},{"path":[4,2,2,0],"span":[161,2,29],"leadingComments":" If `required` is true, exactly one field of the oneof must be present. A\n validation error is returned if no fields in the oneof are present. The\n field itself may still be a default value; further rules\n should be placed on the fields themselves to ensure they are valid values,\n such as `min_len` or `gt`.\n\n ```proto\n message MyMessage {\n oneof value {\n // Either `a` or `b` must be set. If `a` is set, it must also be\n // non-empty; whereas if `b` is set, it can still be an empty string.\n option (buf.validate.oneof).required = true;\n string a = 1 [(buf.validate.field).string.min_len = 1];\n string b = 2;\n }\n }\n ```\n"},{"path":[4,2,2,0,4],"span":[161,2,10]},{"path":[4,2,2,0,5],"span":[161,11,15]},{"path":[4,2,2,0,1],"span":[161,16,24]},{"path":[4,2,2,0,3],"span":[161,27,28]},{"path":[4,3],"span":[166,0,246,1],"leadingComments":" FieldRules encapsulates the rules for each type of field. Depending on\n the field, the correct set should be used to ensure proper validations.\n"},{"path":[4,3,1],"span":[166,8,18]},{"path":[4,3,2,0],"span":[181,2,25],"leadingComments":" `cel` is a repeated field used to represent a textual expression\n in the Common Expression Language (CEL) syntax. For more information on\n CEL, [see our documentation](https://github.com/bufbuild/protovalidate/blob/main/docs/cel.md).\n\n ```proto\n message MyMessage {\n // The field `value` must be greater than 42.\n optional int32 value = 1 [(buf.validate.field).cel = {\n id: \"my_message.value\",\n message: \"value must be greater than 42\",\n expression: \"this > 42\",\n }];\n }\n ```\n"},{"path":[4,3,2,0,4],"span":[181,2,10]},{"path":[4,3,2,0,6],"span":[181,11,15]},{"path":[4,3,2,0,1],"span":[181,16,19]},{"path":[4,3,2,0,3],"span":[181,22,24]},{"path":[4,3,2,1],"span":[199,2,30],"leadingComments":" If `required` is true, the field must be populated. A populated field can be\n described as \"serialized in the wire format,\" which includes:\n\n - the following \"nullable\" fields must be explicitly set to be considered populated:\n - singular message fields (whose fields may be unpopulated / default values)\n - member fields of a oneof (may be their default value)\n - proto3 optional fields (may be their default value)\n - proto2 scalar fields (both optional and required)\n - proto3 scalar fields must be non-zero to be considered populated\n - repeated and map fields must be non-empty to be considered populated\n\n ```proto\n message MyMessage {\n // The field `value` must be set to a non-null value.\n optional MyOtherMessage value = 1 [(buf.validate.field).required = true];\n }\n ```\n"},{"path":[4,3,2,1,4],"span":[199,2,10]},{"path":[4,3,2,1,5],"span":[199,11,15]},{"path":[4,3,2,1,1],"span":[199,16,24]},{"path":[4,3,2,1,3],"span":[199,27,29]},{"path":[4,3,2,2],"span":[213,2,30],"leadingComments":" Skip validation on the field if its value matches the specified criteria.\n See Ignore enum for details.\n\n ```proto\n message UpdateRequest {\n // The uri rule only applies if the field is populated and not an empty\n // string.\n optional string url = 1 [\n (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE,\n (buf.validate.field).string.uri = true,\n ];\n }\n ```\n"},{"path":[4,3,2,2,4],"span":[213,2,10]},{"path":[4,3,2,2,6],"span":[213,11,17]},{"path":[4,3,2,2,1],"span":[213,18,24]},{"path":[4,3,2,2,3],"span":[213,27,29]},{"path":[4,3,8,0],"span":[215,2,242,3]},{"path":[4,3,8,0,1],"span":[215,8,12]},{"path":[4,3,2,3],"span":[217,4,25],"leadingComments":" Scalar Field Types\n"},{"path":[4,3,2,3,6],"span":[217,4,14]},{"path":[4,3,2,3,1],"span":[217,15,20]},{"path":[4,3,2,3,3],"span":[217,23,24]},{"path":[4,3,2,4],"span":[218,4,27]},{"path":[4,3,2,4,6],"span":[218,4,15]},{"path":[4,3,2,4,1],"span":[218,16,22]},{"path":[4,3,2,4,3],"span":[218,25,26]},{"path":[4,3,2,5],"span":[219,4,25]},{"path":[4,3,2,5,6],"span":[219,4,14]},{"path":[4,3,2,5,1],"span":[219,15,20]},{"path":[4,3,2,5,3],"span":[219,23,24]},{"path":[4,3,2,6],"span":[220,4,25]},{"path":[4,3,2,6,6],"span":[220,4,14]},{"path":[4,3,2,6,1],"span":[220,15,20]},{"path":[4,3,2,6,3],"span":[220,23,24]},{"path":[4,3,2,7],"span":[221,4,27]},{"path":[4,3,2,7,6],"span":[221,4,15]},{"path":[4,3,2,7,1],"span":[221,16,22]},{"path":[4,3,2,7,3],"span":[221,25,26]},{"path":[4,3,2,8],"span":[222,4,27]},{"path":[4,3,2,8,6],"span":[222,4,15]},{"path":[4,3,2,8,1],"span":[222,16,22]},{"path":[4,3,2,8,3],"span":[222,25,26]},{"path":[4,3,2,9],"span":[223,4,27]},{"path":[4,3,2,9,6],"span":[223,4,15]},{"path":[4,3,2,9,1],"span":[223,16,22]},{"path":[4,3,2,9,3],"span":[223,25,26]},{"path":[4,3,2,10],"span":[224,4,27]},{"path":[4,3,2,10,6],"span":[224,4,15]},{"path":[4,3,2,10,1],"span":[224,16,22]},{"path":[4,3,2,10,3],"span":[224,25,26]},{"path":[4,3,2,11],"span":[225,4,29]},{"path":[4,3,2,11,6],"span":[225,4,16]},{"path":[4,3,2,11,1],"span":[225,17,24]},{"path":[4,3,2,11,3],"span":[225,27,28]},{"path":[4,3,2,12],"span":[226,4,30]},{"path":[4,3,2,12,6],"span":[226,4,16]},{"path":[4,3,2,12,1],"span":[226,17,24]},{"path":[4,3,2,12,3],"span":[226,27,29]},{"path":[4,3,2,13],"span":[227,4,32]},{"path":[4,3,2,13,6],"span":[227,4,17]},{"path":[4,3,2,13,1],"span":[227,18,26]},{"path":[4,3,2,13,3],"span":[227,29,31]},{"path":[4,3,2,14],"span":[228,4,32]},{"path":[4,3,2,14,6],"span":[228,4,17]},{"path":[4,3,2,14,1],"span":[228,18,26]},{"path":[4,3,2,14,3],"span":[228,29,31]},{"path":[4,3,2,15],"span":[229,4,24]},{"path":[4,3,2,15,6],"span":[229,4,13]},{"path":[4,3,2,15,1],"span":[229,14,18]},{"path":[4,3,2,15,3],"span":[229,21,23]},{"path":[4,3,2,16],"span":[230,4,28]},{"path":[4,3,2,16,6],"span":[230,4,15]},{"path":[4,3,2,16,1],"span":[230,16,22]},{"path":[4,3,2,16,3],"span":[230,25,27]},{"path":[4,3,2,17],"span":[231,4,26]},{"path":[4,3,2,17,6],"span":[231,4,14]},{"path":[4,3,2,17,1],"span":[231,15,20]},{"path":[4,3,2,17,3],"span":[231,23,25]},{"path":[4,3,2,18],"span":[234,4,24],"leadingComments":" Complex Field Types\n"},{"path":[4,3,2,18,6],"span":[234,4,13]},{"path":[4,3,2,18,1],"span":[234,14,18]},{"path":[4,3,2,18,3],"span":[234,21,23]},{"path":[4,3,2,19],"span":[235,4,32]},{"path":[4,3,2,19,6],"span":[235,4,17]},{"path":[4,3,2,19,1],"span":[235,18,26]},{"path":[4,3,2,19,3],"span":[235,29,31]},{"path":[4,3,2,20],"span":[236,4,22]},{"path":[4,3,2,20,6],"span":[236,4,12]},{"path":[4,3,2,20,1],"span":[236,13,16]},{"path":[4,3,2,20,3],"span":[236,19,21]},{"path":[4,3,2,21],"span":[239,4,22],"leadingComments":" Well-Known Field Types\n"},{"path":[4,3,2,21,6],"span":[239,4,12]},{"path":[4,3,2,21,1],"span":[239,13,16]},{"path":[4,3,2,21,3],"span":[239,19,21]},{"path":[4,3,2,22],"span":[240,4,32]},{"path":[4,3,2,22,6],"span":[240,4,17]},{"path":[4,3,2,22,1],"span":[240,18,26]},{"path":[4,3,2,22,3],"span":[240,29,31]},{"path":[4,3,2,23],"span":[241,4,34]},{"path":[4,3,2,23,6],"span":[241,4,18]},{"path":[4,3,2,23,1],"span":[241,19,28]},{"path":[4,3,2,23,3],"span":[241,31,33]},{"path":[4,3,9],"span":[244,2,18]},{"path":[4,3,9,0],"span":[244,11,13]},{"path":[4,3,9,0,1],"span":[244,11,13]},{"path":[4,3,9,0,2],"span":[244,11,13]},{"path":[4,3,9,1],"span":[244,15,17]},{"path":[4,3,9,1,1],"span":[244,15,17]},{"path":[4,3,9,1,2],"span":[244,15,17]},{"path":[4,3,10],"span":[245,2,37]},{"path":[4,3,10,0],"span":[245,11,20]},{"path":[4,3,10,1],"span":[245,22,36]},{"path":[4,4],"span":[250,0,272,1],"leadingComments":" PredefinedRules are custom rules that can be re-used with\n multiple fields.\n"},{"path":[4,4,1],"span":[250,8,23]},{"path":[4,4,2,0],"span":[265,2,24],"leadingComments":" `cel` is a repeated field used to represent a textual expression\n in the Common Expression Language (CEL) syntax. For more information on\n CEL, [see our documentation](https://github.com/bufbuild/protovalidate/blob/main/docs/cel.md).\n\n ```proto\n message MyMessage {\n // The field `value` must be greater than 42.\n optional int32 value = 1 [(buf.validate.predefined).cel = {\n id: \"my_message.value\",\n message: \"value must be greater than 42\",\n expression: \"this > 42\",\n }];\n }\n ```\n"},{"path":[4,4,2,0,4],"span":[265,2,10]},{"path":[4,4,2,0,6],"span":[265,11,15]},{"path":[4,4,2,0,1],"span":[265,16,19]},{"path":[4,4,2,0,3],"span":[265,22,23]},{"path":[4,4,9],"span":[267,2,18]},{"path":[4,4,9,0],"span":[267,11,13]},{"path":[4,4,9,0,1],"span":[267,11,13]},{"path":[4,4,9,0,2],"span":[267,11,13]},{"path":[4,4,9,1],"span":[267,15,17]},{"path":[4,4,9,1,1],"span":[267,15,17]},{"path":[4,4,9,1,2],"span":[267,15,17]},{"path":[4,4,10],"span":[268,2,271,1]},{"path":[4,4,10,0],"span":[269,4,270,18]},{"path":[5,0],"span":[276,0,423,1],"leadingComments":" Specifies how FieldRules.ignore behaves. See the documentation for\n FieldRules.required for definitions of \"populated\" and \"nullable\".\n"},{"path":[5,0,1],"span":[276,5,11]},{"path":[5,0,2,0],"span":[306,2,25],"leadingComments":" Validation is only skipped if it's an unpopulated nullable fields.\n\n ```proto\n syntax=\"proto3\";\n\n message Request {\n // The uri rule applies to any value, including the empty string.\n string foo = 1 [\n (buf.validate.field).string.uri = true\n ];\n\n // The uri rule only applies if the field is set, including if it's\n // set to the empty string.\n optional string bar = 2 [\n (buf.validate.field).string.uri = true\n ];\n\n // The min_items rule always applies, even if the list is empty.\n repeated string baz = 3 [\n (buf.validate.field).repeated.min_items = 3\n ];\n\n // The custom CEL rule applies only if the field is set, including if\n // it's the \"zero\" value of that message.\n SomeMessage quux = 4 [\n (buf.validate.field).cel = {/* ... */}\n ];\n }\n ```\n"},{"path":[5,0,2,0,1],"span":[306,2,20]},{"path":[5,0,2,0,2],"span":[306,23,24]},{"path":[5,0,2,1],"span":[344,2,28],"leadingComments":" Validation is skipped if the field is unpopulated. This rule is redundant\n if the field is already nullable.\n\n ```proto\n syntax=\"proto3\n\n message Request {\n // The uri rule applies only if the value is not the empty string.\n string foo = 1 [\n (buf.validate.field).string.uri = true,\n (buf.validate.field).ignore = IGNORE_IF_UNPOPULATED\n ];\n\n // IGNORE_IF_UNPOPULATED is equivalent to IGNORE_UNSPECIFIED in this\n // case: the uri rule only applies if the field is set, including if\n // it's set to the empty string.\n optional string bar = 2 [\n (buf.validate.field).string.uri = true,\n (buf.validate.field).ignore = IGNORE_IF_UNPOPULATED\n ];\n\n // The min_items rule only applies if the list has at least one item.\n repeated string baz = 3 [\n (buf.validate.field).repeated.min_items = 3,\n (buf.validate.field).ignore = IGNORE_IF_UNPOPULATED\n ];\n\n // IGNORE_IF_UNPOPULATED is equivalent to IGNORE_UNSPECIFIED in this\n // case: the custom CEL rule applies only if the field is set, including\n // if it's the \"zero\" value of that message.\n SomeMessage quux = 4 [\n (buf.validate.field).cel = {/* ... */},\n (buf.validate.field).ignore = IGNORE_IF_UNPOPULATED\n ];\n }\n ```\n"},{"path":[5,0,2,1,1],"span":[344,2,23]},{"path":[5,0,2,1,2],"span":[344,26,27]},{"path":[5,0,2,2],"span":[402,2,30],"leadingComments":" Validation is skipped if the field is unpopulated or if it is a nullable\n field populated with its default value. This is typically the zero or\n empty value, but proto2 scalars support custom defaults. For messages, the\n default is a non-null message with all its fields unpopulated.\n\n ```proto\n syntax=\"proto3\n\n message Request {\n // IGNORE_IF_DEFAULT_VALUE is equivalent to IGNORE_IF_UNPOPULATED in\n // this case; the uri rule applies only if the value is not the empty\n // string.\n string foo = 1 [\n (buf.validate.field).string.uri = true,\n (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE\n ];\n\n // The uri rule only applies if the field is set to a value other than\n // the empty string.\n optional string bar = 2 [\n (buf.validate.field).string.uri = true,\n (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE\n ];\n\n // IGNORE_IF_DEFAULT_VALUE is equivalent to IGNORE_IF_UNPOPULATED in\n // this case; the min_items rule only applies if the list has at least\n // one item.\n repeated string baz = 3 [\n (buf.validate.field).repeated.min_items = 3,\n (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE\n ];\n\n // The custom CEL rule only applies if the field is set to a value other\n // than an empty message (i.e., fields are unpopulated).\n SomeMessage quux = 4 [\n (buf.validate.field).cel = {/* ... */},\n (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE\n ];\n }\n ```\n\n This rule is affected by proto2 custom default values:\n\n ```proto\n syntax=\"proto2\";\n\n message Request {\n // The gt rule only applies if the field is set and it's value is not\n the default (i.e., not -42). The rule even applies if the field is set\n to zero since the default value differs.\n optional int32 value = 1 [\n default = -42,\n (buf.validate.field).int32.gt = 0,\n (buf.validate.field).ignore = IGNORE_IF_DEFAULT_VALUE\n ];\n }\n"},{"path":[5,0,2,2,1],"span":[402,2,25]},{"path":[5,0,2,2,2],"span":[402,28,29]},{"path":[5,0,2,3],"span":[417,2,20],"leadingComments":" The validation rules of this field will be skipped and not evaluated. This\n is useful for situations that necessitate turning off the rules of a field\n containing a message that may not make sense in the current context, or to\n temporarily disable rules during development.\n\n ```proto\n message MyMessage {\n // The field's rules will always be ignored, including any validation's\n // on value's fields.\n MyOtherMessage value = 1 [\n (buf.validate.field).ignore = IGNORE_ALWAYS];\n }\n ```\n"},{"path":[5,0,2,3,1],"span":[417,2,15]},{"path":[5,0,2,3,2],"span":[417,18,19]},{"path":[5,0,5],"span":[419,2,422,1]},{"path":[5,0,5,0],"span":[420,4,421,20]},{"path":[4,5],"span":[427,0,647,1],"leadingComments":" FloatRules describes the rules applied to `float` values. These\n rules may also be applied to the `google.protobuf.FloatValue` Well-Known-Type.\n"},{"path":[4,5,1],"span":[427,8,18]},{"path":[4,5,2,0],"span":[437,2,440,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MyFloat {\n // value must equal 42.0\n float value = 1 [(buf.validate.field).float.const = 42.0];\n }\n ```\n"},{"path":[4,5,2,0,4],"span":[437,2,10]},{"path":[4,5,2,0,5],"span":[437,11,16]},{"path":[4,5,2,0,1],"span":[437,17,22]},{"path":[4,5,2,0,3],"span":[437,25,26]},{"path":[4,5,2,0,8],"span":[437,27,440,4]},{"path":[4,5,2,0,8,1160,1,0],"span":[437,28,440,3]},{"path":[4,5,2,0,8,1160,1,0,1],"span":[438,4,21]},{"path":[4,5,2,0,8,1160,1,0,3],"span":[439,4,114]},{"path":[4,5,8,0],"span":[442,2,476,3]},{"path":[4,5,8,0,1],"span":[442,8,17]},{"path":[4,5,2,1],"span":[453,4,458,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field <\n value). If the field value is equal to or greater than the specified value,\n an error message is generated.\n\n ```proto\n message MyFloat {\n // value must be less than 10.0\n float value = 1 [(buf.validate.field).float.lt = 10.0];\n }\n ```\n"},{"path":[4,5,2,1,5],"span":[453,4,9]},{"path":[4,5,2,1,1],"span":[453,10,12]},{"path":[4,5,2,1,3],"span":[453,15,16]},{"path":[4,5,2,1,8],"span":[453,17,458,6]},{"path":[4,5,2,1,8,1160,1,0],"span":[453,18,458,5]},{"path":[4,5,2,1,8,1160,1,0,1],"span":[454,6,20]},{"path":[4,5,2,1,8,1160,1,0,3],"span":[455,6,457,64]},{"path":[4,5,2,2],"span":[470,4,475,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MyFloat {\n // value must be less than or equal to 10.0\n float value = 1 [(buf.validate.field).float.lte = 10.0];\n }\n ```\n"},{"path":[4,5,2,2,5],"span":[470,4,9]},{"path":[4,5,2,2,1],"span":[470,10,13]},{"path":[4,5,2,2,3],"span":[470,16,17]},{"path":[4,5,2,2,8],"span":[470,18,475,6]},{"path":[4,5,2,2,8,1160,1,0],"span":[470,19,475,5]},{"path":[4,5,2,2,8,1160,1,0,1],"span":[471,6,21]},{"path":[4,5,2,2,8,1160,1,0,3],"span":[472,6,474,77]},{"path":[4,5,8,1],"span":[478,2,580,3]},{"path":[4,5,8,1,1],"span":[478,8,20]},{"path":[4,5,2,3],"span":[497,4,528,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyFloat {\n // value must be greater than 5.0 [float.gt]\n float value = 1 [(buf.validate.field).float.gt = 5.0];\n\n // value must be greater than 5 and less than 10.0 [float.gt_lt]\n float other_value = 2 [(buf.validate.field).float = { gt: 5.0, lt: 10.0 }];\n\n // value must be greater than 10 or less than 5.0 [float.gt_lt_exclusive]\n float another_value = 3 [(buf.validate.field).float = { gt: 10.0, lt: 5.0 }];\n }\n ```\n"},{"path":[4,5,2,3,5],"span":[497,4,9]},{"path":[4,5,2,3,1],"span":[497,10,12]},{"path":[4,5,2,3,3],"span":[497,15,16]},{"path":[4,5,2,3,8],"span":[497,17,528,5]},{"path":[4,5,2,3,8,1160,1,0],"span":[498,6,503,7]},{"path":[4,5,2,3,8,1160,1,0,1],"span":[499,8,22]},{"path":[4,5,2,3,8,1160,1,0,3],"span":[500,8,502,69]},{"path":[4,5,2,3,8,1160,1,1],"span":[504,6,509,7]},{"path":[4,5,2,3,8,1160,1,1,1],"span":[505,8,25]},{"path":[4,5,2,3,8,1160,1,1,3],"span":[506,8,508,96]},{"path":[4,5,2,3,8,1160,1,2],"span":[510,6,515,7]},{"path":[4,5,2,3,8,1160,1,2,1],"span":[511,8,35]},{"path":[4,5,2,3,8,1160,1,2,3],"span":[512,8,514,95]},{"path":[4,5,2,3,8,1160,1,3],"span":[516,6,521,7]},{"path":[4,5,2,3,8,1160,1,3,1],"span":[517,8,26]},{"path":[4,5,2,3,8,1160,1,3,3],"span":[518,8,520,109]},{"path":[4,5,2,3,8,1160,1,4],"span":[522,6,527,7]},{"path":[4,5,2,3,8,1160,1,4,1],"span":[523,8,36]},{"path":[4,5,2,3,8,1160,1,4,3],"span":[524,8,526,108]},{"path":[4,5,2,4],"span":[548,4,579,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyFloat {\n // value must be greater than or equal to 5.0 [float.gte]\n float value = 1 [(buf.validate.field).float.gte = 5.0];\n\n // value must be greater than or equal to 5.0 and less than 10.0 [float.gte_lt]\n float other_value = 2 [(buf.validate.field).float = { gte: 5.0, lt: 10.0 }];\n\n // value must be greater than or equal to 10.0 or less than 5.0 [float.gte_lt_exclusive]\n float another_value = 3 [(buf.validate.field).float = { gte: 10.0, lt: 5.0 }];\n }\n ```\n"},{"path":[4,5,2,4,5],"span":[548,4,9]},{"path":[4,5,2,4,1],"span":[548,10,13]},{"path":[4,5,2,4,3],"span":[548,16,17]},{"path":[4,5,2,4,8],"span":[548,18,579,5]},{"path":[4,5,2,4,8,1160,1,0],"span":[549,6,554,7]},{"path":[4,5,2,4,8,1160,1,0,1],"span":[550,8,23]},{"path":[4,5,2,4,8,1160,1,0,3],"span":[551,8,553,82]},{"path":[4,5,2,4,8,1160,1,1],"span":[555,6,560,7]},{"path":[4,5,2,4,8,1160,1,1,1],"span":[556,8,26]},{"path":[4,5,2,4,8,1160,1,1,3],"span":[557,8,559,109]},{"path":[4,5,2,4,8,1160,1,2],"span":[561,6,566,7]},{"path":[4,5,2,4,8,1160,1,2,1],"span":[562,8,36]},{"path":[4,5,2,4,8,1160,1,2,3],"span":[563,8,565,108]},{"path":[4,5,2,4,8,1160,1,3],"span":[567,6,572,7]},{"path":[4,5,2,4,8,1160,1,3,1],"span":[568,8,27]},{"path":[4,5,2,4,8,1160,1,3,3],"span":[569,8,571,122]},{"path":[4,5,2,4,8,1160,1,4],"span":[573,6,578,7]},{"path":[4,5,2,4,8,1160,1,4,1],"span":[574,8,37]},{"path":[4,5,2,4,8,1160,1,4,3],"span":[575,8,577,121]},{"path":[4,5,2,5],"span":[592,2,595,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message\n is generated.\n\n ```proto\n message MyFloat {\n // value must be in list [1.0, 2.0, 3.0]\n float value = 1 [(buf.validate.field).float = { in: [1.0, 2.0, 3.0] }];\n }\n ```\n"},{"path":[4,5,2,5,4],"span":[592,2,10]},{"path":[4,5,2,5,5],"span":[592,11,16]},{"path":[4,5,2,5,1],"span":[592,17,19]},{"path":[4,5,2,5,3],"span":[592,22,23]},{"path":[4,5,2,5,8],"span":[592,24,595,4]},{"path":[4,5,2,5,8,1160,1,0],"span":[592,25,595,3]},{"path":[4,5,2,5,8,1160,1,0,1],"span":[593,4,18]},{"path":[4,5,2,5,8,1160,1,0,3],"span":[594,4,116]},{"path":[4,5,2,6],"span":[607,2,610,5],"leadingComments":" `in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MyFloat {\n // value must not be in list [1.0, 2.0, 3.0]\n float value = 1 [(buf.validate.field).float = { not_in: [1.0, 2.0, 3.0] }];\n }\n ```\n"},{"path":[4,5,2,6,4],"span":[607,2,10]},{"path":[4,5,2,6,5],"span":[607,11,16]},{"path":[4,5,2,6,1],"span":[607,17,23]},{"path":[4,5,2,6,3],"span":[607,26,27]},{"path":[4,5,2,6,8],"span":[607,28,610,4]},{"path":[4,5,2,6,8,1160,1,0],"span":[607,29,610,3]},{"path":[4,5,2,6,8,1160,1,0,1],"span":[608,4,22]},{"path":[4,5,2,6,8,1160,1,0,3],"span":[609,4,99]},{"path":[4,5,2,7],"span":[614,2,617,5],"leadingComments":" `finite` requires the field value to be finite. If the field value is\n infinite or NaN, an error message is generated.\n"},{"path":[4,5,2,7,4],"span":[614,2,10]},{"path":[4,5,2,7,5],"span":[614,11,15]},{"path":[4,5,2,7,1],"span":[614,16,22]},{"path":[4,5,2,7,3],"span":[614,25,26]},{"path":[4,5,2,7,8],"span":[614,27,617,4]},{"path":[4,5,2,7,8,1160,1,0],"span":[614,28,617,3]},{"path":[4,5,2,7,8,1160,1,0,1],"span":[615,4,22]},{"path":[4,5,2,7,8,1160,1,0,3],"span":[616,4,98]},{"path":[4,5,2,8],"span":[631,2,634,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyFloat {\n float value = 1 [\n (buf.validate.field).float.example = 1.0,\n (buf.validate.field).float.example = \"Infinity\"\n ];\n }\n ```\n"},{"path":[4,5,2,8,4],"span":[631,2,10]},{"path":[4,5,2,8,5],"span":[631,11,16]},{"path":[4,5,2,8,1],"span":[631,17,24]},{"path":[4,5,2,8,3],"span":[631,27,28]},{"path":[4,5,2,8,8],"span":[631,29,634,4]},{"path":[4,5,2,8,8,1160,1,0],"span":[631,30,634,3]},{"path":[4,5,2,8,8,1160,1,0,1],"span":[632,4,23]},{"path":[4,5,2,8,8,1160,1,0,3],"span":[633,4,22]},{"path":[4,5,5],"span":[646,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,5,5,0],"span":[646,13,24]},{"path":[4,5,5,0,1],"span":[646,13,17]},{"path":[4,5,5,0,2],"span":[646,21,24]},{"path":[4,6],"span":[651,0,868,1],"leadingComments":" DoubleRules describes the rules applied to `double` values. These\n rules may also be applied to the `google.protobuf.DoubleValue` Well-Known-Type.\n"},{"path":[4,6,1],"span":[651,8,19]},{"path":[4,6,2,0],"span":[661,2,664,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MyDouble {\n // value must equal 42.0\n double value = 1 [(buf.validate.field).double.const = 42.0];\n }\n ```\n"},{"path":[4,6,2,0,4],"span":[661,2,10]},{"path":[4,6,2,0,5],"span":[661,11,17]},{"path":[4,6,2,0,1],"span":[661,18,23]},{"path":[4,6,2,0,3],"span":[661,26,27]},{"path":[4,6,2,0,8],"span":[661,28,664,4]},{"path":[4,6,2,0,8,1160,1,0],"span":[661,29,664,3]},{"path":[4,6,2,0,8,1160,1,0,1],"span":[662,4,22]},{"path":[4,6,2,0,8,1160,1,0,3],"span":[663,4,114]},{"path":[4,6,8,0],"span":[665,2,699,3]},{"path":[4,6,8,0,1],"span":[665,8,17]},{"path":[4,6,2,1],"span":[676,4,681,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field <\n value). If the field value is equal to or greater than the specified\n value, an error message is generated.\n\n ```proto\n message MyDouble {\n // value must be less than 10.0\n double value = 1 [(buf.validate.field).double.lt = 10.0];\n }\n ```\n"},{"path":[4,6,2,1,5],"span":[676,4,10]},{"path":[4,6,2,1,1],"span":[676,11,13]},{"path":[4,6,2,1,3],"span":[676,16,17]},{"path":[4,6,2,1,8],"span":[676,18,681,6]},{"path":[4,6,2,1,8,1160,1,0],"span":[676,19,681,5]},{"path":[4,6,2,1,8,1160,1,0,1],"span":[677,6,21]},{"path":[4,6,2,1,8,1160,1,0,3],"span":[678,6,680,64]},{"path":[4,6,2,2],"span":[693,4,698,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified value\n (field <= value). If the field value is greater than the specified value,\n an error message is generated.\n\n ```proto\n message MyDouble {\n // value must be less than or equal to 10.0\n double value = 1 [(buf.validate.field).double.lte = 10.0];\n }\n ```\n"},{"path":[4,6,2,2,5],"span":[693,4,10]},{"path":[4,6,2,2,1],"span":[693,11,14]},{"path":[4,6,2,2,3],"span":[693,17,18]},{"path":[4,6,2,2,8],"span":[693,19,698,6]},{"path":[4,6,2,2,8,1160,1,0],"span":[693,20,698,5]},{"path":[4,6,2,2,8,1160,1,0,1],"span":[694,6,22]},{"path":[4,6,2,2,8,1160,1,0,3],"span":[695,6,697,77]},{"path":[4,6,8,1],"span":[700,2,802,3]},{"path":[4,6,8,1,1],"span":[700,8,20]},{"path":[4,6,2,3],"span":[719,4,750,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or `lte`,\n the range is reversed, and the field value must be outside the specified\n range. If the field value doesn't meet the required conditions, an error\n message is generated.\n\n ```proto\n message MyDouble {\n // value must be greater than 5.0 [double.gt]\n double value = 1 [(buf.validate.field).double.gt = 5.0];\n\n // value must be greater than 5 and less than 10.0 [double.gt_lt]\n double other_value = 2 [(buf.validate.field).double = { gt: 5.0, lt: 10.0 }];\n\n // value must be greater than 10 or less than 5.0 [double.gt_lt_exclusive]\n double another_value = 3 [(buf.validate.field).double = { gt: 10.0, lt: 5.0 }];\n }\n ```\n"},{"path":[4,6,2,3,5],"span":[719,4,10]},{"path":[4,6,2,3,1],"span":[719,11,13]},{"path":[4,6,2,3,3],"span":[719,16,17]},{"path":[4,6,2,3,8],"span":[719,18,750,5]},{"path":[4,6,2,3,8,1160,1,0],"span":[720,6,725,7]},{"path":[4,6,2,3,8,1160,1,0,1],"span":[721,8,23]},{"path":[4,6,2,3,8,1160,1,0,3],"span":[722,8,724,69]},{"path":[4,6,2,3,8,1160,1,1],"span":[726,6,731,7]},{"path":[4,6,2,3,8,1160,1,1,1],"span":[727,8,26]},{"path":[4,6,2,3,8,1160,1,1,3],"span":[728,8,730,96]},{"path":[4,6,2,3,8,1160,1,2],"span":[732,6,737,7]},{"path":[4,6,2,3,8,1160,1,2,1],"span":[733,8,36]},{"path":[4,6,2,3,8,1160,1,2,3],"span":[734,8,736,95]},{"path":[4,6,2,3,8,1160,1,3],"span":[738,6,743,7]},{"path":[4,6,2,3,8,1160,1,3,1],"span":[739,8,27]},{"path":[4,6,2,3,8,1160,1,3,3],"span":[740,8,742,109]},{"path":[4,6,2,3,8,1160,1,4],"span":[744,6,749,7]},{"path":[4,6,2,3,8,1160,1,4,1],"span":[745,8,37]},{"path":[4,6,2,3,8,1160,1,4,3],"span":[746,8,748,108]},{"path":[4,6,2,4],"span":[770,4,801,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyDouble {\n // value must be greater than or equal to 5.0 [double.gte]\n double value = 1 [(buf.validate.field).double.gte = 5.0];\n\n // value must be greater than or equal to 5.0 and less than 10.0 [double.gte_lt]\n double other_value = 2 [(buf.validate.field).double = { gte: 5.0, lt: 10.0 }];\n\n // value must be greater than or equal to 10.0 or less than 5.0 [double.gte_lt_exclusive]\n double another_value = 3 [(buf.validate.field).double = { gte: 10.0, lt: 5.0 }];\n }\n ```\n"},{"path":[4,6,2,4,5],"span":[770,4,10]},{"path":[4,6,2,4,1],"span":[770,11,14]},{"path":[4,6,2,4,3],"span":[770,17,18]},{"path":[4,6,2,4,8],"span":[770,19,801,5]},{"path":[4,6,2,4,8,1160,1,0],"span":[771,6,776,7]},{"path":[4,6,2,4,8,1160,1,0,1],"span":[772,8,24]},{"path":[4,6,2,4,8,1160,1,0,3],"span":[773,8,775,82]},{"path":[4,6,2,4,8,1160,1,1],"span":[777,6,782,7]},{"path":[4,6,2,4,8,1160,1,1,1],"span":[778,8,27]},{"path":[4,6,2,4,8,1160,1,1,3],"span":[779,8,781,109]},{"path":[4,6,2,4,8,1160,1,2],"span":[783,6,788,7]},{"path":[4,6,2,4,8,1160,1,2,1],"span":[784,8,37]},{"path":[4,6,2,4,8,1160,1,2,3],"span":[785,8,787,108]},{"path":[4,6,2,4,8,1160,1,3],"span":[789,6,794,7]},{"path":[4,6,2,4,8,1160,1,3,1],"span":[790,8,28]},{"path":[4,6,2,4,8,1160,1,3,3],"span":[791,8,793,122]},{"path":[4,6,2,4,8,1160,1,4],"span":[795,6,800,7]},{"path":[4,6,2,4,8,1160,1,4,1],"span":[796,8,38]},{"path":[4,6,2,4,8,1160,1,4,3],"span":[797,8,799,121]},{"path":[4,6,2,5],"span":[813,2,816,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message is\n generated.\n\n ```proto\n message MyDouble {\n // value must be in list [1.0, 2.0, 3.0]\n double value = 1 [(buf.validate.field).double = { in: [1.0, 2.0, 3.0] }];\n }\n ```\n"},{"path":[4,6,2,5,4],"span":[813,2,10]},{"path":[4,6,2,5,5],"span":[813,11,17]},{"path":[4,6,2,5,1],"span":[813,18,20]},{"path":[4,6,2,5,3],"span":[813,23,24]},{"path":[4,6,2,5,8],"span":[813,25,816,4]},{"path":[4,6,2,5,8,1160,1,0],"span":[813,26,816,3]},{"path":[4,6,2,5,8,1160,1,0,1],"span":[814,4,19]},{"path":[4,6,2,5,8,1160,1,0,3],"span":[815,4,116]},{"path":[4,6,2,6],"span":[828,2,831,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MyDouble {\n // value must not be in list [1.0, 2.0, 3.0]\n double value = 1 [(buf.validate.field).double = { not_in: [1.0, 2.0, 3.0] }];\n }\n ```\n"},{"path":[4,6,2,6,4],"span":[828,2,10]},{"path":[4,6,2,6,5],"span":[828,11,17]},{"path":[4,6,2,6,1],"span":[828,18,24]},{"path":[4,6,2,6,3],"span":[828,27,28]},{"path":[4,6,2,6,8],"span":[828,29,831,4]},{"path":[4,6,2,6,8,1160,1,0],"span":[828,30,831,3]},{"path":[4,6,2,6,8,1160,1,0,1],"span":[829,4,23]},{"path":[4,6,2,6,8,1160,1,0,3],"span":[830,4,99]},{"path":[4,6,2,7],"span":[835,2,838,5],"leadingComments":" `finite` requires the field value to be finite. If the field value is\n infinite or NaN, an error message is generated.\n"},{"path":[4,6,2,7,4],"span":[835,2,10]},{"path":[4,6,2,7,5],"span":[835,11,15]},{"path":[4,6,2,7,1],"span":[835,16,22]},{"path":[4,6,2,7,3],"span":[835,25,26]},{"path":[4,6,2,7,8],"span":[835,27,838,4]},{"path":[4,6,2,7,8,1160,1,0],"span":[835,28,838,3]},{"path":[4,6,2,7,8,1160,1,0,1],"span":[836,4,23]},{"path":[4,6,2,7,8,1160,1,0,3],"span":[837,4,98]},{"path":[4,6,2,8],"span":[852,2,855,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyDouble {\n double value = 1 [\n (buf.validate.field).double.example = 1.0,\n (buf.validate.field).double.example = \"Infinity\"\n ];\n }\n ```\n"},{"path":[4,6,2,8,4],"span":[852,2,10]},{"path":[4,6,2,8,5],"span":[852,11,17]},{"path":[4,6,2,8,1],"span":[852,18,25]},{"path":[4,6,2,8,3],"span":[852,28,29]},{"path":[4,6,2,8,8],"span":[852,30,855,4]},{"path":[4,6,2,8,8,1160,1,0],"span":[852,31,855,3]},{"path":[4,6,2,8,8,1160,1,0,1],"span":[853,4,24]},{"path":[4,6,2,8,8,1160,1,0,3],"span":[854,4,22]},{"path":[4,6,5],"span":[867,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,6,5,0],"span":[867,13,24]},{"path":[4,6,5,0,1],"span":[867,13,17]},{"path":[4,6,5,0,2],"span":[867,21,24]},{"path":[4,7],"span":[872,0,1083,1],"leadingComments":" Int32Rules describes the rules applied to `int32` values. These\n rules may also be applied to the `google.protobuf.Int32Value` Well-Known-Type.\n"},{"path":[4,7,1],"span":[872,8,18]},{"path":[4,7,2,0],"span":[882,2,885,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MyInt32 {\n // value must equal 42\n int32 value = 1 [(buf.validate.field).int32.const = 42];\n }\n ```\n"},{"path":[4,7,2,0,4],"span":[882,2,10]},{"path":[4,7,2,0,5],"span":[882,11,16]},{"path":[4,7,2,0,1],"span":[882,17,22]},{"path":[4,7,2,0,3],"span":[882,25,26]},{"path":[4,7,2,0,8],"span":[882,27,885,4]},{"path":[4,7,2,0,8,1160,1,0],"span":[882,28,885,3]},{"path":[4,7,2,0,8,1160,1,0,1],"span":[883,4,21]},{"path":[4,7,2,0,8,1160,1,0,3],"span":[884,4,114]},{"path":[4,7,8,0],"span":[886,2,920,3]},{"path":[4,7,8,0,1],"span":[886,8,17]},{"path":[4,7,2,1],"span":[897,4,902,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field\n < value). If the field value is equal to or greater than the specified\n value, an error message is generated.\n\n ```proto\n message MyInt32 {\n // value must be less than 10\n int32 value = 1 [(buf.validate.field).int32.lt = 10];\n }\n ```\n"},{"path":[4,7,2,1,5],"span":[897,4,9]},{"path":[4,7,2,1,1],"span":[897,10,12]},{"path":[4,7,2,1,3],"span":[897,15,16]},{"path":[4,7,2,1,8],"span":[897,17,902,6]},{"path":[4,7,2,1,8,1160,1,0],"span":[897,18,902,5]},{"path":[4,7,2,1,8,1160,1,0,1],"span":[898,6,20]},{"path":[4,7,2,1,8,1160,1,0,3],"span":[899,6,901,64]},{"path":[4,7,2,2],"span":[914,4,919,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MyInt32 {\n // value must be less than or equal to 10\n int32 value = 1 [(buf.validate.field).int32.lte = 10];\n }\n ```\n"},{"path":[4,7,2,2,5],"span":[914,4,9]},{"path":[4,7,2,2,1],"span":[914,10,13]},{"path":[4,7,2,2,3],"span":[914,16,17]},{"path":[4,7,2,2,8],"span":[914,18,919,6]},{"path":[4,7,2,2,8,1160,1,0],"span":[914,19,919,5]},{"path":[4,7,2,2,8,1160,1,0,1],"span":[915,6,21]},{"path":[4,7,2,2,8,1160,1,0,3],"span":[916,6,918,77]},{"path":[4,7,8,1],"span":[921,2,1023,3]},{"path":[4,7,8,1,1],"span":[921,8,20]},{"path":[4,7,2,3],"span":[940,4,971,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyInt32 {\n // value must be greater than 5 [int32.gt]\n int32 value = 1 [(buf.validate.field).int32.gt = 5];\n\n // value must be greater than 5 and less than 10 [int32.gt_lt]\n int32 other_value = 2 [(buf.validate.field).int32 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [int32.gt_lt_exclusive]\n int32 another_value = 3 [(buf.validate.field).int32 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,7,2,3,5],"span":[940,4,9]},{"path":[4,7,2,3,1],"span":[940,10,12]},{"path":[4,7,2,3,3],"span":[940,15,16]},{"path":[4,7,2,3,8],"span":[940,17,971,5]},{"path":[4,7,2,3,8,1160,1,0],"span":[941,6,946,7]},{"path":[4,7,2,3,8,1160,1,0,1],"span":[942,8,22]},{"path":[4,7,2,3,8,1160,1,0,3],"span":[943,8,945,69]},{"path":[4,7,2,3,8,1160,1,1],"span":[947,6,952,7]},{"path":[4,7,2,3,8,1160,1,1,1],"span":[948,8,25]},{"path":[4,7,2,3,8,1160,1,1,3],"span":[949,8,951,96]},{"path":[4,7,2,3,8,1160,1,2],"span":[953,6,958,7]},{"path":[4,7,2,3,8,1160,1,2,1],"span":[954,8,35]},{"path":[4,7,2,3,8,1160,1,2,3],"span":[955,8,957,95]},{"path":[4,7,2,3,8,1160,1,3],"span":[959,6,964,7]},{"path":[4,7,2,3,8,1160,1,3,1],"span":[960,8,26]},{"path":[4,7,2,3,8,1160,1,3,3],"span":[961,8,963,109]},{"path":[4,7,2,3,8,1160,1,4],"span":[965,6,970,7]},{"path":[4,7,2,3,8,1160,1,4,1],"span":[966,8,36]},{"path":[4,7,2,3,8,1160,1,4,3],"span":[967,8,969,108]},{"path":[4,7,2,4],"span":[991,4,1022,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified value\n (exclusive). If the value of `gte` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyInt32 {\n // value must be greater than or equal to 5 [int32.gte]\n int32 value = 1 [(buf.validate.field).int32.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [int32.gte_lt]\n int32 other_value = 2 [(buf.validate.field).int32 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [int32.gte_lt_exclusive]\n int32 another_value = 3 [(buf.validate.field).int32 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,7,2,4,5],"span":[991,4,9]},{"path":[4,7,2,4,1],"span":[991,10,13]},{"path":[4,7,2,4,3],"span":[991,16,17]},{"path":[4,7,2,4,8],"span":[991,18,1022,5]},{"path":[4,7,2,4,8,1160,1,0],"span":[992,6,997,7]},{"path":[4,7,2,4,8,1160,1,0,1],"span":[993,8,23]},{"path":[4,7,2,4,8,1160,1,0,3],"span":[994,8,996,82]},{"path":[4,7,2,4,8,1160,1,1],"span":[998,6,1003,7]},{"path":[4,7,2,4,8,1160,1,1,1],"span":[999,8,26]},{"path":[4,7,2,4,8,1160,1,1,3],"span":[1000,8,1002,109]},{"path":[4,7,2,4,8,1160,1,2],"span":[1004,6,1009,7]},{"path":[4,7,2,4,8,1160,1,2,1],"span":[1005,8,36]},{"path":[4,7,2,4,8,1160,1,2,3],"span":[1006,8,1008,108]},{"path":[4,7,2,4,8,1160,1,3],"span":[1010,6,1015,7]},{"path":[4,7,2,4,8,1160,1,3,1],"span":[1011,8,27]},{"path":[4,7,2,4,8,1160,1,3,3],"span":[1012,8,1014,122]},{"path":[4,7,2,4,8,1160,1,4],"span":[1016,6,1021,7]},{"path":[4,7,2,4,8,1160,1,4,1],"span":[1017,8,37]},{"path":[4,7,2,4,8,1160,1,4,3],"span":[1018,8,1020,121]},{"path":[4,7,2,5],"span":[1035,2,1038,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message is\n generated.\n\n ```proto\n message MyInt32 {\n // value must be in list [1, 2, 3]\n int32 value = 1 [(buf.validate.field).int32 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,7,2,5,4],"span":[1035,2,10]},{"path":[4,7,2,5,5],"span":[1035,11,16]},{"path":[4,7,2,5,1],"span":[1035,17,19]},{"path":[4,7,2,5,3],"span":[1035,22,23]},{"path":[4,7,2,5,8],"span":[1035,24,1038,4]},{"path":[4,7,2,5,8,1160,1,0],"span":[1035,25,1038,3]},{"path":[4,7,2,5,8,1160,1,0,1],"span":[1036,4,18]},{"path":[4,7,2,5,8,1160,1,0,3],"span":[1037,4,116]},{"path":[4,7,2,6],"span":[1050,2,1053,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error message\n is generated.\n\n ```proto\n message MyInt32 {\n // value must not be in list [1, 2, 3]\n int32 value = 1 [(buf.validate.field).int32 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,7,2,6,4],"span":[1050,2,10]},{"path":[4,7,2,6,5],"span":[1050,11,16]},{"path":[4,7,2,6,1],"span":[1050,17,23]},{"path":[4,7,2,6,3],"span":[1050,26,27]},{"path":[4,7,2,6,8],"span":[1050,28,1053,4]},{"path":[4,7,2,6,8,1160,1,0],"span":[1050,29,1053,3]},{"path":[4,7,2,6,8,1160,1,0,1],"span":[1051,4,22]},{"path":[4,7,2,6,8,1160,1,0,3],"span":[1052,4,99]},{"path":[4,7,2,7],"span":[1067,2,1070,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyInt32 {\n int32 value = 1 [\n (buf.validate.field).int32.example = 1,\n (buf.validate.field).int32.example = -10\n ];\n }\n ```\n"},{"path":[4,7,2,7,4],"span":[1067,2,10]},{"path":[4,7,2,7,5],"span":[1067,11,16]},{"path":[4,7,2,7,1],"span":[1067,17,24]},{"path":[4,7,2,7,3],"span":[1067,27,28]},{"path":[4,7,2,7,8],"span":[1067,29,1070,4]},{"path":[4,7,2,7,8,1160,1,0],"span":[1067,30,1070,3]},{"path":[4,7,2,7,8,1160,1,0,1],"span":[1068,4,23]},{"path":[4,7,2,7,8,1160,1,0,3],"span":[1069,4,22]},{"path":[4,7,5],"span":[1082,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,7,5,0],"span":[1082,13,24]},{"path":[4,7,5,0,1],"span":[1082,13,17]},{"path":[4,7,5,0,2],"span":[1082,21,24]},{"path":[4,8],"span":[1087,0,1298,1],"leadingComments":" Int64Rules describes the rules applied to `int64` values. These\n rules may also be applied to the `google.protobuf.Int64Value` Well-Known-Type.\n"},{"path":[4,8,1],"span":[1087,8,18]},{"path":[4,8,2,0],"span":[1097,2,1100,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MyInt64 {\n // value must equal 42\n int64 value = 1 [(buf.validate.field).int64.const = 42];\n }\n ```\n"},{"path":[4,8,2,0,4],"span":[1097,2,10]},{"path":[4,8,2,0,5],"span":[1097,11,16]},{"path":[4,8,2,0,1],"span":[1097,17,22]},{"path":[4,8,2,0,3],"span":[1097,25,26]},{"path":[4,8,2,0,8],"span":[1097,27,1100,4]},{"path":[4,8,2,0,8,1160,1,0],"span":[1097,28,1100,3]},{"path":[4,8,2,0,8,1160,1,0,1],"span":[1098,4,21]},{"path":[4,8,2,0,8,1160,1,0,3],"span":[1099,4,114]},{"path":[4,8,8,0],"span":[1101,2,1135,3]},{"path":[4,8,8,0,1],"span":[1101,8,17]},{"path":[4,8,2,1],"span":[1112,4,1117,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field <\n value). If the field value is equal to or greater than the specified value,\n an error message is generated.\n\n ```proto\n message MyInt64 {\n // value must be less than 10\n int64 value = 1 [(buf.validate.field).int64.lt = 10];\n }\n ```\n"},{"path":[4,8,2,1,5],"span":[1112,4,9]},{"path":[4,8,2,1,1],"span":[1112,10,12]},{"path":[4,8,2,1,3],"span":[1112,15,16]},{"path":[4,8,2,1,8],"span":[1112,17,1117,6]},{"path":[4,8,2,1,8,1160,1,0],"span":[1112,18,1117,5]},{"path":[4,8,2,1,8,1160,1,0,1],"span":[1113,6,20]},{"path":[4,8,2,1,8,1160,1,0,3],"span":[1114,6,1116,64]},{"path":[4,8,2,2],"span":[1129,4,1134,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MyInt64 {\n // value must be less than or equal to 10\n int64 value = 1 [(buf.validate.field).int64.lte = 10];\n }\n ```\n"},{"path":[4,8,2,2,5],"span":[1129,4,9]},{"path":[4,8,2,2,1],"span":[1129,10,13]},{"path":[4,8,2,2,3],"span":[1129,16,17]},{"path":[4,8,2,2,8],"span":[1129,18,1134,6]},{"path":[4,8,2,2,8,1160,1,0],"span":[1129,19,1134,5]},{"path":[4,8,2,2,8,1160,1,0,1],"span":[1130,6,21]},{"path":[4,8,2,2,8,1160,1,0,3],"span":[1131,6,1133,77]},{"path":[4,8,8,1],"span":[1136,2,1238,3]},{"path":[4,8,8,1,1],"span":[1136,8,20]},{"path":[4,8,2,3],"span":[1155,4,1186,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyInt64 {\n // value must be greater than 5 [int64.gt]\n int64 value = 1 [(buf.validate.field).int64.gt = 5];\n\n // value must be greater than 5 and less than 10 [int64.gt_lt]\n int64 other_value = 2 [(buf.validate.field).int64 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [int64.gt_lt_exclusive]\n int64 another_value = 3 [(buf.validate.field).int64 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,8,2,3,5],"span":[1155,4,9]},{"path":[4,8,2,3,1],"span":[1155,10,12]},{"path":[4,8,2,3,3],"span":[1155,15,16]},{"path":[4,8,2,3,8],"span":[1155,17,1186,5]},{"path":[4,8,2,3,8,1160,1,0],"span":[1156,6,1161,7]},{"path":[4,8,2,3,8,1160,1,0,1],"span":[1157,8,22]},{"path":[4,8,2,3,8,1160,1,0,3],"span":[1158,8,1160,69]},{"path":[4,8,2,3,8,1160,1,1],"span":[1162,6,1167,7]},{"path":[4,8,2,3,8,1160,1,1,1],"span":[1163,8,25]},{"path":[4,8,2,3,8,1160,1,1,3],"span":[1164,8,1166,96]},{"path":[4,8,2,3,8,1160,1,2],"span":[1168,6,1173,7]},{"path":[4,8,2,3,8,1160,1,2,1],"span":[1169,8,35]},{"path":[4,8,2,3,8,1160,1,2,3],"span":[1170,8,1172,95]},{"path":[4,8,2,3,8,1160,1,3],"span":[1174,6,1179,7]},{"path":[4,8,2,3,8,1160,1,3,1],"span":[1175,8,26]},{"path":[4,8,2,3,8,1160,1,3,3],"span":[1176,8,1178,109]},{"path":[4,8,2,3,8,1160,1,4],"span":[1180,6,1185,7]},{"path":[4,8,2,3,8,1160,1,4,1],"span":[1181,8,36]},{"path":[4,8,2,3,8,1160,1,4,3],"span":[1182,8,1184,108]},{"path":[4,8,2,4],"span":[1206,4,1237,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyInt64 {\n // value must be greater than or equal to 5 [int64.gte]\n int64 value = 1 [(buf.validate.field).int64.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [int64.gte_lt]\n int64 other_value = 2 [(buf.validate.field).int64 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [int64.gte_lt_exclusive]\n int64 another_value = 3 [(buf.validate.field).int64 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,8,2,4,5],"span":[1206,4,9]},{"path":[4,8,2,4,1],"span":[1206,10,13]},{"path":[4,8,2,4,3],"span":[1206,16,17]},{"path":[4,8,2,4,8],"span":[1206,18,1237,5]},{"path":[4,8,2,4,8,1160,1,0],"span":[1207,6,1212,7]},{"path":[4,8,2,4,8,1160,1,0,1],"span":[1208,8,23]},{"path":[4,8,2,4,8,1160,1,0,3],"span":[1209,8,1211,82]},{"path":[4,8,2,4,8,1160,1,1],"span":[1213,6,1218,7]},{"path":[4,8,2,4,8,1160,1,1,1],"span":[1214,8,26]},{"path":[4,8,2,4,8,1160,1,1,3],"span":[1215,8,1217,109]},{"path":[4,8,2,4,8,1160,1,2],"span":[1219,6,1224,7]},{"path":[4,8,2,4,8,1160,1,2,1],"span":[1220,8,36]},{"path":[4,8,2,4,8,1160,1,2,3],"span":[1221,8,1223,108]},{"path":[4,8,2,4,8,1160,1,3],"span":[1225,6,1230,7]},{"path":[4,8,2,4,8,1160,1,3,1],"span":[1226,8,27]},{"path":[4,8,2,4,8,1160,1,3,3],"span":[1227,8,1229,122]},{"path":[4,8,2,4,8,1160,1,4],"span":[1231,6,1236,7]},{"path":[4,8,2,4,8,1160,1,4,1],"span":[1232,8,37]},{"path":[4,8,2,4,8,1160,1,4,3],"span":[1233,8,1235,121]},{"path":[4,8,2,5],"span":[1250,2,1253,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message is\n generated.\n\n ```proto\n message MyInt64 {\n // value must be in list [1, 2, 3]\n int64 value = 1 [(buf.validate.field).int64 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,8,2,5,4],"span":[1250,2,10]},{"path":[4,8,2,5,5],"span":[1250,11,16]},{"path":[4,8,2,5,1],"span":[1250,17,19]},{"path":[4,8,2,5,3],"span":[1250,22,23]},{"path":[4,8,2,5,8],"span":[1250,24,1253,4]},{"path":[4,8,2,5,8,1160,1,0],"span":[1250,25,1253,3]},{"path":[4,8,2,5,8,1160,1,0,1],"span":[1251,4,18]},{"path":[4,8,2,5,8,1160,1,0,3],"span":[1252,4,116]},{"path":[4,8,2,6],"span":[1265,2,1268,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MyInt64 {\n // value must not be in list [1, 2, 3]\n int64 value = 1 [(buf.validate.field).int64 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,8,2,6,4],"span":[1265,2,10]},{"path":[4,8,2,6,5],"span":[1265,11,16]},{"path":[4,8,2,6,1],"span":[1265,17,23]},{"path":[4,8,2,6,3],"span":[1265,26,27]},{"path":[4,8,2,6,8],"span":[1265,28,1268,4]},{"path":[4,8,2,6,8,1160,1,0],"span":[1265,29,1268,3]},{"path":[4,8,2,6,8,1160,1,0,1],"span":[1266,4,22]},{"path":[4,8,2,6,8,1160,1,0,3],"span":[1267,4,99]},{"path":[4,8,2,7],"span":[1282,2,1285,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyInt64 {\n int64 value = 1 [\n (buf.validate.field).int64.example = 1,\n (buf.validate.field).int64.example = -10\n ];\n }\n ```\n"},{"path":[4,8,2,7,4],"span":[1282,2,10]},{"path":[4,8,2,7,5],"span":[1282,11,16]},{"path":[4,8,2,7,1],"span":[1282,17,24]},{"path":[4,8,2,7,3],"span":[1282,27,28]},{"path":[4,8,2,7,8],"span":[1282,29,1285,4]},{"path":[4,8,2,7,8,1160,1,0],"span":[1282,30,1285,3]},{"path":[4,8,2,7,8,1160,1,0,1],"span":[1283,4,23]},{"path":[4,8,2,7,8,1160,1,0,3],"span":[1284,4,22]},{"path":[4,8,5],"span":[1297,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,8,5,0],"span":[1297,13,24]},{"path":[4,8,5,0,1],"span":[1297,13,17]},{"path":[4,8,5,0,2],"span":[1297,21,24]},{"path":[4,9],"span":[1302,0,1513,1],"leadingComments":" UInt32Rules describes the rules applied to `uint32` values. These\n rules may also be applied to the `google.protobuf.UInt32Value` Well-Known-Type.\n"},{"path":[4,9,1],"span":[1302,8,19]},{"path":[4,9,2,0],"span":[1312,2,1315,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MyUInt32 {\n // value must equal 42\n uint32 value = 1 [(buf.validate.field).uint32.const = 42];\n }\n ```\n"},{"path":[4,9,2,0,4],"span":[1312,2,10]},{"path":[4,9,2,0,5],"span":[1312,11,17]},{"path":[4,9,2,0,1],"span":[1312,18,23]},{"path":[4,9,2,0,3],"span":[1312,26,27]},{"path":[4,9,2,0,8],"span":[1312,28,1315,4]},{"path":[4,9,2,0,8,1160,1,0],"span":[1312,29,1315,3]},{"path":[4,9,2,0,8,1160,1,0,1],"span":[1313,4,22]},{"path":[4,9,2,0,8,1160,1,0,3],"span":[1314,4,114]},{"path":[4,9,8,0],"span":[1316,2,1350,3]},{"path":[4,9,8,0,1],"span":[1316,8,17]},{"path":[4,9,2,1],"span":[1327,4,1332,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field <\n value). If the field value is equal to or greater than the specified value,\n an error message is generated.\n\n ```proto\n message MyUInt32 {\n // value must be less than 10\n uint32 value = 1 [(buf.validate.field).uint32.lt = 10];\n }\n ```\n"},{"path":[4,9,2,1,5],"span":[1327,4,10]},{"path":[4,9,2,1,1],"span":[1327,11,13]},{"path":[4,9,2,1,3],"span":[1327,16,17]},{"path":[4,9,2,1,8],"span":[1327,18,1332,6]},{"path":[4,9,2,1,8,1160,1,0],"span":[1327,19,1332,5]},{"path":[4,9,2,1,8,1160,1,0,1],"span":[1328,6,21]},{"path":[4,9,2,1,8,1160,1,0,3],"span":[1329,6,1331,64]},{"path":[4,9,2,2],"span":[1344,4,1349,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MyUInt32 {\n // value must be less than or equal to 10\n uint32 value = 1 [(buf.validate.field).uint32.lte = 10];\n }\n ```\n"},{"path":[4,9,2,2,5],"span":[1344,4,10]},{"path":[4,9,2,2,1],"span":[1344,11,14]},{"path":[4,9,2,2,3],"span":[1344,17,18]},{"path":[4,9,2,2,8],"span":[1344,19,1349,6]},{"path":[4,9,2,2,8,1160,1,0],"span":[1344,20,1349,5]},{"path":[4,9,2,2,8,1160,1,0,1],"span":[1345,6,22]},{"path":[4,9,2,2,8,1160,1,0,3],"span":[1346,6,1348,77]},{"path":[4,9,8,1],"span":[1351,2,1453,3]},{"path":[4,9,8,1,1],"span":[1351,8,20]},{"path":[4,9,2,3],"span":[1370,4,1401,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyUInt32 {\n // value must be greater than 5 [uint32.gt]\n uint32 value = 1 [(buf.validate.field).uint32.gt = 5];\n\n // value must be greater than 5 and less than 10 [uint32.gt_lt]\n uint32 other_value = 2 [(buf.validate.field).uint32 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [uint32.gt_lt_exclusive]\n uint32 another_value = 3 [(buf.validate.field).uint32 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,9,2,3,5],"span":[1370,4,10]},{"path":[4,9,2,3,1],"span":[1370,11,13]},{"path":[4,9,2,3,3],"span":[1370,16,17]},{"path":[4,9,2,3,8],"span":[1370,18,1401,5]},{"path":[4,9,2,3,8,1160,1,0],"span":[1371,6,1376,7]},{"path":[4,9,2,3,8,1160,1,0,1],"span":[1372,8,23]},{"path":[4,9,2,3,8,1160,1,0,3],"span":[1373,8,1375,69]},{"path":[4,9,2,3,8,1160,1,1],"span":[1377,6,1382,7]},{"path":[4,9,2,3,8,1160,1,1,1],"span":[1378,8,26]},{"path":[4,9,2,3,8,1160,1,1,3],"span":[1379,8,1381,96]},{"path":[4,9,2,3,8,1160,1,2],"span":[1383,6,1388,7]},{"path":[4,9,2,3,8,1160,1,2,1],"span":[1384,8,36]},{"path":[4,9,2,3,8,1160,1,2,3],"span":[1385,8,1387,95]},{"path":[4,9,2,3,8,1160,1,3],"span":[1389,6,1394,7]},{"path":[4,9,2,3,8,1160,1,3,1],"span":[1390,8,27]},{"path":[4,9,2,3,8,1160,1,3,3],"span":[1391,8,1393,109]},{"path":[4,9,2,3,8,1160,1,4],"span":[1395,6,1400,7]},{"path":[4,9,2,3,8,1160,1,4,1],"span":[1396,8,37]},{"path":[4,9,2,3,8,1160,1,4,3],"span":[1397,8,1399,108]},{"path":[4,9,2,4],"span":[1421,4,1452,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyUInt32 {\n // value must be greater than or equal to 5 [uint32.gte]\n uint32 value = 1 [(buf.validate.field).uint32.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [uint32.gte_lt]\n uint32 other_value = 2 [(buf.validate.field).uint32 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [uint32.gte_lt_exclusive]\n uint32 another_value = 3 [(buf.validate.field).uint32 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,9,2,4,5],"span":[1421,4,10]},{"path":[4,9,2,4,1],"span":[1421,11,14]},{"path":[4,9,2,4,3],"span":[1421,17,18]},{"path":[4,9,2,4,8],"span":[1421,19,1452,5]},{"path":[4,9,2,4,8,1160,1,0],"span":[1422,6,1427,7]},{"path":[4,9,2,4,8,1160,1,0,1],"span":[1423,8,24]},{"path":[4,9,2,4,8,1160,1,0,3],"span":[1424,8,1426,82]},{"path":[4,9,2,4,8,1160,1,1],"span":[1428,6,1433,7]},{"path":[4,9,2,4,8,1160,1,1,1],"span":[1429,8,27]},{"path":[4,9,2,4,8,1160,1,1,3],"span":[1430,8,1432,109]},{"path":[4,9,2,4,8,1160,1,2],"span":[1434,6,1439,7]},{"path":[4,9,2,4,8,1160,1,2,1],"span":[1435,8,37]},{"path":[4,9,2,4,8,1160,1,2,3],"span":[1436,8,1438,108]},{"path":[4,9,2,4,8,1160,1,3],"span":[1440,6,1445,7]},{"path":[4,9,2,4,8,1160,1,3,1],"span":[1441,8,28]},{"path":[4,9,2,4,8,1160,1,3,3],"span":[1442,8,1444,122]},{"path":[4,9,2,4,8,1160,1,4],"span":[1446,6,1451,7]},{"path":[4,9,2,4,8,1160,1,4,1],"span":[1447,8,38]},{"path":[4,9,2,4,8,1160,1,4,3],"span":[1448,8,1450,121]},{"path":[4,9,2,5],"span":[1465,2,1468,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message is\n generated.\n\n ```proto\n message MyUInt32 {\n // value must be in list [1, 2, 3]\n uint32 value = 1 [(buf.validate.field).uint32 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,9,2,5,4],"span":[1465,2,10]},{"path":[4,9,2,5,5],"span":[1465,11,17]},{"path":[4,9,2,5,1],"span":[1465,18,20]},{"path":[4,9,2,5,3],"span":[1465,23,24]},{"path":[4,9,2,5,8],"span":[1465,25,1468,4]},{"path":[4,9,2,5,8,1160,1,0],"span":[1465,26,1468,3]},{"path":[4,9,2,5,8,1160,1,0,1],"span":[1466,4,19]},{"path":[4,9,2,5,8,1160,1,0,3],"span":[1467,4,116]},{"path":[4,9,2,6],"span":[1480,2,1483,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MyUInt32 {\n // value must not be in list [1, 2, 3]\n uint32 value = 1 [(buf.validate.field).uint32 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,9,2,6,4],"span":[1480,2,10]},{"path":[4,9,2,6,5],"span":[1480,11,17]},{"path":[4,9,2,6,1],"span":[1480,18,24]},{"path":[4,9,2,6,3],"span":[1480,27,28]},{"path":[4,9,2,6,8],"span":[1480,29,1483,4]},{"path":[4,9,2,6,8,1160,1,0],"span":[1480,30,1483,3]},{"path":[4,9,2,6,8,1160,1,0,1],"span":[1481,4,23]},{"path":[4,9,2,6,8,1160,1,0,3],"span":[1482,4,99]},{"path":[4,9,2,7],"span":[1497,2,1500,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyUInt32 {\n uint32 value = 1 [\n (buf.validate.field).uint32.example = 1,\n (buf.validate.field).uint32.example = 10\n ];\n }\n ```\n"},{"path":[4,9,2,7,4],"span":[1497,2,10]},{"path":[4,9,2,7,5],"span":[1497,11,17]},{"path":[4,9,2,7,1],"span":[1497,18,25]},{"path":[4,9,2,7,3],"span":[1497,28,29]},{"path":[4,9,2,7,8],"span":[1497,30,1500,4]},{"path":[4,9,2,7,8,1160,1,0],"span":[1497,31,1500,3]},{"path":[4,9,2,7,8,1160,1,0,1],"span":[1498,4,24]},{"path":[4,9,2,7,8,1160,1,0,3],"span":[1499,4,22]},{"path":[4,9,5],"span":[1512,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,9,5,0],"span":[1512,13,24]},{"path":[4,9,5,0,1],"span":[1512,13,17]},{"path":[4,9,5,0,2],"span":[1512,21,24]},{"path":[4,10],"span":[1517,0,1727,1],"leadingComments":" UInt64Rules describes the rules applied to `uint64` values. These\n rules may also be applied to the `google.protobuf.UInt64Value` Well-Known-Type.\n"},{"path":[4,10,1],"span":[1517,8,19]},{"path":[4,10,2,0],"span":[1527,2,1530,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MyUInt64 {\n // value must equal 42\n uint64 value = 1 [(buf.validate.field).uint64.const = 42];\n }\n ```\n"},{"path":[4,10,2,0,4],"span":[1527,2,10]},{"path":[4,10,2,0,5],"span":[1527,11,17]},{"path":[4,10,2,0,1],"span":[1527,18,23]},{"path":[4,10,2,0,3],"span":[1527,26,27]},{"path":[4,10,2,0,8],"span":[1527,28,1530,4]},{"path":[4,10,2,0,8,1160,1,0],"span":[1527,29,1530,3]},{"path":[4,10,2,0,8,1160,1,0,1],"span":[1528,4,22]},{"path":[4,10,2,0,8,1160,1,0,3],"span":[1529,4,114]},{"path":[4,10,8,0],"span":[1531,2,1565,3]},{"path":[4,10,8,0,1],"span":[1531,8,17]},{"path":[4,10,2,1],"span":[1542,4,1547,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field <\n value). If the field value is equal to or greater than the specified value,\n an error message is generated.\n\n ```proto\n message MyUInt64 {\n // value must be less than 10\n uint64 value = 1 [(buf.validate.field).uint64.lt = 10];\n }\n ```\n"},{"path":[4,10,2,1,5],"span":[1542,4,10]},{"path":[4,10,2,1,1],"span":[1542,11,13]},{"path":[4,10,2,1,3],"span":[1542,16,17]},{"path":[4,10,2,1,8],"span":[1542,18,1547,6]},{"path":[4,10,2,1,8,1160,1,0],"span":[1542,19,1547,5]},{"path":[4,10,2,1,8,1160,1,0,1],"span":[1543,6,21]},{"path":[4,10,2,1,8,1160,1,0,3],"span":[1544,6,1546,64]},{"path":[4,10,2,2],"span":[1559,4,1564,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MyUInt64 {\n // value must be less than or equal to 10\n uint64 value = 1 [(buf.validate.field).uint64.lte = 10];\n }\n ```\n"},{"path":[4,10,2,2,5],"span":[1559,4,10]},{"path":[4,10,2,2,1],"span":[1559,11,14]},{"path":[4,10,2,2,3],"span":[1559,17,18]},{"path":[4,10,2,2,8],"span":[1559,19,1564,6]},{"path":[4,10,2,2,8,1160,1,0],"span":[1559,20,1564,5]},{"path":[4,10,2,2,8,1160,1,0,1],"span":[1560,6,22]},{"path":[4,10,2,2,8,1160,1,0,3],"span":[1561,6,1563,77]},{"path":[4,10,8,1],"span":[1566,2,1668,3]},{"path":[4,10,8,1,1],"span":[1566,8,20]},{"path":[4,10,2,3],"span":[1585,4,1616,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyUInt64 {\n // value must be greater than 5 [uint64.gt]\n uint64 value = 1 [(buf.validate.field).uint64.gt = 5];\n\n // value must be greater than 5 and less than 10 [uint64.gt_lt]\n uint64 other_value = 2 [(buf.validate.field).uint64 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [uint64.gt_lt_exclusive]\n uint64 another_value = 3 [(buf.validate.field).uint64 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,10,2,3,5],"span":[1585,4,10]},{"path":[4,10,2,3,1],"span":[1585,11,13]},{"path":[4,10,2,3,3],"span":[1585,16,17]},{"path":[4,10,2,3,8],"span":[1585,18,1616,5]},{"path":[4,10,2,3,8,1160,1,0],"span":[1586,6,1591,7]},{"path":[4,10,2,3,8,1160,1,0,1],"span":[1587,8,23]},{"path":[4,10,2,3,8,1160,1,0,3],"span":[1588,8,1590,69]},{"path":[4,10,2,3,8,1160,1,1],"span":[1592,6,1597,7]},{"path":[4,10,2,3,8,1160,1,1,1],"span":[1593,8,26]},{"path":[4,10,2,3,8,1160,1,1,3],"span":[1594,8,1596,96]},{"path":[4,10,2,3,8,1160,1,2],"span":[1598,6,1603,7]},{"path":[4,10,2,3,8,1160,1,2,1],"span":[1599,8,36]},{"path":[4,10,2,3,8,1160,1,2,3],"span":[1600,8,1602,95]},{"path":[4,10,2,3,8,1160,1,3],"span":[1604,6,1609,7]},{"path":[4,10,2,3,8,1160,1,3,1],"span":[1605,8,27]},{"path":[4,10,2,3,8,1160,1,3,3],"span":[1606,8,1608,109]},{"path":[4,10,2,3,8,1160,1,4],"span":[1610,6,1615,7]},{"path":[4,10,2,3,8,1160,1,4,1],"span":[1611,8,37]},{"path":[4,10,2,3,8,1160,1,4,3],"span":[1612,8,1614,108]},{"path":[4,10,2,4],"span":[1636,4,1667,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyUInt64 {\n // value must be greater than or equal to 5 [uint64.gte]\n uint64 value = 1 [(buf.validate.field).uint64.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [uint64.gte_lt]\n uint64 other_value = 2 [(buf.validate.field).uint64 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [uint64.gte_lt_exclusive]\n uint64 another_value = 3 [(buf.validate.field).uint64 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,10,2,4,5],"span":[1636,4,10]},{"path":[4,10,2,4,1],"span":[1636,11,14]},{"path":[4,10,2,4,3],"span":[1636,17,18]},{"path":[4,10,2,4,8],"span":[1636,19,1667,5]},{"path":[4,10,2,4,8,1160,1,0],"span":[1637,6,1642,7]},{"path":[4,10,2,4,8,1160,1,0,1],"span":[1638,8,24]},{"path":[4,10,2,4,8,1160,1,0,3],"span":[1639,8,1641,82]},{"path":[4,10,2,4,8,1160,1,1],"span":[1643,6,1648,7]},{"path":[4,10,2,4,8,1160,1,1,1],"span":[1644,8,27]},{"path":[4,10,2,4,8,1160,1,1,3],"span":[1645,8,1647,109]},{"path":[4,10,2,4,8,1160,1,2],"span":[1649,6,1654,7]},{"path":[4,10,2,4,8,1160,1,2,1],"span":[1650,8,37]},{"path":[4,10,2,4,8,1160,1,2,3],"span":[1651,8,1653,108]},{"path":[4,10,2,4,8,1160,1,3],"span":[1655,6,1660,7]},{"path":[4,10,2,4,8,1160,1,3,1],"span":[1656,8,28]},{"path":[4,10,2,4,8,1160,1,3,3],"span":[1657,8,1659,122]},{"path":[4,10,2,4,8,1160,1,4],"span":[1661,6,1666,7]},{"path":[4,10,2,4,8,1160,1,4,1],"span":[1662,8,38]},{"path":[4,10,2,4,8,1160,1,4,3],"span":[1663,8,1665,121]},{"path":[4,10,2,5],"span":[1679,2,1682,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message is\n generated.\n\n ```proto\n message MyUInt64 {\n // value must be in list [1, 2, 3]\n uint64 value = 1 [(buf.validate.field).uint64 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,10,2,5,4],"span":[1679,2,10]},{"path":[4,10,2,5,5],"span":[1679,11,17]},{"path":[4,10,2,5,1],"span":[1679,18,20]},{"path":[4,10,2,5,3],"span":[1679,23,24]},{"path":[4,10,2,5,8],"span":[1679,25,1682,4]},{"path":[4,10,2,5,8,1160,1,0],"span":[1679,26,1682,3]},{"path":[4,10,2,5,8,1160,1,0,1],"span":[1680,4,19]},{"path":[4,10,2,5,8,1160,1,0,3],"span":[1681,4,116]},{"path":[4,10,2,6],"span":[1694,2,1697,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MyUInt64 {\n // value must not be in list [1, 2, 3]\n uint64 value = 1 [(buf.validate.field).uint64 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,10,2,6,4],"span":[1694,2,10]},{"path":[4,10,2,6,5],"span":[1694,11,17]},{"path":[4,10,2,6,1],"span":[1694,18,24]},{"path":[4,10,2,6,3],"span":[1694,27,28]},{"path":[4,10,2,6,8],"span":[1694,29,1697,4]},{"path":[4,10,2,6,8,1160,1,0],"span":[1694,30,1697,3]},{"path":[4,10,2,6,8,1160,1,0,1],"span":[1695,4,23]},{"path":[4,10,2,6,8,1160,1,0,3],"span":[1696,4,99]},{"path":[4,10,2,7],"span":[1711,2,1714,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyUInt64 {\n uint64 value = 1 [\n (buf.validate.field).uint64.example = 1,\n (buf.validate.field).uint64.example = -10\n ];\n }\n ```\n"},{"path":[4,10,2,7,4],"span":[1711,2,10]},{"path":[4,10,2,7,5],"span":[1711,11,17]},{"path":[4,10,2,7,1],"span":[1711,18,25]},{"path":[4,10,2,7,3],"span":[1711,28,29]},{"path":[4,10,2,7,8],"span":[1711,30,1714,4]},{"path":[4,10,2,7,8,1160,1,0],"span":[1711,31,1714,3]},{"path":[4,10,2,7,8,1160,1,0,1],"span":[1712,4,24]},{"path":[4,10,2,7,8,1160,1,0,3],"span":[1713,4,22]},{"path":[4,10,5],"span":[1726,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,10,5,0],"span":[1726,13,24]},{"path":[4,10,5,0,1],"span":[1726,13,17]},{"path":[4,10,5,0,2],"span":[1726,21,24]},{"path":[4,11],"span":[1730,0,1941,1],"leadingComments":" SInt32Rules describes the rules applied to `sint32` values.\n"},{"path":[4,11,1],"span":[1730,8,19]},{"path":[4,11,2,0],"span":[1740,2,1743,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MySInt32 {\n // value must equal 42\n sint32 value = 1 [(buf.validate.field).sint32.const = 42];\n }\n ```\n"},{"path":[4,11,2,0,4],"span":[1740,2,10]},{"path":[4,11,2,0,5],"span":[1740,11,17]},{"path":[4,11,2,0,1],"span":[1740,18,23]},{"path":[4,11,2,0,3],"span":[1740,26,27]},{"path":[4,11,2,0,8],"span":[1740,28,1743,4]},{"path":[4,11,2,0,8,1160,1,0],"span":[1740,29,1743,3]},{"path":[4,11,2,0,8,1160,1,0,1],"span":[1741,4,22]},{"path":[4,11,2,0,8,1160,1,0,3],"span":[1742,4,114]},{"path":[4,11,8,0],"span":[1744,2,1778,3]},{"path":[4,11,8,0,1],"span":[1744,8,17]},{"path":[4,11,2,1],"span":[1755,4,1760,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field\n < value). If the field value is equal to or greater than the specified\n value, an error message is generated.\n\n ```proto\n message MySInt32 {\n // value must be less than 10\n sint32 value = 1 [(buf.validate.field).sint32.lt = 10];\n }\n ```\n"},{"path":[4,11,2,1,5],"span":[1755,4,10]},{"path":[4,11,2,1,1],"span":[1755,11,13]},{"path":[4,11,2,1,3],"span":[1755,16,17]},{"path":[4,11,2,1,8],"span":[1755,18,1760,6]},{"path":[4,11,2,1,8,1160,1,0],"span":[1755,19,1760,5]},{"path":[4,11,2,1,8,1160,1,0,1],"span":[1756,6,21]},{"path":[4,11,2,1,8,1160,1,0,3],"span":[1757,6,1759,64]},{"path":[4,11,2,2],"span":[1772,4,1777,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MySInt32 {\n // value must be less than or equal to 10\n sint32 value = 1 [(buf.validate.field).sint32.lte = 10];\n }\n ```\n"},{"path":[4,11,2,2,5],"span":[1772,4,10]},{"path":[4,11,2,2,1],"span":[1772,11,14]},{"path":[4,11,2,2,3],"span":[1772,17,18]},{"path":[4,11,2,2,8],"span":[1772,19,1777,6]},{"path":[4,11,2,2,8,1160,1,0],"span":[1772,20,1777,5]},{"path":[4,11,2,2,8,1160,1,0,1],"span":[1773,6,22]},{"path":[4,11,2,2,8,1160,1,0,3],"span":[1774,6,1776,77]},{"path":[4,11,8,1],"span":[1779,2,1881,3]},{"path":[4,11,8,1,1],"span":[1779,8,20]},{"path":[4,11,2,3],"span":[1798,4,1829,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MySInt32 {\n // value must be greater than 5 [sint32.gt]\n sint32 value = 1 [(buf.validate.field).sint32.gt = 5];\n\n // value must be greater than 5 and less than 10 [sint32.gt_lt]\n sint32 other_value = 2 [(buf.validate.field).sint32 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [sint32.gt_lt_exclusive]\n sint32 another_value = 3 [(buf.validate.field).sint32 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,11,2,3,5],"span":[1798,4,10]},{"path":[4,11,2,3,1],"span":[1798,11,13]},{"path":[4,11,2,3,3],"span":[1798,16,17]},{"path":[4,11,2,3,8],"span":[1798,18,1829,5]},{"path":[4,11,2,3,8,1160,1,0],"span":[1799,6,1804,7]},{"path":[4,11,2,3,8,1160,1,0,1],"span":[1800,8,23]},{"path":[4,11,2,3,8,1160,1,0,3],"span":[1801,8,1803,69]},{"path":[4,11,2,3,8,1160,1,1],"span":[1805,6,1810,7]},{"path":[4,11,2,3,8,1160,1,1,1],"span":[1806,8,26]},{"path":[4,11,2,3,8,1160,1,1,3],"span":[1807,8,1809,96]},{"path":[4,11,2,3,8,1160,1,2],"span":[1811,6,1816,7]},{"path":[4,11,2,3,8,1160,1,2,1],"span":[1812,8,36]},{"path":[4,11,2,3,8,1160,1,2,3],"span":[1813,8,1815,95]},{"path":[4,11,2,3,8,1160,1,3],"span":[1817,6,1822,7]},{"path":[4,11,2,3,8,1160,1,3,1],"span":[1818,8,27]},{"path":[4,11,2,3,8,1160,1,3,3],"span":[1819,8,1821,109]},{"path":[4,11,2,3,8,1160,1,4],"span":[1823,6,1828,7]},{"path":[4,11,2,3,8,1160,1,4,1],"span":[1824,8,37]},{"path":[4,11,2,3,8,1160,1,4,3],"span":[1825,8,1827,108]},{"path":[4,11,2,4],"span":[1849,4,1880,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MySInt32 {\n // value must be greater than or equal to 5 [sint32.gte]\n sint32 value = 1 [(buf.validate.field).sint32.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [sint32.gte_lt]\n sint32 other_value = 2 [(buf.validate.field).sint32 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [sint32.gte_lt_exclusive]\n sint32 another_value = 3 [(buf.validate.field).sint32 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,11,2,4,5],"span":[1849,4,10]},{"path":[4,11,2,4,1],"span":[1849,11,14]},{"path":[4,11,2,4,3],"span":[1849,17,18]},{"path":[4,11,2,4,8],"span":[1849,19,1880,5]},{"path":[4,11,2,4,8,1160,1,0],"span":[1850,6,1855,7]},{"path":[4,11,2,4,8,1160,1,0,1],"span":[1851,8,24]},{"path":[4,11,2,4,8,1160,1,0,3],"span":[1852,8,1854,82]},{"path":[4,11,2,4,8,1160,1,1],"span":[1856,6,1861,7]},{"path":[4,11,2,4,8,1160,1,1,1],"span":[1857,8,27]},{"path":[4,11,2,4,8,1160,1,1,3],"span":[1858,8,1860,109]},{"path":[4,11,2,4,8,1160,1,2],"span":[1862,6,1867,7]},{"path":[4,11,2,4,8,1160,1,2,1],"span":[1863,8,37]},{"path":[4,11,2,4,8,1160,1,2,3],"span":[1864,8,1866,108]},{"path":[4,11,2,4,8,1160,1,3],"span":[1868,6,1873,7]},{"path":[4,11,2,4,8,1160,1,3,1],"span":[1869,8,28]},{"path":[4,11,2,4,8,1160,1,3,3],"span":[1870,8,1872,122]},{"path":[4,11,2,4,8,1160,1,4],"span":[1874,6,1879,7]},{"path":[4,11,2,4,8,1160,1,4,1],"span":[1875,8,38]},{"path":[4,11,2,4,8,1160,1,4,3],"span":[1876,8,1878,121]},{"path":[4,11,2,5],"span":[1893,2,1896,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message is\n generated.\n\n ```proto\n message MySInt32 {\n // value must be in list [1, 2, 3]\n sint32 value = 1 [(buf.validate.field).sint32 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,11,2,5,4],"span":[1893,2,10]},{"path":[4,11,2,5,5],"span":[1893,11,17]},{"path":[4,11,2,5,1],"span":[1893,18,20]},{"path":[4,11,2,5,3],"span":[1893,23,24]},{"path":[4,11,2,5,8],"span":[1893,25,1896,4]},{"path":[4,11,2,5,8,1160,1,0],"span":[1893,26,1896,3]},{"path":[4,11,2,5,8,1160,1,0,1],"span":[1894,4,19]},{"path":[4,11,2,5,8,1160,1,0,3],"span":[1895,4,116]},{"path":[4,11,2,6],"span":[1908,2,1911,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MySInt32 {\n // value must not be in list [1, 2, 3]\n sint32 value = 1 [(buf.validate.field).sint32 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,11,2,6,4],"span":[1908,2,10]},{"path":[4,11,2,6,5],"span":[1908,11,17]},{"path":[4,11,2,6,1],"span":[1908,18,24]},{"path":[4,11,2,6,3],"span":[1908,27,28]},{"path":[4,11,2,6,8],"span":[1908,29,1911,4]},{"path":[4,11,2,6,8,1160,1,0],"span":[1908,30,1911,3]},{"path":[4,11,2,6,8,1160,1,0,1],"span":[1909,4,23]},{"path":[4,11,2,6,8,1160,1,0,3],"span":[1910,4,99]},{"path":[4,11,2,7],"span":[1925,2,1928,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MySInt32 {\n sint32 value = 1 [\n (buf.validate.field).sint32.example = 1,\n (buf.validate.field).sint32.example = -10\n ];\n }\n ```\n"},{"path":[4,11,2,7,4],"span":[1925,2,10]},{"path":[4,11,2,7,5],"span":[1925,11,17]},{"path":[4,11,2,7,1],"span":[1925,18,25]},{"path":[4,11,2,7,3],"span":[1925,28,29]},{"path":[4,11,2,7,8],"span":[1925,30,1928,4]},{"path":[4,11,2,7,8,1160,1,0],"span":[1925,31,1928,3]},{"path":[4,11,2,7,8,1160,1,0,1],"span":[1926,4,24]},{"path":[4,11,2,7,8,1160,1,0,3],"span":[1927,4,22]},{"path":[4,11,5],"span":[1940,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,11,5,0],"span":[1940,13,24]},{"path":[4,11,5,0,1],"span":[1940,13,17]},{"path":[4,11,5,0,2],"span":[1940,21,24]},{"path":[4,12],"span":[1944,0,2155,1],"leadingComments":" SInt64Rules describes the rules applied to `sint64` values.\n"},{"path":[4,12,1],"span":[1944,8,19]},{"path":[4,12,2,0],"span":[1954,2,1957,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MySInt64 {\n // value must equal 42\n sint64 value = 1 [(buf.validate.field).sint64.const = 42];\n }\n ```\n"},{"path":[4,12,2,0,4],"span":[1954,2,10]},{"path":[4,12,2,0,5],"span":[1954,11,17]},{"path":[4,12,2,0,1],"span":[1954,18,23]},{"path":[4,12,2,0,3],"span":[1954,26,27]},{"path":[4,12,2,0,8],"span":[1954,28,1957,4]},{"path":[4,12,2,0,8,1160,1,0],"span":[1954,29,1957,3]},{"path":[4,12,2,0,8,1160,1,0,1],"span":[1955,4,22]},{"path":[4,12,2,0,8,1160,1,0,3],"span":[1956,4,114]},{"path":[4,12,8,0],"span":[1958,2,1992,3]},{"path":[4,12,8,0,1],"span":[1958,8,17]},{"path":[4,12,2,1],"span":[1969,4,1974,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field\n < value). If the field value is equal to or greater than the specified\n value, an error message is generated.\n\n ```proto\n message MySInt64 {\n // value must be less than 10\n sint64 value = 1 [(buf.validate.field).sint64.lt = 10];\n }\n ```\n"},{"path":[4,12,2,1,5],"span":[1969,4,10]},{"path":[4,12,2,1,1],"span":[1969,11,13]},{"path":[4,12,2,1,3],"span":[1969,16,17]},{"path":[4,12,2,1,8],"span":[1969,18,1974,6]},{"path":[4,12,2,1,8,1160,1,0],"span":[1969,19,1974,5]},{"path":[4,12,2,1,8,1160,1,0,1],"span":[1970,6,21]},{"path":[4,12,2,1,8,1160,1,0,3],"span":[1971,6,1973,64]},{"path":[4,12,2,2],"span":[1986,4,1991,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MySInt64 {\n // value must be less than or equal to 10\n sint64 value = 1 [(buf.validate.field).sint64.lte = 10];\n }\n ```\n"},{"path":[4,12,2,2,5],"span":[1986,4,10]},{"path":[4,12,2,2,1],"span":[1986,11,14]},{"path":[4,12,2,2,3],"span":[1986,17,18]},{"path":[4,12,2,2,8],"span":[1986,19,1991,6]},{"path":[4,12,2,2,8,1160,1,0],"span":[1986,20,1991,5]},{"path":[4,12,2,2,8,1160,1,0,1],"span":[1987,6,22]},{"path":[4,12,2,2,8,1160,1,0,3],"span":[1988,6,1990,77]},{"path":[4,12,8,1],"span":[1993,2,2095,3]},{"path":[4,12,8,1,1],"span":[1993,8,20]},{"path":[4,12,2,3],"span":[2012,4,2043,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MySInt64 {\n // value must be greater than 5 [sint64.gt]\n sint64 value = 1 [(buf.validate.field).sint64.gt = 5];\n\n // value must be greater than 5 and less than 10 [sint64.gt_lt]\n sint64 other_value = 2 [(buf.validate.field).sint64 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [sint64.gt_lt_exclusive]\n sint64 another_value = 3 [(buf.validate.field).sint64 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,12,2,3,5],"span":[2012,4,10]},{"path":[4,12,2,3,1],"span":[2012,11,13]},{"path":[4,12,2,3,3],"span":[2012,16,17]},{"path":[4,12,2,3,8],"span":[2012,18,2043,5]},{"path":[4,12,2,3,8,1160,1,0],"span":[2013,6,2018,7]},{"path":[4,12,2,3,8,1160,1,0,1],"span":[2014,8,23]},{"path":[4,12,2,3,8,1160,1,0,3],"span":[2015,8,2017,69]},{"path":[4,12,2,3,8,1160,1,1],"span":[2019,6,2024,7]},{"path":[4,12,2,3,8,1160,1,1,1],"span":[2020,8,26]},{"path":[4,12,2,3,8,1160,1,1,3],"span":[2021,8,2023,96]},{"path":[4,12,2,3,8,1160,1,2],"span":[2025,6,2030,7]},{"path":[4,12,2,3,8,1160,1,2,1],"span":[2026,8,36]},{"path":[4,12,2,3,8,1160,1,2,3],"span":[2027,8,2029,95]},{"path":[4,12,2,3,8,1160,1,3],"span":[2031,6,2036,7]},{"path":[4,12,2,3,8,1160,1,3,1],"span":[2032,8,27]},{"path":[4,12,2,3,8,1160,1,3,3],"span":[2033,8,2035,109]},{"path":[4,12,2,3,8,1160,1,4],"span":[2037,6,2042,7]},{"path":[4,12,2,3,8,1160,1,4,1],"span":[2038,8,37]},{"path":[4,12,2,3,8,1160,1,4,3],"span":[2039,8,2041,108]},{"path":[4,12,2,4],"span":[2063,4,2094,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MySInt64 {\n // value must be greater than or equal to 5 [sint64.gte]\n sint64 value = 1 [(buf.validate.field).sint64.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [sint64.gte_lt]\n sint64 other_value = 2 [(buf.validate.field).sint64 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [sint64.gte_lt_exclusive]\n sint64 another_value = 3 [(buf.validate.field).sint64 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,12,2,4,5],"span":[2063,4,10]},{"path":[4,12,2,4,1],"span":[2063,11,14]},{"path":[4,12,2,4,3],"span":[2063,17,18]},{"path":[4,12,2,4,8],"span":[2063,19,2094,5]},{"path":[4,12,2,4,8,1160,1,0],"span":[2064,6,2069,7]},{"path":[4,12,2,4,8,1160,1,0,1],"span":[2065,8,24]},{"path":[4,12,2,4,8,1160,1,0,3],"span":[2066,8,2068,82]},{"path":[4,12,2,4,8,1160,1,1],"span":[2070,6,2075,7]},{"path":[4,12,2,4,8,1160,1,1,1],"span":[2071,8,27]},{"path":[4,12,2,4,8,1160,1,1,3],"span":[2072,8,2074,109]},{"path":[4,12,2,4,8,1160,1,2],"span":[2076,6,2081,7]},{"path":[4,12,2,4,8,1160,1,2,1],"span":[2077,8,37]},{"path":[4,12,2,4,8,1160,1,2,3],"span":[2078,8,2080,108]},{"path":[4,12,2,4,8,1160,1,3],"span":[2082,6,2087,7]},{"path":[4,12,2,4,8,1160,1,3,1],"span":[2083,8,28]},{"path":[4,12,2,4,8,1160,1,3,3],"span":[2084,8,2086,122]},{"path":[4,12,2,4,8,1160,1,4],"span":[2088,6,2093,7]},{"path":[4,12,2,4,8,1160,1,4,1],"span":[2089,8,38]},{"path":[4,12,2,4,8,1160,1,4,3],"span":[2090,8,2092,121]},{"path":[4,12,2,5],"span":[2107,2,2110,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message\n is generated.\n\n ```proto\n message MySInt64 {\n // value must be in list [1, 2, 3]\n sint64 value = 1 [(buf.validate.field).sint64 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,12,2,5,4],"span":[2107,2,10]},{"path":[4,12,2,5,5],"span":[2107,11,17]},{"path":[4,12,2,5,1],"span":[2107,18,20]},{"path":[4,12,2,5,3],"span":[2107,23,24]},{"path":[4,12,2,5,8],"span":[2107,25,2110,4]},{"path":[4,12,2,5,8,1160,1,0],"span":[2107,26,2110,3]},{"path":[4,12,2,5,8,1160,1,0,1],"span":[2108,4,19]},{"path":[4,12,2,5,8,1160,1,0,3],"span":[2109,4,116]},{"path":[4,12,2,6],"span":[2122,2,2125,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MySInt64 {\n // value must not be in list [1, 2, 3]\n sint64 value = 1 [(buf.validate.field).sint64 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,12,2,6,4],"span":[2122,2,10]},{"path":[4,12,2,6,5],"span":[2122,11,17]},{"path":[4,12,2,6,1],"span":[2122,18,24]},{"path":[4,12,2,6,3],"span":[2122,27,28]},{"path":[4,12,2,6,8],"span":[2122,29,2125,4]},{"path":[4,12,2,6,8,1160,1,0],"span":[2122,30,2125,3]},{"path":[4,12,2,6,8,1160,1,0,1],"span":[2123,4,23]},{"path":[4,12,2,6,8,1160,1,0,3],"span":[2124,4,99]},{"path":[4,12,2,7],"span":[2139,2,2142,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MySInt64 {\n sint64 value = 1 [\n (buf.validate.field).sint64.example = 1,\n (buf.validate.field).sint64.example = -10\n ];\n }\n ```\n"},{"path":[4,12,2,7,4],"span":[2139,2,10]},{"path":[4,12,2,7,5],"span":[2139,11,17]},{"path":[4,12,2,7,1],"span":[2139,18,25]},{"path":[4,12,2,7,3],"span":[2139,28,29]},{"path":[4,12,2,7,8],"span":[2139,30,2142,4]},{"path":[4,12,2,7,8,1160,1,0],"span":[2139,31,2142,3]},{"path":[4,12,2,7,8,1160,1,0,1],"span":[2140,4,24]},{"path":[4,12,2,7,8,1160,1,0,3],"span":[2141,4,22]},{"path":[4,12,5],"span":[2154,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,12,5,0],"span":[2154,13,24]},{"path":[4,12,5,0,1],"span":[2154,13,17]},{"path":[4,12,5,0,2],"span":[2154,21,24]},{"path":[4,13],"span":[2158,0,2369,1],"leadingComments":" Fixed32Rules describes the rules applied to `fixed32` values.\n"},{"path":[4,13,1],"span":[2158,8,20]},{"path":[4,13,2,0],"span":[2168,2,2171,5],"leadingComments":" `const` requires the field value to exactly match the specified value.\n If the field value doesn't match, an error message is generated.\n\n ```proto\n message MyFixed32 {\n // value must equal 42\n fixed32 value = 1 [(buf.validate.field).fixed32.const = 42];\n }\n ```\n"},{"path":[4,13,2,0,4],"span":[2168,2,10]},{"path":[4,13,2,0,5],"span":[2168,11,18]},{"path":[4,13,2,0,1],"span":[2168,19,24]},{"path":[4,13,2,0,3],"span":[2168,27,28]},{"path":[4,13,2,0,8],"span":[2168,29,2171,4]},{"path":[4,13,2,0,8,1160,1,0],"span":[2168,30,2171,3]},{"path":[4,13,2,0,8,1160,1,0,1],"span":[2169,4,23]},{"path":[4,13,2,0,8,1160,1,0,3],"span":[2170,4,114]},{"path":[4,13,8,0],"span":[2172,2,2206,3]},{"path":[4,13,8,0,1],"span":[2172,8,17]},{"path":[4,13,2,1],"span":[2183,4,2188,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field <\n value). If the field value is equal to or greater than the specified value,\n an error message is generated.\n\n ```proto\n message MyFixed32 {\n // value must be less than 10\n fixed32 value = 1 [(buf.validate.field).fixed32.lt = 10];\n }\n ```\n"},{"path":[4,13,2,1,5],"span":[2183,4,11]},{"path":[4,13,2,1,1],"span":[2183,12,14]},{"path":[4,13,2,1,3],"span":[2183,17,18]},{"path":[4,13,2,1,8],"span":[2183,19,2188,6]},{"path":[4,13,2,1,8,1160,1,0],"span":[2183,20,2188,5]},{"path":[4,13,2,1,8,1160,1,0,1],"span":[2184,6,22]},{"path":[4,13,2,1,8,1160,1,0,3],"span":[2185,6,2187,64]},{"path":[4,13,2,2],"span":[2200,4,2205,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MyFixed32 {\n // value must be less than or equal to 10\n fixed32 value = 1 [(buf.validate.field).fixed32.lte = 10];\n }\n ```\n"},{"path":[4,13,2,2,5],"span":[2200,4,11]},{"path":[4,13,2,2,1],"span":[2200,12,15]},{"path":[4,13,2,2,3],"span":[2200,18,19]},{"path":[4,13,2,2,8],"span":[2200,20,2205,6]},{"path":[4,13,2,2,8,1160,1,0],"span":[2200,21,2205,5]},{"path":[4,13,2,2,8,1160,1,0,1],"span":[2201,6,23]},{"path":[4,13,2,2,8,1160,1,0,3],"span":[2202,6,2204,77]},{"path":[4,13,8,1],"span":[2207,2,2309,3]},{"path":[4,13,8,1,1],"span":[2207,8,20]},{"path":[4,13,2,3],"span":[2226,4,2257,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyFixed32 {\n // value must be greater than 5 [fixed32.gt]\n fixed32 value = 1 [(buf.validate.field).fixed32.gt = 5];\n\n // value must be greater than 5 and less than 10 [fixed32.gt_lt]\n fixed32 other_value = 2 [(buf.validate.field).fixed32 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [fixed32.gt_lt_exclusive]\n fixed32 another_value = 3 [(buf.validate.field).fixed32 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,13,2,3,5],"span":[2226,4,11]},{"path":[4,13,2,3,1],"span":[2226,12,14]},{"path":[4,13,2,3,3],"span":[2226,17,18]},{"path":[4,13,2,3,8],"span":[2226,19,2257,5]},{"path":[4,13,2,3,8,1160,1,0],"span":[2227,6,2232,7]},{"path":[4,13,2,3,8,1160,1,0,1],"span":[2228,8,24]},{"path":[4,13,2,3,8,1160,1,0,3],"span":[2229,8,2231,69]},{"path":[4,13,2,3,8,1160,1,1],"span":[2233,6,2238,7]},{"path":[4,13,2,3,8,1160,1,1,1],"span":[2234,8,27]},{"path":[4,13,2,3,8,1160,1,1,3],"span":[2235,8,2237,96]},{"path":[4,13,2,3,8,1160,1,2],"span":[2239,6,2244,7]},{"path":[4,13,2,3,8,1160,1,2,1],"span":[2240,8,37]},{"path":[4,13,2,3,8,1160,1,2,3],"span":[2241,8,2243,95]},{"path":[4,13,2,3,8,1160,1,3],"span":[2245,6,2250,7]},{"path":[4,13,2,3,8,1160,1,3,1],"span":[2246,8,28]},{"path":[4,13,2,3,8,1160,1,3,3],"span":[2247,8,2249,109]},{"path":[4,13,2,3,8,1160,1,4],"span":[2251,6,2256,7]},{"path":[4,13,2,3,8,1160,1,4,1],"span":[2252,8,38]},{"path":[4,13,2,3,8,1160,1,4,3],"span":[2253,8,2255,108]},{"path":[4,13,2,4],"span":[2277,4,2308,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyFixed32 {\n // value must be greater than or equal to 5 [fixed32.gte]\n fixed32 value = 1 [(buf.validate.field).fixed32.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [fixed32.gte_lt]\n fixed32 other_value = 2 [(buf.validate.field).fixed32 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [fixed32.gte_lt_exclusive]\n fixed32 another_value = 3 [(buf.validate.field).fixed32 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,13,2,4,5],"span":[2277,4,11]},{"path":[4,13,2,4,1],"span":[2277,12,15]},{"path":[4,13,2,4,3],"span":[2277,18,19]},{"path":[4,13,2,4,8],"span":[2277,20,2308,5]},{"path":[4,13,2,4,8,1160,1,0],"span":[2278,6,2283,7]},{"path":[4,13,2,4,8,1160,1,0,1],"span":[2279,8,25]},{"path":[4,13,2,4,8,1160,1,0,3],"span":[2280,8,2282,82]},{"path":[4,13,2,4,8,1160,1,1],"span":[2284,6,2289,7]},{"path":[4,13,2,4,8,1160,1,1,1],"span":[2285,8,28]},{"path":[4,13,2,4,8,1160,1,1,3],"span":[2286,8,2288,109]},{"path":[4,13,2,4,8,1160,1,2],"span":[2290,6,2295,7]},{"path":[4,13,2,4,8,1160,1,2,1],"span":[2291,8,38]},{"path":[4,13,2,4,8,1160,1,2,3],"span":[2292,8,2294,108]},{"path":[4,13,2,4,8,1160,1,3],"span":[2296,6,2301,7]},{"path":[4,13,2,4,8,1160,1,3,1],"span":[2297,8,29]},{"path":[4,13,2,4,8,1160,1,3,3],"span":[2298,8,2300,122]},{"path":[4,13,2,4,8,1160,1,4],"span":[2302,6,2307,7]},{"path":[4,13,2,4,8,1160,1,4,1],"span":[2303,8,39]},{"path":[4,13,2,4,8,1160,1,4,3],"span":[2304,8,2306,121]},{"path":[4,13,2,5],"span":[2321,2,2324,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message\n is generated.\n\n ```proto\n message MyFixed32 {\n // value must be in list [1, 2, 3]\n fixed32 value = 1 [(buf.validate.field).fixed32 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,13,2,5,4],"span":[2321,2,10]},{"path":[4,13,2,5,5],"span":[2321,11,18]},{"path":[4,13,2,5,1],"span":[2321,19,21]},{"path":[4,13,2,5,3],"span":[2321,24,25]},{"path":[4,13,2,5,8],"span":[2321,26,2324,4]},{"path":[4,13,2,5,8,1160,1,0],"span":[2321,27,2324,3]},{"path":[4,13,2,5,8,1160,1,0,1],"span":[2322,4,20]},{"path":[4,13,2,5,8,1160,1,0,3],"span":[2323,4,116]},{"path":[4,13,2,6],"span":[2336,2,2339,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MyFixed32 {\n // value must not be in list [1, 2, 3]\n fixed32 value = 1 [(buf.validate.field).fixed32 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,13,2,6,4],"span":[2336,2,10]},{"path":[4,13,2,6,5],"span":[2336,11,18]},{"path":[4,13,2,6,1],"span":[2336,19,25]},{"path":[4,13,2,6,3],"span":[2336,28,29]},{"path":[4,13,2,6,8],"span":[2336,30,2339,4]},{"path":[4,13,2,6,8,1160,1,0],"span":[2336,31,2339,3]},{"path":[4,13,2,6,8,1160,1,0,1],"span":[2337,4,24]},{"path":[4,13,2,6,8,1160,1,0,3],"span":[2338,4,99]},{"path":[4,13,2,7],"span":[2353,2,2356,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyFixed32 {\n fixed32 value = 1 [\n (buf.validate.field).fixed32.example = 1,\n (buf.validate.field).fixed32.example = 2\n ];\n }\n ```\n"},{"path":[4,13,2,7,4],"span":[2353,2,10]},{"path":[4,13,2,7,5],"span":[2353,11,18]},{"path":[4,13,2,7,1],"span":[2353,19,26]},{"path":[4,13,2,7,3],"span":[2353,29,30]},{"path":[4,13,2,7,8],"span":[2353,31,2356,4]},{"path":[4,13,2,7,8,1160,1,0],"span":[2353,32,2356,3]},{"path":[4,13,2,7,8,1160,1,0,1],"span":[2354,4,25]},{"path":[4,13,2,7,8,1160,1,0,3],"span":[2355,4,22]},{"path":[4,13,5],"span":[2368,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,13,5,0],"span":[2368,13,24]},{"path":[4,13,5,0,1],"span":[2368,13,17]},{"path":[4,13,5,0,2],"span":[2368,21,24]},{"path":[4,14],"span":[2372,0,2583,1],"leadingComments":" Fixed64Rules describes the rules applied to `fixed64` values.\n"},{"path":[4,14,1],"span":[2372,8,20]},{"path":[4,14,2,0],"span":[2382,2,2385,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MyFixed64 {\n // value must equal 42\n fixed64 value = 1 [(buf.validate.field).fixed64.const = 42];\n }\n ```\n"},{"path":[4,14,2,0,4],"span":[2382,2,10]},{"path":[4,14,2,0,5],"span":[2382,11,18]},{"path":[4,14,2,0,1],"span":[2382,19,24]},{"path":[4,14,2,0,3],"span":[2382,27,28]},{"path":[4,14,2,0,8],"span":[2382,29,2385,4]},{"path":[4,14,2,0,8,1160,1,0],"span":[2382,30,2385,3]},{"path":[4,14,2,0,8,1160,1,0,1],"span":[2383,4,23]},{"path":[4,14,2,0,8,1160,1,0,3],"span":[2384,4,114]},{"path":[4,14,8,0],"span":[2386,2,2420,3]},{"path":[4,14,8,0,1],"span":[2386,8,17]},{"path":[4,14,2,1],"span":[2397,4,2402,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field <\n value). If the field value is equal to or greater than the specified value,\n an error message is generated.\n\n ```proto\n message MyFixed64 {\n // value must be less than 10\n fixed64 value = 1 [(buf.validate.field).fixed64.lt = 10];\n }\n ```\n"},{"path":[4,14,2,1,5],"span":[2397,4,11]},{"path":[4,14,2,1,1],"span":[2397,12,14]},{"path":[4,14,2,1,3],"span":[2397,17,18]},{"path":[4,14,2,1,8],"span":[2397,19,2402,6]},{"path":[4,14,2,1,8,1160,1,0],"span":[2397,20,2402,5]},{"path":[4,14,2,1,8,1160,1,0,1],"span":[2398,6,22]},{"path":[4,14,2,1,8,1160,1,0,3],"span":[2399,6,2401,64]},{"path":[4,14,2,2],"span":[2414,4,2419,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MyFixed64 {\n // value must be less than or equal to 10\n fixed64 value = 1 [(buf.validate.field).fixed64.lte = 10];\n }\n ```\n"},{"path":[4,14,2,2,5],"span":[2414,4,11]},{"path":[4,14,2,2,1],"span":[2414,12,15]},{"path":[4,14,2,2,3],"span":[2414,18,19]},{"path":[4,14,2,2,8],"span":[2414,20,2419,6]},{"path":[4,14,2,2,8,1160,1,0],"span":[2414,21,2419,5]},{"path":[4,14,2,2,8,1160,1,0,1],"span":[2415,6,23]},{"path":[4,14,2,2,8,1160,1,0,3],"span":[2416,6,2418,77]},{"path":[4,14,8,1],"span":[2421,2,2523,3]},{"path":[4,14,8,1,1],"span":[2421,8,20]},{"path":[4,14,2,3],"span":[2440,4,2471,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyFixed64 {\n // value must be greater than 5 [fixed64.gt]\n fixed64 value = 1 [(buf.validate.field).fixed64.gt = 5];\n\n // value must be greater than 5 and less than 10 [fixed64.gt_lt]\n fixed64 other_value = 2 [(buf.validate.field).fixed64 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [fixed64.gt_lt_exclusive]\n fixed64 another_value = 3 [(buf.validate.field).fixed64 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,14,2,3,5],"span":[2440,4,11]},{"path":[4,14,2,3,1],"span":[2440,12,14]},{"path":[4,14,2,3,3],"span":[2440,17,18]},{"path":[4,14,2,3,8],"span":[2440,19,2471,5]},{"path":[4,14,2,3,8,1160,1,0],"span":[2441,6,2446,7]},{"path":[4,14,2,3,8,1160,1,0,1],"span":[2442,8,24]},{"path":[4,14,2,3,8,1160,1,0,3],"span":[2443,8,2445,69]},{"path":[4,14,2,3,8,1160,1,1],"span":[2447,6,2452,7]},{"path":[4,14,2,3,8,1160,1,1,1],"span":[2448,8,27]},{"path":[4,14,2,3,8,1160,1,1,3],"span":[2449,8,2451,96]},{"path":[4,14,2,3,8,1160,1,2],"span":[2453,6,2458,7]},{"path":[4,14,2,3,8,1160,1,2,1],"span":[2454,8,37]},{"path":[4,14,2,3,8,1160,1,2,3],"span":[2455,8,2457,95]},{"path":[4,14,2,3,8,1160,1,3],"span":[2459,6,2464,7]},{"path":[4,14,2,3,8,1160,1,3,1],"span":[2460,8,28]},{"path":[4,14,2,3,8,1160,1,3,3],"span":[2461,8,2463,109]},{"path":[4,14,2,3,8,1160,1,4],"span":[2465,6,2470,7]},{"path":[4,14,2,3,8,1160,1,4,1],"span":[2466,8,38]},{"path":[4,14,2,3,8,1160,1,4,3],"span":[2467,8,2469,108]},{"path":[4,14,2,4],"span":[2491,4,2522,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyFixed64 {\n // value must be greater than or equal to 5 [fixed64.gte]\n fixed64 value = 1 [(buf.validate.field).fixed64.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [fixed64.gte_lt]\n fixed64 other_value = 2 [(buf.validate.field).fixed64 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [fixed64.gte_lt_exclusive]\n fixed64 another_value = 3 [(buf.validate.field).fixed64 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,14,2,4,5],"span":[2491,4,11]},{"path":[4,14,2,4,1],"span":[2491,12,15]},{"path":[4,14,2,4,3],"span":[2491,18,19]},{"path":[4,14,2,4,8],"span":[2491,20,2522,5]},{"path":[4,14,2,4,8,1160,1,0],"span":[2492,6,2497,7]},{"path":[4,14,2,4,8,1160,1,0,1],"span":[2493,8,25]},{"path":[4,14,2,4,8,1160,1,0,3],"span":[2494,8,2496,82]},{"path":[4,14,2,4,8,1160,1,1],"span":[2498,6,2503,7]},{"path":[4,14,2,4,8,1160,1,1,1],"span":[2499,8,28]},{"path":[4,14,2,4,8,1160,1,1,3],"span":[2500,8,2502,109]},{"path":[4,14,2,4,8,1160,1,2],"span":[2504,6,2509,7]},{"path":[4,14,2,4,8,1160,1,2,1],"span":[2505,8,38]},{"path":[4,14,2,4,8,1160,1,2,3],"span":[2506,8,2508,108]},{"path":[4,14,2,4,8,1160,1,3],"span":[2510,6,2515,7]},{"path":[4,14,2,4,8,1160,1,3,1],"span":[2511,8,29]},{"path":[4,14,2,4,8,1160,1,3,3],"span":[2512,8,2514,122]},{"path":[4,14,2,4,8,1160,1,4],"span":[2516,6,2521,7]},{"path":[4,14,2,4,8,1160,1,4,1],"span":[2517,8,39]},{"path":[4,14,2,4,8,1160,1,4,3],"span":[2518,8,2520,121]},{"path":[4,14,2,5],"span":[2535,2,2538,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message is\n generated.\n\n ```proto\n message MyFixed64 {\n // value must be in list [1, 2, 3]\n fixed64 value = 1 [(buf.validate.field).fixed64 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,14,2,5,4],"span":[2535,2,10]},{"path":[4,14,2,5,5],"span":[2535,11,18]},{"path":[4,14,2,5,1],"span":[2535,19,21]},{"path":[4,14,2,5,3],"span":[2535,24,25]},{"path":[4,14,2,5,8],"span":[2535,26,2538,4]},{"path":[4,14,2,5,8,1160,1,0],"span":[2535,27,2538,3]},{"path":[4,14,2,5,8,1160,1,0,1],"span":[2536,4,20]},{"path":[4,14,2,5,8,1160,1,0,3],"span":[2537,4,116]},{"path":[4,14,2,6],"span":[2550,2,2553,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MyFixed64 {\n // value must not be in list [1, 2, 3]\n fixed64 value = 1 [(buf.validate.field).fixed64 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,14,2,6,4],"span":[2550,2,10]},{"path":[4,14,2,6,5],"span":[2550,11,18]},{"path":[4,14,2,6,1],"span":[2550,19,25]},{"path":[4,14,2,6,3],"span":[2550,28,29]},{"path":[4,14,2,6,8],"span":[2550,30,2553,4]},{"path":[4,14,2,6,8,1160,1,0],"span":[2550,31,2553,3]},{"path":[4,14,2,6,8,1160,1,0,1],"span":[2551,4,24]},{"path":[4,14,2,6,8,1160,1,0,3],"span":[2552,4,99]},{"path":[4,14,2,7],"span":[2567,2,2570,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyFixed64 {\n fixed64 value = 1 [\n (buf.validate.field).fixed64.example = 1,\n (buf.validate.field).fixed64.example = 2\n ];\n }\n ```\n"},{"path":[4,14,2,7,4],"span":[2567,2,10]},{"path":[4,14,2,7,5],"span":[2567,11,18]},{"path":[4,14,2,7,1],"span":[2567,19,26]},{"path":[4,14,2,7,3],"span":[2567,29,30]},{"path":[4,14,2,7,8],"span":[2567,31,2570,4]},{"path":[4,14,2,7,8,1160,1,0],"span":[2567,32,2570,3]},{"path":[4,14,2,7,8,1160,1,0,1],"span":[2568,4,25]},{"path":[4,14,2,7,8,1160,1,0,3],"span":[2569,4,22]},{"path":[4,14,5],"span":[2582,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,14,5,0],"span":[2582,13,24]},{"path":[4,14,5,0,1],"span":[2582,13,17]},{"path":[4,14,5,0,2],"span":[2582,21,24]},{"path":[4,15],"span":[2586,0,2797,1],"leadingComments":" SFixed32Rules describes the rules applied to `fixed32` values.\n"},{"path":[4,15,1],"span":[2586,8,21]},{"path":[4,15,2,0],"span":[2596,2,2599,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MySFixed32 {\n // value must equal 42\n sfixed32 value = 1 [(buf.validate.field).sfixed32.const = 42];\n }\n ```\n"},{"path":[4,15,2,0,4],"span":[2596,2,10]},{"path":[4,15,2,0,5],"span":[2596,11,19]},{"path":[4,15,2,0,1],"span":[2596,20,25]},{"path":[4,15,2,0,3],"span":[2596,28,29]},{"path":[4,15,2,0,8],"span":[2596,30,2599,4]},{"path":[4,15,2,0,8,1160,1,0],"span":[2596,31,2599,3]},{"path":[4,15,2,0,8,1160,1,0,1],"span":[2597,4,24]},{"path":[4,15,2,0,8,1160,1,0,3],"span":[2598,4,114]},{"path":[4,15,8,0],"span":[2600,2,2634,3]},{"path":[4,15,8,0,1],"span":[2600,8,17]},{"path":[4,15,2,1],"span":[2611,4,2616,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field <\n value). If the field value is equal to or greater than the specified value,\n an error message is generated.\n\n ```proto\n message MySFixed32 {\n // value must be less than 10\n sfixed32 value = 1 [(buf.validate.field).sfixed32.lt = 10];\n }\n ```\n"},{"path":[4,15,2,1,5],"span":[2611,4,12]},{"path":[4,15,2,1,1],"span":[2611,13,15]},{"path":[4,15,2,1,3],"span":[2611,18,19]},{"path":[4,15,2,1,8],"span":[2611,20,2616,6]},{"path":[4,15,2,1,8,1160,1,0],"span":[2611,21,2616,5]},{"path":[4,15,2,1,8,1160,1,0,1],"span":[2612,6,23]},{"path":[4,15,2,1,8,1160,1,0,3],"span":[2613,6,2615,64]},{"path":[4,15,2,2],"span":[2628,4,2633,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MySFixed32 {\n // value must be less than or equal to 10\n sfixed32 value = 1 [(buf.validate.field).sfixed32.lte = 10];\n }\n ```\n"},{"path":[4,15,2,2,5],"span":[2628,4,12]},{"path":[4,15,2,2,1],"span":[2628,13,16]},{"path":[4,15,2,2,3],"span":[2628,19,20]},{"path":[4,15,2,2,8],"span":[2628,21,2633,6]},{"path":[4,15,2,2,8,1160,1,0],"span":[2628,22,2633,5]},{"path":[4,15,2,2,8,1160,1,0,1],"span":[2629,6,24]},{"path":[4,15,2,2,8,1160,1,0,3],"span":[2630,6,2632,77]},{"path":[4,15,8,1],"span":[2635,2,2737,3]},{"path":[4,15,8,1,1],"span":[2635,8,20]},{"path":[4,15,2,3],"span":[2654,4,2685,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MySFixed32 {\n // value must be greater than 5 [sfixed32.gt]\n sfixed32 value = 1 [(buf.validate.field).sfixed32.gt = 5];\n\n // value must be greater than 5 and less than 10 [sfixed32.gt_lt]\n sfixed32 other_value = 2 [(buf.validate.field).sfixed32 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [sfixed32.gt_lt_exclusive]\n sfixed32 another_value = 3 [(buf.validate.field).sfixed32 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,15,2,3,5],"span":[2654,4,12]},{"path":[4,15,2,3,1],"span":[2654,13,15]},{"path":[4,15,2,3,3],"span":[2654,18,19]},{"path":[4,15,2,3,8],"span":[2654,20,2685,5]},{"path":[4,15,2,3,8,1160,1,0],"span":[2655,6,2660,7]},{"path":[4,15,2,3,8,1160,1,0,1],"span":[2656,8,25]},{"path":[4,15,2,3,8,1160,1,0,3],"span":[2657,8,2659,69]},{"path":[4,15,2,3,8,1160,1,1],"span":[2661,6,2666,7]},{"path":[4,15,2,3,8,1160,1,1,1],"span":[2662,8,28]},{"path":[4,15,2,3,8,1160,1,1,3],"span":[2663,8,2665,96]},{"path":[4,15,2,3,8,1160,1,2],"span":[2667,6,2672,7]},{"path":[4,15,2,3,8,1160,1,2,1],"span":[2668,8,38]},{"path":[4,15,2,3,8,1160,1,2,3],"span":[2669,8,2671,95]},{"path":[4,15,2,3,8,1160,1,3],"span":[2673,6,2678,7]},{"path":[4,15,2,3,8,1160,1,3,1],"span":[2674,8,29]},{"path":[4,15,2,3,8,1160,1,3,3],"span":[2675,8,2677,109]},{"path":[4,15,2,3,8,1160,1,4],"span":[2679,6,2684,7]},{"path":[4,15,2,3,8,1160,1,4,1],"span":[2680,8,39]},{"path":[4,15,2,3,8,1160,1,4,3],"span":[2681,8,2683,108]},{"path":[4,15,2,4],"span":[2705,4,2736,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MySFixed32 {\n // value must be greater than or equal to 5 [sfixed32.gte]\n sfixed32 value = 1 [(buf.validate.field).sfixed32.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [sfixed32.gte_lt]\n sfixed32 other_value = 2 [(buf.validate.field).sfixed32 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [sfixed32.gte_lt_exclusive]\n sfixed32 another_value = 3 [(buf.validate.field).sfixed32 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,15,2,4,5],"span":[2705,4,12]},{"path":[4,15,2,4,1],"span":[2705,13,16]},{"path":[4,15,2,4,3],"span":[2705,19,20]},{"path":[4,15,2,4,8],"span":[2705,21,2736,5]},{"path":[4,15,2,4,8,1160,1,0],"span":[2706,6,2711,7]},{"path":[4,15,2,4,8,1160,1,0,1],"span":[2707,8,26]},{"path":[4,15,2,4,8,1160,1,0,3],"span":[2708,8,2710,82]},{"path":[4,15,2,4,8,1160,1,1],"span":[2712,6,2717,7]},{"path":[4,15,2,4,8,1160,1,1,1],"span":[2713,8,29]},{"path":[4,15,2,4,8,1160,1,1,3],"span":[2714,8,2716,109]},{"path":[4,15,2,4,8,1160,1,2],"span":[2718,6,2723,7]},{"path":[4,15,2,4,8,1160,1,2,1],"span":[2719,8,39]},{"path":[4,15,2,4,8,1160,1,2,3],"span":[2720,8,2722,108]},{"path":[4,15,2,4,8,1160,1,3],"span":[2724,6,2729,7]},{"path":[4,15,2,4,8,1160,1,3,1],"span":[2725,8,30]},{"path":[4,15,2,4,8,1160,1,3,3],"span":[2726,8,2728,122]},{"path":[4,15,2,4,8,1160,1,4],"span":[2730,6,2735,7]},{"path":[4,15,2,4,8,1160,1,4,1],"span":[2731,8,40]},{"path":[4,15,2,4,8,1160,1,4,3],"span":[2732,8,2734,121]},{"path":[4,15,2,5],"span":[2749,2,2752,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message is\n generated.\n\n ```proto\n message MySFixed32 {\n // value must be in list [1, 2, 3]\n sfixed32 value = 1 [(buf.validate.field).sfixed32 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,15,2,5,4],"span":[2749,2,10]},{"path":[4,15,2,5,5],"span":[2749,11,19]},{"path":[4,15,2,5,1],"span":[2749,20,22]},{"path":[4,15,2,5,3],"span":[2749,25,26]},{"path":[4,15,2,5,8],"span":[2749,27,2752,4]},{"path":[4,15,2,5,8,1160,1,0],"span":[2749,28,2752,3]},{"path":[4,15,2,5,8,1160,1,0,1],"span":[2750,4,21]},{"path":[4,15,2,5,8,1160,1,0,3],"span":[2751,4,116]},{"path":[4,15,2,6],"span":[2764,2,2767,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MySFixed32 {\n // value must not be in list [1, 2, 3]\n sfixed32 value = 1 [(buf.validate.field).sfixed32 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,15,2,6,4],"span":[2764,2,10]},{"path":[4,15,2,6,5],"span":[2764,11,19]},{"path":[4,15,2,6,1],"span":[2764,20,26]},{"path":[4,15,2,6,3],"span":[2764,29,30]},{"path":[4,15,2,6,8],"span":[2764,31,2767,4]},{"path":[4,15,2,6,8,1160,1,0],"span":[2764,32,2767,3]},{"path":[4,15,2,6,8,1160,1,0,1],"span":[2765,4,25]},{"path":[4,15,2,6,8,1160,1,0,3],"span":[2766,4,99]},{"path":[4,15,2,7],"span":[2781,2,2784,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MySFixed32 {\n sfixed32 value = 1 [\n (buf.validate.field).sfixed32.example = 1,\n (buf.validate.field).sfixed32.example = 2\n ];\n }\n ```\n"},{"path":[4,15,2,7,4],"span":[2781,2,10]},{"path":[4,15,2,7,5],"span":[2781,11,19]},{"path":[4,15,2,7,1],"span":[2781,20,27]},{"path":[4,15,2,7,3],"span":[2781,30,31]},{"path":[4,15,2,7,8],"span":[2781,32,2784,4]},{"path":[4,15,2,7,8,1160,1,0],"span":[2781,33,2784,3]},{"path":[4,15,2,7,8,1160,1,0,1],"span":[2782,4,26]},{"path":[4,15,2,7,8,1160,1,0,3],"span":[2783,4,22]},{"path":[4,15,5],"span":[2796,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,15,5,0],"span":[2796,13,24]},{"path":[4,15,5,0,1],"span":[2796,13,17]},{"path":[4,15,5,0,2],"span":[2796,21,24]},{"path":[4,16],"span":[2800,0,3011,1],"leadingComments":" SFixed64Rules describes the rules applied to `fixed64` values.\n"},{"path":[4,16,1],"span":[2800,8,21]},{"path":[4,16,2,0],"span":[2810,2,2813,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MySFixed64 {\n // value must equal 42\n sfixed64 value = 1 [(buf.validate.field).sfixed64.const = 42];\n }\n ```\n"},{"path":[4,16,2,0,4],"span":[2810,2,10]},{"path":[4,16,2,0,5],"span":[2810,11,19]},{"path":[4,16,2,0,1],"span":[2810,20,25]},{"path":[4,16,2,0,3],"span":[2810,28,29]},{"path":[4,16,2,0,8],"span":[2810,30,2813,4]},{"path":[4,16,2,0,8,1160,1,0],"span":[2810,31,2813,3]},{"path":[4,16,2,0,8,1160,1,0,1],"span":[2811,4,24]},{"path":[4,16,2,0,8,1160,1,0,3],"span":[2812,4,114]},{"path":[4,16,8,0],"span":[2814,2,2848,3]},{"path":[4,16,8,0,1],"span":[2814,8,17]},{"path":[4,16,2,1],"span":[2825,4,2830,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field <\n value). If the field value is equal to or greater than the specified value,\n an error message is generated.\n\n ```proto\n message MySFixed64 {\n // value must be less than 10\n sfixed64 value = 1 [(buf.validate.field).sfixed64.lt = 10];\n }\n ```\n"},{"path":[4,16,2,1,5],"span":[2825,4,12]},{"path":[4,16,2,1,1],"span":[2825,13,15]},{"path":[4,16,2,1,3],"span":[2825,18,19]},{"path":[4,16,2,1,8],"span":[2825,20,2830,6]},{"path":[4,16,2,1,8,1160,1,0],"span":[2825,21,2830,5]},{"path":[4,16,2,1,8,1160,1,0,1],"span":[2826,6,23]},{"path":[4,16,2,1,8,1160,1,0,3],"span":[2827,6,2829,64]},{"path":[4,16,2,2],"span":[2842,4,2847,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MySFixed64 {\n // value must be less than or equal to 10\n sfixed64 value = 1 [(buf.validate.field).sfixed64.lte = 10];\n }\n ```\n"},{"path":[4,16,2,2,5],"span":[2842,4,12]},{"path":[4,16,2,2,1],"span":[2842,13,16]},{"path":[4,16,2,2,3],"span":[2842,19,20]},{"path":[4,16,2,2,8],"span":[2842,21,2847,6]},{"path":[4,16,2,2,8,1160,1,0],"span":[2842,22,2847,5]},{"path":[4,16,2,2,8,1160,1,0,1],"span":[2843,6,24]},{"path":[4,16,2,2,8,1160,1,0,3],"span":[2844,6,2846,77]},{"path":[4,16,8,1],"span":[2849,2,2951,3]},{"path":[4,16,8,1,1],"span":[2849,8,20]},{"path":[4,16,2,3],"span":[2868,4,2899,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MySFixed64 {\n // value must be greater than 5 [sfixed64.gt]\n sfixed64 value = 1 [(buf.validate.field).sfixed64.gt = 5];\n\n // value must be greater than 5 and less than 10 [sfixed64.gt_lt]\n sfixed64 other_value = 2 [(buf.validate.field).sfixed64 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [sfixed64.gt_lt_exclusive]\n sfixed64 another_value = 3 [(buf.validate.field).sfixed64 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,16,2,3,5],"span":[2868,4,12]},{"path":[4,16,2,3,1],"span":[2868,13,15]},{"path":[4,16,2,3,3],"span":[2868,18,19]},{"path":[4,16,2,3,8],"span":[2868,20,2899,5]},{"path":[4,16,2,3,8,1160,1,0],"span":[2869,6,2874,7]},{"path":[4,16,2,3,8,1160,1,0,1],"span":[2870,8,25]},{"path":[4,16,2,3,8,1160,1,0,3],"span":[2871,8,2873,69]},{"path":[4,16,2,3,8,1160,1,1],"span":[2875,6,2880,7]},{"path":[4,16,2,3,8,1160,1,1,1],"span":[2876,8,28]},{"path":[4,16,2,3,8,1160,1,1,3],"span":[2877,8,2879,96]},{"path":[4,16,2,3,8,1160,1,2],"span":[2881,6,2886,7]},{"path":[4,16,2,3,8,1160,1,2,1],"span":[2882,8,38]},{"path":[4,16,2,3,8,1160,1,2,3],"span":[2883,8,2885,95]},{"path":[4,16,2,3,8,1160,1,3],"span":[2887,6,2892,7]},{"path":[4,16,2,3,8,1160,1,3,1],"span":[2888,8,29]},{"path":[4,16,2,3,8,1160,1,3,3],"span":[2889,8,2891,109]},{"path":[4,16,2,3,8,1160,1,4],"span":[2893,6,2898,7]},{"path":[4,16,2,3,8,1160,1,4,1],"span":[2894,8,39]},{"path":[4,16,2,3,8,1160,1,4,3],"span":[2895,8,2897,108]},{"path":[4,16,2,4],"span":[2919,4,2950,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MySFixed64 {\n // value must be greater than or equal to 5 [sfixed64.gte]\n sfixed64 value = 1 [(buf.validate.field).sfixed64.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [sfixed64.gte_lt]\n sfixed64 other_value = 2 [(buf.validate.field).sfixed64 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [sfixed64.gte_lt_exclusive]\n sfixed64 another_value = 3 [(buf.validate.field).sfixed64 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,16,2,4,5],"span":[2919,4,12]},{"path":[4,16,2,4,1],"span":[2919,13,16]},{"path":[4,16,2,4,3],"span":[2919,19,20]},{"path":[4,16,2,4,8],"span":[2919,21,2950,5]},{"path":[4,16,2,4,8,1160,1,0],"span":[2920,6,2925,7]},{"path":[4,16,2,4,8,1160,1,0,1],"span":[2921,8,26]},{"path":[4,16,2,4,8,1160,1,0,3],"span":[2922,8,2924,82]},{"path":[4,16,2,4,8,1160,1,1],"span":[2926,6,2931,7]},{"path":[4,16,2,4,8,1160,1,1,1],"span":[2927,8,29]},{"path":[4,16,2,4,8,1160,1,1,3],"span":[2928,8,2930,109]},{"path":[4,16,2,4,8,1160,1,2],"span":[2932,6,2937,7]},{"path":[4,16,2,4,8,1160,1,2,1],"span":[2933,8,39]},{"path":[4,16,2,4,8,1160,1,2,3],"span":[2934,8,2936,108]},{"path":[4,16,2,4,8,1160,1,3],"span":[2938,6,2943,7]},{"path":[4,16,2,4,8,1160,1,3,1],"span":[2939,8,30]},{"path":[4,16,2,4,8,1160,1,3,3],"span":[2940,8,2942,122]},{"path":[4,16,2,4,8,1160,1,4],"span":[2944,6,2949,7]},{"path":[4,16,2,4,8,1160,1,4,1],"span":[2945,8,40]},{"path":[4,16,2,4,8,1160,1,4,3],"span":[2946,8,2948,121]},{"path":[4,16,2,5],"span":[2963,2,2966,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message is\n generated.\n\n ```proto\n message MySFixed64 {\n // value must be in list [1, 2, 3]\n sfixed64 value = 1 [(buf.validate.field).sfixed64 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,16,2,5,4],"span":[2963,2,10]},{"path":[4,16,2,5,5],"span":[2963,11,19]},{"path":[4,16,2,5,1],"span":[2963,20,22]},{"path":[4,16,2,5,3],"span":[2963,25,26]},{"path":[4,16,2,5,8],"span":[2963,27,2966,4]},{"path":[4,16,2,5,8,1160,1,0],"span":[2963,28,2966,3]},{"path":[4,16,2,5,8,1160,1,0,1],"span":[2964,4,21]},{"path":[4,16,2,5,8,1160,1,0,3],"span":[2965,4,116]},{"path":[4,16,2,6],"span":[2978,2,2981,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MySFixed64 {\n // value must not be in list [1, 2, 3]\n sfixed64 value = 1 [(buf.validate.field).sfixed64 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,16,2,6,4],"span":[2978,2,10]},{"path":[4,16,2,6,5],"span":[2978,11,19]},{"path":[4,16,2,6,1],"span":[2978,20,26]},{"path":[4,16,2,6,3],"span":[2978,29,30]},{"path":[4,16,2,6,8],"span":[2978,31,2981,4]},{"path":[4,16,2,6,8,1160,1,0],"span":[2978,32,2981,3]},{"path":[4,16,2,6,8,1160,1,0,1],"span":[2979,4,25]},{"path":[4,16,2,6,8,1160,1,0,3],"span":[2980,4,99]},{"path":[4,16,2,7],"span":[2995,2,2998,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MySFixed64 {\n sfixed64 value = 1 [\n (buf.validate.field).sfixed64.example = 1,\n (buf.validate.field).sfixed64.example = 2\n ];\n }\n ```\n"},{"path":[4,16,2,7,4],"span":[2995,2,10]},{"path":[4,16,2,7,5],"span":[2995,11,19]},{"path":[4,16,2,7,1],"span":[2995,20,27]},{"path":[4,16,2,7,3],"span":[2995,30,31]},{"path":[4,16,2,7,8],"span":[2995,32,2998,4]},{"path":[4,16,2,7,8,1160,1,0],"span":[2995,33,2998,3]},{"path":[4,16,2,7,8,1160,1,0,1],"span":[2996,4,26]},{"path":[4,16,2,7,8,1160,1,0,3],"span":[2997,4,22]},{"path":[4,16,5],"span":[3010,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,16,5,0],"span":[3010,13,24]},{"path":[4,16,5,0,1],"span":[3010,13,17]},{"path":[4,16,5,0,2],"span":[3010,21,24]},{"path":[4,17],"span":[3015,0,3058,1],"leadingComments":" BoolRules describes the rules applied to `bool` values. These rules\n may also be applied to the `google.protobuf.BoolValue` Well-Known-Type.\n"},{"path":[4,17,1],"span":[3015,8,17]},{"path":[4,17,2,0],"span":[3025,2,3028,5],"leadingComments":" `const` requires the field value to exactly match the specified boolean value.\n If the field value doesn't match, an error message is generated.\n\n ```proto\n message MyBool {\n // value must equal true\n bool value = 1 [(buf.validate.field).bool.const = true];\n }\n ```\n"},{"path":[4,17,2,0,4],"span":[3025,2,10]},{"path":[4,17,2,0,5],"span":[3025,11,15]},{"path":[4,17,2,0,1],"span":[3025,16,21]},{"path":[4,17,2,0,3],"span":[3025,24,25]},{"path":[4,17,2,0,8],"span":[3025,26,3028,4]},{"path":[4,17,2,0,8,1160,1,0],"span":[3025,27,3028,3]},{"path":[4,17,2,0,8,1160,1,0,1],"span":[3026,4,20]},{"path":[4,17,2,0,8,1160,1,0,3],"span":[3027,4,114]},{"path":[4,17,2,1],"span":[3042,2,3045,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyBool {\n bool value = 1 [\n (buf.validate.field).bool.example = 1,\n (buf.validate.field).bool.example = 2\n ];\n }\n ```\n"},{"path":[4,17,2,1,4],"span":[3042,2,10]},{"path":[4,17,2,1,5],"span":[3042,11,15]},{"path":[4,17,2,1,1],"span":[3042,16,23]},{"path":[4,17,2,1,3],"span":[3042,26,27]},{"path":[4,17,2,1,8],"span":[3042,28,3045,4]},{"path":[4,17,2,1,8,1160,1,0],"span":[3042,29,3045,3]},{"path":[4,17,2,1,8,1160,1,0,1],"span":[3043,4,22]},{"path":[4,17,2,1,8,1160,1,0,3],"span":[3044,4,22]},{"path":[4,17,5],"span":[3057,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,17,5,0],"span":[3057,13,24]},{"path":[4,17,5,0,1],"span":[3057,13,17]},{"path":[4,17,5,0,2],"span":[3057,21,24]},{"path":[4,18],"span":[3062,0,3808,1],"leadingComments":" StringRules describes the rules applied to `string` values These\n rules may also be applied to the `google.protobuf.StringValue` Well-Known-Type.\n"},{"path":[4,18,1],"span":[3062,8,19]},{"path":[4,18,2,0],"span":[3072,2,3075,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MyString {\n // value must equal `hello`\n string value = 1 [(buf.validate.field).string.const = \"hello\"];\n }\n ```\n"},{"path":[4,18,2,0,4],"span":[3072,2,10]},{"path":[4,18,2,0,5],"span":[3072,11,17]},{"path":[4,18,2,0,1],"span":[3072,18,23]},{"path":[4,18,2,0,3],"span":[3072,26,27]},{"path":[4,18,2,0,8],"span":[3072,28,3075,4]},{"path":[4,18,2,0,8,1160,1,0],"span":[3072,29,3075,3]},{"path":[4,18,2,0,8,1160,1,0,1],"span":[3073,4,22]},{"path":[4,18,2,0,8,1160,1,0,3],"span":[3074,4,116]},{"path":[4,18,2,1],"span":[3088,2,3091,5],"leadingComments":" `len` dictates that the field value must have the specified\n number of characters (Unicode code points), which may differ from the number\n of bytes in the string. If the field value does not meet the specified\n length, an error message will be generated.\n\n ```proto\n message MyString {\n // value length must be 5 characters\n string value = 1 [(buf.validate.field).string.len = 5];\n }\n ```\n"},{"path":[4,18,2,1,4],"span":[3088,2,10]},{"path":[4,18,2,1,5],"span":[3088,11,17]},{"path":[4,18,2,1,1],"span":[3088,18,21]},{"path":[4,18,2,1,3],"span":[3088,24,26]},{"path":[4,18,2,1,8],"span":[3088,27,3091,4]},{"path":[4,18,2,1,8,1160,1,0],"span":[3088,28,3091,3]},{"path":[4,18,2,1,8,1160,1,0,1],"span":[3089,4,20]},{"path":[4,18,2,1,8,1160,1,0,3],"span":[3090,4,112]},{"path":[4,18,2,2],"span":[3104,2,3107,5],"leadingComments":" `min_len` specifies that the field value must have at least the specified\n number of characters (Unicode code points), which may differ from the number\n of bytes in the string. If the field value contains fewer characters, an error\n message will be generated.\n\n ```proto\n message MyString {\n // value length must be at least 3 characters\n string value = 1 [(buf.validate.field).string.min_len = 3];\n }\n ```\n"},{"path":[4,18,2,2,4],"span":[3104,2,10]},{"path":[4,18,2,2,5],"span":[3104,11,17]},{"path":[4,18,2,2,1],"span":[3104,18,25]},{"path":[4,18,2,2,3],"span":[3104,28,29]},{"path":[4,18,2,2,8],"span":[3104,30,3107,4]},{"path":[4,18,2,2,8,1160,1,0],"span":[3104,31,3107,3]},{"path":[4,18,2,2,8,1160,1,0,1],"span":[3105,4,24]},{"path":[4,18,2,2,8,1160,1,0,3],"span":[3106,4,128]},{"path":[4,18,2,3],"span":[3120,2,3123,5],"leadingComments":" `max_len` specifies that the field value must have no more than the specified\n number of characters (Unicode code points), which may differ from the\n number of bytes in the string. If the field value contains more characters,\n an error message will be generated.\n\n ```proto\n message MyString {\n // value length must be at most 10 characters\n string value = 1 [(buf.validate.field).string.max_len = 10];\n }\n ```\n"},{"path":[4,18,2,3,4],"span":[3120,2,10]},{"path":[4,18,2,3,5],"span":[3120,11,17]},{"path":[4,18,2,3,1],"span":[3120,18,25]},{"path":[4,18,2,3,3],"span":[3120,28,29]},{"path":[4,18,2,3,8],"span":[3120,30,3123,4]},{"path":[4,18,2,3,8,1160,1,0],"span":[3120,31,3123,3]},{"path":[4,18,2,3,8,1160,1,0,1],"span":[3121,4,24]},{"path":[4,18,2,3,8,1160,1,0,3],"span":[3122,4,127]},{"path":[4,18,2,4],"span":[3135,2,3138,5],"leadingComments":" `len_bytes` dictates that the field value must have the specified number of\n bytes. If the field value does not match the specified length in bytes,\n an error message will be generated.\n\n ```proto\n message MyString {\n // value length must be 6 bytes\n string value = 1 [(buf.validate.field).string.len_bytes = 6];\n }\n ```\n"},{"path":[4,18,2,4,4],"span":[3135,2,10]},{"path":[4,18,2,4,5],"span":[3135,11,17]},{"path":[4,18,2,4,1],"span":[3135,18,27]},{"path":[4,18,2,4,3],"span":[3135,30,32]},{"path":[4,18,2,4,8],"span":[3135,33,3138,4]},{"path":[4,18,2,4,8,1160,1,0],"span":[3135,34,3138,3]},{"path":[4,18,2,4,8,1160,1,0,1],"span":[3136,4,26]},{"path":[4,18,2,4,8,1160,1,0,3],"span":[3137,4,126]},{"path":[4,18,2,5],"span":[3151,2,3154,5],"leadingComments":" `min_bytes` specifies that the field value must have at least the specified\n number of bytes. If the field value contains fewer bytes, an error message\n will be generated.\n\n ```proto\n message MyString {\n // value length must be at least 4 bytes\n string value = 1 [(buf.validate.field).string.min_bytes = 4];\n }\n\n ```\n"},{"path":[4,18,2,5,4],"span":[3151,2,10]},{"path":[4,18,2,5,5],"span":[3151,11,17]},{"path":[4,18,2,5,1],"span":[3151,18,27]},{"path":[4,18,2,5,3],"span":[3151,30,31]},{"path":[4,18,2,5,8],"span":[3151,32,3154,4]},{"path":[4,18,2,5,8,1160,1,0],"span":[3151,33,3154,3]},{"path":[4,18,2,5,8,1160,1,0,1],"span":[3152,4,26]},{"path":[4,18,2,5,8,1160,1,0,3],"span":[3153,4,134]},{"path":[4,18,2,6],"span":[3166,2,3169,5],"leadingComments":" `max_bytes` specifies that the field value must have no more than the\nspecified number of bytes. If the field value contains more bytes, an\n error message will be generated.\n\n ```proto\n message MyString {\n // value length must be at most 8 bytes\n string value = 1 [(buf.validate.field).string.max_bytes = 8];\n }\n ```\n"},{"path":[4,18,2,6,4],"span":[3166,2,10]},{"path":[4,18,2,6,5],"span":[3166,11,17]},{"path":[4,18,2,6,1],"span":[3166,18,27]},{"path":[4,18,2,6,3],"span":[3166,30,31]},{"path":[4,18,2,6,8],"span":[3166,32,3169,4]},{"path":[4,18,2,6,8,1160,1,0],"span":[3166,33,3169,3]},{"path":[4,18,2,6,8,1160,1,0,1],"span":[3167,4,26]},{"path":[4,18,2,6,8,1160,1,0,3],"span":[3168,4,133]},{"path":[4,18,2,7],"span":[3182,2,3185,5],"leadingComments":" `pattern` specifies that the field value must match the specified\n regular expression (RE2 syntax), with the expression provided without any\n delimiters. If the field value doesn't match the regular expression, an\n error message will be generated.\n\n ```proto\n message MyString {\n // value does not match regex pattern `^[a-zA-Z]//$`\n string value = 1 [(buf.validate.field).string.pattern = \"^[a-zA-Z]//$\"];\n }\n ```\n"},{"path":[4,18,2,7,4],"span":[3182,2,10]},{"path":[4,18,2,7,5],"span":[3182,11,17]},{"path":[4,18,2,7,1],"span":[3182,18,25]},{"path":[4,18,2,7,3],"span":[3182,28,29]},{"path":[4,18,2,7,8],"span":[3182,30,3185,4]},{"path":[4,18,2,7,8,1160,1,0],"span":[3182,31,3185,3]},{"path":[4,18,2,7,8,1160,1,0,1],"span":[3183,4,24]},{"path":[4,18,2,7,8,1160,1,0,3],"span":[3184,4,119]},{"path":[4,18,2,8],"span":[3198,2,3201,5],"leadingComments":" `prefix` specifies that the field value must have the\nspecified substring at the beginning of the string. If the field value\n doesn't start with the specified prefix, an error message will be\n generated.\n\n ```proto\n message MyString {\n // value does not have prefix `pre`\n string value = 1 [(buf.validate.field).string.prefix = \"pre\"];\n }\n ```\n"},{"path":[4,18,2,8,4],"span":[3198,2,10]},{"path":[4,18,2,8,5],"span":[3198,11,17]},{"path":[4,18,2,8,1],"span":[3198,18,24]},{"path":[4,18,2,8,3],"span":[3198,27,28]},{"path":[4,18,2,8,8],"span":[3198,29,3201,4]},{"path":[4,18,2,8,8,1160,1,0],"span":[3198,30,3201,3]},{"path":[4,18,2,8,8,1160,1,0,1],"span":[3199,4,23]},{"path":[4,18,2,8,8,1160,1,0,3],"span":[3200,4,112]},{"path":[4,18,2,9],"span":[3213,2,3216,5],"leadingComments":" `suffix` specifies that the field value must have the\nspecified substring at the end of the string. If the field value doesn't\n end with the specified suffix, an error message will be generated.\n\n ```proto\n message MyString {\n // value does not have suffix `post`\n string value = 1 [(buf.validate.field).string.suffix = \"post\"];\n }\n ```\n"},{"path":[4,18,2,9,4],"span":[3213,2,10]},{"path":[4,18,2,9,5],"span":[3213,11,17]},{"path":[4,18,2,9,1],"span":[3213,18,24]},{"path":[4,18,2,9,3],"span":[3213,27,28]},{"path":[4,18,2,9,8],"span":[3213,29,3216,4]},{"path":[4,18,2,9,8,1160,1,0],"span":[3213,30,3216,3]},{"path":[4,18,2,9,8,1160,1,0,1],"span":[3214,4,23]},{"path":[4,18,2,9,8,1160,1,0,3],"span":[3215,4,110]},{"path":[4,18,2,10],"span":[3228,2,3231,5],"leadingComments":" `contains` specifies that the field value must have the\nspecified substring anywhere in the string. If the field value doesn't\n contain the specified substring, an error message will be generated.\n\n ```proto\n message MyString {\n // value does not contain substring `inside`.\n string value = 1 [(buf.validate.field).string.contains = \"inside\"];\n }\n ```\n"},{"path":[4,18,2,10,4],"span":[3228,2,10]},{"path":[4,18,2,10,5],"span":[3228,11,17]},{"path":[4,18,2,10,1],"span":[3228,18,26]},{"path":[4,18,2,10,3],"span":[3228,29,30]},{"path":[4,18,2,10,8],"span":[3228,31,3231,4]},{"path":[4,18,2,10,8,1160,1,0],"span":[3228,32,3231,3]},{"path":[4,18,2,10,8,1160,1,0,1],"span":[3229,4,25]},{"path":[4,18,2,10,8,1160,1,0,3],"span":[3230,4,120]},{"path":[4,18,2,11],"span":[3243,2,3246,5],"leadingComments":" `not_contains` specifies that the field value must not have the\nspecified substring anywhere in the string. If the field value contains\n the specified substring, an error message will be generated.\n\n ```proto\n message MyString {\n // value contains substring `inside`.\n string value = 1 [(buf.validate.field).string.not_contains = \"inside\"];\n }\n ```\n"},{"path":[4,18,2,11,4],"span":[3243,2,10]},{"path":[4,18,2,11,5],"span":[3243,11,17]},{"path":[4,18,2,11,1],"span":[3243,18,30]},{"path":[4,18,2,11,3],"span":[3243,33,35]},{"path":[4,18,2,11,8],"span":[3243,36,3246,4]},{"path":[4,18,2,11,8,1160,1,0],"span":[3243,37,3246,3]},{"path":[4,18,2,11,8,1160,1,0,1],"span":[3244,4,29]},{"path":[4,18,2,11,8,1160,1,0,3],"span":[3245,4,119]},{"path":[4,18,2,12],"span":[3258,2,3261,5],"leadingComments":" `in` specifies that the field value must be equal to one of the specified\n values. If the field value isn't one of the specified values, an error\n message will be generated.\n\n ```proto\n message MyString {\n // value must be in list [\"apple\", \"banana\"]\n string value = 1 [(buf.validate.field).string.in = \"apple\", (buf.validate.field).string.in = \"banana\"];\n }\n ```\n"},{"path":[4,18,2,12,4],"span":[3258,2,10]},{"path":[4,18,2,12,5],"span":[3258,11,17]},{"path":[4,18,2,12,1],"span":[3258,18,20]},{"path":[4,18,2,12,3],"span":[3258,23,25]},{"path":[4,18,2,12,8],"span":[3258,26,3261,4]},{"path":[4,18,2,12,8,1160,1,0],"span":[3258,27,3261,3]},{"path":[4,18,2,12,8,1160,1,0,1],"span":[3259,4,19]},{"path":[4,18,2,12,8,1160,1,0,3],"span":[3260,4,116]},{"path":[4,18,2,13],"span":[3272,2,3275,5],"leadingComments":" `not_in` specifies that the field value cannot be equal to any\n of the specified values. If the field value is one of the specified values,\n an error message will be generated.\n ```proto\n message MyString {\n // value must not be in list [\"orange\", \"grape\"]\n string value = 1 [(buf.validate.field).string.not_in = \"orange\", (buf.validate.field).string.not_in = \"grape\"];\n }\n ```\n"},{"path":[4,18,2,13,4],"span":[3272,2,10]},{"path":[4,18,2,13,5],"span":[3272,11,17]},{"path":[4,18,2,13,1],"span":[3272,18,24]},{"path":[4,18,2,13,3],"span":[3272,27,29]},{"path":[4,18,2,13,8],"span":[3272,30,3275,4]},{"path":[4,18,2,13,8,1160,1,0],"span":[3272,31,3275,3]},{"path":[4,18,2,13,8,1160,1,0,1],"span":[3273,4,23]},{"path":[4,18,2,13,8,1160,1,0,3],"span":[3274,4,99]},{"path":[4,18,8,0],"span":[3279,2,3764,3],"leadingComments":" `WellKnown` rules provide advanced rules against common string\n patterns.\n"},{"path":[4,18,8,0,1],"span":[3279,8,18]},{"path":[4,18,2,14],"span":[3296,4,3307,6],"leadingComments":" `email` specifies that the field value must be a valid email address, for\n example \"foo@example.com\".\n\n Conforms to the definition for a valid email address from the [HTML standard](https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address).\n Note that this standard willfully deviates from [RFC 5322](https://datatracker.ietf.org/doc/html/rfc5322),\n which allows many unexpected forms of email addresses and will easily match\n a typographical error.\n\n If the field value isn't a valid email address, an error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid email address\n string value = 1 [(buf.validate.field).string.email = true];\n }\n ```\n"},{"path":[4,18,2,14,5],"span":[3296,4,8]},{"path":[4,18,2,14,1],"span":[3296,9,14]},{"path":[4,18,2,14,3],"span":[3296,17,19]},{"path":[4,18,2,14,8],"span":[3296,20,3307,5]},{"path":[4,18,2,14,8,1160,1,0],"span":[3297,6,3301,7]},{"path":[4,18,2,14,8,1160,1,0,1],"span":[3298,8,26]},{"path":[4,18,2,14,8,1160,1,0,2],"span":[3299,8,54]},{"path":[4,18,2,14,8,1160,1,0,3],"span":[3300,8,66]},{"path":[4,18,2,14,8,1160,1,1],"span":[3302,6,3306,7]},{"path":[4,18,2,14,8,1160,1,1,1],"span":[3303,8,32]},{"path":[4,18,2,14,8,1160,1,1,2],"span":[3304,8,69]},{"path":[4,18,2,14,8,1160,1,1,3],"span":[3305,8,48]},{"path":[4,18,2,15],"span":[3328,4,3339,6],"leadingComments":" `hostname` specifies that the field value must be a valid hostname, for\n example \"foo.example.com\".\n\n A valid hostname follows the rules below:\n - The name consists of one or more labels, separated by a dot (\".\").\n - Each label can be 1 to 63 alphanumeric characters.\n - A label can contain hyphens (\"-\"), but must not start or end with a hyphen.\n - The right-most label must not be digits only.\n - The name can have a trailing dot—for example, \"foo.example.com.\".\n - The name can be 253 characters at most, excluding the optional trailing dot.\n\n If the field value isn't a valid hostname, an error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid hostname\n string value = 1 [(buf.validate.field).string.hostname = true];\n }\n ```\n"},{"path":[4,18,2,15,5],"span":[3328,4,8]},{"path":[4,18,2,15,1],"span":[3328,9,17]},{"path":[4,18,2,15,3],"span":[3328,20,22]},{"path":[4,18,2,15,8],"span":[3328,23,3339,5]},{"path":[4,18,2,15,8,1160,1,0],"span":[3329,6,3333,7]},{"path":[4,18,2,15,8,1160,1,0,1],"span":[3330,8,29]},{"path":[4,18,2,15,8,1160,1,0,2],"span":[3331,8,49]},{"path":[4,18,2,15,8,1160,1,0,3],"span":[3332,8,72]},{"path":[4,18,2,15,8,1160,1,1],"span":[3334,6,3338,7]},{"path":[4,18,2,15,8,1160,1,1,1],"span":[3335,8,35]},{"path":[4,18,2,15,8,1160,1,1,2],"span":[3336,8,64]},{"path":[4,18,2,15,8,1160,1,1,3],"span":[3337,8,51]},{"path":[4,18,2,16],"span":[3359,4,3370,6],"leadingComments":" `ip` specifies that the field value must be a valid IP (v4 or v6) address.\n\n IPv4 addresses are expected in the dotted decimal format—for example, \"192.168.5.21\".\n IPv6 addresses are expected in their text representation—for example, \"::1\",\n or \"2001:0DB8:ABCD:0012::0\".\n\n Both formats are well-defined in the internet standard [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986).\n Zone identifiers for IPv6 addresses (for example, \"fe80::a%en1\") are supported.\n\n If the field value isn't a valid IP address, an error message will be\n generated.\n\n ```proto\n message MyString {\n // value must be a valid IP address\n string value = 1 [(buf.validate.field).string.ip = true];\n }\n ```\n"},{"path":[4,18,2,16,5],"span":[3359,4,8]},{"path":[4,18,2,16,1],"span":[3359,9,11]},{"path":[4,18,2,16,3],"span":[3359,14,16]},{"path":[4,18,2,16,8],"span":[3359,17,3370,5]},{"path":[4,18,2,16,8,1160,1,0],"span":[3360,6,3364,7]},{"path":[4,18,2,16,8,1160,1,0,1],"span":[3361,8,23]},{"path":[4,18,2,16,8,1160,1,0,2],"span":[3362,8,51]},{"path":[4,18,2,16,8,1160,1,0,3],"span":[3363,8,60]},{"path":[4,18,2,16,8,1160,1,1],"span":[3365,6,3369,7]},{"path":[4,18,2,16,8,1160,1,1,1],"span":[3366,8,29]},{"path":[4,18,2,16,8,1160,1,1,2],"span":[3367,8,66]},{"path":[4,18,2,16,8,1160,1,1,3],"span":[3368,8,45]},{"path":[4,18,2,17],"span":[3382,4,3393,6],"leadingComments":" `ipv4` specifies that the field value must be a valid IPv4 address—for\n example \"192.168.5.21\". If the field value isn't a valid IPv4 address, an\n error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid IPv4 address\n string value = 1 [(buf.validate.field).string.ipv4 = true];\n }\n ```\n"},{"path":[4,18,2,17,5],"span":[3382,4,8]},{"path":[4,18,2,17,1],"span":[3382,9,13]},{"path":[4,18,2,17,3],"span":[3382,16,18]},{"path":[4,18,2,17,8],"span":[3382,19,3393,5]},{"path":[4,18,2,17,8,1160,1,0],"span":[3383,6,3387,7]},{"path":[4,18,2,17,8,1160,1,0,1],"span":[3384,8,25]},{"path":[4,18,2,17,8,1160,1,0,2],"span":[3385,8,53]},{"path":[4,18,2,17,8,1160,1,0,3],"span":[3386,8,63]},{"path":[4,18,2,17,8,1160,1,1],"span":[3388,6,3392,7]},{"path":[4,18,2,17,8,1160,1,1,1],"span":[3389,8,31]},{"path":[4,18,2,17,8,1160,1,1,2],"span":[3390,8,68]},{"path":[4,18,2,17,8,1160,1,1,3],"span":[3391,8,47]},{"path":[4,18,2,18],"span":[3405,4,3416,6],"leadingComments":" `ipv6` specifies that the field value must be a valid IPv6 address—for\n example \"::1\", or \"d7a:115c:a1e0:ab12:4843:cd96:626b:430b\". If the field\n value is not a valid IPv6 address, an error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid IPv6 address\n string value = 1 [(buf.validate.field).string.ipv6 = true];\n }\n ```\n"},{"path":[4,18,2,18,5],"span":[3405,4,8]},{"path":[4,18,2,18,1],"span":[3405,9,13]},{"path":[4,18,2,18,3],"span":[3405,16,18]},{"path":[4,18,2,18,8],"span":[3405,19,3416,5]},{"path":[4,18,2,18,8,1160,1,0],"span":[3406,6,3410,7]},{"path":[4,18,2,18,8,1160,1,0,1],"span":[3407,8,25]},{"path":[4,18,2,18,8,1160,1,0,2],"span":[3408,8,53]},{"path":[4,18,2,18,8,1160,1,0,3],"span":[3409,8,63]},{"path":[4,18,2,18,8,1160,1,1],"span":[3411,6,3415,7]},{"path":[4,18,2,18,8,1160,1,1,1],"span":[3412,8,31]},{"path":[4,18,2,18,8,1160,1,1,2],"span":[3413,8,68]},{"path":[4,18,2,18,8,1160,1,1,3],"span":[3414,8,47]},{"path":[4,18,2,19],"span":[3432,4,3443,6],"leadingComments":" `uri` specifies that the field value must be a valid URI, for example\n \"https://example.com/foo/bar?baz=quux#frag\".\n\n URI is defined in the internet standard [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986).\n Zone Identifiers in IPv6 address literals are supported ([RFC 6874](https://datatracker.ietf.org/doc/html/rfc6874)).\n\n If the field value isn't a valid URI, an error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid URI\n string value = 1 [(buf.validate.field).string.uri = true];\n }\n ```\n"},{"path":[4,18,2,19,5],"span":[3432,4,8]},{"path":[4,18,2,19,1],"span":[3432,9,12]},{"path":[4,18,2,19,3],"span":[3432,15,17]},{"path":[4,18,2,19,8],"span":[3432,18,3443,5]},{"path":[4,18,2,19,8,1160,1,0],"span":[3433,6,3437,7]},{"path":[4,18,2,19,8,1160,1,0,1],"span":[3434,8,24]},{"path":[4,18,2,19,8,1160,1,0,2],"span":[3435,8,44]},{"path":[4,18,2,19,8,1160,1,0,3],"span":[3436,8,62]},{"path":[4,18,2,19,8,1160,1,1],"span":[3438,6,3442,7]},{"path":[4,18,2,19,8,1160,1,1,1],"span":[3439,8,30]},{"path":[4,18,2,19,8,1160,1,1,2],"span":[3440,8,59]},{"path":[4,18,2,19,8,1160,1,1,3],"span":[3441,8,46]},{"path":[4,18,2,20],"span":[3462,4,3466,7],"leadingComments":" `uri_ref` specifies that the field value must be a valid URI Reference—either\n a URI such as \"https://example.com/foo/bar?baz=quux#frag\", or a Relative\n Reference such as \"./foo/bar?query\".\n\n URI, URI Reference, and Relative Reference are defined in the internet\n standard [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986). Zone\n Identifiers in IPv6 address literals are supported ([RFC 6874](https://datatracker.ietf.org/doc/html/rfc6874)).\n\n If the field value isn't a valid URI Reference, an error message will be\n generated.\n\n ```proto\n message MyString {\n // value must be a valid URI Reference\n string value = 1 [(buf.validate.field).string.uri_ref = true];\n }\n ```\n"},{"path":[4,18,2,20,5],"span":[3462,4,8]},{"path":[4,18,2,20,1],"span":[3462,9,16]},{"path":[4,18,2,20,3],"span":[3462,19,21]},{"path":[4,18,2,20,8],"span":[3462,22,3466,6]},{"path":[4,18,2,20,8,1160,1,0],"span":[3462,23,3466,5]},{"path":[4,18,2,20,8,1160,1,0,1],"span":[3463,6,26]},{"path":[4,18,2,20,8,1160,1,0,2],"span":[3464,6,52]},{"path":[4,18,2,20,8,1160,1,0,3],"span":[3465,6,53]},{"path":[4,18,2,21],"span":[3479,4,3490,6],"leadingComments":" `address` specifies that the field value must be either a valid hostname\n (for example, \"example.com\"), or a valid IP (v4 or v6) address (for example,\n \"192.168.0.1\", or \"::1\"). If the field value isn't a valid hostname or IP,\n an error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid hostname, or ip address\n string value = 1 [(buf.validate.field).string.address = true];\n }\n ```\n"},{"path":[4,18,2,21,5],"span":[3479,4,8]},{"path":[4,18,2,21,1],"span":[3479,9,16]},{"path":[4,18,2,21,3],"span":[3479,19,21]},{"path":[4,18,2,21,8],"span":[3479,22,3490,5]},{"path":[4,18,2,21,8,1160,1,0],"span":[3480,6,3484,7]},{"path":[4,18,2,21,8,1160,1,0,1],"span":[3481,8,28]},{"path":[4,18,2,21,8,1160,1,0,2],"span":[3482,8,64]},{"path":[4,18,2,21,8,1160,1,0,3],"span":[3483,8,86]},{"path":[4,18,2,21,8,1160,1,1],"span":[3485,6,3489,7]},{"path":[4,18,2,21,8,1160,1,1,1],"span":[3486,8,34]},{"path":[4,18,2,21,8,1160,1,1,2],"span":[3487,8,79]},{"path":[4,18,2,21,8,1160,1,1,3],"span":[3488,8,50]},{"path":[4,18,2,22],"span":[3502,4,3513,6],"leadingComments":" `uuid` specifies that the field value must be a valid UUID as defined by\n [RFC 4122](https://datatracker.ietf.org/doc/html/rfc4122#section-4.1.2). If the\n field value isn't a valid UUID, an error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid UUID\n string value = 1 [(buf.validate.field).string.uuid = true];\n }\n ```\n"},{"path":[4,18,2,22,5],"span":[3502,4,8]},{"path":[4,18,2,22,1],"span":[3502,9,13]},{"path":[4,18,2,22,3],"span":[3502,16,18]},{"path":[4,18,2,22,8],"span":[3502,19,3513,5]},{"path":[4,18,2,22,8,1160,1,0],"span":[3503,6,3507,7]},{"path":[4,18,2,22,8,1160,1,0,1],"span":[3504,8,25]},{"path":[4,18,2,22,8,1160,1,0,2],"span":[3505,8,45]},{"path":[4,18,2,22,8,1160,1,0,3],"span":[3506,8,144]},{"path":[4,18,2,22,8,1160,1,1],"span":[3508,6,3512,7]},{"path":[4,18,2,22,8,1160,1,1,1],"span":[3509,8,31]},{"path":[4,18,2,22,8,1160,1,1,2],"span":[3510,8,60]},{"path":[4,18,2,22,8,1160,1,1,3],"span":[3511,8,47]},{"path":[4,18,2,23],"span":[3526,4,3537,6],"leadingComments":" `tuuid` (trimmed UUID) specifies that the field value must be a valid UUID as\n defined by [RFC 4122](https://datatracker.ietf.org/doc/html/rfc4122#section-4.1.2) with all dashes\n omitted. If the field value isn't a valid UUID without dashes, an error message\n will be generated.\n\n ```proto\n message MyString {\n // value must be a valid trimmed UUID\n string value = 1 [(buf.validate.field).string.tuuid = true];\n }\n ```\n"},{"path":[4,18,2,23,5],"span":[3526,4,8]},{"path":[4,18,2,23,1],"span":[3526,9,14]},{"path":[4,18,2,23,3],"span":[3526,17,19]},{"path":[4,18,2,23,8],"span":[3526,20,3537,5]},{"path":[4,18,2,23,8,1160,1,0],"span":[3527,6,3531,7]},{"path":[4,18,2,23,8,1160,1,0,1],"span":[3528,8,26]},{"path":[4,18,2,23,8,1160,1,0,2],"span":[3529,8,53]},{"path":[4,18,2,23,8,1160,1,0,3],"span":[3530,8,85]},{"path":[4,18,2,23,8,1160,1,1],"span":[3532,6,3536,7]},{"path":[4,18,2,23,8,1160,1,1,1],"span":[3533,8,32]},{"path":[4,18,2,23,8,1160,1,1,2],"span":[3534,8,68]},{"path":[4,18,2,23,8,1160,1,1,3],"span":[3535,8,48]},{"path":[4,18,2,24],"span":[3550,4,3561,6],"leadingComments":" `ip_with_prefixlen` specifies that the field value must be a valid IP\n (v4 or v6) address with prefix length—for example, \"192.168.5.21/16\" or\n \"2001:0DB8:ABCD:0012::F1/64\". If the field value isn't a valid IP with\n prefix length, an error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid IP with prefix length\n string value = 1 [(buf.validate.field).string.ip_with_prefixlen = true];\n }\n ```\n"},{"path":[4,18,2,24,5],"span":[3550,4,8]},{"path":[4,18,2,24,1],"span":[3550,9,26]},{"path":[4,18,2,24,3],"span":[3550,29,31]},{"path":[4,18,2,24,8],"span":[3550,32,3561,5]},{"path":[4,18,2,24,8,1160,1,0],"span":[3551,6,3555,7]},{"path":[4,18,2,24,8,1160,1,0,1],"span":[3552,8,38]},{"path":[4,18,2,24,8,1160,1,0,2],"span":[3553,8,50]},{"path":[4,18,2,24,8,1160,1,0,3],"span":[3554,8,81]},{"path":[4,18,2,24,8,1160,1,1],"span":[3556,6,3560,7]},{"path":[4,18,2,24,8,1160,1,1,1],"span":[3557,8,44]},{"path":[4,18,2,24,8,1160,1,1,2],"span":[3558,8,65]},{"path":[4,18,2,24,8,1160,1,1,3],"span":[3559,8,60]},{"path":[4,18,2,25],"span":[3574,4,3585,6],"leadingComments":" `ipv4_with_prefixlen` specifies that the field value must be a valid\n IPv4 address with prefix length—for example, \"192.168.5.21/16\". If the\n field value isn't a valid IPv4 address with prefix length, an error\n message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid IPv4 address with prefix length\n string value = 1 [(buf.validate.field).string.ipv4_with_prefixlen = true];\n }\n ```\n"},{"path":[4,18,2,25,5],"span":[3574,4,8]},{"path":[4,18,2,25,1],"span":[3574,9,28]},{"path":[4,18,2,25,3],"span":[3574,31,33]},{"path":[4,18,2,25,8],"span":[3574,34,3585,5]},{"path":[4,18,2,25,8,1160,1,0],"span":[3575,6,3579,7]},{"path":[4,18,2,25,8,1160,1,0,1],"span":[3576,8,40]},{"path":[4,18,2,25,8,1160,1,0,2],"span":[3577,8,72]},{"path":[4,18,2,25,8,1160,1,0,3],"span":[3578,8,84]},{"path":[4,18,2,25,8,1160,1,1],"span":[3580,6,3584,7]},{"path":[4,18,2,25,8,1160,1,1,1],"span":[3581,8,46]},{"path":[4,18,2,25,8,1160,1,1,2],"span":[3582,8,87]},{"path":[4,18,2,25,8,1160,1,1,3],"span":[3583,8,62]},{"path":[4,18,2,26],"span":[3598,4,3609,6],"leadingComments":" `ipv6_with_prefixlen` specifies that the field value must be a valid\n IPv6 address with prefix length—for example, \"2001:0DB8:ABCD:0012::F1/64\".\n If the field value is not a valid IPv6 address with prefix length,\n an error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid IPv6 address prefix length\n string value = 1 [(buf.validate.field).string.ipv6_with_prefixlen = true];\n }\n ```\n"},{"path":[4,18,2,26,5],"span":[3598,4,8]},{"path":[4,18,2,26,1],"span":[3598,9,28]},{"path":[4,18,2,26,3],"span":[3598,31,33]},{"path":[4,18,2,26,8],"span":[3598,34,3609,5]},{"path":[4,18,2,26,8,1160,1,0],"span":[3599,6,3603,7]},{"path":[4,18,2,26,8,1160,1,0,1],"span":[3600,8,40]},{"path":[4,18,2,26,8,1160,1,0,2],"span":[3601,8,72]},{"path":[4,18,2,26,8,1160,1,0,3],"span":[3602,8,84]},{"path":[4,18,2,26,8,1160,1,1],"span":[3604,6,3608,7]},{"path":[4,18,2,26,8,1160,1,1,1],"span":[3605,8,46]},{"path":[4,18,2,26,8,1160,1,1,2],"span":[3606,8,87]},{"path":[4,18,2,26,8,1160,1,1,3],"span":[3607,8,62]},{"path":[4,18,2,27],"span":[3627,4,3638,6],"leadingComments":" `ip_prefix` specifies that the field value must be a valid IP (v4 or v6)\n prefix—for example, \"192.168.0.0/16\" or \"2001:0DB8:ABCD:0012::0/64\".\n\n The prefix must have all zeros for the unmasked bits. For example,\n \"2001:0DB8:ABCD:0012::0/64\" designates the left-most 64 bits for the\n prefix, and the remaining 64 bits must be zero.\n\n If the field value isn't a valid IP prefix, an error message will be\n generated.\n\n ```proto\n message MyString {\n // value must be a valid IP prefix\n string value = 1 [(buf.validate.field).string.ip_prefix = true];\n }\n ```\n"},{"path":[4,18,2,27,5],"span":[3627,4,8]},{"path":[4,18,2,27,1],"span":[3627,9,18]},{"path":[4,18,2,27,3],"span":[3627,21,23]},{"path":[4,18,2,27,8],"span":[3627,24,3638,5]},{"path":[4,18,2,27,8,1160,1,0],"span":[3628,6,3632,7]},{"path":[4,18,2,27,8,1160,1,0,1],"span":[3629,8,30]},{"path":[4,18,2,27,8,1160,1,0,2],"span":[3630,8,50]},{"path":[4,18,2,27,8,1160,1,0,3],"span":[3631,8,77]},{"path":[4,18,2,27,8,1160,1,1],"span":[3633,6,3637,7]},{"path":[4,18,2,27,8,1160,1,1,1],"span":[3634,8,36]},{"path":[4,18,2,27,8,1160,1,1,2],"span":[3635,8,65]},{"path":[4,18,2,27,8,1160,1,1,3],"span":[3636,8,52]},{"path":[4,18,2,28],"span":[3656,4,3667,6],"leadingComments":" `ipv4_prefix` specifies that the field value must be a valid IPv4\n prefix, for example \"192.168.0.0/16\".\n\n The prefix must have all zeros for the unmasked bits. For example,\n \"192.168.0.0/16\" designates the left-most 16 bits for the prefix,\n and the remaining 16 bits must be zero.\n\n If the field value isn't a valid IPv4 prefix, an error message\n will be generated.\n\n ```proto\n message MyString {\n // value must be a valid IPv4 prefix\n string value = 1 [(buf.validate.field).string.ipv4_prefix = true];\n }\n ```\n"},{"path":[4,18,2,28,5],"span":[3656,4,8]},{"path":[4,18,2,28,1],"span":[3656,9,20]},{"path":[4,18,2,28,3],"span":[3656,23,25]},{"path":[4,18,2,28,8],"span":[3656,26,3667,5]},{"path":[4,18,2,28,8,1160,1,0],"span":[3657,6,3661,7]},{"path":[4,18,2,28,8,1160,1,0,1],"span":[3658,8,32]},{"path":[4,18,2,28,8,1160,1,0,2],"span":[3659,8,52]},{"path":[4,18,2,28,8,1160,1,0,3],"span":[3660,8,82]},{"path":[4,18,2,28,8,1160,1,1],"span":[3662,6,3666,7]},{"path":[4,18,2,28,8,1160,1,1,1],"span":[3663,8,38]},{"path":[4,18,2,28,8,1160,1,1,2],"span":[3664,8,67]},{"path":[4,18,2,28,8,1160,1,1,3],"span":[3665,8,54]},{"path":[4,18,2,29],"span":[3685,4,3696,6],"leadingComments":" `ipv6_prefix` specifies that the field value must be a valid IPv6 prefix—for\n example, \"2001:0DB8:ABCD:0012::0/64\".\n\n The prefix must have all zeros for the unmasked bits. For example,\n \"2001:0DB8:ABCD:0012::0/64\" designates the left-most 64 bits for the\n prefix, and the remaining 64 bits must be zero.\n\n If the field value is not a valid IPv6 prefix, an error message will be\n generated.\n\n ```proto\n message MyString {\n // value must be a valid IPv6 prefix\n string value = 1 [(buf.validate.field).string.ipv6_prefix = true];\n }\n ```\n"},{"path":[4,18,2,29,5],"span":[3685,4,8]},{"path":[4,18,2,29,1],"span":[3685,9,20]},{"path":[4,18,2,29,3],"span":[3685,23,25]},{"path":[4,18,2,29,8],"span":[3685,26,3696,5]},{"path":[4,18,2,29,8,1160,1,0],"span":[3686,6,3690,7]},{"path":[4,18,2,29,8,1160,1,0,1],"span":[3687,8,32]},{"path":[4,18,2,29,8,1160,1,0,2],"span":[3688,8,52]},{"path":[4,18,2,29,8,1160,1,0,3],"span":[3689,8,82]},{"path":[4,18,2,29,8,1160,1,1],"span":[3691,6,3695,7]},{"path":[4,18,2,29,8,1160,1,1,1],"span":[3692,8,38]},{"path":[4,18,2,29,8,1160,1,1,2],"span":[3693,8,67]},{"path":[4,18,2,29,8,1160,1,1,3],"span":[3694,8,54]},{"path":[4,18,2,30],"span":[3708,4,3719,6],"leadingComments":" `host_and_port` specifies that the field value must be valid host/port\n pair—for example, \"example.com:8080\".\n\n The host can be one of:\n- An IPv4 address in dotted decimal format—for example, \"192.168.5.21\".\n- An IPv6 address enclosed in square brackets—for example, \"[2001:0DB8:ABCD:0012::F1]\".\n- A hostname—for example, \"example.com\".\n\n The port is separated by a colon. It must be non-empty, with a decimal number\n in the range of 0-65535, inclusive.\n"},{"path":[4,18,2,30,5],"span":[3708,4,8]},{"path":[4,18,2,30,1],"span":[3708,9,22]},{"path":[4,18,2,30,3],"span":[3708,25,27]},{"path":[4,18,2,30,8],"span":[3708,28,3719,5]},{"path":[4,18,2,30,8,1160,1,0],"span":[3709,6,3713,7]},{"path":[4,18,2,30,8,1160,1,0,1],"span":[3710,8,34]},{"path":[4,18,2,30,8,1160,1,0,2],"span":[3711,8,84]},{"path":[4,18,2,30,8,1160,1,0,3],"span":[3712,8,84]},{"path":[4,18,2,30,8,1160,1,1],"span":[3714,6,3718,7]},{"path":[4,18,2,30,8,1160,1,1,1],"span":[3715,8,40]},{"path":[4,18,2,30,8,1160,1,1,2],"span":[3716,8,74]},{"path":[4,18,2,30,8,1160,1,1,3],"span":[3717,8,56]},{"path":[4,18,2,31],"span":[3741,4,3763,6],"leadingComments":" `well_known_regex` specifies a common well-known pattern\n defined as a regex. If the field value doesn't match the well-known\n regex, an error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid HTTP header value\n string value = 1 [(buf.validate.field).string.well_known_regex = KNOWN_REGEX_HTTP_HEADER_VALUE];\n }\n ```\n\n #### KnownRegex\n\n `well_known_regex` contains some well-known patterns.\n\n | Name | Number | Description |\n |-------------------------------|--------|-------------------------------------------|\n | KNOWN_REGEX_UNSPECIFIED | 0 | |\n | KNOWN_REGEX_HTTP_HEADER_NAME | 1 | HTTP header name as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2) |\n | KNOWN_REGEX_HTTP_HEADER_VALUE | 2 | HTTP header value as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.4) |\n"},{"path":[4,18,2,31,6],"span":[3741,4,14]},{"path":[4,18,2,31,1],"span":[3741,15,31]},{"path":[4,18,2,31,3],"span":[3741,34,36]},{"path":[4,18,2,31,8],"span":[3741,37,3763,5]},{"path":[4,18,2,31,8,1160,1,0],"span":[3742,6,3749,7]},{"path":[4,18,2,31,8,1160,1,0,1],"span":[3743,8,49]},{"path":[4,18,2,31,8,1160,1,0,2],"span":[3744,8,57]},{"path":[4,18,2,31,8,1160,1,0,3],"span":[3745,8,3748,42]},{"path":[4,18,2,31,8,1160,1,1],"span":[3750,6,3754,7]},{"path":[4,18,2,31,8,1160,1,1,1],"span":[3751,8,55]},{"path":[4,18,2,31,8,1160,1,1,2],"span":[3752,8,72]},{"path":[4,18,2,31,8,1160,1,1,3],"span":[3753,8,63]},{"path":[4,18,2,31,8,1160,1,2],"span":[3755,6,3762,7]},{"path":[4,18,2,31,8,1160,1,2,1],"span":[3756,8,50]},{"path":[4,18,2,31,8,1160,1,2,2],"span":[3757,8,58]},{"path":[4,18,2,31,8,1160,1,2,3],"span":[3758,8,3761,42]},{"path":[4,18,2,32],"span":[3778,2,28],"leadingComments":" This applies to regexes `HTTP_HEADER_NAME` and `HTTP_HEADER_VALUE` to\n enable strict header validation. By default, this is true, and HTTP header\n validations are [RFC-compliant](https://datatracker.ietf.org/doc/html/rfc7230#section-3). Setting to false will enable looser\n validations that only disallow `\\r\\n\\0` characters, which can be used to\n bypass header matching rules.\n\n ```proto\n message MyString {\n // The field `value` must have be a valid HTTP headers, but not enforced with strict rules.\n string value = 1 [(buf.validate.field).string.strict = false];\n }\n ```\n"},{"path":[4,18,2,32,4],"span":[3778,2,10]},{"path":[4,18,2,32,5],"span":[3778,11,15]},{"path":[4,18,2,32,1],"span":[3778,16,22]},{"path":[4,18,2,32,3],"span":[3778,25,27]},{"path":[4,18,2,33],"span":[3792,2,3795,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyString {\n string value = 1 [\n (buf.validate.field).string.example = \"hello\",\n (buf.validate.field).string.example = \"world\"\n ];\n }\n ```\n"},{"path":[4,18,2,33,4],"span":[3792,2,10]},{"path":[4,18,2,33,5],"span":[3792,11,17]},{"path":[4,18,2,33,1],"span":[3792,18,25]},{"path":[4,18,2,33,3],"span":[3792,28,30]},{"path":[4,18,2,33,8],"span":[3792,31,3795,4]},{"path":[4,18,2,33,8,1160,1,0],"span":[3792,32,3795,3]},{"path":[4,18,2,33,8,1160,1,0,1],"span":[3793,4,24]},{"path":[4,18,2,33,8,1160,1,0,3],"span":[3794,4,22]},{"path":[4,18,5],"span":[3807,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,18,5,0],"span":[3807,13,24]},{"path":[4,18,5,0,1],"span":[3807,13,17]},{"path":[4,18,5,0,2],"span":[3807,21,24]},{"path":[5,1],"span":[3811,0,3819,1],"leadingComments":" WellKnownRegex contain some well-known patterns.\n"},{"path":[5,1,1],"span":[3811,5,15]},{"path":[5,1,2,0],"span":[3812,2,30]},{"path":[5,1,2,0,1],"span":[3812,2,25]},{"path":[5,1,2,0,2],"span":[3812,28,29]},{"path":[5,1,2,1],"span":[3815,2,35],"leadingComments":" HTTP header name as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2).\n"},{"path":[5,1,2,1,1],"span":[3815,2,30]},{"path":[5,1,2,1,2],"span":[3815,33,34]},{"path":[5,1,2,2],"span":[3818,2,36],"leadingComments":" HTTP header value as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.4).\n"},{"path":[5,1,2,2,1],"span":[3818,2,31]},{"path":[5,1,2,2,2],"span":[3818,34,35]},{"path":[4,19],"span":[3823,0,4072,1],"leadingComments":" BytesRules describe the rules applied to `bytes` values. These rules\n may also be applied to the `google.protobuf.BytesValue` Well-Known-Type.\n"},{"path":[4,19,1],"span":[3823,8,18]},{"path":[4,19,2,0],"span":[3833,2,3836,5],"leadingComments":" `const` requires the field value to exactly match the specified bytes\n value. If the field value doesn't match, an error message is generated.\n\n ```proto\n message MyBytes {\n // value must be \"\\x01\\x02\\x03\\x04\"\n bytes value = 1 [(buf.validate.field).bytes.const = \"\\x01\\x02\\x03\\x04\"];\n }\n ```\n"},{"path":[4,19,2,0,4],"span":[3833,2,10]},{"path":[4,19,2,0,5],"span":[3833,11,16]},{"path":[4,19,2,0,1],"span":[3833,17,22]},{"path":[4,19,2,0,3],"span":[3833,25,26]},{"path":[4,19,2,0,8],"span":[3833,27,3836,4]},{"path":[4,19,2,0,8,1160,1,0],"span":[3833,28,3836,3]},{"path":[4,19,2,0,8,1160,1,0,1],"span":[3834,4,21]},{"path":[4,19,2,0,8,1160,1,0,3],"span":[3835,4,111]},{"path":[4,19,2,1],"span":[3847,2,3850,5],"leadingComments":" `len` requires the field value to have the specified length in bytes.\n If the field value doesn't match, an error message is generated.\n\n ```proto\n message MyBytes {\n // value length must be 4 bytes.\n optional bytes value = 1 [(buf.validate.field).bytes.len = 4];\n }\n ```\n"},{"path":[4,19,2,1,4],"span":[3847,2,10]},{"path":[4,19,2,1,5],"span":[3847,11,17]},{"path":[4,19,2,1,1],"span":[3847,18,21]},{"path":[4,19,2,1,3],"span":[3847,24,26]},{"path":[4,19,2,1,8],"span":[3847,27,3850,4]},{"path":[4,19,2,1,8,1160,1,0],"span":[3847,28,3850,3]},{"path":[4,19,2,1,8,1160,1,0,1],"span":[3848,4,19]},{"path":[4,19,2,1,8,1160,1,0,3],"span":[3849,4,107]},{"path":[4,19,2,2],"span":[3862,2,3865,5],"leadingComments":" `min_len` requires the field value to have at least the specified minimum\n length in bytes.\n If the field value doesn't meet the requirement, an error message is generated.\n\n ```proto\n message MyBytes {\n // value length must be at least 2 bytes.\n optional bytes value = 1 [(buf.validate.field).bytes.min_len = 2];\n }\n ```\n"},{"path":[4,19,2,2,4],"span":[3862,2,10]},{"path":[4,19,2,2,5],"span":[3862,11,17]},{"path":[4,19,2,2,1],"span":[3862,18,25]},{"path":[4,19,2,2,3],"span":[3862,28,29]},{"path":[4,19,2,2,8],"span":[3862,30,3865,4]},{"path":[4,19,2,2,8,1160,1,0],"span":[3862,31,3865,3]},{"path":[4,19,2,2,8,1160,1,0,1],"span":[3863,4,23]},{"path":[4,19,2,2,8,1160,1,0,3],"span":[3864,4,123]},{"path":[4,19,2,3],"span":[3877,2,3880,5],"leadingComments":" `max_len` requires the field value to have at most the specified maximum\n length in bytes.\n If the field value exceeds the requirement, an error message is generated.\n\n ```proto\n message MyBytes {\n // value must be at most 6 bytes.\n optional bytes value = 1 [(buf.validate.field).bytes.max_len = 6];\n }\n ```\n"},{"path":[4,19,2,3,4],"span":[3877,2,10]},{"path":[4,19,2,3,5],"span":[3877,11,17]},{"path":[4,19,2,3,1],"span":[3877,18,25]},{"path":[4,19,2,3,3],"span":[3877,28,29]},{"path":[4,19,2,3,8],"span":[3877,30,3880,4]},{"path":[4,19,2,3,8,1160,1,0],"span":[3877,31,3880,3]},{"path":[4,19,2,3,8,1160,1,0,1],"span":[3878,4,23]},{"path":[4,19,2,3,8,1160,1,0,3],"span":[3879,4,115]},{"path":[4,19,2,4],"span":[3894,2,3897,5],"leadingComments":" `pattern` requires the field value to match the specified regular\n expression ([RE2 syntax](https://github.com/google/re2/wiki/Syntax)).\n The value of the field must be valid UTF-8 or validation will fail with a\n runtime error.\n If the field value doesn't match the pattern, an error message is generated.\n\n ```proto\n message MyBytes {\n // value must match regex pattern \"^[a-zA-Z0-9]+$\".\n optional bytes value = 1 [(buf.validate.field).bytes.pattern = \"^[a-zA-Z0-9]+$\"];\n }\n ```\n"},{"path":[4,19,2,4,4],"span":[3894,2,10]},{"path":[4,19,2,4,5],"span":[3894,11,17]},{"path":[4,19,2,4,1],"span":[3894,18,25]},{"path":[4,19,2,4,3],"span":[3894,28,29]},{"path":[4,19,2,4,8],"span":[3894,30,3897,4]},{"path":[4,19,2,4,8,1160,1,0],"span":[3894,31,3897,3]},{"path":[4,19,2,4,8,1160,1,0,1],"span":[3895,4,23]},{"path":[4,19,2,4,8,1160,1,0,3],"span":[3896,4,123]},{"path":[4,19,2,5],"span":[3909,2,3912,5],"leadingComments":" `prefix` requires the field value to have the specified bytes at the\n beginning of the string.\n If the field value doesn't meet the requirement, an error message is generated.\n\n ```proto\n message MyBytes {\n // value does not have prefix \\x01\\x02\n optional bytes value = 1 [(buf.validate.field).bytes.prefix = \"\\x01\\x02\"];\n }\n ```\n"},{"path":[4,19,2,5,4],"span":[3909,2,10]},{"path":[4,19,2,5,5],"span":[3909,11,16]},{"path":[4,19,2,5,1],"span":[3909,17,23]},{"path":[4,19,2,5,3],"span":[3909,26,27]},{"path":[4,19,2,5,8],"span":[3909,28,3912,4]},{"path":[4,19,2,5,8,1160,1,0],"span":[3909,29,3912,3]},{"path":[4,19,2,5,8,1160,1,0,1],"span":[3910,4,22]},{"path":[4,19,2,5,8,1160,1,0,3],"span":[3911,4,110]},{"path":[4,19,2,6],"span":[3924,2,3927,5],"leadingComments":" `suffix` requires the field value to have the specified bytes at the end\n of the string.\n If the field value doesn't meet the requirement, an error message is generated.\n\n ```proto\n message MyBytes {\n // value does not have suffix \\x03\\x04\n optional bytes value = 1 [(buf.validate.field).bytes.suffix = \"\\x03\\x04\"];\n }\n ```\n"},{"path":[4,19,2,6,4],"span":[3924,2,10]},{"path":[4,19,2,6,5],"span":[3924,11,16]},{"path":[4,19,2,6,1],"span":[3924,17,23]},{"path":[4,19,2,6,3],"span":[3924,26,27]},{"path":[4,19,2,6,8],"span":[3924,28,3927,4]},{"path":[4,19,2,6,8,1160,1,0],"span":[3924,29,3927,3]},{"path":[4,19,2,6,8,1160,1,0,1],"span":[3925,4,22]},{"path":[4,19,2,6,8,1160,1,0,3],"span":[3926,4,108]},{"path":[4,19,2,7],"span":[3939,2,3942,5],"leadingComments":" `contains` requires the field value to have the specified bytes anywhere in\n the string.\n If the field value doesn't meet the requirement, an error message is generated.\n\n ```protobuf\n message MyBytes {\n // value does not contain \\x02\\x03\n optional bytes value = 1 [(buf.validate.field).bytes.contains = \"\\x02\\x03\"];\n }\n ```\n"},{"path":[4,19,2,7,4],"span":[3939,2,10]},{"path":[4,19,2,7,5],"span":[3939,11,16]},{"path":[4,19,2,7,1],"span":[3939,17,25]},{"path":[4,19,2,7,3],"span":[3939,28,29]},{"path":[4,19,2,7,8],"span":[3939,30,3942,4]},{"path":[4,19,2,7,8,1160,1,0],"span":[3939,31,3942,3]},{"path":[4,19,2,7,8,1160,1,0,1],"span":[3940,4,24]},{"path":[4,19,2,7,8,1160,1,0,3],"span":[3941,4,108]},{"path":[4,19,2,8],"span":[3954,2,3957,5],"leadingComments":" `in` requires the field value to be equal to one of the specified\n values. If the field value doesn't match any of the specified values, an\n error message is generated.\n\n ```protobuf\n message MyBytes {\n // value must in [\"\\x01\\x02\", \"\\x02\\x03\", \"\\x03\\x04\"]\n optional bytes value = 1 [(buf.validate.field).bytes.in = {\"\\x01\\x02\", \"\\x02\\x03\", \"\\x03\\x04\"}];\n }\n ```\n"},{"path":[4,19,2,8,4],"span":[3954,2,10]},{"path":[4,19,2,8,5],"span":[3954,11,16]},{"path":[4,19,2,8,1],"span":[3954,17,19]},{"path":[4,19,2,8,3],"span":[3954,22,23]},{"path":[4,19,2,8,8],"span":[3954,24,3957,4]},{"path":[4,19,2,8,8,1160,1,0],"span":[3954,25,3957,3]},{"path":[4,19,2,8,8,1160,1,0,1],"span":[3955,4,18]},{"path":[4,19,2,8,8,1160,1,0,3],"span":[3956,4,152]},{"path":[4,19,2,9],"span":[3970,2,3973,5],"leadingComments":" `not_in` requires the field value to be not equal to any of the specified\n values.\n If the field value matches any of the specified values, an error message is\n generated.\n\n ```proto\n message MyBytes {\n // value must not in [\"\\x01\\x02\", \"\\x02\\x03\", \"\\x03\\x04\"]\n optional bytes value = 1 [(buf.validate.field).bytes.not_in = {\"\\x01\\x02\", \"\\x02\\x03\", \"\\x03\\x04\"}];\n }\n ```\n"},{"path":[4,19,2,9,4],"span":[3970,2,10]},{"path":[4,19,2,9,5],"span":[3970,11,16]},{"path":[4,19,2,9,1],"span":[3970,17,23]},{"path":[4,19,2,9,3],"span":[3970,26,27]},{"path":[4,19,2,9,8],"span":[3970,28,3973,4]},{"path":[4,19,2,9,8,1160,1,0],"span":[3970,29,3973,3]},{"path":[4,19,2,9,8,1160,1,0,1],"span":[3971,4,22]},{"path":[4,19,2,9,8,1160,1,0,3],"span":[3972,4,99]},{"path":[4,19,8,0],"span":[3977,2,4042,3],"leadingComments":" WellKnown rules provide advanced rules against common byte\n patterns\n"},{"path":[4,19,8,0,1],"span":[3977,8,18]},{"path":[4,19,2,10],"span":[3987,4,3998,6],"leadingComments":" `ip` ensures that the field `value` is a valid IP address (v4 or v6) in byte format.\n If the field value doesn't meet this rule, an error message is generated.\n\n ```proto\n message MyBytes {\n // value must be a valid IP address\n optional bytes value = 1 [(buf.validate.field).bytes.ip = true];\n }\n ```\n"},{"path":[4,19,2,10,5],"span":[3987,4,8]},{"path":[4,19,2,10,1],"span":[3987,9,11]},{"path":[4,19,2,10,3],"span":[3987,14,16]},{"path":[4,19,2,10,8],"span":[3987,17,3998,5]},{"path":[4,19,2,10,8,1160,1,0],"span":[3988,6,3992,7]},{"path":[4,19,2,10,8,1160,1,0,1],"span":[3989,8,22]},{"path":[4,19,2,10,8,1160,1,0,2],"span":[3990,8,51]},{"path":[4,19,2,10,8,1160,1,0,3],"span":[3991,8,92]},{"path":[4,19,2,10,8,1160,1,1],"span":[3993,6,3997,7]},{"path":[4,19,2,10,8,1160,1,1,1],"span":[3994,8,28]},{"path":[4,19,2,10,8,1160,1,1,2],"span":[3995,8,66]},{"path":[4,19,2,10,8,1160,1,1,3],"span":[3996,8,51]},{"path":[4,19,2,11],"span":[4009,4,4020,6],"leadingComments":" `ipv4` ensures that the field `value` is a valid IPv4 address in byte format.\n If the field value doesn't meet this rule, an error message is generated.\n\n ```proto\n message MyBytes {\n // value must be a valid IPv4 address\n optional bytes value = 1 [(buf.validate.field).bytes.ipv4 = true];\n }\n ```\n"},{"path":[4,19,2,11,5],"span":[4009,4,8]},{"path":[4,19,2,11,1],"span":[4009,9,13]},{"path":[4,19,2,11,3],"span":[4009,16,18]},{"path":[4,19,2,11,8],"span":[4009,19,4020,5]},{"path":[4,19,2,11,8,1160,1,0],"span":[4010,6,4014,7]},{"path":[4,19,2,11,8,1160,1,0,1],"span":[4011,8,24]},{"path":[4,19,2,11,8,1160,1,0,2],"span":[4012,8,53]},{"path":[4,19,2,11,8,1160,1,0,3],"span":[4013,8,73]},{"path":[4,19,2,11,8,1160,1,1],"span":[4015,6,4019,7]},{"path":[4,19,2,11,8,1160,1,1,1],"span":[4016,8,30]},{"path":[4,19,2,11,8,1160,1,1,2],"span":[4017,8,68]},{"path":[4,19,2,11,8,1160,1,1,3],"span":[4018,8,53]},{"path":[4,19,2,12],"span":[4030,4,4041,6],"leadingComments":" `ipv6` ensures that the field `value` is a valid IPv6 address in byte format.\n If the field value doesn't meet this rule, an error message is generated.\n ```proto\n message MyBytes {\n // value must be a valid IPv6 address\n optional bytes value = 1 [(buf.validate.field).bytes.ipv6 = true];\n }\n ```\n"},{"path":[4,19,2,12,5],"span":[4030,4,8]},{"path":[4,19,2,12,1],"span":[4030,9,13]},{"path":[4,19,2,12,3],"span":[4030,16,18]},{"path":[4,19,2,12,8],"span":[4030,19,4041,5]},{"path":[4,19,2,12,8,1160,1,0],"span":[4031,6,4035,7]},{"path":[4,19,2,12,8,1160,1,0,1],"span":[4032,8,24]},{"path":[4,19,2,12,8,1160,1,0,2],"span":[4033,8,53]},{"path":[4,19,2,12,8,1160,1,0,3],"span":[4034,8,74]},{"path":[4,19,2,12,8,1160,1,1],"span":[4036,6,4040,7]},{"path":[4,19,2,12,8,1160,1,1,1],"span":[4037,8,30]},{"path":[4,19,2,12,8,1160,1,1,2],"span":[4038,8,68]},{"path":[4,19,2,12,8,1160,1,1,3],"span":[4039,8,53]},{"path":[4,19,2,13],"span":[4056,2,4059,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyBytes {\n bytes value = 1 [\n (buf.validate.field).bytes.example = \"\\x01\\x02\",\n (buf.validate.field).bytes.example = \"\\x02\\x03\"\n ];\n }\n ```\n"},{"path":[4,19,2,13,4],"span":[4056,2,10]},{"path":[4,19,2,13,5],"span":[4056,11,16]},{"path":[4,19,2,13,1],"span":[4056,17,24]},{"path":[4,19,2,13,3],"span":[4056,27,29]},{"path":[4,19,2,13,8],"span":[4056,30,4059,4]},{"path":[4,19,2,13,8,1160,1,0],"span":[4056,31,4059,3]},{"path":[4,19,2,13,8,1160,1,0,1],"span":[4057,4,23]},{"path":[4,19,2,13,8,1160,1,0,3],"span":[4058,4,22]},{"path":[4,19,5],"span":[4071,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,19,5,0],"span":[4071,13,24]},{"path":[4,19,5,0,1],"span":[4071,13,17]},{"path":[4,19,5,0,2],"span":[4071,21,24]},{"path":[4,20],"span":[4075,0,4187,1],"leadingComments":" EnumRules describe the rules applied to `enum` values.\n"},{"path":[4,20,1],"span":[4075,8,17]},{"path":[4,20,2,0],"span":[4091,2,4094,5],"leadingComments":" `const` requires the field value to exactly match the specified enum value.\n If the field value doesn't match, an error message is generated.\n\n ```proto\n enum MyEnum {\n MY_ENUM_UNSPECIFIED = 0;\n MY_ENUM_VALUE1 = 1;\n MY_ENUM_VALUE2 = 2;\n }\n\n message MyMessage {\n // The field `value` must be exactly MY_ENUM_VALUE1.\n MyEnum value = 1 [(buf.validate.field).enum.const = 1];\n }\n ```\n"},{"path":[4,20,2,0,4],"span":[4091,2,10]},{"path":[4,20,2,0,5],"span":[4091,11,16]},{"path":[4,20,2,0,1],"span":[4091,17,22]},{"path":[4,20,2,0,3],"span":[4091,25,26]},{"path":[4,20,2,0,8],"span":[4091,27,4094,4]},{"path":[4,20,2,0,8,1160,1,0],"span":[4091,28,4094,3]},{"path":[4,20,2,0,8,1160,1,0,1],"span":[4092,4,20]},{"path":[4,20,2,0,8,1160,1,0,3],"span":[4093,4,114]},{"path":[4,20,2,1],"span":[4111,2,33],"leadingComments":" `defined_only` requires the field value to be one of the defined values for\n this enum, failing on any undefined value.\n\n ```proto\n enum MyEnum {\n MY_ENUM_UNSPECIFIED = 0;\n MY_ENUM_VALUE1 = 1;\n MY_ENUM_VALUE2 = 2;\n }\n\n message MyMessage {\n // The field `value` must be a defined value of MyEnum.\n MyEnum value = 1 [(buf.validate.field).enum.defined_only = true];\n }\n ```\n"},{"path":[4,20,2,1,4],"span":[4111,2,10]},{"path":[4,20,2,1,5],"span":[4111,11,15]},{"path":[4,20,2,1,1],"span":[4111,16,28]},{"path":[4,20,2,1,3],"span":[4111,31,32]},{"path":[4,20,2,2],"span":[4129,2,4132,5],"leadingComments":" `in` requires the field value to be equal to one of the\nspecified enum values. If the field value doesn't match any of the\nspecified values, an error message is generated.\n\n ```proto\n enum MyEnum {\n MY_ENUM_UNSPECIFIED = 0;\n MY_ENUM_VALUE1 = 1;\n MY_ENUM_VALUE2 = 2;\n }\n\n message MyMessage {\n // The field `value` must be equal to one of the specified values.\n MyEnum value = 1 [(buf.validate.field).enum = { in: [1, 2]}];\n }\n ```\n"},{"path":[4,20,2,2,4],"span":[4129,2,10]},{"path":[4,20,2,2,5],"span":[4129,11,16]},{"path":[4,20,2,2,1],"span":[4129,17,19]},{"path":[4,20,2,2,3],"span":[4129,22,23]},{"path":[4,20,2,2,8],"span":[4129,24,4132,4]},{"path":[4,20,2,2,8,1160,1,0],"span":[4129,25,4132,3]},{"path":[4,20,2,2,8,1160,1,0,1],"span":[4130,4,17]},{"path":[4,20,2,2,8,1160,1,0,3],"span":[4131,4,116]},{"path":[4,20,2,3],"span":[4150,2,4153,5],"leadingComments":" `not_in` requires the field value to be not equal to any of the\nspecified enum values. If the field value matches one of the specified\n values, an error message is generated.\n\n ```proto\n enum MyEnum {\n MY_ENUM_UNSPECIFIED = 0;\n MY_ENUM_VALUE1 = 1;\n MY_ENUM_VALUE2 = 2;\n }\n\n message MyMessage {\n // The field `value` must not be equal to any of the specified values.\n MyEnum value = 1 [(buf.validate.field).enum = { not_in: [1, 2]}];\n }\n ```\n"},{"path":[4,20,2,3,4],"span":[4150,2,10]},{"path":[4,20,2,3,5],"span":[4150,11,16]},{"path":[4,20,2,3,1],"span":[4150,17,23]},{"path":[4,20,2,3,3],"span":[4150,26,27]},{"path":[4,20,2,3,8],"span":[4150,28,4153,4]},{"path":[4,20,2,3,8,1160,1,0],"span":[4150,29,4153,3]},{"path":[4,20,2,3,8,1160,1,0,1],"span":[4151,4,21]},{"path":[4,20,2,3,8,1160,1,0,3],"span":[4152,4,99]},{"path":[4,20,2,4],"span":[4171,2,4174,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n enum MyEnum {\n MY_ENUM_UNSPECIFIED = 0;\n MY_ENUM_VALUE1 = 1;\n MY_ENUM_VALUE2 = 2;\n }\n\n message MyMessage {\n (buf.validate.field).enum.example = 1,\n (buf.validate.field).enum.example = 2\n }\n ```\n"},{"path":[4,20,2,4,4],"span":[4171,2,10]},{"path":[4,20,2,4,5],"span":[4171,11,16]},{"path":[4,20,2,4,1],"span":[4171,17,24]},{"path":[4,20,2,4,3],"span":[4171,27,28]},{"path":[4,20,2,4,8],"span":[4171,29,4174,4]},{"path":[4,20,2,4,8,1160,1,0],"span":[4171,30,4174,3]},{"path":[4,20,2,4,8,1160,1,0,1],"span":[4172,4,22]},{"path":[4,20,2,4,8,1160,1,0,3],"span":[4173,4,22]},{"path":[4,20,5],"span":[4186,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,20,5,0],"span":[4186,13,24]},{"path":[4,20,5,0,1],"span":[4186,13,17]},{"path":[4,20,5,0,2],"span":[4186,21,24]},{"path":[4,21],"span":[4190,0,4267,1],"leadingComments":" RepeatedRules describe the rules applied to `repeated` values.\n"},{"path":[4,21,1],"span":[4190,8,21]},{"path":[4,21,2,0],"span":[4202,2,4205,5],"leadingComments":" `min_items` requires that this field must contain at least the specified\n minimum number of items.\n\n Note that `min_items = 1` is equivalent to setting a field as `required`.\n\n ```proto\n message MyRepeated {\n // value must contain at least 2 items\n repeated string value = 1 [(buf.validate.field).repeated.min_items = 2];\n }\n ```\n"},{"path":[4,21,2,0,4],"span":[4202,2,10]},{"path":[4,21,2,0,5],"span":[4202,11,17]},{"path":[4,21,2,0,1],"span":[4202,18,27]},{"path":[4,21,2,0,3],"span":[4202,30,31]},{"path":[4,21,2,0,8],"span":[4202,32,4205,4]},{"path":[4,21,2,0,8,1160,1,0],"span":[4202,33,4205,3]},{"path":[4,21,2,0,8,1160,1,0,1],"span":[4203,4,28]},{"path":[4,21,2,0,8,1160,1,0,3],"span":[4204,4,127]},{"path":[4,21,2,1],"span":[4218,2,4221,5],"leadingComments":" `max_items` denotes that this field must not exceed a\n certain number of items as the upper limit. If the field contains more\n items than specified, an error message will be generated, requiring the\n field to maintain no more than the specified number of items.\n\n ```proto\n message MyRepeated {\n // value must contain no more than 3 item(s)\n repeated string value = 1 [(buf.validate.field).repeated.max_items = 3];\n }\n ```\n"},{"path":[4,21,2,1,4],"span":[4218,2,10]},{"path":[4,21,2,1,5],"span":[4218,11,17]},{"path":[4,21,2,1,1],"span":[4218,18,27]},{"path":[4,21,2,1,3],"span":[4218,30,31]},{"path":[4,21,2,1,8],"span":[4218,32,4221,4]},{"path":[4,21,2,1,8,1160,1,0],"span":[4218,33,4221,3]},{"path":[4,21,2,1,8,1160,1,0,1],"span":[4219,4,28]},{"path":[4,21,2,1,8,1160,1,0,3],"span":[4220,4,131]},{"path":[4,21,2,2],"span":[4233,2,4237,5],"leadingComments":" `unique` indicates that all elements in this field must\n be unique. This rule is strictly applicable to scalar and enum\n types, with message types not being supported.\n\n ```proto\n message MyRepeated {\n // repeated value must contain unique items\n repeated string value = 1 [(buf.validate.field).repeated.unique = true];\n }\n ```\n"},{"path":[4,21,2,2,4],"span":[4233,2,10]},{"path":[4,21,2,2,5],"span":[4233,11,15]},{"path":[4,21,2,2,1],"span":[4233,16,22]},{"path":[4,21,2,2,3],"span":[4233,25,26]},{"path":[4,21,2,2,8],"span":[4233,27,4237,4]},{"path":[4,21,2,2,8,1160,1,0],"span":[4233,28,4237,3]},{"path":[4,21,2,2,8,1160,1,0,1],"span":[4234,4,25]},{"path":[4,21,2,2,8,1160,1,0,2],"span":[4235,4,55]},{"path":[4,21,2,2,8,1160,1,0,3],"span":[4236,4,48]},{"path":[4,21,2,3],"span":[4254,2,32],"leadingComments":" `items` details the rules to be applied to each item\n in the field. Even for repeated message fields, validation is executed\n against each item unless skip is explicitly specified.\n\n ```proto\n message MyRepeated {\n // The items in the field `value` must follow the specified rules.\n repeated string value = 1 [(buf.validate.field).repeated.items = {\n string: {\n min_len: 3\n max_len: 10\n }\n }];\n }\n ```\n"},{"path":[4,21,2,3,4],"span":[4254,2,10]},{"path":[4,21,2,3,6],"span":[4254,11,21]},{"path":[4,21,2,3,1],"span":[4254,22,27]},{"path":[4,21,2,3,3],"span":[4254,30,31]},{"path":[4,21,5],"span":[4266,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,21,5,0],"span":[4266,13,24]},{"path":[4,21,5,0,1],"span":[4266,13,17]},{"path":[4,21,5,0,2],"span":[4266,21,24]},{"path":[4,22],"span":[4270,0,4342,1],"leadingComments":" MapRules describe the rules applied to `map` values.\n"},{"path":[4,22,1],"span":[4270,8,16]},{"path":[4,22,2,0],"span":[4280,2,4283,5],"leadingComments":"Specifies the minimum number of key-value pairs allowed. If the field has\n fewer key-value pairs than specified, an error message is generated.\n\n ```proto\n message MyMap {\n // The field `value` must have at least 2 key-value pairs.\n map value = 1 [(buf.validate.field).map.min_pairs = 2];\n }\n ```\n"},{"path":[4,22,2,0,4],"span":[4280,2,10]},{"path":[4,22,2,0,5],"span":[4280,11,17]},{"path":[4,22,2,0,1],"span":[4280,18,27]},{"path":[4,22,2,0,3],"span":[4280,30,31]},{"path":[4,22,2,0,8],"span":[4280,32,4283,4]},{"path":[4,22,2,0,8,1160,1,0],"span":[4280,33,4283,3]},{"path":[4,22,2,0,8,1160,1,0,1],"span":[4281,4,23]},{"path":[4,22,2,0,8,1160,1,0,3],"span":[4282,4,120]},{"path":[4,22,2,1],"span":[4294,2,4297,5],"leadingComments":"Specifies the maximum number of key-value pairs allowed. If the field has\n more key-value pairs than specified, an error message is generated.\n\n ```proto\n message MyMap {\n // The field `value` must have at most 3 key-value pairs.\n map value = 1 [(buf.validate.field).map.max_pairs = 3];\n }\n ```\n"},{"path":[4,22,2,1,4],"span":[4294,2,10]},{"path":[4,22,2,1,5],"span":[4294,11,17]},{"path":[4,22,2,1,1],"span":[4294,18,27]},{"path":[4,22,2,1,3],"span":[4294,30,31]},{"path":[4,22,2,1,8],"span":[4294,32,4297,4]},{"path":[4,22,2,1,8,1160,1,0],"span":[4294,33,4297,3]},{"path":[4,22,2,1,8,1160,1,0,1],"span":[4295,4,23]},{"path":[4,22,2,1,8,1160,1,0,3],"span":[4296,4,119]},{"path":[4,22,2,2],"span":[4312,2,31],"leadingComments":"Specifies the rules to be applied to each key in the field.\n\n ```proto\n message MyMap {\n // The keys in the field `value` must follow the specified rules.\n map value = 1 [(buf.validate.field).map.keys = {\n string: {\n min_len: 3\n max_len: 10\n }\n }];\n }\n ```\n"},{"path":[4,22,2,2,4],"span":[4312,2,10]},{"path":[4,22,2,2,6],"span":[4312,11,21]},{"path":[4,22,2,2,1],"span":[4312,22,26]},{"path":[4,22,2,2,3],"span":[4312,29,30]},{"path":[4,22,2,3],"span":[4329,2,33],"leadingComments":"Specifies the rules to be applied to the value of each key in the\n field. Message values will still have their validations evaluated unless\nskip is specified here.\n\n ```proto\n message MyMap {\n // The values in the field `value` must follow the specified rules.\n map value = 1 [(buf.validate.field).map.values = {\n string: {\n min_len: 5\n max_len: 20\n }\n }];\n }\n ```\n"},{"path":[4,22,2,3,4],"span":[4329,2,10]},{"path":[4,22,2,3,6],"span":[4329,11,21]},{"path":[4,22,2,3,1],"span":[4329,22,28]},{"path":[4,22,2,3,3],"span":[4329,31,32]},{"path":[4,22,5],"span":[4341,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,22,5,0],"span":[4341,13,24]},{"path":[4,22,5,0,1],"span":[4341,13,17]},{"path":[4,22,5,0,2],"span":[4341,21,24]},{"path":[4,23],"span":[4345,0,4367,1],"leadingComments":" AnyRules describe rules applied exclusively to the `google.protobuf.Any` well-known type.\n"},{"path":[4,23,1],"span":[4345,8,16]},{"path":[4,23,2,0],"span":[4356,2,25],"leadingComments":" `in` requires the field's `type_url` to be equal to one of the\nspecified values. If it doesn't match any of the specified values, an error\n message is generated.\n\n ```proto\n message MyAny {\n // The `value` field must have a `type_url` equal to one of the specified values.\n google.protobuf.Any value = 1 [(buf.validate.field).any.in = [\"type.googleapis.com/MyType1\", \"type.googleapis.com/MyType2\"]];\n }\n ```\n"},{"path":[4,23,2,0,4],"span":[4356,2,10]},{"path":[4,23,2,0,5],"span":[4356,11,17]},{"path":[4,23,2,0,1],"span":[4356,18,20]},{"path":[4,23,2,0,3],"span":[4356,23,24]},{"path":[4,23,2,1],"span":[4366,2,29],"leadingComments":" requires the field's type_url to be not equal to any of the specified values. If it matches any of the specified values, an error message is generated.\n\n ```proto\n message MyAny {\n // The field `value` must not have a `type_url` equal to any of the specified values.\n google.protobuf.Any value = 1 [(buf.validate.field).any.not_in = [\"type.googleapis.com/ForbiddenType1\", \"type.googleapis.com/ForbiddenType2\"]];\n }\n ```\n"},{"path":[4,23,2,1,4],"span":[4366,2,10]},{"path":[4,23,2,1,5],"span":[4366,11,17]},{"path":[4,23,2,1,1],"span":[4366,18,24]},{"path":[4,23,2,1,3],"span":[4366,27,28]},{"path":[4,24],"span":[4370,0,4583,1],"leadingComments":" DurationRules describe the rules applied exclusively to the `google.protobuf.Duration` well-known type.\n"},{"path":[4,24,1],"span":[4370,8,21]},{"path":[4,24,2,0],"span":[4381,2,4384,5],"leadingComments":" `const` dictates that the field must match the specified value of the `google.protobuf.Duration` type exactly.\n If the field's value deviates from the specified value, an error message\n will be generated.\n\n ```proto\n message MyDuration {\n // value must equal 5s\n google.protobuf.Duration value = 1 [(buf.validate.field).duration.const = \"5s\"];\n }\n ```\n"},{"path":[4,24,2,0,4],"span":[4381,2,10]},{"path":[4,24,2,0,6],"span":[4381,11,35]},{"path":[4,24,2,0,1],"span":[4381,36,41]},{"path":[4,24,2,0,3],"span":[4381,44,45]},{"path":[4,24,2,0,8],"span":[4381,46,4384,4]},{"path":[4,24,2,0,8,1160,1,0],"span":[4381,47,4384,3]},{"path":[4,24,2,0,8,1160,1,0,1],"span":[4382,4,24]},{"path":[4,24,2,0,8,1160,1,0,3],"span":[4383,4,114]},{"path":[4,24,8,0],"span":[4385,2,4419,3]},{"path":[4,24,8,0,1],"span":[4385,8,17]},{"path":[4,24,2,1],"span":[4396,4,4401,7],"leadingComments":" `lt` stipulates that the field must be less than the specified value of the `google.protobuf.Duration` type,\n exclusive. If the field's value is greater than or equal to the specified\n value, an error message will be generated.\n\n ```proto\n message MyDuration {\n // value must be less than 5s\n google.protobuf.Duration value = 1 [(buf.validate.field).duration.lt = \"5s\"];\n }\n ```\n"},{"path":[4,24,2,1,6],"span":[4396,4,28]},{"path":[4,24,2,1,1],"span":[4396,29,31]},{"path":[4,24,2,1,3],"span":[4396,34,35]},{"path":[4,24,2,1,8],"span":[4396,36,4401,6]},{"path":[4,24,2,1,8,1160,1,0],"span":[4396,37,4401,5]},{"path":[4,24,2,1,8,1160,1,0,1],"span":[4397,6,23]},{"path":[4,24,2,1,8,1160,1,0,3],"span":[4398,6,4400,64]},{"path":[4,24,2,2],"span":[4413,4,4418,7],"leadingComments":" `lte` indicates that the field must be less than or equal to the specified\n value of the `google.protobuf.Duration` type, inclusive. If the field's value is greater than the specified value,\n an error message will be generated.\n\n ```proto\n message MyDuration {\n // value must be less than or equal to 10s\n google.protobuf.Duration value = 1 [(buf.validate.field).duration.lte = \"10s\"];\n }\n ```\n"},{"path":[4,24,2,2,6],"span":[4413,4,28]},{"path":[4,24,2,2,1],"span":[4413,29,32]},{"path":[4,24,2,2,3],"span":[4413,35,36]},{"path":[4,24,2,2,8],"span":[4413,37,4418,6]},{"path":[4,24,2,2,8,1160,1,0],"span":[4413,38,4418,5]},{"path":[4,24,2,2,8,1160,1,0,1],"span":[4414,6,24]},{"path":[4,24,2,2,8,1160,1,0,3],"span":[4415,6,4417,77]},{"path":[4,24,8,1],"span":[4420,2,4522,3]},{"path":[4,24,8,1,1],"span":[4420,8,20]},{"path":[4,24,2,3],"span":[4439,4,4470,6],"leadingComments":" `gt` requires the duration field value to be greater than the specified\n value (exclusive). If the value of `gt` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyDuration {\n // duration must be greater than 5s [duration.gt]\n google.protobuf.Duration value = 1 [(buf.validate.field).duration.gt = { seconds: 5 }];\n\n // duration must be greater than 5s and less than 10s [duration.gt_lt]\n google.protobuf.Duration another_value = 2 [(buf.validate.field).duration = { gt: { seconds: 5 }, lt: { seconds: 10 } }];\n\n // duration must be greater than 10s or less than 5s [duration.gt_lt_exclusive]\n google.protobuf.Duration other_value = 3 [(buf.validate.field).duration = { gt: { seconds: 10 }, lt: { seconds: 5 } }];\n }\n ```\n"},{"path":[4,24,2,3,6],"span":[4439,4,28]},{"path":[4,24,2,3,1],"span":[4439,29,31]},{"path":[4,24,2,3,3],"span":[4439,34,35]},{"path":[4,24,2,3,8],"span":[4439,36,4470,5]},{"path":[4,24,2,3,8,1160,1,0],"span":[4440,6,4445,7]},{"path":[4,24,2,3,8,1160,1,0,1],"span":[4441,8,25]},{"path":[4,24,2,3,8,1160,1,0,3],"span":[4442,8,4444,69]},{"path":[4,24,2,3,8,1160,1,1],"span":[4446,6,4451,7]},{"path":[4,24,2,3,8,1160,1,1,1],"span":[4447,8,28]},{"path":[4,24,2,3,8,1160,1,1,3],"span":[4448,8,4450,96]},{"path":[4,24,2,3,8,1160,1,2],"span":[4452,6,4457,7]},{"path":[4,24,2,3,8,1160,1,2,1],"span":[4453,8,38]},{"path":[4,24,2,3,8,1160,1,2,3],"span":[4454,8,4456,95]},{"path":[4,24,2,3,8,1160,1,3],"span":[4458,6,4463,7]},{"path":[4,24,2,3,8,1160,1,3,1],"span":[4459,8,29]},{"path":[4,24,2,3,8,1160,1,3,3],"span":[4460,8,4462,109]},{"path":[4,24,2,3,8,1160,1,4],"span":[4464,6,4469,7]},{"path":[4,24,2,3,8,1160,1,4,1],"span":[4465,8,39]},{"path":[4,24,2,3,8,1160,1,4,3],"span":[4466,8,4468,108]},{"path":[4,24,2,4],"span":[4490,4,4521,6],"leadingComments":" `gte` requires the duration field value to be greater than or equal to the\n specified value (exclusive). If the value of `gte` is larger than a\n specified `lt` or `lte`, the range is reversed, and the field value must\n be outside the specified range. If the field value doesn't meet the\n required conditions, an error message is generated.\n\n ```proto\n message MyDuration {\n // duration must be greater than or equal to 5s [duration.gte]\n google.protobuf.Duration value = 1 [(buf.validate.field).duration.gte = { seconds: 5 }];\n\n // duration must be greater than or equal to 5s and less than 10s [duration.gte_lt]\n google.protobuf.Duration another_value = 2 [(buf.validate.field).duration = { gte: { seconds: 5 }, lt: { seconds: 10 } }];\n\n // duration must be greater than or equal to 10s or less than 5s [duration.gte_lt_exclusive]\n google.protobuf.Duration other_value = 3 [(buf.validate.field).duration = { gte: { seconds: 10 }, lt: { seconds: 5 } }];\n }\n ```\n"},{"path":[4,24,2,4,6],"span":[4490,4,28]},{"path":[4,24,2,4,1],"span":[4490,29,32]},{"path":[4,24,2,4,3],"span":[4490,35,36]},{"path":[4,24,2,4,8],"span":[4490,37,4521,5]},{"path":[4,24,2,4,8,1160,1,0],"span":[4491,6,4496,7]},{"path":[4,24,2,4,8,1160,1,0,1],"span":[4492,8,26]},{"path":[4,24,2,4,8,1160,1,0,3],"span":[4493,8,4495,82]},{"path":[4,24,2,4,8,1160,1,1],"span":[4497,6,4502,7]},{"path":[4,24,2,4,8,1160,1,1,1],"span":[4498,8,29]},{"path":[4,24,2,4,8,1160,1,1,3],"span":[4499,8,4501,109]},{"path":[4,24,2,4,8,1160,1,2],"span":[4503,6,4508,7]},{"path":[4,24,2,4,8,1160,1,2,1],"span":[4504,8,39]},{"path":[4,24,2,4,8,1160,1,2,3],"span":[4505,8,4507,108]},{"path":[4,24,2,4,8,1160,1,3],"span":[4509,6,4514,7]},{"path":[4,24,2,4,8,1160,1,3,1],"span":[4510,8,30]},{"path":[4,24,2,4,8,1160,1,3,3],"span":[4511,8,4513,122]},{"path":[4,24,2,4,8,1160,1,4],"span":[4515,6,4520,7]},{"path":[4,24,2,4,8,1160,1,4,1],"span":[4516,8,40]},{"path":[4,24,2,4,8,1160,1,4,3],"span":[4517,8,4519,121]},{"path":[4,24,2,5],"span":[4534,2,4537,5],"leadingComments":" `in` asserts that the field must be equal to one of the specified values of the `google.protobuf.Duration` type.\n If the field's value doesn't correspond to any of the specified values,\n an error message will be generated.\n\n ```proto\n message MyDuration {\n // value must be in list [1s, 2s, 3s]\n google.protobuf.Duration value = 1 [(buf.validate.field).duration.in = [\"1s\", \"2s\", \"3s\"]];\n }\n ```\n"},{"path":[4,24,2,5,4],"span":[4534,2,10]},{"path":[4,24,2,5,6],"span":[4534,11,35]},{"path":[4,24,2,5,1],"span":[4534,36,38]},{"path":[4,24,2,5,3],"span":[4534,41,42]},{"path":[4,24,2,5,8],"span":[4534,43,4537,4]},{"path":[4,24,2,5,8,1160,1,0],"span":[4534,44,4537,3]},{"path":[4,24,2,5,8,1160,1,0,1],"span":[4535,4,21]},{"path":[4,24,2,5,8,1160,1,0,3],"span":[4536,4,116]},{"path":[4,24,2,6],"span":[4550,2,4553,5],"leadingComments":" `not_in` denotes that the field must not be equal to\n any of the specified values of the `google.protobuf.Duration` type.\n If the field's value matches any of these values, an error message will be\n generated.\n\n ```proto\n message MyDuration {\n // value must not be in list [1s, 2s, 3s]\n google.protobuf.Duration value = 1 [(buf.validate.field).duration.not_in = [\"1s\", \"2s\", \"3s\"]];\n }\n ```\n"},{"path":[4,24,2,6,4],"span":[4550,2,10]},{"path":[4,24,2,6,6],"span":[4550,11,35]},{"path":[4,24,2,6,1],"span":[4550,36,42]},{"path":[4,24,2,6,3],"span":[4550,45,46]},{"path":[4,24,2,6,8],"span":[4550,47,4553,4]},{"path":[4,24,2,6,8,1160,1,0],"span":[4550,48,4553,3]},{"path":[4,24,2,6,8,1160,1,0,1],"span":[4551,4,25]},{"path":[4,24,2,6,8,1160,1,0,3],"span":[4552,4,99]},{"path":[4,24,2,7],"span":[4567,2,4570,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyDuration {\n google.protobuf.Duration value = 1 [\n (buf.validate.field).duration.example = { seconds: 1 },\n (buf.validate.field).duration.example = { seconds: 2 },\n ];\n }\n ```\n"},{"path":[4,24,2,7,4],"span":[4567,2,10]},{"path":[4,24,2,7,6],"span":[4567,11,35]},{"path":[4,24,2,7,1],"span":[4567,36,43]},{"path":[4,24,2,7,3],"span":[4567,46,47]},{"path":[4,24,2,7,8],"span":[4567,48,4570,4]},{"path":[4,24,2,7,8,1160,1,0],"span":[4567,49,4570,3]},{"path":[4,24,2,7,8,1160,1,0,1],"span":[4568,4,26]},{"path":[4,24,2,7,8,1160,1,0,3],"span":[4569,4,22]},{"path":[4,24,5],"span":[4582,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,24,5,0],"span":[4582,13,24]},{"path":[4,24,5,0,1],"span":[4582,13,17]},{"path":[4,24,5,0,2],"span":[4582,21,24]},{"path":[4,25],"span":[4586,0,4802,1],"leadingComments":" TimestampRules describe the rules applied exclusively to the `google.protobuf.Timestamp` well-known type.\n"},{"path":[4,25,1],"span":[4586,8,22]},{"path":[4,25,2,0],"span":[4595,2,4598,5],"leadingComments":" `const` dictates that this field, of the `google.protobuf.Timestamp` type, must exactly match the specified value. If the field value doesn't correspond to the specified timestamp, an error message will be generated.\n\n ```proto\n message MyTimestamp {\n // value must equal 2023-05-03T10:00:00Z\n google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.const = {seconds: 1727998800}];\n }\n ```\n"},{"path":[4,25,2,0,4],"span":[4595,2,10]},{"path":[4,25,2,0,6],"span":[4595,11,36]},{"path":[4,25,2,0,1],"span":[4595,37,42]},{"path":[4,25,2,0,3],"span":[4595,45,46]},{"path":[4,25,2,0,8],"span":[4595,47,4598,4]},{"path":[4,25,2,0,8,1160,1,0],"span":[4595,48,4598,3]},{"path":[4,25,2,0,8,1160,1,0,1],"span":[4596,4,25]},{"path":[4,25,2,0,8,1160,1,0,3],"span":[4597,4,114]},{"path":[4,25,8,0],"span":[4599,2,4642,3]},{"path":[4,25,8,0,1],"span":[4599,8,17]},{"path":[4,25,2,1],"span":[4608,4,4613,7],"leadingComments":" requires the duration field value to be less than the specified value (field < value). If the field value doesn't meet the required conditions, an error message is generated.\n\n ```proto\n message MyDuration {\n // duration must be less than 'P3D' [duration.lt]\n google.protobuf.Duration value = 1 [(buf.validate.field).duration.lt = { seconds: 259200 }];\n }\n ```\n"},{"path":[4,25,2,1,6],"span":[4608,4,29]},{"path":[4,25,2,1,1],"span":[4608,30,32]},{"path":[4,25,2,1,3],"span":[4608,35,36]},{"path":[4,25,2,1,8],"span":[4608,37,4613,6]},{"path":[4,25,2,1,8,1160,1,0],"span":[4608,38,4613,5]},{"path":[4,25,2,1,8,1160,1,0,1],"span":[4609,6,24]},{"path":[4,25,2,1,8,1160,1,0,3],"span":[4610,6,4612,64]},{"path":[4,25,2,2],"span":[4623,4,4628,7],"leadingComments":" requires the timestamp field value to be less than or equal to the specified value (field <= value). If the field value doesn't meet the required conditions, an error message is generated.\n\n ```proto\n message MyTimestamp {\n // timestamp must be less than or equal to '2023-05-14T00:00:00Z' [timestamp.lte]\n google.protobuf.Timestamp value = 1 [(buf.validate.field).timestamp.lte = { seconds: 1678867200 }];\n }\n ```\n"},{"path":[4,25,2,2,6],"span":[4623,4,29]},{"path":[4,25,2,2,1],"span":[4623,30,33]},{"path":[4,25,2,2,3],"span":[4623,36,37]},{"path":[4,25,2,2,8],"span":[4623,38,4628,6]},{"path":[4,25,2,2,8,1160,1,0],"span":[4623,39,4628,5]},{"path":[4,25,2,2,8,1160,1,0,1],"span":[4624,6,25]},{"path":[4,25,2,2,8,1160,1,0,3],"span":[4625,6,4627,77]},{"path":[4,25,2,3],"span":[4638,4,4641,7],"leadingComments":" `lt_now` specifies that this field, of the `google.protobuf.Timestamp` type, must be less than the current time. `lt_now` can only be used with the `within` rule.\n\n ```proto\n message MyTimestamp {\n // value must be less than now\n google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.lt_now = true];\n }\n ```\n"},{"path":[4,25,2,3,5],"span":[4638,4,8]},{"path":[4,25,2,3,1],"span":[4638,9,15]},{"path":[4,25,2,3,3],"span":[4638,18,19]},{"path":[4,25,2,3,8],"span":[4638,20,4641,6]},{"path":[4,25,2,3,8,1160,1,0],"span":[4638,21,4641,5]},{"path":[4,25,2,3,8,1160,1,0,1],"span":[4639,6,28]},{"path":[4,25,2,3,8,1160,1,0,3],"span":[4640,6,85]},{"path":[4,25,8,1],"span":[4643,2,4758,3]},{"path":[4,25,8,1,1],"span":[4643,8,20]},{"path":[4,25,2,4],"span":[4662,4,4693,6],"leadingComments":" `gt` requires the timestamp field value to be greater than the specified\n value (exclusive). If the value of `gt` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyTimestamp {\n // timestamp must be greater than '2023-01-01T00:00:00Z' [timestamp.gt]\n google.protobuf.Timestamp value = 1 [(buf.validate.field).timestamp.gt = { seconds: 1672444800 }];\n\n // timestamp must be greater than '2023-01-01T00:00:00Z' and less than '2023-01-02T00:00:00Z' [timestamp.gt_lt]\n google.protobuf.Timestamp another_value = 2 [(buf.validate.field).timestamp = { gt: { seconds: 1672444800 }, lt: { seconds: 1672531200 } }];\n\n // timestamp must be greater than '2023-01-02T00:00:00Z' or less than '2023-01-01T00:00:00Z' [timestamp.gt_lt_exclusive]\n google.protobuf.Timestamp other_value = 3 [(buf.validate.field).timestamp = { gt: { seconds: 1672531200 }, lt: { seconds: 1672444800 } }];\n }\n ```\n"},{"path":[4,25,2,4,6],"span":[4662,4,29]},{"path":[4,25,2,4,1],"span":[4662,30,32]},{"path":[4,25,2,4,3],"span":[4662,35,36]},{"path":[4,25,2,4,8],"span":[4662,37,4693,5]},{"path":[4,25,2,4,8,1160,1,0],"span":[4663,6,4668,7]},{"path":[4,25,2,4,8,1160,1,0,1],"span":[4664,8,26]},{"path":[4,25,2,4,8,1160,1,0,3],"span":[4665,8,4667,69]},{"path":[4,25,2,4,8,1160,1,1],"span":[4669,6,4674,7]},{"path":[4,25,2,4,8,1160,1,1,1],"span":[4670,8,29]},{"path":[4,25,2,4,8,1160,1,1,3],"span":[4671,8,4673,96]},{"path":[4,25,2,4,8,1160,1,2],"span":[4675,6,4680,7]},{"path":[4,25,2,4,8,1160,1,2,1],"span":[4676,8,39]},{"path":[4,25,2,4,8,1160,1,2,3],"span":[4677,8,4679,95]},{"path":[4,25,2,4,8,1160,1,3],"span":[4681,6,4686,7]},{"path":[4,25,2,4,8,1160,1,3,1],"span":[4682,8,30]},{"path":[4,25,2,4,8,1160,1,3,3],"span":[4683,8,4685,109]},{"path":[4,25,2,4,8,1160,1,4],"span":[4687,6,4692,7]},{"path":[4,25,2,4,8,1160,1,4,1],"span":[4688,8,40]},{"path":[4,25,2,4,8,1160,1,4,3],"span":[4689,8,4691,108]},{"path":[4,25,2,5],"span":[4713,4,4744,6],"leadingComments":" `gte` requires the timestamp field value to be greater than or equal to the\n specified value (exclusive). If the value of `gte` is larger than a\n specified `lt` or `lte`, the range is reversed, and the field value\n must be outside the specified range. If the field value doesn't meet\n the required conditions, an error message is generated.\n\n ```proto\n message MyTimestamp {\n // timestamp must be greater than or equal to '2023-01-01T00:00:00Z' [timestamp.gte]\n google.protobuf.Timestamp value = 1 [(buf.validate.field).timestamp.gte = { seconds: 1672444800 }];\n\n // timestamp must be greater than or equal to '2023-01-01T00:00:00Z' and less than '2023-01-02T00:00:00Z' [timestamp.gte_lt]\n google.protobuf.Timestamp another_value = 2 [(buf.validate.field).timestamp = { gte: { seconds: 1672444800 }, lt: { seconds: 1672531200 } }];\n\n // timestamp must be greater than or equal to '2023-01-02T00:00:00Z' or less than '2023-01-01T00:00:00Z' [timestamp.gte_lt_exclusive]\n google.protobuf.Timestamp other_value = 3 [(buf.validate.field).timestamp = { gte: { seconds: 1672531200 }, lt: { seconds: 1672444800 } }];\n }\n ```\n"},{"path":[4,25,2,5,6],"span":[4713,4,29]},{"path":[4,25,2,5,1],"span":[4713,30,33]},{"path":[4,25,2,5,3],"span":[4713,36,37]},{"path":[4,25,2,5,8],"span":[4713,38,4744,5]},{"path":[4,25,2,5,8,1160,1,0],"span":[4714,6,4719,7]},{"path":[4,25,2,5,8,1160,1,0,1],"span":[4715,8,27]},{"path":[4,25,2,5,8,1160,1,0,3],"span":[4716,8,4718,82]},{"path":[4,25,2,5,8,1160,1,1],"span":[4720,6,4725,7]},{"path":[4,25,2,5,8,1160,1,1,1],"span":[4721,8,30]},{"path":[4,25,2,5,8,1160,1,1,3],"span":[4722,8,4724,109]},{"path":[4,25,2,5,8,1160,1,2],"span":[4726,6,4731,7]},{"path":[4,25,2,5,8,1160,1,2,1],"span":[4727,8,40]},{"path":[4,25,2,5,8,1160,1,2,3],"span":[4728,8,4730,108]},{"path":[4,25,2,5,8,1160,1,3],"span":[4732,6,4737,7]},{"path":[4,25,2,5,8,1160,1,3,1],"span":[4733,8,31]},{"path":[4,25,2,5,8,1160,1,3,3],"span":[4734,8,4736,122]},{"path":[4,25,2,5,8,1160,1,4],"span":[4738,6,4743,7]},{"path":[4,25,2,5,8,1160,1,4,1],"span":[4739,8,41]},{"path":[4,25,2,5,8,1160,1,4,3],"span":[4740,8,4742,121]},{"path":[4,25,2,6],"span":[4754,4,4757,7],"leadingComments":" `gt_now` specifies that this field, of the `google.protobuf.Timestamp` type, must be greater than the current time. `gt_now` can only be used with the `within` rule.\n\n ```proto\n message MyTimestamp {\n // value must be greater than now\n google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.gt_now = true];\n }\n ```\n"},{"path":[4,25,2,6,5],"span":[4754,4,8]},{"path":[4,25,2,6,1],"span":[4754,9,15]},{"path":[4,25,2,6,3],"span":[4754,18,19]},{"path":[4,25,2,6,8],"span":[4754,20,4757,6]},{"path":[4,25,2,6,8,1160,1,0],"span":[4754,21,4757,5]},{"path":[4,25,2,6,8,1160,1,0,1],"span":[4755,6,28]},{"path":[4,25,2,6,8,1160,1,0,3],"span":[4756,6,88]},{"path":[4,25,2,7],"span":[4768,2,4771,5],"leadingComments":" `within` specifies that this field, of the `google.protobuf.Timestamp` type, must be within the specified duration of the current time. If the field value isn't within the duration, an error message is generated.\n\n ```proto\n message MyTimestamp {\n // value must be within 1 hour of now\n google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.within = {seconds: 3600}];\n }\n ```\n"},{"path":[4,25,2,7,4],"span":[4768,2,10]},{"path":[4,25,2,7,6],"span":[4768,11,35]},{"path":[4,25,2,7,1],"span":[4768,36,42]},{"path":[4,25,2,7,3],"span":[4768,45,46]},{"path":[4,25,2,7,8],"span":[4768,47,4771,4]},{"path":[4,25,2,7,8,1160,1,0],"span":[4768,48,4771,3]},{"path":[4,25,2,7,8,1160,1,0,1],"span":[4769,4,26]},{"path":[4,25,2,7,8,1160,1,0,3],"span":[4770,4,131]},{"path":[4,25,2,8],"span":[4786,2,4789,5],"leadingDetachedComments":[" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyTimestamp {\n google.protobuf.Timestamp value = 1 [\n (buf.validate.field).timestamp.example = { seconds: 1672444800 },\n (buf.validate.field).timestamp.example = { seconds: 1672531200 },\n ];\n }\n ```\n"]},{"path":[4,25,2,8,4],"span":[4786,2,10]},{"path":[4,25,2,8,6],"span":[4786,11,36]},{"path":[4,25,2,8,1],"span":[4786,37,44]},{"path":[4,25,2,8,3],"span":[4786,47,49]},{"path":[4,25,2,8,8],"span":[4786,50,4789,4]},{"path":[4,25,2,8,8,1160,1,0],"span":[4786,51,4789,3]},{"path":[4,25,2,8,8,1160,1,0,1],"span":[4787,4,27]},{"path":[4,25,2,8,8,1160,1,0,3],"span":[4788,4,22]},{"path":[4,25,5],"span":[4801,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,25,5,0],"span":[4801,13,24]},{"path":[4,25,5,0,1],"span":[4801,13,17]},{"path":[4,25,5,0,2],"span":[4801,21,24]},{"path":[4,26],"span":[4807,0,4810,1],"leadingComments":" `Violations` is a collection of `Violation` messages. This message type is returned by\n protovalidate when a proto message fails to meet the requirements set by the `Rule` validation rules.\n Each individual violation is represented by a `Violation` message.\n"},{"path":[4,26,1],"span":[4807,8,18]},{"path":[4,26,2,0],"span":[4809,2,36],"leadingComments":" `violations` is a repeated field that contains all the `Violation` messages corresponding to the violations detected.\n"},{"path":[4,26,2,0,4],"span":[4809,2,10]},{"path":[4,26,2,0,6],"span":[4809,11,20]},{"path":[4,26,2,0,1],"span":[4809,21,31]},{"path":[4,26,2,0,3],"span":[4809,34,35]},{"path":[4,27],"span":[4824,0,4889,1],"leadingComments":" `Violation` represents a single instance where a validation rule, expressed\n as a `Rule`, was not met. It provides information about the field that\n caused the violation, the specific rule that wasn't fulfilled, and a\n human-readable error message.\n\n ```json\n {\n \"fieldPath\": \"bar\",\n \"ruleId\": \"foo.bar\",\n \"message\": \"bar must be greater than 0\"\n }\n ```\n"},{"path":[4,27,1],"span":[4824,8,17]},{"path":[4,27,2,0],"span":[4844,2,31],"leadingComments":" `field` is a machine-readable path to the field that failed validation.\n This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation.\n\n For example, consider the following message:\n\n ```proto\n message Message {\n bool a = 1 [(buf.validate.field).required = true];\n }\n ```\n\n It could produce the following violation:\n\n ```textproto\n violation {\n field { element { field_number: 1, field_name: \"a\", field_type: 8 } }\n ...\n }\n ```\n"},{"path":[4,27,2,0,4],"span":[4844,2,10]},{"path":[4,27,2,0,6],"span":[4844,11,20]},{"path":[4,27,2,0,1],"span":[4844,21,26]},{"path":[4,27,2,0,3],"span":[4844,29,30]},{"path":[4,27,2,1],"span":[4874,2,30],"leadingComments":" `rule` is a machine-readable path that points to the specific rule rule that failed validation.\n This will be a nested field starting from the FieldRules of the field that failed validation.\n For custom rules, this will provide the path of the rule, e.g. `cel[0]`.\n\n For example, consider the following message:\n\n ```proto\n message Message {\n bool a = 1 [(buf.validate.field).required = true];\n bool b = 2 [(buf.validate.field).cel = {\n id: \"custom_rule\",\n expression: \"!this ? 'b must be true': ''\"\n }]\n }\n ```\n\n It could produce the following violations:\n\n ```textproto\n violation {\n rule { element { field_number: 25, field_name: \"required\", field_type: 8 } }\n ...\n }\n violation {\n rule { element { field_number: 23, field_name: \"cel\", field_type: 11, index: 0 } }\n ...\n }\n ```\n"},{"path":[4,27,2,1,4],"span":[4874,2,10]},{"path":[4,27,2,1,6],"span":[4874,11,20]},{"path":[4,27,2,1,1],"span":[4874,21,25]},{"path":[4,27,2,1,3],"span":[4874,28,29]},{"path":[4,27,2,2],"span":[4878,2,30],"leadingComments":" `rule_id` is the unique identifier of the `Rule` that was not fulfilled.\n This is the same `id` that was specified in the `Rule` message, allowing easy tracing of which rule was violated.\n"},{"path":[4,27,2,2,4],"span":[4878,2,10]},{"path":[4,27,2,2,5],"span":[4878,11,17]},{"path":[4,27,2,2,1],"span":[4878,18,25]},{"path":[4,27,2,2,3],"span":[4878,28,29]},{"path":[4,27,2,3],"span":[4882,2,30],"leadingComments":" `message` is a human-readable error message that describes the nature of the violation.\n This can be the default error message from the violated `Rule`, or it can be a custom message that gives more context about the violation.\n"},{"path":[4,27,2,3,4],"span":[4882,2,10]},{"path":[4,27,2,3,5],"span":[4882,11,17]},{"path":[4,27,2,3,1],"span":[4882,18,25]},{"path":[4,27,2,3,3],"span":[4882,28,29]},{"path":[4,27,2,4],"span":[4885,2,28],"leadingComments":" `for_key` indicates whether the violation was caused by a map key, rather than a value.\n"},{"path":[4,27,2,4,4],"span":[4885,2,10]},{"path":[4,27,2,4,5],"span":[4885,11,15]},{"path":[4,27,2,4,1],"span":[4885,16,23]},{"path":[4,27,2,4,3],"span":[4885,26,27]},{"path":[4,27,9],"span":[4887,2,13]},{"path":[4,27,9,0],"span":[4887,11,12]},{"path":[4,27,9,0,1],"span":[4887,11,12]},{"path":[4,27,9,0,2],"span":[4887,11,12]},{"path":[4,27,10],"span":[4888,2,24]},{"path":[4,27,10,0],"span":[4888,11,23]},{"path":[4,28],"span":[4895,0,4898,1],"leadingComments":" `FieldPath` provides a path to a nested protobuf field.\n\n This message provides enough information to render a dotted field path even without protobuf descriptors.\n It also provides enough information to resolve a nested field through unknown wire data.\n"},{"path":[4,28,1],"span":[4895,8,17]},{"path":[4,28,2,0],"span":[4897,2,41],"leadingComments":" `elements` contains each element of the path, starting from the root and recursing downward.\n"},{"path":[4,28,2,0,4],"span":[4897,2,10]},{"path":[4,28,2,0,6],"span":[4897,11,27]},{"path":[4,28,2,0,1],"span":[4897,28,36]},{"path":[4,28,2,0,3],"span":[4897,39,40]},{"path":[4,29],"span":[4905,0,4951,1],"leadingComments":" `FieldPathElement` provides enough information to nest through a single protobuf field.\n\n If the selected field is a map or repeated field, the `subscript` value selects a specific element from it.\n A path that refers to a value nested under a map key or repeated field index will have a `subscript` value.\n The `field_type` field allows unambiguous resolution of a field even if descriptors are not available.\n"},{"path":[4,29,1],"span":[4905,8,24]},{"path":[4,29,2,0],"span":[4907,2,34],"leadingComments":" `field_number` is the field number this path element refers to.\n"},{"path":[4,29,2,0,4],"span":[4907,2,10]},{"path":[4,29,2,0,5],"span":[4907,11,16]},{"path":[4,29,2,0,1],"span":[4907,17,29]},{"path":[4,29,2,0,3],"span":[4907,32,33]},{"path":[4,29,2,1],"span":[4911,2,33],"leadingComments":" `field_name` contains the field name this path element refers to.\n This can be used to display a human-readable path even if the field number is unknown.\n"},{"path":[4,29,2,1,4],"span":[4911,2,10]},{"path":[4,29,2,1,5],"span":[4911,11,17]},{"path":[4,29,2,1,1],"span":[4911,18,28]},{"path":[4,29,2,1,3],"span":[4911,31,32]},{"path":[4,29,2,2],"span":[4923,2,68],"leadingComments":" `field_type` specifies the type of this field. When using reflection, this value is not needed.\n\n This value is provided to make it possible to traverse unknown fields through wire data.\n When traversing wire data, be mindful of both packed[1] and delimited[2] encoding schemes.\n\n [1]: https://protobuf.dev/programming-guides/encoding/#packed\n [2]: https://protobuf.dev/programming-guides/encoding/#groups\n\n N.B.: Although groups are deprecated, the corresponding delimited encoding scheme is not, and\n can be explicitly used in Protocol Buffers 2023 Edition.\n"},{"path":[4,29,2,2,4],"span":[4923,2,10]},{"path":[4,29,2,2,6],"span":[4923,11,52]},{"path":[4,29,2,2,1],"span":[4923,53,63]},{"path":[4,29,2,2,3],"span":[4923,66,67]},{"path":[4,29,2,3],"span":[4928,2,66],"leadingComments":" `key_type` specifies the map key type of this field. This value is useful when traversing\n unknown fields through wire data: specifically, it allows handling the differences between\n different integer encodings.\n"},{"path":[4,29,2,3,4],"span":[4928,2,10]},{"path":[4,29,2,3,6],"span":[4928,11,52]},{"path":[4,29,2,3,1],"span":[4928,53,61]},{"path":[4,29,2,3,3],"span":[4928,64,65]},{"path":[4,29,2,4],"span":[4932,2,68],"leadingComments":" `value_type` specifies map value type of this field. This is useful if you want to display a\n value inside unknown fields through wire data.\n"},{"path":[4,29,2,4,4],"span":[4932,2,10]},{"path":[4,29,2,4,6],"span":[4932,11,52]},{"path":[4,29,2,4,1],"span":[4932,53,63]},{"path":[4,29,2,4,3],"span":[4932,66,67]},{"path":[4,29,8,0],"span":[4935,2,4950,3],"leadingComments":" `subscript` contains a repeated index or map key, if this path element nests into a repeated or map field.\n"},{"path":[4,29,8,0,1],"span":[4935,8,17]},{"path":[4,29,2,5],"span":[4937,4,21],"leadingComments":" `index` specifies a 0-based index into a repeated field.\n"},{"path":[4,29,2,5,5],"span":[4937,4,10]},{"path":[4,29,2,5,1],"span":[4937,11,16]},{"path":[4,29,2,5,3],"span":[4937,19,20]},{"path":[4,29,2,6],"span":[4940,4,22],"leadingComments":" `bool_key` specifies a map key of type bool.\n"},{"path":[4,29,2,6,5],"span":[4940,4,8]},{"path":[4,29,2,6,1],"span":[4940,9,17]},{"path":[4,29,2,6,3],"span":[4940,20,21]},{"path":[4,29,2,7],"span":[4943,4,22],"leadingComments":" `int_key` specifies a map key of type int32, int64, sint32, sint64, sfixed32 or sfixed64.\n"},{"path":[4,29,2,7,5],"span":[4943,4,9]},{"path":[4,29,2,7,1],"span":[4943,10,17]},{"path":[4,29,2,7,3],"span":[4943,20,21]},{"path":[4,29,2,8],"span":[4946,4,24],"leadingComments":" `uint_key` specifies a map key of type uint32, uint64, fixed32 or fixed64.\n"},{"path":[4,29,2,8,5],"span":[4946,4,10]},{"path":[4,29,2,8,1],"span":[4946,11,19]},{"path":[4,29,2,8,3],"span":[4946,22,23]},{"path":[4,29,2,9],"span":[4949,4,27],"leadingComments":" `string_key` specifies a map key of type string.\n"},{"path":[4,29,2,9,5],"span":[4949,4,10]},{"path":[4,29,2,9,1],"span":[4949,11,21]},{"path":[4,29,2,9,3],"span":[4949,24,26]}]},"bufExtension":{"isImport":true,"moduleInfo":{"name":{"remote":"buf.build","owner":"bufbuild","repository":"protovalidate"},"commit":"8976f5be98c146529b1cc15cd2012b60"},"isSyntaxUnspecified":false}},{"name":"buf/protoschema/test/v1/constraints.proto","package":"buf.protoschema.test.v1","dependency":["buf/validate/validate.proto"],"messageType":[{"name":"ConstraintTest","field":[{"name":"required_implicit","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.protoschema.test.v1.ConstraintTest.RequiredImplicit","oneofIndex":0,"jsonName":"requiredImplicit"},{"name":"required_optional","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.protoschema.test.v1.ConstraintTest.RequiredOptional","oneofIndex":0,"jsonName":"requiredOptional"},{"name":"const_bool","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"constBool","options":{"[buf.validate.field]":{"bool":{"const":false}}}},{"name":"const_enum","number":119,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","oneofIndex":0,"jsonName":"constEnum","options":{"[buf.validate.field]":{"enum":{"const":2}}}},{"name":"defined_only_enum","number":120,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","oneofIndex":0,"jsonName":"definedOnlyEnum","options":{"[buf.validate.field]":{"enum":{"definedOnly":true}}}},{"name":"in_enum","number":121,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","oneofIndex":0,"jsonName":"inEnum","options":{"[buf.validate.field]":{"enum":{"in":[1,2]}}}},{"name":"not_in_enum","number":122,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","oneofIndex":0,"jsonName":"notInEnum","options":{"[buf.validate.field]":{"enum":{"notIn":[0,7]}}}},{"name":"defined_only_not_in_enum","number":123,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","oneofIndex":0,"jsonName":"definedOnlyNotInEnum","options":{"[buf.validate.field]":{"enum":{"definedOnly":true,"notIn":[0]}}}},{"name":"in_and_not_in_enum","number":124,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","oneofIndex":0,"jsonName":"inAndNotInEnum","options":{"[buf.validate.field]":{"enum":{"in":[1,7],"notIn":[0,7]}}}},{"name":"const_string","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"constString","options":{"[buf.validate.field]":{"string":{"const":"const"}}}},{"name":"len_string","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"lenString","options":{"[buf.validate.field]":{"string":{"len":"5"}}}},{"name":"min_len_string","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"minLenString","options":{"[buf.validate.field]":{"string":{"minLen":"5"}}}},{"name":"max_len_string","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"maxLenString","options":{"[buf.validate.field]":{"string":{"maxLen":"5"}}}},{"name":"min_max_len_string","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"minMaxLenString","options":{"[buf.validate.field]":{"string":{"minLen":"5","maxLen":"10"}}}},{"name":"in_string","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"inString","options":{"[buf.validate.field]":{"string":{"in":["in1","in2"]}}}},{"name":"pattern_string","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"patternString","options":{"[buf.validate.field]":{"string":{"pattern":"^pat*ern$"}}}},{"name":"prefix_string","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"prefixString","options":{"[buf.validate.field]":{"string":{"prefix":"prefix_"}}}},{"name":"suffix_string","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"suffixString","options":{"[buf.validate.field]":{"string":{"suffix":"_suffix"}}}},{"name":"contains_string","number":13,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"containsString","options":{"[buf.validate.field]":{"string":{"contains":"_contains_"}}}},{"name":"prefix_suffix_string","number":14,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"prefixSuffixString","options":{"[buf.validate.field]":{"string":{"prefix":"prefix_","suffix":"_suffix"}}}},{"name":"prefix_contains_suffix_string","number":15,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"prefixContainsSuffixString","options":{"[buf.validate.field]":{"string":{"prefix":"prefix_","suffix":"_suffix","contains":"contains"}}}},{"name":"hostname_string","number":16,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"hostnameString","options":{"[buf.validate.field]":{"string":{"hostname":true}}}},{"name":"email_string","number":17,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"emailString","options":{"[buf.validate.field]":{"string":{"email":true}}}},{"name":"ip_string","number":18,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"ipString","options":{"[buf.validate.field]":{"string":{"ip":true}}}},{"name":"ipv4_string","number":19,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"ipv4String","options":{"[buf.validate.field]":{"string":{"ipv4":true}}}},{"name":"ipv6_string","number":20,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"ipv6String","options":{"[buf.validate.field]":{"string":{"ipv6":true}}}},{"name":"uri_string","number":21,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"uriString","options":{"[buf.validate.field]":{"string":{"uri":true}}}},{"name":"uri_ref_string","number":22,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"uriRefString","options":{"[buf.validate.field]":{"string":{"uriRef":true}}}},{"name":"address_string","number":23,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"addressString","options":{"[buf.validate.field]":{"string":{"address":true}}}},{"name":"uuid_string","number":24,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"uuidString","options":{"[buf.validate.field]":{"string":{"uuid":true}}}},{"name":"tuuid_string","number":25,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"tuuidString","options":{"[buf.validate.field]":{"string":{"tuuid":true}}}},{"name":"ip_with_prefixlen_string","number":26,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"ipWithPrefixlenString","options":{"[buf.validate.field]":{"string":{"ipWithPrefixlen":true}}}},{"name":"ipv4_with_prefixlen_string","number":27,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"ipv4WithPrefixlenString","options":{"[buf.validate.field]":{"string":{"ipv4WithPrefixlen":true}}}},{"name":"ipv6_with_prefixlen_string","number":28,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"ipv6WithPrefixlenString","options":{"[buf.validate.field]":{"string":{"ipv6WithPrefixlen":true}}}},{"name":"ip_prefix_string","number":29,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"ipPrefixString","options":{"[buf.validate.field]":{"string":{"ipPrefix":true}}}},{"name":"ipv4_prefix_string","number":30,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"ipv4PrefixString","options":{"[buf.validate.field]":{"string":{"ipv4Prefix":true}}}},{"name":"ipv6_prefix_string","number":31,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"ipv6PrefixString","options":{"[buf.validate.field]":{"string":{"ipv6Prefix":true}}}},{"name":"host_and_port_string","number":32,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"hostAndPortString","options":{"[buf.validate.field]":{"string":{"hostAndPort":true}}}},{"name":"http_header_name_strict_string","number":33,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"httpHeaderNameStrictString","options":{"[buf.validate.field]":{"string":{"wellKnownRegex":"KNOWN_REGEX_HTTP_HEADER_NAME","strict":true}}}},{"name":"len_bytes","number":34,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","oneofIndex":0,"jsonName":"lenBytes","options":{"[buf.validate.field]":{"bytes":{"len":"5"}}}},{"name":"min_len_bytes","number":35,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","oneofIndex":0,"jsonName":"minLenBytes","options":{"[buf.validate.field]":{"bytes":{"minLen":"5"}}}},{"name":"max_len_bytes","number":36,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","oneofIndex":0,"jsonName":"maxLenBytes","options":{"[buf.validate.field]":{"bytes":{"maxLen":"5"}}}},{"name":"min_max_len_bytes","number":37,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","oneofIndex":0,"jsonName":"minMaxLenBytes","options":{"[buf.validate.field]":{"bytes":{"minLen":"5","maxLen":"10"}}}},{"name":"const_int32","number":38,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":0,"jsonName":"constInt32","options":{"[buf.validate.field]":{"int32":{"const":5}}}},{"name":"lt_int32","number":39,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":0,"jsonName":"ltInt32","options":{"[buf.validate.field]":{"int32":{"lt":5}}}},{"name":"lte_int32","number":40,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":0,"jsonName":"lteInt32","options":{"[buf.validate.field]":{"int32":{"lte":5}}}},{"name":"gt_int32","number":41,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":0,"jsonName":"gtInt32","options":{"[buf.validate.field]":{"int32":{"gt":5}}}},{"name":"gte_int32","number":42,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":0,"jsonName":"gteInt32","options":{"[buf.validate.field]":{"int32":{"gte":5}}}},{"name":"in_int32","number":43,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":0,"jsonName":"inInt32","options":{"[buf.validate.field]":{"int32":{"in":[1,2]}}}},{"name":"lt_gt_int32","number":114,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":0,"jsonName":"ltGtInt32","options":{"[buf.validate.field]":{"int32":{"lt":1,"gt":5}}}},{"name":"const_int64","number":44,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"constInt64","options":{"[buf.validate.field]":{"int64":{"const":"5"}}}},{"name":"lt_int64","number":45,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"ltInt64","options":{"[buf.validate.field]":{"int64":{"lt":"5"}}}},{"name":"lte_int64","number":46,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"lteInt64","options":{"[buf.validate.field]":{"int64":{"lte":"5"}}}},{"name":"gt_int64","number":47,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"gtInt64","options":{"[buf.validate.field]":{"int64":{"gt":"5"}}}},{"name":"gte_int64","number":48,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"gteInt64","options":{"[buf.validate.field]":{"int64":{"gte":"5"}}}},{"name":"in_int64","number":49,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"inInt64","options":{"[buf.validate.field]":{"int64":{"in":["1","2"]}}}},{"name":"lt_gt_int64","number":115,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"ltGtInt64","options":{"[buf.validate.field]":{"int64":{"lt":"1","gt":"5"}}}},{"name":"const_uint32","number":50,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":0,"jsonName":"constUint32","options":{"[buf.validate.field]":{"uint32":{"const":5}}}},{"name":"lt_uint32","number":51,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":0,"jsonName":"ltUint32","options":{"[buf.validate.field]":{"uint32":{"lt":5}}}},{"name":"lte_uint32","number":52,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":0,"jsonName":"lteUint32","options":{"[buf.validate.field]":{"uint32":{"lte":5}}}},{"name":"gt_uint32","number":53,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":0,"jsonName":"gtUint32","options":{"[buf.validate.field]":{"uint32":{"gt":5}}}},{"name":"gte_uint32","number":54,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":0,"jsonName":"gteUint32","options":{"[buf.validate.field]":{"uint32":{"gte":5}}}},{"name":"in_uint32","number":55,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":0,"jsonName":"inUint32","options":{"[buf.validate.field]":{"uint32":{"in":[1,2]}}}},{"name":"lt_gt_uint32","number":116,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":0,"jsonName":"ltGtUint32","options":{"[buf.validate.field]":{"uint32":{"lt":1,"gt":5}}}},{"name":"const_uint64","number":56,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"constUint64","options":{"[buf.validate.field]":{"uint64":{"const":"5"}}}},{"name":"lt_uint64","number":57,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"ltUint64","options":{"[buf.validate.field]":{"uint64":{"lt":"5"}}}},{"name":"lte_uint64","number":58,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"lteUint64","options":{"[buf.validate.field]":{"uint64":{"lte":"5"}}}},{"name":"gt_uint64","number":59,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"gtUint64","options":{"[buf.validate.field]":{"uint64":{"gt":"5"}}}},{"name":"gte_uint64","number":60,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"gteUint64","options":{"[buf.validate.field]":{"uint64":{"gte":"5"}}}},{"name":"in_uint64","number":61,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"inUint64","options":{"[buf.validate.field]":{"uint64":{"in":["1","2"]}}}},{"name":"lt_gt_uint64","number":117,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"ltGtUint64","options":{"[buf.validate.field]":{"uint64":{"lt":"1","gt":"5"}}}},{"name":"const_sint32","number":62,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":0,"jsonName":"constSint32","options":{"[buf.validate.field]":{"sint32":{"const":5}}}},{"name":"lt_sint32","number":63,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":0,"jsonName":"ltSint32","options":{"[buf.validate.field]":{"sint32":{"lt":5}}}},{"name":"lte_sint32","number":64,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":0,"jsonName":"lteSint32","options":{"[buf.validate.field]":{"sint32":{"lte":5}}}},{"name":"gt_sint32","number":65,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":0,"jsonName":"gtSint32","options":{"[buf.validate.field]":{"sint32":{"gt":5}}}},{"name":"gte_sint32","number":66,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":0,"jsonName":"gteSint32","options":{"[buf.validate.field]":{"sint32":{"gte":5}}}},{"name":"in_sint32","number":67,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":0,"jsonName":"inSint32","options":{"[buf.validate.field]":{"sint32":{"in":[1,2]}}}},{"name":"const_sint64","number":68,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":0,"jsonName":"constSint64","options":{"[buf.validate.field]":{"sint64":{"const":"5"}}}},{"name":"lt_sint64","number":69,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":0,"jsonName":"ltSint64","options":{"[buf.validate.field]":{"sint64":{"lt":"5"}}}},{"name":"lte_sint64","number":70,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":0,"jsonName":"lteSint64","options":{"[buf.validate.field]":{"sint64":{"lte":"5"}}}},{"name":"gt_sint64","number":71,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":0,"jsonName":"gtSint64","options":{"[buf.validate.field]":{"sint64":{"gt":"5"}}}},{"name":"gte_sint64","number":72,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":0,"jsonName":"gteSint64","options":{"[buf.validate.field]":{"sint64":{"gte":"5"}}}},{"name":"in_sint64","number":73,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":0,"jsonName":"inSint64","options":{"[buf.validate.field]":{"sint64":{"in":["1","2"]}}}},{"name":"const_sfixed32","number":74,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":0,"jsonName":"constSfixed32","options":{"[buf.validate.field]":{"sfixed32":{"const":5}}}},{"name":"lt_sfixed32","number":75,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":0,"jsonName":"ltSfixed32","options":{"[buf.validate.field]":{"sfixed32":{"lt":5}}}},{"name":"lte_sfixed32","number":76,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":0,"jsonName":"lteSfixed32","options":{"[buf.validate.field]":{"sfixed32":{"lte":5}}}},{"name":"gt_sfixed32","number":77,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":0,"jsonName":"gtSfixed32","options":{"[buf.validate.field]":{"sfixed32":{"gt":5}}}},{"name":"gte_sfixed32","number":78,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":0,"jsonName":"gteSfixed32","options":{"[buf.validate.field]":{"sfixed32":{"gte":5}}}},{"name":"in_sfixed32","number":79,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":0,"jsonName":"inSfixed32","options":{"[buf.validate.field]":{"sfixed32":{"in":[1,2]}}}},{"name":"const_sfixed64","number":80,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":0,"jsonName":"constSfixed64","options":{"[buf.validate.field]":{"sfixed64":{"const":"5"}}}},{"name":"lt_sfixed64","number":81,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":0,"jsonName":"ltSfixed64","options":{"[buf.validate.field]":{"sfixed64":{"lt":"5"}}}},{"name":"lte_sfixed64","number":82,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":0,"jsonName":"lteSfixed64","options":{"[buf.validate.field]":{"sfixed64":{"lte":"5"}}}},{"name":"gt_sfixed64","number":83,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":0,"jsonName":"gtSfixed64","options":{"[buf.validate.field]":{"sfixed64":{"gt":"5"}}}},{"name":"gte_sfixed64","number":84,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":0,"jsonName":"gteSfixed64","options":{"[buf.validate.field]":{"sfixed64":{"gte":"5"}}}},{"name":"in_sfixed64","number":85,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":0,"jsonName":"inSfixed64","options":{"[buf.validate.field]":{"sfixed64":{"in":["1","2"]}}}},{"name":"const_fixed32","number":86,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","jsonName":"constFixed32","options":{"[buf.validate.field]":{"fixed32":{"const":5}}}},{"name":"lt_fixed32","number":87,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","jsonName":"ltFixed32","options":{"[buf.validate.field]":{"fixed32":{"lt":5}}}},{"name":"lte_fixed32","number":88,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","jsonName":"lteFixed32","options":{"[buf.validate.field]":{"fixed32":{"lte":5}}}},{"name":"gt_fixed32","number":89,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","jsonName":"gtFixed32","options":{"[buf.validate.field]":{"fixed32":{"gt":5}}}},{"name":"gte_fixed32","number":90,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","jsonName":"gteFixed32","options":{"[buf.validate.field]":{"fixed32":{"gte":5}}}},{"name":"in_fixed32","number":91,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","jsonName":"inFixed32","options":{"[buf.validate.field]":{"fixed32":{"in":[1,2]}}}},{"name":"const_fixed64","number":92,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","jsonName":"constFixed64","options":{"[buf.validate.field]":{"fixed64":{"const":"5"}}}},{"name":"lt_fixed64","number":93,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","jsonName":"ltFixed64","options":{"[buf.validate.field]":{"fixed64":{"lt":"5"}}}},{"name":"lte_fixed64","number":94,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","jsonName":"lteFixed64","options":{"[buf.validate.field]":{"fixed64":{"lte":"5"}}}},{"name":"gt_fixed64","number":95,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","jsonName":"gtFixed64","options":{"[buf.validate.field]":{"fixed64":{"gt":"5"}}}},{"name":"gte_fixed64","number":96,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","jsonName":"gteFixed64","options":{"[buf.validate.field]":{"fixed64":{"gte":"5"}}}},{"name":"in_fixed64","number":97,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","jsonName":"inFixed64","options":{"[buf.validate.field]":{"fixed64":{"in":["1","2"]}}}},{"name":"const_double","number":98,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"constDouble","options":{"[buf.validate.field]":{"double":{"const":5}}}},{"name":"lt_double","number":99,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"ltDouble","options":{"[buf.validate.field]":{"double":{"lt":5}}}},{"name":"lte_double","number":100,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"lteDouble","options":{"[buf.validate.field]":{"double":{"lte":5}}}},{"name":"gt_double","number":101,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"gtDouble","options":{"[buf.validate.field]":{"double":{"gt":5}}}},{"name":"gte_double","number":102,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"gteDouble","options":{"[buf.validate.field]":{"double":{"gte":5}}}},{"name":"in_double","number":103,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"inDouble","options":{"[buf.validate.field]":{"double":{"in":[1,2]}}}},{"name":"finite_double","number":104,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"finiteDouble","options":{"[buf.validate.field]":{"double":{"finite":true}}}},{"name":"lt_gt_double","number":105,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"ltGtDouble","options":{"[buf.validate.field]":{"double":{"lt":1,"gt":5}}}},{"name":"const_float","number":106,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"constFloat","options":{"[buf.validate.field]":{"float":{"const":5}}}},{"name":"lt_float","number":107,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"ltFloat","options":{"[buf.validate.field]":{"float":{"lt":5}}}},{"name":"lte_float","number":108,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"lteFloat","options":{"[buf.validate.field]":{"float":{"lte":5}}}},{"name":"gt_float","number":109,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"gtFloat","options":{"[buf.validate.field]":{"float":{"gt":5}}}},{"name":"gte_float","number":110,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"gteFloat","options":{"[buf.validate.field]":{"float":{"gte":5}}}},{"name":"in_float","number":111,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"inFloat","options":{"[buf.validate.field]":{"float":{"in":[1,2]}}}},{"name":"finite_float","number":112,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"finiteFloat","options":{"[buf.validate.field]":{"float":{"finite":true}}}},{"name":"lt_gt_float","number":113,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"ltGtFloat","options":{"[buf.validate.field]":{"float":{"lt":1,"gt":5}}}},{"name":"in_map","number":118,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".buf.protoschema.test.v1.ConstraintTest.InMapEntry","jsonName":"inMap","options":{"[buf.validate.field]":{"map":{"keys":{"string":{"in":["key1","key2"]}},"values":{"string":{"in":["value1","value2"]}}}}}}],"nestedType":[{"name":"RequiredImplicit","field":[{"name":"bool_value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"boolValue","options":{"[buf.validate.field]":{"required":true}}},{"name":"string_value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"stringValue","options":{"[buf.validate.field]":{"required":true}}},{"name":"enum_value","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","jsonName":"enumValue","options":{"[buf.validate.field]":{"required":true}}},{"name":"strict_enum_value","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","jsonName":"strictEnumValue","options":{"[buf.validate.field]":{"required":true,"enum":{"definedOnly":true}}}}]},{"name":"RequiredOptional","field":[{"name":"bool_value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"boolValue","options":{"[buf.validate.field]":{"required":true}},"proto3Optional":true},{"name":"string_value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":1,"jsonName":"stringValue","options":{"[buf.validate.field]":{"required":true}},"proto3Optional":true},{"name":"enum_value","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","oneofIndex":2,"jsonName":"enumValue","options":{"[buf.validate.field]":{"required":true}},"proto3Optional":true},{"name":"strict_enum_value","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","oneofIndex":3,"jsonName":"strictEnumValue","options":{"[buf.validate.field]":{"required":true,"enum":{"definedOnly":true}}},"proto3Optional":true}],"oneofDecl":[{"name":"_bool_value"},{"name":"_string_value"},{"name":"_enum_value"},{"name":"_strict_enum_value"}]},{"name":"InMapEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}}],"enumType":[{"name":"Enum","value":[{"name":"ENUM_UNSPECIFIED","number":0},{"name":"ENUM_VAL1","number":1},{"name":"ENUM_VAL2","number":2},{"name":"ENUM_VAL7","number":7}]}],"oneofDecl":[{"name":"test_case"}]},{"name":"ConstraintTests","field":[{"name":"test_cases","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".buf.protoschema.test.v1.ConstraintTest","jsonName":"testCases"}]}],"sourceCodeInfo":{"location":[{"span":[14,0,318,1]},{"path":[12],"span":[14,0,18],"leadingDetachedComments":[" Copyright 2024-2025 Buf Technologies, Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n"]},{"path":[2],"span":[16,0,32]},{"path":[3,0],"span":[18,0,37]},{"path":[4,0],"span":[20,0,314,1]},{"path":[4,0,1],"span":[20,8,22]},{"path":[4,0,3,0],"span":[21,2,29,3]},{"path":[4,0,3,0,1],"span":[21,10,26]},{"path":[4,0,3,0,2,0],"span":[22,4,63]},{"path":[4,0,3,0,2,0,5],"span":[22,4,8]},{"path":[4,0,3,0,2,0,1],"span":[22,9,19]},{"path":[4,0,3,0,2,0,3],"span":[22,22,23]},{"path":[4,0,3,0,2,0,8],"span":[22,24,62]},{"path":[4,0,3,0,2,0,8,1159,25],"span":[22,25,61]},{"path":[4,0,3,0,2,1],"span":[23,4,67]},{"path":[4,0,3,0,2,1,5],"span":[23,4,10]},{"path":[4,0,3,0,2,1,1],"span":[23,11,23]},{"path":[4,0,3,0,2,1,3],"span":[23,26,27]},{"path":[4,0,3,0,2,1,8],"span":[23,28,66]},{"path":[4,0,3,0,2,1,8,1159,25],"span":[23,29,65]},{"path":[4,0,3,0,2,2],"span":[24,4,63]},{"path":[4,0,3,0,2,2,6],"span":[24,4,8]},{"path":[4,0,3,0,2,2,1],"span":[24,9,19]},{"path":[4,0,3,0,2,2,3],"span":[24,22,23]},{"path":[4,0,3,0,2,2,8],"span":[24,24,62]},{"path":[4,0,3,0,2,2,8,1159,25],"span":[24,25,61]},{"path":[4,0,3,0,2,3],"span":[25,4,28,6]},{"path":[4,0,3,0,2,3,6],"span":[25,4,8]},{"path":[4,0,3,0,2,3,1],"span":[25,9,26]},{"path":[4,0,3,0,2,3,3],"span":[25,29,30]},{"path":[4,0,3,0,2,3,8],"span":[25,31,28,5]},{"path":[4,0,3,0,2,3,8,1159,25],"span":[26,6,42]},{"path":[4,0,3,0,2,3,8,1159,16,2],"span":[27,6,51]},{"path":[4,0,3,1],"span":[31,2,39,3]},{"path":[4,0,3,1,1],"span":[31,10,26]},{"path":[4,0,3,1,2,0],"span":[32,4,72]},{"path":[4,0,3,1,2,0,4],"span":[32,4,12]},{"path":[4,0,3,1,2,0,5],"span":[32,13,17]},{"path":[4,0,3,1,2,0,1],"span":[32,18,28]},{"path":[4,0,3,1,2,0,3],"span":[32,31,32]},{"path":[4,0,3,1,2,0,8],"span":[32,33,71]},{"path":[4,0,3,1,2,0,8,1159,25],"span":[32,34,70]},{"path":[4,0,3,1,2,1],"span":[33,4,76]},{"path":[4,0,3,1,2,1,4],"span":[33,4,12]},{"path":[4,0,3,1,2,1,5],"span":[33,13,19]},{"path":[4,0,3,1,2,1,1],"span":[33,20,32]},{"path":[4,0,3,1,2,1,3],"span":[33,35,36]},{"path":[4,0,3,1,2,1,8],"span":[33,37,75]},{"path":[4,0,3,1,2,1,8,1159,25],"span":[33,38,74]},{"path":[4,0,3,1,2,2],"span":[34,4,72]},{"path":[4,0,3,1,2,2,4],"span":[34,4,12]},{"path":[4,0,3,1,2,2,6],"span":[34,13,17]},{"path":[4,0,3,1,2,2,1],"span":[34,18,28]},{"path":[4,0,3,1,2,2,3],"span":[34,31,32]},{"path":[4,0,3,1,2,2,8],"span":[34,33,71]},{"path":[4,0,3,1,2,2,8,1159,25],"span":[34,34,70]},{"path":[4,0,3,1,2,3],"span":[35,4,38,6]},{"path":[4,0,3,1,2,3,4],"span":[35,4,12]},{"path":[4,0,3,1,2,3,6],"span":[35,13,17]},{"path":[4,0,3,1,2,3,1],"span":[35,18,35]},{"path":[4,0,3,1,2,3,3],"span":[35,38,39]},{"path":[4,0,3,1,2,3,8],"span":[35,40,38,5]},{"path":[4,0,3,1,2,3,8,1159,25],"span":[36,6,42]},{"path":[4,0,3,1,2,3,8,1159,16,2],"span":[37,6,51]},{"path":[4,0,4,0],"span":[41,2,46,3]},{"path":[4,0,4,0,1],"span":[41,7,11]},{"path":[4,0,4,0,2,0],"span":[42,4,25]},{"path":[4,0,4,0,2,0,1],"span":[42,4,20]},{"path":[4,0,4,0,2,0,2],"span":[42,23,24]},{"path":[4,0,4,0,2,1],"span":[43,4,18]},{"path":[4,0,4,0,2,1,1],"span":[43,4,13]},{"path":[4,0,4,0,2,1,2],"span":[43,16,17]},{"path":[4,0,4,0,2,2],"span":[44,4,18]},{"path":[4,0,4,0,2,2,1],"span":[44,4,13]},{"path":[4,0,4,0,2,2,2],"span":[44,16,17]},{"path":[4,0,4,0,2,3],"span":[45,4,18]},{"path":[4,0,4,0,2,3,1],"span":[45,4,13]},{"path":[4,0,4,0,2,3,2],"span":[45,16,17]},{"path":[4,0,8,0],"span":[48,2,239,3]},{"path":[4,0,8,0,1],"span":[48,8,17]},{"path":[4,0,2,0],"span":[49,4,43]},{"path":[4,0,2,0,6],"span":[49,4,20]},{"path":[4,0,2,0,1],"span":[49,21,38]},{"path":[4,0,2,0,3],"span":[49,41,42]},{"path":[4,0,2,1],"span":[50,4,43]},{"path":[4,0,2,1,6],"span":[50,4,20]},{"path":[4,0,2,1,1],"span":[50,21,38]},{"path":[4,0,2,1,3],"span":[50,41,42]},{"path":[4,0,2,2],"span":[51,4,66]},{"path":[4,0,2,2,5],"span":[51,4,8]},{"path":[4,0,2,2,1],"span":[51,9,19]},{"path":[4,0,2,2,3],"span":[51,22,23]},{"path":[4,0,2,2,8],"span":[51,24,65]},{"path":[4,0,2,2,8,1159,13,1],"span":[51,25,64]},{"path":[4,0,2,3],"span":[52,4,64]},{"path":[4,0,2,3,6],"span":[52,4,8]},{"path":[4,0,2,3,1],"span":[52,9,19]},{"path":[4,0,2,3,3],"span":[52,22,25]},{"path":[4,0,2,3,8],"span":[52,26,63]},{"path":[4,0,2,3,8,1159,16,1],"span":[52,27,62]},{"path":[4,0,2,4],"span":[53,4,81]},{"path":[4,0,2,4,6],"span":[53,4,8]},{"path":[4,0,2,4,1],"span":[53,9,26]},{"path":[4,0,2,4,3],"span":[53,29,32]},{"path":[4,0,2,4,8],"span":[53,33,80]},{"path":[4,0,2,4,8,1159,16,2],"span":[53,34,79]},{"path":[4,0,2,5],"span":[54,4,59,7]},{"path":[4,0,2,5,6],"span":[54,4,8]},{"path":[4,0,2,5,1],"span":[54,9,16]},{"path":[4,0,2,5,3],"span":[54,19,22]},{"path":[4,0,2,5,8],"span":[54,23,59,6]},{"path":[4,0,2,5,8,1159,16],"span":[54,24,59,5]},{"path":[4,0,2,5,8,1159,16,3,0],"span":[56,8,9]},{"path":[4,0,2,5,8,1159,16,3,1],"span":[57,8,9]},{"path":[4,0,2,6],"span":[60,4,65,7]},{"path":[4,0,2,6,6],"span":[60,4,8]},{"path":[4,0,2,6,1],"span":[60,9,20]},{"path":[4,0,2,6,3],"span":[60,23,26]},{"path":[4,0,2,6,8],"span":[60,27,65,6]},{"path":[4,0,2,6,8,1159,16],"span":[60,28,65,5]},{"path":[4,0,2,6,8,1159,16,4,0],"span":[62,8,9]},{"path":[4,0,2,6,8,1159,16,4,1],"span":[63,8,9]},{"path":[4,0,2,7],"span":[66,4,69,7]},{"path":[4,0,2,7,6],"span":[66,4,8]},{"path":[4,0,2,7,1],"span":[66,9,33]},{"path":[4,0,2,7,3],"span":[66,36,39]},{"path":[4,0,2,7,8],"span":[66,40,69,6]},{"path":[4,0,2,7,8,1159,16],"span":[66,41,69,5]},{"path":[4,0,2,7,8,1159,16,2],"span":[67,6,24]},{"path":[4,0,2,7,8,1159,16,4,0],"span":[68,15,16]},{"path":[4,0,2,8],"span":[70,4,79,7]},{"path":[4,0,2,8,6],"span":[70,4,8]},{"path":[4,0,2,8,1],"span":[70,9,27]},{"path":[4,0,2,8,3],"span":[70,30,33]},{"path":[4,0,2,8,8],"span":[70,34,79,6]},{"path":[4,0,2,8,8,1159,16],"span":[70,35,79,5]},{"path":[4,0,2,8,8,1159,16,3,0],"span":[72,8,9]},{"path":[4,0,2,8,8,1159,16,3,1],"span":[73,8,9]},{"path":[4,0,2,8,8,1159,16,4,0],"span":[76,8,9]},{"path":[4,0,2,8,8,1159,16,4,1],"span":[77,8,9]},{"path":[4,0,2,9],"span":[80,4,74]},{"path":[4,0,2,9,5],"span":[80,4,10]},{"path":[4,0,2,9,1],"span":[80,11,23]},{"path":[4,0,2,9,3],"span":[80,26,27]},{"path":[4,0,2,9,8],"span":[80,28,73]},{"path":[4,0,2,9,8,1159,14,1],"span":[80,29,72]},{"path":[4,0,2,10],"span":[81,4,64]},{"path":[4,0,2,10,5],"span":[81,4,10]},{"path":[4,0,2,10,1],"span":[81,11,21]},{"path":[4,0,2,10,3],"span":[81,24,25]},{"path":[4,0,2,10,8],"span":[81,26,63]},{"path":[4,0,2,10,8,1159,14,19],"span":[81,27,62]},{"path":[4,0,2,11],"span":[82,4,72]},{"path":[4,0,2,11,5],"span":[82,4,10]},{"path":[4,0,2,11,1],"span":[82,11,25]},{"path":[4,0,2,11,3],"span":[82,28,29]},{"path":[4,0,2,11,8],"span":[82,30,71]},{"path":[4,0,2,11,8,1159,14,2],"span":[82,31,70]},{"path":[4,0,2,12],"span":[83,4,72]},{"path":[4,0,2,12,5],"span":[83,4,10]},{"path":[4,0,2,12,1],"span":[83,11,25]},{"path":[4,0,2,12,3],"span":[83,28,29]},{"path":[4,0,2,12,8],"span":[83,30,71]},{"path":[4,0,2,12,8,1159,14,3],"span":[83,31,70]},{"path":[4,0,2,13],"span":[84,4,87,7]},{"path":[4,0,2,13,5],"span":[84,4,10]},{"path":[4,0,2,13,1],"span":[84,11,29]},{"path":[4,0,2,13,3],"span":[84,32,33]},{"path":[4,0,2,13,8],"span":[84,34,87,6]},{"path":[4,0,2,13,8,1159,14],"span":[84,35,87,5]},{"path":[4,0,2,13,8,1159,14,2],"span":[85,6,16]},{"path":[4,0,2,13,8,1159,14,3],"span":[86,6,17]},{"path":[4,0,2,14],"span":[88,4,93,7]},{"path":[4,0,2,14,5],"span":[88,4,10]},{"path":[4,0,2,14,1],"span":[88,11,20]},{"path":[4,0,2,14,3],"span":[88,23,24]},{"path":[4,0,2,14,8],"span":[88,25,93,6]},{"path":[4,0,2,14,8,1159,14],"span":[88,26,93,5]},{"path":[4,0,2,14,8,1159,14,10,0],"span":[90,8,13]},{"path":[4,0,2,14,8,1159,14,10,1],"span":[91,8,13]},{"path":[4,0,2,15],"span":[94,4,83]},{"path":[4,0,2,15,5],"span":[94,4,10]},{"path":[4,0,2,15,1],"span":[94,11,25]},{"path":[4,0,2,15,3],"span":[94,28,30]},{"path":[4,0,2,15,8],"span":[94,31,82]},{"path":[4,0,2,15,8,1159,14,6],"span":[94,32,81]},{"path":[4,0,2,16],"span":[95,4,79]},{"path":[4,0,2,16,5],"span":[95,4,10]},{"path":[4,0,2,16,1],"span":[95,11,24]},{"path":[4,0,2,16,3],"span":[95,27,29]},{"path":[4,0,2,16,8],"span":[95,30,78]},{"path":[4,0,2,16,8,1159,14,7],"span":[95,31,77]},{"path":[4,0,2,17],"span":[96,4,79]},{"path":[4,0,2,17,5],"span":[96,4,10]},{"path":[4,0,2,17,1],"span":[96,11,24]},{"path":[4,0,2,17,3],"span":[96,27,29]},{"path":[4,0,2,17,8],"span":[96,30,78]},{"path":[4,0,2,17,8,1159,14,8],"span":[96,31,77]},{"path":[4,0,2,18],"span":[97,4,86]},{"path":[4,0,2,18,5],"span":[97,4,10]},{"path":[4,0,2,18,1],"span":[97,11,26]},{"path":[4,0,2,18,3],"span":[97,29,31]},{"path":[4,0,2,18,8],"span":[97,32,85]},{"path":[4,0,2,18,8,1159,14,9],"span":[97,33,84]},{"path":[4,0,2,19],"span":[98,4,101,7]},{"path":[4,0,2,19,5],"span":[98,4,10]},{"path":[4,0,2,19,1],"span":[98,11,31]},{"path":[4,0,2,19,3],"span":[98,34,36]},{"path":[4,0,2,19,8],"span":[98,37,101,6]},{"path":[4,0,2,19,8,1159,14],"span":[98,38,101,5]},{"path":[4,0,2,19,8,1159,14,8],"span":[99,6,23]},{"path":[4,0,2,19,8,1159,14,7],"span":[100,6,23]},{"path":[4,0,2,20],"span":[102,4,106,7]},{"path":[4,0,2,20,5],"span":[102,4,10]},{"path":[4,0,2,20,1],"span":[102,11,40]},{"path":[4,0,2,20,3],"span":[102,43,45]},{"path":[4,0,2,20,8],"span":[102,46,106,6]},{"path":[4,0,2,20,8,1159,14],"span":[102,47,106,5]},{"path":[4,0,2,20,8,1159,14,8],"span":[103,6,23]},{"path":[4,0,2,20,8,1159,14,7],"span":[104,6,23]},{"path":[4,0,2,20,8,1159,14,9],"span":[105,6,26]},{"path":[4,0,2,21],"span":[107,4,78]},{"path":[4,0,2,21,5],"span":[107,4,10]},{"path":[4,0,2,21,1],"span":[107,11,26]},{"path":[4,0,2,21,3],"span":[107,29,31]},{"path":[4,0,2,21,8],"span":[107,32,77]},{"path":[4,0,2,21,8,1159,14,13],"span":[107,33,76]},{"path":[4,0,2,22],"span":[108,4,72]},{"path":[4,0,2,22,5],"span":[108,4,10]},{"path":[4,0,2,22,1],"span":[108,11,23]},{"path":[4,0,2,22,3],"span":[108,26,28]},{"path":[4,0,2,22,8],"span":[108,29,71]},{"path":[4,0,2,22,8,1159,14,12],"span":[108,30,70]},{"path":[4,0,2,23],"span":[109,4,66]},{"path":[4,0,2,23,5],"span":[109,4,10]},{"path":[4,0,2,23,1],"span":[109,11,20]},{"path":[4,0,2,23,3],"span":[109,23,25]},{"path":[4,0,2,23,8],"span":[109,26,65]},{"path":[4,0,2,23,8,1159,14,14],"span":[109,27,64]},{"path":[4,0,2,24],"span":[110,4,70]},{"path":[4,0,2,24,5],"span":[110,4,10]},{"path":[4,0,2,24,1],"span":[110,11,22]},{"path":[4,0,2,24,3],"span":[110,25,27]},{"path":[4,0,2,24,8],"span":[110,28,69]},{"path":[4,0,2,24,8,1159,14,15],"span":[110,29,68]},{"path":[4,0,2,25],"span":[111,4,70]},{"path":[4,0,2,25,5],"span":[111,4,10]},{"path":[4,0,2,25,1],"span":[111,11,22]},{"path":[4,0,2,25,3],"span":[111,25,27]},{"path":[4,0,2,25,8],"span":[111,28,69]},{"path":[4,0,2,25,8,1159,14,16],"span":[111,29,68]},{"path":[4,0,2,26],"span":[112,4,68]},{"path":[4,0,2,26,5],"span":[112,4,10]},{"path":[4,0,2,26,1],"span":[112,11,21]},{"path":[4,0,2,26,3],"span":[112,24,26]},{"path":[4,0,2,26,8],"span":[112,27,67]},{"path":[4,0,2,26,8,1159,14,17],"span":[112,28,66]},{"path":[4,0,2,27],"span":[113,4,76]},{"path":[4,0,2,27,5],"span":[113,4,10]},{"path":[4,0,2,27,1],"span":[113,11,25]},{"path":[4,0,2,27,3],"span":[113,28,30]},{"path":[4,0,2,27,8],"span":[113,31,75]},{"path":[4,0,2,27,8,1159,14,18],"span":[113,32,74]},{"path":[4,0,2,28],"span":[114,4,76]},{"path":[4,0,2,28,5],"span":[114,4,10]},{"path":[4,0,2,28,1],"span":[114,11,25]},{"path":[4,0,2,28,3],"span":[114,28,30]},{"path":[4,0,2,28,8],"span":[114,31,75]},{"path":[4,0,2,28,8,1159,14,21],"span":[114,32,74]},{"path":[4,0,2,29],"span":[115,4,70]},{"path":[4,0,2,29,5],"span":[115,4,10]},{"path":[4,0,2,29,1],"span":[115,11,22]},{"path":[4,0,2,29,3],"span":[115,25,27]},{"path":[4,0,2,29,8],"span":[115,28,69]},{"path":[4,0,2,29,8,1159,14,22],"span":[115,29,68]},{"path":[4,0,2,30],"span":[116,4,72]},{"path":[4,0,2,30,5],"span":[116,4,10]},{"path":[4,0,2,30,1],"span":[116,11,23]},{"path":[4,0,2,30,3],"span":[116,26,28]},{"path":[4,0,2,30,8],"span":[116,29,71]},{"path":[4,0,2,30,8,1159,14,33],"span":[116,30,70]},{"path":[4,0,2,31],"span":[117,4,96]},{"path":[4,0,2,31,5],"span":[117,4,10]},{"path":[4,0,2,31,1],"span":[117,11,35]},{"path":[4,0,2,31,3],"span":[117,38,40]},{"path":[4,0,2,31,8],"span":[117,41,95]},{"path":[4,0,2,31,8,1159,14,26],"span":[117,42,94]},{"path":[4,0,2,32],"span":[118,4,100]},{"path":[4,0,2,32,5],"span":[118,4,10]},{"path":[4,0,2,32,1],"span":[118,11,37]},{"path":[4,0,2,32,3],"span":[118,40,42]},{"path":[4,0,2,32,8],"span":[118,43,99]},{"path":[4,0,2,32,8,1159,14,27],"span":[118,44,98]},{"path":[4,0,2,33],"span":[119,4,100]},{"path":[4,0,2,33,5],"span":[119,4,10]},{"path":[4,0,2,33,1],"span":[119,11,37]},{"path":[4,0,2,33,3],"span":[119,40,42]},{"path":[4,0,2,33,8],"span":[119,43,99]},{"path":[4,0,2,33,8,1159,14,28],"span":[119,44,98]},{"path":[4,0,2,34],"span":[120,4,80]},{"path":[4,0,2,34,5],"span":[120,4,10]},{"path":[4,0,2,34,1],"span":[120,11,27]},{"path":[4,0,2,34,3],"span":[120,30,32]},{"path":[4,0,2,34,8],"span":[120,33,79]},{"path":[4,0,2,34,8,1159,14,29],"span":[120,34,78]},{"path":[4,0,2,35],"span":[121,4,84]},{"path":[4,0,2,35,5],"span":[121,4,10]},{"path":[4,0,2,35,1],"span":[121,11,29]},{"path":[4,0,2,35,3],"span":[121,32,34]},{"path":[4,0,2,35,8],"span":[121,35,83]},{"path":[4,0,2,35,8,1159,14,30],"span":[121,36,82]},{"path":[4,0,2,36],"span":[122,4,84]},{"path":[4,0,2,36,5],"span":[122,4,10]},{"path":[4,0,2,36,1],"span":[122,11,29]},{"path":[4,0,2,36,3],"span":[122,32,34]},{"path":[4,0,2,36,8],"span":[122,35,83]},{"path":[4,0,2,36,8,1159,14,31],"span":[122,36,82]},{"path":[4,0,2,37],"span":[123,4,88]},{"path":[4,0,2,37,5],"span":[123,4,10]},{"path":[4,0,2,37,1],"span":[123,11,31]},{"path":[4,0,2,37,3],"span":[123,34,36]},{"path":[4,0,2,37,8],"span":[123,37,87]},{"path":[4,0,2,37,8,1159,14,32],"span":[123,38,86]},{"path":[4,0,2,38],"span":[124,4,127,7]},{"path":[4,0,2,38,5],"span":[124,4,10]},{"path":[4,0,2,38,1],"span":[124,11,41]},{"path":[4,0,2,38,3],"span":[124,44,46]},{"path":[4,0,2,38,8],"span":[124,47,127,6]},{"path":[4,0,2,38,8,1159,14],"span":[124,48,127,5]},{"path":[4,0,2,38,8,1159,14,24],"span":[125,6,52]},{"path":[4,0,2,38,8,1159,14,25],"span":[126,6,18]},{"path":[4,0,2,39],"span":[128,4,62]},{"path":[4,0,2,39,5],"span":[128,4,9]},{"path":[4,0,2,39,1],"span":[128,10,19]},{"path":[4,0,2,39,3],"span":[128,22,24]},{"path":[4,0,2,39,8],"span":[128,25,61]},{"path":[4,0,2,39,8,1159,15,13],"span":[128,26,60]},{"path":[4,0,2,40],"span":[129,4,70]},{"path":[4,0,2,40,5],"span":[129,4,9]},{"path":[4,0,2,40,1],"span":[129,10,23]},{"path":[4,0,2,40,3],"span":[129,26,28]},{"path":[4,0,2,40,8],"span":[129,29,69]},{"path":[4,0,2,40,8,1159,15,2],"span":[129,30,68]},{"path":[4,0,2,41],"span":[130,4,70]},{"path":[4,0,2,41,5],"span":[130,4,9]},{"path":[4,0,2,41,1],"span":[130,10,23]},{"path":[4,0,2,41,3],"span":[130,26,28]},{"path":[4,0,2,41,8],"span":[130,29,69]},{"path":[4,0,2,41,8,1159,15,3],"span":[130,30,68]},{"path":[4,0,2,42],"span":[131,4,134,7]},{"path":[4,0,2,42,5],"span":[131,4,9]},{"path":[4,0,2,42,1],"span":[131,10,27]},{"path":[4,0,2,42,3],"span":[131,30,32]},{"path":[4,0,2,42,8],"span":[131,33,134,6]},{"path":[4,0,2,42,8,1159,15],"span":[131,34,134,5]},{"path":[4,0,2,42,8,1159,15,2],"span":[132,6,16]},{"path":[4,0,2,42,8,1159,15,3],"span":[133,6,17]},{"path":[4,0,2,43],"span":[135,4,66]},{"path":[4,0,2,43,5],"span":[135,4,9]},{"path":[4,0,2,43,1],"span":[135,10,21]},{"path":[4,0,2,43,3],"span":[135,24,26]},{"path":[4,0,2,43,8],"span":[135,27,65]},{"path":[4,0,2,43,8,1159,3,1],"span":[135,28,64]},{"path":[4,0,2,44],"span":[136,4,60]},{"path":[4,0,2,44,5],"span":[136,4,9]},{"path":[4,0,2,44,1],"span":[136,10,18]},{"path":[4,0,2,44,3],"span":[136,21,23]},{"path":[4,0,2,44,8],"span":[136,24,59]},{"path":[4,0,2,44,8,1159,3,2],"span":[136,25,58]},{"path":[4,0,2,45],"span":[137,4,62]},{"path":[4,0,2,45,5],"span":[137,4,9]},{"path":[4,0,2,45,1],"span":[137,10,19]},{"path":[4,0,2,45,3],"span":[137,22,24]},{"path":[4,0,2,45,8],"span":[137,25,61]},{"path":[4,0,2,45,8,1159,3,3],"span":[137,26,60]},{"path":[4,0,2,46],"span":[138,4,60]},{"path":[4,0,2,46,5],"span":[138,4,9]},{"path":[4,0,2,46,1],"span":[138,10,18]},{"path":[4,0,2,46,3],"span":[138,21,23]},{"path":[4,0,2,46,8],"span":[138,24,59]},{"path":[4,0,2,46,8,1159,3,4],"span":[138,25,58]},{"path":[4,0,2,47],"span":[139,4,62]},{"path":[4,0,2,47,5],"span":[139,4,9]},{"path":[4,0,2,47,1],"span":[139,10,19]},{"path":[4,0,2,47,3],"span":[139,22,24]},{"path":[4,0,2,47,8],"span":[139,25,61]},{"path":[4,0,2,47,8,1159,3,5],"span":[139,26,60]},{"path":[4,0,2,48],"span":[140,4,145,7]},{"path":[4,0,2,48,5],"span":[140,4,9]},{"path":[4,0,2,48,1],"span":[140,10,18]},{"path":[4,0,2,48,3],"span":[140,21,23]},{"path":[4,0,2,48,8],"span":[140,24,145,6]},{"path":[4,0,2,48,8,1159,3],"span":[140,25,145,5]},{"path":[4,0,2,48,8,1159,3,6,0],"span":[142,8,9]},{"path":[4,0,2,48,8,1159,3,6,1],"span":[143,8,9]},{"path":[4,0,2,49],"span":[146,4,149,7]},{"path":[4,0,2,49,5],"span":[146,4,9]},{"path":[4,0,2,49,1],"span":[146,10,21]},{"path":[4,0,2,49,3],"span":[146,24,27]},{"path":[4,0,2,49,8],"span":[146,28,149,6]},{"path":[4,0,2,49,8,1159,3],"span":[146,29,149,5]},{"path":[4,0,2,49,8,1159,3,2],"span":[147,6,11]},{"path":[4,0,2,49,8,1159,3,4],"span":[148,6,11]},{"path":[4,0,2,50],"span":[150,4,66]},{"path":[4,0,2,50,5],"span":[150,4,9]},{"path":[4,0,2,50,1],"span":[150,10,21]},{"path":[4,0,2,50,3],"span":[150,24,26]},{"path":[4,0,2,50,8],"span":[150,27,65]},{"path":[4,0,2,50,8,1159,4,1],"span":[150,28,64]},{"path":[4,0,2,51],"span":[151,4,60]},{"path":[4,0,2,51,5],"span":[151,4,9]},{"path":[4,0,2,51,1],"span":[151,10,18]},{"path":[4,0,2,51,3],"span":[151,21,23]},{"path":[4,0,2,51,8],"span":[151,24,59]},{"path":[4,0,2,51,8,1159,4,2],"span":[151,25,58]},{"path":[4,0,2,52],"span":[152,4,62]},{"path":[4,0,2,52,5],"span":[152,4,9]},{"path":[4,0,2,52,1],"span":[152,10,19]},{"path":[4,0,2,52,3],"span":[152,22,24]},{"path":[4,0,2,52,8],"span":[152,25,61]},{"path":[4,0,2,52,8,1159,4,3],"span":[152,26,60]},{"path":[4,0,2,53],"span":[153,4,60]},{"path":[4,0,2,53,5],"span":[153,4,9]},{"path":[4,0,2,53,1],"span":[153,10,18]},{"path":[4,0,2,53,3],"span":[153,21,23]},{"path":[4,0,2,53,8],"span":[153,24,59]},{"path":[4,0,2,53,8,1159,4,4],"span":[153,25,58]},{"path":[4,0,2,54],"span":[154,4,62]},{"path":[4,0,2,54,5],"span":[154,4,9]},{"path":[4,0,2,54,1],"span":[154,10,19]},{"path":[4,0,2,54,3],"span":[154,22,24]},{"path":[4,0,2,54,8],"span":[154,25,61]},{"path":[4,0,2,54,8,1159,4,5],"span":[154,26,60]},{"path":[4,0,2,55],"span":[155,4,160,7]},{"path":[4,0,2,55,5],"span":[155,4,9]},{"path":[4,0,2,55,1],"span":[155,10,18]},{"path":[4,0,2,55,3],"span":[155,21,23]},{"path":[4,0,2,55,8],"span":[155,24,160,6]},{"path":[4,0,2,55,8,1159,4],"span":[155,25,160,5]},{"path":[4,0,2,55,8,1159,4,6,0],"span":[157,8,9]},{"path":[4,0,2,55,8,1159,4,6,1],"span":[158,8,9]},{"path":[4,0,2,56],"span":[161,4,164,7]},{"path":[4,0,2,56,5],"span":[161,4,9]},{"path":[4,0,2,56,1],"span":[161,10,21]},{"path":[4,0,2,56,3],"span":[161,24,27]},{"path":[4,0,2,56,8],"span":[161,28,164,6]},{"path":[4,0,2,56,8,1159,4],"span":[161,29,164,5]},{"path":[4,0,2,56,8,1159,4,2],"span":[162,6,11]},{"path":[4,0,2,56,8,1159,4,4],"span":[163,6,11]},{"path":[4,0,2,57],"span":[165,4,69]},{"path":[4,0,2,57,5],"span":[165,4,10]},{"path":[4,0,2,57,1],"span":[165,11,23]},{"path":[4,0,2,57,3],"span":[165,26,28]},{"path":[4,0,2,57,8],"span":[165,29,68]},{"path":[4,0,2,57,8,1159,5,1],"span":[165,30,67]},{"path":[4,0,2,58],"span":[166,4,63]},{"path":[4,0,2,58,5],"span":[166,4,10]},{"path":[4,0,2,58,1],"span":[166,11,20]},{"path":[4,0,2,58,3],"span":[166,23,25]},{"path":[4,0,2,58,8],"span":[166,26,62]},{"path":[4,0,2,58,8,1159,5,2],"span":[166,27,61]},{"path":[4,0,2,59],"span":[167,4,65]},{"path":[4,0,2,59,5],"span":[167,4,10]},{"path":[4,0,2,59,1],"span":[167,11,21]},{"path":[4,0,2,59,3],"span":[167,24,26]},{"path":[4,0,2,59,8],"span":[167,27,64]},{"path":[4,0,2,59,8,1159,5,3],"span":[167,28,63]},{"path":[4,0,2,60],"span":[168,4,63]},{"path":[4,0,2,60,5],"span":[168,4,10]},{"path":[4,0,2,60,1],"span":[168,11,20]},{"path":[4,0,2,60,3],"span":[168,23,25]},{"path":[4,0,2,60,8],"span":[168,26,62]},{"path":[4,0,2,60,8,1159,5,4],"span":[168,27,61]},{"path":[4,0,2,61],"span":[169,4,65]},{"path":[4,0,2,61,5],"span":[169,4,10]},{"path":[4,0,2,61,1],"span":[169,11,21]},{"path":[4,0,2,61,3],"span":[169,24,26]},{"path":[4,0,2,61,8],"span":[169,27,64]},{"path":[4,0,2,61,8,1159,5,5],"span":[169,28,63]},{"path":[4,0,2,62],"span":[170,4,175,7]},{"path":[4,0,2,62,5],"span":[170,4,10]},{"path":[4,0,2,62,1],"span":[170,11,20]},{"path":[4,0,2,62,3],"span":[170,23,25]},{"path":[4,0,2,62,8],"span":[170,26,175,6]},{"path":[4,0,2,62,8,1159,5],"span":[170,27,175,5]},{"path":[4,0,2,62,8,1159,5,6,0],"span":[172,8,9]},{"path":[4,0,2,62,8,1159,5,6,1],"span":[173,8,9]},{"path":[4,0,2,63],"span":[176,4,179,7]},{"path":[4,0,2,63,5],"span":[176,4,10]},{"path":[4,0,2,63,1],"span":[176,11,23]},{"path":[4,0,2,63,3],"span":[176,26,29]},{"path":[4,0,2,63,8],"span":[176,30,179,6]},{"path":[4,0,2,63,8,1159,5],"span":[176,31,179,5]},{"path":[4,0,2,63,8,1159,5,2],"span":[177,6,11]},{"path":[4,0,2,63,8,1159,5,4],"span":[178,6,11]},{"path":[4,0,2,64],"span":[180,4,69]},{"path":[4,0,2,64,5],"span":[180,4,10]},{"path":[4,0,2,64,1],"span":[180,11,23]},{"path":[4,0,2,64,3],"span":[180,26,28]},{"path":[4,0,2,64,8],"span":[180,29,68]},{"path":[4,0,2,64,8,1159,6,1],"span":[180,30,67]},{"path":[4,0,2,65],"span":[181,4,63]},{"path":[4,0,2,65,5],"span":[181,4,10]},{"path":[4,0,2,65,1],"span":[181,11,20]},{"path":[4,0,2,65,3],"span":[181,23,25]},{"path":[4,0,2,65,8],"span":[181,26,62]},{"path":[4,0,2,65,8,1159,6,2],"span":[181,27,61]},{"path":[4,0,2,66],"span":[182,4,65]},{"path":[4,0,2,66,5],"span":[182,4,10]},{"path":[4,0,2,66,1],"span":[182,11,21]},{"path":[4,0,2,66,3],"span":[182,24,26]},{"path":[4,0,2,66,8],"span":[182,27,64]},{"path":[4,0,2,66,8,1159,6,3],"span":[182,28,63]},{"path":[4,0,2,67],"span":[183,4,63]},{"path":[4,0,2,67,5],"span":[183,4,10]},{"path":[4,0,2,67,1],"span":[183,11,20]},{"path":[4,0,2,67,3],"span":[183,23,25]},{"path":[4,0,2,67,8],"span":[183,26,62]},{"path":[4,0,2,67,8,1159,6,4],"span":[183,27,61]},{"path":[4,0,2,68],"span":[184,4,65]},{"path":[4,0,2,68,5],"span":[184,4,10]},{"path":[4,0,2,68,1],"span":[184,11,21]},{"path":[4,0,2,68,3],"span":[184,24,26]},{"path":[4,0,2,68,8],"span":[184,27,64]},{"path":[4,0,2,68,8,1159,6,5],"span":[184,28,63]},{"path":[4,0,2,69],"span":[185,4,190,7]},{"path":[4,0,2,69,5],"span":[185,4,10]},{"path":[4,0,2,69,1],"span":[185,11,20]},{"path":[4,0,2,69,3],"span":[185,23,25]},{"path":[4,0,2,69,8],"span":[185,26,190,6]},{"path":[4,0,2,69,8,1159,6],"span":[185,27,190,5]},{"path":[4,0,2,69,8,1159,6,6,0],"span":[187,8,9]},{"path":[4,0,2,69,8,1159,6,6,1],"span":[188,8,9]},{"path":[4,0,2,70],"span":[191,4,194,7]},{"path":[4,0,2,70,5],"span":[191,4,10]},{"path":[4,0,2,70,1],"span":[191,11,23]},{"path":[4,0,2,70,3],"span":[191,26,29]},{"path":[4,0,2,70,8],"span":[191,30,194,6]},{"path":[4,0,2,70,8,1159,6],"span":[191,31,194,5]},{"path":[4,0,2,70,8,1159,6,2],"span":[192,6,11]},{"path":[4,0,2,70,8,1159,6,4],"span":[193,6,11]},{"path":[4,0,2,71],"span":[195,4,69]},{"path":[4,0,2,71,5],"span":[195,4,10]},{"path":[4,0,2,71,1],"span":[195,11,23]},{"path":[4,0,2,71,3],"span":[195,26,28]},{"path":[4,0,2,71,8],"span":[195,29,68]},{"path":[4,0,2,71,8,1159,7,1],"span":[195,30,67]},{"path":[4,0,2,72],"span":[196,4,63]},{"path":[4,0,2,72,5],"span":[196,4,10]},{"path":[4,0,2,72,1],"span":[196,11,20]},{"path":[4,0,2,72,3],"span":[196,23,25]},{"path":[4,0,2,72,8],"span":[196,26,62]},{"path":[4,0,2,72,8,1159,7,2],"span":[196,27,61]},{"path":[4,0,2,73],"span":[197,4,65]},{"path":[4,0,2,73,5],"span":[197,4,10]},{"path":[4,0,2,73,1],"span":[197,11,21]},{"path":[4,0,2,73,3],"span":[197,24,26]},{"path":[4,0,2,73,8],"span":[197,27,64]},{"path":[4,0,2,73,8,1159,7,3],"span":[197,28,63]},{"path":[4,0,2,74],"span":[198,4,63]},{"path":[4,0,2,74,5],"span":[198,4,10]},{"path":[4,0,2,74,1],"span":[198,11,20]},{"path":[4,0,2,74,3],"span":[198,23,25]},{"path":[4,0,2,74,8],"span":[198,26,62]},{"path":[4,0,2,74,8,1159,7,4],"span":[198,27,61]},{"path":[4,0,2,75],"span":[199,4,65]},{"path":[4,0,2,75,5],"span":[199,4,10]},{"path":[4,0,2,75,1],"span":[199,11,21]},{"path":[4,0,2,75,3],"span":[199,24,26]},{"path":[4,0,2,75,8],"span":[199,27,64]},{"path":[4,0,2,75,8,1159,7,5],"span":[199,28,63]},{"path":[4,0,2,76],"span":[200,4,205,7]},{"path":[4,0,2,76,5],"span":[200,4,10]},{"path":[4,0,2,76,1],"span":[200,11,20]},{"path":[4,0,2,76,3],"span":[200,23,25]},{"path":[4,0,2,76,8],"span":[200,26,205,6]},{"path":[4,0,2,76,8,1159,7],"span":[200,27,205,5]},{"path":[4,0,2,76,8,1159,7,6,0],"span":[202,8,9]},{"path":[4,0,2,76,8,1159,7,6,1],"span":[203,8,9]},{"path":[4,0,2,77],"span":[206,4,69]},{"path":[4,0,2,77,5],"span":[206,4,10]},{"path":[4,0,2,77,1],"span":[206,11,23]},{"path":[4,0,2,77,3],"span":[206,26,28]},{"path":[4,0,2,77,8],"span":[206,29,68]},{"path":[4,0,2,77,8,1159,8,1],"span":[206,30,67]},{"path":[4,0,2,78],"span":[207,4,63]},{"path":[4,0,2,78,5],"span":[207,4,10]},{"path":[4,0,2,78,1],"span":[207,11,20]},{"path":[4,0,2,78,3],"span":[207,23,25]},{"path":[4,0,2,78,8],"span":[207,26,62]},{"path":[4,0,2,78,8,1159,8,2],"span":[207,27,61]},{"path":[4,0,2,79],"span":[208,4,65]},{"path":[4,0,2,79,5],"span":[208,4,10]},{"path":[4,0,2,79,1],"span":[208,11,21]},{"path":[4,0,2,79,3],"span":[208,24,26]},{"path":[4,0,2,79,8],"span":[208,27,64]},{"path":[4,0,2,79,8,1159,8,3],"span":[208,28,63]},{"path":[4,0,2,80],"span":[209,4,63]},{"path":[4,0,2,80,5],"span":[209,4,10]},{"path":[4,0,2,80,1],"span":[209,11,20]},{"path":[4,0,2,80,3],"span":[209,23,25]},{"path":[4,0,2,80,8],"span":[209,26,62]},{"path":[4,0,2,80,8,1159,8,4],"span":[209,27,61]},{"path":[4,0,2,81],"span":[210,4,65]},{"path":[4,0,2,81,5],"span":[210,4,10]},{"path":[4,0,2,81,1],"span":[210,11,21]},{"path":[4,0,2,81,3],"span":[210,24,26]},{"path":[4,0,2,81,8],"span":[210,27,64]},{"path":[4,0,2,81,8,1159,8,5],"span":[210,28,63]},{"path":[4,0,2,82],"span":[211,4,216,7]},{"path":[4,0,2,82,5],"span":[211,4,10]},{"path":[4,0,2,82,1],"span":[211,11,20]},{"path":[4,0,2,82,3],"span":[211,23,25]},{"path":[4,0,2,82,8],"span":[211,26,216,6]},{"path":[4,0,2,82,8,1159,8],"span":[211,27,216,5]},{"path":[4,0,2,82,8,1159,8,6,0],"span":[213,8,9]},{"path":[4,0,2,82,8,1159,8,6,1],"span":[214,8,9]},{"path":[4,0,2,83],"span":[217,4,75]},{"path":[4,0,2,83,5],"span":[217,4,12]},{"path":[4,0,2,83,1],"span":[217,13,27]},{"path":[4,0,2,83,3],"span":[217,30,32]},{"path":[4,0,2,83,8],"span":[217,33,74]},{"path":[4,0,2,83,8,1159,11,1],"span":[217,34,73]},{"path":[4,0,2,84],"span":[218,4,69]},{"path":[4,0,2,84,5],"span":[218,4,12]},{"path":[4,0,2,84,1],"span":[218,13,24]},{"path":[4,0,2,84,3],"span":[218,27,29]},{"path":[4,0,2,84,8],"span":[218,30,68]},{"path":[4,0,2,84,8,1159,11,2],"span":[218,31,67]},{"path":[4,0,2,85],"span":[219,4,71]},{"path":[4,0,2,85,5],"span":[219,4,12]},{"path":[4,0,2,85,1],"span":[219,13,25]},{"path":[4,0,2,85,3],"span":[219,28,30]},{"path":[4,0,2,85,8],"span":[219,31,70]},{"path":[4,0,2,85,8,1159,11,3],"span":[219,32,69]},{"path":[4,0,2,86],"span":[220,4,69]},{"path":[4,0,2,86,5],"span":[220,4,12]},{"path":[4,0,2,86,1],"span":[220,13,24]},{"path":[4,0,2,86,3],"span":[220,27,29]},{"path":[4,0,2,86,8],"span":[220,30,68]},{"path":[4,0,2,86,8,1159,11,4],"span":[220,31,67]},{"path":[4,0,2,87],"span":[221,4,71]},{"path":[4,0,2,87,5],"span":[221,4,12]},{"path":[4,0,2,87,1],"span":[221,13,25]},{"path":[4,0,2,87,3],"span":[221,28,30]},{"path":[4,0,2,87,8],"span":[221,31,70]},{"path":[4,0,2,87,8,1159,11,5],"span":[221,32,69]},{"path":[4,0,2,88],"span":[222,4,227,7]},{"path":[4,0,2,88,5],"span":[222,4,12]},{"path":[4,0,2,88,1],"span":[222,13,24]},{"path":[4,0,2,88,3],"span":[222,27,29]},{"path":[4,0,2,88,8],"span":[222,30,227,6]},{"path":[4,0,2,88,8,1159,11],"span":[222,31,227,5]},{"path":[4,0,2,88,8,1159,11,6,0],"span":[224,8,9]},{"path":[4,0,2,88,8,1159,11,6,1],"span":[225,8,9]},{"path":[4,0,2,89],"span":[228,4,75]},{"path":[4,0,2,89,5],"span":[228,4,12]},{"path":[4,0,2,89,1],"span":[228,13,27]},{"path":[4,0,2,89,3],"span":[228,30,32]},{"path":[4,0,2,89,8],"span":[228,33,74]},{"path":[4,0,2,89,8,1159,12,1],"span":[228,34,73]},{"path":[4,0,2,90],"span":[229,4,69]},{"path":[4,0,2,90,5],"span":[229,4,12]},{"path":[4,0,2,90,1],"span":[229,13,24]},{"path":[4,0,2,90,3],"span":[229,27,29]},{"path":[4,0,2,90,8],"span":[229,30,68]},{"path":[4,0,2,90,8,1159,12,2],"span":[229,31,67]},{"path":[4,0,2,91],"span":[230,4,71]},{"path":[4,0,2,91,5],"span":[230,4,12]},{"path":[4,0,2,91,1],"span":[230,13,25]},{"path":[4,0,2,91,3],"span":[230,28,30]},{"path":[4,0,2,91,8],"span":[230,31,70]},{"path":[4,0,2,91,8,1159,12,3],"span":[230,32,69]},{"path":[4,0,2,92],"span":[231,4,69]},{"path":[4,0,2,92,5],"span":[231,4,12]},{"path":[4,0,2,92,1],"span":[231,13,24]},{"path":[4,0,2,92,3],"span":[231,27,29]},{"path":[4,0,2,92,8],"span":[231,30,68]},{"path":[4,0,2,92,8,1159,12,4],"span":[231,31,67]},{"path":[4,0,2,93],"span":[232,4,71]},{"path":[4,0,2,93,5],"span":[232,4,12]},{"path":[4,0,2,93,1],"span":[232,13,25]},{"path":[4,0,2,93,3],"span":[232,28,30]},{"path":[4,0,2,93,8],"span":[232,31,70]},{"path":[4,0,2,93,8,1159,12,5],"span":[232,32,69]},{"path":[4,0,2,94],"span":[233,4,238,7]},{"path":[4,0,2,94,5],"span":[233,4,12]},{"path":[4,0,2,94,1],"span":[233,13,24]},{"path":[4,0,2,94,3],"span":[233,27,29]},{"path":[4,0,2,94,8],"span":[233,30,238,6]},{"path":[4,0,2,94,8,1159,12],"span":[233,31,238,5]},{"path":[4,0,2,94,8,1159,12,6,0],"span":[235,8,9]},{"path":[4,0,2,94,8,1159,12,6,1],"span":[236,8,9]},{"path":[4,0,2,95],"span":[240,2,70]},{"path":[4,0,2,95,5],"span":[240,2,9]},{"path":[4,0,2,95,1],"span":[240,10,23]},{"path":[4,0,2,95,3],"span":[240,26,28]},{"path":[4,0,2,95,8],"span":[240,29,69]},{"path":[4,0,2,95,8,1159,9,1],"span":[240,30,68]},{"path":[4,0,2,96],"span":[241,2,64]},{"path":[4,0,2,96,5],"span":[241,2,9]},{"path":[4,0,2,96,1],"span":[241,10,20]},{"path":[4,0,2,96,3],"span":[241,23,25]},{"path":[4,0,2,96,8],"span":[241,26,63]},{"path":[4,0,2,96,8,1159,9,2],"span":[241,27,62]},{"path":[4,0,2,97],"span":[242,2,66]},{"path":[4,0,2,97,5],"span":[242,2,9]},{"path":[4,0,2,97,1],"span":[242,10,21]},{"path":[4,0,2,97,3],"span":[242,24,26]},{"path":[4,0,2,97,8],"span":[242,27,65]},{"path":[4,0,2,97,8,1159,9,3],"span":[242,28,64]},{"path":[4,0,2,98],"span":[243,2,64]},{"path":[4,0,2,98,5],"span":[243,2,9]},{"path":[4,0,2,98,1],"span":[243,10,20]},{"path":[4,0,2,98,3],"span":[243,23,25]},{"path":[4,0,2,98,8],"span":[243,26,63]},{"path":[4,0,2,98,8,1159,9,4],"span":[243,27,62]},{"path":[4,0,2,99],"span":[244,2,66]},{"path":[4,0,2,99,5],"span":[244,2,9]},{"path":[4,0,2,99,1],"span":[244,10,21]},{"path":[4,0,2,99,3],"span":[244,24,26]},{"path":[4,0,2,99,8],"span":[244,27,65]},{"path":[4,0,2,99,8,1159,9,5],"span":[244,28,64]},{"path":[4,0,2,100],"span":[245,2,250,5]},{"path":[4,0,2,100,5],"span":[245,2,9]},{"path":[4,0,2,100,1],"span":[245,10,20]},{"path":[4,0,2,100,3],"span":[245,23,25]},{"path":[4,0,2,100,8],"span":[245,26,250,4]},{"path":[4,0,2,100,8,1159,9],"span":[245,27,250,3]},{"path":[4,0,2,100,8,1159,9,6,0],"span":[247,6,7]},{"path":[4,0,2,100,8,1159,9,6,1],"span":[248,6,7]},{"path":[4,0,2,101],"span":[251,2,70]},{"path":[4,0,2,101,5],"span":[251,2,9]},{"path":[4,0,2,101,1],"span":[251,10,23]},{"path":[4,0,2,101,3],"span":[251,26,28]},{"path":[4,0,2,101,8],"span":[251,29,69]},{"path":[4,0,2,101,8,1159,10,1],"span":[251,30,68]},{"path":[4,0,2,102],"span":[252,2,64]},{"path":[4,0,2,102,5],"span":[252,2,9]},{"path":[4,0,2,102,1],"span":[252,10,20]},{"path":[4,0,2,102,3],"span":[252,23,25]},{"path":[4,0,2,102,8],"span":[252,26,63]},{"path":[4,0,2,102,8,1159,10,2],"span":[252,27,62]},{"path":[4,0,2,103],"span":[253,2,66]},{"path":[4,0,2,103,5],"span":[253,2,9]},{"path":[4,0,2,103,1],"span":[253,10,21]},{"path":[4,0,2,103,3],"span":[253,24,26]},{"path":[4,0,2,103,8],"span":[253,27,65]},{"path":[4,0,2,103,8,1159,10,3],"span":[253,28,64]},{"path":[4,0,2,104],"span":[254,2,64]},{"path":[4,0,2,104,5],"span":[254,2,9]},{"path":[4,0,2,104,1],"span":[254,10,20]},{"path":[4,0,2,104,3],"span":[254,23,25]},{"path":[4,0,2,104,8],"span":[254,26,63]},{"path":[4,0,2,104,8,1159,10,4],"span":[254,27,62]},{"path":[4,0,2,105],"span":[255,2,66]},{"path":[4,0,2,105,5],"span":[255,2,9]},{"path":[4,0,2,105,1],"span":[255,10,21]},{"path":[4,0,2,105,3],"span":[255,24,26]},{"path":[4,0,2,105,8],"span":[255,27,65]},{"path":[4,0,2,105,8,1159,10,5],"span":[255,28,64]},{"path":[4,0,2,106],"span":[256,2,261,5]},{"path":[4,0,2,106,5],"span":[256,2,9]},{"path":[4,0,2,106,1],"span":[256,10,20]},{"path":[4,0,2,106,3],"span":[256,23,25]},{"path":[4,0,2,106,8],"span":[256,26,261,4]},{"path":[4,0,2,106,8,1159,10],"span":[256,27,261,3]},{"path":[4,0,2,106,8,1159,10,6,0],"span":[258,6,7]},{"path":[4,0,2,106,8,1159,10,6,1],"span":[259,6,7]},{"path":[4,0,2,107],"span":[263,2,67]},{"path":[4,0,2,107,5],"span":[263,2,8]},{"path":[4,0,2,107,1],"span":[263,9,21]},{"path":[4,0,2,107,3],"span":[263,24,26]},{"path":[4,0,2,107,8],"span":[263,27,66]},{"path":[4,0,2,107,8,1159,2,1],"span":[263,28,65]},{"path":[4,0,2,108],"span":[264,2,61]},{"path":[4,0,2,108,5],"span":[264,2,8]},{"path":[4,0,2,108,1],"span":[264,9,18]},{"path":[4,0,2,108,3],"span":[264,21,23]},{"path":[4,0,2,108,8],"span":[264,24,60]},{"path":[4,0,2,108,8,1159,2,2],"span":[264,25,59]},{"path":[4,0,2,109],"span":[265,2,64]},{"path":[4,0,2,109,5],"span":[265,2,8]},{"path":[4,0,2,109,1],"span":[265,9,19]},{"path":[4,0,2,109,3],"span":[265,22,25]},{"path":[4,0,2,109,8],"span":[265,26,63]},{"path":[4,0,2,109,8,1159,2,3],"span":[265,27,62]},{"path":[4,0,2,110],"span":[266,2,62]},{"path":[4,0,2,110,5],"span":[266,2,8]},{"path":[4,0,2,110,1],"span":[266,9,18]},{"path":[4,0,2,110,3],"span":[266,21,24]},{"path":[4,0,2,110,8],"span":[266,25,61]},{"path":[4,0,2,110,8,1159,2,4],"span":[266,26,60]},{"path":[4,0,2,111],"span":[267,2,64]},{"path":[4,0,2,111,5],"span":[267,2,8]},{"path":[4,0,2,111,1],"span":[267,9,19]},{"path":[4,0,2,111,3],"span":[267,22,25]},{"path":[4,0,2,111,8],"span":[267,26,63]},{"path":[4,0,2,111,8,1159,2,5],"span":[267,27,62]},{"path":[4,0,2,112],"span":[268,2,273,5]},{"path":[4,0,2,112,5],"span":[268,2,8]},{"path":[4,0,2,112,1],"span":[268,9,18]},{"path":[4,0,2,112,3],"span":[268,21,24]},{"path":[4,0,2,112,8],"span":[268,25,273,4]},{"path":[4,0,2,112,8,1159,2],"span":[268,26,273,3]},{"path":[4,0,2,112,8,1159,2,6,0],"span":[270,6,7]},{"path":[4,0,2,112,8,1159,2,6,1],"span":[271,6,7]},{"path":[4,0,2,113],"span":[274,2,73]},{"path":[4,0,2,113,5],"span":[274,2,8]},{"path":[4,0,2,113,1],"span":[274,9,22]},{"path":[4,0,2,113,3],"span":[274,25,28]},{"path":[4,0,2,113,8],"span":[274,29,72]},{"path":[4,0,2,113,8,1159,2,8],"span":[274,30,71]},{"path":[4,0,2,114],"span":[275,2,278,5]},{"path":[4,0,2,114,5],"span":[275,2,8]},{"path":[4,0,2,114,1],"span":[275,9,21]},{"path":[4,0,2,114,3],"span":[275,24,27]},{"path":[4,0,2,114,8],"span":[275,28,278,4]},{"path":[4,0,2,114,8,1159,2],"span":[275,29,278,3]},{"path":[4,0,2,114,8,1159,2,2],"span":[276,4,9]},{"path":[4,0,2,114,8,1159,2,4],"span":[277,4,9]},{"path":[4,0,2,115],"span":[279,2,65]},{"path":[4,0,2,115,5],"span":[279,2,7]},{"path":[4,0,2,115,1],"span":[279,8,19]},{"path":[4,0,2,115,3],"span":[279,22,25]},{"path":[4,0,2,115,8],"span":[279,26,64]},{"path":[4,0,2,115,8,1159,1,1],"span":[279,27,63]},{"path":[4,0,2,116],"span":[280,2,59]},{"path":[4,0,2,116,5],"span":[280,2,7]},{"path":[4,0,2,116,1],"span":[280,8,16]},{"path":[4,0,2,116,3],"span":[280,19,22]},{"path":[4,0,2,116,8],"span":[280,23,58]},{"path":[4,0,2,116,8,1159,1,2],"span":[280,24,57]},{"path":[4,0,2,117],"span":[281,2,61]},{"path":[4,0,2,117,5],"span":[281,2,7]},{"path":[4,0,2,117,1],"span":[281,8,17]},{"path":[4,0,2,117,3],"span":[281,20,23]},{"path":[4,0,2,117,8],"span":[281,24,60]},{"path":[4,0,2,117,8,1159,1,3],"span":[281,25,59]},{"path":[4,0,2,118],"span":[282,2,59]},{"path":[4,0,2,118,5],"span":[282,2,7]},{"path":[4,0,2,118,1],"span":[282,8,16]},{"path":[4,0,2,118,3],"span":[282,19,22]},{"path":[4,0,2,118,8],"span":[282,23,58]},{"path":[4,0,2,118,8,1159,1,4],"span":[282,24,57]},{"path":[4,0,2,119],"span":[283,2,61]},{"path":[4,0,2,119,5],"span":[283,2,7]},{"path":[4,0,2,119,1],"span":[283,8,17]},{"path":[4,0,2,119,3],"span":[283,20,23]},{"path":[4,0,2,119,8],"span":[283,24,60]},{"path":[4,0,2,119,8,1159,1,5],"span":[283,25,59]},{"path":[4,0,2,120],"span":[284,2,289,5]},{"path":[4,0,2,120,5],"span":[284,2,7]},{"path":[4,0,2,120,1],"span":[284,8,16]},{"path":[4,0,2,120,3],"span":[284,19,22]},{"path":[4,0,2,120,8],"span":[284,23,289,4]},{"path":[4,0,2,120,8,1159,1],"span":[284,24,289,3]},{"path":[4,0,2,120,8,1159,1,6,0],"span":[286,6,7]},{"path":[4,0,2,120,8,1159,1,6,1],"span":[287,6,7]},{"path":[4,0,2,121],"span":[290,2,70]},{"path":[4,0,2,121,5],"span":[290,2,7]},{"path":[4,0,2,121,1],"span":[290,8,20]},{"path":[4,0,2,121,3],"span":[290,23,26]},{"path":[4,0,2,121,8],"span":[290,27,69]},{"path":[4,0,2,121,8,1159,1,8],"span":[290,28,68]},{"path":[4,0,2,122],"span":[291,2,294,5]},{"path":[4,0,2,122,5],"span":[291,2,7]},{"path":[4,0,2,122,1],"span":[291,8,19]},{"path":[4,0,2,122,3],"span":[291,22,25]},{"path":[4,0,2,122,8],"span":[291,26,294,4]},{"path":[4,0,2,122,8,1159,1],"span":[291,27,294,3]},{"path":[4,0,2,122,8,1159,1,2],"span":[292,4,9]},{"path":[4,0,2,122,8,1159,1,4],"span":[293,4,9]},{"path":[4,0,2,123],"span":[296,2,313,5]},{"path":[4,0,2,123,6],"span":[296,2,21]},{"path":[4,0,2,123,1],"span":[296,22,28]},{"path":[4,0,2,123,3],"span":[296,31,34]},{"path":[4,0,2,123,8],"span":[296,35,313,4]},{"path":[4,0,2,123,8,1159,19],"span":[296,36,313,3]},{"path":[4,0,2,123,8,1159,19,4],"span":[297,4,304,5]},{"path":[4,0,2,123,8,1159,19,4,14],"span":[298,6,303,7]},{"path":[4,0,2,123,8,1159,19,4,14,10,0],"span":[300,10,16]},{"path":[4,0,2,123,8,1159,19,4,14,10,1],"span":[301,10,16]},{"path":[4,0,2,123,8,1159,19,5],"span":[305,4,312,5]},{"path":[4,0,2,123,8,1159,19,5,14],"span":[306,6,311,7]},{"path":[4,0,2,123,8,1159,19,5,14,10,0],"span":[308,10,18]},{"path":[4,0,2,123,8,1159,19,5,14,10,1],"span":[309,10,18]},{"path":[4,1],"span":[316,0,318,1]},{"path":[4,1,1],"span":[316,8,23]},{"path":[4,1,2,0],"span":[317,2,41]},{"path":[4,1,2,0,4],"span":[317,2,10]},{"path":[4,1,2,0,6],"span":[317,11,25]},{"path":[4,1,2,0,1],"span":[317,26,36]},{"path":[4,1,2,0,3],"span":[317,39,40]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}},{"name":"buf/protoschema/test/v1/examples.proto","package":"buf.protoschema.test.v1","dependency":["buf/validate/validate.proto"],"messageType":[{"name":"Product","field":[{"name":"product_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"productId","options":{"[buf.validate.field]":{"required":true}}},{"name":"product_name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"productName","options":{"[buf.validate.field]":{"required":true}}},{"name":"price","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"price","options":{"[buf.validate.field]":{"float":{"gte":0,"finite":true}}}},{"name":"tags","number":4,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"tags"},{"name":"location","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.protoschema.test.v1.Product.Location","jsonName":"location","options":{"[buf.validate.field]":{"required":true}}}],"nestedType":[{"name":"Location","field":[{"name":"lat","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"lat","options":{"[buf.validate.field]":{"double":{"lte":90,"gte":-90,"finite":true}}}},{"name":"long","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"long","options":{"[buf.validate.field]":{"double":{"lte":180,"gte":-180,"finite":true}}}}]}]}],"sourceCodeInfo":{"location":[{"span":[14,0,51,1]},{"path":[12],"span":[14,0,18],"leadingDetachedComments":[" Copyright 2024-2025 Buf Technologies, Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n"]},{"path":[2],"span":[16,0,32]},{"path":[3,0],"span":[18,0,37]},{"path":[4,0],"span":[23,0,51,1],"leadingComments":" A product.\n\n A product is a good or service that is offered for sale.\n"},{"path":[4,0,1],"span":[23,8,15]},{"path":[4,0,3,0],"span":[25,2,36,3],"leadingComments":" A point on the earth's surface.\n"},{"path":[4,0,3,0,1],"span":[25,10,18]},{"path":[4,0,3,0,2,0],"span":[26,4,30,6]},{"path":[4,0,3,0,2,0,5],"span":[26,4,10]},{"path":[4,0,3,0,2,0,1],"span":[26,11,14]},{"path":[4,0,3,0,2,0,3],"span":[26,17,18]},{"path":[4,0,3,0,2,0,8],"span":[26,19,30,5]},{"path":[4,0,3,0,2,0,8,1159,2,8],"span":[27,6,47]},{"path":[4,0,3,0,2,0,8,1159,2,5],"span":[28,6,43]},{"path":[4,0,3,0,2,0,8,1159,2,3],"span":[29,6,42]},{"path":[4,0,3,0,2,1],"span":[31,4,35,6]},{"path":[4,0,3,0,2,1,5],"span":[31,4,10]},{"path":[4,0,3,0,2,1,1],"span":[31,11,15]},{"path":[4,0,3,0,2,1,3],"span":[31,18,19]},{"path":[4,0,3,0,2,1,8],"span":[31,20,35,5]},{"path":[4,0,3,0,2,1,8,1159,2,8],"span":[32,6,47]},{"path":[4,0,3,0,2,1,8,1159,2,5],"span":[33,6,44]},{"path":[4,0,3,0,2,1,8,1159,2,3],"span":[34,6,43]},{"path":[4,0,2,0],"span":[39,2,62],"leadingComments":" The unique identifier for the product.\n"},{"path":[4,0,2,0,5],"span":[39,2,7]},{"path":[4,0,2,0,1],"span":[39,8,18]},{"path":[4,0,2,0,3],"span":[39,21,22]},{"path":[4,0,2,0,8],"span":[39,23,61]},{"path":[4,0,2,0,8,1159,25],"span":[39,24,60]},{"path":[4,0,2,1],"span":[41,2,65],"leadingComments":" The name of the product.\n"},{"path":[4,0,2,1,5],"span":[41,2,8]},{"path":[4,0,2,1,1],"span":[41,9,21]},{"path":[4,0,2,1,3],"span":[41,24,25]},{"path":[4,0,2,1,8],"span":[41,26,64]},{"path":[4,0,2,1,8,1159,25],"span":[41,27,63]},{"path":[4,0,2,2],"span":[43,2,46,4],"leadingComments":" The price of the product.\n"},{"path":[4,0,2,2,5],"span":[43,2,7]},{"path":[4,0,2,2,1],"span":[43,8,13]},{"path":[4,0,2,2,3],"span":[43,16,17]},{"path":[4,0,2,2,8],"span":[43,18,46,3]},{"path":[4,0,2,2,8,1159,1,8],"span":[44,4,44]},{"path":[4,0,2,2,8,1159,1,5],"span":[45,4,38]},{"path":[4,0,2,3],"span":[48,2,27],"leadingComments":" The tags associated with the product.\n"},{"path":[4,0,2,3,4],"span":[48,2,10]},{"path":[4,0,2,3,5],"span":[48,11,17]},{"path":[4,0,2,3,1],"span":[48,18,22]},{"path":[4,0,2,3,3],"span":[48,25,26]},{"path":[4,0,2,4],"span":[50,2,63],"leadingComments":" The location of the product.\n"},{"path":[4,0,2,4,6],"span":[50,2,10]},{"path":[4,0,2,4,1],"span":[50,11,19]},{"path":[4,0,2,4,3],"span":[50,22,23]},{"path":[4,0,2,4,8],"span":[50,24,62]},{"path":[4,0,2,4,8,1159,25],"span":[50,25,61]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}},{"name":"google/protobuf/any.proto","package":"google.protobuf","messageType":[{"name":"Any","field":[{"name":"type_url","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"typeUrl"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"AnyProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/anypb","objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,161,1]},{"path":[12],"span":[30,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"]},{"path":[2],"span":[32,0,24]},{"path":[8],"span":[34,0,67]},{"path":[8,11],"span":[34,0,67]},{"path":[8],"span":[35,0,44]},{"path":[8,1],"span":[35,0,44]},{"path":[8],"span":[36,0,41]},{"path":[8,8],"span":[36,0,41]},{"path":[8],"span":[37,0,34]},{"path":[8,10],"span":[37,0,34]},{"path":[8],"span":[38,0,33]},{"path":[8,36],"span":[38,0,33]},{"path":[8],"span":[39,0,59]},{"path":[8,37],"span":[39,0,59]},{"path":[4,0],"span":[127,0,161,1],"leadingComments":" `Any` contains an arbitrary serialized protocol buffer message along with a\n URL that describes the type of the serialized message.\n\n Protobuf library provides support to pack/unpack Any values in the form\n of utility functions or additional generated methods of the Any type.\n\n Example 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\n Example 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\n The pack methods provided by protobuf library will by default use\n 'type.googleapis.com/full.type.name' as the type URL and the unpack\n methods only use the fully qualified type name after the last '/'\n in the type URL, for example \"foo.bar.com/x/y.z\" will yield type\n name \"y.z\".\n\n JSON\n ====\n The JSON representation of an `Any` value uses the regular\n representation of the deserialized, embedded message, with an\n additional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\n If the embedded message type is well-known and has a custom JSON\n representation, that representation will be embedded adding a field\n `value` which holds the custom JSON in addition to the `@type`\n field. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }\n\n"},{"path":[4,0,1],"span":[127,8,11]},{"path":[4,0,2,0],"span":[157,2,22],"leadingComments":" A URL/resource name that uniquely identifies the type of the serialized\n protocol buffer message. This string must contain at least\n one \"/\" character. The last segment of the URL's path must represent\n the fully qualified name of the type (as in\n `path/google.protobuf.Duration`). The name should be in a canonical form\n (e.g., leading \".\" is not accepted).\n\n In practice, teams usually precompile into the binary all types that they\n expect it to use in the context of Any. However, for URLs which use the\n scheme `http`, `https`, or no scheme, one can optionally set up a type\n server that maps type URLs to message definitions as follows:\n\n * If no scheme is provided, `https` is assumed.\n * An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n * Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\n Note: this functionality is not currently available in the official\n protobuf release, and it is not used for type URLs beginning with\n type.googleapis.com. As of May 2023, there are no widely used type server\n implementations and no plans to implement one.\n\n Schemes other than `http`, `https` (or the empty scheme) might be\n used with implementation specific semantics.\n\n"},{"path":[4,0,2,0,5],"span":[157,2,8]},{"path":[4,0,2,0,1],"span":[157,9,17]},{"path":[4,0,2,0,3],"span":[157,20,21]},{"path":[4,0,2,1],"span":[160,2,18],"leadingComments":" Must be a valid serialized protocol buffer of the above specified type.\n"},{"path":[4,0,2,1,5],"span":[160,2,7]},{"path":[4,0,2,1,1],"span":[160,8,13]},{"path":[4,0,2,1,3],"span":[160,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"google/protobuf/struct.proto","package":"google.protobuf","messageType":[{"name":"Struct","field":[{"name":"fields","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct.FieldsEntry","jsonName":"fields"}],"nestedType":[{"name":"FieldsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"Value","field":[{"name":"null_value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","oneofIndex":0,"jsonName":"nullValue"},{"name":"number_value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","oneofIndex":0,"jsonName":"numberValue"},{"name":"string_value","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"stringValue"},{"name":"bool_value","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"boolValue"},{"name":"struct_value","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","oneofIndex":0,"jsonName":"structValue"},{"name":"list_value","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","oneofIndex":0,"jsonName":"listValue"}],"oneofDecl":[{"name":"kind"}]},{"name":"ListValue","field":[{"name":"values","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"values"}]}],"enumType":[{"name":"NullValue","value":[{"name":"NULL_VALUE","number":0}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"StructProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/structpb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,94,1]},{"path":[12],"span":[30,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"]},{"path":[2],"span":[32,0,24]},{"path":[8],"span":[34,0,31]},{"path":[8,31],"span":[34,0,31]},{"path":[8],"span":[35,0,70]},{"path":[8,11],"span":[35,0,70]},{"path":[8],"span":[36,0,44]},{"path":[8,1],"span":[36,0,44]},{"path":[8],"span":[37,0,44]},{"path":[8,8],"span":[37,0,44]},{"path":[8],"span":[38,0,34]},{"path":[8,10],"span":[38,0,34]},{"path":[8],"span":[39,0,33]},{"path":[8,36],"span":[39,0,33]},{"path":[8],"span":[40,0,59]},{"path":[8,37],"span":[40,0,59]},{"path":[4,0],"span":[50,0,53,1],"leadingComments":" `Struct` represents a structured data value, consisting of fields\n which map to dynamically typed values. In some languages, `Struct`\n might be supported by a native representation. For example, in\n scripting languages like JS a struct is represented as an\n object. The details of that representation are described together\n with the proto support for the language.\n\n The JSON representation for `Struct` is JSON object.\n"},{"path":[4,0,1],"span":[50,8,14]},{"path":[4,0,2,0],"span":[52,2,32],"leadingComments":" Unordered map of dynamically typed values.\n"},{"path":[4,0,2,0,6],"span":[52,2,20]},{"path":[4,0,2,0,1],"span":[52,21,27]},{"path":[4,0,2,0,3],"span":[52,30,31]},{"path":[4,1],"span":[61,0,77,1],"leadingComments":" `Value` represents a dynamically typed value which can be either\n null, a number, a string, a boolean, a recursive struct value, or a\n list of values. A producer of value is expected to set one of these\n variants. Absence of any variant indicates an error.\n\n The JSON representation for `Value` is JSON value.\n"},{"path":[4,1,1],"span":[61,8,13]},{"path":[4,1,8,0],"span":[63,2,76,3],"leadingComments":" The kind of value.\n"},{"path":[4,1,8,0,1],"span":[63,8,12]},{"path":[4,1,2,0],"span":[65,4,29],"leadingComments":" Represents a null value.\n"},{"path":[4,1,2,0,6],"span":[65,4,13]},{"path":[4,1,2,0,1],"span":[65,14,24]},{"path":[4,1,2,0,3],"span":[65,27,28]},{"path":[4,1,2,1],"span":[67,4,28],"leadingComments":" Represents a double value.\n"},{"path":[4,1,2,1,5],"span":[67,4,10]},{"path":[4,1,2,1,1],"span":[67,11,23]},{"path":[4,1,2,1,3],"span":[67,26,27]},{"path":[4,1,2,2],"span":[69,4,28],"leadingComments":" Represents a string value.\n"},{"path":[4,1,2,2,5],"span":[69,4,10]},{"path":[4,1,2,2,1],"span":[69,11,23]},{"path":[4,1,2,2,3],"span":[69,26,27]},{"path":[4,1,2,3],"span":[71,4,24],"leadingComments":" Represents a boolean value.\n"},{"path":[4,1,2,3,5],"span":[71,4,8]},{"path":[4,1,2,3,1],"span":[71,9,19]},{"path":[4,1,2,3,3],"span":[71,22,23]},{"path":[4,1,2,4],"span":[73,4,28],"leadingComments":" Represents a structured value.\n"},{"path":[4,1,2,4,6],"span":[73,4,10]},{"path":[4,1,2,4,1],"span":[73,11,23]},{"path":[4,1,2,4,3],"span":[73,26,27]},{"path":[4,1,2,5],"span":[75,4,29],"leadingComments":" Represents a repeated `Value`.\n"},{"path":[4,1,2,5,6],"span":[75,4,13]},{"path":[4,1,2,5,1],"span":[75,14,24]},{"path":[4,1,2,5,3],"span":[75,27,28]},{"path":[5,0],"span":[83,0,86,1],"leadingComments":" `NullValue` is a singleton enumeration to represent the null value for the\n `Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n"},{"path":[5,0,1],"span":[83,5,14]},{"path":[5,0,2,0],"span":[85,2,17],"leadingComments":" Null value.\n"},{"path":[5,0,2,0,1],"span":[85,2,12]},{"path":[5,0,2,0,2],"span":[85,15,16]},{"path":[4,2],"span":[91,0,94,1],"leadingComments":" `ListValue` is a wrapper around a repeated field of values.\n\n The JSON representation for `ListValue` is JSON array.\n"},{"path":[4,2,1],"span":[91,8,17]},{"path":[4,2,2,0],"span":[93,2,28],"leadingComments":" Repeated field of dynamically typed values.\n"},{"path":[4,2,2,0,4],"span":[93,2,10]},{"path":[4,2,2,0,6],"span":[93,11,16]},{"path":[4,2,2,0,1],"span":[93,17,23]},{"path":[4,2,2,0,3],"span":[93,26,27]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"google/protobuf/wrappers.proto","package":"google.protobuf","messageType":[{"name":"DoubleValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"}]},{"name":"FloatValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"value"}]},{"name":"Int64Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"value"}]},{"name":"UInt64Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"value"}]},{"name":"Int32Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"value"}]},{"name":"UInt32Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"value"}]},{"name":"BoolValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"value"}]},{"name":"StringValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}]},{"name":"BytesValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"WrappersProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/wrapperspb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[40,0,122,1]},{"path":[12],"span":[40,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n Wrappers for primitive (non-message) types. These types are useful\n for embedding primitives in the `google.protobuf.Any` type and for places\n where we need to distinguish between the absence of a primitive\n typed field and its default value.\n\n These wrappers have no meaningful use within repeated fields as they lack\n the ability to detect presence on individual elements.\n These wrappers have no meaningful use within a map or a oneof since\n individual entries of a map or fields of a oneof can already detect presence.\n"]},{"path":[2],"span":[42,0,24]},{"path":[8],"span":[44,0,31]},{"path":[8,31],"span":[44,0,31]},{"path":[8],"span":[45,0,72]},{"path":[8,11],"span":[45,0,72]},{"path":[8],"span":[46,0,44]},{"path":[8,1],"span":[46,0,44]},{"path":[8],"span":[47,0,46]},{"path":[8,8],"span":[47,0,46]},{"path":[8],"span":[48,0,34]},{"path":[8,10],"span":[48,0,34]},{"path":[8],"span":[49,0,33]},{"path":[8,36],"span":[49,0,33]},{"path":[8],"span":[50,0,59]},{"path":[8,37],"span":[50,0,59]},{"path":[4,0],"span":[55,0,58,1],"leadingComments":" Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n"},{"path":[4,0,1],"span":[55,8,19]},{"path":[4,0,2,0],"span":[57,2,19],"leadingComments":" The double value.\n"},{"path":[4,0,2,0,5],"span":[57,2,8]},{"path":[4,0,2,0,1],"span":[57,9,14]},{"path":[4,0,2,0,3],"span":[57,17,18]},{"path":[4,1],"span":[63,0,66,1],"leadingComments":" Wrapper message for `float`.\n\n The JSON representation for `FloatValue` is JSON number.\n"},{"path":[4,1,1],"span":[63,8,18]},{"path":[4,1,2,0],"span":[65,2,18],"leadingComments":" The float value.\n"},{"path":[4,1,2,0,5],"span":[65,2,7]},{"path":[4,1,2,0,1],"span":[65,8,13]},{"path":[4,1,2,0,3],"span":[65,16,17]},{"path":[4,2],"span":[71,0,74,1],"leadingComments":" Wrapper message for `int64`.\n\n The JSON representation for `Int64Value` is JSON string.\n"},{"path":[4,2,1],"span":[71,8,18]},{"path":[4,2,2,0],"span":[73,2,18],"leadingComments":" The int64 value.\n"},{"path":[4,2,2,0,5],"span":[73,2,7]},{"path":[4,2,2,0,1],"span":[73,8,13]},{"path":[4,2,2,0,3],"span":[73,16,17]},{"path":[4,3],"span":[79,0,82,1],"leadingComments":" Wrapper message for `uint64`.\n\n The JSON representation for `UInt64Value` is JSON string.\n"},{"path":[4,3,1],"span":[79,8,19]},{"path":[4,3,2,0],"span":[81,2,19],"leadingComments":" The uint64 value.\n"},{"path":[4,3,2,0,5],"span":[81,2,8]},{"path":[4,3,2,0,1],"span":[81,9,14]},{"path":[4,3,2,0,3],"span":[81,17,18]},{"path":[4,4],"span":[87,0,90,1],"leadingComments":" Wrapper message for `int32`.\n\n The JSON representation for `Int32Value` is JSON number.\n"},{"path":[4,4,1],"span":[87,8,18]},{"path":[4,4,2,0],"span":[89,2,18],"leadingComments":" The int32 value.\n"},{"path":[4,4,2,0,5],"span":[89,2,7]},{"path":[4,4,2,0,1],"span":[89,8,13]},{"path":[4,4,2,0,3],"span":[89,16,17]},{"path":[4,5],"span":[95,0,98,1],"leadingComments":" Wrapper message for `uint32`.\n\n The JSON representation for `UInt32Value` is JSON number.\n"},{"path":[4,5,1],"span":[95,8,19]},{"path":[4,5,2,0],"span":[97,2,19],"leadingComments":" The uint32 value.\n"},{"path":[4,5,2,0,5],"span":[97,2,8]},{"path":[4,5,2,0,1],"span":[97,9,14]},{"path":[4,5,2,0,3],"span":[97,17,18]},{"path":[4,6],"span":[103,0,106,1],"leadingComments":" Wrapper message for `bool`.\n\n The JSON representation for `BoolValue` is JSON `true` and `false`.\n"},{"path":[4,6,1],"span":[103,8,17]},{"path":[4,6,2,0],"span":[105,2,17],"leadingComments":" The bool value.\n"},{"path":[4,6,2,0,5],"span":[105,2,6]},{"path":[4,6,2,0,1],"span":[105,7,12]},{"path":[4,6,2,0,3],"span":[105,15,16]},{"path":[4,7],"span":[111,0,114,1],"leadingComments":" Wrapper message for `string`.\n\n The JSON representation for `StringValue` is JSON string.\n"},{"path":[4,7,1],"span":[111,8,19]},{"path":[4,7,2,0],"span":[113,2,19],"leadingComments":" The string value.\n"},{"path":[4,7,2,0,5],"span":[113,2,8]},{"path":[4,7,2,0,1],"span":[113,9,14]},{"path":[4,7,2,0,3],"span":[113,17,18]},{"path":[4,8],"span":[119,0,122,1],"leadingComments":" Wrapper message for `bytes`.\n\n The JSON representation for `BytesValue` is JSON string.\n"},{"path":[4,8,1],"span":[119,8,18]},{"path":[4,8,2,0],"span":[121,2,18],"leadingComments":" The bytes value.\n"},{"path":[4,8,2,0,5],"span":[121,2,7]},{"path":[4,8,2,0,1],"span":[121,8,13]},{"path":[4,8,2,0,3],"span":[121,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"bufext/cel/expr/conformance/proto3/test_all_types.proto","package":"bufext.cel.expr.conformance.proto3","dependency":["google/protobuf/any.proto","google/protobuf/duration.proto","google/protobuf/struct.proto","google/protobuf/timestamp.proto","google/protobuf/wrappers.proto"],"messageType":[{"name":"TestAllTypes","field":[{"name":"single_int32","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"singleInt32"},{"name":"single_int64","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"singleInt64"},{"name":"single_uint32","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"singleUint32"},{"name":"single_uint64","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"singleUint64"},{"name":"single_sint32","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","jsonName":"singleSint32"},{"name":"single_sint64","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","jsonName":"singleSint64"},{"name":"single_fixed32","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","jsonName":"singleFixed32"},{"name":"single_fixed64","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","jsonName":"singleFixed64"},{"name":"single_sfixed32","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","jsonName":"singleSfixed32"},{"name":"single_sfixed64","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","jsonName":"singleSfixed64"},{"name":"single_float","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"singleFloat"},{"name":"single_double","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"singleDouble"},{"name":"single_bool","number":13,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"singleBool"},{"name":"single_string","number":14,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"singleString"},{"name":"single_bytes","number":15,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"singleBytes"},{"name":"single_any","number":100,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"singleAny"},{"name":"single_duration","number":101,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"singleDuration"},{"name":"single_timestamp","number":102,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"singleTimestamp"},{"name":"single_struct","number":103,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"singleStruct"},{"name":"single_value","number":104,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"singleValue"},{"name":"single_int64_wrapper","number":105,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"singleInt64Wrapper"},{"name":"single_int32_wrapper","number":106,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int32Value","jsonName":"singleInt32Wrapper"},{"name":"single_double_wrapper","number":107,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.DoubleValue","jsonName":"singleDoubleWrapper"},{"name":"single_float_wrapper","number":108,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FloatValue","jsonName":"singleFloatWrapper"},{"name":"single_uint64_wrapper","number":109,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt64Value","jsonName":"singleUint64Wrapper"},{"name":"single_uint32_wrapper","number":110,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt32Value","jsonName":"singleUint32Wrapper"},{"name":"single_string_wrapper","number":111,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.StringValue","jsonName":"singleStringWrapper"},{"name":"single_bool_wrapper","number":112,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BoolValue","jsonName":"singleBoolWrapper"},{"name":"single_bytes_wrapper","number":113,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BytesValue","jsonName":"singleBytesWrapper"},{"name":"list_value","number":114,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","jsonName":"listValue"},{"name":"null_value","number":115,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","jsonName":"nullValue"},{"name":"optional_null_value","number":116,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","oneofIndex":1,"jsonName":"optionalNullValue","proto3Optional":true},{"name":"single_nested_message","number":21,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","oneofIndex":0,"jsonName":"singleNestedMessage"},{"name":"single_nested_enum","number":22,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedEnum","oneofIndex":0,"jsonName":"singleNestedEnum"},{"name":"standalone_message","number":23,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"standaloneMessage"},{"name":"standalone_enum","number":24,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedEnum","jsonName":"standaloneEnum"},{"name":"repeated_int32","number":31,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"repeatedInt32"},{"name":"repeated_int64","number":32,"label":"LABEL_REPEATED","type":"TYPE_INT64","jsonName":"repeatedInt64"},{"name":"repeated_uint32","number":33,"label":"LABEL_REPEATED","type":"TYPE_UINT32","jsonName":"repeatedUint32"},{"name":"repeated_uint64","number":34,"label":"LABEL_REPEATED","type":"TYPE_UINT64","jsonName":"repeatedUint64"},{"name":"repeated_sint32","number":35,"label":"LABEL_REPEATED","type":"TYPE_SINT32","jsonName":"repeatedSint32"},{"name":"repeated_sint64","number":36,"label":"LABEL_REPEATED","type":"TYPE_SINT64","jsonName":"repeatedSint64"},{"name":"repeated_fixed32","number":37,"label":"LABEL_REPEATED","type":"TYPE_FIXED32","jsonName":"repeatedFixed32"},{"name":"repeated_fixed64","number":38,"label":"LABEL_REPEATED","type":"TYPE_FIXED64","jsonName":"repeatedFixed64"},{"name":"repeated_sfixed32","number":39,"label":"LABEL_REPEATED","type":"TYPE_SFIXED32","jsonName":"repeatedSfixed32"},{"name":"repeated_sfixed64","number":40,"label":"LABEL_REPEATED","type":"TYPE_SFIXED64","jsonName":"repeatedSfixed64"},{"name":"repeated_float","number":41,"label":"LABEL_REPEATED","type":"TYPE_FLOAT","jsonName":"repeatedFloat"},{"name":"repeated_double","number":42,"label":"LABEL_REPEATED","type":"TYPE_DOUBLE","jsonName":"repeatedDouble"},{"name":"repeated_bool","number":43,"label":"LABEL_REPEATED","type":"TYPE_BOOL","jsonName":"repeatedBool"},{"name":"repeated_string","number":44,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"repeatedString"},{"name":"repeated_bytes","number":45,"label":"LABEL_REPEATED","type":"TYPE_BYTES","jsonName":"repeatedBytes"},{"name":"repeated_nested_message","number":51,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"repeatedNestedMessage"},{"name":"repeated_nested_enum","number":52,"label":"LABEL_REPEATED","type":"TYPE_ENUM","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedEnum","jsonName":"repeatedNestedEnum"},{"name":"repeated_string_piece","number":53,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"repeatedStringPiece","options":{"ctype":"STRING_PIECE"}},{"name":"repeated_cord","number":54,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"repeatedCord","options":{"ctype":"CORD"}},{"name":"repeated_lazy_message","number":55,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"repeatedLazyMessage","options":{"lazy":true}},{"name":"repeated_any","number":120,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"repeatedAny"},{"name":"repeated_duration","number":121,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"repeatedDuration"},{"name":"repeated_timestamp","number":122,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"repeatedTimestamp"},{"name":"repeated_struct","number":123,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"repeatedStruct"},{"name":"repeated_value","number":124,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"repeatedValue"},{"name":"repeated_int64_wrapper","number":125,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"repeatedInt64Wrapper"},{"name":"repeated_int32_wrapper","number":126,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int32Value","jsonName":"repeatedInt32Wrapper"},{"name":"repeated_double_wrapper","number":127,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.DoubleValue","jsonName":"repeatedDoubleWrapper"},{"name":"repeated_float_wrapper","number":128,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FloatValue","jsonName":"repeatedFloatWrapper"},{"name":"repeated_uint64_wrapper","number":129,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt64Value","jsonName":"repeatedUint64Wrapper"},{"name":"repeated_uint32_wrapper","number":130,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt32Value","jsonName":"repeatedUint32Wrapper"},{"name":"repeated_string_wrapper","number":131,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.StringValue","jsonName":"repeatedStringWrapper"},{"name":"repeated_bool_wrapper","number":132,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.BoolValue","jsonName":"repeatedBoolWrapper"},{"name":"repeated_bytes_wrapper","number":133,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.BytesValue","jsonName":"repeatedBytesWrapper"},{"name":"repeated_list_value","number":134,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","jsonName":"repeatedListValue"},{"name":"repeated_null_value","number":135,"label":"LABEL_REPEATED","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","jsonName":"repeatedNullValue"},{"name":"map_int64_nested_type","number":62,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64NestedTypeEntry","jsonName":"mapInt64NestedType"},{"name":"map_bool_bool","number":63,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolBoolEntry","jsonName":"mapBoolBool"},{"name":"map_bool_string","number":64,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolStringEntry","jsonName":"mapBoolString"},{"name":"map_bool_bytes","number":65,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolBytesEntry","jsonName":"mapBoolBytes"},{"name":"map_bool_int32","number":66,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolInt32Entry","jsonName":"mapBoolInt32"},{"name":"map_bool_int64","number":67,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolInt64Entry","jsonName":"mapBoolInt64"},{"name":"map_bool_uint32","number":68,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolUint32Entry","jsonName":"mapBoolUint32"},{"name":"map_bool_uint64","number":69,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolUint64Entry","jsonName":"mapBoolUint64"},{"name":"map_bool_float","number":70,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolFloatEntry","jsonName":"mapBoolFloat"},{"name":"map_bool_double","number":71,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolDoubleEntry","jsonName":"mapBoolDouble"},{"name":"map_bool_enum","number":72,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolEnumEntry","jsonName":"mapBoolEnum"},{"name":"map_bool_message","number":73,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolMessageEntry","jsonName":"mapBoolMessage"},{"name":"map_bool_duration","number":228,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolDurationEntry","jsonName":"mapBoolDuration"},{"name":"map_bool_timestamp","number":229,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolTimestampEntry","jsonName":"mapBoolTimestamp"},{"name":"map_bool_null_value","number":230,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolNullValueEntry","jsonName":"mapBoolNullValue"},{"name":"map_bool_any","number":246,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolAnyEntry","jsonName":"mapBoolAny"},{"name":"map_bool_struct","number":247,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolStructEntry","jsonName":"mapBoolStruct"},{"name":"map_bool_value","number":248,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolValueEntry","jsonName":"mapBoolValue"},{"name":"map_bool_list_value","number":249,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolListValueEntry","jsonName":"mapBoolListValue"},{"name":"map_bool_int64_wrapper","number":250,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolInt64WrapperEntry","jsonName":"mapBoolInt64Wrapper"},{"name":"map_bool_int32_wrapper","number":251,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolInt32WrapperEntry","jsonName":"mapBoolInt32Wrapper"},{"name":"map_bool_double_wrapper","number":252,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolDoubleWrapperEntry","jsonName":"mapBoolDoubleWrapper"},{"name":"map_bool_float_wrapper","number":253,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolFloatWrapperEntry","jsonName":"mapBoolFloatWrapper"},{"name":"map_bool_uint64_wrapper","number":254,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolUint64WrapperEntry","jsonName":"mapBoolUint64Wrapper"},{"name":"map_bool_uint32_wrapper","number":255,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolUint32WrapperEntry","jsonName":"mapBoolUint32Wrapper"},{"name":"map_bool_string_wrapper","number":256,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolStringWrapperEntry","jsonName":"mapBoolStringWrapper"},{"name":"map_bool_bool_wrapper","number":257,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolBoolWrapperEntry","jsonName":"mapBoolBoolWrapper"},{"name":"map_bool_bytes_wrapper","number":258,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolBytesWrapperEntry","jsonName":"mapBoolBytesWrapper"},{"name":"map_int32_bool","number":74,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32BoolEntry","jsonName":"mapInt32Bool"},{"name":"map_int32_string","number":75,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32StringEntry","jsonName":"mapInt32String"},{"name":"map_int32_bytes","number":76,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32BytesEntry","jsonName":"mapInt32Bytes"},{"name":"map_int32_int32","number":77,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32Int32Entry","jsonName":"mapInt32Int32"},{"name":"map_int32_int64","number":78,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32Int64Entry","jsonName":"mapInt32Int64"},{"name":"map_int32_uint32","number":79,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32Uint32Entry","jsonName":"mapInt32Uint32"},{"name":"map_int32_uint64","number":80,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32Uint64Entry","jsonName":"mapInt32Uint64"},{"name":"map_int32_float","number":81,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32FloatEntry","jsonName":"mapInt32Float"},{"name":"map_int32_double","number":82,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32DoubleEntry","jsonName":"mapInt32Double"},{"name":"map_int32_enum","number":83,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32EnumEntry","jsonName":"mapInt32Enum"},{"name":"map_int32_message","number":84,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32MessageEntry","jsonName":"mapInt32Message"},{"name":"map_int32_duration","number":231,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32DurationEntry","jsonName":"mapInt32Duration"},{"name":"map_int32_timestamp","number":232,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32TimestampEntry","jsonName":"mapInt32Timestamp"},{"name":"map_int32_null_value","number":233,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32NullValueEntry","jsonName":"mapInt32NullValue"},{"name":"map_int32_any","number":259,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32AnyEntry","jsonName":"mapInt32Any"},{"name":"map_int32_struct","number":260,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32StructEntry","jsonName":"mapInt32Struct"},{"name":"map_int32_value","number":261,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32ValueEntry","jsonName":"mapInt32Value"},{"name":"map_int32_list_value","number":262,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32ListValueEntry","jsonName":"mapInt32ListValue"},{"name":"map_int32_int64_wrapper","number":263,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32Int64WrapperEntry","jsonName":"mapInt32Int64Wrapper"},{"name":"map_int32_int32_wrapper","number":264,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32Int32WrapperEntry","jsonName":"mapInt32Int32Wrapper"},{"name":"map_int32_double_wrapper","number":265,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32DoubleWrapperEntry","jsonName":"mapInt32DoubleWrapper"},{"name":"map_int32_float_wrapper","number":266,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32FloatWrapperEntry","jsonName":"mapInt32FloatWrapper"},{"name":"map_int32_uint64_wrapper","number":267,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32Uint64WrapperEntry","jsonName":"mapInt32Uint64Wrapper"},{"name":"map_int32_uint32_wrapper","number":268,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32Uint32WrapperEntry","jsonName":"mapInt32Uint32Wrapper"},{"name":"map_int32_string_wrapper","number":269,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32StringWrapperEntry","jsonName":"mapInt32StringWrapper"},{"name":"map_int32_bool_wrapper","number":270,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32BoolWrapperEntry","jsonName":"mapInt32BoolWrapper"},{"name":"map_int32_bytes_wrapper","number":271,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32BytesWrapperEntry","jsonName":"mapInt32BytesWrapper"},{"name":"map_int64_bool","number":85,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64BoolEntry","jsonName":"mapInt64Bool"},{"name":"map_int64_string","number":86,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64StringEntry","jsonName":"mapInt64String"},{"name":"map_int64_bytes","number":87,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64BytesEntry","jsonName":"mapInt64Bytes"},{"name":"map_int64_int32","number":88,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64Int32Entry","jsonName":"mapInt64Int32"},{"name":"map_int64_int64","number":89,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64Int64Entry","jsonName":"mapInt64Int64"},{"name":"map_int64_uint32","number":90,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64Uint32Entry","jsonName":"mapInt64Uint32"},{"name":"map_int64_uint64","number":91,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64Uint64Entry","jsonName":"mapInt64Uint64"},{"name":"map_int64_float","number":92,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64FloatEntry","jsonName":"mapInt64Float"},{"name":"map_int64_double","number":93,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64DoubleEntry","jsonName":"mapInt64Double"},{"name":"map_int64_enum","number":94,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64EnumEntry","jsonName":"mapInt64Enum"},{"name":"map_int64_message","number":95,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64MessageEntry","jsonName":"mapInt64Message"},{"name":"map_int64_duration","number":234,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64DurationEntry","jsonName":"mapInt64Duration"},{"name":"map_int64_timestamp","number":235,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64TimestampEntry","jsonName":"mapInt64Timestamp"},{"name":"map_int64_null_value","number":236,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64NullValueEntry","jsonName":"mapInt64NullValue"},{"name":"map_int64_any","number":272,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64AnyEntry","jsonName":"mapInt64Any"},{"name":"map_int64_struct","number":273,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64StructEntry","jsonName":"mapInt64Struct"},{"name":"map_int64_value","number":274,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64ValueEntry","jsonName":"mapInt64Value"},{"name":"map_int64_list_value","number":275,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64ListValueEntry","jsonName":"mapInt64ListValue"},{"name":"map_int64_int64_wrapper","number":276,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64Int64WrapperEntry","jsonName":"mapInt64Int64Wrapper"},{"name":"map_int64_int32_wrapper","number":277,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64Int32WrapperEntry","jsonName":"mapInt64Int32Wrapper"},{"name":"map_int64_double_wrapper","number":278,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64DoubleWrapperEntry","jsonName":"mapInt64DoubleWrapper"},{"name":"map_int64_float_wrapper","number":279,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64FloatWrapperEntry","jsonName":"mapInt64FloatWrapper"},{"name":"map_int64_uint64_wrapper","number":280,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64Uint64WrapperEntry","jsonName":"mapInt64Uint64Wrapper"},{"name":"map_int64_uint32_wrapper","number":281,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64Uint32WrapperEntry","jsonName":"mapInt64Uint32Wrapper"},{"name":"map_int64_string_wrapper","number":282,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64StringWrapperEntry","jsonName":"mapInt64StringWrapper"},{"name":"map_int64_bool_wrapper","number":283,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64BoolWrapperEntry","jsonName":"mapInt64BoolWrapper"},{"name":"map_int64_bytes_wrapper","number":284,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64BytesWrapperEntry","jsonName":"mapInt64BytesWrapper"},{"name":"map_uint32_bool","number":96,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32BoolEntry","jsonName":"mapUint32Bool"},{"name":"map_uint32_string","number":97,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32StringEntry","jsonName":"mapUint32String"},{"name":"map_uint32_bytes","number":98,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32BytesEntry","jsonName":"mapUint32Bytes"},{"name":"map_uint32_int32","number":99,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32Int32Entry","jsonName":"mapUint32Int32"},{"name":"map_uint32_int64","number":200,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32Int64Entry","jsonName":"mapUint32Int64"},{"name":"map_uint32_uint32","number":201,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32Uint32Entry","jsonName":"mapUint32Uint32"},{"name":"map_uint32_uint64","number":202,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32Uint64Entry","jsonName":"mapUint32Uint64"},{"name":"map_uint32_float","number":203,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32FloatEntry","jsonName":"mapUint32Float"},{"name":"map_uint32_double","number":204,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32DoubleEntry","jsonName":"mapUint32Double"},{"name":"map_uint32_enum","number":205,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32EnumEntry","jsonName":"mapUint32Enum"},{"name":"map_uint32_message","number":206,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32MessageEntry","jsonName":"mapUint32Message"},{"name":"map_uint32_duration","number":237,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32DurationEntry","jsonName":"mapUint32Duration"},{"name":"map_uint32_timestamp","number":238,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32TimestampEntry","jsonName":"mapUint32Timestamp"},{"name":"map_uint32_null_value","number":239,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32NullValueEntry","jsonName":"mapUint32NullValue"},{"name":"map_uint32_any","number":285,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32AnyEntry","jsonName":"mapUint32Any"},{"name":"map_uint32_struct","number":286,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32StructEntry","jsonName":"mapUint32Struct"},{"name":"map_uint32_value","number":287,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32ValueEntry","jsonName":"mapUint32Value"},{"name":"map_uint32_list_value","number":288,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32ListValueEntry","jsonName":"mapUint32ListValue"},{"name":"map_uint32_int64_wrapper","number":289,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32Int64WrapperEntry","jsonName":"mapUint32Int64Wrapper"},{"name":"map_uint32_int32_wrapper","number":290,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32Int32WrapperEntry","jsonName":"mapUint32Int32Wrapper"},{"name":"map_uint32_double_wrapper","number":291,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32DoubleWrapperEntry","jsonName":"mapUint32DoubleWrapper"},{"name":"map_uint32_float_wrapper","number":292,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32FloatWrapperEntry","jsonName":"mapUint32FloatWrapper"},{"name":"map_uint32_uint64_wrapper","number":293,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32Uint64WrapperEntry","jsonName":"mapUint32Uint64Wrapper"},{"name":"map_uint32_uint32_wrapper","number":294,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32Uint32WrapperEntry","jsonName":"mapUint32Uint32Wrapper"},{"name":"map_uint32_string_wrapper","number":295,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32StringWrapperEntry","jsonName":"mapUint32StringWrapper"},{"name":"map_uint32_bool_wrapper","number":296,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32BoolWrapperEntry","jsonName":"mapUint32BoolWrapper"},{"name":"map_uint32_bytes_wrapper","number":297,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32BytesWrapperEntry","jsonName":"mapUint32BytesWrapper"},{"name":"map_uint64_bool","number":207,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64BoolEntry","jsonName":"mapUint64Bool"},{"name":"map_uint64_string","number":208,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64StringEntry","jsonName":"mapUint64String"},{"name":"map_uint64_bytes","number":209,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64BytesEntry","jsonName":"mapUint64Bytes"},{"name":"map_uint64_int32","number":210,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64Int32Entry","jsonName":"mapUint64Int32"},{"name":"map_uint64_int64","number":211,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64Int64Entry","jsonName":"mapUint64Int64"},{"name":"map_uint64_uint32","number":212,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64Uint32Entry","jsonName":"mapUint64Uint32"},{"name":"map_uint64_uint64","number":213,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64Uint64Entry","jsonName":"mapUint64Uint64"},{"name":"map_uint64_float","number":214,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64FloatEntry","jsonName":"mapUint64Float"},{"name":"map_uint64_double","number":215,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64DoubleEntry","jsonName":"mapUint64Double"},{"name":"map_uint64_enum","number":216,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64EnumEntry","jsonName":"mapUint64Enum"},{"name":"map_uint64_message","number":217,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64MessageEntry","jsonName":"mapUint64Message"},{"name":"map_uint64_duration","number":240,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64DurationEntry","jsonName":"mapUint64Duration"},{"name":"map_uint64_timestamp","number":241,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64TimestampEntry","jsonName":"mapUint64Timestamp"},{"name":"map_uint64_null_value","number":242,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64NullValueEntry","jsonName":"mapUint64NullValue"},{"name":"map_uint64_any","number":298,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64AnyEntry","jsonName":"mapUint64Any"},{"name":"map_uint64_struct","number":299,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64StructEntry","jsonName":"mapUint64Struct"},{"name":"map_uint64_value","number":300,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64ValueEntry","jsonName":"mapUint64Value"},{"name":"map_uint64_list_value","number":301,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64ListValueEntry","jsonName":"mapUint64ListValue"},{"name":"map_uint64_int64_wrapper","number":302,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64Int64WrapperEntry","jsonName":"mapUint64Int64Wrapper"},{"name":"map_uint64_int32_wrapper","number":303,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64Int32WrapperEntry","jsonName":"mapUint64Int32Wrapper"},{"name":"map_uint64_double_wrapper","number":304,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64DoubleWrapperEntry","jsonName":"mapUint64DoubleWrapper"},{"name":"map_uint64_float_wrapper","number":305,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64FloatWrapperEntry","jsonName":"mapUint64FloatWrapper"},{"name":"map_uint64_uint64_wrapper","number":306,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64Uint64WrapperEntry","jsonName":"mapUint64Uint64Wrapper"},{"name":"map_uint64_uint32_wrapper","number":307,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64Uint32WrapperEntry","jsonName":"mapUint64Uint32Wrapper"},{"name":"map_uint64_string_wrapper","number":308,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64StringWrapperEntry","jsonName":"mapUint64StringWrapper"},{"name":"map_uint64_bool_wrapper","number":309,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64BoolWrapperEntry","jsonName":"mapUint64BoolWrapper"},{"name":"map_uint64_bytes_wrapper","number":310,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64BytesWrapperEntry","jsonName":"mapUint64BytesWrapper"},{"name":"map_string_bool","number":218,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringBoolEntry","jsonName":"mapStringBool"},{"name":"map_string_string","number":61,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringStringEntry","jsonName":"mapStringString"},{"name":"map_string_bytes","number":219,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringBytesEntry","jsonName":"mapStringBytes"},{"name":"map_string_int32","number":220,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringInt32Entry","jsonName":"mapStringInt32"},{"name":"map_string_int64","number":221,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringInt64Entry","jsonName":"mapStringInt64"},{"name":"map_string_uint32","number":222,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringUint32Entry","jsonName":"mapStringUint32"},{"name":"map_string_uint64","number":223,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringUint64Entry","jsonName":"mapStringUint64"},{"name":"map_string_float","number":224,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringFloatEntry","jsonName":"mapStringFloat"},{"name":"map_string_double","number":225,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringDoubleEntry","jsonName":"mapStringDouble"},{"name":"map_string_enum","number":226,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringEnumEntry","jsonName":"mapStringEnum"},{"name":"map_string_message","number":227,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringMessageEntry","jsonName":"mapStringMessage"},{"name":"map_string_duration","number":243,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringDurationEntry","jsonName":"mapStringDuration"},{"name":"map_string_timestamp","number":244,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringTimestampEntry","jsonName":"mapStringTimestamp"},{"name":"map_string_null_value","number":245,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringNullValueEntry","jsonName":"mapStringNullValue"},{"name":"map_string_any","number":311,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringAnyEntry","jsonName":"mapStringAny"},{"name":"map_string_struct","number":312,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringStructEntry","jsonName":"mapStringStruct"},{"name":"map_string_value","number":313,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringValueEntry","jsonName":"mapStringValue"},{"name":"map_string_list_value","number":314,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringListValueEntry","jsonName":"mapStringListValue"},{"name":"map_string_int64_wrapper","number":315,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringInt64WrapperEntry","jsonName":"mapStringInt64Wrapper"},{"name":"map_string_int32_wrapper","number":316,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringInt32WrapperEntry","jsonName":"mapStringInt32Wrapper"},{"name":"map_string_double_wrapper","number":317,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringDoubleWrapperEntry","jsonName":"mapStringDoubleWrapper"},{"name":"map_string_float_wrapper","number":318,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringFloatWrapperEntry","jsonName":"mapStringFloatWrapper"},{"name":"map_string_uint64_wrapper","number":319,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringUint64WrapperEntry","jsonName":"mapStringUint64Wrapper"},{"name":"map_string_uint32_wrapper","number":320,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringUint32WrapperEntry","jsonName":"mapStringUint32Wrapper"},{"name":"map_string_string_wrapper","number":321,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringStringWrapperEntry","jsonName":"mapStringStringWrapper"},{"name":"map_string_bool_wrapper","number":322,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringBoolWrapperEntry","jsonName":"mapStringBoolWrapper"},{"name":"map_string_bytes_wrapper","number":323,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringBytesWrapperEntry","jsonName":"mapStringBytesWrapper"}],"nestedType":[{"name":"NestedMessage","field":[{"name":"bb","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"bb"}]},{"name":"MapInt64NestedTypeEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.NestedTestAllTypes","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolBoolEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolStringEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolBytesEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolInt32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolInt64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolUint32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolUint64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolFloatEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolDoubleEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolEnumEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedEnum","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolMessageEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolDurationEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolTimestampEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolNullValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolAnyEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolStructEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolListValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolInt64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolInt32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolDoubleWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.DoubleValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolFloatWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FloatValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolUint64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolUint32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolStringWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.StringValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolBoolWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BoolValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolBytesWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BytesValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32BoolEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32StringEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32BytesEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32Int32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32Int64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32Uint32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32Uint64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32FloatEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32DoubleEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32EnumEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedEnum","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32MessageEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32DurationEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32TimestampEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32NullValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32AnyEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32StructEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32ValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32ListValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32Int64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32Int32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32DoubleWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.DoubleValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32FloatWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FloatValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32Uint64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32Uint32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32StringWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.StringValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32BoolWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BoolValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32BytesWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BytesValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64BoolEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64StringEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64BytesEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64Int32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64Int64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64Uint32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64Uint64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64FloatEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64DoubleEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64EnumEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedEnum","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64MessageEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64DurationEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64TimestampEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64NullValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64AnyEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64StructEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64ValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64ListValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64Int64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64Int32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64DoubleWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.DoubleValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64FloatWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FloatValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64Uint64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64Uint32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64StringWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.StringValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64BoolWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BoolValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64BytesWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BytesValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32BoolEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32StringEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32BytesEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32Int32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32Int64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32Uint32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32Uint64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32FloatEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32DoubleEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32EnumEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedEnum","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32MessageEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32DurationEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32TimestampEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32NullValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32AnyEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32StructEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32ValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32ListValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32Int64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32Int32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32DoubleWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.DoubleValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32FloatWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FloatValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32Uint64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32Uint32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32StringWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.StringValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32BoolWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BoolValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32BytesWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BytesValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64BoolEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64StringEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64BytesEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64Int32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64Int64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64Uint32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64Uint64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64FloatEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64DoubleEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64EnumEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedEnum","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64MessageEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64DurationEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64TimestampEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64NullValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64AnyEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64StructEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64ValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64ListValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64Int64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64Int32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64DoubleWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.DoubleValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64FloatWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FloatValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64Uint64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64Uint32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64StringWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.StringValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64BoolWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BoolValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64BytesWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BytesValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringBoolEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringStringEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringBytesEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringInt32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringInt64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringUint32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringUint64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringFloatEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringDoubleEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringEnumEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedEnum","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringMessageEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringDurationEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringTimestampEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringNullValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringAnyEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringStructEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringListValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringInt64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringInt32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringDoubleWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.DoubleValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringFloatWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FloatValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringUint64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringUint32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringStringWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.StringValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringBoolWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BoolValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringBytesWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BytesValue","jsonName":"value"}],"options":{"mapEntry":true}}],"enumType":[{"name":"NestedEnum","value":[{"name":"FOO","number":0},{"name":"BAR","number":1},{"name":"BAZ","number":2}]}],"oneofDecl":[{"name":"nested_type"},{"name":"_optional_null_value"}]},{"name":"NestedTestAllTypes","field":[{"name":"child","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.NestedTestAllTypes","jsonName":"child"},{"name":"payload","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes","jsonName":"payload"}]}],"enumType":[{"name":"GlobalEnum","value":[{"name":"GOO","number":0},{"name":"GAR","number":1},{"name":"GAZ","number":2}]}],"options":{"javaPackage":"dev.cel.expr.conformance.proto3","javaOuterClassname":"TestAllTypesProto","javaMultipleFiles":true,"goPackage":"cel.dev/expr/conformance/proto3","ccEnableArenas":true},"sourceCodeInfo":{"location":[{"span":[17,0,318,1]},{"path":[12],"span":[17,0,18],"leadingDetachedComments":[" Copyright 2024-2025 Buf Technologies, Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n"," Mostly originally copied from https://github.com/google/cel-spec/blob/ed066e332b7acc3dbf68e65e0001061539d25e83/proto/cel/expr/conformance/proto3/test_all_types.proto.\n See the license at https://github.com/google/cel-spec/blob/ed066e332b7acc3dbf68e65e0001061539d25e83/LICENSE.\n"]},{"path":[2],"span":[19,0,43]},{"path":[3,0],"span":[21,0,35]},{"path":[3,1],"span":[22,0,40]},{"path":[3,2],"span":[23,0,38]},{"path":[3,3],"span":[24,0,41]},{"path":[3,4],"span":[25,0,40]},{"path":[8],"span":[27,0,31]},{"path":[8,31],"span":[27,0,31]},{"path":[8],"span":[28,0,54]},{"path":[8,11],"span":[28,0,54]},{"path":[8],"span":[29,0,34]},{"path":[8,10],"span":[29,0,34]},{"path":[8],"span":[30,0,50]},{"path":[8,8],"span":[30,0,50]},{"path":[8],"span":[31,0,56]},{"path":[8,1],"span":[31,0,56]},{"path":[4,0],"span":[35,0,305,1],"leadingComments":" This proto includes every type of field in both singular and repeated\n forms.\n"},{"path":[4,0,1],"span":[35,8,20]},{"path":[4,0,3,0],"span":[36,2,41,3]},{"path":[4,0,3,0,1],"span":[36,10,23]},{"path":[4,0,3,0,2,0],"span":[40,4,17],"leadingComments":" The field name \"b\" fails to compile in proto1 because it conflicts with\n a local variable named \"b\" in one of the generated methods.\n This file needs to compile in proto1 to test backwards-compatibility.\n"},{"path":[4,0,3,0,2,0,5],"span":[40,4,9]},{"path":[4,0,3,0,2,0,1],"span":[40,10,12]},{"path":[4,0,3,0,2,0,3],"span":[40,15,16]},{"path":[4,0,4,0],"span":[43,2,47,3]},{"path":[4,0,4,0,1],"span":[43,7,17]},{"path":[4,0,4,0,2,0],"span":[44,4,12]},{"path":[4,0,4,0,2,0,1],"span":[44,4,7]},{"path":[4,0,4,0,2,0,2],"span":[44,10,11]},{"path":[4,0,4,0,2,1],"span":[45,4,12]},{"path":[4,0,4,0,2,1,1],"span":[45,4,7]},{"path":[4,0,4,0,2,1,2],"span":[45,10,11]},{"path":[4,0,4,0,2,2],"span":[46,4,12]},{"path":[4,0,4,0,2,2,1],"span":[46,4,7]},{"path":[4,0,4,0,2,2,2],"span":[46,10,11]},{"path":[4,0,2,0],"span":[50,2,25],"leadingComments":" Singular\n"},{"path":[4,0,2,0,5],"span":[50,2,7]},{"path":[4,0,2,0,1],"span":[50,8,20]},{"path":[4,0,2,0,3],"span":[50,23,24]},{"path":[4,0,2,1],"span":[51,2,25]},{"path":[4,0,2,1,5],"span":[51,2,7]},{"path":[4,0,2,1,1],"span":[51,8,20]},{"path":[4,0,2,1,3],"span":[51,23,24]},{"path":[4,0,2,2],"span":[52,2,27]},{"path":[4,0,2,2,5],"span":[52,2,8]},{"path":[4,0,2,2,1],"span":[52,9,22]},{"path":[4,0,2,2,3],"span":[52,25,26]},{"path":[4,0,2,3],"span":[53,2,27]},{"path":[4,0,2,3,5],"span":[53,2,8]},{"path":[4,0,2,3,1],"span":[53,9,22]},{"path":[4,0,2,3,3],"span":[53,25,26]},{"path":[4,0,2,4],"span":[54,2,27]},{"path":[4,0,2,4,5],"span":[54,2,8]},{"path":[4,0,2,4,1],"span":[54,9,22]},{"path":[4,0,2,4,3],"span":[54,25,26]},{"path":[4,0,2,5],"span":[55,2,27]},{"path":[4,0,2,5,5],"span":[55,2,8]},{"path":[4,0,2,5,1],"span":[55,9,22]},{"path":[4,0,2,5,3],"span":[55,25,26]},{"path":[4,0,2,6],"span":[56,2,29]},{"path":[4,0,2,6,5],"span":[56,2,9]},{"path":[4,0,2,6,1],"span":[56,10,24]},{"path":[4,0,2,6,3],"span":[56,27,28]},{"path":[4,0,2,7],"span":[57,2,29]},{"path":[4,0,2,7,5],"span":[57,2,9]},{"path":[4,0,2,7,1],"span":[57,10,24]},{"path":[4,0,2,7,3],"span":[57,27,28]},{"path":[4,0,2,8],"span":[58,2,31]},{"path":[4,0,2,8,5],"span":[58,2,10]},{"path":[4,0,2,8,1],"span":[58,11,26]},{"path":[4,0,2,8,3],"span":[58,29,30]},{"path":[4,0,2,9],"span":[59,2,32]},{"path":[4,0,2,9,5],"span":[59,2,10]},{"path":[4,0,2,9,1],"span":[59,11,26]},{"path":[4,0,2,9,3],"span":[59,29,31]},{"path":[4,0,2,10],"span":[60,2,26]},{"path":[4,0,2,10,5],"span":[60,2,7]},{"path":[4,0,2,10,1],"span":[60,8,20]},{"path":[4,0,2,10,3],"span":[60,23,25]},{"path":[4,0,2,11],"span":[61,2,28]},{"path":[4,0,2,11,5],"span":[61,2,8]},{"path":[4,0,2,11,1],"span":[61,9,22]},{"path":[4,0,2,11,3],"span":[61,25,27]},{"path":[4,0,2,12],"span":[62,2,24]},{"path":[4,0,2,12,5],"span":[62,2,6]},{"path":[4,0,2,12,1],"span":[62,7,18]},{"path":[4,0,2,12,3],"span":[62,21,23]},{"path":[4,0,2,13],"span":[63,2,28]},{"path":[4,0,2,13,5],"span":[63,2,8]},{"path":[4,0,2,13,1],"span":[63,9,22]},{"path":[4,0,2,13,3],"span":[63,25,27]},{"path":[4,0,2,14],"span":[64,2,26]},{"path":[4,0,2,14,5],"span":[64,2,7]},{"path":[4,0,2,14,1],"span":[64,8,20]},{"path":[4,0,2,14,3],"span":[64,23,25]},{"path":[4,0,2,15],"span":[67,2,39],"leadingComments":" Wellknown.\n"},{"path":[4,0,2,15,6],"span":[67,2,21]},{"path":[4,0,2,15,1],"span":[67,22,32]},{"path":[4,0,2,15,3],"span":[67,35,38]},{"path":[4,0,2,16],"span":[68,2,49]},{"path":[4,0,2,16,6],"span":[68,2,26]},{"path":[4,0,2,16,1],"span":[68,27,42]},{"path":[4,0,2,16,3],"span":[68,45,48]},{"path":[4,0,2,17],"span":[69,2,51]},{"path":[4,0,2,17,6],"span":[69,2,27]},{"path":[4,0,2,17,1],"span":[69,28,44]},{"path":[4,0,2,17,3],"span":[69,47,50]},{"path":[4,0,2,18],"span":[70,2,45]},{"path":[4,0,2,18,6],"span":[70,2,24]},{"path":[4,0,2,18,1],"span":[70,25,38]},{"path":[4,0,2,18,3],"span":[70,41,44]},{"path":[4,0,2,19],"span":[71,2,43]},{"path":[4,0,2,19,6],"span":[71,2,23]},{"path":[4,0,2,19,1],"span":[71,24,36]},{"path":[4,0,2,19,3],"span":[71,39,42]},{"path":[4,0,2,20],"span":[72,2,56]},{"path":[4,0,2,20,6],"span":[72,2,28]},{"path":[4,0,2,20,1],"span":[72,29,49]},{"path":[4,0,2,20,3],"span":[72,52,55]},{"path":[4,0,2,21],"span":[73,2,56]},{"path":[4,0,2,21,6],"span":[73,2,28]},{"path":[4,0,2,21,1],"span":[73,29,49]},{"path":[4,0,2,21,3],"span":[73,52,55]},{"path":[4,0,2,22],"span":[74,2,58]},{"path":[4,0,2,22,6],"span":[74,2,29]},{"path":[4,0,2,22,1],"span":[74,30,51]},{"path":[4,0,2,22,3],"span":[74,54,57]},{"path":[4,0,2,23],"span":[75,2,56]},{"path":[4,0,2,23,6],"span":[75,2,28]},{"path":[4,0,2,23,1],"span":[75,29,49]},{"path":[4,0,2,23,3],"span":[75,52,55]},{"path":[4,0,2,24],"span":[76,2,58]},{"path":[4,0,2,24,6],"span":[76,2,29]},{"path":[4,0,2,24,1],"span":[76,30,51]},{"path":[4,0,2,24,3],"span":[76,54,57]},{"path":[4,0,2,25],"span":[77,2,58]},{"path":[4,0,2,25,6],"span":[77,2,29]},{"path":[4,0,2,25,1],"span":[77,30,51]},{"path":[4,0,2,25,3],"span":[77,54,57]},{"path":[4,0,2,26],"span":[78,2,58]},{"path":[4,0,2,26,6],"span":[78,2,29]},{"path":[4,0,2,26,1],"span":[78,30,51]},{"path":[4,0,2,26,3],"span":[78,54,57]},{"path":[4,0,2,27],"span":[79,2,54]},{"path":[4,0,2,27,6],"span":[79,2,27]},{"path":[4,0,2,27,1],"span":[79,28,47]},{"path":[4,0,2,27,3],"span":[79,50,53]},{"path":[4,0,2,28],"span":[80,2,56]},{"path":[4,0,2,28,6],"span":[80,2,28]},{"path":[4,0,2,28,1],"span":[80,29,49]},{"path":[4,0,2,28,3],"span":[80,52,55]},{"path":[4,0,2,29],"span":[81,2,45]},{"path":[4,0,2,29,6],"span":[81,2,27]},{"path":[4,0,2,29,1],"span":[81,28,38]},{"path":[4,0,2,29,3],"span":[81,41,44]},{"path":[4,0,2,30],"span":[82,2,45]},{"path":[4,0,2,30,6],"span":[82,2,27]},{"path":[4,0,2,30,1],"span":[82,28,38]},{"path":[4,0,2,30,3],"span":[82,41,44]},{"path":[4,0,2,31],"span":[83,2,63]},{"path":[4,0,2,31,4],"span":[83,2,10]},{"path":[4,0,2,31,6],"span":[83,11,36]},{"path":[4,0,2,31,1],"span":[83,37,56]},{"path":[4,0,2,31,3],"span":[83,59,62]},{"path":[4,0,8,0],"span":[86,2,89,3],"leadingComments":" Nested messages\n"},{"path":[4,0,8,0,1],"span":[86,8,19]},{"path":[4,0,2,32],"span":[87,4,45]},{"path":[4,0,2,32,6],"span":[87,4,17]},{"path":[4,0,2,32,1],"span":[87,18,39]},{"path":[4,0,2,32,3],"span":[87,42,44]},{"path":[4,0,2,33],"span":[88,4,39]},{"path":[4,0,2,33,6],"span":[88,4,14]},{"path":[4,0,2,33,1],"span":[88,15,33]},{"path":[4,0,2,33,3],"span":[88,36,38]},{"path":[4,0,2,34],"span":[90,2,40]},{"path":[4,0,2,34,6],"span":[90,2,15]},{"path":[4,0,2,34,1],"span":[90,16,34]},{"path":[4,0,2,34,3],"span":[90,37,39]},{"path":[4,0,2,35],"span":[91,2,34]},{"path":[4,0,2,35,6],"span":[91,2,12]},{"path":[4,0,2,35,1],"span":[91,13,28]},{"path":[4,0,2,35,3],"span":[91,31,33]},{"path":[4,0,2,36],"span":[94,2,37],"leadingComments":" Repeated\n"},{"path":[4,0,2,36,4],"span":[94,2,10]},{"path":[4,0,2,36,5],"span":[94,11,16]},{"path":[4,0,2,36,1],"span":[94,17,31]},{"path":[4,0,2,36,3],"span":[94,34,36]},{"path":[4,0,2,37],"span":[95,2,37]},{"path":[4,0,2,37,4],"span":[95,2,10]},{"path":[4,0,2,37,5],"span":[95,11,16]},{"path":[4,0,2,37,1],"span":[95,17,31]},{"path":[4,0,2,37,3],"span":[95,34,36]},{"path":[4,0,2,38],"span":[96,2,39]},{"path":[4,0,2,38,4],"span":[96,2,10]},{"path":[4,0,2,38,5],"span":[96,11,17]},{"path":[4,0,2,38,1],"span":[96,18,33]},{"path":[4,0,2,38,3],"span":[96,36,38]},{"path":[4,0,2,39],"span":[97,2,39]},{"path":[4,0,2,39,4],"span":[97,2,10]},{"path":[4,0,2,39,5],"span":[97,11,17]},{"path":[4,0,2,39,1],"span":[97,18,33]},{"path":[4,0,2,39,3],"span":[97,36,38]},{"path":[4,0,2,40],"span":[98,2,39]},{"path":[4,0,2,40,4],"span":[98,2,10]},{"path":[4,0,2,40,5],"span":[98,11,17]},{"path":[4,0,2,40,1],"span":[98,18,33]},{"path":[4,0,2,40,3],"span":[98,36,38]},{"path":[4,0,2,41],"span":[99,2,39]},{"path":[4,0,2,41,4],"span":[99,2,10]},{"path":[4,0,2,41,5],"span":[99,11,17]},{"path":[4,0,2,41,1],"span":[99,18,33]},{"path":[4,0,2,41,3],"span":[99,36,38]},{"path":[4,0,2,42],"span":[100,2,41]},{"path":[4,0,2,42,4],"span":[100,2,10]},{"path":[4,0,2,42,5],"span":[100,11,18]},{"path":[4,0,2,42,1],"span":[100,19,35]},{"path":[4,0,2,42,3],"span":[100,38,40]},{"path":[4,0,2,43],"span":[101,2,41]},{"path":[4,0,2,43,4],"span":[101,2,10]},{"path":[4,0,2,43,5],"span":[101,11,18]},{"path":[4,0,2,43,1],"span":[101,19,35]},{"path":[4,0,2,43,3],"span":[101,38,40]},{"path":[4,0,2,44],"span":[102,2,43]},{"path":[4,0,2,44,4],"span":[102,2,10]},{"path":[4,0,2,44,5],"span":[102,11,19]},{"path":[4,0,2,44,1],"span":[102,20,37]},{"path":[4,0,2,44,3],"span":[102,40,42]},{"path":[4,0,2,45],"span":[103,2,43]},{"path":[4,0,2,45,4],"span":[103,2,10]},{"path":[4,0,2,45,5],"span":[103,11,19]},{"path":[4,0,2,45,1],"span":[103,20,37]},{"path":[4,0,2,45,3],"span":[103,40,42]},{"path":[4,0,2,46],"span":[104,2,37]},{"path":[4,0,2,46,4],"span":[104,2,10]},{"path":[4,0,2,46,5],"span":[104,11,16]},{"path":[4,0,2,46,1],"span":[104,17,31]},{"path":[4,0,2,46,3],"span":[104,34,36]},{"path":[4,0,2,47],"span":[105,2,39]},{"path":[4,0,2,47,4],"span":[105,2,10]},{"path":[4,0,2,47,5],"span":[105,11,17]},{"path":[4,0,2,47,1],"span":[105,18,33]},{"path":[4,0,2,47,3],"span":[105,36,38]},{"path":[4,0,2,48],"span":[106,2,35]},{"path":[4,0,2,48,4],"span":[106,2,10]},{"path":[4,0,2,48,5],"span":[106,11,15]},{"path":[4,0,2,48,1],"span":[106,16,29]},{"path":[4,0,2,48,3],"span":[106,32,34]},{"path":[4,0,2,49],"span":[107,2,39]},{"path":[4,0,2,49,4],"span":[107,2,10]},{"path":[4,0,2,49,5],"span":[107,11,17]},{"path":[4,0,2,49,1],"span":[107,18,33]},{"path":[4,0,2,49,3],"span":[107,36,38]},{"path":[4,0,2,50],"span":[108,2,37]},{"path":[4,0,2,50,4],"span":[108,2,10]},{"path":[4,0,2,50,5],"span":[108,11,16]},{"path":[4,0,2,50,1],"span":[108,17,31]},{"path":[4,0,2,50,3],"span":[108,34,36]},{"path":[4,0,2,51],"span":[111,2,54],"leadingComments":" Repeated and nested\n"},{"path":[4,0,2,51,4],"span":[111,2,10]},{"path":[4,0,2,51,6],"span":[111,11,24]},{"path":[4,0,2,51,1],"span":[111,25,48]},{"path":[4,0,2,51,3],"span":[111,51,53]},{"path":[4,0,2,52],"span":[112,2,48]},{"path":[4,0,2,52,4],"span":[112,2,10]},{"path":[4,0,2,52,6],"span":[112,11,21]},{"path":[4,0,2,52,1],"span":[112,22,42]},{"path":[4,0,2,52,3],"span":[112,45,47]},{"path":[4,0,2,53],"span":[113,2,68]},{"path":[4,0,2,53,4],"span":[113,2,10]},{"path":[4,0,2,53,5],"span":[113,11,17]},{"path":[4,0,2,53,1],"span":[113,18,39]},{"path":[4,0,2,53,3],"span":[113,42,44]},{"path":[4,0,2,53,8],"span":[113,45,67]},{"path":[4,0,2,53,8,1],"span":[113,46,66]},{"path":[4,0,2,54],"span":[114,2,52]},{"path":[4,0,2,54,4],"span":[114,2,10]},{"path":[4,0,2,54,5],"span":[114,11,17]},{"path":[4,0,2,54,1],"span":[114,18,31]},{"path":[4,0,2,54,3],"span":[114,34,36]},{"path":[4,0,2,54,8],"span":[114,37,51]},{"path":[4,0,2,54,8,1],"span":[114,38,50]},{"path":[4,0,2,55],"span":[115,2,66]},{"path":[4,0,2,55,4],"span":[115,2,10]},{"path":[4,0,2,55,6],"span":[115,11,24]},{"path":[4,0,2,55,1],"span":[115,25,46]},{"path":[4,0,2,55,3],"span":[115,49,51]},{"path":[4,0,2,55,8],"span":[115,52,65]},{"path":[4,0,2,55,8,5],"span":[115,53,64]},{"path":[4,0,2,56],"span":[118,2,50],"leadingComments":" Repeated wellknown.\n"},{"path":[4,0,2,56,4],"span":[118,2,10]},{"path":[4,0,2,56,6],"span":[118,11,30]},{"path":[4,0,2,56,1],"span":[118,31,43]},{"path":[4,0,2,56,3],"span":[118,46,49]},{"path":[4,0,2,57],"span":[119,2,60]},{"path":[4,0,2,57,4],"span":[119,2,10]},{"path":[4,0,2,57,6],"span":[119,11,35]},{"path":[4,0,2,57,1],"span":[119,36,53]},{"path":[4,0,2,57,3],"span":[119,56,59]},{"path":[4,0,2,58],"span":[120,2,62]},{"path":[4,0,2,58,4],"span":[120,2,10]},{"path":[4,0,2,58,6],"span":[120,11,36]},{"path":[4,0,2,58,1],"span":[120,37,55]},{"path":[4,0,2,58,3],"span":[120,58,61]},{"path":[4,0,2,59],"span":[121,2,56]},{"path":[4,0,2,59,4],"span":[121,2,10]},{"path":[4,0,2,59,6],"span":[121,11,33]},{"path":[4,0,2,59,1],"span":[121,34,49]},{"path":[4,0,2,59,3],"span":[121,52,55]},{"path":[4,0,2,60],"span":[122,2,54]},{"path":[4,0,2,60,4],"span":[122,2,10]},{"path":[4,0,2,60,6],"span":[122,11,32]},{"path":[4,0,2,60,1],"span":[122,33,47]},{"path":[4,0,2,60,3],"span":[122,50,53]},{"path":[4,0,2,61],"span":[123,2,67]},{"path":[4,0,2,61,4],"span":[123,2,10]},{"path":[4,0,2,61,6],"span":[123,11,37]},{"path":[4,0,2,61,1],"span":[123,38,60]},{"path":[4,0,2,61,3],"span":[123,63,66]},{"path":[4,0,2,62],"span":[124,2,67]},{"path":[4,0,2,62,4],"span":[124,2,10]},{"path":[4,0,2,62,6],"span":[124,11,37]},{"path":[4,0,2,62,1],"span":[124,38,60]},{"path":[4,0,2,62,3],"span":[124,63,66]},{"path":[4,0,2,63],"span":[125,2,69]},{"path":[4,0,2,63,4],"span":[125,2,10]},{"path":[4,0,2,63,6],"span":[125,11,38]},{"path":[4,0,2,63,1],"span":[125,39,62]},{"path":[4,0,2,63,3],"span":[125,65,68]},{"path":[4,0,2,64],"span":[126,2,67]},{"path":[4,0,2,64,4],"span":[126,2,10]},{"path":[4,0,2,64,6],"span":[126,11,37]},{"path":[4,0,2,64,1],"span":[126,38,60]},{"path":[4,0,2,64,3],"span":[126,63,66]},{"path":[4,0,2,65],"span":[127,2,69]},{"path":[4,0,2,65,4],"span":[127,2,10]},{"path":[4,0,2,65,6],"span":[127,11,38]},{"path":[4,0,2,65,1],"span":[127,39,62]},{"path":[4,0,2,65,3],"span":[127,65,68]},{"path":[4,0,2,66],"span":[128,2,69]},{"path":[4,0,2,66,4],"span":[128,2,10]},{"path":[4,0,2,66,6],"span":[128,11,38]},{"path":[4,0,2,66,1],"span":[128,39,62]},{"path":[4,0,2,66,3],"span":[128,65,68]},{"path":[4,0,2,67],"span":[129,2,69]},{"path":[4,0,2,67,4],"span":[129,2,10]},{"path":[4,0,2,67,6],"span":[129,11,38]},{"path":[4,0,2,67,1],"span":[129,39,62]},{"path":[4,0,2,67,3],"span":[129,65,68]},{"path":[4,0,2,68],"span":[130,2,65]},{"path":[4,0,2,68,4],"span":[130,2,10]},{"path":[4,0,2,68,6],"span":[130,11,36]},{"path":[4,0,2,68,1],"span":[130,37,58]},{"path":[4,0,2,68,3],"span":[130,61,64]},{"path":[4,0,2,69],"span":[131,2,67]},{"path":[4,0,2,69,4],"span":[131,2,10]},{"path":[4,0,2,69,6],"span":[131,11,37]},{"path":[4,0,2,69,1],"span":[131,38,60]},{"path":[4,0,2,69,3],"span":[131,63,66]},{"path":[4,0,2,70],"span":[132,2,63]},{"path":[4,0,2,70,4],"span":[132,2,10]},{"path":[4,0,2,70,6],"span":[132,11,36]},{"path":[4,0,2,70,1],"span":[132,37,56]},{"path":[4,0,2,70,3],"span":[132,59,62]},{"path":[4,0,2,71],"span":[133,2,63]},{"path":[4,0,2,71,4],"span":[133,2,10]},{"path":[4,0,2,71,6],"span":[133,11,36]},{"path":[4,0,2,71,1],"span":[133,37,56]},{"path":[4,0,2,71,3],"span":[133,59,62]},{"path":[4,0,2,72],"span":[136,2,60],"leadingComments":" Map\n"},{"path":[4,0,2,72,6],"span":[136,2,32]},{"path":[4,0,2,72,1],"span":[136,33,54]},{"path":[4,0,2,72,3],"span":[136,57,59]},{"path":[4,0,2,73],"span":[138,2,37]},{"path":[4,0,2,73,6],"span":[138,2,17]},{"path":[4,0,2,73,1],"span":[138,18,31]},{"path":[4,0,2,73,3],"span":[138,34,36]},{"path":[4,0,2,74],"span":[139,2,41]},{"path":[4,0,2,74,6],"span":[139,2,19]},{"path":[4,0,2,74,1],"span":[139,20,35]},{"path":[4,0,2,74,3],"span":[139,38,40]},{"path":[4,0,2,75],"span":[140,2,39]},{"path":[4,0,2,75,6],"span":[140,2,18]},{"path":[4,0,2,75,1],"span":[140,19,33]},{"path":[4,0,2,75,3],"span":[140,36,38]},{"path":[4,0,2,76],"span":[141,2,39]},{"path":[4,0,2,76,6],"span":[141,2,18]},{"path":[4,0,2,76,1],"span":[141,19,33]},{"path":[4,0,2,76,3],"span":[141,36,38]},{"path":[4,0,2,77],"span":[142,2,39]},{"path":[4,0,2,77,6],"span":[142,2,18]},{"path":[4,0,2,77,1],"span":[142,19,33]},{"path":[4,0,2,77,3],"span":[142,36,38]},{"path":[4,0,2,78],"span":[143,2,41]},{"path":[4,0,2,78,6],"span":[143,2,19]},{"path":[4,0,2,78,1],"span":[143,20,35]},{"path":[4,0,2,78,3],"span":[143,38,40]},{"path":[4,0,2,79],"span":[144,2,41]},{"path":[4,0,2,79,6],"span":[144,2,19]},{"path":[4,0,2,79,1],"span":[144,20,35]},{"path":[4,0,2,79,3],"span":[144,38,40]},{"path":[4,0,2,80],"span":[145,2,39]},{"path":[4,0,2,80,6],"span":[145,2,18]},{"path":[4,0,2,80,1],"span":[145,19,33]},{"path":[4,0,2,80,3],"span":[145,36,38]},{"path":[4,0,2,81],"span":[146,2,41]},{"path":[4,0,2,81,6],"span":[146,2,19]},{"path":[4,0,2,81,1],"span":[146,20,35]},{"path":[4,0,2,81,3],"span":[146,38,40]},{"path":[4,0,2,82],"span":[147,2,43]},{"path":[4,0,2,82,6],"span":[147,2,23]},{"path":[4,0,2,82,1],"span":[147,24,37]},{"path":[4,0,2,82,3],"span":[147,40,42]},{"path":[4,0,2,83],"span":[148,2,49]},{"path":[4,0,2,83,6],"span":[148,2,26]},{"path":[4,0,2,83,1],"span":[148,27,43]},{"path":[4,0,2,83,3],"span":[148,46,48]},{"path":[4,0,2,84],"span":[149,2,62]},{"path":[4,0,2,84,6],"span":[149,2,37]},{"path":[4,0,2,84,1],"span":[149,38,55]},{"path":[4,0,2,84,3],"span":[149,58,61]},{"path":[4,0,2,85],"span":[150,2,64]},{"path":[4,0,2,85,6],"span":[150,2,38]},{"path":[4,0,2,85,1],"span":[150,39,57]},{"path":[4,0,2,85,3],"span":[150,60,63]},{"path":[4,0,2,86],"span":[151,2,65]},{"path":[4,0,2,86,6],"span":[151,2,38]},{"path":[4,0,2,86,1],"span":[151,39,58]},{"path":[4,0,2,86,3],"span":[151,61,64]},{"path":[4,0,2,87],"span":[152,2,52]},{"path":[4,0,2,87,6],"span":[152,2,32]},{"path":[4,0,2,87,1],"span":[152,33,45]},{"path":[4,0,2,87,3],"span":[152,48,51]},{"path":[4,0,2,88],"span":[153,2,58]},{"path":[4,0,2,88,6],"span":[153,2,35]},{"path":[4,0,2,88,1],"span":[153,36,51]},{"path":[4,0,2,88,3],"span":[153,54,57]},{"path":[4,0,2,89],"span":[154,2,56]},{"path":[4,0,2,89,6],"span":[154,2,34]},{"path":[4,0,2,89,1],"span":[154,35,49]},{"path":[4,0,2,89,3],"span":[154,52,55]},{"path":[4,0,2,90],"span":[155,2,65]},{"path":[4,0,2,90,6],"span":[155,2,38]},{"path":[4,0,2,90,1],"span":[155,39,58]},{"path":[4,0,2,90,3],"span":[155,61,64]},{"path":[4,0,2,91],"span":[156,2,69]},{"path":[4,0,2,91,6],"span":[156,2,39]},{"path":[4,0,2,91,1],"span":[156,40,62]},{"path":[4,0,2,91,3],"span":[156,65,68]},{"path":[4,0,2,92],"span":[157,2,69]},{"path":[4,0,2,92,6],"span":[157,2,39]},{"path":[4,0,2,92,1],"span":[157,40,62]},{"path":[4,0,2,92,3],"span":[157,65,68]},{"path":[4,0,2,93],"span":[158,2,71]},{"path":[4,0,2,93,6],"span":[158,2,40]},{"path":[4,0,2,93,1],"span":[158,41,64]},{"path":[4,0,2,93,3],"span":[158,67,70]},{"path":[4,0,2,94],"span":[159,2,69]},{"path":[4,0,2,94,6],"span":[159,2,39]},{"path":[4,0,2,94,1],"span":[159,40,62]},{"path":[4,0,2,94,3],"span":[159,65,68]},{"path":[4,0,2,95],"span":[160,2,71]},{"path":[4,0,2,95,6],"span":[160,2,40]},{"path":[4,0,2,95,1],"span":[160,41,64]},{"path":[4,0,2,95,3],"span":[160,67,70]},{"path":[4,0,2,96],"span":[161,2,71]},{"path":[4,0,2,96,6],"span":[161,2,40]},{"path":[4,0,2,96,1],"span":[161,41,64]},{"path":[4,0,2,96,3],"span":[161,67,70]},{"path":[4,0,2,97],"span":[162,2,71]},{"path":[4,0,2,97,6],"span":[162,2,40]},{"path":[4,0,2,97,1],"span":[162,41,64]},{"path":[4,0,2,97,3],"span":[162,67,70]},{"path":[4,0,2,98],"span":[163,2,67]},{"path":[4,0,2,98,6],"span":[163,2,38]},{"path":[4,0,2,98,1],"span":[163,39,60]},{"path":[4,0,2,98,3],"span":[163,63,66]},{"path":[4,0,2,99],"span":[164,2,69]},{"path":[4,0,2,99,6],"span":[164,2,39]},{"path":[4,0,2,99,1],"span":[164,40,62]},{"path":[4,0,2,99,3],"span":[164,65,68]},{"path":[4,0,2,100],"span":[166,2,39]},{"path":[4,0,2,100,6],"span":[166,2,18]},{"path":[4,0,2,100,1],"span":[166,19,33]},{"path":[4,0,2,100,3],"span":[166,36,38]},{"path":[4,0,2,101],"span":[167,2,43]},{"path":[4,0,2,101,6],"span":[167,2,20]},{"path":[4,0,2,101,1],"span":[167,21,37]},{"path":[4,0,2,101,3],"span":[167,40,42]},{"path":[4,0,2,102],"span":[168,2,41]},{"path":[4,0,2,102,6],"span":[168,2,19]},{"path":[4,0,2,102,1],"span":[168,20,35]},{"path":[4,0,2,102,3],"span":[168,38,40]},{"path":[4,0,2,103],"span":[169,2,41]},{"path":[4,0,2,103,6],"span":[169,2,19]},{"path":[4,0,2,103,1],"span":[169,20,35]},{"path":[4,0,2,103,3],"span":[169,38,40]},{"path":[4,0,2,104],"span":[170,2,41]},{"path":[4,0,2,104,6],"span":[170,2,19]},{"path":[4,0,2,104,1],"span":[170,20,35]},{"path":[4,0,2,104,3],"span":[170,38,40]},{"path":[4,0,2,105],"span":[171,2,43]},{"path":[4,0,2,105,6],"span":[171,2,20]},{"path":[4,0,2,105,1],"span":[171,21,37]},{"path":[4,0,2,105,3],"span":[171,40,42]},{"path":[4,0,2,106],"span":[172,2,43]},{"path":[4,0,2,106,6],"span":[172,2,20]},{"path":[4,0,2,106,1],"span":[172,21,37]},{"path":[4,0,2,106,3],"span":[172,40,42]},{"path":[4,0,2,107],"span":[173,2,41]},{"path":[4,0,2,107,6],"span":[173,2,19]},{"path":[4,0,2,107,1],"span":[173,20,35]},{"path":[4,0,2,107,3],"span":[173,38,40]},{"path":[4,0,2,108],"span":[174,2,43]},{"path":[4,0,2,108,6],"span":[174,2,20]},{"path":[4,0,2,108,1],"span":[174,21,37]},{"path":[4,0,2,108,3],"span":[174,40,42]},{"path":[4,0,2,109],"span":[175,2,45]},{"path":[4,0,2,109,6],"span":[175,2,24]},{"path":[4,0,2,109,1],"span":[175,25,39]},{"path":[4,0,2,109,3],"span":[175,42,44]},{"path":[4,0,2,110],"span":[176,2,51]},{"path":[4,0,2,110,6],"span":[176,2,27]},{"path":[4,0,2,110,1],"span":[176,28,45]},{"path":[4,0,2,110,3],"span":[176,48,50]},{"path":[4,0,2,111],"span":[177,2,64]},{"path":[4,0,2,111,6],"span":[177,2,38]},{"path":[4,0,2,111,1],"span":[177,39,57]},{"path":[4,0,2,111,3],"span":[177,60,63]},{"path":[4,0,2,112],"span":[178,2,66]},{"path":[4,0,2,112,6],"span":[178,2,39]},{"path":[4,0,2,112,1],"span":[178,40,59]},{"path":[4,0,2,112,3],"span":[178,62,65]},{"path":[4,0,2,113],"span":[179,2,67]},{"path":[4,0,2,113,6],"span":[179,2,39]},{"path":[4,0,2,113,1],"span":[179,40,60]},{"path":[4,0,2,113,3],"span":[179,63,66]},{"path":[4,0,2,114],"span":[180,2,54]},{"path":[4,0,2,114,6],"span":[180,2,33]},{"path":[4,0,2,114,1],"span":[180,34,47]},{"path":[4,0,2,114,3],"span":[180,50,53]},{"path":[4,0,2,115],"span":[181,2,60]},{"path":[4,0,2,115,6],"span":[181,2,36]},{"path":[4,0,2,115,1],"span":[181,37,53]},{"path":[4,0,2,115,3],"span":[181,56,59]},{"path":[4,0,2,116],"span":[182,2,58]},{"path":[4,0,2,116,6],"span":[182,2,35]},{"path":[4,0,2,116,1],"span":[182,36,51]},{"path":[4,0,2,116,3],"span":[182,54,57]},{"path":[4,0,2,117],"span":[183,2,67]},{"path":[4,0,2,117,6],"span":[183,2,39]},{"path":[4,0,2,117,1],"span":[183,40,60]},{"path":[4,0,2,117,3],"span":[183,63,66]},{"path":[4,0,2,118],"span":[184,2,71]},{"path":[4,0,2,118,6],"span":[184,2,40]},{"path":[4,0,2,118,1],"span":[184,41,64]},{"path":[4,0,2,118,3],"span":[184,67,70]},{"path":[4,0,2,119],"span":[185,2,71]},{"path":[4,0,2,119,6],"span":[185,2,40]},{"path":[4,0,2,119,1],"span":[185,41,64]},{"path":[4,0,2,119,3],"span":[185,67,70]},{"path":[4,0,2,120],"span":[186,2,73]},{"path":[4,0,2,120,6],"span":[186,2,41]},{"path":[4,0,2,120,1],"span":[186,42,66]},{"path":[4,0,2,120,3],"span":[186,69,72]},{"path":[4,0,2,121],"span":[187,2,71]},{"path":[4,0,2,121,6],"span":[187,2,40]},{"path":[4,0,2,121,1],"span":[187,41,64]},{"path":[4,0,2,121,3],"span":[187,67,70]},{"path":[4,0,2,122],"span":[188,2,73]},{"path":[4,0,2,122,6],"span":[188,2,41]},{"path":[4,0,2,122,1],"span":[188,42,66]},{"path":[4,0,2,122,3],"span":[188,69,72]},{"path":[4,0,2,123],"span":[189,2,73]},{"path":[4,0,2,123,6],"span":[189,2,41]},{"path":[4,0,2,123,1],"span":[189,42,66]},{"path":[4,0,2,123,3],"span":[189,69,72]},{"path":[4,0,2,124],"span":[190,2,73]},{"path":[4,0,2,124,6],"span":[190,2,41]},{"path":[4,0,2,124,1],"span":[190,42,66]},{"path":[4,0,2,124,3],"span":[190,69,72]},{"path":[4,0,2,125],"span":[191,2,69]},{"path":[4,0,2,125,6],"span":[191,2,39]},{"path":[4,0,2,125,1],"span":[191,40,62]},{"path":[4,0,2,125,3],"span":[191,65,68]},{"path":[4,0,2,126],"span":[192,2,71]},{"path":[4,0,2,126,6],"span":[192,2,40]},{"path":[4,0,2,126,1],"span":[192,41,64]},{"path":[4,0,2,126,3],"span":[192,67,70]},{"path":[4,0,2,127],"span":[194,2,39]},{"path":[4,0,2,127,6],"span":[194,2,18]},{"path":[4,0,2,127,1],"span":[194,19,33]},{"path":[4,0,2,127,3],"span":[194,36,38]},{"path":[4,0,2,128],"span":[195,2,43]},{"path":[4,0,2,128,6],"span":[195,2,20]},{"path":[4,0,2,128,1],"span":[195,21,37]},{"path":[4,0,2,128,3],"span":[195,40,42]},{"path":[4,0,2,129],"span":[196,2,41]},{"path":[4,0,2,129,6],"span":[196,2,19]},{"path":[4,0,2,129,1],"span":[196,20,35]},{"path":[4,0,2,129,3],"span":[196,38,40]},{"path":[4,0,2,130],"span":[197,2,41]},{"path":[4,0,2,130,6],"span":[197,2,19]},{"path":[4,0,2,130,1],"span":[197,20,35]},{"path":[4,0,2,130,3],"span":[197,38,40]},{"path":[4,0,2,131],"span":[198,2,41]},{"path":[4,0,2,131,6],"span":[198,2,19]},{"path":[4,0,2,131,1],"span":[198,20,35]},{"path":[4,0,2,131,3],"span":[198,38,40]},{"path":[4,0,2,132],"span":[199,2,43]},{"path":[4,0,2,132,6],"span":[199,2,20]},{"path":[4,0,2,132,1],"span":[199,21,37]},{"path":[4,0,2,132,3],"span":[199,40,42]},{"path":[4,0,2,133],"span":[200,2,43]},{"path":[4,0,2,133,6],"span":[200,2,20]},{"path":[4,0,2,133,1],"span":[200,21,37]},{"path":[4,0,2,133,3],"span":[200,40,42]},{"path":[4,0,2,134],"span":[201,2,41]},{"path":[4,0,2,134,6],"span":[201,2,19]},{"path":[4,0,2,134,1],"span":[201,20,35]},{"path":[4,0,2,134,3],"span":[201,38,40]},{"path":[4,0,2,135],"span":[202,2,43]},{"path":[4,0,2,135,6],"span":[202,2,20]},{"path":[4,0,2,135,1],"span":[202,21,37]},{"path":[4,0,2,135,3],"span":[202,40,42]},{"path":[4,0,2,136],"span":[203,2,45]},{"path":[4,0,2,136,6],"span":[203,2,24]},{"path":[4,0,2,136,1],"span":[203,25,39]},{"path":[4,0,2,136,3],"span":[203,42,44]},{"path":[4,0,2,137],"span":[204,2,51]},{"path":[4,0,2,137,6],"span":[204,2,27]},{"path":[4,0,2,137,1],"span":[204,28,45]},{"path":[4,0,2,137,3],"span":[204,48,50]},{"path":[4,0,2,138],"span":[205,2,64]},{"path":[4,0,2,138,6],"span":[205,2,38]},{"path":[4,0,2,138,1],"span":[205,39,57]},{"path":[4,0,2,138,3],"span":[205,60,63]},{"path":[4,0,2,139],"span":[206,2,66]},{"path":[4,0,2,139,6],"span":[206,2,39]},{"path":[4,0,2,139,1],"span":[206,40,59]},{"path":[4,0,2,139,3],"span":[206,62,65]},{"path":[4,0,2,140],"span":[207,2,67]},{"path":[4,0,2,140,6],"span":[207,2,39]},{"path":[4,0,2,140,1],"span":[207,40,60]},{"path":[4,0,2,140,3],"span":[207,63,66]},{"path":[4,0,2,141],"span":[208,2,54]},{"path":[4,0,2,141,6],"span":[208,2,33]},{"path":[4,0,2,141,1],"span":[208,34,47]},{"path":[4,0,2,141,3],"span":[208,50,53]},{"path":[4,0,2,142],"span":[209,2,60]},{"path":[4,0,2,142,6],"span":[209,2,36]},{"path":[4,0,2,142,1],"span":[209,37,53]},{"path":[4,0,2,142,3],"span":[209,56,59]},{"path":[4,0,2,143],"span":[210,2,58]},{"path":[4,0,2,143,6],"span":[210,2,35]},{"path":[4,0,2,143,1],"span":[210,36,51]},{"path":[4,0,2,143,3],"span":[210,54,57]},{"path":[4,0,2,144],"span":[211,2,67]},{"path":[4,0,2,144,6],"span":[211,2,39]},{"path":[4,0,2,144,1],"span":[211,40,60]},{"path":[4,0,2,144,3],"span":[211,63,66]},{"path":[4,0,2,145],"span":[212,2,71]},{"path":[4,0,2,145,6],"span":[212,2,40]},{"path":[4,0,2,145,1],"span":[212,41,64]},{"path":[4,0,2,145,3],"span":[212,67,70]},{"path":[4,0,2,146],"span":[213,2,71]},{"path":[4,0,2,146,6],"span":[213,2,40]},{"path":[4,0,2,146,1],"span":[213,41,64]},{"path":[4,0,2,146,3],"span":[213,67,70]},{"path":[4,0,2,147],"span":[214,2,73]},{"path":[4,0,2,147,6],"span":[214,2,41]},{"path":[4,0,2,147,1],"span":[214,42,66]},{"path":[4,0,2,147,3],"span":[214,69,72]},{"path":[4,0,2,148],"span":[215,2,71]},{"path":[4,0,2,148,6],"span":[215,2,40]},{"path":[4,0,2,148,1],"span":[215,41,64]},{"path":[4,0,2,148,3],"span":[215,67,70]},{"path":[4,0,2,149],"span":[216,2,73]},{"path":[4,0,2,149,6],"span":[216,2,41]},{"path":[4,0,2,149,1],"span":[216,42,66]},{"path":[4,0,2,149,3],"span":[216,69,72]},{"path":[4,0,2,150],"span":[217,2,73]},{"path":[4,0,2,150,6],"span":[217,2,41]},{"path":[4,0,2,150,1],"span":[217,42,66]},{"path":[4,0,2,150,3],"span":[217,69,72]},{"path":[4,0,2,151],"span":[218,2,73]},{"path":[4,0,2,151,6],"span":[218,2,41]},{"path":[4,0,2,151,1],"span":[218,42,66]},{"path":[4,0,2,151,3],"span":[218,69,72]},{"path":[4,0,2,152],"span":[219,2,69]},{"path":[4,0,2,152,6],"span":[219,2,39]},{"path":[4,0,2,152,1],"span":[219,40,62]},{"path":[4,0,2,152,3],"span":[219,65,68]},{"path":[4,0,2,153],"span":[220,2,71]},{"path":[4,0,2,153,6],"span":[220,2,40]},{"path":[4,0,2,153,1],"span":[220,41,64]},{"path":[4,0,2,153,3],"span":[220,67,70]},{"path":[4,0,2,154],"span":[222,2,41]},{"path":[4,0,2,154,6],"span":[222,2,19]},{"path":[4,0,2,154,1],"span":[222,20,35]},{"path":[4,0,2,154,3],"span":[222,38,40]},{"path":[4,0,2,155],"span":[223,2,45]},{"path":[4,0,2,155,6],"span":[223,2,21]},{"path":[4,0,2,155,1],"span":[223,22,39]},{"path":[4,0,2,155,3],"span":[223,42,44]},{"path":[4,0,2,156],"span":[224,2,43]},{"path":[4,0,2,156,6],"span":[224,2,20]},{"path":[4,0,2,156,1],"span":[224,21,37]},{"path":[4,0,2,156,3],"span":[224,40,42]},{"path":[4,0,2,157],"span":[225,2,43]},{"path":[4,0,2,157,6],"span":[225,2,20]},{"path":[4,0,2,157,1],"span":[225,21,37]},{"path":[4,0,2,157,3],"span":[225,40,42]},{"path":[4,0,2,158],"span":[226,2,44]},{"path":[4,0,2,158,6],"span":[226,2,20]},{"path":[4,0,2,158,1],"span":[226,21,37]},{"path":[4,0,2,158,3],"span":[226,40,43]},{"path":[4,0,2,159],"span":[227,2,46]},{"path":[4,0,2,159,6],"span":[227,2,21]},{"path":[4,0,2,159,1],"span":[227,22,39]},{"path":[4,0,2,159,3],"span":[227,42,45]},{"path":[4,0,2,160],"span":[228,2,46]},{"path":[4,0,2,160,6],"span":[228,2,21]},{"path":[4,0,2,160,1],"span":[228,22,39]},{"path":[4,0,2,160,3],"span":[228,42,45]},{"path":[4,0,2,161],"span":[229,2,44]},{"path":[4,0,2,161,6],"span":[229,2,20]},{"path":[4,0,2,161,1],"span":[229,21,37]},{"path":[4,0,2,161,3],"span":[229,40,43]},{"path":[4,0,2,162],"span":[230,2,46]},{"path":[4,0,2,162,6],"span":[230,2,21]},{"path":[4,0,2,162,1],"span":[230,22,39]},{"path":[4,0,2,162,3],"span":[230,42,45]},{"path":[4,0,2,163],"span":[231,2,48]},{"path":[4,0,2,163,6],"span":[231,2,25]},{"path":[4,0,2,163,1],"span":[231,26,41]},{"path":[4,0,2,163,3],"span":[231,44,47]},{"path":[4,0,2,164],"span":[232,2,54]},{"path":[4,0,2,164,6],"span":[232,2,28]},{"path":[4,0,2,164,1],"span":[232,29,47]},{"path":[4,0,2,164,3],"span":[232,50,53]},{"path":[4,0,2,165],"span":[233,2,66]},{"path":[4,0,2,165,6],"span":[233,2,39]},{"path":[4,0,2,165,1],"span":[233,40,59]},{"path":[4,0,2,165,3],"span":[233,62,65]},{"path":[4,0,2,166],"span":[234,2,68]},{"path":[4,0,2,166,6],"span":[234,2,40]},{"path":[4,0,2,166,1],"span":[234,41,61]},{"path":[4,0,2,166,3],"span":[234,64,67]},{"path":[4,0,2,167],"span":[235,2,69]},{"path":[4,0,2,167,6],"span":[235,2,40]},{"path":[4,0,2,167,1],"span":[235,41,62]},{"path":[4,0,2,167,3],"span":[235,65,68]},{"path":[4,0,2,168],"span":[236,2,56]},{"path":[4,0,2,168,6],"span":[236,2,34]},{"path":[4,0,2,168,1],"span":[236,35,49]},{"path":[4,0,2,168,3],"span":[236,52,55]},{"path":[4,0,2,169],"span":[237,2,62]},{"path":[4,0,2,169,6],"span":[237,2,37]},{"path":[4,0,2,169,1],"span":[237,38,55]},{"path":[4,0,2,169,3],"span":[237,58,61]},{"path":[4,0,2,170],"span":[238,2,60]},{"path":[4,0,2,170,6],"span":[238,2,36]},{"path":[4,0,2,170,1],"span":[238,37,53]},{"path":[4,0,2,170,3],"span":[238,56,59]},{"path":[4,0,2,171],"span":[239,2,69]},{"path":[4,0,2,171,6],"span":[239,2,40]},{"path":[4,0,2,171,1],"span":[239,41,62]},{"path":[4,0,2,171,3],"span":[239,65,68]},{"path":[4,0,2,172],"span":[240,2,73]},{"path":[4,0,2,172,6],"span":[240,2,41]},{"path":[4,0,2,172,1],"span":[240,42,66]},{"path":[4,0,2,172,3],"span":[240,69,72]},{"path":[4,0,2,173],"span":[241,2,73]},{"path":[4,0,2,173,6],"span":[241,2,41]},{"path":[4,0,2,173,1],"span":[241,42,66]},{"path":[4,0,2,173,3],"span":[241,69,72]},{"path":[4,0,2,174],"span":[242,2,75]},{"path":[4,0,2,174,6],"span":[242,2,42]},{"path":[4,0,2,174,1],"span":[242,43,68]},{"path":[4,0,2,174,3],"span":[242,71,74]},{"path":[4,0,2,175],"span":[243,2,73]},{"path":[4,0,2,175,6],"span":[243,2,41]},{"path":[4,0,2,175,1],"span":[243,42,66]},{"path":[4,0,2,175,3],"span":[243,69,72]},{"path":[4,0,2,176],"span":[244,2,75]},{"path":[4,0,2,176,6],"span":[244,2,42]},{"path":[4,0,2,176,1],"span":[244,43,68]},{"path":[4,0,2,176,3],"span":[244,71,74]},{"path":[4,0,2,177],"span":[245,2,75]},{"path":[4,0,2,177,6],"span":[245,2,42]},{"path":[4,0,2,177,1],"span":[245,43,68]},{"path":[4,0,2,177,3],"span":[245,71,74]},{"path":[4,0,2,178],"span":[246,2,75]},{"path":[4,0,2,178,6],"span":[246,2,42]},{"path":[4,0,2,178,1],"span":[246,43,68]},{"path":[4,0,2,178,3],"span":[246,71,74]},{"path":[4,0,2,179],"span":[247,2,71]},{"path":[4,0,2,179,6],"span":[247,2,40]},{"path":[4,0,2,179,1],"span":[247,41,64]},{"path":[4,0,2,179,3],"span":[247,67,70]},{"path":[4,0,2,180],"span":[248,2,73]},{"path":[4,0,2,180,6],"span":[248,2,41]},{"path":[4,0,2,180,1],"span":[248,42,66]},{"path":[4,0,2,180,3],"span":[248,69,72]},{"path":[4,0,2,181],"span":[250,2,42]},{"path":[4,0,2,181,6],"span":[250,2,19]},{"path":[4,0,2,181,1],"span":[250,20,35]},{"path":[4,0,2,181,3],"span":[250,38,41]},{"path":[4,0,2,182],"span":[251,2,46]},{"path":[4,0,2,182,6],"span":[251,2,21]},{"path":[4,0,2,182,1],"span":[251,22,39]},{"path":[4,0,2,182,3],"span":[251,42,45]},{"path":[4,0,2,183],"span":[252,2,44]},{"path":[4,0,2,183,6],"span":[252,2,20]},{"path":[4,0,2,183,1],"span":[252,21,37]},{"path":[4,0,2,183,3],"span":[252,40,43]},{"path":[4,0,2,184],"span":[253,2,44]},{"path":[4,0,2,184,6],"span":[253,2,20]},{"path":[4,0,2,184,1],"span":[253,21,37]},{"path":[4,0,2,184,3],"span":[253,40,43]},{"path":[4,0,2,185],"span":[254,2,44]},{"path":[4,0,2,185,6],"span":[254,2,20]},{"path":[4,0,2,185,1],"span":[254,21,37]},{"path":[4,0,2,185,3],"span":[254,40,43]},{"path":[4,0,2,186],"span":[255,2,46]},{"path":[4,0,2,186,6],"span":[255,2,21]},{"path":[4,0,2,186,1],"span":[255,22,39]},{"path":[4,0,2,186,3],"span":[255,42,45]},{"path":[4,0,2,187],"span":[256,2,46]},{"path":[4,0,2,187,6],"span":[256,2,21]},{"path":[4,0,2,187,1],"span":[256,22,39]},{"path":[4,0,2,187,3],"span":[256,42,45]},{"path":[4,0,2,188],"span":[257,2,44]},{"path":[4,0,2,188,6],"span":[257,2,20]},{"path":[4,0,2,188,1],"span":[257,21,37]},{"path":[4,0,2,188,3],"span":[257,40,43]},{"path":[4,0,2,189],"span":[258,2,46]},{"path":[4,0,2,189,6],"span":[258,2,21]},{"path":[4,0,2,189,1],"span":[258,22,39]},{"path":[4,0,2,189,3],"span":[258,42,45]},{"path":[4,0,2,190],"span":[259,2,48]},{"path":[4,0,2,190,6],"span":[259,2,25]},{"path":[4,0,2,190,1],"span":[259,26,41]},{"path":[4,0,2,190,3],"span":[259,44,47]},{"path":[4,0,2,191],"span":[260,2,54]},{"path":[4,0,2,191,6],"span":[260,2,28]},{"path":[4,0,2,191,1],"span":[260,29,47]},{"path":[4,0,2,191,3],"span":[260,50,53]},{"path":[4,0,2,192],"span":[261,2,66]},{"path":[4,0,2,192,6],"span":[261,2,39]},{"path":[4,0,2,192,1],"span":[261,40,59]},{"path":[4,0,2,192,3],"span":[261,62,65]},{"path":[4,0,2,193],"span":[262,2,68]},{"path":[4,0,2,193,6],"span":[262,2,40]},{"path":[4,0,2,193,1],"span":[262,41,61]},{"path":[4,0,2,193,3],"span":[262,64,67]},{"path":[4,0,2,194],"span":[263,2,69]},{"path":[4,0,2,194,6],"span":[263,2,40]},{"path":[4,0,2,194,1],"span":[263,41,62]},{"path":[4,0,2,194,3],"span":[263,65,68]},{"path":[4,0,2,195],"span":[264,2,56]},{"path":[4,0,2,195,6],"span":[264,2,34]},{"path":[4,0,2,195,1],"span":[264,35,49]},{"path":[4,0,2,195,3],"span":[264,52,55]},{"path":[4,0,2,196],"span":[265,2,62]},{"path":[4,0,2,196,6],"span":[265,2,37]},{"path":[4,0,2,196,1],"span":[265,38,55]},{"path":[4,0,2,196,3],"span":[265,58,61]},{"path":[4,0,2,197],"span":[266,2,60]},{"path":[4,0,2,197,6],"span":[266,2,36]},{"path":[4,0,2,197,1],"span":[266,37,53]},{"path":[4,0,2,197,3],"span":[266,56,59]},{"path":[4,0,2,198],"span":[267,2,69]},{"path":[4,0,2,198,6],"span":[267,2,40]},{"path":[4,0,2,198,1],"span":[267,41,62]},{"path":[4,0,2,198,3],"span":[267,65,68]},{"path":[4,0,2,199],"span":[268,2,73]},{"path":[4,0,2,199,6],"span":[268,2,41]},{"path":[4,0,2,199,1],"span":[268,42,66]},{"path":[4,0,2,199,3],"span":[268,69,72]},{"path":[4,0,2,200],"span":[269,2,73]},{"path":[4,0,2,200,6],"span":[269,2,41]},{"path":[4,0,2,200,1],"span":[269,42,66]},{"path":[4,0,2,200,3],"span":[269,69,72]},{"path":[4,0,2,201],"span":[270,2,75]},{"path":[4,0,2,201,6],"span":[270,2,42]},{"path":[4,0,2,201,1],"span":[270,43,68]},{"path":[4,0,2,201,3],"span":[270,71,74]},{"path":[4,0,2,202],"span":[271,2,73]},{"path":[4,0,2,202,6],"span":[271,2,41]},{"path":[4,0,2,202,1],"span":[271,42,66]},{"path":[4,0,2,202,3],"span":[271,69,72]},{"path":[4,0,2,203],"span":[272,2,75]},{"path":[4,0,2,203,6],"span":[272,2,42]},{"path":[4,0,2,203,1],"span":[272,43,68]},{"path":[4,0,2,203,3],"span":[272,71,74]},{"path":[4,0,2,204],"span":[273,2,75]},{"path":[4,0,2,204,6],"span":[273,2,42]},{"path":[4,0,2,204,1],"span":[273,43,68]},{"path":[4,0,2,204,3],"span":[273,71,74]},{"path":[4,0,2,205],"span":[274,2,75]},{"path":[4,0,2,205,6],"span":[274,2,42]},{"path":[4,0,2,205,1],"span":[274,43,68]},{"path":[4,0,2,205,3],"span":[274,71,74]},{"path":[4,0,2,206],"span":[275,2,71]},{"path":[4,0,2,206,6],"span":[275,2,40]},{"path":[4,0,2,206,1],"span":[275,41,64]},{"path":[4,0,2,206,3],"span":[275,67,70]},{"path":[4,0,2,207],"span":[276,2,73]},{"path":[4,0,2,207,6],"span":[276,2,41]},{"path":[4,0,2,207,1],"span":[276,42,66]},{"path":[4,0,2,207,3],"span":[276,69,72]},{"path":[4,0,2,208],"span":[278,2,42]},{"path":[4,0,2,208,6],"span":[278,2,19]},{"path":[4,0,2,208,1],"span":[278,20,35]},{"path":[4,0,2,208,3],"span":[278,38,41]},{"path":[4,0,2,209],"span":[279,2,45]},{"path":[4,0,2,209,6],"span":[279,2,21]},{"path":[4,0,2,209,1],"span":[279,22,39]},{"path":[4,0,2,209,3],"span":[279,42,44]},{"path":[4,0,2,210],"span":[280,2,44]},{"path":[4,0,2,210,6],"span":[280,2,20]},{"path":[4,0,2,210,1],"span":[280,21,37]},{"path":[4,0,2,210,3],"span":[280,40,43]},{"path":[4,0,2,211],"span":[281,2,44]},{"path":[4,0,2,211,6],"span":[281,2,20]},{"path":[4,0,2,211,1],"span":[281,21,37]},{"path":[4,0,2,211,3],"span":[281,40,43]},{"path":[4,0,2,212],"span":[282,2,44]},{"path":[4,0,2,212,6],"span":[282,2,20]},{"path":[4,0,2,212,1],"span":[282,21,37]},{"path":[4,0,2,212,3],"span":[282,40,43]},{"path":[4,0,2,213],"span":[283,2,46]},{"path":[4,0,2,213,6],"span":[283,2,21]},{"path":[4,0,2,213,1],"span":[283,22,39]},{"path":[4,0,2,213,3],"span":[283,42,45]},{"path":[4,0,2,214],"span":[284,2,46]},{"path":[4,0,2,214,6],"span":[284,2,21]},{"path":[4,0,2,214,1],"span":[284,22,39]},{"path":[4,0,2,214,3],"span":[284,42,45]},{"path":[4,0,2,215],"span":[285,2,44]},{"path":[4,0,2,215,6],"span":[285,2,20]},{"path":[4,0,2,215,1],"span":[285,21,37]},{"path":[4,0,2,215,3],"span":[285,40,43]},{"path":[4,0,2,216],"span":[286,2,46]},{"path":[4,0,2,216,6],"span":[286,2,21]},{"path":[4,0,2,216,1],"span":[286,22,39]},{"path":[4,0,2,216,3],"span":[286,42,45]},{"path":[4,0,2,217],"span":[287,2,48]},{"path":[4,0,2,217,6],"span":[287,2,25]},{"path":[4,0,2,217,1],"span":[287,26,41]},{"path":[4,0,2,217,3],"span":[287,44,47]},{"path":[4,0,2,218],"span":[288,2,54]},{"path":[4,0,2,218,6],"span":[288,2,28]},{"path":[4,0,2,218,1],"span":[288,29,47]},{"path":[4,0,2,218,3],"span":[288,50,53]},{"path":[4,0,2,219],"span":[289,2,66]},{"path":[4,0,2,219,6],"span":[289,2,39]},{"path":[4,0,2,219,1],"span":[289,40,59]},{"path":[4,0,2,219,3],"span":[289,62,65]},{"path":[4,0,2,220],"span":[290,2,68]},{"path":[4,0,2,220,6],"span":[290,2,40]},{"path":[4,0,2,220,1],"span":[290,41,61]},{"path":[4,0,2,220,3],"span":[290,64,67]},{"path":[4,0,2,221],"span":[291,2,69]},{"path":[4,0,2,221,6],"span":[291,2,40]},{"path":[4,0,2,221,1],"span":[291,41,62]},{"path":[4,0,2,221,3],"span":[291,65,68]},{"path":[4,0,2,222],"span":[292,2,56]},{"path":[4,0,2,222,6],"span":[292,2,34]},{"path":[4,0,2,222,1],"span":[292,35,49]},{"path":[4,0,2,222,3],"span":[292,52,55]},{"path":[4,0,2,223],"span":[293,2,62]},{"path":[4,0,2,223,6],"span":[293,2,37]},{"path":[4,0,2,223,1],"span":[293,38,55]},{"path":[4,0,2,223,3],"span":[293,58,61]},{"path":[4,0,2,224],"span":[294,2,60]},{"path":[4,0,2,224,6],"span":[294,2,36]},{"path":[4,0,2,224,1],"span":[294,37,53]},{"path":[4,0,2,224,3],"span":[294,56,59]},{"path":[4,0,2,225],"span":[295,2,69]},{"path":[4,0,2,225,6],"span":[295,2,40]},{"path":[4,0,2,225,1],"span":[295,41,62]},{"path":[4,0,2,225,3],"span":[295,65,68]},{"path":[4,0,2,226],"span":[296,2,73]},{"path":[4,0,2,226,6],"span":[296,2,41]},{"path":[4,0,2,226,1],"span":[296,42,66]},{"path":[4,0,2,226,3],"span":[296,69,72]},{"path":[4,0,2,227],"span":[297,2,73]},{"path":[4,0,2,227,6],"span":[297,2,41]},{"path":[4,0,2,227,1],"span":[297,42,66]},{"path":[4,0,2,227,3],"span":[297,69,72]},{"path":[4,0,2,228],"span":[298,2,75]},{"path":[4,0,2,228,6],"span":[298,2,42]},{"path":[4,0,2,228,1],"span":[298,43,68]},{"path":[4,0,2,228,3],"span":[298,71,74]},{"path":[4,0,2,229],"span":[299,2,73]},{"path":[4,0,2,229,6],"span":[299,2,41]},{"path":[4,0,2,229,1],"span":[299,42,66]},{"path":[4,0,2,229,3],"span":[299,69,72]},{"path":[4,0,2,230],"span":[300,2,75]},{"path":[4,0,2,230,6],"span":[300,2,42]},{"path":[4,0,2,230,1],"span":[300,43,68]},{"path":[4,0,2,230,3],"span":[300,71,74]},{"path":[4,0,2,231],"span":[301,2,75]},{"path":[4,0,2,231,6],"span":[301,2,42]},{"path":[4,0,2,231,1],"span":[301,43,68]},{"path":[4,0,2,231,3],"span":[301,71,74]},{"path":[4,0,2,232],"span":[302,2,75]},{"path":[4,0,2,232,6],"span":[302,2,42]},{"path":[4,0,2,232,1],"span":[302,43,68]},{"path":[4,0,2,232,3],"span":[302,71,74]},{"path":[4,0,2,233],"span":[303,2,71]},{"path":[4,0,2,233,6],"span":[303,2,40]},{"path":[4,0,2,233,1],"span":[303,41,64]},{"path":[4,0,2,233,3],"span":[303,67,70]},{"path":[4,0,2,234],"span":[304,2,73]},{"path":[4,0,2,234,6],"span":[304,2,41]},{"path":[4,0,2,234,1],"span":[304,42,66]},{"path":[4,0,2,234,3],"span":[304,69,72]},{"path":[4,1],"span":[308,0,311,1],"leadingComments":" This proto includes a recursively nested message.\n"},{"path":[4,1,1],"span":[308,8,26]},{"path":[4,1,2,0],"span":[309,2,31]},{"path":[4,1,2,0,6],"span":[309,2,20]},{"path":[4,1,2,0,1],"span":[309,21,26]},{"path":[4,1,2,0,3],"span":[309,29,30]},{"path":[4,1,2,1],"span":[310,2,27]},{"path":[4,1,2,1,6],"span":[310,2,14]},{"path":[4,1,2,1,1],"span":[310,15,22]},{"path":[4,1,2,1,3],"span":[310,25,26]},{"path":[5,0],"span":[314,0,318,1],"leadingComments":" This proto tests that global enums are resolved correctly.\n"},{"path":[5,0,1],"span":[314,5,15]},{"path":[5,0,2,0],"span":[315,2,10]},{"path":[5,0,2,0,1],"span":[315,2,5]},{"path":[5,0,2,0,2],"span":[315,8,9]},{"path":[5,0,2,1],"span":[316,2,10]},{"path":[5,0,2,1,1],"span":[316,2,5]},{"path":[5,0,2,1,2],"span":[316,8,9]},{"path":[5,0,2,2],"span":[317,2,10]},{"path":[5,0,2,2,1],"span":[317,2,5]},{"path":[5,0,2,2,2],"span":[317,8,9]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}},{"name":"buf/protoschema/test/v1/test_cases.proto","package":"buf.protoschema.test.v1","dependency":["buf/validate/validate.proto","bufext/cel/expr/conformance/proto3/test_all_types.proto"],"messageType":[{"name":"NestedReference","field":[{"name":"nested_message","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"nestedMessage"}]},{"name":"CustomOptions","field":[{"name":"int32_field","number":1,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"int32Field","options":{"packed":true,"[buf.validate.field]":{"cel":[{"id":"int32_field_id","message":"must be true","expression":"1 == 1"}]}}},{"name":"string_field","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"stringField","options":{"[buf.validate.field]":{"cel":[{"id":"string_field_id","message":"must be true","expression":"1 == 1"}]}}}],"oneofDecl":[{"name":"kind","options":{"[buf.validate.oneof]":{"required":true}}}],"options":{"noStandardDescriptorAccessor":true,"[buf.validate.message]":{"cel":[{"id":"custom_option_id","message":"must be true","expression":"1 == 1"}]}}},{"name":"IgnoreField","field":[{"name":"string_field","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"stringField"},{"name":"int32_field","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"int32Field"},{"name":"bool_field","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"boolField"},{"name":"bytes_field","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"bytesField"},{"name":"nested_reference","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.protoschema.test.v1.NestedReference","jsonName":"nestedReference"}]}],"sourceCodeInfo":{"location":[{"span":[14,0,68,1]},{"path":[12],"span":[14,0,18],"leadingDetachedComments":[" Copyright 2024-2025 Buf Technologies, Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n"]},{"path":[2],"span":[16,0,32]},{"path":[3,0],"span":[18,0,37]},{"path":[3,1],"span":[19,0,65]},{"path":[4,0],"span":[21,0,23,1]},{"path":[4,0,1],"span":[21,8,23]},{"path":[4,0,2,0],"span":[22,2,83]},{"path":[4,0,2,0,6],"span":[22,2,63]},{"path":[4,0,2,0,1],"span":[22,64,78]},{"path":[4,0,2,0,3],"span":[22,81,82]},{"path":[4,1],"span":[30,0,58,1],"leadingComments":" The title for CustomOptions. On\n multiple lines.\n\n This is a test case for the custom options in the buf.validate package... and\n comment parsing.\n"},{"path":[4,1,1],"span":[30,8,21]},{"path":[4,1,7],"span":[31,2,35,4]},{"path":[4,1,7,1159,3,0],"span":[31,2,35,4]},{"path":[4,1,7,1159,3,0,1],"span":[32,4,26]},{"path":[4,1,7,1159,3,0,3],"span":[33,4,24]},{"path":[4,1,7,1159,3,0,2],"span":[34,4,27]},{"path":[4,1,7],"span":[36,2,48]},{"path":[4,1,7,2],"span":[36,2,48]},{"path":[4,1,2,0],"span":[41,2,48,4],"leadingComments":" A field with a title.\n\n This field has a title!\n"},{"path":[4,1,2,0,4],"span":[41,2,10]},{"path":[4,1,2,0,5],"span":[41,11,16]},{"path":[4,1,2,0,1],"span":[41,17,28]},{"path":[4,1,2,0,3],"span":[41,31,32]},{"path":[4,1,2,0,8],"span":[41,33,48,3]},{"path":[4,1,2,0,8,2],"span":[42,4,17]},{"path":[4,1,2,0,8,1159,23,0],"span":[43,4,47,5]},{"path":[4,1,2,0,8,1159,23,0,1],"span":[44,6,26]},{"path":[4,1,2,0,8,1159,23,0,3],"span":[45,6,26]},{"path":[4,1,2,0,8,1159,23,0,2],"span":[46,6,29]},{"path":[4,1,8,0],"span":[50,2,57,3]},{"path":[4,1,8,0,1],"span":[50,8,12]},{"path":[4,1,8,0,2],"span":[51,4,48]},{"path":[4,1,8,0,2,1159,1],"span":[51,4,48]},{"path":[4,1,2,1],"span":[52,4,56,7]},{"path":[4,1,2,1,5],"span":[52,4,10]},{"path":[4,1,2,1,1],"span":[52,11,23]},{"path":[4,1,2,1,3],"span":[52,26,27]},{"path":[4,1,2,1,8],"span":[52,28,56,6]},{"path":[4,1,2,1,8,1159,23,0],"span":[52,29,56,5]},{"path":[4,1,2,1,8,1159,23,0,1],"span":[53,6,27]},{"path":[4,1,2,1,8,1159,23,0,3],"span":[54,6,26]},{"path":[4,1,2,1,8,1159,23,0,2],"span":[55,6,29]},{"path":[4,2],"span":[60,0,68,1]},{"path":[4,2,1],"span":[60,8,19]},{"path":[4,2,2,0],"span":[61,2,26],"trailingComments":" jsonschema:ignore\n"},{"path":[4,2,2,0,5],"span":[61,2,8]},{"path":[4,2,2,0,1],"span":[61,9,21]},{"path":[4,2,2,0,3],"span":[61,24,25]},{"path":[4,2,2,1],"span":[63,2,24],"leadingComments":" jsonschema:ignore\n"},{"path":[4,2,2,1,5],"span":[63,2,7]},{"path":[4,2,2,1,1],"span":[63,8,19]},{"path":[4,2,2,1,3],"span":[63,22,23]},{"path":[4,2,2,2],"span":[64,2,22]},{"path":[4,2,2,2,5],"span":[64,2,6]},{"path":[4,2,2,2,1],"span":[64,7,17]},{"path":[4,2,2,2,3],"span":[64,20,21]},{"path":[4,2,2,3],"span":[65,2,24],"trailingComments":" jsonschema:hide\n"},{"path":[4,2,2,3,5],"span":[65,2,7]},{"path":[4,2,2,3,1],"span":[65,8,19]},{"path":[4,2,2,3,3],"span":[65,22,23]},{"path":[4,2,2,4],"span":[67,2,39],"leadingComments":" jsonschema:hide\n"},{"path":[4,2,2,4,6],"span":[67,2,17]},{"path":[4,2,2,4,1],"span":[67,18,34]},{"path":[4,2,2,4,3],"span":[67,37,38]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}}]} \ No newline at end of file +{"file":[{"name":"google/protobuf/descriptor.proto","package":"google.protobuf","messageType":[{"name":"FileDescriptorSet","field":[{"name":"file","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FileDescriptorProto","jsonName":"file"}],"extensionRange":[{"start":536000000,"end":536000001,"options":{"declaration":[{"number":536000000,"fullName":".buf.descriptor.v1.buf_file_descriptor_set_extension","type":".buf.descriptor.v1.FileDescriptorSetExtension"}]}}]},{"name":"FileDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"package","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"package"},{"name":"dependency","number":3,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"dependency"},{"name":"public_dependency","number":10,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"publicDependency"},{"name":"weak_dependency","number":11,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"weakDependency"},{"name":"option_dependency","number":15,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"optionDependency"},{"name":"message_type","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.DescriptorProto","jsonName":"messageType"},{"name":"enum_type","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumDescriptorProto","jsonName":"enumType"},{"name":"service","number":6,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.ServiceDescriptorProto","jsonName":"service"},{"name":"extension","number":7,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldDescriptorProto","jsonName":"extension"},{"name":"options","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FileOptions","jsonName":"options"},{"name":"source_code_info","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.SourceCodeInfo","jsonName":"sourceCodeInfo"},{"name":"syntax","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"syntax"},{"name":"edition","number":14,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"edition"}]},{"name":"DescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"field","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldDescriptorProto","jsonName":"field"},{"name":"extension","number":6,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldDescriptorProto","jsonName":"extension"},{"name":"nested_type","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.DescriptorProto","jsonName":"nestedType"},{"name":"enum_type","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumDescriptorProto","jsonName":"enumType"},{"name":"extension_range","number":5,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.DescriptorProto.ExtensionRange","jsonName":"extensionRange"},{"name":"oneof_decl","number":8,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.OneofDescriptorProto","jsonName":"oneofDecl"},{"name":"options","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.MessageOptions","jsonName":"options"},{"name":"reserved_range","number":9,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.DescriptorProto.ReservedRange","jsonName":"reservedRange"},{"name":"reserved_name","number":10,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"reservedName"},{"name":"visibility","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.SymbolVisibility","jsonName":"visibility"}],"nestedType":[{"name":"ExtensionRange","field":[{"name":"start","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"start"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"end"},{"name":"options","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ExtensionRangeOptions","jsonName":"options"}]},{"name":"ReservedRange","field":[{"name":"start","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"start"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"end"}]}]},{"name":"ExtensionRangeOptions","field":[{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"},{"name":"declaration","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.ExtensionRangeOptions.Declaration","jsonName":"declaration","options":{"retention":"RETENTION_SOURCE"}},{"name":"features","number":50,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"verification","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.ExtensionRangeOptions.VerificationState","defaultValue":"UNVERIFIED","jsonName":"verification","options":{"retention":"RETENTION_SOURCE"}}],"nestedType":[{"name":"Declaration","field":[{"name":"number","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"number"},{"name":"full_name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"fullName"},{"name":"type","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"type"},{"name":"reserved","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"reserved"},{"name":"repeated","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"repeated"}],"reservedRange":[{"start":4,"end":5}]}],"enumType":[{"name":"VerificationState","value":[{"name":"DECLARATION","number":0},{"name":"UNVERIFIED","number":1}]}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"FieldDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"number","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"number"},{"name":"label","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldDescriptorProto.Label","jsonName":"label"},{"name":"type","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldDescriptorProto.Type","jsonName":"type"},{"name":"type_name","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"typeName"},{"name":"extendee","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"extendee"},{"name":"default_value","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"defaultValue"},{"name":"oneof_index","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"oneofIndex"},{"name":"json_name","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"jsonName"},{"name":"options","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldOptions","jsonName":"options"},{"name":"proto3_optional","number":17,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"proto3Optional"}],"enumType":[{"name":"Type","value":[{"name":"TYPE_DOUBLE","number":1},{"name":"TYPE_FLOAT","number":2},{"name":"TYPE_INT64","number":3},{"name":"TYPE_UINT64","number":4},{"name":"TYPE_INT32","number":5},{"name":"TYPE_FIXED64","number":6},{"name":"TYPE_FIXED32","number":7},{"name":"TYPE_BOOL","number":8},{"name":"TYPE_STRING","number":9},{"name":"TYPE_GROUP","number":10},{"name":"TYPE_MESSAGE","number":11},{"name":"TYPE_BYTES","number":12},{"name":"TYPE_UINT32","number":13},{"name":"TYPE_ENUM","number":14},{"name":"TYPE_SFIXED32","number":15},{"name":"TYPE_SFIXED64","number":16},{"name":"TYPE_SINT32","number":17},{"name":"TYPE_SINT64","number":18}]},{"name":"Label","value":[{"name":"LABEL_OPTIONAL","number":1},{"name":"LABEL_REPEATED","number":3},{"name":"LABEL_REQUIRED","number":2}]}]},{"name":"OneofDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"options","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.OneofOptions","jsonName":"options"}]},{"name":"EnumDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"value","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumValueDescriptorProto","jsonName":"value"},{"name":"options","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumOptions","jsonName":"options"},{"name":"reserved_range","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumDescriptorProto.EnumReservedRange","jsonName":"reservedRange"},{"name":"reserved_name","number":5,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"reservedName"},{"name":"visibility","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.SymbolVisibility","jsonName":"visibility"}],"nestedType":[{"name":"EnumReservedRange","field":[{"name":"start","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"start"},{"name":"end","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"end"}]}]},{"name":"EnumValueDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"number","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"number"},{"name":"options","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.EnumValueOptions","jsonName":"options"}]},{"name":"ServiceDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"method","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.MethodDescriptorProto","jsonName":"method"},{"name":"options","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ServiceOptions","jsonName":"options"}]},{"name":"MethodDescriptorProto","field":[{"name":"name","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"},{"name":"input_type","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"inputType"},{"name":"output_type","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"outputType"},{"name":"options","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.MethodOptions","jsonName":"options"},{"name":"client_streaming","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"clientStreaming"},{"name":"server_streaming","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"serverStreaming"}]},{"name":"FileOptions","field":[{"name":"java_package","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"javaPackage"},{"name":"java_outer_classname","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"javaOuterClassname"},{"name":"java_multiple_files","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"javaMultipleFiles"},{"name":"java_generate_equals_and_hash","number":20,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"javaGenerateEqualsAndHash","options":{"deprecated":true}},{"name":"java_string_check_utf8","number":27,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"javaStringCheckUtf8"},{"name":"optimize_for","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FileOptions.OptimizeMode","defaultValue":"SPEED","jsonName":"optimizeFor"},{"name":"go_package","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"goPackage"},{"name":"cc_generic_services","number":16,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"ccGenericServices"},{"name":"java_generic_services","number":17,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"javaGenericServices"},{"name":"py_generic_services","number":18,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"pyGenericServices"},{"name":"deprecated","number":23,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"cc_enable_arenas","number":31,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"true","jsonName":"ccEnableArenas"},{"name":"objc_class_prefix","number":36,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"objcClassPrefix"},{"name":"csharp_namespace","number":37,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"csharpNamespace"},{"name":"swift_prefix","number":39,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"swiftPrefix"},{"name":"php_class_prefix","number":40,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"phpClassPrefix"},{"name":"php_namespace","number":41,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"phpNamespace"},{"name":"php_metadata_namespace","number":44,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"phpMetadataNamespace"},{"name":"ruby_package","number":45,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"rubyPackage"},{"name":"features","number":50,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"enumType":[{"name":"OptimizeMode","value":[{"name":"SPEED","number":1},{"name":"CODE_SIZE","number":2},{"name":"LITE_RUNTIME","number":3}]}],"extensionRange":[{"start":1000,"end":536870912}],"reservedRange":[{"start":42,"end":43},{"start":38,"end":39}],"reservedName":["php_generic_services"]},{"name":"MessageOptions","field":[{"name":"message_set_wire_format","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"messageSetWireFormat"},{"name":"no_standard_descriptor_accessor","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"noStandardDescriptorAccessor"},{"name":"deprecated","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"map_entry","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"mapEntry"},{"name":"deprecated_legacy_json_field_conflicts","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"deprecatedLegacyJsonFieldConflicts","options":{"deprecated":true}},{"name":"features","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}],"reservedRange":[{"start":4,"end":5},{"start":5,"end":6},{"start":6,"end":7},{"start":8,"end":9},{"start":9,"end":10}]},{"name":"FieldOptions","field":[{"name":"ctype","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldOptions.CType","defaultValue":"STRING","jsonName":"ctype"},{"name":"packed","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"packed"},{"name":"jstype","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldOptions.JSType","defaultValue":"JS_NORMAL","jsonName":"jstype"},{"name":"lazy","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"lazy"},{"name":"unverified_lazy","number":15,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"unverifiedLazy"},{"name":"deprecated","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"weak","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"weak"},{"name":"debug_redact","number":16,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"debugRedact"},{"name":"retention","number":17,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldOptions.OptionRetention","jsonName":"retention"},{"name":"targets","number":19,"label":"LABEL_REPEATED","type":"TYPE_ENUM","typeName":".google.protobuf.FieldOptions.OptionTargetType","jsonName":"targets"},{"name":"edition_defaults","number":20,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldOptions.EditionDefault","jsonName":"editionDefaults"},{"name":"features","number":21,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"feature_support","number":22,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldOptions.FeatureSupport","jsonName":"featureSupport"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"nestedType":[{"name":"EditionDefault","field":[{"name":"edition","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"edition"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}]},{"name":"FeatureSupport","field":[{"name":"edition_introduced","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"editionIntroduced"},{"name":"edition_deprecated","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"editionDeprecated"},{"name":"deprecation_warning","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"deprecationWarning"},{"name":"edition_removed","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"editionRemoved"}]}],"enumType":[{"name":"CType","value":[{"name":"STRING","number":0},{"name":"CORD","number":1},{"name":"STRING_PIECE","number":2}]},{"name":"JSType","value":[{"name":"JS_NORMAL","number":0},{"name":"JS_STRING","number":1},{"name":"JS_NUMBER","number":2}]},{"name":"OptionRetention","value":[{"name":"RETENTION_UNKNOWN","number":0},{"name":"RETENTION_RUNTIME","number":1},{"name":"RETENTION_SOURCE","number":2}]},{"name":"OptionTargetType","value":[{"name":"TARGET_TYPE_UNKNOWN","number":0},{"name":"TARGET_TYPE_FILE","number":1},{"name":"TARGET_TYPE_EXTENSION_RANGE","number":2},{"name":"TARGET_TYPE_MESSAGE","number":3},{"name":"TARGET_TYPE_FIELD","number":4},{"name":"TARGET_TYPE_ONEOF","number":5},{"name":"TARGET_TYPE_ENUM","number":6},{"name":"TARGET_TYPE_ENUM_ENTRY","number":7},{"name":"TARGET_TYPE_SERVICE","number":8},{"name":"TARGET_TYPE_METHOD","number":9}]}],"extensionRange":[{"start":1000,"end":536870912}],"reservedRange":[{"start":4,"end":5},{"start":18,"end":19}]},{"name":"OneofOptions","field":[{"name":"features","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"EnumOptions","field":[{"name":"allow_alias","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"allowAlias"},{"name":"deprecated","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"deprecated_legacy_json_field_conflicts","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"deprecatedLegacyJsonFieldConflicts","options":{"deprecated":true}},{"name":"features","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}],"reservedRange":[{"start":5,"end":6}]},{"name":"EnumValueOptions","field":[{"name":"deprecated","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"features","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"debug_redact","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"debugRedact"},{"name":"feature_support","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FieldOptions.FeatureSupport","jsonName":"featureSupport"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"ServiceOptions","field":[{"name":"features","number":34,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"deprecated","number":33,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"MethodOptions","field":[{"name":"deprecated","number":33,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","defaultValue":"false","jsonName":"deprecated"},{"name":"idempotency_level","number":34,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.MethodOptions.IdempotencyLevel","defaultValue":"IDEMPOTENCY_UNKNOWN","jsonName":"idempotencyLevel"},{"name":"features","number":35,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"features"},{"name":"uninterpreted_option","number":999,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption","jsonName":"uninterpretedOption"}],"enumType":[{"name":"IdempotencyLevel","value":[{"name":"IDEMPOTENCY_UNKNOWN","number":0},{"name":"NO_SIDE_EFFECTS","number":1},{"name":"IDEMPOTENT","number":2}]}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"UninterpretedOption","field":[{"name":"name","number":2,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UninterpretedOption.NamePart","jsonName":"name"},{"name":"identifier_value","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"identifierValue"},{"name":"positive_int_value","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"positiveIntValue"},{"name":"negative_int_value","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"negativeIntValue"},{"name":"double_value","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"doubleValue"},{"name":"string_value","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"stringValue"},{"name":"aggregate_value","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"aggregateValue"}],"nestedType":[{"name":"NamePart","field":[{"name":"name_part","number":1,"label":"LABEL_REQUIRED","type":"TYPE_STRING","jsonName":"namePart"},{"name":"is_extension","number":2,"label":"LABEL_REQUIRED","type":"TYPE_BOOL","jsonName":"isExtension"}]}]},{"name":"FeatureSet","field":[{"name":"field_presence","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.FieldPresence","jsonName":"fieldPresence","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_FIELD","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"EXPLICIT"},{"edition":"EDITION_PROTO3","value":"IMPLICIT"},{"edition":"EDITION_2023","value":"EXPLICIT"}],"featureSupport":{"editionIntroduced":"EDITION_2023"}}},{"name":"enum_type","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.EnumType","jsonName":"enumType","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_ENUM","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"CLOSED"},{"edition":"EDITION_PROTO3","value":"OPEN"}],"featureSupport":{"editionIntroduced":"EDITION_2023"}}},{"name":"repeated_field_encoding","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.RepeatedFieldEncoding","jsonName":"repeatedFieldEncoding","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_FIELD","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"EXPANDED"},{"edition":"EDITION_PROTO3","value":"PACKED"}],"featureSupport":{"editionIntroduced":"EDITION_2023"}}},{"name":"utf8_validation","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.Utf8Validation","jsonName":"utf8Validation","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_FIELD","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"NONE"},{"edition":"EDITION_PROTO3","value":"VERIFY"}],"featureSupport":{"editionIntroduced":"EDITION_2023"}}},{"name":"message_encoding","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.MessageEncoding","jsonName":"messageEncoding","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_FIELD","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"LENGTH_PREFIXED"}],"featureSupport":{"editionIntroduced":"EDITION_2023"}}},{"name":"json_format","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.JsonFormat","jsonName":"jsonFormat","options":{"retention":"RETENTION_RUNTIME","targets":["TARGET_TYPE_MESSAGE","TARGET_TYPE_ENUM","TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"LEGACY_BEST_EFFORT"},{"edition":"EDITION_PROTO3","value":"ALLOW"}],"featureSupport":{"editionIntroduced":"EDITION_2023"}}},{"name":"enforce_naming_style","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.EnforceNamingStyle","jsonName":"enforceNamingStyle","options":{"retention":"RETENTION_SOURCE","targets":["TARGET_TYPE_FILE","TARGET_TYPE_EXTENSION_RANGE","TARGET_TYPE_MESSAGE","TARGET_TYPE_FIELD","TARGET_TYPE_ONEOF","TARGET_TYPE_ENUM","TARGET_TYPE_ENUM_ENTRY","TARGET_TYPE_SERVICE","TARGET_TYPE_METHOD"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"STYLE_LEGACY"},{"edition":"EDITION_2024","value":"STYLE2024"}],"featureSupport":{"editionIntroduced":"EDITION_2024"}}},{"name":"default_symbol_visibility","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility","jsonName":"defaultSymbolVisibility","options":{"retention":"RETENTION_SOURCE","targets":["TARGET_TYPE_FILE"],"editionDefaults":[{"edition":"EDITION_LEGACY","value":"EXPORT_ALL"},{"edition":"EDITION_2024","value":"EXPORT_TOP_LEVEL"}],"featureSupport":{"editionIntroduced":"EDITION_2024"}}}],"nestedType":[{"name":"VisibilityFeature","enumType":[{"name":"DefaultSymbolVisibility","value":[{"name":"DEFAULT_SYMBOL_VISIBILITY_UNKNOWN","number":0},{"name":"EXPORT_ALL","number":1},{"name":"EXPORT_TOP_LEVEL","number":2},{"name":"LOCAL_ALL","number":3},{"name":"STRICT","number":4}]}],"reservedRange":[{"start":1,"end":536870912}]}],"enumType":[{"name":"FieldPresence","value":[{"name":"FIELD_PRESENCE_UNKNOWN","number":0},{"name":"EXPLICIT","number":1},{"name":"IMPLICIT","number":2},{"name":"LEGACY_REQUIRED","number":3}]},{"name":"EnumType","value":[{"name":"ENUM_TYPE_UNKNOWN","number":0},{"name":"OPEN","number":1},{"name":"CLOSED","number":2}]},{"name":"RepeatedFieldEncoding","value":[{"name":"REPEATED_FIELD_ENCODING_UNKNOWN","number":0},{"name":"PACKED","number":1},{"name":"EXPANDED","number":2}]},{"name":"Utf8Validation","value":[{"name":"UTF8_VALIDATION_UNKNOWN","number":0},{"name":"VERIFY","number":2},{"name":"NONE","number":3}],"reservedRange":[{"start":1,"end":1}]},{"name":"MessageEncoding","value":[{"name":"MESSAGE_ENCODING_UNKNOWN","number":0},{"name":"LENGTH_PREFIXED","number":1},{"name":"DELIMITED","number":2}]},{"name":"JsonFormat","value":[{"name":"JSON_FORMAT_UNKNOWN","number":0},{"name":"ALLOW","number":1},{"name":"LEGACY_BEST_EFFORT","number":2}]},{"name":"EnforceNamingStyle","value":[{"name":"ENFORCE_NAMING_STYLE_UNKNOWN","number":0},{"name":"STYLE2024","number":1},{"name":"STYLE_LEGACY","number":2}]}],"extensionRange":[{"start":1000,"end":9995,"options":{"declaration":[{"number":1000,"fullName":".pb.cpp","type":".pb.CppFeatures"},{"number":1001,"fullName":".pb.java","type":".pb.JavaFeatures"},{"number":1002,"fullName":".pb.go","type":".pb.GoFeatures"},{"number":1003,"fullName":".pb.python","type":".pb.PythonFeatures"},{"number":9990,"fullName":".pb.proto1","type":".pb.Proto1Features"}]}},{"start":9995,"end":10000},{"start":10000,"end":10001}],"reservedRange":[{"start":999,"end":1000}]},{"name":"FeatureSetDefaults","field":[{"name":"defaults","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault","jsonName":"defaults"},{"name":"minimum_edition","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"minimumEdition"},{"name":"maximum_edition","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"maximumEdition"}],"nestedType":[{"name":"FeatureSetEditionDefault","field":[{"name":"edition","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.Edition","jsonName":"edition"},{"name":"overridable_features","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"overridableFeatures"},{"name":"fixed_features","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FeatureSet","jsonName":"fixedFeatures"}],"reservedRange":[{"start":1,"end":2},{"start":2,"end":3}],"reservedName":["features"]}]},{"name":"SourceCodeInfo","field":[{"name":"location","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.SourceCodeInfo.Location","jsonName":"location"}],"nestedType":[{"name":"Location","field":[{"name":"path","number":1,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"path","options":{"packed":true}},{"name":"span","number":2,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"span","options":{"packed":true}},{"name":"leading_comments","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"leadingComments"},{"name":"trailing_comments","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"trailingComments"},{"name":"leading_detached_comments","number":6,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"leadingDetachedComments"}]}],"extensionRange":[{"start":536000000,"end":536000001,"options":{"declaration":[{"number":536000000,"fullName":".buf.descriptor.v1.buf_source_code_info_extension","type":".buf.descriptor.v1.SourceCodeInfoExtension"}]}}]},{"name":"GeneratedCodeInfo","field":[{"name":"annotation","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.GeneratedCodeInfo.Annotation","jsonName":"annotation"}],"nestedType":[{"name":"Annotation","field":[{"name":"path","number":1,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"path","options":{"packed":true}},{"name":"source_file","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"sourceFile"},{"name":"begin","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"begin"},{"name":"end","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"end"},{"name":"semantic","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.GeneratedCodeInfo.Annotation.Semantic","jsonName":"semantic"}],"enumType":[{"name":"Semantic","value":[{"name":"NONE","number":0},{"name":"SET","number":1},{"name":"ALIAS","number":2}]}]}]}],"enumType":[{"name":"Edition","value":[{"name":"EDITION_UNKNOWN","number":0},{"name":"EDITION_LEGACY","number":900},{"name":"EDITION_PROTO2","number":998},{"name":"EDITION_PROTO3","number":999},{"name":"EDITION_2023","number":1000},{"name":"EDITION_2024","number":1001},{"name":"EDITION_1_TEST_ONLY","number":1},{"name":"EDITION_2_TEST_ONLY","number":2},{"name":"EDITION_99997_TEST_ONLY","number":99997},{"name":"EDITION_99998_TEST_ONLY","number":99998},{"name":"EDITION_99999_TEST_ONLY","number":99999},{"name":"EDITION_MAX","number":2147483647}]},{"name":"SymbolVisibility","value":[{"name":"VISIBILITY_UNSET","number":0},{"name":"VISIBILITY_LOCAL","number":1},{"name":"VISIBILITY_EXPORT","number":2}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"DescriptorProtos","optimizeFor":"SPEED","goPackage":"google.golang.org/protobuf/types/descriptorpb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.Reflection"},"sourceCodeInfo":{"location":[{"span":[38,0,1416,1]},{"path":[12],"span":[38,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"," Author: kenton@google.com (Kenton Varda)\n Based on original Protocol Buffers design by\n Sanjay Ghemawat, Jeff Dean, and others.\n\n The messages in this file describe the definitions found in .proto files.\n A valid .proto file can be translated directly to a FileDescriptorProto\n without any other information (e.g. without reading its imports).\n"]},{"path":[2],"span":[40,0,24]},{"path":[8],"span":[42,0,68]},{"path":[8,11],"span":[42,0,68]},{"path":[8],"span":[43,0,44]},{"path":[8,1],"span":[43,0,44]},{"path":[8],"span":[44,0,49]},{"path":[8,8],"span":[44,0,49]},{"path":[8],"span":[45,0,55]},{"path":[8,37],"span":[45,0,55]},{"path":[8],"span":[46,0,33]},{"path":[8,36],"span":[46,0,33]},{"path":[8],"span":[47,0,31]},{"path":[8,31],"span":[47,0,31]},{"path":[8],"span":[51,0,28]},{"path":[8,9],"span":[51,0,28],"leadingComments":" descriptor.proto must be optimized for speed because reflection-based\n algorithms don't work during bootstrapping.\n"},{"path":[4,0],"span":[55,0,64,1],"leadingComments":" The protocol compiler can output a FileDescriptorSet containing the .proto\n files it parses.\n"},{"path":[4,0,1],"span":[55,8,25]},{"path":[4,0,2,0],"span":[56,2,40]},{"path":[4,0,2,0,4],"span":[56,2,10]},{"path":[4,0,2,0,6],"span":[56,11,30]},{"path":[4,0,2,0,1],"span":[56,31,35]},{"path":[4,0,2,0,3],"span":[56,38,39]},{"path":[4,0,5],"span":[59,2,63,5],"leadingComments":" Extensions for tooling.\n"},{"path":[4,0,5,0],"span":[59,13,22]},{"path":[4,0,5,0,1],"span":[59,13,22]},{"path":[4,0,5,0,2],"span":[59,13,22]},{"path":[4,0,5,0,3],"span":[59,23,63,4]},{"path":[4,0,5,0,3,2,0],"span":[59,24,63,3]},{"path":[4,0,5,0,3,2,0,1],"span":[60,4,21]},{"path":[4,0,5,0,3,2,0,3],"span":[61,4,57]},{"path":[4,0,5,0,3,2,0,2],"span":[62,4,69]},{"path":[5,0],"span":[67,0,100,1],"leadingComments":" The full set of known editions.\n"},{"path":[5,0,1],"span":[67,5,12]},{"path":[5,0,2,0],"span":[69,2,22],"leadingComments":" A placeholder for an unknown edition value.\n"},{"path":[5,0,2,0,1],"span":[69,2,17]},{"path":[5,0,2,0,2],"span":[69,20,21]},{"path":[5,0,2,1],"span":[73,2,23],"leadingComments":" A placeholder edition for specifying default behaviors *before* a feature\n was first introduced. This is effectively an \"infinite past\".\n"},{"path":[5,0,2,1,1],"span":[73,2,16]},{"path":[5,0,2,1,2],"span":[73,19,22]},{"path":[5,0,2,2],"span":[79,2,23],"leadingComments":" Legacy syntax \"editions\". These pre-date editions, but behave much like\n distinct editions. These can't be used to specify the edition of proto\n files, but feature definitions must supply proto2/proto3 defaults for\n backwards compatibility.\n"},{"path":[5,0,2,2,1],"span":[79,2,16]},{"path":[5,0,2,2,2],"span":[79,19,22]},{"path":[5,0,2,3],"span":[80,2,23]},{"path":[5,0,2,3,1],"span":[80,2,16]},{"path":[5,0,2,3,2],"span":[80,19,22]},{"path":[5,0,2,4],"span":[85,2,22],"leadingComments":" Editions that have been released. The specific values are arbitrary and\n should not be depended on, but they will always be time-ordered for easy\n comparison.\n"},{"path":[5,0,2,4,1],"span":[85,2,14]},{"path":[5,0,2,4,2],"span":[85,17,21]},{"path":[5,0,2,5],"span":[86,2,22]},{"path":[5,0,2,5,1],"span":[86,2,14]},{"path":[5,0,2,5,2],"span":[86,17,21]},{"path":[5,0,2,6],"span":[90,2,26],"leadingComments":" Placeholder editions for testing feature resolution. These should not be\n used or relied on outside of tests.\n"},{"path":[5,0,2,6,1],"span":[90,2,21]},{"path":[5,0,2,6,2],"span":[90,24,25]},{"path":[5,0,2,7],"span":[91,2,26]},{"path":[5,0,2,7,1],"span":[91,2,21]},{"path":[5,0,2,7,2],"span":[91,24,25]},{"path":[5,0,2,8],"span":[92,2,34]},{"path":[5,0,2,8,1],"span":[92,2,25]},{"path":[5,0,2,8,2],"span":[92,28,33]},{"path":[5,0,2,9],"span":[93,2,34]},{"path":[5,0,2,9,1],"span":[93,2,25]},{"path":[5,0,2,9,2],"span":[93,28,33]},{"path":[5,0,2,10],"span":[94,2,34]},{"path":[5,0,2,10,1],"span":[94,2,25]},{"path":[5,0,2,10,2],"span":[94,28,33]},{"path":[5,0,2,11],"span":[99,2,27],"leadingComments":" Placeholder for specifying unbounded edition support. This should only\n ever be used by plugins that can expect to never require any changes to\n support a new edition.\n"},{"path":[5,0,2,11,1],"span":[99,2,13]},{"path":[5,0,2,11,2],"span":[99,16,26]},{"path":[4,1],"span":[103,0,147,1],"leadingComments":" Describes a complete .proto file.\n"},{"path":[4,1,1],"span":[103,8,27]},{"path":[4,1,2,0],"span":[104,2,27],"trailingComments":" file name, relative to root of source tree\n"},{"path":[4,1,2,0,4],"span":[104,2,10]},{"path":[4,1,2,0,5],"span":[104,11,17]},{"path":[4,1,2,0,1],"span":[104,18,22]},{"path":[4,1,2,0,3],"span":[104,25,26]},{"path":[4,1,2,1],"span":[105,2,30],"trailingComments":" e.g. \"foo\", \"foo.bar\", etc.\n"},{"path":[4,1,2,1,4],"span":[105,2,10]},{"path":[4,1,2,1,5],"span":[105,11,17]},{"path":[4,1,2,1,1],"span":[105,18,25]},{"path":[4,1,2,1,3],"span":[105,28,29]},{"path":[4,1,2,2],"span":[108,2,33],"leadingComments":" Names of files imported by this file.\n"},{"path":[4,1,2,2,4],"span":[108,2,10]},{"path":[4,1,2,2,5],"span":[108,11,17]},{"path":[4,1,2,2,1],"span":[108,18,28]},{"path":[4,1,2,2,3],"span":[108,31,32]},{"path":[4,1,2,3],"span":[110,2,40],"leadingComments":" Indexes of the public imported files in the dependency list above.\n"},{"path":[4,1,2,3,4],"span":[110,2,10]},{"path":[4,1,2,3,5],"span":[110,11,16]},{"path":[4,1,2,3,1],"span":[110,17,34]},{"path":[4,1,2,3,3],"span":[110,37,39]},{"path":[4,1,2,4],"span":[113,2,38],"leadingComments":" Indexes of the weak imported files in the dependency list.\n For Google-internal migration only. Do not use.\n"},{"path":[4,1,2,4,4],"span":[113,2,10]},{"path":[4,1,2,4,5],"span":[113,11,16]},{"path":[4,1,2,4,1],"span":[113,17,32]},{"path":[4,1,2,4,3],"span":[113,35,37]},{"path":[4,1,2,5],"span":[117,2,41],"leadingComments":" Names of files imported by this file purely for the purpose of providing\n option extensions. These are excluded from the dependency list above.\n"},{"path":[4,1,2,5,4],"span":[117,2,10]},{"path":[4,1,2,5,5],"span":[117,11,17]},{"path":[4,1,2,5,1],"span":[117,18,35]},{"path":[4,1,2,5,3],"span":[117,38,40]},{"path":[4,1,2,6],"span":[120,2,44],"leadingComments":" All top-level definitions in this file.\n"},{"path":[4,1,2,6,4],"span":[120,2,10]},{"path":[4,1,2,6,6],"span":[120,11,26]},{"path":[4,1,2,6,1],"span":[120,27,39]},{"path":[4,1,2,6,3],"span":[120,42,43]},{"path":[4,1,2,7],"span":[121,2,45]},{"path":[4,1,2,7,4],"span":[121,2,10]},{"path":[4,1,2,7,6],"span":[121,11,30]},{"path":[4,1,2,7,1],"span":[121,31,40]},{"path":[4,1,2,7,3],"span":[121,43,44]},{"path":[4,1,2,8],"span":[122,2,46]},{"path":[4,1,2,8,4],"span":[122,2,10]},{"path":[4,1,2,8,6],"span":[122,11,33]},{"path":[4,1,2,8,1],"span":[122,34,41]},{"path":[4,1,2,8,3],"span":[122,44,45]},{"path":[4,1,2,9],"span":[123,2,46]},{"path":[4,1,2,9,4],"span":[123,2,10]},{"path":[4,1,2,9,6],"span":[123,11,31]},{"path":[4,1,2,9,1],"span":[123,32,41]},{"path":[4,1,2,9,3],"span":[123,44,45]},{"path":[4,1,2,10],"span":[125,2,35]},{"path":[4,1,2,10,4],"span":[125,2,10]},{"path":[4,1,2,10,6],"span":[125,11,22]},{"path":[4,1,2,10,1],"span":[125,23,30]},{"path":[4,1,2,10,3],"span":[125,33,34]},{"path":[4,1,2,11],"span":[131,2,47],"leadingComments":" This field contains optional information about the original source code.\n You may safely remove this entire field without harming runtime\n functionality of the descriptors -- the information is needed only by\n development tools.\n"},{"path":[4,1,2,11,4],"span":[131,2,10]},{"path":[4,1,2,11,6],"span":[131,11,25]},{"path":[4,1,2,11,1],"span":[131,26,42]},{"path":[4,1,2,11,3],"span":[131,45,46]},{"path":[4,1,2,12],"span":[140,2,30],"leadingComments":" The syntax of the proto file.\n The supported values are \"proto2\", \"proto3\", and \"editions\".\n\n If `edition` is present, this value must be \"editions\".\n WARNING: This field should only be used by protobuf plugins or special\n cases like the proto compiler. Other uses are discouraged and\n developers should rely on the protoreflect APIs for their client language.\n"},{"path":[4,1,2,12,4],"span":[140,2,10]},{"path":[4,1,2,12,5],"span":[140,11,17]},{"path":[4,1,2,12,1],"span":[140,18,24]},{"path":[4,1,2,12,3],"span":[140,27,29]},{"path":[4,1,2,13],"span":[146,2,32],"leadingComments":" The edition of the proto file.\n WARNING: This field should only be used by protobuf plugins or special\n cases like the proto compiler. Other uses are discouraged and\n developers should rely on the protoreflect APIs for their client language.\n"},{"path":[4,1,2,13,4],"span":[146,2,10]},{"path":[4,1,2,13,6],"span":[146,11,18]},{"path":[4,1,2,13,1],"span":[146,19,26]},{"path":[4,1,2,13,3],"span":[146,29,31]},{"path":[4,2],"span":[150,0,185,1],"leadingComments":" Describes a message type.\n"},{"path":[4,2,1],"span":[150,8,23]},{"path":[4,2,2,0],"span":[151,2,27]},{"path":[4,2,2,0,4],"span":[151,2,10]},{"path":[4,2,2,0,5],"span":[151,11,17]},{"path":[4,2,2,0,1],"span":[151,18,22]},{"path":[4,2,2,0,3],"span":[151,25,26]},{"path":[4,2,2,1],"span":[153,2,42]},{"path":[4,2,2,1,4],"span":[153,2,10]},{"path":[4,2,2,1,6],"span":[153,11,31]},{"path":[4,2,2,1,1],"span":[153,32,37]},{"path":[4,2,2,1,3],"span":[153,40,41]},{"path":[4,2,2,2],"span":[154,2,46]},{"path":[4,2,2,2,4],"span":[154,2,10]},{"path":[4,2,2,2,6],"span":[154,11,31]},{"path":[4,2,2,2,1],"span":[154,32,41]},{"path":[4,2,2,2,3],"span":[154,44,45]},{"path":[4,2,2,3],"span":[156,2,43]},{"path":[4,2,2,3,4],"span":[156,2,10]},{"path":[4,2,2,3,6],"span":[156,11,26]},{"path":[4,2,2,3,1],"span":[156,27,38]},{"path":[4,2,2,3,3],"span":[156,41,42]},{"path":[4,2,2,4],"span":[157,2,45]},{"path":[4,2,2,4,4],"span":[157,2,10]},{"path":[4,2,2,4,6],"span":[157,11,30]},{"path":[4,2,2,4,1],"span":[157,31,40]},{"path":[4,2,2,4,3],"span":[157,43,44]},{"path":[4,2,3,0],"span":[159,2,164,3]},{"path":[4,2,3,0,1],"span":[159,10,24]},{"path":[4,2,3,0,2,0],"span":[160,4,29],"trailingComments":" Inclusive.\n"},{"path":[4,2,3,0,2,0,4],"span":[160,4,12]},{"path":[4,2,3,0,2,0,5],"span":[160,13,18]},{"path":[4,2,3,0,2,0,1],"span":[160,19,24]},{"path":[4,2,3,0,2,0,3],"span":[160,27,28]},{"path":[4,2,3,0,2,1],"span":[161,4,27],"trailingComments":" Exclusive.\n"},{"path":[4,2,3,0,2,1,4],"span":[161,4,12]},{"path":[4,2,3,0,2,1,5],"span":[161,13,18]},{"path":[4,2,3,0,2,1,1],"span":[161,19,22]},{"path":[4,2,3,0,2,1,3],"span":[161,25,26]},{"path":[4,2,3,0,2,2],"span":[163,4,47]},{"path":[4,2,3,0,2,2,4],"span":[163,4,12]},{"path":[4,2,3,0,2,2,6],"span":[163,13,34]},{"path":[4,2,3,0,2,2,1],"span":[163,35,42]},{"path":[4,2,3,0,2,2,3],"span":[163,45,46]},{"path":[4,2,2,5],"span":[165,2,46]},{"path":[4,2,2,5,4],"span":[165,2,10]},{"path":[4,2,2,5,6],"span":[165,11,25]},{"path":[4,2,2,5,1],"span":[165,26,41]},{"path":[4,2,2,5,3],"span":[165,44,45]},{"path":[4,2,2,6],"span":[167,2,47]},{"path":[4,2,2,6,4],"span":[167,2,10]},{"path":[4,2,2,6,6],"span":[167,11,31]},{"path":[4,2,2,6,1],"span":[167,32,42]},{"path":[4,2,2,6,3],"span":[167,45,46]},{"path":[4,2,2,7],"span":[169,2,38]},{"path":[4,2,2,7,4],"span":[169,2,10]},{"path":[4,2,2,7,6],"span":[169,11,25]},{"path":[4,2,2,7,1],"span":[169,26,33]},{"path":[4,2,2,7,3],"span":[169,36,37]},{"path":[4,2,3,1],"span":[174,2,177,3],"leadingComments":" Range of reserved tag numbers. Reserved tag numbers may not be used by\n fields or extension ranges in the same message. Reserved ranges may\n not overlap.\n"},{"path":[4,2,3,1,1],"span":[174,10,23]},{"path":[4,2,3,1,2,0],"span":[175,4,29],"trailingComments":" Inclusive.\n"},{"path":[4,2,3,1,2,0,4],"span":[175,4,12]},{"path":[4,2,3,1,2,0,5],"span":[175,13,18]},{"path":[4,2,3,1,2,0,1],"span":[175,19,24]},{"path":[4,2,3,1,2,0,3],"span":[175,27,28]},{"path":[4,2,3,1,2,1],"span":[176,4,27],"trailingComments":" Exclusive.\n"},{"path":[4,2,3,1,2,1,4],"span":[176,4,12]},{"path":[4,2,3,1,2,1,5],"span":[176,13,18]},{"path":[4,2,3,1,2,1,1],"span":[176,19,22]},{"path":[4,2,3,1,2,1,3],"span":[176,25,26]},{"path":[4,2,2,8],"span":[178,2,44]},{"path":[4,2,2,8,4],"span":[178,2,10]},{"path":[4,2,2,8,6],"span":[178,11,24]},{"path":[4,2,2,8,1],"span":[178,25,39]},{"path":[4,2,2,8,3],"span":[178,42,43]},{"path":[4,2,2,9],"span":[181,2,37],"leadingComments":" Reserved field names, which may not be used by fields in the same message.\n A given name may only be reserved once.\n"},{"path":[4,2,2,9,4],"span":[181,2,10]},{"path":[4,2,2,9,5],"span":[181,11,17]},{"path":[4,2,2,9,1],"span":[181,18,31]},{"path":[4,2,2,9,3],"span":[181,34,36]},{"path":[4,2,2,10],"span":[184,2,44],"leadingComments":" Support for `export` and `local` keywords on enums.\n"},{"path":[4,2,2,10,4],"span":[184,2,10]},{"path":[4,2,2,10,6],"span":[184,11,27]},{"path":[4,2,2,10,1],"span":[184,28,38]},{"path":[4,2,2,10,3],"span":[184,41,43]},{"path":[4,3],"span":[187,0,239,1]},{"path":[4,3,1],"span":[187,8,29]},{"path":[4,3,2,0],"span":[189,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,3,2,0,4],"span":[189,2,10]},{"path":[4,3,2,0,6],"span":[189,11,30]},{"path":[4,3,2,0,1],"span":[189,31,51]},{"path":[4,3,2,0,3],"span":[189,54,57]},{"path":[4,3,3,0],"span":[191,2,214,3]},{"path":[4,3,3,0,1],"span":[191,10,21]},{"path":[4,3,3,0,2,0],"span":[193,4,30],"leadingComments":" The extension number declared within the extension range.\n"},{"path":[4,3,3,0,2,0,4],"span":[193,4,12]},{"path":[4,3,3,0,2,0,5],"span":[193,13,18]},{"path":[4,3,3,0,2,0,1],"span":[193,19,25]},{"path":[4,3,3,0,2,0,3],"span":[193,28,29]},{"path":[4,3,3,0,2,1],"span":[197,4,34],"leadingComments":" The fully-qualified name of the extension field. There must be a leading\n dot in front of the full name.\n"},{"path":[4,3,3,0,2,1,4],"span":[197,4,12]},{"path":[4,3,3,0,2,1,5],"span":[197,13,19]},{"path":[4,3,3,0,2,1,1],"span":[197,20,29]},{"path":[4,3,3,0,2,1,3],"span":[197,32,33]},{"path":[4,3,3,0,2,2],"span":[202,4,29],"leadingComments":" The fully-qualified type name of the extension field. Unlike\n Metadata.type, Declaration.type must have a leading dot for messages\n and enums.\n"},{"path":[4,3,3,0,2,2,4],"span":[202,4,12]},{"path":[4,3,3,0,2,2,5],"span":[202,13,19]},{"path":[4,3,3,0,2,2,1],"span":[202,20,24]},{"path":[4,3,3,0,2,2,3],"span":[202,27,28]},{"path":[4,3,3,0,2,3],"span":[207,4,31],"leadingComments":" If true, indicates that the number is reserved in the extension range,\n and any extension field with the number will fail to compile. Set this\n when a declared extension field is deleted.\n"},{"path":[4,3,3,0,2,3,4],"span":[207,4,12]},{"path":[4,3,3,0,2,3,5],"span":[207,13,17]},{"path":[4,3,3,0,2,3,1],"span":[207,18,26]},{"path":[4,3,3,0,2,3,3],"span":[207,29,30]},{"path":[4,3,3,0,2,4],"span":[211,4,31],"leadingComments":" If true, indicates that the extension must be defined as repeated.\n Otherwise the extension must be defined as optional.\n"},{"path":[4,3,3,0,2,4,4],"span":[211,4,12]},{"path":[4,3,3,0,2,4,5],"span":[211,13,17]},{"path":[4,3,3,0,2,4,1],"span":[211,18,26]},{"path":[4,3,3,0,2,4,3],"span":[211,29,30]},{"path":[4,3,3,0,9],"span":[213,4,15],"trailingComments":" removed is_repeated\n"},{"path":[4,3,3,0,9,0],"span":[213,13,14]},{"path":[4,3,3,0,9,0,1],"span":[213,13,14]},{"path":[4,3,3,0,9,0,2],"span":[213,13,14]},{"path":[4,3,2,1],"span":[219,2,70],"leadingComments":" For external users: DO NOT USE. We are in the process of open sourcing\n extension declaration and executing internal cleanups before it can be\n used externally.\n"},{"path":[4,3,2,1,4],"span":[219,2,10]},{"path":[4,3,2,1,6],"span":[219,11,22]},{"path":[4,3,2,1,1],"span":[219,23,34]},{"path":[4,3,2,1,3],"span":[219,37,38]},{"path":[4,3,2,1,8],"span":[219,39,69]},{"path":[4,3,2,1,8,17],"span":[219,40,68]},{"path":[4,3,2,2],"span":[222,2,36],"leadingComments":" Any features defined in the specific edition.\n"},{"path":[4,3,2,2,4],"span":[222,2,10]},{"path":[4,3,2,2,6],"span":[222,11,21]},{"path":[4,3,2,2,1],"span":[222,22,30]},{"path":[4,3,2,2,3],"span":[222,33,35]},{"path":[4,3,4,0],"span":[225,2,229,3],"leadingComments":" The verification state of the extension range.\n"},{"path":[4,3,4,0,1],"span":[225,7,24]},{"path":[4,3,4,0,2,0],"span":[227,4,20],"leadingComments":" All the extensions of the range must be declared.\n"},{"path":[4,3,4,0,2,0,1],"span":[227,4,15]},{"path":[4,3,4,0,2,0,2],"span":[227,18,19]},{"path":[4,3,4,0,2,1],"span":[228,4,19]},{"path":[4,3,4,0,2,1,1],"span":[228,4,14]},{"path":[4,3,4,0,2,1,2],"span":[228,17,18]},{"path":[4,3,2,3],"span":[234,2,235,59],"leadingComments":" The verification state of the range.\n TODO: flip the default to DECLARATION once all empty ranges\n are marked as UNVERIFIED.\n"},{"path":[4,3,2,3,4],"span":[234,2,10]},{"path":[4,3,2,3,6],"span":[234,11,28]},{"path":[4,3,2,3,1],"span":[234,29,41]},{"path":[4,3,2,3,3],"span":[234,44,45]},{"path":[4,3,2,3,8],"span":[235,6,58]},{"path":[4,3,2,3,7],"span":[235,7,27]},{"path":[4,3,2,3,8,17],"span":[235,29,57]},{"path":[4,3,5],"span":[238,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,3,5,0],"span":[238,13,24]},{"path":[4,3,5,0,1],"span":[238,13,17]},{"path":[4,3,5,0,2],"span":[238,21,24]},{"path":[4,4],"span":[242,0,346,1],"leadingComments":" Describes a field within a message.\n"},{"path":[4,4,1],"span":[242,8,28]},{"path":[4,4,4,0],"span":[243,2,275,3]},{"path":[4,4,4,0,1],"span":[243,7,11]},{"path":[4,4,4,0,2,0],"span":[246,4,20],"leadingComments":" 0 is reserved for errors.\n Order is weird for historical reasons.\n"},{"path":[4,4,4,0,2,0,1],"span":[246,4,15]},{"path":[4,4,4,0,2,0,2],"span":[246,18,19]},{"path":[4,4,4,0,2,1],"span":[247,4,19]},{"path":[4,4,4,0,2,1,1],"span":[247,4,14]},{"path":[4,4,4,0,2,1,2],"span":[247,17,18]},{"path":[4,4,4,0,2,2],"span":[250,4,19],"leadingComments":" Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if\n negative values are likely.\n"},{"path":[4,4,4,0,2,2,1],"span":[250,4,14]},{"path":[4,4,4,0,2,2,2],"span":[250,17,18]},{"path":[4,4,4,0,2,3],"span":[251,4,20]},{"path":[4,4,4,0,2,3,1],"span":[251,4,15]},{"path":[4,4,4,0,2,3,2],"span":[251,18,19]},{"path":[4,4,4,0,2,4],"span":[254,4,19],"leadingComments":" Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if\n negative values are likely.\n"},{"path":[4,4,4,0,2,4,1],"span":[254,4,14]},{"path":[4,4,4,0,2,4,2],"span":[254,17,18]},{"path":[4,4,4,0,2,5],"span":[255,4,21]},{"path":[4,4,4,0,2,5,1],"span":[255,4,16]},{"path":[4,4,4,0,2,5,2],"span":[255,19,20]},{"path":[4,4,4,0,2,6],"span":[256,4,21]},{"path":[4,4,4,0,2,6,1],"span":[256,4,16]},{"path":[4,4,4,0,2,6,2],"span":[256,19,20]},{"path":[4,4,4,0,2,7],"span":[257,4,18]},{"path":[4,4,4,0,2,7,1],"span":[257,4,13]},{"path":[4,4,4,0,2,7,2],"span":[257,16,17]},{"path":[4,4,4,0,2,8],"span":[258,4,20]},{"path":[4,4,4,0,2,8,1],"span":[258,4,15]},{"path":[4,4,4,0,2,8,2],"span":[258,18,19]},{"path":[4,4,4,0,2,9],"span":[264,4,20],"leadingComments":" Tag-delimited aggregate.\n Group type is deprecated and not supported after google.protobuf. However, Proto3\n implementations should still be able to parse the group wire format and\n treat group fields as unknown fields. In Editions, the group wire format\n can be enabled via the `message_encoding` feature.\n"},{"path":[4,4,4,0,2,9,1],"span":[264,4,14]},{"path":[4,4,4,0,2,9,2],"span":[264,17,19]},{"path":[4,4,4,0,2,10],"span":[265,4,22],"trailingComments":" Length-delimited aggregate.\n"},{"path":[4,4,4,0,2,10,1],"span":[265,4,16]},{"path":[4,4,4,0,2,10,2],"span":[265,19,21]},{"path":[4,4,4,0,2,11],"span":[268,4,20],"leadingComments":" New in version 2.\n"},{"path":[4,4,4,0,2,11,1],"span":[268,4,14]},{"path":[4,4,4,0,2,11,2],"span":[268,17,19]},{"path":[4,4,4,0,2,12],"span":[269,4,21]},{"path":[4,4,4,0,2,12,1],"span":[269,4,15]},{"path":[4,4,4,0,2,12,2],"span":[269,18,20]},{"path":[4,4,4,0,2,13],"span":[270,4,19]},{"path":[4,4,4,0,2,13,1],"span":[270,4,13]},{"path":[4,4,4,0,2,13,2],"span":[270,16,18]},{"path":[4,4,4,0,2,14],"span":[271,4,23]},{"path":[4,4,4,0,2,14,1],"span":[271,4,17]},{"path":[4,4,4,0,2,14,2],"span":[271,20,22]},{"path":[4,4,4,0,2,15],"span":[272,4,23]},{"path":[4,4,4,0,2,15,1],"span":[272,4,17]},{"path":[4,4,4,0,2,15,2],"span":[272,20,22]},{"path":[4,4,4,0,2,16],"span":[273,4,21],"trailingComments":" Uses ZigZag encoding.\n"},{"path":[4,4,4,0,2,16,1],"span":[273,4,15]},{"path":[4,4,4,0,2,16,2],"span":[273,18,20]},{"path":[4,4,4,0,2,17],"span":[274,4,21],"trailingComments":" Uses ZigZag encoding.\n"},{"path":[4,4,4,0,2,17,1],"span":[274,4,15]},{"path":[4,4,4,0,2,17,2],"span":[274,18,20]},{"path":[4,4,4,1],"span":[277,2,285,3]},{"path":[4,4,4,1,1],"span":[277,7,12]},{"path":[4,4,4,1,2,0],"span":[279,4,23],"leadingComments":" 0 is reserved for errors\n"},{"path":[4,4,4,1,2,0,1],"span":[279,4,18]},{"path":[4,4,4,1,2,0,2],"span":[279,21,22]},{"path":[4,4,4,1,2,1],"span":[280,4,23]},{"path":[4,4,4,1,2,1,1],"span":[280,4,18]},{"path":[4,4,4,1,2,1,2],"span":[280,21,22]},{"path":[4,4,4,1,2,2],"span":[284,4,23],"leadingComments":" The required label is only allowed in google.protobuf. In proto3 and Editions\n it's explicitly prohibited. In Editions, the `field_presence` feature\n can be used to get this behavior.\n"},{"path":[4,4,4,1,2,2,1],"span":[284,4,18]},{"path":[4,4,4,1,2,2,2],"span":[284,21,22]},{"path":[4,4,2,0],"span":[287,2,27]},{"path":[4,4,2,0,4],"span":[287,2,10]},{"path":[4,4,2,0,5],"span":[287,11,17]},{"path":[4,4,2,0,1],"span":[287,18,22]},{"path":[4,4,2,0,3],"span":[287,25,26]},{"path":[4,4,2,1],"span":[288,2,28]},{"path":[4,4,2,1,4],"span":[288,2,10]},{"path":[4,4,2,1,5],"span":[288,11,16]},{"path":[4,4,2,1,1],"span":[288,17,23]},{"path":[4,4,2,1,3],"span":[288,26,27]},{"path":[4,4,2,2],"span":[289,2,27]},{"path":[4,4,2,2,4],"span":[289,2,10]},{"path":[4,4,2,2,6],"span":[289,11,16]},{"path":[4,4,2,2,1],"span":[289,17,22]},{"path":[4,4,2,2,3],"span":[289,25,26]},{"path":[4,4,2,3],"span":[293,2,25],"leadingComments":" If type_name is set, this need not be set. If both this and type_name\n are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.\n"},{"path":[4,4,2,3,4],"span":[293,2,10]},{"path":[4,4,2,3,6],"span":[293,11,15]},{"path":[4,4,2,3,1],"span":[293,16,20]},{"path":[4,4,2,3,3],"span":[293,23,24]},{"path":[4,4,2,4],"span":[300,2,32],"leadingComments":" For message and enum types, this is the name of the type. If the name\n starts with a '.', it is fully-qualified. Otherwise, C++-like scoping\n rules are used to find the type (i.e. first the nested types within this\n message are searched, then within the parent, on up to the root\n namespace).\n"},{"path":[4,4,2,4,4],"span":[300,2,10]},{"path":[4,4,2,4,5],"span":[300,11,17]},{"path":[4,4,2,4,1],"span":[300,18,27]},{"path":[4,4,2,4,3],"span":[300,30,31]},{"path":[4,4,2,5],"span":[304,2,31],"leadingComments":" For extensions, this is the name of the type being extended. It is\n resolved in the same manner as type_name.\n"},{"path":[4,4,2,5,4],"span":[304,2,10]},{"path":[4,4,2,5,5],"span":[304,11,17]},{"path":[4,4,2,5,1],"span":[304,18,26]},{"path":[4,4,2,5,3],"span":[304,29,30]},{"path":[4,4,2,6],"span":[310,2,36],"leadingComments":" For numeric types, contains the original text representation of the value.\n For booleans, \"true\" or \"false\".\n For strings, contains the default text contents (not escaped in any way).\n For bytes, contains the C escaped value. All bytes >= 128 are escaped.\n"},{"path":[4,4,2,6,4],"span":[310,2,10]},{"path":[4,4,2,6,5],"span":[310,11,17]},{"path":[4,4,2,6,1],"span":[310,18,31]},{"path":[4,4,2,6,3],"span":[310,34,35]},{"path":[4,4,2,7],"span":[314,2,33],"leadingComments":" If set, gives the index of a oneof in the containing type's oneof_decl\n list. This field is a member of that oneof.\n"},{"path":[4,4,2,7,4],"span":[314,2,10]},{"path":[4,4,2,7,5],"span":[314,11,16]},{"path":[4,4,2,7,1],"span":[314,17,28]},{"path":[4,4,2,7,3],"span":[314,31,32]},{"path":[4,4,2,8],"span":[320,2,33],"leadingComments":" JSON name of this field. The value is set by protocol compiler. If the\n user has set a \"json_name\" option on this field, that option's value\n will be used. Otherwise, it's deduced from the field's name by converting\n it to camelCase.\n"},{"path":[4,4,2,8,4],"span":[320,2,10]},{"path":[4,4,2,8,5],"span":[320,11,17]},{"path":[4,4,2,8,1],"span":[320,18,27]},{"path":[4,4,2,8,3],"span":[320,30,32]},{"path":[4,4,2,9],"span":[322,2,36]},{"path":[4,4,2,9,4],"span":[322,2,10]},{"path":[4,4,2,9,6],"span":[322,11,23]},{"path":[4,4,2,9,1],"span":[322,24,31]},{"path":[4,4,2,9,3],"span":[322,34,35]},{"path":[4,4,2,10],"span":[345,2,37],"leadingComments":" If true, this is a proto3 \"optional\". When a proto3 field is optional, it\n tracks presence regardless of field type.\n\n When proto3_optional is true, this field must belong to a oneof to signal\n to old proto3 clients that presence is tracked for this field. This oneof\n is known as a \"synthetic\" oneof, and this field must be its sole member\n (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs\n exist in the descriptor only, and do not generate any API. Synthetic oneofs\n must be ordered after all \"real\" oneofs.\n\n For message fields, proto3_optional doesn't create any semantic change,\n since non-repeated message fields always track presence. However it still\n indicates the semantic detail of whether the user wrote \"optional\" or not.\n This can be useful for round-tripping the .proto file. For consistency we\n give message fields a synthetic oneof also, even though it is not required\n to track presence. This is especially important because the parser can't\n tell if a field is a message or an enum, so it must always create a\n synthetic oneof.\n\n Proto2 optional fields do not set this flag, because they already indicate\n optional with `LABEL_OPTIONAL`.\n"},{"path":[4,4,2,10,4],"span":[345,2,10]},{"path":[4,4,2,10,5],"span":[345,11,15]},{"path":[4,4,2,10,1],"span":[345,16,31]},{"path":[4,4,2,10,3],"span":[345,34,36]},{"path":[4,5],"span":[349,0,352,1],"leadingComments":" Describes a oneof.\n"},{"path":[4,5,1],"span":[349,8,28]},{"path":[4,5,2,0],"span":[350,2,27]},{"path":[4,5,2,0,4],"span":[350,2,10]},{"path":[4,5,2,0,5],"span":[350,11,17]},{"path":[4,5,2,0,1],"span":[350,18,22]},{"path":[4,5,2,0,3],"span":[350,25,26]},{"path":[4,5,2,1],"span":[351,2,36]},{"path":[4,5,2,1,4],"span":[351,2,10]},{"path":[4,5,2,1,6],"span":[351,11,23]},{"path":[4,5,2,1,1],"span":[351,24,31]},{"path":[4,5,2,1,3],"span":[351,34,35]},{"path":[4,6],"span":[355,0,384,1],"leadingComments":" Describes an enum type.\n"},{"path":[4,6,1],"span":[355,8,27]},{"path":[4,6,2,0],"span":[356,2,27]},{"path":[4,6,2,0,4],"span":[356,2,10]},{"path":[4,6,2,0,5],"span":[356,11,17]},{"path":[4,6,2,0,1],"span":[356,18,22]},{"path":[4,6,2,0,3],"span":[356,25,26]},{"path":[4,6,2,1],"span":[358,2,46]},{"path":[4,6,2,1,4],"span":[358,2,10]},{"path":[4,6,2,1,6],"span":[358,11,35]},{"path":[4,6,2,1,1],"span":[358,36,41]},{"path":[4,6,2,1,3],"span":[358,44,45]},{"path":[4,6,2,2],"span":[360,2,35]},{"path":[4,6,2,2,4],"span":[360,2,10]},{"path":[4,6,2,2,6],"span":[360,11,22]},{"path":[4,6,2,2,1],"span":[360,23,30]},{"path":[4,6,2,2,3],"span":[360,33,34]},{"path":[4,6,3,0],"span":[368,2,371,3],"leadingComments":" Range of reserved numeric values. Reserved values may not be used by\n entries in the same enum. Reserved ranges may not overlap.\n\n Note that this is distinct from DescriptorProto.ReservedRange in that it\n is inclusive such that it can appropriately represent the entire int32\n domain.\n"},{"path":[4,6,3,0,1],"span":[368,10,27]},{"path":[4,6,3,0,2,0],"span":[369,4,29],"trailingComments":" Inclusive.\n"},{"path":[4,6,3,0,2,0,4],"span":[369,4,12]},{"path":[4,6,3,0,2,0,5],"span":[369,13,18]},{"path":[4,6,3,0,2,0,1],"span":[369,19,24]},{"path":[4,6,3,0,2,0,3],"span":[369,27,28]},{"path":[4,6,3,0,2,1],"span":[370,4,27],"trailingComments":" Inclusive.\n"},{"path":[4,6,3,0,2,1,4],"span":[370,4,12]},{"path":[4,6,3,0,2,1,5],"span":[370,13,18]},{"path":[4,6,3,0,2,1,1],"span":[370,19,22]},{"path":[4,6,3,0,2,1,3],"span":[370,25,26]},{"path":[4,6,2,3],"span":[376,2,48],"leadingComments":" Range of reserved numeric values. Reserved numeric values may not be used\n by enum values in the same enum declaration. Reserved ranges may not\n overlap.\n"},{"path":[4,6,2,3,4],"span":[376,2,10]},{"path":[4,6,2,3,6],"span":[376,11,28]},{"path":[4,6,2,3,1],"span":[376,29,43]},{"path":[4,6,2,3,3],"span":[376,46,47]},{"path":[4,6,2,4],"span":[380,2,36],"leadingComments":" Reserved enum value names, which may not be reused. A given name may only\n be reserved once.\n"},{"path":[4,6,2,4,4],"span":[380,2,10]},{"path":[4,6,2,4,5],"span":[380,11,17]},{"path":[4,6,2,4,1],"span":[380,18,31]},{"path":[4,6,2,4,3],"span":[380,34,35]},{"path":[4,6,2,5],"span":[383,2,43],"leadingComments":" Support for `export` and `local` keywords on enums.\n"},{"path":[4,6,2,5,4],"span":[383,2,10]},{"path":[4,6,2,5,6],"span":[383,11,27]},{"path":[4,6,2,5,1],"span":[383,28,38]},{"path":[4,6,2,5,3],"span":[383,41,42]},{"path":[4,7],"span":[387,0,392,1],"leadingComments":" Describes a value within an enum.\n"},{"path":[4,7,1],"span":[387,8,32]},{"path":[4,7,2,0],"span":[388,2,27]},{"path":[4,7,2,0,4],"span":[388,2,10]},{"path":[4,7,2,0,5],"span":[388,11,17]},{"path":[4,7,2,0,1],"span":[388,18,22]},{"path":[4,7,2,0,3],"span":[388,25,26]},{"path":[4,7,2,1],"span":[389,2,28]},{"path":[4,7,2,1,4],"span":[389,2,10]},{"path":[4,7,2,1,5],"span":[389,11,16]},{"path":[4,7,2,1,1],"span":[389,17,23]},{"path":[4,7,2,1,3],"span":[389,26,27]},{"path":[4,7,2,2],"span":[391,2,40]},{"path":[4,7,2,2,4],"span":[391,2,10]},{"path":[4,7,2,2,6],"span":[391,11,27]},{"path":[4,7,2,2,1],"span":[391,28,35]},{"path":[4,7,2,2,3],"span":[391,38,39]},{"path":[4,8],"span":[395,0,400,1],"leadingComments":" Describes a service.\n"},{"path":[4,8,1],"span":[395,8,30]},{"path":[4,8,2,0],"span":[396,2,27]},{"path":[4,8,2,0,4],"span":[396,2,10]},{"path":[4,8,2,0,5],"span":[396,11,17]},{"path":[4,8,2,0,1],"span":[396,18,22]},{"path":[4,8,2,0,3],"span":[396,25,26]},{"path":[4,8,2,1],"span":[397,2,44]},{"path":[4,8,2,1,4],"span":[397,2,10]},{"path":[4,8,2,1,6],"span":[397,11,32]},{"path":[4,8,2,1,1],"span":[397,33,39]},{"path":[4,8,2,1,3],"span":[397,42,43]},{"path":[4,8,2,2],"span":[399,2,38]},{"path":[4,8,2,2,4],"span":[399,2,10]},{"path":[4,8,2,2,6],"span":[399,11,25]},{"path":[4,8,2,2,1],"span":[399,26,33]},{"path":[4,8,2,2,3],"span":[399,36,37]},{"path":[4,9],"span":[403,0,417,1],"leadingComments":" Describes a method of a service.\n"},{"path":[4,9,1],"span":[403,8,29]},{"path":[4,9,2,0],"span":[404,2,27]},{"path":[4,9,2,0,4],"span":[404,2,10]},{"path":[4,9,2,0,5],"span":[404,11,17]},{"path":[4,9,2,0,1],"span":[404,18,22]},{"path":[4,9,2,0,3],"span":[404,25,26]},{"path":[4,9,2,1],"span":[408,2,33],"leadingComments":" Input and output type names. These are resolved in the same way as\n FieldDescriptorProto.type_name, but must refer to a message type.\n"},{"path":[4,9,2,1,4],"span":[408,2,10]},{"path":[4,9,2,1,5],"span":[408,11,17]},{"path":[4,9,2,1,1],"span":[408,18,28]},{"path":[4,9,2,1,3],"span":[408,31,32]},{"path":[4,9,2,2],"span":[409,2,34]},{"path":[4,9,2,2,4],"span":[409,2,10]},{"path":[4,9,2,2,5],"span":[409,11,17]},{"path":[4,9,2,2,1],"span":[409,18,29]},{"path":[4,9,2,2,3],"span":[409,32,33]},{"path":[4,9,2,3],"span":[411,2,37]},{"path":[4,9,2,3,4],"span":[411,2,10]},{"path":[4,9,2,3,6],"span":[411,11,24]},{"path":[4,9,2,3,1],"span":[411,25,32]},{"path":[4,9,2,3,3],"span":[411,35,36]},{"path":[4,9,2,4],"span":[414,2,55],"leadingComments":" Identifies if client streams multiple client messages\n"},{"path":[4,9,2,4,4],"span":[414,2,10]},{"path":[4,9,2,4,5],"span":[414,11,15]},{"path":[4,9,2,4,1],"span":[414,16,32]},{"path":[4,9,2,4,3],"span":[414,35,36]},{"path":[4,9,2,4,8],"span":[414,37,54]},{"path":[4,9,2,4,7],"span":[414,38,53]},{"path":[4,9,2,5],"span":[416,2,55],"leadingComments":" Identifies if server streams multiple server messages\n"},{"path":[4,9,2,5,4],"span":[416,2,10]},{"path":[4,9,2,5,5],"span":[416,11,15]},{"path":[4,9,2,5,1],"span":[416,16,32]},{"path":[4,9,2,5,3],"span":[416,35,36]},{"path":[4,9,2,5,8],"span":[416,37,54]},{"path":[4,9,2,5,7],"span":[416,38,53]},{"path":[4,10],"span":[451,0,578,1],"leadingDetachedComments":[" ===================================================================\n Options\n"," Each of the definitions above may have \"options\" attached. These are\n just annotations which may cause code to be generated slightly differently\n or may contain hints for code that manipulates protocol messages.\n\n Clients may define custom options as extensions of the *Options messages.\n These extensions may not yet be known at parsing time, so the parser cannot\n store the values in them. Instead it stores them in a field in the *Options\n message called uninterpreted_option. This field must have the same name\n across all *Options messages. We then use this field to populate the\n extensions when we build a descriptor, at which point all protos have been\n parsed and so all extensions are known.\n\n Extension numbers for custom options may be chosen as follows:\n * For options which will only be used within a single application or\n organization, or for experimental options, use field numbers 50000\n through 99999. It is up to you to ensure that you do not use the\n same number for multiple options.\n * For options which will be published and used publicly by multiple\n independent entities, e-mail protobuf-global-extension-registry@google.com\n to reserve extension numbers. Simply provide your project name (e.g.\n Objective-C plugin) and your project website (if available) -- there's no\n need to explain how you intend to use them. Usually you only need one\n extension number. You can declare multiple options with only one extension\n number by putting them in a sub-message. See the Custom Options section of\n the docs for examples:\n https://developers.google.com/protocol-buffers/docs/proto#options\n If this turns out to be popular, a web service will be set up\n to automatically assign option numbers.\n"]},{"path":[4,10,1],"span":[451,8,19]},{"path":[4,10,2,0],"span":[457,2,35],"leadingComments":" Sets the Java package where classes generated from this .proto will be\n placed. By default, the proto package is used, but this is often\n inappropriate because proto packages do not normally start with backwards\n domain names.\n"},{"path":[4,10,2,0,4],"span":[457,2,10]},{"path":[4,10,2,0,5],"span":[457,11,17]},{"path":[4,10,2,0,1],"span":[457,18,30]},{"path":[4,10,2,0,3],"span":[457,33,34]},{"path":[4,10,2,1],"span":[464,2,43],"leadingComments":" Controls the name of the wrapper Java class generated for the .proto file.\n That class will always contain the .proto file's getDescriptor() method as\n well as any top-level extensions defined in the .proto file.\n If java_multiple_files is disabled, then all the other classes from the\n .proto file will be nested inside the single wrapper outer class.\n"},{"path":[4,10,2,1,4],"span":[464,2,10]},{"path":[4,10,2,1,5],"span":[464,11,17]},{"path":[4,10,2,1,1],"span":[464,18,38]},{"path":[4,10,2,1,3],"span":[464,41,42]},{"path":[4,10,2,2],"span":[472,2,59],"leadingComments":" If enabled, then the Java code generator will generate a separate .java\n file for each top-level message, enum, and service defined in the .proto\n file. Thus, these types will *not* be nested inside the wrapper class\n named by java_outer_classname. However, the wrapper class will still be\n generated to contain the file's getDescriptor() method as well as any\n top-level extensions defined in the file.\n"},{"path":[4,10,2,2,4],"span":[472,2,10]},{"path":[4,10,2,2,5],"span":[472,11,15]},{"path":[4,10,2,2,1],"span":[472,16,35]},{"path":[4,10,2,2,3],"span":[472,38,40]},{"path":[4,10,2,2,8],"span":[472,41,58]},{"path":[4,10,2,2,7],"span":[472,42,57]},{"path":[4,10,2,3],"span":[475,2,69],"leadingComments":" This option does nothing.\n"},{"path":[4,10,2,3,4],"span":[475,2,10]},{"path":[4,10,2,3,5],"span":[475,11,15]},{"path":[4,10,2,3,1],"span":[475,16,45]},{"path":[4,10,2,3,3],"span":[475,48,50]},{"path":[4,10,2,3,8],"span":[475,51,68]},{"path":[4,10,2,3,8,3],"span":[475,52,67]},{"path":[4,10,2,4],"span":[487,2,62],"leadingComments":" A proto2 file can set this to true to opt in to UTF-8 checking for Java,\n which will throw an exception if invalid UTF-8 is parsed from the wire or\n assigned to a string field.\n\n TODO: clarify exactly what kinds of field types this option\n applies to, and update these docs accordingly.\n\n Proto3 files already perform these checks. Setting the option explicitly to\n false has no effect: it cannot be used to opt proto3 files out of UTF-8\n checks.\n"},{"path":[4,10,2,4,4],"span":[487,2,10]},{"path":[4,10,2,4,5],"span":[487,11,15]},{"path":[4,10,2,4,1],"span":[487,16,38]},{"path":[4,10,2,4,3],"span":[487,41,43]},{"path":[4,10,2,4,8],"span":[487,44,61]},{"path":[4,10,2,4,7],"span":[487,45,60]},{"path":[4,10,4,0],"span":[490,2,495,3],"leadingComments":" Generated classes can be optimized for speed or code size.\n"},{"path":[4,10,4,0,1],"span":[490,7,19]},{"path":[4,10,4,0,2,0],"span":[491,4,14],"trailingComments":" Generate complete code for parsing, serialization,\n"},{"path":[4,10,4,0,2,0,1],"span":[491,4,9]},{"path":[4,10,4,0,2,0,2],"span":[491,12,13]},{"path":[4,10,4,0,2,1],"span":[493,4,18],"leadingComments":" etc.\n","trailingComments":" Use ReflectionOps to implement these methods.\n"},{"path":[4,10,4,0,2,1,1],"span":[493,4,13]},{"path":[4,10,4,0,2,1,2],"span":[493,16,17]},{"path":[4,10,4,0,2,2],"span":[494,4,21],"trailingComments":" Generate code using MessageLite and the lite runtime.\n"},{"path":[4,10,4,0,2,2,1],"span":[494,4,16]},{"path":[4,10,4,0,2,2,2],"span":[494,19,20]},{"path":[4,10,2,5],"span":[496,2,59]},{"path":[4,10,2,5,4],"span":[496,2,10]},{"path":[4,10,2,5,6],"span":[496,11,23]},{"path":[4,10,2,5,1],"span":[496,24,36]},{"path":[4,10,2,5,3],"span":[496,39,40]},{"path":[4,10,2,5,8],"span":[496,41,58]},{"path":[4,10,2,5,7],"span":[496,42,57]},{"path":[4,10,2,6],"span":[503,2,34],"leadingComments":" Sets the Go package where structs generated from this .proto will be\n placed. If omitted, the Go package will be derived from the following:\n - The basename of the package import path, if provided.\n - Otherwise, the package statement in the .proto file, if present.\n - Otherwise, the basename of the .proto file, without extension.\n"},{"path":[4,10,2,6,4],"span":[503,2,10]},{"path":[4,10,2,6,5],"span":[503,11,17]},{"path":[4,10,2,6,1],"span":[503,18,28]},{"path":[4,10,2,6,3],"span":[503,31,33]},{"path":[4,10,2,7],"span":[515,2,59],"leadingComments":" Should generic services be generated in each language? \"Generic\" services\n are not specific to any particular RPC system. They are generated by the\n main code generators in each language (without additional plugins).\n Generic services were the only kind of service generation supported by\n early versions of google.protobuf.\n\n Generic services are now considered deprecated in favor of using plugins\n that generate code specific to your particular RPC system. Therefore,\n these default to false. Old code which depends on generic services should\n explicitly set them to true.\n"},{"path":[4,10,2,7,4],"span":[515,2,10]},{"path":[4,10,2,7,5],"span":[515,11,15]},{"path":[4,10,2,7,1],"span":[515,16,35]},{"path":[4,10,2,7,3],"span":[515,38,40]},{"path":[4,10,2,7,8],"span":[515,41,58]},{"path":[4,10,2,7,7],"span":[515,42,57]},{"path":[4,10,2,8],"span":[516,2,61]},{"path":[4,10,2,8,4],"span":[516,2,10]},{"path":[4,10,2,8,5],"span":[516,11,15]},{"path":[4,10,2,8,1],"span":[516,16,37]},{"path":[4,10,2,8,3],"span":[516,40,42]},{"path":[4,10,2,8,8],"span":[516,43,60]},{"path":[4,10,2,8,7],"span":[516,44,59]},{"path":[4,10,2,9],"span":[517,2,59]},{"path":[4,10,2,9,4],"span":[517,2,10]},{"path":[4,10,2,9,5],"span":[517,11,15]},{"path":[4,10,2,9,1],"span":[517,16,35]},{"path":[4,10,2,9,3],"span":[517,38,40]},{"path":[4,10,2,9,8],"span":[517,41,58]},{"path":[4,10,2,9,7],"span":[517,42,57]},{"path":[4,10,9],"span":[518,2,14],"trailingComments":" removed php_generic_services\n"},{"path":[4,10,9,0],"span":[518,11,13]},{"path":[4,10,9,0,1],"span":[518,11,13]},{"path":[4,10,9,0,2],"span":[518,11,13]},{"path":[4,10,10],"span":[519,2,34]},{"path":[4,10,10,0],"span":[519,11,33]},{"path":[4,10,2,10],"span":[525,2,50],"leadingComments":" Is this file deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for everything in the file, or it will be completely ignored; in the very\n least, this is a formalization for deprecating files.\n"},{"path":[4,10,2,10,4],"span":[525,2,10]},{"path":[4,10,2,10,5],"span":[525,11,15]},{"path":[4,10,2,10,1],"span":[525,16,26]},{"path":[4,10,2,10,3],"span":[525,29,31]},{"path":[4,10,2,10,8],"span":[525,32,49]},{"path":[4,10,2,10,7],"span":[525,33,48]},{"path":[4,10,2,11],"span":[529,2,55],"leadingComments":" Enables the use of arenas for the proto messages in this file. This applies\n only to generated classes for C++.\n"},{"path":[4,10,2,11,4],"span":[529,2,10]},{"path":[4,10,2,11,5],"span":[529,11,15]},{"path":[4,10,2,11,1],"span":[529,16,32]},{"path":[4,10,2,11,3],"span":[529,35,37]},{"path":[4,10,2,11,8],"span":[529,38,54]},{"path":[4,10,2,11,7],"span":[529,39,53]},{"path":[4,10,2,12],"span":[533,2,41],"leadingComments":" Sets the objective c class prefix which is prepended to all objective c\n generated classes from this .proto. There is no default.\n"},{"path":[4,10,2,12,4],"span":[533,2,10]},{"path":[4,10,2,12,5],"span":[533,11,17]},{"path":[4,10,2,12,1],"span":[533,18,35]},{"path":[4,10,2,12,3],"span":[533,38,40]},{"path":[4,10,2,13],"span":[536,2,40],"leadingComments":" Namespace for generated classes; defaults to the package.\n"},{"path":[4,10,2,13,4],"span":[536,2,10]},{"path":[4,10,2,13,5],"span":[536,11,17]},{"path":[4,10,2,13,1],"span":[536,18,34]},{"path":[4,10,2,13,3],"span":[536,37,39]},{"path":[4,10,2,14],"span":[542,2,36],"leadingComments":" By default Swift generators will take the proto package and CamelCase it\n replacing '.' with underscore and use that to prefix the types/symbols\n defined. When this options is provided, they will use this value instead\n to prefix the types/symbols defined.\n"},{"path":[4,10,2,14,4],"span":[542,2,10]},{"path":[4,10,2,14,5],"span":[542,11,17]},{"path":[4,10,2,14,1],"span":[542,18,30]},{"path":[4,10,2,14,3],"span":[542,33,35]},{"path":[4,10,2,15],"span":[546,2,40],"leadingComments":" Sets the php class prefix which is prepended to all php generated classes\n from this .proto. Default is empty.\n"},{"path":[4,10,2,15,4],"span":[546,2,10]},{"path":[4,10,2,15,5],"span":[546,11,17]},{"path":[4,10,2,15,1],"span":[546,18,34]},{"path":[4,10,2,15,3],"span":[546,37,39]},{"path":[4,10,2,16],"span":[551,2,37],"leadingComments":" Use this option to change the namespace of php generated classes. Default\n is empty. When this option is empty, the package name will be used for\n determining the namespace.\n"},{"path":[4,10,2,16,4],"span":[551,2,10]},{"path":[4,10,2,16,5],"span":[551,11,17]},{"path":[4,10,2,16,1],"span":[551,18,31]},{"path":[4,10,2,16,3],"span":[551,34,36]},{"path":[4,10,2,17],"span":[556,2,46],"leadingComments":" Use this option to change the namespace of php generated metadata classes.\n Default is empty. When this option is empty, the proto file name will be\n used for determining the namespace.\n"},{"path":[4,10,2,17,4],"span":[556,2,10]},{"path":[4,10,2,17,5],"span":[556,11,17]},{"path":[4,10,2,17,1],"span":[556,18,40]},{"path":[4,10,2,17,3],"span":[556,43,45]},{"path":[4,10,2,18],"span":[561,2,36],"leadingComments":" Use this option to change the package of ruby generated classes. Default\n is empty. When this option is not set, the package name will be used for\n determining the ruby package.\n"},{"path":[4,10,2,18,4],"span":[561,2,10]},{"path":[4,10,2,18,5],"span":[561,11,17]},{"path":[4,10,2,18,1],"span":[561,18,30]},{"path":[4,10,2,18,3],"span":[561,33,35]},{"path":[4,10,2,19],"span":[567,2,36],"leadingComments":" Any features defined in the specific edition.\n WARNING: This field should only be used by protobuf plugins or special\n cases like the proto compiler. Other uses are discouraged and\n developers should rely on the protoreflect APIs for their client language.\n"},{"path":[4,10,2,19,4],"span":[567,2,10]},{"path":[4,10,2,19,6],"span":[567,11,21]},{"path":[4,10,2,19,1],"span":[567,22,30]},{"path":[4,10,2,19,3],"span":[567,33,35]},{"path":[4,10,2,20],"span":[571,2,58],"leadingComments":" The parser stores options it doesn't recognize here.\n See the documentation for the \"Options\" section above.\n"},{"path":[4,10,2,20,4],"span":[571,2,10]},{"path":[4,10,2,20,6],"span":[571,11,30]},{"path":[4,10,2,20,1],"span":[571,31,51]},{"path":[4,10,2,20,3],"span":[571,54,57]},{"path":[4,10,5],"span":[575,2,25],"leadingComments":" Clients can define custom options in extensions of this message.\n See the documentation for the \"Options\" section above.\n"},{"path":[4,10,5,0],"span":[575,13,24]},{"path":[4,10,5,0,1],"span":[575,13,17]},{"path":[4,10,5,0,2],"span":[575,21,24]},{"path":[4,10,9],"span":[577,2,14]},{"path":[4,10,9,1],"span":[577,11,13]},{"path":[4,10,9,1,1],"span":[577,11,13]},{"path":[4,10,9,1,2],"span":[577,11,13]},{"path":[4,11],"span":[580,0,663,1]},{"path":[4,11,1],"span":[580,8,22]},{"path":[4,11,2,0],"span":[599,2,62],"leadingComments":" Set true to use the old proto1 MessageSet wire format for extensions.\n This is provided for backwards-compatibility with the MessageSet wire\n format. You should not use this for any other reason: It's less\n efficient, has fewer features, and is more complicated.\n\n The message must be defined exactly as follows:\n message Foo {\n option message_set_wire_format = true;\n extensions 4 to max;\n }\n Note that the message cannot have any defined fields; MessageSets only\n have extensions.\n\n All extensions of your type must be singular messages; e.g. they cannot\n be int32s, enums, or repeated messages.\n\n Because this is an option, the above two restrictions are not enforced by\n the protocol compiler.\n"},{"path":[4,11,2,0,4],"span":[599,2,10]},{"path":[4,11,2,0,5],"span":[599,11,15]},{"path":[4,11,2,0,1],"span":[599,16,39]},{"path":[4,11,2,0,3],"span":[599,42,43]},{"path":[4,11,2,0,8],"span":[599,44,61]},{"path":[4,11,2,0,7],"span":[599,45,60]},{"path":[4,11,2,1],"span":[604,2,70],"leadingComments":" Disables the generation of the standard \"descriptor()\" accessor, which can\n conflict with a field of the same name. This is meant to make migration\n from proto1 easier; new code should avoid fields named \"descriptor\".\n"},{"path":[4,11,2,1,4],"span":[604,2,10]},{"path":[4,11,2,1,5],"span":[604,11,15]},{"path":[4,11,2,1,1],"span":[604,16,47]},{"path":[4,11,2,1,3],"span":[604,50,51]},{"path":[4,11,2,1,8],"span":[604,52,69]},{"path":[4,11,2,1,7],"span":[604,53,68]},{"path":[4,11,2,2],"span":[610,2,49],"leadingComments":" Is this message deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the message, or it will be completely ignored; in the very least,\n this is a formalization for deprecating messages.\n"},{"path":[4,11,2,2,4],"span":[610,2,10]},{"path":[4,11,2,2,5],"span":[610,11,15]},{"path":[4,11,2,2,1],"span":[610,16,26]},{"path":[4,11,2,2,3],"span":[610,29,30]},{"path":[4,11,2,2,8],"span":[610,31,48]},{"path":[4,11,2,2,7],"span":[610,32,47]},{"path":[4,11,9],"span":[612,2,19]},{"path":[4,11,9,0],"span":[612,11,12]},{"path":[4,11,9,0,1],"span":[612,11,12]},{"path":[4,11,9,0,2],"span":[612,11,12]},{"path":[4,11,9,1],"span":[612,14,15]},{"path":[4,11,9,1,1],"span":[612,14,15]},{"path":[4,11,9,1,2],"span":[612,14,15]},{"path":[4,11,9,2],"span":[612,17,18]},{"path":[4,11,9,2,1],"span":[612,17,18]},{"path":[4,11,9,2,2],"span":[612,17,18]},{"path":[4,11,2,3],"span":[635,2,30],"leadingComments":" Whether the message is an automatically generated map entry type for the\n maps field.\n\n For maps fields:\n map map_field = 1;\n The parsed descriptor looks like:\n message MapFieldEntry {\n option map_entry = true;\n optional KeyType key = 1;\n optional ValueType value = 2;\n }\n repeated MapFieldEntry map_field = 1;\n\n Implementations may choose not to generate the map_entry=true message, but\n use a native map in the target language to hold the keys and values.\n The reflection APIs in such implementations still need to work as\n if the field is a repeated message field.\n\n NOTE: Do not set the option in .proto files. Always use the maps syntax\n instead. The option should only be implicitly set by the proto compiler\n parser.\n"},{"path":[4,11,2,3,4],"span":[635,2,10]},{"path":[4,11,2,3,5],"span":[635,11,15]},{"path":[4,11,2,3,1],"span":[635,16,25]},{"path":[4,11,2,3,3],"span":[635,28,29]},{"path":[4,11,9],"span":[637,2,13],"trailingComments":" javalite_serializable\n"},{"path":[4,11,9,3],"span":[637,11,12]},{"path":[4,11,9,3,1],"span":[637,11,12]},{"path":[4,11,9,3,2],"span":[637,11,12]},{"path":[4,11,9],"span":[638,2,13],"trailingComments":" javanano_as_lite\n"},{"path":[4,11,9,4],"span":[638,11,12]},{"path":[4,11,9,4,1],"span":[638,11,12]},{"path":[4,11,9,4,2],"span":[638,11,12]},{"path":[4,11,2,4],"span":[650,2,80],"leadingComments":" Enable the legacy handling of JSON field name conflicts. This lowercases\n and strips underscored from the fields before comparison in proto3 only.\n The new behavior takes `json_name` into account and applies to proto2 as\n well.\n\n This should only be used as a temporary measure against broken builds due\n to the change in behavior for JSON field name conflicts.\n\n TODO This is legacy behavior we plan to remove once downstream\n teams have had time to migrate.\n"},{"path":[4,11,2,4,4],"span":[650,2,10]},{"path":[4,11,2,4,5],"span":[650,11,15]},{"path":[4,11,2,4,1],"span":[650,16,54]},{"path":[4,11,2,4,3],"span":[650,57,59]},{"path":[4,11,2,4,8],"span":[650,60,79]},{"path":[4,11,2,4,8,3],"span":[650,61,78]},{"path":[4,11,2,5],"span":[656,2,36],"leadingComments":" Any features defined in the specific edition.\n WARNING: This field should only be used by protobuf plugins or special\n cases like the proto compiler. Other uses are discouraged and\n developers should rely on the protoreflect APIs for their client language.\n"},{"path":[4,11,2,5,4],"span":[656,2,10]},{"path":[4,11,2,5,6],"span":[656,11,21]},{"path":[4,11,2,5,1],"span":[656,22,30]},{"path":[4,11,2,5,3],"span":[656,33,35]},{"path":[4,11,2,6],"span":[659,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,11,2,6,4],"span":[659,2,10]},{"path":[4,11,2,6,6],"span":[659,11,30]},{"path":[4,11,2,6,1],"span":[659,31,51]},{"path":[4,11,2,6,3],"span":[659,54,57]},{"path":[4,11,5],"span":[662,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,11,5,0],"span":[662,13,24]},{"path":[4,11,5,0,1],"span":[662,13,17]},{"path":[4,11,5,0,2],"span":[662,21,24]},{"path":[4,12],"span":[665,0,831,1]},{"path":[4,12,1],"span":[665,8,20]},{"path":[4,12,2,0],"span":[673,2,69],"leadingComments":" NOTE: ctype is deprecated. Use `features.(pb.cpp).string_type` instead.\n The ctype option instructs the C++ code generator to use a different\n representation of the field than it normally would. See the specific\n options below. This option is only implemented to support use of\n [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of\n type \"bytes\" in the open source release.\n TODO: make ctype actually deprecated.\n"},{"path":[4,12,2,0,4],"span":[673,2,10]},{"path":[4,12,2,0,6],"span":[673,11,16]},{"path":[4,12,2,0,1],"span":[673,17,22]},{"path":[4,12,2,0,3],"span":[673,25,26]},{"path":[4,12,2,0,8],"span":[673,27,68]},{"path":[4,12,2,0,7],"span":[673,51,67]},{"path":[4,12,4,0],"span":[674,2,687,3]},{"path":[4,12,4,0,1],"span":[674,7,12]},{"path":[4,12,4,0,2,0],"span":[676,4,15],"leadingComments":" Default mode.\n"},{"path":[4,12,4,0,2,0,1],"span":[676,4,10]},{"path":[4,12,4,0,2,0,2],"span":[676,13,14]},{"path":[4,12,4,0,2,1],"span":[684,4,13],"leadingComments":" The option [ctype=CORD] may be applied to a non-repeated field of type\n \"bytes\". It indicates that in C++, the data should be stored in a Cord\n instead of a string. For very large strings, this may reduce memory\n fragmentation. It may also allow better performance when parsing from a\n Cord, or when parsing with aliasing enabled, as the parsed Cord may then\n alias the original buffer.\n"},{"path":[4,12,4,0,2,1,1],"span":[684,4,8]},{"path":[4,12,4,0,2,1,2],"span":[684,11,12]},{"path":[4,12,4,0,2,2],"span":[686,4,21]},{"path":[4,12,4,0,2,2,1],"span":[686,4,16]},{"path":[4,12,4,0,2,2,2],"span":[686,19,20]},{"path":[4,12,2,1],"span":[695,2,27],"leadingComments":" The packed option can be enabled for repeated primitive fields to enable\n a more efficient representation on the wire. Rather than repeatedly\n writing the tag and type for each element, the entire array is encoded as\n a single length-delimited blob. In proto3, only explicit setting it to\n false will avoid using packed encoding. This option is prohibited in\n Editions, but the `repeated_field_encoding` feature can be used to control\n the behavior.\n"},{"path":[4,12,2,1,4],"span":[695,2,10]},{"path":[4,12,2,1,5],"span":[695,11,15]},{"path":[4,12,2,1,1],"span":[695,16,22]},{"path":[4,12,2,1,3],"span":[695,25,26]},{"path":[4,12,2,2],"span":[708,2,51],"leadingComments":" The jstype option determines the JavaScript type used for values of the\n field. The option is permitted only for 64 bit integral and fixed types\n (int64, uint64, sint64, fixed64, sfixed64). A field with jstype JS_STRING\n is represented as JavaScript string, which avoids loss of precision that\n can happen when a large value is converted to a floating point JavaScript.\n Specifying JS_NUMBER for the jstype causes the generated JavaScript code to\n use the JavaScript \"number\" type. The behavior of the default option\n JS_NORMAL is implementation dependent.\n\n This option is an enum to permit additional types to be added, e.g.\n goog.math.Integer.\n"},{"path":[4,12,2,2,4],"span":[708,2,10]},{"path":[4,12,2,2,6],"span":[708,11,17]},{"path":[4,12,2,2,1],"span":[708,18,24]},{"path":[4,12,2,2,3],"span":[708,27,28]},{"path":[4,12,2,2,8],"span":[708,29,50]},{"path":[4,12,2,2,7],"span":[708,30,49]},{"path":[4,12,4,1],"span":[709,2,718,3]},{"path":[4,12,4,1,1],"span":[709,7,13]},{"path":[4,12,4,1,2,0],"span":[711,4,18],"leadingComments":" Use the default type.\n"},{"path":[4,12,4,1,2,0,1],"span":[711,4,13]},{"path":[4,12,4,1,2,0,2],"span":[711,16,17]},{"path":[4,12,4,1,2,1],"span":[714,4,18],"leadingComments":" Use JavaScript strings.\n"},{"path":[4,12,4,1,2,1,1],"span":[714,4,13]},{"path":[4,12,4,1,2,1,2],"span":[714,16,17]},{"path":[4,12,4,1,2,2],"span":[717,4,18],"leadingComments":" Use JavaScript numbers.\n"},{"path":[4,12,4,1,2,2,1],"span":[717,4,13]},{"path":[4,12,4,1,2,2,2],"span":[717,16,17]},{"path":[4,12,2,3],"span":[742,2,43],"leadingComments":" Should this field be parsed lazily? Lazy applies only to message-type\n fields. It means that when the outer message is initially parsed, the\n inner message's contents will not be parsed but instead stored in encoded\n form. The inner message will actually be parsed when it is first accessed.\n\n This is only a hint. Implementations are free to choose whether to use\n eager or lazy parsing regardless of the value of this option. However,\n setting this option true suggests that the protocol author believes that\n using lazy parsing on this field is worth the additional bookkeeping\n overhead typically needed to implement it.\n\n This option does not affect the public interface of any generated code;\n all method signatures remain the same. Furthermore, thread-safety of the\n interface is not affected by this option; const methods remain safe to\n call from multiple threads concurrently, while non-const methods continue\n to require exclusive access.\n\n Note that lazy message fields are still eagerly verified to check\n ill-formed wireformat or missing required fields. Calling IsInitialized()\n on the outer message would fail if the inner message has missing required\n fields. Failed verification would result in parsing failure (except when\n uninitialized messages are acceptable).\n"},{"path":[4,12,2,3,4],"span":[742,2,10]},{"path":[4,12,2,3,5],"span":[742,11,15]},{"path":[4,12,2,3,1],"span":[742,16,20]},{"path":[4,12,2,3,3],"span":[742,23,24]},{"path":[4,12,2,3,8],"span":[742,25,42]},{"path":[4,12,2,3,7],"span":[742,26,41]},{"path":[4,12,2,4],"span":[747,2,55],"leadingComments":" unverified_lazy does no correctness checks on the byte stream. This should\n only be used where lazy with verification is prohibitive for performance\n reasons.\n"},{"path":[4,12,2,4,4],"span":[747,2,10]},{"path":[4,12,2,4,5],"span":[747,11,15]},{"path":[4,12,2,4,1],"span":[747,16,31]},{"path":[4,12,2,4,3],"span":[747,34,36]},{"path":[4,12,2,4,8],"span":[747,37,54]},{"path":[4,12,2,4,7],"span":[747,38,53]},{"path":[4,12,2,5],"span":[753,2,49],"leadingComments":" Is this field deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for accessors, or it will be completely ignored; in the very least, this\n is a formalization for deprecating fields.\n"},{"path":[4,12,2,5,4],"span":[753,2,10]},{"path":[4,12,2,5,5],"span":[753,11,15]},{"path":[4,12,2,5,1],"span":[753,16,26]},{"path":[4,12,2,5,3],"span":[753,29,30]},{"path":[4,12,2,5,8],"span":[753,31,48]},{"path":[4,12,2,5,7],"span":[753,32,47]},{"path":[4,12,2,6],"span":[756,2,44],"leadingComments":" For Google-internal migration only. Do not use.\n"},{"path":[4,12,2,6,4],"span":[756,2,10]},{"path":[4,12,2,6,5],"span":[756,11,15]},{"path":[4,12,2,6,1],"span":[756,16,20]},{"path":[4,12,2,6,3],"span":[756,23,25]},{"path":[4,12,2,6,8],"span":[756,26,43]},{"path":[4,12,2,6,7],"span":[756,27,42]},{"path":[4,12,2,7],"span":[760,2,52],"leadingComments":" Indicate that the field value should not be printed out when using debug\n formats, e.g. when the field contains sensitive credentials.\n"},{"path":[4,12,2,7,4],"span":[760,2,10]},{"path":[4,12,2,7,5],"span":[760,11,15]},{"path":[4,12,2,7,1],"span":[760,16,28]},{"path":[4,12,2,7,3],"span":[760,31,33]},{"path":[4,12,2,7,8],"span":[760,34,51]},{"path":[4,12,2,7,7],"span":[760,35,50]},{"path":[4,12,4,2],"span":[763,2,767,3],"leadingComments":" If set to RETENTION_SOURCE, the option will be omitted from the binary.\n"},{"path":[4,12,4,2,1],"span":[763,7,22]},{"path":[4,12,4,2,2,0],"span":[764,4,26]},{"path":[4,12,4,2,2,0,1],"span":[764,4,21]},{"path":[4,12,4,2,2,0,2],"span":[764,24,25]},{"path":[4,12,4,2,2,1],"span":[765,4,26]},{"path":[4,12,4,2,2,1,1],"span":[765,4,21]},{"path":[4,12,4,2,2,1,2],"span":[765,24,25]},{"path":[4,12,4,2,2,2],"span":[766,4,25]},{"path":[4,12,4,2,2,2,1],"span":[766,4,20]},{"path":[4,12,4,2,2,2,2],"span":[766,23,24]},{"path":[4,12,2,8],"span":[769,2,42]},{"path":[4,12,2,8,4],"span":[769,2,10]},{"path":[4,12,2,8,6],"span":[769,11,26]},{"path":[4,12,2,8,1],"span":[769,27,36]},{"path":[4,12,2,8,3],"span":[769,39,41]},{"path":[4,12,4,3],"span":[774,2,785,3],"leadingComments":" This indicates the types of entities that the field may apply to when used\n as an option. If it is unset, then the field may be freely used as an\n option on any kind of entity.\n"},{"path":[4,12,4,3,1],"span":[774,7,23]},{"path":[4,12,4,3,2,0],"span":[775,4,28]},{"path":[4,12,4,3,2,0,1],"span":[775,4,23]},{"path":[4,12,4,3,2,0,2],"span":[775,26,27]},{"path":[4,12,4,3,2,1],"span":[776,4,25]},{"path":[4,12,4,3,2,1,1],"span":[776,4,20]},{"path":[4,12,4,3,2,1,2],"span":[776,23,24]},{"path":[4,12,4,3,2,2],"span":[777,4,36]},{"path":[4,12,4,3,2,2,1],"span":[777,4,31]},{"path":[4,12,4,3,2,2,2],"span":[777,34,35]},{"path":[4,12,4,3,2,3],"span":[778,4,28]},{"path":[4,12,4,3,2,3,1],"span":[778,4,23]},{"path":[4,12,4,3,2,3,2],"span":[778,26,27]},{"path":[4,12,4,3,2,4],"span":[779,4,26]},{"path":[4,12,4,3,2,4,1],"span":[779,4,21]},{"path":[4,12,4,3,2,4,2],"span":[779,24,25]},{"path":[4,12,4,3,2,5],"span":[780,4,26]},{"path":[4,12,4,3,2,5,1],"span":[780,4,21]},{"path":[4,12,4,3,2,5,2],"span":[780,24,25]},{"path":[4,12,4,3,2,6],"span":[781,4,25]},{"path":[4,12,4,3,2,6,1],"span":[781,4,20]},{"path":[4,12,4,3,2,6,2],"span":[781,23,24]},{"path":[4,12,4,3,2,7],"span":[782,4,31]},{"path":[4,12,4,3,2,7,1],"span":[782,4,26]},{"path":[4,12,4,3,2,7,2],"span":[782,29,30]},{"path":[4,12,4,3,2,8],"span":[783,4,28]},{"path":[4,12,4,3,2,8,1],"span":[783,4,23]},{"path":[4,12,4,3,2,8,2],"span":[783,26,27]},{"path":[4,12,4,3,2,9],"span":[784,4,27]},{"path":[4,12,4,3,2,9,1],"span":[784,4,22]},{"path":[4,12,4,3,2,9,2],"span":[784,25,26]},{"path":[4,12,2,9],"span":[787,2,41]},{"path":[4,12,2,9,4],"span":[787,2,10]},{"path":[4,12,2,9,6],"span":[787,11,27]},{"path":[4,12,2,9,1],"span":[787,28,35]},{"path":[4,12,2,9,3],"span":[787,38,40]},{"path":[4,12,3,0],"span":[789,2,792,3]},{"path":[4,12,3,0,1],"span":[789,10,24]},{"path":[4,12,3,0,2,0],"span":[790,4,33]},{"path":[4,12,3,0,2,0,4],"span":[790,4,12]},{"path":[4,12,3,0,2,0,6],"span":[790,13,20]},{"path":[4,12,3,0,2,0,1],"span":[790,21,28]},{"path":[4,12,3,0,2,0,3],"span":[790,31,32]},{"path":[4,12,3,0,2,1],"span":[791,4,30],"trailingComments":" Textproto value.\n"},{"path":[4,12,3,0,2,1,4],"span":[791,4,12]},{"path":[4,12,3,0,2,1,5],"span":[791,13,19]},{"path":[4,12,3,0,2,1,1],"span":[791,20,25]},{"path":[4,12,3,0,2,1,3],"span":[791,28,29]},{"path":[4,12,2,10],"span":[793,2,48]},{"path":[4,12,2,10,4],"span":[793,2,10]},{"path":[4,12,2,10,6],"span":[793,11,25]},{"path":[4,12,2,10,1],"span":[793,26,42]},{"path":[4,12,2,10,3],"span":[793,45,47]},{"path":[4,12,2,11],"span":[799,2,36],"leadingComments":" Any features defined in the specific edition.\n WARNING: This field should only be used by protobuf plugins or special\n cases like the proto compiler. Other uses are discouraged and\n developers should rely on the protoreflect APIs for their client language.\n"},{"path":[4,12,2,11,4],"span":[799,2,10]},{"path":[4,12,2,11,6],"span":[799,11,21]},{"path":[4,12,2,11,1],"span":[799,22,30]},{"path":[4,12,2,11,3],"span":[799,33,35]},{"path":[4,12,3,1],"span":[802,2,820,3],"leadingComments":" Information about the support window of a feature.\n"},{"path":[4,12,3,1,1],"span":[802,10,24]},{"path":[4,12,3,1,2,0],"span":[806,4,44],"leadingComments":" The edition that this feature was first available in. In editions\n earlier than this one, the default assigned to EDITION_LEGACY will be\n used, and proto files will not be able to override it.\n"},{"path":[4,12,3,1,2,0,4],"span":[806,4,12]},{"path":[4,12,3,1,2,0,6],"span":[806,13,20]},{"path":[4,12,3,1,2,0,1],"span":[806,21,39]},{"path":[4,12,3,1,2,0,3],"span":[806,42,43]},{"path":[4,12,3,1,2,1],"span":[810,4,44],"leadingComments":" The edition this feature becomes deprecated in. Using this after this\n edition may trigger warnings.\n"},{"path":[4,12,3,1,2,1,4],"span":[810,4,12]},{"path":[4,12,3,1,2,1,6],"span":[810,13,20]},{"path":[4,12,3,1,2,1,1],"span":[810,21,39]},{"path":[4,12,3,1,2,1,3],"span":[810,42,43]},{"path":[4,12,3,1,2,2],"span":[814,4,44],"leadingComments":" The deprecation warning text if this feature is used after the edition it\n was marked deprecated in.\n"},{"path":[4,12,3,1,2,2,4],"span":[814,4,12]},{"path":[4,12,3,1,2,2,5],"span":[814,13,19]},{"path":[4,12,3,1,2,2,1],"span":[814,20,39]},{"path":[4,12,3,1,2,2,3],"span":[814,42,43]},{"path":[4,12,3,1,2,3],"span":[819,4,41],"leadingComments":" The edition this feature is no longer available in. In editions after\n this one, the last default assigned will be used, and proto files will\n not be able to override it.\n"},{"path":[4,12,3,1,2,3,4],"span":[819,4,12]},{"path":[4,12,3,1,2,3,6],"span":[819,13,20]},{"path":[4,12,3,1,2,3,1],"span":[819,21,36]},{"path":[4,12,3,1,2,3,3],"span":[819,39,40]},{"path":[4,12,2,12],"span":[821,2,47]},{"path":[4,12,2,12,4],"span":[821,2,10]},{"path":[4,12,2,12,6],"span":[821,11,25]},{"path":[4,12,2,12,1],"span":[821,26,41]},{"path":[4,12,2,12,3],"span":[821,44,46]},{"path":[4,12,2,13],"span":[824,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,12,2,13,4],"span":[824,2,10]},{"path":[4,12,2,13,6],"span":[824,11,30]},{"path":[4,12,2,13,1],"span":[824,31,51]},{"path":[4,12,2,13,3],"span":[824,54,57]},{"path":[4,12,5],"span":[827,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,12,5,0],"span":[827,13,24]},{"path":[4,12,5,0,1],"span":[827,13,17]},{"path":[4,12,5,0,2],"span":[827,21,24]},{"path":[4,12,9],"span":[829,2,13],"trailingComments":" removed jtype\n"},{"path":[4,12,9,0],"span":[829,11,12]},{"path":[4,12,9,0,1],"span":[829,11,12]},{"path":[4,12,9,0,2],"span":[829,11,12]},{"path":[4,12,9],"span":[830,2,14],"trailingComments":" reserve target, target_obsolete_do_not_use\n"},{"path":[4,12,9,1],"span":[830,11,13]},{"path":[4,12,9,1,1],"span":[830,11,13]},{"path":[4,12,9,1,2],"span":[830,11,13]},{"path":[4,13],"span":[833,0,845,1]},{"path":[4,13,1],"span":[833,8,20]},{"path":[4,13,2,0],"span":[838,2,35],"leadingComments":" Any features defined in the specific edition.\n WARNING: This field should only be used by protobuf plugins or special\n cases like the proto compiler. Other uses are discouraged and\n developers should rely on the protoreflect APIs for their client language.\n"},{"path":[4,13,2,0,4],"span":[838,2,10]},{"path":[4,13,2,0,6],"span":[838,11,21]},{"path":[4,13,2,0,1],"span":[838,22,30]},{"path":[4,13,2,0,3],"span":[838,33,34]},{"path":[4,13,2,1],"span":[841,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,13,2,1,4],"span":[841,2,10]},{"path":[4,13,2,1,6],"span":[841,11,30]},{"path":[4,13,2,1,1],"span":[841,31,51]},{"path":[4,13,2,1,3],"span":[841,54,57]},{"path":[4,13,5],"span":[844,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,13,5,0],"span":[844,13,24]},{"path":[4,13,5,0,1],"span":[844,13,17]},{"path":[4,13,5,0,2],"span":[844,21,24]},{"path":[4,14],"span":[847,0,880,1]},{"path":[4,14,1],"span":[847,8,19]},{"path":[4,14,2,0],"span":[851,2,32],"leadingComments":" Set this option to true to allow mapping different tag names to the same\n value.\n"},{"path":[4,14,2,0,4],"span":[851,2,10]},{"path":[4,14,2,0,5],"span":[851,11,15]},{"path":[4,14,2,0,1],"span":[851,16,27]},{"path":[4,14,2,0,3],"span":[851,30,31]},{"path":[4,14,2,1],"span":[857,2,49],"leadingComments":" Is this enum deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the enum, or it will be completely ignored; in the very least, this\n is a formalization for deprecating enums.\n"},{"path":[4,14,2,1,4],"span":[857,2,10]},{"path":[4,14,2,1,5],"span":[857,11,15]},{"path":[4,14,2,1,1],"span":[857,16,26]},{"path":[4,14,2,1,3],"span":[857,29,30]},{"path":[4,14,2,1,8],"span":[857,31,48]},{"path":[4,14,2,1,7],"span":[857,32,47]},{"path":[4,14,9],"span":[859,2,13],"trailingComments":" javanano_as_lite\n"},{"path":[4,14,9,0],"span":[859,11,12]},{"path":[4,14,9,0,1],"span":[859,11,12]},{"path":[4,14,9,0,2],"span":[859,11,12]},{"path":[4,14,2,2],"span":[867,2,79],"leadingComments":" Enable the legacy handling of JSON field name conflicts. This lowercases\n and strips underscored from the fields before comparison in proto3 only.\n The new behavior takes `json_name` into account and applies to proto2 as\n well.\n TODO Remove this legacy behavior once downstream teams have\n had time to migrate.\n"},{"path":[4,14,2,2,4],"span":[867,2,10]},{"path":[4,14,2,2,5],"span":[867,11,15]},{"path":[4,14,2,2,1],"span":[867,16,54]},{"path":[4,14,2,2,3],"span":[867,57,58]},{"path":[4,14,2,2,8],"span":[867,59,78]},{"path":[4,14,2,2,8,3],"span":[867,60,77]},{"path":[4,14,2,3],"span":[873,2,35],"leadingComments":" Any features defined in the specific edition.\n WARNING: This field should only be used by protobuf plugins or special\n cases like the proto compiler. Other uses are discouraged and\n developers should rely on the protoreflect APIs for their client language.\n"},{"path":[4,14,2,3,4],"span":[873,2,10]},{"path":[4,14,2,3,6],"span":[873,11,21]},{"path":[4,14,2,3,1],"span":[873,22,30]},{"path":[4,14,2,3,3],"span":[873,33,34]},{"path":[4,14,2,4],"span":[876,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,14,2,4,4],"span":[876,2,10]},{"path":[4,14,2,4,6],"span":[876,11,30]},{"path":[4,14,2,4,1],"span":[876,31,51]},{"path":[4,14,2,4,3],"span":[876,54,57]},{"path":[4,14,5],"span":[879,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,14,5,0],"span":[879,13,24]},{"path":[4,14,5,0,1],"span":[879,13,17]},{"path":[4,14,5,0,2],"span":[879,21,24]},{"path":[4,15],"span":[882,0,908,1]},{"path":[4,15,1],"span":[882,8,24]},{"path":[4,15,2,0],"span":[887,2,49],"leadingComments":" Is this enum value deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the enum value, or it will be completely ignored; in the very least,\n this is a formalization for deprecating enum values.\n"},{"path":[4,15,2,0,4],"span":[887,2,10]},{"path":[4,15,2,0,5],"span":[887,11,15]},{"path":[4,15,2,0,1],"span":[887,16,26]},{"path":[4,15,2,0,3],"span":[887,29,30]},{"path":[4,15,2,0,8],"span":[887,31,48]},{"path":[4,15,2,0,7],"span":[887,32,47]},{"path":[4,15,2,1],"span":[893,2,35],"leadingComments":" Any features defined in the specific edition.\n WARNING: This field should only be used by protobuf plugins or special\n cases like the proto compiler. Other uses are discouraged and\n developers should rely on the protoreflect APIs for their client language.\n"},{"path":[4,15,2,1,4],"span":[893,2,10]},{"path":[4,15,2,1,6],"span":[893,11,21]},{"path":[4,15,2,1,1],"span":[893,22,30]},{"path":[4,15,2,1,3],"span":[893,33,34]},{"path":[4,15,2,2],"span":[898,2,51],"leadingComments":" Indicate that fields annotated with this enum value should not be printed\n out when using debug formats, e.g. when the field contains sensitive\n credentials.\n"},{"path":[4,15,2,2,4],"span":[898,2,10]},{"path":[4,15,2,2,5],"span":[898,11,15]},{"path":[4,15,2,2,1],"span":[898,16,28]},{"path":[4,15,2,2,3],"span":[898,31,32]},{"path":[4,15,2,2,8],"span":[898,33,50]},{"path":[4,15,2,2,7],"span":[898,34,49]},{"path":[4,15,2,3],"span":[901,2,59],"leadingComments":" Information about the support window of a feature value.\n"},{"path":[4,15,2,3,4],"span":[901,2,10]},{"path":[4,15,2,3,6],"span":[901,11,38]},{"path":[4,15,2,3,1],"span":[901,39,54]},{"path":[4,15,2,3,3],"span":[901,57,58]},{"path":[4,15,2,4],"span":[904,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,15,2,4,4],"span":[904,2,10]},{"path":[4,15,2,4,6],"span":[904,11,30]},{"path":[4,15,2,4,1],"span":[904,31,51]},{"path":[4,15,2,4,3],"span":[904,54,57]},{"path":[4,15,5],"span":[907,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,15,5,0],"span":[907,13,24]},{"path":[4,15,5,0,1],"span":[907,13,17]},{"path":[4,15,5,0,2],"span":[907,21,24]},{"path":[4,16],"span":[910,0,934,1]},{"path":[4,16,1],"span":[910,8,22]},{"path":[4,16,2,0],"span":[916,2,36],"leadingComments":" Any features defined in the specific edition.\n WARNING: This field should only be used by protobuf plugins or special\n cases like the proto compiler. Other uses are discouraged and\n developers should rely on the protoreflect APIs for their client language.\n"},{"path":[4,16,2,0,4],"span":[916,2,10]},{"path":[4,16,2,0,6],"span":[916,11,21]},{"path":[4,16,2,0,1],"span":[916,22,30]},{"path":[4,16,2,0,3],"span":[916,33,35]},{"path":[4,16,2,1],"span":[927,2,50],"leadingComments":" Is this service deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the service, or it will be completely ignored; in the very least,\n this is a formalization for deprecating services.\n","leadingDetachedComments":[" Note: Field numbers 1 through 32 are reserved for Google's internal RPC\n framework. We apologize for hoarding these numbers to ourselves, but\n we were already using them long before we decided to release Protocol\n Buffers.\n"]},{"path":[4,16,2,1,4],"span":[927,2,10]},{"path":[4,16,2,1,5],"span":[927,11,15]},{"path":[4,16,2,1,1],"span":[927,16,26]},{"path":[4,16,2,1,3],"span":[927,29,31]},{"path":[4,16,2,1,8],"span":[927,32,49]},{"path":[4,16,2,1,7],"span":[927,33,48]},{"path":[4,16,2,2],"span":[930,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,16,2,2,4],"span":[930,2,10]},{"path":[4,16,2,2,6],"span":[930,11,30]},{"path":[4,16,2,2,1],"span":[930,31,51]},{"path":[4,16,2,2,3],"span":[930,54,57]},{"path":[4,16,5],"span":[933,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,16,5,0],"span":[933,13,24]},{"path":[4,16,5,0,1],"span":[933,13,17]},{"path":[4,16,5,0,2],"span":[933,21,24]},{"path":[4,17],"span":[936,0,971,1]},{"path":[4,17,1],"span":[936,8,21]},{"path":[4,17,2,0],"span":[947,2,50],"leadingComments":" Is this method deprecated?\n Depending on the target platform, this can emit Deprecated annotations\n for the method, or it will be completely ignored; in the very least,\n this is a formalization for deprecating methods.\n","leadingDetachedComments":[" Note: Field numbers 1 through 32 are reserved for Google's internal RPC\n framework. We apologize for hoarding these numbers to ourselves, but\n we were already using them long before we decided to release Protocol\n Buffers.\n"]},{"path":[4,17,2,0,4],"span":[947,2,10]},{"path":[4,17,2,0,5],"span":[947,11,15]},{"path":[4,17,2,0,1],"span":[947,16,26]},{"path":[4,17,2,0,3],"span":[947,29,31]},{"path":[4,17,2,0,8],"span":[947,32,49]},{"path":[4,17,2,0,7],"span":[947,33,48]},{"path":[4,17,4,0],"span":[952,2,956,3],"leadingComments":" Is this method side-effect-free (or safe in HTTP parlance), or idempotent,\n or neither? HTTP based RPC implementation may choose GET verb for safe\n methods, and PUT verb for idempotent methods instead of the default POST.\n"},{"path":[4,17,4,0,1],"span":[952,7,23]},{"path":[4,17,4,0,2,0],"span":[953,4,28]},{"path":[4,17,4,0,2,0,1],"span":[953,4,23]},{"path":[4,17,4,0,2,0,2],"span":[953,26,27]},{"path":[4,17,4,0,2,1],"span":[954,4,24],"trailingComments":" implies idempotent\n"},{"path":[4,17,4,0,2,1,1],"span":[954,4,19]},{"path":[4,17,4,0,2,1,2],"span":[954,22,23]},{"path":[4,17,4,0,2,2],"span":[955,4,19],"trailingComments":" idempotent, but may have side effects\n"},{"path":[4,17,4,0,2,2,1],"span":[955,4,14]},{"path":[4,17,4,0,2,2,2],"span":[955,17,18]},{"path":[4,17,2,1],"span":[957,2,958,38]},{"path":[4,17,2,1,4],"span":[957,2,10]},{"path":[4,17,2,1,6],"span":[957,11,27]},{"path":[4,17,2,1,1],"span":[957,28,45]},{"path":[4,17,2,1,3],"span":[957,48,50]},{"path":[4,17,2,1,8],"span":[958,6,37]},{"path":[4,17,2,1,7],"span":[958,7,36]},{"path":[4,17,2,2],"span":[964,2,36],"leadingComments":" Any features defined in the specific edition.\n WARNING: This field should only be used by protobuf plugins or special\n cases like the proto compiler. Other uses are discouraged and\n developers should rely on the protoreflect APIs for their client language.\n"},{"path":[4,17,2,2,4],"span":[964,2,10]},{"path":[4,17,2,2,6],"span":[964,11,21]},{"path":[4,17,2,2,1],"span":[964,22,30]},{"path":[4,17,2,2,3],"span":[964,33,35]},{"path":[4,17,2,3],"span":[967,2,58],"leadingComments":" The parser stores options it doesn't recognize here. See above.\n"},{"path":[4,17,2,3,4],"span":[967,2,10]},{"path":[4,17,2,3,6],"span":[967,11,30]},{"path":[4,17,2,3,1],"span":[967,31,51]},{"path":[4,17,2,3,3],"span":[967,54,57]},{"path":[4,17,5],"span":[970,2,25],"leadingComments":" Clients can define custom options in extensions of this message. See above.\n"},{"path":[4,17,5,0],"span":[970,13,24]},{"path":[4,17,5,0,1],"span":[970,13,17]},{"path":[4,17,5,0,2],"span":[970,21,24]},{"path":[4,18],"span":[979,0,999,1],"leadingComments":" A message representing a option the parser does not recognize. This only\n appears in options protos created by the compiler::Parser class.\n DescriptorPool resolves these when building Descriptor objects. Therefore,\n options protos in descriptor objects (e.g. returned by Descriptor::options(),\n or produced by Descriptor::CopyTo()) will never have UninterpretedOptions\n in them.\n"},{"path":[4,18,1],"span":[979,8,27]},{"path":[4,18,3,0],"span":[985,2,988,3],"leadingComments":" The name of the uninterpreted option. Each string represents a segment in\n a dot-separated name. is_extension is true iff a segment represents an\n extension (denoted with parentheses in options specs in .proto files).\n E.g.,{ [\"foo\", false], [\"bar.baz\", true], [\"moo\", false] } represents\n \"foo.(bar.baz).moo\".\n"},{"path":[4,18,3,0,1],"span":[985,10,18]},{"path":[4,18,3,0,2,0],"span":[986,4,34]},{"path":[4,18,3,0,2,0,4],"span":[986,4,12]},{"path":[4,18,3,0,2,0,5],"span":[986,13,19]},{"path":[4,18,3,0,2,0,1],"span":[986,20,29]},{"path":[4,18,3,0,2,0,3],"span":[986,32,33]},{"path":[4,18,3,0,2,1],"span":[987,4,35]},{"path":[4,18,3,0,2,1,4],"span":[987,4,12]},{"path":[4,18,3,0,2,1,5],"span":[987,13,17]},{"path":[4,18,3,0,2,1,1],"span":[987,18,30]},{"path":[4,18,3,0,2,1,3],"span":[987,33,34]},{"path":[4,18,2,0],"span":[989,2,29]},{"path":[4,18,2,0,4],"span":[989,2,10]},{"path":[4,18,2,0,6],"span":[989,11,19]},{"path":[4,18,2,0,1],"span":[989,20,24]},{"path":[4,18,2,0,3],"span":[989,27,28]},{"path":[4,18,2,1],"span":[993,2,39],"leadingComments":" The value of the uninterpreted option, in whatever type the tokenizer\n identified it as during parsing. Exactly one of these should be set.\n"},{"path":[4,18,2,1,4],"span":[993,2,10]},{"path":[4,18,2,1,5],"span":[993,11,17]},{"path":[4,18,2,1,1],"span":[993,18,34]},{"path":[4,18,2,1,3],"span":[993,37,38]},{"path":[4,18,2,2],"span":[994,2,41]},{"path":[4,18,2,2,4],"span":[994,2,10]},{"path":[4,18,2,2,5],"span":[994,11,17]},{"path":[4,18,2,2,1],"span":[994,18,36]},{"path":[4,18,2,2,3],"span":[994,39,40]},{"path":[4,18,2,3],"span":[995,2,40]},{"path":[4,18,2,3,4],"span":[995,2,10]},{"path":[4,18,2,3,5],"span":[995,11,16]},{"path":[4,18,2,3,1],"span":[995,17,35]},{"path":[4,18,2,3,3],"span":[995,38,39]},{"path":[4,18,2,4],"span":[996,2,35]},{"path":[4,18,2,4,4],"span":[996,2,10]},{"path":[4,18,2,4,5],"span":[996,11,17]},{"path":[4,18,2,4,1],"span":[996,18,30]},{"path":[4,18,2,4,3],"span":[996,33,34]},{"path":[4,18,2,5],"span":[997,2,34]},{"path":[4,18,2,5,4],"span":[997,2,10]},{"path":[4,18,2,5,5],"span":[997,11,16]},{"path":[4,18,2,5,1],"span":[997,17,29]},{"path":[4,18,2,5,3],"span":[997,32,33]},{"path":[4,18,2,6],"span":[998,2,38]},{"path":[4,18,2,6,4],"span":[998,2,10]},{"path":[4,18,2,6,5],"span":[998,11,17]},{"path":[4,18,2,6,1],"span":[998,18,33]},{"path":[4,18,2,6,3],"span":[998,36,37]},{"path":[4,19],"span":[1010,0,1192,1],"leadingComments":" TODO Enums in C++ gencode (and potentially other languages) are\n not well scoped. This means that each of the feature enums below can clash\n with each other. The short names we've chosen maximize call-site\n readability, but leave us very open to this scenario. A future feature will\n be designed and implemented to handle this, hopefully before we ever hit a\n conflict here.\n","leadingDetachedComments":[" ===================================================================\n Features\n"]},{"path":[4,19,1],"span":[1010,8,18]},{"path":[4,19,4,0],"span":[1011,2,1016,3]},{"path":[4,19,4,0,1],"span":[1011,7,20]},{"path":[4,19,4,0,2,0],"span":[1012,4,31]},{"path":[4,19,4,0,2,0,1],"span":[1012,4,26]},{"path":[4,19,4,0,2,0,2],"span":[1012,29,30]},{"path":[4,19,4,0,2,1],"span":[1013,4,17]},{"path":[4,19,4,0,2,1,1],"span":[1013,4,12]},{"path":[4,19,4,0,2,1,2],"span":[1013,15,16]},{"path":[4,19,4,0,2,2],"span":[1014,4,17]},{"path":[4,19,4,0,2,2,1],"span":[1014,4,12]},{"path":[4,19,4,0,2,2,2],"span":[1014,15,16]},{"path":[4,19,4,0,2,3],"span":[1015,4,24]},{"path":[4,19,4,0,2,3,1],"span":[1015,4,19]},{"path":[4,19,4,0,2,3,2],"span":[1015,22,23]},{"path":[4,19,2,0],"span":[1017,2,1027,4]},{"path":[4,19,2,0,4],"span":[1017,2,10]},{"path":[4,19,2,0,6],"span":[1017,11,24]},{"path":[4,19,2,0,1],"span":[1017,25,39]},{"path":[4,19,2,0,3],"span":[1017,42,43]},{"path":[4,19,2,0,8],"span":[1017,44,1027,3]},{"path":[4,19,2,0,8,17],"span":[1018,4,33]},{"path":[4,19,2,0,8,19,0],"span":[1019,4,31]},{"path":[4,19,2,0,8,19,1],"span":[1020,4,30]},{"path":[4,19,2,0,8,22],"span":[1021,4,1023,5]},{"path":[4,19,2,0,8,22,1],"span":[1022,6,38]},{"path":[4,19,2,0,8,20,0],"span":[1024,4,69]},{"path":[4,19,2,0,8,20,0,3],"span":[1024,25,48]},{"path":[4,19,2,0,8,20,0,2],"span":[1024,50,67]},{"path":[4,19,2,0,8,20,1],"span":[1025,4,69]},{"path":[4,19,2,0,8,20,1,3],"span":[1025,25,48]},{"path":[4,19,2,0,8,20,1,2],"span":[1025,50,67]},{"path":[4,19,2,0,8,20,2],"span":[1026,4,67]},{"path":[4,19,2,0,8,20,2,3],"span":[1026,25,46]},{"path":[4,19,2,0,8,20,2,2],"span":[1026,48,65]},{"path":[4,19,4,1],"span":[1029,2,1033,3]},{"path":[4,19,4,1,1],"span":[1029,7,15]},{"path":[4,19,4,1,2,0],"span":[1030,4,26]},{"path":[4,19,4,1,2,0,1],"span":[1030,4,21]},{"path":[4,19,4,1,2,0,2],"span":[1030,24,25]},{"path":[4,19,4,1,2,1],"span":[1031,4,13]},{"path":[4,19,4,1,2,1,1],"span":[1031,4,8]},{"path":[4,19,4,1,2,1,2],"span":[1031,11,12]},{"path":[4,19,4,1,2,2],"span":[1032,4,15]},{"path":[4,19,4,1,2,2,1],"span":[1032,4,10]},{"path":[4,19,4,1,2,2,2],"span":[1032,13,14]},{"path":[4,19,2,1],"span":[1034,2,1043,4]},{"path":[4,19,2,1,4],"span":[1034,2,10]},{"path":[4,19,2,1,6],"span":[1034,11,19]},{"path":[4,19,2,1,1],"span":[1034,20,29]},{"path":[4,19,2,1,3],"span":[1034,32,33]},{"path":[4,19,2,1,8],"span":[1034,34,1043,3]},{"path":[4,19,2,1,8,17],"span":[1035,4,33]},{"path":[4,19,2,1,8,19,0],"span":[1036,4,30]},{"path":[4,19,2,1,8,19,1],"span":[1037,4,30]},{"path":[4,19,2,1,8,22],"span":[1038,4,1040,5]},{"path":[4,19,2,1,8,22,1],"span":[1039,6,38]},{"path":[4,19,2,1,8,20,0],"span":[1041,4,67]},{"path":[4,19,2,1,8,20,0,3],"span":[1041,25,48]},{"path":[4,19,2,1,8,20,0,2],"span":[1041,50,65]},{"path":[4,19,2,1,8,20,1],"span":[1042,4,65]},{"path":[4,19,2,1,8,20,1,3],"span":[1042,25,48]},{"path":[4,19,2,1,8,20,1,2],"span":[1042,50,63]},{"path":[4,19,4,2],"span":[1045,2,1049,3]},{"path":[4,19,4,2,1],"span":[1045,7,28]},{"path":[4,19,4,2,2,0],"span":[1046,4,40]},{"path":[4,19,4,2,2,0,1],"span":[1046,4,35]},{"path":[4,19,4,2,2,0,2],"span":[1046,38,39]},{"path":[4,19,4,2,2,1],"span":[1047,4,15]},{"path":[4,19,4,2,2,1,1],"span":[1047,4,10]},{"path":[4,19,4,2,2,1,2],"span":[1047,13,14]},{"path":[4,19,4,2,2,2],"span":[1048,4,17]},{"path":[4,19,4,2,2,2,1],"span":[1048,4,12]},{"path":[4,19,4,2,2,2,2],"span":[1048,15,16]},{"path":[4,19,2,2],"span":[1050,2,1059,4]},{"path":[4,19,2,2,4],"span":[1050,2,10]},{"path":[4,19,2,2,6],"span":[1050,11,32]},{"path":[4,19,2,2,1],"span":[1050,33,56]},{"path":[4,19,2,2,3],"span":[1050,59,60]},{"path":[4,19,2,2,8],"span":[1050,61,1059,3]},{"path":[4,19,2,2,8,17],"span":[1051,4,33]},{"path":[4,19,2,2,8,19,0],"span":[1052,4,31]},{"path":[4,19,2,2,8,19,1],"span":[1053,4,30]},{"path":[4,19,2,2,8,22],"span":[1054,4,1056,5]},{"path":[4,19,2,2,8,22,1],"span":[1055,6,38]},{"path":[4,19,2,2,8,20,0],"span":[1057,4,69]},{"path":[4,19,2,2,8,20,0,3],"span":[1057,25,48]},{"path":[4,19,2,2,8,20,0,2],"span":[1057,50,67]},{"path":[4,19,2,2,8,20,1],"span":[1058,4,67]},{"path":[4,19,2,2,8,20,1,3],"span":[1058,25,48]},{"path":[4,19,2,2,8,20,1,2],"span":[1058,50,65]},{"path":[4,19,4,3],"span":[1061,2,1066,3]},{"path":[4,19,4,3,1],"span":[1061,7,21]},{"path":[4,19,4,3,2,0],"span":[1062,4,32]},{"path":[4,19,4,3,2,0,1],"span":[1062,4,27]},{"path":[4,19,4,3,2,0,2],"span":[1062,30,31]},{"path":[4,19,4,3,2,1],"span":[1063,4,15]},{"path":[4,19,4,3,2,1,1],"span":[1063,4,10]},{"path":[4,19,4,3,2,1,2],"span":[1063,13,14]},{"path":[4,19,4,3,2,2],"span":[1064,4,13]},{"path":[4,19,4,3,2,2,1],"span":[1064,4,8]},{"path":[4,19,4,3,2,2,2],"span":[1064,11,12]},{"path":[4,19,4,3,4],"span":[1065,4,15]},{"path":[4,19,4,3,4,0],"span":[1065,13,14]},{"path":[4,19,4,3,4,0,1],"span":[1065,13,14]},{"path":[4,19,4,3,4,0,2],"span":[1065,13,14]},{"path":[4,19,2,3],"span":[1067,2,1076,4]},{"path":[4,19,2,3,4],"span":[1067,2,10]},{"path":[4,19,2,3,6],"span":[1067,11,25]},{"path":[4,19,2,3,1],"span":[1067,26,41]},{"path":[4,19,2,3,3],"span":[1067,44,45]},{"path":[4,19,2,3,8],"span":[1067,46,1076,3]},{"path":[4,19,2,3,8,17],"span":[1068,4,33]},{"path":[4,19,2,3,8,19,0],"span":[1069,4,31]},{"path":[4,19,2,3,8,19,1],"span":[1070,4,30]},{"path":[4,19,2,3,8,22],"span":[1071,4,1073,5]},{"path":[4,19,2,3,8,22,1],"span":[1072,6,38]},{"path":[4,19,2,3,8,20,0],"span":[1074,4,65]},{"path":[4,19,2,3,8,20,0,3],"span":[1074,25,48]},{"path":[4,19,2,3,8,20,0,2],"span":[1074,50,63]},{"path":[4,19,2,3,8,20,1],"span":[1075,4,67]},{"path":[4,19,2,3,8,20,1,3],"span":[1075,25,48]},{"path":[4,19,2,3,8,20,1,2],"span":[1075,50,65]},{"path":[4,19,4,4],"span":[1078,2,1082,3]},{"path":[4,19,4,4,1],"span":[1078,7,22]},{"path":[4,19,4,4,2,0],"span":[1079,4,33]},{"path":[4,19,4,4,2,0,1],"span":[1079,4,28]},{"path":[4,19,4,4,2,0,2],"span":[1079,31,32]},{"path":[4,19,4,4,2,1],"span":[1080,4,24]},{"path":[4,19,4,4,2,1,1],"span":[1080,4,19]},{"path":[4,19,4,4,2,1,2],"span":[1080,22,23]},{"path":[4,19,4,4,2,2],"span":[1081,4,18]},{"path":[4,19,4,4,2,2,1],"span":[1081,4,13]},{"path":[4,19,4,4,2,2,2],"span":[1081,16,17]},{"path":[4,19,2,4],"span":[1083,2,1091,4]},{"path":[4,19,2,4,4],"span":[1083,2,10]},{"path":[4,19,2,4,6],"span":[1083,11,26]},{"path":[4,19,2,4,1],"span":[1083,27,43]},{"path":[4,19,2,4,3],"span":[1083,46,47]},{"path":[4,19,2,4,8],"span":[1083,48,1091,3]},{"path":[4,19,2,4,8,17],"span":[1084,4,33]},{"path":[4,19,2,4,8,19,0],"span":[1085,4,31]},{"path":[4,19,2,4,8,19,1],"span":[1086,4,30]},{"path":[4,19,2,4,8,22],"span":[1087,4,1089,5]},{"path":[4,19,2,4,8,22,1],"span":[1088,6,38]},{"path":[4,19,2,4,8,20,0],"span":[1090,4,76]},{"path":[4,19,2,4,8,20,0,3],"span":[1090,25,48]},{"path":[4,19,2,4,8,20,0,2],"span":[1090,50,74]},{"path":[4,19,4,5],"span":[1093,2,1097,3]},{"path":[4,19,4,5,1],"span":[1093,7,17]},{"path":[4,19,4,5,2,0],"span":[1094,4,28]},{"path":[4,19,4,5,2,0,1],"span":[1094,4,23]},{"path":[4,19,4,5,2,0,2],"span":[1094,26,27]},{"path":[4,19,4,5,2,1],"span":[1095,4,14]},{"path":[4,19,4,5,2,1,1],"span":[1095,4,9]},{"path":[4,19,4,5,2,1,2],"span":[1095,12,13]},{"path":[4,19,4,5,2,2],"span":[1096,4,27]},{"path":[4,19,4,5,2,2,1],"span":[1096,4,22]},{"path":[4,19,4,5,2,2,2],"span":[1096,25,26]},{"path":[4,19,2,5],"span":[1098,2,1108,4]},{"path":[4,19,2,5,4],"span":[1098,2,10]},{"path":[4,19,2,5,6],"span":[1098,11,21]},{"path":[4,19,2,5,1],"span":[1098,22,33]},{"path":[4,19,2,5,3],"span":[1098,36,37]},{"path":[4,19,2,5,8],"span":[1098,38,1108,3]},{"path":[4,19,2,5,8,17],"span":[1099,4,33]},{"path":[4,19,2,5,8,19,0],"span":[1100,4,33]},{"path":[4,19,2,5,8,19,1],"span":[1101,4,30]},{"path":[4,19,2,5,8,19,2],"span":[1102,4,30]},{"path":[4,19,2,5,8,22],"span":[1103,4,1105,5]},{"path":[4,19,2,5,8,22,1],"span":[1104,6,38]},{"path":[4,19,2,5,8,20,0],"span":[1106,4,79]},{"path":[4,19,2,5,8,20,0,3],"span":[1106,25,48]},{"path":[4,19,2,5,8,20,0,2],"span":[1106,50,77]},{"path":[4,19,2,5,8,20,1],"span":[1107,4,66]},{"path":[4,19,2,5,8,20,1,3],"span":[1107,25,48]},{"path":[4,19,2,5,8,20,1,2],"span":[1107,50,64]},{"path":[4,19,4,6],"span":[1110,2,1114,3]},{"path":[4,19,4,6,1],"span":[1110,7,25]},{"path":[4,19,4,6,2,0],"span":[1111,4,37]},{"path":[4,19,4,6,2,0,1],"span":[1111,4,32]},{"path":[4,19,4,6,2,0,2],"span":[1111,35,36]},{"path":[4,19,4,6,2,1],"span":[1112,4,18]},{"path":[4,19,4,6,2,1,1],"span":[1112,4,13]},{"path":[4,19,4,6,2,1,2],"span":[1112,16,17]},{"path":[4,19,4,6,2,2],"span":[1113,4,21]},{"path":[4,19,4,6,2,2,1],"span":[1113,4,16]},{"path":[4,19,4,6,2,2,2],"span":[1113,19,20]},{"path":[4,19,2,6],"span":[1115,2,1131,4]},{"path":[4,19,2,6,4],"span":[1115,2,10]},{"path":[4,19,2,6,6],"span":[1115,11,29]},{"path":[4,19,2,6,1],"span":[1115,30,50]},{"path":[4,19,2,6,3],"span":[1115,53,54]},{"path":[4,19,2,6,8],"span":[1115,55,1131,3]},{"path":[4,19,2,6,8,17],"span":[1116,4,32]},{"path":[4,19,2,6,8,19,0],"span":[1117,4,30]},{"path":[4,19,2,6,8,19,1],"span":[1118,4,41]},{"path":[4,19,2,6,8,19,2],"span":[1119,4,33]},{"path":[4,19,2,6,8,19,3],"span":[1120,4,31]},{"path":[4,19,2,6,8,19,4],"span":[1121,4,31]},{"path":[4,19,2,6,8,19,5],"span":[1122,4,30]},{"path":[4,19,2,6,8,19,6],"span":[1123,4,36]},{"path":[4,19,2,6,8,19,7],"span":[1124,4,33]},{"path":[4,19,2,6,8,19,8],"span":[1125,4,32]},{"path":[4,19,2,6,8,22],"span":[1126,4,1128,5]},{"path":[4,19,2,6,8,22,1],"span":[1127,6,38]},{"path":[4,19,2,6,8,20,0],"span":[1129,4,73]},{"path":[4,19,2,6,8,20,0,3],"span":[1129,25,48]},{"path":[4,19,2,6,8,20,0,2],"span":[1129,50,71]},{"path":[4,19,2,6,8,20,1],"span":[1130,4,68]},{"path":[4,19,2,6,8,20,1,3],"span":[1130,25,46]},{"path":[4,19,2,6,8,20,1,2],"span":[1130,48,66]},{"path":[4,19,3,0],"span":[1133,2,1152,3]},{"path":[4,19,3,0,1],"span":[1133,10,27]},{"path":[4,19,3,0,4,0],"span":[1134,4,1150,5]},{"path":[4,19,3,0,4,0,1],"span":[1134,9,32]},{"path":[4,19,3,0,4,0,2,0],"span":[1135,6,44]},{"path":[4,19,3,0,4,0,2,0,1],"span":[1135,6,39]},{"path":[4,19,3,0,4,0,2,0,2],"span":[1135,42,43]},{"path":[4,19,3,0,4,0,2,1],"span":[1138,6,21],"leadingComments":" Default pre-EDITION_2024, all UNSET visibility are export.\n"},{"path":[4,19,3,0,4,0,2,1,1],"span":[1138,6,16]},{"path":[4,19,3,0,4,0,2,1,2],"span":[1138,19,20]},{"path":[4,19,3,0,4,0,2,2],"span":[1141,6,27],"leadingComments":" All top-level symbols default to export, nested default to local.\n"},{"path":[4,19,3,0,4,0,2,2,1],"span":[1141,6,22]},{"path":[4,19,3,0,4,0,2,2,2],"span":[1141,25,26]},{"path":[4,19,3,0,4,0,2,3],"span":[1144,6,20],"leadingComments":" All symbols default to local.\n"},{"path":[4,19,3,0,4,0,2,3,1],"span":[1144,6,15]},{"path":[4,19,3,0,4,0,2,3,2],"span":[1144,18,19]},{"path":[4,19,3,0,4,0,2,4],"span":[1149,6,17],"leadingComments":" All symbols local by default. Nested types cannot be exported.\n With special case caveat for message { enum {} reserved 1 to max; }\n This is the recommended setting for new protos.\n"},{"path":[4,19,3,0,4,0,2,4,1],"span":[1149,6,12]},{"path":[4,19,3,0,4,0,2,4,2],"span":[1149,15,16]},{"path":[4,19,3,0,9],"span":[1151,4,22]},{"path":[4,19,3,0,9,0],"span":[1151,13,21]},{"path":[4,19,3,0,9,0,1],"span":[1151,13,14]},{"path":[4,19,3,0,9,0,2],"span":[1151,18,21]},{"path":[4,19,2,7],"span":[1153,2,1162,8]},{"path":[4,19,2,7,4],"span":[1153,2,10]},{"path":[4,19,2,7,6],"span":[1153,11,52]},{"path":[4,19,2,7,1],"span":[1153,53,78]},{"path":[4,19,2,7,3],"span":[1154,6,7]},{"path":[4,19,2,7,8],"span":[1154,8,1162,7]},{"path":[4,19,2,7,8,17],"span":[1155,8,36]},{"path":[4,19,2,7,8,19,0],"span":[1156,8,34]},{"path":[4,19,2,7,8,22],"span":[1157,8,1159,9]},{"path":[4,19,2,7,8,22,1],"span":[1158,10,42]},{"path":[4,19,2,7,8,20,0],"span":[1160,8,75]},{"path":[4,19,2,7,8,20,0,3],"span":[1160,29,52]},{"path":[4,19,2,7,8,20,0,2],"span":[1160,54,73]},{"path":[4,19,2,7,8,20,1],"span":[1161,8,79]},{"path":[4,19,2,7,8,20,1,3],"span":[1161,29,50]},{"path":[4,19,2,7,8,20,1,2],"span":[1161,52,77]},{"path":[4,19,9],"span":[1164,2,15]},{"path":[4,19,9,0],"span":[1164,11,14]},{"path":[4,19,9,0,1],"span":[1164,11,14]},{"path":[4,19,9,0,2],"span":[1164,11,14]},{"path":[4,19,5],"span":[1166,2,1188,4]},{"path":[4,19,5,0],"span":[1166,13,25]},{"path":[4,19,5,0,1],"span":[1166,13,17]},{"path":[4,19,5,0,2],"span":[1166,21,25]},{"path":[4,19,5,0,3],"span":[1166,26,1188,3]},{"path":[4,19,5,0,3,2,0],"span":[1167,4,1171,5]},{"path":[4,19,5,0,3,2,0,1],"span":[1168,6,18]},{"path":[4,19,5,0,3,2,0,2],"span":[1169,6,26]},{"path":[4,19,5,0,3,2,0,3],"span":[1170,6,29]},{"path":[4,19,5,0,3,2,1],"span":[1172,4,1176,5]},{"path":[4,19,5,0,3,2,1,1],"span":[1173,6,18]},{"path":[4,19,5,0,3,2,1,2],"span":[1174,6,27]},{"path":[4,19,5,0,3,2,1,3],"span":[1175,6,30]},{"path":[4,19,5,0,3,2,2],"span":[1177,4,79]},{"path":[4,19,5,0,3,2,2,1],"span":[1177,20,32]},{"path":[4,19,5,0,3,2,2,2],"span":[1177,34,53]},{"path":[4,19,5,0,3,2,2,3],"span":[1177,55,77]},{"path":[4,19,5,0,3,2,3],"span":[1178,4,1182,5]},{"path":[4,19,5,0,3,2,3,1],"span":[1179,6,18]},{"path":[4,19,5,0,3,2,3,2],"span":[1180,6,29]},{"path":[4,19,5,0,3,2,3,3],"span":[1181,6,32]},{"path":[4,19,5,0,3,2,4],"span":[1183,4,1187,5]},{"path":[4,19,5,0,3,2,4,1],"span":[1184,6,18]},{"path":[4,19,5,0,3,2,4,2],"span":[1185,6,29]},{"path":[4,19,5,0,3,2,4,3],"span":[1186,6,32]},{"path":[4,19,5],"span":[1190,2,26],"trailingComments":" For internal testing\n"},{"path":[4,19,5,1],"span":[1190,13,25]},{"path":[4,19,5,1,1],"span":[1190,13,17]},{"path":[4,19,5,1,2],"span":[1190,21,25]},{"path":[4,19,5],"span":[1191,2,19],"trailingComments":" for https://github.com/bufbuild/protobuf-es\n"},{"path":[4,19,5,2],"span":[1191,13,18]},{"path":[4,19,5,2,1],"span":[1191,13,18]},{"path":[4,19,5,2,2],"span":[1191,13,18]},{"path":[4,20],"span":[1198,0,1224,1],"leadingComments":" A compiled specification for the defaults of a set of features. These\n messages are generated from FeatureSet extensions and can be used to seed\n feature resolution. The resolution with this object becomes a simple search\n for the closest matching edition, followed by proto merges.\n"},{"path":[4,20,1],"span":[1198,8,26]},{"path":[4,20,3,0],"span":[1203,2,1214,3],"leadingComments":" A map from every known edition with a unique set of defaults to its\n defaults. Not all editions may be contained here. For a given edition,\n the defaults at the closest matching edition ordered at or before it should\n be used. This field must be in strict ascending order by edition.\n"},{"path":[4,20,3,0,1],"span":[1203,10,34]},{"path":[4,20,3,0,2,0],"span":[1204,4,33]},{"path":[4,20,3,0,2,0,4],"span":[1204,4,12]},{"path":[4,20,3,0,2,0,6],"span":[1204,13,20]},{"path":[4,20,3,0,2,0,1],"span":[1204,21,28]},{"path":[4,20,3,0,2,0,3],"span":[1204,31,32]},{"path":[4,20,3,0,2,1],"span":[1207,4,49],"leadingComments":" Defaults of features that can be overridden in this edition.\n"},{"path":[4,20,3,0,2,1,4],"span":[1207,4,12]},{"path":[4,20,3,0,2,1,6],"span":[1207,13,23]},{"path":[4,20,3,0,2,1,1],"span":[1207,24,44]},{"path":[4,20,3,0,2,1,3],"span":[1207,47,48]},{"path":[4,20,3,0,2,2],"span":[1210,4,43],"leadingComments":" Defaults of features that can't be overridden in this edition.\n"},{"path":[4,20,3,0,2,2,4],"span":[1210,4,12]},{"path":[4,20,3,0,2,2,6],"span":[1210,13,23]},{"path":[4,20,3,0,2,2,1],"span":[1210,24,38]},{"path":[4,20,3,0,2,2,3],"span":[1210,41,42]},{"path":[4,20,3,0,9],"span":[1212,4,18]},{"path":[4,20,3,0,9,0],"span":[1212,13,14]},{"path":[4,20,3,0,9,0,1],"span":[1212,13,14]},{"path":[4,20,3,0,9,0,2],"span":[1212,13,14]},{"path":[4,20,3,0,9,1],"span":[1212,16,17]},{"path":[4,20,3,0,9,1,1],"span":[1212,16,17]},{"path":[4,20,3,0,9,1,2],"span":[1212,16,17]},{"path":[4,20,3,0,10],"span":[1213,4,24]},{"path":[4,20,3,0,10,0],"span":[1213,13,23]},{"path":[4,20,2,0],"span":[1215,2,49]},{"path":[4,20,2,0,4],"span":[1215,2,10]},{"path":[4,20,2,0,6],"span":[1215,11,35]},{"path":[4,20,2,0,1],"span":[1215,36,44]},{"path":[4,20,2,0,3],"span":[1215,47,48]},{"path":[4,20,2,1],"span":[1219,2,39],"leadingComments":" The minimum supported edition (inclusive) when this was constructed.\n Editions before this will not have defaults.\n"},{"path":[4,20,2,1,4],"span":[1219,2,10]},{"path":[4,20,2,1,6],"span":[1219,11,18]},{"path":[4,20,2,1,1],"span":[1219,19,34]},{"path":[4,20,2,1,3],"span":[1219,37,38]},{"path":[4,20,2,2],"span":[1223,2,39],"leadingComments":" The maximum known edition (inclusive) when this was constructed. Editions\n after this will not have reliable defaults.\n"},{"path":[4,20,2,2,4],"span":[1223,2,10]},{"path":[4,20,2,2,6],"span":[1223,11,18]},{"path":[4,20,2,2,1],"span":[1223,19,34]},{"path":[4,20,2,2,3],"span":[1223,37,38]},{"path":[4,21],"span":[1231,0,1367,1],"leadingComments":" Encapsulates information about the original source file from which a\n FileDescriptorProto was generated.\n","leadingDetachedComments":[" ===================================================================\n Optional source code info\n"]},{"path":[4,21,1],"span":[1231,8,22]},{"path":[4,21,2,0],"span":[1275,2,33],"leadingComments":" A Location identifies a piece of source code in a .proto file which\n corresponds to a particular definition. This information is intended\n to be useful to IDEs, code indexers, documentation generators, and similar\n tools.\n\n For example, say we have a file like:\n message Foo {\n optional string foo = 1;\n }\n Let's look at just the field definition:\n optional string foo = 1;\n ^ ^^ ^^ ^ ^^^\n a bc de f ghi\n We have the following locations:\n span path represents\n [a,i) [ 4, 0, 2, 0 ] The whole field definition.\n [a,b) [ 4, 0, 2, 0, 4 ] The label (optional).\n [c,d) [ 4, 0, 2, 0, 5 ] The type (string).\n [e,f) [ 4, 0, 2, 0, 1 ] The name (foo).\n [g,h) [ 4, 0, 2, 0, 3 ] The number (1).\n\n Notes:\n - A location may refer to a repeated field itself (i.e. not to any\n particular index within it). This is used whenever a set of elements are\n logically enclosed in a single code segment. For example, an entire\n extend block (possibly containing multiple extension definitions) will\n have an outer location whose path refers to the \"extensions\" repeated\n field without an index.\n - Multiple locations may have the same path. This happens when a single\n logical declaration is spread out across multiple places. The most\n obvious example is the \"extend\" block again -- there may be multiple\n extend blocks in the same scope, each of which will have the same path.\n - A location's span is not always a subset of its parent's span. For\n example, the \"extendee\" of an extension declaration appears at the\n beginning of the \"extend\" block and is shared by all extensions within\n the block.\n - Just because a location's span is a subset of some other location's span\n does not mean that it is a descendant. For example, a \"group\" defines\n both a type and a field in a single declaration. Thus, the locations\n corresponding to the type and field and their components will overlap.\n - Code which tries to interpret locations should probably be designed to\n ignore those that it doesn't understand, as more types of locations could\n be recorded in the future.\n"},{"path":[4,21,2,0,4],"span":[1275,2,10]},{"path":[4,21,2,0,6],"span":[1275,11,19]},{"path":[4,21,2,0,1],"span":[1275,20,28]},{"path":[4,21,2,0,3],"span":[1275,31,32]},{"path":[4,21,3,0],"span":[1276,2,1359,3]},{"path":[4,21,3,0,1],"span":[1276,10,18]},{"path":[4,21,3,0,2,0],"span":[1300,4,44],"leadingComments":" Identifies which part of the FileDescriptorProto was defined at this\n location.\n\n Each element is a field number or an index. They form a path from\n the root FileDescriptorProto to the place where the definition appears.\n For example, this path:\n [ 4, 3, 2, 7, 1 ]\n refers to:\n file.message_type(3) // 4, 3\n .field(7) // 2, 7\n .name() // 1\n This is because FileDescriptorProto.message_type has field number 4:\n repeated DescriptorProto message_type = 4;\n and DescriptorProto.field has field number 2:\n repeated FieldDescriptorProto field = 2;\n and FieldDescriptorProto.name has field number 1:\n optional string name = 1;\n\n Thus, the above path gives the location of a field name. If we removed\n the last element:\n [ 4, 3, 2, 7 ]\n this path refers to the whole field declaration (from the beginning\n of the label to the terminating semicolon).\n"},{"path":[4,21,3,0,2,0,4],"span":[1300,4,12]},{"path":[4,21,3,0,2,0,5],"span":[1300,13,18]},{"path":[4,21,3,0,2,0,1],"span":[1300,19,23]},{"path":[4,21,3,0,2,0,3],"span":[1300,26,27]},{"path":[4,21,3,0,2,0,8],"span":[1300,28,43]},{"path":[4,21,3,0,2,0,8,2],"span":[1300,29,42]},{"path":[4,21,3,0,2,1],"span":[1307,4,44],"leadingComments":" Always has exactly three or four elements: start line, start column,\n end line (optional, otherwise assumed same as start line), end column.\n These are packed into a single field for efficiency. Note that line\n and column numbers are zero-based -- typically you will want to add\n 1 to each before displaying to a user.\n"},{"path":[4,21,3,0,2,1,4],"span":[1307,4,12]},{"path":[4,21,3,0,2,1,5],"span":[1307,13,18]},{"path":[4,21,3,0,2,1,1],"span":[1307,19,23]},{"path":[4,21,3,0,2,1,3],"span":[1307,26,27]},{"path":[4,21,3,0,2,1,8],"span":[1307,28,43]},{"path":[4,21,3,0,2,1,8,2],"span":[1307,29,42]},{"path":[4,21,3,0,2,2],"span":[1356,4,41],"leadingComments":" If this SourceCodeInfo represents a complete declaration, these are any\n comments appearing before and after the declaration which appear to be\n attached to the declaration.\n\n A series of line comments appearing on consecutive lines, with no other\n tokens appearing on those lines, will be treated as a single comment.\n\n leading_detached_comments will keep paragraphs of comments that appear\n before (but not connected to) the current element. Each paragraph,\n separated by empty lines, will be one comment element in the repeated\n field.\n\n Only the comment content is provided; comment markers (e.g. //) are\n stripped out. For block comments, leading whitespace and an asterisk\n will be stripped from the beginning of each line other than the first.\n Newlines are included in the output.\n\n Examples:\n\n optional int32 foo = 1; // Comment attached to foo.\n // Comment attached to bar.\n optional int32 bar = 2;\n\n optional string baz = 3;\n // Comment attached to baz.\n // Another line attached to baz.\n\n // Comment attached to moo.\n //\n // Another line attached to moo.\n optional double moo = 4;\n\n // Detached comment for corge. This is not leading or trailing comments\n // to moo or corge because there are blank lines separating it from\n // both.\n\n // Detached comment for corge paragraph 2.\n\n optional string corge = 5;\n /* Block comment attached\n * to corge. Leading asterisks\n * will be removed. */\n /* Block comment attached to\n * grault. */\n optional int32 grault = 6;\n\n // ignored detached comments.\n"},{"path":[4,21,3,0,2,2,4],"span":[1356,4,12]},{"path":[4,21,3,0,2,2,5],"span":[1356,13,19]},{"path":[4,21,3,0,2,2,1],"span":[1356,20,36]},{"path":[4,21,3,0,2,2,3],"span":[1356,39,40]},{"path":[4,21,3,0,2,3],"span":[1357,4,42]},{"path":[4,21,3,0,2,3,4],"span":[1357,4,12]},{"path":[4,21,3,0,2,3,5],"span":[1357,13,19]},{"path":[4,21,3,0,2,3,1],"span":[1357,20,37]},{"path":[4,21,3,0,2,3,3],"span":[1357,40,41]},{"path":[4,21,3,0,2,4],"span":[1358,4,50]},{"path":[4,21,3,0,2,4,4],"span":[1358,4,12]},{"path":[4,21,3,0,2,4,5],"span":[1358,13,19]},{"path":[4,21,3,0,2,4,1],"span":[1358,20,45]},{"path":[4,21,3,0,2,4,3],"span":[1358,48,49]},{"path":[4,21,5],"span":[1362,2,1366,5],"leadingComments":" Extensions for tooling.\n"},{"path":[4,21,5,0],"span":[1362,13,22]},{"path":[4,21,5,0,1],"span":[1362,13,22]},{"path":[4,21,5,0,2],"span":[1362,13,22]},{"path":[4,21,5,0,3],"span":[1362,23,1366,4]},{"path":[4,21,5,0,3,2,0],"span":[1362,24,1366,3]},{"path":[4,21,5,0,3,2,0,1],"span":[1363,4,21]},{"path":[4,21,5,0,3,2,0,3],"span":[1364,4,54]},{"path":[4,21,5,0,3,2,0,2],"span":[1365,4,66]},{"path":[4,22],"span":[1372,0,1405,1],"leadingComments":" Describes the relationship between generated code and its original source\n file. A GeneratedCodeInfo message is associated with only one generated\n source file, but may contain references to different source .proto files.\n"},{"path":[4,22,1],"span":[1372,8,25]},{"path":[4,22,2,0],"span":[1375,2,37],"leadingComments":" An Annotation connects some span of text in generated code to an element\n of its generating .proto file.\n"},{"path":[4,22,2,0,4],"span":[1375,2,10]},{"path":[4,22,2,0,6],"span":[1375,11,21]},{"path":[4,22,2,0,1],"span":[1375,22,32]},{"path":[4,22,2,0,3],"span":[1375,35,36]},{"path":[4,22,3,0],"span":[1376,2,1404,3]},{"path":[4,22,3,0,1],"span":[1376,10,20]},{"path":[4,22,3,0,2,0],"span":[1379,4,44],"leadingComments":" Identifies the element in the original source .proto file. This field\n is formatted the same as SourceCodeInfo.Location.path.\n"},{"path":[4,22,3,0,2,0,4],"span":[1379,4,12]},{"path":[4,22,3,0,2,0,5],"span":[1379,13,18]},{"path":[4,22,3,0,2,0,1],"span":[1379,19,23]},{"path":[4,22,3,0,2,0,3],"span":[1379,26,27]},{"path":[4,22,3,0,2,0,8],"span":[1379,28,43]},{"path":[4,22,3,0,2,0,8,2],"span":[1379,29,42]},{"path":[4,22,3,0,2,1],"span":[1382,4,36],"leadingComments":" Identifies the filesystem path to the original source .proto.\n"},{"path":[4,22,3,0,2,1,4],"span":[1382,4,12]},{"path":[4,22,3,0,2,1,5],"span":[1382,13,19]},{"path":[4,22,3,0,2,1,1],"span":[1382,20,31]},{"path":[4,22,3,0,2,1,3],"span":[1382,34,35]},{"path":[4,22,3,0,2,2],"span":[1386,4,29],"leadingComments":" Identifies the starting offset in bytes in the generated code\n that relates to the identified object.\n"},{"path":[4,22,3,0,2,2,4],"span":[1386,4,12]},{"path":[4,22,3,0,2,2,5],"span":[1386,13,18]},{"path":[4,22,3,0,2,2,1],"span":[1386,19,24]},{"path":[4,22,3,0,2,2,3],"span":[1386,27,28]},{"path":[4,22,3,0,2,3],"span":[1391,4,27],"leadingComments":" Identifies the ending offset in bytes in the generated code that\n relates to the identified object. The end offset should be one past\n the last relevant byte (so the length of the text = end - begin).\n"},{"path":[4,22,3,0,2,3,4],"span":[1391,4,12]},{"path":[4,22,3,0,2,3,5],"span":[1391,13,18]},{"path":[4,22,3,0,2,3,1],"span":[1391,19,22]},{"path":[4,22,3,0,2,3,3],"span":[1391,25,26]},{"path":[4,22,3,0,4,0],"span":[1395,4,1402,5],"leadingComments":" Represents the identified object's effect on the element in the original\n .proto file.\n"},{"path":[4,22,3,0,4,0,1],"span":[1395,9,17]},{"path":[4,22,3,0,4,0,2,0],"span":[1397,6,15],"leadingComments":" There is no effect or the effect is indescribable.\n"},{"path":[4,22,3,0,4,0,2,0,1],"span":[1397,6,10]},{"path":[4,22,3,0,4,0,2,0,2],"span":[1397,13,14]},{"path":[4,22,3,0,4,0,2,1],"span":[1399,6,14],"leadingComments":" The element is set or otherwise mutated.\n"},{"path":[4,22,3,0,4,0,2,1,1],"span":[1399,6,9]},{"path":[4,22,3,0,4,0,2,1,2],"span":[1399,12,13]},{"path":[4,22,3,0,4,0,2,2],"span":[1401,6,16],"leadingComments":" An alias to the element is returned.\n"},{"path":[4,22,3,0,4,0,2,2,1],"span":[1401,6,11]},{"path":[4,22,3,0,4,0,2,2,2],"span":[1401,14,15]},{"path":[4,22,3,0,2,4],"span":[1403,4,35]},{"path":[4,22,3,0,2,4,4],"span":[1403,4,12]},{"path":[4,22,3,0,2,4,6],"span":[1403,13,21]},{"path":[4,22,3,0,2,4,1],"span":[1403,22,30]},{"path":[4,22,3,0,2,4,3],"span":[1403,33,34]},{"path":[5,1],"span":[1412,0,1416,1],"leadingComments":" Describes the 'visibility' of a symbol with respect to the proto import\n system. Symbols can only be imported when the visibility rules do not prevent\n it (ex: local symbols cannot be imported). Visibility modifiers can only set\n on `message` and `enum` as they are the only types available to be referenced\n from other files.\n"},{"path":[5,1,1],"span":[1412,5,21]},{"path":[5,1,2,0],"span":[1413,2,23]},{"path":[5,1,2,0,1],"span":[1413,2,18]},{"path":[5,1,2,0,2],"span":[1413,21,22]},{"path":[5,1,2,1],"span":[1414,2,23]},{"path":[5,1,2,1,1],"span":[1414,2,18]},{"path":[5,1,2,1,2],"span":[1414,21,22]},{"path":[5,1,2,2],"span":[1415,2,24]},{"path":[5,1,2,2,1],"span":[1415,2,19]},{"path":[5,1,2,2,2],"span":[1415,22,23]}]},"bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"google/protobuf/duration.proto","package":"google.protobuf","messageType":[{"name":"Duration","field":[{"name":"seconds","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"seconds"},{"name":"nanos","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"nanos"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"DurationProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/durationpb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,114,1]},{"path":[12],"span":[30,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"]},{"path":[2],"span":[32,0,24]},{"path":[8],"span":[34,0,31]},{"path":[8,31],"span":[34,0,31]},{"path":[8],"span":[35,0,72]},{"path":[8,11],"span":[35,0,72]},{"path":[8],"span":[36,0,44]},{"path":[8,1],"span":[36,0,44]},{"path":[8],"span":[37,0,46]},{"path":[8,8],"span":[37,0,46]},{"path":[8],"span":[38,0,34]},{"path":[8,10],"span":[38,0,34]},{"path":[8],"span":[39,0,33]},{"path":[8,36],"span":[39,0,33]},{"path":[8],"span":[40,0,59]},{"path":[8,37],"span":[40,0,59]},{"path":[4,0],"span":[101,0,114,1],"leadingComments":" A Duration represents a signed, fixed-length span of time represented\n as a count of seconds and fractions of seconds at nanosecond\n resolution. It is independent of any calendar and concepts like \"day\"\n or \"month\". It is related to Timestamp in that the difference between\n two Timestamp values is a Duration and it can be added or subtracted\n from a Timestamp. Range is approximately +-10,000 years.\n\n # Examples\n\n Example 1: Compute Duration from two Timestamps in pseudo code.\n\n Timestamp start = ...;\n Timestamp end = ...;\n Duration duration = ...;\n\n duration.seconds = end.seconds - start.seconds;\n duration.nanos = end.nanos - start.nanos;\n\n if (duration.seconds < 0 && duration.nanos > 0) {\n duration.seconds += 1;\n duration.nanos -= 1000000000;\n } else if (duration.seconds > 0 && duration.nanos < 0) {\n duration.seconds -= 1;\n duration.nanos += 1000000000;\n }\n\n Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.\n\n Timestamp start = ...;\n Duration duration = ...;\n Timestamp end = ...;\n\n end.seconds = start.seconds + duration.seconds;\n end.nanos = start.nanos + duration.nanos;\n\n if (end.nanos < 0) {\n end.seconds -= 1;\n end.nanos += 1000000000;\n } else if (end.nanos >= 1000000000) {\n end.seconds += 1;\n end.nanos -= 1000000000;\n }\n\n Example 3: Compute Duration from datetime.timedelta in Python.\n\n td = datetime.timedelta(days=3, minutes=10)\n duration = Duration()\n duration.FromTimedelta(td)\n\n # JSON Mapping\n\n In JSON format, the Duration type is encoded as a string rather than an\n object, where the string ends in the suffix \"s\" (indicating seconds) and\n is preceded by the number of seconds, with nanoseconds expressed as\n fractional seconds. For example, 3 seconds with 0 nanoseconds should be\n encoded in JSON format as \"3s\", while 3 seconds and 1 nanosecond should\n be expressed in JSON format as \"3.000000001s\", and 3 seconds and 1\n microsecond should be expressed in JSON format as \"3.000001s\".\n\n"},{"path":[4,0,1],"span":[101,8,16]},{"path":[4,0,2,0],"span":[105,2,20],"leadingComments":" Signed seconds of the span of time. Must be from -315,576,000,000\n to +315,576,000,000 inclusive. Note: these bounds are computed from:\n 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years\n"},{"path":[4,0,2,0,5],"span":[105,2,7]},{"path":[4,0,2,0,1],"span":[105,8,15]},{"path":[4,0,2,0,3],"span":[105,18,19]},{"path":[4,0,2,1],"span":[113,2,18],"leadingComments":" Signed fractions of a second at nanosecond resolution of the span\n of time. Durations less than one second are represented with a 0\n `seconds` field and a positive or negative `nanos` field. For durations\n of one second or more, a non-zero value for the `nanos` field must be\n of the same sign as the `seconds` field. Must be from -999,999,999\n to +999,999,999 inclusive.\n"},{"path":[4,0,2,1,5],"span":[113,2,7]},{"path":[4,0,2,1,1],"span":[113,8,13]},{"path":[4,0,2,1,3],"span":[113,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"google/protobuf/timestamp.proto","package":"google.protobuf","messageType":[{"name":"Timestamp","field":[{"name":"seconds","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"seconds"},{"name":"nanos","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"nanos"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"TimestampProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/timestamppb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,143,1]},{"path":[12],"span":[30,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"]},{"path":[2],"span":[32,0,24]},{"path":[8],"span":[34,0,31]},{"path":[8,31],"span":[34,0,31]},{"path":[8],"span":[35,0,73]},{"path":[8,11],"span":[35,0,73]},{"path":[8],"span":[36,0,44]},{"path":[8,1],"span":[36,0,44]},{"path":[8],"span":[37,0,47]},{"path":[8,8],"span":[37,0,47]},{"path":[8],"span":[38,0,34]},{"path":[8,10],"span":[38,0,34]},{"path":[8],"span":[39,0,33]},{"path":[8,36],"span":[39,0,33]},{"path":[8],"span":[40,0,59]},{"path":[8,37],"span":[40,0,59]},{"path":[4,0],"span":[132,0,143,1],"leadingComments":" A Timestamp represents a point in time independent of any time zone or local\n calendar, encoded as a count of seconds and fractions of seconds at\n nanosecond resolution. The count is relative to an epoch at UTC midnight on\n January 1, 1970, in the proleptic Gregorian calendar which extends the\n Gregorian calendar backwards to year one.\n\n All minutes are 60 seconds long. Leap seconds are \"smeared\" so that no leap\n second table is needed for interpretation, using a [24-hour linear\n smear](https://developers.google.com/time/smear).\n\n The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By\n restricting to that range, we ensure that we can convert to and from [RFC\n 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.\n\n # Examples\n\n Example 1: Compute Timestamp from POSIX `time()`.\n\n Timestamp timestamp;\n timestamp.set_seconds(time(NULL));\n timestamp.set_nanos(0);\n\n Example 2: Compute Timestamp from POSIX `gettimeofday()`.\n\n struct timeval tv;\n gettimeofday(&tv, NULL);\n\n Timestamp timestamp;\n timestamp.set_seconds(tv.tv_sec);\n timestamp.set_nanos(tv.tv_usec * 1000);\n\n Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.\n\n FILETIME ft;\n GetSystemTimeAsFileTime(&ft);\n UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;\n\n // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z\n // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.\n Timestamp timestamp;\n timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));\n timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));\n\n Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.\n\n long millis = System.currentTimeMillis();\n\n Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)\n .setNanos((int) ((millis % 1000) * 1000000)).build();\n\n Example 5: Compute Timestamp from Java `Instant.now()`.\n\n Instant now = Instant.now();\n\n Timestamp timestamp =\n Timestamp.newBuilder().setSeconds(now.getEpochSecond())\n .setNanos(now.getNano()).build();\n\n Example 6: Compute Timestamp from current time in Python.\n\n timestamp = Timestamp()\n timestamp.GetCurrentTime()\n\n # JSON Mapping\n\n In JSON format, the Timestamp type is encoded as a string in the\n [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the\n format is \"{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z\"\n where {year} is always expressed using four digits while {month}, {day},\n {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional\n seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),\n are optional. The \"Z\" suffix indicates the timezone (\"UTC\"); the timezone\n is required. A proto3 JSON serializer should always use UTC (as indicated by\n \"Z\") when printing the Timestamp type and a proto3 JSON parser should be\n able to accept both UTC and other timezones (as indicated by an offset).\n\n For example, \"2017-01-15T01:30:15.01Z\" encodes 15.01 seconds past\n 01:30 UTC on January 15, 2017.\n\n In JavaScript, one can convert a Date object to this format using the\n standard\n [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)\n method. In Python, a standard `datetime.datetime` object can be converted\n to this format using\n [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with\n the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use\n the Joda Time's [`ISODateTimeFormat.dateTime()`](\n http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()\n ) to obtain a formatter capable of generating timestamps in this format.\n\n"},{"path":[4,0,1],"span":[132,8,17]},{"path":[4,0,2,0],"span":[136,2,20],"leadingComments":" Represents seconds of UTC time since Unix epoch\n 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to\n 9999-12-31T23:59:59Z inclusive.\n"},{"path":[4,0,2,0,5],"span":[136,2,7]},{"path":[4,0,2,0,1],"span":[136,8,15]},{"path":[4,0,2,0,3],"span":[136,18,19]},{"path":[4,0,2,1],"span":[142,2,18],"leadingComments":" Non-negative fractions of a second at nanosecond resolution. Negative\n second values with fractions must still have non-negative nanos values\n that count forward in time. Must be from 0 to 999,999,999\n inclusive.\n"},{"path":[4,0,2,1,5],"span":[142,2,7]},{"path":[4,0,2,1,1],"span":[142,8,13]},{"path":[4,0,2,1,3],"span":[142,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"buf/validate/validate.proto","package":"buf.validate","dependency":["google/protobuf/descriptor.proto","google/protobuf/duration.proto","google/protobuf/timestamp.proto"],"messageType":[{"name":"Rule","field":[{"name":"id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"id"},{"name":"message","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"message"},{"name":"expression","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"expression"}]},{"name":"MessageRules","field":[{"name":"cel","number":3,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".buf.validate.Rule","jsonName":"cel"},{"name":"oneof","number":4,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".buf.validate.MessageOneofRule","jsonName":"oneof"}],"reservedRange":[{"start":1,"end":2}],"reservedName":["disabled"]},{"name":"MessageOneofRule","field":[{"name":"fields","number":1,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"fields"},{"name":"required","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"required"}]},{"name":"OneofRules","field":[{"name":"required","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"required"}]},{"name":"FieldRules","field":[{"name":"cel","number":23,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".buf.validate.Rule","jsonName":"cel"},{"name":"required","number":25,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"required"},{"name":"ignore","number":27,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.validate.Ignore","jsonName":"ignore"},{"name":"float","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.FloatRules","oneofIndex":0,"jsonName":"float"},{"name":"double","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.DoubleRules","oneofIndex":0,"jsonName":"double"},{"name":"int32","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.Int32Rules","oneofIndex":0,"jsonName":"int32"},{"name":"int64","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.Int64Rules","oneofIndex":0,"jsonName":"int64"},{"name":"uint32","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.UInt32Rules","oneofIndex":0,"jsonName":"uint32"},{"name":"uint64","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.UInt64Rules","oneofIndex":0,"jsonName":"uint64"},{"name":"sint32","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.SInt32Rules","oneofIndex":0,"jsonName":"sint32"},{"name":"sint64","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.SInt64Rules","oneofIndex":0,"jsonName":"sint64"},{"name":"fixed32","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.Fixed32Rules","oneofIndex":0,"jsonName":"fixed32"},{"name":"fixed64","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.Fixed64Rules","oneofIndex":0,"jsonName":"fixed64"},{"name":"sfixed32","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.SFixed32Rules","oneofIndex":0,"jsonName":"sfixed32"},{"name":"sfixed64","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.SFixed64Rules","oneofIndex":0,"jsonName":"sfixed64"},{"name":"bool","number":13,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.BoolRules","oneofIndex":0,"jsonName":"bool"},{"name":"string","number":14,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.StringRules","oneofIndex":0,"jsonName":"string"},{"name":"bytes","number":15,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.BytesRules","oneofIndex":0,"jsonName":"bytes"},{"name":"enum","number":16,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.EnumRules","oneofIndex":0,"jsonName":"enum"},{"name":"repeated","number":18,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.RepeatedRules","oneofIndex":0,"jsonName":"repeated"},{"name":"map","number":19,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.MapRules","oneofIndex":0,"jsonName":"map"},{"name":"any","number":20,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.AnyRules","oneofIndex":0,"jsonName":"any"},{"name":"duration","number":21,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.DurationRules","oneofIndex":0,"jsonName":"duration"},{"name":"timestamp","number":22,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.TimestampRules","oneofIndex":0,"jsonName":"timestamp"}],"oneofDecl":[{"name":"type"}],"reservedRange":[{"start":24,"end":25},{"start":26,"end":27}],"reservedName":["skipped","ignore_empty"]},{"name":"PredefinedRules","field":[{"name":"cel","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".buf.validate.Rule","jsonName":"cel"}],"reservedRange":[{"start":24,"end":25},{"start":26,"end":27}],"reservedName":["skipped","ignore_empty"]},{"name":"FloatRules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"float.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"float.lt","expression":"!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"float.lte","expression":"!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"float.gt","expression":"!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"float.gt_lt","expression":"has(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]) : ''"},{"id":"float.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"float.gt_lte","expression":"has(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]) : ''"},{"id":"float.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"float.gte","expression":"!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"float.gte_lt","expression":"has(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]) : ''"},{"id":"float.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"float.gte_lte","expression":"has(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]) : ''"},{"id":"float.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_FLOAT","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"float.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_FLOAT","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"float.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"finite","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"finite","options":{"[buf.validate.predefined]":{"cel":[{"id":"float.finite","expression":"rules.finite ? (this.isNan() || this.isInf() ? 'value must be finite' : '') : ''"}]}}},{"name":"example","number":9,"label":"LABEL_REPEATED","type":"TYPE_FLOAT","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"float.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"DoubleRules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"double.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"double.lt","expression":"!has(rules.gte) && !has(rules.gt) && (this.isNan() || this >= rules.lt)? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"double.lte","expression":"!has(rules.gte) && !has(rules.gt) && (this.isNan() || this > rules.lte)? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"double.gt","expression":"!has(rules.lt) && !has(rules.lte) && (this.isNan() || this <= rules.gt)? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"double.gt_lt","expression":"has(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]) : ''"},{"id":"double.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"double.gt_lte","expression":"has(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]) : ''"},{"id":"double.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"double.gte","expression":"!has(rules.lt) && !has(rules.lte) && (this.isNan() || this < rules.gte)? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"double.gte_lt","expression":"has(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]) : ''"},{"id":"double.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"double.gte_lte","expression":"has(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]) : ''"},{"id":"double.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_DOUBLE","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"double.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_DOUBLE","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"double.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"finite","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"finite","options":{"[buf.validate.predefined]":{"cel":[{"id":"double.finite","expression":"rules.finite ? (this.isNan() || this.isInf() ? 'value must be finite' : '') : ''"}]}}},{"name":"example","number":9,"label":"LABEL_REPEATED","type":"TYPE_DOUBLE","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"double.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"Int32Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"int32.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"int32.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"int32.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"int32.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"int32.gt_lt","expression":"has(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]) : ''"},{"id":"int32.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"int32.gt_lte","expression":"has(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]) : ''"},{"id":"int32.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"int32.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"int32.gte_lt","expression":"has(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]) : ''"},{"id":"int32.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"int32.gte_lte","expression":"has(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]) : ''"},{"id":"int32.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"int32.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"int32.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":8,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"int32.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"Int64Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"int64.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"int64.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"int64.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"int64.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"int64.gt_lt","expression":"has(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]) : ''"},{"id":"int64.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"int64.gt_lte","expression":"has(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]) : ''"},{"id":"int64.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"int64.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"int64.gte_lt","expression":"has(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]) : ''"},{"id":"int64.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"int64.gte_lte","expression":"has(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]) : ''"},{"id":"int64.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_INT64","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"int64.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_INT64","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"int64.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":9,"label":"LABEL_REPEATED","type":"TYPE_INT64","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"int64.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"UInt32Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint32.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint32.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint32.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint32.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"uint32.gt_lt","expression":"has(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]) : ''"},{"id":"uint32.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"uint32.gt_lte","expression":"has(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]) : ''"},{"id":"uint32.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint32.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"uint32.gte_lt","expression":"has(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]) : ''"},{"id":"uint32.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"uint32.gte_lte","expression":"has(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]) : ''"},{"id":"uint32.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_UINT32","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint32.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_UINT32","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint32.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":8,"label":"LABEL_REPEATED","type":"TYPE_UINT32","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint32.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"UInt64Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint64.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint64.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint64.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint64.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"uint64.gt_lt","expression":"has(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]) : ''"},{"id":"uint64.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"uint64.gt_lte","expression":"has(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]) : ''"},{"id":"uint64.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint64.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"uint64.gte_lt","expression":"has(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]) : ''"},{"id":"uint64.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"uint64.gte_lte","expression":"has(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]) : ''"},{"id":"uint64.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_UINT64","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint64.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_UINT64","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint64.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":8,"label":"LABEL_REPEATED","type":"TYPE_UINT64","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"uint64.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"SInt32Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint32.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint32.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint32.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint32.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"sint32.gt_lt","expression":"has(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]) : ''"},{"id":"sint32.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"sint32.gt_lte","expression":"has(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]) : ''"},{"id":"sint32.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint32.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"sint32.gte_lt","expression":"has(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]) : ''"},{"id":"sint32.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"sint32.gte_lte","expression":"has(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]) : ''"},{"id":"sint32.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_SINT32","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint32.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_SINT32","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint32.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":8,"label":"LABEL_REPEATED","type":"TYPE_SINT32","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint32.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"SInt64Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint64.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint64.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint64.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint64.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"sint64.gt_lt","expression":"has(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]) : ''"},{"id":"sint64.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"sint64.gt_lte","expression":"has(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]) : ''"},{"id":"sint64.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint64.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"sint64.gte_lt","expression":"has(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]) : ''"},{"id":"sint64.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"sint64.gte_lte","expression":"has(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]) : ''"},{"id":"sint64.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_SINT64","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint64.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_SINT64","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint64.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":8,"label":"LABEL_REPEATED","type":"TYPE_SINT64","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"sint64.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"Fixed32Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed32.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed32.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed32.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed32.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"fixed32.gt_lt","expression":"has(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]) : ''"},{"id":"fixed32.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"fixed32.gt_lte","expression":"has(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]) : ''"},{"id":"fixed32.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed32.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"fixed32.gte_lt","expression":"has(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]) : ''"},{"id":"fixed32.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"fixed32.gte_lte","expression":"has(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]) : ''"},{"id":"fixed32.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_FIXED32","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed32.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_FIXED32","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed32.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":8,"label":"LABEL_REPEATED","type":"TYPE_FIXED32","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed32.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"Fixed64Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed64.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed64.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed64.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed64.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"fixed64.gt_lt","expression":"has(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]) : ''"},{"id":"fixed64.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"fixed64.gt_lte","expression":"has(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]) : ''"},{"id":"fixed64.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed64.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"fixed64.gte_lt","expression":"has(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]) : ''"},{"id":"fixed64.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"fixed64.gte_lte","expression":"has(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]) : ''"},{"id":"fixed64.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_FIXED64","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed64.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_FIXED64","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed64.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":8,"label":"LABEL_REPEATED","type":"TYPE_FIXED64","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"fixed64.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"SFixed32Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed32.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed32.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed32.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed32.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"sfixed32.gt_lt","expression":"has(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]) : ''"},{"id":"sfixed32.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"sfixed32.gt_lte","expression":"has(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]) : ''"},{"id":"sfixed32.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed32.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"sfixed32.gte_lt","expression":"has(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]) : ''"},{"id":"sfixed32.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"sfixed32.gte_lte","expression":"has(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]) : ''"},{"id":"sfixed32.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_SFIXED32","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed32.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_SFIXED32","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed32.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":8,"label":"LABEL_REPEATED","type":"TYPE_SFIXED32","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed32.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"SFixed64Rules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed64.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed64.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed64.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed64.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"sfixed64.gt_lt","expression":"has(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]) : ''"},{"id":"sfixed64.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"sfixed64.gt_lte","expression":"has(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]) : ''"},{"id":"sfixed64.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed64.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"sfixed64.gte_lt","expression":"has(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]) : ''"},{"id":"sfixed64.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"sfixed64.gte_lte","expression":"has(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]) : ''"},{"id":"sfixed64.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":6,"label":"LABEL_REPEATED","type":"TYPE_SFIXED64","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed64.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":7,"label":"LABEL_REPEATED","type":"TYPE_SFIXED64","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed64.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":8,"label":"LABEL_REPEATED","type":"TYPE_SFIXED64","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"sfixed64.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"BoolRules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"bool.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"example","number":2,"label":"LABEL_REPEATED","type":"TYPE_BOOL","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"bool.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"StringRules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.const","expression":"this != getField(rules, 'const') ? 'value must equal `%s`'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"len","number":19,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"len","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.len","expression":"uint(this.size()) != rules.len ? 'value length must be %s characters'.format([rules.len]) : ''"}]}}},{"name":"min_len","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"minLen","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.min_len","expression":"uint(this.size()) < rules.min_len ? 'value length must be at least %s characters'.format([rules.min_len]) : ''"}]}}},{"name":"max_len","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"maxLen","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.max_len","expression":"uint(this.size()) > rules.max_len ? 'value length must be at most %s characters'.format([rules.max_len]) : ''"}]}}},{"name":"len_bytes","number":20,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"lenBytes","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.len_bytes","expression":"uint(bytes(this).size()) != rules.len_bytes ? 'value length must be %s bytes'.format([rules.len_bytes]) : ''"}]}}},{"name":"min_bytes","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"minBytes","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.min_bytes","expression":"uint(bytes(this).size()) < rules.min_bytes ? 'value length must be at least %s bytes'.format([rules.min_bytes]) : ''"}]}}},{"name":"max_bytes","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"maxBytes","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.max_bytes","expression":"uint(bytes(this).size()) > rules.max_bytes ? 'value length must be at most %s bytes'.format([rules.max_bytes]) : ''"}]}}},{"name":"pattern","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"pattern","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.pattern","expression":"!this.matches(rules.pattern) ? 'value does not match regex pattern `%s`'.format([rules.pattern]) : ''"}]}}},{"name":"prefix","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"prefix","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.prefix","expression":"!this.startsWith(rules.prefix) ? 'value does not have prefix `%s`'.format([rules.prefix]) : ''"}]}}},{"name":"suffix","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"suffix","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.suffix","expression":"!this.endsWith(rules.suffix) ? 'value does not have suffix `%s`'.format([rules.suffix]) : ''"}]}}},{"name":"contains","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"contains","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.contains","expression":"!this.contains(rules.contains) ? 'value does not contain substring `%s`'.format([rules.contains]) : ''"}]}}},{"name":"not_contains","number":23,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"notContains","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.not_contains","expression":"this.contains(rules.not_contains) ? 'value contains substring `%s`'.format([rules.not_contains]) : ''"}]}}},{"name":"in","number":10,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":11,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"email","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"email","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.email","message":"value must be a valid email address","expression":"!rules.email || this == '' || this.isEmail()"},{"id":"string.email_empty","message":"value is empty, which is not a valid email address","expression":"!rules.email || this != ''"}]}}},{"name":"hostname","number":13,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"hostname","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.hostname","message":"value must be a valid hostname","expression":"!rules.hostname || this == '' || this.isHostname()"},{"id":"string.hostname_empty","message":"value is empty, which is not a valid hostname","expression":"!rules.hostname || this != ''"}]}}},{"name":"ip","number":14,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ip","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.ip","message":"value must be a valid IP address","expression":"!rules.ip || this == '' || this.isIp()"},{"id":"string.ip_empty","message":"value is empty, which is not a valid IP address","expression":"!rules.ip || this != ''"}]}}},{"name":"ipv4","number":15,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipv4","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.ipv4","message":"value must be a valid IPv4 address","expression":"!rules.ipv4 || this == '' || this.isIp(4)"},{"id":"string.ipv4_empty","message":"value is empty, which is not a valid IPv4 address","expression":"!rules.ipv4 || this != ''"}]}}},{"name":"ipv6","number":16,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipv6","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.ipv6","message":"value must be a valid IPv6 address","expression":"!rules.ipv6 || this == '' || this.isIp(6)"},{"id":"string.ipv6_empty","message":"value is empty, which is not a valid IPv6 address","expression":"!rules.ipv6 || this != ''"}]}}},{"name":"uri","number":17,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"uri","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.uri","message":"value must be a valid URI","expression":"!rules.uri || this == '' || this.isUri()"},{"id":"string.uri_empty","message":"value is empty, which is not a valid URI","expression":"!rules.uri || this != ''"}]}}},{"name":"uri_ref","number":18,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"uriRef","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.uri_ref","message":"value must be a valid URI Reference","expression":"!rules.uri_ref || this.isUriRef()"}]}}},{"name":"address","number":21,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"address","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.address","message":"value must be a valid hostname, or ip address","expression":"!rules.address || this == '' || this.isHostname() || this.isIp()"},{"id":"string.address_empty","message":"value is empty, which is not a valid hostname, or ip address","expression":"!rules.address || this != ''"}]}}},{"name":"uuid","number":22,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"uuid","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.uuid","message":"value must be a valid UUID","expression":"!rules.uuid || this == '' || this.matches('^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$')"},{"id":"string.uuid_empty","message":"value is empty, which is not a valid UUID","expression":"!rules.uuid || this != ''"}]}}},{"name":"tuuid","number":33,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"tuuid","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.tuuid","message":"value must be a valid trimmed UUID","expression":"!rules.tuuid || this == '' || this.matches('^[0-9a-fA-F]{32}$')"},{"id":"string.tuuid_empty","message":"value is empty, which is not a valid trimmed UUID","expression":"!rules.tuuid || this != ''"}]}}},{"name":"ip_with_prefixlen","number":26,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipWithPrefixlen","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.ip_with_prefixlen","message":"value must be a valid IP prefix","expression":"!rules.ip_with_prefixlen || this == '' || this.isIpPrefix()"},{"id":"string.ip_with_prefixlen_empty","message":"value is empty, which is not a valid IP prefix","expression":"!rules.ip_with_prefixlen || this != ''"}]}}},{"name":"ipv4_with_prefixlen","number":27,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipv4WithPrefixlen","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.ipv4_with_prefixlen","message":"value must be a valid IPv4 address with prefix length","expression":"!rules.ipv4_with_prefixlen || this == '' || this.isIpPrefix(4)"},{"id":"string.ipv4_with_prefixlen_empty","message":"value is empty, which is not a valid IPv4 address with prefix length","expression":"!rules.ipv4_with_prefixlen || this != ''"}]}}},{"name":"ipv6_with_prefixlen","number":28,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipv6WithPrefixlen","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.ipv6_with_prefixlen","message":"value must be a valid IPv6 address with prefix length","expression":"!rules.ipv6_with_prefixlen || this == '' || this.isIpPrefix(6)"},{"id":"string.ipv6_with_prefixlen_empty","message":"value is empty, which is not a valid IPv6 address with prefix length","expression":"!rules.ipv6_with_prefixlen || this != ''"}]}}},{"name":"ip_prefix","number":29,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipPrefix","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.ip_prefix","message":"value must be a valid IP prefix","expression":"!rules.ip_prefix || this == '' || this.isIpPrefix(true)"},{"id":"string.ip_prefix_empty","message":"value is empty, which is not a valid IP prefix","expression":"!rules.ip_prefix || this != ''"}]}}},{"name":"ipv4_prefix","number":30,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipv4Prefix","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.ipv4_prefix","message":"value must be a valid IPv4 prefix","expression":"!rules.ipv4_prefix || this == '' || this.isIpPrefix(4, true)"},{"id":"string.ipv4_prefix_empty","message":"value is empty, which is not a valid IPv4 prefix","expression":"!rules.ipv4_prefix || this != ''"}]}}},{"name":"ipv6_prefix","number":31,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipv6Prefix","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.ipv6_prefix","message":"value must be a valid IPv6 prefix","expression":"!rules.ipv6_prefix || this == '' || this.isIpPrefix(6, true)"},{"id":"string.ipv6_prefix_empty","message":"value is empty, which is not a valid IPv6 prefix","expression":"!rules.ipv6_prefix || this != ''"}]}}},{"name":"host_and_port","number":32,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"hostAndPort","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.host_and_port","message":"value must be a valid host (hostname or IP address) and port pair","expression":"!rules.host_and_port || this == '' || this.isHostAndPort(true)"},{"id":"string.host_and_port_empty","message":"value is empty, which is not a valid host and port pair","expression":"!rules.host_and_port || this != ''"}]}}},{"name":"well_known_regex","number":24,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.validate.KnownRegex","oneofIndex":0,"jsonName":"wellKnownRegex","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.well_known_regex.header_name","message":"value must be a valid HTTP header name","expression":"rules.well_known_regex != 1 || this == '' || this.matches(!has(rules.strict) || rules.strict ?'^:?[0-9a-zA-Z!#$%&\\'*+-.^_|~\\x60]+$' :'^[^\\u0000\\u000A\\u000D]+$')"},{"id":"string.well_known_regex.header_name_empty","message":"value is empty, which is not a valid HTTP header name","expression":"rules.well_known_regex != 1 || this != ''"},{"id":"string.well_known_regex.header_value","message":"value must be a valid HTTP header value","expression":"rules.well_known_regex != 2 || this.matches(!has(rules.strict) || rules.strict ?'^[^\\u0000-\\u0008\\u000A-\\u001F\\u007F]*$' :'^[^\\u0000\\u000A\\u000D]*$')"}]}}},{"name":"strict","number":25,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"strict"},{"name":"example","number":34,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"string.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"well_known"}]},{"name":"BytesRules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.const","expression":"this != getField(rules, 'const') ? 'value must be %x'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"len","number":13,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"len","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.len","expression":"uint(this.size()) != rules.len ? 'value length must be %s bytes'.format([rules.len]) : ''"}]}}},{"name":"min_len","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"minLen","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.min_len","expression":"uint(this.size()) < rules.min_len ? 'value length must be at least %s bytes'.format([rules.min_len]) : ''"}]}}},{"name":"max_len","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"maxLen","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.max_len","expression":"uint(this.size()) > rules.max_len ? 'value must be at most %s bytes'.format([rules.max_len]) : ''"}]}}},{"name":"pattern","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"pattern","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.pattern","expression":"!string(this).matches(rules.pattern) ? 'value must match regex pattern `%s`'.format([rules.pattern]) : ''"}]}}},{"name":"prefix","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"prefix","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.prefix","expression":"!this.startsWith(rules.prefix) ? 'value does not have prefix %x'.format([rules.prefix]) : ''"}]}}},{"name":"suffix","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"suffix","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.suffix","expression":"!this.endsWith(rules.suffix) ? 'value does not have suffix %x'.format([rules.suffix]) : ''"}]}}},{"name":"contains","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"contains","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.contains","expression":"!this.contains(rules.contains) ? 'value does not contain %x'.format([rules.contains]) : ''"}]}}},{"name":"in","number":8,"label":"LABEL_REPEATED","type":"TYPE_BYTES","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.in","expression":"getField(rules, 'in').size() > 0 && !(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":9,"label":"LABEL_REPEATED","type":"TYPE_BYTES","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"ip","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ip","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.ip","message":"value must be a valid IP address","expression":"!rules.ip || this.size() == 0 || this.size() == 4 || this.size() == 16"},{"id":"bytes.ip_empty","message":"value is empty, which is not a valid IP address","expression":"!rules.ip || this.size() != 0"}]}}},{"name":"ipv4","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipv4","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.ipv4","message":"value must be a valid IPv4 address","expression":"!rules.ipv4 || this.size() == 0 || this.size() == 4"},{"id":"bytes.ipv4_empty","message":"value is empty, which is not a valid IPv4 address","expression":"!rules.ipv4 || this.size() != 0"}]}}},{"name":"ipv6","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ipv6","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.ipv6","message":"value must be a valid IPv6 address","expression":"!rules.ipv6 || this.size() == 0 || this.size() == 16"},{"id":"bytes.ipv6_empty","message":"value is empty, which is not a valid IPv6 address","expression":"!rules.ipv6 || this.size() != 0"}]}}},{"name":"example","number":14,"label":"LABEL_REPEATED","type":"TYPE_BYTES","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"bytes.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"well_known"}]},{"name":"EnumRules","field":[{"name":"const","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"enum.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"defined_only","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"definedOnly"},{"name":"in","number":3,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"enum.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":4,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"enum.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":5,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"enum.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"RepeatedRules","field":[{"name":"min_items","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"minItems","options":{"[buf.validate.predefined]":{"cel":[{"id":"repeated.min_items","expression":"uint(this.size()) < rules.min_items ? 'value must contain at least %d item(s)'.format([rules.min_items]) : ''"}]}}},{"name":"max_items","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"maxItems","options":{"[buf.validate.predefined]":{"cel":[{"id":"repeated.max_items","expression":"uint(this.size()) > rules.max_items ? 'value must contain no more than %s item(s)'.format([rules.max_items]) : ''"}]}}},{"name":"unique","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"unique","options":{"[buf.validate.predefined]":{"cel":[{"id":"repeated.unique","message":"repeated value must contain unique items","expression":"!rules.unique || this.unique()"}]}}},{"name":"items","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.FieldRules","jsonName":"items"}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"MapRules","field":[{"name":"min_pairs","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"minPairs","options":{"[buf.validate.predefined]":{"cel":[{"id":"map.min_pairs","expression":"uint(this.size()) < rules.min_pairs ? 'map must be at least %d entries'.format([rules.min_pairs]) : ''"}]}}},{"name":"max_pairs","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"maxPairs","options":{"[buf.validate.predefined]":{"cel":[{"id":"map.max_pairs","expression":"uint(this.size()) > rules.max_pairs ? 'map must be at most %d entries'.format([rules.max_pairs]) : ''"}]}}},{"name":"keys","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.FieldRules","jsonName":"keys"},{"name":"values","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.FieldRules","jsonName":"values"}],"extensionRange":[{"start":1000,"end":536870912}]},{"name":"AnyRules","field":[{"name":"in","number":2,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"in"},{"name":"not_in","number":3,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"notIn"}]},{"name":"DurationRules","field":[{"name":"const","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"duration.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"duration.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"duration.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"gt","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"duration.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"duration.gt_lt","expression":"has(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]) : ''"},{"id":"duration.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"duration.gt_lte","expression":"has(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]) : ''"},{"id":"duration.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"duration.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"duration.gte_lt","expression":"has(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]) : ''"},{"id":"duration.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"duration.gte_lte","expression":"has(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]) : ''"},{"id":"duration.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"in","number":7,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"in","options":{"[buf.validate.predefined]":{"cel":[{"id":"duration.in","expression":"!(this in getField(rules, 'in')) ? 'value must be in list %s'.format([getField(rules, 'in')]) : ''"}]}}},{"name":"not_in","number":8,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"notIn","options":{"[buf.validate.predefined]":{"cel":[{"id":"duration.not_in","expression":"this in rules.not_in ? 'value must not be in list %s'.format([rules.not_in]) : ''"}]}}},{"name":"example","number":9,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"duration.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"TimestampRules","field":[{"name":"const","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"const","options":{"[buf.validate.predefined]":{"cel":[{"id":"timestamp.const","expression":"this != getField(rules, 'const') ? 'value must equal %s'.format([getField(rules, 'const')]) : ''"}]}}},{"name":"lt","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","oneofIndex":0,"jsonName":"lt","options":{"[buf.validate.predefined]":{"cel":[{"id":"timestamp.lt","expression":"!has(rules.gte) && !has(rules.gt) && this >= rules.lt? 'value must be less than %s'.format([rules.lt]) : ''"}]}}},{"name":"lte","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","oneofIndex":0,"jsonName":"lte","options":{"[buf.validate.predefined]":{"cel":[{"id":"timestamp.lte","expression":"!has(rules.gte) && !has(rules.gt) && this > rules.lte? 'value must be less than or equal to %s'.format([rules.lte]) : ''"}]}}},{"name":"lt_now","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"ltNow","options":{"[buf.validate.predefined]":{"cel":[{"id":"timestamp.lt_now","expression":"(rules.lt_now && this > now) ? 'value must be less than now' : ''"}]}}},{"name":"gt","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","oneofIndex":1,"jsonName":"gt","options":{"[buf.validate.predefined]":{"cel":[{"id":"timestamp.gt","expression":"!has(rules.lt) && !has(rules.lte) && this <= rules.gt? 'value must be greater than %s'.format([rules.gt]) : ''"},{"id":"timestamp.gt_lt","expression":"has(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]) : ''"},{"id":"timestamp.gt_lt_exclusive","expression":"has(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]) : ''"},{"id":"timestamp.gt_lte","expression":"has(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]) : ''"},{"id":"timestamp.gt_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gte","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","oneofIndex":1,"jsonName":"gte","options":{"[buf.validate.predefined]":{"cel":[{"id":"timestamp.gte","expression":"!has(rules.lt) && !has(rules.lte) && this < rules.gte? 'value must be greater than or equal to %s'.format([rules.gte]) : ''"},{"id":"timestamp.gte_lt","expression":"has(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]) : ''"},{"id":"timestamp.gte_lt_exclusive","expression":"has(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]) : ''"},{"id":"timestamp.gte_lte","expression":"has(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]) : ''"},{"id":"timestamp.gte_lte_exclusive","expression":"has(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]) : ''"}]}}},{"name":"gt_now","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":1,"jsonName":"gtNow","options":{"[buf.validate.predefined]":{"cel":[{"id":"timestamp.gt_now","expression":"(rules.gt_now && this < now) ? 'value must be greater than now' : ''"}]}}},{"name":"within","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"within","options":{"[buf.validate.predefined]":{"cel":[{"id":"timestamp.within","expression":"this < now-rules.within || this > now+rules.within ? 'value must be within %s of now'.format([rules.within]) : ''"}]}}},{"name":"example","number":10,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"example","options":{"[buf.validate.predefined]":{"cel":[{"id":"timestamp.example","expression":"true"}]}}}],"extensionRange":[{"start":1000,"end":536870912}],"oneofDecl":[{"name":"less_than"},{"name":"greater_than"}]},{"name":"Violations","field":[{"name":"violations","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".buf.validate.Violation","jsonName":"violations"}]},{"name":"Violation","field":[{"name":"field","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.FieldPath","jsonName":"field"},{"name":"rule","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.FieldPath","jsonName":"rule"},{"name":"rule_id","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"ruleId"},{"name":"message","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"message"},{"name":"for_key","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"forKey"}],"reservedRange":[{"start":1,"end":2}],"reservedName":["field_path"]},{"name":"FieldPath","field":[{"name":"elements","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".buf.validate.FieldPathElement","jsonName":"elements"}]},{"name":"FieldPathElement","field":[{"name":"field_number","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"fieldNumber"},{"name":"field_name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"fieldName"},{"name":"field_type","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldDescriptorProto.Type","jsonName":"fieldType"},{"name":"key_type","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldDescriptorProto.Type","jsonName":"keyType"},{"name":"value_type","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.FieldDescriptorProto.Type","jsonName":"valueType"},{"name":"index","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"index"},{"name":"bool_key","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"boolKey"},{"name":"int_key","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"intKey"},{"name":"uint_key","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"uintKey"},{"name":"string_key","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"stringKey"}],"oneofDecl":[{"name":"subscript"}]}],"enumType":[{"name":"Ignore","value":[{"name":"IGNORE_UNSPECIFIED","number":0},{"name":"IGNORE_IF_ZERO_VALUE","number":1},{"name":"IGNORE_ALWAYS","number":3}],"reservedRange":[{"start":2,"end":2}],"reservedName":["IGNORE_EMPTY","IGNORE_DEFAULT","IGNORE_IF_DEFAULT_VALUE","IGNORE_IF_UNPOPULATED"]},{"name":"KnownRegex","value":[{"name":"KNOWN_REGEX_UNSPECIFIED","number":0},{"name":"KNOWN_REGEX_HTTP_HEADER_NAME","number":1},{"name":"KNOWN_REGEX_HTTP_HEADER_VALUE","number":2}]}],"extension":[{"name":"message","number":1159,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.MessageRules","extendee":".google.protobuf.MessageOptions","jsonName":"message"},{"name":"oneof","number":1159,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.OneofRules","extendee":".google.protobuf.OneofOptions","jsonName":"oneof"},{"name":"field","number":1159,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.FieldRules","extendee":".google.protobuf.FieldOptions","jsonName":"field"},{"name":"predefined","number":1160,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.validate.PredefinedRules","extendee":".google.protobuf.FieldOptions","jsonName":"predefined"}],"options":{"javaPackage":"build.buf.validate","javaOuterClassname":"ValidateProto","javaMultipleFiles":true,"goPackage":"buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate"},"sourceCodeInfo":{"location":[{"span":[14,0,4996,1]},{"path":[12],"span":[14,0,18],"leadingDetachedComments":[" Copyright 2023-2025 Buf Technologies, Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n"]},{"path":[2],"span":[16,0,21]},{"path":[3,0],"span":[18,0,42]},{"path":[3,1],"span":[19,0,40]},{"path":[3,2],"span":[20,0,41]},{"path":[8],"span":[22,0,94]},{"path":[8,11],"span":[22,0,94]},{"path":[8],"span":[23,0,34]},{"path":[8,10],"span":[23,0,34]},{"path":[8],"span":[24,0,46]},{"path":[8,8],"span":[24,0,46]},{"path":[8],"span":[25,0,43]},{"path":[8,1],"span":[25,0,43]},{"path":[7],"span":[31,0,35,1],"leadingComments":" MessageOptions is an extension to google.protobuf.MessageOptions. It allows\n the addition of validation rules at the message level. These rules can be\n applied to incoming messages to ensure they meet certain criteria before\n being processed.\n"},{"path":[7,0],"span":[34,2,39],"leadingComments":" Rules specify the validations to be performed on this message. By default,\n no validation is performed against a message.\n"},{"path":[7,0,2],"span":[31,7,37]},{"path":[7,0,4],"span":[34,2,10]},{"path":[7,0,6],"span":[34,11,23]},{"path":[7,0,1],"span":[34,24,31]},{"path":[7,0,3],"span":[34,34,38]},{"path":[7],"span":[41,0,45,1],"leadingComments":" OneofOptions is an extension to google.protobuf.OneofOptions. It allows\n the addition of validation rules on a oneof. These rules can be\n applied to incoming messages to ensure they meet certain criteria before\n being processed.\n"},{"path":[7,1],"span":[44,2,35],"leadingComments":" Rules specify the validations to be performed on this oneof. By default,\n no validation is performed against a oneof.\n"},{"path":[7,1,2],"span":[41,7,35]},{"path":[7,1,4],"span":[44,2,10]},{"path":[7,1,6],"span":[44,11,21]},{"path":[7,1,1],"span":[44,22,27]},{"path":[7,1,3],"span":[44,30,34]},{"path":[7],"span":[51,0,73,1],"leadingComments":" FieldOptions is an extension to google.protobuf.FieldOptions. It allows\n the addition of validation rules at the field level. These rules can be\n applied to incoming messages to ensure they meet certain criteria before\n being processed.\n"},{"path":[7,2],"span":[54,2,35],"leadingComments":" Rules specify the validations to be performed on this field. By default,\n no validation is performed against a field.\n"},{"path":[7,2,2],"span":[51,7,35]},{"path":[7,2,4],"span":[54,2,10]},{"path":[7,2,6],"span":[54,11,21]},{"path":[7,2,1],"span":[54,22,27]},{"path":[7,2,3],"span":[54,30,34]},{"path":[7,3],"span":[72,2,45],"leadingComments":" Specifies predefined rules. When extending a standard rule message,\n this adds additional CEL expressions that apply when the extension is used.\n\n ```proto\n extend buf.validate.Int32Rules {\n bool is_zero [(buf.validate.predefined).cel = {\n id: \"int32.is_zero\",\n message: \"value must be zero\",\n expression: \"!rule || this == 0\",\n }];\n }\n\n message Foo {\n int32 reserved = 1 [(buf.validate.field).int32.(is_zero) = true];\n }\n ```\n"},{"path":[7,3,2],"span":[51,7,35]},{"path":[7,3,4],"span":[72,2,10]},{"path":[7,3,6],"span":[72,11,26]},{"path":[7,3,1],"span":[72,27,37]},{"path":[7,3,3],"span":[72,40,44]},{"path":[4,0],"span":[90,0,106,1],"leadingComments":" `Rule` represents a validation rule written in the Common Expression\n Language (CEL) syntax. Each Rule includes a unique identifier, an\n optional error message, and the CEL expression to evaluate. For more\n information, [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/).\n\n ```proto\n message Foo {\n option (buf.validate.message).cel = {\n id: \"foo.bar\"\n message: \"bar must be greater than 0\"\n expression: \"this.bar > 0\"\n };\n int32 bar = 1;\n }\n ```\n"},{"path":[4,0,1],"span":[90,8,12]},{"path":[4,0,2,0],"span":[93,2,25],"leadingComments":" `id` is a string that serves as a machine-readable name for this Rule.\n It should be unique within its scope, which could be either a message or a field.\n"},{"path":[4,0,2,0,4],"span":[93,2,10]},{"path":[4,0,2,0,5],"span":[93,11,17]},{"path":[4,0,2,0,1],"span":[93,18,20]},{"path":[4,0,2,0,3],"span":[93,23,24]},{"path":[4,0,2,1],"span":[99,2,30],"leadingComments":" `message` is an optional field that provides a human-readable error message\n for this Rule when the CEL expression evaluates to false. If a\n non-empty message is provided, any strings resulting from the CEL\n expression evaluation are ignored.\n"},{"path":[4,0,2,1,4],"span":[99,2,10]},{"path":[4,0,2,1,5],"span":[99,11,17]},{"path":[4,0,2,1,1],"span":[99,18,25]},{"path":[4,0,2,1,3],"span":[99,28,29]},{"path":[4,0,2,2],"span":[105,2,33],"leadingComments":" `expression` is the actual CEL expression that will be evaluated for\n validation. This string must resolve to either a boolean or a string\n value. If the expression evaluates to false or a non-empty string, the\n validation is considered failed, and the message is rejected.\n"},{"path":[4,0,2,2,4],"span":[105,2,10]},{"path":[4,0,2,2,5],"span":[105,11,17]},{"path":[4,0,2,2,1],"span":[105,18,28]},{"path":[4,0,2,2,3],"span":[105,31,32]},{"path":[4,1],"span":[110,0,167,1],"leadingComments":" MessageRules represents validation rules that are applied to the entire message.\n It includes disabling options and a list of Rule messages representing Common Expression Language (CEL) validation rules.\n"},{"path":[4,1,1],"span":[110,8,20]},{"path":[4,1,2,0],"span":[127,2,24],"leadingComments":" `cel` is a repeated field of type Rule. Each Rule specifies a validation rule to be applied to this message.\n These rules are written in Common Expression Language (CEL) syntax. For more information,\n [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/).\n\n\n ```proto\n message MyMessage {\n // The field `foo` must be greater than 42.\n option (buf.validate.message).cel = {\n id: \"my_message.value\",\n message: \"value must be greater than 42\",\n expression: \"this.foo > 42\",\n };\n optional int32 foo = 1;\n }\n ```\n"},{"path":[4,1,2,0,4],"span":[127,2,10]},{"path":[4,1,2,0,6],"span":[127,11,15]},{"path":[4,1,2,0,1],"span":[127,16,19]},{"path":[4,1,2,0,3],"span":[127,22,23]},{"path":[4,1,2,1],"span":[163,2,38],"leadingComments":" `oneof` is a repeated field of type MessageOneofRule that specifies a list of fields\n of which at most one can be present. If `required` is also specified, then exactly one\n of the specified fields _must_ be present.\n\n This will enforce oneof-like constraints with a few features not provided by\n actual Protobuf oneof declarations:\n 1. Repeated and map fields are allowed in this validation. In a Protobuf oneof,\n only scalar fields are allowed.\n 2. Fields with implicit presence are allowed. In a Protobuf oneof, all member\n fields have explicit presence. This means that, for the purpose of determining\n how many fields are set, explicitly setting such a field to its zero value is\n effectively the same as not setting it at all.\n 3. This will always generate validation errors for a message unmarshalled from\n serialized data that sets more than one field. With a Protobuf oneof, when\n multiple fields are present in the serialized form, earlier values are usually\n silently ignored when unmarshalling, with only the last field being set when\n unmarshalling completes.\n\n Note that adding a field to a `oneof` will also set the IGNORE_IF_ZERO_VALUE on the fields. This means\n only the field that is set will be validated and the unset fields are not validated according to the field rules.\n This behavior can be overridden by setting `ignore` against a field.\n\n ```proto\n message MyMessage {\n // Only one of `field1` or `field2` _can_ be present in this message.\n option (buf.validate.message).oneof = { fields: [\"field1\", \"field2\"] };\n // Exactly one of `field3` or `field4` _must_ be present in this message.\n option (buf.validate.message).oneof = { fields: [\"field3\", \"field4\"], required: true };\n string field1 = 1;\n bytes field2 = 2;\n bool field3 = 3;\n int32 field4 = 4;\n }\n ```\n"},{"path":[4,1,2,1,4],"span":[163,2,10]},{"path":[4,1,2,1,6],"span":[163,11,27]},{"path":[4,1,2,1,1],"span":[163,28,33]},{"path":[4,1,2,1,3],"span":[163,36,37]},{"path":[4,1,9],"span":[165,2,13]},{"path":[4,1,9,0],"span":[165,11,12]},{"path":[4,1,9,0,1],"span":[165,11,12]},{"path":[4,1,9,0,2],"span":[165,11,12]},{"path":[4,1,10],"span":[166,2,22]},{"path":[4,1,10,0],"span":[166,11,21]},{"path":[4,2],"span":[169,0,176,1]},{"path":[4,2,1],"span":[169,8,24]},{"path":[4,2,2,0],"span":[173,2,29],"leadingComments":" A list of field names to include in the oneof. All field names must be\n defined in the message. At least one field must be specified, and\n duplicates are not permitted.\n"},{"path":[4,2,2,0,4],"span":[173,2,10]},{"path":[4,2,2,0,5],"span":[173,11,17]},{"path":[4,2,2,0,1],"span":[173,18,24]},{"path":[4,2,2,0,3],"span":[173,27,28]},{"path":[4,2,2,1],"span":[175,2,29],"leadingComments":" If true, one of the fields specified _must_ be set.\n"},{"path":[4,2,2,1,4],"span":[175,2,10]},{"path":[4,2,2,1,5],"span":[175,11,15]},{"path":[4,2,2,1,1],"span":[175,16,24]},{"path":[4,2,2,1,3],"span":[175,27,28]},{"path":[4,3],"span":[180,0,198,1],"leadingComments":" The `OneofRules` message type enables you to manage rules for\n oneof fields in your protobuf messages.\n"},{"path":[4,3,1],"span":[180,8,18]},{"path":[4,3,2,0],"span":[197,2,29],"leadingComments":" If `required` is true, exactly one field of the oneof must be set. A\n validation error is returned if no fields in the oneof are set. Further rules\n should be placed on the fields themselves to ensure they are valid values,\n such as `min_len` or `gt`.\n\n ```proto\n message MyMessage {\n oneof value {\n // Either `a` or `b` must be set. If `a` is set, it must also be\n // non-empty; whereas if `b` is set, it can still be an empty string.\n option (buf.validate.oneof).required = true;\n string a = 1 [(buf.validate.field).string.min_len = 1];\n string b = 2;\n }\n }\n ```\n"},{"path":[4,3,2,0,4],"span":[197,2,10]},{"path":[4,3,2,0,5],"span":[197,11,15]},{"path":[4,3,2,0,1],"span":[197,16,24]},{"path":[4,3,2,0,3],"span":[197,27,28]},{"path":[4,4],"span":[202,0,314,1],"leadingComments":" FieldRules encapsulates the rules for each type of field. Depending on\n the field, the correct set should be used to ensure proper validations.\n"},{"path":[4,4,1],"span":[202,8,18]},{"path":[4,4,2,0],"span":[217,2,25],"leadingComments":" `cel` is a repeated field used to represent a textual expression\n in the Common Expression Language (CEL) syntax. For more information,\n [see our documentation](https://buf.build/docs/protovalidate/schemas/custom-rules/).\n\n ```proto\n message MyMessage {\n // The field `value` must be greater than 42.\n optional int32 value = 1 [(buf.validate.field).cel = {\n id: \"my_message.value\",\n message: \"value must be greater than 42\",\n expression: \"this > 42\",\n }];\n }\n ```\n"},{"path":[4,4,2,0,4],"span":[217,2,10]},{"path":[4,4,2,0,6],"span":[217,11,15]},{"path":[4,4,2,0,1],"span":[217,16,19]},{"path":[4,4,2,0,3],"span":[217,22,24]},{"path":[4,4,2,1],"span":[268,2,30],"leadingComments":" If `required` is true, the field must be set. A validation error is returned\n if the field is not set.\n\n ```proto\n syntax=\"proto3\";\n\n message FieldsWithPresence {\n // Requires any string to be set, including the empty string.\n optional string link = 1 [\n (buf.validate.field).required = true\n ];\n // Requires true or false to be set.\n optional bool disabled = 2 [\n (buf.validate.field).required = true\n ];\n // Requires a message to be set, including the empty message.\n SomeMessage msg = 4 [\n (buf.validate.field).required = true\n ];\n }\n ```\n\n All fields in the example above track presence. By default, Protovalidate\n ignores rules on those fields if no value is set. `required` ensures that\n the fields are set and valid.\n\n Fields that don't track presence are always validated by Protovalidate,\n whether they are set or not. It is not necessary to add `required`:\n\n ```proto\n syntax=\"proto3\";\n\n message FieldsWithoutPresence {\n // `string.email` always applies, even to an empty string.\n string link = 1 [\n (buf.validate.field).string.email = true\n ];\n // `repeated.min_items` always applies, even to an empty list.\n repeated string labels = 4 [\n (buf.validate.field).repeated.min_items = 1\n ];\n }\n ```\n\n To learn which fields track presence, see the\n [Field Presence cheat sheet](https://protobuf.dev/programming-guides/field_presence/#cheat).\n\n Note: While field rules can be applied to repeated items, map keys, and map\n values, the elements are always considered to be set. Consequently,\n specifying `repeated.items.required` is redundant.\n"},{"path":[4,4,2,1,4],"span":[268,2,10]},{"path":[4,4,2,1,5],"span":[268,11,15]},{"path":[4,4,2,1,1],"span":[268,16,24]},{"path":[4,4,2,1,3],"span":[268,27,29]},{"path":[4,4,2,2],"span":[281,2,30],"leadingComments":" Ignore validation rules on the field if its value matches the specified\n criteria. See the `Ignore` enum for details.\n\n ```proto\n message UpdateRequest {\n // The uri rule only applies if the field is not an empty string.\n string url = 1 [\n (buf.validate.field).ignore = IGNORE_IF_ZERO_VALUE,\n (buf.validate.field).string.uri = true\n ];\n }\n ```\n"},{"path":[4,4,2,2,4],"span":[281,2,10]},{"path":[4,4,2,2,6],"span":[281,11,17]},{"path":[4,4,2,2,1],"span":[281,18,24]},{"path":[4,4,2,2,3],"span":[281,27,29]},{"path":[4,4,8,0],"span":[283,2,310,3]},{"path":[4,4,8,0,1],"span":[283,8,12]},{"path":[4,4,2,3],"span":[285,4,25],"leadingComments":" Scalar Field Types\n"},{"path":[4,4,2,3,6],"span":[285,4,14]},{"path":[4,4,2,3,1],"span":[285,15,20]},{"path":[4,4,2,3,3],"span":[285,23,24]},{"path":[4,4,2,4],"span":[286,4,27]},{"path":[4,4,2,4,6],"span":[286,4,15]},{"path":[4,4,2,4,1],"span":[286,16,22]},{"path":[4,4,2,4,3],"span":[286,25,26]},{"path":[4,4,2,5],"span":[287,4,25]},{"path":[4,4,2,5,6],"span":[287,4,14]},{"path":[4,4,2,5,1],"span":[287,15,20]},{"path":[4,4,2,5,3],"span":[287,23,24]},{"path":[4,4,2,6],"span":[288,4,25]},{"path":[4,4,2,6,6],"span":[288,4,14]},{"path":[4,4,2,6,1],"span":[288,15,20]},{"path":[4,4,2,6,3],"span":[288,23,24]},{"path":[4,4,2,7],"span":[289,4,27]},{"path":[4,4,2,7,6],"span":[289,4,15]},{"path":[4,4,2,7,1],"span":[289,16,22]},{"path":[4,4,2,7,3],"span":[289,25,26]},{"path":[4,4,2,8],"span":[290,4,27]},{"path":[4,4,2,8,6],"span":[290,4,15]},{"path":[4,4,2,8,1],"span":[290,16,22]},{"path":[4,4,2,8,3],"span":[290,25,26]},{"path":[4,4,2,9],"span":[291,4,27]},{"path":[4,4,2,9,6],"span":[291,4,15]},{"path":[4,4,2,9,1],"span":[291,16,22]},{"path":[4,4,2,9,3],"span":[291,25,26]},{"path":[4,4,2,10],"span":[292,4,27]},{"path":[4,4,2,10,6],"span":[292,4,15]},{"path":[4,4,2,10,1],"span":[292,16,22]},{"path":[4,4,2,10,3],"span":[292,25,26]},{"path":[4,4,2,11],"span":[293,4,29]},{"path":[4,4,2,11,6],"span":[293,4,16]},{"path":[4,4,2,11,1],"span":[293,17,24]},{"path":[4,4,2,11,3],"span":[293,27,28]},{"path":[4,4,2,12],"span":[294,4,30]},{"path":[4,4,2,12,6],"span":[294,4,16]},{"path":[4,4,2,12,1],"span":[294,17,24]},{"path":[4,4,2,12,3],"span":[294,27,29]},{"path":[4,4,2,13],"span":[295,4,32]},{"path":[4,4,2,13,6],"span":[295,4,17]},{"path":[4,4,2,13,1],"span":[295,18,26]},{"path":[4,4,2,13,3],"span":[295,29,31]},{"path":[4,4,2,14],"span":[296,4,32]},{"path":[4,4,2,14,6],"span":[296,4,17]},{"path":[4,4,2,14,1],"span":[296,18,26]},{"path":[4,4,2,14,3],"span":[296,29,31]},{"path":[4,4,2,15],"span":[297,4,24]},{"path":[4,4,2,15,6],"span":[297,4,13]},{"path":[4,4,2,15,1],"span":[297,14,18]},{"path":[4,4,2,15,3],"span":[297,21,23]},{"path":[4,4,2,16],"span":[298,4,28]},{"path":[4,4,2,16,6],"span":[298,4,15]},{"path":[4,4,2,16,1],"span":[298,16,22]},{"path":[4,4,2,16,3],"span":[298,25,27]},{"path":[4,4,2,17],"span":[299,4,26]},{"path":[4,4,2,17,6],"span":[299,4,14]},{"path":[4,4,2,17,1],"span":[299,15,20]},{"path":[4,4,2,17,3],"span":[299,23,25]},{"path":[4,4,2,18],"span":[302,4,24],"leadingComments":" Complex Field Types\n"},{"path":[4,4,2,18,6],"span":[302,4,13]},{"path":[4,4,2,18,1],"span":[302,14,18]},{"path":[4,4,2,18,3],"span":[302,21,23]},{"path":[4,4,2,19],"span":[303,4,32]},{"path":[4,4,2,19,6],"span":[303,4,17]},{"path":[4,4,2,19,1],"span":[303,18,26]},{"path":[4,4,2,19,3],"span":[303,29,31]},{"path":[4,4,2,20],"span":[304,4,22]},{"path":[4,4,2,20,6],"span":[304,4,12]},{"path":[4,4,2,20,1],"span":[304,13,16]},{"path":[4,4,2,20,3],"span":[304,19,21]},{"path":[4,4,2,21],"span":[307,4,22],"leadingComments":" Well-Known Field Types\n"},{"path":[4,4,2,21,6],"span":[307,4,12]},{"path":[4,4,2,21,1],"span":[307,13,16]},{"path":[4,4,2,21,3],"span":[307,19,21]},{"path":[4,4,2,22],"span":[308,4,32]},{"path":[4,4,2,22,6],"span":[308,4,17]},{"path":[4,4,2,22,1],"span":[308,18,26]},{"path":[4,4,2,22,3],"span":[308,29,31]},{"path":[4,4,2,23],"span":[309,4,34]},{"path":[4,4,2,23,6],"span":[309,4,18]},{"path":[4,4,2,23,1],"span":[309,19,28]},{"path":[4,4,2,23,3],"span":[309,31,33]},{"path":[4,4,9],"span":[312,2,18]},{"path":[4,4,9,0],"span":[312,11,13]},{"path":[4,4,9,0,1],"span":[312,11,13]},{"path":[4,4,9,0,2],"span":[312,11,13]},{"path":[4,4,9,1],"span":[312,15,17]},{"path":[4,4,9,1,1],"span":[312,15,17]},{"path":[4,4,9,1,2],"span":[312,15,17]},{"path":[4,4,10],"span":[313,2,37]},{"path":[4,4,10,0],"span":[313,11,20]},{"path":[4,4,10,1],"span":[313,22,36]},{"path":[4,5],"span":[318,0,337,1],"leadingComments":" PredefinedRules are custom rules that can be re-used with\n multiple fields.\n"},{"path":[4,5,1],"span":[318,8,23]},{"path":[4,5,2,0],"span":[333,2,24],"leadingComments":" `cel` is a repeated field used to represent a textual expression\n in the Common Expression Language (CEL) syntax. For more information,\n [see our documentation](https://buf.build/docs/protovalidate/schemas/predefined-rules/).\n\n ```proto\n message MyMessage {\n // The field `value` must be greater than 42.\n optional int32 value = 1 [(buf.validate.predefined).cel = {\n id: \"my_message.value\",\n message: \"value must be greater than 42\",\n expression: \"this > 42\",\n }];\n }\n ```\n"},{"path":[4,5,2,0,4],"span":[333,2,10]},{"path":[4,5,2,0,6],"span":[333,11,15]},{"path":[4,5,2,0,1],"span":[333,16,19]},{"path":[4,5,2,0,3],"span":[333,22,23]},{"path":[4,5,9],"span":[335,2,18]},{"path":[4,5,9,0],"span":[335,11,13]},{"path":[4,5,9,0,1],"span":[335,11,13]},{"path":[4,5,9,0,2],"span":[335,11,13]},{"path":[4,5,9,1],"span":[335,15,17]},{"path":[4,5,9,1,1],"span":[335,15,17]},{"path":[4,5,9,1,2],"span":[335,15,17]},{"path":[4,5,10],"span":[336,2,37]},{"path":[4,5,10,0],"span":[336,11,20]},{"path":[4,5,10,1],"span":[336,22,36]},{"path":[5,0],"span":[341,0,428,1],"leadingComments":" Specifies how `FieldRules.ignore` behaves, depending on the field's value, and\n whether the field tracks presence.\n"},{"path":[5,0,1],"span":[341,5,11]},{"path":[5,0,2,0],"span":[393,2,25],"leadingComments":" Ignore rules if the field tracks presence and is unset. This is the default\n behavior.\n\n In proto3, only message fields, members of a Protobuf `oneof`, and fields\n with the `optional` label track presence. Consequently, the following fields\n are always validated, whether a value is set or not:\n\n ```proto\n syntax=\"proto3\";\n\n message RulesApply {\n string email = 1 [\n (buf.validate.field).string.email = true\n ];\n int32 age = 2 [\n (buf.validate.field).int32.gt = 0\n ];\n repeated string labels = 3 [\n (buf.validate.field).repeated.min_items = 1\n ];\n }\n ```\n\n In contrast, the following fields track presence, and are only validated if\n a value is set:\n\n ```proto\n syntax=\"proto3\";\n\n message RulesApplyIfSet {\n optional string email = 1 [\n (buf.validate.field).string.email = true\n ];\n oneof ref {\n string reference = 2 [\n (buf.validate.field).string.uuid = true\n ];\n string name = 3 [\n (buf.validate.field).string.min_len = 4\n ];\n }\n SomeMessage msg = 4 [\n (buf.validate.field).cel = {/* ... */}\n ];\n }\n ```\n\n To ensure that such a field is set, add the `required` rule.\n\n To learn which fields track presence, see the\n [Field Presence cheat sheet](https://protobuf.dev/programming-guides/field_presence/#cheat).\n"},{"path":[5,0,2,0,1],"span":[393,2,20]},{"path":[5,0,2,0,2],"span":[393,23,24]},{"path":[5,0,2,1],"span":[409,2,27],"leadingComments":" Ignore rules if the field is unset, or set to the zero value.\n\n The zero value depends on the field type:\n - For strings, the zero value is the empty string.\n - For bytes, the zero value is empty bytes.\n - For bool, the zero value is false.\n - For numeric types, the zero value is zero.\n - For enums, the zero value is the first defined enum value.\n - For repeated fields, the zero is an empty list.\n - For map fields, the zero is an empty map.\n - For message fields, absence of the message (typically a null-value) is considered zero value.\n\n For fields that track presence (e.g. adding the `optional` label in proto3),\n this a no-op and behavior is the same as the default `IGNORE_UNSPECIFIED`.\n"},{"path":[5,0,2,1,1],"span":[409,2,22]},{"path":[5,0,2,1,2],"span":[409,25,26]},{"path":[5,0,2,2],"span":[424,2,20],"leadingComments":" Always ignore rules, including the `required` rule.\n\n This is useful for ignoring the rules of a referenced message, or to\n temporarily ignore rules during development.\n\n ```proto\n message MyMessage {\n // The field's rules will always be ignored, including any validations\n // on value's fields.\n MyOtherMessage value = 1 [\n (buf.validate.field).ignore = IGNORE_ALWAYS];\n }\n ```\n"},{"path":[5,0,2,2,1],"span":[424,2,15]},{"path":[5,0,2,2,2],"span":[424,18,19]},{"path":[5,0,4],"span":[426,2,13]},{"path":[5,0,4,0],"span":[426,11,12]},{"path":[5,0,4,0,1],"span":[426,11,12]},{"path":[5,0,4,0,2],"span":[426,11,12]},{"path":[5,0,5],"span":[427,2,96]},{"path":[5,0,5,0],"span":[427,11,25]},{"path":[5,0,5,1],"span":[427,27,43]},{"path":[5,0,5,2],"span":[427,45,70]},{"path":[5,0,5,3],"span":[427,72,95]},{"path":[4,6],"span":[432,0,652,1],"leadingComments":" FloatRules describes the rules applied to `float` values. These\n rules may also be applied to the `google.protobuf.FloatValue` Well-Known-Type.\n"},{"path":[4,6,1],"span":[432,8,18]},{"path":[4,6,2,0],"span":[442,2,445,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MyFloat {\n // value must equal 42.0\n float value = 1 [(buf.validate.field).float.const = 42.0];\n }\n ```\n"},{"path":[4,6,2,0,4],"span":[442,2,10]},{"path":[4,6,2,0,5],"span":[442,11,16]},{"path":[4,6,2,0,1],"span":[442,17,22]},{"path":[4,6,2,0,3],"span":[442,25,26]},{"path":[4,6,2,0,8],"span":[442,27,445,4]},{"path":[4,6,2,0,8,1160,1,0],"span":[442,28,445,3]},{"path":[4,6,2,0,8,1160,1,0,1],"span":[443,4,21]},{"path":[4,6,2,0,8,1160,1,0,3],"span":[444,4,114]},{"path":[4,6,8,0],"span":[447,2,481,3]},{"path":[4,6,8,0,1],"span":[447,8,17]},{"path":[4,6,2,1],"span":[458,4,463,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field <\n value). If the field value is equal to or greater than the specified value,\n an error message is generated.\n\n ```proto\n message MyFloat {\n // value must be less than 10.0\n float value = 1 [(buf.validate.field).float.lt = 10.0];\n }\n ```\n"},{"path":[4,6,2,1,5],"span":[458,4,9]},{"path":[4,6,2,1,1],"span":[458,10,12]},{"path":[4,6,2,1,3],"span":[458,15,16]},{"path":[4,6,2,1,8],"span":[458,17,463,6]},{"path":[4,6,2,1,8,1160,1,0],"span":[458,18,463,5]},{"path":[4,6,2,1,8,1160,1,0,1],"span":[459,6,20]},{"path":[4,6,2,1,8,1160,1,0,3],"span":[460,6,462,64]},{"path":[4,6,2,2],"span":[475,4,480,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MyFloat {\n // value must be less than or equal to 10.0\n float value = 1 [(buf.validate.field).float.lte = 10.0];\n }\n ```\n"},{"path":[4,6,2,2,5],"span":[475,4,9]},{"path":[4,6,2,2,1],"span":[475,10,13]},{"path":[4,6,2,2,3],"span":[475,16,17]},{"path":[4,6,2,2,8],"span":[475,18,480,6]},{"path":[4,6,2,2,8,1160,1,0],"span":[475,19,480,5]},{"path":[4,6,2,2,8,1160,1,0,1],"span":[476,6,21]},{"path":[4,6,2,2,8,1160,1,0,3],"span":[477,6,479,77]},{"path":[4,6,8,1],"span":[483,2,585,3]},{"path":[4,6,8,1,1],"span":[483,8,20]},{"path":[4,6,2,3],"span":[502,4,533,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyFloat {\n // value must be greater than 5.0 [float.gt]\n float value = 1 [(buf.validate.field).float.gt = 5.0];\n\n // value must be greater than 5 and less than 10.0 [float.gt_lt]\n float other_value = 2 [(buf.validate.field).float = { gt: 5.0, lt: 10.0 }];\n\n // value must be greater than 10 or less than 5.0 [float.gt_lt_exclusive]\n float another_value = 3 [(buf.validate.field).float = { gt: 10.0, lt: 5.0 }];\n }\n ```\n"},{"path":[4,6,2,3,5],"span":[502,4,9]},{"path":[4,6,2,3,1],"span":[502,10,12]},{"path":[4,6,2,3,3],"span":[502,15,16]},{"path":[4,6,2,3,8],"span":[502,17,533,5]},{"path":[4,6,2,3,8,1160,1,0],"span":[503,6,508,7]},{"path":[4,6,2,3,8,1160,1,0,1],"span":[504,8,22]},{"path":[4,6,2,3,8,1160,1,0,3],"span":[505,8,507,69]},{"path":[4,6,2,3,8,1160,1,1],"span":[509,6,514,7]},{"path":[4,6,2,3,8,1160,1,1,1],"span":[510,8,25]},{"path":[4,6,2,3,8,1160,1,1,3],"span":[511,8,513,96]},{"path":[4,6,2,3,8,1160,1,2],"span":[515,6,520,7]},{"path":[4,6,2,3,8,1160,1,2,1],"span":[516,8,35]},{"path":[4,6,2,3,8,1160,1,2,3],"span":[517,8,519,95]},{"path":[4,6,2,3,8,1160,1,3],"span":[521,6,526,7]},{"path":[4,6,2,3,8,1160,1,3,1],"span":[522,8,26]},{"path":[4,6,2,3,8,1160,1,3,3],"span":[523,8,525,109]},{"path":[4,6,2,3,8,1160,1,4],"span":[527,6,532,7]},{"path":[4,6,2,3,8,1160,1,4,1],"span":[528,8,36]},{"path":[4,6,2,3,8,1160,1,4,3],"span":[529,8,531,108]},{"path":[4,6,2,4],"span":[553,4,584,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyFloat {\n // value must be greater than or equal to 5.0 [float.gte]\n float value = 1 [(buf.validate.field).float.gte = 5.0];\n\n // value must be greater than or equal to 5.0 and less than 10.0 [float.gte_lt]\n float other_value = 2 [(buf.validate.field).float = { gte: 5.0, lt: 10.0 }];\n\n // value must be greater than or equal to 10.0 or less than 5.0 [float.gte_lt_exclusive]\n float another_value = 3 [(buf.validate.field).float = { gte: 10.0, lt: 5.0 }];\n }\n ```\n"},{"path":[4,6,2,4,5],"span":[553,4,9]},{"path":[4,6,2,4,1],"span":[553,10,13]},{"path":[4,6,2,4,3],"span":[553,16,17]},{"path":[4,6,2,4,8],"span":[553,18,584,5]},{"path":[4,6,2,4,8,1160,1,0],"span":[554,6,559,7]},{"path":[4,6,2,4,8,1160,1,0,1],"span":[555,8,23]},{"path":[4,6,2,4,8,1160,1,0,3],"span":[556,8,558,82]},{"path":[4,6,2,4,8,1160,1,1],"span":[560,6,565,7]},{"path":[4,6,2,4,8,1160,1,1,1],"span":[561,8,26]},{"path":[4,6,2,4,8,1160,1,1,3],"span":[562,8,564,109]},{"path":[4,6,2,4,8,1160,1,2],"span":[566,6,571,7]},{"path":[4,6,2,4,8,1160,1,2,1],"span":[567,8,36]},{"path":[4,6,2,4,8,1160,1,2,3],"span":[568,8,570,108]},{"path":[4,6,2,4,8,1160,1,3],"span":[572,6,577,7]},{"path":[4,6,2,4,8,1160,1,3,1],"span":[573,8,27]},{"path":[4,6,2,4,8,1160,1,3,3],"span":[574,8,576,122]},{"path":[4,6,2,4,8,1160,1,4],"span":[578,6,583,7]},{"path":[4,6,2,4,8,1160,1,4,1],"span":[579,8,37]},{"path":[4,6,2,4,8,1160,1,4,3],"span":[580,8,582,121]},{"path":[4,6,2,5],"span":[597,2,600,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message\n is generated.\n\n ```proto\n message MyFloat {\n // value must be in list [1.0, 2.0, 3.0]\n float value = 1 [(buf.validate.field).float = { in: [1.0, 2.0, 3.0] }];\n }\n ```\n"},{"path":[4,6,2,5,4],"span":[597,2,10]},{"path":[4,6,2,5,5],"span":[597,11,16]},{"path":[4,6,2,5,1],"span":[597,17,19]},{"path":[4,6,2,5,3],"span":[597,22,23]},{"path":[4,6,2,5,8],"span":[597,24,600,4]},{"path":[4,6,2,5,8,1160,1,0],"span":[597,25,600,3]},{"path":[4,6,2,5,8,1160,1,0,1],"span":[598,4,18]},{"path":[4,6,2,5,8,1160,1,0,3],"span":[599,4,116]},{"path":[4,6,2,6],"span":[612,2,615,5],"leadingComments":" `in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MyFloat {\n // value must not be in list [1.0, 2.0, 3.0]\n float value = 1 [(buf.validate.field).float = { not_in: [1.0, 2.0, 3.0] }];\n }\n ```\n"},{"path":[4,6,2,6,4],"span":[612,2,10]},{"path":[4,6,2,6,5],"span":[612,11,16]},{"path":[4,6,2,6,1],"span":[612,17,23]},{"path":[4,6,2,6,3],"span":[612,26,27]},{"path":[4,6,2,6,8],"span":[612,28,615,4]},{"path":[4,6,2,6,8,1160,1,0],"span":[612,29,615,3]},{"path":[4,6,2,6,8,1160,1,0,1],"span":[613,4,22]},{"path":[4,6,2,6,8,1160,1,0,3],"span":[614,4,99]},{"path":[4,6,2,7],"span":[619,2,622,5],"leadingComments":" `finite` requires the field value to be finite. If the field value is\n infinite or NaN, an error message is generated.\n"},{"path":[4,6,2,7,4],"span":[619,2,10]},{"path":[4,6,2,7,5],"span":[619,11,15]},{"path":[4,6,2,7,1],"span":[619,16,22]},{"path":[4,6,2,7,3],"span":[619,25,26]},{"path":[4,6,2,7,8],"span":[619,27,622,4]},{"path":[4,6,2,7,8,1160,1,0],"span":[619,28,622,3]},{"path":[4,6,2,7,8,1160,1,0,1],"span":[620,4,22]},{"path":[4,6,2,7,8,1160,1,0,3],"span":[621,4,98]},{"path":[4,6,2,8],"span":[636,2,639,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyFloat {\n float value = 1 [\n (buf.validate.field).float.example = 1.0,\n (buf.validate.field).float.example = inf\n ];\n }\n ```\n"},{"path":[4,6,2,8,4],"span":[636,2,10]},{"path":[4,6,2,8,5],"span":[636,11,16]},{"path":[4,6,2,8,1],"span":[636,17,24]},{"path":[4,6,2,8,3],"span":[636,27,28]},{"path":[4,6,2,8,8],"span":[636,29,639,4]},{"path":[4,6,2,8,8,1160,1,0],"span":[636,30,639,3]},{"path":[4,6,2,8,8,1160,1,0,1],"span":[637,4,23]},{"path":[4,6,2,8,8,1160,1,0,3],"span":[638,4,22]},{"path":[4,6,5],"span":[651,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,6,5,0],"span":[651,13,24]},{"path":[4,6,5,0,1],"span":[651,13,17]},{"path":[4,6,5,0,2],"span":[651,21,24]},{"path":[4,7],"span":[656,0,873,1],"leadingComments":" DoubleRules describes the rules applied to `double` values. These\n rules may also be applied to the `google.protobuf.DoubleValue` Well-Known-Type.\n"},{"path":[4,7,1],"span":[656,8,19]},{"path":[4,7,2,0],"span":[666,2,669,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MyDouble {\n // value must equal 42.0\n double value = 1 [(buf.validate.field).double.const = 42.0];\n }\n ```\n"},{"path":[4,7,2,0,4],"span":[666,2,10]},{"path":[4,7,2,0,5],"span":[666,11,17]},{"path":[4,7,2,0,1],"span":[666,18,23]},{"path":[4,7,2,0,3],"span":[666,26,27]},{"path":[4,7,2,0,8],"span":[666,28,669,4]},{"path":[4,7,2,0,8,1160,1,0],"span":[666,29,669,3]},{"path":[4,7,2,0,8,1160,1,0,1],"span":[667,4,22]},{"path":[4,7,2,0,8,1160,1,0,3],"span":[668,4,114]},{"path":[4,7,8,0],"span":[670,2,704,3]},{"path":[4,7,8,0,1],"span":[670,8,17]},{"path":[4,7,2,1],"span":[681,4,686,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field <\n value). If the field value is equal to or greater than the specified\n value, an error message is generated.\n\n ```proto\n message MyDouble {\n // value must be less than 10.0\n double value = 1 [(buf.validate.field).double.lt = 10.0];\n }\n ```\n"},{"path":[4,7,2,1,5],"span":[681,4,10]},{"path":[4,7,2,1,1],"span":[681,11,13]},{"path":[4,7,2,1,3],"span":[681,16,17]},{"path":[4,7,2,1,8],"span":[681,18,686,6]},{"path":[4,7,2,1,8,1160,1,0],"span":[681,19,686,5]},{"path":[4,7,2,1,8,1160,1,0,1],"span":[682,6,21]},{"path":[4,7,2,1,8,1160,1,0,3],"span":[683,6,685,64]},{"path":[4,7,2,2],"span":[698,4,703,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified value\n (field <= value). If the field value is greater than the specified value,\n an error message is generated.\n\n ```proto\n message MyDouble {\n // value must be less than or equal to 10.0\n double value = 1 [(buf.validate.field).double.lte = 10.0];\n }\n ```\n"},{"path":[4,7,2,2,5],"span":[698,4,10]},{"path":[4,7,2,2,1],"span":[698,11,14]},{"path":[4,7,2,2,3],"span":[698,17,18]},{"path":[4,7,2,2,8],"span":[698,19,703,6]},{"path":[4,7,2,2,8,1160,1,0],"span":[698,20,703,5]},{"path":[4,7,2,2,8,1160,1,0,1],"span":[699,6,22]},{"path":[4,7,2,2,8,1160,1,0,3],"span":[700,6,702,77]},{"path":[4,7,8,1],"span":[705,2,807,3]},{"path":[4,7,8,1,1],"span":[705,8,20]},{"path":[4,7,2,3],"span":[724,4,755,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or `lte`,\n the range is reversed, and the field value must be outside the specified\n range. If the field value doesn't meet the required conditions, an error\n message is generated.\n\n ```proto\n message MyDouble {\n // value must be greater than 5.0 [double.gt]\n double value = 1 [(buf.validate.field).double.gt = 5.0];\n\n // value must be greater than 5 and less than 10.0 [double.gt_lt]\n double other_value = 2 [(buf.validate.field).double = { gt: 5.0, lt: 10.0 }];\n\n // value must be greater than 10 or less than 5.0 [double.gt_lt_exclusive]\n double another_value = 3 [(buf.validate.field).double = { gt: 10.0, lt: 5.0 }];\n }\n ```\n"},{"path":[4,7,2,3,5],"span":[724,4,10]},{"path":[4,7,2,3,1],"span":[724,11,13]},{"path":[4,7,2,3,3],"span":[724,16,17]},{"path":[4,7,2,3,8],"span":[724,18,755,5]},{"path":[4,7,2,3,8,1160,1,0],"span":[725,6,730,7]},{"path":[4,7,2,3,8,1160,1,0,1],"span":[726,8,23]},{"path":[4,7,2,3,8,1160,1,0,3],"span":[727,8,729,69]},{"path":[4,7,2,3,8,1160,1,1],"span":[731,6,736,7]},{"path":[4,7,2,3,8,1160,1,1,1],"span":[732,8,26]},{"path":[4,7,2,3,8,1160,1,1,3],"span":[733,8,735,96]},{"path":[4,7,2,3,8,1160,1,2],"span":[737,6,742,7]},{"path":[4,7,2,3,8,1160,1,2,1],"span":[738,8,36]},{"path":[4,7,2,3,8,1160,1,2,3],"span":[739,8,741,95]},{"path":[4,7,2,3,8,1160,1,3],"span":[743,6,748,7]},{"path":[4,7,2,3,8,1160,1,3,1],"span":[744,8,27]},{"path":[4,7,2,3,8,1160,1,3,3],"span":[745,8,747,109]},{"path":[4,7,2,3,8,1160,1,4],"span":[749,6,754,7]},{"path":[4,7,2,3,8,1160,1,4,1],"span":[750,8,37]},{"path":[4,7,2,3,8,1160,1,4,3],"span":[751,8,753,108]},{"path":[4,7,2,4],"span":[775,4,806,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyDouble {\n // value must be greater than or equal to 5.0 [double.gte]\n double value = 1 [(buf.validate.field).double.gte = 5.0];\n\n // value must be greater than or equal to 5.0 and less than 10.0 [double.gte_lt]\n double other_value = 2 [(buf.validate.field).double = { gte: 5.0, lt: 10.0 }];\n\n // value must be greater than or equal to 10.0 or less than 5.0 [double.gte_lt_exclusive]\n double another_value = 3 [(buf.validate.field).double = { gte: 10.0, lt: 5.0 }];\n }\n ```\n"},{"path":[4,7,2,4,5],"span":[775,4,10]},{"path":[4,7,2,4,1],"span":[775,11,14]},{"path":[4,7,2,4,3],"span":[775,17,18]},{"path":[4,7,2,4,8],"span":[775,19,806,5]},{"path":[4,7,2,4,8,1160,1,0],"span":[776,6,781,7]},{"path":[4,7,2,4,8,1160,1,0,1],"span":[777,8,24]},{"path":[4,7,2,4,8,1160,1,0,3],"span":[778,8,780,82]},{"path":[4,7,2,4,8,1160,1,1],"span":[782,6,787,7]},{"path":[4,7,2,4,8,1160,1,1,1],"span":[783,8,27]},{"path":[4,7,2,4,8,1160,1,1,3],"span":[784,8,786,109]},{"path":[4,7,2,4,8,1160,1,2],"span":[788,6,793,7]},{"path":[4,7,2,4,8,1160,1,2,1],"span":[789,8,37]},{"path":[4,7,2,4,8,1160,1,2,3],"span":[790,8,792,108]},{"path":[4,7,2,4,8,1160,1,3],"span":[794,6,799,7]},{"path":[4,7,2,4,8,1160,1,3,1],"span":[795,8,28]},{"path":[4,7,2,4,8,1160,1,3,3],"span":[796,8,798,122]},{"path":[4,7,2,4,8,1160,1,4],"span":[800,6,805,7]},{"path":[4,7,2,4,8,1160,1,4,1],"span":[801,8,38]},{"path":[4,7,2,4,8,1160,1,4,3],"span":[802,8,804,121]},{"path":[4,7,2,5],"span":[818,2,821,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message is\n generated.\n\n ```proto\n message MyDouble {\n // value must be in list [1.0, 2.0, 3.0]\n double value = 1 [(buf.validate.field).double = { in: [1.0, 2.0, 3.0] }];\n }\n ```\n"},{"path":[4,7,2,5,4],"span":[818,2,10]},{"path":[4,7,2,5,5],"span":[818,11,17]},{"path":[4,7,2,5,1],"span":[818,18,20]},{"path":[4,7,2,5,3],"span":[818,23,24]},{"path":[4,7,2,5,8],"span":[818,25,821,4]},{"path":[4,7,2,5,8,1160,1,0],"span":[818,26,821,3]},{"path":[4,7,2,5,8,1160,1,0,1],"span":[819,4,19]},{"path":[4,7,2,5,8,1160,1,0,3],"span":[820,4,116]},{"path":[4,7,2,6],"span":[833,2,836,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MyDouble {\n // value must not be in list [1.0, 2.0, 3.0]\n double value = 1 [(buf.validate.field).double = { not_in: [1.0, 2.0, 3.0] }];\n }\n ```\n"},{"path":[4,7,2,6,4],"span":[833,2,10]},{"path":[4,7,2,6,5],"span":[833,11,17]},{"path":[4,7,2,6,1],"span":[833,18,24]},{"path":[4,7,2,6,3],"span":[833,27,28]},{"path":[4,7,2,6,8],"span":[833,29,836,4]},{"path":[4,7,2,6,8,1160,1,0],"span":[833,30,836,3]},{"path":[4,7,2,6,8,1160,1,0,1],"span":[834,4,23]},{"path":[4,7,2,6,8,1160,1,0,3],"span":[835,4,99]},{"path":[4,7,2,7],"span":[840,2,843,5],"leadingComments":" `finite` requires the field value to be finite. If the field value is\n infinite or NaN, an error message is generated.\n"},{"path":[4,7,2,7,4],"span":[840,2,10]},{"path":[4,7,2,7,5],"span":[840,11,15]},{"path":[4,7,2,7,1],"span":[840,16,22]},{"path":[4,7,2,7,3],"span":[840,25,26]},{"path":[4,7,2,7,8],"span":[840,27,843,4]},{"path":[4,7,2,7,8,1160,1,0],"span":[840,28,843,3]},{"path":[4,7,2,7,8,1160,1,0,1],"span":[841,4,23]},{"path":[4,7,2,7,8,1160,1,0,3],"span":[842,4,98]},{"path":[4,7,2,8],"span":[857,2,860,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyDouble {\n double value = 1 [\n (buf.validate.field).double.example = 1.0,\n (buf.validate.field).double.example = inf\n ];\n }\n ```\n"},{"path":[4,7,2,8,4],"span":[857,2,10]},{"path":[4,7,2,8,5],"span":[857,11,17]},{"path":[4,7,2,8,1],"span":[857,18,25]},{"path":[4,7,2,8,3],"span":[857,28,29]},{"path":[4,7,2,8,8],"span":[857,30,860,4]},{"path":[4,7,2,8,8,1160,1,0],"span":[857,31,860,3]},{"path":[4,7,2,8,8,1160,1,0,1],"span":[858,4,24]},{"path":[4,7,2,8,8,1160,1,0,3],"span":[859,4,22]},{"path":[4,7,5],"span":[872,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,7,5,0],"span":[872,13,24]},{"path":[4,7,5,0,1],"span":[872,13,17]},{"path":[4,7,5,0,2],"span":[872,21,24]},{"path":[4,8],"span":[877,0,1088,1],"leadingComments":" Int32Rules describes the rules applied to `int32` values. These\n rules may also be applied to the `google.protobuf.Int32Value` Well-Known-Type.\n"},{"path":[4,8,1],"span":[877,8,18]},{"path":[4,8,2,0],"span":[887,2,890,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MyInt32 {\n // value must equal 42\n int32 value = 1 [(buf.validate.field).int32.const = 42];\n }\n ```\n"},{"path":[4,8,2,0,4],"span":[887,2,10]},{"path":[4,8,2,0,5],"span":[887,11,16]},{"path":[4,8,2,0,1],"span":[887,17,22]},{"path":[4,8,2,0,3],"span":[887,25,26]},{"path":[4,8,2,0,8],"span":[887,27,890,4]},{"path":[4,8,2,0,8,1160,1,0],"span":[887,28,890,3]},{"path":[4,8,2,0,8,1160,1,0,1],"span":[888,4,21]},{"path":[4,8,2,0,8,1160,1,0,3],"span":[889,4,114]},{"path":[4,8,8,0],"span":[891,2,925,3]},{"path":[4,8,8,0,1],"span":[891,8,17]},{"path":[4,8,2,1],"span":[902,4,907,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field\n < value). If the field value is equal to or greater than the specified\n value, an error message is generated.\n\n ```proto\n message MyInt32 {\n // value must be less than 10\n int32 value = 1 [(buf.validate.field).int32.lt = 10];\n }\n ```\n"},{"path":[4,8,2,1,5],"span":[902,4,9]},{"path":[4,8,2,1,1],"span":[902,10,12]},{"path":[4,8,2,1,3],"span":[902,15,16]},{"path":[4,8,2,1,8],"span":[902,17,907,6]},{"path":[4,8,2,1,8,1160,1,0],"span":[902,18,907,5]},{"path":[4,8,2,1,8,1160,1,0,1],"span":[903,6,20]},{"path":[4,8,2,1,8,1160,1,0,3],"span":[904,6,906,64]},{"path":[4,8,2,2],"span":[919,4,924,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MyInt32 {\n // value must be less than or equal to 10\n int32 value = 1 [(buf.validate.field).int32.lte = 10];\n }\n ```\n"},{"path":[4,8,2,2,5],"span":[919,4,9]},{"path":[4,8,2,2,1],"span":[919,10,13]},{"path":[4,8,2,2,3],"span":[919,16,17]},{"path":[4,8,2,2,8],"span":[919,18,924,6]},{"path":[4,8,2,2,8,1160,1,0],"span":[919,19,924,5]},{"path":[4,8,2,2,8,1160,1,0,1],"span":[920,6,21]},{"path":[4,8,2,2,8,1160,1,0,3],"span":[921,6,923,77]},{"path":[4,8,8,1],"span":[926,2,1028,3]},{"path":[4,8,8,1,1],"span":[926,8,20]},{"path":[4,8,2,3],"span":[945,4,976,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyInt32 {\n // value must be greater than 5 [int32.gt]\n int32 value = 1 [(buf.validate.field).int32.gt = 5];\n\n // value must be greater than 5 and less than 10 [int32.gt_lt]\n int32 other_value = 2 [(buf.validate.field).int32 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [int32.gt_lt_exclusive]\n int32 another_value = 3 [(buf.validate.field).int32 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,8,2,3,5],"span":[945,4,9]},{"path":[4,8,2,3,1],"span":[945,10,12]},{"path":[4,8,2,3,3],"span":[945,15,16]},{"path":[4,8,2,3,8],"span":[945,17,976,5]},{"path":[4,8,2,3,8,1160,1,0],"span":[946,6,951,7]},{"path":[4,8,2,3,8,1160,1,0,1],"span":[947,8,22]},{"path":[4,8,2,3,8,1160,1,0,3],"span":[948,8,950,69]},{"path":[4,8,2,3,8,1160,1,1],"span":[952,6,957,7]},{"path":[4,8,2,3,8,1160,1,1,1],"span":[953,8,25]},{"path":[4,8,2,3,8,1160,1,1,3],"span":[954,8,956,96]},{"path":[4,8,2,3,8,1160,1,2],"span":[958,6,963,7]},{"path":[4,8,2,3,8,1160,1,2,1],"span":[959,8,35]},{"path":[4,8,2,3,8,1160,1,2,3],"span":[960,8,962,95]},{"path":[4,8,2,3,8,1160,1,3],"span":[964,6,969,7]},{"path":[4,8,2,3,8,1160,1,3,1],"span":[965,8,26]},{"path":[4,8,2,3,8,1160,1,3,3],"span":[966,8,968,109]},{"path":[4,8,2,3,8,1160,1,4],"span":[970,6,975,7]},{"path":[4,8,2,3,8,1160,1,4,1],"span":[971,8,36]},{"path":[4,8,2,3,8,1160,1,4,3],"span":[972,8,974,108]},{"path":[4,8,2,4],"span":[996,4,1027,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified value\n (exclusive). If the value of `gte` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyInt32 {\n // value must be greater than or equal to 5 [int32.gte]\n int32 value = 1 [(buf.validate.field).int32.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [int32.gte_lt]\n int32 other_value = 2 [(buf.validate.field).int32 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [int32.gte_lt_exclusive]\n int32 another_value = 3 [(buf.validate.field).int32 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,8,2,4,5],"span":[996,4,9]},{"path":[4,8,2,4,1],"span":[996,10,13]},{"path":[4,8,2,4,3],"span":[996,16,17]},{"path":[4,8,2,4,8],"span":[996,18,1027,5]},{"path":[4,8,2,4,8,1160,1,0],"span":[997,6,1002,7]},{"path":[4,8,2,4,8,1160,1,0,1],"span":[998,8,23]},{"path":[4,8,2,4,8,1160,1,0,3],"span":[999,8,1001,82]},{"path":[4,8,2,4,8,1160,1,1],"span":[1003,6,1008,7]},{"path":[4,8,2,4,8,1160,1,1,1],"span":[1004,8,26]},{"path":[4,8,2,4,8,1160,1,1,3],"span":[1005,8,1007,109]},{"path":[4,8,2,4,8,1160,1,2],"span":[1009,6,1014,7]},{"path":[4,8,2,4,8,1160,1,2,1],"span":[1010,8,36]},{"path":[4,8,2,4,8,1160,1,2,3],"span":[1011,8,1013,108]},{"path":[4,8,2,4,8,1160,1,3],"span":[1015,6,1020,7]},{"path":[4,8,2,4,8,1160,1,3,1],"span":[1016,8,27]},{"path":[4,8,2,4,8,1160,1,3,3],"span":[1017,8,1019,122]},{"path":[4,8,2,4,8,1160,1,4],"span":[1021,6,1026,7]},{"path":[4,8,2,4,8,1160,1,4,1],"span":[1022,8,37]},{"path":[4,8,2,4,8,1160,1,4,3],"span":[1023,8,1025,121]},{"path":[4,8,2,5],"span":[1040,2,1043,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message is\n generated.\n\n ```proto\n message MyInt32 {\n // value must be in list [1, 2, 3]\n int32 value = 1 [(buf.validate.field).int32 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,8,2,5,4],"span":[1040,2,10]},{"path":[4,8,2,5,5],"span":[1040,11,16]},{"path":[4,8,2,5,1],"span":[1040,17,19]},{"path":[4,8,2,5,3],"span":[1040,22,23]},{"path":[4,8,2,5,8],"span":[1040,24,1043,4]},{"path":[4,8,2,5,8,1160,1,0],"span":[1040,25,1043,3]},{"path":[4,8,2,5,8,1160,1,0,1],"span":[1041,4,18]},{"path":[4,8,2,5,8,1160,1,0,3],"span":[1042,4,116]},{"path":[4,8,2,6],"span":[1055,2,1058,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error message\n is generated.\n\n ```proto\n message MyInt32 {\n // value must not be in list [1, 2, 3]\n int32 value = 1 [(buf.validate.field).int32 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,8,2,6,4],"span":[1055,2,10]},{"path":[4,8,2,6,5],"span":[1055,11,16]},{"path":[4,8,2,6,1],"span":[1055,17,23]},{"path":[4,8,2,6,3],"span":[1055,26,27]},{"path":[4,8,2,6,8],"span":[1055,28,1058,4]},{"path":[4,8,2,6,8,1160,1,0],"span":[1055,29,1058,3]},{"path":[4,8,2,6,8,1160,1,0,1],"span":[1056,4,22]},{"path":[4,8,2,6,8,1160,1,0,3],"span":[1057,4,99]},{"path":[4,8,2,7],"span":[1072,2,1075,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyInt32 {\n int32 value = 1 [\n (buf.validate.field).int32.example = 1,\n (buf.validate.field).int32.example = -10\n ];\n }\n ```\n"},{"path":[4,8,2,7,4],"span":[1072,2,10]},{"path":[4,8,2,7,5],"span":[1072,11,16]},{"path":[4,8,2,7,1],"span":[1072,17,24]},{"path":[4,8,2,7,3],"span":[1072,27,28]},{"path":[4,8,2,7,8],"span":[1072,29,1075,4]},{"path":[4,8,2,7,8,1160,1,0],"span":[1072,30,1075,3]},{"path":[4,8,2,7,8,1160,1,0,1],"span":[1073,4,23]},{"path":[4,8,2,7,8,1160,1,0,3],"span":[1074,4,22]},{"path":[4,8,5],"span":[1087,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,8,5,0],"span":[1087,13,24]},{"path":[4,8,5,0,1],"span":[1087,13,17]},{"path":[4,8,5,0,2],"span":[1087,21,24]},{"path":[4,9],"span":[1092,0,1303,1],"leadingComments":" Int64Rules describes the rules applied to `int64` values. These\n rules may also be applied to the `google.protobuf.Int64Value` Well-Known-Type.\n"},{"path":[4,9,1],"span":[1092,8,18]},{"path":[4,9,2,0],"span":[1102,2,1105,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MyInt64 {\n // value must equal 42\n int64 value = 1 [(buf.validate.field).int64.const = 42];\n }\n ```\n"},{"path":[4,9,2,0,4],"span":[1102,2,10]},{"path":[4,9,2,0,5],"span":[1102,11,16]},{"path":[4,9,2,0,1],"span":[1102,17,22]},{"path":[4,9,2,0,3],"span":[1102,25,26]},{"path":[4,9,2,0,8],"span":[1102,27,1105,4]},{"path":[4,9,2,0,8,1160,1,0],"span":[1102,28,1105,3]},{"path":[4,9,2,0,8,1160,1,0,1],"span":[1103,4,21]},{"path":[4,9,2,0,8,1160,1,0,3],"span":[1104,4,114]},{"path":[4,9,8,0],"span":[1106,2,1140,3]},{"path":[4,9,8,0,1],"span":[1106,8,17]},{"path":[4,9,2,1],"span":[1117,4,1122,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field <\n value). If the field value is equal to or greater than the specified value,\n an error message is generated.\n\n ```proto\n message MyInt64 {\n // value must be less than 10\n int64 value = 1 [(buf.validate.field).int64.lt = 10];\n }\n ```\n"},{"path":[4,9,2,1,5],"span":[1117,4,9]},{"path":[4,9,2,1,1],"span":[1117,10,12]},{"path":[4,9,2,1,3],"span":[1117,15,16]},{"path":[4,9,2,1,8],"span":[1117,17,1122,6]},{"path":[4,9,2,1,8,1160,1,0],"span":[1117,18,1122,5]},{"path":[4,9,2,1,8,1160,1,0,1],"span":[1118,6,20]},{"path":[4,9,2,1,8,1160,1,0,3],"span":[1119,6,1121,64]},{"path":[4,9,2,2],"span":[1134,4,1139,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MyInt64 {\n // value must be less than or equal to 10\n int64 value = 1 [(buf.validate.field).int64.lte = 10];\n }\n ```\n"},{"path":[4,9,2,2,5],"span":[1134,4,9]},{"path":[4,9,2,2,1],"span":[1134,10,13]},{"path":[4,9,2,2,3],"span":[1134,16,17]},{"path":[4,9,2,2,8],"span":[1134,18,1139,6]},{"path":[4,9,2,2,8,1160,1,0],"span":[1134,19,1139,5]},{"path":[4,9,2,2,8,1160,1,0,1],"span":[1135,6,21]},{"path":[4,9,2,2,8,1160,1,0,3],"span":[1136,6,1138,77]},{"path":[4,9,8,1],"span":[1141,2,1243,3]},{"path":[4,9,8,1,1],"span":[1141,8,20]},{"path":[4,9,2,3],"span":[1160,4,1191,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyInt64 {\n // value must be greater than 5 [int64.gt]\n int64 value = 1 [(buf.validate.field).int64.gt = 5];\n\n // value must be greater than 5 and less than 10 [int64.gt_lt]\n int64 other_value = 2 [(buf.validate.field).int64 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [int64.gt_lt_exclusive]\n int64 another_value = 3 [(buf.validate.field).int64 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,9,2,3,5],"span":[1160,4,9]},{"path":[4,9,2,3,1],"span":[1160,10,12]},{"path":[4,9,2,3,3],"span":[1160,15,16]},{"path":[4,9,2,3,8],"span":[1160,17,1191,5]},{"path":[4,9,2,3,8,1160,1,0],"span":[1161,6,1166,7]},{"path":[4,9,2,3,8,1160,1,0,1],"span":[1162,8,22]},{"path":[4,9,2,3,8,1160,1,0,3],"span":[1163,8,1165,69]},{"path":[4,9,2,3,8,1160,1,1],"span":[1167,6,1172,7]},{"path":[4,9,2,3,8,1160,1,1,1],"span":[1168,8,25]},{"path":[4,9,2,3,8,1160,1,1,3],"span":[1169,8,1171,96]},{"path":[4,9,2,3,8,1160,1,2],"span":[1173,6,1178,7]},{"path":[4,9,2,3,8,1160,1,2,1],"span":[1174,8,35]},{"path":[4,9,2,3,8,1160,1,2,3],"span":[1175,8,1177,95]},{"path":[4,9,2,3,8,1160,1,3],"span":[1179,6,1184,7]},{"path":[4,9,2,3,8,1160,1,3,1],"span":[1180,8,26]},{"path":[4,9,2,3,8,1160,1,3,3],"span":[1181,8,1183,109]},{"path":[4,9,2,3,8,1160,1,4],"span":[1185,6,1190,7]},{"path":[4,9,2,3,8,1160,1,4,1],"span":[1186,8,36]},{"path":[4,9,2,3,8,1160,1,4,3],"span":[1187,8,1189,108]},{"path":[4,9,2,4],"span":[1211,4,1242,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyInt64 {\n // value must be greater than or equal to 5 [int64.gte]\n int64 value = 1 [(buf.validate.field).int64.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [int64.gte_lt]\n int64 other_value = 2 [(buf.validate.field).int64 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [int64.gte_lt_exclusive]\n int64 another_value = 3 [(buf.validate.field).int64 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,9,2,4,5],"span":[1211,4,9]},{"path":[4,9,2,4,1],"span":[1211,10,13]},{"path":[4,9,2,4,3],"span":[1211,16,17]},{"path":[4,9,2,4,8],"span":[1211,18,1242,5]},{"path":[4,9,2,4,8,1160,1,0],"span":[1212,6,1217,7]},{"path":[4,9,2,4,8,1160,1,0,1],"span":[1213,8,23]},{"path":[4,9,2,4,8,1160,1,0,3],"span":[1214,8,1216,82]},{"path":[4,9,2,4,8,1160,1,1],"span":[1218,6,1223,7]},{"path":[4,9,2,4,8,1160,1,1,1],"span":[1219,8,26]},{"path":[4,9,2,4,8,1160,1,1,3],"span":[1220,8,1222,109]},{"path":[4,9,2,4,8,1160,1,2],"span":[1224,6,1229,7]},{"path":[4,9,2,4,8,1160,1,2,1],"span":[1225,8,36]},{"path":[4,9,2,4,8,1160,1,2,3],"span":[1226,8,1228,108]},{"path":[4,9,2,4,8,1160,1,3],"span":[1230,6,1235,7]},{"path":[4,9,2,4,8,1160,1,3,1],"span":[1231,8,27]},{"path":[4,9,2,4,8,1160,1,3,3],"span":[1232,8,1234,122]},{"path":[4,9,2,4,8,1160,1,4],"span":[1236,6,1241,7]},{"path":[4,9,2,4,8,1160,1,4,1],"span":[1237,8,37]},{"path":[4,9,2,4,8,1160,1,4,3],"span":[1238,8,1240,121]},{"path":[4,9,2,5],"span":[1255,2,1258,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message is\n generated.\n\n ```proto\n message MyInt64 {\n // value must be in list [1, 2, 3]\n int64 value = 1 [(buf.validate.field).int64 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,9,2,5,4],"span":[1255,2,10]},{"path":[4,9,2,5,5],"span":[1255,11,16]},{"path":[4,9,2,5,1],"span":[1255,17,19]},{"path":[4,9,2,5,3],"span":[1255,22,23]},{"path":[4,9,2,5,8],"span":[1255,24,1258,4]},{"path":[4,9,2,5,8,1160,1,0],"span":[1255,25,1258,3]},{"path":[4,9,2,5,8,1160,1,0,1],"span":[1256,4,18]},{"path":[4,9,2,5,8,1160,1,0,3],"span":[1257,4,116]},{"path":[4,9,2,6],"span":[1270,2,1273,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MyInt64 {\n // value must not be in list [1, 2, 3]\n int64 value = 1 [(buf.validate.field).int64 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,9,2,6,4],"span":[1270,2,10]},{"path":[4,9,2,6,5],"span":[1270,11,16]},{"path":[4,9,2,6,1],"span":[1270,17,23]},{"path":[4,9,2,6,3],"span":[1270,26,27]},{"path":[4,9,2,6,8],"span":[1270,28,1273,4]},{"path":[4,9,2,6,8,1160,1,0],"span":[1270,29,1273,3]},{"path":[4,9,2,6,8,1160,1,0,1],"span":[1271,4,22]},{"path":[4,9,2,6,8,1160,1,0,3],"span":[1272,4,99]},{"path":[4,9,2,7],"span":[1287,2,1290,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyInt64 {\n int64 value = 1 [\n (buf.validate.field).int64.example = 1,\n (buf.validate.field).int64.example = -10\n ];\n }\n ```\n"},{"path":[4,9,2,7,4],"span":[1287,2,10]},{"path":[4,9,2,7,5],"span":[1287,11,16]},{"path":[4,9,2,7,1],"span":[1287,17,24]},{"path":[4,9,2,7,3],"span":[1287,27,28]},{"path":[4,9,2,7,8],"span":[1287,29,1290,4]},{"path":[4,9,2,7,8,1160,1,0],"span":[1287,30,1290,3]},{"path":[4,9,2,7,8,1160,1,0,1],"span":[1288,4,23]},{"path":[4,9,2,7,8,1160,1,0,3],"span":[1289,4,22]},{"path":[4,9,5],"span":[1302,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,9,5,0],"span":[1302,13,24]},{"path":[4,9,5,0,1],"span":[1302,13,17]},{"path":[4,9,5,0,2],"span":[1302,21,24]},{"path":[4,10],"span":[1307,0,1518,1],"leadingComments":" UInt32Rules describes the rules applied to `uint32` values. These\n rules may also be applied to the `google.protobuf.UInt32Value` Well-Known-Type.\n"},{"path":[4,10,1],"span":[1307,8,19]},{"path":[4,10,2,0],"span":[1317,2,1320,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MyUInt32 {\n // value must equal 42\n uint32 value = 1 [(buf.validate.field).uint32.const = 42];\n }\n ```\n"},{"path":[4,10,2,0,4],"span":[1317,2,10]},{"path":[4,10,2,0,5],"span":[1317,11,17]},{"path":[4,10,2,0,1],"span":[1317,18,23]},{"path":[4,10,2,0,3],"span":[1317,26,27]},{"path":[4,10,2,0,8],"span":[1317,28,1320,4]},{"path":[4,10,2,0,8,1160,1,0],"span":[1317,29,1320,3]},{"path":[4,10,2,0,8,1160,1,0,1],"span":[1318,4,22]},{"path":[4,10,2,0,8,1160,1,0,3],"span":[1319,4,114]},{"path":[4,10,8,0],"span":[1321,2,1355,3]},{"path":[4,10,8,0,1],"span":[1321,8,17]},{"path":[4,10,2,1],"span":[1332,4,1337,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field <\n value). If the field value is equal to or greater than the specified value,\n an error message is generated.\n\n ```proto\n message MyUInt32 {\n // value must be less than 10\n uint32 value = 1 [(buf.validate.field).uint32.lt = 10];\n }\n ```\n"},{"path":[4,10,2,1,5],"span":[1332,4,10]},{"path":[4,10,2,1,1],"span":[1332,11,13]},{"path":[4,10,2,1,3],"span":[1332,16,17]},{"path":[4,10,2,1,8],"span":[1332,18,1337,6]},{"path":[4,10,2,1,8,1160,1,0],"span":[1332,19,1337,5]},{"path":[4,10,2,1,8,1160,1,0,1],"span":[1333,6,21]},{"path":[4,10,2,1,8,1160,1,0,3],"span":[1334,6,1336,64]},{"path":[4,10,2,2],"span":[1349,4,1354,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MyUInt32 {\n // value must be less than or equal to 10\n uint32 value = 1 [(buf.validate.field).uint32.lte = 10];\n }\n ```\n"},{"path":[4,10,2,2,5],"span":[1349,4,10]},{"path":[4,10,2,2,1],"span":[1349,11,14]},{"path":[4,10,2,2,3],"span":[1349,17,18]},{"path":[4,10,2,2,8],"span":[1349,19,1354,6]},{"path":[4,10,2,2,8,1160,1,0],"span":[1349,20,1354,5]},{"path":[4,10,2,2,8,1160,1,0,1],"span":[1350,6,22]},{"path":[4,10,2,2,8,1160,1,0,3],"span":[1351,6,1353,77]},{"path":[4,10,8,1],"span":[1356,2,1458,3]},{"path":[4,10,8,1,1],"span":[1356,8,20]},{"path":[4,10,2,3],"span":[1375,4,1406,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyUInt32 {\n // value must be greater than 5 [uint32.gt]\n uint32 value = 1 [(buf.validate.field).uint32.gt = 5];\n\n // value must be greater than 5 and less than 10 [uint32.gt_lt]\n uint32 other_value = 2 [(buf.validate.field).uint32 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [uint32.gt_lt_exclusive]\n uint32 another_value = 3 [(buf.validate.field).uint32 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,10,2,3,5],"span":[1375,4,10]},{"path":[4,10,2,3,1],"span":[1375,11,13]},{"path":[4,10,2,3,3],"span":[1375,16,17]},{"path":[4,10,2,3,8],"span":[1375,18,1406,5]},{"path":[4,10,2,3,8,1160,1,0],"span":[1376,6,1381,7]},{"path":[4,10,2,3,8,1160,1,0,1],"span":[1377,8,23]},{"path":[4,10,2,3,8,1160,1,0,3],"span":[1378,8,1380,69]},{"path":[4,10,2,3,8,1160,1,1],"span":[1382,6,1387,7]},{"path":[4,10,2,3,8,1160,1,1,1],"span":[1383,8,26]},{"path":[4,10,2,3,8,1160,1,1,3],"span":[1384,8,1386,96]},{"path":[4,10,2,3,8,1160,1,2],"span":[1388,6,1393,7]},{"path":[4,10,2,3,8,1160,1,2,1],"span":[1389,8,36]},{"path":[4,10,2,3,8,1160,1,2,3],"span":[1390,8,1392,95]},{"path":[4,10,2,3,8,1160,1,3],"span":[1394,6,1399,7]},{"path":[4,10,2,3,8,1160,1,3,1],"span":[1395,8,27]},{"path":[4,10,2,3,8,1160,1,3,3],"span":[1396,8,1398,109]},{"path":[4,10,2,3,8,1160,1,4],"span":[1400,6,1405,7]},{"path":[4,10,2,3,8,1160,1,4,1],"span":[1401,8,37]},{"path":[4,10,2,3,8,1160,1,4,3],"span":[1402,8,1404,108]},{"path":[4,10,2,4],"span":[1426,4,1457,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyUInt32 {\n // value must be greater than or equal to 5 [uint32.gte]\n uint32 value = 1 [(buf.validate.field).uint32.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [uint32.gte_lt]\n uint32 other_value = 2 [(buf.validate.field).uint32 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [uint32.gte_lt_exclusive]\n uint32 another_value = 3 [(buf.validate.field).uint32 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,10,2,4,5],"span":[1426,4,10]},{"path":[4,10,2,4,1],"span":[1426,11,14]},{"path":[4,10,2,4,3],"span":[1426,17,18]},{"path":[4,10,2,4,8],"span":[1426,19,1457,5]},{"path":[4,10,2,4,8,1160,1,0],"span":[1427,6,1432,7]},{"path":[4,10,2,4,8,1160,1,0,1],"span":[1428,8,24]},{"path":[4,10,2,4,8,1160,1,0,3],"span":[1429,8,1431,82]},{"path":[4,10,2,4,8,1160,1,1],"span":[1433,6,1438,7]},{"path":[4,10,2,4,8,1160,1,1,1],"span":[1434,8,27]},{"path":[4,10,2,4,8,1160,1,1,3],"span":[1435,8,1437,109]},{"path":[4,10,2,4,8,1160,1,2],"span":[1439,6,1444,7]},{"path":[4,10,2,4,8,1160,1,2,1],"span":[1440,8,37]},{"path":[4,10,2,4,8,1160,1,2,3],"span":[1441,8,1443,108]},{"path":[4,10,2,4,8,1160,1,3],"span":[1445,6,1450,7]},{"path":[4,10,2,4,8,1160,1,3,1],"span":[1446,8,28]},{"path":[4,10,2,4,8,1160,1,3,3],"span":[1447,8,1449,122]},{"path":[4,10,2,4,8,1160,1,4],"span":[1451,6,1456,7]},{"path":[4,10,2,4,8,1160,1,4,1],"span":[1452,8,38]},{"path":[4,10,2,4,8,1160,1,4,3],"span":[1453,8,1455,121]},{"path":[4,10,2,5],"span":[1470,2,1473,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message is\n generated.\n\n ```proto\n message MyUInt32 {\n // value must be in list [1, 2, 3]\n uint32 value = 1 [(buf.validate.field).uint32 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,10,2,5,4],"span":[1470,2,10]},{"path":[4,10,2,5,5],"span":[1470,11,17]},{"path":[4,10,2,5,1],"span":[1470,18,20]},{"path":[4,10,2,5,3],"span":[1470,23,24]},{"path":[4,10,2,5,8],"span":[1470,25,1473,4]},{"path":[4,10,2,5,8,1160,1,0],"span":[1470,26,1473,3]},{"path":[4,10,2,5,8,1160,1,0,1],"span":[1471,4,19]},{"path":[4,10,2,5,8,1160,1,0,3],"span":[1472,4,116]},{"path":[4,10,2,6],"span":[1485,2,1488,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MyUInt32 {\n // value must not be in list [1, 2, 3]\n uint32 value = 1 [(buf.validate.field).uint32 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,10,2,6,4],"span":[1485,2,10]},{"path":[4,10,2,6,5],"span":[1485,11,17]},{"path":[4,10,2,6,1],"span":[1485,18,24]},{"path":[4,10,2,6,3],"span":[1485,27,28]},{"path":[4,10,2,6,8],"span":[1485,29,1488,4]},{"path":[4,10,2,6,8,1160,1,0],"span":[1485,30,1488,3]},{"path":[4,10,2,6,8,1160,1,0,1],"span":[1486,4,23]},{"path":[4,10,2,6,8,1160,1,0,3],"span":[1487,4,99]},{"path":[4,10,2,7],"span":[1502,2,1505,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyUInt32 {\n uint32 value = 1 [\n (buf.validate.field).uint32.example = 1,\n (buf.validate.field).uint32.example = 10\n ];\n }\n ```\n"},{"path":[4,10,2,7,4],"span":[1502,2,10]},{"path":[4,10,2,7,5],"span":[1502,11,17]},{"path":[4,10,2,7,1],"span":[1502,18,25]},{"path":[4,10,2,7,3],"span":[1502,28,29]},{"path":[4,10,2,7,8],"span":[1502,30,1505,4]},{"path":[4,10,2,7,8,1160,1,0],"span":[1502,31,1505,3]},{"path":[4,10,2,7,8,1160,1,0,1],"span":[1503,4,24]},{"path":[4,10,2,7,8,1160,1,0,3],"span":[1504,4,22]},{"path":[4,10,5],"span":[1517,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,10,5,0],"span":[1517,13,24]},{"path":[4,10,5,0,1],"span":[1517,13,17]},{"path":[4,10,5,0,2],"span":[1517,21,24]},{"path":[4,11],"span":[1522,0,1732,1],"leadingComments":" UInt64Rules describes the rules applied to `uint64` values. These\n rules may also be applied to the `google.protobuf.UInt64Value` Well-Known-Type.\n"},{"path":[4,11,1],"span":[1522,8,19]},{"path":[4,11,2,0],"span":[1532,2,1535,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MyUInt64 {\n // value must equal 42\n uint64 value = 1 [(buf.validate.field).uint64.const = 42];\n }\n ```\n"},{"path":[4,11,2,0,4],"span":[1532,2,10]},{"path":[4,11,2,0,5],"span":[1532,11,17]},{"path":[4,11,2,0,1],"span":[1532,18,23]},{"path":[4,11,2,0,3],"span":[1532,26,27]},{"path":[4,11,2,0,8],"span":[1532,28,1535,4]},{"path":[4,11,2,0,8,1160,1,0],"span":[1532,29,1535,3]},{"path":[4,11,2,0,8,1160,1,0,1],"span":[1533,4,22]},{"path":[4,11,2,0,8,1160,1,0,3],"span":[1534,4,114]},{"path":[4,11,8,0],"span":[1536,2,1570,3]},{"path":[4,11,8,0,1],"span":[1536,8,17]},{"path":[4,11,2,1],"span":[1547,4,1552,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field <\n value). If the field value is equal to or greater than the specified value,\n an error message is generated.\n\n ```proto\n message MyUInt64 {\n // value must be less than 10\n uint64 value = 1 [(buf.validate.field).uint64.lt = 10];\n }\n ```\n"},{"path":[4,11,2,1,5],"span":[1547,4,10]},{"path":[4,11,2,1,1],"span":[1547,11,13]},{"path":[4,11,2,1,3],"span":[1547,16,17]},{"path":[4,11,2,1,8],"span":[1547,18,1552,6]},{"path":[4,11,2,1,8,1160,1,0],"span":[1547,19,1552,5]},{"path":[4,11,2,1,8,1160,1,0,1],"span":[1548,6,21]},{"path":[4,11,2,1,8,1160,1,0,3],"span":[1549,6,1551,64]},{"path":[4,11,2,2],"span":[1564,4,1569,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MyUInt64 {\n // value must be less than or equal to 10\n uint64 value = 1 [(buf.validate.field).uint64.lte = 10];\n }\n ```\n"},{"path":[4,11,2,2,5],"span":[1564,4,10]},{"path":[4,11,2,2,1],"span":[1564,11,14]},{"path":[4,11,2,2,3],"span":[1564,17,18]},{"path":[4,11,2,2,8],"span":[1564,19,1569,6]},{"path":[4,11,2,2,8,1160,1,0],"span":[1564,20,1569,5]},{"path":[4,11,2,2,8,1160,1,0,1],"span":[1565,6,22]},{"path":[4,11,2,2,8,1160,1,0,3],"span":[1566,6,1568,77]},{"path":[4,11,8,1],"span":[1571,2,1673,3]},{"path":[4,11,8,1,1],"span":[1571,8,20]},{"path":[4,11,2,3],"span":[1590,4,1621,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyUInt64 {\n // value must be greater than 5 [uint64.gt]\n uint64 value = 1 [(buf.validate.field).uint64.gt = 5];\n\n // value must be greater than 5 and less than 10 [uint64.gt_lt]\n uint64 other_value = 2 [(buf.validate.field).uint64 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [uint64.gt_lt_exclusive]\n uint64 another_value = 3 [(buf.validate.field).uint64 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,11,2,3,5],"span":[1590,4,10]},{"path":[4,11,2,3,1],"span":[1590,11,13]},{"path":[4,11,2,3,3],"span":[1590,16,17]},{"path":[4,11,2,3,8],"span":[1590,18,1621,5]},{"path":[4,11,2,3,8,1160,1,0],"span":[1591,6,1596,7]},{"path":[4,11,2,3,8,1160,1,0,1],"span":[1592,8,23]},{"path":[4,11,2,3,8,1160,1,0,3],"span":[1593,8,1595,69]},{"path":[4,11,2,3,8,1160,1,1],"span":[1597,6,1602,7]},{"path":[4,11,2,3,8,1160,1,1,1],"span":[1598,8,26]},{"path":[4,11,2,3,8,1160,1,1,3],"span":[1599,8,1601,96]},{"path":[4,11,2,3,8,1160,1,2],"span":[1603,6,1608,7]},{"path":[4,11,2,3,8,1160,1,2,1],"span":[1604,8,36]},{"path":[4,11,2,3,8,1160,1,2,3],"span":[1605,8,1607,95]},{"path":[4,11,2,3,8,1160,1,3],"span":[1609,6,1614,7]},{"path":[4,11,2,3,8,1160,1,3,1],"span":[1610,8,27]},{"path":[4,11,2,3,8,1160,1,3,3],"span":[1611,8,1613,109]},{"path":[4,11,2,3,8,1160,1,4],"span":[1615,6,1620,7]},{"path":[4,11,2,3,8,1160,1,4,1],"span":[1616,8,37]},{"path":[4,11,2,3,8,1160,1,4,3],"span":[1617,8,1619,108]},{"path":[4,11,2,4],"span":[1641,4,1672,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyUInt64 {\n // value must be greater than or equal to 5 [uint64.gte]\n uint64 value = 1 [(buf.validate.field).uint64.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [uint64.gte_lt]\n uint64 other_value = 2 [(buf.validate.field).uint64 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [uint64.gte_lt_exclusive]\n uint64 another_value = 3 [(buf.validate.field).uint64 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,11,2,4,5],"span":[1641,4,10]},{"path":[4,11,2,4,1],"span":[1641,11,14]},{"path":[4,11,2,4,3],"span":[1641,17,18]},{"path":[4,11,2,4,8],"span":[1641,19,1672,5]},{"path":[4,11,2,4,8,1160,1,0],"span":[1642,6,1647,7]},{"path":[4,11,2,4,8,1160,1,0,1],"span":[1643,8,24]},{"path":[4,11,2,4,8,1160,1,0,3],"span":[1644,8,1646,82]},{"path":[4,11,2,4,8,1160,1,1],"span":[1648,6,1653,7]},{"path":[4,11,2,4,8,1160,1,1,1],"span":[1649,8,27]},{"path":[4,11,2,4,8,1160,1,1,3],"span":[1650,8,1652,109]},{"path":[4,11,2,4,8,1160,1,2],"span":[1654,6,1659,7]},{"path":[4,11,2,4,8,1160,1,2,1],"span":[1655,8,37]},{"path":[4,11,2,4,8,1160,1,2,3],"span":[1656,8,1658,108]},{"path":[4,11,2,4,8,1160,1,3],"span":[1660,6,1665,7]},{"path":[4,11,2,4,8,1160,1,3,1],"span":[1661,8,28]},{"path":[4,11,2,4,8,1160,1,3,3],"span":[1662,8,1664,122]},{"path":[4,11,2,4,8,1160,1,4],"span":[1666,6,1671,7]},{"path":[4,11,2,4,8,1160,1,4,1],"span":[1667,8,38]},{"path":[4,11,2,4,8,1160,1,4,3],"span":[1668,8,1670,121]},{"path":[4,11,2,5],"span":[1684,2,1687,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message is\n generated.\n\n ```proto\n message MyUInt64 {\n // value must be in list [1, 2, 3]\n uint64 value = 1 [(buf.validate.field).uint64 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,11,2,5,4],"span":[1684,2,10]},{"path":[4,11,2,5,5],"span":[1684,11,17]},{"path":[4,11,2,5,1],"span":[1684,18,20]},{"path":[4,11,2,5,3],"span":[1684,23,24]},{"path":[4,11,2,5,8],"span":[1684,25,1687,4]},{"path":[4,11,2,5,8,1160,1,0],"span":[1684,26,1687,3]},{"path":[4,11,2,5,8,1160,1,0,1],"span":[1685,4,19]},{"path":[4,11,2,5,8,1160,1,0,3],"span":[1686,4,116]},{"path":[4,11,2,6],"span":[1699,2,1702,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MyUInt64 {\n // value must not be in list [1, 2, 3]\n uint64 value = 1 [(buf.validate.field).uint64 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,11,2,6,4],"span":[1699,2,10]},{"path":[4,11,2,6,5],"span":[1699,11,17]},{"path":[4,11,2,6,1],"span":[1699,18,24]},{"path":[4,11,2,6,3],"span":[1699,27,28]},{"path":[4,11,2,6,8],"span":[1699,29,1702,4]},{"path":[4,11,2,6,8,1160,1,0],"span":[1699,30,1702,3]},{"path":[4,11,2,6,8,1160,1,0,1],"span":[1700,4,23]},{"path":[4,11,2,6,8,1160,1,0,3],"span":[1701,4,99]},{"path":[4,11,2,7],"span":[1716,2,1719,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyUInt64 {\n uint64 value = 1 [\n (buf.validate.field).uint64.example = 1,\n (buf.validate.field).uint64.example = -10\n ];\n }\n ```\n"},{"path":[4,11,2,7,4],"span":[1716,2,10]},{"path":[4,11,2,7,5],"span":[1716,11,17]},{"path":[4,11,2,7,1],"span":[1716,18,25]},{"path":[4,11,2,7,3],"span":[1716,28,29]},{"path":[4,11,2,7,8],"span":[1716,30,1719,4]},{"path":[4,11,2,7,8,1160,1,0],"span":[1716,31,1719,3]},{"path":[4,11,2,7,8,1160,1,0,1],"span":[1717,4,24]},{"path":[4,11,2,7,8,1160,1,0,3],"span":[1718,4,22]},{"path":[4,11,5],"span":[1731,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,11,5,0],"span":[1731,13,24]},{"path":[4,11,5,0,1],"span":[1731,13,17]},{"path":[4,11,5,0,2],"span":[1731,21,24]},{"path":[4,12],"span":[1735,0,1946,1],"leadingComments":" SInt32Rules describes the rules applied to `sint32` values.\n"},{"path":[4,12,1],"span":[1735,8,19]},{"path":[4,12,2,0],"span":[1745,2,1748,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MySInt32 {\n // value must equal 42\n sint32 value = 1 [(buf.validate.field).sint32.const = 42];\n }\n ```\n"},{"path":[4,12,2,0,4],"span":[1745,2,10]},{"path":[4,12,2,0,5],"span":[1745,11,17]},{"path":[4,12,2,0,1],"span":[1745,18,23]},{"path":[4,12,2,0,3],"span":[1745,26,27]},{"path":[4,12,2,0,8],"span":[1745,28,1748,4]},{"path":[4,12,2,0,8,1160,1,0],"span":[1745,29,1748,3]},{"path":[4,12,2,0,8,1160,1,0,1],"span":[1746,4,22]},{"path":[4,12,2,0,8,1160,1,0,3],"span":[1747,4,114]},{"path":[4,12,8,0],"span":[1749,2,1783,3]},{"path":[4,12,8,0,1],"span":[1749,8,17]},{"path":[4,12,2,1],"span":[1760,4,1765,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field\n < value). If the field value is equal to or greater than the specified\n value, an error message is generated.\n\n ```proto\n message MySInt32 {\n // value must be less than 10\n sint32 value = 1 [(buf.validate.field).sint32.lt = 10];\n }\n ```\n"},{"path":[4,12,2,1,5],"span":[1760,4,10]},{"path":[4,12,2,1,1],"span":[1760,11,13]},{"path":[4,12,2,1,3],"span":[1760,16,17]},{"path":[4,12,2,1,8],"span":[1760,18,1765,6]},{"path":[4,12,2,1,8,1160,1,0],"span":[1760,19,1765,5]},{"path":[4,12,2,1,8,1160,1,0,1],"span":[1761,6,21]},{"path":[4,12,2,1,8,1160,1,0,3],"span":[1762,6,1764,64]},{"path":[4,12,2,2],"span":[1777,4,1782,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MySInt32 {\n // value must be less than or equal to 10\n sint32 value = 1 [(buf.validate.field).sint32.lte = 10];\n }\n ```\n"},{"path":[4,12,2,2,5],"span":[1777,4,10]},{"path":[4,12,2,2,1],"span":[1777,11,14]},{"path":[4,12,2,2,3],"span":[1777,17,18]},{"path":[4,12,2,2,8],"span":[1777,19,1782,6]},{"path":[4,12,2,2,8,1160,1,0],"span":[1777,20,1782,5]},{"path":[4,12,2,2,8,1160,1,0,1],"span":[1778,6,22]},{"path":[4,12,2,2,8,1160,1,0,3],"span":[1779,6,1781,77]},{"path":[4,12,8,1],"span":[1784,2,1886,3]},{"path":[4,12,8,1,1],"span":[1784,8,20]},{"path":[4,12,2,3],"span":[1803,4,1834,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MySInt32 {\n // value must be greater than 5 [sint32.gt]\n sint32 value = 1 [(buf.validate.field).sint32.gt = 5];\n\n // value must be greater than 5 and less than 10 [sint32.gt_lt]\n sint32 other_value = 2 [(buf.validate.field).sint32 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [sint32.gt_lt_exclusive]\n sint32 another_value = 3 [(buf.validate.field).sint32 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,12,2,3,5],"span":[1803,4,10]},{"path":[4,12,2,3,1],"span":[1803,11,13]},{"path":[4,12,2,3,3],"span":[1803,16,17]},{"path":[4,12,2,3,8],"span":[1803,18,1834,5]},{"path":[4,12,2,3,8,1160,1,0],"span":[1804,6,1809,7]},{"path":[4,12,2,3,8,1160,1,0,1],"span":[1805,8,23]},{"path":[4,12,2,3,8,1160,1,0,3],"span":[1806,8,1808,69]},{"path":[4,12,2,3,8,1160,1,1],"span":[1810,6,1815,7]},{"path":[4,12,2,3,8,1160,1,1,1],"span":[1811,8,26]},{"path":[4,12,2,3,8,1160,1,1,3],"span":[1812,8,1814,96]},{"path":[4,12,2,3,8,1160,1,2],"span":[1816,6,1821,7]},{"path":[4,12,2,3,8,1160,1,2,1],"span":[1817,8,36]},{"path":[4,12,2,3,8,1160,1,2,3],"span":[1818,8,1820,95]},{"path":[4,12,2,3,8,1160,1,3],"span":[1822,6,1827,7]},{"path":[4,12,2,3,8,1160,1,3,1],"span":[1823,8,27]},{"path":[4,12,2,3,8,1160,1,3,3],"span":[1824,8,1826,109]},{"path":[4,12,2,3,8,1160,1,4],"span":[1828,6,1833,7]},{"path":[4,12,2,3,8,1160,1,4,1],"span":[1829,8,37]},{"path":[4,12,2,3,8,1160,1,4,3],"span":[1830,8,1832,108]},{"path":[4,12,2,4],"span":[1854,4,1885,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MySInt32 {\n // value must be greater than or equal to 5 [sint32.gte]\n sint32 value = 1 [(buf.validate.field).sint32.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [sint32.gte_lt]\n sint32 other_value = 2 [(buf.validate.field).sint32 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [sint32.gte_lt_exclusive]\n sint32 another_value = 3 [(buf.validate.field).sint32 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,12,2,4,5],"span":[1854,4,10]},{"path":[4,12,2,4,1],"span":[1854,11,14]},{"path":[4,12,2,4,3],"span":[1854,17,18]},{"path":[4,12,2,4,8],"span":[1854,19,1885,5]},{"path":[4,12,2,4,8,1160,1,0],"span":[1855,6,1860,7]},{"path":[4,12,2,4,8,1160,1,0,1],"span":[1856,8,24]},{"path":[4,12,2,4,8,1160,1,0,3],"span":[1857,8,1859,82]},{"path":[4,12,2,4,8,1160,1,1],"span":[1861,6,1866,7]},{"path":[4,12,2,4,8,1160,1,1,1],"span":[1862,8,27]},{"path":[4,12,2,4,8,1160,1,1,3],"span":[1863,8,1865,109]},{"path":[4,12,2,4,8,1160,1,2],"span":[1867,6,1872,7]},{"path":[4,12,2,4,8,1160,1,2,1],"span":[1868,8,37]},{"path":[4,12,2,4,8,1160,1,2,3],"span":[1869,8,1871,108]},{"path":[4,12,2,4,8,1160,1,3],"span":[1873,6,1878,7]},{"path":[4,12,2,4,8,1160,1,3,1],"span":[1874,8,28]},{"path":[4,12,2,4,8,1160,1,3,3],"span":[1875,8,1877,122]},{"path":[4,12,2,4,8,1160,1,4],"span":[1879,6,1884,7]},{"path":[4,12,2,4,8,1160,1,4,1],"span":[1880,8,38]},{"path":[4,12,2,4,8,1160,1,4,3],"span":[1881,8,1883,121]},{"path":[4,12,2,5],"span":[1898,2,1901,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message is\n generated.\n\n ```proto\n message MySInt32 {\n // value must be in list [1, 2, 3]\n sint32 value = 1 [(buf.validate.field).sint32 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,12,2,5,4],"span":[1898,2,10]},{"path":[4,12,2,5,5],"span":[1898,11,17]},{"path":[4,12,2,5,1],"span":[1898,18,20]},{"path":[4,12,2,5,3],"span":[1898,23,24]},{"path":[4,12,2,5,8],"span":[1898,25,1901,4]},{"path":[4,12,2,5,8,1160,1,0],"span":[1898,26,1901,3]},{"path":[4,12,2,5,8,1160,1,0,1],"span":[1899,4,19]},{"path":[4,12,2,5,8,1160,1,0,3],"span":[1900,4,116]},{"path":[4,12,2,6],"span":[1913,2,1916,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MySInt32 {\n // value must not be in list [1, 2, 3]\n sint32 value = 1 [(buf.validate.field).sint32 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,12,2,6,4],"span":[1913,2,10]},{"path":[4,12,2,6,5],"span":[1913,11,17]},{"path":[4,12,2,6,1],"span":[1913,18,24]},{"path":[4,12,2,6,3],"span":[1913,27,28]},{"path":[4,12,2,6,8],"span":[1913,29,1916,4]},{"path":[4,12,2,6,8,1160,1,0],"span":[1913,30,1916,3]},{"path":[4,12,2,6,8,1160,1,0,1],"span":[1914,4,23]},{"path":[4,12,2,6,8,1160,1,0,3],"span":[1915,4,99]},{"path":[4,12,2,7],"span":[1930,2,1933,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MySInt32 {\n sint32 value = 1 [\n (buf.validate.field).sint32.example = 1,\n (buf.validate.field).sint32.example = -10\n ];\n }\n ```\n"},{"path":[4,12,2,7,4],"span":[1930,2,10]},{"path":[4,12,2,7,5],"span":[1930,11,17]},{"path":[4,12,2,7,1],"span":[1930,18,25]},{"path":[4,12,2,7,3],"span":[1930,28,29]},{"path":[4,12,2,7,8],"span":[1930,30,1933,4]},{"path":[4,12,2,7,8,1160,1,0],"span":[1930,31,1933,3]},{"path":[4,12,2,7,8,1160,1,0,1],"span":[1931,4,24]},{"path":[4,12,2,7,8,1160,1,0,3],"span":[1932,4,22]},{"path":[4,12,5],"span":[1945,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,12,5,0],"span":[1945,13,24]},{"path":[4,12,5,0,1],"span":[1945,13,17]},{"path":[4,12,5,0,2],"span":[1945,21,24]},{"path":[4,13],"span":[1949,0,2160,1],"leadingComments":" SInt64Rules describes the rules applied to `sint64` values.\n"},{"path":[4,13,1],"span":[1949,8,19]},{"path":[4,13,2,0],"span":[1959,2,1962,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MySInt64 {\n // value must equal 42\n sint64 value = 1 [(buf.validate.field).sint64.const = 42];\n }\n ```\n"},{"path":[4,13,2,0,4],"span":[1959,2,10]},{"path":[4,13,2,0,5],"span":[1959,11,17]},{"path":[4,13,2,0,1],"span":[1959,18,23]},{"path":[4,13,2,0,3],"span":[1959,26,27]},{"path":[4,13,2,0,8],"span":[1959,28,1962,4]},{"path":[4,13,2,0,8,1160,1,0],"span":[1959,29,1962,3]},{"path":[4,13,2,0,8,1160,1,0,1],"span":[1960,4,22]},{"path":[4,13,2,0,8,1160,1,0,3],"span":[1961,4,114]},{"path":[4,13,8,0],"span":[1963,2,1997,3]},{"path":[4,13,8,0,1],"span":[1963,8,17]},{"path":[4,13,2,1],"span":[1974,4,1979,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field\n < value). If the field value is equal to or greater than the specified\n value, an error message is generated.\n\n ```proto\n message MySInt64 {\n // value must be less than 10\n sint64 value = 1 [(buf.validate.field).sint64.lt = 10];\n }\n ```\n"},{"path":[4,13,2,1,5],"span":[1974,4,10]},{"path":[4,13,2,1,1],"span":[1974,11,13]},{"path":[4,13,2,1,3],"span":[1974,16,17]},{"path":[4,13,2,1,8],"span":[1974,18,1979,6]},{"path":[4,13,2,1,8,1160,1,0],"span":[1974,19,1979,5]},{"path":[4,13,2,1,8,1160,1,0,1],"span":[1975,6,21]},{"path":[4,13,2,1,8,1160,1,0,3],"span":[1976,6,1978,64]},{"path":[4,13,2,2],"span":[1991,4,1996,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MySInt64 {\n // value must be less than or equal to 10\n sint64 value = 1 [(buf.validate.field).sint64.lte = 10];\n }\n ```\n"},{"path":[4,13,2,2,5],"span":[1991,4,10]},{"path":[4,13,2,2,1],"span":[1991,11,14]},{"path":[4,13,2,2,3],"span":[1991,17,18]},{"path":[4,13,2,2,8],"span":[1991,19,1996,6]},{"path":[4,13,2,2,8,1160,1,0],"span":[1991,20,1996,5]},{"path":[4,13,2,2,8,1160,1,0,1],"span":[1992,6,22]},{"path":[4,13,2,2,8,1160,1,0,3],"span":[1993,6,1995,77]},{"path":[4,13,8,1],"span":[1998,2,2100,3]},{"path":[4,13,8,1,1],"span":[1998,8,20]},{"path":[4,13,2,3],"span":[2017,4,2048,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MySInt64 {\n // value must be greater than 5 [sint64.gt]\n sint64 value = 1 [(buf.validate.field).sint64.gt = 5];\n\n // value must be greater than 5 and less than 10 [sint64.gt_lt]\n sint64 other_value = 2 [(buf.validate.field).sint64 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [sint64.gt_lt_exclusive]\n sint64 another_value = 3 [(buf.validate.field).sint64 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,13,2,3,5],"span":[2017,4,10]},{"path":[4,13,2,3,1],"span":[2017,11,13]},{"path":[4,13,2,3,3],"span":[2017,16,17]},{"path":[4,13,2,3,8],"span":[2017,18,2048,5]},{"path":[4,13,2,3,8,1160,1,0],"span":[2018,6,2023,7]},{"path":[4,13,2,3,8,1160,1,0,1],"span":[2019,8,23]},{"path":[4,13,2,3,8,1160,1,0,3],"span":[2020,8,2022,69]},{"path":[4,13,2,3,8,1160,1,1],"span":[2024,6,2029,7]},{"path":[4,13,2,3,8,1160,1,1,1],"span":[2025,8,26]},{"path":[4,13,2,3,8,1160,1,1,3],"span":[2026,8,2028,96]},{"path":[4,13,2,3,8,1160,1,2],"span":[2030,6,2035,7]},{"path":[4,13,2,3,8,1160,1,2,1],"span":[2031,8,36]},{"path":[4,13,2,3,8,1160,1,2,3],"span":[2032,8,2034,95]},{"path":[4,13,2,3,8,1160,1,3],"span":[2036,6,2041,7]},{"path":[4,13,2,3,8,1160,1,3,1],"span":[2037,8,27]},{"path":[4,13,2,3,8,1160,1,3,3],"span":[2038,8,2040,109]},{"path":[4,13,2,3,8,1160,1,4],"span":[2042,6,2047,7]},{"path":[4,13,2,3,8,1160,1,4,1],"span":[2043,8,37]},{"path":[4,13,2,3,8,1160,1,4,3],"span":[2044,8,2046,108]},{"path":[4,13,2,4],"span":[2068,4,2099,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MySInt64 {\n // value must be greater than or equal to 5 [sint64.gte]\n sint64 value = 1 [(buf.validate.field).sint64.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [sint64.gte_lt]\n sint64 other_value = 2 [(buf.validate.field).sint64 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [sint64.gte_lt_exclusive]\n sint64 another_value = 3 [(buf.validate.field).sint64 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,13,2,4,5],"span":[2068,4,10]},{"path":[4,13,2,4,1],"span":[2068,11,14]},{"path":[4,13,2,4,3],"span":[2068,17,18]},{"path":[4,13,2,4,8],"span":[2068,19,2099,5]},{"path":[4,13,2,4,8,1160,1,0],"span":[2069,6,2074,7]},{"path":[4,13,2,4,8,1160,1,0,1],"span":[2070,8,24]},{"path":[4,13,2,4,8,1160,1,0,3],"span":[2071,8,2073,82]},{"path":[4,13,2,4,8,1160,1,1],"span":[2075,6,2080,7]},{"path":[4,13,2,4,8,1160,1,1,1],"span":[2076,8,27]},{"path":[4,13,2,4,8,1160,1,1,3],"span":[2077,8,2079,109]},{"path":[4,13,2,4,8,1160,1,2],"span":[2081,6,2086,7]},{"path":[4,13,2,4,8,1160,1,2,1],"span":[2082,8,37]},{"path":[4,13,2,4,8,1160,1,2,3],"span":[2083,8,2085,108]},{"path":[4,13,2,4,8,1160,1,3],"span":[2087,6,2092,7]},{"path":[4,13,2,4,8,1160,1,3,1],"span":[2088,8,28]},{"path":[4,13,2,4,8,1160,1,3,3],"span":[2089,8,2091,122]},{"path":[4,13,2,4,8,1160,1,4],"span":[2093,6,2098,7]},{"path":[4,13,2,4,8,1160,1,4,1],"span":[2094,8,38]},{"path":[4,13,2,4,8,1160,1,4,3],"span":[2095,8,2097,121]},{"path":[4,13,2,5],"span":[2112,2,2115,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message\n is generated.\n\n ```proto\n message MySInt64 {\n // value must be in list [1, 2, 3]\n sint64 value = 1 [(buf.validate.field).sint64 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,13,2,5,4],"span":[2112,2,10]},{"path":[4,13,2,5,5],"span":[2112,11,17]},{"path":[4,13,2,5,1],"span":[2112,18,20]},{"path":[4,13,2,5,3],"span":[2112,23,24]},{"path":[4,13,2,5,8],"span":[2112,25,2115,4]},{"path":[4,13,2,5,8,1160,1,0],"span":[2112,26,2115,3]},{"path":[4,13,2,5,8,1160,1,0,1],"span":[2113,4,19]},{"path":[4,13,2,5,8,1160,1,0,3],"span":[2114,4,116]},{"path":[4,13,2,6],"span":[2127,2,2130,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MySInt64 {\n // value must not be in list [1, 2, 3]\n sint64 value = 1 [(buf.validate.field).sint64 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,13,2,6,4],"span":[2127,2,10]},{"path":[4,13,2,6,5],"span":[2127,11,17]},{"path":[4,13,2,6,1],"span":[2127,18,24]},{"path":[4,13,2,6,3],"span":[2127,27,28]},{"path":[4,13,2,6,8],"span":[2127,29,2130,4]},{"path":[4,13,2,6,8,1160,1,0],"span":[2127,30,2130,3]},{"path":[4,13,2,6,8,1160,1,0,1],"span":[2128,4,23]},{"path":[4,13,2,6,8,1160,1,0,3],"span":[2129,4,99]},{"path":[4,13,2,7],"span":[2144,2,2147,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MySInt64 {\n sint64 value = 1 [\n (buf.validate.field).sint64.example = 1,\n (buf.validate.field).sint64.example = -10\n ];\n }\n ```\n"},{"path":[4,13,2,7,4],"span":[2144,2,10]},{"path":[4,13,2,7,5],"span":[2144,11,17]},{"path":[4,13,2,7,1],"span":[2144,18,25]},{"path":[4,13,2,7,3],"span":[2144,28,29]},{"path":[4,13,2,7,8],"span":[2144,30,2147,4]},{"path":[4,13,2,7,8,1160,1,0],"span":[2144,31,2147,3]},{"path":[4,13,2,7,8,1160,1,0,1],"span":[2145,4,24]},{"path":[4,13,2,7,8,1160,1,0,3],"span":[2146,4,22]},{"path":[4,13,5],"span":[2159,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,13,5,0],"span":[2159,13,24]},{"path":[4,13,5,0,1],"span":[2159,13,17]},{"path":[4,13,5,0,2],"span":[2159,21,24]},{"path":[4,14],"span":[2163,0,2374,1],"leadingComments":" Fixed32Rules describes the rules applied to `fixed32` values.\n"},{"path":[4,14,1],"span":[2163,8,20]},{"path":[4,14,2,0],"span":[2173,2,2176,5],"leadingComments":" `const` requires the field value to exactly match the specified value.\n If the field value doesn't match, an error message is generated.\n\n ```proto\n message MyFixed32 {\n // value must equal 42\n fixed32 value = 1 [(buf.validate.field).fixed32.const = 42];\n }\n ```\n"},{"path":[4,14,2,0,4],"span":[2173,2,10]},{"path":[4,14,2,0,5],"span":[2173,11,18]},{"path":[4,14,2,0,1],"span":[2173,19,24]},{"path":[4,14,2,0,3],"span":[2173,27,28]},{"path":[4,14,2,0,8],"span":[2173,29,2176,4]},{"path":[4,14,2,0,8,1160,1,0],"span":[2173,30,2176,3]},{"path":[4,14,2,0,8,1160,1,0,1],"span":[2174,4,23]},{"path":[4,14,2,0,8,1160,1,0,3],"span":[2175,4,114]},{"path":[4,14,8,0],"span":[2177,2,2211,3]},{"path":[4,14,8,0,1],"span":[2177,8,17]},{"path":[4,14,2,1],"span":[2188,4,2193,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field <\n value). If the field value is equal to or greater than the specified value,\n an error message is generated.\n\n ```proto\n message MyFixed32 {\n // value must be less than 10\n fixed32 value = 1 [(buf.validate.field).fixed32.lt = 10];\n }\n ```\n"},{"path":[4,14,2,1,5],"span":[2188,4,11]},{"path":[4,14,2,1,1],"span":[2188,12,14]},{"path":[4,14,2,1,3],"span":[2188,17,18]},{"path":[4,14,2,1,8],"span":[2188,19,2193,6]},{"path":[4,14,2,1,8,1160,1,0],"span":[2188,20,2193,5]},{"path":[4,14,2,1,8,1160,1,0,1],"span":[2189,6,22]},{"path":[4,14,2,1,8,1160,1,0,3],"span":[2190,6,2192,64]},{"path":[4,14,2,2],"span":[2205,4,2210,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MyFixed32 {\n // value must be less than or equal to 10\n fixed32 value = 1 [(buf.validate.field).fixed32.lte = 10];\n }\n ```\n"},{"path":[4,14,2,2,5],"span":[2205,4,11]},{"path":[4,14,2,2,1],"span":[2205,12,15]},{"path":[4,14,2,2,3],"span":[2205,18,19]},{"path":[4,14,2,2,8],"span":[2205,20,2210,6]},{"path":[4,14,2,2,8,1160,1,0],"span":[2205,21,2210,5]},{"path":[4,14,2,2,8,1160,1,0,1],"span":[2206,6,23]},{"path":[4,14,2,2,8,1160,1,0,3],"span":[2207,6,2209,77]},{"path":[4,14,8,1],"span":[2212,2,2314,3]},{"path":[4,14,8,1,1],"span":[2212,8,20]},{"path":[4,14,2,3],"span":[2231,4,2262,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyFixed32 {\n // value must be greater than 5 [fixed32.gt]\n fixed32 value = 1 [(buf.validate.field).fixed32.gt = 5];\n\n // value must be greater than 5 and less than 10 [fixed32.gt_lt]\n fixed32 other_value = 2 [(buf.validate.field).fixed32 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [fixed32.gt_lt_exclusive]\n fixed32 another_value = 3 [(buf.validate.field).fixed32 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,14,2,3,5],"span":[2231,4,11]},{"path":[4,14,2,3,1],"span":[2231,12,14]},{"path":[4,14,2,3,3],"span":[2231,17,18]},{"path":[4,14,2,3,8],"span":[2231,19,2262,5]},{"path":[4,14,2,3,8,1160,1,0],"span":[2232,6,2237,7]},{"path":[4,14,2,3,8,1160,1,0,1],"span":[2233,8,24]},{"path":[4,14,2,3,8,1160,1,0,3],"span":[2234,8,2236,69]},{"path":[4,14,2,3,8,1160,1,1],"span":[2238,6,2243,7]},{"path":[4,14,2,3,8,1160,1,1,1],"span":[2239,8,27]},{"path":[4,14,2,3,8,1160,1,1,3],"span":[2240,8,2242,96]},{"path":[4,14,2,3,8,1160,1,2],"span":[2244,6,2249,7]},{"path":[4,14,2,3,8,1160,1,2,1],"span":[2245,8,37]},{"path":[4,14,2,3,8,1160,1,2,3],"span":[2246,8,2248,95]},{"path":[4,14,2,3,8,1160,1,3],"span":[2250,6,2255,7]},{"path":[4,14,2,3,8,1160,1,3,1],"span":[2251,8,28]},{"path":[4,14,2,3,8,1160,1,3,3],"span":[2252,8,2254,109]},{"path":[4,14,2,3,8,1160,1,4],"span":[2256,6,2261,7]},{"path":[4,14,2,3,8,1160,1,4,1],"span":[2257,8,38]},{"path":[4,14,2,3,8,1160,1,4,3],"span":[2258,8,2260,108]},{"path":[4,14,2,4],"span":[2282,4,2313,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyFixed32 {\n // value must be greater than or equal to 5 [fixed32.gte]\n fixed32 value = 1 [(buf.validate.field).fixed32.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [fixed32.gte_lt]\n fixed32 other_value = 2 [(buf.validate.field).fixed32 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [fixed32.gte_lt_exclusive]\n fixed32 another_value = 3 [(buf.validate.field).fixed32 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,14,2,4,5],"span":[2282,4,11]},{"path":[4,14,2,4,1],"span":[2282,12,15]},{"path":[4,14,2,4,3],"span":[2282,18,19]},{"path":[4,14,2,4,8],"span":[2282,20,2313,5]},{"path":[4,14,2,4,8,1160,1,0],"span":[2283,6,2288,7]},{"path":[4,14,2,4,8,1160,1,0,1],"span":[2284,8,25]},{"path":[4,14,2,4,8,1160,1,0,3],"span":[2285,8,2287,82]},{"path":[4,14,2,4,8,1160,1,1],"span":[2289,6,2294,7]},{"path":[4,14,2,4,8,1160,1,1,1],"span":[2290,8,28]},{"path":[4,14,2,4,8,1160,1,1,3],"span":[2291,8,2293,109]},{"path":[4,14,2,4,8,1160,1,2],"span":[2295,6,2300,7]},{"path":[4,14,2,4,8,1160,1,2,1],"span":[2296,8,38]},{"path":[4,14,2,4,8,1160,1,2,3],"span":[2297,8,2299,108]},{"path":[4,14,2,4,8,1160,1,3],"span":[2301,6,2306,7]},{"path":[4,14,2,4,8,1160,1,3,1],"span":[2302,8,29]},{"path":[4,14,2,4,8,1160,1,3,3],"span":[2303,8,2305,122]},{"path":[4,14,2,4,8,1160,1,4],"span":[2307,6,2312,7]},{"path":[4,14,2,4,8,1160,1,4,1],"span":[2308,8,39]},{"path":[4,14,2,4,8,1160,1,4,3],"span":[2309,8,2311,121]},{"path":[4,14,2,5],"span":[2326,2,2329,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message\n is generated.\n\n ```proto\n message MyFixed32 {\n // value must be in list [1, 2, 3]\n fixed32 value = 1 [(buf.validate.field).fixed32 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,14,2,5,4],"span":[2326,2,10]},{"path":[4,14,2,5,5],"span":[2326,11,18]},{"path":[4,14,2,5,1],"span":[2326,19,21]},{"path":[4,14,2,5,3],"span":[2326,24,25]},{"path":[4,14,2,5,8],"span":[2326,26,2329,4]},{"path":[4,14,2,5,8,1160,1,0],"span":[2326,27,2329,3]},{"path":[4,14,2,5,8,1160,1,0,1],"span":[2327,4,20]},{"path":[4,14,2,5,8,1160,1,0,3],"span":[2328,4,116]},{"path":[4,14,2,6],"span":[2341,2,2344,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MyFixed32 {\n // value must not be in list [1, 2, 3]\n fixed32 value = 1 [(buf.validate.field).fixed32 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,14,2,6,4],"span":[2341,2,10]},{"path":[4,14,2,6,5],"span":[2341,11,18]},{"path":[4,14,2,6,1],"span":[2341,19,25]},{"path":[4,14,2,6,3],"span":[2341,28,29]},{"path":[4,14,2,6,8],"span":[2341,30,2344,4]},{"path":[4,14,2,6,8,1160,1,0],"span":[2341,31,2344,3]},{"path":[4,14,2,6,8,1160,1,0,1],"span":[2342,4,24]},{"path":[4,14,2,6,8,1160,1,0,3],"span":[2343,4,99]},{"path":[4,14,2,7],"span":[2358,2,2361,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyFixed32 {\n fixed32 value = 1 [\n (buf.validate.field).fixed32.example = 1,\n (buf.validate.field).fixed32.example = 2\n ];\n }\n ```\n"},{"path":[4,14,2,7,4],"span":[2358,2,10]},{"path":[4,14,2,7,5],"span":[2358,11,18]},{"path":[4,14,2,7,1],"span":[2358,19,26]},{"path":[4,14,2,7,3],"span":[2358,29,30]},{"path":[4,14,2,7,8],"span":[2358,31,2361,4]},{"path":[4,14,2,7,8,1160,1,0],"span":[2358,32,2361,3]},{"path":[4,14,2,7,8,1160,1,0,1],"span":[2359,4,25]},{"path":[4,14,2,7,8,1160,1,0,3],"span":[2360,4,22]},{"path":[4,14,5],"span":[2373,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,14,5,0],"span":[2373,13,24]},{"path":[4,14,5,0,1],"span":[2373,13,17]},{"path":[4,14,5,0,2],"span":[2373,21,24]},{"path":[4,15],"span":[2377,0,2588,1],"leadingComments":" Fixed64Rules describes the rules applied to `fixed64` values.\n"},{"path":[4,15,1],"span":[2377,8,20]},{"path":[4,15,2,0],"span":[2387,2,2390,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MyFixed64 {\n // value must equal 42\n fixed64 value = 1 [(buf.validate.field).fixed64.const = 42];\n }\n ```\n"},{"path":[4,15,2,0,4],"span":[2387,2,10]},{"path":[4,15,2,0,5],"span":[2387,11,18]},{"path":[4,15,2,0,1],"span":[2387,19,24]},{"path":[4,15,2,0,3],"span":[2387,27,28]},{"path":[4,15,2,0,8],"span":[2387,29,2390,4]},{"path":[4,15,2,0,8,1160,1,0],"span":[2387,30,2390,3]},{"path":[4,15,2,0,8,1160,1,0,1],"span":[2388,4,23]},{"path":[4,15,2,0,8,1160,1,0,3],"span":[2389,4,114]},{"path":[4,15,8,0],"span":[2391,2,2425,3]},{"path":[4,15,8,0,1],"span":[2391,8,17]},{"path":[4,15,2,1],"span":[2402,4,2407,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field <\n value). If the field value is equal to or greater than the specified value,\n an error message is generated.\n\n ```proto\n message MyFixed64 {\n // value must be less than 10\n fixed64 value = 1 [(buf.validate.field).fixed64.lt = 10];\n }\n ```\n"},{"path":[4,15,2,1,5],"span":[2402,4,11]},{"path":[4,15,2,1,1],"span":[2402,12,14]},{"path":[4,15,2,1,3],"span":[2402,17,18]},{"path":[4,15,2,1,8],"span":[2402,19,2407,6]},{"path":[4,15,2,1,8,1160,1,0],"span":[2402,20,2407,5]},{"path":[4,15,2,1,8,1160,1,0,1],"span":[2403,6,22]},{"path":[4,15,2,1,8,1160,1,0,3],"span":[2404,6,2406,64]},{"path":[4,15,2,2],"span":[2419,4,2424,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MyFixed64 {\n // value must be less than or equal to 10\n fixed64 value = 1 [(buf.validate.field).fixed64.lte = 10];\n }\n ```\n"},{"path":[4,15,2,2,5],"span":[2419,4,11]},{"path":[4,15,2,2,1],"span":[2419,12,15]},{"path":[4,15,2,2,3],"span":[2419,18,19]},{"path":[4,15,2,2,8],"span":[2419,20,2424,6]},{"path":[4,15,2,2,8,1160,1,0],"span":[2419,21,2424,5]},{"path":[4,15,2,2,8,1160,1,0,1],"span":[2420,6,23]},{"path":[4,15,2,2,8,1160,1,0,3],"span":[2421,6,2423,77]},{"path":[4,15,8,1],"span":[2426,2,2528,3]},{"path":[4,15,8,1,1],"span":[2426,8,20]},{"path":[4,15,2,3],"span":[2445,4,2476,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyFixed64 {\n // value must be greater than 5 [fixed64.gt]\n fixed64 value = 1 [(buf.validate.field).fixed64.gt = 5];\n\n // value must be greater than 5 and less than 10 [fixed64.gt_lt]\n fixed64 other_value = 2 [(buf.validate.field).fixed64 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [fixed64.gt_lt_exclusive]\n fixed64 another_value = 3 [(buf.validate.field).fixed64 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,15,2,3,5],"span":[2445,4,11]},{"path":[4,15,2,3,1],"span":[2445,12,14]},{"path":[4,15,2,3,3],"span":[2445,17,18]},{"path":[4,15,2,3,8],"span":[2445,19,2476,5]},{"path":[4,15,2,3,8,1160,1,0],"span":[2446,6,2451,7]},{"path":[4,15,2,3,8,1160,1,0,1],"span":[2447,8,24]},{"path":[4,15,2,3,8,1160,1,0,3],"span":[2448,8,2450,69]},{"path":[4,15,2,3,8,1160,1,1],"span":[2452,6,2457,7]},{"path":[4,15,2,3,8,1160,1,1,1],"span":[2453,8,27]},{"path":[4,15,2,3,8,1160,1,1,3],"span":[2454,8,2456,96]},{"path":[4,15,2,3,8,1160,1,2],"span":[2458,6,2463,7]},{"path":[4,15,2,3,8,1160,1,2,1],"span":[2459,8,37]},{"path":[4,15,2,3,8,1160,1,2,3],"span":[2460,8,2462,95]},{"path":[4,15,2,3,8,1160,1,3],"span":[2464,6,2469,7]},{"path":[4,15,2,3,8,1160,1,3,1],"span":[2465,8,28]},{"path":[4,15,2,3,8,1160,1,3,3],"span":[2466,8,2468,109]},{"path":[4,15,2,3,8,1160,1,4],"span":[2470,6,2475,7]},{"path":[4,15,2,3,8,1160,1,4,1],"span":[2471,8,38]},{"path":[4,15,2,3,8,1160,1,4,3],"span":[2472,8,2474,108]},{"path":[4,15,2,4],"span":[2496,4,2527,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyFixed64 {\n // value must be greater than or equal to 5 [fixed64.gte]\n fixed64 value = 1 [(buf.validate.field).fixed64.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [fixed64.gte_lt]\n fixed64 other_value = 2 [(buf.validate.field).fixed64 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [fixed64.gte_lt_exclusive]\n fixed64 another_value = 3 [(buf.validate.field).fixed64 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,15,2,4,5],"span":[2496,4,11]},{"path":[4,15,2,4,1],"span":[2496,12,15]},{"path":[4,15,2,4,3],"span":[2496,18,19]},{"path":[4,15,2,4,8],"span":[2496,20,2527,5]},{"path":[4,15,2,4,8,1160,1,0],"span":[2497,6,2502,7]},{"path":[4,15,2,4,8,1160,1,0,1],"span":[2498,8,25]},{"path":[4,15,2,4,8,1160,1,0,3],"span":[2499,8,2501,82]},{"path":[4,15,2,4,8,1160,1,1],"span":[2503,6,2508,7]},{"path":[4,15,2,4,8,1160,1,1,1],"span":[2504,8,28]},{"path":[4,15,2,4,8,1160,1,1,3],"span":[2505,8,2507,109]},{"path":[4,15,2,4,8,1160,1,2],"span":[2509,6,2514,7]},{"path":[4,15,2,4,8,1160,1,2,1],"span":[2510,8,38]},{"path":[4,15,2,4,8,1160,1,2,3],"span":[2511,8,2513,108]},{"path":[4,15,2,4,8,1160,1,3],"span":[2515,6,2520,7]},{"path":[4,15,2,4,8,1160,1,3,1],"span":[2516,8,29]},{"path":[4,15,2,4,8,1160,1,3,3],"span":[2517,8,2519,122]},{"path":[4,15,2,4,8,1160,1,4],"span":[2521,6,2526,7]},{"path":[4,15,2,4,8,1160,1,4,1],"span":[2522,8,39]},{"path":[4,15,2,4,8,1160,1,4,3],"span":[2523,8,2525,121]},{"path":[4,15,2,5],"span":[2540,2,2543,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message is\n generated.\n\n ```proto\n message MyFixed64 {\n // value must be in list [1, 2, 3]\n fixed64 value = 1 [(buf.validate.field).fixed64 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,15,2,5,4],"span":[2540,2,10]},{"path":[4,15,2,5,5],"span":[2540,11,18]},{"path":[4,15,2,5,1],"span":[2540,19,21]},{"path":[4,15,2,5,3],"span":[2540,24,25]},{"path":[4,15,2,5,8],"span":[2540,26,2543,4]},{"path":[4,15,2,5,8,1160,1,0],"span":[2540,27,2543,3]},{"path":[4,15,2,5,8,1160,1,0,1],"span":[2541,4,20]},{"path":[4,15,2,5,8,1160,1,0,3],"span":[2542,4,116]},{"path":[4,15,2,6],"span":[2555,2,2558,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MyFixed64 {\n // value must not be in list [1, 2, 3]\n fixed64 value = 1 [(buf.validate.field).fixed64 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,15,2,6,4],"span":[2555,2,10]},{"path":[4,15,2,6,5],"span":[2555,11,18]},{"path":[4,15,2,6,1],"span":[2555,19,25]},{"path":[4,15,2,6,3],"span":[2555,28,29]},{"path":[4,15,2,6,8],"span":[2555,30,2558,4]},{"path":[4,15,2,6,8,1160,1,0],"span":[2555,31,2558,3]},{"path":[4,15,2,6,8,1160,1,0,1],"span":[2556,4,24]},{"path":[4,15,2,6,8,1160,1,0,3],"span":[2557,4,99]},{"path":[4,15,2,7],"span":[2572,2,2575,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyFixed64 {\n fixed64 value = 1 [\n (buf.validate.field).fixed64.example = 1,\n (buf.validate.field).fixed64.example = 2\n ];\n }\n ```\n"},{"path":[4,15,2,7,4],"span":[2572,2,10]},{"path":[4,15,2,7,5],"span":[2572,11,18]},{"path":[4,15,2,7,1],"span":[2572,19,26]},{"path":[4,15,2,7,3],"span":[2572,29,30]},{"path":[4,15,2,7,8],"span":[2572,31,2575,4]},{"path":[4,15,2,7,8,1160,1,0],"span":[2572,32,2575,3]},{"path":[4,15,2,7,8,1160,1,0,1],"span":[2573,4,25]},{"path":[4,15,2,7,8,1160,1,0,3],"span":[2574,4,22]},{"path":[4,15,5],"span":[2587,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,15,5,0],"span":[2587,13,24]},{"path":[4,15,5,0,1],"span":[2587,13,17]},{"path":[4,15,5,0,2],"span":[2587,21,24]},{"path":[4,16],"span":[2591,0,2802,1],"leadingComments":" SFixed32Rules describes the rules applied to `fixed32` values.\n"},{"path":[4,16,1],"span":[2591,8,21]},{"path":[4,16,2,0],"span":[2601,2,2604,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MySFixed32 {\n // value must equal 42\n sfixed32 value = 1 [(buf.validate.field).sfixed32.const = 42];\n }\n ```\n"},{"path":[4,16,2,0,4],"span":[2601,2,10]},{"path":[4,16,2,0,5],"span":[2601,11,19]},{"path":[4,16,2,0,1],"span":[2601,20,25]},{"path":[4,16,2,0,3],"span":[2601,28,29]},{"path":[4,16,2,0,8],"span":[2601,30,2604,4]},{"path":[4,16,2,0,8,1160,1,0],"span":[2601,31,2604,3]},{"path":[4,16,2,0,8,1160,1,0,1],"span":[2602,4,24]},{"path":[4,16,2,0,8,1160,1,0,3],"span":[2603,4,114]},{"path":[4,16,8,0],"span":[2605,2,2639,3]},{"path":[4,16,8,0,1],"span":[2605,8,17]},{"path":[4,16,2,1],"span":[2616,4,2621,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field <\n value). If the field value is equal to or greater than the specified value,\n an error message is generated.\n\n ```proto\n message MySFixed32 {\n // value must be less than 10\n sfixed32 value = 1 [(buf.validate.field).sfixed32.lt = 10];\n }\n ```\n"},{"path":[4,16,2,1,5],"span":[2616,4,12]},{"path":[4,16,2,1,1],"span":[2616,13,15]},{"path":[4,16,2,1,3],"span":[2616,18,19]},{"path":[4,16,2,1,8],"span":[2616,20,2621,6]},{"path":[4,16,2,1,8,1160,1,0],"span":[2616,21,2621,5]},{"path":[4,16,2,1,8,1160,1,0,1],"span":[2617,6,23]},{"path":[4,16,2,1,8,1160,1,0,3],"span":[2618,6,2620,64]},{"path":[4,16,2,2],"span":[2633,4,2638,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MySFixed32 {\n // value must be less than or equal to 10\n sfixed32 value = 1 [(buf.validate.field).sfixed32.lte = 10];\n }\n ```\n"},{"path":[4,16,2,2,5],"span":[2633,4,12]},{"path":[4,16,2,2,1],"span":[2633,13,16]},{"path":[4,16,2,2,3],"span":[2633,19,20]},{"path":[4,16,2,2,8],"span":[2633,21,2638,6]},{"path":[4,16,2,2,8,1160,1,0],"span":[2633,22,2638,5]},{"path":[4,16,2,2,8,1160,1,0,1],"span":[2634,6,24]},{"path":[4,16,2,2,8,1160,1,0,3],"span":[2635,6,2637,77]},{"path":[4,16,8,1],"span":[2640,2,2742,3]},{"path":[4,16,8,1,1],"span":[2640,8,20]},{"path":[4,16,2,3],"span":[2659,4,2690,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MySFixed32 {\n // value must be greater than 5 [sfixed32.gt]\n sfixed32 value = 1 [(buf.validate.field).sfixed32.gt = 5];\n\n // value must be greater than 5 and less than 10 [sfixed32.gt_lt]\n sfixed32 other_value = 2 [(buf.validate.field).sfixed32 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [sfixed32.gt_lt_exclusive]\n sfixed32 another_value = 3 [(buf.validate.field).sfixed32 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,16,2,3,5],"span":[2659,4,12]},{"path":[4,16,2,3,1],"span":[2659,13,15]},{"path":[4,16,2,3,3],"span":[2659,18,19]},{"path":[4,16,2,3,8],"span":[2659,20,2690,5]},{"path":[4,16,2,3,8,1160,1,0],"span":[2660,6,2665,7]},{"path":[4,16,2,3,8,1160,1,0,1],"span":[2661,8,25]},{"path":[4,16,2,3,8,1160,1,0,3],"span":[2662,8,2664,69]},{"path":[4,16,2,3,8,1160,1,1],"span":[2666,6,2671,7]},{"path":[4,16,2,3,8,1160,1,1,1],"span":[2667,8,28]},{"path":[4,16,2,3,8,1160,1,1,3],"span":[2668,8,2670,96]},{"path":[4,16,2,3,8,1160,1,2],"span":[2672,6,2677,7]},{"path":[4,16,2,3,8,1160,1,2,1],"span":[2673,8,38]},{"path":[4,16,2,3,8,1160,1,2,3],"span":[2674,8,2676,95]},{"path":[4,16,2,3,8,1160,1,3],"span":[2678,6,2683,7]},{"path":[4,16,2,3,8,1160,1,3,1],"span":[2679,8,29]},{"path":[4,16,2,3,8,1160,1,3,3],"span":[2680,8,2682,109]},{"path":[4,16,2,3,8,1160,1,4],"span":[2684,6,2689,7]},{"path":[4,16,2,3,8,1160,1,4,1],"span":[2685,8,39]},{"path":[4,16,2,3,8,1160,1,4,3],"span":[2686,8,2688,108]},{"path":[4,16,2,4],"span":[2710,4,2741,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MySFixed32 {\n // value must be greater than or equal to 5 [sfixed32.gte]\n sfixed32 value = 1 [(buf.validate.field).sfixed32.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [sfixed32.gte_lt]\n sfixed32 other_value = 2 [(buf.validate.field).sfixed32 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [sfixed32.gte_lt_exclusive]\n sfixed32 another_value = 3 [(buf.validate.field).sfixed32 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,16,2,4,5],"span":[2710,4,12]},{"path":[4,16,2,4,1],"span":[2710,13,16]},{"path":[4,16,2,4,3],"span":[2710,19,20]},{"path":[4,16,2,4,8],"span":[2710,21,2741,5]},{"path":[4,16,2,4,8,1160,1,0],"span":[2711,6,2716,7]},{"path":[4,16,2,4,8,1160,1,0,1],"span":[2712,8,26]},{"path":[4,16,2,4,8,1160,1,0,3],"span":[2713,8,2715,82]},{"path":[4,16,2,4,8,1160,1,1],"span":[2717,6,2722,7]},{"path":[4,16,2,4,8,1160,1,1,1],"span":[2718,8,29]},{"path":[4,16,2,4,8,1160,1,1,3],"span":[2719,8,2721,109]},{"path":[4,16,2,4,8,1160,1,2],"span":[2723,6,2728,7]},{"path":[4,16,2,4,8,1160,1,2,1],"span":[2724,8,39]},{"path":[4,16,2,4,8,1160,1,2,3],"span":[2725,8,2727,108]},{"path":[4,16,2,4,8,1160,1,3],"span":[2729,6,2734,7]},{"path":[4,16,2,4,8,1160,1,3,1],"span":[2730,8,30]},{"path":[4,16,2,4,8,1160,1,3,3],"span":[2731,8,2733,122]},{"path":[4,16,2,4,8,1160,1,4],"span":[2735,6,2740,7]},{"path":[4,16,2,4,8,1160,1,4,1],"span":[2736,8,40]},{"path":[4,16,2,4,8,1160,1,4,3],"span":[2737,8,2739,121]},{"path":[4,16,2,5],"span":[2754,2,2757,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message is\n generated.\n\n ```proto\n message MySFixed32 {\n // value must be in list [1, 2, 3]\n sfixed32 value = 1 [(buf.validate.field).sfixed32 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,16,2,5,4],"span":[2754,2,10]},{"path":[4,16,2,5,5],"span":[2754,11,19]},{"path":[4,16,2,5,1],"span":[2754,20,22]},{"path":[4,16,2,5,3],"span":[2754,25,26]},{"path":[4,16,2,5,8],"span":[2754,27,2757,4]},{"path":[4,16,2,5,8,1160,1,0],"span":[2754,28,2757,3]},{"path":[4,16,2,5,8,1160,1,0,1],"span":[2755,4,21]},{"path":[4,16,2,5,8,1160,1,0,3],"span":[2756,4,116]},{"path":[4,16,2,6],"span":[2769,2,2772,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MySFixed32 {\n // value must not be in list [1, 2, 3]\n sfixed32 value = 1 [(buf.validate.field).sfixed32 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,16,2,6,4],"span":[2769,2,10]},{"path":[4,16,2,6,5],"span":[2769,11,19]},{"path":[4,16,2,6,1],"span":[2769,20,26]},{"path":[4,16,2,6,3],"span":[2769,29,30]},{"path":[4,16,2,6,8],"span":[2769,31,2772,4]},{"path":[4,16,2,6,8,1160,1,0],"span":[2769,32,2772,3]},{"path":[4,16,2,6,8,1160,1,0,1],"span":[2770,4,25]},{"path":[4,16,2,6,8,1160,1,0,3],"span":[2771,4,99]},{"path":[4,16,2,7],"span":[2786,2,2789,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MySFixed32 {\n sfixed32 value = 1 [\n (buf.validate.field).sfixed32.example = 1,\n (buf.validate.field).sfixed32.example = 2\n ];\n }\n ```\n"},{"path":[4,16,2,7,4],"span":[2786,2,10]},{"path":[4,16,2,7,5],"span":[2786,11,19]},{"path":[4,16,2,7,1],"span":[2786,20,27]},{"path":[4,16,2,7,3],"span":[2786,30,31]},{"path":[4,16,2,7,8],"span":[2786,32,2789,4]},{"path":[4,16,2,7,8,1160,1,0],"span":[2786,33,2789,3]},{"path":[4,16,2,7,8,1160,1,0,1],"span":[2787,4,26]},{"path":[4,16,2,7,8,1160,1,0,3],"span":[2788,4,22]},{"path":[4,16,5],"span":[2801,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,16,5,0],"span":[2801,13,24]},{"path":[4,16,5,0,1],"span":[2801,13,17]},{"path":[4,16,5,0,2],"span":[2801,21,24]},{"path":[4,17],"span":[2805,0,3016,1],"leadingComments":" SFixed64Rules describes the rules applied to `fixed64` values.\n"},{"path":[4,17,1],"span":[2805,8,21]},{"path":[4,17,2,0],"span":[2815,2,2818,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MySFixed64 {\n // value must equal 42\n sfixed64 value = 1 [(buf.validate.field).sfixed64.const = 42];\n }\n ```\n"},{"path":[4,17,2,0,4],"span":[2815,2,10]},{"path":[4,17,2,0,5],"span":[2815,11,19]},{"path":[4,17,2,0,1],"span":[2815,20,25]},{"path":[4,17,2,0,3],"span":[2815,28,29]},{"path":[4,17,2,0,8],"span":[2815,30,2818,4]},{"path":[4,17,2,0,8,1160,1,0],"span":[2815,31,2818,3]},{"path":[4,17,2,0,8,1160,1,0,1],"span":[2816,4,24]},{"path":[4,17,2,0,8,1160,1,0,3],"span":[2817,4,114]},{"path":[4,17,8,0],"span":[2819,2,2853,3]},{"path":[4,17,8,0,1],"span":[2819,8,17]},{"path":[4,17,2,1],"span":[2830,4,2835,7],"leadingComments":" `lt` requires the field value to be less than the specified value (field <\n value). If the field value is equal to or greater than the specified value,\n an error message is generated.\n\n ```proto\n message MySFixed64 {\n // value must be less than 10\n sfixed64 value = 1 [(buf.validate.field).sfixed64.lt = 10];\n }\n ```\n"},{"path":[4,17,2,1,5],"span":[2830,4,12]},{"path":[4,17,2,1,1],"span":[2830,13,15]},{"path":[4,17,2,1,3],"span":[2830,18,19]},{"path":[4,17,2,1,8],"span":[2830,20,2835,6]},{"path":[4,17,2,1,8,1160,1,0],"span":[2830,21,2835,5]},{"path":[4,17,2,1,8,1160,1,0,1],"span":[2831,6,23]},{"path":[4,17,2,1,8,1160,1,0,3],"span":[2832,6,2834,64]},{"path":[4,17,2,2],"span":[2847,4,2852,7],"leadingComments":" `lte` requires the field value to be less than or equal to the specified\n value (field <= value). If the field value is greater than the specified\n value, an error message is generated.\n\n ```proto\n message MySFixed64 {\n // value must be less than or equal to 10\n sfixed64 value = 1 [(buf.validate.field).sfixed64.lte = 10];\n }\n ```\n"},{"path":[4,17,2,2,5],"span":[2847,4,12]},{"path":[4,17,2,2,1],"span":[2847,13,16]},{"path":[4,17,2,2,3],"span":[2847,19,20]},{"path":[4,17,2,2,8],"span":[2847,21,2852,6]},{"path":[4,17,2,2,8,1160,1,0],"span":[2847,22,2852,5]},{"path":[4,17,2,2,8,1160,1,0,1],"span":[2848,6,24]},{"path":[4,17,2,2,8,1160,1,0,3],"span":[2849,6,2851,77]},{"path":[4,17,8,1],"span":[2854,2,2956,3]},{"path":[4,17,8,1,1],"span":[2854,8,20]},{"path":[4,17,2,3],"span":[2873,4,2904,6],"leadingComments":" `gt` requires the field value to be greater than the specified value\n (exclusive). If the value of `gt` is larger than a specified `lt` or\n `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MySFixed64 {\n // value must be greater than 5 [sfixed64.gt]\n sfixed64 value = 1 [(buf.validate.field).sfixed64.gt = 5];\n\n // value must be greater than 5 and less than 10 [sfixed64.gt_lt]\n sfixed64 other_value = 2 [(buf.validate.field).sfixed64 = { gt: 5, lt: 10 }];\n\n // value must be greater than 10 or less than 5 [sfixed64.gt_lt_exclusive]\n sfixed64 another_value = 3 [(buf.validate.field).sfixed64 = { gt: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,17,2,3,5],"span":[2873,4,12]},{"path":[4,17,2,3,1],"span":[2873,13,15]},{"path":[4,17,2,3,3],"span":[2873,18,19]},{"path":[4,17,2,3,8],"span":[2873,20,2904,5]},{"path":[4,17,2,3,8,1160,1,0],"span":[2874,6,2879,7]},{"path":[4,17,2,3,8,1160,1,0,1],"span":[2875,8,25]},{"path":[4,17,2,3,8,1160,1,0,3],"span":[2876,8,2878,69]},{"path":[4,17,2,3,8,1160,1,1],"span":[2880,6,2885,7]},{"path":[4,17,2,3,8,1160,1,1,1],"span":[2881,8,28]},{"path":[4,17,2,3,8,1160,1,1,3],"span":[2882,8,2884,96]},{"path":[4,17,2,3,8,1160,1,2],"span":[2886,6,2891,7]},{"path":[4,17,2,3,8,1160,1,2,1],"span":[2887,8,38]},{"path":[4,17,2,3,8,1160,1,2,3],"span":[2888,8,2890,95]},{"path":[4,17,2,3,8,1160,1,3],"span":[2892,6,2897,7]},{"path":[4,17,2,3,8,1160,1,3,1],"span":[2893,8,29]},{"path":[4,17,2,3,8,1160,1,3,3],"span":[2894,8,2896,109]},{"path":[4,17,2,3,8,1160,1,4],"span":[2898,6,2903,7]},{"path":[4,17,2,3,8,1160,1,4,1],"span":[2899,8,39]},{"path":[4,17,2,3,8,1160,1,4,3],"span":[2900,8,2902,108]},{"path":[4,17,2,4],"span":[2924,4,2955,6],"leadingComments":" `gte` requires the field value to be greater than or equal to the specified\n value (exclusive). If the value of `gte` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MySFixed64 {\n // value must be greater than or equal to 5 [sfixed64.gte]\n sfixed64 value = 1 [(buf.validate.field).sfixed64.gte = 5];\n\n // value must be greater than or equal to 5 and less than 10 [sfixed64.gte_lt]\n sfixed64 other_value = 2 [(buf.validate.field).sfixed64 = { gte: 5, lt: 10 }];\n\n // value must be greater than or equal to 10 or less than 5 [sfixed64.gte_lt_exclusive]\n sfixed64 another_value = 3 [(buf.validate.field).sfixed64 = { gte: 10, lt: 5 }];\n }\n ```\n"},{"path":[4,17,2,4,5],"span":[2924,4,12]},{"path":[4,17,2,4,1],"span":[2924,13,16]},{"path":[4,17,2,4,3],"span":[2924,19,20]},{"path":[4,17,2,4,8],"span":[2924,21,2955,5]},{"path":[4,17,2,4,8,1160,1,0],"span":[2925,6,2930,7]},{"path":[4,17,2,4,8,1160,1,0,1],"span":[2926,8,26]},{"path":[4,17,2,4,8,1160,1,0,3],"span":[2927,8,2929,82]},{"path":[4,17,2,4,8,1160,1,1],"span":[2931,6,2936,7]},{"path":[4,17,2,4,8,1160,1,1,1],"span":[2932,8,29]},{"path":[4,17,2,4,8,1160,1,1,3],"span":[2933,8,2935,109]},{"path":[4,17,2,4,8,1160,1,2],"span":[2937,6,2942,7]},{"path":[4,17,2,4,8,1160,1,2,1],"span":[2938,8,39]},{"path":[4,17,2,4,8,1160,1,2,3],"span":[2939,8,2941,108]},{"path":[4,17,2,4,8,1160,1,3],"span":[2943,6,2948,7]},{"path":[4,17,2,4,8,1160,1,3,1],"span":[2944,8,30]},{"path":[4,17,2,4,8,1160,1,3,3],"span":[2945,8,2947,122]},{"path":[4,17,2,4,8,1160,1,4],"span":[2949,6,2954,7]},{"path":[4,17,2,4,8,1160,1,4,1],"span":[2950,8,40]},{"path":[4,17,2,4,8,1160,1,4,3],"span":[2951,8,2953,121]},{"path":[4,17,2,5],"span":[2968,2,2971,5],"leadingComments":" `in` requires the field value to be equal to one of the specified values.\n If the field value isn't one of the specified values, an error message is\n generated.\n\n ```proto\n message MySFixed64 {\n // value must be in list [1, 2, 3]\n sfixed64 value = 1 [(buf.validate.field).sfixed64 = { in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,17,2,5,4],"span":[2968,2,10]},{"path":[4,17,2,5,5],"span":[2968,11,19]},{"path":[4,17,2,5,1],"span":[2968,20,22]},{"path":[4,17,2,5,3],"span":[2968,25,26]},{"path":[4,17,2,5,8],"span":[2968,27,2971,4]},{"path":[4,17,2,5,8,1160,1,0],"span":[2968,28,2971,3]},{"path":[4,17,2,5,8,1160,1,0,1],"span":[2969,4,21]},{"path":[4,17,2,5,8,1160,1,0,3],"span":[2970,4,116]},{"path":[4,17,2,6],"span":[2983,2,2986,5],"leadingComments":" `not_in` requires the field value to not be equal to any of the specified\n values. If the field value is one of the specified values, an error\n message is generated.\n\n ```proto\n message MySFixed64 {\n // value must not be in list [1, 2, 3]\n sfixed64 value = 1 [(buf.validate.field).sfixed64 = { not_in: [1, 2, 3] }];\n }\n ```\n"},{"path":[4,17,2,6,4],"span":[2983,2,10]},{"path":[4,17,2,6,5],"span":[2983,11,19]},{"path":[4,17,2,6,1],"span":[2983,20,26]},{"path":[4,17,2,6,3],"span":[2983,29,30]},{"path":[4,17,2,6,8],"span":[2983,31,2986,4]},{"path":[4,17,2,6,8,1160,1,0],"span":[2983,32,2986,3]},{"path":[4,17,2,6,8,1160,1,0,1],"span":[2984,4,25]},{"path":[4,17,2,6,8,1160,1,0,3],"span":[2985,4,99]},{"path":[4,17,2,7],"span":[3000,2,3003,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MySFixed64 {\n sfixed64 value = 1 [\n (buf.validate.field).sfixed64.example = 1,\n (buf.validate.field).sfixed64.example = 2\n ];\n }\n ```\n"},{"path":[4,17,2,7,4],"span":[3000,2,10]},{"path":[4,17,2,7,5],"span":[3000,11,19]},{"path":[4,17,2,7,1],"span":[3000,20,27]},{"path":[4,17,2,7,3],"span":[3000,30,31]},{"path":[4,17,2,7,8],"span":[3000,32,3003,4]},{"path":[4,17,2,7,8,1160,1,0],"span":[3000,33,3003,3]},{"path":[4,17,2,7,8,1160,1,0,1],"span":[3001,4,26]},{"path":[4,17,2,7,8,1160,1,0,3],"span":[3002,4,22]},{"path":[4,17,5],"span":[3015,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,17,5,0],"span":[3015,13,24]},{"path":[4,17,5,0,1],"span":[3015,13,17]},{"path":[4,17,5,0,2],"span":[3015,21,24]},{"path":[4,18],"span":[3020,0,3063,1],"leadingComments":" BoolRules describes the rules applied to `bool` values. These rules\n may also be applied to the `google.protobuf.BoolValue` Well-Known-Type.\n"},{"path":[4,18,1],"span":[3020,8,17]},{"path":[4,18,2,0],"span":[3030,2,3033,5],"leadingComments":" `const` requires the field value to exactly match the specified boolean value.\n If the field value doesn't match, an error message is generated.\n\n ```proto\n message MyBool {\n // value must equal true\n bool value = 1 [(buf.validate.field).bool.const = true];\n }\n ```\n"},{"path":[4,18,2,0,4],"span":[3030,2,10]},{"path":[4,18,2,0,5],"span":[3030,11,15]},{"path":[4,18,2,0,1],"span":[3030,16,21]},{"path":[4,18,2,0,3],"span":[3030,24,25]},{"path":[4,18,2,0,8],"span":[3030,26,3033,4]},{"path":[4,18,2,0,8,1160,1,0],"span":[3030,27,3033,3]},{"path":[4,18,2,0,8,1160,1,0,1],"span":[3031,4,20]},{"path":[4,18,2,0,8,1160,1,0,3],"span":[3032,4,114]},{"path":[4,18,2,1],"span":[3047,2,3050,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyBool {\n bool value = 1 [\n (buf.validate.field).bool.example = 1,\n (buf.validate.field).bool.example = 2\n ];\n }\n ```\n"},{"path":[4,18,2,1,4],"span":[3047,2,10]},{"path":[4,18,2,1,5],"span":[3047,11,15]},{"path":[4,18,2,1,1],"span":[3047,16,23]},{"path":[4,18,2,1,3],"span":[3047,26,27]},{"path":[4,18,2,1,8],"span":[3047,28,3050,4]},{"path":[4,18,2,1,8,1160,1,0],"span":[3047,29,3050,3]},{"path":[4,18,2,1,8,1160,1,0,1],"span":[3048,4,22]},{"path":[4,18,2,1,8,1160,1,0,3],"span":[3049,4,22]},{"path":[4,18,5],"span":[3062,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,18,5,0],"span":[3062,13,24]},{"path":[4,18,5,0,1],"span":[3062,13,17]},{"path":[4,18,5,0,2],"span":[3062,21,24]},{"path":[4,19],"span":[3067,0,3813,1],"leadingComments":" StringRules describes the rules applied to `string` values These\n rules may also be applied to the `google.protobuf.StringValue` Well-Known-Type.\n"},{"path":[4,19,1],"span":[3067,8,19]},{"path":[4,19,2,0],"span":[3077,2,3080,5],"leadingComments":" `const` requires the field value to exactly match the specified value. If\n the field value doesn't match, an error message is generated.\n\n ```proto\n message MyString {\n // value must equal `hello`\n string value = 1 [(buf.validate.field).string.const = \"hello\"];\n }\n ```\n"},{"path":[4,19,2,0,4],"span":[3077,2,10]},{"path":[4,19,2,0,5],"span":[3077,11,17]},{"path":[4,19,2,0,1],"span":[3077,18,23]},{"path":[4,19,2,0,3],"span":[3077,26,27]},{"path":[4,19,2,0,8],"span":[3077,28,3080,4]},{"path":[4,19,2,0,8,1160,1,0],"span":[3077,29,3080,3]},{"path":[4,19,2,0,8,1160,1,0,1],"span":[3078,4,22]},{"path":[4,19,2,0,8,1160,1,0,3],"span":[3079,4,116]},{"path":[4,19,2,1],"span":[3093,2,3096,5],"leadingComments":" `len` dictates that the field value must have the specified\n number of characters (Unicode code points), which may differ from the number\n of bytes in the string. If the field value does not meet the specified\n length, an error message will be generated.\n\n ```proto\n message MyString {\n // value length must be 5 characters\n string value = 1 [(buf.validate.field).string.len = 5];\n }\n ```\n"},{"path":[4,19,2,1,4],"span":[3093,2,10]},{"path":[4,19,2,1,5],"span":[3093,11,17]},{"path":[4,19,2,1,1],"span":[3093,18,21]},{"path":[4,19,2,1,3],"span":[3093,24,26]},{"path":[4,19,2,1,8],"span":[3093,27,3096,4]},{"path":[4,19,2,1,8,1160,1,0],"span":[3093,28,3096,3]},{"path":[4,19,2,1,8,1160,1,0,1],"span":[3094,4,20]},{"path":[4,19,2,1,8,1160,1,0,3],"span":[3095,4,112]},{"path":[4,19,2,2],"span":[3109,2,3112,5],"leadingComments":" `min_len` specifies that the field value must have at least the specified\n number of characters (Unicode code points), which may differ from the number\n of bytes in the string. If the field value contains fewer characters, an error\n message will be generated.\n\n ```proto\n message MyString {\n // value length must be at least 3 characters\n string value = 1 [(buf.validate.field).string.min_len = 3];\n }\n ```\n"},{"path":[4,19,2,2,4],"span":[3109,2,10]},{"path":[4,19,2,2,5],"span":[3109,11,17]},{"path":[4,19,2,2,1],"span":[3109,18,25]},{"path":[4,19,2,2,3],"span":[3109,28,29]},{"path":[4,19,2,2,8],"span":[3109,30,3112,4]},{"path":[4,19,2,2,8,1160,1,0],"span":[3109,31,3112,3]},{"path":[4,19,2,2,8,1160,1,0,1],"span":[3110,4,24]},{"path":[4,19,2,2,8,1160,1,0,3],"span":[3111,4,128]},{"path":[4,19,2,3],"span":[3125,2,3128,5],"leadingComments":" `max_len` specifies that the field value must have no more than the specified\n number of characters (Unicode code points), which may differ from the\n number of bytes in the string. If the field value contains more characters,\n an error message will be generated.\n\n ```proto\n message MyString {\n // value length must be at most 10 characters\n string value = 1 [(buf.validate.field).string.max_len = 10];\n }\n ```\n"},{"path":[4,19,2,3,4],"span":[3125,2,10]},{"path":[4,19,2,3,5],"span":[3125,11,17]},{"path":[4,19,2,3,1],"span":[3125,18,25]},{"path":[4,19,2,3,3],"span":[3125,28,29]},{"path":[4,19,2,3,8],"span":[3125,30,3128,4]},{"path":[4,19,2,3,8,1160,1,0],"span":[3125,31,3128,3]},{"path":[4,19,2,3,8,1160,1,0,1],"span":[3126,4,24]},{"path":[4,19,2,3,8,1160,1,0,3],"span":[3127,4,127]},{"path":[4,19,2,4],"span":[3140,2,3143,5],"leadingComments":" `len_bytes` dictates that the field value must have the specified number of\n bytes. If the field value does not match the specified length in bytes,\n an error message will be generated.\n\n ```proto\n message MyString {\n // value length must be 6 bytes\n string value = 1 [(buf.validate.field).string.len_bytes = 6];\n }\n ```\n"},{"path":[4,19,2,4,4],"span":[3140,2,10]},{"path":[4,19,2,4,5],"span":[3140,11,17]},{"path":[4,19,2,4,1],"span":[3140,18,27]},{"path":[4,19,2,4,3],"span":[3140,30,32]},{"path":[4,19,2,4,8],"span":[3140,33,3143,4]},{"path":[4,19,2,4,8,1160,1,0],"span":[3140,34,3143,3]},{"path":[4,19,2,4,8,1160,1,0,1],"span":[3141,4,26]},{"path":[4,19,2,4,8,1160,1,0,3],"span":[3142,4,126]},{"path":[4,19,2,5],"span":[3156,2,3159,5],"leadingComments":" `min_bytes` specifies that the field value must have at least the specified\n number of bytes. If the field value contains fewer bytes, an error message\n will be generated.\n\n ```proto\n message MyString {\n // value length must be at least 4 bytes\n string value = 1 [(buf.validate.field).string.min_bytes = 4];\n }\n\n ```\n"},{"path":[4,19,2,5,4],"span":[3156,2,10]},{"path":[4,19,2,5,5],"span":[3156,11,17]},{"path":[4,19,2,5,1],"span":[3156,18,27]},{"path":[4,19,2,5,3],"span":[3156,30,31]},{"path":[4,19,2,5,8],"span":[3156,32,3159,4]},{"path":[4,19,2,5,8,1160,1,0],"span":[3156,33,3159,3]},{"path":[4,19,2,5,8,1160,1,0,1],"span":[3157,4,26]},{"path":[4,19,2,5,8,1160,1,0,3],"span":[3158,4,134]},{"path":[4,19,2,6],"span":[3171,2,3174,5],"leadingComments":" `max_bytes` specifies that the field value must have no more than the\nspecified number of bytes. If the field value contains more bytes, an\n error message will be generated.\n\n ```proto\n message MyString {\n // value length must be at most 8 bytes\n string value = 1 [(buf.validate.field).string.max_bytes = 8];\n }\n ```\n"},{"path":[4,19,2,6,4],"span":[3171,2,10]},{"path":[4,19,2,6,5],"span":[3171,11,17]},{"path":[4,19,2,6,1],"span":[3171,18,27]},{"path":[4,19,2,6,3],"span":[3171,30,31]},{"path":[4,19,2,6,8],"span":[3171,32,3174,4]},{"path":[4,19,2,6,8,1160,1,0],"span":[3171,33,3174,3]},{"path":[4,19,2,6,8,1160,1,0,1],"span":[3172,4,26]},{"path":[4,19,2,6,8,1160,1,0,3],"span":[3173,4,133]},{"path":[4,19,2,7],"span":[3187,2,3190,5],"leadingComments":" `pattern` specifies that the field value must match the specified\n regular expression (RE2 syntax), with the expression provided without any\n delimiters. If the field value doesn't match the regular expression, an\n error message will be generated.\n\n ```proto\n message MyString {\n // value does not match regex pattern `^[a-zA-Z]//$`\n string value = 1 [(buf.validate.field).string.pattern = \"^[a-zA-Z]//$\"];\n }\n ```\n"},{"path":[4,19,2,7,4],"span":[3187,2,10]},{"path":[4,19,2,7,5],"span":[3187,11,17]},{"path":[4,19,2,7,1],"span":[3187,18,25]},{"path":[4,19,2,7,3],"span":[3187,28,29]},{"path":[4,19,2,7,8],"span":[3187,30,3190,4]},{"path":[4,19,2,7,8,1160,1,0],"span":[3187,31,3190,3]},{"path":[4,19,2,7,8,1160,1,0,1],"span":[3188,4,24]},{"path":[4,19,2,7,8,1160,1,0,3],"span":[3189,4,119]},{"path":[4,19,2,8],"span":[3203,2,3206,5],"leadingComments":" `prefix` specifies that the field value must have the\nspecified substring at the beginning of the string. If the field value\n doesn't start with the specified prefix, an error message will be\n generated.\n\n ```proto\n message MyString {\n // value does not have prefix `pre`\n string value = 1 [(buf.validate.field).string.prefix = \"pre\"];\n }\n ```\n"},{"path":[4,19,2,8,4],"span":[3203,2,10]},{"path":[4,19,2,8,5],"span":[3203,11,17]},{"path":[4,19,2,8,1],"span":[3203,18,24]},{"path":[4,19,2,8,3],"span":[3203,27,28]},{"path":[4,19,2,8,8],"span":[3203,29,3206,4]},{"path":[4,19,2,8,8,1160,1,0],"span":[3203,30,3206,3]},{"path":[4,19,2,8,8,1160,1,0,1],"span":[3204,4,23]},{"path":[4,19,2,8,8,1160,1,0,3],"span":[3205,4,112]},{"path":[4,19,2,9],"span":[3218,2,3221,5],"leadingComments":" `suffix` specifies that the field value must have the\nspecified substring at the end of the string. If the field value doesn't\n end with the specified suffix, an error message will be generated.\n\n ```proto\n message MyString {\n // value does not have suffix `post`\n string value = 1 [(buf.validate.field).string.suffix = \"post\"];\n }\n ```\n"},{"path":[4,19,2,9,4],"span":[3218,2,10]},{"path":[4,19,2,9,5],"span":[3218,11,17]},{"path":[4,19,2,9,1],"span":[3218,18,24]},{"path":[4,19,2,9,3],"span":[3218,27,28]},{"path":[4,19,2,9,8],"span":[3218,29,3221,4]},{"path":[4,19,2,9,8,1160,1,0],"span":[3218,30,3221,3]},{"path":[4,19,2,9,8,1160,1,0,1],"span":[3219,4,23]},{"path":[4,19,2,9,8,1160,1,0,3],"span":[3220,4,110]},{"path":[4,19,2,10],"span":[3233,2,3236,5],"leadingComments":" `contains` specifies that the field value must have the\nspecified substring anywhere in the string. If the field value doesn't\n contain the specified substring, an error message will be generated.\n\n ```proto\n message MyString {\n // value does not contain substring `inside`.\n string value = 1 [(buf.validate.field).string.contains = \"inside\"];\n }\n ```\n"},{"path":[4,19,2,10,4],"span":[3233,2,10]},{"path":[4,19,2,10,5],"span":[3233,11,17]},{"path":[4,19,2,10,1],"span":[3233,18,26]},{"path":[4,19,2,10,3],"span":[3233,29,30]},{"path":[4,19,2,10,8],"span":[3233,31,3236,4]},{"path":[4,19,2,10,8,1160,1,0],"span":[3233,32,3236,3]},{"path":[4,19,2,10,8,1160,1,0,1],"span":[3234,4,25]},{"path":[4,19,2,10,8,1160,1,0,3],"span":[3235,4,120]},{"path":[4,19,2,11],"span":[3248,2,3251,5],"leadingComments":" `not_contains` specifies that the field value must not have the\nspecified substring anywhere in the string. If the field value contains\n the specified substring, an error message will be generated.\n\n ```proto\n message MyString {\n // value contains substring `inside`.\n string value = 1 [(buf.validate.field).string.not_contains = \"inside\"];\n }\n ```\n"},{"path":[4,19,2,11,4],"span":[3248,2,10]},{"path":[4,19,2,11,5],"span":[3248,11,17]},{"path":[4,19,2,11,1],"span":[3248,18,30]},{"path":[4,19,2,11,3],"span":[3248,33,35]},{"path":[4,19,2,11,8],"span":[3248,36,3251,4]},{"path":[4,19,2,11,8,1160,1,0],"span":[3248,37,3251,3]},{"path":[4,19,2,11,8,1160,1,0,1],"span":[3249,4,29]},{"path":[4,19,2,11,8,1160,1,0,3],"span":[3250,4,119]},{"path":[4,19,2,12],"span":[3263,2,3266,5],"leadingComments":" `in` specifies that the field value must be equal to one of the specified\n values. If the field value isn't one of the specified values, an error\n message will be generated.\n\n ```proto\n message MyString {\n // value must be in list [\"apple\", \"banana\"]\n string value = 1 [(buf.validate.field).string.in = \"apple\", (buf.validate.field).string.in = \"banana\"];\n }\n ```\n"},{"path":[4,19,2,12,4],"span":[3263,2,10]},{"path":[4,19,2,12,5],"span":[3263,11,17]},{"path":[4,19,2,12,1],"span":[3263,18,20]},{"path":[4,19,2,12,3],"span":[3263,23,25]},{"path":[4,19,2,12,8],"span":[3263,26,3266,4]},{"path":[4,19,2,12,8,1160,1,0],"span":[3263,27,3266,3]},{"path":[4,19,2,12,8,1160,1,0,1],"span":[3264,4,19]},{"path":[4,19,2,12,8,1160,1,0,3],"span":[3265,4,116]},{"path":[4,19,2,13],"span":[3277,2,3280,5],"leadingComments":" `not_in` specifies that the field value cannot be equal to any\n of the specified values. If the field value is one of the specified values,\n an error message will be generated.\n ```proto\n message MyString {\n // value must not be in list [\"orange\", \"grape\"]\n string value = 1 [(buf.validate.field).string.not_in = \"orange\", (buf.validate.field).string.not_in = \"grape\"];\n }\n ```\n"},{"path":[4,19,2,13,4],"span":[3277,2,10]},{"path":[4,19,2,13,5],"span":[3277,11,17]},{"path":[4,19,2,13,1],"span":[3277,18,24]},{"path":[4,19,2,13,3],"span":[3277,27,29]},{"path":[4,19,2,13,8],"span":[3277,30,3280,4]},{"path":[4,19,2,13,8,1160,1,0],"span":[3277,31,3280,3]},{"path":[4,19,2,13,8,1160,1,0,1],"span":[3278,4,23]},{"path":[4,19,2,13,8,1160,1,0,3],"span":[3279,4,99]},{"path":[4,19,8,0],"span":[3284,2,3769,3],"leadingComments":" `WellKnown` rules provide advanced rules against common string\n patterns.\n"},{"path":[4,19,8,0,1],"span":[3284,8,18]},{"path":[4,19,2,14],"span":[3301,4,3312,6],"leadingComments":" `email` specifies that the field value must be a valid email address, for\n example \"foo@example.com\".\n\n Conforms to the definition for a valid email address from the [HTML standard](https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address).\n Note that this standard willfully deviates from [RFC 5322](https://datatracker.ietf.org/doc/html/rfc5322),\n which allows many unexpected forms of email addresses and will easily match\n a typographical error.\n\n If the field value isn't a valid email address, an error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid email address\n string value = 1 [(buf.validate.field).string.email = true];\n }\n ```\n"},{"path":[4,19,2,14,5],"span":[3301,4,8]},{"path":[4,19,2,14,1],"span":[3301,9,14]},{"path":[4,19,2,14,3],"span":[3301,17,19]},{"path":[4,19,2,14,8],"span":[3301,20,3312,5]},{"path":[4,19,2,14,8,1160,1,0],"span":[3302,6,3306,7]},{"path":[4,19,2,14,8,1160,1,0,1],"span":[3303,8,26]},{"path":[4,19,2,14,8,1160,1,0,2],"span":[3304,8,54]},{"path":[4,19,2,14,8,1160,1,0,3],"span":[3305,8,66]},{"path":[4,19,2,14,8,1160,1,1],"span":[3307,6,3311,7]},{"path":[4,19,2,14,8,1160,1,1,1],"span":[3308,8,32]},{"path":[4,19,2,14,8,1160,1,1,2],"span":[3309,8,69]},{"path":[4,19,2,14,8,1160,1,1,3],"span":[3310,8,48]},{"path":[4,19,2,15],"span":[3333,4,3344,6],"leadingComments":" `hostname` specifies that the field value must be a valid hostname, for\n example \"foo.example.com\".\n\n A valid hostname follows the rules below:\n - The name consists of one or more labels, separated by a dot (\".\").\n - Each label can be 1 to 63 alphanumeric characters.\n - A label can contain hyphens (\"-\"), but must not start or end with a hyphen.\n - The right-most label must not be digits only.\n - The name can have a trailing dot—for example, \"foo.example.com.\".\n - The name can be 253 characters at most, excluding the optional trailing dot.\n\n If the field value isn't a valid hostname, an error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid hostname\n string value = 1 [(buf.validate.field).string.hostname = true];\n }\n ```\n"},{"path":[4,19,2,15,5],"span":[3333,4,8]},{"path":[4,19,2,15,1],"span":[3333,9,17]},{"path":[4,19,2,15,3],"span":[3333,20,22]},{"path":[4,19,2,15,8],"span":[3333,23,3344,5]},{"path":[4,19,2,15,8,1160,1,0],"span":[3334,6,3338,7]},{"path":[4,19,2,15,8,1160,1,0,1],"span":[3335,8,29]},{"path":[4,19,2,15,8,1160,1,0,2],"span":[3336,8,49]},{"path":[4,19,2,15,8,1160,1,0,3],"span":[3337,8,72]},{"path":[4,19,2,15,8,1160,1,1],"span":[3339,6,3343,7]},{"path":[4,19,2,15,8,1160,1,1,1],"span":[3340,8,35]},{"path":[4,19,2,15,8,1160,1,1,2],"span":[3341,8,64]},{"path":[4,19,2,15,8,1160,1,1,3],"span":[3342,8,51]},{"path":[4,19,2,16],"span":[3364,4,3375,6],"leadingComments":" `ip` specifies that the field value must be a valid IP (v4 or v6) address.\n\n IPv4 addresses are expected in the dotted decimal format—for example, \"192.168.5.21\".\n IPv6 addresses are expected in their text representation—for example, \"::1\",\n or \"2001:0DB8:ABCD:0012::0\".\n\n Both formats are well-defined in the internet standard [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986).\n Zone identifiers for IPv6 addresses (for example, \"fe80::a%en1\") are supported.\n\n If the field value isn't a valid IP address, an error message will be\n generated.\n\n ```proto\n message MyString {\n // value must be a valid IP address\n string value = 1 [(buf.validate.field).string.ip = true];\n }\n ```\n"},{"path":[4,19,2,16,5],"span":[3364,4,8]},{"path":[4,19,2,16,1],"span":[3364,9,11]},{"path":[4,19,2,16,3],"span":[3364,14,16]},{"path":[4,19,2,16,8],"span":[3364,17,3375,5]},{"path":[4,19,2,16,8,1160,1,0],"span":[3365,6,3369,7]},{"path":[4,19,2,16,8,1160,1,0,1],"span":[3366,8,23]},{"path":[4,19,2,16,8,1160,1,0,2],"span":[3367,8,51]},{"path":[4,19,2,16,8,1160,1,0,3],"span":[3368,8,60]},{"path":[4,19,2,16,8,1160,1,1],"span":[3370,6,3374,7]},{"path":[4,19,2,16,8,1160,1,1,1],"span":[3371,8,29]},{"path":[4,19,2,16,8,1160,1,1,2],"span":[3372,8,66]},{"path":[4,19,2,16,8,1160,1,1,3],"span":[3373,8,45]},{"path":[4,19,2,17],"span":[3387,4,3398,6],"leadingComments":" `ipv4` specifies that the field value must be a valid IPv4 address—for\n example \"192.168.5.21\". If the field value isn't a valid IPv4 address, an\n error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid IPv4 address\n string value = 1 [(buf.validate.field).string.ipv4 = true];\n }\n ```\n"},{"path":[4,19,2,17,5],"span":[3387,4,8]},{"path":[4,19,2,17,1],"span":[3387,9,13]},{"path":[4,19,2,17,3],"span":[3387,16,18]},{"path":[4,19,2,17,8],"span":[3387,19,3398,5]},{"path":[4,19,2,17,8,1160,1,0],"span":[3388,6,3392,7]},{"path":[4,19,2,17,8,1160,1,0,1],"span":[3389,8,25]},{"path":[4,19,2,17,8,1160,1,0,2],"span":[3390,8,53]},{"path":[4,19,2,17,8,1160,1,0,3],"span":[3391,8,63]},{"path":[4,19,2,17,8,1160,1,1],"span":[3393,6,3397,7]},{"path":[4,19,2,17,8,1160,1,1,1],"span":[3394,8,31]},{"path":[4,19,2,17,8,1160,1,1,2],"span":[3395,8,68]},{"path":[4,19,2,17,8,1160,1,1,3],"span":[3396,8,47]},{"path":[4,19,2,18],"span":[3410,4,3421,6],"leadingComments":" `ipv6` specifies that the field value must be a valid IPv6 address—for\n example \"::1\", or \"d7a:115c:a1e0:ab12:4843:cd96:626b:430b\". If the field\n value is not a valid IPv6 address, an error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid IPv6 address\n string value = 1 [(buf.validate.field).string.ipv6 = true];\n }\n ```\n"},{"path":[4,19,2,18,5],"span":[3410,4,8]},{"path":[4,19,2,18,1],"span":[3410,9,13]},{"path":[4,19,2,18,3],"span":[3410,16,18]},{"path":[4,19,2,18,8],"span":[3410,19,3421,5]},{"path":[4,19,2,18,8,1160,1,0],"span":[3411,6,3415,7]},{"path":[4,19,2,18,8,1160,1,0,1],"span":[3412,8,25]},{"path":[4,19,2,18,8,1160,1,0,2],"span":[3413,8,53]},{"path":[4,19,2,18,8,1160,1,0,3],"span":[3414,8,63]},{"path":[4,19,2,18,8,1160,1,1],"span":[3416,6,3420,7]},{"path":[4,19,2,18,8,1160,1,1,1],"span":[3417,8,31]},{"path":[4,19,2,18,8,1160,1,1,2],"span":[3418,8,68]},{"path":[4,19,2,18,8,1160,1,1,3],"span":[3419,8,47]},{"path":[4,19,2,19],"span":[3437,4,3448,6],"leadingComments":" `uri` specifies that the field value must be a valid URI, for example\n \"https://example.com/foo/bar?baz=quux#frag\".\n\n URI is defined in the internet standard [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986).\n Zone Identifiers in IPv6 address literals are supported ([RFC 6874](https://datatracker.ietf.org/doc/html/rfc6874)).\n\n If the field value isn't a valid URI, an error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid URI\n string value = 1 [(buf.validate.field).string.uri = true];\n }\n ```\n"},{"path":[4,19,2,19,5],"span":[3437,4,8]},{"path":[4,19,2,19,1],"span":[3437,9,12]},{"path":[4,19,2,19,3],"span":[3437,15,17]},{"path":[4,19,2,19,8],"span":[3437,18,3448,5]},{"path":[4,19,2,19,8,1160,1,0],"span":[3438,6,3442,7]},{"path":[4,19,2,19,8,1160,1,0,1],"span":[3439,8,24]},{"path":[4,19,2,19,8,1160,1,0,2],"span":[3440,8,44]},{"path":[4,19,2,19,8,1160,1,0,3],"span":[3441,8,62]},{"path":[4,19,2,19,8,1160,1,1],"span":[3443,6,3447,7]},{"path":[4,19,2,19,8,1160,1,1,1],"span":[3444,8,30]},{"path":[4,19,2,19,8,1160,1,1,2],"span":[3445,8,59]},{"path":[4,19,2,19,8,1160,1,1,3],"span":[3446,8,46]},{"path":[4,19,2,20],"span":[3467,4,3471,7],"leadingComments":" `uri_ref` specifies that the field value must be a valid URI Reference—either\n a URI such as \"https://example.com/foo/bar?baz=quux#frag\", or a Relative\n Reference such as \"./foo/bar?query\".\n\n URI, URI Reference, and Relative Reference are defined in the internet\n standard [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986). Zone\n Identifiers in IPv6 address literals are supported ([RFC 6874](https://datatracker.ietf.org/doc/html/rfc6874)).\n\n If the field value isn't a valid URI Reference, an error message will be\n generated.\n\n ```proto\n message MyString {\n // value must be a valid URI Reference\n string value = 1 [(buf.validate.field).string.uri_ref = true];\n }\n ```\n"},{"path":[4,19,2,20,5],"span":[3467,4,8]},{"path":[4,19,2,20,1],"span":[3467,9,16]},{"path":[4,19,2,20,3],"span":[3467,19,21]},{"path":[4,19,2,20,8],"span":[3467,22,3471,6]},{"path":[4,19,2,20,8,1160,1,0],"span":[3467,23,3471,5]},{"path":[4,19,2,20,8,1160,1,0,1],"span":[3468,6,26]},{"path":[4,19,2,20,8,1160,1,0,2],"span":[3469,6,52]},{"path":[4,19,2,20,8,1160,1,0,3],"span":[3470,6,53]},{"path":[4,19,2,21],"span":[3484,4,3495,6],"leadingComments":" `address` specifies that the field value must be either a valid hostname\n (for example, \"example.com\"), or a valid IP (v4 or v6) address (for example,\n \"192.168.0.1\", or \"::1\"). If the field value isn't a valid hostname or IP,\n an error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid hostname, or ip address\n string value = 1 [(buf.validate.field).string.address = true];\n }\n ```\n"},{"path":[4,19,2,21,5],"span":[3484,4,8]},{"path":[4,19,2,21,1],"span":[3484,9,16]},{"path":[4,19,2,21,3],"span":[3484,19,21]},{"path":[4,19,2,21,8],"span":[3484,22,3495,5]},{"path":[4,19,2,21,8,1160,1,0],"span":[3485,6,3489,7]},{"path":[4,19,2,21,8,1160,1,0,1],"span":[3486,8,28]},{"path":[4,19,2,21,8,1160,1,0,2],"span":[3487,8,64]},{"path":[4,19,2,21,8,1160,1,0,3],"span":[3488,8,86]},{"path":[4,19,2,21,8,1160,1,1],"span":[3490,6,3494,7]},{"path":[4,19,2,21,8,1160,1,1,1],"span":[3491,8,34]},{"path":[4,19,2,21,8,1160,1,1,2],"span":[3492,8,79]},{"path":[4,19,2,21,8,1160,1,1,3],"span":[3493,8,50]},{"path":[4,19,2,22],"span":[3507,4,3518,6],"leadingComments":" `uuid` specifies that the field value must be a valid UUID as defined by\n [RFC 4122](https://datatracker.ietf.org/doc/html/rfc4122#section-4.1.2). If the\n field value isn't a valid UUID, an error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid UUID\n string value = 1 [(buf.validate.field).string.uuid = true];\n }\n ```\n"},{"path":[4,19,2,22,5],"span":[3507,4,8]},{"path":[4,19,2,22,1],"span":[3507,9,13]},{"path":[4,19,2,22,3],"span":[3507,16,18]},{"path":[4,19,2,22,8],"span":[3507,19,3518,5]},{"path":[4,19,2,22,8,1160,1,0],"span":[3508,6,3512,7]},{"path":[4,19,2,22,8,1160,1,0,1],"span":[3509,8,25]},{"path":[4,19,2,22,8,1160,1,0,2],"span":[3510,8,45]},{"path":[4,19,2,22,8,1160,1,0,3],"span":[3511,8,144]},{"path":[4,19,2,22,8,1160,1,1],"span":[3513,6,3517,7]},{"path":[4,19,2,22,8,1160,1,1,1],"span":[3514,8,31]},{"path":[4,19,2,22,8,1160,1,1,2],"span":[3515,8,60]},{"path":[4,19,2,22,8,1160,1,1,3],"span":[3516,8,47]},{"path":[4,19,2,23],"span":[3531,4,3542,6],"leadingComments":" `tuuid` (trimmed UUID) specifies that the field value must be a valid UUID as\n defined by [RFC 4122](https://datatracker.ietf.org/doc/html/rfc4122#section-4.1.2) with all dashes\n omitted. If the field value isn't a valid UUID without dashes, an error message\n will be generated.\n\n ```proto\n message MyString {\n // value must be a valid trimmed UUID\n string value = 1 [(buf.validate.field).string.tuuid = true];\n }\n ```\n"},{"path":[4,19,2,23,5],"span":[3531,4,8]},{"path":[4,19,2,23,1],"span":[3531,9,14]},{"path":[4,19,2,23,3],"span":[3531,17,19]},{"path":[4,19,2,23,8],"span":[3531,20,3542,5]},{"path":[4,19,2,23,8,1160,1,0],"span":[3532,6,3536,7]},{"path":[4,19,2,23,8,1160,1,0,1],"span":[3533,8,26]},{"path":[4,19,2,23,8,1160,1,0,2],"span":[3534,8,53]},{"path":[4,19,2,23,8,1160,1,0,3],"span":[3535,8,85]},{"path":[4,19,2,23,8,1160,1,1],"span":[3537,6,3541,7]},{"path":[4,19,2,23,8,1160,1,1,1],"span":[3538,8,32]},{"path":[4,19,2,23,8,1160,1,1,2],"span":[3539,8,68]},{"path":[4,19,2,23,8,1160,1,1,3],"span":[3540,8,48]},{"path":[4,19,2,24],"span":[3555,4,3566,6],"leadingComments":" `ip_with_prefixlen` specifies that the field value must be a valid IP\n (v4 or v6) address with prefix length—for example, \"192.168.5.21/16\" or\n \"2001:0DB8:ABCD:0012::F1/64\". If the field value isn't a valid IP with\n prefix length, an error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid IP with prefix length\n string value = 1 [(buf.validate.field).string.ip_with_prefixlen = true];\n }\n ```\n"},{"path":[4,19,2,24,5],"span":[3555,4,8]},{"path":[4,19,2,24,1],"span":[3555,9,26]},{"path":[4,19,2,24,3],"span":[3555,29,31]},{"path":[4,19,2,24,8],"span":[3555,32,3566,5]},{"path":[4,19,2,24,8,1160,1,0],"span":[3556,6,3560,7]},{"path":[4,19,2,24,8,1160,1,0,1],"span":[3557,8,38]},{"path":[4,19,2,24,8,1160,1,0,2],"span":[3558,8,50]},{"path":[4,19,2,24,8,1160,1,0,3],"span":[3559,8,81]},{"path":[4,19,2,24,8,1160,1,1],"span":[3561,6,3565,7]},{"path":[4,19,2,24,8,1160,1,1,1],"span":[3562,8,44]},{"path":[4,19,2,24,8,1160,1,1,2],"span":[3563,8,65]},{"path":[4,19,2,24,8,1160,1,1,3],"span":[3564,8,60]},{"path":[4,19,2,25],"span":[3579,4,3590,6],"leadingComments":" `ipv4_with_prefixlen` specifies that the field value must be a valid\n IPv4 address with prefix length—for example, \"192.168.5.21/16\". If the\n field value isn't a valid IPv4 address with prefix length, an error\n message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid IPv4 address with prefix length\n string value = 1 [(buf.validate.field).string.ipv4_with_prefixlen = true];\n }\n ```\n"},{"path":[4,19,2,25,5],"span":[3579,4,8]},{"path":[4,19,2,25,1],"span":[3579,9,28]},{"path":[4,19,2,25,3],"span":[3579,31,33]},{"path":[4,19,2,25,8],"span":[3579,34,3590,5]},{"path":[4,19,2,25,8,1160,1,0],"span":[3580,6,3584,7]},{"path":[4,19,2,25,8,1160,1,0,1],"span":[3581,8,40]},{"path":[4,19,2,25,8,1160,1,0,2],"span":[3582,8,72]},{"path":[4,19,2,25,8,1160,1,0,3],"span":[3583,8,84]},{"path":[4,19,2,25,8,1160,1,1],"span":[3585,6,3589,7]},{"path":[4,19,2,25,8,1160,1,1,1],"span":[3586,8,46]},{"path":[4,19,2,25,8,1160,1,1,2],"span":[3587,8,87]},{"path":[4,19,2,25,8,1160,1,1,3],"span":[3588,8,62]},{"path":[4,19,2,26],"span":[3603,4,3614,6],"leadingComments":" `ipv6_with_prefixlen` specifies that the field value must be a valid\n IPv6 address with prefix length—for example, \"2001:0DB8:ABCD:0012::F1/64\".\n If the field value is not a valid IPv6 address with prefix length,\n an error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid IPv6 address prefix length\n string value = 1 [(buf.validate.field).string.ipv6_with_prefixlen = true];\n }\n ```\n"},{"path":[4,19,2,26,5],"span":[3603,4,8]},{"path":[4,19,2,26,1],"span":[3603,9,28]},{"path":[4,19,2,26,3],"span":[3603,31,33]},{"path":[4,19,2,26,8],"span":[3603,34,3614,5]},{"path":[4,19,2,26,8,1160,1,0],"span":[3604,6,3608,7]},{"path":[4,19,2,26,8,1160,1,0,1],"span":[3605,8,40]},{"path":[4,19,2,26,8,1160,1,0,2],"span":[3606,8,72]},{"path":[4,19,2,26,8,1160,1,0,3],"span":[3607,8,84]},{"path":[4,19,2,26,8,1160,1,1],"span":[3609,6,3613,7]},{"path":[4,19,2,26,8,1160,1,1,1],"span":[3610,8,46]},{"path":[4,19,2,26,8,1160,1,1,2],"span":[3611,8,87]},{"path":[4,19,2,26,8,1160,1,1,3],"span":[3612,8,62]},{"path":[4,19,2,27],"span":[3632,4,3643,6],"leadingComments":" `ip_prefix` specifies that the field value must be a valid IP (v4 or v6)\n prefix—for example, \"192.168.0.0/16\" or \"2001:0DB8:ABCD:0012::0/64\".\n\n The prefix must have all zeros for the unmasked bits. For example,\n \"2001:0DB8:ABCD:0012::0/64\" designates the left-most 64 bits for the\n prefix, and the remaining 64 bits must be zero.\n\n If the field value isn't a valid IP prefix, an error message will be\n generated.\n\n ```proto\n message MyString {\n // value must be a valid IP prefix\n string value = 1 [(buf.validate.field).string.ip_prefix = true];\n }\n ```\n"},{"path":[4,19,2,27,5],"span":[3632,4,8]},{"path":[4,19,2,27,1],"span":[3632,9,18]},{"path":[4,19,2,27,3],"span":[3632,21,23]},{"path":[4,19,2,27,8],"span":[3632,24,3643,5]},{"path":[4,19,2,27,8,1160,1,0],"span":[3633,6,3637,7]},{"path":[4,19,2,27,8,1160,1,0,1],"span":[3634,8,30]},{"path":[4,19,2,27,8,1160,1,0,2],"span":[3635,8,50]},{"path":[4,19,2,27,8,1160,1,0,3],"span":[3636,8,77]},{"path":[4,19,2,27,8,1160,1,1],"span":[3638,6,3642,7]},{"path":[4,19,2,27,8,1160,1,1,1],"span":[3639,8,36]},{"path":[4,19,2,27,8,1160,1,1,2],"span":[3640,8,65]},{"path":[4,19,2,27,8,1160,1,1,3],"span":[3641,8,52]},{"path":[4,19,2,28],"span":[3661,4,3672,6],"leadingComments":" `ipv4_prefix` specifies that the field value must be a valid IPv4\n prefix, for example \"192.168.0.0/16\".\n\n The prefix must have all zeros for the unmasked bits. For example,\n \"192.168.0.0/16\" designates the left-most 16 bits for the prefix,\n and the remaining 16 bits must be zero.\n\n If the field value isn't a valid IPv4 prefix, an error message\n will be generated.\n\n ```proto\n message MyString {\n // value must be a valid IPv4 prefix\n string value = 1 [(buf.validate.field).string.ipv4_prefix = true];\n }\n ```\n"},{"path":[4,19,2,28,5],"span":[3661,4,8]},{"path":[4,19,2,28,1],"span":[3661,9,20]},{"path":[4,19,2,28,3],"span":[3661,23,25]},{"path":[4,19,2,28,8],"span":[3661,26,3672,5]},{"path":[4,19,2,28,8,1160,1,0],"span":[3662,6,3666,7]},{"path":[4,19,2,28,8,1160,1,0,1],"span":[3663,8,32]},{"path":[4,19,2,28,8,1160,1,0,2],"span":[3664,8,52]},{"path":[4,19,2,28,8,1160,1,0,3],"span":[3665,8,82]},{"path":[4,19,2,28,8,1160,1,1],"span":[3667,6,3671,7]},{"path":[4,19,2,28,8,1160,1,1,1],"span":[3668,8,38]},{"path":[4,19,2,28,8,1160,1,1,2],"span":[3669,8,67]},{"path":[4,19,2,28,8,1160,1,1,3],"span":[3670,8,54]},{"path":[4,19,2,29],"span":[3690,4,3701,6],"leadingComments":" `ipv6_prefix` specifies that the field value must be a valid IPv6 prefix—for\n example, \"2001:0DB8:ABCD:0012::0/64\".\n\n The prefix must have all zeros for the unmasked bits. For example,\n \"2001:0DB8:ABCD:0012::0/64\" designates the left-most 64 bits for the\n prefix, and the remaining 64 bits must be zero.\n\n If the field value is not a valid IPv6 prefix, an error message will be\n generated.\n\n ```proto\n message MyString {\n // value must be a valid IPv6 prefix\n string value = 1 [(buf.validate.field).string.ipv6_prefix = true];\n }\n ```\n"},{"path":[4,19,2,29,5],"span":[3690,4,8]},{"path":[4,19,2,29,1],"span":[3690,9,20]},{"path":[4,19,2,29,3],"span":[3690,23,25]},{"path":[4,19,2,29,8],"span":[3690,26,3701,5]},{"path":[4,19,2,29,8,1160,1,0],"span":[3691,6,3695,7]},{"path":[4,19,2,29,8,1160,1,0,1],"span":[3692,8,32]},{"path":[4,19,2,29,8,1160,1,0,2],"span":[3693,8,52]},{"path":[4,19,2,29,8,1160,1,0,3],"span":[3694,8,82]},{"path":[4,19,2,29,8,1160,1,1],"span":[3696,6,3700,7]},{"path":[4,19,2,29,8,1160,1,1,1],"span":[3697,8,38]},{"path":[4,19,2,29,8,1160,1,1,2],"span":[3698,8,67]},{"path":[4,19,2,29,8,1160,1,1,3],"span":[3699,8,54]},{"path":[4,19,2,30],"span":[3713,4,3724,6],"leadingComments":" `host_and_port` specifies that the field value must be valid host/port\n pair—for example, \"example.com:8080\".\n\n The host can be one of:\n- An IPv4 address in dotted decimal format—for example, \"192.168.5.21\".\n- An IPv6 address enclosed in square brackets—for example, \"[2001:0DB8:ABCD:0012::F1]\".\n- A hostname—for example, \"example.com\".\n\n The port is separated by a colon. It must be non-empty, with a decimal number\n in the range of 0-65535, inclusive.\n"},{"path":[4,19,2,30,5],"span":[3713,4,8]},{"path":[4,19,2,30,1],"span":[3713,9,22]},{"path":[4,19,2,30,3],"span":[3713,25,27]},{"path":[4,19,2,30,8],"span":[3713,28,3724,5]},{"path":[4,19,2,30,8,1160,1,0],"span":[3714,6,3718,7]},{"path":[4,19,2,30,8,1160,1,0,1],"span":[3715,8,34]},{"path":[4,19,2,30,8,1160,1,0,2],"span":[3716,8,84]},{"path":[4,19,2,30,8,1160,1,0,3],"span":[3717,8,84]},{"path":[4,19,2,30,8,1160,1,1],"span":[3719,6,3723,7]},{"path":[4,19,2,30,8,1160,1,1,1],"span":[3720,8,40]},{"path":[4,19,2,30,8,1160,1,1,2],"span":[3721,8,74]},{"path":[4,19,2,30,8,1160,1,1,3],"span":[3722,8,56]},{"path":[4,19,2,31],"span":[3746,4,3768,6],"leadingComments":" `well_known_regex` specifies a common well-known pattern\n defined as a regex. If the field value doesn't match the well-known\n regex, an error message will be generated.\n\n ```proto\n message MyString {\n // value must be a valid HTTP header value\n string value = 1 [(buf.validate.field).string.well_known_regex = KNOWN_REGEX_HTTP_HEADER_VALUE];\n }\n ```\n\n #### KnownRegex\n\n `well_known_regex` contains some well-known patterns.\n\n | Name | Number | Description |\n |-------------------------------|--------|-------------------------------------------|\n | KNOWN_REGEX_UNSPECIFIED | 0 | |\n | KNOWN_REGEX_HTTP_HEADER_NAME | 1 | HTTP header name as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2) |\n | KNOWN_REGEX_HTTP_HEADER_VALUE | 2 | HTTP header value as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.4) |\n"},{"path":[4,19,2,31,6],"span":[3746,4,14]},{"path":[4,19,2,31,1],"span":[3746,15,31]},{"path":[4,19,2,31,3],"span":[3746,34,36]},{"path":[4,19,2,31,8],"span":[3746,37,3768,5]},{"path":[4,19,2,31,8,1160,1,0],"span":[3747,6,3754,7]},{"path":[4,19,2,31,8,1160,1,0,1],"span":[3748,8,49]},{"path":[4,19,2,31,8,1160,1,0,2],"span":[3749,8,57]},{"path":[4,19,2,31,8,1160,1,0,3],"span":[3750,8,3753,42]},{"path":[4,19,2,31,8,1160,1,1],"span":[3755,6,3759,7]},{"path":[4,19,2,31,8,1160,1,1,1],"span":[3756,8,55]},{"path":[4,19,2,31,8,1160,1,1,2],"span":[3757,8,72]},{"path":[4,19,2,31,8,1160,1,1,3],"span":[3758,8,63]},{"path":[4,19,2,31,8,1160,1,2],"span":[3760,6,3767,7]},{"path":[4,19,2,31,8,1160,1,2,1],"span":[3761,8,50]},{"path":[4,19,2,31,8,1160,1,2,2],"span":[3762,8,58]},{"path":[4,19,2,31,8,1160,1,2,3],"span":[3763,8,3766,42]},{"path":[4,19,2,32],"span":[3783,2,28],"leadingComments":" This applies to regexes `HTTP_HEADER_NAME` and `HTTP_HEADER_VALUE` to\n enable strict header validation. By default, this is true, and HTTP header\n validations are [RFC-compliant](https://datatracker.ietf.org/doc/html/rfc7230#section-3). Setting to false will enable looser\n validations that only disallow `\\r\\n\\0` characters, which can be used to\n bypass header matching rules.\n\n ```proto\n message MyString {\n // The field `value` must have be a valid HTTP headers, but not enforced with strict rules.\n string value = 1 [(buf.validate.field).string.strict = false];\n }\n ```\n"},{"path":[4,19,2,32,4],"span":[3783,2,10]},{"path":[4,19,2,32,5],"span":[3783,11,15]},{"path":[4,19,2,32,1],"span":[3783,16,22]},{"path":[4,19,2,32,3],"span":[3783,25,27]},{"path":[4,19,2,33],"span":[3797,2,3800,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyString {\n string value = 1 [\n (buf.validate.field).string.example = \"hello\",\n (buf.validate.field).string.example = \"world\"\n ];\n }\n ```\n"},{"path":[4,19,2,33,4],"span":[3797,2,10]},{"path":[4,19,2,33,5],"span":[3797,11,17]},{"path":[4,19,2,33,1],"span":[3797,18,25]},{"path":[4,19,2,33,3],"span":[3797,28,30]},{"path":[4,19,2,33,8],"span":[3797,31,3800,4]},{"path":[4,19,2,33,8,1160,1,0],"span":[3797,32,3800,3]},{"path":[4,19,2,33,8,1160,1,0,1],"span":[3798,4,24]},{"path":[4,19,2,33,8,1160,1,0,3],"span":[3799,4,22]},{"path":[4,19,5],"span":[3812,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,19,5,0],"span":[3812,13,24]},{"path":[4,19,5,0,1],"span":[3812,13,17]},{"path":[4,19,5,0,2],"span":[3812,21,24]},{"path":[5,1],"span":[3816,0,3824,1],"leadingComments":" KnownRegex contains some well-known patterns.\n"},{"path":[5,1,1],"span":[3816,5,15]},{"path":[5,1,2,0],"span":[3817,2,30]},{"path":[5,1,2,0,1],"span":[3817,2,25]},{"path":[5,1,2,0,2],"span":[3817,28,29]},{"path":[5,1,2,1],"span":[3820,2,35],"leadingComments":" HTTP header name as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2).\n"},{"path":[5,1,2,1,1],"span":[3820,2,30]},{"path":[5,1,2,1,2],"span":[3820,33,34]},{"path":[5,1,2,2],"span":[3823,2,36],"leadingComments":" HTTP header value as defined by [RFC 7230](https://datatracker.ietf.org/doc/html/rfc7230#section-3.2.4).\n"},{"path":[5,1,2,2,1],"span":[3823,2,31]},{"path":[5,1,2,2,2],"span":[3823,34,35]},{"path":[4,20],"span":[3828,0,4077,1],"leadingComments":" BytesRules describe the rules applied to `bytes` values. These rules\n may also be applied to the `google.protobuf.BytesValue` Well-Known-Type.\n"},{"path":[4,20,1],"span":[3828,8,18]},{"path":[4,20,2,0],"span":[3838,2,3841,5],"leadingComments":" `const` requires the field value to exactly match the specified bytes\n value. If the field value doesn't match, an error message is generated.\n\n ```proto\n message MyBytes {\n // value must be \"\\x01\\x02\\x03\\x04\"\n bytes value = 1 [(buf.validate.field).bytes.const = \"\\x01\\x02\\x03\\x04\"];\n }\n ```\n"},{"path":[4,20,2,0,4],"span":[3838,2,10]},{"path":[4,20,2,0,5],"span":[3838,11,16]},{"path":[4,20,2,0,1],"span":[3838,17,22]},{"path":[4,20,2,0,3],"span":[3838,25,26]},{"path":[4,20,2,0,8],"span":[3838,27,3841,4]},{"path":[4,20,2,0,8,1160,1,0],"span":[3838,28,3841,3]},{"path":[4,20,2,0,8,1160,1,0,1],"span":[3839,4,21]},{"path":[4,20,2,0,8,1160,1,0,3],"span":[3840,4,111]},{"path":[4,20,2,1],"span":[3852,2,3855,5],"leadingComments":" `len` requires the field value to have the specified length in bytes.\n If the field value doesn't match, an error message is generated.\n\n ```proto\n message MyBytes {\n // value length must be 4 bytes.\n optional bytes value = 1 [(buf.validate.field).bytes.len = 4];\n }\n ```\n"},{"path":[4,20,2,1,4],"span":[3852,2,10]},{"path":[4,20,2,1,5],"span":[3852,11,17]},{"path":[4,20,2,1,1],"span":[3852,18,21]},{"path":[4,20,2,1,3],"span":[3852,24,26]},{"path":[4,20,2,1,8],"span":[3852,27,3855,4]},{"path":[4,20,2,1,8,1160,1,0],"span":[3852,28,3855,3]},{"path":[4,20,2,1,8,1160,1,0,1],"span":[3853,4,19]},{"path":[4,20,2,1,8,1160,1,0,3],"span":[3854,4,107]},{"path":[4,20,2,2],"span":[3867,2,3870,5],"leadingComments":" `min_len` requires the field value to have at least the specified minimum\n length in bytes.\n If the field value doesn't meet the requirement, an error message is generated.\n\n ```proto\n message MyBytes {\n // value length must be at least 2 bytes.\n optional bytes value = 1 [(buf.validate.field).bytes.min_len = 2];\n }\n ```\n"},{"path":[4,20,2,2,4],"span":[3867,2,10]},{"path":[4,20,2,2,5],"span":[3867,11,17]},{"path":[4,20,2,2,1],"span":[3867,18,25]},{"path":[4,20,2,2,3],"span":[3867,28,29]},{"path":[4,20,2,2,8],"span":[3867,30,3870,4]},{"path":[4,20,2,2,8,1160,1,0],"span":[3867,31,3870,3]},{"path":[4,20,2,2,8,1160,1,0,1],"span":[3868,4,23]},{"path":[4,20,2,2,8,1160,1,0,3],"span":[3869,4,123]},{"path":[4,20,2,3],"span":[3882,2,3885,5],"leadingComments":" `max_len` requires the field value to have at most the specified maximum\n length in bytes.\n If the field value exceeds the requirement, an error message is generated.\n\n ```proto\n message MyBytes {\n // value must be at most 6 bytes.\n optional bytes value = 1 [(buf.validate.field).bytes.max_len = 6];\n }\n ```\n"},{"path":[4,20,2,3,4],"span":[3882,2,10]},{"path":[4,20,2,3,5],"span":[3882,11,17]},{"path":[4,20,2,3,1],"span":[3882,18,25]},{"path":[4,20,2,3,3],"span":[3882,28,29]},{"path":[4,20,2,3,8],"span":[3882,30,3885,4]},{"path":[4,20,2,3,8,1160,1,0],"span":[3882,31,3885,3]},{"path":[4,20,2,3,8,1160,1,0,1],"span":[3883,4,23]},{"path":[4,20,2,3,8,1160,1,0,3],"span":[3884,4,115]},{"path":[4,20,2,4],"span":[3899,2,3902,5],"leadingComments":" `pattern` requires the field value to match the specified regular\n expression ([RE2 syntax](https://github.com/google/re2/wiki/Syntax)).\n The value of the field must be valid UTF-8 or validation will fail with a\n runtime error.\n If the field value doesn't match the pattern, an error message is generated.\n\n ```proto\n message MyBytes {\n // value must match regex pattern \"^[a-zA-Z0-9]+$\".\n optional bytes value = 1 [(buf.validate.field).bytes.pattern = \"^[a-zA-Z0-9]+$\"];\n }\n ```\n"},{"path":[4,20,2,4,4],"span":[3899,2,10]},{"path":[4,20,2,4,5],"span":[3899,11,17]},{"path":[4,20,2,4,1],"span":[3899,18,25]},{"path":[4,20,2,4,3],"span":[3899,28,29]},{"path":[4,20,2,4,8],"span":[3899,30,3902,4]},{"path":[4,20,2,4,8,1160,1,0],"span":[3899,31,3902,3]},{"path":[4,20,2,4,8,1160,1,0,1],"span":[3900,4,23]},{"path":[4,20,2,4,8,1160,1,0,3],"span":[3901,4,123]},{"path":[4,20,2,5],"span":[3914,2,3917,5],"leadingComments":" `prefix` requires the field value to have the specified bytes at the\n beginning of the string.\n If the field value doesn't meet the requirement, an error message is generated.\n\n ```proto\n message MyBytes {\n // value does not have prefix \\x01\\x02\n optional bytes value = 1 [(buf.validate.field).bytes.prefix = \"\\x01\\x02\"];\n }\n ```\n"},{"path":[4,20,2,5,4],"span":[3914,2,10]},{"path":[4,20,2,5,5],"span":[3914,11,16]},{"path":[4,20,2,5,1],"span":[3914,17,23]},{"path":[4,20,2,5,3],"span":[3914,26,27]},{"path":[4,20,2,5,8],"span":[3914,28,3917,4]},{"path":[4,20,2,5,8,1160,1,0],"span":[3914,29,3917,3]},{"path":[4,20,2,5,8,1160,1,0,1],"span":[3915,4,22]},{"path":[4,20,2,5,8,1160,1,0,3],"span":[3916,4,110]},{"path":[4,20,2,6],"span":[3929,2,3932,5],"leadingComments":" `suffix` requires the field value to have the specified bytes at the end\n of the string.\n If the field value doesn't meet the requirement, an error message is generated.\n\n ```proto\n message MyBytes {\n // value does not have suffix \\x03\\x04\n optional bytes value = 1 [(buf.validate.field).bytes.suffix = \"\\x03\\x04\"];\n }\n ```\n"},{"path":[4,20,2,6,4],"span":[3929,2,10]},{"path":[4,20,2,6,5],"span":[3929,11,16]},{"path":[4,20,2,6,1],"span":[3929,17,23]},{"path":[4,20,2,6,3],"span":[3929,26,27]},{"path":[4,20,2,6,8],"span":[3929,28,3932,4]},{"path":[4,20,2,6,8,1160,1,0],"span":[3929,29,3932,3]},{"path":[4,20,2,6,8,1160,1,0,1],"span":[3930,4,22]},{"path":[4,20,2,6,8,1160,1,0,3],"span":[3931,4,108]},{"path":[4,20,2,7],"span":[3944,2,3947,5],"leadingComments":" `contains` requires the field value to have the specified bytes anywhere in\n the string.\n If the field value doesn't meet the requirement, an error message is generated.\n\n ```protobuf\n message MyBytes {\n // value does not contain \\x02\\x03\n optional bytes value = 1 [(buf.validate.field).bytes.contains = \"\\x02\\x03\"];\n }\n ```\n"},{"path":[4,20,2,7,4],"span":[3944,2,10]},{"path":[4,20,2,7,5],"span":[3944,11,16]},{"path":[4,20,2,7,1],"span":[3944,17,25]},{"path":[4,20,2,7,3],"span":[3944,28,29]},{"path":[4,20,2,7,8],"span":[3944,30,3947,4]},{"path":[4,20,2,7,8,1160,1,0],"span":[3944,31,3947,3]},{"path":[4,20,2,7,8,1160,1,0,1],"span":[3945,4,24]},{"path":[4,20,2,7,8,1160,1,0,3],"span":[3946,4,108]},{"path":[4,20,2,8],"span":[3959,2,3962,5],"leadingComments":" `in` requires the field value to be equal to one of the specified\n values. If the field value doesn't match any of the specified values, an\n error message is generated.\n\n ```protobuf\n message MyBytes {\n // value must in [\"\\x01\\x02\", \"\\x02\\x03\", \"\\x03\\x04\"]\n optional bytes value = 1 [(buf.validate.field).bytes.in = {\"\\x01\\x02\", \"\\x02\\x03\", \"\\x03\\x04\"}];\n }\n ```\n"},{"path":[4,20,2,8,4],"span":[3959,2,10]},{"path":[4,20,2,8,5],"span":[3959,11,16]},{"path":[4,20,2,8,1],"span":[3959,17,19]},{"path":[4,20,2,8,3],"span":[3959,22,23]},{"path":[4,20,2,8,8],"span":[3959,24,3962,4]},{"path":[4,20,2,8,8,1160,1,0],"span":[3959,25,3962,3]},{"path":[4,20,2,8,8,1160,1,0,1],"span":[3960,4,18]},{"path":[4,20,2,8,8,1160,1,0,3],"span":[3961,4,152]},{"path":[4,20,2,9],"span":[3975,2,3978,5],"leadingComments":" `not_in` requires the field value to be not equal to any of the specified\n values.\n If the field value matches any of the specified values, an error message is\n generated.\n\n ```proto\n message MyBytes {\n // value must not in [\"\\x01\\x02\", \"\\x02\\x03\", \"\\x03\\x04\"]\n optional bytes value = 1 [(buf.validate.field).bytes.not_in = {\"\\x01\\x02\", \"\\x02\\x03\", \"\\x03\\x04\"}];\n }\n ```\n"},{"path":[4,20,2,9,4],"span":[3975,2,10]},{"path":[4,20,2,9,5],"span":[3975,11,16]},{"path":[4,20,2,9,1],"span":[3975,17,23]},{"path":[4,20,2,9,3],"span":[3975,26,27]},{"path":[4,20,2,9,8],"span":[3975,28,3978,4]},{"path":[4,20,2,9,8,1160,1,0],"span":[3975,29,3978,3]},{"path":[4,20,2,9,8,1160,1,0,1],"span":[3976,4,22]},{"path":[4,20,2,9,8,1160,1,0,3],"span":[3977,4,99]},{"path":[4,20,8,0],"span":[3982,2,4047,3],"leadingComments":" WellKnown rules provide advanced rules against common byte\n patterns\n"},{"path":[4,20,8,0,1],"span":[3982,8,18]},{"path":[4,20,2,10],"span":[3992,4,4003,6],"leadingComments":" `ip` ensures that the field `value` is a valid IP address (v4 or v6) in byte format.\n If the field value doesn't meet this rule, an error message is generated.\n\n ```proto\n message MyBytes {\n // value must be a valid IP address\n optional bytes value = 1 [(buf.validate.field).bytes.ip = true];\n }\n ```\n"},{"path":[4,20,2,10,5],"span":[3992,4,8]},{"path":[4,20,2,10,1],"span":[3992,9,11]},{"path":[4,20,2,10,3],"span":[3992,14,16]},{"path":[4,20,2,10,8],"span":[3992,17,4003,5]},{"path":[4,20,2,10,8,1160,1,0],"span":[3993,6,3997,7]},{"path":[4,20,2,10,8,1160,1,0,1],"span":[3994,8,22]},{"path":[4,20,2,10,8,1160,1,0,2],"span":[3995,8,51]},{"path":[4,20,2,10,8,1160,1,0,3],"span":[3996,8,92]},{"path":[4,20,2,10,8,1160,1,1],"span":[3998,6,4002,7]},{"path":[4,20,2,10,8,1160,1,1,1],"span":[3999,8,28]},{"path":[4,20,2,10,8,1160,1,1,2],"span":[4000,8,66]},{"path":[4,20,2,10,8,1160,1,1,3],"span":[4001,8,51]},{"path":[4,20,2,11],"span":[4014,4,4025,6],"leadingComments":" `ipv4` ensures that the field `value` is a valid IPv4 address in byte format.\n If the field value doesn't meet this rule, an error message is generated.\n\n ```proto\n message MyBytes {\n // value must be a valid IPv4 address\n optional bytes value = 1 [(buf.validate.field).bytes.ipv4 = true];\n }\n ```\n"},{"path":[4,20,2,11,5],"span":[4014,4,8]},{"path":[4,20,2,11,1],"span":[4014,9,13]},{"path":[4,20,2,11,3],"span":[4014,16,18]},{"path":[4,20,2,11,8],"span":[4014,19,4025,5]},{"path":[4,20,2,11,8,1160,1,0],"span":[4015,6,4019,7]},{"path":[4,20,2,11,8,1160,1,0,1],"span":[4016,8,24]},{"path":[4,20,2,11,8,1160,1,0,2],"span":[4017,8,53]},{"path":[4,20,2,11,8,1160,1,0,3],"span":[4018,8,73]},{"path":[4,20,2,11,8,1160,1,1],"span":[4020,6,4024,7]},{"path":[4,20,2,11,8,1160,1,1,1],"span":[4021,8,30]},{"path":[4,20,2,11,8,1160,1,1,2],"span":[4022,8,68]},{"path":[4,20,2,11,8,1160,1,1,3],"span":[4023,8,53]},{"path":[4,20,2,12],"span":[4035,4,4046,6],"leadingComments":" `ipv6` ensures that the field `value` is a valid IPv6 address in byte format.\n If the field value doesn't meet this rule, an error message is generated.\n ```proto\n message MyBytes {\n // value must be a valid IPv6 address\n optional bytes value = 1 [(buf.validate.field).bytes.ipv6 = true];\n }\n ```\n"},{"path":[4,20,2,12,5],"span":[4035,4,8]},{"path":[4,20,2,12,1],"span":[4035,9,13]},{"path":[4,20,2,12,3],"span":[4035,16,18]},{"path":[4,20,2,12,8],"span":[4035,19,4046,5]},{"path":[4,20,2,12,8,1160,1,0],"span":[4036,6,4040,7]},{"path":[4,20,2,12,8,1160,1,0,1],"span":[4037,8,24]},{"path":[4,20,2,12,8,1160,1,0,2],"span":[4038,8,53]},{"path":[4,20,2,12,8,1160,1,0,3],"span":[4039,8,74]},{"path":[4,20,2,12,8,1160,1,1],"span":[4041,6,4045,7]},{"path":[4,20,2,12,8,1160,1,1,1],"span":[4042,8,30]},{"path":[4,20,2,12,8,1160,1,1,2],"span":[4043,8,68]},{"path":[4,20,2,12,8,1160,1,1,3],"span":[4044,8,53]},{"path":[4,20,2,13],"span":[4061,2,4064,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyBytes {\n bytes value = 1 [\n (buf.validate.field).bytes.example = \"\\x01\\x02\",\n (buf.validate.field).bytes.example = \"\\x02\\x03\"\n ];\n }\n ```\n"},{"path":[4,20,2,13,4],"span":[4061,2,10]},{"path":[4,20,2,13,5],"span":[4061,11,16]},{"path":[4,20,2,13,1],"span":[4061,17,24]},{"path":[4,20,2,13,3],"span":[4061,27,29]},{"path":[4,20,2,13,8],"span":[4061,30,4064,4]},{"path":[4,20,2,13,8,1160,1,0],"span":[4061,31,4064,3]},{"path":[4,20,2,13,8,1160,1,0,1],"span":[4062,4,23]},{"path":[4,20,2,13,8,1160,1,0,3],"span":[4063,4,22]},{"path":[4,20,5],"span":[4076,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,20,5,0],"span":[4076,13,24]},{"path":[4,20,5,0,1],"span":[4076,13,17]},{"path":[4,20,5,0,2],"span":[4076,21,24]},{"path":[4,21],"span":[4080,0,4192,1],"leadingComments":" EnumRules describe the rules applied to `enum` values.\n"},{"path":[4,21,1],"span":[4080,8,17]},{"path":[4,21,2,0],"span":[4096,2,4099,5],"leadingComments":" `const` requires the field value to exactly match the specified enum value.\n If the field value doesn't match, an error message is generated.\n\n ```proto\n enum MyEnum {\n MY_ENUM_UNSPECIFIED = 0;\n MY_ENUM_VALUE1 = 1;\n MY_ENUM_VALUE2 = 2;\n }\n\n message MyMessage {\n // The field `value` must be exactly MY_ENUM_VALUE1.\n MyEnum value = 1 [(buf.validate.field).enum.const = 1];\n }\n ```\n"},{"path":[4,21,2,0,4],"span":[4096,2,10]},{"path":[4,21,2,0,5],"span":[4096,11,16]},{"path":[4,21,2,0,1],"span":[4096,17,22]},{"path":[4,21,2,0,3],"span":[4096,25,26]},{"path":[4,21,2,0,8],"span":[4096,27,4099,4]},{"path":[4,21,2,0,8,1160,1,0],"span":[4096,28,4099,3]},{"path":[4,21,2,0,8,1160,1,0,1],"span":[4097,4,20]},{"path":[4,21,2,0,8,1160,1,0,3],"span":[4098,4,114]},{"path":[4,21,2,1],"span":[4116,2,33],"leadingComments":" `defined_only` requires the field value to be one of the defined values for\n this enum, failing on any undefined value.\n\n ```proto\n enum MyEnum {\n MY_ENUM_UNSPECIFIED = 0;\n MY_ENUM_VALUE1 = 1;\n MY_ENUM_VALUE2 = 2;\n }\n\n message MyMessage {\n // The field `value` must be a defined value of MyEnum.\n MyEnum value = 1 [(buf.validate.field).enum.defined_only = true];\n }\n ```\n"},{"path":[4,21,2,1,4],"span":[4116,2,10]},{"path":[4,21,2,1,5],"span":[4116,11,15]},{"path":[4,21,2,1,1],"span":[4116,16,28]},{"path":[4,21,2,1,3],"span":[4116,31,32]},{"path":[4,21,2,2],"span":[4134,2,4137,5],"leadingComments":" `in` requires the field value to be equal to one of the\nspecified enum values. If the field value doesn't match any of the\nspecified values, an error message is generated.\n\n ```proto\n enum MyEnum {\n MY_ENUM_UNSPECIFIED = 0;\n MY_ENUM_VALUE1 = 1;\n MY_ENUM_VALUE2 = 2;\n }\n\n message MyMessage {\n // The field `value` must be equal to one of the specified values.\n MyEnum value = 1 [(buf.validate.field).enum = { in: [1, 2]}];\n }\n ```\n"},{"path":[4,21,2,2,4],"span":[4134,2,10]},{"path":[4,21,2,2,5],"span":[4134,11,16]},{"path":[4,21,2,2,1],"span":[4134,17,19]},{"path":[4,21,2,2,3],"span":[4134,22,23]},{"path":[4,21,2,2,8],"span":[4134,24,4137,4]},{"path":[4,21,2,2,8,1160,1,0],"span":[4134,25,4137,3]},{"path":[4,21,2,2,8,1160,1,0,1],"span":[4135,4,17]},{"path":[4,21,2,2,8,1160,1,0,3],"span":[4136,4,116]},{"path":[4,21,2,3],"span":[4155,2,4158,5],"leadingComments":" `not_in` requires the field value to be not equal to any of the\nspecified enum values. If the field value matches one of the specified\n values, an error message is generated.\n\n ```proto\n enum MyEnum {\n MY_ENUM_UNSPECIFIED = 0;\n MY_ENUM_VALUE1 = 1;\n MY_ENUM_VALUE2 = 2;\n }\n\n message MyMessage {\n // The field `value` must not be equal to any of the specified values.\n MyEnum value = 1 [(buf.validate.field).enum = { not_in: [1, 2]}];\n }\n ```\n"},{"path":[4,21,2,3,4],"span":[4155,2,10]},{"path":[4,21,2,3,5],"span":[4155,11,16]},{"path":[4,21,2,3,1],"span":[4155,17,23]},{"path":[4,21,2,3,3],"span":[4155,26,27]},{"path":[4,21,2,3,8],"span":[4155,28,4158,4]},{"path":[4,21,2,3,8,1160,1,0],"span":[4155,29,4158,3]},{"path":[4,21,2,3,8,1160,1,0,1],"span":[4156,4,21]},{"path":[4,21,2,3,8,1160,1,0,3],"span":[4157,4,99]},{"path":[4,21,2,4],"span":[4176,2,4179,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n enum MyEnum {\n MY_ENUM_UNSPECIFIED = 0;\n MY_ENUM_VALUE1 = 1;\n MY_ENUM_VALUE2 = 2;\n }\n\n message MyMessage {\n (buf.validate.field).enum.example = 1,\n (buf.validate.field).enum.example = 2\n }\n ```\n"},{"path":[4,21,2,4,4],"span":[4176,2,10]},{"path":[4,21,2,4,5],"span":[4176,11,16]},{"path":[4,21,2,4,1],"span":[4176,17,24]},{"path":[4,21,2,4,3],"span":[4176,27,28]},{"path":[4,21,2,4,8],"span":[4176,29,4179,4]},{"path":[4,21,2,4,8,1160,1,0],"span":[4176,30,4179,3]},{"path":[4,21,2,4,8,1160,1,0,1],"span":[4177,4,22]},{"path":[4,21,2,4,8,1160,1,0,3],"span":[4178,4,22]},{"path":[4,21,5],"span":[4191,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,21,5,0],"span":[4191,13,24]},{"path":[4,21,5,0,1],"span":[4191,13,17]},{"path":[4,21,5,0,2],"span":[4191,21,24]},{"path":[4,22],"span":[4195,0,4275,1],"leadingComments":" RepeatedRules describe the rules applied to `repeated` values.\n"},{"path":[4,22,1],"span":[4195,8,21]},{"path":[4,22,2,0],"span":[4207,2,4210,5],"leadingComments":" `min_items` requires that this field must contain at least the specified\n minimum number of items.\n\n Note that `min_items = 1` is equivalent to setting a field as `required`.\n\n ```proto\n message MyRepeated {\n // value must contain at least 2 items\n repeated string value = 1 [(buf.validate.field).repeated.min_items = 2];\n }\n ```\n"},{"path":[4,22,2,0,4],"span":[4207,2,10]},{"path":[4,22,2,0,5],"span":[4207,11,17]},{"path":[4,22,2,0,1],"span":[4207,18,27]},{"path":[4,22,2,0,3],"span":[4207,30,31]},{"path":[4,22,2,0,8],"span":[4207,32,4210,4]},{"path":[4,22,2,0,8,1160,1,0],"span":[4207,33,4210,3]},{"path":[4,22,2,0,8,1160,1,0,1],"span":[4208,4,28]},{"path":[4,22,2,0,8,1160,1,0,3],"span":[4209,4,127]},{"path":[4,22,2,1],"span":[4223,2,4226,5],"leadingComments":" `max_items` denotes that this field must not exceed a\n certain number of items as the upper limit. If the field contains more\n items than specified, an error message will be generated, requiring the\n field to maintain no more than the specified number of items.\n\n ```proto\n message MyRepeated {\n // value must contain no more than 3 item(s)\n repeated string value = 1 [(buf.validate.field).repeated.max_items = 3];\n }\n ```\n"},{"path":[4,22,2,1,4],"span":[4223,2,10]},{"path":[4,22,2,1,5],"span":[4223,11,17]},{"path":[4,22,2,1,1],"span":[4223,18,27]},{"path":[4,22,2,1,3],"span":[4223,30,31]},{"path":[4,22,2,1,8],"span":[4223,32,4226,4]},{"path":[4,22,2,1,8,1160,1,0],"span":[4223,33,4226,3]},{"path":[4,22,2,1,8,1160,1,0,1],"span":[4224,4,28]},{"path":[4,22,2,1,8,1160,1,0,3],"span":[4225,4,131]},{"path":[4,22,2,2],"span":[4238,2,4242,5],"leadingComments":" `unique` indicates that all elements in this field must\n be unique. This rule is strictly applicable to scalar and enum\n types, with message types not being supported.\n\n ```proto\n message MyRepeated {\n // repeated value must contain unique items\n repeated string value = 1 [(buf.validate.field).repeated.unique = true];\n }\n ```\n"},{"path":[4,22,2,2,4],"span":[4238,2,10]},{"path":[4,22,2,2,5],"span":[4238,11,15]},{"path":[4,22,2,2,1],"span":[4238,16,22]},{"path":[4,22,2,2,3],"span":[4238,25,26]},{"path":[4,22,2,2,8],"span":[4238,27,4242,4]},{"path":[4,22,2,2,8,1160,1,0],"span":[4238,28,4242,3]},{"path":[4,22,2,2,8,1160,1,0,1],"span":[4239,4,25]},{"path":[4,22,2,2,8,1160,1,0,2],"span":[4240,4,55]},{"path":[4,22,2,2,8,1160,1,0,3],"span":[4241,4,48]},{"path":[4,22,2,3],"span":[4262,2,32],"leadingComments":" `items` details the rules to be applied to each item\n in the field. Even for repeated message fields, validation is executed\n against each item unless `ignore` is specified.\n\n ```proto\n message MyRepeated {\n // The items in the field `value` must follow the specified rules.\n repeated string value = 1 [(buf.validate.field).repeated.items = {\n string: {\n min_len: 3\n max_len: 10\n }\n }];\n }\n ```\n\n Note that the `required` rule does not apply. Repeated items\n cannot be unset.\n"},{"path":[4,22,2,3,4],"span":[4262,2,10]},{"path":[4,22,2,3,6],"span":[4262,11,21]},{"path":[4,22,2,3,1],"span":[4262,22,27]},{"path":[4,22,2,3,3],"span":[4262,30,31]},{"path":[4,22,5],"span":[4274,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,22,5,0],"span":[4274,13,24]},{"path":[4,22,5,0,1],"span":[4274,13,17]},{"path":[4,22,5,0,2],"span":[4274,21,24]},{"path":[4,23],"span":[4278,0,4353,1],"leadingComments":" MapRules describe the rules applied to `map` values.\n"},{"path":[4,23,1],"span":[4278,8,16]},{"path":[4,23,2,0],"span":[4288,2,4291,5],"leadingComments":" Specifies the minimum number of key-value pairs allowed. If the field has\n fewer key-value pairs than specified, an error message is generated.\n\n ```proto\n message MyMap {\n // The field `value` must have at least 2 key-value pairs.\n map value = 1 [(buf.validate.field).map.min_pairs = 2];\n }\n ```\n"},{"path":[4,23,2,0,4],"span":[4288,2,10]},{"path":[4,23,2,0,5],"span":[4288,11,17]},{"path":[4,23,2,0,1],"span":[4288,18,27]},{"path":[4,23,2,0,3],"span":[4288,30,31]},{"path":[4,23,2,0,8],"span":[4288,32,4291,4]},{"path":[4,23,2,0,8,1160,1,0],"span":[4288,33,4291,3]},{"path":[4,23,2,0,8,1160,1,0,1],"span":[4289,4,23]},{"path":[4,23,2,0,8,1160,1,0,3],"span":[4290,4,120]},{"path":[4,23,2,1],"span":[4302,2,4305,5],"leadingComments":" Specifies the maximum number of key-value pairs allowed. If the field has\n more key-value pairs than specified, an error message is generated.\n\n ```proto\n message MyMap {\n // The field `value` must have at most 3 key-value pairs.\n map value = 1 [(buf.validate.field).map.max_pairs = 3];\n }\n ```\n"},{"path":[4,23,2,1,4],"span":[4302,2,10]},{"path":[4,23,2,1,5],"span":[4302,11,17]},{"path":[4,23,2,1,1],"span":[4302,18,27]},{"path":[4,23,2,1,3],"span":[4302,30,31]},{"path":[4,23,2,1,8],"span":[4302,32,4305,4]},{"path":[4,23,2,1,8,1160,1,0],"span":[4302,33,4305,3]},{"path":[4,23,2,1,8,1160,1,0,1],"span":[4303,4,23]},{"path":[4,23,2,1,8,1160,1,0,3],"span":[4304,4,119]},{"path":[4,23,2,2],"span":[4322,2,31],"leadingComments":" Specifies the rules to be applied to each key in the field.\n\n ```proto\n message MyMap {\n // The keys in the field `value` must follow the specified rules.\n map value = 1 [(buf.validate.field).map.keys = {\n string: {\n min_len: 3\n max_len: 10\n }\n }];\n }\n ```\n\n Note that the `required` rule does not apply. Map keys cannot be unset.\n"},{"path":[4,23,2,2,4],"span":[4322,2,10]},{"path":[4,23,2,2,6],"span":[4322,11,21]},{"path":[4,23,2,2,1],"span":[4322,22,26]},{"path":[4,23,2,2,3],"span":[4322,29,30]},{"path":[4,23,2,3],"span":[4340,2,33],"leadingComments":" Specifies the rules to be applied to the value of each key in the\n field. Message values will still have their validations evaluated unless\n `ignore` is specified.\n\n ```proto\n message MyMap {\n // The values in the field `value` must follow the specified rules.\n map value = 1 [(buf.validate.field).map.values = {\n string: {\n min_len: 5\n max_len: 20\n }\n }];\n }\n ```\n Note that the `required` rule does not apply. Map values cannot be unset.\n"},{"path":[4,23,2,3,4],"span":[4340,2,10]},{"path":[4,23,2,3,6],"span":[4340,11,21]},{"path":[4,23,2,3,1],"span":[4340,22,28]},{"path":[4,23,2,3,3],"span":[4340,31,32]},{"path":[4,23,5],"span":[4352,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,23,5,0],"span":[4352,13,24]},{"path":[4,23,5,0,1],"span":[4352,13,17]},{"path":[4,23,5,0,2],"span":[4352,21,24]},{"path":[4,24],"span":[4356,0,4382,1],"leadingComments":" AnyRules describe rules applied exclusively to the `google.protobuf.Any` well-known type.\n"},{"path":[4,24,1],"span":[4356,8,16]},{"path":[4,24,2,0],"span":[4369,2,25],"leadingComments":" `in` requires the field's `type_url` to be equal to one of the\nspecified values. If it doesn't match any of the specified values, an error\n message is generated.\n\n ```proto\n message MyAny {\n // The `value` field must have a `type_url` equal to one of the specified values.\n google.protobuf.Any value = 1 [(buf.validate.field).any = {\n in: [\"type.googleapis.com/MyType1\", \"type.googleapis.com/MyType2\"]\n }];\n }\n ```\n"},{"path":[4,24,2,0,4],"span":[4369,2,10]},{"path":[4,24,2,0,5],"span":[4369,11,17]},{"path":[4,24,2,0,1],"span":[4369,18,20]},{"path":[4,24,2,0,3],"span":[4369,23,24]},{"path":[4,24,2,1],"span":[4381,2,29],"leadingComments":" requires the field's type_url to be not equal to any of the specified values. If it matches any of the specified values, an error message is generated.\n\n ```proto\n message MyAny {\n // The `value` field must not have a `type_url` equal to any of the specified values.\n google.protobuf.Any value = 1 [(buf.validate.field).any = {\n not_in: [\"type.googleapis.com/ForbiddenType1\", \"type.googleapis.com/ForbiddenType2\"]\n }];\n }\n ```\n"},{"path":[4,24,2,1,4],"span":[4381,2,10]},{"path":[4,24,2,1,5],"span":[4381,11,17]},{"path":[4,24,2,1,1],"span":[4381,18,24]},{"path":[4,24,2,1,3],"span":[4381,27,28]},{"path":[4,25],"span":[4385,0,4598,1],"leadingComments":" DurationRules describe the rules applied exclusively to the `google.protobuf.Duration` well-known type.\n"},{"path":[4,25,1],"span":[4385,8,21]},{"path":[4,25,2,0],"span":[4396,2,4399,5],"leadingComments":" `const` dictates that the field must match the specified value of the `google.protobuf.Duration` type exactly.\n If the field's value deviates from the specified value, an error message\n will be generated.\n\n ```proto\n message MyDuration {\n // value must equal 5s\n google.protobuf.Duration value = 1 [(buf.validate.field).duration.const = \"5s\"];\n }\n ```\n"},{"path":[4,25,2,0,4],"span":[4396,2,10]},{"path":[4,25,2,0,6],"span":[4396,11,35]},{"path":[4,25,2,0,1],"span":[4396,36,41]},{"path":[4,25,2,0,3],"span":[4396,44,45]},{"path":[4,25,2,0,8],"span":[4396,46,4399,4]},{"path":[4,25,2,0,8,1160,1,0],"span":[4396,47,4399,3]},{"path":[4,25,2,0,8,1160,1,0,1],"span":[4397,4,24]},{"path":[4,25,2,0,8,1160,1,0,3],"span":[4398,4,114]},{"path":[4,25,8,0],"span":[4400,2,4434,3]},{"path":[4,25,8,0,1],"span":[4400,8,17]},{"path":[4,25,2,1],"span":[4411,4,4416,7],"leadingComments":" `lt` stipulates that the field must be less than the specified value of the `google.protobuf.Duration` type,\n exclusive. If the field's value is greater than or equal to the specified\n value, an error message will be generated.\n\n ```proto\n message MyDuration {\n // value must be less than 5s\n google.protobuf.Duration value = 1 [(buf.validate.field).duration.lt = \"5s\"];\n }\n ```\n"},{"path":[4,25,2,1,6],"span":[4411,4,28]},{"path":[4,25,2,1,1],"span":[4411,29,31]},{"path":[4,25,2,1,3],"span":[4411,34,35]},{"path":[4,25,2,1,8],"span":[4411,36,4416,6]},{"path":[4,25,2,1,8,1160,1,0],"span":[4411,37,4416,5]},{"path":[4,25,2,1,8,1160,1,0,1],"span":[4412,6,23]},{"path":[4,25,2,1,8,1160,1,0,3],"span":[4413,6,4415,64]},{"path":[4,25,2,2],"span":[4428,4,4433,7],"leadingComments":" `lte` indicates that the field must be less than or equal to the specified\n value of the `google.protobuf.Duration` type, inclusive. If the field's value is greater than the specified value,\n an error message will be generated.\n\n ```proto\n message MyDuration {\n // value must be less than or equal to 10s\n google.protobuf.Duration value = 1 [(buf.validate.field).duration.lte = \"10s\"];\n }\n ```\n"},{"path":[4,25,2,2,6],"span":[4428,4,28]},{"path":[4,25,2,2,1],"span":[4428,29,32]},{"path":[4,25,2,2,3],"span":[4428,35,36]},{"path":[4,25,2,2,8],"span":[4428,37,4433,6]},{"path":[4,25,2,2,8,1160,1,0],"span":[4428,38,4433,5]},{"path":[4,25,2,2,8,1160,1,0,1],"span":[4429,6,24]},{"path":[4,25,2,2,8,1160,1,0,3],"span":[4430,6,4432,77]},{"path":[4,25,8,1],"span":[4435,2,4537,3]},{"path":[4,25,8,1,1],"span":[4435,8,20]},{"path":[4,25,2,3],"span":[4454,4,4485,6],"leadingComments":" `gt` requires the duration field value to be greater than the specified\n value (exclusive). If the value of `gt` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyDuration {\n // duration must be greater than 5s [duration.gt]\n google.protobuf.Duration value = 1 [(buf.validate.field).duration.gt = { seconds: 5 }];\n\n // duration must be greater than 5s and less than 10s [duration.gt_lt]\n google.protobuf.Duration another_value = 2 [(buf.validate.field).duration = { gt: { seconds: 5 }, lt: { seconds: 10 } }];\n\n // duration must be greater than 10s or less than 5s [duration.gt_lt_exclusive]\n google.protobuf.Duration other_value = 3 [(buf.validate.field).duration = { gt: { seconds: 10 }, lt: { seconds: 5 } }];\n }\n ```\n"},{"path":[4,25,2,3,6],"span":[4454,4,28]},{"path":[4,25,2,3,1],"span":[4454,29,31]},{"path":[4,25,2,3,3],"span":[4454,34,35]},{"path":[4,25,2,3,8],"span":[4454,36,4485,5]},{"path":[4,25,2,3,8,1160,1,0],"span":[4455,6,4460,7]},{"path":[4,25,2,3,8,1160,1,0,1],"span":[4456,8,25]},{"path":[4,25,2,3,8,1160,1,0,3],"span":[4457,8,4459,69]},{"path":[4,25,2,3,8,1160,1,1],"span":[4461,6,4466,7]},{"path":[4,25,2,3,8,1160,1,1,1],"span":[4462,8,28]},{"path":[4,25,2,3,8,1160,1,1,3],"span":[4463,8,4465,96]},{"path":[4,25,2,3,8,1160,1,2],"span":[4467,6,4472,7]},{"path":[4,25,2,3,8,1160,1,2,1],"span":[4468,8,38]},{"path":[4,25,2,3,8,1160,1,2,3],"span":[4469,8,4471,95]},{"path":[4,25,2,3,8,1160,1,3],"span":[4473,6,4478,7]},{"path":[4,25,2,3,8,1160,1,3,1],"span":[4474,8,29]},{"path":[4,25,2,3,8,1160,1,3,3],"span":[4475,8,4477,109]},{"path":[4,25,2,3,8,1160,1,4],"span":[4479,6,4484,7]},{"path":[4,25,2,3,8,1160,1,4,1],"span":[4480,8,39]},{"path":[4,25,2,3,8,1160,1,4,3],"span":[4481,8,4483,108]},{"path":[4,25,2,4],"span":[4505,4,4536,6],"leadingComments":" `gte` requires the duration field value to be greater than or equal to the\n specified value (exclusive). If the value of `gte` is larger than a\n specified `lt` or `lte`, the range is reversed, and the field value must\n be outside the specified range. If the field value doesn't meet the\n required conditions, an error message is generated.\n\n ```proto\n message MyDuration {\n // duration must be greater than or equal to 5s [duration.gte]\n google.protobuf.Duration value = 1 [(buf.validate.field).duration.gte = { seconds: 5 }];\n\n // duration must be greater than or equal to 5s and less than 10s [duration.gte_lt]\n google.protobuf.Duration another_value = 2 [(buf.validate.field).duration = { gte: { seconds: 5 }, lt: { seconds: 10 } }];\n\n // duration must be greater than or equal to 10s or less than 5s [duration.gte_lt_exclusive]\n google.protobuf.Duration other_value = 3 [(buf.validate.field).duration = { gte: { seconds: 10 }, lt: { seconds: 5 } }];\n }\n ```\n"},{"path":[4,25,2,4,6],"span":[4505,4,28]},{"path":[4,25,2,4,1],"span":[4505,29,32]},{"path":[4,25,2,4,3],"span":[4505,35,36]},{"path":[4,25,2,4,8],"span":[4505,37,4536,5]},{"path":[4,25,2,4,8,1160,1,0],"span":[4506,6,4511,7]},{"path":[4,25,2,4,8,1160,1,0,1],"span":[4507,8,26]},{"path":[4,25,2,4,8,1160,1,0,3],"span":[4508,8,4510,82]},{"path":[4,25,2,4,8,1160,1,1],"span":[4512,6,4517,7]},{"path":[4,25,2,4,8,1160,1,1,1],"span":[4513,8,29]},{"path":[4,25,2,4,8,1160,1,1,3],"span":[4514,8,4516,109]},{"path":[4,25,2,4,8,1160,1,2],"span":[4518,6,4523,7]},{"path":[4,25,2,4,8,1160,1,2,1],"span":[4519,8,39]},{"path":[4,25,2,4,8,1160,1,2,3],"span":[4520,8,4522,108]},{"path":[4,25,2,4,8,1160,1,3],"span":[4524,6,4529,7]},{"path":[4,25,2,4,8,1160,1,3,1],"span":[4525,8,30]},{"path":[4,25,2,4,8,1160,1,3,3],"span":[4526,8,4528,122]},{"path":[4,25,2,4,8,1160,1,4],"span":[4530,6,4535,7]},{"path":[4,25,2,4,8,1160,1,4,1],"span":[4531,8,40]},{"path":[4,25,2,4,8,1160,1,4,3],"span":[4532,8,4534,121]},{"path":[4,25,2,5],"span":[4549,2,4552,5],"leadingComments":" `in` asserts that the field must be equal to one of the specified values of the `google.protobuf.Duration` type.\n If the field's value doesn't correspond to any of the specified values,\n an error message will be generated.\n\n ```proto\n message MyDuration {\n // value must be in list [1s, 2s, 3s]\n google.protobuf.Duration value = 1 [(buf.validate.field).duration.in = [\"1s\", \"2s\", \"3s\"]];\n }\n ```\n"},{"path":[4,25,2,5,4],"span":[4549,2,10]},{"path":[4,25,2,5,6],"span":[4549,11,35]},{"path":[4,25,2,5,1],"span":[4549,36,38]},{"path":[4,25,2,5,3],"span":[4549,41,42]},{"path":[4,25,2,5,8],"span":[4549,43,4552,4]},{"path":[4,25,2,5,8,1160,1,0],"span":[4549,44,4552,3]},{"path":[4,25,2,5,8,1160,1,0,1],"span":[4550,4,21]},{"path":[4,25,2,5,8,1160,1,0,3],"span":[4551,4,116]},{"path":[4,25,2,6],"span":[4565,2,4568,5],"leadingComments":" `not_in` denotes that the field must not be equal to\n any of the specified values of the `google.protobuf.Duration` type.\n If the field's value matches any of these values, an error message will be\n generated.\n\n ```proto\n message MyDuration {\n // value must not be in list [1s, 2s, 3s]\n google.protobuf.Duration value = 1 [(buf.validate.field).duration.not_in = [\"1s\", \"2s\", \"3s\"]];\n }\n ```\n"},{"path":[4,25,2,6,4],"span":[4565,2,10]},{"path":[4,25,2,6,6],"span":[4565,11,35]},{"path":[4,25,2,6,1],"span":[4565,36,42]},{"path":[4,25,2,6,3],"span":[4565,45,46]},{"path":[4,25,2,6,8],"span":[4565,47,4568,4]},{"path":[4,25,2,6,8,1160,1,0],"span":[4565,48,4568,3]},{"path":[4,25,2,6,8,1160,1,0,1],"span":[4566,4,25]},{"path":[4,25,2,6,8,1160,1,0,3],"span":[4567,4,99]},{"path":[4,25,2,7],"span":[4582,2,4585,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyDuration {\n google.protobuf.Duration value = 1 [\n (buf.validate.field).duration.example = { seconds: 1 },\n (buf.validate.field).duration.example = { seconds: 2 },\n ];\n }\n ```\n"},{"path":[4,25,2,7,4],"span":[4582,2,10]},{"path":[4,25,2,7,6],"span":[4582,11,35]},{"path":[4,25,2,7,1],"span":[4582,36,43]},{"path":[4,25,2,7,3],"span":[4582,46,47]},{"path":[4,25,2,7,8],"span":[4582,48,4585,4]},{"path":[4,25,2,7,8,1160,1,0],"span":[4582,49,4585,3]},{"path":[4,25,2,7,8,1160,1,0,1],"span":[4583,4,26]},{"path":[4,25,2,7,8,1160,1,0,3],"span":[4584,4,22]},{"path":[4,25,5],"span":[4597,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,25,5,0],"span":[4597,13,24]},{"path":[4,25,5,0,1],"span":[4597,13,17]},{"path":[4,25,5,0,2],"span":[4597,21,24]},{"path":[4,26],"span":[4601,0,4816,1],"leadingComments":" TimestampRules describe the rules applied exclusively to the `google.protobuf.Timestamp` well-known type.\n"},{"path":[4,26,1],"span":[4601,8,22]},{"path":[4,26,2,0],"span":[4610,2,4613,5],"leadingComments":" `const` dictates that this field, of the `google.protobuf.Timestamp` type, must exactly match the specified value. If the field value doesn't correspond to the specified timestamp, an error message will be generated.\n\n ```proto\n message MyTimestamp {\n // value must equal 2023-05-03T10:00:00Z\n google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.const = {seconds: 1727998800}];\n }\n ```\n"},{"path":[4,26,2,0,4],"span":[4610,2,10]},{"path":[4,26,2,0,6],"span":[4610,11,36]},{"path":[4,26,2,0,1],"span":[4610,37,42]},{"path":[4,26,2,0,3],"span":[4610,45,46]},{"path":[4,26,2,0,8],"span":[4610,47,4613,4]},{"path":[4,26,2,0,8,1160,1,0],"span":[4610,48,4613,3]},{"path":[4,26,2,0,8,1160,1,0,1],"span":[4611,4,25]},{"path":[4,26,2,0,8,1160,1,0,3],"span":[4612,4,114]},{"path":[4,26,8,0],"span":[4614,2,4657,3]},{"path":[4,26,8,0,1],"span":[4614,8,17]},{"path":[4,26,2,1],"span":[4623,4,4628,7],"leadingComments":" requires the duration field value to be less than the specified value (field < value). If the field value doesn't meet the required conditions, an error message is generated.\n\n ```proto\n message MyDuration {\n // duration must be less than 'P3D' [duration.lt]\n google.protobuf.Duration value = 1 [(buf.validate.field).duration.lt = { seconds: 259200 }];\n }\n ```\n"},{"path":[4,26,2,1,6],"span":[4623,4,29]},{"path":[4,26,2,1,1],"span":[4623,30,32]},{"path":[4,26,2,1,3],"span":[4623,35,36]},{"path":[4,26,2,1,8],"span":[4623,37,4628,6]},{"path":[4,26,2,1,8,1160,1,0],"span":[4623,38,4628,5]},{"path":[4,26,2,1,8,1160,1,0,1],"span":[4624,6,24]},{"path":[4,26,2,1,8,1160,1,0,3],"span":[4625,6,4627,64]},{"path":[4,26,2,2],"span":[4638,4,4643,7],"leadingComments":" requires the timestamp field value to be less than or equal to the specified value (field <= value). If the field value doesn't meet the required conditions, an error message is generated.\n\n ```proto\n message MyTimestamp {\n // timestamp must be less than or equal to '2023-05-14T00:00:00Z' [timestamp.lte]\n google.protobuf.Timestamp value = 1 [(buf.validate.field).timestamp.lte = { seconds: 1678867200 }];\n }\n ```\n"},{"path":[4,26,2,2,6],"span":[4638,4,29]},{"path":[4,26,2,2,1],"span":[4638,30,33]},{"path":[4,26,2,2,3],"span":[4638,36,37]},{"path":[4,26,2,2,8],"span":[4638,38,4643,6]},{"path":[4,26,2,2,8,1160,1,0],"span":[4638,39,4643,5]},{"path":[4,26,2,2,8,1160,1,0,1],"span":[4639,6,25]},{"path":[4,26,2,2,8,1160,1,0,3],"span":[4640,6,4642,77]},{"path":[4,26,2,3],"span":[4653,4,4656,7],"leadingComments":" `lt_now` specifies that this field, of the `google.protobuf.Timestamp` type, must be less than the current time. `lt_now` can only be used with the `within` rule.\n\n ```proto\n message MyTimestamp {\n // value must be less than now\n google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.lt_now = true];\n }\n ```\n"},{"path":[4,26,2,3,5],"span":[4653,4,8]},{"path":[4,26,2,3,1],"span":[4653,9,15]},{"path":[4,26,2,3,3],"span":[4653,18,19]},{"path":[4,26,2,3,8],"span":[4653,20,4656,6]},{"path":[4,26,2,3,8,1160,1,0],"span":[4653,21,4656,5]},{"path":[4,26,2,3,8,1160,1,0,1],"span":[4654,6,28]},{"path":[4,26,2,3,8,1160,1,0,3],"span":[4655,6,85]},{"path":[4,26,8,1],"span":[4658,2,4773,3]},{"path":[4,26,8,1,1],"span":[4658,8,20]},{"path":[4,26,2,4],"span":[4677,4,4708,6],"leadingComments":" `gt` requires the timestamp field value to be greater than the specified\n value (exclusive). If the value of `gt` is larger than a specified `lt`\n or `lte`, the range is reversed, and the field value must be outside the\n specified range. If the field value doesn't meet the required conditions,\n an error message is generated.\n\n ```proto\n message MyTimestamp {\n // timestamp must be greater than '2023-01-01T00:00:00Z' [timestamp.gt]\n google.protobuf.Timestamp value = 1 [(buf.validate.field).timestamp.gt = { seconds: 1672444800 }];\n\n // timestamp must be greater than '2023-01-01T00:00:00Z' and less than '2023-01-02T00:00:00Z' [timestamp.gt_lt]\n google.protobuf.Timestamp another_value = 2 [(buf.validate.field).timestamp = { gt: { seconds: 1672444800 }, lt: { seconds: 1672531200 } }];\n\n // timestamp must be greater than '2023-01-02T00:00:00Z' or less than '2023-01-01T00:00:00Z' [timestamp.gt_lt_exclusive]\n google.protobuf.Timestamp other_value = 3 [(buf.validate.field).timestamp = { gt: { seconds: 1672531200 }, lt: { seconds: 1672444800 } }];\n }\n ```\n"},{"path":[4,26,2,4,6],"span":[4677,4,29]},{"path":[4,26,2,4,1],"span":[4677,30,32]},{"path":[4,26,2,4,3],"span":[4677,35,36]},{"path":[4,26,2,4,8],"span":[4677,37,4708,5]},{"path":[4,26,2,4,8,1160,1,0],"span":[4678,6,4683,7]},{"path":[4,26,2,4,8,1160,1,0,1],"span":[4679,8,26]},{"path":[4,26,2,4,8,1160,1,0,3],"span":[4680,8,4682,69]},{"path":[4,26,2,4,8,1160,1,1],"span":[4684,6,4689,7]},{"path":[4,26,2,4,8,1160,1,1,1],"span":[4685,8,29]},{"path":[4,26,2,4,8,1160,1,1,3],"span":[4686,8,4688,96]},{"path":[4,26,2,4,8,1160,1,2],"span":[4690,6,4695,7]},{"path":[4,26,2,4,8,1160,1,2,1],"span":[4691,8,39]},{"path":[4,26,2,4,8,1160,1,2,3],"span":[4692,8,4694,95]},{"path":[4,26,2,4,8,1160,1,3],"span":[4696,6,4701,7]},{"path":[4,26,2,4,8,1160,1,3,1],"span":[4697,8,30]},{"path":[4,26,2,4,8,1160,1,3,3],"span":[4698,8,4700,109]},{"path":[4,26,2,4,8,1160,1,4],"span":[4702,6,4707,7]},{"path":[4,26,2,4,8,1160,1,4,1],"span":[4703,8,40]},{"path":[4,26,2,4,8,1160,1,4,3],"span":[4704,8,4706,108]},{"path":[4,26,2,5],"span":[4728,4,4759,6],"leadingComments":" `gte` requires the timestamp field value to be greater than or equal to the\n specified value (exclusive). If the value of `gte` is larger than a\n specified `lt` or `lte`, the range is reversed, and the field value\n must be outside the specified range. If the field value doesn't meet\n the required conditions, an error message is generated.\n\n ```proto\n message MyTimestamp {\n // timestamp must be greater than or equal to '2023-01-01T00:00:00Z' [timestamp.gte]\n google.protobuf.Timestamp value = 1 [(buf.validate.field).timestamp.gte = { seconds: 1672444800 }];\n\n // timestamp must be greater than or equal to '2023-01-01T00:00:00Z' and less than '2023-01-02T00:00:00Z' [timestamp.gte_lt]\n google.protobuf.Timestamp another_value = 2 [(buf.validate.field).timestamp = { gte: { seconds: 1672444800 }, lt: { seconds: 1672531200 } }];\n\n // timestamp must be greater than or equal to '2023-01-02T00:00:00Z' or less than '2023-01-01T00:00:00Z' [timestamp.gte_lt_exclusive]\n google.protobuf.Timestamp other_value = 3 [(buf.validate.field).timestamp = { gte: { seconds: 1672531200 }, lt: { seconds: 1672444800 } }];\n }\n ```\n"},{"path":[4,26,2,5,6],"span":[4728,4,29]},{"path":[4,26,2,5,1],"span":[4728,30,33]},{"path":[4,26,2,5,3],"span":[4728,36,37]},{"path":[4,26,2,5,8],"span":[4728,38,4759,5]},{"path":[4,26,2,5,8,1160,1,0],"span":[4729,6,4734,7]},{"path":[4,26,2,5,8,1160,1,0,1],"span":[4730,8,27]},{"path":[4,26,2,5,8,1160,1,0,3],"span":[4731,8,4733,82]},{"path":[4,26,2,5,8,1160,1,1],"span":[4735,6,4740,7]},{"path":[4,26,2,5,8,1160,1,1,1],"span":[4736,8,30]},{"path":[4,26,2,5,8,1160,1,1,3],"span":[4737,8,4739,109]},{"path":[4,26,2,5,8,1160,1,2],"span":[4741,6,4746,7]},{"path":[4,26,2,5,8,1160,1,2,1],"span":[4742,8,40]},{"path":[4,26,2,5,8,1160,1,2,3],"span":[4743,8,4745,108]},{"path":[4,26,2,5,8,1160,1,3],"span":[4747,6,4752,7]},{"path":[4,26,2,5,8,1160,1,3,1],"span":[4748,8,31]},{"path":[4,26,2,5,8,1160,1,3,3],"span":[4749,8,4751,122]},{"path":[4,26,2,5,8,1160,1,4],"span":[4753,6,4758,7]},{"path":[4,26,2,5,8,1160,1,4,1],"span":[4754,8,41]},{"path":[4,26,2,5,8,1160,1,4,3],"span":[4755,8,4757,121]},{"path":[4,26,2,6],"span":[4769,4,4772,7],"leadingComments":" `gt_now` specifies that this field, of the `google.protobuf.Timestamp` type, must be greater than the current time. `gt_now` can only be used with the `within` rule.\n\n ```proto\n message MyTimestamp {\n // value must be greater than now\n google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.gt_now = true];\n }\n ```\n"},{"path":[4,26,2,6,5],"span":[4769,4,8]},{"path":[4,26,2,6,1],"span":[4769,9,15]},{"path":[4,26,2,6,3],"span":[4769,18,19]},{"path":[4,26,2,6,8],"span":[4769,20,4772,6]},{"path":[4,26,2,6,8,1160,1,0],"span":[4769,21,4772,5]},{"path":[4,26,2,6,8,1160,1,0,1],"span":[4770,6,28]},{"path":[4,26,2,6,8,1160,1,0,3],"span":[4771,6,88]},{"path":[4,26,2,7],"span":[4783,2,4786,5],"leadingComments":" `within` specifies that this field, of the `google.protobuf.Timestamp` type, must be within the specified duration of the current time. If the field value isn't within the duration, an error message is generated.\n\n ```proto\n message MyTimestamp {\n // value must be within 1 hour of now\n google.protobuf.Timestamp created_at = 1 [(buf.validate.field).timestamp.within = {seconds: 3600}];\n }\n ```\n"},{"path":[4,26,2,7,4],"span":[4783,2,10]},{"path":[4,26,2,7,6],"span":[4783,11,35]},{"path":[4,26,2,7,1],"span":[4783,36,42]},{"path":[4,26,2,7,3],"span":[4783,45,46]},{"path":[4,26,2,7,8],"span":[4783,47,4786,4]},{"path":[4,26,2,7,8,1160,1,0],"span":[4783,48,4786,3]},{"path":[4,26,2,7,8,1160,1,0,1],"span":[4784,4,26]},{"path":[4,26,2,7,8,1160,1,0,3],"span":[4785,4,131]},{"path":[4,26,2,8],"span":[4800,2,4803,5],"leadingComments":" `example` specifies values that the field may have. These values SHOULD\n conform to other rules. `example` values will not impact validation\n but may be used as helpful guidance on how to populate the given field.\n\n ```proto\n message MyTimestamp {\n google.protobuf.Timestamp value = 1 [\n (buf.validate.field).timestamp.example = { seconds: 1672444800 },\n (buf.validate.field).timestamp.example = { seconds: 1672531200 },\n ];\n }\n ```\n"},{"path":[4,26,2,8,4],"span":[4800,2,10]},{"path":[4,26,2,8,6],"span":[4800,11,36]},{"path":[4,26,2,8,1],"span":[4800,37,44]},{"path":[4,26,2,8,3],"span":[4800,47,49]},{"path":[4,26,2,8,8],"span":[4800,50,4803,4]},{"path":[4,26,2,8,8,1160,1,0],"span":[4800,51,4803,3]},{"path":[4,26,2,8,8,1160,1,0,1],"span":[4801,4,27]},{"path":[4,26,2,8,8,1160,1,0,3],"span":[4802,4,22]},{"path":[4,26,5],"span":[4815,2,25],"leadingComments":" Extension fields in this range that have the (buf.validate.predefined)\n option set will be treated as predefined field rules that can then be\n set on the field options of other fields to apply field rules.\n Extension numbers 1000 to 99999 are reserved for extension numbers that are\n defined in the [Protobuf Global Extension Registry][1]. Extension numbers\n above this range are reserved for extension numbers that are not explicitly\n assigned. For rules defined in publicly-consumed schemas, use of extensions\n above 99999 is discouraged due to the risk of conflicts.\n\n [1]: https://github.com/protocolbuffers/protobuf/blob/main/docs/options.md\n"},{"path":[4,26,5,0],"span":[4815,13,24]},{"path":[4,26,5,0,1],"span":[4815,13,17]},{"path":[4,26,5,0,2],"span":[4815,21,24]},{"path":[4,27],"span":[4821,0,4824,1],"leadingComments":" `Violations` is a collection of `Violation` messages. This message type is returned by\n Protovalidate when a proto message fails to meet the requirements set by the `Rule` validation rules.\n Each individual violation is represented by a `Violation` message.\n"},{"path":[4,27,1],"span":[4821,8,18]},{"path":[4,27,2,0],"span":[4823,2,36],"leadingComments":" `violations` is a repeated field that contains all the `Violation` messages corresponding to the violations detected.\n"},{"path":[4,27,2,0,4],"span":[4823,2,10]},{"path":[4,27,2,0,6],"span":[4823,11,20]},{"path":[4,27,2,0,1],"span":[4823,21,31]},{"path":[4,27,2,0,3],"span":[4823,34,35]},{"path":[4,28],"span":[4869,0,4934,1],"leadingComments":" `Violation` represents a single instance where a validation rule, expressed\n as a `Rule`, was not met. It provides information about the field that\n caused the violation, the specific rule that wasn't fulfilled, and a\n human-readable error message.\n\n For example, consider the following message:\n\n ```proto\n message User {\n int32 age = 1 [(buf.validate.field).cel = {\n id: \"user.age\",\n expression: \"this < 18 ? 'User must be at least 18 years old' : ''\",\n }];\n }\n ```\n\n It could produce the following violation:\n\n ```json\n {\n \"ruleId\": \"user.age\",\n \"message\": \"User must be at least 18 years old\",\n \"field\": {\n \"elements\": [\n {\n \"fieldNumber\": 1,\n \"fieldName\": \"age\",\n \"fieldType\": \"TYPE_INT32\"\n }\n ]\n },\n \"rule\": {\n \"elements\": [\n {\n \"fieldNumber\": 23,\n \"fieldName\": \"cel\",\n \"fieldType\": \"TYPE_MESSAGE\",\n \"index\": \"0\"\n }\n ]\n }\n }\n ```\n"},{"path":[4,28,1],"span":[4869,8,17]},{"path":[4,28,2,0],"span":[4889,2,31],"leadingComments":" `field` is a machine-readable path to the field that failed validation.\n This could be a nested field, in which case the path will include all the parent fields leading to the actual field that caused the violation.\n\n For example, consider the following message:\n\n ```proto\n message Message {\n bool a = 1 [(buf.validate.field).required = true];\n }\n ```\n\n It could produce the following violation:\n\n ```textproto\n violation {\n field { element { field_number: 1, field_name: \"a\", field_type: 8 } }\n ...\n }\n ```\n"},{"path":[4,28,2,0,4],"span":[4889,2,10]},{"path":[4,28,2,0,6],"span":[4889,11,20]},{"path":[4,28,2,0,1],"span":[4889,21,26]},{"path":[4,28,2,0,3],"span":[4889,29,30]},{"path":[4,28,2,1],"span":[4919,2,30],"leadingComments":" `rule` is a machine-readable path that points to the specific rule that failed validation.\n This will be a nested field starting from the FieldRules of the field that failed validation.\n For custom rules, this will provide the path of the rule, e.g. `cel[0]`.\n\n For example, consider the following message:\n\n ```proto\n message Message {\n bool a = 1 [(buf.validate.field).required = true];\n bool b = 2 [(buf.validate.field).cel = {\n id: \"custom_rule\",\n expression: \"!this ? 'b must be true': ''\"\n }]\n }\n ```\n\n It could produce the following violations:\n\n ```textproto\n violation {\n rule { element { field_number: 25, field_name: \"required\", field_type: 8 } }\n ...\n }\n violation {\n rule { element { field_number: 23, field_name: \"cel\", field_type: 11, index: 0 } }\n ...\n }\n ```\n"},{"path":[4,28,2,1,4],"span":[4919,2,10]},{"path":[4,28,2,1,6],"span":[4919,11,20]},{"path":[4,28,2,1,1],"span":[4919,21,25]},{"path":[4,28,2,1,3],"span":[4919,28,29]},{"path":[4,28,2,2],"span":[4923,2,30],"leadingComments":" `rule_id` is the unique identifier of the `Rule` that was not fulfilled.\n This is the same `id` that was specified in the `Rule` message, allowing easy tracing of which rule was violated.\n"},{"path":[4,28,2,2,4],"span":[4923,2,10]},{"path":[4,28,2,2,5],"span":[4923,11,17]},{"path":[4,28,2,2,1],"span":[4923,18,25]},{"path":[4,28,2,2,3],"span":[4923,28,29]},{"path":[4,28,2,3],"span":[4927,2,30],"leadingComments":" `message` is a human-readable error message that describes the nature of the violation.\n This can be the default error message from the violated `Rule`, or it can be a custom message that gives more context about the violation.\n"},{"path":[4,28,2,3,4],"span":[4927,2,10]},{"path":[4,28,2,3,5],"span":[4927,11,17]},{"path":[4,28,2,3,1],"span":[4927,18,25]},{"path":[4,28,2,3,3],"span":[4927,28,29]},{"path":[4,28,2,4],"span":[4930,2,28],"leadingComments":" `for_key` indicates whether the violation was caused by a map key, rather than a value.\n"},{"path":[4,28,2,4,4],"span":[4930,2,10]},{"path":[4,28,2,4,5],"span":[4930,11,15]},{"path":[4,28,2,4,1],"span":[4930,16,23]},{"path":[4,28,2,4,3],"span":[4930,26,27]},{"path":[4,28,9],"span":[4932,2,13]},{"path":[4,28,9,0],"span":[4932,11,12]},{"path":[4,28,9,0,1],"span":[4932,11,12]},{"path":[4,28,9,0,2],"span":[4932,11,12]},{"path":[4,28,10],"span":[4933,2,24]},{"path":[4,28,10,0],"span":[4933,11,23]},{"path":[4,29],"span":[4940,0,4943,1],"leadingComments":" `FieldPath` provides a path to a nested protobuf field.\n\n This message provides enough information to render a dotted field path even without protobuf descriptors.\n It also provides enough information to resolve a nested field through unknown wire data.\n"},{"path":[4,29,1],"span":[4940,8,17]},{"path":[4,29,2,0],"span":[4942,2,41],"leadingComments":" `elements` contains each element of the path, starting from the root and recursing downward.\n"},{"path":[4,29,2,0,4],"span":[4942,2,10]},{"path":[4,29,2,0,6],"span":[4942,11,27]},{"path":[4,29,2,0,1],"span":[4942,28,36]},{"path":[4,29,2,0,3],"span":[4942,39,40]},{"path":[4,30],"span":[4950,0,4996,1],"leadingComments":" `FieldPathElement` provides enough information to nest through a single protobuf field.\n\n If the selected field is a map or repeated field, the `subscript` value selects a specific element from it.\n A path that refers to a value nested under a map key or repeated field index will have a `subscript` value.\n The `field_type` field allows unambiguous resolution of a field even if descriptors are not available.\n"},{"path":[4,30,1],"span":[4950,8,24]},{"path":[4,30,2,0],"span":[4952,2,34],"leadingComments":" `field_number` is the field number this path element refers to.\n"},{"path":[4,30,2,0,4],"span":[4952,2,10]},{"path":[4,30,2,0,5],"span":[4952,11,16]},{"path":[4,30,2,0,1],"span":[4952,17,29]},{"path":[4,30,2,0,3],"span":[4952,32,33]},{"path":[4,30,2,1],"span":[4956,2,33],"leadingComments":" `field_name` contains the field name this path element refers to.\n This can be used to display a human-readable path even if the field number is unknown.\n"},{"path":[4,30,2,1,4],"span":[4956,2,10]},{"path":[4,30,2,1,5],"span":[4956,11,17]},{"path":[4,30,2,1,1],"span":[4956,18,28]},{"path":[4,30,2,1,3],"span":[4956,31,32]},{"path":[4,30,2,2],"span":[4968,2,68],"leadingComments":" `field_type` specifies the type of this field. When using reflection, this value is not needed.\n\n This value is provided to make it possible to traverse unknown fields through wire data.\n When traversing wire data, be mindful of both packed[1] and delimited[2] encoding schemes.\n\n [1]: https://protobuf.dev/programming-guides/encoding/#packed\n [2]: https://protobuf.dev/programming-guides/encoding/#groups\n\n N.B.: Although groups are deprecated, the corresponding delimited encoding scheme is not, and\n can be explicitly used in Protocol Buffers 2023 Edition.\n"},{"path":[4,30,2,2,4],"span":[4968,2,10]},{"path":[4,30,2,2,6],"span":[4968,11,52]},{"path":[4,30,2,2,1],"span":[4968,53,63]},{"path":[4,30,2,2,3],"span":[4968,66,67]},{"path":[4,30,2,3],"span":[4973,2,66],"leadingComments":" `key_type` specifies the map key type of this field. This value is useful when traversing\n unknown fields through wire data: specifically, it allows handling the differences between\n different integer encodings.\n"},{"path":[4,30,2,3,4],"span":[4973,2,10]},{"path":[4,30,2,3,6],"span":[4973,11,52]},{"path":[4,30,2,3,1],"span":[4973,53,61]},{"path":[4,30,2,3,3],"span":[4973,64,65]},{"path":[4,30,2,4],"span":[4977,2,68],"leadingComments":" `value_type` specifies map value type of this field. This is useful if you want to display a\n value inside unknown fields through wire data.\n"},{"path":[4,30,2,4,4],"span":[4977,2,10]},{"path":[4,30,2,4,6],"span":[4977,11,52]},{"path":[4,30,2,4,1],"span":[4977,53,63]},{"path":[4,30,2,4,3],"span":[4977,66,67]},{"path":[4,30,8,0],"span":[4980,2,4995,3],"leadingComments":" `subscript` contains a repeated index or map key, if this path element nests into a repeated or map field.\n"},{"path":[4,30,8,0,1],"span":[4980,8,17]},{"path":[4,30,2,5],"span":[4982,4,21],"leadingComments":" `index` specifies a 0-based index into a repeated field.\n"},{"path":[4,30,2,5,5],"span":[4982,4,10]},{"path":[4,30,2,5,1],"span":[4982,11,16]},{"path":[4,30,2,5,3],"span":[4982,19,20]},{"path":[4,30,2,6],"span":[4985,4,22],"leadingComments":" `bool_key` specifies a map key of type bool.\n"},{"path":[4,30,2,6,5],"span":[4985,4,8]},{"path":[4,30,2,6,1],"span":[4985,9,17]},{"path":[4,30,2,6,3],"span":[4985,20,21]},{"path":[4,30,2,7],"span":[4988,4,22],"leadingComments":" `int_key` specifies a map key of type int32, int64, sint32, sint64, sfixed32 or sfixed64.\n"},{"path":[4,30,2,7,5],"span":[4988,4,9]},{"path":[4,30,2,7,1],"span":[4988,10,17]},{"path":[4,30,2,7,3],"span":[4988,20,21]},{"path":[4,30,2,8],"span":[4991,4,24],"leadingComments":" `uint_key` specifies a map key of type uint32, uint64, fixed32 or fixed64.\n"},{"path":[4,30,2,8,5],"span":[4991,4,10]},{"path":[4,30,2,8,1],"span":[4991,11,19]},{"path":[4,30,2,8,3],"span":[4991,22,23]},{"path":[4,30,2,9],"span":[4994,4,27],"leadingComments":" `string_key` specifies a map key of type string.\n"},{"path":[4,30,2,9,5],"span":[4994,4,10]},{"path":[4,30,2,9,1],"span":[4994,11,21]},{"path":[4,30,2,9,3],"span":[4994,24,26]}]},"bufExtension":{"isImport":true,"moduleInfo":{"name":{"remote":"buf.build","owner":"bufbuild","repository":"protovalidate"},"commit":"6c6e0d3c608e4549802254a2eee81bc8"},"isSyntaxUnspecified":false}},{"name":"buf/protoschema/test/v1/constraints.proto","package":"buf.protoschema.test.v1","dependency":["buf/validate/validate.proto"],"messageType":[{"name":"ConstraintTest","field":[{"name":"required_implicit","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.protoschema.test.v1.ConstraintTest.RequiredImplicit","oneofIndex":0,"jsonName":"requiredImplicit"},{"name":"required_optional","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.protoschema.test.v1.ConstraintTest.RequiredOptional","oneofIndex":0,"jsonName":"requiredOptional"},{"name":"const_bool","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"constBool","options":{"[buf.validate.field]":{"bool":{"const":false}}}},{"name":"const_enum","number":119,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","oneofIndex":0,"jsonName":"constEnum","options":{"[buf.validate.field]":{"enum":{"const":2}}}},{"name":"defined_only_enum","number":120,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","oneofIndex":0,"jsonName":"definedOnlyEnum","options":{"[buf.validate.field]":{"enum":{"definedOnly":true}}}},{"name":"in_enum","number":121,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","oneofIndex":0,"jsonName":"inEnum","options":{"[buf.validate.field]":{"enum":{"in":[1,2]}}}},{"name":"not_in_enum","number":122,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","oneofIndex":0,"jsonName":"notInEnum","options":{"[buf.validate.field]":{"enum":{"notIn":[0,7]}}}},{"name":"defined_only_not_in_enum","number":123,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","oneofIndex":0,"jsonName":"definedOnlyNotInEnum","options":{"[buf.validate.field]":{"enum":{"definedOnly":true,"notIn":[0]}}}},{"name":"in_and_not_in_enum","number":124,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","oneofIndex":0,"jsonName":"inAndNotInEnum","options":{"[buf.validate.field]":{"enum":{"in":[1,7],"notIn":[0,7]}}}},{"name":"const_string","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"constString","options":{"[buf.validate.field]":{"string":{"const":"const"}}}},{"name":"len_string","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"lenString","options":{"[buf.validate.field]":{"string":{"len":"5"}}}},{"name":"min_len_string","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"minLenString","options":{"[buf.validate.field]":{"string":{"minLen":"5"}}}},{"name":"max_len_string","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"maxLenString","options":{"[buf.validate.field]":{"string":{"maxLen":"5"}}}},{"name":"min_max_len_string","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"minMaxLenString","options":{"[buf.validate.field]":{"string":{"minLen":"5","maxLen":"10"}}}},{"name":"in_string","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"inString","options":{"[buf.validate.field]":{"string":{"in":["in1","in2"]}}}},{"name":"pattern_string","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"patternString","options":{"[buf.validate.field]":{"string":{"pattern":"^pat*ern$"}}}},{"name":"prefix_string","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"prefixString","options":{"[buf.validate.field]":{"string":{"prefix":"prefix_"}}}},{"name":"suffix_string","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"suffixString","options":{"[buf.validate.field]":{"string":{"suffix":"_suffix"}}}},{"name":"contains_string","number":13,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"containsString","options":{"[buf.validate.field]":{"string":{"contains":"_contains_"}}}},{"name":"prefix_suffix_string","number":14,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"prefixSuffixString","options":{"[buf.validate.field]":{"string":{"prefix":"prefix_","suffix":"_suffix"}}}},{"name":"prefix_contains_suffix_string","number":15,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"prefixContainsSuffixString","options":{"[buf.validate.field]":{"string":{"prefix":"prefix_","suffix":"_suffix","contains":"contains"}}}},{"name":"hostname_string","number":16,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"hostnameString","options":{"[buf.validate.field]":{"string":{"hostname":true}}}},{"name":"email_string","number":17,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"emailString","options":{"[buf.validate.field]":{"string":{"email":true}}}},{"name":"ip_string","number":18,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"ipString","options":{"[buf.validate.field]":{"string":{"ip":true}}}},{"name":"ipv4_string","number":19,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"ipv4String","options":{"[buf.validate.field]":{"string":{"ipv4":true}}}},{"name":"ipv6_string","number":20,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"ipv6String","options":{"[buf.validate.field]":{"string":{"ipv6":true}}}},{"name":"uri_string","number":21,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"uriString","options":{"[buf.validate.field]":{"string":{"uri":true}}}},{"name":"uri_ref_string","number":22,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"uriRefString","options":{"[buf.validate.field]":{"string":{"uriRef":true}}}},{"name":"address_string","number":23,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"addressString","options":{"[buf.validate.field]":{"string":{"address":true}}}},{"name":"uuid_string","number":24,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"uuidString","options":{"[buf.validate.field]":{"string":{"uuid":true}}}},{"name":"tuuid_string","number":25,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"tuuidString","options":{"[buf.validate.field]":{"string":{"tuuid":true}}}},{"name":"ip_with_prefixlen_string","number":26,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"ipWithPrefixlenString","options":{"[buf.validate.field]":{"string":{"ipWithPrefixlen":true}}}},{"name":"ipv4_with_prefixlen_string","number":27,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"ipv4WithPrefixlenString","options":{"[buf.validate.field]":{"string":{"ipv4WithPrefixlen":true}}}},{"name":"ipv6_with_prefixlen_string","number":28,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"ipv6WithPrefixlenString","options":{"[buf.validate.field]":{"string":{"ipv6WithPrefixlen":true}}}},{"name":"ip_prefix_string","number":29,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"ipPrefixString","options":{"[buf.validate.field]":{"string":{"ipPrefix":true}}}},{"name":"ipv4_prefix_string","number":30,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"ipv4PrefixString","options":{"[buf.validate.field]":{"string":{"ipv4Prefix":true}}}},{"name":"ipv6_prefix_string","number":31,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"ipv6PrefixString","options":{"[buf.validate.field]":{"string":{"ipv6Prefix":true}}}},{"name":"host_and_port_string","number":32,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"hostAndPortString","options":{"[buf.validate.field]":{"string":{"hostAndPort":true}}}},{"name":"http_header_name_strict_string","number":33,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"httpHeaderNameStrictString","options":{"[buf.validate.field]":{"string":{"wellKnownRegex":"KNOWN_REGEX_HTTP_HEADER_NAME","strict":true}}}},{"name":"len_bytes","number":34,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","oneofIndex":0,"jsonName":"lenBytes","options":{"[buf.validate.field]":{"bytes":{"len":"5"}}}},{"name":"min_len_bytes","number":35,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","oneofIndex":0,"jsonName":"minLenBytes","options":{"[buf.validate.field]":{"bytes":{"minLen":"5"}}}},{"name":"max_len_bytes","number":36,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","oneofIndex":0,"jsonName":"maxLenBytes","options":{"[buf.validate.field]":{"bytes":{"maxLen":"5"}}}},{"name":"min_max_len_bytes","number":37,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","oneofIndex":0,"jsonName":"minMaxLenBytes","options":{"[buf.validate.field]":{"bytes":{"minLen":"5","maxLen":"10"}}}},{"name":"const_int32","number":38,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":0,"jsonName":"constInt32","options":{"[buf.validate.field]":{"int32":{"const":5}}}},{"name":"lt_int32","number":39,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":0,"jsonName":"ltInt32","options":{"[buf.validate.field]":{"int32":{"lt":5}}}},{"name":"lte_int32","number":40,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":0,"jsonName":"lteInt32","options":{"[buf.validate.field]":{"int32":{"lte":5}}}},{"name":"gt_int32","number":41,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":0,"jsonName":"gtInt32","options":{"[buf.validate.field]":{"int32":{"gt":5}}}},{"name":"gte_int32","number":42,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":0,"jsonName":"gteInt32","options":{"[buf.validate.field]":{"int32":{"gte":5}}}},{"name":"in_int32","number":43,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":0,"jsonName":"inInt32","options":{"[buf.validate.field]":{"int32":{"in":[1,2]}}}},{"name":"lt_gt_int32","number":114,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","oneofIndex":0,"jsonName":"ltGtInt32","options":{"[buf.validate.field]":{"int32":{"lt":1,"gt":5}}}},{"name":"const_int64","number":44,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"constInt64","options":{"[buf.validate.field]":{"int64":{"const":"5"}}}},{"name":"lt_int64","number":45,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"ltInt64","options":{"[buf.validate.field]":{"int64":{"lt":"5"}}}},{"name":"lte_int64","number":46,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"lteInt64","options":{"[buf.validate.field]":{"int64":{"lte":"5"}}}},{"name":"gt_int64","number":47,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"gtInt64","options":{"[buf.validate.field]":{"int64":{"gt":"5"}}}},{"name":"gte_int64","number":48,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"gteInt64","options":{"[buf.validate.field]":{"int64":{"gte":"5"}}}},{"name":"in_int64","number":49,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"inInt64","options":{"[buf.validate.field]":{"int64":{"in":["1","2"]}}}},{"name":"lt_gt_int64","number":115,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","oneofIndex":0,"jsonName":"ltGtInt64","options":{"[buf.validate.field]":{"int64":{"lt":"1","gt":"5"}}}},{"name":"const_uint32","number":50,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":0,"jsonName":"constUint32","options":{"[buf.validate.field]":{"uint32":{"const":5}}}},{"name":"lt_uint32","number":51,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":0,"jsonName":"ltUint32","options":{"[buf.validate.field]":{"uint32":{"lt":5}}}},{"name":"lte_uint32","number":52,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":0,"jsonName":"lteUint32","options":{"[buf.validate.field]":{"uint32":{"lte":5}}}},{"name":"gt_uint32","number":53,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":0,"jsonName":"gtUint32","options":{"[buf.validate.field]":{"uint32":{"gt":5}}}},{"name":"gte_uint32","number":54,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":0,"jsonName":"gteUint32","options":{"[buf.validate.field]":{"uint32":{"gte":5}}}},{"name":"in_uint32","number":55,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":0,"jsonName":"inUint32","options":{"[buf.validate.field]":{"uint32":{"in":[1,2]}}}},{"name":"lt_gt_uint32","number":116,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","oneofIndex":0,"jsonName":"ltGtUint32","options":{"[buf.validate.field]":{"uint32":{"lt":1,"gt":5}}}},{"name":"const_uint64","number":56,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"constUint64","options":{"[buf.validate.field]":{"uint64":{"const":"5"}}}},{"name":"lt_uint64","number":57,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"ltUint64","options":{"[buf.validate.field]":{"uint64":{"lt":"5"}}}},{"name":"lte_uint64","number":58,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"lteUint64","options":{"[buf.validate.field]":{"uint64":{"lte":"5"}}}},{"name":"gt_uint64","number":59,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"gtUint64","options":{"[buf.validate.field]":{"uint64":{"gt":"5"}}}},{"name":"gte_uint64","number":60,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"gteUint64","options":{"[buf.validate.field]":{"uint64":{"gte":"5"}}}},{"name":"in_uint64","number":61,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"inUint64","options":{"[buf.validate.field]":{"uint64":{"in":["1","2"]}}}},{"name":"lt_gt_uint64","number":117,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","oneofIndex":0,"jsonName":"ltGtUint64","options":{"[buf.validate.field]":{"uint64":{"lt":"1","gt":"5"}}}},{"name":"const_sint32","number":62,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":0,"jsonName":"constSint32","options":{"[buf.validate.field]":{"sint32":{"const":5}}}},{"name":"lt_sint32","number":63,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":0,"jsonName":"ltSint32","options":{"[buf.validate.field]":{"sint32":{"lt":5}}}},{"name":"lte_sint32","number":64,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":0,"jsonName":"lteSint32","options":{"[buf.validate.field]":{"sint32":{"lte":5}}}},{"name":"gt_sint32","number":65,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":0,"jsonName":"gtSint32","options":{"[buf.validate.field]":{"sint32":{"gt":5}}}},{"name":"gte_sint32","number":66,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":0,"jsonName":"gteSint32","options":{"[buf.validate.field]":{"sint32":{"gte":5}}}},{"name":"in_sint32","number":67,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","oneofIndex":0,"jsonName":"inSint32","options":{"[buf.validate.field]":{"sint32":{"in":[1,2]}}}},{"name":"const_sint64","number":68,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":0,"jsonName":"constSint64","options":{"[buf.validate.field]":{"sint64":{"const":"5"}}}},{"name":"lt_sint64","number":69,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":0,"jsonName":"ltSint64","options":{"[buf.validate.field]":{"sint64":{"lt":"5"}}}},{"name":"lte_sint64","number":70,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":0,"jsonName":"lteSint64","options":{"[buf.validate.field]":{"sint64":{"lte":"5"}}}},{"name":"gt_sint64","number":71,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":0,"jsonName":"gtSint64","options":{"[buf.validate.field]":{"sint64":{"gt":"5"}}}},{"name":"gte_sint64","number":72,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":0,"jsonName":"gteSint64","options":{"[buf.validate.field]":{"sint64":{"gte":"5"}}}},{"name":"in_sint64","number":73,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","oneofIndex":0,"jsonName":"inSint64","options":{"[buf.validate.field]":{"sint64":{"in":["1","2"]}}}},{"name":"const_sfixed32","number":74,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":0,"jsonName":"constSfixed32","options":{"[buf.validate.field]":{"sfixed32":{"const":5}}}},{"name":"lt_sfixed32","number":75,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":0,"jsonName":"ltSfixed32","options":{"[buf.validate.field]":{"sfixed32":{"lt":5}}}},{"name":"lte_sfixed32","number":76,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":0,"jsonName":"lteSfixed32","options":{"[buf.validate.field]":{"sfixed32":{"lte":5}}}},{"name":"gt_sfixed32","number":77,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":0,"jsonName":"gtSfixed32","options":{"[buf.validate.field]":{"sfixed32":{"gt":5}}}},{"name":"gte_sfixed32","number":78,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":0,"jsonName":"gteSfixed32","options":{"[buf.validate.field]":{"sfixed32":{"gte":5}}}},{"name":"in_sfixed32","number":79,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","oneofIndex":0,"jsonName":"inSfixed32","options":{"[buf.validate.field]":{"sfixed32":{"in":[1,2]}}}},{"name":"const_sfixed64","number":80,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":0,"jsonName":"constSfixed64","options":{"[buf.validate.field]":{"sfixed64":{"const":"5"}}}},{"name":"lt_sfixed64","number":81,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":0,"jsonName":"ltSfixed64","options":{"[buf.validate.field]":{"sfixed64":{"lt":"5"}}}},{"name":"lte_sfixed64","number":82,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":0,"jsonName":"lteSfixed64","options":{"[buf.validate.field]":{"sfixed64":{"lte":"5"}}}},{"name":"gt_sfixed64","number":83,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":0,"jsonName":"gtSfixed64","options":{"[buf.validate.field]":{"sfixed64":{"gt":"5"}}}},{"name":"gte_sfixed64","number":84,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":0,"jsonName":"gteSfixed64","options":{"[buf.validate.field]":{"sfixed64":{"gte":"5"}}}},{"name":"in_sfixed64","number":85,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","oneofIndex":0,"jsonName":"inSfixed64","options":{"[buf.validate.field]":{"sfixed64":{"in":["1","2"]}}}},{"name":"one_of_required","number":125,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.protoschema.test.v1.ConstraintTest.OneOfRequired","jsonName":"oneOfRequired"},{"name":"one_of_optional","number":126,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.protoschema.test.v1.ConstraintTest.OneOfOptional","jsonName":"oneOfOptional"},{"name":"const_fixed32","number":86,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","jsonName":"constFixed32","options":{"[buf.validate.field]":{"fixed32":{"const":5}}}},{"name":"lt_fixed32","number":87,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","jsonName":"ltFixed32","options":{"[buf.validate.field]":{"fixed32":{"lt":5}}}},{"name":"lte_fixed32","number":88,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","jsonName":"lteFixed32","options":{"[buf.validate.field]":{"fixed32":{"lte":5}}}},{"name":"gt_fixed32","number":89,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","jsonName":"gtFixed32","options":{"[buf.validate.field]":{"fixed32":{"gt":5}}}},{"name":"gte_fixed32","number":90,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","jsonName":"gteFixed32","options":{"[buf.validate.field]":{"fixed32":{"gte":5}}}},{"name":"in_fixed32","number":91,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","jsonName":"inFixed32","options":{"[buf.validate.field]":{"fixed32":{"in":[1,2]}}}},{"name":"const_fixed64","number":92,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","jsonName":"constFixed64","options":{"[buf.validate.field]":{"fixed64":{"const":"5"}}}},{"name":"lt_fixed64","number":93,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","jsonName":"ltFixed64","options":{"[buf.validate.field]":{"fixed64":{"lt":"5"}}}},{"name":"lte_fixed64","number":94,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","jsonName":"lteFixed64","options":{"[buf.validate.field]":{"fixed64":{"lte":"5"}}}},{"name":"gt_fixed64","number":95,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","jsonName":"gtFixed64","options":{"[buf.validate.field]":{"fixed64":{"gt":"5"}}}},{"name":"gte_fixed64","number":96,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","jsonName":"gteFixed64","options":{"[buf.validate.field]":{"fixed64":{"gte":"5"}}}},{"name":"in_fixed64","number":97,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","jsonName":"inFixed64","options":{"[buf.validate.field]":{"fixed64":{"in":["1","2"]}}}},{"name":"const_double","number":98,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"constDouble","options":{"[buf.validate.field]":{"double":{"const":5}}}},{"name":"lt_double","number":99,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"ltDouble","options":{"[buf.validate.field]":{"double":{"lt":5}}}},{"name":"lte_double","number":100,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"lteDouble","options":{"[buf.validate.field]":{"double":{"lte":5}}}},{"name":"gt_double","number":101,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"gtDouble","options":{"[buf.validate.field]":{"double":{"gt":5}}}},{"name":"gte_double","number":102,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"gteDouble","options":{"[buf.validate.field]":{"double":{"gte":5}}}},{"name":"in_double","number":103,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"inDouble","options":{"[buf.validate.field]":{"double":{"in":[1,2]}}}},{"name":"finite_double","number":104,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"finiteDouble","options":{"[buf.validate.field]":{"double":{"finite":true}}}},{"name":"lt_gt_double","number":105,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"ltGtDouble","options":{"[buf.validate.field]":{"double":{"lt":1,"gt":5}}}},{"name":"const_float","number":106,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"constFloat","options":{"[buf.validate.field]":{"float":{"const":5}}}},{"name":"lt_float","number":107,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"ltFloat","options":{"[buf.validate.field]":{"float":{"lt":5}}}},{"name":"lte_float","number":108,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"lteFloat","options":{"[buf.validate.field]":{"float":{"lte":5}}}},{"name":"gt_float","number":109,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"gtFloat","options":{"[buf.validate.field]":{"float":{"gt":5}}}},{"name":"gte_float","number":110,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"gteFloat","options":{"[buf.validate.field]":{"float":{"gte":5}}}},{"name":"in_float","number":111,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"inFloat","options":{"[buf.validate.field]":{"float":{"in":[1,2]}}}},{"name":"finite_float","number":112,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"finiteFloat","options":{"[buf.validate.field]":{"float":{"finite":true}}}},{"name":"lt_gt_float","number":113,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"ltGtFloat","options":{"[buf.validate.field]":{"float":{"lt":1,"gt":5}}}},{"name":"in_map","number":118,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".buf.protoschema.test.v1.ConstraintTest.InMapEntry","jsonName":"inMap","options":{"[buf.validate.field]":{"map":{"keys":{"string":{"in":["key1","key2"]}},"values":{"string":{"in":["value1","value2"]}}}}}}],"nestedType":[{"name":"RequiredImplicit","field":[{"name":"bool_value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"boolValue","options":{"[buf.validate.field]":{"required":true}}},{"name":"string_value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"stringValue","options":{"[buf.validate.field]":{"required":true}}},{"name":"enum_value","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","jsonName":"enumValue","options":{"[buf.validate.field]":{"required":true}}},{"name":"strict_enum_value","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","jsonName":"strictEnumValue","options":{"[buf.validate.field]":{"required":true,"enum":{"definedOnly":true}}}}]},{"name":"RequiredOptional","field":[{"name":"bool_value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"boolValue","options":{"[buf.validate.field]":{"required":true}},"proto3Optional":true},{"name":"string_value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":1,"jsonName":"stringValue","options":{"[buf.validate.field]":{"required":true}},"proto3Optional":true},{"name":"enum_value","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","oneofIndex":2,"jsonName":"enumValue","options":{"[buf.validate.field]":{"required":true}},"proto3Optional":true},{"name":"strict_enum_value","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".buf.protoschema.test.v1.ConstraintTest.Enum","oneofIndex":3,"jsonName":"strictEnumValue","options":{"[buf.validate.field]":{"required":true,"enum":{"definedOnly":true}}},"proto3Optional":true}],"oneofDecl":[{"name":"_bool_value"},{"name":"_string_value"},{"name":"_enum_value"},{"name":"_strict_enum_value"}]},{"name":"OneOfRequired","field":[{"name":"id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"id"},{"name":"name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"}],"options":{"[buf.validate.message]":{"oneof":[{"fields":["id","name"],"required":true}]}}},{"name":"OneOfOptional","field":[{"name":"id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"id"},{"name":"name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"name"}],"options":{"[buf.validate.message]":{"oneof":[{"fields":["id","name"]}]}}},{"name":"InMapEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}}],"enumType":[{"name":"Enum","value":[{"name":"ENUM_UNSPECIFIED","number":0},{"name":"ENUM_VAL1","number":1},{"name":"ENUM_VAL2","number":2},{"name":"ENUM_VAL7","number":7}]}],"oneofDecl":[{"name":"test_case"}]},{"name":"ConstraintTests","field":[{"name":"test_cases","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".buf.protoschema.test.v1.ConstraintTest","jsonName":"testCases"}]}],"sourceCodeInfo":{"location":[{"span":[14,0,344,1]},{"path":[12],"span":[14,0,18],"leadingDetachedComments":[" Copyright 2024-2025 Buf Technologies, Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n"]},{"path":[2],"span":[16,0,32]},{"path":[3,0],"span":[18,0,37]},{"path":[4,0],"span":[20,0,340,1]},{"path":[4,0,1],"span":[20,8,22]},{"path":[4,0,3,0],"span":[21,2,29,3]},{"path":[4,0,3,0,1],"span":[21,10,26]},{"path":[4,0,3,0,2,0],"span":[22,4,63]},{"path":[4,0,3,0,2,0,5],"span":[22,4,8]},{"path":[4,0,3,0,2,0,1],"span":[22,9,19]},{"path":[4,0,3,0,2,0,3],"span":[22,22,23]},{"path":[4,0,3,0,2,0,8],"span":[22,24,62]},{"path":[4,0,3,0,2,0,8,1159,25],"span":[22,25,61]},{"path":[4,0,3,0,2,1],"span":[23,4,67]},{"path":[4,0,3,0,2,1,5],"span":[23,4,10]},{"path":[4,0,3,0,2,1,1],"span":[23,11,23]},{"path":[4,0,3,0,2,1,3],"span":[23,26,27]},{"path":[4,0,3,0,2,1,8],"span":[23,28,66]},{"path":[4,0,3,0,2,1,8,1159,25],"span":[23,29,65]},{"path":[4,0,3,0,2,2],"span":[24,4,63]},{"path":[4,0,3,0,2,2,6],"span":[24,4,8]},{"path":[4,0,3,0,2,2,1],"span":[24,9,19]},{"path":[4,0,3,0,2,2,3],"span":[24,22,23]},{"path":[4,0,3,0,2,2,8],"span":[24,24,62]},{"path":[4,0,3,0,2,2,8,1159,25],"span":[24,25,61]},{"path":[4,0,3,0,2,3],"span":[25,4,28,6]},{"path":[4,0,3,0,2,3,6],"span":[25,4,8]},{"path":[4,0,3,0,2,3,1],"span":[25,9,26]},{"path":[4,0,3,0,2,3,3],"span":[25,29,30]},{"path":[4,0,3,0,2,3,8],"span":[25,31,28,5]},{"path":[4,0,3,0,2,3,8,1159,25],"span":[26,6,42]},{"path":[4,0,3,0,2,3,8,1159,16,2],"span":[27,6,51]},{"path":[4,0,3,1],"span":[31,2,39,3]},{"path":[4,0,3,1,1],"span":[31,10,26]},{"path":[4,0,3,1,2,0],"span":[32,4,72]},{"path":[4,0,3,1,2,0,4],"span":[32,4,12]},{"path":[4,0,3,1,2,0,5],"span":[32,13,17]},{"path":[4,0,3,1,2,0,1],"span":[32,18,28]},{"path":[4,0,3,1,2,0,3],"span":[32,31,32]},{"path":[4,0,3,1,2,0,8],"span":[32,33,71]},{"path":[4,0,3,1,2,0,8,1159,25],"span":[32,34,70]},{"path":[4,0,3,1,2,1],"span":[33,4,76]},{"path":[4,0,3,1,2,1,4],"span":[33,4,12]},{"path":[4,0,3,1,2,1,5],"span":[33,13,19]},{"path":[4,0,3,1,2,1,1],"span":[33,20,32]},{"path":[4,0,3,1,2,1,3],"span":[33,35,36]},{"path":[4,0,3,1,2,1,8],"span":[33,37,75]},{"path":[4,0,3,1,2,1,8,1159,25],"span":[33,38,74]},{"path":[4,0,3,1,2,2],"span":[34,4,72]},{"path":[4,0,3,1,2,2,4],"span":[34,4,12]},{"path":[4,0,3,1,2,2,6],"span":[34,13,17]},{"path":[4,0,3,1,2,2,1],"span":[34,18,28]},{"path":[4,0,3,1,2,2,3],"span":[34,31,32]},{"path":[4,0,3,1,2,2,8],"span":[34,33,71]},{"path":[4,0,3,1,2,2,8,1159,25],"span":[34,34,70]},{"path":[4,0,3,1,2,3],"span":[35,4,38,6]},{"path":[4,0,3,1,2,3,4],"span":[35,4,12]},{"path":[4,0,3,1,2,3,6],"span":[35,13,17]},{"path":[4,0,3,1,2,3,1],"span":[35,18,35]},{"path":[4,0,3,1,2,3,3],"span":[35,38,39]},{"path":[4,0,3,1,2,3,8],"span":[35,40,38,5]},{"path":[4,0,3,1,2,3,8,1159,25],"span":[36,6,42]},{"path":[4,0,3,1,2,3,8,1159,16,2],"span":[37,6,51]},{"path":[4,0,3,2],"span":[41,2,51,3]},{"path":[4,0,3,2,1],"span":[41,10,23]},{"path":[4,0,3,2,7],"span":[42,4,48,6]},{"path":[4,0,3,2,7,1159,4,0],"span":[42,4,48,6]},{"path":[4,0,3,2,7,1159,4,0,1,0],"span":[44,8,12]},{"path":[4,0,3,2,7,1159,4,0,1,1],"span":[45,8,14]},{"path":[4,0,3,2,7,1159,4,0,2],"span":[47,6,20]},{"path":[4,0,3,2,2,0],"span":[49,4,18]},{"path":[4,0,3,2,2,0,5],"span":[49,4,10]},{"path":[4,0,3,2,2,0,1],"span":[49,11,13]},{"path":[4,0,3,2,2,0,3],"span":[49,16,17]},{"path":[4,0,3,2,2,1],"span":[50,4,20]},{"path":[4,0,3,2,2,1,5],"span":[50,4,10]},{"path":[4,0,3,2,2,1,1],"span":[50,11,15]},{"path":[4,0,3,2,2,1,3],"span":[50,18,19]},{"path":[4,0,3,3],"span":[53,2,62,3]},{"path":[4,0,3,3,1],"span":[53,10,23]},{"path":[4,0,3,3,7],"span":[54,4,59,6]},{"path":[4,0,3,3,7,1159,4,0],"span":[54,4,59,6]},{"path":[4,0,3,3,7,1159,4,0,1,0],"span":[56,8,12]},{"path":[4,0,3,3,7,1159,4,0,1,1],"span":[57,8,14]},{"path":[4,0,3,3,2,0],"span":[60,4,18]},{"path":[4,0,3,3,2,0,5],"span":[60,4,10]},{"path":[4,0,3,3,2,0,1],"span":[60,11,13]},{"path":[4,0,3,3,2,0,3],"span":[60,16,17]},{"path":[4,0,3,3,2,1],"span":[61,4,20]},{"path":[4,0,3,3,2,1,5],"span":[61,4,10]},{"path":[4,0,3,3,2,1,1],"span":[61,11,15]},{"path":[4,0,3,3,2,1,3],"span":[61,18,19]},{"path":[4,0,4,0],"span":[64,2,69,3]},{"path":[4,0,4,0,1],"span":[64,7,11]},{"path":[4,0,4,0,2,0],"span":[65,4,25]},{"path":[4,0,4,0,2,0,1],"span":[65,4,20]},{"path":[4,0,4,0,2,0,2],"span":[65,23,24]},{"path":[4,0,4,0,2,1],"span":[66,4,18]},{"path":[4,0,4,0,2,1,1],"span":[66,4,13]},{"path":[4,0,4,0,2,1,2],"span":[66,16,17]},{"path":[4,0,4,0,2,2],"span":[67,4,18]},{"path":[4,0,4,0,2,2,1],"span":[67,4,13]},{"path":[4,0,4,0,2,2,2],"span":[67,16,17]},{"path":[4,0,4,0,2,3],"span":[68,4,18]},{"path":[4,0,4,0,2,3,1],"span":[68,4,13]},{"path":[4,0,4,0,2,3,2],"span":[68,16,17]},{"path":[4,0,8,0],"span":[71,2,262,3]},{"path":[4,0,8,0,1],"span":[71,8,17]},{"path":[4,0,2,0],"span":[72,4,43]},{"path":[4,0,2,0,6],"span":[72,4,20]},{"path":[4,0,2,0,1],"span":[72,21,38]},{"path":[4,0,2,0,3],"span":[72,41,42]},{"path":[4,0,2,1],"span":[73,4,43]},{"path":[4,0,2,1,6],"span":[73,4,20]},{"path":[4,0,2,1,1],"span":[73,21,38]},{"path":[4,0,2,1,3],"span":[73,41,42]},{"path":[4,0,2,2],"span":[74,4,66]},{"path":[4,0,2,2,5],"span":[74,4,8]},{"path":[4,0,2,2,1],"span":[74,9,19]},{"path":[4,0,2,2,3],"span":[74,22,23]},{"path":[4,0,2,2,8],"span":[74,24,65]},{"path":[4,0,2,2,8,1159,13,1],"span":[74,25,64]},{"path":[4,0,2,3],"span":[75,4,64]},{"path":[4,0,2,3,6],"span":[75,4,8]},{"path":[4,0,2,3,1],"span":[75,9,19]},{"path":[4,0,2,3,3],"span":[75,22,25]},{"path":[4,0,2,3,8],"span":[75,26,63]},{"path":[4,0,2,3,8,1159,16,1],"span":[75,27,62]},{"path":[4,0,2,4],"span":[76,4,81]},{"path":[4,0,2,4,6],"span":[76,4,8]},{"path":[4,0,2,4,1],"span":[76,9,26]},{"path":[4,0,2,4,3],"span":[76,29,32]},{"path":[4,0,2,4,8],"span":[76,33,80]},{"path":[4,0,2,4,8,1159,16,2],"span":[76,34,79]},{"path":[4,0,2,5],"span":[77,4,82,7]},{"path":[4,0,2,5,6],"span":[77,4,8]},{"path":[4,0,2,5,1],"span":[77,9,16]},{"path":[4,0,2,5,3],"span":[77,19,22]},{"path":[4,0,2,5,8],"span":[77,23,82,6]},{"path":[4,0,2,5,8,1159,16],"span":[77,24,82,5]},{"path":[4,0,2,5,8,1159,16,3,0],"span":[79,8,9]},{"path":[4,0,2,5,8,1159,16,3,1],"span":[80,8,9]},{"path":[4,0,2,6],"span":[83,4,88,7]},{"path":[4,0,2,6,6],"span":[83,4,8]},{"path":[4,0,2,6,1],"span":[83,9,20]},{"path":[4,0,2,6,3],"span":[83,23,26]},{"path":[4,0,2,6,8],"span":[83,27,88,6]},{"path":[4,0,2,6,8,1159,16],"span":[83,28,88,5]},{"path":[4,0,2,6,8,1159,16,4,0],"span":[85,8,9]},{"path":[4,0,2,6,8,1159,16,4,1],"span":[86,8,9]},{"path":[4,0,2,7],"span":[89,4,92,7]},{"path":[4,0,2,7,6],"span":[89,4,8]},{"path":[4,0,2,7,1],"span":[89,9,33]},{"path":[4,0,2,7,3],"span":[89,36,39]},{"path":[4,0,2,7,8],"span":[89,40,92,6]},{"path":[4,0,2,7,8,1159,16],"span":[89,41,92,5]},{"path":[4,0,2,7,8,1159,16,2],"span":[90,6,24]},{"path":[4,0,2,7,8,1159,16,4,0],"span":[91,15,16]},{"path":[4,0,2,8],"span":[93,4,102,7]},{"path":[4,0,2,8,6],"span":[93,4,8]},{"path":[4,0,2,8,1],"span":[93,9,27]},{"path":[4,0,2,8,3],"span":[93,30,33]},{"path":[4,0,2,8,8],"span":[93,34,102,6]},{"path":[4,0,2,8,8,1159,16],"span":[93,35,102,5]},{"path":[4,0,2,8,8,1159,16,3,0],"span":[95,8,9]},{"path":[4,0,2,8,8,1159,16,3,1],"span":[96,8,9]},{"path":[4,0,2,8,8,1159,16,4,0],"span":[99,8,9]},{"path":[4,0,2,8,8,1159,16,4,1],"span":[100,8,9]},{"path":[4,0,2,9],"span":[103,4,74]},{"path":[4,0,2,9,5],"span":[103,4,10]},{"path":[4,0,2,9,1],"span":[103,11,23]},{"path":[4,0,2,9,3],"span":[103,26,27]},{"path":[4,0,2,9,8],"span":[103,28,73]},{"path":[4,0,2,9,8,1159,14,1],"span":[103,29,72]},{"path":[4,0,2,10],"span":[104,4,64]},{"path":[4,0,2,10,5],"span":[104,4,10]},{"path":[4,0,2,10,1],"span":[104,11,21]},{"path":[4,0,2,10,3],"span":[104,24,25]},{"path":[4,0,2,10,8],"span":[104,26,63]},{"path":[4,0,2,10,8,1159,14,19],"span":[104,27,62]},{"path":[4,0,2,11],"span":[105,4,72]},{"path":[4,0,2,11,5],"span":[105,4,10]},{"path":[4,0,2,11,1],"span":[105,11,25]},{"path":[4,0,2,11,3],"span":[105,28,29]},{"path":[4,0,2,11,8],"span":[105,30,71]},{"path":[4,0,2,11,8,1159,14,2],"span":[105,31,70]},{"path":[4,0,2,12],"span":[106,4,72]},{"path":[4,0,2,12,5],"span":[106,4,10]},{"path":[4,0,2,12,1],"span":[106,11,25]},{"path":[4,0,2,12,3],"span":[106,28,29]},{"path":[4,0,2,12,8],"span":[106,30,71]},{"path":[4,0,2,12,8,1159,14,3],"span":[106,31,70]},{"path":[4,0,2,13],"span":[107,4,110,7]},{"path":[4,0,2,13,5],"span":[107,4,10]},{"path":[4,0,2,13,1],"span":[107,11,29]},{"path":[4,0,2,13,3],"span":[107,32,33]},{"path":[4,0,2,13,8],"span":[107,34,110,6]},{"path":[4,0,2,13,8,1159,14],"span":[107,35,110,5]},{"path":[4,0,2,13,8,1159,14,2],"span":[108,6,16]},{"path":[4,0,2,13,8,1159,14,3],"span":[109,6,17]},{"path":[4,0,2,14],"span":[111,4,116,7]},{"path":[4,0,2,14,5],"span":[111,4,10]},{"path":[4,0,2,14,1],"span":[111,11,20]},{"path":[4,0,2,14,3],"span":[111,23,24]},{"path":[4,0,2,14,8],"span":[111,25,116,6]},{"path":[4,0,2,14,8,1159,14],"span":[111,26,116,5]},{"path":[4,0,2,14,8,1159,14,10,0],"span":[113,8,13]},{"path":[4,0,2,14,8,1159,14,10,1],"span":[114,8,13]},{"path":[4,0,2,15],"span":[117,4,83]},{"path":[4,0,2,15,5],"span":[117,4,10]},{"path":[4,0,2,15,1],"span":[117,11,25]},{"path":[4,0,2,15,3],"span":[117,28,30]},{"path":[4,0,2,15,8],"span":[117,31,82]},{"path":[4,0,2,15,8,1159,14,6],"span":[117,32,81]},{"path":[4,0,2,16],"span":[118,4,79]},{"path":[4,0,2,16,5],"span":[118,4,10]},{"path":[4,0,2,16,1],"span":[118,11,24]},{"path":[4,0,2,16,3],"span":[118,27,29]},{"path":[4,0,2,16,8],"span":[118,30,78]},{"path":[4,0,2,16,8,1159,14,7],"span":[118,31,77]},{"path":[4,0,2,17],"span":[119,4,79]},{"path":[4,0,2,17,5],"span":[119,4,10]},{"path":[4,0,2,17,1],"span":[119,11,24]},{"path":[4,0,2,17,3],"span":[119,27,29]},{"path":[4,0,2,17,8],"span":[119,30,78]},{"path":[4,0,2,17,8,1159,14,8],"span":[119,31,77]},{"path":[4,0,2,18],"span":[120,4,86]},{"path":[4,0,2,18,5],"span":[120,4,10]},{"path":[4,0,2,18,1],"span":[120,11,26]},{"path":[4,0,2,18,3],"span":[120,29,31]},{"path":[4,0,2,18,8],"span":[120,32,85]},{"path":[4,0,2,18,8,1159,14,9],"span":[120,33,84]},{"path":[4,0,2,19],"span":[121,4,124,7]},{"path":[4,0,2,19,5],"span":[121,4,10]},{"path":[4,0,2,19,1],"span":[121,11,31]},{"path":[4,0,2,19,3],"span":[121,34,36]},{"path":[4,0,2,19,8],"span":[121,37,124,6]},{"path":[4,0,2,19,8,1159,14],"span":[121,38,124,5]},{"path":[4,0,2,19,8,1159,14,8],"span":[122,6,23]},{"path":[4,0,2,19,8,1159,14,7],"span":[123,6,23]},{"path":[4,0,2,20],"span":[125,4,129,7]},{"path":[4,0,2,20,5],"span":[125,4,10]},{"path":[4,0,2,20,1],"span":[125,11,40]},{"path":[4,0,2,20,3],"span":[125,43,45]},{"path":[4,0,2,20,8],"span":[125,46,129,6]},{"path":[4,0,2,20,8,1159,14],"span":[125,47,129,5]},{"path":[4,0,2,20,8,1159,14,8],"span":[126,6,23]},{"path":[4,0,2,20,8,1159,14,7],"span":[127,6,23]},{"path":[4,0,2,20,8,1159,14,9],"span":[128,6,26]},{"path":[4,0,2,21],"span":[130,4,78]},{"path":[4,0,2,21,5],"span":[130,4,10]},{"path":[4,0,2,21,1],"span":[130,11,26]},{"path":[4,0,2,21,3],"span":[130,29,31]},{"path":[4,0,2,21,8],"span":[130,32,77]},{"path":[4,0,2,21,8,1159,14,13],"span":[130,33,76]},{"path":[4,0,2,22],"span":[131,4,72]},{"path":[4,0,2,22,5],"span":[131,4,10]},{"path":[4,0,2,22,1],"span":[131,11,23]},{"path":[4,0,2,22,3],"span":[131,26,28]},{"path":[4,0,2,22,8],"span":[131,29,71]},{"path":[4,0,2,22,8,1159,14,12],"span":[131,30,70]},{"path":[4,0,2,23],"span":[132,4,66]},{"path":[4,0,2,23,5],"span":[132,4,10]},{"path":[4,0,2,23,1],"span":[132,11,20]},{"path":[4,0,2,23,3],"span":[132,23,25]},{"path":[4,0,2,23,8],"span":[132,26,65]},{"path":[4,0,2,23,8,1159,14,14],"span":[132,27,64]},{"path":[4,0,2,24],"span":[133,4,70]},{"path":[4,0,2,24,5],"span":[133,4,10]},{"path":[4,0,2,24,1],"span":[133,11,22]},{"path":[4,0,2,24,3],"span":[133,25,27]},{"path":[4,0,2,24,8],"span":[133,28,69]},{"path":[4,0,2,24,8,1159,14,15],"span":[133,29,68]},{"path":[4,0,2,25],"span":[134,4,70]},{"path":[4,0,2,25,5],"span":[134,4,10]},{"path":[4,0,2,25,1],"span":[134,11,22]},{"path":[4,0,2,25,3],"span":[134,25,27]},{"path":[4,0,2,25,8],"span":[134,28,69]},{"path":[4,0,2,25,8,1159,14,16],"span":[134,29,68]},{"path":[4,0,2,26],"span":[135,4,68]},{"path":[4,0,2,26,5],"span":[135,4,10]},{"path":[4,0,2,26,1],"span":[135,11,21]},{"path":[4,0,2,26,3],"span":[135,24,26]},{"path":[4,0,2,26,8],"span":[135,27,67]},{"path":[4,0,2,26,8,1159,14,17],"span":[135,28,66]},{"path":[4,0,2,27],"span":[136,4,76]},{"path":[4,0,2,27,5],"span":[136,4,10]},{"path":[4,0,2,27,1],"span":[136,11,25]},{"path":[4,0,2,27,3],"span":[136,28,30]},{"path":[4,0,2,27,8],"span":[136,31,75]},{"path":[4,0,2,27,8,1159,14,18],"span":[136,32,74]},{"path":[4,0,2,28],"span":[137,4,76]},{"path":[4,0,2,28,5],"span":[137,4,10]},{"path":[4,0,2,28,1],"span":[137,11,25]},{"path":[4,0,2,28,3],"span":[137,28,30]},{"path":[4,0,2,28,8],"span":[137,31,75]},{"path":[4,0,2,28,8,1159,14,21],"span":[137,32,74]},{"path":[4,0,2,29],"span":[138,4,70]},{"path":[4,0,2,29,5],"span":[138,4,10]},{"path":[4,0,2,29,1],"span":[138,11,22]},{"path":[4,0,2,29,3],"span":[138,25,27]},{"path":[4,0,2,29,8],"span":[138,28,69]},{"path":[4,0,2,29,8,1159,14,22],"span":[138,29,68]},{"path":[4,0,2,30],"span":[139,4,72]},{"path":[4,0,2,30,5],"span":[139,4,10]},{"path":[4,0,2,30,1],"span":[139,11,23]},{"path":[4,0,2,30,3],"span":[139,26,28]},{"path":[4,0,2,30,8],"span":[139,29,71]},{"path":[4,0,2,30,8,1159,14,33],"span":[139,30,70]},{"path":[4,0,2,31],"span":[140,4,96]},{"path":[4,0,2,31,5],"span":[140,4,10]},{"path":[4,0,2,31,1],"span":[140,11,35]},{"path":[4,0,2,31,3],"span":[140,38,40]},{"path":[4,0,2,31,8],"span":[140,41,95]},{"path":[4,0,2,31,8,1159,14,26],"span":[140,42,94]},{"path":[4,0,2,32],"span":[141,4,100]},{"path":[4,0,2,32,5],"span":[141,4,10]},{"path":[4,0,2,32,1],"span":[141,11,37]},{"path":[4,0,2,32,3],"span":[141,40,42]},{"path":[4,0,2,32,8],"span":[141,43,99]},{"path":[4,0,2,32,8,1159,14,27],"span":[141,44,98]},{"path":[4,0,2,33],"span":[142,4,100]},{"path":[4,0,2,33,5],"span":[142,4,10]},{"path":[4,0,2,33,1],"span":[142,11,37]},{"path":[4,0,2,33,3],"span":[142,40,42]},{"path":[4,0,2,33,8],"span":[142,43,99]},{"path":[4,0,2,33,8,1159,14,28],"span":[142,44,98]},{"path":[4,0,2,34],"span":[143,4,80]},{"path":[4,0,2,34,5],"span":[143,4,10]},{"path":[4,0,2,34,1],"span":[143,11,27]},{"path":[4,0,2,34,3],"span":[143,30,32]},{"path":[4,0,2,34,8],"span":[143,33,79]},{"path":[4,0,2,34,8,1159,14,29],"span":[143,34,78]},{"path":[4,0,2,35],"span":[144,4,84]},{"path":[4,0,2,35,5],"span":[144,4,10]},{"path":[4,0,2,35,1],"span":[144,11,29]},{"path":[4,0,2,35,3],"span":[144,32,34]},{"path":[4,0,2,35,8],"span":[144,35,83]},{"path":[4,0,2,35,8,1159,14,30],"span":[144,36,82]},{"path":[4,0,2,36],"span":[145,4,84]},{"path":[4,0,2,36,5],"span":[145,4,10]},{"path":[4,0,2,36,1],"span":[145,11,29]},{"path":[4,0,2,36,3],"span":[145,32,34]},{"path":[4,0,2,36,8],"span":[145,35,83]},{"path":[4,0,2,36,8,1159,14,31],"span":[145,36,82]},{"path":[4,0,2,37],"span":[146,4,88]},{"path":[4,0,2,37,5],"span":[146,4,10]},{"path":[4,0,2,37,1],"span":[146,11,31]},{"path":[4,0,2,37,3],"span":[146,34,36]},{"path":[4,0,2,37,8],"span":[146,37,87]},{"path":[4,0,2,37,8,1159,14,32],"span":[146,38,86]},{"path":[4,0,2,38],"span":[147,4,150,7]},{"path":[4,0,2,38,5],"span":[147,4,10]},{"path":[4,0,2,38,1],"span":[147,11,41]},{"path":[4,0,2,38,3],"span":[147,44,46]},{"path":[4,0,2,38,8],"span":[147,47,150,6]},{"path":[4,0,2,38,8,1159,14],"span":[147,48,150,5]},{"path":[4,0,2,38,8,1159,14,24],"span":[148,6,52]},{"path":[4,0,2,38,8,1159,14,25],"span":[149,6,18]},{"path":[4,0,2,39],"span":[151,4,62]},{"path":[4,0,2,39,5],"span":[151,4,9]},{"path":[4,0,2,39,1],"span":[151,10,19]},{"path":[4,0,2,39,3],"span":[151,22,24]},{"path":[4,0,2,39,8],"span":[151,25,61]},{"path":[4,0,2,39,8,1159,15,13],"span":[151,26,60]},{"path":[4,0,2,40],"span":[152,4,70]},{"path":[4,0,2,40,5],"span":[152,4,9]},{"path":[4,0,2,40,1],"span":[152,10,23]},{"path":[4,0,2,40,3],"span":[152,26,28]},{"path":[4,0,2,40,8],"span":[152,29,69]},{"path":[4,0,2,40,8,1159,15,2],"span":[152,30,68]},{"path":[4,0,2,41],"span":[153,4,70]},{"path":[4,0,2,41,5],"span":[153,4,9]},{"path":[4,0,2,41,1],"span":[153,10,23]},{"path":[4,0,2,41,3],"span":[153,26,28]},{"path":[4,0,2,41,8],"span":[153,29,69]},{"path":[4,0,2,41,8,1159,15,3],"span":[153,30,68]},{"path":[4,0,2,42],"span":[154,4,157,7]},{"path":[4,0,2,42,5],"span":[154,4,9]},{"path":[4,0,2,42,1],"span":[154,10,27]},{"path":[4,0,2,42,3],"span":[154,30,32]},{"path":[4,0,2,42,8],"span":[154,33,157,6]},{"path":[4,0,2,42,8,1159,15],"span":[154,34,157,5]},{"path":[4,0,2,42,8,1159,15,2],"span":[155,6,16]},{"path":[4,0,2,42,8,1159,15,3],"span":[156,6,17]},{"path":[4,0,2,43],"span":[158,4,66]},{"path":[4,0,2,43,5],"span":[158,4,9]},{"path":[4,0,2,43,1],"span":[158,10,21]},{"path":[4,0,2,43,3],"span":[158,24,26]},{"path":[4,0,2,43,8],"span":[158,27,65]},{"path":[4,0,2,43,8,1159,3,1],"span":[158,28,64]},{"path":[4,0,2,44],"span":[159,4,60]},{"path":[4,0,2,44,5],"span":[159,4,9]},{"path":[4,0,2,44,1],"span":[159,10,18]},{"path":[4,0,2,44,3],"span":[159,21,23]},{"path":[4,0,2,44,8],"span":[159,24,59]},{"path":[4,0,2,44,8,1159,3,2],"span":[159,25,58]},{"path":[4,0,2,45],"span":[160,4,62]},{"path":[4,0,2,45,5],"span":[160,4,9]},{"path":[4,0,2,45,1],"span":[160,10,19]},{"path":[4,0,2,45,3],"span":[160,22,24]},{"path":[4,0,2,45,8],"span":[160,25,61]},{"path":[4,0,2,45,8,1159,3,3],"span":[160,26,60]},{"path":[4,0,2,46],"span":[161,4,60]},{"path":[4,0,2,46,5],"span":[161,4,9]},{"path":[4,0,2,46,1],"span":[161,10,18]},{"path":[4,0,2,46,3],"span":[161,21,23]},{"path":[4,0,2,46,8],"span":[161,24,59]},{"path":[4,0,2,46,8,1159,3,4],"span":[161,25,58]},{"path":[4,0,2,47],"span":[162,4,62]},{"path":[4,0,2,47,5],"span":[162,4,9]},{"path":[4,0,2,47,1],"span":[162,10,19]},{"path":[4,0,2,47,3],"span":[162,22,24]},{"path":[4,0,2,47,8],"span":[162,25,61]},{"path":[4,0,2,47,8,1159,3,5],"span":[162,26,60]},{"path":[4,0,2,48],"span":[163,4,168,7]},{"path":[4,0,2,48,5],"span":[163,4,9]},{"path":[4,0,2,48,1],"span":[163,10,18]},{"path":[4,0,2,48,3],"span":[163,21,23]},{"path":[4,0,2,48,8],"span":[163,24,168,6]},{"path":[4,0,2,48,8,1159,3],"span":[163,25,168,5]},{"path":[4,0,2,48,8,1159,3,6,0],"span":[165,8,9]},{"path":[4,0,2,48,8,1159,3,6,1],"span":[166,8,9]},{"path":[4,0,2,49],"span":[169,4,172,7]},{"path":[4,0,2,49,5],"span":[169,4,9]},{"path":[4,0,2,49,1],"span":[169,10,21]},{"path":[4,0,2,49,3],"span":[169,24,27]},{"path":[4,0,2,49,8],"span":[169,28,172,6]},{"path":[4,0,2,49,8,1159,3],"span":[169,29,172,5]},{"path":[4,0,2,49,8,1159,3,2],"span":[170,6,11]},{"path":[4,0,2,49,8,1159,3,4],"span":[171,6,11]},{"path":[4,0,2,50],"span":[173,4,66]},{"path":[4,0,2,50,5],"span":[173,4,9]},{"path":[4,0,2,50,1],"span":[173,10,21]},{"path":[4,0,2,50,3],"span":[173,24,26]},{"path":[4,0,2,50,8],"span":[173,27,65]},{"path":[4,0,2,50,8,1159,4,1],"span":[173,28,64]},{"path":[4,0,2,51],"span":[174,4,60]},{"path":[4,0,2,51,5],"span":[174,4,9]},{"path":[4,0,2,51,1],"span":[174,10,18]},{"path":[4,0,2,51,3],"span":[174,21,23]},{"path":[4,0,2,51,8],"span":[174,24,59]},{"path":[4,0,2,51,8,1159,4,2],"span":[174,25,58]},{"path":[4,0,2,52],"span":[175,4,62]},{"path":[4,0,2,52,5],"span":[175,4,9]},{"path":[4,0,2,52,1],"span":[175,10,19]},{"path":[4,0,2,52,3],"span":[175,22,24]},{"path":[4,0,2,52,8],"span":[175,25,61]},{"path":[4,0,2,52,8,1159,4,3],"span":[175,26,60]},{"path":[4,0,2,53],"span":[176,4,60]},{"path":[4,0,2,53,5],"span":[176,4,9]},{"path":[4,0,2,53,1],"span":[176,10,18]},{"path":[4,0,2,53,3],"span":[176,21,23]},{"path":[4,0,2,53,8],"span":[176,24,59]},{"path":[4,0,2,53,8,1159,4,4],"span":[176,25,58]},{"path":[4,0,2,54],"span":[177,4,62]},{"path":[4,0,2,54,5],"span":[177,4,9]},{"path":[4,0,2,54,1],"span":[177,10,19]},{"path":[4,0,2,54,3],"span":[177,22,24]},{"path":[4,0,2,54,8],"span":[177,25,61]},{"path":[4,0,2,54,8,1159,4,5],"span":[177,26,60]},{"path":[4,0,2,55],"span":[178,4,183,7]},{"path":[4,0,2,55,5],"span":[178,4,9]},{"path":[4,0,2,55,1],"span":[178,10,18]},{"path":[4,0,2,55,3],"span":[178,21,23]},{"path":[4,0,2,55,8],"span":[178,24,183,6]},{"path":[4,0,2,55,8,1159,4],"span":[178,25,183,5]},{"path":[4,0,2,55,8,1159,4,6,0],"span":[180,8,9]},{"path":[4,0,2,55,8,1159,4,6,1],"span":[181,8,9]},{"path":[4,0,2,56],"span":[184,4,187,7]},{"path":[4,0,2,56,5],"span":[184,4,9]},{"path":[4,0,2,56,1],"span":[184,10,21]},{"path":[4,0,2,56,3],"span":[184,24,27]},{"path":[4,0,2,56,8],"span":[184,28,187,6]},{"path":[4,0,2,56,8,1159,4],"span":[184,29,187,5]},{"path":[4,0,2,56,8,1159,4,2],"span":[185,6,11]},{"path":[4,0,2,56,8,1159,4,4],"span":[186,6,11]},{"path":[4,0,2,57],"span":[188,4,69]},{"path":[4,0,2,57,5],"span":[188,4,10]},{"path":[4,0,2,57,1],"span":[188,11,23]},{"path":[4,0,2,57,3],"span":[188,26,28]},{"path":[4,0,2,57,8],"span":[188,29,68]},{"path":[4,0,2,57,8,1159,5,1],"span":[188,30,67]},{"path":[4,0,2,58],"span":[189,4,63]},{"path":[4,0,2,58,5],"span":[189,4,10]},{"path":[4,0,2,58,1],"span":[189,11,20]},{"path":[4,0,2,58,3],"span":[189,23,25]},{"path":[4,0,2,58,8],"span":[189,26,62]},{"path":[4,0,2,58,8,1159,5,2],"span":[189,27,61]},{"path":[4,0,2,59],"span":[190,4,65]},{"path":[4,0,2,59,5],"span":[190,4,10]},{"path":[4,0,2,59,1],"span":[190,11,21]},{"path":[4,0,2,59,3],"span":[190,24,26]},{"path":[4,0,2,59,8],"span":[190,27,64]},{"path":[4,0,2,59,8,1159,5,3],"span":[190,28,63]},{"path":[4,0,2,60],"span":[191,4,63]},{"path":[4,0,2,60,5],"span":[191,4,10]},{"path":[4,0,2,60,1],"span":[191,11,20]},{"path":[4,0,2,60,3],"span":[191,23,25]},{"path":[4,0,2,60,8],"span":[191,26,62]},{"path":[4,0,2,60,8,1159,5,4],"span":[191,27,61]},{"path":[4,0,2,61],"span":[192,4,65]},{"path":[4,0,2,61,5],"span":[192,4,10]},{"path":[4,0,2,61,1],"span":[192,11,21]},{"path":[4,0,2,61,3],"span":[192,24,26]},{"path":[4,0,2,61,8],"span":[192,27,64]},{"path":[4,0,2,61,8,1159,5,5],"span":[192,28,63]},{"path":[4,0,2,62],"span":[193,4,198,7]},{"path":[4,0,2,62,5],"span":[193,4,10]},{"path":[4,0,2,62,1],"span":[193,11,20]},{"path":[4,0,2,62,3],"span":[193,23,25]},{"path":[4,0,2,62,8],"span":[193,26,198,6]},{"path":[4,0,2,62,8,1159,5],"span":[193,27,198,5]},{"path":[4,0,2,62,8,1159,5,6,0],"span":[195,8,9]},{"path":[4,0,2,62,8,1159,5,6,1],"span":[196,8,9]},{"path":[4,0,2,63],"span":[199,4,202,7]},{"path":[4,0,2,63,5],"span":[199,4,10]},{"path":[4,0,2,63,1],"span":[199,11,23]},{"path":[4,0,2,63,3],"span":[199,26,29]},{"path":[4,0,2,63,8],"span":[199,30,202,6]},{"path":[4,0,2,63,8,1159,5],"span":[199,31,202,5]},{"path":[4,0,2,63,8,1159,5,2],"span":[200,6,11]},{"path":[4,0,2,63,8,1159,5,4],"span":[201,6,11]},{"path":[4,0,2,64],"span":[203,4,69]},{"path":[4,0,2,64,5],"span":[203,4,10]},{"path":[4,0,2,64,1],"span":[203,11,23]},{"path":[4,0,2,64,3],"span":[203,26,28]},{"path":[4,0,2,64,8],"span":[203,29,68]},{"path":[4,0,2,64,8,1159,6,1],"span":[203,30,67]},{"path":[4,0,2,65],"span":[204,4,63]},{"path":[4,0,2,65,5],"span":[204,4,10]},{"path":[4,0,2,65,1],"span":[204,11,20]},{"path":[4,0,2,65,3],"span":[204,23,25]},{"path":[4,0,2,65,8],"span":[204,26,62]},{"path":[4,0,2,65,8,1159,6,2],"span":[204,27,61]},{"path":[4,0,2,66],"span":[205,4,65]},{"path":[4,0,2,66,5],"span":[205,4,10]},{"path":[4,0,2,66,1],"span":[205,11,21]},{"path":[4,0,2,66,3],"span":[205,24,26]},{"path":[4,0,2,66,8],"span":[205,27,64]},{"path":[4,0,2,66,8,1159,6,3],"span":[205,28,63]},{"path":[4,0,2,67],"span":[206,4,63]},{"path":[4,0,2,67,5],"span":[206,4,10]},{"path":[4,0,2,67,1],"span":[206,11,20]},{"path":[4,0,2,67,3],"span":[206,23,25]},{"path":[4,0,2,67,8],"span":[206,26,62]},{"path":[4,0,2,67,8,1159,6,4],"span":[206,27,61]},{"path":[4,0,2,68],"span":[207,4,65]},{"path":[4,0,2,68,5],"span":[207,4,10]},{"path":[4,0,2,68,1],"span":[207,11,21]},{"path":[4,0,2,68,3],"span":[207,24,26]},{"path":[4,0,2,68,8],"span":[207,27,64]},{"path":[4,0,2,68,8,1159,6,5],"span":[207,28,63]},{"path":[4,0,2,69],"span":[208,4,213,7]},{"path":[4,0,2,69,5],"span":[208,4,10]},{"path":[4,0,2,69,1],"span":[208,11,20]},{"path":[4,0,2,69,3],"span":[208,23,25]},{"path":[4,0,2,69,8],"span":[208,26,213,6]},{"path":[4,0,2,69,8,1159,6],"span":[208,27,213,5]},{"path":[4,0,2,69,8,1159,6,6,0],"span":[210,8,9]},{"path":[4,0,2,69,8,1159,6,6,1],"span":[211,8,9]},{"path":[4,0,2,70],"span":[214,4,217,7]},{"path":[4,0,2,70,5],"span":[214,4,10]},{"path":[4,0,2,70,1],"span":[214,11,23]},{"path":[4,0,2,70,3],"span":[214,26,29]},{"path":[4,0,2,70,8],"span":[214,30,217,6]},{"path":[4,0,2,70,8,1159,6],"span":[214,31,217,5]},{"path":[4,0,2,70,8,1159,6,2],"span":[215,6,11]},{"path":[4,0,2,70,8,1159,6,4],"span":[216,6,11]},{"path":[4,0,2,71],"span":[218,4,69]},{"path":[4,0,2,71,5],"span":[218,4,10]},{"path":[4,0,2,71,1],"span":[218,11,23]},{"path":[4,0,2,71,3],"span":[218,26,28]},{"path":[4,0,2,71,8],"span":[218,29,68]},{"path":[4,0,2,71,8,1159,7,1],"span":[218,30,67]},{"path":[4,0,2,72],"span":[219,4,63]},{"path":[4,0,2,72,5],"span":[219,4,10]},{"path":[4,0,2,72,1],"span":[219,11,20]},{"path":[4,0,2,72,3],"span":[219,23,25]},{"path":[4,0,2,72,8],"span":[219,26,62]},{"path":[4,0,2,72,8,1159,7,2],"span":[219,27,61]},{"path":[4,0,2,73],"span":[220,4,65]},{"path":[4,0,2,73,5],"span":[220,4,10]},{"path":[4,0,2,73,1],"span":[220,11,21]},{"path":[4,0,2,73,3],"span":[220,24,26]},{"path":[4,0,2,73,8],"span":[220,27,64]},{"path":[4,0,2,73,8,1159,7,3],"span":[220,28,63]},{"path":[4,0,2,74],"span":[221,4,63]},{"path":[4,0,2,74,5],"span":[221,4,10]},{"path":[4,0,2,74,1],"span":[221,11,20]},{"path":[4,0,2,74,3],"span":[221,23,25]},{"path":[4,0,2,74,8],"span":[221,26,62]},{"path":[4,0,2,74,8,1159,7,4],"span":[221,27,61]},{"path":[4,0,2,75],"span":[222,4,65]},{"path":[4,0,2,75,5],"span":[222,4,10]},{"path":[4,0,2,75,1],"span":[222,11,21]},{"path":[4,0,2,75,3],"span":[222,24,26]},{"path":[4,0,2,75,8],"span":[222,27,64]},{"path":[4,0,2,75,8,1159,7,5],"span":[222,28,63]},{"path":[4,0,2,76],"span":[223,4,228,7]},{"path":[4,0,2,76,5],"span":[223,4,10]},{"path":[4,0,2,76,1],"span":[223,11,20]},{"path":[4,0,2,76,3],"span":[223,23,25]},{"path":[4,0,2,76,8],"span":[223,26,228,6]},{"path":[4,0,2,76,8,1159,7],"span":[223,27,228,5]},{"path":[4,0,2,76,8,1159,7,6,0],"span":[225,8,9]},{"path":[4,0,2,76,8,1159,7,6,1],"span":[226,8,9]},{"path":[4,0,2,77],"span":[229,4,69]},{"path":[4,0,2,77,5],"span":[229,4,10]},{"path":[4,0,2,77,1],"span":[229,11,23]},{"path":[4,0,2,77,3],"span":[229,26,28]},{"path":[4,0,2,77,8],"span":[229,29,68]},{"path":[4,0,2,77,8,1159,8,1],"span":[229,30,67]},{"path":[4,0,2,78],"span":[230,4,63]},{"path":[4,0,2,78,5],"span":[230,4,10]},{"path":[4,0,2,78,1],"span":[230,11,20]},{"path":[4,0,2,78,3],"span":[230,23,25]},{"path":[4,0,2,78,8],"span":[230,26,62]},{"path":[4,0,2,78,8,1159,8,2],"span":[230,27,61]},{"path":[4,0,2,79],"span":[231,4,65]},{"path":[4,0,2,79,5],"span":[231,4,10]},{"path":[4,0,2,79,1],"span":[231,11,21]},{"path":[4,0,2,79,3],"span":[231,24,26]},{"path":[4,0,2,79,8],"span":[231,27,64]},{"path":[4,0,2,79,8,1159,8,3],"span":[231,28,63]},{"path":[4,0,2,80],"span":[232,4,63]},{"path":[4,0,2,80,5],"span":[232,4,10]},{"path":[4,0,2,80,1],"span":[232,11,20]},{"path":[4,0,2,80,3],"span":[232,23,25]},{"path":[4,0,2,80,8],"span":[232,26,62]},{"path":[4,0,2,80,8,1159,8,4],"span":[232,27,61]},{"path":[4,0,2,81],"span":[233,4,65]},{"path":[4,0,2,81,5],"span":[233,4,10]},{"path":[4,0,2,81,1],"span":[233,11,21]},{"path":[4,0,2,81,3],"span":[233,24,26]},{"path":[4,0,2,81,8],"span":[233,27,64]},{"path":[4,0,2,81,8,1159,8,5],"span":[233,28,63]},{"path":[4,0,2,82],"span":[234,4,239,7]},{"path":[4,0,2,82,5],"span":[234,4,10]},{"path":[4,0,2,82,1],"span":[234,11,20]},{"path":[4,0,2,82,3],"span":[234,23,25]},{"path":[4,0,2,82,8],"span":[234,26,239,6]},{"path":[4,0,2,82,8,1159,8],"span":[234,27,239,5]},{"path":[4,0,2,82,8,1159,8,6,0],"span":[236,8,9]},{"path":[4,0,2,82,8,1159,8,6,1],"span":[237,8,9]},{"path":[4,0,2,83],"span":[240,4,75]},{"path":[4,0,2,83,5],"span":[240,4,12]},{"path":[4,0,2,83,1],"span":[240,13,27]},{"path":[4,0,2,83,3],"span":[240,30,32]},{"path":[4,0,2,83,8],"span":[240,33,74]},{"path":[4,0,2,83,8,1159,11,1],"span":[240,34,73]},{"path":[4,0,2,84],"span":[241,4,69]},{"path":[4,0,2,84,5],"span":[241,4,12]},{"path":[4,0,2,84,1],"span":[241,13,24]},{"path":[4,0,2,84,3],"span":[241,27,29]},{"path":[4,0,2,84,8],"span":[241,30,68]},{"path":[4,0,2,84,8,1159,11,2],"span":[241,31,67]},{"path":[4,0,2,85],"span":[242,4,71]},{"path":[4,0,2,85,5],"span":[242,4,12]},{"path":[4,0,2,85,1],"span":[242,13,25]},{"path":[4,0,2,85,3],"span":[242,28,30]},{"path":[4,0,2,85,8],"span":[242,31,70]},{"path":[4,0,2,85,8,1159,11,3],"span":[242,32,69]},{"path":[4,0,2,86],"span":[243,4,69]},{"path":[4,0,2,86,5],"span":[243,4,12]},{"path":[4,0,2,86,1],"span":[243,13,24]},{"path":[4,0,2,86,3],"span":[243,27,29]},{"path":[4,0,2,86,8],"span":[243,30,68]},{"path":[4,0,2,86,8,1159,11,4],"span":[243,31,67]},{"path":[4,0,2,87],"span":[244,4,71]},{"path":[4,0,2,87,5],"span":[244,4,12]},{"path":[4,0,2,87,1],"span":[244,13,25]},{"path":[4,0,2,87,3],"span":[244,28,30]},{"path":[4,0,2,87,8],"span":[244,31,70]},{"path":[4,0,2,87,8,1159,11,5],"span":[244,32,69]},{"path":[4,0,2,88],"span":[245,4,250,7]},{"path":[4,0,2,88,5],"span":[245,4,12]},{"path":[4,0,2,88,1],"span":[245,13,24]},{"path":[4,0,2,88,3],"span":[245,27,29]},{"path":[4,0,2,88,8],"span":[245,30,250,6]},{"path":[4,0,2,88,8,1159,11],"span":[245,31,250,5]},{"path":[4,0,2,88,8,1159,11,6,0],"span":[247,8,9]},{"path":[4,0,2,88,8,1159,11,6,1],"span":[248,8,9]},{"path":[4,0,2,89],"span":[251,4,75]},{"path":[4,0,2,89,5],"span":[251,4,12]},{"path":[4,0,2,89,1],"span":[251,13,27]},{"path":[4,0,2,89,3],"span":[251,30,32]},{"path":[4,0,2,89,8],"span":[251,33,74]},{"path":[4,0,2,89,8,1159,12,1],"span":[251,34,73]},{"path":[4,0,2,90],"span":[252,4,69]},{"path":[4,0,2,90,5],"span":[252,4,12]},{"path":[4,0,2,90,1],"span":[252,13,24]},{"path":[4,0,2,90,3],"span":[252,27,29]},{"path":[4,0,2,90,8],"span":[252,30,68]},{"path":[4,0,2,90,8,1159,12,2],"span":[252,31,67]},{"path":[4,0,2,91],"span":[253,4,71]},{"path":[4,0,2,91,5],"span":[253,4,12]},{"path":[4,0,2,91,1],"span":[253,13,25]},{"path":[4,0,2,91,3],"span":[253,28,30]},{"path":[4,0,2,91,8],"span":[253,31,70]},{"path":[4,0,2,91,8,1159,12,3],"span":[253,32,69]},{"path":[4,0,2,92],"span":[254,4,69]},{"path":[4,0,2,92,5],"span":[254,4,12]},{"path":[4,0,2,92,1],"span":[254,13,24]},{"path":[4,0,2,92,3],"span":[254,27,29]},{"path":[4,0,2,92,8],"span":[254,30,68]},{"path":[4,0,2,92,8,1159,12,4],"span":[254,31,67]},{"path":[4,0,2,93],"span":[255,4,71]},{"path":[4,0,2,93,5],"span":[255,4,12]},{"path":[4,0,2,93,1],"span":[255,13,25]},{"path":[4,0,2,93,3],"span":[255,28,30]},{"path":[4,0,2,93,8],"span":[255,31,70]},{"path":[4,0,2,93,8,1159,12,5],"span":[255,32,69]},{"path":[4,0,2,94],"span":[256,4,261,7]},{"path":[4,0,2,94,5],"span":[256,4,12]},{"path":[4,0,2,94,1],"span":[256,13,24]},{"path":[4,0,2,94,3],"span":[256,27,29]},{"path":[4,0,2,94,8],"span":[256,30,261,6]},{"path":[4,0,2,94,8,1159,12],"span":[256,31,261,5]},{"path":[4,0,2,94,8,1159,12,6,0],"span":[258,8,9]},{"path":[4,0,2,94,8,1159,12,6,1],"span":[259,8,9]},{"path":[4,0,2,95],"span":[263,2,38]},{"path":[4,0,2,95,6],"span":[263,2,15]},{"path":[4,0,2,95,1],"span":[263,16,31]},{"path":[4,0,2,95,3],"span":[263,34,37]},{"path":[4,0,2,96],"span":[264,2,38]},{"path":[4,0,2,96,6],"span":[264,2,15]},{"path":[4,0,2,96,1],"span":[264,16,31]},{"path":[4,0,2,96,3],"span":[264,34,37]},{"path":[4,0,2,97],"span":[266,2,70]},{"path":[4,0,2,97,5],"span":[266,2,9]},{"path":[4,0,2,97,1],"span":[266,10,23]},{"path":[4,0,2,97,3],"span":[266,26,28]},{"path":[4,0,2,97,8],"span":[266,29,69]},{"path":[4,0,2,97,8,1159,9,1],"span":[266,30,68]},{"path":[4,0,2,98],"span":[267,2,64]},{"path":[4,0,2,98,5],"span":[267,2,9]},{"path":[4,0,2,98,1],"span":[267,10,20]},{"path":[4,0,2,98,3],"span":[267,23,25]},{"path":[4,0,2,98,8],"span":[267,26,63]},{"path":[4,0,2,98,8,1159,9,2],"span":[267,27,62]},{"path":[4,0,2,99],"span":[268,2,66]},{"path":[4,0,2,99,5],"span":[268,2,9]},{"path":[4,0,2,99,1],"span":[268,10,21]},{"path":[4,0,2,99,3],"span":[268,24,26]},{"path":[4,0,2,99,8],"span":[268,27,65]},{"path":[4,0,2,99,8,1159,9,3],"span":[268,28,64]},{"path":[4,0,2,100],"span":[269,2,64]},{"path":[4,0,2,100,5],"span":[269,2,9]},{"path":[4,0,2,100,1],"span":[269,10,20]},{"path":[4,0,2,100,3],"span":[269,23,25]},{"path":[4,0,2,100,8],"span":[269,26,63]},{"path":[4,0,2,100,8,1159,9,4],"span":[269,27,62]},{"path":[4,0,2,101],"span":[270,2,66]},{"path":[4,0,2,101,5],"span":[270,2,9]},{"path":[4,0,2,101,1],"span":[270,10,21]},{"path":[4,0,2,101,3],"span":[270,24,26]},{"path":[4,0,2,101,8],"span":[270,27,65]},{"path":[4,0,2,101,8,1159,9,5],"span":[270,28,64]},{"path":[4,0,2,102],"span":[271,2,276,5]},{"path":[4,0,2,102,5],"span":[271,2,9]},{"path":[4,0,2,102,1],"span":[271,10,20]},{"path":[4,0,2,102,3],"span":[271,23,25]},{"path":[4,0,2,102,8],"span":[271,26,276,4]},{"path":[4,0,2,102,8,1159,9],"span":[271,27,276,3]},{"path":[4,0,2,102,8,1159,9,6,0],"span":[273,6,7]},{"path":[4,0,2,102,8,1159,9,6,1],"span":[274,6,7]},{"path":[4,0,2,103],"span":[277,2,70]},{"path":[4,0,2,103,5],"span":[277,2,9]},{"path":[4,0,2,103,1],"span":[277,10,23]},{"path":[4,0,2,103,3],"span":[277,26,28]},{"path":[4,0,2,103,8],"span":[277,29,69]},{"path":[4,0,2,103,8,1159,10,1],"span":[277,30,68]},{"path":[4,0,2,104],"span":[278,2,64]},{"path":[4,0,2,104,5],"span":[278,2,9]},{"path":[4,0,2,104,1],"span":[278,10,20]},{"path":[4,0,2,104,3],"span":[278,23,25]},{"path":[4,0,2,104,8],"span":[278,26,63]},{"path":[4,0,2,104,8,1159,10,2],"span":[278,27,62]},{"path":[4,0,2,105],"span":[279,2,66]},{"path":[4,0,2,105,5],"span":[279,2,9]},{"path":[4,0,2,105,1],"span":[279,10,21]},{"path":[4,0,2,105,3],"span":[279,24,26]},{"path":[4,0,2,105,8],"span":[279,27,65]},{"path":[4,0,2,105,8,1159,10,3],"span":[279,28,64]},{"path":[4,0,2,106],"span":[280,2,64]},{"path":[4,0,2,106,5],"span":[280,2,9]},{"path":[4,0,2,106,1],"span":[280,10,20]},{"path":[4,0,2,106,3],"span":[280,23,25]},{"path":[4,0,2,106,8],"span":[280,26,63]},{"path":[4,0,2,106,8,1159,10,4],"span":[280,27,62]},{"path":[4,0,2,107],"span":[281,2,66]},{"path":[4,0,2,107,5],"span":[281,2,9]},{"path":[4,0,2,107,1],"span":[281,10,21]},{"path":[4,0,2,107,3],"span":[281,24,26]},{"path":[4,0,2,107,8],"span":[281,27,65]},{"path":[4,0,2,107,8,1159,10,5],"span":[281,28,64]},{"path":[4,0,2,108],"span":[282,2,287,5]},{"path":[4,0,2,108,5],"span":[282,2,9]},{"path":[4,0,2,108,1],"span":[282,10,20]},{"path":[4,0,2,108,3],"span":[282,23,25]},{"path":[4,0,2,108,8],"span":[282,26,287,4]},{"path":[4,0,2,108,8,1159,10],"span":[282,27,287,3]},{"path":[4,0,2,108,8,1159,10,6,0],"span":[284,6,7]},{"path":[4,0,2,108,8,1159,10,6,1],"span":[285,6,7]},{"path":[4,0,2,109],"span":[289,2,67]},{"path":[4,0,2,109,5],"span":[289,2,8]},{"path":[4,0,2,109,1],"span":[289,9,21]},{"path":[4,0,2,109,3],"span":[289,24,26]},{"path":[4,0,2,109,8],"span":[289,27,66]},{"path":[4,0,2,109,8,1159,2,1],"span":[289,28,65]},{"path":[4,0,2,110],"span":[290,2,61]},{"path":[4,0,2,110,5],"span":[290,2,8]},{"path":[4,0,2,110,1],"span":[290,9,18]},{"path":[4,0,2,110,3],"span":[290,21,23]},{"path":[4,0,2,110,8],"span":[290,24,60]},{"path":[4,0,2,110,8,1159,2,2],"span":[290,25,59]},{"path":[4,0,2,111],"span":[291,2,64]},{"path":[4,0,2,111,5],"span":[291,2,8]},{"path":[4,0,2,111,1],"span":[291,9,19]},{"path":[4,0,2,111,3],"span":[291,22,25]},{"path":[4,0,2,111,8],"span":[291,26,63]},{"path":[4,0,2,111,8,1159,2,3],"span":[291,27,62]},{"path":[4,0,2,112],"span":[292,2,62]},{"path":[4,0,2,112,5],"span":[292,2,8]},{"path":[4,0,2,112,1],"span":[292,9,18]},{"path":[4,0,2,112,3],"span":[292,21,24]},{"path":[4,0,2,112,8],"span":[292,25,61]},{"path":[4,0,2,112,8,1159,2,4],"span":[292,26,60]},{"path":[4,0,2,113],"span":[293,2,64]},{"path":[4,0,2,113,5],"span":[293,2,8]},{"path":[4,0,2,113,1],"span":[293,9,19]},{"path":[4,0,2,113,3],"span":[293,22,25]},{"path":[4,0,2,113,8],"span":[293,26,63]},{"path":[4,0,2,113,8,1159,2,5],"span":[293,27,62]},{"path":[4,0,2,114],"span":[294,2,299,5]},{"path":[4,0,2,114,5],"span":[294,2,8]},{"path":[4,0,2,114,1],"span":[294,9,18]},{"path":[4,0,2,114,3],"span":[294,21,24]},{"path":[4,0,2,114,8],"span":[294,25,299,4]},{"path":[4,0,2,114,8,1159,2],"span":[294,26,299,3]},{"path":[4,0,2,114,8,1159,2,6,0],"span":[296,6,7]},{"path":[4,0,2,114,8,1159,2,6,1],"span":[297,6,7]},{"path":[4,0,2,115],"span":[300,2,73]},{"path":[4,0,2,115,5],"span":[300,2,8]},{"path":[4,0,2,115,1],"span":[300,9,22]},{"path":[4,0,2,115,3],"span":[300,25,28]},{"path":[4,0,2,115,8],"span":[300,29,72]},{"path":[4,0,2,115,8,1159,2,8],"span":[300,30,71]},{"path":[4,0,2,116],"span":[301,2,304,5]},{"path":[4,0,2,116,5],"span":[301,2,8]},{"path":[4,0,2,116,1],"span":[301,9,21]},{"path":[4,0,2,116,3],"span":[301,24,27]},{"path":[4,0,2,116,8],"span":[301,28,304,4]},{"path":[4,0,2,116,8,1159,2],"span":[301,29,304,3]},{"path":[4,0,2,116,8,1159,2,2],"span":[302,4,9]},{"path":[4,0,2,116,8,1159,2,4],"span":[303,4,9]},{"path":[4,0,2,117],"span":[305,2,65]},{"path":[4,0,2,117,5],"span":[305,2,7]},{"path":[4,0,2,117,1],"span":[305,8,19]},{"path":[4,0,2,117,3],"span":[305,22,25]},{"path":[4,0,2,117,8],"span":[305,26,64]},{"path":[4,0,2,117,8,1159,1,1],"span":[305,27,63]},{"path":[4,0,2,118],"span":[306,2,59]},{"path":[4,0,2,118,5],"span":[306,2,7]},{"path":[4,0,2,118,1],"span":[306,8,16]},{"path":[4,0,2,118,3],"span":[306,19,22]},{"path":[4,0,2,118,8],"span":[306,23,58]},{"path":[4,0,2,118,8,1159,1,2],"span":[306,24,57]},{"path":[4,0,2,119],"span":[307,2,61]},{"path":[4,0,2,119,5],"span":[307,2,7]},{"path":[4,0,2,119,1],"span":[307,8,17]},{"path":[4,0,2,119,3],"span":[307,20,23]},{"path":[4,0,2,119,8],"span":[307,24,60]},{"path":[4,0,2,119,8,1159,1,3],"span":[307,25,59]},{"path":[4,0,2,120],"span":[308,2,59]},{"path":[4,0,2,120,5],"span":[308,2,7]},{"path":[4,0,2,120,1],"span":[308,8,16]},{"path":[4,0,2,120,3],"span":[308,19,22]},{"path":[4,0,2,120,8],"span":[308,23,58]},{"path":[4,0,2,120,8,1159,1,4],"span":[308,24,57]},{"path":[4,0,2,121],"span":[309,2,61]},{"path":[4,0,2,121,5],"span":[309,2,7]},{"path":[4,0,2,121,1],"span":[309,8,17]},{"path":[4,0,2,121,3],"span":[309,20,23]},{"path":[4,0,2,121,8],"span":[309,24,60]},{"path":[4,0,2,121,8,1159,1,5],"span":[309,25,59]},{"path":[4,0,2,122],"span":[310,2,315,5]},{"path":[4,0,2,122,5],"span":[310,2,7]},{"path":[4,0,2,122,1],"span":[310,8,16]},{"path":[4,0,2,122,3],"span":[310,19,22]},{"path":[4,0,2,122,8],"span":[310,23,315,4]},{"path":[4,0,2,122,8,1159,1],"span":[310,24,315,3]},{"path":[4,0,2,122,8,1159,1,6,0],"span":[312,6,7]},{"path":[4,0,2,122,8,1159,1,6,1],"span":[313,6,7]},{"path":[4,0,2,123],"span":[316,2,70]},{"path":[4,0,2,123,5],"span":[316,2,7]},{"path":[4,0,2,123,1],"span":[316,8,20]},{"path":[4,0,2,123,3],"span":[316,23,26]},{"path":[4,0,2,123,8],"span":[316,27,69]},{"path":[4,0,2,123,8,1159,1,8],"span":[316,28,68]},{"path":[4,0,2,124],"span":[317,2,320,5]},{"path":[4,0,2,124,5],"span":[317,2,7]},{"path":[4,0,2,124,1],"span":[317,8,19]},{"path":[4,0,2,124,3],"span":[317,22,25]},{"path":[4,0,2,124,8],"span":[317,26,320,4]},{"path":[4,0,2,124,8,1159,1],"span":[317,27,320,3]},{"path":[4,0,2,124,8,1159,1,2],"span":[318,4,9]},{"path":[4,0,2,124,8,1159,1,4],"span":[319,4,9]},{"path":[4,0,2,125],"span":[322,2,339,5]},{"path":[4,0,2,125,6],"span":[322,2,21]},{"path":[4,0,2,125,1],"span":[322,22,28]},{"path":[4,0,2,125,3],"span":[322,31,34]},{"path":[4,0,2,125,8],"span":[322,35,339,4]},{"path":[4,0,2,125,8,1159,19],"span":[322,36,339,3]},{"path":[4,0,2,125,8,1159,19,4],"span":[323,4,330,5]},{"path":[4,0,2,125,8,1159,19,4,14],"span":[324,6,329,7]},{"path":[4,0,2,125,8,1159,19,4,14,10,0],"span":[326,10,16]},{"path":[4,0,2,125,8,1159,19,4,14,10,1],"span":[327,10,16]},{"path":[4,0,2,125,8,1159,19,5],"span":[331,4,338,5]},{"path":[4,0,2,125,8,1159,19,5,14],"span":[332,6,337,7]},{"path":[4,0,2,125,8,1159,19,5,14,10,0],"span":[334,10,18]},{"path":[4,0,2,125,8,1159,19,5,14,10,1],"span":[335,10,18]},{"path":[4,1],"span":[342,0,344,1]},{"path":[4,1,1],"span":[342,8,23]},{"path":[4,1,2,0],"span":[343,2,41]},{"path":[4,1,2,0,4],"span":[343,2,10]},{"path":[4,1,2,0,6],"span":[343,11,25]},{"path":[4,1,2,0,1],"span":[343,26,36]},{"path":[4,1,2,0,3],"span":[343,39,40]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}},{"name":"buf/protoschema/test/v1/examples.proto","package":"buf.protoschema.test.v1","dependency":["buf/validate/validate.proto"],"messageType":[{"name":"Product","field":[{"name":"product_id","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"productId","options":{"[buf.validate.field]":{"required":true}}},{"name":"product_name","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"productName","options":{"[buf.validate.field]":{"required":true}}},{"name":"price","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"price","options":{"[buf.validate.field]":{"float":{"gte":0,"finite":true}}}},{"name":"tags","number":4,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"tags"},{"name":"location","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.protoschema.test.v1.Product.Location","jsonName":"location","options":{"[buf.validate.field]":{"required":true}}}],"nestedType":[{"name":"Location","field":[{"name":"lat","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"lat","options":{"[buf.validate.field]":{"double":{"lte":90,"gte":-90,"finite":true}}}},{"name":"long","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"long","options":{"[buf.validate.field]":{"double":{"lte":180,"gte":-180,"finite":true}}}}]}]}],"sourceCodeInfo":{"location":[{"span":[14,0,51,1]},{"path":[12],"span":[14,0,18],"leadingDetachedComments":[" Copyright 2024-2025 Buf Technologies, Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n"]},{"path":[2],"span":[16,0,32]},{"path":[3,0],"span":[18,0,37]},{"path":[4,0],"span":[23,0,51,1],"leadingComments":" A product.\n\n A product is a good or service that is offered for sale.\n"},{"path":[4,0,1],"span":[23,8,15]},{"path":[4,0,3,0],"span":[25,2,36,3],"leadingComments":" A point on the earth's surface.\n"},{"path":[4,0,3,0,1],"span":[25,10,18]},{"path":[4,0,3,0,2,0],"span":[26,4,30,6]},{"path":[4,0,3,0,2,0,5],"span":[26,4,10]},{"path":[4,0,3,0,2,0,1],"span":[26,11,14]},{"path":[4,0,3,0,2,0,3],"span":[26,17,18]},{"path":[4,0,3,0,2,0,8],"span":[26,19,30,5]},{"path":[4,0,3,0,2,0,8,1159,2,8],"span":[27,6,47]},{"path":[4,0,3,0,2,0,8,1159,2,5],"span":[28,6,43]},{"path":[4,0,3,0,2,0,8,1159,2,3],"span":[29,6,42]},{"path":[4,0,3,0,2,1],"span":[31,4,35,6]},{"path":[4,0,3,0,2,1,5],"span":[31,4,10]},{"path":[4,0,3,0,2,1,1],"span":[31,11,15]},{"path":[4,0,3,0,2,1,3],"span":[31,18,19]},{"path":[4,0,3,0,2,1,8],"span":[31,20,35,5]},{"path":[4,0,3,0,2,1,8,1159,2,8],"span":[32,6,47]},{"path":[4,0,3,0,2,1,8,1159,2,5],"span":[33,6,44]},{"path":[4,0,3,0,2,1,8,1159,2,3],"span":[34,6,43]},{"path":[4,0,2,0],"span":[39,2,62],"leadingComments":" The unique identifier for the product.\n"},{"path":[4,0,2,0,5],"span":[39,2,7]},{"path":[4,0,2,0,1],"span":[39,8,18]},{"path":[4,0,2,0,3],"span":[39,21,22]},{"path":[4,0,2,0,8],"span":[39,23,61]},{"path":[4,0,2,0,8,1159,25],"span":[39,24,60]},{"path":[4,0,2,1],"span":[41,2,65],"leadingComments":" The name of the product.\n"},{"path":[4,0,2,1,5],"span":[41,2,8]},{"path":[4,0,2,1,1],"span":[41,9,21]},{"path":[4,0,2,1,3],"span":[41,24,25]},{"path":[4,0,2,1,8],"span":[41,26,64]},{"path":[4,0,2,1,8,1159,25],"span":[41,27,63]},{"path":[4,0,2,2],"span":[43,2,46,4],"leadingComments":" The price of the product.\n"},{"path":[4,0,2,2,5],"span":[43,2,7]},{"path":[4,0,2,2,1],"span":[43,8,13]},{"path":[4,0,2,2,3],"span":[43,16,17]},{"path":[4,0,2,2,8],"span":[43,18,46,3]},{"path":[4,0,2,2,8,1159,1,8],"span":[44,4,44]},{"path":[4,0,2,2,8,1159,1,5],"span":[45,4,38]},{"path":[4,0,2,3],"span":[48,2,27],"leadingComments":" The tags associated with the product.\n"},{"path":[4,0,2,3,4],"span":[48,2,10]},{"path":[4,0,2,3,5],"span":[48,11,17]},{"path":[4,0,2,3,1],"span":[48,18,22]},{"path":[4,0,2,3,3],"span":[48,25,26]},{"path":[4,0,2,4],"span":[50,2,63],"leadingComments":" The location of the product.\n"},{"path":[4,0,2,4,6],"span":[50,2,10]},{"path":[4,0,2,4,1],"span":[50,11,19]},{"path":[4,0,2,4,3],"span":[50,22,23]},{"path":[4,0,2,4,8],"span":[50,24,62]},{"path":[4,0,2,4,8,1159,25],"span":[50,25,61]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}},{"name":"google/protobuf/any.proto","package":"google.protobuf","messageType":[{"name":"Any","field":[{"name":"type_url","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"typeUrl"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"AnyProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/anypb","objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,161,1]},{"path":[12],"span":[30,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"]},{"path":[2],"span":[32,0,24]},{"path":[8],"span":[34,0,67]},{"path":[8,11],"span":[34,0,67]},{"path":[8],"span":[35,0,44]},{"path":[8,1],"span":[35,0,44]},{"path":[8],"span":[36,0,41]},{"path":[8,8],"span":[36,0,41]},{"path":[8],"span":[37,0,34]},{"path":[8,10],"span":[37,0,34]},{"path":[8],"span":[38,0,33]},{"path":[8,36],"span":[38,0,33]},{"path":[8],"span":[39,0,59]},{"path":[8,37],"span":[39,0,59]},{"path":[4,0],"span":[127,0,161,1],"leadingComments":" `Any` contains an arbitrary serialized protocol buffer message along with a\n URL that describes the type of the serialized message.\n\n Protobuf library provides support to pack/unpack Any values in the form\n of utility functions or additional generated methods of the Any type.\n\n Example 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\n Example 2: Pack and unpack a message in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class)) {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance())) {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo := &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n }\n\n The pack methods provided by protobuf library will by default use\n 'type.googleapis.com/full.type.name' as the type URL and the unpack\n methods only use the fully qualified type name after the last '/'\n in the type URL, for example \"foo.bar.com/x/y.z\" will yield type\n name \"y.z\".\n\n JSON\n ====\n The JSON representation of an `Any` value uses the regular\n representation of the deserialized, embedded message, with an\n additional field `@type` which contains the type URL. Example:\n\n package google.profile;\n message Person {\n string first_name = 1;\n string last_name = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"firstName\": ,\n \"lastName\": \n }\n\n If the embedded message type is well-known and has a custom JSON\n representation, that representation will be embedded adding a field\n `value` which holds the custom JSON in addition to the `@type`\n field. Example (for message [google.protobuf.Duration][]):\n\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"1.212s\"\n }\n\n"},{"path":[4,0,1],"span":[127,8,11]},{"path":[4,0,2,0],"span":[157,2,22],"leadingComments":" A URL/resource name that uniquely identifies the type of the serialized\n protocol buffer message. This string must contain at least\n one \"/\" character. The last segment of the URL's path must represent\n the fully qualified name of the type (as in\n `path/google.protobuf.Duration`). The name should be in a canonical form\n (e.g., leading \".\" is not accepted).\n\n In practice, teams usually precompile into the binary all types that they\n expect it to use in the context of Any. However, for URLs which use the\n scheme `http`, `https`, or no scheme, one can optionally set up a type\n server that maps type URLs to message definitions as follows:\n\n * If no scheme is provided, `https` is assumed.\n * An HTTP GET on the URL must yield a [google.protobuf.Type][]\n value in binary format, or produce an error.\n * Applications are allowed to cache lookup results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup. Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned type names to manage\n breaking changes.)\n\n Note: this functionality is not currently available in the official\n protobuf release, and it is not used for type URLs beginning with\n type.googleapis.com. As of May 2023, there are no widely used type server\n implementations and no plans to implement one.\n\n Schemes other than `http`, `https` (or the empty scheme) might be\n used with implementation specific semantics.\n\n"},{"path":[4,0,2,0,5],"span":[157,2,8]},{"path":[4,0,2,0,1],"span":[157,9,17]},{"path":[4,0,2,0,3],"span":[157,20,21]},{"path":[4,0,2,1],"span":[160,2,18],"leadingComments":" Must be a valid serialized protocol buffer of the above specified type.\n"},{"path":[4,0,2,1,5],"span":[160,2,7]},{"path":[4,0,2,1,1],"span":[160,8,13]},{"path":[4,0,2,1,3],"span":[160,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"google/protobuf/struct.proto","package":"google.protobuf","messageType":[{"name":"Struct","field":[{"name":"fields","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct.FieldsEntry","jsonName":"fields"}],"nestedType":[{"name":"FieldsEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"value"}],"options":{"mapEntry":true}}]},{"name":"Value","field":[{"name":"null_value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","oneofIndex":0,"jsonName":"nullValue"},{"name":"number_value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","oneofIndex":0,"jsonName":"numberValue"},{"name":"string_value","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"stringValue"},{"name":"bool_value","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","oneofIndex":0,"jsonName":"boolValue"},{"name":"struct_value","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","oneofIndex":0,"jsonName":"structValue"},{"name":"list_value","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","oneofIndex":0,"jsonName":"listValue"}],"oneofDecl":[{"name":"kind"}]},{"name":"ListValue","field":[{"name":"values","number":1,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"values"}]}],"enumType":[{"name":"NullValue","value":[{"name":"NULL_VALUE","number":0}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"StructProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/structpb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[30,0,94,1]},{"path":[12],"span":[30,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"]},{"path":[2],"span":[32,0,24]},{"path":[8],"span":[34,0,31]},{"path":[8,31],"span":[34,0,31]},{"path":[8],"span":[35,0,70]},{"path":[8,11],"span":[35,0,70]},{"path":[8],"span":[36,0,44]},{"path":[8,1],"span":[36,0,44]},{"path":[8],"span":[37,0,44]},{"path":[8,8],"span":[37,0,44]},{"path":[8],"span":[38,0,34]},{"path":[8,10],"span":[38,0,34]},{"path":[8],"span":[39,0,33]},{"path":[8,36],"span":[39,0,33]},{"path":[8],"span":[40,0,59]},{"path":[8,37],"span":[40,0,59]},{"path":[4,0],"span":[50,0,53,1],"leadingComments":" `Struct` represents a structured data value, consisting of fields\n which map to dynamically typed values. In some languages, `Struct`\n might be supported by a native representation. For example, in\n scripting languages like JS a struct is represented as an\n object. The details of that representation are described together\n with the proto support for the language.\n\n The JSON representation for `Struct` is JSON object.\n"},{"path":[4,0,1],"span":[50,8,14]},{"path":[4,0,2,0],"span":[52,2,32],"leadingComments":" Unordered map of dynamically typed values.\n"},{"path":[4,0,2,0,6],"span":[52,2,20]},{"path":[4,0,2,0,1],"span":[52,21,27]},{"path":[4,0,2,0,3],"span":[52,30,31]},{"path":[4,1],"span":[61,0,77,1],"leadingComments":" `Value` represents a dynamically typed value which can be either\n null, a number, a string, a boolean, a recursive struct value, or a\n list of values. A producer of value is expected to set one of these\n variants. Absence of any variant indicates an error.\n\n The JSON representation for `Value` is JSON value.\n"},{"path":[4,1,1],"span":[61,8,13]},{"path":[4,1,8,0],"span":[63,2,76,3],"leadingComments":" The kind of value.\n"},{"path":[4,1,8,0,1],"span":[63,8,12]},{"path":[4,1,2,0],"span":[65,4,29],"leadingComments":" Represents a null value.\n"},{"path":[4,1,2,0,6],"span":[65,4,13]},{"path":[4,1,2,0,1],"span":[65,14,24]},{"path":[4,1,2,0,3],"span":[65,27,28]},{"path":[4,1,2,1],"span":[67,4,28],"leadingComments":" Represents a double value.\n"},{"path":[4,1,2,1,5],"span":[67,4,10]},{"path":[4,1,2,1,1],"span":[67,11,23]},{"path":[4,1,2,1,3],"span":[67,26,27]},{"path":[4,1,2,2],"span":[69,4,28],"leadingComments":" Represents a string value.\n"},{"path":[4,1,2,2,5],"span":[69,4,10]},{"path":[4,1,2,2,1],"span":[69,11,23]},{"path":[4,1,2,2,3],"span":[69,26,27]},{"path":[4,1,2,3],"span":[71,4,24],"leadingComments":" Represents a boolean value.\n"},{"path":[4,1,2,3,5],"span":[71,4,8]},{"path":[4,1,2,3,1],"span":[71,9,19]},{"path":[4,1,2,3,3],"span":[71,22,23]},{"path":[4,1,2,4],"span":[73,4,28],"leadingComments":" Represents a structured value.\n"},{"path":[4,1,2,4,6],"span":[73,4,10]},{"path":[4,1,2,4,1],"span":[73,11,23]},{"path":[4,1,2,4,3],"span":[73,26,27]},{"path":[4,1,2,5],"span":[75,4,29],"leadingComments":" Represents a repeated `Value`.\n"},{"path":[4,1,2,5,6],"span":[75,4,13]},{"path":[4,1,2,5,1],"span":[75,14,24]},{"path":[4,1,2,5,3],"span":[75,27,28]},{"path":[5,0],"span":[83,0,86,1],"leadingComments":" `NullValue` is a singleton enumeration to represent the null value for the\n `Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n"},{"path":[5,0,1],"span":[83,5,14]},{"path":[5,0,2,0],"span":[85,2,17],"leadingComments":" Null value.\n"},{"path":[5,0,2,0,1],"span":[85,2,12]},{"path":[5,0,2,0,2],"span":[85,15,16]},{"path":[4,2],"span":[91,0,94,1],"leadingComments":" `ListValue` is a wrapper around a repeated field of values.\n\n The JSON representation for `ListValue` is JSON array.\n"},{"path":[4,2,1],"span":[91,8,17]},{"path":[4,2,2,0],"span":[93,2,28],"leadingComments":" Repeated field of dynamically typed values.\n"},{"path":[4,2,2,0,4],"span":[93,2,10]},{"path":[4,2,2,0,6],"span":[93,11,16]},{"path":[4,2,2,0,1],"span":[93,17,23]},{"path":[4,2,2,0,3],"span":[93,26,27]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"google/protobuf/wrappers.proto","package":"google.protobuf","messageType":[{"name":"DoubleValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"}]},{"name":"FloatValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"value"}]},{"name":"Int64Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"value"}]},{"name":"UInt64Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"value"}]},{"name":"Int32Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"value"}]},{"name":"UInt32Value","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"value"}]},{"name":"BoolValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"value"}]},{"name":"StringValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}]},{"name":"BytesValue","field":[{"name":"value","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}]}],"options":{"javaPackage":"com.google.protobuf","javaOuterClassname":"WrappersProto","javaMultipleFiles":true,"goPackage":"google.golang.org/protobuf/types/known/wrapperspb","ccEnableArenas":true,"objcClassPrefix":"GPB","csharpNamespace":"Google.Protobuf.WellKnownTypes"},"sourceCodeInfo":{"location":[{"span":[47,0,156,1]},{"path":[12],"span":[47,0,18],"leadingDetachedComments":[" Protocol Buffers - Google's data interchange format\n Copyright 2008 Google Inc. All rights reserved.\n https://developers.google.com/protocol-buffers/\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following disclaimer\n in the documentation and/or other materials provided with the\n distribution.\n * Neither the name of Google Inc. nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n Wrappers for primitive (non-message) types. These types were needed\n for legacy reasons and are not recommended for use in new APIs.\n\n Historically these wrappers were useful to have presence on proto3 primitive\n fields, but proto3 syntax has been updated to support the `optional` keyword.\n Using that keyword is now the strongly preferred way to add presence to\n proto3 primitive fields.\n\n A secondary usecase was to embed primitives in the `google.protobuf.Any`\n type: it is now recommended that you embed your value in your own wrapper\n message which can be specifically documented.\n\n These wrappers have no meaningful use within repeated fields as they lack\n the ability to detect presence on individual elements.\n These wrappers have no meaningful use within a map or a oneof since\n individual entries of a map or fields of a oneof can already detect presence.\n"]},{"path":[2],"span":[49,0,24]},{"path":[8],"span":[51,0,31]},{"path":[8,31],"span":[51,0,31]},{"path":[8],"span":[52,0,72]},{"path":[8,11],"span":[52,0,72]},{"path":[8],"span":[53,0,44]},{"path":[8,1],"span":[53,0,44]},{"path":[8],"span":[54,0,46]},{"path":[8,8],"span":[54,0,46]},{"path":[8],"span":[55,0,34]},{"path":[8,10],"span":[55,0,34]},{"path":[8],"span":[56,0,33]},{"path":[8,36],"span":[56,0,33]},{"path":[8],"span":[57,0,59]},{"path":[8,37],"span":[57,0,59]},{"path":[4,0],"span":[65,0,68,1],"leadingComments":" Wrapper message for `double`.\n\n The JSON representation for `DoubleValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.\n"},{"path":[4,0,1],"span":[65,8,19]},{"path":[4,0,2,0],"span":[67,2,19],"leadingComments":" The double value.\n"},{"path":[4,0,2,0,5],"span":[67,2,8]},{"path":[4,0,2,0,1],"span":[67,9,14]},{"path":[4,0,2,0,3],"span":[67,17,18]},{"path":[4,1],"span":[76,0,79,1],"leadingComments":" Wrapper message for `float`.\n\n The JSON representation for `FloatValue` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.\n"},{"path":[4,1,1],"span":[76,8,18]},{"path":[4,1,2,0],"span":[78,2,18],"leadingComments":" The float value.\n"},{"path":[4,1,2,0,5],"span":[78,2,7]},{"path":[4,1,2,0,1],"span":[78,8,13]},{"path":[4,1,2,0,3],"span":[78,16,17]},{"path":[4,2],"span":[87,0,90,1],"leadingComments":" Wrapper message for `int64`.\n\n The JSON representation for `Int64Value` is JSON string.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.\n"},{"path":[4,2,1],"span":[87,8,18]},{"path":[4,2,2,0],"span":[89,2,18],"leadingComments":" The int64 value.\n"},{"path":[4,2,2,0,5],"span":[89,2,7]},{"path":[4,2,2,0,1],"span":[89,8,13]},{"path":[4,2,2,0,3],"span":[89,16,17]},{"path":[4,3],"span":[98,0,101,1],"leadingComments":" Wrapper message for `uint64`.\n\n The JSON representation for `UInt64Value` is JSON string.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.\n"},{"path":[4,3,1],"span":[98,8,19]},{"path":[4,3,2,0],"span":[100,2,19],"leadingComments":" The uint64 value.\n"},{"path":[4,3,2,0,5],"span":[100,2,8]},{"path":[4,3,2,0,1],"span":[100,9,14]},{"path":[4,3,2,0,3],"span":[100,17,18]},{"path":[4,4],"span":[109,0,112,1],"leadingComments":" Wrapper message for `int32`.\n\n The JSON representation for `Int32Value` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.\n"},{"path":[4,4,1],"span":[109,8,18]},{"path":[4,4,2,0],"span":[111,2,18],"leadingComments":" The int32 value.\n"},{"path":[4,4,2,0,5],"span":[111,2,7]},{"path":[4,4,2,0,1],"span":[111,8,13]},{"path":[4,4,2,0,3],"span":[111,16,17]},{"path":[4,5],"span":[120,0,123,1],"leadingComments":" Wrapper message for `uint32`.\n\n The JSON representation for `UInt32Value` is JSON number.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.\n"},{"path":[4,5,1],"span":[120,8,19]},{"path":[4,5,2,0],"span":[122,2,19],"leadingComments":" The uint32 value.\n"},{"path":[4,5,2,0,5],"span":[122,2,8]},{"path":[4,5,2,0,1],"span":[122,9,14]},{"path":[4,5,2,0,3],"span":[122,17,18]},{"path":[4,6],"span":[131,0,134,1],"leadingComments":" Wrapper message for `bool`.\n\n The JSON representation for `BoolValue` is JSON `true` and `false`.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.\n"},{"path":[4,6,1],"span":[131,8,17]},{"path":[4,6,2,0],"span":[133,2,17],"leadingComments":" The bool value.\n"},{"path":[4,6,2,0,5],"span":[133,2,6]},{"path":[4,6,2,0,1],"span":[133,7,12]},{"path":[4,6,2,0,3],"span":[133,15,16]},{"path":[4,7],"span":[142,0,145,1],"leadingComments":" Wrapper message for `string`.\n\n The JSON representation for `StringValue` is JSON string.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.\n"},{"path":[4,7,1],"span":[142,8,19]},{"path":[4,7,2,0],"span":[144,2,19],"leadingComments":" The string value.\n"},{"path":[4,7,2,0,5],"span":[144,2,8]},{"path":[4,7,2,0,1],"span":[144,9,14]},{"path":[4,7,2,0,3],"span":[144,17,18]},{"path":[4,8],"span":[153,0,156,1],"leadingComments":" Wrapper message for `bytes`.\n\n The JSON representation for `BytesValue` is JSON string.\n\n Not recommended for use in new APIs, but still useful for legacy APIs and\n has no plan to be removed.\n"},{"path":[4,8,1],"span":[153,8,18]},{"path":[4,8,2,0],"span":[155,2,18],"leadingComments":" The bytes value.\n"},{"path":[4,8,2,0,5],"span":[155,2,7]},{"path":[4,8,2,0,1],"span":[155,8,13]},{"path":[4,8,2,0,3],"span":[155,16,17]}]},"syntax":"proto3","bufExtension":{"isImport":true,"isSyntaxUnspecified":false}},{"name":"bufext/cel/expr/conformance/proto3/test_all_types.proto","package":"bufext.cel.expr.conformance.proto3","dependency":["google/protobuf/any.proto","google/protobuf/duration.proto","google/protobuf/struct.proto","google/protobuf/timestamp.proto","google/protobuf/wrappers.proto"],"messageType":[{"name":"TestAllTypes","field":[{"name":"single_int32","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"singleInt32"},{"name":"single_int64","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"singleInt64"},{"name":"single_uint32","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"singleUint32"},{"name":"single_uint64","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"singleUint64"},{"name":"single_sint32","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_SINT32","jsonName":"singleSint32"},{"name":"single_sint64","number":6,"label":"LABEL_OPTIONAL","type":"TYPE_SINT64","jsonName":"singleSint64"},{"name":"single_fixed32","number":7,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED32","jsonName":"singleFixed32"},{"name":"single_fixed64","number":8,"label":"LABEL_OPTIONAL","type":"TYPE_FIXED64","jsonName":"singleFixed64"},{"name":"single_sfixed32","number":9,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED32","jsonName":"singleSfixed32"},{"name":"single_sfixed64","number":10,"label":"LABEL_OPTIONAL","type":"TYPE_SFIXED64","jsonName":"singleSfixed64"},{"name":"single_float","number":11,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"singleFloat"},{"name":"single_double","number":12,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"singleDouble"},{"name":"single_bool","number":13,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"singleBool"},{"name":"single_string","number":14,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"singleString"},{"name":"single_bytes","number":15,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"singleBytes"},{"name":"single_any","number":100,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"singleAny"},{"name":"single_duration","number":101,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"singleDuration"},{"name":"single_timestamp","number":102,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"singleTimestamp"},{"name":"single_struct","number":103,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"singleStruct"},{"name":"single_value","number":104,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"singleValue"},{"name":"single_int64_wrapper","number":105,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"singleInt64Wrapper"},{"name":"single_int32_wrapper","number":106,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int32Value","jsonName":"singleInt32Wrapper"},{"name":"single_double_wrapper","number":107,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.DoubleValue","jsonName":"singleDoubleWrapper"},{"name":"single_float_wrapper","number":108,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FloatValue","jsonName":"singleFloatWrapper"},{"name":"single_uint64_wrapper","number":109,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt64Value","jsonName":"singleUint64Wrapper"},{"name":"single_uint32_wrapper","number":110,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt32Value","jsonName":"singleUint32Wrapper"},{"name":"single_string_wrapper","number":111,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.StringValue","jsonName":"singleStringWrapper"},{"name":"single_bool_wrapper","number":112,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BoolValue","jsonName":"singleBoolWrapper"},{"name":"single_bytes_wrapper","number":113,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BytesValue","jsonName":"singleBytesWrapper"},{"name":"list_value","number":114,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","jsonName":"listValue"},{"name":"null_value","number":115,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","jsonName":"nullValue"},{"name":"optional_null_value","number":116,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","oneofIndex":1,"jsonName":"optionalNullValue","proto3Optional":true},{"name":"single_nested_message","number":21,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","oneofIndex":0,"jsonName":"singleNestedMessage"},{"name":"single_nested_enum","number":22,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedEnum","oneofIndex":0,"jsonName":"singleNestedEnum"},{"name":"standalone_message","number":23,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"standaloneMessage"},{"name":"standalone_enum","number":24,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedEnum","jsonName":"standaloneEnum"},{"name":"repeated_int32","number":31,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"repeatedInt32"},{"name":"repeated_int64","number":32,"label":"LABEL_REPEATED","type":"TYPE_INT64","jsonName":"repeatedInt64"},{"name":"repeated_uint32","number":33,"label":"LABEL_REPEATED","type":"TYPE_UINT32","jsonName":"repeatedUint32"},{"name":"repeated_uint64","number":34,"label":"LABEL_REPEATED","type":"TYPE_UINT64","jsonName":"repeatedUint64"},{"name":"repeated_sint32","number":35,"label":"LABEL_REPEATED","type":"TYPE_SINT32","jsonName":"repeatedSint32"},{"name":"repeated_sint64","number":36,"label":"LABEL_REPEATED","type":"TYPE_SINT64","jsonName":"repeatedSint64"},{"name":"repeated_fixed32","number":37,"label":"LABEL_REPEATED","type":"TYPE_FIXED32","jsonName":"repeatedFixed32"},{"name":"repeated_fixed64","number":38,"label":"LABEL_REPEATED","type":"TYPE_FIXED64","jsonName":"repeatedFixed64"},{"name":"repeated_sfixed32","number":39,"label":"LABEL_REPEATED","type":"TYPE_SFIXED32","jsonName":"repeatedSfixed32"},{"name":"repeated_sfixed64","number":40,"label":"LABEL_REPEATED","type":"TYPE_SFIXED64","jsonName":"repeatedSfixed64"},{"name":"repeated_float","number":41,"label":"LABEL_REPEATED","type":"TYPE_FLOAT","jsonName":"repeatedFloat"},{"name":"repeated_double","number":42,"label":"LABEL_REPEATED","type":"TYPE_DOUBLE","jsonName":"repeatedDouble"},{"name":"repeated_bool","number":43,"label":"LABEL_REPEATED","type":"TYPE_BOOL","jsonName":"repeatedBool"},{"name":"repeated_string","number":44,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"repeatedString"},{"name":"repeated_bytes","number":45,"label":"LABEL_REPEATED","type":"TYPE_BYTES","jsonName":"repeatedBytes"},{"name":"repeated_nested_message","number":51,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"repeatedNestedMessage"},{"name":"repeated_nested_enum","number":52,"label":"LABEL_REPEATED","type":"TYPE_ENUM","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedEnum","jsonName":"repeatedNestedEnum"},{"name":"repeated_string_piece","number":53,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"repeatedStringPiece","options":{"ctype":"STRING_PIECE"}},{"name":"repeated_cord","number":54,"label":"LABEL_REPEATED","type":"TYPE_STRING","jsonName":"repeatedCord","options":{"ctype":"CORD"}},{"name":"repeated_lazy_message","number":55,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"repeatedLazyMessage","options":{"lazy":true}},{"name":"repeated_any","number":120,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"repeatedAny"},{"name":"repeated_duration","number":121,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"repeatedDuration"},{"name":"repeated_timestamp","number":122,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"repeatedTimestamp"},{"name":"repeated_struct","number":123,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"repeatedStruct"},{"name":"repeated_value","number":124,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"repeatedValue"},{"name":"repeated_int64_wrapper","number":125,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"repeatedInt64Wrapper"},{"name":"repeated_int32_wrapper","number":126,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int32Value","jsonName":"repeatedInt32Wrapper"},{"name":"repeated_double_wrapper","number":127,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.DoubleValue","jsonName":"repeatedDoubleWrapper"},{"name":"repeated_float_wrapper","number":128,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.FloatValue","jsonName":"repeatedFloatWrapper"},{"name":"repeated_uint64_wrapper","number":129,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt64Value","jsonName":"repeatedUint64Wrapper"},{"name":"repeated_uint32_wrapper","number":130,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt32Value","jsonName":"repeatedUint32Wrapper"},{"name":"repeated_string_wrapper","number":131,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.StringValue","jsonName":"repeatedStringWrapper"},{"name":"repeated_bool_wrapper","number":132,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.BoolValue","jsonName":"repeatedBoolWrapper"},{"name":"repeated_bytes_wrapper","number":133,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.BytesValue","jsonName":"repeatedBytesWrapper"},{"name":"repeated_list_value","number":134,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","jsonName":"repeatedListValue"},{"name":"repeated_null_value","number":135,"label":"LABEL_REPEATED","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","jsonName":"repeatedNullValue"},{"name":"map_int64_nested_type","number":62,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64NestedTypeEntry","jsonName":"mapInt64NestedType"},{"name":"map_bool_bool","number":63,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolBoolEntry","jsonName":"mapBoolBool"},{"name":"map_bool_string","number":64,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolStringEntry","jsonName":"mapBoolString"},{"name":"map_bool_bytes","number":65,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolBytesEntry","jsonName":"mapBoolBytes"},{"name":"map_bool_int32","number":66,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolInt32Entry","jsonName":"mapBoolInt32"},{"name":"map_bool_int64","number":67,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolInt64Entry","jsonName":"mapBoolInt64"},{"name":"map_bool_uint32","number":68,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolUint32Entry","jsonName":"mapBoolUint32"},{"name":"map_bool_uint64","number":69,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolUint64Entry","jsonName":"mapBoolUint64"},{"name":"map_bool_float","number":70,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolFloatEntry","jsonName":"mapBoolFloat"},{"name":"map_bool_double","number":71,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolDoubleEntry","jsonName":"mapBoolDouble"},{"name":"map_bool_enum","number":72,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolEnumEntry","jsonName":"mapBoolEnum"},{"name":"map_bool_message","number":73,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolMessageEntry","jsonName":"mapBoolMessage"},{"name":"map_bool_duration","number":228,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolDurationEntry","jsonName":"mapBoolDuration"},{"name":"map_bool_timestamp","number":229,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolTimestampEntry","jsonName":"mapBoolTimestamp"},{"name":"map_bool_null_value","number":230,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolNullValueEntry","jsonName":"mapBoolNullValue"},{"name":"map_bool_any","number":246,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolAnyEntry","jsonName":"mapBoolAny"},{"name":"map_bool_struct","number":247,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolStructEntry","jsonName":"mapBoolStruct"},{"name":"map_bool_value","number":248,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolValueEntry","jsonName":"mapBoolValue"},{"name":"map_bool_list_value","number":249,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolListValueEntry","jsonName":"mapBoolListValue"},{"name":"map_bool_int64_wrapper","number":250,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolInt64WrapperEntry","jsonName":"mapBoolInt64Wrapper"},{"name":"map_bool_int32_wrapper","number":251,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolInt32WrapperEntry","jsonName":"mapBoolInt32Wrapper"},{"name":"map_bool_double_wrapper","number":252,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolDoubleWrapperEntry","jsonName":"mapBoolDoubleWrapper"},{"name":"map_bool_float_wrapper","number":253,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolFloatWrapperEntry","jsonName":"mapBoolFloatWrapper"},{"name":"map_bool_uint64_wrapper","number":254,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolUint64WrapperEntry","jsonName":"mapBoolUint64Wrapper"},{"name":"map_bool_uint32_wrapper","number":255,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolUint32WrapperEntry","jsonName":"mapBoolUint32Wrapper"},{"name":"map_bool_string_wrapper","number":256,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolStringWrapperEntry","jsonName":"mapBoolStringWrapper"},{"name":"map_bool_bool_wrapper","number":257,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolBoolWrapperEntry","jsonName":"mapBoolBoolWrapper"},{"name":"map_bool_bytes_wrapper","number":258,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapBoolBytesWrapperEntry","jsonName":"mapBoolBytesWrapper"},{"name":"map_int32_bool","number":74,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32BoolEntry","jsonName":"mapInt32Bool"},{"name":"map_int32_string","number":75,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32StringEntry","jsonName":"mapInt32String"},{"name":"map_int32_bytes","number":76,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32BytesEntry","jsonName":"mapInt32Bytes"},{"name":"map_int32_int32","number":77,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32Int32Entry","jsonName":"mapInt32Int32"},{"name":"map_int32_int64","number":78,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32Int64Entry","jsonName":"mapInt32Int64"},{"name":"map_int32_uint32","number":79,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32Uint32Entry","jsonName":"mapInt32Uint32"},{"name":"map_int32_uint64","number":80,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32Uint64Entry","jsonName":"mapInt32Uint64"},{"name":"map_int32_float","number":81,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32FloatEntry","jsonName":"mapInt32Float"},{"name":"map_int32_double","number":82,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32DoubleEntry","jsonName":"mapInt32Double"},{"name":"map_int32_enum","number":83,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32EnumEntry","jsonName":"mapInt32Enum"},{"name":"map_int32_message","number":84,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32MessageEntry","jsonName":"mapInt32Message"},{"name":"map_int32_duration","number":231,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32DurationEntry","jsonName":"mapInt32Duration"},{"name":"map_int32_timestamp","number":232,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32TimestampEntry","jsonName":"mapInt32Timestamp"},{"name":"map_int32_null_value","number":233,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32NullValueEntry","jsonName":"mapInt32NullValue"},{"name":"map_int32_any","number":259,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32AnyEntry","jsonName":"mapInt32Any"},{"name":"map_int32_struct","number":260,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32StructEntry","jsonName":"mapInt32Struct"},{"name":"map_int32_value","number":261,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32ValueEntry","jsonName":"mapInt32Value"},{"name":"map_int32_list_value","number":262,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32ListValueEntry","jsonName":"mapInt32ListValue"},{"name":"map_int32_int64_wrapper","number":263,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32Int64WrapperEntry","jsonName":"mapInt32Int64Wrapper"},{"name":"map_int32_int32_wrapper","number":264,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32Int32WrapperEntry","jsonName":"mapInt32Int32Wrapper"},{"name":"map_int32_double_wrapper","number":265,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32DoubleWrapperEntry","jsonName":"mapInt32DoubleWrapper"},{"name":"map_int32_float_wrapper","number":266,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32FloatWrapperEntry","jsonName":"mapInt32FloatWrapper"},{"name":"map_int32_uint64_wrapper","number":267,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32Uint64WrapperEntry","jsonName":"mapInt32Uint64Wrapper"},{"name":"map_int32_uint32_wrapper","number":268,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32Uint32WrapperEntry","jsonName":"mapInt32Uint32Wrapper"},{"name":"map_int32_string_wrapper","number":269,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32StringWrapperEntry","jsonName":"mapInt32StringWrapper"},{"name":"map_int32_bool_wrapper","number":270,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32BoolWrapperEntry","jsonName":"mapInt32BoolWrapper"},{"name":"map_int32_bytes_wrapper","number":271,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt32BytesWrapperEntry","jsonName":"mapInt32BytesWrapper"},{"name":"map_int64_bool","number":85,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64BoolEntry","jsonName":"mapInt64Bool"},{"name":"map_int64_string","number":86,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64StringEntry","jsonName":"mapInt64String"},{"name":"map_int64_bytes","number":87,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64BytesEntry","jsonName":"mapInt64Bytes"},{"name":"map_int64_int32","number":88,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64Int32Entry","jsonName":"mapInt64Int32"},{"name":"map_int64_int64","number":89,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64Int64Entry","jsonName":"mapInt64Int64"},{"name":"map_int64_uint32","number":90,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64Uint32Entry","jsonName":"mapInt64Uint32"},{"name":"map_int64_uint64","number":91,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64Uint64Entry","jsonName":"mapInt64Uint64"},{"name":"map_int64_float","number":92,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64FloatEntry","jsonName":"mapInt64Float"},{"name":"map_int64_double","number":93,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64DoubleEntry","jsonName":"mapInt64Double"},{"name":"map_int64_enum","number":94,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64EnumEntry","jsonName":"mapInt64Enum"},{"name":"map_int64_message","number":95,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64MessageEntry","jsonName":"mapInt64Message"},{"name":"map_int64_duration","number":234,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64DurationEntry","jsonName":"mapInt64Duration"},{"name":"map_int64_timestamp","number":235,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64TimestampEntry","jsonName":"mapInt64Timestamp"},{"name":"map_int64_null_value","number":236,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64NullValueEntry","jsonName":"mapInt64NullValue"},{"name":"map_int64_any","number":272,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64AnyEntry","jsonName":"mapInt64Any"},{"name":"map_int64_struct","number":273,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64StructEntry","jsonName":"mapInt64Struct"},{"name":"map_int64_value","number":274,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64ValueEntry","jsonName":"mapInt64Value"},{"name":"map_int64_list_value","number":275,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64ListValueEntry","jsonName":"mapInt64ListValue"},{"name":"map_int64_int64_wrapper","number":276,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64Int64WrapperEntry","jsonName":"mapInt64Int64Wrapper"},{"name":"map_int64_int32_wrapper","number":277,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64Int32WrapperEntry","jsonName":"mapInt64Int32Wrapper"},{"name":"map_int64_double_wrapper","number":278,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64DoubleWrapperEntry","jsonName":"mapInt64DoubleWrapper"},{"name":"map_int64_float_wrapper","number":279,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64FloatWrapperEntry","jsonName":"mapInt64FloatWrapper"},{"name":"map_int64_uint64_wrapper","number":280,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64Uint64WrapperEntry","jsonName":"mapInt64Uint64Wrapper"},{"name":"map_int64_uint32_wrapper","number":281,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64Uint32WrapperEntry","jsonName":"mapInt64Uint32Wrapper"},{"name":"map_int64_string_wrapper","number":282,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64StringWrapperEntry","jsonName":"mapInt64StringWrapper"},{"name":"map_int64_bool_wrapper","number":283,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64BoolWrapperEntry","jsonName":"mapInt64BoolWrapper"},{"name":"map_int64_bytes_wrapper","number":284,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapInt64BytesWrapperEntry","jsonName":"mapInt64BytesWrapper"},{"name":"map_uint32_bool","number":96,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32BoolEntry","jsonName":"mapUint32Bool"},{"name":"map_uint32_string","number":97,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32StringEntry","jsonName":"mapUint32String"},{"name":"map_uint32_bytes","number":98,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32BytesEntry","jsonName":"mapUint32Bytes"},{"name":"map_uint32_int32","number":99,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32Int32Entry","jsonName":"mapUint32Int32"},{"name":"map_uint32_int64","number":200,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32Int64Entry","jsonName":"mapUint32Int64"},{"name":"map_uint32_uint32","number":201,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32Uint32Entry","jsonName":"mapUint32Uint32"},{"name":"map_uint32_uint64","number":202,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32Uint64Entry","jsonName":"mapUint32Uint64"},{"name":"map_uint32_float","number":203,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32FloatEntry","jsonName":"mapUint32Float"},{"name":"map_uint32_double","number":204,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32DoubleEntry","jsonName":"mapUint32Double"},{"name":"map_uint32_enum","number":205,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32EnumEntry","jsonName":"mapUint32Enum"},{"name":"map_uint32_message","number":206,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32MessageEntry","jsonName":"mapUint32Message"},{"name":"map_uint32_duration","number":237,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32DurationEntry","jsonName":"mapUint32Duration"},{"name":"map_uint32_timestamp","number":238,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32TimestampEntry","jsonName":"mapUint32Timestamp"},{"name":"map_uint32_null_value","number":239,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32NullValueEntry","jsonName":"mapUint32NullValue"},{"name":"map_uint32_any","number":285,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32AnyEntry","jsonName":"mapUint32Any"},{"name":"map_uint32_struct","number":286,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32StructEntry","jsonName":"mapUint32Struct"},{"name":"map_uint32_value","number":287,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32ValueEntry","jsonName":"mapUint32Value"},{"name":"map_uint32_list_value","number":288,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32ListValueEntry","jsonName":"mapUint32ListValue"},{"name":"map_uint32_int64_wrapper","number":289,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32Int64WrapperEntry","jsonName":"mapUint32Int64Wrapper"},{"name":"map_uint32_int32_wrapper","number":290,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32Int32WrapperEntry","jsonName":"mapUint32Int32Wrapper"},{"name":"map_uint32_double_wrapper","number":291,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32DoubleWrapperEntry","jsonName":"mapUint32DoubleWrapper"},{"name":"map_uint32_float_wrapper","number":292,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32FloatWrapperEntry","jsonName":"mapUint32FloatWrapper"},{"name":"map_uint32_uint64_wrapper","number":293,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32Uint64WrapperEntry","jsonName":"mapUint32Uint64Wrapper"},{"name":"map_uint32_uint32_wrapper","number":294,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32Uint32WrapperEntry","jsonName":"mapUint32Uint32Wrapper"},{"name":"map_uint32_string_wrapper","number":295,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32StringWrapperEntry","jsonName":"mapUint32StringWrapper"},{"name":"map_uint32_bool_wrapper","number":296,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32BoolWrapperEntry","jsonName":"mapUint32BoolWrapper"},{"name":"map_uint32_bytes_wrapper","number":297,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint32BytesWrapperEntry","jsonName":"mapUint32BytesWrapper"},{"name":"map_uint64_bool","number":207,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64BoolEntry","jsonName":"mapUint64Bool"},{"name":"map_uint64_string","number":208,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64StringEntry","jsonName":"mapUint64String"},{"name":"map_uint64_bytes","number":209,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64BytesEntry","jsonName":"mapUint64Bytes"},{"name":"map_uint64_int32","number":210,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64Int32Entry","jsonName":"mapUint64Int32"},{"name":"map_uint64_int64","number":211,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64Int64Entry","jsonName":"mapUint64Int64"},{"name":"map_uint64_uint32","number":212,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64Uint32Entry","jsonName":"mapUint64Uint32"},{"name":"map_uint64_uint64","number":213,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64Uint64Entry","jsonName":"mapUint64Uint64"},{"name":"map_uint64_float","number":214,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64FloatEntry","jsonName":"mapUint64Float"},{"name":"map_uint64_double","number":215,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64DoubleEntry","jsonName":"mapUint64Double"},{"name":"map_uint64_enum","number":216,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64EnumEntry","jsonName":"mapUint64Enum"},{"name":"map_uint64_message","number":217,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64MessageEntry","jsonName":"mapUint64Message"},{"name":"map_uint64_duration","number":240,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64DurationEntry","jsonName":"mapUint64Duration"},{"name":"map_uint64_timestamp","number":241,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64TimestampEntry","jsonName":"mapUint64Timestamp"},{"name":"map_uint64_null_value","number":242,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64NullValueEntry","jsonName":"mapUint64NullValue"},{"name":"map_uint64_any","number":298,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64AnyEntry","jsonName":"mapUint64Any"},{"name":"map_uint64_struct","number":299,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64StructEntry","jsonName":"mapUint64Struct"},{"name":"map_uint64_value","number":300,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64ValueEntry","jsonName":"mapUint64Value"},{"name":"map_uint64_list_value","number":301,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64ListValueEntry","jsonName":"mapUint64ListValue"},{"name":"map_uint64_int64_wrapper","number":302,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64Int64WrapperEntry","jsonName":"mapUint64Int64Wrapper"},{"name":"map_uint64_int32_wrapper","number":303,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64Int32WrapperEntry","jsonName":"mapUint64Int32Wrapper"},{"name":"map_uint64_double_wrapper","number":304,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64DoubleWrapperEntry","jsonName":"mapUint64DoubleWrapper"},{"name":"map_uint64_float_wrapper","number":305,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64FloatWrapperEntry","jsonName":"mapUint64FloatWrapper"},{"name":"map_uint64_uint64_wrapper","number":306,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64Uint64WrapperEntry","jsonName":"mapUint64Uint64Wrapper"},{"name":"map_uint64_uint32_wrapper","number":307,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64Uint32WrapperEntry","jsonName":"mapUint64Uint32Wrapper"},{"name":"map_uint64_string_wrapper","number":308,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64StringWrapperEntry","jsonName":"mapUint64StringWrapper"},{"name":"map_uint64_bool_wrapper","number":309,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64BoolWrapperEntry","jsonName":"mapUint64BoolWrapper"},{"name":"map_uint64_bytes_wrapper","number":310,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapUint64BytesWrapperEntry","jsonName":"mapUint64BytesWrapper"},{"name":"map_string_bool","number":218,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringBoolEntry","jsonName":"mapStringBool"},{"name":"map_string_string","number":61,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringStringEntry","jsonName":"mapStringString"},{"name":"map_string_bytes","number":219,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringBytesEntry","jsonName":"mapStringBytes"},{"name":"map_string_int32","number":220,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringInt32Entry","jsonName":"mapStringInt32"},{"name":"map_string_int64","number":221,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringInt64Entry","jsonName":"mapStringInt64"},{"name":"map_string_uint32","number":222,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringUint32Entry","jsonName":"mapStringUint32"},{"name":"map_string_uint64","number":223,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringUint64Entry","jsonName":"mapStringUint64"},{"name":"map_string_float","number":224,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringFloatEntry","jsonName":"mapStringFloat"},{"name":"map_string_double","number":225,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringDoubleEntry","jsonName":"mapStringDouble"},{"name":"map_string_enum","number":226,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringEnumEntry","jsonName":"mapStringEnum"},{"name":"map_string_message","number":227,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringMessageEntry","jsonName":"mapStringMessage"},{"name":"map_string_duration","number":243,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringDurationEntry","jsonName":"mapStringDuration"},{"name":"map_string_timestamp","number":244,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringTimestampEntry","jsonName":"mapStringTimestamp"},{"name":"map_string_null_value","number":245,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringNullValueEntry","jsonName":"mapStringNullValue"},{"name":"map_string_any","number":311,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringAnyEntry","jsonName":"mapStringAny"},{"name":"map_string_struct","number":312,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringStructEntry","jsonName":"mapStringStruct"},{"name":"map_string_value","number":313,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringValueEntry","jsonName":"mapStringValue"},{"name":"map_string_list_value","number":314,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringListValueEntry","jsonName":"mapStringListValue"},{"name":"map_string_int64_wrapper","number":315,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringInt64WrapperEntry","jsonName":"mapStringInt64Wrapper"},{"name":"map_string_int32_wrapper","number":316,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringInt32WrapperEntry","jsonName":"mapStringInt32Wrapper"},{"name":"map_string_double_wrapper","number":317,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringDoubleWrapperEntry","jsonName":"mapStringDoubleWrapper"},{"name":"map_string_float_wrapper","number":318,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringFloatWrapperEntry","jsonName":"mapStringFloatWrapper"},{"name":"map_string_uint64_wrapper","number":319,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringUint64WrapperEntry","jsonName":"mapStringUint64Wrapper"},{"name":"map_string_uint32_wrapper","number":320,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringUint32WrapperEntry","jsonName":"mapStringUint32Wrapper"},{"name":"map_string_string_wrapper","number":321,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringStringWrapperEntry","jsonName":"mapStringStringWrapper"},{"name":"map_string_bool_wrapper","number":322,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringBoolWrapperEntry","jsonName":"mapStringBoolWrapper"},{"name":"map_string_bytes_wrapper","number":323,"label":"LABEL_REPEATED","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.MapStringBytesWrapperEntry","jsonName":"mapStringBytesWrapper"}],"nestedType":[{"name":"NestedMessage","field":[{"name":"bb","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"bb"}]},{"name":"MapInt64NestedTypeEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.NestedTestAllTypes","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolBoolEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolStringEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolBytesEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolInt32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolInt64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolUint32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolUint64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolFloatEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolDoubleEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolEnumEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedEnum","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolMessageEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolDurationEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolTimestampEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolNullValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolAnyEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolStructEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolListValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolInt64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolInt32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolDoubleWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.DoubleValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolFloatWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FloatValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolUint64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolUint32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolStringWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.StringValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolBoolWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BoolValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapBoolBytesWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BytesValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32BoolEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32StringEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32BytesEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32Int32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32Int64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32Uint32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32Uint64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32FloatEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32DoubleEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32EnumEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedEnum","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32MessageEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32DurationEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32TimestampEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32NullValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32AnyEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32StructEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32ValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32ListValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32Int64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32Int32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32DoubleWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.DoubleValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32FloatWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FloatValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32Uint64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32Uint32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32StringWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.StringValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32BoolWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BoolValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt32BytesWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BytesValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64BoolEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64StringEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64BytesEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64Int32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64Int64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64Uint32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64Uint64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64FloatEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64DoubleEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64EnumEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedEnum","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64MessageEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64DurationEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64TimestampEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64NullValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64AnyEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64StructEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64ValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64ListValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64Int64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64Int32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64DoubleWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.DoubleValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64FloatWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FloatValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64Uint64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64Uint32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64StringWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.StringValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64BoolWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BoolValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapInt64BytesWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BytesValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32BoolEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32StringEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32BytesEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32Int32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32Int64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32Uint32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32Uint64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32FloatEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32DoubleEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32EnumEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedEnum","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32MessageEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32DurationEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32TimestampEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32NullValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32AnyEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32StructEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32ValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32ListValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32Int64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32Int32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32DoubleWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.DoubleValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32FloatWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FloatValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32Uint64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32Uint32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32StringWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.StringValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32BoolWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BoolValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint32BytesWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BytesValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64BoolEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64StringEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64BytesEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64Int32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64Int64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64Uint32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64Uint64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64FloatEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64DoubleEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64EnumEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedEnum","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64MessageEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64DurationEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64TimestampEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64NullValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64AnyEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64StructEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64ValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64ListValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64Int64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64Int32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64DoubleWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.DoubleValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64FloatWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FloatValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64Uint64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64Uint32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64StringWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.StringValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64BoolWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BoolValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapUint64BytesWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BytesValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringBoolEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringStringEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringBytesEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringInt32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringInt64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringUint32Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT32","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringUint64Entry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_UINT64","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringFloatEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_FLOAT","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringDoubleEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_DOUBLE","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringEnumEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedEnum","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringMessageEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringDurationEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Duration","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringTimestampEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Timestamp","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringNullValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_ENUM","typeName":".google.protobuf.NullValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringAnyEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Any","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringStructEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Struct","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringListValueEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.ListValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringInt64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringInt32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.Int32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringDoubleWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.DoubleValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringFloatWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.FloatValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringUint64WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt64Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringUint32WrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.UInt32Value","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringStringWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.StringValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringBoolWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BoolValue","jsonName":"value"}],"options":{"mapEntry":true}},{"name":"MapStringBytesWrapperEntry","field":[{"name":"key","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"key"},{"name":"value","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".google.protobuf.BytesValue","jsonName":"value"}],"options":{"mapEntry":true}}],"enumType":[{"name":"NestedEnum","value":[{"name":"FOO","number":0},{"name":"BAR","number":1},{"name":"BAZ","number":2}]}],"oneofDecl":[{"name":"nested_type"},{"name":"_optional_null_value"}]},{"name":"NestedTestAllTypes","field":[{"name":"child","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.NestedTestAllTypes","jsonName":"child"},{"name":"payload","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes","jsonName":"payload"}]}],"enumType":[{"name":"GlobalEnum","value":[{"name":"GOO","number":0},{"name":"GAR","number":1},{"name":"GAZ","number":2}]}],"options":{"javaPackage":"dev.cel.expr.conformance.proto3","javaOuterClassname":"TestAllTypesProto","javaMultipleFiles":true,"goPackage":"cel.dev/expr/conformance/proto3","ccEnableArenas":true},"sourceCodeInfo":{"location":[{"span":[17,0,318,1]},{"path":[12],"span":[17,0,18],"leadingDetachedComments":[" Copyright 2024-2025 Buf Technologies, Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n"," Mostly originally copied from https://github.com/google/cel-spec/blob/ed066e332b7acc3dbf68e65e0001061539d25e83/proto/cel/expr/conformance/proto3/test_all_types.proto.\n See the license at https://github.com/google/cel-spec/blob/ed066e332b7acc3dbf68e65e0001061539d25e83/LICENSE.\n"]},{"path":[2],"span":[19,0,43]},{"path":[3,0],"span":[21,0,35]},{"path":[3,1],"span":[22,0,40]},{"path":[3,2],"span":[23,0,38]},{"path":[3,3],"span":[24,0,41]},{"path":[3,4],"span":[25,0,40]},{"path":[8],"span":[27,0,31]},{"path":[8,31],"span":[27,0,31]},{"path":[8],"span":[28,0,54]},{"path":[8,11],"span":[28,0,54]},{"path":[8],"span":[29,0,34]},{"path":[8,10],"span":[29,0,34]},{"path":[8],"span":[30,0,50]},{"path":[8,8],"span":[30,0,50]},{"path":[8],"span":[31,0,56]},{"path":[8,1],"span":[31,0,56]},{"path":[4,0],"span":[35,0,305,1],"leadingComments":" This proto includes every type of field in both singular and repeated\n forms.\n"},{"path":[4,0,1],"span":[35,8,20]},{"path":[4,0,3,0],"span":[36,2,41,3]},{"path":[4,0,3,0,1],"span":[36,10,23]},{"path":[4,0,3,0,2,0],"span":[40,4,17],"leadingComments":" The field name \"b\" fails to compile in proto1 because it conflicts with\n a local variable named \"b\" in one of the generated methods.\n This file needs to compile in proto1 to test backwards-compatibility.\n"},{"path":[4,0,3,0,2,0,5],"span":[40,4,9]},{"path":[4,0,3,0,2,0,1],"span":[40,10,12]},{"path":[4,0,3,0,2,0,3],"span":[40,15,16]},{"path":[4,0,4,0],"span":[43,2,47,3]},{"path":[4,0,4,0,1],"span":[43,7,17]},{"path":[4,0,4,0,2,0],"span":[44,4,12]},{"path":[4,0,4,0,2,0,1],"span":[44,4,7]},{"path":[4,0,4,0,2,0,2],"span":[44,10,11]},{"path":[4,0,4,0,2,1],"span":[45,4,12]},{"path":[4,0,4,0,2,1,1],"span":[45,4,7]},{"path":[4,0,4,0,2,1,2],"span":[45,10,11]},{"path":[4,0,4,0,2,2],"span":[46,4,12]},{"path":[4,0,4,0,2,2,1],"span":[46,4,7]},{"path":[4,0,4,0,2,2,2],"span":[46,10,11]},{"path":[4,0,2,0],"span":[50,2,25],"leadingComments":" Singular\n"},{"path":[4,0,2,0,5],"span":[50,2,7]},{"path":[4,0,2,0,1],"span":[50,8,20]},{"path":[4,0,2,0,3],"span":[50,23,24]},{"path":[4,0,2,1],"span":[51,2,25]},{"path":[4,0,2,1,5],"span":[51,2,7]},{"path":[4,0,2,1,1],"span":[51,8,20]},{"path":[4,0,2,1,3],"span":[51,23,24]},{"path":[4,0,2,2],"span":[52,2,27]},{"path":[4,0,2,2,5],"span":[52,2,8]},{"path":[4,0,2,2,1],"span":[52,9,22]},{"path":[4,0,2,2,3],"span":[52,25,26]},{"path":[4,0,2,3],"span":[53,2,27]},{"path":[4,0,2,3,5],"span":[53,2,8]},{"path":[4,0,2,3,1],"span":[53,9,22]},{"path":[4,0,2,3,3],"span":[53,25,26]},{"path":[4,0,2,4],"span":[54,2,27]},{"path":[4,0,2,4,5],"span":[54,2,8]},{"path":[4,0,2,4,1],"span":[54,9,22]},{"path":[4,0,2,4,3],"span":[54,25,26]},{"path":[4,0,2,5],"span":[55,2,27]},{"path":[4,0,2,5,5],"span":[55,2,8]},{"path":[4,0,2,5,1],"span":[55,9,22]},{"path":[4,0,2,5,3],"span":[55,25,26]},{"path":[4,0,2,6],"span":[56,2,29]},{"path":[4,0,2,6,5],"span":[56,2,9]},{"path":[4,0,2,6,1],"span":[56,10,24]},{"path":[4,0,2,6,3],"span":[56,27,28]},{"path":[4,0,2,7],"span":[57,2,29]},{"path":[4,0,2,7,5],"span":[57,2,9]},{"path":[4,0,2,7,1],"span":[57,10,24]},{"path":[4,0,2,7,3],"span":[57,27,28]},{"path":[4,0,2,8],"span":[58,2,31]},{"path":[4,0,2,8,5],"span":[58,2,10]},{"path":[4,0,2,8,1],"span":[58,11,26]},{"path":[4,0,2,8,3],"span":[58,29,30]},{"path":[4,0,2,9],"span":[59,2,32]},{"path":[4,0,2,9,5],"span":[59,2,10]},{"path":[4,0,2,9,1],"span":[59,11,26]},{"path":[4,0,2,9,3],"span":[59,29,31]},{"path":[4,0,2,10],"span":[60,2,26]},{"path":[4,0,2,10,5],"span":[60,2,7]},{"path":[4,0,2,10,1],"span":[60,8,20]},{"path":[4,0,2,10,3],"span":[60,23,25]},{"path":[4,0,2,11],"span":[61,2,28]},{"path":[4,0,2,11,5],"span":[61,2,8]},{"path":[4,0,2,11,1],"span":[61,9,22]},{"path":[4,0,2,11,3],"span":[61,25,27]},{"path":[4,0,2,12],"span":[62,2,24]},{"path":[4,0,2,12,5],"span":[62,2,6]},{"path":[4,0,2,12,1],"span":[62,7,18]},{"path":[4,0,2,12,3],"span":[62,21,23]},{"path":[4,0,2,13],"span":[63,2,28]},{"path":[4,0,2,13,5],"span":[63,2,8]},{"path":[4,0,2,13,1],"span":[63,9,22]},{"path":[4,0,2,13,3],"span":[63,25,27]},{"path":[4,0,2,14],"span":[64,2,26]},{"path":[4,0,2,14,5],"span":[64,2,7]},{"path":[4,0,2,14,1],"span":[64,8,20]},{"path":[4,0,2,14,3],"span":[64,23,25]},{"path":[4,0,2,15],"span":[67,2,39],"leadingComments":" Wellknown.\n"},{"path":[4,0,2,15,6],"span":[67,2,21]},{"path":[4,0,2,15,1],"span":[67,22,32]},{"path":[4,0,2,15,3],"span":[67,35,38]},{"path":[4,0,2,16],"span":[68,2,49]},{"path":[4,0,2,16,6],"span":[68,2,26]},{"path":[4,0,2,16,1],"span":[68,27,42]},{"path":[4,0,2,16,3],"span":[68,45,48]},{"path":[4,0,2,17],"span":[69,2,51]},{"path":[4,0,2,17,6],"span":[69,2,27]},{"path":[4,0,2,17,1],"span":[69,28,44]},{"path":[4,0,2,17,3],"span":[69,47,50]},{"path":[4,0,2,18],"span":[70,2,45]},{"path":[4,0,2,18,6],"span":[70,2,24]},{"path":[4,0,2,18,1],"span":[70,25,38]},{"path":[4,0,2,18,3],"span":[70,41,44]},{"path":[4,0,2,19],"span":[71,2,43]},{"path":[4,0,2,19,6],"span":[71,2,23]},{"path":[4,0,2,19,1],"span":[71,24,36]},{"path":[4,0,2,19,3],"span":[71,39,42]},{"path":[4,0,2,20],"span":[72,2,56]},{"path":[4,0,2,20,6],"span":[72,2,28]},{"path":[4,0,2,20,1],"span":[72,29,49]},{"path":[4,0,2,20,3],"span":[72,52,55]},{"path":[4,0,2,21],"span":[73,2,56]},{"path":[4,0,2,21,6],"span":[73,2,28]},{"path":[4,0,2,21,1],"span":[73,29,49]},{"path":[4,0,2,21,3],"span":[73,52,55]},{"path":[4,0,2,22],"span":[74,2,58]},{"path":[4,0,2,22,6],"span":[74,2,29]},{"path":[4,0,2,22,1],"span":[74,30,51]},{"path":[4,0,2,22,3],"span":[74,54,57]},{"path":[4,0,2,23],"span":[75,2,56]},{"path":[4,0,2,23,6],"span":[75,2,28]},{"path":[4,0,2,23,1],"span":[75,29,49]},{"path":[4,0,2,23,3],"span":[75,52,55]},{"path":[4,0,2,24],"span":[76,2,58]},{"path":[4,0,2,24,6],"span":[76,2,29]},{"path":[4,0,2,24,1],"span":[76,30,51]},{"path":[4,0,2,24,3],"span":[76,54,57]},{"path":[4,0,2,25],"span":[77,2,58]},{"path":[4,0,2,25,6],"span":[77,2,29]},{"path":[4,0,2,25,1],"span":[77,30,51]},{"path":[4,0,2,25,3],"span":[77,54,57]},{"path":[4,0,2,26],"span":[78,2,58]},{"path":[4,0,2,26,6],"span":[78,2,29]},{"path":[4,0,2,26,1],"span":[78,30,51]},{"path":[4,0,2,26,3],"span":[78,54,57]},{"path":[4,0,2,27],"span":[79,2,54]},{"path":[4,0,2,27,6],"span":[79,2,27]},{"path":[4,0,2,27,1],"span":[79,28,47]},{"path":[4,0,2,27,3],"span":[79,50,53]},{"path":[4,0,2,28],"span":[80,2,56]},{"path":[4,0,2,28,6],"span":[80,2,28]},{"path":[4,0,2,28,1],"span":[80,29,49]},{"path":[4,0,2,28,3],"span":[80,52,55]},{"path":[4,0,2,29],"span":[81,2,45]},{"path":[4,0,2,29,6],"span":[81,2,27]},{"path":[4,0,2,29,1],"span":[81,28,38]},{"path":[4,0,2,29,3],"span":[81,41,44]},{"path":[4,0,2,30],"span":[82,2,45]},{"path":[4,0,2,30,6],"span":[82,2,27]},{"path":[4,0,2,30,1],"span":[82,28,38]},{"path":[4,0,2,30,3],"span":[82,41,44]},{"path":[4,0,2,31],"span":[83,2,63]},{"path":[4,0,2,31,4],"span":[83,2,10]},{"path":[4,0,2,31,6],"span":[83,11,36]},{"path":[4,0,2,31,1],"span":[83,37,56]},{"path":[4,0,2,31,3],"span":[83,59,62]},{"path":[4,0,8,0],"span":[86,2,89,3],"leadingComments":" Nested messages\n"},{"path":[4,0,8,0,1],"span":[86,8,19]},{"path":[4,0,2,32],"span":[87,4,45]},{"path":[4,0,2,32,6],"span":[87,4,17]},{"path":[4,0,2,32,1],"span":[87,18,39]},{"path":[4,0,2,32,3],"span":[87,42,44]},{"path":[4,0,2,33],"span":[88,4,39]},{"path":[4,0,2,33,6],"span":[88,4,14]},{"path":[4,0,2,33,1],"span":[88,15,33]},{"path":[4,0,2,33,3],"span":[88,36,38]},{"path":[4,0,2,34],"span":[90,2,40]},{"path":[4,0,2,34,6],"span":[90,2,15]},{"path":[4,0,2,34,1],"span":[90,16,34]},{"path":[4,0,2,34,3],"span":[90,37,39]},{"path":[4,0,2,35],"span":[91,2,34]},{"path":[4,0,2,35,6],"span":[91,2,12]},{"path":[4,0,2,35,1],"span":[91,13,28]},{"path":[4,0,2,35,3],"span":[91,31,33]},{"path":[4,0,2,36],"span":[94,2,37],"leadingComments":" Repeated\n"},{"path":[4,0,2,36,4],"span":[94,2,10]},{"path":[4,0,2,36,5],"span":[94,11,16]},{"path":[4,0,2,36,1],"span":[94,17,31]},{"path":[4,0,2,36,3],"span":[94,34,36]},{"path":[4,0,2,37],"span":[95,2,37]},{"path":[4,0,2,37,4],"span":[95,2,10]},{"path":[4,0,2,37,5],"span":[95,11,16]},{"path":[4,0,2,37,1],"span":[95,17,31]},{"path":[4,0,2,37,3],"span":[95,34,36]},{"path":[4,0,2,38],"span":[96,2,39]},{"path":[4,0,2,38,4],"span":[96,2,10]},{"path":[4,0,2,38,5],"span":[96,11,17]},{"path":[4,0,2,38,1],"span":[96,18,33]},{"path":[4,0,2,38,3],"span":[96,36,38]},{"path":[4,0,2,39],"span":[97,2,39]},{"path":[4,0,2,39,4],"span":[97,2,10]},{"path":[4,0,2,39,5],"span":[97,11,17]},{"path":[4,0,2,39,1],"span":[97,18,33]},{"path":[4,0,2,39,3],"span":[97,36,38]},{"path":[4,0,2,40],"span":[98,2,39]},{"path":[4,0,2,40,4],"span":[98,2,10]},{"path":[4,0,2,40,5],"span":[98,11,17]},{"path":[4,0,2,40,1],"span":[98,18,33]},{"path":[4,0,2,40,3],"span":[98,36,38]},{"path":[4,0,2,41],"span":[99,2,39]},{"path":[4,0,2,41,4],"span":[99,2,10]},{"path":[4,0,2,41,5],"span":[99,11,17]},{"path":[4,0,2,41,1],"span":[99,18,33]},{"path":[4,0,2,41,3],"span":[99,36,38]},{"path":[4,0,2,42],"span":[100,2,41]},{"path":[4,0,2,42,4],"span":[100,2,10]},{"path":[4,0,2,42,5],"span":[100,11,18]},{"path":[4,0,2,42,1],"span":[100,19,35]},{"path":[4,0,2,42,3],"span":[100,38,40]},{"path":[4,0,2,43],"span":[101,2,41]},{"path":[4,0,2,43,4],"span":[101,2,10]},{"path":[4,0,2,43,5],"span":[101,11,18]},{"path":[4,0,2,43,1],"span":[101,19,35]},{"path":[4,0,2,43,3],"span":[101,38,40]},{"path":[4,0,2,44],"span":[102,2,43]},{"path":[4,0,2,44,4],"span":[102,2,10]},{"path":[4,0,2,44,5],"span":[102,11,19]},{"path":[4,0,2,44,1],"span":[102,20,37]},{"path":[4,0,2,44,3],"span":[102,40,42]},{"path":[4,0,2,45],"span":[103,2,43]},{"path":[4,0,2,45,4],"span":[103,2,10]},{"path":[4,0,2,45,5],"span":[103,11,19]},{"path":[4,0,2,45,1],"span":[103,20,37]},{"path":[4,0,2,45,3],"span":[103,40,42]},{"path":[4,0,2,46],"span":[104,2,37]},{"path":[4,0,2,46,4],"span":[104,2,10]},{"path":[4,0,2,46,5],"span":[104,11,16]},{"path":[4,0,2,46,1],"span":[104,17,31]},{"path":[4,0,2,46,3],"span":[104,34,36]},{"path":[4,0,2,47],"span":[105,2,39]},{"path":[4,0,2,47,4],"span":[105,2,10]},{"path":[4,0,2,47,5],"span":[105,11,17]},{"path":[4,0,2,47,1],"span":[105,18,33]},{"path":[4,0,2,47,3],"span":[105,36,38]},{"path":[4,0,2,48],"span":[106,2,35]},{"path":[4,0,2,48,4],"span":[106,2,10]},{"path":[4,0,2,48,5],"span":[106,11,15]},{"path":[4,0,2,48,1],"span":[106,16,29]},{"path":[4,0,2,48,3],"span":[106,32,34]},{"path":[4,0,2,49],"span":[107,2,39]},{"path":[4,0,2,49,4],"span":[107,2,10]},{"path":[4,0,2,49,5],"span":[107,11,17]},{"path":[4,0,2,49,1],"span":[107,18,33]},{"path":[4,0,2,49,3],"span":[107,36,38]},{"path":[4,0,2,50],"span":[108,2,37]},{"path":[4,0,2,50,4],"span":[108,2,10]},{"path":[4,0,2,50,5],"span":[108,11,16]},{"path":[4,0,2,50,1],"span":[108,17,31]},{"path":[4,0,2,50,3],"span":[108,34,36]},{"path":[4,0,2,51],"span":[111,2,54],"leadingComments":" Repeated and nested\n"},{"path":[4,0,2,51,4],"span":[111,2,10]},{"path":[4,0,2,51,6],"span":[111,11,24]},{"path":[4,0,2,51,1],"span":[111,25,48]},{"path":[4,0,2,51,3],"span":[111,51,53]},{"path":[4,0,2,52],"span":[112,2,48]},{"path":[4,0,2,52,4],"span":[112,2,10]},{"path":[4,0,2,52,6],"span":[112,11,21]},{"path":[4,0,2,52,1],"span":[112,22,42]},{"path":[4,0,2,52,3],"span":[112,45,47]},{"path":[4,0,2,53],"span":[113,2,68]},{"path":[4,0,2,53,4],"span":[113,2,10]},{"path":[4,0,2,53,5],"span":[113,11,17]},{"path":[4,0,2,53,1],"span":[113,18,39]},{"path":[4,0,2,53,3],"span":[113,42,44]},{"path":[4,0,2,53,8],"span":[113,45,67]},{"path":[4,0,2,53,8,1],"span":[113,46,66]},{"path":[4,0,2,54],"span":[114,2,52]},{"path":[4,0,2,54,4],"span":[114,2,10]},{"path":[4,0,2,54,5],"span":[114,11,17]},{"path":[4,0,2,54,1],"span":[114,18,31]},{"path":[4,0,2,54,3],"span":[114,34,36]},{"path":[4,0,2,54,8],"span":[114,37,51]},{"path":[4,0,2,54,8,1],"span":[114,38,50]},{"path":[4,0,2,55],"span":[115,2,66]},{"path":[4,0,2,55,4],"span":[115,2,10]},{"path":[4,0,2,55,6],"span":[115,11,24]},{"path":[4,0,2,55,1],"span":[115,25,46]},{"path":[4,0,2,55,3],"span":[115,49,51]},{"path":[4,0,2,55,8],"span":[115,52,65]},{"path":[4,0,2,55,8,5],"span":[115,53,64]},{"path":[4,0,2,56],"span":[118,2,50],"leadingComments":" Repeated wellknown.\n"},{"path":[4,0,2,56,4],"span":[118,2,10]},{"path":[4,0,2,56,6],"span":[118,11,30]},{"path":[4,0,2,56,1],"span":[118,31,43]},{"path":[4,0,2,56,3],"span":[118,46,49]},{"path":[4,0,2,57],"span":[119,2,60]},{"path":[4,0,2,57,4],"span":[119,2,10]},{"path":[4,0,2,57,6],"span":[119,11,35]},{"path":[4,0,2,57,1],"span":[119,36,53]},{"path":[4,0,2,57,3],"span":[119,56,59]},{"path":[4,0,2,58],"span":[120,2,62]},{"path":[4,0,2,58,4],"span":[120,2,10]},{"path":[4,0,2,58,6],"span":[120,11,36]},{"path":[4,0,2,58,1],"span":[120,37,55]},{"path":[4,0,2,58,3],"span":[120,58,61]},{"path":[4,0,2,59],"span":[121,2,56]},{"path":[4,0,2,59,4],"span":[121,2,10]},{"path":[4,0,2,59,6],"span":[121,11,33]},{"path":[4,0,2,59,1],"span":[121,34,49]},{"path":[4,0,2,59,3],"span":[121,52,55]},{"path":[4,0,2,60],"span":[122,2,54]},{"path":[4,0,2,60,4],"span":[122,2,10]},{"path":[4,0,2,60,6],"span":[122,11,32]},{"path":[4,0,2,60,1],"span":[122,33,47]},{"path":[4,0,2,60,3],"span":[122,50,53]},{"path":[4,0,2,61],"span":[123,2,67]},{"path":[4,0,2,61,4],"span":[123,2,10]},{"path":[4,0,2,61,6],"span":[123,11,37]},{"path":[4,0,2,61,1],"span":[123,38,60]},{"path":[4,0,2,61,3],"span":[123,63,66]},{"path":[4,0,2,62],"span":[124,2,67]},{"path":[4,0,2,62,4],"span":[124,2,10]},{"path":[4,0,2,62,6],"span":[124,11,37]},{"path":[4,0,2,62,1],"span":[124,38,60]},{"path":[4,0,2,62,3],"span":[124,63,66]},{"path":[4,0,2,63],"span":[125,2,69]},{"path":[4,0,2,63,4],"span":[125,2,10]},{"path":[4,0,2,63,6],"span":[125,11,38]},{"path":[4,0,2,63,1],"span":[125,39,62]},{"path":[4,0,2,63,3],"span":[125,65,68]},{"path":[4,0,2,64],"span":[126,2,67]},{"path":[4,0,2,64,4],"span":[126,2,10]},{"path":[4,0,2,64,6],"span":[126,11,37]},{"path":[4,0,2,64,1],"span":[126,38,60]},{"path":[4,0,2,64,3],"span":[126,63,66]},{"path":[4,0,2,65],"span":[127,2,69]},{"path":[4,0,2,65,4],"span":[127,2,10]},{"path":[4,0,2,65,6],"span":[127,11,38]},{"path":[4,0,2,65,1],"span":[127,39,62]},{"path":[4,0,2,65,3],"span":[127,65,68]},{"path":[4,0,2,66],"span":[128,2,69]},{"path":[4,0,2,66,4],"span":[128,2,10]},{"path":[4,0,2,66,6],"span":[128,11,38]},{"path":[4,0,2,66,1],"span":[128,39,62]},{"path":[4,0,2,66,3],"span":[128,65,68]},{"path":[4,0,2,67],"span":[129,2,69]},{"path":[4,0,2,67,4],"span":[129,2,10]},{"path":[4,0,2,67,6],"span":[129,11,38]},{"path":[4,0,2,67,1],"span":[129,39,62]},{"path":[4,0,2,67,3],"span":[129,65,68]},{"path":[4,0,2,68],"span":[130,2,65]},{"path":[4,0,2,68,4],"span":[130,2,10]},{"path":[4,0,2,68,6],"span":[130,11,36]},{"path":[4,0,2,68,1],"span":[130,37,58]},{"path":[4,0,2,68,3],"span":[130,61,64]},{"path":[4,0,2,69],"span":[131,2,67]},{"path":[4,0,2,69,4],"span":[131,2,10]},{"path":[4,0,2,69,6],"span":[131,11,37]},{"path":[4,0,2,69,1],"span":[131,38,60]},{"path":[4,0,2,69,3],"span":[131,63,66]},{"path":[4,0,2,70],"span":[132,2,63]},{"path":[4,0,2,70,4],"span":[132,2,10]},{"path":[4,0,2,70,6],"span":[132,11,36]},{"path":[4,0,2,70,1],"span":[132,37,56]},{"path":[4,0,2,70,3],"span":[132,59,62]},{"path":[4,0,2,71],"span":[133,2,63]},{"path":[4,0,2,71,4],"span":[133,2,10]},{"path":[4,0,2,71,6],"span":[133,11,36]},{"path":[4,0,2,71,1],"span":[133,37,56]},{"path":[4,0,2,71,3],"span":[133,59,62]},{"path":[4,0,2,72],"span":[136,2,60],"leadingComments":" Map\n"},{"path":[4,0,2,72,6],"span":[136,2,32]},{"path":[4,0,2,72,1],"span":[136,33,54]},{"path":[4,0,2,72,3],"span":[136,57,59]},{"path":[4,0,2,73],"span":[138,2,37]},{"path":[4,0,2,73,6],"span":[138,2,17]},{"path":[4,0,2,73,1],"span":[138,18,31]},{"path":[4,0,2,73,3],"span":[138,34,36]},{"path":[4,0,2,74],"span":[139,2,41]},{"path":[4,0,2,74,6],"span":[139,2,19]},{"path":[4,0,2,74,1],"span":[139,20,35]},{"path":[4,0,2,74,3],"span":[139,38,40]},{"path":[4,0,2,75],"span":[140,2,39]},{"path":[4,0,2,75,6],"span":[140,2,18]},{"path":[4,0,2,75,1],"span":[140,19,33]},{"path":[4,0,2,75,3],"span":[140,36,38]},{"path":[4,0,2,76],"span":[141,2,39]},{"path":[4,0,2,76,6],"span":[141,2,18]},{"path":[4,0,2,76,1],"span":[141,19,33]},{"path":[4,0,2,76,3],"span":[141,36,38]},{"path":[4,0,2,77],"span":[142,2,39]},{"path":[4,0,2,77,6],"span":[142,2,18]},{"path":[4,0,2,77,1],"span":[142,19,33]},{"path":[4,0,2,77,3],"span":[142,36,38]},{"path":[4,0,2,78],"span":[143,2,41]},{"path":[4,0,2,78,6],"span":[143,2,19]},{"path":[4,0,2,78,1],"span":[143,20,35]},{"path":[4,0,2,78,3],"span":[143,38,40]},{"path":[4,0,2,79],"span":[144,2,41]},{"path":[4,0,2,79,6],"span":[144,2,19]},{"path":[4,0,2,79,1],"span":[144,20,35]},{"path":[4,0,2,79,3],"span":[144,38,40]},{"path":[4,0,2,80],"span":[145,2,39]},{"path":[4,0,2,80,6],"span":[145,2,18]},{"path":[4,0,2,80,1],"span":[145,19,33]},{"path":[4,0,2,80,3],"span":[145,36,38]},{"path":[4,0,2,81],"span":[146,2,41]},{"path":[4,0,2,81,6],"span":[146,2,19]},{"path":[4,0,2,81,1],"span":[146,20,35]},{"path":[4,0,2,81,3],"span":[146,38,40]},{"path":[4,0,2,82],"span":[147,2,43]},{"path":[4,0,2,82,6],"span":[147,2,23]},{"path":[4,0,2,82,1],"span":[147,24,37]},{"path":[4,0,2,82,3],"span":[147,40,42]},{"path":[4,0,2,83],"span":[148,2,49]},{"path":[4,0,2,83,6],"span":[148,2,26]},{"path":[4,0,2,83,1],"span":[148,27,43]},{"path":[4,0,2,83,3],"span":[148,46,48]},{"path":[4,0,2,84],"span":[149,2,62]},{"path":[4,0,2,84,6],"span":[149,2,37]},{"path":[4,0,2,84,1],"span":[149,38,55]},{"path":[4,0,2,84,3],"span":[149,58,61]},{"path":[4,0,2,85],"span":[150,2,64]},{"path":[4,0,2,85,6],"span":[150,2,38]},{"path":[4,0,2,85,1],"span":[150,39,57]},{"path":[4,0,2,85,3],"span":[150,60,63]},{"path":[4,0,2,86],"span":[151,2,65]},{"path":[4,0,2,86,6],"span":[151,2,38]},{"path":[4,0,2,86,1],"span":[151,39,58]},{"path":[4,0,2,86,3],"span":[151,61,64]},{"path":[4,0,2,87],"span":[152,2,52]},{"path":[4,0,2,87,6],"span":[152,2,32]},{"path":[4,0,2,87,1],"span":[152,33,45]},{"path":[4,0,2,87,3],"span":[152,48,51]},{"path":[4,0,2,88],"span":[153,2,58]},{"path":[4,0,2,88,6],"span":[153,2,35]},{"path":[4,0,2,88,1],"span":[153,36,51]},{"path":[4,0,2,88,3],"span":[153,54,57]},{"path":[4,0,2,89],"span":[154,2,56]},{"path":[4,0,2,89,6],"span":[154,2,34]},{"path":[4,0,2,89,1],"span":[154,35,49]},{"path":[4,0,2,89,3],"span":[154,52,55]},{"path":[4,0,2,90],"span":[155,2,65]},{"path":[4,0,2,90,6],"span":[155,2,38]},{"path":[4,0,2,90,1],"span":[155,39,58]},{"path":[4,0,2,90,3],"span":[155,61,64]},{"path":[4,0,2,91],"span":[156,2,69]},{"path":[4,0,2,91,6],"span":[156,2,39]},{"path":[4,0,2,91,1],"span":[156,40,62]},{"path":[4,0,2,91,3],"span":[156,65,68]},{"path":[4,0,2,92],"span":[157,2,69]},{"path":[4,0,2,92,6],"span":[157,2,39]},{"path":[4,0,2,92,1],"span":[157,40,62]},{"path":[4,0,2,92,3],"span":[157,65,68]},{"path":[4,0,2,93],"span":[158,2,71]},{"path":[4,0,2,93,6],"span":[158,2,40]},{"path":[4,0,2,93,1],"span":[158,41,64]},{"path":[4,0,2,93,3],"span":[158,67,70]},{"path":[4,0,2,94],"span":[159,2,69]},{"path":[4,0,2,94,6],"span":[159,2,39]},{"path":[4,0,2,94,1],"span":[159,40,62]},{"path":[4,0,2,94,3],"span":[159,65,68]},{"path":[4,0,2,95],"span":[160,2,71]},{"path":[4,0,2,95,6],"span":[160,2,40]},{"path":[4,0,2,95,1],"span":[160,41,64]},{"path":[4,0,2,95,3],"span":[160,67,70]},{"path":[4,0,2,96],"span":[161,2,71]},{"path":[4,0,2,96,6],"span":[161,2,40]},{"path":[4,0,2,96,1],"span":[161,41,64]},{"path":[4,0,2,96,3],"span":[161,67,70]},{"path":[4,0,2,97],"span":[162,2,71]},{"path":[4,0,2,97,6],"span":[162,2,40]},{"path":[4,0,2,97,1],"span":[162,41,64]},{"path":[4,0,2,97,3],"span":[162,67,70]},{"path":[4,0,2,98],"span":[163,2,67]},{"path":[4,0,2,98,6],"span":[163,2,38]},{"path":[4,0,2,98,1],"span":[163,39,60]},{"path":[4,0,2,98,3],"span":[163,63,66]},{"path":[4,0,2,99],"span":[164,2,69]},{"path":[4,0,2,99,6],"span":[164,2,39]},{"path":[4,0,2,99,1],"span":[164,40,62]},{"path":[4,0,2,99,3],"span":[164,65,68]},{"path":[4,0,2,100],"span":[166,2,39]},{"path":[4,0,2,100,6],"span":[166,2,18]},{"path":[4,0,2,100,1],"span":[166,19,33]},{"path":[4,0,2,100,3],"span":[166,36,38]},{"path":[4,0,2,101],"span":[167,2,43]},{"path":[4,0,2,101,6],"span":[167,2,20]},{"path":[4,0,2,101,1],"span":[167,21,37]},{"path":[4,0,2,101,3],"span":[167,40,42]},{"path":[4,0,2,102],"span":[168,2,41]},{"path":[4,0,2,102,6],"span":[168,2,19]},{"path":[4,0,2,102,1],"span":[168,20,35]},{"path":[4,0,2,102,3],"span":[168,38,40]},{"path":[4,0,2,103],"span":[169,2,41]},{"path":[4,0,2,103,6],"span":[169,2,19]},{"path":[4,0,2,103,1],"span":[169,20,35]},{"path":[4,0,2,103,3],"span":[169,38,40]},{"path":[4,0,2,104],"span":[170,2,41]},{"path":[4,0,2,104,6],"span":[170,2,19]},{"path":[4,0,2,104,1],"span":[170,20,35]},{"path":[4,0,2,104,3],"span":[170,38,40]},{"path":[4,0,2,105],"span":[171,2,43]},{"path":[4,0,2,105,6],"span":[171,2,20]},{"path":[4,0,2,105,1],"span":[171,21,37]},{"path":[4,0,2,105,3],"span":[171,40,42]},{"path":[4,0,2,106],"span":[172,2,43]},{"path":[4,0,2,106,6],"span":[172,2,20]},{"path":[4,0,2,106,1],"span":[172,21,37]},{"path":[4,0,2,106,3],"span":[172,40,42]},{"path":[4,0,2,107],"span":[173,2,41]},{"path":[4,0,2,107,6],"span":[173,2,19]},{"path":[4,0,2,107,1],"span":[173,20,35]},{"path":[4,0,2,107,3],"span":[173,38,40]},{"path":[4,0,2,108],"span":[174,2,43]},{"path":[4,0,2,108,6],"span":[174,2,20]},{"path":[4,0,2,108,1],"span":[174,21,37]},{"path":[4,0,2,108,3],"span":[174,40,42]},{"path":[4,0,2,109],"span":[175,2,45]},{"path":[4,0,2,109,6],"span":[175,2,24]},{"path":[4,0,2,109,1],"span":[175,25,39]},{"path":[4,0,2,109,3],"span":[175,42,44]},{"path":[4,0,2,110],"span":[176,2,51]},{"path":[4,0,2,110,6],"span":[176,2,27]},{"path":[4,0,2,110,1],"span":[176,28,45]},{"path":[4,0,2,110,3],"span":[176,48,50]},{"path":[4,0,2,111],"span":[177,2,64]},{"path":[4,0,2,111,6],"span":[177,2,38]},{"path":[4,0,2,111,1],"span":[177,39,57]},{"path":[4,0,2,111,3],"span":[177,60,63]},{"path":[4,0,2,112],"span":[178,2,66]},{"path":[4,0,2,112,6],"span":[178,2,39]},{"path":[4,0,2,112,1],"span":[178,40,59]},{"path":[4,0,2,112,3],"span":[178,62,65]},{"path":[4,0,2,113],"span":[179,2,67]},{"path":[4,0,2,113,6],"span":[179,2,39]},{"path":[4,0,2,113,1],"span":[179,40,60]},{"path":[4,0,2,113,3],"span":[179,63,66]},{"path":[4,0,2,114],"span":[180,2,54]},{"path":[4,0,2,114,6],"span":[180,2,33]},{"path":[4,0,2,114,1],"span":[180,34,47]},{"path":[4,0,2,114,3],"span":[180,50,53]},{"path":[4,0,2,115],"span":[181,2,60]},{"path":[4,0,2,115,6],"span":[181,2,36]},{"path":[4,0,2,115,1],"span":[181,37,53]},{"path":[4,0,2,115,3],"span":[181,56,59]},{"path":[4,0,2,116],"span":[182,2,58]},{"path":[4,0,2,116,6],"span":[182,2,35]},{"path":[4,0,2,116,1],"span":[182,36,51]},{"path":[4,0,2,116,3],"span":[182,54,57]},{"path":[4,0,2,117],"span":[183,2,67]},{"path":[4,0,2,117,6],"span":[183,2,39]},{"path":[4,0,2,117,1],"span":[183,40,60]},{"path":[4,0,2,117,3],"span":[183,63,66]},{"path":[4,0,2,118],"span":[184,2,71]},{"path":[4,0,2,118,6],"span":[184,2,40]},{"path":[4,0,2,118,1],"span":[184,41,64]},{"path":[4,0,2,118,3],"span":[184,67,70]},{"path":[4,0,2,119],"span":[185,2,71]},{"path":[4,0,2,119,6],"span":[185,2,40]},{"path":[4,0,2,119,1],"span":[185,41,64]},{"path":[4,0,2,119,3],"span":[185,67,70]},{"path":[4,0,2,120],"span":[186,2,73]},{"path":[4,0,2,120,6],"span":[186,2,41]},{"path":[4,0,2,120,1],"span":[186,42,66]},{"path":[4,0,2,120,3],"span":[186,69,72]},{"path":[4,0,2,121],"span":[187,2,71]},{"path":[4,0,2,121,6],"span":[187,2,40]},{"path":[4,0,2,121,1],"span":[187,41,64]},{"path":[4,0,2,121,3],"span":[187,67,70]},{"path":[4,0,2,122],"span":[188,2,73]},{"path":[4,0,2,122,6],"span":[188,2,41]},{"path":[4,0,2,122,1],"span":[188,42,66]},{"path":[4,0,2,122,3],"span":[188,69,72]},{"path":[4,0,2,123],"span":[189,2,73]},{"path":[4,0,2,123,6],"span":[189,2,41]},{"path":[4,0,2,123,1],"span":[189,42,66]},{"path":[4,0,2,123,3],"span":[189,69,72]},{"path":[4,0,2,124],"span":[190,2,73]},{"path":[4,0,2,124,6],"span":[190,2,41]},{"path":[4,0,2,124,1],"span":[190,42,66]},{"path":[4,0,2,124,3],"span":[190,69,72]},{"path":[4,0,2,125],"span":[191,2,69]},{"path":[4,0,2,125,6],"span":[191,2,39]},{"path":[4,0,2,125,1],"span":[191,40,62]},{"path":[4,0,2,125,3],"span":[191,65,68]},{"path":[4,0,2,126],"span":[192,2,71]},{"path":[4,0,2,126,6],"span":[192,2,40]},{"path":[4,0,2,126,1],"span":[192,41,64]},{"path":[4,0,2,126,3],"span":[192,67,70]},{"path":[4,0,2,127],"span":[194,2,39]},{"path":[4,0,2,127,6],"span":[194,2,18]},{"path":[4,0,2,127,1],"span":[194,19,33]},{"path":[4,0,2,127,3],"span":[194,36,38]},{"path":[4,0,2,128],"span":[195,2,43]},{"path":[4,0,2,128,6],"span":[195,2,20]},{"path":[4,0,2,128,1],"span":[195,21,37]},{"path":[4,0,2,128,3],"span":[195,40,42]},{"path":[4,0,2,129],"span":[196,2,41]},{"path":[4,0,2,129,6],"span":[196,2,19]},{"path":[4,0,2,129,1],"span":[196,20,35]},{"path":[4,0,2,129,3],"span":[196,38,40]},{"path":[4,0,2,130],"span":[197,2,41]},{"path":[4,0,2,130,6],"span":[197,2,19]},{"path":[4,0,2,130,1],"span":[197,20,35]},{"path":[4,0,2,130,3],"span":[197,38,40]},{"path":[4,0,2,131],"span":[198,2,41]},{"path":[4,0,2,131,6],"span":[198,2,19]},{"path":[4,0,2,131,1],"span":[198,20,35]},{"path":[4,0,2,131,3],"span":[198,38,40]},{"path":[4,0,2,132],"span":[199,2,43]},{"path":[4,0,2,132,6],"span":[199,2,20]},{"path":[4,0,2,132,1],"span":[199,21,37]},{"path":[4,0,2,132,3],"span":[199,40,42]},{"path":[4,0,2,133],"span":[200,2,43]},{"path":[4,0,2,133,6],"span":[200,2,20]},{"path":[4,0,2,133,1],"span":[200,21,37]},{"path":[4,0,2,133,3],"span":[200,40,42]},{"path":[4,0,2,134],"span":[201,2,41]},{"path":[4,0,2,134,6],"span":[201,2,19]},{"path":[4,0,2,134,1],"span":[201,20,35]},{"path":[4,0,2,134,3],"span":[201,38,40]},{"path":[4,0,2,135],"span":[202,2,43]},{"path":[4,0,2,135,6],"span":[202,2,20]},{"path":[4,0,2,135,1],"span":[202,21,37]},{"path":[4,0,2,135,3],"span":[202,40,42]},{"path":[4,0,2,136],"span":[203,2,45]},{"path":[4,0,2,136,6],"span":[203,2,24]},{"path":[4,0,2,136,1],"span":[203,25,39]},{"path":[4,0,2,136,3],"span":[203,42,44]},{"path":[4,0,2,137],"span":[204,2,51]},{"path":[4,0,2,137,6],"span":[204,2,27]},{"path":[4,0,2,137,1],"span":[204,28,45]},{"path":[4,0,2,137,3],"span":[204,48,50]},{"path":[4,0,2,138],"span":[205,2,64]},{"path":[4,0,2,138,6],"span":[205,2,38]},{"path":[4,0,2,138,1],"span":[205,39,57]},{"path":[4,0,2,138,3],"span":[205,60,63]},{"path":[4,0,2,139],"span":[206,2,66]},{"path":[4,0,2,139,6],"span":[206,2,39]},{"path":[4,0,2,139,1],"span":[206,40,59]},{"path":[4,0,2,139,3],"span":[206,62,65]},{"path":[4,0,2,140],"span":[207,2,67]},{"path":[4,0,2,140,6],"span":[207,2,39]},{"path":[4,0,2,140,1],"span":[207,40,60]},{"path":[4,0,2,140,3],"span":[207,63,66]},{"path":[4,0,2,141],"span":[208,2,54]},{"path":[4,0,2,141,6],"span":[208,2,33]},{"path":[4,0,2,141,1],"span":[208,34,47]},{"path":[4,0,2,141,3],"span":[208,50,53]},{"path":[4,0,2,142],"span":[209,2,60]},{"path":[4,0,2,142,6],"span":[209,2,36]},{"path":[4,0,2,142,1],"span":[209,37,53]},{"path":[4,0,2,142,3],"span":[209,56,59]},{"path":[4,0,2,143],"span":[210,2,58]},{"path":[4,0,2,143,6],"span":[210,2,35]},{"path":[4,0,2,143,1],"span":[210,36,51]},{"path":[4,0,2,143,3],"span":[210,54,57]},{"path":[4,0,2,144],"span":[211,2,67]},{"path":[4,0,2,144,6],"span":[211,2,39]},{"path":[4,0,2,144,1],"span":[211,40,60]},{"path":[4,0,2,144,3],"span":[211,63,66]},{"path":[4,0,2,145],"span":[212,2,71]},{"path":[4,0,2,145,6],"span":[212,2,40]},{"path":[4,0,2,145,1],"span":[212,41,64]},{"path":[4,0,2,145,3],"span":[212,67,70]},{"path":[4,0,2,146],"span":[213,2,71]},{"path":[4,0,2,146,6],"span":[213,2,40]},{"path":[4,0,2,146,1],"span":[213,41,64]},{"path":[4,0,2,146,3],"span":[213,67,70]},{"path":[4,0,2,147],"span":[214,2,73]},{"path":[4,0,2,147,6],"span":[214,2,41]},{"path":[4,0,2,147,1],"span":[214,42,66]},{"path":[4,0,2,147,3],"span":[214,69,72]},{"path":[4,0,2,148],"span":[215,2,71]},{"path":[4,0,2,148,6],"span":[215,2,40]},{"path":[4,0,2,148,1],"span":[215,41,64]},{"path":[4,0,2,148,3],"span":[215,67,70]},{"path":[4,0,2,149],"span":[216,2,73]},{"path":[4,0,2,149,6],"span":[216,2,41]},{"path":[4,0,2,149,1],"span":[216,42,66]},{"path":[4,0,2,149,3],"span":[216,69,72]},{"path":[4,0,2,150],"span":[217,2,73]},{"path":[4,0,2,150,6],"span":[217,2,41]},{"path":[4,0,2,150,1],"span":[217,42,66]},{"path":[4,0,2,150,3],"span":[217,69,72]},{"path":[4,0,2,151],"span":[218,2,73]},{"path":[4,0,2,151,6],"span":[218,2,41]},{"path":[4,0,2,151,1],"span":[218,42,66]},{"path":[4,0,2,151,3],"span":[218,69,72]},{"path":[4,0,2,152],"span":[219,2,69]},{"path":[4,0,2,152,6],"span":[219,2,39]},{"path":[4,0,2,152,1],"span":[219,40,62]},{"path":[4,0,2,152,3],"span":[219,65,68]},{"path":[4,0,2,153],"span":[220,2,71]},{"path":[4,0,2,153,6],"span":[220,2,40]},{"path":[4,0,2,153,1],"span":[220,41,64]},{"path":[4,0,2,153,3],"span":[220,67,70]},{"path":[4,0,2,154],"span":[222,2,41]},{"path":[4,0,2,154,6],"span":[222,2,19]},{"path":[4,0,2,154,1],"span":[222,20,35]},{"path":[4,0,2,154,3],"span":[222,38,40]},{"path":[4,0,2,155],"span":[223,2,45]},{"path":[4,0,2,155,6],"span":[223,2,21]},{"path":[4,0,2,155,1],"span":[223,22,39]},{"path":[4,0,2,155,3],"span":[223,42,44]},{"path":[4,0,2,156],"span":[224,2,43]},{"path":[4,0,2,156,6],"span":[224,2,20]},{"path":[4,0,2,156,1],"span":[224,21,37]},{"path":[4,0,2,156,3],"span":[224,40,42]},{"path":[4,0,2,157],"span":[225,2,43]},{"path":[4,0,2,157,6],"span":[225,2,20]},{"path":[4,0,2,157,1],"span":[225,21,37]},{"path":[4,0,2,157,3],"span":[225,40,42]},{"path":[4,0,2,158],"span":[226,2,44]},{"path":[4,0,2,158,6],"span":[226,2,20]},{"path":[4,0,2,158,1],"span":[226,21,37]},{"path":[4,0,2,158,3],"span":[226,40,43]},{"path":[4,0,2,159],"span":[227,2,46]},{"path":[4,0,2,159,6],"span":[227,2,21]},{"path":[4,0,2,159,1],"span":[227,22,39]},{"path":[4,0,2,159,3],"span":[227,42,45]},{"path":[4,0,2,160],"span":[228,2,46]},{"path":[4,0,2,160,6],"span":[228,2,21]},{"path":[4,0,2,160,1],"span":[228,22,39]},{"path":[4,0,2,160,3],"span":[228,42,45]},{"path":[4,0,2,161],"span":[229,2,44]},{"path":[4,0,2,161,6],"span":[229,2,20]},{"path":[4,0,2,161,1],"span":[229,21,37]},{"path":[4,0,2,161,3],"span":[229,40,43]},{"path":[4,0,2,162],"span":[230,2,46]},{"path":[4,0,2,162,6],"span":[230,2,21]},{"path":[4,0,2,162,1],"span":[230,22,39]},{"path":[4,0,2,162,3],"span":[230,42,45]},{"path":[4,0,2,163],"span":[231,2,48]},{"path":[4,0,2,163,6],"span":[231,2,25]},{"path":[4,0,2,163,1],"span":[231,26,41]},{"path":[4,0,2,163,3],"span":[231,44,47]},{"path":[4,0,2,164],"span":[232,2,54]},{"path":[4,0,2,164,6],"span":[232,2,28]},{"path":[4,0,2,164,1],"span":[232,29,47]},{"path":[4,0,2,164,3],"span":[232,50,53]},{"path":[4,0,2,165],"span":[233,2,66]},{"path":[4,0,2,165,6],"span":[233,2,39]},{"path":[4,0,2,165,1],"span":[233,40,59]},{"path":[4,0,2,165,3],"span":[233,62,65]},{"path":[4,0,2,166],"span":[234,2,68]},{"path":[4,0,2,166,6],"span":[234,2,40]},{"path":[4,0,2,166,1],"span":[234,41,61]},{"path":[4,0,2,166,3],"span":[234,64,67]},{"path":[4,0,2,167],"span":[235,2,69]},{"path":[4,0,2,167,6],"span":[235,2,40]},{"path":[4,0,2,167,1],"span":[235,41,62]},{"path":[4,0,2,167,3],"span":[235,65,68]},{"path":[4,0,2,168],"span":[236,2,56]},{"path":[4,0,2,168,6],"span":[236,2,34]},{"path":[4,0,2,168,1],"span":[236,35,49]},{"path":[4,0,2,168,3],"span":[236,52,55]},{"path":[4,0,2,169],"span":[237,2,62]},{"path":[4,0,2,169,6],"span":[237,2,37]},{"path":[4,0,2,169,1],"span":[237,38,55]},{"path":[4,0,2,169,3],"span":[237,58,61]},{"path":[4,0,2,170],"span":[238,2,60]},{"path":[4,0,2,170,6],"span":[238,2,36]},{"path":[4,0,2,170,1],"span":[238,37,53]},{"path":[4,0,2,170,3],"span":[238,56,59]},{"path":[4,0,2,171],"span":[239,2,69]},{"path":[4,0,2,171,6],"span":[239,2,40]},{"path":[4,0,2,171,1],"span":[239,41,62]},{"path":[4,0,2,171,3],"span":[239,65,68]},{"path":[4,0,2,172],"span":[240,2,73]},{"path":[4,0,2,172,6],"span":[240,2,41]},{"path":[4,0,2,172,1],"span":[240,42,66]},{"path":[4,0,2,172,3],"span":[240,69,72]},{"path":[4,0,2,173],"span":[241,2,73]},{"path":[4,0,2,173,6],"span":[241,2,41]},{"path":[4,0,2,173,1],"span":[241,42,66]},{"path":[4,0,2,173,3],"span":[241,69,72]},{"path":[4,0,2,174],"span":[242,2,75]},{"path":[4,0,2,174,6],"span":[242,2,42]},{"path":[4,0,2,174,1],"span":[242,43,68]},{"path":[4,0,2,174,3],"span":[242,71,74]},{"path":[4,0,2,175],"span":[243,2,73]},{"path":[4,0,2,175,6],"span":[243,2,41]},{"path":[4,0,2,175,1],"span":[243,42,66]},{"path":[4,0,2,175,3],"span":[243,69,72]},{"path":[4,0,2,176],"span":[244,2,75]},{"path":[4,0,2,176,6],"span":[244,2,42]},{"path":[4,0,2,176,1],"span":[244,43,68]},{"path":[4,0,2,176,3],"span":[244,71,74]},{"path":[4,0,2,177],"span":[245,2,75]},{"path":[4,0,2,177,6],"span":[245,2,42]},{"path":[4,0,2,177,1],"span":[245,43,68]},{"path":[4,0,2,177,3],"span":[245,71,74]},{"path":[4,0,2,178],"span":[246,2,75]},{"path":[4,0,2,178,6],"span":[246,2,42]},{"path":[4,0,2,178,1],"span":[246,43,68]},{"path":[4,0,2,178,3],"span":[246,71,74]},{"path":[4,0,2,179],"span":[247,2,71]},{"path":[4,0,2,179,6],"span":[247,2,40]},{"path":[4,0,2,179,1],"span":[247,41,64]},{"path":[4,0,2,179,3],"span":[247,67,70]},{"path":[4,0,2,180],"span":[248,2,73]},{"path":[4,0,2,180,6],"span":[248,2,41]},{"path":[4,0,2,180,1],"span":[248,42,66]},{"path":[4,0,2,180,3],"span":[248,69,72]},{"path":[4,0,2,181],"span":[250,2,42]},{"path":[4,0,2,181,6],"span":[250,2,19]},{"path":[4,0,2,181,1],"span":[250,20,35]},{"path":[4,0,2,181,3],"span":[250,38,41]},{"path":[4,0,2,182],"span":[251,2,46]},{"path":[4,0,2,182,6],"span":[251,2,21]},{"path":[4,0,2,182,1],"span":[251,22,39]},{"path":[4,0,2,182,3],"span":[251,42,45]},{"path":[4,0,2,183],"span":[252,2,44]},{"path":[4,0,2,183,6],"span":[252,2,20]},{"path":[4,0,2,183,1],"span":[252,21,37]},{"path":[4,0,2,183,3],"span":[252,40,43]},{"path":[4,0,2,184],"span":[253,2,44]},{"path":[4,0,2,184,6],"span":[253,2,20]},{"path":[4,0,2,184,1],"span":[253,21,37]},{"path":[4,0,2,184,3],"span":[253,40,43]},{"path":[4,0,2,185],"span":[254,2,44]},{"path":[4,0,2,185,6],"span":[254,2,20]},{"path":[4,0,2,185,1],"span":[254,21,37]},{"path":[4,0,2,185,3],"span":[254,40,43]},{"path":[4,0,2,186],"span":[255,2,46]},{"path":[4,0,2,186,6],"span":[255,2,21]},{"path":[4,0,2,186,1],"span":[255,22,39]},{"path":[4,0,2,186,3],"span":[255,42,45]},{"path":[4,0,2,187],"span":[256,2,46]},{"path":[4,0,2,187,6],"span":[256,2,21]},{"path":[4,0,2,187,1],"span":[256,22,39]},{"path":[4,0,2,187,3],"span":[256,42,45]},{"path":[4,0,2,188],"span":[257,2,44]},{"path":[4,0,2,188,6],"span":[257,2,20]},{"path":[4,0,2,188,1],"span":[257,21,37]},{"path":[4,0,2,188,3],"span":[257,40,43]},{"path":[4,0,2,189],"span":[258,2,46]},{"path":[4,0,2,189,6],"span":[258,2,21]},{"path":[4,0,2,189,1],"span":[258,22,39]},{"path":[4,0,2,189,3],"span":[258,42,45]},{"path":[4,0,2,190],"span":[259,2,48]},{"path":[4,0,2,190,6],"span":[259,2,25]},{"path":[4,0,2,190,1],"span":[259,26,41]},{"path":[4,0,2,190,3],"span":[259,44,47]},{"path":[4,0,2,191],"span":[260,2,54]},{"path":[4,0,2,191,6],"span":[260,2,28]},{"path":[4,0,2,191,1],"span":[260,29,47]},{"path":[4,0,2,191,3],"span":[260,50,53]},{"path":[4,0,2,192],"span":[261,2,66]},{"path":[4,0,2,192,6],"span":[261,2,39]},{"path":[4,0,2,192,1],"span":[261,40,59]},{"path":[4,0,2,192,3],"span":[261,62,65]},{"path":[4,0,2,193],"span":[262,2,68]},{"path":[4,0,2,193,6],"span":[262,2,40]},{"path":[4,0,2,193,1],"span":[262,41,61]},{"path":[4,0,2,193,3],"span":[262,64,67]},{"path":[4,0,2,194],"span":[263,2,69]},{"path":[4,0,2,194,6],"span":[263,2,40]},{"path":[4,0,2,194,1],"span":[263,41,62]},{"path":[4,0,2,194,3],"span":[263,65,68]},{"path":[4,0,2,195],"span":[264,2,56]},{"path":[4,0,2,195,6],"span":[264,2,34]},{"path":[4,0,2,195,1],"span":[264,35,49]},{"path":[4,0,2,195,3],"span":[264,52,55]},{"path":[4,0,2,196],"span":[265,2,62]},{"path":[4,0,2,196,6],"span":[265,2,37]},{"path":[4,0,2,196,1],"span":[265,38,55]},{"path":[4,0,2,196,3],"span":[265,58,61]},{"path":[4,0,2,197],"span":[266,2,60]},{"path":[4,0,2,197,6],"span":[266,2,36]},{"path":[4,0,2,197,1],"span":[266,37,53]},{"path":[4,0,2,197,3],"span":[266,56,59]},{"path":[4,0,2,198],"span":[267,2,69]},{"path":[4,0,2,198,6],"span":[267,2,40]},{"path":[4,0,2,198,1],"span":[267,41,62]},{"path":[4,0,2,198,3],"span":[267,65,68]},{"path":[4,0,2,199],"span":[268,2,73]},{"path":[4,0,2,199,6],"span":[268,2,41]},{"path":[4,0,2,199,1],"span":[268,42,66]},{"path":[4,0,2,199,3],"span":[268,69,72]},{"path":[4,0,2,200],"span":[269,2,73]},{"path":[4,0,2,200,6],"span":[269,2,41]},{"path":[4,0,2,200,1],"span":[269,42,66]},{"path":[4,0,2,200,3],"span":[269,69,72]},{"path":[4,0,2,201],"span":[270,2,75]},{"path":[4,0,2,201,6],"span":[270,2,42]},{"path":[4,0,2,201,1],"span":[270,43,68]},{"path":[4,0,2,201,3],"span":[270,71,74]},{"path":[4,0,2,202],"span":[271,2,73]},{"path":[4,0,2,202,6],"span":[271,2,41]},{"path":[4,0,2,202,1],"span":[271,42,66]},{"path":[4,0,2,202,3],"span":[271,69,72]},{"path":[4,0,2,203],"span":[272,2,75]},{"path":[4,0,2,203,6],"span":[272,2,42]},{"path":[4,0,2,203,1],"span":[272,43,68]},{"path":[4,0,2,203,3],"span":[272,71,74]},{"path":[4,0,2,204],"span":[273,2,75]},{"path":[4,0,2,204,6],"span":[273,2,42]},{"path":[4,0,2,204,1],"span":[273,43,68]},{"path":[4,0,2,204,3],"span":[273,71,74]},{"path":[4,0,2,205],"span":[274,2,75]},{"path":[4,0,2,205,6],"span":[274,2,42]},{"path":[4,0,2,205,1],"span":[274,43,68]},{"path":[4,0,2,205,3],"span":[274,71,74]},{"path":[4,0,2,206],"span":[275,2,71]},{"path":[4,0,2,206,6],"span":[275,2,40]},{"path":[4,0,2,206,1],"span":[275,41,64]},{"path":[4,0,2,206,3],"span":[275,67,70]},{"path":[4,0,2,207],"span":[276,2,73]},{"path":[4,0,2,207,6],"span":[276,2,41]},{"path":[4,0,2,207,1],"span":[276,42,66]},{"path":[4,0,2,207,3],"span":[276,69,72]},{"path":[4,0,2,208],"span":[278,2,42]},{"path":[4,0,2,208,6],"span":[278,2,19]},{"path":[4,0,2,208,1],"span":[278,20,35]},{"path":[4,0,2,208,3],"span":[278,38,41]},{"path":[4,0,2,209],"span":[279,2,45]},{"path":[4,0,2,209,6],"span":[279,2,21]},{"path":[4,0,2,209,1],"span":[279,22,39]},{"path":[4,0,2,209,3],"span":[279,42,44]},{"path":[4,0,2,210],"span":[280,2,44]},{"path":[4,0,2,210,6],"span":[280,2,20]},{"path":[4,0,2,210,1],"span":[280,21,37]},{"path":[4,0,2,210,3],"span":[280,40,43]},{"path":[4,0,2,211],"span":[281,2,44]},{"path":[4,0,2,211,6],"span":[281,2,20]},{"path":[4,0,2,211,1],"span":[281,21,37]},{"path":[4,0,2,211,3],"span":[281,40,43]},{"path":[4,0,2,212],"span":[282,2,44]},{"path":[4,0,2,212,6],"span":[282,2,20]},{"path":[4,0,2,212,1],"span":[282,21,37]},{"path":[4,0,2,212,3],"span":[282,40,43]},{"path":[4,0,2,213],"span":[283,2,46]},{"path":[4,0,2,213,6],"span":[283,2,21]},{"path":[4,0,2,213,1],"span":[283,22,39]},{"path":[4,0,2,213,3],"span":[283,42,45]},{"path":[4,0,2,214],"span":[284,2,46]},{"path":[4,0,2,214,6],"span":[284,2,21]},{"path":[4,0,2,214,1],"span":[284,22,39]},{"path":[4,0,2,214,3],"span":[284,42,45]},{"path":[4,0,2,215],"span":[285,2,44]},{"path":[4,0,2,215,6],"span":[285,2,20]},{"path":[4,0,2,215,1],"span":[285,21,37]},{"path":[4,0,2,215,3],"span":[285,40,43]},{"path":[4,0,2,216],"span":[286,2,46]},{"path":[4,0,2,216,6],"span":[286,2,21]},{"path":[4,0,2,216,1],"span":[286,22,39]},{"path":[4,0,2,216,3],"span":[286,42,45]},{"path":[4,0,2,217],"span":[287,2,48]},{"path":[4,0,2,217,6],"span":[287,2,25]},{"path":[4,0,2,217,1],"span":[287,26,41]},{"path":[4,0,2,217,3],"span":[287,44,47]},{"path":[4,0,2,218],"span":[288,2,54]},{"path":[4,0,2,218,6],"span":[288,2,28]},{"path":[4,0,2,218,1],"span":[288,29,47]},{"path":[4,0,2,218,3],"span":[288,50,53]},{"path":[4,0,2,219],"span":[289,2,66]},{"path":[4,0,2,219,6],"span":[289,2,39]},{"path":[4,0,2,219,1],"span":[289,40,59]},{"path":[4,0,2,219,3],"span":[289,62,65]},{"path":[4,0,2,220],"span":[290,2,68]},{"path":[4,0,2,220,6],"span":[290,2,40]},{"path":[4,0,2,220,1],"span":[290,41,61]},{"path":[4,0,2,220,3],"span":[290,64,67]},{"path":[4,0,2,221],"span":[291,2,69]},{"path":[4,0,2,221,6],"span":[291,2,40]},{"path":[4,0,2,221,1],"span":[291,41,62]},{"path":[4,0,2,221,3],"span":[291,65,68]},{"path":[4,0,2,222],"span":[292,2,56]},{"path":[4,0,2,222,6],"span":[292,2,34]},{"path":[4,0,2,222,1],"span":[292,35,49]},{"path":[4,0,2,222,3],"span":[292,52,55]},{"path":[4,0,2,223],"span":[293,2,62]},{"path":[4,0,2,223,6],"span":[293,2,37]},{"path":[4,0,2,223,1],"span":[293,38,55]},{"path":[4,0,2,223,3],"span":[293,58,61]},{"path":[4,0,2,224],"span":[294,2,60]},{"path":[4,0,2,224,6],"span":[294,2,36]},{"path":[4,0,2,224,1],"span":[294,37,53]},{"path":[4,0,2,224,3],"span":[294,56,59]},{"path":[4,0,2,225],"span":[295,2,69]},{"path":[4,0,2,225,6],"span":[295,2,40]},{"path":[4,0,2,225,1],"span":[295,41,62]},{"path":[4,0,2,225,3],"span":[295,65,68]},{"path":[4,0,2,226],"span":[296,2,73]},{"path":[4,0,2,226,6],"span":[296,2,41]},{"path":[4,0,2,226,1],"span":[296,42,66]},{"path":[4,0,2,226,3],"span":[296,69,72]},{"path":[4,0,2,227],"span":[297,2,73]},{"path":[4,0,2,227,6],"span":[297,2,41]},{"path":[4,0,2,227,1],"span":[297,42,66]},{"path":[4,0,2,227,3],"span":[297,69,72]},{"path":[4,0,2,228],"span":[298,2,75]},{"path":[4,0,2,228,6],"span":[298,2,42]},{"path":[4,0,2,228,1],"span":[298,43,68]},{"path":[4,0,2,228,3],"span":[298,71,74]},{"path":[4,0,2,229],"span":[299,2,73]},{"path":[4,0,2,229,6],"span":[299,2,41]},{"path":[4,0,2,229,1],"span":[299,42,66]},{"path":[4,0,2,229,3],"span":[299,69,72]},{"path":[4,0,2,230],"span":[300,2,75]},{"path":[4,0,2,230,6],"span":[300,2,42]},{"path":[4,0,2,230,1],"span":[300,43,68]},{"path":[4,0,2,230,3],"span":[300,71,74]},{"path":[4,0,2,231],"span":[301,2,75]},{"path":[4,0,2,231,6],"span":[301,2,42]},{"path":[4,0,2,231,1],"span":[301,43,68]},{"path":[4,0,2,231,3],"span":[301,71,74]},{"path":[4,0,2,232],"span":[302,2,75]},{"path":[4,0,2,232,6],"span":[302,2,42]},{"path":[4,0,2,232,1],"span":[302,43,68]},{"path":[4,0,2,232,3],"span":[302,71,74]},{"path":[4,0,2,233],"span":[303,2,71]},{"path":[4,0,2,233,6],"span":[303,2,40]},{"path":[4,0,2,233,1],"span":[303,41,64]},{"path":[4,0,2,233,3],"span":[303,67,70]},{"path":[4,0,2,234],"span":[304,2,73]},{"path":[4,0,2,234,6],"span":[304,2,41]},{"path":[4,0,2,234,1],"span":[304,42,66]},{"path":[4,0,2,234,3],"span":[304,69,72]},{"path":[4,1],"span":[308,0,311,1],"leadingComments":" This proto includes a recursively nested message.\n"},{"path":[4,1,1],"span":[308,8,26]},{"path":[4,1,2,0],"span":[309,2,31]},{"path":[4,1,2,0,6],"span":[309,2,20]},{"path":[4,1,2,0,1],"span":[309,21,26]},{"path":[4,1,2,0,3],"span":[309,29,30]},{"path":[4,1,2,1],"span":[310,2,27]},{"path":[4,1,2,1,6],"span":[310,2,14]},{"path":[4,1,2,1,1],"span":[310,15,22]},{"path":[4,1,2,1,3],"span":[310,25,26]},{"path":[5,0],"span":[314,0,318,1],"leadingComments":" This proto tests that global enums are resolved correctly.\n"},{"path":[5,0,1],"span":[314,5,15]},{"path":[5,0,2,0],"span":[315,2,10]},{"path":[5,0,2,0,1],"span":[315,2,5]},{"path":[5,0,2,0,2],"span":[315,8,9]},{"path":[5,0,2,1],"span":[316,2,10]},{"path":[5,0,2,1,1],"span":[316,2,5]},{"path":[5,0,2,1,2],"span":[316,8,9]},{"path":[5,0,2,2],"span":[317,2,10]},{"path":[5,0,2,2,1],"span":[317,2,5]},{"path":[5,0,2,2,2],"span":[317,8,9]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}},{"name":"buf/protoschema/test/v1/test_cases.proto","package":"buf.protoschema.test.v1","dependency":["buf/validate/validate.proto","bufext/cel/expr/conformance/proto3/test_all_types.proto"],"messageType":[{"name":"NestedReference","field":[{"name":"nested_message","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".bufext.cel.expr.conformance.proto3.TestAllTypes.NestedMessage","jsonName":"nestedMessage"}]},{"name":"CustomOptions","field":[{"name":"int32_field","number":1,"label":"LABEL_REPEATED","type":"TYPE_INT32","jsonName":"int32Field","options":{"packed":true,"[buf.validate.field]":{"cel":[{"id":"int32_field_id","message":"must be true","expression":"1 == 1"}]}}},{"name":"string_field","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","oneofIndex":0,"jsonName":"stringField","options":{"[buf.validate.field]":{"cel":[{"id":"string_field_id","message":"must be true","expression":"1 == 1"}]}}}],"oneofDecl":[{"name":"kind","options":{"[buf.validate.oneof]":{"required":true}}}],"options":{"noStandardDescriptorAccessor":true,"[buf.validate.message]":{"cel":[{"id":"custom_option_id","message":"must be true","expression":"1 == 1"}]}}},{"name":"IgnoreField","field":[{"name":"string_field","number":1,"label":"LABEL_OPTIONAL","type":"TYPE_STRING","jsonName":"stringField"},{"name":"int32_field","number":2,"label":"LABEL_OPTIONAL","type":"TYPE_INT32","jsonName":"int32Field"},{"name":"bool_field","number":3,"label":"LABEL_OPTIONAL","type":"TYPE_BOOL","jsonName":"boolField"},{"name":"bytes_field","number":4,"label":"LABEL_OPTIONAL","type":"TYPE_BYTES","jsonName":"bytesField"},{"name":"nested_reference","number":5,"label":"LABEL_OPTIONAL","type":"TYPE_MESSAGE","typeName":".buf.protoschema.test.v1.NestedReference","jsonName":"nestedReference"}]}],"sourceCodeInfo":{"location":[{"span":[14,0,68,1]},{"path":[12],"span":[14,0,18],"leadingDetachedComments":[" Copyright 2024-2025 Buf Technologies, Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n"]},{"path":[2],"span":[16,0,32]},{"path":[3,0],"span":[18,0,37]},{"path":[3,1],"span":[19,0,65]},{"path":[4,0],"span":[21,0,23,1]},{"path":[4,0,1],"span":[21,8,23]},{"path":[4,0,2,0],"span":[22,2,83]},{"path":[4,0,2,0,6],"span":[22,2,63]},{"path":[4,0,2,0,1],"span":[22,64,78]},{"path":[4,0,2,0,3],"span":[22,81,82]},{"path":[4,1],"span":[30,0,58,1],"leadingComments":" The title for CustomOptions. On\n multiple lines.\n\n This is a test case for the custom options in the buf.validate package... and\n comment parsing.\n"},{"path":[4,1,1],"span":[30,8,21]},{"path":[4,1,7],"span":[31,2,35,4]},{"path":[4,1,7,1159,3,0],"span":[31,2,35,4]},{"path":[4,1,7,1159,3,0,1],"span":[32,4,26]},{"path":[4,1,7,1159,3,0,3],"span":[33,4,24]},{"path":[4,1,7,1159,3,0,2],"span":[34,4,27]},{"path":[4,1,7],"span":[36,2,48]},{"path":[4,1,7,2],"span":[36,2,48]},{"path":[4,1,2,0],"span":[41,2,48,4],"leadingComments":" A field with a title.\n\n This field has a title!\n"},{"path":[4,1,2,0,4],"span":[41,2,10]},{"path":[4,1,2,0,5],"span":[41,11,16]},{"path":[4,1,2,0,1],"span":[41,17,28]},{"path":[4,1,2,0,3],"span":[41,31,32]},{"path":[4,1,2,0,8],"span":[41,33,48,3]},{"path":[4,1,2,0,8,2],"span":[42,4,17]},{"path":[4,1,2,0,8,1159,23,0],"span":[43,4,47,5]},{"path":[4,1,2,0,8,1159,23,0,1],"span":[44,6,26]},{"path":[4,1,2,0,8,1159,23,0,3],"span":[45,6,26]},{"path":[4,1,2,0,8,1159,23,0,2],"span":[46,6,29]},{"path":[4,1,8,0],"span":[50,2,57,3]},{"path":[4,1,8,0,1],"span":[50,8,12]},{"path":[4,1,8,0,2],"span":[51,4,48]},{"path":[4,1,8,0,2,1159,1],"span":[51,4,48]},{"path":[4,1,2,1],"span":[52,4,56,7]},{"path":[4,1,2,1,5],"span":[52,4,10]},{"path":[4,1,2,1,1],"span":[52,11,23]},{"path":[4,1,2,1,3],"span":[52,26,27]},{"path":[4,1,2,1,8],"span":[52,28,56,6]},{"path":[4,1,2,1,8,1159,23,0],"span":[52,29,56,5]},{"path":[4,1,2,1,8,1159,23,0,1],"span":[53,6,27]},{"path":[4,1,2,1,8,1159,23,0,3],"span":[54,6,26]},{"path":[4,1,2,1,8,1159,23,0,2],"span":[55,6,29]},{"path":[4,2],"span":[60,0,68,1]},{"path":[4,2,1],"span":[60,8,19]},{"path":[4,2,2,0],"span":[61,2,26],"trailingComments":" jsonschema:ignore\n"},{"path":[4,2,2,0,5],"span":[61,2,8]},{"path":[4,2,2,0,1],"span":[61,9,21]},{"path":[4,2,2,0,3],"span":[61,24,25]},{"path":[4,2,2,1],"span":[63,2,24],"leadingComments":" jsonschema:ignore\n"},{"path":[4,2,2,1,5],"span":[63,2,7]},{"path":[4,2,2,1,1],"span":[63,8,19]},{"path":[4,2,2,1,3],"span":[63,22,23]},{"path":[4,2,2,2],"span":[64,2,22]},{"path":[4,2,2,2,5],"span":[64,2,6]},{"path":[4,2,2,2,1],"span":[64,7,17]},{"path":[4,2,2,2,3],"span":[64,20,21]},{"path":[4,2,2,3],"span":[65,2,24],"trailingComments":" jsonschema:hide\n"},{"path":[4,2,2,3,5],"span":[65,2,7]},{"path":[4,2,2,3,1],"span":[65,8,19]},{"path":[4,2,2,3,3],"span":[65,22,23]},{"path":[4,2,2,4],"span":[67,2,39],"leadingComments":" jsonschema:hide\n"},{"path":[4,2,2,4,6],"span":[67,2,17]},{"path":[4,2,2,4,1],"span":[67,18,34]},{"path":[4,2,2,4,3],"span":[67,37,38]}]},"syntax":"proto3","bufExtension":{"isImport":false,"isSyntaxUnspecified":false}}]} \ No newline at end of file diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.json new file mode 100644 index 00000000..e0fbb40c --- /dev/null +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.json @@ -0,0 +1,51 @@ +{ + "$id": "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "required": [ + "id", + "name" + ] + } + } + ] + } + ], + "properties": { + "id": { + "default": "", + "type": "string" + }, + "name": { + "default": "", + "type": "string" + } + }, + "title": "One Of Optional", + "type": "object" +} diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.strict.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.strict.json new file mode 100644 index 00000000..f423b5e7 --- /dev/null +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.strict.json @@ -0,0 +1,49 @@ +{ + "$id": "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.strict.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "required": [ + "id", + "name" + ] + } + } + ] + } + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "title": "One Of Optional", + "type": "object" +} diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.json new file mode 100644 index 00000000..5424a900 --- /dev/null +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.json @@ -0,0 +1,51 @@ +{ + "$id": "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "required": [ + "id", + "name" + ] + } + } + ] + } + ], + "properties": { + "id": { + "default": "", + "type": "string" + }, + "name": { + "default": "", + "type": "string" + } + }, + "title": "One Of Optional", + "type": "object" +} diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.strict.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.strict.json new file mode 100644 index 00000000..555fa420 --- /dev/null +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.strict.json @@ -0,0 +1,49 @@ +{ + "$id": "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.strict.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "required": [ + "id", + "name" + ] + } + } + ] + } + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "title": "One Of Optional", + "type": "object" +} diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.json new file mode 100644 index 00000000..b30df8de --- /dev/null +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.json @@ -0,0 +1,43 @@ +{ + "$id": "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + } + ] + } + ], + "properties": { + "id": { + "default": "", + "type": "string" + }, + "name": { + "default": "", + "type": "string" + } + }, + "title": "One Of Required", + "type": "object" +} diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.strict.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.strict.json new file mode 100644 index 00000000..4fe74578 --- /dev/null +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.strict.json @@ -0,0 +1,41 @@ +{ + "$id": "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.strict.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + } + ] + } + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "title": "One Of Required", + "type": "object" +} diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.json new file mode 100644 index 00000000..46d9956e --- /dev/null +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.json @@ -0,0 +1,43 @@ +{ + "$id": "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + } + ] + } + ], + "properties": { + "id": { + "default": "", + "type": "string" + }, + "name": { + "default": "", + "type": "string" + } + }, + "title": "One Of Required", + "type": "object" +} diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.strict.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.strict.json new file mode 100644 index 00000000..73cb49d0 --- /dev/null +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.strict.json @@ -0,0 +1,41 @@ +{ + "$id": "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.strict.json", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + } + ] + } + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "title": "One Of Required", + "type": "object" +} diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.bundle.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.bundle.json index 80870ae7..1131f800 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.bundle.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.bundle.json @@ -1,5 +1,97 @@ { "$defs": { + "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "required": [ + "id", + "name" + ] + } + } + ] + } + ], + "properties": { + "id": { + "default": "", + "type": "string" + }, + "name": { + "default": "", + "type": "string" + } + }, + "title": "One Of Optional", + "type": "object" + }, + "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + } + ] + } + ], + "properties": { + "id": { + "default": "", + "type": "string" + }, + "name": { + "default": "", + "type": "string" + } + }, + "title": "One Of Required", + "type": "object" + }, "buf.protoschema.test.v1.ConstraintTest.RequiredImplicit.jsonschema.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, @@ -243,6 +335,9898 @@ "buf.protoschema.test.v1.ConstraintTest.jsonschema.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "requiredImplicit" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "requiredOptional" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constBool" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "definedOnlyEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "notInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "definedOnlyNotInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inAndNotInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "maxLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minMaxLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "patternString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "suffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "containsString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixSuffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixContainsSuffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "hostnameString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "emailString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4String" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6String" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uriString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uriRefString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "addressString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uuidString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "tuuidString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipWithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4WithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6WithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipPrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4PrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6PrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "hostAndPortString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "httpHeaderNameStrictString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "maxLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minMaxLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64" + ] + }, + "required": [ + "inSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + } + } + ] + } + ], "patternProperties": { "^(address_string)$": { "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$|^(([0-9a-fA-F]{1,4}::?){1,7}([0-9a-fA-F]{1,4})|([0-9a-fA-F]{1,4}:){1,7}:|:((([0-9a-fA-F]{1,4}:){1,6})?[0-9a-fA-F]{1,4})?|::)$|^[A-Za-z0-9][A-Za-z0-9-]{0,63}(\\.[A-Za-z0-9-][A-Za-z0-9-]{0,63})*$", @@ -1678,6 +11662,12 @@ ], "title": "Enum" }, + "^(one_of_optional)$": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.json" + }, + "^(one_of_required)$": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.json" + }, "^(pattern_string)$": { "pattern": "^pat*ern$", "type": "string" @@ -3156,6 +13146,12 @@ ], "title": "Enum" }, + "oneOfOptional": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.json" + }, + "oneOfRequired": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.json" + }, "patternString": { "pattern": "^pat*ern$", "type": "string" diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.json index 49c32a1a..ab9d7bab 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.json @@ -2,6 +2,9898 @@ "$id": "buf.protoschema.test.v1.ConstraintTest.jsonschema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "requiredImplicit" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "requiredOptional" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constBool" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "definedOnlyEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "notInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "definedOnlyNotInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inAndNotInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "maxLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minMaxLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "patternString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "suffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "containsString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixSuffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixContainsSuffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "hostnameString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "emailString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4String" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6String" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uriString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uriRefString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "addressString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uuidString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "tuuidString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipWithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4WithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6WithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipPrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4PrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6PrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "hostAndPortString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "httpHeaderNameStrictString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "maxLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minMaxLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64" + ] + }, + "required": [ + "inSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + } + } + ] + } + ], "patternProperties": { "^(address_string)$": { "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$|^(([0-9a-fA-F]{1,4}::?){1,7}([0-9a-fA-F]{1,4})|([0-9a-fA-F]{1,4}:){1,7}:|:((([0-9a-fA-F]{1,4}:){1,6})?[0-9a-fA-F]{1,4})?|::)$|^[A-Za-z0-9][A-Za-z0-9-]{0,63}(\\.[A-Za-z0-9-][A-Za-z0-9-]{0,63})*$", @@ -1437,6 +11329,12 @@ ], "title": "Enum" }, + "^(one_of_optional)$": { + "$ref": "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.json" + }, + "^(one_of_required)$": { + "$ref": "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.json" + }, "^(pattern_string)$": { "pattern": "^pat*ern$", "type": "string" @@ -2915,6 +12813,12 @@ ], "title": "Enum" }, + "oneOfOptional": { + "$ref": "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.json" + }, + "oneOfRequired": { + "$ref": "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.json" + }, "patternString": { "pattern": "^pat*ern$", "type": "string" diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.strict.bundle.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.strict.bundle.json index fc1ef8f5..b287f171 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.strict.bundle.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.strict.bundle.json @@ -1,5 +1,93 @@ { "$defs": { + "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.strict.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "required": [ + "id", + "name" + ] + } + } + ] + } + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "title": "One Of Optional", + "type": "object" + }, + "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.strict.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + } + ] + } + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "title": "One Of Required", + "type": "object" + }, "buf.protoschema.test.v1.ConstraintTest.RequiredImplicit.jsonschema.strict.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, @@ -84,6 +172,9898 @@ "buf.protoschema.test.v1.ConstraintTest.jsonschema.strict.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "requiredImplicit" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "requiredOptional" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constBool" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "definedOnlyEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "notInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "definedOnlyNotInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inAndNotInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "maxLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minMaxLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "patternString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "suffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "containsString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixSuffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixContainsSuffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "hostnameString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "emailString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4String" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6String" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uriString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uriRefString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "addressString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uuidString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "tuuidString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipWithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4WithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6WithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipPrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4PrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6PrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "hostAndPortString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "httpHeaderNameStrictString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "maxLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minMaxLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64" + ] + }, + "required": [ + "inSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + } + } + ] + } + ], "properties": { "addressString": { "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$|^(([0-9a-fA-F]{1,4}::?){1,7}([0-9a-fA-F]{1,4})|([0-9a-fA-F]{1,4}:){1,7}:|:((([0-9a-fA-F]{1,4}:){1,6})?[0-9a-fA-F]{1,4})?|::)$|^[A-Za-z0-9][A-Za-z0-9-]{0,63}(\\.[A-Za-z0-9-][A-Za-z0-9-]{0,63})*$", @@ -853,6 +10833,12 @@ "title": "Enum", "type": "string" }, + "oneOfOptional": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.strict.json" + }, + "oneOfRequired": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.strict.json" + }, "patternString": { "pattern": "^pat*ern$", "type": "string" diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.strict.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.strict.json index fde6d987..8e40a0c9 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.strict.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.jsonschema.strict.json @@ -2,6 +2,9898 @@ "$id": "buf.protoschema.test.v1.ConstraintTest.jsonschema.strict.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "requiredImplicit" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "requiredOptional" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constBool" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "definedOnlyEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "notInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "definedOnlyNotInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inAndNotInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "maxLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minMaxLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "patternString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "suffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "containsString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixSuffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixContainsSuffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "hostnameString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "emailString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4String" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6String" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uriString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uriRefString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "addressString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uuidString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "tuuidString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipWithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4WithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6WithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipPrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4PrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6PrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "hostAndPortString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "httpHeaderNameStrictString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "maxLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minMaxLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64" + ] + }, + "required": [ + "inSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + } + } + ] + } + ], "properties": { "addressString": { "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$|^(([0-9a-fA-F]{1,4}::?){1,7}([0-9a-fA-F]{1,4})|([0-9a-fA-F]{1,4}:){1,7}:|:((([0-9a-fA-F]{1,4}:){1,6})?[0-9a-fA-F]{1,4})?|::)$|^[A-Za-z0-9][A-Za-z0-9-]{0,63}(\\.[A-Za-z0-9-][A-Za-z0-9-]{0,63})*$", @@ -771,6 +10663,12 @@ "title": "Enum", "type": "string" }, + "oneOfOptional": { + "$ref": "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.strict.json" + }, + "oneOfRequired": { + "$ref": "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.strict.json" + }, "patternString": { "pattern": "^pat*ern$", "type": "string" diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.bundle.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.bundle.json index 2c815c84..6829a690 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.bundle.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.bundle.json @@ -1,5 +1,97 @@ { "$defs": { + "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "required": [ + "id", + "name" + ] + } + } + ] + } + ], + "properties": { + "id": { + "default": "", + "type": "string" + }, + "name": { + "default": "", + "type": "string" + } + }, + "title": "One Of Optional", + "type": "object" + }, + "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + } + ] + } + ], + "properties": { + "id": { + "default": "", + "type": "string" + }, + "name": { + "default": "", + "type": "string" + } + }, + "title": "One Of Required", + "type": "object" + }, "buf.protoschema.test.v1.ConstraintTest.RequiredImplicit.schema.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, @@ -243,6 +335,9898 @@ "buf.protoschema.test.v1.ConstraintTest.schema.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "required_implicit" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "required_optional" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_bool" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "defined_only_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "defined_only_not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_and_not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "max_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_max_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "pattern_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "contains_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_contains_suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "hostname_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "email_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uri_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uri_ref_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "address_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uuid_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "tuuid_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "host_and_port_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "http_header_name_strict_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "max_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_max_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64" + ] + }, + "required": [ + "in_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + } + } + ] + } + ], "patternProperties": { "^(addressString)$": { "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$|^(([0-9a-fA-F]{1,4}::?){1,7}([0-9a-fA-F]{1,4})|([0-9a-fA-F]{1,4}:){1,7}:|:((([0-9a-fA-F]{1,4}:){1,6})?[0-9a-fA-F]{1,4})?|::)$|^[A-Za-z0-9][A-Za-z0-9-]{0,63}(\\.[A-Za-z0-9-][A-Za-z0-9-]{0,63})*$", @@ -1678,6 +11662,12 @@ ], "title": "Enum" }, + "^(oneOfOptional)$": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.json" + }, + "^(oneOfRequired)$": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.json" + }, "^(patternString)$": { "pattern": "^pat*ern$", "type": "string" @@ -3156,6 +13146,12 @@ ], "title": "Enum" }, + "one_of_optional": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.json" + }, + "one_of_required": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.json" + }, "pattern_string": { "pattern": "^pat*ern$", "type": "string" diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.json index b780366c..6382ec5c 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.json @@ -2,6 +2,9898 @@ "$id": "buf.protoschema.test.v1.ConstraintTest.schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "required_implicit" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "required_optional" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_bool" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "defined_only_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "defined_only_not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_and_not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "max_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_max_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "pattern_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "contains_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_contains_suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "hostname_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "email_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uri_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uri_ref_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "address_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uuid_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "tuuid_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "host_and_port_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "http_header_name_strict_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "max_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_max_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64" + ] + }, + "required": [ + "in_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + } + } + ] + } + ], "patternProperties": { "^(addressString)$": { "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$|^(([0-9a-fA-F]{1,4}::?){1,7}([0-9a-fA-F]{1,4})|([0-9a-fA-F]{1,4}:){1,7}:|:((([0-9a-fA-F]{1,4}:){1,6})?[0-9a-fA-F]{1,4})?|::)$|^[A-Za-z0-9][A-Za-z0-9-]{0,63}(\\.[A-Za-z0-9-][A-Za-z0-9-]{0,63})*$", @@ -1437,6 +11329,12 @@ ], "title": "Enum" }, + "^(oneOfOptional)$": { + "$ref": "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.json" + }, + "^(oneOfRequired)$": { + "$ref": "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.json" + }, "^(patternString)$": { "pattern": "^pat*ern$", "type": "string" @@ -2915,6 +12813,12 @@ ], "title": "Enum" }, + "one_of_optional": { + "$ref": "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.json" + }, + "one_of_required": { + "$ref": "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.json" + }, "pattern_string": { "pattern": "^pat*ern$", "type": "string" diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.strict.bundle.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.strict.bundle.json index 37030e71..ab6e6e2a 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.strict.bundle.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.strict.bundle.json @@ -1,5 +1,93 @@ { "$defs": { + "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.strict.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "required": [ + "id", + "name" + ] + } + } + ] + } + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "title": "One Of Optional", + "type": "object" + }, + "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.strict.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + } + ] + } + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "title": "One Of Required", + "type": "object" + }, "buf.protoschema.test.v1.ConstraintTest.RequiredImplicit.schema.strict.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, @@ -84,6 +172,9898 @@ "buf.protoschema.test.v1.ConstraintTest.schema.strict.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "required_implicit" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "required_optional" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_bool" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "defined_only_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "defined_only_not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_and_not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "max_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_max_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "pattern_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "contains_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_contains_suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "hostname_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "email_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uri_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uri_ref_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "address_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uuid_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "tuuid_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "host_and_port_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "http_header_name_strict_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "max_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_max_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64" + ] + }, + "required": [ + "in_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + } + } + ] + } + ], "properties": { "address_string": { "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$|^(([0-9a-fA-F]{1,4}::?){1,7}([0-9a-fA-F]{1,4})|([0-9a-fA-F]{1,4}:){1,7}:|:((([0-9a-fA-F]{1,4}:){1,6})?[0-9a-fA-F]{1,4})?|::)$|^[A-Za-z0-9][A-Za-z0-9-]{0,63}(\\.[A-Za-z0-9-][A-Za-z0-9-]{0,63})*$", @@ -853,6 +10833,12 @@ "title": "Enum", "type": "string" }, + "one_of_optional": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.strict.json" + }, + "one_of_required": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.strict.json" + }, "pattern_string": { "pattern": "^pat*ern$", "type": "string" diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.strict.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.strict.json index 29c76935..a69fad4a 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.strict.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTest.schema.strict.json @@ -2,6 +2,9898 @@ "$id": "buf.protoschema.test.v1.ConstraintTest.schema.strict.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "required_implicit" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "required_optional" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_bool" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "defined_only_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "defined_only_not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_and_not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "max_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_max_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "pattern_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "contains_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_contains_suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "hostname_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "email_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uri_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uri_ref_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "address_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uuid_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "tuuid_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "host_and_port_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "http_header_name_strict_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "max_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_max_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64" + ] + }, + "required": [ + "in_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + } + } + ] + } + ], "properties": { "address_string": { "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$|^(([0-9a-fA-F]{1,4}::?){1,7}([0-9a-fA-F]{1,4})|([0-9a-fA-F]{1,4}:){1,7}:|:((([0-9a-fA-F]{1,4}:){1,6})?[0-9a-fA-F]{1,4})?|::)$|^[A-Za-z0-9][A-Za-z0-9-]{0,63}(\\.[A-Za-z0-9-][A-Za-z0-9-]{0,63})*$", @@ -771,6 +10663,12 @@ "title": "Enum", "type": "string" }, + "one_of_optional": { + "$ref": "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.strict.json" + }, + "one_of_required": { + "$ref": "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.strict.json" + }, "pattern_string": { "pattern": "^pat*ern$", "type": "string" diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTests.jsonschema.bundle.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTests.jsonschema.bundle.json index 4b5575c3..98db8d2c 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTests.jsonschema.bundle.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTests.jsonschema.bundle.json @@ -1,5 +1,97 @@ { "$defs": { + "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "required": [ + "id", + "name" + ] + } + } + ] + } + ], + "properties": { + "id": { + "default": "", + "type": "string" + }, + "name": { + "default": "", + "type": "string" + } + }, + "title": "One Of Optional", + "type": "object" + }, + "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + } + ] + } + ], + "properties": { + "id": { + "default": "", + "type": "string" + }, + "name": { + "default": "", + "type": "string" + } + }, + "title": "One Of Required", + "type": "object" + }, "buf.protoschema.test.v1.ConstraintTest.RequiredImplicit.jsonschema.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, @@ -243,6 +335,9898 @@ "buf.protoschema.test.v1.ConstraintTest.jsonschema.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "requiredImplicit" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "requiredOptional" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constBool" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "definedOnlyEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "notInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "definedOnlyNotInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inAndNotInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "maxLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minMaxLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "patternString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "suffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "containsString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixSuffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixContainsSuffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "hostnameString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "emailString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4String" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6String" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uriString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uriRefString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "addressString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uuidString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "tuuidString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipWithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4WithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6WithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipPrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4PrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6PrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "hostAndPortString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "httpHeaderNameStrictString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "maxLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minMaxLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64" + ] + }, + "required": [ + "inSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + } + } + ] + } + ], "patternProperties": { "^(address_string)$": { "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$|^(([0-9a-fA-F]{1,4}::?){1,7}([0-9a-fA-F]{1,4})|([0-9a-fA-F]{1,4}:){1,7}:|:((([0-9a-fA-F]{1,4}:){1,6})?[0-9a-fA-F]{1,4})?|::)$|^[A-Za-z0-9][A-Za-z0-9-]{0,63}(\\.[A-Za-z0-9-][A-Za-z0-9-]{0,63})*$", @@ -1678,6 +11662,12 @@ ], "title": "Enum" }, + "^(one_of_optional)$": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.json" + }, + "^(one_of_required)$": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.json" + }, "^(pattern_string)$": { "pattern": "^pat*ern$", "type": "string" @@ -3156,6 +13146,12 @@ ], "title": "Enum" }, + "oneOfOptional": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.json" + }, + "oneOfRequired": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.json" + }, "patternString": { "pattern": "^pat*ern$", "type": "string" diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTests.jsonschema.strict.bundle.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTests.jsonschema.strict.bundle.json index 1775f6a1..a49612d6 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTests.jsonschema.strict.bundle.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTests.jsonschema.strict.bundle.json @@ -1,5 +1,93 @@ { "$defs": { + "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.strict.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "required": [ + "id", + "name" + ] + } + } + ] + } + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "title": "One Of Optional", + "type": "object" + }, + "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.strict.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + } + ] + } + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "title": "One Of Required", + "type": "object" + }, "buf.protoschema.test.v1.ConstraintTest.RequiredImplicit.jsonschema.strict.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, @@ -84,6 +172,9898 @@ "buf.protoschema.test.v1.ConstraintTest.jsonschema.strict.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "requiredImplicit" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "requiredOptional" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constBool" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "definedOnlyEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "notInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "definedOnlyNotInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inAndNotInEnum" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "maxLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minMaxLenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "patternString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "suffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "containsString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixSuffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "prefixContainsSuffixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "hostnameString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "emailString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4String" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6String" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uriString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uriRefString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "addressString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "uuidString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "tuuidString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipWithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4WithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6WithPrefixlenString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipPrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv4PrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ipv6PrefixString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "hostAndPortString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "httpHeaderNameStrictString" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "maxLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "minMaxLenBytes" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtInt32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtInt64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtUint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltGtUint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSint32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSint64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "inSfixed32" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "constSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "ltSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "lteSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gteSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gtSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "inSfixed64" + ] + }, + "required": [ + "gteSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64" + ] + }, + "required": [ + "inSfixed64" + ] + }, + { + "not": { + "required": [ + "requiredImplicit", + "requiredOptional", + "constBool", + "constEnum", + "definedOnlyEnum", + "inEnum", + "notInEnum", + "definedOnlyNotInEnum", + "inAndNotInEnum", + "constString", + "lenString", + "minLenString", + "maxLenString", + "minMaxLenString", + "inString", + "patternString", + "prefixString", + "suffixString", + "containsString", + "prefixSuffixString", + "prefixContainsSuffixString", + "hostnameString", + "emailString", + "ipString", + "ipv4String", + "ipv6String", + "uriString", + "uriRefString", + "addressString", + "uuidString", + "tuuidString", + "ipWithPrefixlenString", + "ipv4WithPrefixlenString", + "ipv6WithPrefixlenString", + "ipPrefixString", + "ipv4PrefixString", + "ipv6PrefixString", + "hostAndPortString", + "httpHeaderNameStrictString", + "lenBytes", + "minLenBytes", + "maxLenBytes", + "minMaxLenBytes", + "constInt32", + "ltInt32", + "lteInt32", + "gtInt32", + "gteInt32", + "inInt32", + "ltGtInt32", + "constInt64", + "ltInt64", + "lteInt64", + "gtInt64", + "gteInt64", + "inInt64", + "ltGtInt64", + "constUint32", + "ltUint32", + "lteUint32", + "gtUint32", + "gteUint32", + "inUint32", + "ltGtUint32", + "constUint64", + "ltUint64", + "lteUint64", + "gtUint64", + "gteUint64", + "inUint64", + "ltGtUint64", + "constSint32", + "ltSint32", + "lteSint32", + "gtSint32", + "gteSint32", + "inSint32", + "constSint64", + "ltSint64", + "lteSint64", + "gtSint64", + "gteSint64", + "inSint64", + "constSfixed32", + "ltSfixed32", + "lteSfixed32", + "gtSfixed32", + "gteSfixed32", + "inSfixed32", + "constSfixed64", + "ltSfixed64", + "lteSfixed64", + "gtSfixed64", + "gteSfixed64", + "inSfixed64" + ] + } + } + ] + } + ], "properties": { "addressString": { "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$|^(([0-9a-fA-F]{1,4}::?){1,7}([0-9a-fA-F]{1,4})|([0-9a-fA-F]{1,4}:){1,7}:|:((([0-9a-fA-F]{1,4}:){1,6})?[0-9a-fA-F]{1,4})?|::)$|^[A-Za-z0-9][A-Za-z0-9-]{0,63}(\\.[A-Za-z0-9-][A-Za-z0-9-]{0,63})*$", @@ -853,6 +10833,12 @@ "title": "Enum", "type": "string" }, + "oneOfOptional": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.jsonschema.strict.json" + }, + "oneOfRequired": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.jsonschema.strict.json" + }, "patternString": { "pattern": "^pat*ern$", "type": "string" diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTests.schema.bundle.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTests.schema.bundle.json index 04066c03..53f48785 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTests.schema.bundle.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTests.schema.bundle.json @@ -1,5 +1,97 @@ { "$defs": { + "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "required": [ + "id", + "name" + ] + } + } + ] + } + ], + "properties": { + "id": { + "default": "", + "type": "string" + }, + "name": { + "default": "", + "type": "string" + } + }, + "title": "One Of Optional", + "type": "object" + }, + "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + } + ] + } + ], + "properties": { + "id": { + "default": "", + "type": "string" + }, + "name": { + "default": "", + "type": "string" + } + }, + "title": "One Of Required", + "type": "object" + }, "buf.protoschema.test.v1.ConstraintTest.RequiredImplicit.schema.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, @@ -243,6 +335,9898 @@ "buf.protoschema.test.v1.ConstraintTest.schema.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "required_implicit" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "required_optional" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_bool" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "defined_only_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "defined_only_not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_and_not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "max_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_max_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "pattern_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "contains_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_contains_suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "hostname_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "email_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uri_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uri_ref_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "address_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uuid_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "tuuid_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "host_and_port_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "http_header_name_strict_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "max_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_max_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64" + ] + }, + "required": [ + "in_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + } + } + ] + } + ], "patternProperties": { "^(addressString)$": { "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$|^(([0-9a-fA-F]{1,4}::?){1,7}([0-9a-fA-F]{1,4})|([0-9a-fA-F]{1,4}:){1,7}:|:((([0-9a-fA-F]{1,4}:){1,6})?[0-9a-fA-F]{1,4})?|::)$|^[A-Za-z0-9][A-Za-z0-9-]{0,63}(\\.[A-Za-z0-9-][A-Za-z0-9-]{0,63})*$", @@ -1678,6 +11662,12 @@ ], "title": "Enum" }, + "^(oneOfOptional)$": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.json" + }, + "^(oneOfRequired)$": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.json" + }, "^(patternString)$": { "pattern": "^pat*ern$", "type": "string" @@ -3156,6 +13146,12 @@ ], "title": "Enum" }, + "one_of_optional": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.json" + }, + "one_of_required": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.json" + }, "pattern_string": { "pattern": "^pat*ern$", "type": "string" diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTests.schema.strict.bundle.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTests.schema.strict.bundle.json index a2294045..fd7b88f5 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTests.schema.strict.bundle.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.ConstraintTests.schema.strict.bundle.json @@ -1,5 +1,93 @@ { "$defs": { + "buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.strict.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + }, + { + "not": { + "required": [ + "id", + "name" + ] + } + } + ] + } + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "title": "One Of Optional", + "type": "object" + }, + "buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.strict.json": { + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "name" + ] + }, + "required": [ + "id" + ] + }, + { + "not": { + "required": [ + "id" + ] + }, + "required": [ + "name" + ] + } + ] + } + ], + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "title": "One Of Required", + "type": "object" + }, "buf.protoschema.test.v1.ConstraintTest.RequiredImplicit.schema.strict.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, @@ -84,6 +172,9898 @@ "buf.protoschema.test.v1.ConstraintTest.schema.strict.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "required_implicit" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "required_optional" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_bool" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "defined_only_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "defined_only_not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_and_not_in_enum" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "max_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_max_len_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "pattern_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "contains_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "prefix_contains_suffix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "hostname_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "email_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uri_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uri_ref_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "address_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "uuid_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "tuuid_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_with_prefixlen_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ip_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv4_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "ipv6_prefix_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "host_and_port_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "http_header_name_strict_string" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "max_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "min_max_len_bytes" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_int32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_int64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_uint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_gt_uint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sint32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sint64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "in_sfixed32" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "const_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lt_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "lte_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gt_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "in_sfixed64" + ] + }, + "required": [ + "gte_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64" + ] + }, + "required": [ + "in_sfixed64" + ] + }, + { + "not": { + "required": [ + "required_implicit", + "required_optional", + "const_bool", + "const_enum", + "defined_only_enum", + "in_enum", + "not_in_enum", + "defined_only_not_in_enum", + "in_and_not_in_enum", + "const_string", + "len_string", + "min_len_string", + "max_len_string", + "min_max_len_string", + "in_string", + "pattern_string", + "prefix_string", + "suffix_string", + "contains_string", + "prefix_suffix_string", + "prefix_contains_suffix_string", + "hostname_string", + "email_string", + "ip_string", + "ipv4_string", + "ipv6_string", + "uri_string", + "uri_ref_string", + "address_string", + "uuid_string", + "tuuid_string", + "ip_with_prefixlen_string", + "ipv4_with_prefixlen_string", + "ipv6_with_prefixlen_string", + "ip_prefix_string", + "ipv4_prefix_string", + "ipv6_prefix_string", + "host_and_port_string", + "http_header_name_strict_string", + "len_bytes", + "min_len_bytes", + "max_len_bytes", + "min_max_len_bytes", + "const_int32", + "lt_int32", + "lte_int32", + "gt_int32", + "gte_int32", + "in_int32", + "lt_gt_int32", + "const_int64", + "lt_int64", + "lte_int64", + "gt_int64", + "gte_int64", + "in_int64", + "lt_gt_int64", + "const_uint32", + "lt_uint32", + "lte_uint32", + "gt_uint32", + "gte_uint32", + "in_uint32", + "lt_gt_uint32", + "const_uint64", + "lt_uint64", + "lte_uint64", + "gt_uint64", + "gte_uint64", + "in_uint64", + "lt_gt_uint64", + "const_sint32", + "lt_sint32", + "lte_sint32", + "gt_sint32", + "gte_sint32", + "in_sint32", + "const_sint64", + "lt_sint64", + "lte_sint64", + "gt_sint64", + "gte_sint64", + "in_sint64", + "const_sfixed32", + "lt_sfixed32", + "lte_sfixed32", + "gt_sfixed32", + "gte_sfixed32", + "in_sfixed32", + "const_sfixed64", + "lt_sfixed64", + "lte_sfixed64", + "gt_sfixed64", + "gte_sfixed64", + "in_sfixed64" + ] + } + } + ] + } + ], "properties": { "address_string": { "pattern": "^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$|^(([0-9a-fA-F]{1,4}::?){1,7}([0-9a-fA-F]{1,4})|([0-9a-fA-F]{1,4}:){1,7}:|:((([0-9a-fA-F]{1,4}:){1,6})?[0-9a-fA-F]{1,4})?|::)$|^[A-Za-z0-9][A-Za-z0-9-]{0,63}(\\.[A-Za-z0-9-][A-Za-z0-9-]{0,63})*$", @@ -853,6 +10833,12 @@ "title": "Enum", "type": "string" }, + "one_of_optional": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfOptional.schema.strict.json" + }, + "one_of_required": { + "$ref": "#/$defs/buf.protoschema.test.v1.ConstraintTest.OneOfRequired.schema.strict.json" + }, "pattern_string": { "pattern": "^pat*ern$", "type": "string" diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.bundle.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.bundle.json index 713d33d3..4332e260 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.bundle.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.bundle.json @@ -50,6 +50,9 @@ "type": "string" } }, + "required": [ + "stringField" + ], "title": "The title for CustomOptions. On\n multiple lines.", "type": "object" } diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.json index 916462dc..cc3c9470 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.json @@ -49,6 +49,9 @@ "type": "string" } }, + "required": [ + "stringField" + ], "title": "The title for CustomOptions. On\n multiple lines.", "type": "object" } diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.strict.bundle.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.strict.bundle.json index afdff7ed..5bb18729 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.strict.bundle.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.strict.bundle.json @@ -19,6 +19,9 @@ "type": "string" } }, + "required": [ + "stringField" + ], "title": "The title for CustomOptions. On\n multiple lines.", "type": "object" } diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.strict.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.strict.json index 8b64c591..1362777a 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.strict.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.jsonschema.strict.json @@ -18,6 +18,9 @@ "type": "string" } }, + "required": [ + "stringField" + ], "title": "The title for CustomOptions. On\n multiple lines.", "type": "object" } diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.bundle.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.bundle.json index ded81968..e3897f6a 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.bundle.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.bundle.json @@ -50,6 +50,9 @@ "type": "string" } }, + "required": [ + "string_field" + ], "title": "The title for CustomOptions. On\n multiple lines.", "type": "object" } diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.json index b059a2bf..1f890be0 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.json @@ -49,6 +49,9 @@ "type": "string" } }, + "required": [ + "string_field" + ], "title": "The title for CustomOptions. On\n multiple lines.", "type": "object" } diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.strict.bundle.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.strict.bundle.json index ce4177be..33b9b68c 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.strict.bundle.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.strict.bundle.json @@ -19,6 +19,9 @@ "type": "string" } }, + "required": [ + "string_field" + ], "title": "The title for CustomOptions. On\n multiple lines.", "type": "object" } diff --git a/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.strict.json b/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.strict.json index 367e9d6b..04b7732e 100644 --- a/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.strict.json +++ b/internal/testdata/jsonschema/buf.protoschema.test.v1.CustomOptions.schema.strict.json @@ -18,6 +18,9 @@ "type": "string" } }, + "required": [ + "string_field" + ], "title": "The title for CustomOptions. On\n multiple lines.", "type": "object" } diff --git a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.jsonschema.bundle.json b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.jsonschema.bundle.json index 806f2378..faf415ec 100644 --- a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.jsonschema.bundle.json +++ b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.jsonschema.bundle.json @@ -41,6 +41,40 @@ "bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "singleNestedEnum" + ] + }, + "required": [ + "singleNestedMessage" + ] + }, + { + "not": { + "required": [ + "singleNestedMessage" + ] + }, + "required": [ + "singleNestedEnum" + ] + }, + { + "not": { + "required": [ + "singleNestedMessage", + "singleNestedEnum" + ] + } + } + ] + } + ], "description": "This proto includes every type of field in both singular and repeated\n forms.", "patternProperties": { "^(list_value)$": { diff --git a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.jsonschema.strict.bundle.json b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.jsonschema.strict.bundle.json index a4fbfce9..01ef0ff9 100644 --- a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.jsonschema.strict.bundle.json +++ b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.jsonschema.strict.bundle.json @@ -35,6 +35,40 @@ "bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.strict.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "singleNestedEnum" + ] + }, + "required": [ + "singleNestedMessage" + ] + }, + { + "not": { + "required": [ + "singleNestedMessage" + ] + }, + "required": [ + "singleNestedEnum" + ] + }, + { + "not": { + "required": [ + "singleNestedMessage", + "singleNestedEnum" + ] + } + } + ] + } + ], "description": "This proto includes every type of field in both singular and repeated\n forms.", "properties": { "listValue": { diff --git a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.schema.bundle.json b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.schema.bundle.json index 7496e8c0..642af446 100644 --- a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.schema.bundle.json +++ b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.schema.bundle.json @@ -41,6 +41,40 @@ "bufext.cel.expr.conformance.proto3.TestAllTypes.schema.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "single_nested_enum" + ] + }, + "required": [ + "single_nested_message" + ] + }, + { + "not": { + "required": [ + "single_nested_message" + ] + }, + "required": [ + "single_nested_enum" + ] + }, + { + "not": { + "required": [ + "single_nested_message", + "single_nested_enum" + ] + } + } + ] + } + ], "description": "This proto includes every type of field in both singular and repeated\n forms.", "patternProperties": { "^(listValue)$": { diff --git a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.schema.strict.bundle.json b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.schema.strict.bundle.json index 97491fc1..7904417e 100644 --- a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.schema.strict.bundle.json +++ b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.NestedTestAllTypes.schema.strict.bundle.json @@ -35,6 +35,40 @@ "bufext.cel.expr.conformance.proto3.TestAllTypes.schema.strict.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "single_nested_enum" + ] + }, + "required": [ + "single_nested_message" + ] + }, + { + "not": { + "required": [ + "single_nested_message" + ] + }, + "required": [ + "single_nested_enum" + ] + }, + { + "not": { + "required": [ + "single_nested_message", + "single_nested_enum" + ] + } + } + ] + } + ], "description": "This proto includes every type of field in both singular and repeated\n forms.", "properties": { "list_value": { diff --git a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.bundle.json b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.bundle.json index adf568b0..a2f47239 100644 --- a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.bundle.json +++ b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.bundle.json @@ -41,6 +41,40 @@ "bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "singleNestedEnum" + ] + }, + "required": [ + "singleNestedMessage" + ] + }, + { + "not": { + "required": [ + "singleNestedMessage" + ] + }, + "required": [ + "singleNestedEnum" + ] + }, + { + "not": { + "required": [ + "singleNestedMessage", + "singleNestedEnum" + ] + } + } + ] + } + ], "description": "This proto includes every type of field in both singular and repeated\n forms.", "patternProperties": { "^(list_value)$": { diff --git a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.json b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.json index 788b9378..d7aed5ff 100644 --- a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.json +++ b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.json @@ -2,6 +2,40 @@ "$id": "bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "singleNestedEnum" + ] + }, + "required": [ + "singleNestedMessage" + ] + }, + { + "not": { + "required": [ + "singleNestedMessage" + ] + }, + "required": [ + "singleNestedEnum" + ] + }, + { + "not": { + "required": [ + "singleNestedMessage", + "singleNestedEnum" + ] + } + } + ] + } + ], "description": "This proto includes every type of field in both singular and repeated\n forms.", "patternProperties": { "^(list_value)$": { diff --git a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.strict.bundle.json b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.strict.bundle.json index 5bcedd67..eefd2f4b 100644 --- a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.strict.bundle.json +++ b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.strict.bundle.json @@ -35,6 +35,40 @@ "bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.strict.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "singleNestedEnum" + ] + }, + "required": [ + "singleNestedMessage" + ] + }, + { + "not": { + "required": [ + "singleNestedMessage" + ] + }, + "required": [ + "singleNestedEnum" + ] + }, + { + "not": { + "required": [ + "singleNestedMessage", + "singleNestedEnum" + ] + } + } + ] + } + ], "description": "This proto includes every type of field in both singular and repeated\n forms.", "properties": { "listValue": { diff --git a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.strict.json b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.strict.json index 52978b5a..0cd51683 100644 --- a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.strict.json +++ b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.strict.json @@ -2,6 +2,40 @@ "$id": "bufext.cel.expr.conformance.proto3.TestAllTypes.jsonschema.strict.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "singleNestedEnum" + ] + }, + "required": [ + "singleNestedMessage" + ] + }, + { + "not": { + "required": [ + "singleNestedMessage" + ] + }, + "required": [ + "singleNestedEnum" + ] + }, + { + "not": { + "required": [ + "singleNestedMessage", + "singleNestedEnum" + ] + } + } + ] + } + ], "description": "This proto includes every type of field in both singular and repeated\n forms.", "properties": { "listValue": { diff --git a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.bundle.json b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.bundle.json index 0732fafb..4cb23581 100644 --- a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.bundle.json +++ b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.bundle.json @@ -41,6 +41,40 @@ "bufext.cel.expr.conformance.proto3.TestAllTypes.schema.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "single_nested_enum" + ] + }, + "required": [ + "single_nested_message" + ] + }, + { + "not": { + "required": [ + "single_nested_message" + ] + }, + "required": [ + "single_nested_enum" + ] + }, + { + "not": { + "required": [ + "single_nested_message", + "single_nested_enum" + ] + } + } + ] + } + ], "description": "This proto includes every type of field in both singular and repeated\n forms.", "patternProperties": { "^(listValue)$": { diff --git a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.json b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.json index 8f82b1df..68cc9cbd 100644 --- a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.json +++ b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.json @@ -2,6 +2,40 @@ "$id": "bufext.cel.expr.conformance.proto3.TestAllTypes.schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "single_nested_enum" + ] + }, + "required": [ + "single_nested_message" + ] + }, + { + "not": { + "required": [ + "single_nested_message" + ] + }, + "required": [ + "single_nested_enum" + ] + }, + { + "not": { + "required": [ + "single_nested_message", + "single_nested_enum" + ] + } + } + ] + } + ], "description": "This proto includes every type of field in both singular and repeated\n forms.", "patternProperties": { "^(listValue)$": { diff --git a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.strict.bundle.json b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.strict.bundle.json index 3c8fd558..c7fdd72c 100644 --- a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.strict.bundle.json +++ b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.strict.bundle.json @@ -35,6 +35,40 @@ "bufext.cel.expr.conformance.proto3.TestAllTypes.schema.strict.json": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "single_nested_enum" + ] + }, + "required": [ + "single_nested_message" + ] + }, + { + "not": { + "required": [ + "single_nested_message" + ] + }, + "required": [ + "single_nested_enum" + ] + }, + { + "not": { + "required": [ + "single_nested_message", + "single_nested_enum" + ] + } + } + ] + } + ], "description": "This proto includes every type of field in both singular and repeated\n forms.", "properties": { "list_value": { diff --git a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.strict.json b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.strict.json index 5182ef0c..88e96dde 100644 --- a/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.strict.json +++ b/internal/testdata/jsonschema/bufext.cel.expr.conformance.proto3.TestAllTypes.schema.strict.json @@ -2,6 +2,40 @@ "$id": "bufext.cel.expr.conformance.proto3.TestAllTypes.schema.strict.json", "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, + "allOf": [ + { + "anyOf": [ + { + "not": { + "required": [ + "single_nested_enum" + ] + }, + "required": [ + "single_nested_message" + ] + }, + { + "not": { + "required": [ + "single_nested_message" + ] + }, + "required": [ + "single_nested_enum" + ] + }, + { + "not": { + "required": [ + "single_nested_message", + "single_nested_enum" + ] + } + } + ] + } + ], "description": "This proto includes every type of field in both singular and repeated\n forms.", "properties": { "list_value": { diff --git a/internal/testdata/pubsub/buf.protoschema.test.v1.ConstraintTest.pubsub.proto b/internal/testdata/pubsub/buf.protoschema.test.v1.ConstraintTest.pubsub.proto index dca3a6f8..223bd79f 100644 --- a/internal/testdata/pubsub/buf.protoschema.test.v1.ConstraintTest.pubsub.proto +++ b/internal/testdata/pubsub/buf.protoschema.test.v1.ConstraintTest.pubsub.proto @@ -97,6 +97,8 @@ message ConstraintTest { sfixed64 gte_sfixed64 = 84; sfixed64 in_sfixed64 = 85; } + optional OneOfRequired one_of_required = 125; + optional OneOfOptional one_of_optional = 126; optional fixed32 const_fixed32 = 86; optional fixed32 lt_fixed32 = 87; optional fixed32 lte_fixed32 = 88; @@ -138,6 +140,14 @@ message ConstraintTest { optional int32 enum_value = 3; optional int32 strict_enum_value = 4; } + message OneOfRequired { + optional string id = 1; + optional string name = 2; + } + message OneOfOptional { + optional string id = 1; + optional string name = 2; + } enum Enum { ENUM_UNSPECIFIED = 0; ENUM_VAL1 = 1; diff --git a/internal/testdata/pubsub/buf.protoschema.test.v1.ConstraintTests.pubsub.proto b/internal/testdata/pubsub/buf.protoschema.test.v1.ConstraintTests.pubsub.proto index f7c474b0..3c5cab4f 100644 --- a/internal/testdata/pubsub/buf.protoschema.test.v1.ConstraintTests.pubsub.proto +++ b/internal/testdata/pubsub/buf.protoschema.test.v1.ConstraintTests.pubsub.proto @@ -99,6 +99,8 @@ message ConstraintTests { sfixed64 gte_sfixed64 = 84; sfixed64 in_sfixed64 = 85; } + optional OneOfRequired one_of_required = 125; + optional OneOfOptional one_of_optional = 126; optional fixed32 const_fixed32 = 86; optional fixed32 lt_fixed32 = 87; optional fixed32 lte_fixed32 = 88; @@ -140,6 +142,14 @@ message ConstraintTests { optional int32 enum_value = 3; optional int32 strict_enum_value = 4; } + message OneOfRequired { + optional string id = 1; + optional string name = 2; + } + message OneOfOptional { + optional string id = 1; + optional string name = 2; + } enum Enum { ENUM_UNSPECIFIED = 0; ENUM_VAL1 = 1;