// Copyright 2024 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Test Protobuf definitions with proto2 syntax.

// Code generated by protoc-gen-go. DO NOT EDIT.
// source: internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto

package textpbeditions_opaque

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	_ "google.golang.org/protobuf/types/gofeaturespb"
	anypb "google.golang.org/protobuf/types/known/anypb"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
	structpb "google.golang.org/protobuf/types/known/structpb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
	reflect "reflect"
)

type Enum int32

const (
	Enum_ONE Enum = 1
	Enum_TWO Enum = 2
	Enum_TEN Enum = 10
)

// Enum value maps for Enum.
var (
	Enum_name = map[int32]string{
		1:  "ONE",
		2:  "TWO",
		10: "TEN",
	}
	Enum_value = map[string]int32{
		"ONE": 1,
		"TWO": 2,
		"TEN": 10,
	}
)

func (x Enum) Enum() *Enum {
	p := new(Enum)
	*p = x
	return p
}

func (x Enum) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Enum) Descriptor() protoreflect.EnumDescriptor {
	return file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_enumTypes[0].Descriptor()
}

func (Enum) Type() protoreflect.EnumType {
	return &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_enumTypes[0]
}

func (x Enum) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

type OpenEnum int32

const (
	OpenEnum_UNKNOWN OpenEnum = 0
	OpenEnum_EINS    OpenEnum = 1
	OpenEnum_ZWEI    OpenEnum = 2
	OpenEnum_ZEHN    OpenEnum = 10
)

// Enum value maps for OpenEnum.
var (
	OpenEnum_name = map[int32]string{
		0:  "UNKNOWN",
		1:  "EINS",
		2:  "ZWEI",
		10: "ZEHN",
	}
	OpenEnum_value = map[string]int32{
		"UNKNOWN": 0,
		"EINS":    1,
		"ZWEI":    2,
		"ZEHN":    10,
	}
)

func (x OpenEnum) Enum() *OpenEnum {
	p := new(OpenEnum)
	*p = x
	return p
}

func (x OpenEnum) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (OpenEnum) Descriptor() protoreflect.EnumDescriptor {
	return file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_enumTypes[1].Descriptor()
}

func (OpenEnum) Type() protoreflect.EnumType {
	return &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_enumTypes[1]
}

func (x OpenEnum) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

type Enums_NestedEnum int32

const (
	Enums_UNO  Enums_NestedEnum = 1
	Enums_DOS  Enums_NestedEnum = 2
	Enums_DIEZ Enums_NestedEnum = 10
)

// Enum value maps for Enums_NestedEnum.
var (
	Enums_NestedEnum_name = map[int32]string{
		1:  "UNO",
		2:  "DOS",
		10: "DIEZ",
	}
	Enums_NestedEnum_value = map[string]int32{
		"UNO":  1,
		"DOS":  2,
		"DIEZ": 10,
	}
)

func (x Enums_NestedEnum) Enum() *Enums_NestedEnum {
	p := new(Enums_NestedEnum)
	*p = x
	return p
}

func (x Enums_NestedEnum) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Enums_NestedEnum) Descriptor() protoreflect.EnumDescriptor {
	return file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_enumTypes[2].Descriptor()
}

func (Enums_NestedEnum) Type() protoreflect.EnumType {
	return &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_enumTypes[2]
}

func (x Enums_NestedEnum) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

type Enums_NestedOpenEnum int32

const (
	Enums_UNKNOWN Enums_NestedOpenEnum = 0
	Enums_EINS    Enums_NestedOpenEnum = 1
	Enums_ZWEI    Enums_NestedOpenEnum = 2
	Enums_ZEHN    Enums_NestedOpenEnum = 10
)

// Enum value maps for Enums_NestedOpenEnum.
var (
	Enums_NestedOpenEnum_name = map[int32]string{
		0:  "UNKNOWN",
		1:  "EINS",
		2:  "ZWEI",
		10: "ZEHN",
	}
	Enums_NestedOpenEnum_value = map[string]int32{
		"UNKNOWN": 0,
		"EINS":    1,
		"ZWEI":    2,
		"ZEHN":    10,
	}
)

func (x Enums_NestedOpenEnum) Enum() *Enums_NestedOpenEnum {
	p := new(Enums_NestedOpenEnum)
	*p = x
	return p
}

func (x Enums_NestedOpenEnum) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Enums_NestedOpenEnum) Descriptor() protoreflect.EnumDescriptor {
	return file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_enumTypes[3].Descriptor()
}

func (Enums_NestedOpenEnum) Type() protoreflect.EnumType {
	return &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_enumTypes[3]
}

func (x Enums_NestedOpenEnum) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Scalars contains scalar fields.
type Scalars struct {
	state                  protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_OptBool     bool                   `protobuf:"varint,1,opt,name=opt_bool,json=optBool"`
	xxx_hidden_OptInt32    int32                  `protobuf:"varint,2,opt,name=opt_int32,json=optInt32"`
	xxx_hidden_OptInt64    int64                  `protobuf:"varint,3,opt,name=opt_int64,json=optInt64"`
	xxx_hidden_OptUint32   uint32                 `protobuf:"varint,4,opt,name=opt_uint32,json=optUint32"`
	xxx_hidden_OptUint64   uint64                 `protobuf:"varint,5,opt,name=opt_uint64,json=optUint64"`
	xxx_hidden_OptSint32   int32                  `protobuf:"zigzag32,6,opt,name=opt_sint32,json=optSint32"`
	xxx_hidden_OptSint64   int64                  `protobuf:"zigzag64,7,opt,name=opt_sint64,json=optSint64"`
	xxx_hidden_OptFixed32  uint32                 `protobuf:"fixed32,8,opt,name=opt_fixed32,json=optFixed32"`
	xxx_hidden_OptFixed64  uint64                 `protobuf:"fixed64,9,opt,name=opt_fixed64,json=optFixed64"`
	xxx_hidden_OptSfixed32 int32                  `protobuf:"fixed32,10,opt,name=opt_sfixed32,json=optSfixed32"`
	xxx_hidden_OptSfixed64 int64                  `protobuf:"fixed64,11,opt,name=opt_sfixed64,json=optSfixed64"`
	xxx_hidden_OptFloat    float32                `protobuf:"fixed32,20,opt,name=opt_float,json=optFloat"`
	xxx_hidden_OptDouble   float64                `protobuf:"fixed64,21,opt,name=opt_double,json=optDouble"`
	xxx_hidden_OptBytes    []byte                 `protobuf:"bytes,14,opt,name=opt_bytes,json=optBytes"`
	xxx_hidden_OptString   *string                `protobuf:"bytes,13,opt,name=opt_string,json=optString"`
	XXX_raceDetectHookData protoimpl.RaceDetectHookData
	XXX_presence           [1]uint32
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *Scalars) Reset() {
	*x = Scalars{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Scalars) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Scalars) ProtoMessage() {}

func (x *Scalars) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *Scalars) GetOptBool() bool {
	if x != nil {
		return x.xxx_hidden_OptBool
	}
	return false
}

func (x *Scalars) GetOptInt32() int32 {
	if x != nil {
		return x.xxx_hidden_OptInt32
	}
	return 0
}

func (x *Scalars) GetOptInt64() int64 {
	if x != nil {
		return x.xxx_hidden_OptInt64
	}
	return 0
}

func (x *Scalars) GetOptUint32() uint32 {
	if x != nil {
		return x.xxx_hidden_OptUint32
	}
	return 0
}

func (x *Scalars) GetOptUint64() uint64 {
	if x != nil {
		return x.xxx_hidden_OptUint64
	}
	return 0
}

func (x *Scalars) GetOptSint32() int32 {
	if x != nil {
		return x.xxx_hidden_OptSint32
	}
	return 0
}

func (x *Scalars) GetOptSint64() int64 {
	if x != nil {
		return x.xxx_hidden_OptSint64
	}
	return 0
}

func (x *Scalars) GetOptFixed32() uint32 {
	if x != nil {
		return x.xxx_hidden_OptFixed32
	}
	return 0
}

func (x *Scalars) GetOptFixed64() uint64 {
	if x != nil {
		return x.xxx_hidden_OptFixed64
	}
	return 0
}

func (x *Scalars) GetOptSfixed32() int32 {
	if x != nil {
		return x.xxx_hidden_OptSfixed32
	}
	return 0
}

func (x *Scalars) GetOptSfixed64() int64 {
	if x != nil {
		return x.xxx_hidden_OptSfixed64
	}
	return 0
}

func (x *Scalars) GetOptFloat() float32 {
	if x != nil {
		return x.xxx_hidden_OptFloat
	}
	return 0
}

func (x *Scalars) GetOptDouble() float64 {
	if x != nil {
		return x.xxx_hidden_OptDouble
	}
	return 0
}

func (x *Scalars) GetOptBytes() []byte {
	if x != nil {
		return x.xxx_hidden_OptBytes
	}
	return nil
}

func (x *Scalars) GetOptString() string {
	if x != nil {
		if x.xxx_hidden_OptString != nil {
			return *x.xxx_hidden_OptString
		}
		return ""
	}
	return ""
}

func (x *Scalars) SetOptBool(v bool) {
	x.xxx_hidden_OptBool = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 15)
}

func (x *Scalars) SetOptInt32(v int32) {
	x.xxx_hidden_OptInt32 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 15)
}

func (x *Scalars) SetOptInt64(v int64) {
	x.xxx_hidden_OptInt64 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 15)
}

func (x *Scalars) SetOptUint32(v uint32) {
	x.xxx_hidden_OptUint32 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 15)
}

func (x *Scalars) SetOptUint64(v uint64) {
	x.xxx_hidden_OptUint64 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 4, 15)
}

func (x *Scalars) SetOptSint32(v int32) {
	x.xxx_hidden_OptSint32 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 5, 15)
}

func (x *Scalars) SetOptSint64(v int64) {
	x.xxx_hidden_OptSint64 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 6, 15)
}

func (x *Scalars) SetOptFixed32(v uint32) {
	x.xxx_hidden_OptFixed32 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 7, 15)
}

func (x *Scalars) SetOptFixed64(v uint64) {
	x.xxx_hidden_OptFixed64 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 8, 15)
}

func (x *Scalars) SetOptSfixed32(v int32) {
	x.xxx_hidden_OptSfixed32 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 9, 15)
}

func (x *Scalars) SetOptSfixed64(v int64) {
	x.xxx_hidden_OptSfixed64 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 10, 15)
}

func (x *Scalars) SetOptFloat(v float32) {
	x.xxx_hidden_OptFloat = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 11, 15)
}

func (x *Scalars) SetOptDouble(v float64) {
	x.xxx_hidden_OptDouble = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 12, 15)
}

func (x *Scalars) SetOptBytes(v []byte) {
	if v == nil {
		v = []byte{}
	}
	x.xxx_hidden_OptBytes = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 13, 15)
}

func (x *Scalars) SetOptString(v string) {
	x.xxx_hidden_OptString = &v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 14, 15)
}

func (x *Scalars) HasOptBool() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *Scalars) HasOptInt32() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
}

func (x *Scalars) HasOptInt64() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
}

func (x *Scalars) HasOptUint32() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 3)
}

func (x *Scalars) HasOptUint64() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 4)
}

func (x *Scalars) HasOptSint32() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 5)
}

func (x *Scalars) HasOptSint64() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 6)
}

func (x *Scalars) HasOptFixed32() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 7)
}

func (x *Scalars) HasOptFixed64() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 8)
}

func (x *Scalars) HasOptSfixed32() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 9)
}

func (x *Scalars) HasOptSfixed64() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 10)
}

func (x *Scalars) HasOptFloat() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 11)
}

func (x *Scalars) HasOptDouble() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 12)
}

func (x *Scalars) HasOptBytes() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 13)
}

func (x *Scalars) HasOptString() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 14)
}

func (x *Scalars) ClearOptBool() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_OptBool = false
}

func (x *Scalars) ClearOptInt32() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
	x.xxx_hidden_OptInt32 = 0
}

func (x *Scalars) ClearOptInt64() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
	x.xxx_hidden_OptInt64 = 0
}

func (x *Scalars) ClearOptUint32() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 3)
	x.xxx_hidden_OptUint32 = 0
}

func (x *Scalars) ClearOptUint64() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 4)
	x.xxx_hidden_OptUint64 = 0
}

func (x *Scalars) ClearOptSint32() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 5)
	x.xxx_hidden_OptSint32 = 0
}

func (x *Scalars) ClearOptSint64() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 6)
	x.xxx_hidden_OptSint64 = 0
}

func (x *Scalars) ClearOptFixed32() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 7)
	x.xxx_hidden_OptFixed32 = 0
}

func (x *Scalars) ClearOptFixed64() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 8)
	x.xxx_hidden_OptFixed64 = 0
}

func (x *Scalars) ClearOptSfixed32() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 9)
	x.xxx_hidden_OptSfixed32 = 0
}

func (x *Scalars) ClearOptSfixed64() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 10)
	x.xxx_hidden_OptSfixed64 = 0
}

func (x *Scalars) ClearOptFloat() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 11)
	x.xxx_hidden_OptFloat = 0
}

func (x *Scalars) ClearOptDouble() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 12)
	x.xxx_hidden_OptDouble = 0
}

func (x *Scalars) ClearOptBytes() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 13)
	x.xxx_hidden_OptBytes = nil
}

func (x *Scalars) ClearOptString() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 14)
	x.xxx_hidden_OptString = nil
}

type Scalars_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	OptBool     *bool
	OptInt32    *int32
	OptInt64    *int64
	OptUint32   *uint32
	OptUint64   *uint64
	OptSint32   *int32
	OptSint64   *int64
	OptFixed32  *uint32
	OptFixed64  *uint64
	OptSfixed32 *int32
	OptSfixed64 *int64
	OptFloat    *float32
	OptDouble   *float64
	OptBytes    []byte
	OptString   *string
}

func (b0 Scalars_builder) Build() *Scalars {
	m0 := &Scalars{}
	b, x := &b0, m0
	_, _ = b, x
	if b.OptBool != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 15)
		x.xxx_hidden_OptBool = *b.OptBool
	}
	if b.OptInt32 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 15)
		x.xxx_hidden_OptInt32 = *b.OptInt32
	}
	if b.OptInt64 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 15)
		x.xxx_hidden_OptInt64 = *b.OptInt64
	}
	if b.OptUint32 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 15)
		x.xxx_hidden_OptUint32 = *b.OptUint32
	}
	if b.OptUint64 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 4, 15)
		x.xxx_hidden_OptUint64 = *b.OptUint64
	}
	if b.OptSint32 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 5, 15)
		x.xxx_hidden_OptSint32 = *b.OptSint32
	}
	if b.OptSint64 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 6, 15)
		x.xxx_hidden_OptSint64 = *b.OptSint64
	}
	if b.OptFixed32 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 7, 15)
		x.xxx_hidden_OptFixed32 = *b.OptFixed32
	}
	if b.OptFixed64 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 8, 15)
		x.xxx_hidden_OptFixed64 = *b.OptFixed64
	}
	if b.OptSfixed32 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 9, 15)
		x.xxx_hidden_OptSfixed32 = *b.OptSfixed32
	}
	if b.OptSfixed64 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 10, 15)
		x.xxx_hidden_OptSfixed64 = *b.OptSfixed64
	}
	if b.OptFloat != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 11, 15)
		x.xxx_hidden_OptFloat = *b.OptFloat
	}
	if b.OptDouble != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 12, 15)
		x.xxx_hidden_OptDouble = *b.OptDouble
	}
	if b.OptBytes != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 13, 15)
		x.xxx_hidden_OptBytes = b.OptBytes
	}
	if b.OptString != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 14, 15)
		x.xxx_hidden_OptString = b.OptString
	}
	return m0
}

