// Code generated by protoc-gen-go.
// source: proto2.v0.0.0-20160519-a4ab9ec5/test.proto
// DO NOT EDIT!

/*
Package proto2_v0_0_0_20160519_a4ab9ec5 is a generated protocol buffer package.

It is generated from these files:
	proto2.v0.0.0-20160519-a4ab9ec5/test.proto

It has these top-level messages:
	SiblingMessage
	Message
*/
package proto2_v0_0_0_20160519_a4ab9ec5

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
const _ = proto.ProtoPackageIsVersion1

type SiblingEnum int32

const (
	SiblingEnum_ALPHA   SiblingEnum = 0
	SiblingEnum_BRAVO   SiblingEnum = 10
	SiblingEnum_CHARLIE SiblingEnum = 200
)

var SiblingEnum_name = map[int32]string{
	0:   "ALPHA",
	10:  "BRAVO",
	200: "CHARLIE",
}
var SiblingEnum_value = map[string]int32{
	"ALPHA":   0,
	"BRAVO":   10,
	"CHARLIE": 200,
}

func (x SiblingEnum) Enum() *SiblingEnum {
	p := new(SiblingEnum)
	*p = x
	return p
}
func (x SiblingEnum) String() string {
	return proto.EnumName(SiblingEnum_name, int32(x))
}
func (x *SiblingEnum) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(SiblingEnum_value, data, "SiblingEnum")
	if err != nil {
		return err
	}
	*x = SiblingEnum(value)
	return nil
}
func (SiblingEnum) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

type Message_ChildEnum int32

const (
	Message_ALPHA   Message_ChildEnum = 0
	Message_BRAVO   Message_ChildEnum = 1
	Message_CHARLIE Message_ChildEnum = 2
)

var Message_ChildEnum_name = map[int32]string{
	0: "ALPHA",
	1: "BRAVO",
	2: "CHARLIE",
}
var Message_ChildEnum_value = map[string]int32{
	"ALPHA":   0,
	"BRAVO":   1,
	"CHARLIE": 2,
}

func (x Message_ChildEnum) Enum() *Message_ChildEnum {
	p := new(Message_ChildEnum)
	*p = x
	return p
}
func (x Message_ChildEnum) String() string {
	return proto.EnumName(Message_ChildEnum_name, int32(x))
}
func (x *Message_ChildEnum) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(Message_ChildEnum_value, data, "Message_ChildEnum")
	if err != nil {
		return err
	}
	*x = Message_ChildEnum(value)
	return nil
}
func (Message_ChildEnum) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 0} }

type SiblingMessage struct {
	F1               *string  `protobuf:"bytes,1,opt,name=f1" json:"f1,omitempty"`
	F2               *string  `protobuf:"bytes,2,req,name=f2" json:"f2,omitempty"`
	F3               []string `protobuf:"bytes,3,rep,name=f3" json:"f3,omitempty"`
	F4               *Message `protobuf:"bytes,4,opt,name=f4" json:"f4,omitempty"`
	XXX_unrecognized []byte   `json:"-"`
}

func (m *SiblingMessage) Reset()                    { *m = SiblingMessage{} }
func (m *SiblingMessage) String() string            { return proto.CompactTextString(m) }
func (*SiblingMessage) ProtoMessage()               {}
func (*SiblingMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

func (m *SiblingMessage) GetF1() string {
	if m != nil && m.F1 != nil {
		return *m.F1
	}
	return ""
}

func (m *SiblingMessage) GetF2() string {
	if m != nil && m.F2 != nil {
		return *m.F2
	}
	return ""
}

func (m *SiblingMessage) GetF3() []string {
	if m != nil {
		return m.F3
	}
	return nil
}

func (m *SiblingMessage) GetF4() *Message {
	if m != nil {
		return m.F4
	}
	return nil
}

type Message struct {
	Namedgroup *Message_NamedGroup `protobuf:"group,1,opt,name=NamedGroup,json=namedgroup" json:"namedgroup,omitempty"`
	// Optional fields.
	OptionalBool           *bool                  `protobuf:"varint,100,opt,name=optional_bool,json=optionalBool" json:"optional_bool,omitempty"`
	OptionalInt32          *int32                 `protobuf:"varint,101,opt,name=optional_int32,json=optionalInt32" json:"optional_int32,omitempty"`
	OptionalSint32         *int32                 `protobuf:"zigzag32,102,opt,name=optional_sint32,json=optionalSint32" json:"optional_sint32,omitempty"`
	OptionalUint32         *uint32                `protobuf:"varint,103,opt,name=optional_uint32,json=optionalUint32" json:"optional_uint32,omitempty"`
	OptionalInt64          *int64                 `protobuf:"varint,104,opt,name=optional_int64,json=optionalInt64" json:"optional_int64,omitempty"`
	OptionalSint64         *int64                 `protobuf:"zigzag64,105,opt,name=optional_sint64,json=optionalSint64" json:"optional_sint64,omitempty"`
	OptionalUint64         *uint64                `protobuf:"varint,106,opt,name=optional_uint64,json=optionalUint64" json:"optional_uint64,omitempty"`
	OptionalFixed32        *uint32                `protobuf:"fixed32,107,opt,name=optional_fixed32,json=optionalFixed32" json:"optional_fixed32,omitempty"`
	OptionalSfixed32       *int32                 `protobuf:"fixed32,108,opt,name=optional_sfixed32,json=optionalSfixed32" json:"optional_sfixed32,omitempty"`
	OptionalFloat          *float32               `protobuf:"fixed32,109,opt,name=optional_float,json=optionalFloat" json:"optional_float,omitempty"`
	OptionalFixed64        *uint64                `protobuf:"fixed64,110,opt,name=optional_fixed64,json=optionalFixed64" json:"optional_fixed64,omitempty"`
	OptionalSfixed64       *int64                 `protobuf:"fixed64,111,opt,name=optional_sfixed64,json=optionalSfixed64" json:"optional_sfixed64,omitempty"`
	OptionalDouble         *float64               `protobuf:"fixed64,112,opt,name=optional_double,json=optionalDouble" json:"optional_double,omitempty"`
	OptionalString         *string                `protobuf:"bytes,113,opt,name=optional_string,json=optionalString" json:"optional_string,omitempty"`
	OptionalBytes          []byte                 `protobuf:"bytes,114,opt,name=optional_bytes,json=optionalBytes" json:"optional_bytes,omitempty"`
	OptionalChildEnum      *Message_ChildEnum     `protobuf:"varint,115,opt,name=optional_child_enum,json=optionalChildEnum,enum=google.golang.org.proto2_20160519.Message_ChildEnum" json:"optional_child_enum,omitempty"`
	OptionalChildMessage   *Message_ChildMessage  `protobuf:"bytes,116,opt,name=optional_child_message,json=optionalChildMessage" json:"optional_child_message,omitempty"`
	OptionalNamedGroup     *Message_NamedGroup    `protobuf:"bytes,117,opt,name=optional_named_group,json=optionalNamedGroup" json:"optional_named_group,omitempty"`
	OptionalSiblingEnum    *SiblingEnum           `protobuf:"varint,118,opt,name=optional_sibling_enum,json=optionalSiblingEnum,enum=google.golang.org.proto2_20160519.SiblingEnum" json:"optional_sibling_enum,omitempty"`
	OptionalSiblingMessage *SiblingMessage        `protobuf:"bytes,119,opt,name=optional_sibling_message,json=optionalSiblingMessage" json:"optional_sibling_message,omitempty"`
	Optionalgroup          *Message_OptionalGroup `protobuf:"group,120,opt,name=OptionalGroup,json=optionalgroup" json:"optionalgroup,omitempty"`
	// Optional default fields.
	DefaultedBool        *bool              `protobuf:"varint,200,opt,name=defaulted_bool,json=defaultedBool,def=1" json:"defaulted_bool,omitempty"`
	DefaultedInt32       *int32             `protobuf:"varint,201,opt,name=defaulted_int32,json=defaultedInt32,def=-12345" json:"defaulted_int32,omitempty"`
	DefaultedSint32      *int32             `protobuf:"zigzag32,202,opt,name=defaulted_sint32,json=defaultedSint32,def=-3200" json:"defaulted_sint32,omitempty"`
	DefaultedUint32      *uint32            `protobuf:"varint,203,opt,name=defaulted_uint32,json=defaultedUint32,def=3200" json:"defaulted_uint32,omitempty"`
	DefaultedInt64       *int64             `protobuf:"varint,204,opt,name=defaulted_int64,json=defaultedInt64,def=-123456789" json:"defaulted_int64,omitempty"`
	DefaultedSint64      *int64             `protobuf:"zigzag64,205,opt,name=defaulted_sint64,json=defaultedSint64,def=-6400" json:"defaulted_sint64,omitempty"`
	DefaultedUint64      *uint64            `protobuf:"varint,206,opt,name=defaulted_uint64,json=defaultedUint64,def=6400" json:"defaulted_uint64,omitempty"`
	DefaultedFixed32     *uint32            `protobuf:"fixed32,207,opt,name=defaulted_fixed32,json=defaultedFixed32,def=320000" json:"defaulted_fixed32,omitempty"`
	DefaultedSfixed32    *int32             `protobuf:"fixed32,208,opt,name=defaulted_sfixed32,json=defaultedSfixed32,def=-320000" json:"defaulted_sfixed32,omitempty"`
	DefaultedFloat       *float32           `protobuf:"fixed32,209,opt,name=defaulted_float,json=defaultedFloat,def=3.14159" json:"defaulted_float,omitempty"`
	DefaultedFixed64     *uint64            `protobuf:"fixed64,210,opt,name=defaulted_fixed64,json=defaultedFixed64,def=640000" json:"defaulted_fixed64,omitempty"`
	DefaultedSfixed64    *int64             `protobuf:"fixed64,211,opt,name=defaulted_sfixed64,json=defaultedSfixed64,def=-640000" json:"defaulted_sfixed64,omitempty"`
	DefaultedDouble      *float64           `protobuf:"fixed64,212,opt,name=defaulted_double,json=defaultedDouble,def=3.14159265359" json:"defaulted_double,omitempty"`
	DefaultedString      *string            `protobuf:"bytes,213,opt,name=defaulted_string,json=defaultedString,def=hello, \"world!\"\n" json:"defaulted_string,omitempty"`
	DefaultedBytes       []byte             `protobuf:"bytes,214,opt,name=defaulted_bytes,json=defaultedBytes,def=dead\\336\\255\\276\\357beef" json:"defaulted_bytes,omitempty"`
	DefaultedChildEnum   *Message_ChildEnum `protobuf:"varint,215,opt,name=defaulted_child_enum,json=defaultedChildEnum,enum=google.golang.org.proto2_20160519.Message_ChildEnum,def=0" json:"defaulted_child_enum,omitempty"`
	DefaultedSiblingEnum *SiblingEnum       `protobuf:"varint,216,opt,name=defaulted_sibling_enum,json=defaultedSiblingEnum,enum=google.golang.org.proto2_20160519.SiblingEnum,def=0" json:"defaulted_sibling_enum,omitempty"`
	// Required fields.
	RequiredBool           *bool                  `protobuf:"varint,300,req,name=required_bool,json=requiredBool" json:"required_bool,omitempty"`
	RequiredInt32          *int32                 `protobuf:"varint,301,req,name=required_int32,json=requiredInt32" json:"required_int32,omitempty"`
	RequiredSint32         *int32                 `protobuf:"zigzag32,302,req,name=required_sint32,json=requiredSint32" json:"required_sint32,omitempty"`
	RequiredUint32         *uint32                `protobuf:"varint,303,req,name=required_uint32,json=requiredUint32" json:"required_uint32,omitempty"`
	RequiredInt64          *int64                 `protobuf:"varint,304,req,name=required_int64,json=requiredInt64" json:"required_int64,omitempty"`
	RequiredSint64         *int64                 `protobuf:"zigzag64,305,req,name=required_sint64,json=requiredSint64" json:"required_sint64,omitempty"`
	RequiredUint64         *uint64                `protobuf:"varint,306,req,name=required_uint64,json=requiredUint64" json:"required_uint64,omitempty"`
	RequiredFixed32        *uint32                `protobuf:"fixed32,307,req,name=required_fixed32,json=requiredFixed32" json:"required_fixed32,omitempty"`
	RequiredSfixed32       *int32                 `protobuf:"fixed32,308,req,name=required_sfixed32,json=requiredSfixed32" json:"required_sfixed32,omitempty"`
	RequiredFloat          *float32               `protobuf:"fixed32,309,req,name=required_float,json=requiredFloat" json:"required_float,omitempty"`
	RequiredFixed64        *uint64                `protobuf:"fixed64,310,req,name=required_fixed64,json=requiredFixed64" json:"required_fixed64,omitempty"`
	RequiredSfixed64       *int64                 `protobuf:"fixed64,311,req,name=required_sfixed64,json=requiredSfixed64" json:"required_sfixed64,omitempty"`
	RequiredDouble         *float64               `protobuf:"fixed64,312,req,name=required_double,json=requiredDouble" json:"required_double,omitempty"`
	RequiredString         *string                `protobuf:"bytes,313,req,name=required_string,json=requiredString" json:"required_string,omitempty"`
	RequiredBytes          []byte                 `protobuf:"bytes,314,req,name=required_bytes,json=requiredBytes" json:"required_bytes,omitempty"`
	RequiredChildEnum      *Message_ChildEnum     `protobuf:"varint,315,req,name=required_child_enum,json=requiredChildEnum,enum=google.golang.org.proto2_20160519.Message_ChildEnum" json:"required_child_enum,omitempty"`
	RequiredChildMessage   *Message_ChildMessage  `protobuf:"bytes,316,req,name=required_child_message,json=requiredChildMessage" json:"required_child_message,omitempty"`
	RequiredNamedGroup     *Message_NamedGroup    `protobuf:"bytes,317,req,name=required_named_group,json=requiredNamedGroup" json:"required_named_group,omitempty"`
	RequiredSiblingEnum    *SiblingEnum           `protobuf:"varint,318,req,name=required_sibling_enum,json=requiredSiblingEnum,enum=google.golang.org.proto2_20160519.SiblingEnum" json:"required_sibling_enum,omitempty"`
	RequiredSiblingMessage *SiblingMessage        `protobuf:"bytes,319,req,name=required_sibling_message,json=requiredSiblingMessage" json:"required_sibling_message,omitempty"`
	Requiredgroup          *Message_RequiredGroup `protobuf:"group,320,req,name=RequiredGroup,json=requiredgroup" json:"requiredgroup,omitempty"`
	// Required default fields.
	RequiredDefaultedBool        *bool              `protobuf:"varint,400,req,name=required_defaulted_bool,json=requiredDefaultedBool,def=1" json:"required_defaulted_bool,omitempty"`
	RequiredDefaultedInt32       *int32             `protobuf:"varint,401,req,name=required_defaulted_int32,json=requiredDefaultedInt32,def=-12345" json:"required_defaulted_int32,omitempty"`
	RequiredDefaultedSint32      *int32             `protobuf:"zigzag32,402,req,name=required_defaulted_sint32,json=requiredDefaultedSint32,def=-3200" json:"required_defaulted_sint32,omitempty"`
	RequiredDefaultedUint32      *uint32            `protobuf:"varint,403,req,name=required_defaulted_uint32,json=requiredDefaultedUint32,def=3200" json:"required_defaulted_uint32,omitempty"`
	RequiredDefaultedInt64       *int64             `protobuf:"varint,404,req,name=required_defaulted_int64,json=requiredDefaultedInt64,def=-123456789" json:"required_defaulted_int64,omitempty"`
	RequiredDefaultedSint64      *int64             `protobuf:"zigzag64,405,req,name=required_defaulted_sint64,json=requiredDefaultedSint64,def=-6400" json:"required_defaulted_sint64,omitempty"`
	RequiredDefaultedUint64      *uint64            `protobuf:"varint,406,req,name=required_defaulted_uint64,json=requiredDefaultedUint64,def=6400" json:"required_defaulted_uint64,omitempty"`
	RequiredDefaultedFixed32     *uint32            `protobuf:"fixed32,407,req,name=required_defaulted_fixed32,json=requiredDefaultedFixed32,def=320000" json:"required_defaulted_fixed32,omitempty"`
	RequiredDefaultedSfixed32    *int32             `protobuf:"fixed32,408,req,name=required_defaulted_sfixed32,json=requiredDefaultedSfixed32,def=-320000" json:"required_defaulted_sfixed32,omitempty"`
	RequiredDefaultedFloat       *float32           `protobuf:"fixed32,409,req,name=required_defaulted_float,json=requiredDefaultedFloat,def=3.14159" json:"required_defaulted_float,omitempty"`
	RequiredDefaultedFixed64     *uint64            `protobuf:"fixed64,410,req,name=required_defaulted_fixed64,json=requiredDefaultedFixed64,def=640000" json:"required_defaulted_fixed64,omitempty"`
	RequiredDefaultedSfixed64    *int64             `protobuf:"fixed64,411,req,name=required_defaulted_sfixed64,json=requiredDefaultedSfixed64,def=-640000" json:"required_defaulted_sfixed64,omitempty"`
	RequiredDefaultedDouble      *float64           `protobuf:"fixed64,412,req,name=required_defaulted_double,json=requiredDefaultedDouble,def=3.14159265359" json:"required_defaulted_double,omitempty"`
	RequiredDefaultedString      *string            `protobuf:"bytes,413,req,name=required_defaulted_string,json=requiredDefaultedString,def=hello, \"world!\"\n" json:"required_defaulted_string,omitempty"`
	RequiredDefaultedBytes       []byte             `protobuf:"bytes,414,req,name=required_defaulted_bytes,json=requiredDefaultedBytes,def=dead\\336\\255\\276\\357beef" json:"required_defaulted_bytes,omitempty"`
	RequiredDefaultedChildEnum   *Message_ChildEnum `protobuf:"varint,415,req,name=required_defaulted_child_enum,json=requiredDefaultedChildEnum,enum=google.golang.org.proto2_20160519.Message_ChildEnum,def=0" json:"required_defaulted_child_enum,omitempty"`
	RequiredDefaultedSiblingEnum *SiblingEnum       `protobuf:"varint,416,req,name=required_defaulted_sibling_enum,json=requiredDefaultedSiblingEnum,enum=google.golang.org.proto2_20160519.SiblingEnum,def=0" json:"required_defaulted_sibling_enum,omitempty"`
	// Repeated fields.
	RepeatedBool           []bool                   `protobuf:"varint,500,rep,name=repeated_bool,json=repeatedBool" json:"repeated_bool,omitempty"`
	RepeatedInt32          []int32                  `protobuf:"varint,501,rep,name=repeated_int32,json=repeatedInt32" json:"repeated_int32,omitempty"`
	RepeatedSint32         []int32                  `protobuf:"zigzag32,502,rep,name=repeated_sint32,json=repeatedSint32" json:"repeated_sint32,omitempty"`
	RepeatedUint32         []uint32                 `protobuf:"varint,503,rep,name=repeated_uint32,json=repeatedUint32" json:"repeated_uint32,omitempty"`
	RepeatedInt64          []int64                  `protobuf:"varint,504,rep,name=repeated_int64,json=repeatedInt64" json:"repeated_int64,omitempty"`
	RepeatedSint64         []int64                  `protobuf:"zigzag64,505,rep,name=repeated_sint64,json=repeatedSint64" json:"repeated_sint64,omitempty"`
	RepeatedUint64         []uint64                 `protobuf:"varint,506,rep,name=repeated_uint64,json=repeatedUint64" json:"repeated_uint64,omitempty"`
	RepeatedFixed32        []uint32                 `protobuf:"fixed32,507,rep,name=repeated_fixed32,json=repeatedFixed32" json:"repeated_fixed32,omitempty"`
	RepeatedSfixed32       []int32                  `protobuf:"fixed32,508,rep,name=repeated_sfixed32,json=repeatedSfixed32" json:"repeated_sfixed32,omitempty"`
	RepeatedFloat          []float32                `protobuf:"fixed32,509,rep,name=repeated_float,json=repeatedFloat" json:"repeated_float,omitempty"`
	RepeatedFixed64        []uint64                 `protobuf:"fixed64,510,rep,name=repeated_fixed64,json=repeatedFixed64" json:"repeated_fixed64,omitempty"`
	RepeatedSfixed64       []int64                  `protobuf:"fixed64,511,rep,name=repeated_sfixed64,json=repeatedSfixed64" json:"repeated_sfixed64,omitempty"`
	RepeatedDouble         []float64                `protobuf:"fixed64,512,rep,name=repeated_double,json=repeatedDouble" json:"repeated_double,omitempty"`
	RepeatedString         []string                 `protobuf:"bytes,513,rep,name=repeated_string,json=repeatedString" json:"repeated_string,omitempty"`
	RepeatedBytes          [][]byte                 `protobuf:"bytes,514,rep,name=repeated_bytes,json=repeatedBytes" json:"repeated_bytes,omitempty"`
	RepeatedChildEnum      []Message_ChildEnum      `protobuf:"varint,515,rep,name=repeated_child_enum,json=repeatedChildEnum,enum=google.golang.org.proto2_20160519.Message_ChildEnum" json:"repeated_child_enum,omitempty"`
	RepeatedChildMessage   []*Message_ChildMessage  `protobuf:"bytes,516,rep,name=repeated_child_message,json=repeatedChildMessage" json:"repeated_child_message,omitempty"`
	RepeatedNamedGroup     []*Message_NamedGroup    `protobuf:"bytes,517,rep,name=repeated_named_group,json=repeatedNamedGroup" json:"repeated_named_group,omitempty"`
	RepeatedSiblingEnum    []SiblingEnum            `protobuf:"varint,518,rep,name=repeated_sibling_enum,json=repeatedSiblingEnum,enum=google.golang.org.proto2_20160519.SiblingEnum" json:"repeated_sibling_enum,omitempty"`
	RepeatedSiblingMessage []*SiblingMessage        `protobuf:"bytes,519,rep,name=repeated_sibling_message,json=repeatedSiblingMessage" json:"repeated_sibling_message,omitempty"`
	Repeatedgroup          []*Message_RepeatedGroup `protobuf:"group,520,rep,name=RepeatedGroup,json=repeatedgroup" json:"repeatedgroup,omitempty"`
	// Map fields.
	MapBoolBool           map[bool]bool                  `protobuf:"bytes,600,rep,name=map_bool_bool,json=mapBoolBool" json:"map_bool_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	MapBoolInt32          map[bool]int32                 `protobuf:"bytes,601,rep,name=map_bool_int32,json=mapBoolInt32" json:"map_bool_int32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	MapBoolSint32         map[bool]int32                 `protobuf:"bytes,602,rep,name=map_bool_sint32,json=mapBoolSint32" json:"map_bool_sint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"zigzag32,2,opt,name=value"`
	MapBoolUint32         map[bool]uint32                `protobuf:"bytes,603,rep,name=map_bool_uint32,json=mapBoolUint32" json:"map_bool_uint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	MapBoolInt64          map[bool]int64                 `protobuf:"bytes,604,rep,name=map_bool_int64,json=mapBoolInt64" json:"map_bool_int64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	MapBoolSint64         map[bool]int64                 `protobuf:"bytes,605,rep,name=map_bool_sint64,json=mapBoolSint64" json:"map_bool_sint64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"zigzag64,2,opt,name=value"`
	MapBoolUint64         map[bool]uint64                `protobuf:"bytes,606,rep,name=map_bool_uint64,json=mapBoolUint64" json:"map_bool_uint64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	MapBoolFixed32        map[bool]uint32                `protobuf:"bytes,607,rep,name=map_bool_fixed32,json=mapBoolFixed32" json:"map_bool_fixed32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
	MapBoolSfixed32       map[bool]int32                 `protobuf:"bytes,608,rep,name=map_bool_sfixed32,json=mapBoolSfixed32" json:"map_bool_sfixed32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
	MapBoolFloat          map[bool]float32               `protobuf:"bytes,609,rep,name=map_bool_float,json=mapBoolFloat" json:"map_bool_float,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
	MapBoolFixed64        map[bool]uint64                `protobuf:"bytes,610,rep,name=map_bool_fixed64,json=mapBoolFixed64" json:"map_bool_fixed64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
	MapBoolSfixed64       map[bool]int64                 `protobuf:"bytes,611,rep,name=map_bool_sfixed64,json=mapBoolSfixed64" json:"map_bool_sfixed64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
	MapBoolDouble         map[bool]float64               `protobuf:"bytes,612,rep,name=map_bool_double,json=mapBoolDouble" json:"map_bool_double,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
	MapBoolString         map[bool]string                `protobuf:"bytes,613,rep,name=map_bool_string,json=mapBoolString" json:"map_bool_string,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	MapBoolBytes          map[bool][]byte                `protobuf:"bytes,614,rep,name=map_bool_bytes,json=mapBoolBytes" json:"map_bool_bytes,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	MapBoolChildEnum      map[bool]Message_ChildEnum     `protobuf:"bytes,615,rep,name=map_bool_child_enum,json=mapBoolChildEnum" json:"map_bool_child_enum,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=google.golang.org.proto2_20160519.Message_ChildEnum"`
	MapBoolChildMessage   map[bool]*Message_ChildMessage `protobuf:"bytes,616,rep,name=map_bool_child_message,json=mapBoolChildMessage" json:"map_bool_child_message,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	MapBoolNamedGroup     map[bool]*Message_NamedGroup   `protobuf:"bytes,617,rep,name=map_bool_named_group,json=mapBoolNamedGroup" json:"map_bool_named_group,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	MapBoolSiblingEnum    map[bool]SiblingEnum           `protobuf:"bytes,618,rep,name=map_bool_sibling_enum,json=mapBoolSiblingEnum" json:"map_bool_sibling_enum,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=google.golang.org.proto2_20160519.SiblingEnum"`
	MapBoolSiblingMessage map[bool]*SiblingMessage       `protobuf:"bytes,619,rep,name=map_bool_sibling_message,json=mapBoolSiblingMessage" json:"map_bool_sibling_message,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	MapInt32Bool          map[int32]bool                 `protobuf:"bytes,620,rep,name=map_int32_bool,json=mapInt32Bool" json:"map_int32_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	MapSint32Bool         map[int32]bool                 `protobuf:"bytes,621,rep,name=map_sint32_bool,json=mapSint32Bool" json:"map_sint32_bool,omitempty" protobuf_key:"zigzag32,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	MapUint32Bool         map[uint32]bool                `protobuf:"bytes,622,rep,name=map_uint32_bool,json=mapUint32Bool" json:"map_uint32_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	MapInt64Bool          map[int64]bool                 `protobuf:"bytes,623,rep,name=map_int64_bool,json=mapInt64Bool" json:"map_int64_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	MapSint64Bool         map[int64]bool                 `protobuf:"bytes,624,rep,name=map_sint64_bool,json=mapSint64Bool" json:"map_sint64_bool,omitempty" protobuf_key:"zigzag64,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	MapUint64Bool         map[uint64]bool                `protobuf:"bytes,625,rep,name=map_uint64_bool,json=mapUint64Bool" json:"map_uint64_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	MapFixed32Bool        map[uint32]bool                `protobuf:"bytes,626,rep,name=map_fixed32_bool,json=mapFixed32Bool" json:"map_fixed32_bool,omitempty" protobuf_key:"fixed32,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	MapStringBool         map[string]bool                `protobuf:"bytes,627,rep,name=map_string_bool,json=mapStringBool" json:"map_string_bool,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	// Oneof fields.
	//
	// Types that are valid to be assigned to OneofUnion:
	//	*Message_OneofBool
	//	*Message_OneofInt32
	//	*Message_OneofSint32
	//	*Message_OneofUint32
	//	*Message_OneofInt64
	//	*Message_OneofSint64
	//	*Message_OneofUint64
	//	*Message_OneofFixed32
	//	*Message_OneofSfixed32
	//	*Message_OneofFloat
	//	*Message_OneofFixed64
	//	*Message_OneofSfixed64
	//	*Message_OneofDouble
	//	*Message_OneofString
	//	*Message_OneofBytes
	//	*Message_OneofChildEnum
	//	*Message_OneofChildMessage
	//	*Message_OneofNamedGroup
	//	*Message_OneofSiblingEnum
	//	*Message_OneofSiblingMessage
	//	*Message_Oneofgroup
	//	*Message_OneofString1
	//	*Message_OneofString2
	//	*Message_OneofString3
	OneofUnion isMessage_OneofUnion `protobuf_oneof:"oneof_union"`
	// Oneof default fields.
	//
	// Types that are valid to be assigned to OneofDefaultedUnion:
	//	*Message_OneofDefaultedBool
	//	*Message_OneofDefaultedInt32
	//	*Message_OneofDefaultedSint32
	//	*Message_OneofDefaultedUint32
	//	*Message_OneofDefaultedInt64
	//	*Message_OneofDefaultedSint64
	//	*Message_OneofDefaultedUint64
	//	*Message_OneofDefaultedFixed32
	//	*Message_OneofDefaultedSfixed32
	//	*Message_OneofDefaultedFloat
	//	*Message_OneofDefaultedFixed64
	//	*Message_OneofDefaultedSfixed64
	//	*Message_OneofDefaultedDouble
	//	*Message_OneofDefaultedString
	//	*Message_OneofDefaultedBytes
	//	*Message_OneofDefaultedChildEnum
	//	*Message_OneofDefaultedSiblingEnum
	OneofDefaultedUnion isMessage_OneofDefaultedUnion `protobuf_oneof:"oneof_defaulted_union"`
	XXX_extensions      map[int32]proto.Extension     `json:"-"`
	XXX_unrecognized    []byte                        `json:"-"`
}

func (m *Message) Reset()                    { *m = Message{} }
func (m *Message) String() string            { return proto.CompactTextString(m) }
func (*Message) ProtoMessage()               {}
func (*Message) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }

