# Copyright 2023-2025 Buf Technologies, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: buf/validate/conformance/cases/groups_proto2.proto
# Protobuf Python Version: 5.26.0
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2buf/validate/conformance/cases/groups_proto2.proto\x12\x1e\x62uf.validate.conformance.cases\x1a\x1b\x62uf/validate/validate.proto\"\x91\x01\n\rGroupOptional\x12R\n\x08optional\x18\x01 \x01(\n26.buf.validate.conformance.cases.GroupOptional.OptionalR\x08optional\x1a,\n\x08Optional\x12 \n\x05value\x18\x01 \x01(\tB\n\xbaH\x07r\x05\n\x03\x66ooR\x05value\"\x8e\x01\n\rGroupRepeated\x12R\n\x08repeated\x18\x01 \x03(\n26.buf.validate.conformance.cases.GroupRepeated.RepeatedR\x08repeated\x1a)\n\x08Repeated\x12\x1d\n\x05value\x18\x01 \x01(\x05\x42\x07\xbaH\x04\x1a\x02 \x00R\x05value\"\x8e\x01\n\rGroupRequired\x12R\n\x08required\x18\x01 \x02(\n26.buf.validate.conformance.cases.GroupRequired.RequiredR\x08required\x1a)\n\x08Required\x12\x1d\n\x05value\x18\x01 \x01(\x08\x42\x07\xbaH\x04j\x02\x08\x01R\x05value\"\xe1\x01\n\x0bGroupCustom\x12J\n\x06\x63ustom\x18\x01 \x01(\n22.buf.validate.conformance.cases.GroupCustom.CustomR\x06\x63ustom\x1a\x85\x01\n\x06\x43ustom\x12\x14\n\x05value\x18\x01 \x01(\x05R\x05value\x12\x10\n\x03\x64iv\x18\x02 \x01(\x05R\x03\x64iv:S\xbaHP\x1aN\n\x10group.custom.div\x12\x1evalue must be divisible by div\x1a\x1athis.value % this.div == 0B\xd3\x01\n\"com.buf.validate.conformance.casesB\x11GroupsProto2ProtoP\x01\xa2\x02\x04\x42VCC\xaa\x02\x1e\x42uf.Validate.Conformance.Cases\xca\x02\x1e\x42uf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Cases')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'buf.validate.conformance.cases.groups_proto2_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  _globals['DESCRIPTOR']._loaded_options = None
  _globals['DESCRIPTOR']._serialized_options = b'\n\"com.buf.validate.conformance.casesB\021GroupsProto2ProtoP\001\242\002\004BVCC\252\002\036Buf.Validate.Conformance.Cases\312\002\036Buf\\Validate\\Conformance\\Cases\342\002*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\352\002!Buf::Validate::Conformance::Cases'
  _globals['_GROUPOPTIONAL_OPTIONAL'].fields_by_name['value']._loaded_options = None
  _globals['_GROUPOPTIONAL_OPTIONAL'].fields_by_name['value']._serialized_options = b'\272H\007r\005\n\003foo'
  _globals['_GROUPREPEATED_REPEATED'].fields_by_name['value']._loaded_options = None
  _globals['_GROUPREPEATED_REPEATED'].fields_by_name['value']._serialized_options = b'\272H\004\032\002 \000'
  _globals['_GROUPREQUIRED_REQUIRED'].fields_by_name['value']._loaded_options = None
  _globals['_GROUPREQUIRED_REQUIRED'].fields_by_name['value']._serialized_options = b'\272H\004j\002\010\001'
  _globals['_GROUPCUSTOM_CUSTOM']._loaded_options = None
  _globals['_GROUPCUSTOM_CUSTOM']._serialized_options = b'\272HP\032N\n\020group.custom.div\022\036value must be divisible by div\032\032this.value % this.div == 0'
  _globals['_GROUPOPTIONAL']._serialized_start=116
  _globals['_GROUPOPTIONAL']._serialized_end=261
  _globals['_GROUPOPTIONAL_OPTIONAL']._serialized_start=217
  _globals['_GROUPOPTIONAL_OPTIONAL']._serialized_end=261
  _globals['_GROUPREPEATED']._serialized_start=264
  _globals['_GROUPREPEATED']._serialized_end=406
  _globals['_GROUPREPEATED_REPEATED']._serialized_start=365
  _globals['_GROUPREPEATED_REPEATED']._serialized_end=406
  _globals['_GROUPREQUIRED']._serialized_start=409
  _globals['_GROUPREQUIRED']._serialized_end=551
  _globals['_GROUPREQUIRED_REQUIRED']._serialized_start=510
  _globals['_GROUPREQUIRED_REQUIRED']._serialized_end=551
  _globals['_GROUPCUSTOM']._serialized_start=554
  _globals['_GROUPCUSTOM']._serialized_end=779
  _globals['_GROUPCUSTOM_CUSTOM']._serialized_start=646
  _globals['_GROUPCUSTOM_CUSTOM']._serialized_end=779
# @@protoc_insertion_point(module_scope)