// ImplicitScalars contains scalar field types with implicit field_presence
type ImplicitScalars struct {
	state                protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_SBool     bool                   `protobuf:"varint,1,opt,name=s_bool,json=sBool"`
	xxx_hidden_SInt32    int32                  `protobuf:"varint,2,opt,name=s_int32,json=sInt32"`
	xxx_hidden_SInt64    int64                  `protobuf:"varint,3,opt,name=s_int64,json=sInt64"`
	xxx_hidden_SUint32   uint32                 `protobuf:"varint,4,opt,name=s_uint32,json=sUint32"`
	xxx_hidden_SUint64   uint64                 `protobuf:"varint,5,opt,name=s_uint64,json=sUint64"`
	xxx_hidden_SSint32   int32                  `protobuf:"zigzag32,6,opt,name=s_sint32,json=sSint32"`
	xxx_hidden_SSint64   int64                  `protobuf:"zigzag64,7,opt,name=s_sint64,json=sSint64"`
	xxx_hidden_SFixed32  uint32                 `protobuf:"fixed32,8,opt,name=s_fixed32,json=sFixed32"`
	xxx_hidden_SFixed64  uint64                 `protobuf:"fixed64,9,opt,name=s_fixed64,json=sFixed64"`
	xxx_hidden_SSfixed32 int32                  `protobuf:"fixed32,10,opt,name=s_sfixed32,json=sSfixed32"`
	xxx_hidden_SSfixed64 int64                  `protobuf:"fixed64,11,opt,name=s_sfixed64,json=sSfixed64"`
	xxx_hidden_SFloat    float32                `protobuf:"fixed32,20,opt,name=s_float,json=sFloat"`
	xxx_hidden_SDouble   float64                `protobuf:"fixed64,21,opt,name=s_double,json=sDouble"`
	xxx_hidden_SBytes    []byte                 `protobuf:"bytes,14,opt,name=s_bytes,json=sBytes"`
	xxx_hidden_SString   string                 `protobuf:"bytes,13,opt,name=s_string,json=sString"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *ImplicitScalars) Reset() {
	*x = ImplicitScalars{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ImplicitScalars) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ImplicitScalars) ProtoMessage() {}

func (x *ImplicitScalars) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *ImplicitScalars) GetSBool() bool {
	if x != nil {
		return x.xxx_hidden_SBool
	}
	return false
}

func (x *ImplicitScalars) GetSInt32() int32 {
	if x != nil {
		return x.xxx_hidden_SInt32
	}
	return 0
}

func (x *ImplicitScalars) GetSInt64() int64 {
	if x != nil {
		return x.xxx_hidden_SInt64
	}
	return 0
}

func (x *ImplicitScalars) GetSUint32() uint32 {
	if x != nil {
		return x.xxx_hidden_SUint32
	}
	return 0
}

func (x *ImplicitScalars) GetSUint64() uint64 {
	if x != nil {
		return x.xxx_hidden_SUint64
	}
	return 0
}

func (x *ImplicitScalars) GetSSint32() int32 {
	if x != nil {
		return x.xxx_hidden_SSint32
	}
	return 0
}

func (x *ImplicitScalars) GetSSint64() int64 {
	if x != nil {
		return x.xxx_hidden_SSint64
	}
	return 0
}

func (x *ImplicitScalars) GetSFixed32() uint32 {
	if x != nil {
		return x.xxx_hidden_SFixed32
	}
	return 0
}

func (x *ImplicitScalars) GetSFixed64() uint64 {
	if x != nil {
		return x.xxx_hidden_SFixed64
	}
	return 0
}

func (x *ImplicitScalars) GetSSfixed32() int32 {
	if x != nil {
		return x.xxx_hidden_SSfixed32
	}
	return 0
}

func (x *ImplicitScalars) GetSSfixed64() int64 {
	if x != nil {
		return x.xxx_hidden_SSfixed64
	}
	return 0
}

func (x *ImplicitScalars) GetSFloat() float32 {
	if x != nil {
		return x.xxx_hidden_SFloat
	}
	return 0
}

func (x *ImplicitScalars) GetSDouble() float64 {
	if x != nil {
		return x.xxx_hidden_SDouble
	}
	return 0
}

func (x *ImplicitScalars) GetSBytes() []byte {
	if x != nil {
		return x.xxx_hidden_SBytes
	}
	return nil
}

func (x *ImplicitScalars) GetSString() string {
	if x != nil {
		return x.xxx_hidden_SString
	}
	return ""
}

func (x *ImplicitScalars) SetSBool(v bool) {
	x.xxx_hidden_SBool = v
}

func (x *ImplicitScalars) SetSInt32(v int32) {
	x.xxx_hidden_SInt32 = v
}

func (x *ImplicitScalars) SetSInt64(v int64) {
	x.xxx_hidden_SInt64 = v
}

func (x *ImplicitScalars) SetSUint32(v uint32) {
	x.xxx_hidden_SUint32 = v
}

func (x *ImplicitScalars) SetSUint64(v uint64) {
	x.xxx_hidden_SUint64 = v
}

func (x *ImplicitScalars) SetSSint32(v int32) {
	x.xxx_hidden_SSint32 = v
}

func (x *ImplicitScalars) SetSSint64(v int64) {
	x.xxx_hidden_SSint64 = v
}

func (x *ImplicitScalars) SetSFixed32(v uint32) {
	x.xxx_hidden_SFixed32 = v
}

func (x *ImplicitScalars) SetSFixed64(v uint64) {
	x.xxx_hidden_SFixed64 = v
}

func (x *ImplicitScalars) SetSSfixed32(v int32) {
	x.xxx_hidden_SSfixed32 = v
}

func (x *ImplicitScalars) SetSSfixed64(v int64) {
	x.xxx_hidden_SSfixed64 = v
}

func (x *ImplicitScalars) SetSFloat(v float32) {
	x.xxx_hidden_SFloat = v
}

func (x *ImplicitScalars) SetSDouble(v float64) {
	x.xxx_hidden_SDouble = v
}

func (x *ImplicitScalars) SetSBytes(v []byte) {
	if v == nil {
		v = []byte{}
	}
	x.xxx_hidden_SBytes = v
}

func (x *ImplicitScalars) SetSString(v string) {
	x.xxx_hidden_SString = v
}

type ImplicitScalars_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	SBool     bool
	SInt32    int32
	SInt64    int64
	SUint32   uint32
	SUint64   uint64
	SSint32   int32
	SSint64   int64
	SFixed32  uint32
	SFixed64  uint64
	SSfixed32 int32
	SSfixed64 int64
	SFloat    float32
	SDouble   float64
	SBytes    []byte
	SString   string
}

func (b0 ImplicitScalars_builder) Build() *ImplicitScalars {
	m0 := &ImplicitScalars{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_SBool = b.SBool
	x.xxx_hidden_SInt32 = b.SInt32
	x.xxx_hidden_SInt64 = b.SInt64
	x.xxx_hidden_SUint32 = b.SUint32
	x.xxx_hidden_SUint64 = b.SUint64
	x.xxx_hidden_SSint32 = b.SSint32
	x.xxx_hidden_SSint64 = b.SSint64
	x.xxx_hidden_SFixed32 = b.SFixed32
	x.xxx_hidden_SFixed64 = b.SFixed64
	x.xxx_hidden_SSfixed32 = b.SSfixed32
	x.xxx_hidden_SSfixed64 = b.SSfixed64
	x.xxx_hidden_SFloat = b.SFloat
	x.xxx_hidden_SDouble = b.SDouble
	x.xxx_hidden_SBytes = b.SBytes
	x.xxx_hidden_SString = b.SString
	return m0
}

type UTF8Validated struct {
	state                      protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_ValidatedString string                 `protobuf:"bytes,1,opt,name=validated_string,json=validatedString"`
	unknownFields              protoimpl.UnknownFields
	sizeCache                  protoimpl.SizeCache
}

func (x *UTF8Validated) Reset() {
	*x = UTF8Validated{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *UTF8Validated) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UTF8Validated) ProtoMessage() {}

func (x *UTF8Validated) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *UTF8Validated) GetValidatedString() string {
	if x != nil {
		return x.xxx_hidden_ValidatedString
	}
	return ""
}

func (x *UTF8Validated) SetValidatedString(v string) {
	x.xxx_hidden_ValidatedString = v
}

type UTF8Validated_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	ValidatedString string
}

func (b0 UTF8Validated_builder) Build() *UTF8Validated {
	m0 := &UTF8Validated{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_ValidatedString = b.ValidatedString
	return m0
}

type NestsUTF8Validated struct {
	state                       protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_ValidatedMessage *UTF8Validated         `protobuf:"bytes,1,opt,name=validated_message,json=validatedMessage"`
	unknownFields               protoimpl.UnknownFields
	sizeCache                   protoimpl.SizeCache
}

func (x *NestsUTF8Validated) Reset() {
	*x = NestsUTF8Validated{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *NestsUTF8Validated) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NestsUTF8Validated) ProtoMessage() {}

func (x *NestsUTF8Validated) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *NestsUTF8Validated) GetValidatedMessage() *UTF8Validated {
	if x != nil {
		return x.xxx_hidden_ValidatedMessage
	}
	return nil
}

func (x *NestsUTF8Validated) SetValidatedMessage(v *UTF8Validated) {
	x.xxx_hidden_ValidatedMessage = v
}

func (x *NestsUTF8Validated) HasValidatedMessage() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_ValidatedMessage != nil
}

func (x *NestsUTF8Validated) ClearValidatedMessage() {
	x.xxx_hidden_ValidatedMessage = nil
}

type NestsUTF8Validated_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	ValidatedMessage *UTF8Validated
}

func (b0 NestsUTF8Validated_builder) Build() *NestsUTF8Validated {
	m0 := &NestsUTF8Validated{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_ValidatedMessage = b.ValidatedMessage
	return m0
}

// Message contains enum fields.
type Enums struct {
	state                         protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_OptEnum            Enum                   `protobuf:"varint,1,opt,name=opt_enum,json=optEnum,enum=opaque.pbeditions.Enum"`
	xxx_hidden_RptEnum            []Enum                 `protobuf:"varint,2,rep,packed,name=rpt_enum,json=rptEnum,enum=opaque.pbeditions.Enum"`
	xxx_hidden_ImplicitEnum       OpenEnum               `protobuf:"varint,5,opt,name=implicit_enum,json=implicitEnum,enum=opaque.pbeditions.OpenEnum"`
	xxx_hidden_OptNestedEnum      Enums_NestedEnum       `protobuf:"varint,3,opt,name=opt_nested_enum,json=optNestedEnum,enum=opaque.pbeditions.Enums_NestedEnum"`
	xxx_hidden_RptNestedEnum      []Enums_NestedEnum     `protobuf:"varint,4,rep,packed,name=rpt_nested_enum,json=rptNestedEnum,enum=opaque.pbeditions.Enums_NestedEnum"`
	xxx_hidden_ImplicitNestedEnum Enums_NestedOpenEnum   `protobuf:"varint,6,opt,name=implicit_nested_enum,json=implicitNestedEnum,enum=opaque.pbeditions.Enums_NestedOpenEnum"`
	XXX_raceDetectHookData        protoimpl.RaceDetectHookData
	XXX_presence                  [1]uint32
	unknownFields                 protoimpl.UnknownFields
	sizeCache                     protoimpl.SizeCache
}

func (x *Enums) Reset() {
	*x = Enums{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Enums) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Enums) ProtoMessage() {}

func (x *Enums) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_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)
}

func (x *Enums) GetOptEnum() Enum {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[0]), 0) {
			return x.xxx_hidden_OptEnum
		}
	}
	return Enum_ONE
}

func (x *Enums) GetRptEnum() []Enum {
	if x != nil {
		return x.xxx_hidden_RptEnum
	}
	return nil
}

func (x *Enums) GetImplicitEnum() OpenEnum {
	if x != nil {
		return x.xxx_hidden_ImplicitEnum
	}
	return OpenEnum_UNKNOWN
}

func (x *Enums) GetOptNestedEnum() Enums_NestedEnum {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[0]), 3) {
			return x.xxx_hidden_OptNestedEnum
		}
	}
	return Enums_UNO
}

func (x *Enums) GetRptNestedEnum() []Enums_NestedEnum {
	if x != nil {
		return x.xxx_hidden_RptNestedEnum
	}
	return nil
}

func (x *Enums) GetImplicitNestedEnum() Enums_NestedOpenEnum {
	if x != nil {
		return x.xxx_hidden_ImplicitNestedEnum
	}
	return Enums_UNKNOWN
}

func (x *Enums) SetOptEnum(v Enum) {
	x.xxx_hidden_OptEnum = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 6)
}

func (x *Enums) SetRptEnum(v []Enum) {
	x.xxx_hidden_RptEnum = v
}

func (x *Enums) SetImplicitEnum(v OpenEnum) {
	x.xxx_hidden_ImplicitEnum = v
}

func (x *Enums) SetOptNestedEnum(v Enums_NestedEnum) {
	x.xxx_hidden_OptNestedEnum = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 6)
}

func (x *Enums) SetRptNestedEnum(v []Enums_NestedEnum) {
	x.xxx_hidden_RptNestedEnum = v
}

func (x *Enums) SetImplicitNestedEnum(v Enums_NestedOpenEnum) {
	x.xxx_hidden_ImplicitNestedEnum = v
}

func (x *Enums) HasOptEnum() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *Enums) HasOptNestedEnum() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 3)
}

func (x *Enums) ClearOptEnum() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_OptEnum = Enum_ONE
}

func (x *Enums) ClearOptNestedEnum() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 3)
	x.xxx_hidden_OptNestedEnum = Enums_UNO
}

type Enums_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	OptEnum            *Enum
	RptEnum            []Enum
	ImplicitEnum       OpenEnum
	OptNestedEnum      *Enums_NestedEnum
	RptNestedEnum      []Enums_NestedEnum
	ImplicitNestedEnum Enums_NestedOpenEnum
}

func (b0 Enums_builder) Build() *Enums {
	m0 := &Enums{}
	b, x := &b0, m0
	_, _ = b, x
	if b.OptEnum != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 6)
		x.xxx_hidden_OptEnum = *b.OptEnum
	}
	x.xxx_hidden_RptEnum = b.RptEnum
	x.xxx_hidden_ImplicitEnum = b.ImplicitEnum
	if b.OptNestedEnum != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 6)
		x.xxx_hidden_OptNestedEnum = *b.OptNestedEnum
	}
	x.xxx_hidden_RptNestedEnum = b.RptNestedEnum
	x.xxx_hidden_ImplicitNestedEnum = b.ImplicitNestedEnum
	return m0
}

// Message contains repeated fields.
type Repeats struct {
	state                protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_RptBool   []bool                 `protobuf:"varint,1,rep,packed,name=rpt_bool,json=rptBool"`
	xxx_hidden_RptInt32  []int32                `protobuf:"varint,2,rep,packed,name=rpt_int32,json=rptInt32"`
	xxx_hidden_RptInt64  []int64                `protobuf:"varint,3,rep,packed,name=rpt_int64,json=rptInt64"`
	xxx_hidden_RptUint32 []uint32               `protobuf:"varint,4,rep,packed,name=rpt_uint32,json=rptUint32"`
	xxx_hidden_RptUint64 []uint64               `protobuf:"varint,5,rep,packed,name=rpt_uint64,json=rptUint64"`
	xxx_hidden_RptFloat  []float32              `protobuf:"fixed32,6,rep,packed,name=rpt_float,json=rptFloat"`
	xxx_hidden_RptDouble []float64              `protobuf:"fixed64,7,rep,packed,name=rpt_double,json=rptDouble"`
	xxx_hidden_RptString []string               `protobuf:"bytes,8,rep,name=rpt_string,json=rptString"`
	xxx_hidden_RptBytes  [][]byte               `protobuf:"bytes,9,rep,name=rpt_bytes,json=rptBytes"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *Repeats) Reset() {
	*x = Repeats{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Repeats) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Repeats) ProtoMessage() {}