var extRange_Message = []proto.ExtensionRange{
	{10000, 536870911},
}

func (*Message) ExtensionRangeArray() []proto.ExtensionRange {
	return extRange_Message
}
func (m *Message) ExtensionMap() map[int32]proto.Extension {
	if m.XXX_extensions == nil {
		m.XXX_extensions = make(map[int32]proto.Extension)
	}
	return m.XXX_extensions
}

const Default_Message_DefaultedBool bool = true
const Default_Message_DefaultedInt32 int32 = -12345
const Default_Message_DefaultedSint32 int32 = -3200
const Default_Message_DefaultedUint32 uint32 = 3200
const Default_Message_DefaultedInt64 int64 = -123456789
const Default_Message_DefaultedSint64 int64 = -6400
const Default_Message_DefaultedUint64 uint64 = 6400
const Default_Message_DefaultedFixed32 uint32 = 320000
const Default_Message_DefaultedSfixed32 int32 = -320000
const Default_Message_DefaultedFloat float32 = 3.14159
const Default_Message_DefaultedFixed64 uint64 = 640000
const Default_Message_DefaultedSfixed64 int64 = -640000
const Default_Message_DefaultedDouble float64 = 3.14159265359
const Default_Message_DefaultedString string = "hello, \"world!\"\n"

var Default_Message_DefaultedBytes []byte = []byte("dead\\336\\255\\276\\357beef")

const Default_Message_DefaultedChildEnum Message_ChildEnum = Message_ALPHA
const Default_Message_DefaultedSiblingEnum SiblingEnum = SiblingEnum_ALPHA
const Default_Message_RequiredDefaultedBool bool = true
const Default_Message_RequiredDefaultedInt32 int32 = -12345
const Default_Message_RequiredDefaultedSint32 int32 = -3200
const Default_Message_RequiredDefaultedUint32 uint32 = 3200
const Default_Message_RequiredDefaultedInt64 int64 = -123456789
const Default_Message_RequiredDefaultedSint64 int64 = -6400
const Default_Message_RequiredDefaultedUint64 uint64 = 6400
const Default_Message_RequiredDefaultedFixed32 uint32 = 320000
const Default_Message_RequiredDefaultedSfixed32 int32 = -320000
const Default_Message_RequiredDefaultedFloat float32 = 3.14159
const Default_Message_RequiredDefaultedFixed64 uint64 = 640000
const Default_Message_RequiredDefaultedSfixed64 int64 = -640000
const Default_Message_RequiredDefaultedDouble float64 = 3.14159265359
const Default_Message_RequiredDefaultedString string = "hello, \"world!\"\n"

var Default_Message_RequiredDefaultedBytes []byte = []byte("dead\\336\\255\\276\\357beef")

const Default_Message_RequiredDefaultedChildEnum Message_ChildEnum = Message_ALPHA
const Default_Message_RequiredDefaultedSiblingEnum SiblingEnum = SiblingEnum_ALPHA
const Default_Message_OneofDefaultedBool bool = true
const Default_Message_OneofDefaultedInt32 int32 = -12345
const Default_Message_OneofDefaultedSint32 int32 = -3200
const Default_Message_OneofDefaultedUint32 uint32 = 3200
const Default_Message_OneofDefaultedInt64 int64 = -123456789
const Default_Message_OneofDefaultedSint64 int64 = -6400
const Default_Message_OneofDefaultedUint64 uint64 = 6400
const Default_Message_OneofDefaultedFixed32 uint32 = 320000
const Default_Message_OneofDefaultedSfixed32 int32 = -320000
const Default_Message_OneofDefaultedFloat float32 = 3.14159
const Default_Message_OneofDefaultedFixed64 uint64 = 640000
const Default_Message_OneofDefaultedSfixed64 int64 = -640000
const Default_Message_OneofDefaultedDouble float64 = 3.14159265359
const Default_Message_OneofDefaultedString string = "hello, \"world!\"\n"

var Default_Message_OneofDefaultedBytes []byte = []byte("dead\\336\\255\\276\\357beef")

const Default_Message_OneofDefaultedChildEnum Message_ChildEnum = Message_ALPHA
const Default_Message_OneofDefaultedSiblingEnum SiblingEnum = SiblingEnum_ALPHA

type isMessage_OneofUnion interface{ isMessage_OneofUnion() }
type isMessage_OneofDefaultedUnion interface{ isMessage_OneofDefaultedUnion() }

type Message_OneofBool struct {
	OneofBool bool `protobuf:"varint,700,opt,name=oneof_bool,json=oneofBool,oneof"`
}
type Message_OneofInt32 struct {
	OneofInt32 int32 `protobuf:"varint,701,opt,name=oneof_int32,json=oneofInt32,oneof"`
}
type Message_OneofSint32 struct {
	OneofSint32 int32 `protobuf:"zigzag32,702,opt,name=oneof_sint32,json=oneofSint32,oneof"`
}
type Message_OneofUint32 struct {
	OneofUint32 uint32 `protobuf:"varint,703,opt,name=oneof_uint32,json=oneofUint32,oneof"`
}
type Message_OneofInt64 struct {
	OneofInt64 int64 `protobuf:"varint,704,opt,name=oneof_int64,json=oneofInt64,oneof"`
}
type Message_OneofSint64 struct {
	OneofSint64 int64 `protobuf:"zigzag64,705,opt,name=oneof_sint64,json=oneofSint64,oneof"`
}
type Message_OneofUint64 struct {
	OneofUint64 uint64 `protobuf:"varint,706,opt,name=oneof_uint64,json=oneofUint64,oneof"`
}
type Message_OneofFixed32 struct {
	OneofFixed32 uint32 `protobuf:"fixed32,707,opt,name=oneof_fixed32,json=oneofFixed32,oneof"`
}
type Message_OneofSfixed32 struct {
	OneofSfixed32 int32 `protobuf:"fixed32,708,opt,name=oneof_sfixed32,json=oneofSfixed32,oneof"`
}
type Message_OneofFloat struct {
	OneofFloat float32 `protobuf:"fixed32,709,opt,name=oneof_float,json=oneofFloat,oneof"`
}
type Message_OneofFixed64 struct {
	OneofFixed64 uint64 `protobuf:"fixed64,710,opt,name=oneof_fixed64,json=oneofFixed64,oneof"`
}
type Message_OneofSfixed64 struct {
	OneofSfixed64 int64 `protobuf:"fixed64,711,opt,name=oneof_sfixed64,json=oneofSfixed64,oneof"`
}
type Message_OneofDouble struct {
	OneofDouble float64 `protobuf:"fixed64,712,opt,name=oneof_double,json=oneofDouble,oneof"`
}
type Message_OneofString struct {
	OneofString string `protobuf:"bytes,713,opt,name=oneof_string,json=oneofString,oneof"`
}
type Message_OneofBytes struct {
	OneofBytes []byte `protobuf:"bytes,714,opt,name=oneof_bytes,json=oneofBytes,oneof"`
}
type Message_OneofChildEnum struct {
	OneofChildEnum Message_ChildEnum `protobuf:"varint,715,opt,name=oneof_child_enum,json=oneofChildEnum,enum=google.golang.org.proto2_20160519.Message_ChildEnum,oneof"`
}
type Message_OneofChildMessage struct {
	OneofChildMessage *Message_ChildMessage `protobuf:"bytes,716,opt,name=oneof_child_message,json=oneofChildMessage,oneof"`
}
type Message_OneofNamedGroup struct {
	OneofNamedGroup *Message_NamedGroup `protobuf:"bytes,717,opt,name=oneof_named_group,json=oneofNamedGroup,oneof"`
}
type Message_OneofSiblingEnum struct {
	OneofSiblingEnum SiblingEnum `protobuf:"varint,718,opt,name=oneof_sibling_enum,json=oneofSiblingEnum,enum=google.golang.org.proto2_20160519.SiblingEnum,oneof"`
}
type Message_OneofSiblingMessage struct {
	OneofSiblingMessage *SiblingMessage `protobuf:"bytes,719,opt,name=oneof_sibling_message,json=oneofSiblingMessage,oneof"`
}
type Message_Oneofgroup struct {
	Oneofgroup *Message_OneofGroup `protobuf:"group,720,opt,name=OneofGroup,json=oneofgroup,oneof"`
}
type Message_OneofString1 struct {
	OneofString1 string `protobuf:"bytes,721,opt,name=oneof_string1,json=oneofString1,oneof"`
}
type Message_OneofString2 struct {
	OneofString2 string `protobuf:"bytes,722,opt,name=oneof_string2,json=oneofString2,oneof"`
}
type Message_OneofString3 struct {
	OneofString3 string `protobuf:"bytes,723,opt,name=oneof_string3,json=oneofString3,oneof"`
}
type Message_OneofDefaultedBool struct {
	OneofDefaultedBool bool `protobuf:"varint,800,opt,name=oneof_defaulted_bool,json=oneofDefaultedBool,oneof,def=1"`
}
type Message_OneofDefaultedInt32 struct {
	OneofDefaultedInt32 int32 `protobuf:"varint,801,opt,name=oneof_defaulted_int32,json=oneofDefaultedInt32,oneof,def=-12345"`
}
type Message_OneofDefaultedSint32 struct {
	OneofDefaultedSint32 int32 `protobuf:"zigzag32,802,opt,name=oneof_defaulted_sint32,json=oneofDefaultedSint32,oneof,def=-3200"`
}
type Message_OneofDefaultedUint32 struct {
	OneofDefaultedUint32 uint32 `protobuf:"varint,803,opt,name=oneof_defaulted_uint32,json=oneofDefaultedUint32,oneof,def=3200"`
}
type Message_OneofDefaultedInt64 struct {
	OneofDefaultedInt64 int64 `protobuf:"varint,804,opt,name=oneof_defaulted_int64,json=oneofDefaultedInt64,oneof,def=-123456789"`
}
type Message_OneofDefaultedSint64 struct {
	OneofDefaultedSint64 int64 `protobuf:"zigzag64,805,opt,name=oneof_defaulted_sint64,json=oneofDefaultedSint64,oneof,def=-6400"`
}
type Message_OneofDefaultedUint64 struct {
	OneofDefaultedUint64 uint64 `protobuf:"varint,806,opt,name=oneof_defaulted_uint64,json=oneofDefaultedUint64,oneof,def=6400"`
}
type Message_OneofDefaultedFixed32 struct {
	OneofDefaultedFixed32 uint32 `protobuf:"fixed32,807,opt,name=oneof_defaulted_fixed32,json=oneofDefaultedFixed32,oneof,def=320000"`
}
type Message_OneofDefaultedSfixed32 struct {
	OneofDefaultedSfixed32 int32 `protobuf:"fixed32,808,opt,name=oneof_defaulted_sfixed32,json=oneofDefaultedSfixed32,oneof,def=-320000"`
}
type Message_OneofDefaultedFloat struct {
	OneofDefaultedFloat float32 `protobuf:"fixed32,809,opt,name=oneof_defaulted_float,json=oneofDefaultedFloat,oneof,def=3.14159"`
}
type Message_OneofDefaultedFixed64 struct {
	OneofDefaultedFixed64 uint64 `protobuf:"fixed64,810,opt,name=oneof_defaulted_fixed64,json=oneofDefaultedFixed64,oneof,def=640000"`
}
type Message_OneofDefaultedSfixed64 struct {
	OneofDefaultedSfixed64 int64 `protobuf:"fixed64,811,opt,name=oneof_defaulted_sfixed64,json=oneofDefaultedSfixed64,oneof,def=-640000"`
}
type Message_OneofDefaultedDouble struct {
	OneofDefaultedDouble float64 `protobuf:"fixed64,812,opt,name=oneof_defaulted_double,json=oneofDefaultedDouble,oneof,def=3.14159265359"`
}
type Message_OneofDefaultedString struct {
	OneofDefaultedString string `protobuf:"bytes,813,opt,name=oneof_defaulted_string,json=oneofDefaultedString,oneof,def=hello, \"world!\"\n"`
}
type Message_OneofDefaultedBytes struct {
	OneofDefaultedBytes []byte `protobuf:"bytes,814,opt,name=oneof_defaulted_bytes,json=oneofDefaultedBytes,oneof,def=dead\\336\\255\\276\\357beef"`
}
type Message_OneofDefaultedChildEnum struct {
	OneofDefaultedChildEnum Message_ChildEnum `protobuf:"varint,815,opt,name=oneof_defaulted_child_enum,json=oneofDefaultedChildEnum,enum=google.golang.org.proto2_20160519.Message_ChildEnum,oneof,def=0"`
}
type Message_OneofDefaultedSiblingEnum struct {
	OneofDefaultedSiblingEnum SiblingEnum `protobuf:"varint,816,opt,name=oneof_defaulted_sibling_enum,json=oneofDefaultedSiblingEnum,enum=google.golang.org.proto2_20160519.SiblingEnum,oneof,def=0"`
}

func (*Message_OneofBool) isMessage_OneofUnion()                          {}
func (*Message_OneofInt32) isMessage_OneofUnion()                         {}
func (*Message_OneofSint32) isMessage_OneofUnion()                        {}
func (*Message_OneofUint32) isMessage_OneofUnion()                        {}
func (*Message_OneofInt64) isMessage_OneofUnion()                         {}
func (*Message_OneofSint64) isMessage_OneofUnion()                        {}
func (*Message_OneofUint64) isMessage_OneofUnion()                        {}
func (*Message_OneofFixed32) isMessage_OneofUnion()                       {}
func (*Message_OneofSfixed32) isMessage_OneofUnion()                      {}
func (*Message_OneofFloat) isMessage_OneofUnion()                         {}
func (*Message_OneofFixed64) isMessage_OneofUnion()                       {}
func (*Message_OneofSfixed64) isMessage_OneofUnion()                      {}
func (*Message_OneofDouble) isMessage_OneofUnion()                        {}
func (*Message_OneofString) isMessage_OneofUnion()                        {}
func (*Message_OneofBytes) isMessage_OneofUnion()                         {}
func (*Message_OneofChildEnum) isMessage_OneofUnion()                     {}
func (*Message_OneofChildMessage) isMessage_OneofUnion()                  {}
func (*Message_OneofNamedGroup) isMessage_OneofUnion()                    {}
func (*Message_OneofSiblingEnum) isMessage_OneofUnion()                   {}
func (*Message_OneofSiblingMessage) isMessage_OneofUnion()                {}
func (*Message_Oneofgroup) isMessage_OneofUnion()                         {}
func (*Message_OneofString1) isMessage_OneofUnion()                       {}
func (*Message_OneofString2) isMessage_OneofUnion()                       {}
func (*Message_OneofString3) isMessage_OneofUnion()                       {}
func (*Message_OneofDefaultedBool) isMessage_OneofDefaultedUnion()        {}
func (*Message_OneofDefaultedInt32) isMessage_OneofDefaultedUnion()       {}
func (*Message_OneofDefaultedSint32) isMessage_OneofDefaultedUnion()      {}
func (*Message_OneofDefaultedUint32) isMessage_OneofDefaultedUnion()      {}
func (*Message_OneofDefaultedInt64) isMessage_OneofDefaultedUnion()       {}
func (*Message_OneofDefaultedSint64) isMessage_OneofDefaultedUnion()      {}
func (*Message_OneofDefaultedUint64) isMessage_OneofDefaultedUnion()      {}
func (*Message_OneofDefaultedFixed32) isMessage_OneofDefaultedUnion()     {}
func (*Message_OneofDefaultedSfixed32) isMessage_OneofDefaultedUnion()    {}
func (*Message_OneofDefaultedFloat) isMessage_OneofDefaultedUnion()       {}
func (*Message_OneofDefaultedFixed64) isMessage_OneofDefaultedUnion()     {}
func (*Message_OneofDefaultedSfixed64) isMessage_OneofDefaultedUnion()    {}
func (*Message_OneofDefaultedDouble) isMessage_OneofDefaultedUnion()      {}
func (*Message_OneofDefaultedString) isMessage_OneofDefaultedUnion()      {}
func (*Message_OneofDefaultedBytes) isMessage_OneofDefaultedUnion()       {}
func (*Message_OneofDefaultedChildEnum) isMessage_OneofDefaultedUnion()   {}
func (*Message_OneofDefaultedSiblingEnum) isMessage_OneofDefaultedUnion() {}

func (m *Message) GetOneofUnion() isMessage_OneofUnion {
	if m != nil {
		return m.OneofUnion
	}
	return nil
}
func (m *Message) GetOneofDefaultedUnion() isMessage_OneofDefaultedUnion {
	if m != nil {
		return m.OneofDefaultedUnion
	}
	return nil
}

func (m *Message) GetNamedgroup() *Message_NamedGroup {
	if m != nil {
		return m.Namedgroup
	}
	return nil
}

func (m *Message) GetOptionalBool() bool {
	if m != nil && m.OptionalBool != nil {
		return *m.OptionalBool
	}
	return false
}

func (m *Message) GetOptionalInt32() int32 {
	if m != nil && m.OptionalInt32 != nil {
		return *m.OptionalInt32
	}
	return 0
}

func (m *Message) GetOptionalSint32() int32 {
	if m != nil && m.OptionalSint32 != nil {
		return *m.OptionalSint32
	}
	return 0
}

func (m *Message) GetOptionalUint32() uint32 {
	if m != nil && m.OptionalUint32 != nil {
		return *m.OptionalUint32
	}
	return 0
}

func (m *Message) GetOptionalInt64() int64 {
	if m != nil && m.OptionalInt64 != nil {
		return *m.OptionalInt64
	}
	return 0
}

func (m *Message) GetOptionalSint64() int64 {
	if m != nil && m.OptionalSint64 != nil {
		return *m.OptionalSint64
	}
	return 0
}

func (m *Message) GetOptionalUint64() uint64 {
	if m != nil && m.OptionalUint64 != nil {
		return *m.OptionalUint64
	}
	return 0
}

func (m *Message) GetOptionalFixed32() uint32 {
	if m != nil && m.OptionalFixed32 != nil {
		return *m.OptionalFixed32
	}
	return 0
}

func (m *Message) GetOptionalSfixed32() int32 {
	if m != nil && m.OptionalSfixed32 != nil {
		return *m.OptionalSfixed32
	}
	return 0
}

func (m *Message) GetOptionalFloat() float32 {
	if m != nil && m.OptionalFloat != nil {
		return *m.OptionalFloat
	}
	return 0
}

func (m *Message) GetOptionalFixed64() uint64 {
	if m != nil && m.OptionalFixed64 != nil {
		return *m.OptionalFixed64
	}
	return 0
}

func (m *Message) GetOptionalSfixed64() int64 {
	if m != nil && m.OptionalSfixed64 != nil {
		return *m.OptionalSfixed64
	}
	return 0
}

func (m *Message) GetOptionalDouble() float64 {
	if m != nil && m.OptionalDouble != nil {
		return *m.OptionalDouble
	}
	return 0
}

func (m *Message) GetOptionalString() string {
	if m != nil && m.OptionalString != nil {
		return *m.OptionalString
	}
	return ""
}