func (x *Repeats) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_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)
}

func (x *Repeats) GetRptBool() []bool {
	if x != nil {
		return x.xxx_hidden_RptBool
	}
	return nil
}

func (x *Repeats) GetRptInt32() []int32 {
	if x != nil {
		return x.xxx_hidden_RptInt32
	}
	return nil
}

func (x *Repeats) GetRptInt64() []int64 {
	if x != nil {
		return x.xxx_hidden_RptInt64
	}
	return nil
}

func (x *Repeats) GetRptUint32() []uint32 {
	if x != nil {
		return x.xxx_hidden_RptUint32
	}
	return nil
}

func (x *Repeats) GetRptUint64() []uint64 {
	if x != nil {
		return x.xxx_hidden_RptUint64
	}
	return nil
}

func (x *Repeats) GetRptFloat() []float32 {
	if x != nil {
		return x.xxx_hidden_RptFloat
	}
	return nil
}

func (x *Repeats) GetRptDouble() []float64 {
	if x != nil {
		return x.xxx_hidden_RptDouble
	}
	return nil
}

func (x *Repeats) GetRptString() []string {
	if x != nil {
		return x.xxx_hidden_RptString
	}
	return nil
}

func (x *Repeats) GetRptBytes() [][]byte {
	if x != nil {
		return x.xxx_hidden_RptBytes
	}
	return nil
}

func (x *Repeats) SetRptBool(v []bool) {
	x.xxx_hidden_RptBool = v
}

func (x *Repeats) SetRptInt32(v []int32) {
	x.xxx_hidden_RptInt32 = v
}

func (x *Repeats) SetRptInt64(v []int64) {
	x.xxx_hidden_RptInt64 = v
}

func (x *Repeats) SetRptUint32(v []uint32) {
	x.xxx_hidden_RptUint32 = v
}

func (x *Repeats) SetRptUint64(v []uint64) {
	x.xxx_hidden_RptUint64 = v
}

func (x *Repeats) SetRptFloat(v []float32) {
	x.xxx_hidden_RptFloat = v
}

func (x *Repeats) SetRptDouble(v []float64) {
	x.xxx_hidden_RptDouble = v
}

func (x *Repeats) SetRptString(v []string) {
	x.xxx_hidden_RptString = v
}

func (x *Repeats) SetRptBytes(v [][]byte) {
	x.xxx_hidden_RptBytes = v
}

type Repeats_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	RptBool   []bool
	RptInt32  []int32
	RptInt64  []int64
	RptUint32 []uint32
	RptUint64 []uint64
	RptFloat  []float32
	RptDouble []float64
	RptString []string
	RptBytes  [][]byte
}

func (b0 Repeats_builder) Build() *Repeats {
	m0 := &Repeats{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_RptBool = b.RptBool
	x.xxx_hidden_RptInt32 = b.RptInt32
	x.xxx_hidden_RptInt64 = b.RptInt64
	x.xxx_hidden_RptUint32 = b.RptUint32
	x.xxx_hidden_RptUint64 = b.RptUint64
	x.xxx_hidden_RptFloat = b.RptFloat
	x.xxx_hidden_RptDouble = b.RptDouble
	x.xxx_hidden_RptString = b.RptString
	x.xxx_hidden_RptBytes = b.RptBytes
	return m0
}

// Message contains map fields.
type Maps struct {
	state                  protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_Int32ToStr  map[int32]string       `protobuf:"bytes,1,rep,name=int32_to_str,json=int32ToStr" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	xxx_hidden_StrToNested map[string]*Nested     `protobuf:"bytes,4,rep,name=str_to_nested,json=strToNested" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *Maps) Reset() {
	*x = Maps{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Maps) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Maps) ProtoMessage() {}

func (x *Maps) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *Maps) GetInt32ToStr() map[int32]string {
	if x != nil {
		return x.xxx_hidden_Int32ToStr
	}
	return nil
}

func (x *Maps) GetStrToNested() map[string]*Nested {
	if x != nil {
		return x.xxx_hidden_StrToNested
	}
	return nil
}

func (x *Maps) SetInt32ToStr(v map[int32]string) {
	x.xxx_hidden_Int32ToStr = v
}

func (x *Maps) SetStrToNested(v map[string]*Nested) {
	x.xxx_hidden_StrToNested = v
}

type Maps_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	Int32ToStr  map[int32]string
	StrToNested map[string]*Nested
}

func (b0 Maps_builder) Build() *Maps {
	m0 := &Maps{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_Int32ToStr = b.Int32ToStr
	x.xxx_hidden_StrToNested = b.StrToNested
	return m0
}

// Message type used as submessage.
type Nested struct {
	state                  protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_OptString   *string                `protobuf:"bytes,1,opt,name=opt_string,json=optString"`
	xxx_hidden_OptNested   *Nested                `protobuf:"bytes,2,opt,name=opt_nested,json=optNested"`
	XXX_raceDetectHookData protoimpl.RaceDetectHookData
	XXX_presence           [1]uint32
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *Nested) Reset() {
	*x = Nested{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Nested) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Nested) ProtoMessage() {}

func (x *Nested) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *Nested) GetOptString() string {
	if x != nil {
		if x.xxx_hidden_OptString != nil {
			return *x.xxx_hidden_OptString
		}
		return ""
	}
	return ""
}

func (x *Nested) GetOptNested() *Nested {
	if x != nil {
		return x.xxx_hidden_OptNested
	}
	return nil
}

func (x *Nested) SetOptString(v string) {
	x.xxx_hidden_OptString = &v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
}

func (x *Nested) SetOptNested(v *Nested) {
	x.xxx_hidden_OptNested = v
}

func (x *Nested) HasOptString() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *Nested) HasOptNested() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptNested != nil
}

func (x *Nested) ClearOptString() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_OptString = nil
}

func (x *Nested) ClearOptNested() {
	x.xxx_hidden_OptNested = nil
}

type Nested_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	OptString *string
	OptNested *Nested
}

func (b0 Nested_builder) Build() *Nested {
	m0 := &Nested{}
	b, x := &b0, m0
	_, _ = b, x
	if b.OptString != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
		x.xxx_hidden_OptString = b.OptString
	}
	x.xxx_hidden_OptNested = b.OptNested
	return m0
}

// Message contains message and group fields.
type Nests struct {
	state                     protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_OptNested      *Nested                `protobuf:"bytes,1,opt,name=opt_nested,json=optNested"`
	xxx_hidden_Optgroup       *Nests_OptGroup        `protobuf:"group,2,opt,name=OptGroup,json=optgroup"`
	xxx_hidden_DelimitedField *Nests_OptGroup        `protobuf:"group,3,opt,name=OptGroup,json=delimitedField"`
	xxx_hidden_RptNested      *[]*Nested             `protobuf:"bytes,4,rep,name=rpt_nested,json=rptNested"`
	xxx_hidden_Rptgroup       *[]*Nests_RptGroup     `protobuf:"group,5,rep,name=RptGroup,json=rptgroup"`
	unknownFields             protoimpl.UnknownFields
	sizeCache                 protoimpl.SizeCache
}

func (x *Nests) Reset() {
	*x = Nests{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Nests) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Nests) ProtoMessage() {}

func (x *Nests) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *Nests) GetOptNested() *Nested {
	if x != nil {
		return x.xxx_hidden_OptNested
	}
	return nil
}

func (x *Nests) GetOptgroup() *Nests_OptGroup {
	if x != nil {
		return x.xxx_hidden_Optgroup
	}
	return nil
}

func (x *Nests) GetDelimitedField() *Nests_OptGroup {
	if x != nil {
		return x.xxx_hidden_DelimitedField
	}
	return nil
}

func (x *Nests) GetRptNested() []*Nested {
	if x != nil {
		if x.xxx_hidden_RptNested != nil {
			return *x.xxx_hidden_RptNested
		}
	}
	return nil
}

func (x *Nests) GetRptgroup() []*Nests_RptGroup {
	if x != nil {
		if x.xxx_hidden_Rptgroup != nil {
			return *x.xxx_hidden_Rptgroup
		}
	}
	return nil
}

func (x *Nests) SetOptNested(v *Nested) {
	x.xxx_hidden_OptNested = v
}

func (x *Nests) SetOptgroup(v *Nests_OptGroup) {
	x.xxx_hidden_Optgroup = v
}

func (x *Nests) SetDelimitedField(v *Nests_OptGroup) {
	x.xxx_hidden_DelimitedField = v
}

func (x *Nests) SetRptNested(v []*Nested) {
	x.xxx_hidden_RptNested = &v
}

func (x *Nests) SetRptgroup(v []*Nests_RptGroup) {
	x.xxx_hidden_Rptgroup = &v
}

func (x *Nests) HasOptNested() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptNested != nil
}

func (x *Nests) HasOptgroup() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_Optgroup != nil
}

func (x *Nests) HasDelimitedField() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_DelimitedField != nil
}

func (x *Nests) ClearOptNested() {
	x.xxx_hidden_OptNested = nil
}

func (x *Nests) ClearOptgroup() {
	x.xxx_hidden_Optgroup = nil
}

func (x *Nests) ClearDelimitedField() {
	x.xxx_hidden_DelimitedField = nil
}

type Nests_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	OptNested      *Nested
	Optgroup       *Nests_OptGroup
	DelimitedField *Nests_OptGroup
	RptNested      []*Nested
	Rptgroup       []*Nests_RptGroup
}

func (b0 Nests_builder) Build() *Nests {
	m0 := &Nests{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_OptNested = b.OptNested
	x.xxx_hidden_Optgroup = b.Optgroup
	x.xxx_hidden_DelimitedField = b.DelimitedField
	x.xxx_hidden_RptNested = &b.RptNested
	x.xxx_hidden_Rptgroup = &b.Rptgroup
	return m0
}

// Message contains required fields.
type Requireds struct {
	state                  protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_ReqBool     bool                   `protobuf:"varint,1,req,name=req_bool,json=reqBool"`
	xxx_hidden_ReqSfixed64 int64                  `protobuf:"fixed64,2,req,name=req_sfixed64,json=reqSfixed64"`
	xxx_hidden_ReqDouble   float64                `protobuf:"fixed64,3,req,name=req_double,json=reqDouble"`
	xxx_hidden_ReqString   *string                `protobuf:"bytes,4,req,name=req_string,json=reqString"`
	xxx_hidden_ReqEnum     Enum                   `protobuf:"varint,5,req,name=req_enum,json=reqEnum,enum=opaque.pbeditions.Enum"`
	xxx_hidden_ReqNested   *Nested                `protobuf:"bytes,6,req,name=req_nested,json=reqNested"`
	XXX_raceDetectHookData protoimpl.RaceDetectHookData
	XXX_presence           [1]uint32
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *Requireds) Reset() {
	*x = Requireds{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Requireds) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Requireds) ProtoMessage() {}

func (x *Requireds) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *Requireds) GetReqBool() bool {
	if x != nil {
		return x.xxx_hidden_ReqBool
	}
	return false
}

func (x *Requireds) GetReqSfixed64() int64 {
	if x != nil {
		return x.xxx_hidden_ReqSfixed64
	}
	return 0
}

func (x *Requireds) GetReqDouble() float64 {
	if x != nil {
		return x.xxx_hidden_ReqDouble
	}
	return 0
}

func (x *Requireds) GetReqString() string {
	if x != nil {
		if x.xxx_hidden_ReqString != nil {
			return *x.xxx_hidden_ReqString
		}
		return ""
	}
	return ""
}

func (x *Requireds) GetReqEnum() Enum {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[0]), 4) {
			return x.xxx_hidden_ReqEnum
		}
	}
	return Enum_ONE
}

func (x *Requireds) GetReqNested() *Nested {
	if x != nil {
		return x.xxx_hidden_ReqNested
	}
	return nil
}

func (x *Requireds) SetReqBool(v bool) {
	x.xxx_hidden_ReqBool = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 6)
}

func (x *Requireds) SetReqSfixed64(v int64) {
	x.xxx_hidden_ReqSfixed64 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 6)
}

func (x *Requireds) SetReqDouble(v float64) {
	x.xxx_hidden_ReqDouble = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 6)
}

func (x *Requireds) SetReqString(v string) {
	x.xxx_hidden_ReqString = &v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 3, 6)
}

func (x *Requireds) SetReqEnum(v Enum) {
	x.xxx_hidden_ReqEnum = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 4, 6)
}

func (x *Requireds) SetReqNested(v *Nested) {
	x.xxx_hidden_ReqNested = v
}

func (x *Requireds) HasReqBool() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *Requireds) HasReqSfixed64() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
}

func (x *Requireds) HasReqDouble() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
}

func (x *Requireds) HasReqString() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 3)
}

func (x *Requireds) HasReqEnum() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 4)
}

func (x *Requireds) HasReqNested() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_ReqNested != nil
}

func (x *Requireds) ClearReqBool() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_ReqBool = false
}

func (x *Requireds) ClearReqSfixed64() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
	x.xxx_hidden_ReqSfixed64 = 0
}

func (x *Requireds) ClearReqDouble() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
	x.xxx_hidden_ReqDouble = 0
}

func (x *Requireds) ClearReqString() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 3)
	x.xxx_hidden_ReqString = nil
}

func (x *Requireds) ClearReqEnum() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 4)
	x.xxx_hidden_ReqEnum = Enum_ONE
}

func (x *Requireds) ClearReqNested() {
	x.xxx_hidden_ReqNested = nil
}

type Requireds_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	ReqBool     *bool
	ReqSfixed64 *int64
	ReqDouble   *float64
	ReqString   *string
	ReqEnum     *Enum
	ReqNested   *Nested
}

func (b0 Requireds_builder) Build() *Requireds {
	m0 := &Requireds{}
	b, x := &b0, m0
	_, _ = b, x
	if b.ReqBool != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 6)
		x.xxx_hidden_ReqBool = *b.ReqBool
	}
	if b.ReqSfixed64 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 6)
		x.xxx_hidden_ReqSfixed64 = *b.ReqSfixed64
	}
	if b.ReqDouble != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 6)
		x.xxx_hidden_ReqDouble = *b.ReqDouble
	}
	if b.ReqString != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 3, 6)
		x.xxx_hidden_ReqString = b.ReqString
	}
	if b.ReqEnum != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 4, 6)
		x.xxx_hidden_ReqEnum = *b.ReqEnum
	}
	x.xxx_hidden_ReqNested = b.ReqNested
	return m0
}

// Message contains both required and optional fields.
type PartialRequired struct {
	state                  protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_ReqString   *string                `protobuf:"bytes,1,req,name=req_string,json=reqString"`
	xxx_hidden_OptString   *string                `protobuf:"bytes,2,opt,name=opt_string,json=optString"`
	XXX_raceDetectHookData protoimpl.RaceDetectHookData
	XXX_presence           [1]uint32
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *PartialRequired) Reset() {
	*x = PartialRequired{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PartialRequired) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PartialRequired) ProtoMessage() {}

func (x *PartialRequired) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *PartialRequired) GetReqString() string {
	if x != nil {
		if x.xxx_hidden_ReqString != nil {
			return *x.xxx_hidden_ReqString
		}
		return ""
	}
	return ""
}

func (x *PartialRequired) GetOptString() string {
	if x != nil {
		if x.xxx_hidden_OptString != nil {
			return *x.xxx_hidden_OptString
		}
		return ""
	}
	return ""
}

func (x *PartialRequired) SetReqString(v string) {
	x.xxx_hidden_ReqString = &v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 2)
}

func (x *PartialRequired) SetOptString(v string) {
	x.xxx_hidden_OptString = &v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 2)
}

func (x *PartialRequired) HasReqString() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *PartialRequired) HasOptString() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
}

func (x *PartialRequired) ClearReqString() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_ReqString = nil
}

func (x *PartialRequired) ClearOptString() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
	x.xxx_hidden_OptString = nil
}

type PartialRequired_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	ReqString *string
	OptString *string
}

func (b0 PartialRequired_builder) Build() *PartialRequired {
	m0 := &PartialRequired{}
	b, x := &b0, m0
	_, _ = b, x
	if b.ReqString != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 2)
		x.xxx_hidden_ReqString = b.ReqString
	}
	if b.OptString != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 2)
		x.xxx_hidden_OptString = b.OptString
	}
	return m0
}

type NestedWithRequired struct {
	state                  protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_ReqString   *string                `protobuf:"bytes,1,req,name=req_string,json=reqString"`
	XXX_raceDetectHookData protoimpl.RaceDetectHookData
	XXX_presence           [1]uint32
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *NestedWithRequired) Reset() {
	*x = NestedWithRequired{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *NestedWithRequired) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NestedWithRequired) ProtoMessage() {}

func (x *NestedWithRequired) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *NestedWithRequired) GetReqString() string {
	if x != nil {
		if x.xxx_hidden_ReqString != nil {
			return *x.xxx_hidden_ReqString
		}
		return ""
	}
	return ""
}

func (x *NestedWithRequired) SetReqString(v string) {
	x.xxx_hidden_ReqString = &v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
}

func (x *NestedWithRequired) HasReqString() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *NestedWithRequired) ClearReqString() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_ReqString = nil
}

type NestedWithRequired_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	ReqString *string
}

func (b0 NestedWithRequired_builder) Build() *NestedWithRequired {
	m0 := &NestedWithRequired{}
	b, x := &b0, m0
	_, _ = b, x
	if b.ReqString != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
		x.xxx_hidden_ReqString = b.ReqString
	}
	return m0
}

type IndirectRequired struct {
	state                  protoimpl.MessageState         `protogen:"opaque.v1"`
	xxx_hidden_OptNested   *NestedWithRequired            `protobuf:"bytes,1,opt,name=opt_nested,json=optNested"`
	xxx_hidden_RptNested   *[]*NestedWithRequired         `protobuf:"bytes,2,rep,name=rpt_nested,json=rptNested"`
	xxx_hidden_StrToNested map[string]*NestedWithRequired `protobuf:"bytes,3,rep,name=str_to_nested,json=strToNested" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	xxx_hidden_Union       isIndirectRequired_Union       `protobuf_oneof:"union"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *IndirectRequired) Reset() {
	*x = IndirectRequired{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *IndirectRequired) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*IndirectRequired) ProtoMessage() {}

func (x *IndirectRequired) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *IndirectRequired) GetOptNested() *NestedWithRequired {
	if x != nil {
		return x.xxx_hidden_OptNested
	}
	return nil
}

func (x *IndirectRequired) GetRptNested() []*NestedWithRequired {
	if x != nil {
		if x.xxx_hidden_RptNested != nil {
			return *x.xxx_hidden_RptNested
		}
	}
	return nil
}

func (x *IndirectRequired) GetStrToNested() map[string]*NestedWithRequired {
	if x != nil {
		return x.xxx_hidden_StrToNested
	}
	return nil
}

func (x *IndirectRequired) GetOneofNested() *NestedWithRequired {
	if x != nil {
		if x, ok := x.xxx_hidden_Union.(*indirectRequired_OneofNested); ok {
			return x.OneofNested
		}
	}
	return nil
}

func (x *IndirectRequired) SetOptNested(v *NestedWithRequired) {
	x.xxx_hidden_OptNested = v
}

func (x *IndirectRequired) SetRptNested(v []*NestedWithRequired) {
	x.xxx_hidden_RptNested = &v
}

func (x *IndirectRequired) SetStrToNested(v map[string]*NestedWithRequired) {
	x.xxx_hidden_StrToNested = v
}

func (x *IndirectRequired) SetOneofNested(v *NestedWithRequired) {
	if v == nil {
		x.xxx_hidden_Union = nil
		return
	}
	x.xxx_hidden_Union = &indirectRequired_OneofNested{v}
}

func (x *IndirectRequired) HasOptNested() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptNested != nil
}

func (x *IndirectRequired) HasUnion() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_Union != nil
}

func (x *IndirectRequired) HasOneofNested() bool {
	if x == nil {
		return false
	}
	_, ok := x.xxx_hidden_Union.(*indirectRequired_OneofNested)
	return ok
}

func (x *IndirectRequired) ClearOptNested() {
	x.xxx_hidden_OptNested = nil
}

func (x *IndirectRequired) ClearUnion() {
	x.xxx_hidden_Union = nil
}

func (x *IndirectRequired) ClearOneofNested() {
	if _, ok := x.xxx_hidden_Union.(*indirectRequired_OneofNested); ok {
		x.xxx_hidden_Union = nil
	}
}

const IndirectRequired_Union_not_set_case case_IndirectRequired_Union = 0
const IndirectRequired_OneofNested_case case_IndirectRequired_Union = 4

func (x *IndirectRequired) WhichUnion() case_IndirectRequired_Union {
	if x == nil {
		return IndirectRequired_Union_not_set_case
	}
	switch x.xxx_hidden_Union.(type) {
	case *indirectRequired_OneofNested:
		return IndirectRequired_OneofNested_case
	default:
		return IndirectRequired_Union_not_set_case
	}
}

type IndirectRequired_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	OptNested   *NestedWithRequired
	RptNested   []*NestedWithRequired
	StrToNested map[string]*NestedWithRequired
	// Fields of oneof xxx_hidden_Union:
	OneofNested *NestedWithRequired
	// -- end of xxx_hidden_Union
}

func (b0 IndirectRequired_builder) Build() *IndirectRequired {
	m0 := &IndirectRequired{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_OptNested = b.OptNested
	x.xxx_hidden_RptNested = &b.RptNested
	x.xxx_hidden_StrToNested = b.StrToNested
	if b.OneofNested != nil {
		x.xxx_hidden_Union = &indirectRequired_OneofNested{b.OneofNested}
	}
	return m0
}

type case_IndirectRequired_Union protoreflect.FieldNumber

func (x case_IndirectRequired_Union) String() string {
	md := file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[12].Descriptor()
	if x == 0 {
		return "not set"
	}
	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
}

type isIndirectRequired_Union interface {
	isIndirectRequired_Union()
}

type indirectRequired_OneofNested struct {
	OneofNested *NestedWithRequired `protobuf:"bytes,4,opt,name=oneof_nested,json=oneofNested,oneof"`
}

func (*indirectRequired_OneofNested) isIndirectRequired_Union() {}

type Extensions struct {
	state                  protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_OptString   *string                `protobuf:"bytes,1,opt,name=opt_string,json=optString"`
	xxx_hidden_OptBool     bool                   `protobuf:"varint,101,opt,name=opt_bool,json=optBool"`
	xxx_hidden_OptInt32    int32                  `protobuf:"varint,2,opt,name=opt_int32,json=optInt32"`
	XXX_raceDetectHookData protoimpl.RaceDetectHookData
	XXX_presence           [1]uint32
	extensionFields        protoimpl.ExtensionFields
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *Extensions) Reset() {
	*x = Extensions{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Extensions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Extensions) ProtoMessage() {}

func (x *Extensions) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *Extensions) GetOptString() string {
	if x != nil {
		if x.xxx_hidden_OptString != nil {
			return *x.xxx_hidden_OptString
		}
		return ""
	}
	return ""
}

func (x *Extensions) GetOptBool() bool {
	if x != nil {
		return x.xxx_hidden_OptBool
	}
	return false
}

func (x *Extensions) GetOptInt32() int32 {
	if x != nil {
		return x.xxx_hidden_OptInt32
	}
	return 0
}

func (x *Extensions) SetOptString(v string) {
	x.xxx_hidden_OptString = &v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 3)
}

func (x *Extensions) SetOptBool(v bool) {
	x.xxx_hidden_OptBool = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 1, 3)
}

func (x *Extensions) SetOptInt32(v int32) {
	x.xxx_hidden_OptInt32 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 2, 3)
}

func (x *Extensions) HasOptString() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *Extensions) HasOptBool() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 1)
}

func (x *Extensions) HasOptInt32() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 2)
}

func (x *Extensions) ClearOptString() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_OptString = nil
}

func (x *Extensions) ClearOptBool() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 1)
	x.xxx_hidden_OptBool = false
}

func (x *Extensions) ClearOptInt32() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 2)
	x.xxx_hidden_OptInt32 = 0
}

type Extensions_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	OptString *string
	OptBool   *bool
	OptInt32  *int32
}

func (b0 Extensions_builder) Build() *Extensions {
	m0 := &Extensions{}
	b, x := &b0, m0
	_, _ = b, x
	if b.OptString != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 3)
		x.xxx_hidden_OptString = b.OptString
	}
	if b.OptBool != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 1, 3)
		x.xxx_hidden_OptBool = *b.OptBool
	}
	if b.OptInt32 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 2, 3)
		x.xxx_hidden_OptInt32 = *b.OptInt32
	}
	return m0
}

type ExtensionsContainer struct {
	state         protoimpl.MessageState `protogen:"opaque.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ExtensionsContainer) Reset() {
	*x = ExtensionsContainer{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ExtensionsContainer) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ExtensionsContainer) ProtoMessage() {}

func (x *ExtensionsContainer) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

type ExtensionsContainer_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

}

func (b0 ExtensionsContainer_builder) Build() *ExtensionsContainer {
	m0 := &ExtensionsContainer{}
	b, x := &b0, m0
	_, _ = b, x
	return m0
}

type MessageSet struct {
	state           protoimpl.MessageState `protogen:"opaque.v1"`
	extensionFields protoimpl.ExtensionFields
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *MessageSet) Reset() {
	*x = MessageSet{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MessageSet) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MessageSet) ProtoMessage() {}

func (x *MessageSet) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

type MessageSet_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

}

func (b0 MessageSet_builder) Build() *MessageSet {
	m0 := &MessageSet{}
	b, x := &b0, m0
	_, _ = b, x
	return m0
}

type MessageSetExtension struct {
	state                  protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_OptString   *string                `protobuf:"bytes,1,opt,name=opt_string,json=optString"`
	XXX_raceDetectHookData protoimpl.RaceDetectHookData
	XXX_presence           [1]uint32
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *MessageSetExtension) Reset() {
	*x = MessageSetExtension{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MessageSetExtension) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MessageSetExtension) ProtoMessage() {}

func (x *MessageSetExtension) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *MessageSetExtension) GetOptString() string {
	if x != nil {
		if x.xxx_hidden_OptString != nil {
			return *x.xxx_hidden_OptString
		}
		return ""
	}
	return ""
}

func (x *MessageSetExtension) SetOptString(v string) {
	x.xxx_hidden_OptString = &v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
}

func (x *MessageSetExtension) HasOptString() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *MessageSetExtension) ClearOptString() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_OptString = nil
}

type MessageSetExtension_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	OptString *string
}

func (b0 MessageSetExtension_builder) Build() *MessageSetExtension {
	m0 := &MessageSetExtension{}
	b, x := &b0, m0
	_, _ = b, x
	if b.OptString != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
		x.xxx_hidden_OptString = b.OptString
	}
	return m0
}

type FakeMessageSet struct {
	state           protoimpl.MessageState `protogen:"opaque.v1"`
	extensionFields protoimpl.ExtensionFields
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *FakeMessageSet) Reset() {
	*x = FakeMessageSet{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FakeMessageSet) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FakeMessageSet) ProtoMessage() {}

func (x *FakeMessageSet) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

type FakeMessageSet_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

}

func (b0 FakeMessageSet_builder) Build() *FakeMessageSet {
	m0 := &FakeMessageSet{}
	b, x := &b0, m0
	_, _ = b, x
	return m0
}

type FakeMessageSetExtension struct {
	state                  protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_OptString   *string                `protobuf:"bytes,1,opt,name=opt_string,json=optString"`
	XXX_raceDetectHookData protoimpl.RaceDetectHookData
	XXX_presence           [1]uint32
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *FakeMessageSetExtension) Reset() {
	*x = FakeMessageSetExtension{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FakeMessageSetExtension) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FakeMessageSetExtension) ProtoMessage() {}

func (x *FakeMessageSetExtension) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *FakeMessageSetExtension) GetOptString() string {
	if x != nil {
		if x.xxx_hidden_OptString != nil {
			return *x.xxx_hidden_OptString
		}
		return ""
	}
	return ""
}

func (x *FakeMessageSetExtension) SetOptString(v string) {
	x.xxx_hidden_OptString = &v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
}

func (x *FakeMessageSetExtension) HasOptString() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *FakeMessageSetExtension) ClearOptString() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_OptString = nil
}

type FakeMessageSetExtension_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	OptString *string
}

func (b0 FakeMessageSetExtension_builder) Build() *FakeMessageSetExtension {
	m0 := &FakeMessageSetExtension{}
	b, x := &b0, m0
	_, _ = b, x
	if b.OptString != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
		x.xxx_hidden_OptString = b.OptString
	}
	return m0
}

// Message contains well-known type fields.
type KnownTypes struct {
	state                   protoimpl.MessageState  `protogen:"opaque.v1"`
	xxx_hidden_OptBool      *wrapperspb.BoolValue   `protobuf:"bytes,1,opt,name=opt_bool,json=optBool"`
	xxx_hidden_OptInt32     *wrapperspb.Int32Value  `protobuf:"bytes,2,opt,name=opt_int32,json=optInt32"`
	xxx_hidden_OptInt64     *wrapperspb.Int64Value  `protobuf:"bytes,3,opt,name=opt_int64,json=optInt64"`
	xxx_hidden_OptUint32    *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=opt_uint32,json=optUint32"`
	xxx_hidden_OptUint64    *wrapperspb.UInt64Value `protobuf:"bytes,5,opt,name=opt_uint64,json=optUint64"`
	xxx_hidden_OptFloat     *wrapperspb.FloatValue  `protobuf:"bytes,6,opt,name=opt_float,json=optFloat"`
	xxx_hidden_OptDouble    *wrapperspb.DoubleValue `protobuf:"bytes,7,opt,name=opt_double,json=optDouble"`
	xxx_hidden_OptString    *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=opt_string,json=optString"`
	xxx_hidden_OptBytes     *wrapperspb.BytesValue  `protobuf:"bytes,9,opt,name=opt_bytes,json=optBytes"`
	xxx_hidden_OptDuration  *durationpb.Duration    `protobuf:"bytes,20,opt,name=opt_duration,json=optDuration"`
	xxx_hidden_OptTimestamp *timestamppb.Timestamp  `protobuf:"bytes,21,opt,name=opt_timestamp,json=optTimestamp"`
	xxx_hidden_OptStruct    *structpb.Struct        `protobuf:"bytes,25,opt,name=opt_struct,json=optStruct"`
	xxx_hidden_OptList      *structpb.ListValue     `protobuf:"bytes,26,opt,name=opt_list,json=optList"`
	xxx_hidden_OptValue     *structpb.Value         `protobuf:"bytes,27,opt,name=opt_value,json=optValue"`
	xxx_hidden_OptNull      structpb.NullValue      `protobuf:"varint,28,opt,name=opt_null,json=optNull,enum=google.protobuf.NullValue"`
	xxx_hidden_OptEmpty     *emptypb.Empty          `protobuf:"bytes,30,opt,name=opt_empty,json=optEmpty"`
	xxx_hidden_OptAny       *anypb.Any              `protobuf:"bytes,32,opt,name=opt_any,json=optAny"`
	xxx_hidden_OptFieldmask *fieldmaskpb.FieldMask  `protobuf:"bytes,40,opt,name=opt_fieldmask,json=optFieldmask"`
	XXX_raceDetectHookData  protoimpl.RaceDetectHookData
	XXX_presence            [1]uint32
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

func (x *KnownTypes) Reset() {
	*x = KnownTypes{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *KnownTypes) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*KnownTypes) ProtoMessage() {}

func (x *KnownTypes) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *KnownTypes) GetOptBool() *wrapperspb.BoolValue {
	if x != nil {
		return x.xxx_hidden_OptBool
	}
	return nil
}