func (m *Message) GetOptionalBytes() []byte {
	if m != nil {
		return m.OptionalBytes
	}
	return nil
}

func (m *Message) GetOptionalChildEnum() Message_ChildEnum {
	if m != nil && m.OptionalChildEnum != nil {
		return *m.OptionalChildEnum
	}
	return Message_ALPHA
}

func (m *Message) GetOptionalChildMessage() *Message_ChildMessage {
	if m != nil {
		return m.OptionalChildMessage
	}
	return nil
}

func (m *Message) GetOptionalNamedGroup() *Message_NamedGroup {
	if m != nil {
		return m.OptionalNamedGroup
	}
	return nil
}

func (m *Message) GetOptionalSiblingEnum() SiblingEnum {
	if m != nil && m.OptionalSiblingEnum != nil {
		return *m.OptionalSiblingEnum
	}
	return SiblingEnum_ALPHA
}

func (m *Message) GetOptionalSiblingMessage() *SiblingMessage {
	if m != nil {
		return m.OptionalSiblingMessage
	}
	return nil
}

func (m *Message) GetOptionalgroup() *Message_OptionalGroup {
	if m != nil {
		return m.Optionalgroup
	}
	return nil
}

func (m *Message) GetDefaultedBool() bool {
	if m != nil && m.DefaultedBool != nil {
		return *m.DefaultedBool
	}
	return Default_Message_DefaultedBool
}

func (m *Message) GetDefaultedInt32() int32 {
	if m != nil && m.DefaultedInt32 != nil {
		return *m.DefaultedInt32
	}
	return Default_Message_DefaultedInt32
}

func (m *Message) GetDefaultedSint32() int32 {
	if m != nil && m.DefaultedSint32 != nil {
		return *m.DefaultedSint32
	}
	return Default_Message_DefaultedSint32
}

func (m *Message) GetDefaultedUint32() uint32 {
	if m != nil && m.DefaultedUint32 != nil {
		return *m.DefaultedUint32
	}
	return Default_Message_DefaultedUint32
}

func (m *Message) GetDefaultedInt64() int64 {
	if m != nil && m.DefaultedInt64 != nil {
		return *m.DefaultedInt64
	}
	return Default_Message_DefaultedInt64
}

func (m *Message) GetDefaultedSint64() int64 {
	if m != nil && m.DefaultedSint64 != nil {
		return *m.DefaultedSint64
	}
	return Default_Message_DefaultedSint64
}

func (m *Message) GetDefaultedUint64() uint64 {
	if m != nil && m.DefaultedUint64 != nil {
		return *m.DefaultedUint64
	}
	return Default_Message_DefaultedUint64
}

func (m *Message) GetDefaultedFixed32() uint32 {
	if m != nil && m.DefaultedFixed32 != nil {
		return *m.DefaultedFixed32
	}
	return Default_Message_DefaultedFixed32
}

func (m *Message) GetDefaultedSfixed32() int32 {
	if m != nil && m.DefaultedSfixed32 != nil {
		return *m.DefaultedSfixed32
	}
	return Default_Message_DefaultedSfixed32
}

func (m *Message) GetDefaultedFloat() float32 {
	if m != nil && m.DefaultedFloat != nil {
		return *m.DefaultedFloat
	}
	return Default_Message_DefaultedFloat
}

func (m *Message) GetDefaultedFixed64() uint64 {
	if m != nil && m.DefaultedFixed64 != nil {
		return *m.DefaultedFixed64
	}
	return Default_Message_DefaultedFixed64
}

func (m *Message) GetDefaultedSfixed64() int64 {
	if m != nil && m.DefaultedSfixed64 != nil {
		return *m.DefaultedSfixed64
	}
	return Default_Message_DefaultedSfixed64
}

func (m *Message) GetDefaultedDouble() float64 {
	if m != nil && m.DefaultedDouble != nil {
		return *m.DefaultedDouble
	}
	return Default_Message_DefaultedDouble
}

func (m *Message) GetDefaultedString() string {
	if m != nil && m.DefaultedString != nil {
		return *m.DefaultedString
	}
	return Default_Message_DefaultedString
}

func (m *Message) GetDefaultedBytes() []byte {
	if m != nil && m.DefaultedBytes != nil {
		return m.DefaultedBytes
	}
	return append([]byte(nil), Default_Message_DefaultedBytes...)
}

func (m *Message) GetDefaultedChildEnum() Message_ChildEnum {
	if m != nil && m.DefaultedChildEnum != nil {
		return *m.DefaultedChildEnum
	}
	return Default_Message_DefaultedChildEnum
}

func (m *Message) GetDefaultedSiblingEnum() SiblingEnum {
	if m != nil && m.DefaultedSiblingEnum != nil {
		return *m.DefaultedSiblingEnum
	}
	return Default_Message_DefaultedSiblingEnum
}

func (m *Message) GetRequiredBool() bool {
	if m != nil && m.RequiredBool != nil {
		return *m.RequiredBool
	}
	return false
}

func (m *Message) GetRequiredInt32() int32 {
	if m != nil && m.RequiredInt32 != nil {
		return *m.RequiredInt32
	}
	return 0
}

func (m *Message) GetRequiredSint32() int32 {
	if m != nil && m.RequiredSint32 != nil {
		return *m.RequiredSint32
	}
	return 0
}

func (m *Message) GetRequiredUint32() uint32 {
	if m != nil && m.RequiredUint32 != nil {
		return *m.RequiredUint32
	}
	return 0
}

func (m *Message) GetRequiredInt64() int64 {
	if m != nil && m.RequiredInt64 != nil {
		return *m.RequiredInt64
	}
	return 0
}

func (m *Message) GetRequiredSint64() int64 {
	if m != nil && m.RequiredSint64 != nil {
		return *m.RequiredSint64
	}
	return 0
}

func (m *Message) GetRequiredUint64() uint64 {
	if m != nil && m.RequiredUint64 != nil {
		return *m.RequiredUint64
	}
	return 0
}

func (m *Message) GetRequiredFixed32() uint32 {
	if m != nil && m.RequiredFixed32 != nil {
		return *m.RequiredFixed32
	}
	return 0
}

func (m *Message) GetRequiredSfixed32() int32 {
	if m != nil && m.RequiredSfixed32 != nil {
		return *m.RequiredSfixed32
	}
	return 0
}

func (m *Message) GetRequiredFloat() float32 {
	if m != nil && m.RequiredFloat != nil {
		return *m.RequiredFloat
	}
	return 0
}

func (m *Message) GetRequiredFixed64() uint64 {
	if m != nil && m.RequiredFixed64 != nil {
		return *m.RequiredFixed64
	}
	return 0
}

func (m *Message) GetRequiredSfixed64() int64 {
	if m != nil && m.RequiredSfixed64 != nil {
		return *m.RequiredSfixed64
	}
	return 0
}

func (m *Message) GetRequiredDouble() float64 {
	if m != nil && m.RequiredDouble != nil {
		return *m.RequiredDouble
	}
	return 0
}

func (m *Message) GetRequiredString() string {
	if m != nil && m.RequiredString != nil {
		return *m.RequiredString
	}
	return ""
}

func (m *Message) GetRequiredBytes() []byte {
	if m != nil {
		return m.RequiredBytes
	}
	return nil
}

func (m *Message) GetRequiredChildEnum() Message_ChildEnum {
	if m != nil && m.RequiredChildEnum != nil {
		return *m.RequiredChildEnum
	}
	return Message_ALPHA
}

func (m *Message) GetRequiredChildMessage() *Message_ChildMessage {
	if m != nil {
		return m.RequiredChildMessage
	}
	return nil
}

func (m *Message) GetRequiredNamedGroup() *Message_NamedGroup {
	if m != nil {
		return m.RequiredNamedGroup
	}
	return nil
}

func (m *Message) GetRequiredSiblingEnum() SiblingEnum {
	if m != nil && m.RequiredSiblingEnum != nil {
		return *m.RequiredSiblingEnum
	}
	return SiblingEnum_ALPHA
}

func (m *Message) GetRequiredSiblingMessage() *SiblingMessage {
	if m != nil {
		return m.RequiredSiblingMessage
	}
	return nil
}

func (m *Message) GetRequiredgroup() *Message_RequiredGroup {
	if m != nil {
		return m.Requiredgroup
	}
	return nil
}

func (m *Message) GetRequiredDefaultedBool() bool {
	if m != nil && m.RequiredDefaultedBool != nil {
		return *m.RequiredDefaultedBool
	}
	return Default_Message_RequiredDefaultedBool
}

func (m *Message) GetRequiredDefaultedInt32() int32 {
	if m != nil && m.RequiredDefaultedInt32 != nil {
		return *m.RequiredDefaultedInt32
	}
	return Default_Message_RequiredDefaultedInt32
}

func (m *Message) GetRequiredDefaultedSint32() int32 {
	if m != nil && m.RequiredDefaultedSint32 != nil {
		return *m.RequiredDefaultedSint32
	}
	return Default_Message_RequiredDefaultedSint32
}

func (m *Message) GetRequiredDefaultedUint32() uint32 {
	if m != nil && m.RequiredDefaultedUint32 != nil {
		return *m.RequiredDefaultedUint32
	}
	return Default_Message_RequiredDefaultedUint32
}

func (m *Message) GetRequiredDefaultedInt64() int64 {
	if m != nil && m.RequiredDefaultedInt64 != nil {
		return *m.RequiredDefaultedInt64
	}
	return Default_Message_RequiredDefaultedInt64
}

func (m *Message) GetRequiredDefaultedSint64() int64 {
	if m != nil && m.RequiredDefaultedSint64 != nil {
		return *m.RequiredDefaultedSint64
	}
	return Default_Message_RequiredDefaultedSint64
}

func (m *Message) GetRequiredDefaultedUint64() uint64 {
	if m != nil && m.RequiredDefaultedUint64 != nil {
		return *m.RequiredDefaultedUint64
	}
	return Default_Message_RequiredDefaultedUint64
}

func (m *Message) GetRequiredDefaultedFixed32() uint32 {
	if m != nil && m.RequiredDefaultedFixed32 != nil {
		return *m.RequiredDefaultedFixed32
	}
	return Default_Message_RequiredDefaultedFixed32
}

func (m *Message) GetRequiredDefaultedSfixed32() int32 {
	if m != nil && m.RequiredDefaultedSfixed32 != nil {
		return *m.RequiredDefaultedSfixed32
	}
	return Default_Message_RequiredDefaultedSfixed32
}

func (m *Message) GetRequiredDefaultedFloat() float32 {
	if m != nil && m.RequiredDefaultedFloat != nil {
		return *m.RequiredDefaultedFloat
	}
	return Default_Message_RequiredDefaultedFloat
}

func (m *Message) GetRequiredDefaultedFixed64() uint64 {
	if m != nil && m.RequiredDefaultedFixed64 != nil {
		return *m.RequiredDefaultedFixed64
	}
	return Default_Message_RequiredDefaultedFixed64
}

func (m *Message) GetRequiredDefaultedSfixed64() int64 {
	if m != nil && m.RequiredDefaultedSfixed64 != nil {
		return *m.RequiredDefaultedSfixed64
	}
	return Default_Message_RequiredDefaultedSfixed64
}

func (m *Message) GetRequiredDefaultedDouble() float64 {
	if m != nil && m.RequiredDefaultedDouble != nil {
		return *m.RequiredDefaultedDouble
	}
	return Default_Message_RequiredDefaultedDouble
}

func (m *Message) GetRequiredDefaultedString() string {
	if m != nil && m.RequiredDefaultedString != nil {
		return *m.RequiredDefaultedString
	}
	return Default_Message_RequiredDefaultedString
}

func (m *Message) GetRequiredDefaultedBytes() []byte {
	if m != nil && m.RequiredDefaultedBytes != nil {
		return m.RequiredDefaultedBytes
	}
	return append([]byte(nil), Default_Message_RequiredDefaultedBytes...)
}

func (m *Message) GetRequiredDefaultedChildEnum() Message_ChildEnum {
	if m != nil && m.RequiredDefaultedChildEnum != nil {
		return *m.RequiredDefaultedChildEnum
	}
	return Default_Message_RequiredDefaultedChildEnum
}

func (m *Message) GetRequiredDefaultedSiblingEnum() SiblingEnum {
	if m != nil && m.RequiredDefaultedSiblingEnum != nil {
		return *m.RequiredDefaultedSiblingEnum
	}
	return Default_Message_RequiredDefaultedSiblingEnum
}

func (m *Message) GetRepeatedBool() []bool {
	if m != nil {
		return m.RepeatedBool
	}
	return nil
}

func (m *Message) GetRepeatedInt32() []int32 {
	if m != nil {
		return m.RepeatedInt32
	}
	return nil
}

func (m *Message) GetRepeatedSint32() []int32 {
	if m != nil {
		return m.RepeatedSint32
	}
	return nil
}

func (m *Message) GetRepeatedUint32() []uint32 {
	if m != nil {
		return m.RepeatedUint32
	}
	return nil
}

func (m *Message) GetRepeatedInt64() []int64 {
	if m != nil {
		return m.RepeatedInt64
	}
	return nil
}

func (m *Message) GetRepeatedSint64() []int64 {
	if m != nil {
		return m.RepeatedSint64
	}
	return nil
}

func (m *Message) GetRepeatedUint64() []uint64 {
	if m != nil {
		return m.RepeatedUint64
	}
	return nil
}

func (m *Message) GetRepeatedFixed32() []uint32 {
	if m != nil {
		return m.RepeatedFixed32
	}
	return nil
}

func (m *Message) GetRepeatedSfixed32() []int32 {
	if m != nil {
		return m.RepeatedSfixed32
	}
	return nil
}

func (m *Message) GetRepeatedFloat() []float32 {
	if m != nil {
		return m.RepeatedFloat
	}
	return nil
}

func (m *Message) GetRepeatedFixed64() []uint64 {
	if m != nil {
		return m.RepeatedFixed64
	}
	return nil
}

func (m *Message) GetRepeatedSfixed64() []int64 {
	if m != nil {
		return m.RepeatedSfixed64
	}
	return nil
}

func (m *Message) GetRepeatedDouble() []float64 {
	if m != nil {
		return m.RepeatedDouble
	}
	return nil
}

func (m *Message) GetRepeatedString() []string {
	if m != nil {
		return m.RepeatedString
	}
	return nil
}

func (m *Message) GetRepeatedBytes() [][]byte {
	if m != nil {
		return m.RepeatedBytes
	}
	return nil
}

func (m *Message) GetRepeatedChildEnum() []Message_ChildEnum {
	if m != nil {
		return m.RepeatedChildEnum
	}
	return nil
}

func (m *Message) GetRepeatedChildMessage() []*Message_ChildMessage {
	if m != nil {
		return m.RepeatedChildMessage
	}
	return nil
}

func (m *Message) GetRepeatedNamedGroup() []*Message_NamedGroup {
	if m != nil {
		return m.RepeatedNamedGroup
	}
	return nil
}

func (m *Message) GetRepeatedSiblingEnum() []SiblingEnum {
	if m != nil {
		return m.RepeatedSiblingEnum
	}
	return nil
}

func (m *Message) GetRepeatedSiblingMessage() []*SiblingMessage {
	if m != nil {
		return m.RepeatedSiblingMessage
	}
	return nil
}

func (m *Message) GetRepeatedgroup() []*Message_RepeatedGroup {
	if m != nil {
		return m.Repeatedgroup
	}
	return nil
}

func (m *Message) GetMapBoolBool() map[bool]bool {
	if m != nil {
		return m.MapBoolBool
	}
	return nil
}

func (m *Message) GetMapBoolInt32() map[bool]int32 {
	if m != nil {
		return m.MapBoolInt32
	}
	return nil
}

func (m *Message) GetMapBoolSint32() map[bool]int32 {
	if m != nil {
		return m.MapBoolSint32
	}
	return nil
}

func (m *Message) GetMapBoolUint32() map[bool]uint32 {
	if m != nil {
		return m.MapBoolUint32
	}
	return nil
}

func (m *Message) GetMapBoolInt64() map[bool]int64 {
	if m != nil {
		return m.MapBoolInt64
	}
	return nil
}

func (m *Message) GetMapBoolSint64() map[bool]int64 {
	if m != nil {
		return m.MapBoolSint64
	}
	return nil
}

func (m *Message) GetMapBoolUint64() map[bool]uint64 {
	if m != nil {
		return m.MapBoolUint64
	}
	return nil
}

func (m *Message) GetMapBoolFixed32() map[bool]uint32 {
	if m != nil {
		return m.MapBoolFixed32
	}
	return nil
}

func (m *Message) GetMapBoolSfixed32() map[bool]int32 {
	if m != nil {
		return m.MapBoolSfixed32
	}
	return nil
}

func (m *Message) GetMapBoolFloat() map[bool]float32 {
	if m != nil {
		return m.MapBoolFloat
	}
	return nil
}

func (m *Message) GetMapBoolFixed64() map[bool]uint64 {
	if m != nil {
		return m.MapBoolFixed64
	}
	return nil
}

func (m *Message) GetMapBoolSfixed64() map[bool]int64 {
	if m != nil {
		return m.MapBoolSfixed64
	}
	return nil
}

func (m *Message) GetMapBoolDouble() map[bool]float64 {
	if m != nil {
		return m.MapBoolDouble
	}
	return nil
}

func (m *Message) GetMapBoolString() map[bool]string {
	if m != nil {
		return m.MapBoolString
	}
	return nil
}

func (m *Message) GetMapBoolBytes() map[bool][]byte {
	if m != nil {
		return m.MapBoolBytes
	}
	return nil
}

func (m *Message) GetMapBoolChildEnum() map[bool]Message_ChildEnum {
	if m != nil {
		return m.MapBoolChildEnum
	}
	return nil
}

func (m *Message) GetMapBoolChildMessage() map[bool]*Message_ChildMessage {
	if m != nil {
		return m.MapBoolChildMessage
	}
	return nil
}

func (m *Message) GetMapBoolNamedGroup() map[bool]*Message_NamedGroup {
	if m != nil {
		return m.MapBoolNamedGroup
	}
	return nil
}

func (m *Message) GetMapBoolSiblingEnum() map[bool]SiblingEnum {
	if m != nil {
		return m.MapBoolSiblingEnum
	}
	return nil
}

func (m *Message) GetMapBoolSiblingMessage() map[bool]*SiblingMessage {
	if m != nil {
		return m.MapBoolSiblingMessage
	}
	return nil
}

func (m *Message) GetMapInt32Bool() map[int32]bool {
	if m != nil {
		return m.MapInt32Bool
	}
	return nil
}

func (m *Message) GetMapSint32Bool() map[int32]bool {
	if m != nil {
		return m.MapSint32Bool
	}
	return nil
}

func (m *Message) GetMapUint32Bool() map[uint32]bool {
	if m != nil {
		return m.MapUint32Bool
	}
	return nil
}

func (m *Message) GetMapInt64Bool() map[int64]bool {
	if m != nil {
		return m.MapInt64Bool
	}
	return nil
}

func (m *Message) GetMapSint64Bool() map[int64]bool {
	if m != nil {
		return m.MapSint64Bool
	}
	return nil
}

func (m *Message) GetMapUint64Bool() map[uint64]bool {
	if m != nil {
		return m.MapUint64Bool
	}
	return nil
}

func (m *Message) GetMapFixed32Bool() map[uint32]bool {
	if m != nil {
		return m.MapFixed32Bool
	}
	return nil
}

func (m *Message) GetMapStringBool() map[string]bool {
	if m != nil {
		return m.MapStringBool
	}
	return nil
}

func (m *Message) GetOneofBool() bool {
	if x, ok := m.GetOneofUnion().(*Message_OneofBool); ok {
		return x.OneofBool
	}
	return false
}

func (m *Message) GetOneofInt32() int32 {
	if x, ok := m.GetOneofUnion().(*Message_OneofInt32); ok {
		return x.OneofInt32
	}
	return 0
}

func (m *Message) GetOneofSint32() int32 {
	if x, ok := m.GetOneofUnion().(*Message_OneofSint32); ok {
		return x.OneofSint32
	}
	return 0
}

func (m *Message) GetOneofUint32() uint32 {
	if x, ok := m.GetOneofUnion().(*Message_OneofUint32); ok {
		return x.OneofUint32
	}
	return 0
}

func (m *Message) GetOneofInt64() int64 {
	if x, ok := m.GetOneofUnion().(*Message_OneofInt64); ok {
		return x.OneofInt64
	}
	return 0
}

func (m *Message) GetOneofSint64() int64 {
	if x, ok := m.GetOneofUnion().(*Message_OneofSint64); ok {
		return x.OneofSint64
	}
	return 0
}

func (m *Message) GetOneofUint64() uint64 {
	if x, ok := m.GetOneofUnion().(*Message_OneofUint64); ok {
		return x.OneofUint64
	}
	return 0
}

func (m *Message) GetOneofFixed32() uint32 {
	if x, ok := m.GetOneofUnion().(*Message_OneofFixed32); ok {
		return x.OneofFixed32
	}
	return 0
}

func (m *Message) GetOneofSfixed32() int32 {
	if x, ok := m.GetOneofUnion().(*Message_OneofSfixed32); ok {
		return x.OneofSfixed32
	}
	return 0
}

func (m *Message) GetOneofFloat() float32 {
	if x, ok := m.GetOneofUnion().(*Message_OneofFloat); ok {
		return x.OneofFloat
	}
	return 0
}

func (m *Message) GetOneofFixed64() uint64 {
	if x, ok := m.GetOneofUnion().(*Message_OneofFixed64); ok {
		return x.OneofFixed64
	}
	return 0
}

func (m *Message) GetOneofSfixed64() int64 {
	if x, ok := m.GetOneofUnion().(*Message_OneofSfixed64); ok {
		return x.OneofSfixed64
	}
	return 0
}

func (m *Message) GetOneofDouble() float64 {
	if x, ok := m.GetOneofUnion().(*Message_OneofDouble); ok {
		return x.OneofDouble
	}
	return 0
}

func (m *Message) GetOneofString() string {
	if x, ok := m.GetOneofUnion().(*Message_OneofString); ok {
		return x.OneofString
	}
	return ""
}

func (m *Message) GetOneofBytes() []byte {
	if x, ok := m.GetOneofUnion().(*Message_OneofBytes); ok {
		return x.OneofBytes
	}
	return nil
}

func (m *Message) GetOneofChildEnum() Message_ChildEnum {
	if x, ok := m.GetOneofUnion().(*Message_OneofChildEnum); ok {
		return x.OneofChildEnum
	}
	return Message_ALPHA
}

func (m *Message) GetOneofChildMessage() *Message_ChildMessage {
	if x, ok := m.GetOneofUnion().(*Message_OneofChildMessage); ok {
		return x.OneofChildMessage
	}
	return nil
}

func (m *Message) GetOneofNamedGroup() *Message_NamedGroup {
	if x, ok := m.GetOneofUnion().(*Message_OneofNamedGroup); ok {
		return x.OneofNamedGroup
	}
	return nil
}

func (m *Message) GetOneofSiblingEnum() SiblingEnum {
	if x, ok := m.GetOneofUnion().(*Message_OneofSiblingEnum); ok {
		return x.OneofSiblingEnum
	}
	return SiblingEnum_ALPHA
}

func (m *Message) GetOneofSiblingMessage() *SiblingMessage {
	if x, ok := m.GetOneofUnion().(*Message_OneofSiblingMessage); ok {
		return x.OneofSiblingMessage
	}
	return nil
}

func (m *Message) GetOneofgroup() *Message_OneofGroup {
	if x, ok := m.GetOneofUnion().(*Message_Oneofgroup); ok {
		return x.Oneofgroup
	}
	return nil
}

func (m *Message) GetOneofString1() string {
	if x, ok := m.GetOneofUnion().(*Message_OneofString1); ok {
		return x.OneofString1
	}
	return ""
}

func (m *Message) GetOneofString2() string {
	if x, ok := m.GetOneofUnion().(*Message_OneofString2); ok {
		return x.OneofString2
	}
	return ""
}

func (m *Message) GetOneofString3() string {
	if x, ok := m.GetOneofUnion().(*Message_OneofString3); ok {
		return x.OneofString3
	}
	return ""
}

func (m *Message) GetOneofDefaultedBool() bool {
	if x, ok := m.GetOneofDefaultedUnion().(*Message_OneofDefaultedBool); ok {
		return x.OneofDefaultedBool
	}
	return Default_Message_OneofDefaultedBool
}

func (m *Message) GetOneofDefaultedInt32() int32 {
	if x, ok := m.GetOneofDefaultedUnion().(*Message_OneofDefaultedInt32); ok {
		return x.OneofDefaultedInt32
	}
	return Default_Message_OneofDefaultedInt32
}

func (m *Message) GetOneofDefaultedSint32() int32 {
	if x, ok := m.GetOneofDefaultedUnion().(*Message_OneofDefaultedSint32); ok {
		return x.OneofDefaultedSint32
	}
	return Default_Message_OneofDefaultedSint32
}

func (m *Message) GetOneofDefaultedUint32() uint32 {
	if x, ok := m.GetOneofDefaultedUnion().(*Message_OneofDefaultedUint32); ok {
		return x.OneofDefaultedUint32
	}
	return Default_Message_OneofDefaultedUint32
}

func (m *Message) GetOneofDefaultedInt64() int64 {
	if x, ok := m.GetOneofDefaultedUnion().(*Message_OneofDefaultedInt64); ok {
		return x.OneofDefaultedInt64
	}
	return Default_Message_OneofDefaultedInt64
}

func (m *Message) GetOneofDefaultedSint64() int64 {
	if x, ok := m.GetOneofDefaultedUnion().(*Message_OneofDefaultedSint64); ok {
		return x.OneofDefaultedSint64
	}
	return Default_Message_OneofDefaultedSint64
}

func (m *Message) GetOneofDefaultedUint64() uint64 {
	if x, ok := m.GetOneofDefaultedUnion().(*Message_OneofDefaultedUint64); ok {
		return x.OneofDefaultedUint64
	}
	return Default_Message_OneofDefaultedUint64
}

func (m *Message) GetOneofDefaultedFixed32() uint32 {
	if x, ok := m.GetOneofDefaultedUnion().(*Message_OneofDefaultedFixed32); ok {
		return x.OneofDefaultedFixed32
	}
	return Default_Message_OneofDefaultedFixed32
}

func (m *Message) GetOneofDefaultedSfixed32() int32 {
	if x, ok := m.GetOneofDefaultedUnion().(*Message_OneofDefaultedSfixed32); ok {
		return x.OneofDefaultedSfixed32
	}
	return Default_Message_OneofDefaultedSfixed32
}

func (m *Message) GetOneofDefaultedFloat() float32 {
	if x, ok := m.GetOneofDefaultedUnion().(*Message_OneofDefaultedFloat); ok {
		return x.OneofDefaultedFloat
	}
	return Default_Message_OneofDefaultedFloat
}

func (m *Message) GetOneofDefaultedFixed64() uint64 {
	if x, ok := m.GetOneofDefaultedUnion().(*Message_OneofDefaultedFixed64); ok {
		return x.OneofDefaultedFixed64
	}
	return Default_Message_OneofDefaultedFixed64
}

func (m *Message) GetOneofDefaultedSfixed64() int64 {
	if x, ok := m.GetOneofDefaultedUnion().(*Message_OneofDefaultedSfixed64); ok {
		return x.OneofDefaultedSfixed64
	}
	return Default_Message_OneofDefaultedSfixed64
}

func (m *Message) GetOneofDefaultedDouble() float64 {
	if x, ok := m.GetOneofDefaultedUnion().(*Message_OneofDefaultedDouble); ok {
		return x.OneofDefaultedDouble
	}
	return Default_Message_OneofDefaultedDouble
}

func (m *Message) GetOneofDefaultedString() string {
	if x, ok := m.GetOneofDefaultedUnion().(*Message_OneofDefaultedString); ok {
		return x.OneofDefaultedString
	}
	return Default_Message_OneofDefaultedString
}

func (m *Message) GetOneofDefaultedBytes() []byte {
	if x, ok := m.GetOneofDefaultedUnion().(*Message_OneofDefaultedBytes); ok {
		return x.OneofDefaultedBytes
	}
	return append([]byte(nil), Default_Message_OneofDefaultedBytes...)
}

func (m *Message) GetOneofDefaultedChildEnum() Message_ChildEnum {
	if x, ok := m.GetOneofDefaultedUnion().(*Message_OneofDefaultedChildEnum); ok {
		return x.OneofDefaultedChildEnum
	}
	return Default_Message_OneofDefaultedChildEnum
}

func (m *Message) GetOneofDefaultedSiblingEnum() SiblingEnum {
	if x, ok := m.GetOneofDefaultedUnion().(*Message_OneofDefaultedSiblingEnum); ok {
		return x.OneofDefaultedSiblingEnum
	}
	return Default_Message_OneofDefaultedSiblingEnum
}

// XXX_OneofFuncs is for the internal use of the proto package.
func (*Message) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
	return _Message_OneofMarshaler, _Message_OneofUnmarshaler, _Message_OneofSizer, []interface{}{
		(*Message_OneofBool)(nil),
		(*Message_OneofInt32)(nil),
		(*Message_OneofSint32)(nil),
		(*Message_OneofUint32)(nil),
		(*Message_OneofInt64)(nil),
		(*Message_OneofSint64)(nil),
		(*Message_OneofUint64)(nil),
		(*Message_OneofFixed32)(nil),
		(*Message_OneofSfixed32)(nil),
		(*Message_OneofFloat)(nil),
		(*Message_OneofFixed64)(nil),
		(*Message_OneofSfixed64)(nil),
		(*Message_OneofDouble)(nil),
		(*Message_OneofString)(nil),
		(*Message_OneofBytes)(nil),
		(*Message_OneofChildEnum)(nil),
		(*Message_OneofChildMessage)(nil),
		(*Message_OneofNamedGroup)(nil),
		(*Message_OneofSiblingEnum)(nil),
		(*Message_OneofSiblingMessage)(nil),
		(*Message_Oneofgroup)(nil),
		(*Message_OneofString1)(nil),
		(*Message_OneofString2)(nil),
		(*Message_OneofString3)(nil),
		(*Message_OneofDefaultedBool)(nil),
		(*Message_OneofDefaultedInt32)(nil),
		(*Message_OneofDefaultedSint32)(nil),
		(*Message_OneofDefaultedUint32)(nil),
		(*Message_OneofDefaultedInt64)(nil),
		(*Message_OneofDefaultedSint64)(nil),
		(*Message_OneofDefaultedUint64)(nil),
		(*Message_OneofDefaultedFixed32)(nil),
		(*Message_OneofDefaultedSfixed32)(nil),
		(*Message_OneofDefaultedFloat)(nil),
		(*Message_OneofDefaultedFixed64)(nil),
		(*Message_OneofDefaultedSfixed64)(nil),
		(*Message_OneofDefaultedDouble)(nil),
		(*Message_OneofDefaultedString)(nil),
		(*Message_OneofDefaultedBytes)(nil),
		(*Message_OneofDefaultedChildEnum)(nil),
		(*Message_OneofDefaultedSiblingEnum)(nil),
	}
}

func _Message_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
	m := msg.(*Message)
	// oneof_union
	switch x := m.OneofUnion.(type) {
	case *Message_OneofBool:
		t := uint64(0)
		if x.OneofBool {
			t = 1
		}
		b.EncodeVarint(700<<3 | proto.WireVarint)
		b.EncodeVarint(t)
	case *Message_OneofInt32:
		b.EncodeVarint(701<<3 | proto.WireVarint)
		b.EncodeVarint(uint64(x.OneofInt32))
	case *Message_OneofSint32:
		b.EncodeVarint(702<<3 | proto.WireVarint)
		b.EncodeZigzag32(uint64(x.OneofSint32))
	case *Message_OneofUint32:
		b.EncodeVarint(703<<3 | proto.WireVarint)
		b.EncodeVarint(uint64(x.OneofUint32))
	case *Message_OneofInt64:
		b.EncodeVarint(704<<3 | proto.WireVarint)
		b.EncodeVarint(uint64(x.OneofInt64))
	case *Message_OneofSint64:
		b.EncodeVarint(705<<3 | proto.WireVarint)
		b.EncodeZigzag64(uint64(x.OneofSint64))
	case *Message_OneofUint64:
		b.EncodeVarint(706<<3 | proto.WireVarint)
		b.EncodeVarint(uint64(x.OneofUint64))
	case *Message_OneofFixed32:
		b.EncodeVarint(707<<3 | proto.WireFixed32)
		b.EncodeFixed32(uint64(x.OneofFixed32))
	case *Message_OneofSfixed32:
		b.EncodeVarint(708<<3 | proto.WireFixed32)
		b.EncodeFixed32(uint64(x.OneofSfixed32))
	case *Message_OneofFloat:
		b.EncodeVarint(709<<3 | proto.WireFixed32)
		b.EncodeFixed32(uint64(math.Float32bits(x.OneofFloat)))
	case *Message_OneofFixed64:
		b.EncodeVarint(710<<3 | proto.WireFixed64)
		b.EncodeFixed64(uint64(x.OneofFixed64))
	case *Message_OneofSfixed64:
		b.EncodeVarint(711<<3 | proto.WireFixed64)
		b.EncodeFixed64(uint64(x.OneofSfixed64))
	case *Message_OneofDouble:
		b.EncodeVarint(712<<3 | proto.WireFixed64)
		b.EncodeFixed64(math.Float64bits(x.OneofDouble))
	case *Message_OneofString:
		b.EncodeVarint(713<<3 | proto.WireBytes)
		b.EncodeStringBytes(x.OneofString)
	case *Message_OneofBytes:
		b.EncodeVarint(714<<3 | proto.WireBytes)
		b.EncodeRawBytes(x.OneofBytes)
	case *Message_OneofChildEnum:
		b.EncodeVarint(715<<3 | proto.WireVarint)
		b.EncodeVarint(uint64(x.OneofChildEnum))
	case *Message_OneofChildMessage:
		b.EncodeVarint(716<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.OneofChildMessage); err != nil {
			return err
		}
	case *Message_OneofNamedGroup:
		b.EncodeVarint(717<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.OneofNamedGroup); err != nil {
			return err
		}
	case *Message_OneofSiblingEnum:
		b.EncodeVarint(718<<3 | proto.WireVarint)
		b.EncodeVarint(uint64(x.OneofSiblingEnum))
	case *Message_OneofSiblingMessage:
		b.EncodeVarint(719<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.OneofSiblingMessage); err != nil {
			return err
		}
	case *Message_Oneofgroup:
		b.EncodeVarint(720<<3 | proto.WireStartGroup)
		if err := b.Marshal(x.Oneofgroup); err != nil {
			return err
		}
		b.EncodeVarint(720<<3 | proto.WireEndGroup)
	case *Message_OneofString1:
		b.EncodeVarint(721<<3 | proto.WireBytes)
		b.EncodeStringBytes(x.OneofString1)
	case *Message_OneofString2:
		b.EncodeVarint(722<<3 | proto.WireBytes)
		b.EncodeStringBytes(x.OneofString2)
	case *Message_OneofString3:
		b.EncodeVarint(723<<3 | proto.WireBytes)
		b.EncodeStringBytes(x.OneofString3)
	case nil:
	default:
		return fmt.Errorf("Message.OneofUnion has unexpected type %T", x)
	}
	// oneof_defaulted_union
	switch x := m.OneofDefaultedUnion.(type) {
	case *Message_OneofDefaultedBool:
		t := uint64(0)
		if x.OneofDefaultedBool {
			t = 1
		}
		b.EncodeVarint(800<<3 | proto.WireVarint)
		b.EncodeVarint(t)
	case *Message_OneofDefaultedInt32:
		b.EncodeVarint(801<<3 | proto.WireVarint)
		b.EncodeVarint(uint64(x.OneofDefaultedInt32))
	case *Message_OneofDefaultedSint32:
		b.EncodeVarint(802<<3 | proto.WireVarint)
		b.EncodeZigzag32(uint64(x.OneofDefaultedSint32))
	case *Message_OneofDefaultedUint32:
		b.EncodeVarint(803<<3 | proto.WireVarint)
		b.EncodeVarint(uint64(x.OneofDefaultedUint32))
	case *Message_OneofDefaultedInt64:
		b.EncodeVarint(804<<3 | proto.WireVarint)
		b.EncodeVarint(uint64(x.OneofDefaultedInt64))
	case *Message_OneofDefaultedSint64:
		b.EncodeVarint(805<<3 | proto.WireVarint)
		b.EncodeZigzag64(uint64(x.OneofDefaultedSint64))
	case *Message_OneofDefaultedUint64:
		b.EncodeVarint(806<<3 | proto.WireVarint)
		b.EncodeVarint(uint64(x.OneofDefaultedUint64))
	case *Message_OneofDefaultedFixed32:
		b.EncodeVarint(807<<3 | proto.WireFixed32)
		b.EncodeFixed32(uint64(x.OneofDefaultedFixed32))
	case *Message_OneofDefaultedSfixed32:
		b.EncodeVarint(808<<3 | proto.WireFixed32)
		b.EncodeFixed32(uint64(x.OneofDefaultedSfixed32))
	case *Message_OneofDefaultedFloat:
		b.EncodeVarint(809<<3 | proto.WireFixed32)
		b.EncodeFixed32(uint64(math.Float32bits(x.OneofDefaultedFloat)))
	case *Message_OneofDefaultedFixed64:
		b.EncodeVarint(810<<3 | proto.WireFixed64)
		b.EncodeFixed64(uint64(x.OneofDefaultedFixed64))
	case *Message_OneofDefaultedSfixed64:
		b.EncodeVarint(811<<3 | proto.WireFixed64)
		b.EncodeFixed64(uint64(x.OneofDefaultedSfixed64))
	case *Message_OneofDefaultedDouble:
		b.EncodeVarint(812<<3 | proto.WireFixed64)
		b.EncodeFixed64(math.Float64bits(x.OneofDefaultedDouble))
	case *Message_OneofDefaultedString:
		b.EncodeVarint(813<<3 | proto.WireBytes)
		b.EncodeStringBytes(x.OneofDefaultedString)
	case *Message_OneofDefaultedBytes:
		b.EncodeVarint(814<<3 | proto.WireBytes)
		b.EncodeRawBytes(x.OneofDefaultedBytes)
	case *Message_OneofDefaultedChildEnum:
		b.EncodeVarint(815<<3 | proto.WireVarint)
		b.EncodeVarint(uint64(x.OneofDefaultedChildEnum))
	case *Message_OneofDefaultedSiblingEnum:
		b.EncodeVarint(816<<3 | proto.WireVarint)
		b.EncodeVarint(uint64(x.OneofDefaultedSiblingEnum))
	case nil:
	default:
		return fmt.Errorf("Message.OneofDefaultedUnion has unexpected type %T", x)
	}
	return nil
}

func _Message_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
	m := msg.(*Message)
	switch tag {
	case 700: // oneof_union.oneof_bool
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.OneofUnion = &Message_OneofBool{x != 0}
		return true, err
	case 701: // oneof_union.oneof_int32
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.OneofUnion = &Message_OneofInt32{int32(x)}
		return true, err
	case 702: // oneof_union.oneof_sint32
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeZigzag32()
		m.OneofUnion = &Message_OneofSint32{int32(x)}
		return true, err
	case 703: // oneof_union.oneof_uint32
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.OneofUnion = &Message_OneofUint32{uint32(x)}
		return true, err
	case 704: // oneof_union.oneof_int64
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.OneofUnion = &Message_OneofInt64{int64(x)}
		return true, err
	case 705: // oneof_union.oneof_sint64
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeZigzag64()
		m.OneofUnion = &Message_OneofSint64{int64(x)}
		return true, err
	case 706: // oneof_union.oneof_uint64
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.OneofUnion = &Message_OneofUint64{x}
		return true, err
	case 707: // oneof_union.oneof_fixed32
		if wire != proto.WireFixed32 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed32()
		m.OneofUnion = &Message_OneofFixed32{uint32(x)}
		return true, err
	case 708: // oneof_union.oneof_sfixed32
		if wire != proto.WireFixed32 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed32()
		m.OneofUnion = &Message_OneofSfixed32{int32(x)}
		return true, err
	case 709: // oneof_union.oneof_float
		if wire != proto.WireFixed32 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed32()
		m.OneofUnion = &Message_OneofFloat{math.Float32frombits(uint32(x))}
		return true, err
	case 710: // oneof_union.oneof_fixed64
		if wire != proto.WireFixed64 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed64()
		m.OneofUnion = &Message_OneofFixed64{x}
		return true, err
	case 711: // oneof_union.oneof_sfixed64
		if wire != proto.WireFixed64 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed64()
		m.OneofUnion = &Message_OneofSfixed64{int64(x)}
		return true, err
	case 712: // oneof_union.oneof_double
		if wire != proto.WireFixed64 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed64()
		m.OneofUnion = &Message_OneofDouble{math.Float64frombits(x)}
		return true, err
	case 713: // oneof_union.oneof_string
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeStringBytes()
		m.OneofUnion = &Message_OneofString{x}
		return true, err
	case 714: // oneof_union.oneof_bytes
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeRawBytes(true)
		m.OneofUnion = &Message_OneofBytes{x}
		return true, err
	case 715: // oneof_union.oneof_child_enum
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.OneofUnion = &Message_OneofChildEnum{Message_ChildEnum(x)}
		return true, err
	case 716: // oneof_union.oneof_child_message
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(Message_ChildMessage)
		err := b.DecodeMessage(msg)
		m.OneofUnion = &Message_OneofChildMessage{msg}
		return true, err
	case 717: // oneof_union.oneof_named_group
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(Message_NamedGroup)
		err := b.DecodeMessage(msg)
		m.OneofUnion = &Message_OneofNamedGroup{msg}
		return true, err
	case 718: // oneof_union.oneof_sibling_enum
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.OneofUnion = &Message_OneofSiblingEnum{SiblingEnum(x)}
		return true, err
	case 719: // oneof_union.oneof_sibling_message
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(SiblingMessage)
		err := b.DecodeMessage(msg)
		m.OneofUnion = &Message_OneofSiblingMessage{msg}
		return true, err
	case 720: // oneof_union.oneofgroup
		if wire != proto.WireStartGroup {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(Message_OneofGroup)
		err := b.DecodeGroup(msg)
		m.OneofUnion = &Message_Oneofgroup{msg}
		return true, err
	case 721: // oneof_union.oneof_string1
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeStringBytes()
		m.OneofUnion = &Message_OneofString1{x}
		return true, err
	case 722: // oneof_union.oneof_string2
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeStringBytes()
		m.OneofUnion = &Message_OneofString2{x}
		return true, err
	case 723: // oneof_union.oneof_string3
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeStringBytes()
		m.OneofUnion = &Message_OneofString3{x}
		return true, err
	case 800: // oneof_defaulted_union.oneof_defaulted_bool
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.OneofDefaultedUnion = &Message_OneofDefaultedBool{x != 0}
		return true, err
	case 801: // oneof_defaulted_union.oneof_defaulted_int32
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.OneofDefaultedUnion = &Message_OneofDefaultedInt32{int32(x)}
		return true, err
	case 802: // oneof_defaulted_union.oneof_defaulted_sint32
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeZigzag32()
		m.OneofDefaultedUnion = &Message_OneofDefaultedSint32{int32(x)}
		return true, err
	case 803: // oneof_defaulted_union.oneof_defaulted_uint32
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.OneofDefaultedUnion = &Message_OneofDefaultedUint32{uint32(x)}
		return true, err
	case 804: // oneof_defaulted_union.oneof_defaulted_int64
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.OneofDefaultedUnion = &Message_OneofDefaultedInt64{int64(x)}
		return true, err
	case 805: // oneof_defaulted_union.oneof_defaulted_sint64
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeZigzag64()
		m.OneofDefaultedUnion = &Message_OneofDefaultedSint64{int64(x)}
		return true, err
	case 806: // oneof_defaulted_union.oneof_defaulted_uint64
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.OneofDefaultedUnion = &Message_OneofDefaultedUint64{x}
		return true, err
	case 807: // oneof_defaulted_union.oneof_defaulted_fixed32
		if wire != proto.WireFixed32 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed32()
		m.OneofDefaultedUnion = &Message_OneofDefaultedFixed32{uint32(x)}
		return true, err
	case 808: // oneof_defaulted_union.oneof_defaulted_sfixed32
		if wire != proto.WireFixed32 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed32()
		m.OneofDefaultedUnion = &Message_OneofDefaultedSfixed32{int32(x)}
		return true, err
	case 809: // oneof_defaulted_union.oneof_defaulted_float
		if wire != proto.WireFixed32 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed32()
		m.OneofDefaultedUnion = &Message_OneofDefaultedFloat{math.Float32frombits(uint32(x))}
		return true, err
	case 810: // oneof_defaulted_union.oneof_defaulted_fixed64
		if wire != proto.WireFixed64 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed64()
		m.OneofDefaultedUnion = &Message_OneofDefaultedFixed64{x}
		return true, err
	case 811: // oneof_defaulted_union.oneof_defaulted_sfixed64
		if wire != proto.WireFixed64 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed64()
		m.OneofDefaultedUnion = &Message_OneofDefaultedSfixed64{int64(x)}
		return true, err
	case 812: // oneof_defaulted_union.oneof_defaulted_double
		if wire != proto.WireFixed64 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed64()
		m.OneofDefaultedUnion = &Message_OneofDefaultedDouble{math.Float64frombits(x)}
		return true, err
	case 813: // oneof_defaulted_union.oneof_defaulted_string
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeStringBytes()
		m.OneofDefaultedUnion = &Message_OneofDefaultedString{x}
		return true, err
	case 814: // oneof_defaulted_union.oneof_defaulted_bytes
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeRawBytes(true)
		m.OneofDefaultedUnion = &Message_OneofDefaultedBytes{x}
		return true, err
	case 815: // oneof_defaulted_union.oneof_defaulted_child_enum
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.OneofDefaultedUnion = &Message_OneofDefaultedChildEnum{Message_ChildEnum(x)}
		return true, err
	case 816: // oneof_defaulted_union.oneof_defaulted_sibling_enum
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.OneofDefaultedUnion = &Message_OneofDefaultedSiblingEnum{SiblingEnum(x)}
		return true, err
	default:
		return false, nil
	}
}