func (x *KnownTypes) GetOptInt32() *wrapperspb.Int32Value {
	if x != nil {
		return x.xxx_hidden_OptInt32
	}
	return nil
}

func (x *KnownTypes) GetOptInt64() *wrapperspb.Int64Value {
	if x != nil {
		return x.xxx_hidden_OptInt64
	}
	return nil
}

func (x *KnownTypes) GetOptUint32() *wrapperspb.UInt32Value {
	if x != nil {
		return x.xxx_hidden_OptUint32
	}
	return nil
}

func (x *KnownTypes) GetOptUint64() *wrapperspb.UInt64Value {
	if x != nil {
		return x.xxx_hidden_OptUint64
	}
	return nil
}

func (x *KnownTypes) GetOptFloat() *wrapperspb.FloatValue {
	if x != nil {
		return x.xxx_hidden_OptFloat
	}
	return nil
}

func (x *KnownTypes) GetOptDouble() *wrapperspb.DoubleValue {
	if x != nil {
		return x.xxx_hidden_OptDouble
	}
	return nil
}

func (x *KnownTypes) GetOptString() *wrapperspb.StringValue {
	if x != nil {
		return x.xxx_hidden_OptString
	}
	return nil
}

func (x *KnownTypes) GetOptBytes() *wrapperspb.BytesValue {
	if x != nil {
		return x.xxx_hidden_OptBytes
	}
	return nil
}

func (x *KnownTypes) GetOptDuration() *durationpb.Duration {
	if x != nil {
		return x.xxx_hidden_OptDuration
	}
	return nil
}

func (x *KnownTypes) GetOptTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.xxx_hidden_OptTimestamp
	}
	return nil
}

func (x *KnownTypes) GetOptStruct() *structpb.Struct {
	if x != nil {
		return x.xxx_hidden_OptStruct
	}
	return nil
}

func (x *KnownTypes) GetOptList() *structpb.ListValue {
	if x != nil {
		return x.xxx_hidden_OptList
	}
	return nil
}

func (x *KnownTypes) GetOptValue() *structpb.Value {
	if x != nil {
		return x.xxx_hidden_OptValue
	}
	return nil
}

func (x *KnownTypes) GetOptNull() structpb.NullValue {
	if x != nil {
		if protoimpl.X.Present(&(x.XXX_presence[0]), 14) {
			return x.xxx_hidden_OptNull
		}
	}
	return structpb.NullValue(0)
}

func (x *KnownTypes) GetOptEmpty() *emptypb.Empty {
	if x != nil {
		return x.xxx_hidden_OptEmpty
	}
	return nil
}

func (x *KnownTypes) GetOptAny() *anypb.Any {
	if x != nil {
		return x.xxx_hidden_OptAny
	}
	return nil
}

func (x *KnownTypes) GetOptFieldmask() *fieldmaskpb.FieldMask {
	if x != nil {
		return x.xxx_hidden_OptFieldmask
	}
	return nil
}

func (x *KnownTypes) SetOptBool(v *wrapperspb.BoolValue) {
	x.xxx_hidden_OptBool = v
}

func (x *KnownTypes) SetOptInt32(v *wrapperspb.Int32Value) {
	x.xxx_hidden_OptInt32 = v
}

func (x *KnownTypes) SetOptInt64(v *wrapperspb.Int64Value) {
	x.xxx_hidden_OptInt64 = v
}

func (x *KnownTypes) SetOptUint32(v *wrapperspb.UInt32Value) {
	x.xxx_hidden_OptUint32 = v
}

func (x *KnownTypes) SetOptUint64(v *wrapperspb.UInt64Value) {
	x.xxx_hidden_OptUint64 = v
}

func (x *KnownTypes) SetOptFloat(v *wrapperspb.FloatValue) {
	x.xxx_hidden_OptFloat = v
}

func (x *KnownTypes) SetOptDouble(v *wrapperspb.DoubleValue) {
	x.xxx_hidden_OptDouble = v
}

func (x *KnownTypes) SetOptString(v *wrapperspb.StringValue) {
	x.xxx_hidden_OptString = v
}

func (x *KnownTypes) SetOptBytes(v *wrapperspb.BytesValue) {
	x.xxx_hidden_OptBytes = v
}

func (x *KnownTypes) SetOptDuration(v *durationpb.Duration) {
	x.xxx_hidden_OptDuration = v
}

func (x *KnownTypes) SetOptTimestamp(v *timestamppb.Timestamp) {
	x.xxx_hidden_OptTimestamp = v
}

func (x *KnownTypes) SetOptStruct(v *structpb.Struct) {
	x.xxx_hidden_OptStruct = v
}

func (x *KnownTypes) SetOptList(v *structpb.ListValue) {
	x.xxx_hidden_OptList = v
}

func (x *KnownTypes) SetOptValue(v *structpb.Value) {
	x.xxx_hidden_OptValue = v
}

func (x *KnownTypes) SetOptNull(v structpb.NullValue) {
	x.xxx_hidden_OptNull = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 14, 18)
}

func (x *KnownTypes) SetOptEmpty(v *emptypb.Empty) {
	x.xxx_hidden_OptEmpty = v
}

func (x *KnownTypes) SetOptAny(v *anypb.Any) {
	x.xxx_hidden_OptAny = v
}

func (x *KnownTypes) SetOptFieldmask(v *fieldmaskpb.FieldMask) {
	x.xxx_hidden_OptFieldmask = v
}

func (x *KnownTypes) HasOptBool() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptBool != nil
}

func (x *KnownTypes) HasOptInt32() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptInt32 != nil
}

func (x *KnownTypes) HasOptInt64() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptInt64 != nil
}

func (x *KnownTypes) HasOptUint32() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptUint32 != nil
}

func (x *KnownTypes) HasOptUint64() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptUint64 != nil
}

func (x *KnownTypes) HasOptFloat() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptFloat != nil
}

func (x *KnownTypes) HasOptDouble() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptDouble != nil
}

func (x *KnownTypes) HasOptString() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptString != nil
}

func (x *KnownTypes) HasOptBytes() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptBytes != nil
}

func (x *KnownTypes) HasOptDuration() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptDuration != nil
}

func (x *KnownTypes) HasOptTimestamp() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptTimestamp != nil
}

func (x *KnownTypes) HasOptStruct() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptStruct != nil
}

func (x *KnownTypes) HasOptList() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptList != nil
}

func (x *KnownTypes) HasOptValue() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptValue != nil
}

func (x *KnownTypes) HasOptNull() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 14)
}

func (x *KnownTypes) HasOptEmpty() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptEmpty != nil
}

func (x *KnownTypes) HasOptAny() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptAny != nil
}

func (x *KnownTypes) HasOptFieldmask() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptFieldmask != nil
}

func (x *KnownTypes) ClearOptBool() {
	x.xxx_hidden_OptBool = nil
}

func (x *KnownTypes) ClearOptInt32() {
	x.xxx_hidden_OptInt32 = nil
}

func (x *KnownTypes) ClearOptInt64() {
	x.xxx_hidden_OptInt64 = nil
}

func (x *KnownTypes) ClearOptUint32() {
	x.xxx_hidden_OptUint32 = nil
}

func (x *KnownTypes) ClearOptUint64() {
	x.xxx_hidden_OptUint64 = nil
}

func (x *KnownTypes) ClearOptFloat() {
	x.xxx_hidden_OptFloat = nil
}

func (x *KnownTypes) ClearOptDouble() {
	x.xxx_hidden_OptDouble = nil
}

func (x *KnownTypes) ClearOptString() {
	x.xxx_hidden_OptString = nil
}

func (x *KnownTypes) ClearOptBytes() {
	x.xxx_hidden_OptBytes = nil
}

func (x *KnownTypes) ClearOptDuration() {
	x.xxx_hidden_OptDuration = nil
}

func (x *KnownTypes) ClearOptTimestamp() {
	x.xxx_hidden_OptTimestamp = nil
}

func (x *KnownTypes) ClearOptStruct() {
	x.xxx_hidden_OptStruct = nil
}

func (x *KnownTypes) ClearOptList() {
	x.xxx_hidden_OptList = nil
}

func (x *KnownTypes) ClearOptValue() {
	x.xxx_hidden_OptValue = nil
}

func (x *KnownTypes) ClearOptNull() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 14)
	x.xxx_hidden_OptNull = structpb.NullValue_NULL_VALUE
}

func (x *KnownTypes) ClearOptEmpty() {
	x.xxx_hidden_OptEmpty = nil
}

func (x *KnownTypes) ClearOptAny() {
	x.xxx_hidden_OptAny = nil
}

func (x *KnownTypes) ClearOptFieldmask() {
	x.xxx_hidden_OptFieldmask = nil
}

type KnownTypes_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	OptBool      *wrapperspb.BoolValue
	OptInt32     *wrapperspb.Int32Value
	OptInt64     *wrapperspb.Int64Value
	OptUint32    *wrapperspb.UInt32Value
	OptUint64    *wrapperspb.UInt64Value
	OptFloat     *wrapperspb.FloatValue
	OptDouble    *wrapperspb.DoubleValue
	OptString    *wrapperspb.StringValue
	OptBytes     *wrapperspb.BytesValue
	OptDuration  *durationpb.Duration
	OptTimestamp *timestamppb.Timestamp
	OptStruct    *structpb.Struct
	OptList      *structpb.ListValue
	OptValue     *structpb.Value
	OptNull      *structpb.NullValue
	OptEmpty     *emptypb.Empty
	OptAny       *anypb.Any
	OptFieldmask *fieldmaskpb.FieldMask
}

func (b0 KnownTypes_builder) Build() *KnownTypes {
	m0 := &KnownTypes{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_OptBool = b.OptBool
	x.xxx_hidden_OptInt32 = b.OptInt32
	x.xxx_hidden_OptInt64 = b.OptInt64
	x.xxx_hidden_OptUint32 = b.OptUint32
	x.xxx_hidden_OptUint64 = b.OptUint64
	x.xxx_hidden_OptFloat = b.OptFloat
	x.xxx_hidden_OptDouble = b.OptDouble
	x.xxx_hidden_OptString = b.OptString
	x.xxx_hidden_OptBytes = b.OptBytes
	x.xxx_hidden_OptDuration = b.OptDuration
	x.xxx_hidden_OptTimestamp = b.OptTimestamp
	x.xxx_hidden_OptStruct = b.OptStruct
	x.xxx_hidden_OptList = b.OptList
	x.xxx_hidden_OptValue = b.OptValue
	if b.OptNull != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 14, 18)
		x.xxx_hidden_OptNull = *b.OptNull
	}
	x.xxx_hidden_OptEmpty = b.OptEmpty
	x.xxx_hidden_OptAny = b.OptAny
	x.xxx_hidden_OptFieldmask = b.OptFieldmask
	return m0
}

type Nests_OptGroup struct {
	state                           protoimpl.MessageState         `protogen:"opaque.v1"`
	xxx_hidden_OptString            *string                        `protobuf:"bytes,1,opt,name=opt_string,json=optString"`
	xxx_hidden_OptNested            *Nested                        `protobuf:"bytes,2,opt,name=opt_nested,json=optNested"`
	xxx_hidden_Optnestedgroup       *Nests_OptGroup_OptNestedGroup `protobuf:"group,3,opt,name=OptNestedGroup,json=optnestedgroup"`
	xxx_hidden_NestedDelimitedField *Nests_OptGroup_OptNestedGroup `protobuf:"group,4,opt,name=OptNestedGroup,json=nestedDelimitedField"`
	XXX_raceDetectHookData          protoimpl.RaceDetectHookData
	XXX_presence                    [1]uint32
	unknownFields                   protoimpl.UnknownFields
	sizeCache                       protoimpl.SizeCache
}

func (x *Nests_OptGroup) Reset() {
	*x = Nests_OptGroup{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Nests_OptGroup) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Nests_OptGroup) ProtoMessage() {}

func (x *Nests_OptGroup) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[22]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *Nests_OptGroup) GetOptString() string {
	if x != nil {
		if x.xxx_hidden_OptString != nil {
			return *x.xxx_hidden_OptString
		}
		return ""
	}
	return ""
}

func (x *Nests_OptGroup) GetOptNested() *Nested {
	if x != nil {
		return x.xxx_hidden_OptNested
	}
	return nil
}

func (x *Nests_OptGroup) GetOptnestedgroup() *Nests_OptGroup_OptNestedGroup {
	if x != nil {
		return x.xxx_hidden_Optnestedgroup
	}
	return nil
}

func (x *Nests_OptGroup) GetNestedDelimitedField() *Nests_OptGroup_OptNestedGroup {
	if x != nil {
		return x.xxx_hidden_NestedDelimitedField
	}
	return nil
}

func (x *Nests_OptGroup) SetOptString(v string) {
	x.xxx_hidden_OptString = &v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 4)
}

func (x *Nests_OptGroup) SetOptNested(v *Nested) {
	x.xxx_hidden_OptNested = v
}

func (x *Nests_OptGroup) SetOptnestedgroup(v *Nests_OptGroup_OptNestedGroup) {
	x.xxx_hidden_Optnestedgroup = v
}

func (x *Nests_OptGroup) SetNestedDelimitedField(v *Nests_OptGroup_OptNestedGroup) {
	x.xxx_hidden_NestedDelimitedField = v
}

func (x *Nests_OptGroup) HasOptString() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *Nests_OptGroup) HasOptNested() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_OptNested != nil
}

func (x *Nests_OptGroup) HasOptnestedgroup() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_Optnestedgroup != nil
}