func _Message_OneofSizer(msg proto.Message) (n int) {
	m := msg.(*Message)
	// oneof_union
	switch x := m.OneofUnion.(type) {
	case *Message_OneofBool:
		n += proto.SizeVarint(700<<3 | proto.WireVarint)
		n += 1
	case *Message_OneofInt32:
		n += proto.SizeVarint(701<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.OneofInt32))
	case *Message_OneofSint32:
		n += proto.SizeVarint(702<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64((uint32(x.OneofSint32) << 1) ^ uint32((int32(x.OneofSint32) >> 31))))
	case *Message_OneofUint32:
		n += proto.SizeVarint(703<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.OneofUint32))
	case *Message_OneofInt64:
		n += proto.SizeVarint(704<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.OneofInt64))
	case *Message_OneofSint64:
		n += proto.SizeVarint(705<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(uint64(x.OneofSint64<<1) ^ uint64((int64(x.OneofSint64) >> 63))))
	case *Message_OneofUint64:
		n += proto.SizeVarint(706<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.OneofUint64))
	case *Message_OneofFixed32:
		n += proto.SizeVarint(707<<3 | proto.WireFixed32)
		n += 4
	case *Message_OneofSfixed32:
		n += proto.SizeVarint(708<<3 | proto.WireFixed32)
		n += 4
	case *Message_OneofFloat:
		n += proto.SizeVarint(709<<3 | proto.WireFixed32)
		n += 4
	case *Message_OneofFixed64:
		n += proto.SizeVarint(710<<3 | proto.WireFixed64)
		n += 8
	case *Message_OneofSfixed64:
		n += proto.SizeVarint(711<<3 | proto.WireFixed64)
		n += 8
	case *Message_OneofDouble:
		n += proto.SizeVarint(712<<3 | proto.WireFixed64)
		n += 8
	case *Message_OneofString:
		n += proto.SizeVarint(713<<3 | proto.WireBytes)
		n += proto.SizeVarint(uint64(len(x.OneofString)))
		n += len(x.OneofString)
	case *Message_OneofBytes:
		n += proto.SizeVarint(714<<3 | proto.WireBytes)
		n += proto.SizeVarint(uint64(len(x.OneofBytes)))
		n += len(x.OneofBytes)
	case *Message_OneofChildEnum:
		n += proto.SizeVarint(715<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.OneofChildEnum))
	case *Message_OneofChildMessage:
		s := proto.Size(x.OneofChildMessage)
		n += proto.SizeVarint(716<<3 | proto.WireBytes)
		n += proto.SizeVarint(uint64(s))
		n += s
	case *Message_OneofNamedGroup:
		s := proto.Size(x.OneofNamedGroup)
		n += proto.SizeVarint(717<<3 | proto.WireBytes)
		n += proto.SizeVarint(uint64(s))
		n += s
	case *Message_OneofSiblingEnum:
		n += proto.SizeVarint(718<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.OneofSiblingEnum))
	case *Message_OneofSiblingMessage:
		s := proto.Size(x.OneofSiblingMessage)
		n += proto.SizeVarint(719<<3 | proto.WireBytes)
		n += proto.SizeVarint(uint64(s))
		n += s
	case *Message_Oneofgroup:
		n += proto.SizeVarint(720<<3 | proto.WireStartGroup)
		n += proto.Size(x.Oneofgroup)
		n += proto.SizeVarint(720<<3 | proto.WireEndGroup)
	case *Message_OneofString1:
		n += proto.SizeVarint(721<<3 | proto.WireBytes)
		n += proto.SizeVarint(uint64(len(x.OneofString1)))
		n += len(x.OneofString1)
	case *Message_OneofString2:
		n += proto.SizeVarint(722<<3 | proto.WireBytes)
		n += proto.SizeVarint(uint64(len(x.OneofString2)))
		n += len(x.OneofString2)
	case *Message_OneofString3:
		n += proto.SizeVarint(723<<3 | proto.WireBytes)
		n += proto.SizeVarint(uint64(len(x.OneofString3)))
		n += len(x.OneofString3)
	case nil:
	default:
		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
	}
	// oneof_defaulted_union
	switch x := m.OneofDefaultedUnion.(type) {
	case *Message_OneofDefaultedBool:
		n += proto.SizeVarint(800<<3 | proto.WireVarint)
		n += 1
	case *Message_OneofDefaultedInt32:
		n += proto.SizeVarint(801<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.OneofDefaultedInt32))
	case *Message_OneofDefaultedSint32:
		n += proto.SizeVarint(802<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64((uint32(x.OneofDefaultedSint32) << 1) ^ uint32((int32(x.OneofDefaultedSint32) >> 31))))
	case *Message_OneofDefaultedUint32:
		n += proto.SizeVarint(803<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.OneofDefaultedUint32))
	case *Message_OneofDefaultedInt64:
		n += proto.SizeVarint(804<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.OneofDefaultedInt64))
	case *Message_OneofDefaultedSint64:
		n += proto.SizeVarint(805<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(uint64(x.OneofDefaultedSint64<<1) ^ uint64((int64(x.OneofDefaultedSint64) >> 63))))
	case *Message_OneofDefaultedUint64:
		n += proto.SizeVarint(806<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.OneofDefaultedUint64))
	case *Message_OneofDefaultedFixed32:
		n += proto.SizeVarint(807<<3 | proto.WireFixed32)
		n += 4
	case *Message_OneofDefaultedSfixed32:
		n += proto.SizeVarint(808<<3 | proto.WireFixed32)
		n += 4
	case *Message_OneofDefaultedFloat:
		n += proto.SizeVarint(809<<3 | proto.WireFixed32)
		n += 4
	case *Message_OneofDefaultedFixed64:
		n += proto.SizeVarint(810<<3 | proto.WireFixed64)
		n += 8
	case *Message_OneofDefaultedSfixed64:
		n += proto.SizeVarint(811<<3 | proto.WireFixed64)
		n += 8
	case *Message_OneofDefaultedDouble:
		n += proto.SizeVarint(812<<3 | proto.WireFixed64)
		n += 8
	case *Message_OneofDefaultedString:
		n += proto.SizeVarint(813<<3 | proto.WireBytes)
		n += proto.SizeVarint(uint64(len(x.OneofDefaultedString)))
		n += len(x.OneofDefaultedString)
	case *Message_OneofDefaultedBytes:
		n += proto.SizeVarint(814<<3 | proto.WireBytes)
		n += proto.SizeVarint(uint64(len(x.OneofDefaultedBytes)))
		n += len(x.OneofDefaultedBytes)
	case *Message_OneofDefaultedChildEnum:
		n += proto.SizeVarint(815<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.OneofDefaultedChildEnum))
	case *Message_OneofDefaultedSiblingEnum:
		n += proto.SizeVarint(816<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.OneofDefaultedSiblingEnum))
	case nil:
	default:
		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
	}
	return n
}

var E_Message_ExtensionOptionalBool = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*bool)(nil),
	Field:         10000,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_bool",
	Tag:           "varint,10000,opt,name=extension_optional_bool,json=extensionOptionalBool",
}

var E_Message_ExtensionOptionalInt32 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*int32)(nil),
	Field:         10001,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_int32",
	Tag:           "varint,10001,opt,name=extension_optional_int32,json=extensionOptionalInt32",
}

var E_Message_ExtensionOptionalSint32 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*int32)(nil),
	Field:         10002,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_sint32",
	Tag:           "zigzag32,10002,opt,name=extension_optional_sint32,json=extensionOptionalSint32",
}

var E_Message_ExtensionOptionalUint32 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*uint32)(nil),
	Field:         10003,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_uint32",
	Tag:           "varint,10003,opt,name=extension_optional_uint32,json=extensionOptionalUint32",
}

var E_Message_ExtensionOptionalInt64 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*int64)(nil),
	Field:         10004,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_int64",
	Tag:           "varint,10004,opt,name=extension_optional_int64,json=extensionOptionalInt64",
}

var E_Message_ExtensionOptionalSint64 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*int64)(nil),
	Field:         10005,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_sint64",
	Tag:           "zigzag64,10005,opt,name=extension_optional_sint64,json=extensionOptionalSint64",
}

var E_Message_ExtensionOptionalUint64 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*uint64)(nil),
	Field:         10006,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_uint64",
	Tag:           "varint,10006,opt,name=extension_optional_uint64,json=extensionOptionalUint64",
}

var E_Message_ExtensionOptionalFixed32 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*uint32)(nil),
	Field:         10007,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_fixed32",
	Tag:           "fixed32,10007,opt,name=extension_optional_fixed32,json=extensionOptionalFixed32",
}

var E_Message_ExtensionOptionalSfixed32 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*int32)(nil),
	Field:         10008,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_sfixed32",
	Tag:           "fixed32,10008,opt,name=extension_optional_sfixed32,json=extensionOptionalSfixed32",
}

var E_Message_ExtensionOptionalFloat = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*float32)(nil),
	Field:         10009,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_float",
	Tag:           "fixed32,10009,opt,name=extension_optional_float,json=extensionOptionalFloat",
}

var E_Message_ExtensionOptionalFixed64 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*uint64)(nil),
	Field:         10010,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_fixed64",
	Tag:           "fixed64,10010,opt,name=extension_optional_fixed64,json=extensionOptionalFixed64",
}

var E_Message_ExtensionOptionalSfixed64 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*int64)(nil),
	Field:         10011,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_sfixed64",
	Tag:           "fixed64,10011,opt,name=extension_optional_sfixed64,json=extensionOptionalSfixed64",
}

var E_Message_ExtensionOptionalDouble = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*float64)(nil),
	Field:         10012,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_double",
	Tag:           "fixed64,10012,opt,name=extension_optional_double,json=extensionOptionalDouble",
}

var E_Message_ExtensionOptionalString = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*string)(nil),
	Field:         10013,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_string",
	Tag:           "bytes,10013,opt,name=extension_optional_string,json=extensionOptionalString",
}

var E_Message_ExtensionOptionalBytes = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]byte)(nil),
	Field:         10014,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_bytes",
	Tag:           "bytes,10014,opt,name=extension_optional_bytes,json=extensionOptionalBytes",
}

var E_Message_ExtensionOptionalChildEnum = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*Message_ChildEnum)(nil),
	Field:         10015,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_child_enum",
	Tag:           "varint,10015,opt,name=extension_optional_child_enum,json=extensionOptionalChildEnum,enum=google.golang.org.proto2_20160519.Message_ChildEnum",
}

var E_Message_ExtensionOptionalChildMessage = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*Message_ChildMessage)(nil),
	Field:         10016,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_child_message",
	Tag:           "bytes,10016,opt,name=extension_optional_child_message,json=extensionOptionalChildMessage",
}

var E_Message_ExtensionOptionalNamedGroup = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*Message_NamedGroup)(nil),
	Field:         10017,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_named_group",
	Tag:           "bytes,10017,opt,name=extension_optional_named_group,json=extensionOptionalNamedGroup",
}

var E_Message_ExtensionOptionalSiblingEnum = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*SiblingEnum)(nil),
	Field:         10018,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_sibling_enum",
	Tag:           "varint,10018,opt,name=extension_optional_sibling_enum,json=extensionOptionalSiblingEnum,enum=google.golang.org.proto2_20160519.SiblingEnum",
}

var E_Message_ExtensionOptionalSiblingMessage = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*SiblingMessage)(nil),
	Field:         10019,
	Name:          "google.golang.org.proto2_20160519.Message.extension_optional_sibling_message",
	Tag:           "bytes,10019,opt,name=extension_optional_sibling_message,json=extensionOptionalSiblingMessage",
}

var E_Message_Extensionoptionalgroup = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*Message_ExtensionOptionalGroup)(nil),
	Field:         10020,
	Name:          "google.golang.org.proto2_20160519.Message.extensionoptionalgroup",
	Tag:           "group,10020,opt,name=ExtensionOptionalGroup,json=extensionoptionalgroup",
}

var E_Message_ExtensionDefaultedBool = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*bool)(nil),
	Field:         20000,
	Name:          "google.golang.org.proto2_20160519.Message.extension_defaulted_bool",
	Tag:           "varint,20000,opt,name=extension_defaulted_bool,json=extensionDefaultedBool,def=1",
}

var E_Message_ExtensionDefaultedInt32 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*int32)(nil),
	Field:         20001,
	Name:          "google.golang.org.proto2_20160519.Message.extension_defaulted_int32",
	Tag:           "varint,20001,opt,name=extension_defaulted_int32,json=extensionDefaultedInt32,def=-12345",
}

var E_Message_ExtensionDefaultedSint32 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*int32)(nil),
	Field:         20002,
	Name:          "google.golang.org.proto2_20160519.Message.extension_defaulted_sint32",
	Tag:           "zigzag32,20002,opt,name=extension_defaulted_sint32,json=extensionDefaultedSint32,def=-3200",
}

var E_Message_ExtensionDefaultedUint32 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*uint32)(nil),
	Field:         20003,
	Name:          "google.golang.org.proto2_20160519.Message.extension_defaulted_uint32",
	Tag:           "varint,20003,opt,name=extension_defaulted_uint32,json=extensionDefaultedUint32,def=3200",
}

var E_Message_ExtensionDefaultedInt64 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*int64)(nil),
	Field:         20004,
	Name:          "google.golang.org.proto2_20160519.Message.extension_defaulted_int64",
	Tag:           "varint,20004,opt,name=extension_defaulted_int64,json=extensionDefaultedInt64,def=-123456789",
}

var E_Message_ExtensionDefaultedSint64 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*int64)(nil),
	Field:         20005,
	Name:          "google.golang.org.proto2_20160519.Message.extension_defaulted_sint64",
	Tag:           "zigzag64,20005,opt,name=extension_defaulted_sint64,json=extensionDefaultedSint64,def=-6400",
}

var E_Message_ExtensionDefaultedUint64 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*uint64)(nil),
	Field:         20006,
	Name:          "google.golang.org.proto2_20160519.Message.extension_defaulted_uint64",
	Tag:           "varint,20006,opt,name=extension_defaulted_uint64,json=extensionDefaultedUint64,def=6400",
}

var E_Message_ExtensionDefaultedFixed32 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*uint32)(nil),
	Field:         20007,
	Name:          "google.golang.org.proto2_20160519.Message.extension_defaulted_fixed32",
	Tag:           "fixed32,20007,opt,name=extension_defaulted_fixed32,json=extensionDefaultedFixed32,def=320000",
}

var E_Message_ExtensionDefaultedSfixed32 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*int32)(nil),
	Field:         20008,
	Name:          "google.golang.org.proto2_20160519.Message.extension_defaulted_sfixed32",
	Tag:           "fixed32,20008,opt,name=extension_defaulted_sfixed32,json=extensionDefaultedSfixed32,def=-320000",
}

var E_Message_ExtensionDefaultedFloat = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*float32)(nil),
	Field:         20009,
	Name:          "google.golang.org.proto2_20160519.Message.extension_defaulted_float",
	Tag:           "fixed32,20009,opt,name=extension_defaulted_float,json=extensionDefaultedFloat,def=3.14159",
}

var E_Message_ExtensionDefaultedFixed64 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*uint64)(nil),
	Field:         20010,
	Name:          "google.golang.org.proto2_20160519.Message.extension_defaulted_fixed64",
	Tag:           "fixed64,20010,opt,name=extension_defaulted_fixed64,json=extensionDefaultedFixed64,def=640000",
}

var E_Message_ExtensionDefaultedSfixed64 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*int64)(nil),
	Field:         20011,
	Name:          "google.golang.org.proto2_20160519.Message.extension_defaulted_sfixed64",
	Tag:           "fixed64,20011,opt,name=extension_defaulted_sfixed64,json=extensionDefaultedSfixed64,def=-640000",
}

var E_Message_ExtensionDefaultedDouble = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*float64)(nil),
	Field:         20012,
	Name:          "google.golang.org.proto2_20160519.Message.extension_defaulted_double",
	Tag:           "fixed64,20012,opt,name=extension_defaulted_double,json=extensionDefaultedDouble,def=3.14159265359",
}

var E_Message_ExtensionDefaultedString = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*string)(nil),
	Field:         20013,
	Name:          "google.golang.org.proto2_20160519.Message.extension_defaulted_string",
	Tag:           "bytes,20013,opt,name=extension_defaulted_string,json=extensionDefaultedString,def=hello, \"world!\"\n",
}

var E_Message_ExtensionDefaultedBytes = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]byte)(nil),
	Field:         20014,
	Name:          "google.golang.org.proto2_20160519.Message.extension_defaulted_bytes",
	Tag:           "bytes,20014,opt,name=extension_defaulted_bytes,json=extensionDefaultedBytes,def=dead\\336\\255\\276\\357beef",
}

var E_Message_ExtensionDefaultedChildEnum = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*Message_ChildEnum)(nil),
	Field:         20015,
	Name:          "google.golang.org.proto2_20160519.Message.extension_defaulted_child_enum",
	Tag:           "varint,20015,opt,name=extension_defaulted_child_enum,json=extensionDefaultedChildEnum,enum=google.golang.org.proto2_20160519.Message_ChildEnum,def=0",
}

var E_Message_ExtensionDefaultedSiblingEnum = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: (*SiblingEnum)(nil),
	Field:         20016,
	Name:          "google.golang.org.proto2_20160519.Message.extension_defaulted_sibling_enum",
	Tag:           "varint,20016,opt,name=extension_defaulted_sibling_enum,json=extensionDefaultedSiblingEnum,enum=google.golang.org.proto2_20160519.SiblingEnum,def=0",
}

var E_Message_ExtensionRepeatedBool = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]bool)(nil),
	Field:         30000,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_bool",
	Tag:           "varint,30000,rep,name=extension_repeated_bool,json=extensionRepeatedBool",
}

var E_Message_ExtensionRepeatedInt32 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]int32)(nil),
	Field:         30001,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_int32",
	Tag:           "varint,30001,rep,name=extension_repeated_int32,json=extensionRepeatedInt32",
}

var E_Message_ExtensionRepeatedSint32 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]int32)(nil),
	Field:         30002,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_sint32",
	Tag:           "zigzag32,30002,rep,name=extension_repeated_sint32,json=extensionRepeatedSint32",
}

var E_Message_ExtensionRepeatedUint32 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]uint32)(nil),
	Field:         30003,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_uint32",
	Tag:           "varint,30003,rep,name=extension_repeated_uint32,json=extensionRepeatedUint32",
}

var E_Message_ExtensionRepeatedInt64 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]int64)(nil),
	Field:         30004,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_int64",
	Tag:           "varint,30004,rep,name=extension_repeated_int64,json=extensionRepeatedInt64",
}

var E_Message_ExtensionRepeatedSint64 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]int64)(nil),
	Field:         30005,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_sint64",
	Tag:           "zigzag64,30005,rep,name=extension_repeated_sint64,json=extensionRepeatedSint64",
}

var E_Message_ExtensionRepeatedUint64 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]uint64)(nil),
	Field:         30006,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_uint64",
	Tag:           "varint,30006,rep,name=extension_repeated_uint64,json=extensionRepeatedUint64",
}

var E_Message_ExtensionRepeatedFixed32 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]uint32)(nil),
	Field:         30007,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_fixed32",
	Tag:           "fixed32,30007,rep,name=extension_repeated_fixed32,json=extensionRepeatedFixed32",
}

var E_Message_ExtensionRepeatedSfixed32 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]int32)(nil),
	Field:         30008,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_sfixed32",
	Tag:           "fixed32,30008,rep,name=extension_repeated_sfixed32,json=extensionRepeatedSfixed32",
}

var E_Message_ExtensionRepeatedFloat = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]float32)(nil),
	Field:         30009,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_float",
	Tag:           "fixed32,30009,rep,name=extension_repeated_float,json=extensionRepeatedFloat",
}

var E_Message_ExtensionRepeatedFixed64 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]uint64)(nil),
	Field:         30010,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_fixed64",
	Tag:           "fixed64,30010,rep,name=extension_repeated_fixed64,json=extensionRepeatedFixed64",
}

var E_Message_ExtensionRepeatedSfixed64 = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]int64)(nil),
	Field:         30011,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_sfixed64",
	Tag:           "fixed64,30011,rep,name=extension_repeated_sfixed64,json=extensionRepeatedSfixed64",
}

var E_Message_ExtensionRepeatedDouble = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]float64)(nil),
	Field:         30012,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_double",
	Tag:           "fixed64,30012,rep,name=extension_repeated_double,json=extensionRepeatedDouble",
}

var E_Message_ExtensionRepeatedString = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]string)(nil),
	Field:         30013,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_string",
	Tag:           "bytes,30013,rep,name=extension_repeated_string,json=extensionRepeatedString",
}

var E_Message_ExtensionRepeatedBytes = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([][]byte)(nil),
	Field:         30014,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_bytes",
	Tag:           "bytes,30014,rep,name=extension_repeated_bytes,json=extensionRepeatedBytes",
}

var E_Message_ExtensionRepeatedChildEnum = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]Message_ChildEnum)(nil),
	Field:         30015,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_child_enum",
	Tag:           "varint,30015,rep,name=extension_repeated_child_enum,json=extensionRepeatedChildEnum,enum=google.golang.org.proto2_20160519.Message_ChildEnum",
}

var E_Message_ExtensionRepeatedChildMessage = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]*Message_ChildMessage)(nil),
	Field:         30016,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_child_message",
	Tag:           "bytes,30016,rep,name=extension_repeated_child_message,json=extensionRepeatedChildMessage",
}

var E_Message_ExtensionRepeatedNamedGroup = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]*Message_NamedGroup)(nil),
	Field:         30017,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_named_group",
	Tag:           "bytes,30017,rep,name=extension_repeated_named_group,json=extensionRepeatedNamedGroup",
}

var E_Message_ExtensionRepeatedSiblingEnum = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]SiblingEnum)(nil),
	Field:         30018,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_sibling_enum",
	Tag:           "varint,30018,rep,name=extension_repeated_sibling_enum,json=extensionRepeatedSiblingEnum,enum=google.golang.org.proto2_20160519.SiblingEnum",
}

var E_Message_ExtensionRepeatedSiblingMessage = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]*SiblingMessage)(nil),
	Field:         30019,
	Name:          "google.golang.org.proto2_20160519.Message.extension_repeated_sibling_message",
	Tag:           "bytes,30019,rep,name=extension_repeated_sibling_message,json=extensionRepeatedSiblingMessage",
}

var E_Message_Extensionrepeatedgroup = &proto.ExtensionDesc{
	ExtendedType:  (*Message)(nil),
	ExtensionType: ([]*Message_ExtensionRepeatedGroup)(nil),
	Field:         30020,
	Name:          "google.golang.org.proto2_20160519.Message.extensionrepeatedgroup",
	Tag:           "group,30020,rep,name=ExtensionRepeatedGroup,json=extensionrepeatedgroup",
}

type Message_ChildMessage struct {
	F1               *string  `protobuf:"bytes,1,opt,name=f1" json:"f1,omitempty"`
	F2               *string  `protobuf:"bytes,2,req,name=f2" json:"f2,omitempty"`
	F3               []string `protobuf:"bytes,3,rep,name=f3" json:"f3,omitempty"`
	F4               *Message `protobuf:"bytes,4,opt,name=f4" json:"f4,omitempty"`
	XXX_unrecognized []byte   `json:"-"`
}

func (m *Message_ChildMessage) Reset()                    { *m = Message_ChildMessage{} }
func (m *Message_ChildMessage) String() string            { return proto.CompactTextString(m) }
func (*Message_ChildMessage) ProtoMessage()               {}
func (*Message_ChildMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 0} }

func (m *Message_ChildMessage) GetF1() string {
	if m != nil && m.F1 != nil {
		return *m.F1
	}
	return ""
}

func (m *Message_ChildMessage) GetF2() string {
	if m != nil && m.F2 != nil {
		return *m.F2
	}
	return ""
}

func (m *Message_ChildMessage) GetF3() []string {
	if m != nil {
		return m.F3
	}
	return nil
}

func (m *Message_ChildMessage) GetF4() *Message {
	if m != nil {
		return m.F4
	}
	return nil
}

type Message_NamedGroup struct {
	F1               *string  `protobuf:"bytes,1,opt,name=f1" json:"f1,omitempty"`
	F2               *string  `protobuf:"bytes,2,req,name=f2" json:"f2,omitempty"`
	F3               []string `protobuf:"bytes,3,rep,name=f3" json:"f3,omitempty"`
	F4               *Message `protobuf:"bytes,4,opt,name=f4" json:"f4,omitempty"`
	XXX_unrecognized []byte   `json:"-"`
}

func (m *Message_NamedGroup) Reset()                    { *m = Message_NamedGroup{} }
func (m *Message_NamedGroup) String() string            { return proto.CompactTextString(m) }
func (*Message_NamedGroup) ProtoMessage()               {}
func (*Message_NamedGroup) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 1} }

func (m *Message_NamedGroup) GetF1() string {
	if m != nil && m.F1 != nil {
		return *m.F1
	}
	return ""
}

func (m *Message_NamedGroup) GetF2() string {
	if m != nil && m.F2 != nil {
		return *m.F2
	}
	return ""
}

func (m *Message_NamedGroup) GetF3() []string {
	if m != nil {
		return m.F3
	}
	return nil
}

func (m *Message_NamedGroup) GetF4() *Message {
	if m != nil {
		return m.F4
	}
	return nil
}

type Message_OptionalGroup struct {
	F1               *string  `protobuf:"bytes,1,opt,name=f1" json:"f1,omitempty"`
	F2               *string  `protobuf:"bytes,2,req,name=f2" json:"f2,omitempty"`
	F3               []string `protobuf:"bytes,3,rep,name=f3" json:"f3,omitempty"`
	XXX_unrecognized []byte   `json:"-"`
}

func (m *Message_OptionalGroup) Reset()                    { *m = Message_OptionalGroup{} }
func (m *Message_OptionalGroup) String() string            { return proto.CompactTextString(m) }
func (*Message_OptionalGroup) ProtoMessage()               {}
func (*Message_OptionalGroup) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 2} }

func (m *Message_OptionalGroup) GetF1() string {
	if m != nil && m.F1 != nil {
		return *m.F1
	}
	return ""
}

func (m *Message_OptionalGroup) GetF2() string {
	if m != nil && m.F2 != nil {
		return *m.F2
	}
	return ""
}

func (m *Message_OptionalGroup) GetF3() []string {
	if m != nil {
		return m.F3
	}
	return nil
}

type Message_RequiredGroup struct {
	F1               *string  `protobuf:"bytes,1,opt,name=f1" json:"f1,omitempty"`
	F2               *string  `protobuf:"bytes,2,req,name=f2" json:"f2,omitempty"`
	F3               []string `protobuf:"bytes,3,rep,name=f3" json:"f3,omitempty"`
	XXX_unrecognized []byte   `json:"-"`
}