func (x *Nests_OptGroup) HasNestedDelimitedField() bool {
	if x == nil {
		return false
	}
	return x.xxx_hidden_NestedDelimitedField != nil
}

func (x *Nests_OptGroup) ClearOptString() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_OptString = nil
}

func (x *Nests_OptGroup) ClearOptNested() {
	x.xxx_hidden_OptNested = nil
}

func (x *Nests_OptGroup) ClearOptnestedgroup() {
	x.xxx_hidden_Optnestedgroup = nil
}

func (x *Nests_OptGroup) ClearNestedDelimitedField() {
	x.xxx_hidden_NestedDelimitedField = nil
}

type Nests_OptGroup_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	OptString            *string
	OptNested            *Nested
	Optnestedgroup       *Nests_OptGroup_OptNestedGroup
	NestedDelimitedField *Nests_OptGroup_OptNestedGroup
}

func (b0 Nests_OptGroup_builder) Build() *Nests_OptGroup {
	m0 := &Nests_OptGroup{}
	b, x := &b0, m0
	_, _ = b, x
	if b.OptString != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 4)
		x.xxx_hidden_OptString = b.OptString
	}
	x.xxx_hidden_OptNested = b.OptNested
	x.xxx_hidden_Optnestedgroup = b.Optnestedgroup
	x.xxx_hidden_NestedDelimitedField = b.NestedDelimitedField
	return m0
}

type Nests_RptGroup struct {
	state                protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_RptString []string               `protobuf:"bytes,1,rep,name=rpt_string,json=rptString"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *Nests_RptGroup) Reset() {
	*x = Nests_RptGroup{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Nests_RptGroup) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Nests_RptGroup) ProtoMessage() {}

func (x *Nests_RptGroup) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[23]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *Nests_RptGroup) GetRptString() []string {
	if x != nil {
		return x.xxx_hidden_RptString
	}
	return nil
}

func (x *Nests_RptGroup) SetRptString(v []string) {
	x.xxx_hidden_RptString = v
}

type Nests_RptGroup_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	RptString []string
}

func (b0 Nests_RptGroup_builder) Build() *Nests_RptGroup {
	m0 := &Nests_RptGroup{}
	b, x := &b0, m0
	_, _ = b, x
	x.xxx_hidden_RptString = b.RptString
	return m0
}

type Nests_OptGroup_OptNestedGroup struct {
	state                  protoimpl.MessageState `protogen:"opaque.v1"`
	xxx_hidden_OptFixed32  uint32                 `protobuf:"fixed32,1,opt,name=opt_fixed32,json=optFixed32"`
	XXX_raceDetectHookData protoimpl.RaceDetectHookData
	XXX_presence           [1]uint32
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *Nests_OptGroup_OptNestedGroup) Reset() {
	*x = Nests_OptGroup_OptNestedGroup{}
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Nests_OptGroup_OptNestedGroup) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Nests_OptGroup_OptNestedGroup) ProtoMessage() {}

func (x *Nests_OptGroup_OptNestedGroup) ProtoReflect() protoreflect.Message {
	mi := &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[24]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *Nests_OptGroup_OptNestedGroup) GetOptFixed32() uint32 {
	if x != nil {
		return x.xxx_hidden_OptFixed32
	}
	return 0
}

func (x *Nests_OptGroup_OptNestedGroup) SetOptFixed32(v uint32) {
	x.xxx_hidden_OptFixed32 = v
	protoimpl.X.SetPresent(&(x.XXX_presence[0]), 0, 1)
}

func (x *Nests_OptGroup_OptNestedGroup) HasOptFixed32() bool {
	if x == nil {
		return false
	}
	return protoimpl.X.Present(&(x.XXX_presence[0]), 0)
}

func (x *Nests_OptGroup_OptNestedGroup) ClearOptFixed32() {
	protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 0)
	x.xxx_hidden_OptFixed32 = 0
}

type Nests_OptGroup_OptNestedGroup_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	OptFixed32 *uint32
}

func (b0 Nests_OptGroup_OptNestedGroup_builder) Build() *Nests_OptGroup_OptNestedGroup {
	m0 := &Nests_OptGroup_OptNestedGroup{}
	b, x := &b0, m0
	_, _ = b, x
	if b.OptFixed32 != nil {
		protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 0, 1)
		x.xxx_hidden_OptFixed32 = *b.OptFixed32
	}
	return m0
}

var file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes = []protoimpl.ExtensionInfo{
	{
		ExtendedType:  (*Extensions)(nil),
		ExtensionType: (*bool)(nil),
		Field:         21,
		Name:          "opaque.pbeditions.opt_ext_bool",
		Tag:           "varint,21,opt,name=opt_ext_bool",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*Extensions)(nil),
		ExtensionType: (*string)(nil),
		Field:         22,
		Name:          "opaque.pbeditions.opt_ext_string",
		Tag:           "bytes,22,opt,name=opt_ext_string",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*Extensions)(nil),
		ExtensionType: (*Enum)(nil),
		Field:         23,
		Name:          "opaque.pbeditions.opt_ext_enum",
		Tag:           "varint,23,opt,name=opt_ext_enum,enum=opaque.pbeditions.Enum",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*Extensions)(nil),
		ExtensionType: (*Nested)(nil),
		Field:         24,
		Name:          "opaque.pbeditions.opt_ext_nested",
		Tag:           "bytes,24,opt,name=opt_ext_nested",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*Extensions)(nil),
		ExtensionType: (*PartialRequired)(nil),
		Field:         25,
		Name:          "opaque.pbeditions.opt_ext_partial",
		Tag:           "bytes,25,opt,name=opt_ext_partial",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*Extensions)(nil),
		ExtensionType: ([]uint32)(nil),
		Field:         31,
		Name:          "opaque.pbeditions.rpt_ext_fixed32",
		Tag:           "fixed32,31,rep,packed,name=rpt_ext_fixed32",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*Extensions)(nil),
		ExtensionType: ([]Enum)(nil),
		Field:         32,
		Name:          "opaque.pbeditions.rpt_ext_enum",
		Tag:           "varint,32,rep,packed,name=rpt_ext_enum,enum=opaque.pbeditions.Enum",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*Extensions)(nil),
		ExtensionType: ([]*Nested)(nil),
		Field:         33,
		Name:          "opaque.pbeditions.rpt_ext_nested",
		Tag:           "bytes,33,rep,name=rpt_ext_nested",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*MessageSet)(nil),
		ExtensionType: (*FakeMessageSetExtension)(nil),
		Field:         50,
		Name:          "opaque.pbeditions.message_set_extension",
		Tag:           "bytes,50,opt,name=message_set_extension",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*Extensions)(nil),
		ExtensionType: (*bool)(nil),
		Field:         51,
		Name:          "opaque.pbeditions.ExtensionsContainer.opt_ext_bool",
		Tag:           "varint,51,opt,name=opt_ext_bool",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*Extensions)(nil),
		ExtensionType: (*string)(nil),
		Field:         52,
		Name:          "opaque.pbeditions.ExtensionsContainer.opt_ext_string",
		Tag:           "bytes,52,opt,name=opt_ext_string",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*Extensions)(nil),
		ExtensionType: (*Enum)(nil),
		Field:         53,
		Name:          "opaque.pbeditions.ExtensionsContainer.opt_ext_enum",
		Tag:           "varint,53,opt,name=opt_ext_enum,enum=opaque.pbeditions.Enum",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*Extensions)(nil),
		ExtensionType: (*Nested)(nil),
		Field:         54,
		Name:          "opaque.pbeditions.ExtensionsContainer.opt_ext_nested",
		Tag:           "bytes,54,opt,name=opt_ext_nested",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*Extensions)(nil),
		ExtensionType: (*PartialRequired)(nil),
		Field:         55,
		Name:          "opaque.pbeditions.ExtensionsContainer.opt_ext_partial",
		Tag:           "bytes,55,opt,name=opt_ext_partial",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*Extensions)(nil),
		ExtensionType: ([]string)(nil),
		Field:         61,
		Name:          "opaque.pbeditions.ExtensionsContainer.rpt_ext_string",
		Tag:           "bytes,61,rep,name=rpt_ext_string",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*Extensions)(nil),
		ExtensionType: ([]Enum)(nil),
		Field:         62,
		Name:          "opaque.pbeditions.ExtensionsContainer.rpt_ext_enum",
		Tag:           "varint,62,rep,packed,name=rpt_ext_enum,enum=opaque.pbeditions.Enum",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*Extensions)(nil),
		ExtensionType: ([]*Nested)(nil),
		Field:         63,
		Name:          "opaque.pbeditions.ExtensionsContainer.rpt_ext_nested",
		Tag:           "bytes,63,rep,name=rpt_ext_nested",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*MessageSet)(nil),
		ExtensionType: (*MessageSetExtension)(nil),
		Field:         10,
		Name:          "opaque.pbeditions.MessageSetExtension.message_set_extension",
		Tag:           "bytes,10,opt,name=message_set_extension",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*MessageSet)(nil),
		ExtensionType: (*MessageSetExtension)(nil),
		Field:         20,
		Name:          "opaque.pbeditions.MessageSetExtension.not_message_set_extension",
		Tag:           "bytes,20,opt,name=not_message_set_extension",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*MessageSet)(nil),
		ExtensionType: (*Nested)(nil),
		Field:         30,
		Name:          "opaque.pbeditions.MessageSetExtension.ext_nested",
		Tag:           "bytes,30,opt,name=ext_nested",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
	{
		ExtendedType:  (*FakeMessageSet)(nil),
		ExtensionType: (*FakeMessageSetExtension)(nil),
		Field:         10,
		Name:          "opaque.pbeditions.FakeMessageSetExtension.message_set_extension",
		Tag:           "bytes,10,opt,name=message_set_extension",
		Filename:      "internal/testprotos/textpbeditions/textpbeditions_opaque/test2.opaque.proto",
	},
}

// Extension fields to Extensions.
var (
	// optional bool opt_ext_bool = 21;
	E_OptExtBool = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[0]
	// optional string opt_ext_string = 22;
	E_OptExtString = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[1]
	// optional opaque.pbeditions.Enum opt_ext_enum = 23;
	E_OptExtEnum = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[2]
	// optional opaque.pbeditions.Nested opt_ext_nested = 24;
	E_OptExtNested = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[3]
	// optional opaque.pbeditions.PartialRequired opt_ext_partial = 25;
	E_OptExtPartial = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[4]
	// repeated fixed32 rpt_ext_fixed32 = 31;
	E_RptExtFixed32 = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[5]
	// repeated opaque.pbeditions.Enum rpt_ext_enum = 32;
	E_RptExtEnum = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[6]
	// repeated opaque.pbeditions.Nested rpt_ext_nested = 33;
	E_RptExtNested = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[7]
	// optional bool opt_ext_bool = 51;
	E_ExtensionsContainer_OptExtBool = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[9]
	// optional string opt_ext_string = 52;
	E_ExtensionsContainer_OptExtString = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[10]
	// optional opaque.pbeditions.Enum opt_ext_enum = 53;
	E_ExtensionsContainer_OptExtEnum = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[11]
	// optional opaque.pbeditions.Nested opt_ext_nested = 54;
	E_ExtensionsContainer_OptExtNested = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[12]
	// optional opaque.pbeditions.PartialRequired opt_ext_partial = 55;
	E_ExtensionsContainer_OptExtPartial = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[13]
	// repeated string rpt_ext_string = 61;
	E_ExtensionsContainer_RptExtString = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[14]
	// repeated opaque.pbeditions.Enum rpt_ext_enum = 62;
	E_ExtensionsContainer_RptExtEnum = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[15]
	// repeated opaque.pbeditions.Nested rpt_ext_nested = 63;
	E_ExtensionsContainer_RptExtNested = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[16]
)

// Extension fields to MessageSet.
var (
	// optional opaque.pbeditions.FakeMessageSetExtension message_set_extension = 50;
	E_MessageSetExtension = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[8]
	// optional opaque.pbeditions.MessageSetExtension message_set_extension = 10;
	E_MessageSetExtension_MessageSetExtension = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[17]
	// optional opaque.pbeditions.MessageSetExtension not_message_set_extension = 20;
	E_MessageSetExtension_NotMessageSetExtension = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[18]
	// optional opaque.pbeditions.Nested ext_nested = 30;
	E_MessageSetExtension_ExtNested = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[19]
)

// Extension fields to FakeMessageSet.
var (
	// optional opaque.pbeditions.FakeMessageSetExtension message_set_extension = 10;
	E_FakeMessageSetExtension_MessageSetExtension = &file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes[20]
)

var File_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto protoreflect.FileDescriptor

var file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_rawDesc = []byte{
	0x0a, 0x4b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x5f, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x32,
	0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x6f,
	0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70,
	0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
	0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75,
	0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
	0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70,
	0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x5f, 0x66, 0x65,
	0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x03, 0x0a,
	0x07, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f,
	0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x42,
	0x6f, 0x6f, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32,
	0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03, 0x20,
	0x01, 0x28, 0x03, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1d, 0x0a,
	0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28,
	0x0d, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, 0x0a, 0x0a,
	0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04,
	0x52, 0x09, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1d, 0x0a, 0x0a, 0x6f,
	0x70, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52,
	0x09, 0x6f, 0x70, 0x74, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70,
	0x74, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09,
	0x6f, 0x70, 0x74, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x70, 0x74,
	0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a,
	0x6f, 0x70, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x70,
	0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x06, 0x52,
	0x0a, 0x6f, 0x70, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x21, 0x0a, 0x0c, 0x6f,
	0x70, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28,
	0x0f, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x21,
	0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0b,
	0x20, 0x01, 0x28, 0x10, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36,
	0x34, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x14,
	0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x1d,
	0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x15, 0x20, 0x01,
	0x28, 0x01, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a,
	0x09, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c,
	0x52, 0x08, 0x6f, 0x70, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70,
	0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
	0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x8f, 0x04, 0x0a, 0x0f, 0x49, 0x6d,
	0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x73, 0x12, 0x1c, 0x0a,
	0x06, 0x73, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x05, 0xaa,
	0x01, 0x02, 0x08, 0x02, 0x52, 0x05, 0x73, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x1e, 0x0a, 0x07, 0x73,
	0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x05, 0xaa, 0x01,
	0x02, 0x08, 0x02, 0x52, 0x06, 0x73, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1e, 0x0a, 0x07, 0x73,
	0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x05, 0xaa, 0x01,
	0x02, 0x08, 0x02, 0x52, 0x06, 0x73, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x20, 0x0a, 0x08, 0x73,
	0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x05, 0xaa,
	0x01, 0x02, 0x08, 0x02, 0x52, 0x07, 0x73, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x20, 0x0a,
	0x08, 0x73, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x42,
	0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x07, 0x73, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12,
	0x20, 0x0a, 0x08, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28,
	0x11, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x07, 0x73, 0x53, 0x69, 0x6e, 0x74, 0x33,
	0x32, 0x12, 0x20, 0x0a, 0x08, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x12, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x07, 0x73, 0x53, 0x69, 0x6e,
	0x74, 0x36, 0x34, 0x12, 0x22, 0x0a, 0x09, 0x73, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
	0x18, 0x08, 0x20, 0x01, 0x28, 0x07, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x08, 0x73,
	0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x22, 0x0a, 0x09, 0x73, 0x5f, 0x66, 0x69, 0x78,
	0x65, 0x64, 0x36, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x06, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08,
	0x02, 0x52, 0x08, 0x73, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x24, 0x0a, 0x0a, 0x73,
	0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0f, 0x42,
	0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x09, 0x73, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33,
	0x32, 0x12, 0x24, 0x0a, 0x0a, 0x73, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18,
	0x0b, 0x20, 0x01, 0x28, 0x10, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x09, 0x73, 0x53,
	0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x1e, 0x0a, 0x07, 0x73, 0x5f, 0x66, 0x6c, 0x6f,
	0x61, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52,
	0x06, 0x73, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x20, 0x0a, 0x08, 0x73, 0x5f, 0x64, 0x6f, 0x75,
	0x62, 0x6c, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02,
	0x52, 0x07, 0x73, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x07, 0x73, 0x5f, 0x62,
	0x79, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08,
	0x02, 0x52, 0x06, 0x73, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x08, 0x73, 0x5f, 0x73,
	0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05, 0xaa, 0x01, 0x02,
	0x08, 0x02, 0x52, 0x07, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x43, 0x0a, 0x0d, 0x55,
	0x54, 0x46, 0x38, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x10,
	0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xaa, 0x01, 0x04, 0x08, 0x02, 0x20, 0x02, 0x52,
	0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
	0x22, 0x63, 0x0a, 0x12, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x55, 0x54, 0x46, 0x38, 0x56, 0x61, 0x6c,
	0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x4d, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61,
	0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x20, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x55, 0x54, 0x46, 0x38, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61,
	0x74, 0x65, 0x64, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa1, 0x04, 0x0a, 0x05, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x12,
	0x32, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0e, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x45,
	0x6e, 0x75, 0x6d, 0x12, 0x32, 0x0a, 0x08, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70,
	0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x07,
	0x72, 0x70, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x47, 0x0a, 0x0d, 0x69, 0x6d, 0x70, 0x6c, 0x69,
	0x63, 0x69, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b,
	0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x05, 0xaa, 0x01, 0x02,
	0x08, 0x02, 0x52, 0x0c, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x45, 0x6e, 0x75, 0x6d,
	0x12, 0x4b, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65,
	0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x61, 0x71,
	0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x6e,
	0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0d,
	0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x4b, 0x0a,
	0x0f, 0x72, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d,
	0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
	0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x73,
	0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0d, 0x72, 0x70, 0x74,
	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x60, 0x0a, 0x14, 0x69, 0x6d,
	0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e,
	0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
	0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x6e, 0x75,
	0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4f, 0x70, 0x65, 0x6e, 0x45, 0x6e, 0x75,
	0x6d, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x02, 0x52, 0x12, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x63,
	0x69, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x22, 0x28, 0x0a, 0x0a,
	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x4e,
	0x4f, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x4f, 0x53, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04,
	0x44, 0x49, 0x45, 0x5a, 0x10, 0x0a, 0x22, 0x41, 0x0a, 0x0e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x4f, 0x70, 0x65, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e,
	0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x45, 0x49, 0x4e, 0x53, 0x10, 0x01, 0x12,
	0x08, 0x0a, 0x04, 0x5a, 0x57, 0x45, 0x49, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x5a, 0x45, 0x48,
	0x4e, 0x10, 0x0a, 0x1a, 0x04, 0x3a, 0x02, 0x10, 0x01, 0x22, 0x94, 0x02, 0x0a, 0x07, 0x52, 0x65,
	0x70, 0x65, 0x61, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f,
	0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x08, 0x52, 0x07, 0x72, 0x70, 0x74, 0x42, 0x6f, 0x6f, 0x6c,
	0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20,
	0x03, 0x28, 0x05, 0x52, 0x08, 0x72, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1b, 0x0a,
	0x09, 0x72, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03,
	0x52, 0x08, 0x72, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70,
	0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09,
	0x72, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74,
	0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x09, 0x72,
	0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f,
	0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x02, 0x52, 0x08, 0x72, 0x70, 0x74,
	0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x64, 0x6f, 0x75,
	0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x01, 0x52, 0x09, 0x72, 0x70, 0x74, 0x44, 0x6f,
	0x75, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69,
	0x6e, 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x72, 0x70, 0x74, 0x53, 0x74, 0x72,
	0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73,
	0x18, 0x09, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x08, 0x72, 0x70, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73,
	0x22, 0xb9, 0x02, 0x0a, 0x04, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x49, 0x0a, 0x0c, 0x69, 0x6e, 0x74,
	0x33, 0x32, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x27, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x6f,
	0x53, 0x74, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x54,
	0x6f, 0x53, 0x74, 0x72, 0x12, 0x4c, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6e,
	0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6f, 0x70,
	0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
	0x4d, 0x61, 0x70, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x1a, 0x3d, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x6f, 0x53, 0x74, 0x72,
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
	0x01, 0x1a, 0x59, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e,
	0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65,
	0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x61, 0x0a, 0x06,
	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74,
	0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53,
	0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73,
	0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x70, 0x61, 0x71,
	0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22,
	0x80, 0x06, 0x0a, 0x05, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x12, 0x38, 0x0a, 0x0a, 0x6f, 0x70, 0x74,
	0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73,
	0x74, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70,
	0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x2e,
	0x4f, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x28, 0x02, 0x52,
	0x08, 0x6f, 0x70, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x51, 0x0a, 0x0f, 0x64, 0x65, 0x6c,
	0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x2e, 0x4f, 0x70, 0x74,
	0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x28, 0x02, 0x52, 0x0e, 0x64, 0x65,
	0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x38, 0x0a, 0x0a,
	0x72, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x19, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x72, 0x70, 0x74,
	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x46, 0x0a, 0x08, 0x72, 0x70, 0x74, 0x67, 0x72, 0x6f,
	0x75, 0x70, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
	0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73,
	0x74, 0x73, 0x2e, 0x52, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x07, 0xaa, 0x01, 0x04,
	0x18, 0x02, 0x28, 0x02, 0x52, 0x08, 0x72, 0x70, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0xe6,
	0x02, 0x0a, 0x08, 0x4f, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6f,
	0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x0a, 0x6f, 0x70,
	0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
	0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x12, 0x5f, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x6e, 0x65, 0x73, 0x74, 0x65,
	0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f,
	0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e,
	0x4f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x05,
	0xaa, 0x01, 0x02, 0x28, 0x02, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x6d, 0x0a, 0x16, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f,
	0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70,
	0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x2e,
	0x4f, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x28, 0x02, 0x52, 0x14,
	0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x46,
	0x69, 0x65, 0x6c, 0x64, 0x1a, 0x31, 0x0a, 0x0e, 0x4f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65,
	0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x69,
	0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x6f, 0x70, 0x74,
	0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x1a, 0x29, 0x0a, 0x08, 0x52, 0x70, 0x74, 0x47, 0x72,
	0x6f, 0x75, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e,
	0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x72, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69,
	0x6e, 0x67, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65,
	0x6c, 0x64, 0x22, 0x9f, 0x02, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x73,
	0x12, 0x20, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x08, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x07, 0x72, 0x65, 0x71, 0x42, 0x6f,
	0x6f, 0x6c, 0x12, 0x28, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64,
	0x36, 0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x10, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52,
	0x0b, 0x72, 0x65, 0x71, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x24, 0x0a, 0x0a,
	0x72, 0x65, 0x71, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01,
	0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x09, 0x72, 0x65, 0x71, 0x44, 0x6f, 0x75, 0x62,
	0x6c, 0x65, 0x12, 0x24, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x09, 0x72,
	0x65, 0x71, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x39, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x5f,
	0x65, 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x61,
	0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45,
	0x6e, 0x75, 0x6d, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x07, 0x72, 0x65, 0x71, 0x45,
	0x6e, 0x75, 0x6d, 0x12, 0x3f, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65,
	0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
	0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x09, 0x72, 0x65, 0x71, 0x4e, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x22, 0x56, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52,
	0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x73,
	0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05, 0xaa, 0x01, 0x02,
	0x08, 0x03, 0x52, 0x09, 0x72, 0x65, 0x71, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a,
	0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x3a, 0x0a, 0x12,
	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72,
	0x65, 0x64, 0x12, 0x24, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x08, 0x03, 0x52, 0x09, 0x72,
	0x65, 0x71, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xb4, 0x03, 0x0a, 0x10, 0x49, 0x6e, 0x64,
	0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x44, 0x0a,
	0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68,
	0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73,
	0x74, 0x65, 0x64, 0x12, 0x44, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65,
	0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
	0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x09,
	0x72, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x58, 0x0a, 0x0d, 0x73, 0x74, 0x72,
	0x5f, 0x74, 0x6f, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x34, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71,
	0x75, 0x69, 0x72, 0x65, 0x64, 0x2e, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65,
	0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73,
	0x74, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6e, 0x65, 0x73,
	0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x61, 0x71,
	0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
	0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x1a,
	0x65, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e,
	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x57,
	0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c,
	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x22,
	0x69, 0x0a, 0x0a, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a,
	0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x0a, 0x08,
	0x6f, 0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x65, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07,
	0x6f, 0x70, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69,
	0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49,
	0x6e, 0x74, 0x33, 0x32, 0x2a, 0x04, 0x08, 0x14, 0x10, 0x65, 0x22, 0xbf, 0x05, 0x0a, 0x13, 0x45,
	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
	0x65, 0x72, 0x32, 0x3f, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x62, 0x6f,
	0x6f, 0x6c, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
	0x73, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x42,
	0x6f, 0x6f, 0x6c, 0x32, 0x43, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x73,
	0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70,
	0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45,
	0x78, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x32, 0x58, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f,
	0x65, 0x78, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
	0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74,
	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x45, 0x6e,
	0x75, 0x6d, 0x32, 0x5e, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
	0x6f, 0x6e, 0x73, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x70, 0x61, 0x71,
	0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x32, 0x69, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61,
	0x72, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70,
	0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x61,
	0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x50,
	0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x0d,
	0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x32, 0x43, 0x0a,
	0x0e, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12,
	0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69,
	0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x3d,
	0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x53, 0x74, 0x72, 0x69,
	0x6e, 0x67, 0x32, 0x58, 0x0a, 0x0c, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x6e,
	0x75, 0x6d, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
	0x73, 0x18, 0x3e, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
	0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d,
	0x52, 0x0a, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x32, 0x5e, 0x0a, 0x0e,
	0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x1d,
	0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
	0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x3f, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65,
	0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x0c,
	0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x1a, 0x0a, 0x0a,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x2a, 0x08, 0x08, 0x04, 0x10, 0xff,
	0xff, 0xff, 0xff, 0x07, 0x3a, 0x02, 0x08, 0x01, 0x22, 0x8b, 0x03, 0x0a, 0x13, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
	0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x32,
	0x79, 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65,
	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
	0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65,
	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65,
	0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x80, 0x01, 0x0a, 0x19, 0x6e,
	0x6f, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65,
	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
	0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x73,
	0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65,
	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x6e, 0x6f, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x57, 0x0a,
	0x0a, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x2e, 0x6f, 0x70,
	0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x19, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x65, 0x78, 0x74,
	0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x1a, 0x0a, 0x0e, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x2a, 0x08, 0x08, 0x04, 0x10, 0x80, 0x80, 0x80,
	0x80, 0x02, 0x22, 0xbc, 0x01, 0x0a, 0x17, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61,
	0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d,
	0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x32, 0x81, 0x01,
	0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78,
	0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
	0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6b, 0x65,
	0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
	0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6d, 0x65,
	0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
	0x6e, 0x22, 0x9e, 0x08, 0x0a, 0x0a, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73,
	0x12, 0x35, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07,
	0x6f, 0x70, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69,
	0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74,
	0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x33,
	0x32, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75,
	0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x3b, 0x0a, 0x0a, 0x6f,
	0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
	0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6f,
	0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x3b, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f,
	0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55,
	0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x55,
	0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x6c, 0x6f,
	0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74,
	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12,
	0x3b, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x07, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75,
	0x65, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x0a,
	0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09,
	0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x74,
	0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42,
	0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x42, 0x79,
	0x74, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x12, 0x3f, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
	0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
	0x6d, 0x70, 0x12, 0x36, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74,
	0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52,
	0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x70,
	0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4c,
	0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x4c, 0x69, 0x73,
	0x74, 0x12, 0x33, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x1b,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70,
	0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x75,
	0x6c, 0x6c, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56,
	0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x4e, 0x75, 0x6c, 0x6c, 0x12, 0x33, 0x0a,
	0x09, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
	0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x45, 0x6d, 0x70,
	0x74, 0x79, 0x12, 0x2d, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x20, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x41, 0x6e,
	0x79, 0x12, 0x3f, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6d, 0x61,
	0x73, 0x6b, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64,
	0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x6d, 0x61,
	0x73, 0x6b, 0x2a, 0x21, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x4e,
	0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x57, 0x4f, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03,
	0x54, 0x45, 0x4e, 0x10, 0x0a, 0x2a, 0x3b, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x6e, 0x45, 0x6e, 0x75,
	0x6d, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08,
	0x0a, 0x04, 0x45, 0x49, 0x4e, 0x53, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x5a, 0x57, 0x45, 0x49,
	0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x5a, 0x45, 0x48, 0x4e, 0x10, 0x0a, 0x1a, 0x04, 0x3a, 0x02,
	0x10, 0x01, 0x3a, 0x3f, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x62, 0x6f,
	0x6f, 0x6c, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
	0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x42,
	0x6f, 0x6f, 0x6c, 0x3a, 0x43, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x73,
	0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70,
	0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45,
	0x78, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x58, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f,
	0x65, 0x78, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75,
	0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74,
	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e,
	0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x45, 0x6e,
	0x75, 0x6d, 0x3a, 0x5e, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
	0x6f, 0x6e, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x70, 0x61, 0x71,
	0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65,
	0x73, 0x74, 0x65, 0x64, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74,
	0x65, 0x64, 0x3a, 0x69, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61,
	0x72, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70,
	0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6f, 0x70, 0x61,
	0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x50,
	0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x0d,
	0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x3a, 0x45, 0x0a,
	0x0f, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
	0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
	0x1f, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0d, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x46, 0x69, 0x78,
	0x65, 0x64, 0x33, 0x32, 0x3a, 0x58, 0x0a, 0x0c, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f,
	0x65, 0x6e, 0x75, 0x6d, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62,
	0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
	0x6f, 0x6e, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6f, 0x70, 0x61, 0x71,
	0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x6e,
	0x75, 0x6d, 0x52, 0x0a, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x5e,
	0x0a, 0x0e, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
	0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70,
	0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
	0x52, 0x0c, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x3a, 0x7d,
	0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78,
	0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x2e, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65,
	0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4d, 0x65, 0x73, 0x73,
	0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f,
	0x70, 0x61, 0x71, 0x75, 0x65, 0x2e, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45,
	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
	0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x5a,
	0x53, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f,
	0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65,
	0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f,
	0x74, 0x65, 0x78, 0x74, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x74,
	0x65, 0x78, 0x74, 0x70, 0x62, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x6f, 0x70,
	0x61, 0x71, 0x75, 0x65, 0x92, 0x03, 0x09, 0xd2, 0x3e, 0x02, 0x10, 0x03, 0x10, 0x02, 0x20, 0x03,
	0x62, 0x08, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x70, 0xe8, 0x07,
}

var file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
var file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes = make([]protoimpl.MessageInfo, 26)
var file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_goTypes = []any{
	(Enum)(0),                             // 0: opaque.pbeditions.Enum
	(OpenEnum)(0),                         // 1: opaque.pbeditions.OpenEnum
	(Enums_NestedEnum)(0),                 // 2: opaque.pbeditions.Enums.NestedEnum
	(Enums_NestedOpenEnum)(0),             // 3: opaque.pbeditions.Enums.NestedOpenEnum
	(*Scalars)(nil),                       // 4: opaque.pbeditions.Scalars
	(*ImplicitScalars)(nil),               // 5: opaque.pbeditions.ImplicitScalars
	(*UTF8Validated)(nil),                 // 6: opaque.pbeditions.UTF8Validated
	(*NestsUTF8Validated)(nil),            // 7: opaque.pbeditions.NestsUTF8Validated
	(*Enums)(nil),                         // 8: opaque.pbeditions.Enums
	(*Repeats)(nil),                       // 9: opaque.pbeditions.Repeats
	(*Maps)(nil),                          // 10: opaque.pbeditions.Maps
	(*Nested)(nil),                        // 11: opaque.pbeditions.Nested
	(*Nests)(nil),                         // 12: opaque.pbeditions.Nests
	(*Requireds)(nil),                     // 13: opaque.pbeditions.Requireds
	(*PartialRequired)(nil),               // 14: opaque.pbeditions.PartialRequired
	(*NestedWithRequired)(nil),            // 15: opaque.pbeditions.NestedWithRequired
	(*IndirectRequired)(nil),              // 16: opaque.pbeditions.IndirectRequired
	(*Extensions)(nil),                    // 17: opaque.pbeditions.Extensions
	(*ExtensionsContainer)(nil),           // 18: opaque.pbeditions.ExtensionsContainer
	(*MessageSet)(nil),                    // 19: opaque.pbeditions.MessageSet
	(*MessageSetExtension)(nil),           // 20: opaque.pbeditions.MessageSetExtension
	(*FakeMessageSet)(nil),                // 21: opaque.pbeditions.FakeMessageSet
	(*FakeMessageSetExtension)(nil),       // 22: opaque.pbeditions.FakeMessageSetExtension
	(*KnownTypes)(nil),                    // 23: opaque.pbeditions.KnownTypes
	nil,                                   // 24: opaque.pbeditions.Maps.Int32ToStrEntry
	nil,                                   // 25: opaque.pbeditions.Maps.StrToNestedEntry
	(*Nests_OptGroup)(nil),                // 26: opaque.pbeditions.Nests.OptGroup
	(*Nests_RptGroup)(nil),                // 27: opaque.pbeditions.Nests.RptGroup
	(*Nests_OptGroup_OptNestedGroup)(nil), // 28: opaque.pbeditions.Nests.OptGroup.OptNestedGroup
	nil,                                   // 29: opaque.pbeditions.IndirectRequired.StrToNestedEntry
	(*wrapperspb.BoolValue)(nil),          // 30: google.protobuf.BoolValue
	(*wrapperspb.Int32Value)(nil),         // 31: google.protobuf.Int32Value
	(*wrapperspb.Int64Value)(nil),         // 32: google.protobuf.Int64Value
	(*wrapperspb.UInt32Value)(nil),        // 33: google.protobuf.UInt32Value
	(*wrapperspb.UInt64Value)(nil),        // 34: google.protobuf.UInt64Value
	(*wrapperspb.FloatValue)(nil),         // 35: google.protobuf.FloatValue
	(*wrapperspb.DoubleValue)(nil),        // 36: google.protobuf.DoubleValue
	(*wrapperspb.StringValue)(nil),        // 37: google.protobuf.StringValue
	(*wrapperspb.BytesValue)(nil),         // 38: google.protobuf.BytesValue
	(*durationpb.Duration)(nil),           // 39: google.protobuf.Duration
	(*timestamppb.Timestamp)(nil),         // 40: google.protobuf.Timestamp
	(*structpb.Struct)(nil),               // 41: google.protobuf.Struct
	(*structpb.ListValue)(nil),            // 42: google.protobuf.ListValue
	(*structpb.Value)(nil),                // 43: google.protobuf.Value
	(structpb.NullValue)(0),               // 44: google.protobuf.NullValue
	(*emptypb.Empty)(nil),                 // 45: google.protobuf.Empty
	(*anypb.Any)(nil),                     // 46: google.protobuf.Any
	(*fieldmaskpb.FieldMask)(nil),         // 47: google.protobuf.FieldMask
}
var file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_depIdxs = []int32{
	6,  // 0: opaque.pbeditions.NestsUTF8Validated.validated_message:type_name -> opaque.pbeditions.UTF8Validated
	0,  // 1: opaque.pbeditions.Enums.opt_enum:type_name -> opaque.pbeditions.Enum
	0,  // 2: opaque.pbeditions.Enums.rpt_enum:type_name -> opaque.pbeditions.Enum
	1,  // 3: opaque.pbeditions.Enums.implicit_enum:type_name -> opaque.pbeditions.OpenEnum
	2,  // 4: opaque.pbeditions.Enums.opt_nested_enum:type_name -> opaque.pbeditions.Enums.NestedEnum
	2,  // 5: opaque.pbeditions.Enums.rpt_nested_enum:type_name -> opaque.pbeditions.Enums.NestedEnum
	3,  // 6: opaque.pbeditions.Enums.implicit_nested_enum:type_name -> opaque.pbeditions.Enums.NestedOpenEnum
	24, // 7: opaque.pbeditions.Maps.int32_to_str:type_name -> opaque.pbeditions.Maps.Int32ToStrEntry
	25, // 8: opaque.pbeditions.Maps.str_to_nested:type_name -> opaque.pbeditions.Maps.StrToNestedEntry
	11, // 9: opaque.pbeditions.Nested.opt_nested:type_name -> opaque.pbeditions.Nested
	11, // 10: opaque.pbeditions.Nests.opt_nested:type_name -> opaque.pbeditions.Nested
	26, // 11: opaque.pbeditions.Nests.optgroup:type_name -> opaque.pbeditions.Nests.OptGroup
	26, // 12: opaque.pbeditions.Nests.delimited_field:type_name -> opaque.pbeditions.Nests.OptGroup
	11, // 13: opaque.pbeditions.Nests.rpt_nested:type_name -> opaque.pbeditions.Nested
	27, // 14: opaque.pbeditions.Nests.rptgroup:type_name -> opaque.pbeditions.Nests.RptGroup
	0,  // 15: opaque.pbeditions.Requireds.req_enum:type_name -> opaque.pbeditions.Enum
	11, // 16: opaque.pbeditions.Requireds.req_nested:type_name -> opaque.pbeditions.Nested
	15, // 17: opaque.pbeditions.IndirectRequired.opt_nested:type_name -> opaque.pbeditions.NestedWithRequired
	15, // 18: opaque.pbeditions.IndirectRequired.rpt_nested:type_name -> opaque.pbeditions.NestedWithRequired
	29, // 19: opaque.pbeditions.IndirectRequired.str_to_nested:type_name -> opaque.pbeditions.IndirectRequired.StrToNestedEntry
	15, // 20: opaque.pbeditions.IndirectRequired.oneof_nested:type_name -> opaque.pbeditions.NestedWithRequired
	30, // 21: opaque.pbeditions.KnownTypes.opt_bool:type_name -> google.protobuf.BoolValue
	31, // 22: opaque.pbeditions.KnownTypes.opt_int32:type_name -> google.protobuf.Int32Value
	32, // 23: opaque.pbeditions.KnownTypes.opt_int64:type_name -> google.protobuf.Int64Value
	33, // 24: opaque.pbeditions.KnownTypes.opt_uint32:type_name -> google.protobuf.UInt32Value
	34, // 25: opaque.pbeditions.KnownTypes.opt_uint64:type_name -> google.protobuf.UInt64Value
	35, // 26: opaque.pbeditions.KnownTypes.opt_float:type_name -> google.protobuf.FloatValue
	36, // 27: opaque.pbeditions.KnownTypes.opt_double:type_name -> google.protobuf.DoubleValue
	37, // 28: opaque.pbeditions.KnownTypes.opt_string:type_name -> google.protobuf.StringValue
	38, // 29: opaque.pbeditions.KnownTypes.opt_bytes:type_name -> google.protobuf.BytesValue
	39, // 30: opaque.pbeditions.KnownTypes.opt_duration:type_name -> google.protobuf.Duration
	40, // 31: opaque.pbeditions.KnownTypes.opt_timestamp:type_name -> google.protobuf.Timestamp
	41, // 32: opaque.pbeditions.KnownTypes.opt_struct:type_name -> google.protobuf.Struct
	42, // 33: opaque.pbeditions.KnownTypes.opt_list:type_name -> google.protobuf.ListValue
	43, // 34: opaque.pbeditions.KnownTypes.opt_value:type_name -> google.protobuf.Value
	44, // 35: opaque.pbeditions.KnownTypes.opt_null:type_name -> google.protobuf.NullValue
	45, // 36: opaque.pbeditions.KnownTypes.opt_empty:type_name -> google.protobuf.Empty
	46, // 37: opaque.pbeditions.KnownTypes.opt_any:type_name -> google.protobuf.Any
	47, // 38: opaque.pbeditions.KnownTypes.opt_fieldmask:type_name -> google.protobuf.FieldMask
	11, // 39: opaque.pbeditions.Maps.StrToNestedEntry.value:type_name -> opaque.pbeditions.Nested
	11, // 40: opaque.pbeditions.Nests.OptGroup.opt_nested:type_name -> opaque.pbeditions.Nested
	28, // 41: opaque.pbeditions.Nests.OptGroup.optnestedgroup:type_name -> opaque.pbeditions.Nests.OptGroup.OptNestedGroup
	28, // 42: opaque.pbeditions.Nests.OptGroup.nested_delimited_field:type_name -> opaque.pbeditions.Nests.OptGroup.OptNestedGroup
	15, // 43: opaque.pbeditions.IndirectRequired.StrToNestedEntry.value:type_name -> opaque.pbeditions.NestedWithRequired
	17, // 44: opaque.pbeditions.opt_ext_bool:extendee -> opaque.pbeditions.Extensions
	17, // 45: opaque.pbeditions.opt_ext_string:extendee -> opaque.pbeditions.Extensions
	17, // 46: opaque.pbeditions.opt_ext_enum:extendee -> opaque.pbeditions.Extensions
	17, // 47: opaque.pbeditions.opt_ext_nested:extendee -> opaque.pbeditions.Extensions
	17, // 48: opaque.pbeditions.opt_ext_partial:extendee -> opaque.pbeditions.Extensions
	17, // 49: opaque.pbeditions.rpt_ext_fixed32:extendee -> opaque.pbeditions.Extensions
	17, // 50: opaque.pbeditions.rpt_ext_enum:extendee -> opaque.pbeditions.Extensions
	17, // 51: opaque.pbeditions.rpt_ext_nested:extendee -> opaque.pbeditions.Extensions
	19, // 52: opaque.pbeditions.message_set_extension:extendee -> opaque.pbeditions.MessageSet
	17, // 53: opaque.pbeditions.ExtensionsContainer.opt_ext_bool:extendee -> opaque.pbeditions.Extensions
	17, // 54: opaque.pbeditions.ExtensionsContainer.opt_ext_string:extendee -> opaque.pbeditions.Extensions
	17, // 55: opaque.pbeditions.ExtensionsContainer.opt_ext_enum:extendee -> opaque.pbeditions.Extensions
	17, // 56: opaque.pbeditions.ExtensionsContainer.opt_ext_nested:extendee -> opaque.pbeditions.Extensions
	17, // 57: opaque.pbeditions.ExtensionsContainer.opt_ext_partial:extendee -> opaque.pbeditions.Extensions
	17, // 58: opaque.pbeditions.ExtensionsContainer.rpt_ext_string:extendee -> opaque.pbeditions.Extensions
	17, // 59: opaque.pbeditions.ExtensionsContainer.rpt_ext_enum:extendee -> opaque.pbeditions.Extensions
	17, // 60: opaque.pbeditions.ExtensionsContainer.rpt_ext_nested:extendee -> opaque.pbeditions.Extensions
	19, // 61: opaque.pbeditions.MessageSetExtension.message_set_extension:extendee -> opaque.pbeditions.MessageSet
	19, // 62: opaque.pbeditions.MessageSetExtension.not_message_set_extension:extendee -> opaque.pbeditions.MessageSet
	19, // 63: opaque.pbeditions.MessageSetExtension.ext_nested:extendee -> opaque.pbeditions.MessageSet
	21, // 64: opaque.pbeditions.FakeMessageSetExtension.message_set_extension:extendee -> opaque.pbeditions.FakeMessageSet
	0,  // 65: opaque.pbeditions.opt_ext_enum:type_name -> opaque.pbeditions.Enum
	11, // 66: opaque.pbeditions.opt_ext_nested:type_name -> opaque.pbeditions.Nested
	14, // 67: opaque.pbeditions.opt_ext_partial:type_name -> opaque.pbeditions.PartialRequired
	0,  // 68: opaque.pbeditions.rpt_ext_enum:type_name -> opaque.pbeditions.Enum
	11, // 69: opaque.pbeditions.rpt_ext_nested:type_name -> opaque.pbeditions.Nested
	22, // 70: opaque.pbeditions.message_set_extension:type_name -> opaque.pbeditions.FakeMessageSetExtension
	0,  // 71: opaque.pbeditions.ExtensionsContainer.opt_ext_enum:type_name -> opaque.pbeditions.Enum
	11, // 72: opaque.pbeditions.ExtensionsContainer.opt_ext_nested:type_name -> opaque.pbeditions.Nested
	14, // 73: opaque.pbeditions.ExtensionsContainer.opt_ext_partial:type_name -> opaque.pbeditions.PartialRequired
	0,  // 74: opaque.pbeditions.ExtensionsContainer.rpt_ext_enum:type_name -> opaque.pbeditions.Enum
	11, // 75: opaque.pbeditions.ExtensionsContainer.rpt_ext_nested:type_name -> opaque.pbeditions.Nested
	20, // 76: opaque.pbeditions.MessageSetExtension.message_set_extension:type_name -> opaque.pbeditions.MessageSetExtension
	20, // 77: opaque.pbeditions.MessageSetExtension.not_message_set_extension:type_name -> opaque.pbeditions.MessageSetExtension
	11, // 78: opaque.pbeditions.MessageSetExtension.ext_nested:type_name -> opaque.pbeditions.Nested
	22, // 79: opaque.pbeditions.FakeMessageSetExtension.message_set_extension:type_name -> opaque.pbeditions.FakeMessageSetExtension
	80, // [80:80] is the sub-list for method output_type
	80, // [80:80] is the sub-list for method input_type
	65, // [65:80] is the sub-list for extension type_name
	44, // [44:65] is the sub-list for extension extendee
	0,  // [0:44] is the sub-list for field type_name
}

func init() { file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_init() }
func file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_init() {
	if File_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto != nil {
		return
	}
	file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes[12].OneofWrappers = []any{
		(*indirectRequired_OneofNested)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_rawDesc,
			NumEnums:      4,
			NumMessages:   26,
			NumExtensions: 21,
			NumServices:   0,
		},
		GoTypes:           file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_goTypes,
		DependencyIndexes: file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_depIdxs,
		EnumInfos:         file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_enumTypes,
		MessageInfos:      file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_msgTypes,
		ExtensionInfos:    file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_extTypes,
	}.Build()
	File_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto = out.File
	file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_rawDesc = nil
	file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_goTypes = nil
	file_internal_testprotos_textpbeditions_textpbeditions_opaque_test2_opaque_proto_depIdxs = nil
}