func (m *Message_RequiredGroup) Reset()                    { *m = Message_RequiredGroup{} }
func (m *Message_RequiredGroup) String() string            { return proto.CompactTextString(m) }
func (*Message_RequiredGroup) ProtoMessage()               {}
func (*Message_RequiredGroup) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 3} }

func (m *Message_RequiredGroup) GetF1() string {
	if m != nil && m.F1 != nil {
		return *m.F1
	}
	return ""
}

func (m *Message_RequiredGroup) GetF2() string {
	if m != nil && m.F2 != nil {
		return *m.F2
	}
	return ""
}

func (m *Message_RequiredGroup) GetF3() []string {
	if m != nil {
		return m.F3
	}
	return nil
}

type Message_RepeatedGroup struct {
	F1               *string  `protobuf:"bytes,1,opt,name=f1" json:"f1,omitempty"`
	F2               *string  `protobuf:"bytes,2,req,name=f2" json:"f2,omitempty"`
	F3               []string `protobuf:"bytes,3,rep,name=f3" json:"f3,omitempty"`
	XXX_unrecognized []byte   `json:"-"`
}

func (m *Message_RepeatedGroup) Reset()                    { *m = Message_RepeatedGroup{} }
func (m *Message_RepeatedGroup) String() string            { return proto.CompactTextString(m) }
func (*Message_RepeatedGroup) ProtoMessage()               {}
func (*Message_RepeatedGroup) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 4} }

func (m *Message_RepeatedGroup) GetF1() string {
	if m != nil && m.F1 != nil {
		return *m.F1
	}
	return ""
}

func (m *Message_RepeatedGroup) GetF2() string {
	if m != nil && m.F2 != nil {
		return *m.F2
	}
	return ""
}

func (m *Message_RepeatedGroup) GetF3() []string {
	if m != nil {
		return m.F3
	}
	return nil
}

type Message_OneofGroup struct {
	F1               *string  `protobuf:"bytes,1,opt,name=f1" json:"f1,omitempty"`
	F2               *string  `protobuf:"bytes,2,req,name=f2" json:"f2,omitempty"`
	F3               []string `protobuf:"bytes,3,rep,name=f3" json:"f3,omitempty"`
	XXX_unrecognized []byte   `json:"-"`
}

func (m *Message_OneofGroup) Reset()                    { *m = Message_OneofGroup{} }
func (m *Message_OneofGroup) String() string            { return proto.CompactTextString(m) }
func (*Message_OneofGroup) ProtoMessage()               {}
func (*Message_OneofGroup) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1, 33} }

func (m *Message_OneofGroup) GetF1() string {
	if m != nil && m.F1 != nil {
		return *m.F1
	}
	return ""
}

func (m *Message_OneofGroup) GetF2() string {
	if m != nil && m.F2 != nil {
		return *m.F2
	}
	return ""
}

func (m *Message_OneofGroup) GetF3() []string {
	if m != nil {
		return m.F3
	}
	return nil
}

type Message_ExtensionOptionalGroup struct {
	F1               *string  `protobuf:"bytes,1,opt,name=f1" json:"f1,omitempty"`
	F2               *string  `protobuf:"bytes,2,req,name=f2" json:"f2,omitempty"`
	F3               []string `protobuf:"bytes,3,rep,name=f3" json:"f3,omitempty"`
	XXX_unrecognized []byte   `json:"-"`
}

func (m *Message_ExtensionOptionalGroup) Reset()         { *m = Message_ExtensionOptionalGroup{} }
func (m *Message_ExtensionOptionalGroup) String() string { return proto.CompactTextString(m) }
func (*Message_ExtensionOptionalGroup) ProtoMessage()    {}
func (*Message_ExtensionOptionalGroup) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{1, 34}
}

func (m *Message_ExtensionOptionalGroup) GetF1() string {
	if m != nil && m.F1 != nil {
		return *m.F1
	}
	return ""
}

func (m *Message_ExtensionOptionalGroup) GetF2() string {
	if m != nil && m.F2 != nil {
		return *m.F2
	}
	return ""
}

func (m *Message_ExtensionOptionalGroup) GetF3() []string {
	if m != nil {
		return m.F3
	}
	return nil
}

type Message_ExtensionRepeatedGroup struct {
	F1               *string  `protobuf:"bytes,1,opt,name=f1" json:"f1,omitempty"`
	F2               *string  `protobuf:"bytes,2,req,name=f2" json:"f2,omitempty"`
	F3               []string `protobuf:"bytes,3,rep,name=f3" json:"f3,omitempty"`
	XXX_unrecognized []byte   `json:"-"`
}

func (m *Message_ExtensionRepeatedGroup) Reset()         { *m = Message_ExtensionRepeatedGroup{} }
func (m *Message_ExtensionRepeatedGroup) String() string { return proto.CompactTextString(m) }
func (*Message_ExtensionRepeatedGroup) ProtoMessage()    {}
func (*Message_ExtensionRepeatedGroup) Descriptor() ([]byte, []int) {
	return fileDescriptor0, []int{1, 35}
}

func (m *Message_ExtensionRepeatedGroup) GetF1() string {
	if m != nil && m.F1 != nil {
		return *m.F1
	}
	return ""
}

func (m *Message_ExtensionRepeatedGroup) GetF2() string {
	if m != nil && m.F2 != nil {
		return *m.F2
	}
	return ""
}

func (m *Message_ExtensionRepeatedGroup) GetF3() []string {
	if m != nil {
		return m.F3
	}
	return nil
}

func init() {
	proto.RegisterType((*SiblingMessage)(nil), "google.golang.org.proto2_20160519.SiblingMessage")
	proto.RegisterType((*Message)(nil), "google.golang.org.proto2_20160519.Message")
	proto.RegisterType((*Message_ChildMessage)(nil), "google.golang.org.proto2_20160519.Message.ChildMessage")
	proto.RegisterType((*Message_NamedGroup)(nil), "google.golang.org.proto2_20160519.Message.NamedGroup")
	proto.RegisterType((*Message_OptionalGroup)(nil), "google.golang.org.proto2_20160519.Message.OptionalGroup")
	proto.RegisterType((*Message_RequiredGroup)(nil), "google.golang.org.proto2_20160519.Message.RequiredGroup")
	proto.RegisterType((*Message_RepeatedGroup)(nil), "google.golang.org.proto2_20160519.Message.RepeatedGroup")
	proto.RegisterType((*Message_OneofGroup)(nil), "google.golang.org.proto2_20160519.Message.OneofGroup")
	proto.RegisterType((*Message_ExtensionOptionalGroup)(nil), "google.golang.org.proto2_20160519.Message.ExtensionOptionalGroup")
	proto.RegisterType((*Message_ExtensionRepeatedGroup)(nil), "google.golang.org.proto2_20160519.Message.ExtensionRepeatedGroup")
	proto.RegisterEnum("google.golang.org.proto2_20160519.SiblingEnum", SiblingEnum_name, SiblingEnum_value)
	proto.RegisterEnum("google.golang.org.proto2_20160519.Message_ChildEnum", Message_ChildEnum_name, Message_ChildEnum_value)
	proto.RegisterExtension(E_Message_ExtensionOptionalBool)
	proto.RegisterExtension(E_Message_ExtensionOptionalInt32)
	proto.RegisterExtension(E_Message_ExtensionOptionalSint32)
	proto.RegisterExtension(E_Message_ExtensionOptionalUint32)
	proto.RegisterExtension(E_Message_ExtensionOptionalInt64)
	proto.RegisterExtension(E_Message_ExtensionOptionalSint64)
	proto.RegisterExtension(E_Message_ExtensionOptionalUint64)
	proto.RegisterExtension(E_Message_ExtensionOptionalFixed32)
	proto.RegisterExtension(E_Message_ExtensionOptionalSfixed32)
	proto.RegisterExtension(E_Message_ExtensionOptionalFloat)
	proto.RegisterExtension(E_Message_ExtensionOptionalFixed64)
	proto.RegisterExtension(E_Message_ExtensionOptionalSfixed64)
	proto.RegisterExtension(E_Message_ExtensionOptionalDouble)
	proto.RegisterExtension(E_Message_ExtensionOptionalString)
	proto.RegisterExtension(E_Message_ExtensionOptionalBytes)
	proto.RegisterExtension(E_Message_ExtensionOptionalChildEnum)
	proto.RegisterExtension(E_Message_ExtensionOptionalChildMessage)
	proto.RegisterExtension(E_Message_ExtensionOptionalNamedGroup)
	proto.RegisterExtension(E_Message_ExtensionOptionalSiblingEnum)
	proto.RegisterExtension(E_Message_ExtensionOptionalSiblingMessage)
	proto.RegisterExtension(E_Message_Extensionoptionalgroup)
	proto.RegisterExtension(E_Message_ExtensionDefaultedBool)
	proto.RegisterExtension(E_Message_ExtensionDefaultedInt32)
	proto.RegisterExtension(E_Message_ExtensionDefaultedSint32)
	proto.RegisterExtension(E_Message_ExtensionDefaultedUint32)
	proto.RegisterExtension(E_Message_ExtensionDefaultedInt64)
	proto.RegisterExtension(E_Message_ExtensionDefaultedSint64)
	proto.RegisterExtension(E_Message_ExtensionDefaultedUint64)
	proto.RegisterExtension(E_Message_ExtensionDefaultedFixed32)
	proto.RegisterExtension(E_Message_ExtensionDefaultedSfixed32)
	proto.RegisterExtension(E_Message_ExtensionDefaultedFloat)
	proto.RegisterExtension(E_Message_ExtensionDefaultedFixed64)
	proto.RegisterExtension(E_Message_ExtensionDefaultedSfixed64)
	proto.RegisterExtension(E_Message_ExtensionDefaultedDouble)
	proto.RegisterExtension(E_Message_ExtensionDefaultedString)
	proto.RegisterExtension(E_Message_ExtensionDefaultedBytes)
	proto.RegisterExtension(E_Message_ExtensionDefaultedChildEnum)
	proto.RegisterExtension(E_Message_ExtensionDefaultedSiblingEnum)
	proto.RegisterExtension(E_Message_ExtensionRepeatedBool)
	proto.RegisterExtension(E_Message_ExtensionRepeatedInt32)
	proto.RegisterExtension(E_Message_ExtensionRepeatedSint32)
	proto.RegisterExtension(E_Message_ExtensionRepeatedUint32)
	proto.RegisterExtension(E_Message_ExtensionRepeatedInt64)
	proto.RegisterExtension(E_Message_ExtensionRepeatedSint64)
	proto.RegisterExtension(E_Message_ExtensionRepeatedUint64)
	proto.RegisterExtension(E_Message_ExtensionRepeatedFixed32)
	proto.RegisterExtension(E_Message_ExtensionRepeatedSfixed32)
	proto.RegisterExtension(E_Message_ExtensionRepeatedFloat)
	proto.RegisterExtension(E_Message_ExtensionRepeatedFixed64)
	proto.RegisterExtension(E_Message_ExtensionRepeatedSfixed64)
	proto.RegisterExtension(E_Message_ExtensionRepeatedDouble)
	proto.RegisterExtension(E_Message_ExtensionRepeatedString)
	proto.RegisterExtension(E_Message_ExtensionRepeatedBytes)
	proto.RegisterExtension(E_Message_ExtensionRepeatedChildEnum)
	proto.RegisterExtension(E_Message_ExtensionRepeatedChildMessage)
	proto.RegisterExtension(E_Message_ExtensionRepeatedNamedGroup)
	proto.RegisterExtension(E_Message_ExtensionRepeatedSiblingEnum)
	proto.RegisterExtension(E_Message_ExtensionRepeatedSiblingMessage)
	proto.RegisterExtension(E_Message_Extensionrepeatedgroup)
}

var fileDescriptor0 = []byte{
	// 4492 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x5c, 0x67, 0x70, 0x24, 0xc7,
	0x75, 0xc6, 0xec, 0x62, 0x17, 0x87, 0x3e, 0x2c, 0xb0, 0x98, 0xbb, 0x03, 0xe6, 0x40, 0xd2, 0x5c,
	0x9d, 0x65, 0x79, 0x7d, 0xe6, 0xe1, 0x80, 0x41, 0xa3, 0x8f, 0xb7, 0x66, 0xd0, 0x81, 0x3c, 0x6a,
	0x29, 0x8b, 0x4b, 0xd7, 0xb0, 0xce, 0xa5, 0x52, 0xb1, 0x0c, 0x03, 0x87, 0x05, 0x0e, 0xe4, 0x06,
	0x10, 0xd8, 0x3d, 0xf2, 0x2c, 0xb9, 0x78, 0x96, 0xe3, 0x4f, 0x2a, 0xa7, 0x95, 0x44, 0x31, 0x4b,
	0x8c, 0xca, 0x89, 0x49, 0xc1, 0x36, 0x95, 0x93, 0x83, 0x9c, 0xe4, 0x9c, 0xe4, 0x9c, 0x73, 0xa8,
	0xee, 0xd7, 0x3d, 0xdd, 0x3d, 0xd3, 0xb3, 0x40, 0xcf, 0xaa, 0xf8, 0x83, 0x55, 0xbc, 0xde, 0xd7,
	0xef, 0xeb, 0xf7, 0x6d, 0xbf, 0xf7, 0x3e, 0xf4, 0x4c, 0x2f, 0x3a, 0xba, 0xb5, 0xdd, 0xee, 0xb4,
	0xfd, 0xd9, 0xf3, 0x73, 0xb3, 0x73, 0xb3, 0x73, 0xc7, 0xfc, 0xb9, 0x79, 0x32, 0xb7, 0x38, 0x7f,
	0xf2, 0xd8, 0x0a, 0x5e, 0x59, 0x3d, 0x59, 0x3f, 0xbb, 0x78, 0xbc, 0x53, 0xdf, 0xe9, 0xcc, 0x32,
	0x23, 0xf7, 0x25, 0x1b, 0xed, 0xf6, 0x46, 0xa3, 0x3e, 0xbb, 0xd1, 0x6e, 0xac, 0xb4, 0x36, 0x66,
	0xdb, 0xdb, 0x1b, 0xf0, 0x81, 0xbf, 0x2c, 0xa6, 0x1d, 0x79, 0x1d, 0x1a, 0xbf, 0x65, 0x73, 0xb5,
	0xb1, 0xd9, 0xda, 0xb8, 0xa9, 0xbe, 0xb3, 0xb3, 0xb2, 0x51, 0x77, 0xc7, 0x51, 0x66, 0x7d, 0xde,
	0x73, 0x4a, 0x4e, 0x79, 0x34, 0xc8, 0xac, 0xcf, 0xb3, 0x7f, 0xfb, 0x5e, 0xa6, 0x94, 0x61, 0xff,
	0xf6, 0xd9, 0xbf, 0x17, 0xbc, 0x6c, 0x29, 0xcb, 0xfe, 0xbd, 0xe0, 0x56, 0x50, 0x66, 0x1d, 0x7b,
	0xc3, 0x25, 0xa7, 0xbc, 0xdf, 0x3f, 0x3a, 0xbb, 0x2b, 0xe2, 0x2c, 0xc7, 0x09, 0x32, 0xeb, 0xf8,
	0xc8, 0x77, 0x1e, 0x75, 0xd0, 0x88, 0x00, 0x3e, 0x83, 0x50, 0x6b, 0xa5, 0x59, 0x5f, 0xdb, 0xd8,
	0x6e, 0x77, 0xb7, 0xd8, 0x02, 0x90, 0xbf, 0xb8, 0x77, 0x87, 0xb3, 0x35, 0x3a, 0xf9, 0x15, 0x74,
	0x72, 0xa0, 0x38, 0x72, 0xbf, 0x1f, 0x15, 0xda, 0x5b, 0x9d, 0xcd, 0x76, 0x6b, 0xa5, 0xb1, 0xbc,
	0xda, 0x6e, 0x37, 0xbc, 0xb5, 0x92, 0x53, 0xde, 0x17, 0x8c, 0x89, 0xc1, 0xa5, 0x76, 0xbb, 0xe1,
	0xfe, 0x00, 0x1a, 0x0f, 0x8d, 0x36, 0x5b, 0x9d, 0x05, 0xdf, 0xab, 0x97, 0x9c, 0x72, 0x2e, 0x08,
	0xa7, 0xde, 0x48, 0x07, 0xdd, 0x1f, 0x44, 0x13, 0xa1, 0xd9, 0x0e, 0xd8, 0xad, 0x97, 0x9c, 0xf2,
	0x64, 0x10, 0xce, 0xbe, 0x65, 0x33, 0x66, 0xd8, 0x05, 0xc3, 0x8d, 0x92, 0x53, 0x2e, 0x48, 0xc3,
	0x33, 0x60, 0x18, 0x01, 0x26, 0xd8, 0x3b, 0x57, 0x72, 0xca, 0x59, 0x0d, 0x98, 0xe0, 0x18, 0x30,
	0xc1, 0xde, 0x66, 0xc9, 0x29, 0xbb, 0x3a, 0x70, 0xc4, 0xb0, 0x0b, 0x86, 0xb7, 0x95, 0x9c, 0xf2,
	0xb0, 0x0e, 0x4c, 0xb0, 0xfb, 0x43, 0xa8, 0x18, 0x1a, 0xae, 0x6f, 0xde, 0x55, 0x5f, 0x5b, 0xf0,
	0xbd, 0xdb, 0x4b, 0x4e, 0x79, 0x24, 0x08, 0x1d, 0xdc, 0x00, 0xc3, 0xee, 0x0f, 0xa3, 0x49, 0x09,
	0x2e, 0x6c, 0x1b, 0x25, 0xa7, 0x3c, 0x11, 0x84, 0x3e, 0x6e, 0xe1, 0xe3, 0x5a, 0x40, 0xeb, 0x8d,
	0xf6, 0x4a, 0xc7, 0x6b, 0x96, 0x9c, 0x72, 0x46, 0x06, 0x74, 0x03, 0x1d, 0x8c, 0xc3, 0x13, 0xec,
	0xb5, 0x4a, 0x4e, 0x39, 0x1f, 0x81, 0x27, 0xd8, 0x00, 0x4f, 0xb0, 0xd7, 0x2e, 0x39, 0xe5, 0x62,
	0x14, 0x3e, 0x12, 0xff, 0x5a, 0xbb, 0xbb, 0xda, 0xa8, 0x7b, 0x5b, 0x25, 0xa7, 0xec, 0xc8, 0xf8,
	0xaf, 0x67, 0xa3, 0x3a, 0xa3, 0x9d, 0xed, 0xcd, 0xd6, 0x86, 0x77, 0x07, 0xdb, 0xf3, 0x92, 0x51,
	0x36, 0xaa, 0x05, 0xb4, 0x7a, 0xa1, 0x53, 0xdf, 0xf1, 0xb6, 0x4b, 0x4e, 0x79, 0x4c, 0x06, 0xb4,
	0x44, 0x07, 0xdd, 0x35, 0x74, 0x20, 0x34, 0x3b, 0x7b, 0x6e, 0xb3, 0xb1, 0xb6, 0x5c, 0x6f, 0x75,
	0x9b, 0xde, 0x4e, 0xc9, 0x29, 0x8f, 0xfb, 0xd8, 0x62, 0x1b, 0x5f, 0x47, 0x27, 0x9f, 0x6e, 0x75,
	0x9b, 0x41, 0x18, 0x76, 0x38, 0xe4, 0x36, 0xd1, 0x54, 0x04, 0xa5, 0x09, 0xd3, 0xbc, 0x0e, 0x4b,
	0xc0, 0x13, 0xb6, 0x40, 0x22, 0x1b, 0x0f, 0x6a, 0x58, 0x22, 0x25, 0x37, 0x50, 0x38, 0xbe, 0xcc,
	0x52, 0x6a, 0x19, 0x92, 0xb3, 0xcb, 0xc0, 0x52, 0x26, 0xa7, 0x2b, 0x5c, 0xca, 0x31, 0x77, 0x15,
	0x1d, 0x52, 0xf6, 0x37, 0xab, 0x47, 0xc0, 0xdf, 0x79, 0xc6, 0xdf, 0xec, 0x1e, 0x90, 0x78, 0x19,
	0x63, 0xcc, 0x1d, 0x90, 0x59, 0x11, 0x0e, 0xba, 0xb7, 0x23, 0x2f, 0x86, 0x21, 0xd8, 0xbb, 0x93,
	0x05, 0x34, 0xbf, 0x77, 0x18, 0xc1, 0xdb, 0x54, 0x04, 0x49, 0x30, 0xf7, 0x13, 0xb2, 0xea, 0x00,
	0x65, 0x77, 0xb1, 0x7a, 0x76, 0xa5, 0x05, 0x65, 0x37, 0xf3, 0xf9, 0xc0, 0x9a, 0xee, 0xce, 0xbd,
	0x02, 0x8d, 0xaf, 0xd5, 0xd7, 0x57, 0xba, 0x8d, 0x4e, 0x7d, 0x0d, 0xca, 0xda, 0x0b, 0xb4, 0x62,
	0xee, 0xab, 0x0c, 0x77, 0xb6, 0xbb, 0xf5, 0xa0, 0x10, 0x7e, 0xc8, 0xca, 0xdb, 0x1c, 0x9a, 0x90,
	0xd6, 0x50, 0x8e, 0xbe, 0x40, 0xcd, 0x73, 0x95, 0xfc, 0xb1, 0x79, 0x7f, 0x01, 0x2f, 0x06, 0xd2,
	0x1b, 0x54, 0xba, 0x79, 0x54, 0x94, 0x33, 0x78, 0xa9, 0xfb, 0x22, 0x9d, 0x32, 0x59, 0xc9, 0x1d,
	0x5b, 0xf0, 0xe7, 0xe6, 0x02, 0xe9, 0x91, 0xd7, 0xbc, 0x39, 0x75, 0x0a, 0x2f, 0x7a, 0x5f, 0xa2,
	0x53, 0x0a, 0x95, 0xe1, 0xc8, 0x0c, 0x5e, 0xfc, 0x70, 0x64, 0x59, 0x04, 0x7b, 0x5f, 0xa6, 0x13,
	0xb2, 0x15, 0x04, 0xcb, 0x22, 0x27, 0xae, 0x3c, 0xa9, 0x2f, 0x8d, 0xe0, 0xf8, 0xd2, 0x08, 0xf6,
	0xbe, 0x42, 0xa7, 0xb9, 0x95, 0xdc, 0x31, 0x82, 0x63, 0x4b, 0x23, 0x38, 0xbe, 0x34, 0x82, 0xbd,
	0xaf, 0xd2, 0x29, 0xc3, 0x95, 0xe1, 0xc8, 0x0c, 0x5e, 0x1e, 0x31, 0x9a, 0x94, 0x33, 0x44, 0xcd,
	0xfb, 0x1a, 0x9d, 0x32, 0x52, 0xc9, 0xd3, 0x68, 0xe6, 0xe6, 0x02, 0xe9, 0x53, 0x54, 0xca, 0x13,
	0xc8, 0x55, 0x96, 0x26, 0xa6, 0x7d, 0x9d, 0x4e, 0x9b, 0xa8, 0x8c, 0x1c, 0xe3, 0xf3, 0xa4, 0xe7,
	0xb0, 0x6a, 0xce, 0xab, 0x4c, 0x40, 0xd9, 0xfc, 0x06, 0x9d, 0x95, 0xa9, 0x8c, 0x2c, 0xcc, 0xce,
	0xe3, 0xf9, 0x45, 0x95, 0x06, 0xa8, 0xa0, 0xf1, 0x15, 0x12, 0xec, 0x7d, 0x93, 0x4e, 0xca, 0x57,
	0xf2, 0x34, 0xa8, 0xf8, 0x0a, 0x09, 0x36, 0xad, 0x90, 0x60, 0xef, 0x5b, 0x74, 0x5a, 0xb1, 0x32,
	0x72, 0x8c, 0xcf, 0x8b, 0xae, 0x90, 0x60, 0xf7, 0xa4, 0x4a, 0x21, 0xaf, 0xac, 0xbf, 0x46, 0xa7,
	0x39, 0x95, 0x02, 0x5f, 0xa2, 0x4f, 0x16, 0x17, 0x16, 0x4f, 0x2a, 0x5c, 0xf2, 0x52, 0x7b, 0x95,
	0xf6, 0x85, 0x41, 0xad, 0xfd, 0x75, 0x26, 0x30, 0x2a, 0xc5, 0x73, 0xf5, 0x46, 0xa3, 0x7d, 0x45,
	0xe9, 0xc8, 0x9d, 0xed, 0xed, 0xc6, 0xda, 0x4b, 0x8e, 0x20, 0xf5, 0xbb, 0x83, 0xfa, 0xbb, 0xa4,
	0x52, 0x03, 0x05, 0xf8, 0x37, 0xe8, 0xe4, 0xb1, 0x8a, 0xb7, 0x56, 0x5f, 0x59, 0xbb, 0x75, 0x61,
	0x81, 0xdc, 0xea, 0x2f, 0x2e, 0xde, 0xea, 0x9f, 0x20, 0xb7, 0x2e, 0x2c, 0x9e, 0x58, 0xad, 0xd7,
	0xd7, 0x15, 0xae, 0xa0, 0x38, 0xb7, 0xd0, 0x41, 0xe9, 0x43, 0xa9, 0xce, 0xbf, 0xe9, 0xa4, 0x2f,
	0xcf, 0x95, 0xdc, 0xa9, 0x57, 0xfd, 0x58, 0xf5, 0x54, 0x20, 0xf9, 0x94, 0x65, 0xba, 0x81, 0xa6,
	0xd4, 0x2d, 0xaa, 0xd4, 0xb3, 0x6f, 0x3b, 0x69, 0x0a, 0x9a, 0xc0, 0x3a, 0xa8, 0x6c, 0x6c, 0x59,
	0xd8, 0x5e, 0x8a, 0x0a, 0xdb, 0xf5, 0x3b, 0xba, 0x9b, 0xdb, 0xa2, 0x14, 0x3c, 0x46, 0xd5, 0xda,
	0xbe, 0x60, 0x4c, 0x8c, 0xb2, 0x1a, 0xf0, 0x32, 0x34, 0x1e, 0x5a, 0x41, 0x72, 0x3e, 0x4e, 0xcd,
	0x72, 0x41, 0x38, 0x19, 0x32, 0xbf, 0x8c, 0x26, 0x42, 0x3b, 0x9e, 0xf8, 0x4f, 0x50, 0xc3, 0xc9,
	0x20, 0x9c, 0xcf, 0x13, 0x5e, 0xb5, 0xe4, 0xf9, 0xfe, 0x24, 0xb5, 0x2c, 0x48, 0x4b, 0x9e, 0xe8,
	0x11, 0x6c, 0x82, 0xbd, 0xa7, 0xa8, 0x61, 0x56, 0xc3, 0x26, 0x38, 0x86, 0x4d, 0xb0, 0xf7, 0x41,
	0x6a, 0xe8, 0xea, 0xd8, 0x11, 0x4b, 0x9e, 0xd0, 0x1f, 0xa2, 0x96, 0xc3, 0x3a, 0x36, 0xc1, 0xee,
	0x51, 0x54, 0x0c, 0x2d, 0x45, 0x46, 0x7e, 0x98, 0x9a, 0x8e, 0x04, 0xa1, 0x0b, 0x91, 0xbf, 0x57,
	0xa0, 0x49, 0x89, 0x2f, 0x8c, 0x3f, 0x42, 0x8d, 0x27, 0x82, 0xd0, 0x4b, 0x98, 0xb4, 0x6a, 0x54,
	0x90, 0xb3, 0x1f, 0xa5, 0xa6, 0x19, 0x19, 0x15, 0x64, 0x6a, 0x6c, 0x05, 0x04, 0x7b, 0x1f, 0xa3,
	0x96, 0xf9, 0xc8, 0x0a, 0x08, 0x36, 0xac, 0x80, 0x60, 0xef, 0xe3, 0xd4, 0xb8, 0x18, 0x5d, 0x41,
	0x84, 0x05, 0x9e, 0x93, 0x9f, 0xa0, 0xb6, 0x8e, 0x64, 0x81, 0xe7, 0xa0, 0xc6, 0x2c, 0xa4, 0xe0,
	0x27, 0x41, 0xd3, 0x4b, 0x66, 0x21, 0xdf, 0xd4, 0xa8, 0x20, 0xdd, 0x3e, 0x45, 0x0d, 0xc7, 0x64,
	0x54, 0x90, 0x53, 0x75, 0x74, 0x20, 0xb4, 0x53, 0x52, 0xea, 0xd3, 0xd4, 0x38, 0xb5, 0xe2, 0x11,
	0x1e, 0x65, 0x2a, 0xb5, 0xd0, 0x54, 0x04, 0x46, 0xf4, 0xec, 0xa7, 0x29, 0xd2, 0x20, 0x92, 0x47,
	0x03, 0x13, 0x8d, 0xfb, 0x1c, 0x0a, 0xc7, 0x35, 0xc9, 0xf3, 0x0c, 0xa0, 0xa5, 0xd5, 0x3c, 0xc2,
	0xa7, 0xa2, 0x79, 0xce, 0xa2, 0x43, 0xca, 0x66, 0x57, 0x6a, 0xc4, 0xb3, 0x40, 0xa1, 0xb5, 0xe8,
	0x91, 0x29, 0x22, 0x6b, 0x43, 0x03, 0x79, 0x31, 0x10, 0x41, 0xe0, 0x73, 0x10, 0x52, 0x1a, 0xd5,
	0x13, 0x81, 0x12, 0xe4, 0x2d, 0xcb, 0x4a, 0x04, 0xac, 0x3d, 0x4f, 0x21, 0xec, 0x64, 0x4f, 0xc0,
	0x1d, 0x70, 0xd9, 0xa3, 0xf9, 0x73, 0xaf, 0x46, 0xd3, 0x72, 0xc3, 0xeb, 0xfa, 0xe7, 0x9e, 0x2c,
	0x2d, 0x7a, 0x5c, 0xff, 0x84, 0xcc, 0x5e, 0xaf, 0xe9, 0xa0, 0x53, 0x0a, 0x1b, 0x51, 0x41, 0xf4,
	0x06, 0x3a, 0x5f, 0x0a, 0xa2, 0xa9, 0x98, 0x07, 0x28, 0x8f, 0x4b, 0xe8, 0xb0, 0xc1, 0x05, 0x2f,
	0x94, 0x6f, 0xa4, 0x3e, 0x42, 0x85, 0x34, 0x1d, 0x73, 0xc1, 0x0b, 0xe7, 0x29, 0xa3, 0x0f, 0x5e,
	0x42, 0xdf, 0x44, 0x7d, 0x08, 0xc9, 0x14, 0x77, 0xc1, 0x2b, 0xea, 0xe9, 0xa4, 0x48, 0x08, 0xf6,
	0xde, 0x4c, 0x3d, 0xe8, 0x1a, 0xca, 0x18, 0x0d, 0xc1, 0x7d, 0xa2, 0x21, 0xd8, 0x7b, 0x0b, 0xf5,
	0x13, 0x8a, 0x2a, 0x73, 0x34, 0x04, 0xf7, 0x89, 0x86, 0x60, 0xef, 0xad, 0xd4, 0x87, 0x50, 0x59,
	0xe6, 0x68, 0x08, 0x76, 0x4f, 0xa3, 0x19, 0x83, 0x0b, 0x51, 0x80, 0xdf, 0x46, 0x7d, 0x48, 0xd9,
	0xe5, 0xc5, 0xbc, 0x88, 0xf2, 0x5d, 0x45, 0x97, 0x98, 0xa2, 0x11, 0x7e, 0xde, 0x4e, 0xfd, 0x28,
	0x3a, 0xec, 0x70, 0x3c, 0x22, 0x51, 0xda, 0x97, 0x8c, 0xf4, 0x42, 0x91, 0x7f, 0x07, 0x75, 0xa3,
	0x08, 0xb3, 0x38, 0xb7, 0x50, 0xf6, 0xfb, 0x04, 0x45, 0xb0, 0xf7, 0x4e, 0xea, 0x45, 0x2a, 0xb5,
	0x84, 0xa0, 0x08, 0xee, 0x1b, 0x14, 0xc1, 0xde, 0xbb, 0xa8, 0x1f, 0x45, 0xba, 0x25, 0x05, 0x45,
	0xb0, 0xfb, 0x4a, 0xe3, 0x17, 0xc5, 0xfb, 0x46, 0x8f, 0xfa, 0x89, 0x69, 0xb9, 0xf8, 0x37, 0xc6,
	0xfb, 0xc9, 0x4d, 0xe6, 0x8d, 0x03, 0x9d, 0xe5, 0xdd, 0xd4, 0x97, 0x49, 0xdc, 0x19, 0xf6, 0x10,
	0x34, 0x9d, 0x5b, 0x8c, 0x7c, 0x43, 0xfb, 0x79, 0x0f, 0xf5, 0xd6, 0x4f, 0xed, 0xc5, 0xbf, 0x00,
	0xe8, 0x50, 0x77, 0xa3, 0xcb, 0x0c, 0x4e, 0x95, 0x5e, 0xf5, 0xde, 0x6c, 0xfa, 0x5e, 0x25, 0x24,
	0xd9, 0x4c, 0x0c, 0x5c, 0xf6, 0xae, 0x9f, 0x46, 0x97, 0x1b, 0xb3, 0x4b, 0xa9, 0xf5, 0xf7, 0x66,
	0xd3, 0xd4, 0x7a, 0x01, 0x7e, 0xa9, 0x21, 0x27, 0x23, 0xba, 0x70, 0xab, 0xbe, 0x12, 0x96, 0xc8,
	0x7f, 0xce, 0x96, 0xb2, 0xa0, 0x0b, 0x61, 0x54, 0xea, 0x42, 0x6e, 0x05, 0x15, 0xe8, 0x5f, 0xa8,
	0x19, 0xd3, 0x85, 0x30, 0xac, 0xe8, 0x42, 0x6e, 0xc7, 0xcb, 0xdd, 0xbf, 0x52, 0x43, 0xa6, 0x0b,
	0x61, 0x5c, 0xd5, 0x85, 0xdc, 0x92, 0x17, 0xb5, 0x7f, 0xa3, 0x96, 0x05, 0x69, 0xa9, 0xea, 0x42,
	0x89, 0x4d, 0xb0, 0xf7, 0xef, 0xd4, 0x30, 0xab, 0x61, 0x0b, 0x9d, 0xa3, 0x60, 0x13, 0xec, 0xfd,
	0x07, 0x35, 0x74, 0x75, 0xec, 0x88, 0x25, 0x2f, 0x41, 0xff, 0x49, 0x2d, 0x87, 0x75, 0x6c, 0xa1,
	0x0b, 0xb9, 0xa5, 0xa8, 0x10, 0xff, 0x45, 0x4d, 0x99, 0x2e, 0x84, 0x0f, 0x34, 0x5d, 0x28, 0xf0,
	0x85, 0xf1, 0x7f, 0x53, 0x63, 0xa6, 0x0b, 0xf9, 0x0a, 0x34, 0x5d, 0x28, 0x3c, 0xb3, 0x92, 0xf1,
	0x3f, 0xd4, 0x34, 0x23, 0xa3, 0x52, 0x74, 0xa1, 0xba, 0x02, 0x82, 0xbd, 0xff, 0xa5, 0x96, 0xf9,
	0xc8, 0x0a, 0x84, 0x2e, 0xd4, 0x56, 0x40, 0xb0, 0xf7, 0x7f, 0xd4, 0xb8, 0x18, 0x5d, 0x41, 0x84,
	0x05, 0x9e, 0xdf, 0x17, 0x87, 0x4b, 0x59, 0xd0, 0x85, 0x30, 0xae, 0xea, 0x42, 0xe1, 0x17, 0xb2,
	0xf7, 0x67, 0x86, 0xd9, 0xd9, 0xae, 0x64, 0x56, 0xd1, 0x85, 0x62, 0x37, 0xb1, 0xc4, 0x7c, 0x3d,
	0x35, 0x1c, 0x93, 0x51, 0x29, 0xba, 0x90, 0xdb, 0x29, 0xb9, 0xf6, 0xb3, 0xd4, 0x78, 0x00, 0x5d,
	0x08, 0x1e, 0x23, 0xba, 0x50, 0x83, 0x11, 0xb2, 0xe6, 0xe7, 0x28, 0xd2, 0x60, 0xba, 0x50, 0x01,
	0xd3, 0x74, 0x21, 0xc7, 0x53, 0x75, 0xe1, 0xcf, 0x03, 0x5a, 0x7a, 0x5d, 0x08, 0x3e, 0xa3, 0xba,
	0x30, 0xdc, 0xec, 0x4a, 0xad, 0xf8, 0x05, 0xa0, 0x30, 0x85, 0x2e, 0x14, 0x29, 0x12, 0xd1, 0x85,
	0x11, 0x10, 0x41, 0xe0, 0x2f, 0x42, 0x48, 0xe9, 0x74, 0xa1, 0x06, 0xa5, 0xe9, 0x42, 0xf8, 0x04,
	0x58, 0xfb, 0x25, 0x0a, 0x61, 0xab, 0x0b, 0xc1, 0x41, 0xa8, 0x0b, 0x15, 0x7f, 0xee, 0x4f, 0xa2,
	0x42, 0x73, 0x65, 0x8b, 0x55, 0x39, 0x28, 0x75, 0xdf, 0x86, 0x18, 0x7e, 0xc4, 0x02, 0xe0, 0xa6,
	0x95, 0x2d, 0x5a, 0x10, 0xe9, 0x7f, 0xa7, 0x5b, 0x9d, 0xed, 0x0b, 0xc1, 0xfe, 0xa6, 0x1c, 0x71,
	0xcf, 0xa2, 0xf1, 0x10, 0x01, 0x6a, 0xda, 0x6f, 0x01, 0xc4, 0x55, 0xf6, 0x10, 0xac, 0xa0, 0x02,
	0xc6, 0x58, 0x53, 0x19, 0x72, 0xd7, 0xd1, 0x44, 0x08, 0xc2, 0x6b, 0xec, 0x6f, 0x03, 0xca, 0xd5,
	0xf6, 0x28, 0x50, 0x8d, 0x01, 0xa6, 0xd0, 0x54, 0xc7, 0x34, 0x1c, 0x5e, 0xa1, 0x7f, 0x27, 0x35,
	0xce, 0x19, 0x03, 0x0e, 0xaf, 0xef, 0x11, 0xd2, 0x08, 0xf6, 0x7e, 0x77, 0x10, 0xd2, 0x08, 0x8e,
	0x91, 0x46, 0x70, 0x8c, 0x34, 0x82, 0xbd, 0xdf, 0x1b, 0x88, 0x34, 0x01, 0xa3, 0x92, 0x16, 0xc1,
	0xe1, 0xad, 0xe5, 0x3b, 0x03, 0x91, 0x16, 0xc5, 0xe1, 0x8d, 0x69, 0x13, 0x15, 0x43, 0x1c, 0xd1,
	0x6b, 0x7e, 0x1f, 0x80, 0xae, 0xb1, 0x07, 0xe2, 0x2d, 0x0c, 0x90, 0xc6, 0x9b, 0xda, 0xa0, 0xdb,
	0x40, 0x93, 0x92, 0x3a, 0x81, 0xf5, 0x07, 0x80, 0x75, 0x6d, 0x0a, 0xf2, 0xd6, 0x55, 0xb0, 0x89,
	0xa6, 0x3e, 0xaa, 0xed, 0x06, 0xe8, 0x8b, 0x7f, 0x98, 0x7a, 0x37, 0xb0, 0x0e, 0xaa, 0xef, 0x06,
	0x68, 0xaa, 0x31, 0xf6, 0x08, 0xf6, 0xfe, 0x68, 0x30, 0xf6, 0xc4, 0xf7, 0xa4, 0xb1, 0x47, 0xb0,
	0x81, 0x3d, 0x82, 0xbd, 0x3f, 0x1e, 0x90, 0x3d, 0x01, 0xa6, 0xb3, 0x17, 0xd9, 0x7e, 0xbc, 0xa7,
	0xff, 0x49, 0xea, 0xed, 0x07, 0xdd, 0x5f, 0xdf, 0x7e, 0x5c, 0x11, 0x68, 0xe9, 0x04, 0x8a, 0xe0,
	0x4f, 0xd3, 0xa7, 0x13, 0x73, 0x10, 0x49, 0x27, 0xd0, 0x13, 0xea, 0x6e, 0x00, 0x3d, 0xf1, 0x67,
	0xa9, 0x77, 0x03, 0x53, 0x1e, 0xfa, 0x6e, 0x00, 0x31, 0xb2, 0x85, 0x0e, 0x84, 0x20, 0x8a, 0x18,
	0xf9, 0x73, 0x40, 0x7a, 0xb9, 0x3d, 0x52, 0x28, 0x40, 0x00, 0xad, 0xd8, 0x8c, 0x0c, 0xbb, 0x17,
	0xd0, 0x54, 0x04, 0x51, 0xb4, 0xd5, 0xbf, 0x00, 0xd0, 0xeb, 0x52, 0x82, 0xf2, 0x31, 0xc0, 0x3d,
	0xd0, 0x8c, 0x7f, 0xe2, 0xee, 0xa0, 0x83, 0x21, 0xb4, 0x2a, 0x51, 0xfe, 0x12, 0x80, 0x4f, 0xd9,
	0x03, 0x4b, 0x55, 0x02, 0xb0, 0x93, 0xcd, 0xe8, 0xb8, 0x7b, 0x1e, 0x1d, 0x52, 0xaa, 0xaf, 0xa2,
	0x56, 0xbe, 0x0b, 0xa8, 0x4b, 0x69, 0x6a, 0x70, 0xa8, 0x53, 0x00, 0xd6, 0x6d, 0xc6, 0x3e, 0x70,
	0xef, 0x46, 0x5e, 0x0c, 0x57, 0x30, 0xfd, 0x57, 0x00, 0x7d, 0x3a, 0x35, 0xb4, 0xc6, 0xf5, 0xa1,
	0xa6, 0xe9, 0x33, 0xb1, 0x7f, 0x59, 0xa3, 0x03, 0xcd, 0xf1, 0xd7, 0xa9, 0xf6, 0x2f, 0xeb, 0xfc,
	0x52, 0x74, 0xd0, 0xfd, 0x1b, 0x0e, 0x89, 0x64, 0xdc, 0x51, 0x50, 0xfe, 0x26, 0x55, 0x32, 0x42,
	0xe3, 0x97, 0x30, 0x34, 0x19, 0xe5, 0x98, 0xc0, 0xe9, 0x2a, 0x38, 0x7f, 0x9b, 0x0a, 0xe7, 0x8c,
	0x01, 0x47, 0x8e, 0x29, 0xa4, 0x11, 0x0c, 0x30, 0x7f, 0x97, 0x96, 0x34, 0x82, 0x63, 0xa4, 0xc1,
	0x90, 0x4a, 0x9a, 0x40, 0xf9, 0xfb, 0xd4, 0xa4, 0xa9, 0x30, 0x82, 0x34, 0x1d, 0xa7, 0xab, 0xe0,
	0xfc, 0x43, 0x6a, 0xd2, 0xa2, 0x38, 0x72, 0x4c, 0xb4, 0x34, 0xde, 0x46, 0x01, 0xe8, 0x1f, 0x53,
	0xb5, 0x34, 0xde, 0xf7, 0x25, 0x12, 0xfd, 0x36, 0x94, 0xc1, 0x90, 0x3a, 0x56, 0xa2, 0x01, 0xe9,
	0x9f, 0xd2, 0x51, 0xc7, 0x3c, 0x44, 0xa8, 0x0b, 0xc7, 0xdc, 0x12, 0x42, 0xed, 0x56, 0xbd, 0xbd,
	0x0e, 0x10, 0x4f, 0xe7, 0x4a, 0x4e, 0x79, 0x5f, 0x75, 0x28, 0x18, 0x65, 0x83, 0xcc, 0xe2, 0x08,
	0xda, 0x0f, 0x16, 0x20, 0x4f, 0x9f, 0xa1, 0x26, 0xb9, 0xea, 0x50, 0x00, 0xf3, 0x40, 0x2e, 0xbf,
	0x14, 0x8d, 0x81, 0x0d, 0xd7, 0xca, 0xcf, 0x52, 0xa3, 0xc9, 0xea, 0x50, 0x00, 0x53, 0xb9, 0xd8,
	0x0d, 0xad, 0xb8, 0xd2, 0x7d, 0x8e, 0x5a, 0x15, 0x42, 0x2b, 0x2e, 0x55, 0x55, 0x3c, 0x82, 0xbd,
	0xe7, 0xa9, 0x51, 0x56, 0xc5, 0x23, 0x58, 0xc7, 0x23, 0xd8, 0xfb, 0x0c, 0x35, 0x72, 0x35, 0x3c,
	0xd5, 0x8a, 0x8b, 0xc4, 0xcf, 0x52, 0xab, 0x61, 0x0d, 0x8f, 0x60, 0xf7, 0x65, 0xa8, 0x00, 0x56,
	0x42, 0x76, 0x7d, 0x8e, 0x9a, 0x8d, 0x54, 0x87, 0x02, 0x98, 0x2d, 0x24, 0x5a, 0x19, 0x8d, 0x73,
	0x4c, 0x61, 0xf8, 0x79, 0x6a, 0x38, 0x51, 0x1d, 0x0a, 0xc0, 0x41, 0x28, 0xaf, 0xc2, 0x08, 0x40,
	0x5b, 0xfd, 0x32, 0x35, 0xcb, 0x84, 0x11, 0x80, 0x3a, 0xd2, 0x51, 0x09, 0xf6, 0x7e, 0x85, 0x5a,
	0xe5, 0x75, 0x54, 0x76, 0x80, 0xa0, 0xa1, 0x12, 0xec, 0xfd, 0x2a, 0x35, 0x2c, 0x46, 0x50, 0xd5,
	0x68, 0xb9, 0x26, 0x79, 0x81, 0xda, 0x39, 0x61, 0xb4, 0x5c, 0x54, 0x48, 0xe6, 0x40, 0x51, 0x7c,
	0x81, 0x5a, 0x8d, 0x4a, 0xe6, 0x40, 0x12, 0x84, 0x11, 0x80, 0x1e, 0xf8, 0x22, 0x35, 0x1a, 0x0b,
	0x23, 0x80, 0x8e, 0xbe, 0x82, 0x8a, 0x60, 0xa3, 0xb4, 0xf3, 0x2f, 0xe5, 0xd2, 0x3f, 0xc6, 0xad,
	0x0e, 0x05, 0x10, 0xaa, 0x6c, 0xe1, 0xb7, 0xa1, 0x03, 0x2a, 0x84, 0xe8, 0x2a, 0x5f, 0xce, 0x0d,
	0xf4, 0x8a, 0x4d, 0x75, 0x28, 0x98, 0x94, 0x40, 0xa2, 0x8b, 0xac, 0x21, 0x18, 0xd4, 0x1a, 0xf6,
	0x57, 0x72, 0x03, 0xbc, 0x5f, 0x53, 0x1d, 0x0a, 0x26, 0x98, 0x4b, 0xa5, 0x49, 0x2f, 0x23, 0x57,
	0x6c, 0x5c, 0xa5, 0x43, 0x7f, 0x35, 0x97, 0xe6, 0x59, 0x74, 0x75, 0x28, 0x28, 0xf2, 0xed, 0x2e,
	0xbb, 0xf1, 0x39, 0x74, 0x48, 0x07, 0x10, 0xa4, 0x7d, 0x2d, 0x97, 0xf2, 0xcd, 0x9a, 0xea, 0x50,
	0x70, 0x40, 0x85, 0x11, 0x84, 0xbd, 0x9a, 0x57, 0x0e, 0x60, 0xea, 0xeb, 0x39, 0xeb, 0xd7, 0x04,
	0x6f, 0xa6, 0xb3, 0x05, 0x53, 0x8a, 0x2f, 0x99, 0x1b, 0xb0, 0x47, 0xe7, 0xbd, 0x6f, 0x88, 0x4d,
	0x3a, 0xa6, 0x6c, 0xd2, 0xf9, 0xa8, 0x9d, 0xef, 0x7d, 0xd3, 0x64, 0xe7, 0x47, 0xed, 0x16, 0xbc,
	0x6f, 0x99, 0xec, 0x16, 0xdc, 0x93, 0xe8, 0x20, 0xcf, 0x20, 0xfd, 0x81, 0xd6, 0xbd, 0x79, 0xf9,
	0x42, 0x4f, 0xd5, 0x09, 0xe0, 0x1b, 0xd4, 0x9f, 0x67, 0x5d, 0x2d, 0x68, 0x8f, 0x3e, 0xcc, 0x7a,
	0x5f, 0x5e, 0x7d, 0xbb, 0xa7, 0xea, 0x70, 0x2e, 0x23, 0xcf, 0xb2, 0xae, 0x41, 0x53, 0xd1, 0xe9,
	0xbc, 0x92, 0xde, 0x97, 0x57, 0x5e, 0xf5, 0xa9, 0x3a, 0xc1, 0x41, 0x7d, 0x3a, 0xaf, 0xac, 0x57,
	0xc7, 0xe7, 0xf3, 0x1a, 0x7b, 0x7f, 0x5e, 0xbe, 0xf7, 0x13, 0x9f, 0x7e, 0x46, 0x3c, 0x06, 0x33,
	0xad, 0x9e, 0x60, 0xef, 0x81, 0x7c, 0xf4, 0x25, 0x20, 0x63, 0x04, 0x04, 0x27, 0x45, 0x40, 0xb0,
	0xf7, 0x60, 0x5e, 0x79, 0x23, 0xc8, 0x1c, 0x01, 0xc1, 0x49, 0x11, 0x10, 0xec, 0x3d, 0x94, 0x97,
	0xaf, 0x07, 0x99, 0x23, 0x60, 0x8f, 0xbe, 0xa6, 0xa3, 0xd3, 0x45, 0x95, 0x7e, 0x38, 0xaf, 0xbe,
	0x2b, 0x54, 0x75, 0x82, 0x43, 0xba, 0x07, 0x51, 0xdf, 0xaf, 0x47, 0x5e, 0x2c, 0x02, 0xe1, 0xe3,
	0x91, 0xbc, 0xf6, 0xe2, 0x50, 0xd5, 0x09, 0xa6, 0x22, 0x51, 0x88, 0xda, 0x7f, 0x4d, 0x9c, 0x4a,
	0xe8, 0x02, 0xef, 0xcf, 0x6b, 0x6f, 0x11, 0xc5, 0x79, 0x84, 0xbe, 0x90, 0x14, 0x08, 0xc1, 0xde,
	0x07, 0xf2, 0xea, 0x2b, 0x45, 0x09, 0x81, 0x10, 0x9c, 0x1c, 0x08, 0xc1, 0xde, 0xa3, 0x79, 0xed,
	0xfd, 0xa2, 0xa4, 0x40, 0x08, 0x76, 0x6f, 0x88, 0x7f, 0x21, 0xbc, 0xb1, 0x3c, 0x96, 0x37, 0xbc,
	0x6c, 0x14, 0xff, 0x66, 0x78, 0xc3, 0xb9, 0xd1, 0xb0, 0x31, 0xa0, 0xf5, 0x3c, 0x9e, 0x37, 0xbf,
	0x79, 0x64, 0xd8, 0x23, 0xd0, 0x95, 0x6e, 0x8e, 0x73, 0x0b, 0xfd, 0xe9, 0x89, 0x7c, 0xff, 0xd7,
	0x90, 0xe2, 0x64, 0x43, 0x0b, 0x7b, 0x2d, 0x9a, 0x89, 0x3a, 0x54, 0x9a, 0xd9, 0x93, 0xf9, 0x81,
	0xdf, 0x49, 0xaa, 0x3a, 0xc1, 0xb4, 0x0e, 0xac, 0xfe, 0x7d, 0x7a, 0x69, 0x3c, 0x63, 0x94, 0xa6,
	0xf0, 0x54, 0x7e, 0x80, 0x17, 0x94, 0xaa, 0x4e, 0x70, 0x38, 0x9a, 0x67, 0xa1, 0xcd, 0xcc, 0x4f,
	0xa1, 0x31, 0xad, 0xf7, 0xbd, 0x88, 0x6f, 0x9a, 0xcf, 0xdc, 0x85, 0x90, 0xd2, 0x0f, 0x5f, 0x4c,
	0xe4, 0x6b, 0x51, 0x41, 0x7b, 0x93, 0xd3, 0x16, 0x9c, 0x3a, 0xd0, 0xde, 0x89, 0x48, 0xe7, 0x40,
	0x39, 0x3c, 0xb7, 0x76, 0x70, 0x0d, 0x2a, 0x46, 0x0f, 0xc7, 0xdd, 0x22, 0xca, 0xde, 0x5e, 0xbf,
	0xc0, 0x9c, 0xec, 0x0b, 0xe8, 0xff, 0xba, 0x07, 0x51, 0xee, 0xfc, 0x4a, 0xa3, 0x5b, 0xf7, 0x32,
	0x6c, 0x0c, 0xfe, 0x51, 0xc9, 0x5c, 0xe9, 0xcc, 0x5c, 0x8b, 0x26, 0x63, 0x27, 0xdf, 0xbb, 0x39,
	0xc8, 0xa9, 0x0e, 0x5e, 0x8e, 0xdc, 0xf8, 0xa1, 0xf6, 0x6e, 0x1e, 0x26, 0xcd, 0x1e, 0xce, 0xec,
	0xdd, 0x43, 0x21, 0x31, 0x08, 0x7e, 0x4a, 0xb7, 0x9b, 0x83, 0x6c, 0x72, 0x10, 0x7b, 0xf4, 0xe0,
	0x26, 0x07, 0xb1, 0x47, 0x0f, 0xc3, 0xaa, 0x87, 0x53, 0xe8, 0x80, 0xe1, 0x5c, 0x78, 0x37, 0x17,
	0x23, 0xaa, 0x8b, 0x25, 0x74, 0xd0, 0x74, 0xdc, 0xbb, 0x9b, 0x8f, 0x09, 0x33, 0x97, 0xf2, 0x1c,
	0x77, 0x37, 0x07, 0x99, 0x3e, 0x71, 0xec, 0x91, 0x8a, 0x7c, 0xbf, 0x38, 0xf6, 0xe8, 0xa3, 0x68,
	0xfe, 0x42, 0x94, 0x03, 0xd5, 0xdd, 0x3c, 0x38, 0x09, 0x9b, 0x42, 0x1e, 0x95, 0xee, 0xe6, 0x61,
	0xd4, 0xcc, 0xa5, 0x3c, 0x05, 0xdd, 0xcd, 0xc1, 0x98, 0xea, 0xe0, 0x02, 0x3a, 0x64, 0x3c, 0xdc,
	0x34, 0x38, 0x79, 0xa5, 0xea, 0x24, 0xed, 0xc3, 0x5c, 0x05, 0xfa, 0x6e, 0xe4, 0x25, 0x1d, 0x71,
	0x1a, 0xd0, 0x6f, 0x52, 0xd1, 0x07, 0x78, 0xc0, 0xab, 0x2c, 0xe0, 0xb5, 0x68, 0xca, 0x7c, 0xd4,
	0x69, 0x80, 0xff, 0x51, 0x1d, 0x3e, 0xe5, 0x13, 0x5f, 0x05, 0xbc, 0x8b, 0xa6, 0x13, 0x4e, 0x3c,
	0x0d, 0xe8, 0xd7, 0xeb, 0xd4, 0xdb, 0x3e, 0x04, 0xd6, 0x62, 0x9e, 0x49, 0x3e, 0xed, 0x34, 0x20,
	0xbf, 0x42, 0x8f, 0x3b, 0xc5, 0x63, 0xe1, 0xd8, 0x6e, 0xd5, 0xcf, 0x3c, 0x55, 0xcc, 0xdc, 0x6e,
	0xbd, 0x04, 0x12, 0x26, 0x72, 0x9c, 0xa9, 0x7a, 0x98, 0xdc, 0x9b, 0x87, 0x33, 0xc9, 0x1e, 0x0a,
	0x7b, 0xeb, 0x67, 0xfa, 0x19, 0xa4, 0xea, 0x20, 0xbb, 0xf7, 0x20, 0x12, 0x3c, 0xb8, 0x7b, 0x0f,
	0x22, 0xc1, 0xc3, 0xf0, 0x6e, 0x1e, 0xa0, 0x84, 0x46, 0x4f, 0x04, 0x55, 0x17, 0x23, 0x7b, 0x0c,
	0x43, 0x3f, 0xea, 0x53, 0x3d, 0x8c, 0xee, 0xe6, 0xe1, 0x2a, 0x84, 0xe4, 0xdf, 0xe3, 0xd6, 0xba,
	0xa4, 0x8a, 0xa6, 0x4e, 0xdf, 0xd5, 0xa9, 0xb7, 0x76, 0x36, 0xdb, 0xad, 0xc1, 0x34, 0x96, 0xea,
	0x69, 0x20, 0xad, 0x74, 0x64, 0x16, 0x8d, 0x4a, 0xb1, 0x3d, 0x8a, 0x40, 0x17, 0x17, 0x87, 0xe8,
	0xff, 0x2e, 0x05, 0xa7, 0x7e, 0xfc, 0xe6, 0xa2, 0xe3, 0xee, 0x47, 0x23, 0xd7, 0x55, 0x4f, 0x05,
	0xaf, 0xba, 0xf1, 0x74, 0x31, 0x73, 0x74, 0x74, 0xdf, 0x3d, 0xb5, 0xe2, 0xc5, 0x8b, 0x17, 0x2f,
	0x66, 0xfc, 0xb3, 0x68, 0xba, 0x2e, 0x16, 0xb1, 0xac, 0xdd, 0x59, 0x74, 0x2d, 0x44, 0xa7, 0x77,
	0x4f, 0x8d, 0xb1, 0x7c, 0xa8, 0x1e, 0xa5, 0x86, 0x7e, 0x45, 0x7e, 0x1d, 0x79, 0x06, 0x10, 0xf8,
	0x83, 0xdc, 0x06, 0xe5, 0x0d, 0x35, 0x96, 0xad, 0x53, 0x31, 0x14, 0x96, 0xdb, 0xfe, 0x06, 0x3a,
	0x6c, 0x80, 0xd9, 0xb1, 0xc7, 0x79, 0x63, 0x8d, 0xe5, 0xf4, 0x74, 0x0c, 0x07, 0x4a, 0x40, 0x02,
	0x50, 0xd7, 0x1e, 0xe8, 0x4d, 0x35, 0x96, 0xfa, 0x71, 0x20, 0xa8, 0x14, 0xc9, 0xc4, 0x11, 0x6c,
	0x85, 0xf3, 0xe6, 0x1a, 0xab, 0x10, 0x46, 0xe2, 0x08, 0xee, 0x43, 0x9c, 0x25, 0xce, 0x5b, 0x6a,
	0xac, 0x8e, 0x98, 0x89, 0x4b, 0x04, 0xea, 0xda, 0x03, 0xbd, 0xb5, 0xc6, 0xca, 0x8d, 0x99, 0x38,
	0x82, 0xfd, 0x4d, 0x34, 0x63, 0x00, 0x12, 0x27, 0x17, 0x36, 0x48, 0x6f, 0xab, 0xb1, 0xaa, 0xe4,
	0xc5, 0x90, 0x78, 0x15, 0xf3, 0x6f, 0x47, 0x97, 0x98, 0xc8, 0x4b, 0x83, 0xf5, 0xf6, 0x1a, 0x13,
	0xad, 0x87, 0xe3, 0xf4, 0x71, 0x6f, 0x09, 0x1b, 0x62, 0x1d, 0x5e, 0xed, 0xb3, 0x40, 0x7a, 0x47,
	0x8d, 0xa9, 0xdb, 0xf8, 0x86, 0x60, 0xda, 0xb8, 0x1f, 0x7d, 0x96, 0x5f, 0xd4, 0x3b, 0x6b, 0x4c,
	0x03, 0x27, 0xd0, 0x47, 0x70, 0x5f, 0xfa, 0x2c, 0xb1, 0xde, 0x55, 0x63, 0x5a, 0x39, 0x89, 0xbe,
	0xc4, 0xfd, 0x07, 0x87, 0x3d, 0x56, 0x50, 0xbd, 0x1a, 0x13, 0xd5, 0xf1, 0xfd, 0x07, 0x9a, 0x3c,
	0x29, 0xa3, 0xe0, 0x70, 0xc7, 0x06, 0xe8, 0xdd, 0x35, 0xd6, 0x05, 0x0c, 0x19, 0x05, 0x27, 0xbe,
	0xe6, 0x0d, 0xc1, 0xce, 0x8a, 0xac, 0x70, 0xde, 0x53, 0x63, 0x12, 0x3d, 0xbe, 0x21, 0x98, 0xc0,
	0xf7, 0x1f, 0x70, 0xd0, 0x65, 0x06, 0x1c, 0x79, 0x84, 0x64, 0x05, 0xf6, 0xde, 0xda, 0x00, 0x52,
	0x7e, 0x26, 0xb6, 0xc4, 0xf0, 0x33, 0xff, 0x71, 0x07, 0x95, 0x12, 0x97, 0xc9, 0x1f, 0x0f, 0x58,
	0xad, 0xf4, 0xde, 0xda, 0x60, 0xb2, 0xff, 0x32, 0xf3, 0x62, 0xf9, 0xc7, 0xfe, 0xc3, 0x0e, 0xfa,
	0x3e, 0xc3, 0x7a, 0x95, 0xe7, 0x32, 0x56, 0xab, 0x7d, 0x5f, 0x6d, 0x90, 0xbf, 0x12, 0x2e, 0x89,
	0xad, 0x55, 0x7e, 0xe8, 0xdf, 0xe7, 0xa0, 0xcb, 0x8d, 0x3d, 0x42, 0x1e, 0xe3, 0x59, 0x2d, 0xf5,
	0xbe, 0x5a, 0xaa, 0x3f, 0x29, 0x2e, 0x35, 0x74, 0x96, 0xf0, 0x53, 0xff, 0x51, 0x07, 0x1d, 0xe9,
	0xb3, 0xc8, 0x34, 0x1b, 0xe0, 0xfe, 0x5a, 0xda, 0x3f, 0x40, 0x2e, 0x4f, 0x5a, 0xaa, 0xf8, 0xf2,
	0x1f, 0x72, 0x90, 0x4c, 0x37, 0xfd, 0xa6, 0xb5, 0xcd, 0x0a, 0x1f, 0xa8, 0xb1, 0xc7, 0x51, 0x36,
	0x6f, 0xda, 0x98, 0x05, 0x6c, 0x90, 0xb0, 0x1a, 0xbf, 0xa1, 0xd6, 0x18, 0xfd, 0x81, 0x91, 0x5d,
	0x32, 0xf5, 0xd4, 0xeb, 0xe2, 0x12, 0x4d, 0x7b, 0xbe, 0xe4, 0x6f, 0xa9, 0xa5, 0x33, 0xf2, 0x8c,
	0xc9, 0x2e, 0x1b, 0x7a, 0xfa, 0x75, 0xf3, 0xe9, 0x38, 0x20, 0xe8, 0xc6, 0x3b, 0xd4, 0x6e, 0x17,
	0x7d, 0x2c, 0x65, 0xb7, 0xab, 0x7b, 0xda, 0x75, 0x75, 0x2f, 0x8e, 0xc8, 0x15, 0xe4, 0x96, 0x19,
	0x32, 0x85, 0x84, 0xbc, 0xbf, 0xa7, 0x5e, 0x77, 0x37, 0x20, 0x72, 0x29, 0xd9, 0x49, 0xa4, 0xd5,
	0xb2, 0xcb, 0x3e, 0xd0, 0x8b, 0x5f, 0x97, 0x37, 0x53, 0x4b, 0x70, 0x3f, 0x6a, 0x2d, 0x61, 0x1f,
	0xec, 0x69, 0xd7, 0xed, 0x13, 0xa8, 0x25, 0xb8, 0x1f, 0xb5, 0x96, 0x90, 0x0f, 0xf5, 0xd4, 0xeb,
	0xfa, 0x09, 0xd4, 0x12, 0xec, 0x77, 0x54, 0x09, 0x13, 0x7b, 0x2a, 0x67, 0x05, 0xf9, 0x70, 0x4f,
	0xbf, 0xee, 0x7f, 0x38, 0x0e, 0x2a, 0x74, 0xe7, 0x9d, 0xe8, 0x52, 0x23, 0xb5, 0x69, 0x60, 0x1f,
	0xe9, 0x45, 0x7e, 0x2e, 0x60, 0xc6, 0x40, 0xaf, 0xd0, 0xa0, 0x77, 0x98, 0x77, 0x92, 0xbd, 0x08,
	0x7d, 0x7f, 0x2f, 0xf2, 0x73, 0x03, 0x86, 0x6d, 0x04, 0x7a, 0xb4, 0x1f, 0xc3, 0x96, 0x5f, 0xea,
	0x07, 0x7a, 0xfa, 0xcf, 0x15, 0x24, 0x31, 0x4c, 0x70, 0x7f, 0x86, 0x2d, 0x61, 0x1f, 0xed, 0x45,
	0x7e, 0xee, 0x20, 0x91, 0x61, 0x82, 0xfd, 0x0b, 0xe6, 0x2d, 0x9c, 0x42, 0xa7, 0x3e, 0xd6, 0x33,
	0xfe, 0x5c, 0x82, 0x61, 0x2f, 0x73, 0xe1, 0xfa, 0xba, 0x84, 0x84, 0xb5, 0x57, 0xae, 0x8f, 0xf7,
	0x92, 0x7e, 0x6e, 0xc1, 0x94, 0xbb, 0xa0, 0x66, 0x5f, 0xef, 0x98, 0xf7, 0x96, 0xbd, 0x9e, 0x7d,
	0xa2, 0xb7, 0xdb, 0xef, 0x35, 0x18, 0x36, 0x1b, 0x68, 0xdd, 0x27, 0x34, 0x51, 0x66, 0x7a, 0x5e,
	0x6a, 0xb5, 0x92, 0x27, 0x7b, 0xdf, 0x83, 0x1f, 0x7c, 0xb8, 0x24, 0xbe, 0x58, 0xa9, 0x7a, 0x1f,
	0xd3, 0x54, 0xaf, 0xf9, 0x19, 0xab, 0xd5, 0x92, 0x9f, 0xea, 0x0d, 0xf4, 0x8b, 0x11, 0x97, 0x99,
	0x6a, 0xb3, 0x54, 0x69, 0x6b, 0xea, 0x91, 0x93, 0x76, 0x59, 0xd0, 0x6e, 0x91, 0xdf, 0x75, 0xd8,
	0xcd, 0x42, 0x79, 0xe6, 0x14, 0x28, 0x57, 0x0c, 0xfd, 0x75, 0x55, 0xb4, 0xe8, 0x97, 0x0d, 0xad,
	0x60, 0x3e, 0xc8, 0x60, 0xd4, 0x43, 0xa7, 0x40, 0xbd, 0xa2, 0xe8, 0x9f, 0x53, 0x77, 0x6c, 0xe4,
	0xb2, 0xa2, 0x15, 0xd0, 0x87, 0x18, 0x90, 0x7a, 0xea, 0x14, 0x68, 0x57, 0x1c, 0x13, 0x90, 0x52,
	0x48, 0x86, 0x0f, 0x33, 0xa4, 0x82, 0x01, 0x89, 0x6b, 0x85, 0x44, 0xee, 0x2c, 0x8b, 0xde, 0x47,
	0x18, 0x50, 0xd6, 0xcc, 0x1d, 0xc1, 0x7d, 0xb8, 0xb3, 0x04, 0xfa, 0x28, 0x03, 0x72, 0x13, 0xb8,
	0x4b, 0x44, 0x4a, 0xa1, 0x09, 0x3e, 0xc6, 0x90, 0x86, 0x13, 0xb8, 0x23, 0xd8, 0xbf, 0x4d, 0x2d,
	0xa0, 0xd1, 0xcb, 0x9e, 0x56, 0x50, 0x1f, 0x67, 0x50, 0xea, 0xd1, 0x53, 0xa0, 0x5f, 0x11, 0xf5,
	0x1b, 0x6a, 0x5b, 0x8c, 0x5d, 0x16, 0xb5, 0x02, 0xfb, 0x04, 0x03, 0x53, 0xcf, 0x9e, 0x82, 0xc8,
	0x15, 0xd3, 0x84, 0x5d, 0x61, 0xdf, 0xf6, 0x3f, 0xc9, 0xa0, 0x32, 0x86, 0x5d, 0x01, 0xcd, 0xbe,
	0x0f, 0x83, 0x96, 0x5f, 0xd6, 0xa7, 0x18, 0x52, 0x3e, 0x89, 0x41, 0x82, 0xfb, 0x32, 0x68, 0x09,
	0xf6, 0x69, 0x06, 0x56, 0x4c, 0x64, 0x30, 0x71, 0x17, 0xa6, 0x68, 0xeb, 0x4f, 0x33, 0x2c, 0xc7,
	0xb0, 0x0b, 0x79, 0x1b, 0x4f, 0xc8, 0x2c, 0xfb, 0x2e, 0xfe, 0x0c, 0x43, 0x1a, 0x35, 0x65, 0x16,
	0xb4, 0x6c, 0xf3, 0xae, 0xb0, 0x6f, 0xd8, 0xcf, 0x32, 0xa0, 0x31, 0xc3, 0xae, 0x80, 0xae, 0xfc,
	0xa0, 0x76, 0x02, 0x65, 0xb8, 0xed, 0x6b, 0x85, 0xf6, 0x1c, 0x43, 0x1b, 0xfc, 0x08, 0x2a, 0x88,
	0xde, 0x11, 0xa6, 0xea, 0xa1, 0x94, 0xb8, 0xce, 0x34, 0x27, 0x10, 0xcf, 0xb3, 0xa5, 0x7e, 0x4f,
	0xce, 0xa0, 0x02, 0xc3, 0x25, 0x63, 0xff, 0x11, 0x4d, 0xee, 0x98, 0xee, 0x1b, 0x5b, 0x2d, 0xf7,
	0x33, 0x7c, 0xb9, 0x03, 0x1f, 0x42, 0x05, 0xb1, 0x5b, 0xca, 0xfe, 0xfd, 0xda, 0x21, 0x94, 0xf1,
	0xc2, 0xb2, 0xd5, 0x5a, 0x3f, 0xcb, 0x77, 0x41, 0xfa, 0x53, 0xa8, 0x20, 0x7e, 0xcd, 0x99, 0xca,
	0xb1, 0x23, 0x7d, 0x56, 0x99, 0x66, 0x0f, 0x7c, 0x8e, 0x93, 0x3a, 0xd0, 0x31, 0x54, 0x60, 0xbc,
	0x27, 0xed, 0x3f, 0xac, 0x1e, 0x43, 0xe9, 0x37, 0x9c, 0x6d, 0x96, 0xf8, 0x79, 0xb6, 0xc4, 0x94,
	0xe7, 0x50, 0xfa, 0x3d, 0xeb, 0x84, 0xe5, 0x2c, 0x15, 0xc4, 0xab, 0xfa, 0xdd, 0xd6, 0x66, 0xbb,
	0xb5, 0x34, 0x1d, 0x7f, 0x47, 0x92, 0x7d, 0x70, 0x74, 0x1e, 0xed, 0x57, 0xdf, 0x13, 0x37, 0x3d,
	0x10, 0x45, 0xee, 0x98, 0x7c, 0x20, 0xfa, 0x82, 0xb3, 0xf4, 0x9a, 0xd7, 0xbc, 0x7a, 0x63, 0xb3,
	0x73, 0xae, 0xbb, 0x3a, 0x7b, 0xb6, 0xdd, 0x3c, 0x0e, 0x4b, 0x3f, 0xce, 0x96, 0xbd, 0xda, 0x5d,
	0x3f, 0x7e, 0xde, 0x3f, 0xbe, 0xd9, 0xea, 0xd4, 0xb7, 0x5b, 0x2b, 0x0d, 0xf6, 0x53, 0xb7, 0xec,
	0x83, 0x9d, 0xe3, 0x8d, 0xfa, 0xc6, 0xca, 0xd9, 0x0b, 0xc7, 0x77, 0xf9, 0x71, 0xdc, 0xff, 0x0f,
	0x00, 0x00, 0xff, 0xff, 0x2f, 0xb5, 0x6d, 0xc6, 0x3e, 0x57, 0x00, 0x00,
}
