// Code generated by protoc-gen-gogo.
// source: test.proto
// DO NOT EDIT!

/*
Package testdata is a generated protocol buffer package.

It is generated from these files:
	test.proto

It has these top-level messages:
	GoEnum
	GoTestField
	GoTest
	GoTestRequiredGroupField
	GoSkipTest
	NonPackedTest
	PackedTest
	MaxTag
	OldMessage
	NewMessage
	InnerMessage
	OtherMessage
	RequiredInnerMessage
	MyMessage
	Ext
	ComplexExtension
	DefaultsMessage
	MyMessageSet
	Empty
	MessageList
	Strings
	Defaults
	SubDefaults
	RepeatedEnum
	MoreRepeated
	GroupOld
	GroupNew
	FloatingPoint
	MessageWithMap
	Oneof
	Communique
*/
package testdata

import proto "github.com/gogo/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.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package

type FOO int32

const (
	FOO_FOO1 FOO = 1
)

var FOO_name = map[int32]string{
	1: "FOO1",
}
var FOO_value = map[string]int32{
	"FOO1": 1,
}

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

// An enum, for completeness.
type GoTest_KIND int32

const (
	GoTest_VOID GoTest_KIND = 0
	// Basic types
	GoTest_BOOL        GoTest_KIND = 1
	GoTest_BYTES       GoTest_KIND = 2
	GoTest_FINGERPRINT GoTest_KIND = 3
	GoTest_FLOAT       GoTest_KIND = 4
	GoTest_INT         GoTest_KIND = 5
	GoTest_STRING      GoTest_KIND = 6
	GoTest_TIME        GoTest_KIND = 7
	// Groupings
	GoTest_TUPLE GoTest_KIND = 8
	GoTest_ARRAY GoTest_KIND = 9
	GoTest_MAP   GoTest_KIND = 10
	// Table types
	GoTest_TABLE GoTest_KIND = 11
	// Functions
	GoTest_FUNCTION GoTest_KIND = 12
)

var GoTest_KIND_name = map[int32]string{
	0:  "VOID",
	1:  "BOOL",
	2:  "BYTES",
	3:  "FINGERPRINT",
	4:  "FLOAT",
	5:  "INT",
	6:  "STRING",
	7:  "TIME",
	8:  "TUPLE",
	9:  "ARRAY",
	10: "MAP",
	11: "TABLE",
	12: "FUNCTION",
}
var GoTest_KIND_value = map[string]int32{
	"VOID":        0,
	"BOOL":        1,
	"BYTES":       2,
	"FINGERPRINT": 3,
	"FLOAT":       4,
	"INT":         5,
	"STRING":      6,
	"TIME":        7,
	"TUPLE":       8,
	"ARRAY":       9,
	"MAP":         10,
	"TABLE":       11,
	"FUNCTION":    12,
}

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

type MyMessage_Color int32

const (
	MyMessage_RED   MyMessage_Color = 0
	MyMessage_GREEN MyMessage_Color = 1
	MyMessage_BLUE  MyMessage_Color = 2
)

var MyMessage_Color_name = map[int32]string{
	0: "RED",
	1: "GREEN",
	2: "BLUE",
}
var MyMessage_Color_value = map[string]int32{
	"RED":   0,
	"GREEN": 1,
	"BLUE":  2,
}

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

type DefaultsMessage_DefaultsEnum int32

const (
	DefaultsMessage_ZERO DefaultsMessage_DefaultsEnum = 0
	DefaultsMessage_ONE  DefaultsMessage_DefaultsEnum = 1
	DefaultsMessage_TWO  DefaultsMessage_DefaultsEnum = 2
)

var DefaultsMessage_DefaultsEnum_name = map[int32]string{
	0: "ZERO",
	1: "ONE",
	2: "TWO",
}
var DefaultsMessage_DefaultsEnum_value = map[string]int32{
	"ZERO": 0,
	"ONE":  1,
	"TWO":  2,
}

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

type Defaults_Color int32

const (
	Defaults_RED   Defaults_Color = 0
	Defaults_GREEN Defaults_Color = 1
	Defaults_BLUE  Defaults_Color = 2
)

var Defaults_Color_name = map[int32]string{
	0: "RED",
	1: "GREEN",
	2: "BLUE",
}
var Defaults_Color_value = map[string]int32{
	"RED":   0,
	"GREEN": 1,
	"BLUE":  2,
}

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

type RepeatedEnum_Color int32

const (
	RepeatedEnum_RED RepeatedEnum_Color = 1
)

var RepeatedEnum_Color_name = map[int32]string{
	1: "RED",
}
var RepeatedEnum_Color_value = map[string]int32{
	"RED": 1,
}

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

type GoEnum struct {
	Foo              *FOO   `protobuf:"varint,1,req,name=foo,enum=testdata.FOO" json:"foo,omitempty"`
	XXX_unrecognized []byte `json:"-"`
}

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

func (m *GoEnum) GetFoo() FOO {
	if m != nil && m.Foo != nil {
		return *m.Foo
	}
	return FOO_FOO1
}

type GoTestField struct {
	Label            *string `protobuf:"bytes,1,req,name=Label" json:"Label,omitempty"`
	Type             *string `protobuf:"bytes,2,req,name=Type" json:"Type,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

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

func (m *GoTestField) GetLabel() string {
	if m != nil && m.Label != nil {
		return *m.Label
	}
	return ""
}

func (m *GoTestField) GetType() string {
	if m != nil && m.Type != nil {
		return *m.Type
	}
	return ""
}

type GoTest struct {
	// Some typical parameters
	Kind  *GoTest_KIND `protobuf:"varint,1,req,name=Kind,enum=testdata.GoTest_KIND" json:"Kind,omitempty"`
	Table *string      `protobuf:"bytes,2,opt,name=Table" json:"Table,omitempty"`
	Param *int32       `protobuf:"varint,3,opt,name=Param" json:"Param,omitempty"`
	// Required, repeated and optional foreign fields.
	RequiredField *GoTestField   `protobuf:"bytes,4,req,name=RequiredField" json:"RequiredField,omitempty"`
	RepeatedField []*GoTestField `protobuf:"bytes,5,rep,name=RepeatedField" json:"RepeatedField,omitempty"`
	OptionalField *GoTestField   `protobuf:"bytes,6,opt,name=OptionalField" json:"OptionalField,omitempty"`
	// Required fields of all basic types
	F_BoolRequired    *bool    `protobuf:"varint,10,req,name=F_Bool_required,json=FBoolRequired" json:"F_Bool_required,omitempty"`
	F_Int32Required   *int32   `protobuf:"varint,11,req,name=F_Int32_required,json=FInt32Required" json:"F_Int32_required,omitempty"`
	F_Int64Required   *int64   `protobuf:"varint,12,req,name=F_Int64_required,json=FInt64Required" json:"F_Int64_required,omitempty"`
	F_Fixed32Required *uint32  `protobuf:"fixed32,13,req,name=F_Fixed32_required,json=FFixed32Required" json:"F_Fixed32_required,omitempty"`
	F_Fixed64Required *uint64  `protobuf:"fixed64,14,req,name=F_Fixed64_required,json=FFixed64Required" json:"F_Fixed64_required,omitempty"`
	F_Uint32Required  *uint32  `protobuf:"varint,15,req,name=F_Uint32_required,json=FUint32Required" json:"F_Uint32_required,omitempty"`
	F_Uint64Required  *uint64  `protobuf:"varint,16,req,name=F_Uint64_required,json=FUint64Required" json:"F_Uint64_required,omitempty"`
	F_FloatRequired   *float32 `protobuf:"fixed32,17,req,name=F_Float_required,json=FFloatRequired" json:"F_Float_required,omitempty"`
	F_DoubleRequired  *float64 `protobuf:"fixed64,18,req,name=F_Double_required,json=FDoubleRequired" json:"F_Double_required,omitempty"`
	F_StringRequired  *string  `protobuf:"bytes,19,req,name=F_String_required,json=FStringRequired" json:"F_String_required,omitempty"`
	F_BytesRequired   []byte   `protobuf:"bytes,101,req,name=F_Bytes_required,json=FBytesRequired" json:"F_Bytes_required,omitempty"`
	F_Sint32Required  *int32   `protobuf:"zigzag32,102,req,name=F_Sint32_required,json=FSint32Required" json:"F_Sint32_required,omitempty"`
	F_Sint64Required  *int64   `protobuf:"zigzag64,103,req,name=F_Sint64_required,json=FSint64Required" json:"F_Sint64_required,omitempty"`
	// Repeated fields of all basic types
	F_BoolRepeated    []bool    `protobuf:"varint,20,rep,name=F_Bool_repeated,json=FBoolRepeated" json:"F_Bool_repeated,omitempty"`
	F_Int32Repeated   []int32   `protobuf:"varint,21,rep,name=F_Int32_repeated,json=FInt32Repeated" json:"F_Int32_repeated,omitempty"`
	F_Int64Repeated   []int64   `protobuf:"varint,22,rep,name=F_Int64_repeated,json=FInt64Repeated" json:"F_Int64_repeated,omitempty"`
	F_Fixed32Repeated []uint32  `protobuf:"fixed32,23,rep,name=F_Fixed32_repeated,json=FFixed32Repeated" json:"F_Fixed32_repeated,omitempty"`
	F_Fixed64Repeated []uint64  `protobuf:"fixed64,24,rep,name=F_Fixed64_repeated,json=FFixed64Repeated" json:"F_Fixed64_repeated,omitempty"`
	F_Uint32Repeated  []uint32  `protobuf:"varint,25,rep,name=F_Uint32_repeated,json=FUint32Repeated" json:"F_Uint32_repeated,omitempty"`
	F_Uint64Repeated  []uint64  `protobuf:"varint,26,rep,name=F_Uint64_repeated,json=FUint64Repeated" json:"F_Uint64_repeated,omitempty"`
	F_FloatRepeated   []float32 `protobuf:"fixed32,27,rep,name=F_Float_repeated,json=FFloatRepeated" json:"F_Float_repeated,omitempty"`
	F_DoubleRepeated  []float64 `protobuf:"fixed64,28,rep,name=F_Double_repeated,json=FDoubleRepeated" json:"F_Double_repeated,omitempty"`
	F_StringRepeated  []string  `protobuf:"bytes,29,rep,name=F_String_repeated,json=FStringRepeated" json:"F_String_repeated,omitempty"`
	F_BytesRepeated   [][]byte  `protobuf:"bytes,201,rep,name=F_Bytes_repeated,json=FBytesRepeated" json:"F_Bytes_repeated,omitempty"`
	F_Sint32Repeated  []int32   `protobuf:"zigzag32,202,rep,name=F_Sint32_repeated,json=FSint32Repeated" json:"F_Sint32_repeated,omitempty"`
	F_Sint64Repeated  []int64   `protobuf:"zigzag64,203,rep,name=F_Sint64_repeated,json=FSint64Repeated" json:"F_Sint64_repeated,omitempty"`
	// Optional fields of all basic types
	F_BoolOptional    *bool    `protobuf:"varint,30,opt,name=F_Bool_optional,json=FBoolOptional" json:"F_Bool_optional,omitempty"`
	F_Int32Optional   *int32   `protobuf:"varint,31,opt,name=F_Int32_optional,json=FInt32Optional" json:"F_Int32_optional,omitempty"`
	F_Int64Optional   *int64   `protobuf:"varint,32,opt,name=F_Int64_optional,json=FInt64Optional" json:"F_Int64_optional,omitempty"`
	F_Fixed32Optional *uint32  `protobuf:"fixed32,33,opt,name=F_Fixed32_optional,json=FFixed32Optional" json:"F_Fixed32_optional,omitempty"`
	F_Fixed64Optional *uint64  `protobuf:"fixed64,34,opt,name=F_Fixed64_optional,json=FFixed64Optional" json:"F_Fixed64_optional,omitempty"`
	F_Uint32Optional  *uint32  `protobuf:"varint,35,opt,name=F_Uint32_optional,json=FUint32Optional" json:"F_Uint32_optional,omitempty"`
	F_Uint64Optional  *uint64  `protobuf:"varint,36,opt,name=F_Uint64_optional,json=FUint64Optional" json:"F_Uint64_optional,omitempty"`
	F_FloatOptional   *float32 `protobuf:"fixed32,37,opt,name=F_Float_optional,json=FFloatOptional" json:"F_Float_optional,omitempty"`
	F_DoubleOptional  *float64 `protobuf:"fixed64,38,opt,name=F_Double_optional,json=FDoubleOptional" json:"F_Double_optional,omitempty"`
	F_StringOptional  *string  `protobuf:"bytes,39,opt,name=F_String_optional,json=FStringOptional" json:"F_String_optional,omitempty"`
	F_BytesOptional   []byte   `protobuf:"bytes,301,opt,name=F_Bytes_optional,json=FBytesOptional" json:"F_Bytes_optional,omitempty"`
	F_Sint32Optional  *int32   `protobuf:"zigzag32,302,opt,name=F_Sint32_optional,json=FSint32Optional" json:"F_Sint32_optional,omitempty"`
	F_Sint64Optional  *int64   `protobuf:"zigzag64,303,opt,name=F_Sint64_optional,json=FSint64Optional" json:"F_Sint64_optional,omitempty"`
	// Default-valued fields of all basic types
	F_BoolDefaulted    *bool    `protobuf:"varint,40,opt,name=F_Bool_defaulted,json=FBoolDefaulted,def=1" json:"F_Bool_defaulted,omitempty"`
	F_Int32Defaulted   *int32   `protobuf:"varint,41,opt,name=F_Int32_defaulted,json=FInt32Defaulted,def=32" json:"F_Int32_defaulted,omitempty"`
	F_Int64Defaulted   *int64   `protobuf:"varint,42,opt,name=F_Int64_defaulted,json=FInt64Defaulted,def=64" json:"F_Int64_defaulted,omitempty"`
	F_Fixed32Defaulted *uint32  `protobuf:"fixed32,43,opt,name=F_Fixed32_defaulted,json=FFixed32Defaulted,def=320" json:"F_Fixed32_defaulted,omitempty"`
	F_Fixed64Defaulted *uint64  `protobuf:"fixed64,44,opt,name=F_Fixed64_defaulted,json=FFixed64Defaulted,def=640" json:"F_Fixed64_defaulted,omitempty"`
	F_Uint32Defaulted  *uint32  `protobuf:"varint,45,opt,name=F_Uint32_defaulted,json=FUint32Defaulted,def=3200" json:"F_Uint32_defaulted,omitempty"`
	F_Uint64Defaulted  *uint64  `protobuf:"varint,46,opt,name=F_Uint64_defaulted,json=FUint64Defaulted,def=6400" json:"F_Uint64_defaulted,omitempty"`
	F_FloatDefaulted   *float32 `protobuf:"fixed32,47,opt,name=F_Float_defaulted,json=FFloatDefaulted,def=314159" json:"F_Float_defaulted,omitempty"`
	F_DoubleDefaulted  *float64 `protobuf:"fixed64,48,opt,name=F_Double_defaulted,json=FDoubleDefaulted,def=271828" json:"F_Double_defaulted,omitempty"`
	F_StringDefaulted  *string  `protobuf:"bytes,49,opt,name=F_String_defaulted,json=FStringDefaulted,def=hello, \"world!\"\n" json:"F_String_defaulted,omitempty"`
	F_BytesDefaulted   []byte   `protobuf:"bytes,401,opt,name=F_Bytes_defaulted,json=FBytesDefaulted,def=Bignose" json:"F_Bytes_defaulted,omitempty"`
	F_Sint32Defaulted  *int32   `protobuf:"zigzag32,402,opt,name=F_Sint32_defaulted,json=FSint32Defaulted,def=-32" json:"F_Sint32_defaulted,omitempty"`
	F_Sint64Defaulted  *int64   `protobuf:"zigzag64,403,opt,name=F_Sint64_defaulted,json=FSint64Defaulted,def=-64" json:"F_Sint64_defaulted,omitempty"`
	// Packed repeated fields (no string or bytes).
	F_BoolRepeatedPacked    []bool                  `protobuf:"varint,50,rep,packed,name=F_Bool_repeated_packed,json=FBoolRepeatedPacked" json:"F_Bool_repeated_packed,omitempty"`
	F_Int32RepeatedPacked   []int32                 `protobuf:"varint,51,rep,packed,name=F_Int32_repeated_packed,json=FInt32RepeatedPacked" json:"F_Int32_repeated_packed,omitempty"`
	F_Int64RepeatedPacked   []int64                 `protobuf:"varint,52,rep,packed,name=F_Int64_repeated_packed,json=FInt64RepeatedPacked" json:"F_Int64_repeated_packed,omitempty"`
	F_Fixed32RepeatedPacked []uint32                `protobuf:"fixed32,53,rep,packed,name=F_Fixed32_repeated_packed,json=FFixed32RepeatedPacked" json:"F_Fixed32_repeated_packed,omitempty"`
	F_Fixed64RepeatedPacked []uint64                `protobuf:"fixed64,54,rep,packed,name=F_Fixed64_repeated_packed,json=FFixed64RepeatedPacked" json:"F_Fixed64_repeated_packed,omitempty"`
	F_Uint32RepeatedPacked  []uint32                `protobuf:"varint,55,rep,packed,name=F_Uint32_repeated_packed,json=FUint32RepeatedPacked" json:"F_Uint32_repeated_packed,omitempty"`
	F_Uint64RepeatedPacked  []uint64                `protobuf:"varint,56,rep,packed,name=F_Uint64_repeated_packed,json=FUint64RepeatedPacked" json:"F_Uint64_repeated_packed,omitempty"`
	F_FloatRepeatedPacked   []float32               `protobuf:"fixed32,57,rep,packed,name=F_Float_repeated_packed,json=FFloatRepeatedPacked" json:"F_Float_repeated_packed,omitempty"`
	F_DoubleRepeatedPacked  []float64               `protobuf:"fixed64,58,rep,packed,name=F_Double_repeated_packed,json=FDoubleRepeatedPacked" json:"F_Double_repeated_packed,omitempty"`
	F_Sint32RepeatedPacked  []int32                 `protobuf:"zigzag32,502,rep,packed,name=F_Sint32_repeated_packed,json=FSint32RepeatedPacked" json:"F_Sint32_repeated_packed,omitempty"`
	F_Sint64RepeatedPacked  []int64                 `protobuf:"zigzag64,503,rep,packed,name=F_Sint64_repeated_packed,json=FSint64RepeatedPacked" json:"F_Sint64_repeated_packed,omitempty"`
	Requiredgroup           *GoTest_RequiredGroup   `protobuf:"group,70,req,name=RequiredGroup,json=requiredgroup" json:"requiredgroup,omitempty"`
	Repeatedgroup           []*GoTest_RepeatedGroup `protobuf:"group,80,rep,name=RepeatedGroup,json=repeatedgroup" json:"repeatedgroup,omitempty"`
	Optionalgroup           *GoTest_OptionalGroup   `protobuf:"group,90,opt,name=OptionalGroup,json=optionalgroup" json:"optionalgroup,omitempty"`
	XXX_unrecognized        []byte                  `json:"-"`
}

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

const Default_GoTest_F_BoolDefaulted bool = true
const Default_GoTest_F_Int32Defaulted int32 = 32
const Default_GoTest_F_Int64Defaulted int64 = 64
const Default_GoTest_F_Fixed32Defaulted uint32 = 320
const Default_GoTest_F_Fixed64Defaulted uint64 = 640
const Default_GoTest_F_Uint32Defaulted uint32 = 3200
const Default_GoTest_F_Uint64Defaulted uint64 = 6400
const Default_GoTest_F_FloatDefaulted float32 = 314159
const Default_GoTest_F_DoubleDefaulted float64 = 271828
const Default_GoTest_F_StringDefaulted string = "hello, \"world!\"\n"

var Default_GoTest_F_BytesDefaulted []byte = []byte("Bignose")

const Default_GoTest_F_Sint32Defaulted int32 = -32
const Default_GoTest_F_Sint64Defaulted int64 = -64

func (m *GoTest) GetKind() GoTest_KIND {
	if m != nil && m.Kind != nil {
		return *m.Kind
	}
	return GoTest_VOID
}

func (m *GoTest) GetTable() string {
	if m != nil && m.Table != nil {
		return *m.Table
	}
	return ""
}

func (m *GoTest) GetParam() int32 {
	if m != nil && m.Param != nil {
		return *m.Param
	}
	return 0
}

func (m *GoTest) GetRequiredField() *GoTestField {
	if m != nil {
		return m.RequiredField
	}
	return nil
}

func (m *GoTest) GetRepeatedField() []*GoTestField {
	if m != nil {
		return m.RepeatedField
	}
	return nil
}

func (m *GoTest) GetOptionalField() *GoTestField {
	if m != nil {
		return m.OptionalField
	}
	return nil
}

func (m *GoTest) GetF_BoolRequired() bool {
	if m != nil && m.F_BoolRequired != nil {
		return *m.F_BoolRequired
	}
	return false
}

func (m *GoTest) GetF_Int32Required() int32 {
	if m != nil && m.F_Int32Required != nil {
		return *m.F_Int32Required
	}
	return 0
}

func (m *GoTest) GetF_Int64Required() int64 {
	if m != nil && m.F_Int64Required != nil {
		return *m.F_Int64Required
	}
	return 0
}

func (m *GoTest) GetF_Fixed32Required() uint32 {
	if m != nil && m.F_Fixed32Required != nil {
		return *m.F_Fixed32Required
	}
	return 0
}

func (m *GoTest) GetF_Fixed64Required() uint64 {
	if m != nil && m.F_Fixed64Required != nil {
		return *m.F_Fixed64Required
	}
	return 0
}

func (m *GoTest) GetF_Uint32Required() uint32 {
	if m != nil && m.F_Uint32Required != nil {
		return *m.F_Uint32Required
	}
	return 0
}

func (m *GoTest) GetF_Uint64Required() uint64 {
	if m != nil && m.F_Uint64Required != nil {
		return *m.F_Uint64Required
	}
	return 0
}

func (m *GoTest) GetF_FloatRequired() float32 {
	if m != nil && m.F_FloatRequired != nil {
		return *m.F_FloatRequired
	}
	return 0
}

func (m *GoTest) GetF_DoubleRequired() float64 {
	if m != nil && m.F_DoubleRequired != nil {
		return *m.F_DoubleRequired
	}
	return 0
}

func (m *GoTest) GetF_StringRequired() string {
	if m != nil && m.F_StringRequired != nil {
		return *m.F_StringRequired
	}
	return ""
}

func (m *GoTest) GetF_BytesRequired() []byte {
	if m != nil {
		return m.F_BytesRequired
	}
	return nil
}

func (m *GoTest) GetF_Sint32Required() int32 {
	if m != nil && m.F_Sint32Required != nil {
		return *m.F_Sint32Required
	}
	return 0
}

func (m *GoTest) GetF_Sint64Required() int64 {
	if m != nil && m.F_Sint64Required != nil {
		return *m.F_Sint64Required
	}
	return 0
}

func (m *GoTest) GetF_BoolRepeated() []bool {
	if m != nil {
		return m.F_BoolRepeated
	}
	return nil
}

func (m *GoTest) GetF_Int32Repeated() []int32 {
	if m != nil {
		return m.F_Int32Repeated
	}
	return nil
}

func (m *GoTest) GetF_Int64Repeated() []int64 {
	if m != nil {
		return m.F_Int64Repeated
	}
	return nil
}

func (m *GoTest) GetF_Fixed32Repeated() []uint32 {
	if m != nil {
		return m.F_Fixed32Repeated
	}
	return nil
}

func (m *GoTest) GetF_Fixed64Repeated() []uint64 {
	if m != nil {
		return m.F_Fixed64Repeated
	}
	return nil
}

func (m *GoTest) GetF_Uint32Repeated() []uint32 {
	if m != nil {
		return m.F_Uint32Repeated
	}
	return nil
}

func (m *GoTest) GetF_Uint64Repeated() []uint64 {
	if m != nil {
		return m.F_Uint64Repeated
	}
	return nil
}

func (m *GoTest) GetF_FloatRepeated() []float32 {
	if m != nil {
		return m.F_FloatRepeated
	}
	return nil
}

func (m *GoTest) GetF_DoubleRepeated() []float64 {
	if m != nil {
		return m.F_DoubleRepeated
	}
	return nil
}

func (m *GoTest) GetF_StringRepeated() []string {
	if m != nil {
		return m.F_StringRepeated
	}
	return nil
}

func (m *GoTest) GetF_BytesRepeated() [][]byte {
	if m != nil {
		return m.F_BytesRepeated
	}
	return nil
}

func (m *GoTest) GetF_Sint32Repeated() []int32 {
	if m != nil {
		return m.F_Sint32Repeated
	}
	return nil
}

func (m *GoTest) GetF_Sint64Repeated() []int64 {
	if m != nil {
		return m.F_Sint64Repeated
	}
	return nil
}

func (m *GoTest) GetF_BoolOptional() bool {
	if m != nil && m.F_BoolOptional != nil {
		return *m.F_BoolOptional
	}
	return false
}

func (m *GoTest) GetF_Int32Optional() int32 {
	if m != nil && m.F_Int32Optional != nil {
		return *m.F_Int32Optional
	}
	return 0
}

func (m *GoTest) GetF_Int64Optional() int64 {
	if m != nil && m.F_Int64Optional != nil {
		return *m.F_Int64Optional
	}
	return 0
}

func (m *GoTest) GetF_Fixed32Optional() uint32 {
	if m != nil && m.F_Fixed32Optional != nil {
		return *m.F_Fixed32Optional
	}
	return 0
}

func (m *GoTest) GetF_Fixed64Optional() uint64 {
	if m != nil && m.F_Fixed64Optional != nil {
		return *m.F_Fixed64Optional
	}
	return 0
}

func (m *GoTest) GetF_Uint32Optional() uint32 {
	if m != nil && m.F_Uint32Optional != nil {
		return *m.F_Uint32Optional
	}
	return 0
}

func (m *GoTest) GetF_Uint64Optional() uint64 {
	if m != nil && m.F_Uint64Optional != nil {
		return *m.F_Uint64Optional
	}
	return 0
}

func (m *GoTest) GetF_FloatOptional() float32 {
	if m != nil && m.F_FloatOptional != nil {
		return *m.F_FloatOptional
	}
	return 0
}

func (m *GoTest) GetF_DoubleOptional() float64 {
	if m != nil && m.F_DoubleOptional != nil {
		return *m.F_DoubleOptional
	}
	return 0
}

func (m *GoTest) GetF_StringOptional() string {
	if m != nil && m.F_StringOptional != nil {
		return *m.F_StringOptional
	}
	return ""
}

func (m *GoTest) GetF_BytesOptional() []byte {
	if m != nil {
		return m.F_BytesOptional
	}
	return nil
}

func (m *GoTest) GetF_Sint32Optional() int32 {
	if m != nil && m.F_Sint32Optional != nil {
		return *m.F_Sint32Optional
	}
	return 0
}

func (m *GoTest) GetF_Sint64Optional() int64 {
	if m != nil && m.F_Sint64Optional != nil {
		return *m.F_Sint64Optional
	}
	return 0
}

func (m *GoTest) GetF_BoolDefaulted() bool {
	if m != nil && m.F_BoolDefaulted != nil {
		return *m.F_BoolDefaulted
	}
	return Default_GoTest_F_BoolDefaulted
}

func (m *GoTest) GetF_Int32Defaulted() int32 {
	if m != nil && m.F_Int32Defaulted != nil {
		return *m.F_Int32Defaulted
	}
	return Default_GoTest_F_Int32Defaulted
}

func (m *GoTest) GetF_Int64Defaulted() int64 {
	if m != nil && m.F_Int64Defaulted != nil {
		return *m.F_Int64Defaulted
	}
	return Default_GoTest_F_Int64Defaulted
}

func (m *GoTest) GetF_Fixed32Defaulted() uint32 {
	if m != nil && m.F_Fixed32Defaulted != nil {
		return *m.F_Fixed32Defaulted
	}
	return Default_GoTest_F_Fixed32Defaulted
}

func (m *GoTest) GetF_Fixed64Defaulted() uint64 {
	if m != nil && m.F_Fixed64Defaulted != nil {
		return *m.F_Fixed64Defaulted
	}
	return Default_GoTest_F_Fixed64Defaulted
}

func (m *GoTest) GetF_Uint32Defaulted() uint32 {
	if m != nil && m.F_Uint32Defaulted != nil {
		return *m.F_Uint32Defaulted
	}
	return Default_GoTest_F_Uint32Defaulted
}

func (m *GoTest) GetF_Uint64Defaulted() uint64 {
	if m != nil && m.F_Uint64Defaulted != nil {
		return *m.F_Uint64Defaulted
	}
	return Default_GoTest_F_Uint64Defaulted
}

func (m *GoTest) GetF_FloatDefaulted() float32 {
	if m != nil && m.F_FloatDefaulted != nil {
		return *m.F_FloatDefaulted
	}
	return Default_GoTest_F_FloatDefaulted
}

func (m *GoTest) GetF_DoubleDefaulted() float64 {
	if m != nil && m.F_DoubleDefaulted != nil {
		return *m.F_DoubleDefaulted
	}
	return Default_GoTest_F_DoubleDefaulted
}

func (m *GoTest) GetF_StringDefaulted() string {
	if m != nil && m.F_StringDefaulted != nil {
		return *m.F_StringDefaulted
	}
	return Default_GoTest_F_StringDefaulted
}

func (m *GoTest) GetF_BytesDefaulted() []byte {
	if m != nil && m.F_BytesDefaulted != nil {
		return m.F_BytesDefaulted
	}
	return append([]byte(nil), Default_GoTest_F_BytesDefaulted...)
}

func (m *GoTest) GetF_Sint32Defaulted() int32 {
	if m != nil && m.F_Sint32Defaulted != nil {
		return *m.F_Sint32Defaulted
	}
	return Default_GoTest_F_Sint32Defaulted
}

func (m *GoTest) GetF_Sint64Defaulted() int64 {
	if m != nil && m.F_Sint64Defaulted != nil {
		return *m.F_Sint64Defaulted
	}
	return Default_GoTest_F_Sint64Defaulted
}

func (m *GoTest) GetF_BoolRepeatedPacked() []bool {
	if m != nil {
		return m.F_BoolRepeatedPacked
	}
	return nil
}

func (m *GoTest) GetF_Int32RepeatedPacked() []int32 {
	if m != nil {
		return m.F_Int32RepeatedPacked
	}
	return nil
}

func (m *GoTest) GetF_Int64RepeatedPacked() []int64 {
	if m != nil {
		return m.F_Int64RepeatedPacked
	}
	return nil
}

func (m *GoTest) GetF_Fixed32RepeatedPacked() []uint32 {
	if m != nil {
		return m.F_Fixed32RepeatedPacked
	}
	return nil
}

func (m *GoTest) GetF_Fixed64RepeatedPacked() []uint64 {
	if m != nil {
		return m.F_Fixed64RepeatedPacked
	}
	return nil
}

func (m *GoTest) GetF_Uint32RepeatedPacked() []uint32 {
	if m != nil {
		return m.F_Uint32RepeatedPacked
	}
	return nil
}

func (m *GoTest) GetF_Uint64RepeatedPacked() []uint64 {
	if m != nil {
		return m.F_Uint64RepeatedPacked
	}
	return nil
}

func (m *GoTest) GetF_FloatRepeatedPacked() []float32 {
	if m != nil {
		return m.F_FloatRepeatedPacked
	}
	return nil
}

func (m *GoTest) GetF_DoubleRepeatedPacked() []float64 {
	if m != nil {
		return m.F_DoubleRepeatedPacked
	}
	return nil
}

func (m *GoTest) GetF_Sint32RepeatedPacked() []int32 {
	if m != nil {
		return m.F_Sint32RepeatedPacked
	}
	return nil
}

func (m *GoTest) GetF_Sint64RepeatedPacked() []int64 {
	if m != nil {
		return m.F_Sint64RepeatedPacked
	}
	return nil
}

func (m *GoTest) GetRequiredgroup() *GoTest_RequiredGroup {
	if m != nil {
		return m.Requiredgroup
	}
	return nil
}

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

func (m *GoTest) GetOptionalgroup() *GoTest_OptionalGroup {
	if m != nil {
		return m.Optionalgroup
	}
	return nil
}

// Required, repeated, and optional groups.
type GoTest_RequiredGroup struct {
	RequiredField    *string `protobuf:"bytes,71,req,name=RequiredField" json:"RequiredField,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

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

func (m *GoTest_RequiredGroup) GetRequiredField() string {
	if m != nil && m.RequiredField != nil {
		return *m.RequiredField
	}
	return ""
}

type GoTest_RepeatedGroup struct {
	RequiredField    *string `protobuf:"bytes,81,req,name=RequiredField" json:"RequiredField,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

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

func (m *GoTest_RepeatedGroup) GetRequiredField() string {
	if m != nil && m.RequiredField != nil {
		return *m.RequiredField
	}
	return ""
}

type GoTest_OptionalGroup struct {
	RequiredField    *string `protobuf:"bytes,91,req,name=RequiredField" json:"RequiredField,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

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

func (m *GoTest_OptionalGroup) GetRequiredField() string {
	if m != nil && m.RequiredField != nil {
		return *m.RequiredField
	}
	return ""
}

// For testing a group containing a required field.
type GoTestRequiredGroupField struct {
	Group            *GoTestRequiredGroupField_Group `protobuf:"group,1,req,name=Group,json=group" json:"group,omitempty"`
	XXX_unrecognized []byte                          `json:"-"`
}

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

func (m *GoTestRequiredGroupField) GetGroup() *GoTestRequiredGroupField_Group {
	if m != nil {
		return m.Group
	}
	return nil
}

type GoTestRequiredGroupField_Group struct {
	Field            *int32 `protobuf:"varint,2,req,name=Field" json:"Field,omitempty"`
	XXX_unrecognized []byte `json:"-"`
}

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

func (m *GoTestRequiredGroupField_Group) GetField() int32 {
	if m != nil && m.Field != nil {
		return *m.Field
	}
	return 0
}

// For testing skipping of unrecognized fields.
// Numbers are all big, larger than tag numbers in GoTestField,
// the message used in the corresponding test.
type GoSkipTest struct {
	SkipInt32        *int32                `protobuf:"varint,11,req,name=skip_int32,json=skipInt32" json:"skip_int32,omitempty"`
	SkipFixed32      *uint32               `protobuf:"fixed32,12,req,name=skip_fixed32,json=skipFixed32" json:"skip_fixed32,omitempty"`
	SkipFixed64      *uint64               `protobuf:"fixed64,13,req,name=skip_fixed64,json=skipFixed64" json:"skip_fixed64,omitempty"`
	SkipString       *string               `protobuf:"bytes,14,req,name=skip_string,json=skipString" json:"skip_string,omitempty"`
	Skipgroup        *GoSkipTest_SkipGroup `protobuf:"group,15,req,name=SkipGroup,json=skipgroup" json:"skipgroup,omitempty"`
	XXX_unrecognized []byte                `json:"-"`
}

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

func (m *GoSkipTest) GetSkipInt32() int32 {
	if m != nil && m.SkipInt32 != nil {
		return *m.SkipInt32
	}
	return 0
}

func (m *GoSkipTest) GetSkipFixed32() uint32 {
	if m != nil && m.SkipFixed32 != nil {
		return *m.SkipFixed32
	}
	return 0
}

func (m *GoSkipTest) GetSkipFixed64() uint64 {
	if m != nil && m.SkipFixed64 != nil {
		return *m.SkipFixed64
	}
	return 0
}

func (m *GoSkipTest) GetSkipString() string {
	if m != nil && m.SkipString != nil {
		return *m.SkipString
	}
	return ""
}

func (m *GoSkipTest) GetSkipgroup() *GoSkipTest_SkipGroup {
	if m != nil {
		return m.Skipgroup
	}
	return nil
}

type GoSkipTest_SkipGroup struct {
	GroupInt32       *int32  `protobuf:"varint,16,req,name=group_int32,json=groupInt32" json:"group_int32,omitempty"`
	GroupString      *string `protobuf:"bytes,17,req,name=group_string,json=groupString" json:"group_string,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

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

func (m *GoSkipTest_SkipGroup) GetGroupInt32() int32 {
	if m != nil && m.GroupInt32 != nil {
		return *m.GroupInt32
	}
	return 0
}

func (m *GoSkipTest_SkipGroup) GetGroupString() string {
	if m != nil && m.GroupString != nil {
		return *m.GroupString
	}
	return ""
}

// For testing packed/non-packed decoder switching.
// A serialized instance of one should be deserializable as the other.
type NonPackedTest struct {
	A                []int32 `protobuf:"varint,1,rep,name=a" json:"a,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

func (m *NonPackedTest) Reset()                    { *m = NonPackedTest{} }
func (m *NonPackedTest) String() string            { return proto.CompactTextString(m) }
func (*NonPackedTest) ProtoMessage()               {}
func (*NonPackedTest) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{5} }

func (m *NonPackedTest) GetA() []int32 {
	if m != nil {
		return m.A
	}
	return nil
}

type PackedTest struct {
	B                []int32 `protobuf:"varint,1,rep,packed,name=b" json:"b,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

func (m *PackedTest) Reset()                    { *m = PackedTest{} }
func (m *PackedTest) String() string            { return proto.CompactTextString(m) }
func (*PackedTest) ProtoMessage()               {}
func (*PackedTest) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{6} }

func (m *PackedTest) GetB() []int32 {
	if m != nil {
		return m.B
	}
	return nil
}

type MaxTag struct {
	// Maximum possible tag number.
	LastField        *string `protobuf:"bytes,536870911,opt,name=last_field,json=lastField" json:"last_field,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

func (m *MaxTag) Reset()                    { *m = MaxTag{} }
func (m *MaxTag) String() string            { return proto.CompactTextString(m) }
func (*MaxTag) ProtoMessage()               {}
func (*MaxTag) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{7} }

func (m *MaxTag) GetLastField() string {
	if m != nil && m.LastField != nil {
		return *m.LastField
	}
	return ""
}

type OldMessage struct {
	Nested           *OldMessage_Nested `protobuf:"bytes,1,opt,name=nested" json:"nested,omitempty"`
	Num              *int32             `protobuf:"varint,2,opt,name=num" json:"num,omitempty"`
	XXX_unrecognized []byte             `json:"-"`
}

func (m *OldMessage) Reset()                    { *m = OldMessage{} }
func (m *OldMessage) String() string            { return proto.CompactTextString(m) }
func (*OldMessage) ProtoMessage()               {}
func (*OldMessage) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{8} }

func (m *OldMessage) GetNested() *OldMessage_Nested {
	if m != nil {
		return m.Nested
	}
	return nil
}

func (m *OldMessage) GetNum() int32 {
	if m != nil && m.Num != nil {
		return *m.Num
	}
	return 0
}

type OldMessage_Nested struct {
	Name             *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

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

func (m *OldMessage_Nested) GetName() string {
	if m != nil && m.Name != nil {
		return *m.Name
	}
	return ""
}

// NewMessage is wire compatible with OldMessage;
// imagine it as a future version.
type NewMessage struct {
	Nested *NewMessage_Nested `protobuf:"bytes,1,opt,name=nested" json:"nested,omitempty"`
	// This is an int32 in OldMessage.
	Num              *int64 `protobuf:"varint,2,opt,name=num" json:"num,omitempty"`
	XXX_unrecognized []byte `json:"-"`
}

func (m *NewMessage) Reset()                    { *m = NewMessage{} }
func (m *NewMessage) String() string            { return proto.CompactTextString(m) }
func (*NewMessage) ProtoMessage()               {}
func (*NewMessage) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{9} }

func (m *NewMessage) GetNested() *NewMessage_Nested {
	if m != nil {
		return m.Nested
	}
	return nil
}

func (m *NewMessage) GetNum() int64 {
	if m != nil && m.Num != nil {
		return *m.Num
	}
	return 0
}

type NewMessage_Nested struct {
	Name             *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	FoodGroup        *string `protobuf:"bytes,2,opt,name=food_group,json=foodGroup" json:"food_group,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

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

func (m *NewMessage_Nested) GetName() string {
	if m != nil && m.Name != nil {
		return *m.Name
	}
	return ""
}

func (m *NewMessage_Nested) GetFoodGroup() string {
	if m != nil && m.FoodGroup != nil {
		return *m.FoodGroup
	}
	return ""
}

type InnerMessage struct {
	Host             *string `protobuf:"bytes,1,req,name=host" json:"host,omitempty"`
	Port             *int32  `protobuf:"varint,2,opt,name=port,def=4000" json:"port,omitempty"`
	Connected        *bool   `protobuf:"varint,3,opt,name=connected" json:"connected,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

func (m *InnerMessage) Reset()                    { *m = InnerMessage{} }
func (m *InnerMessage) String() string            { return proto.CompactTextString(m) }
func (*InnerMessage) ProtoMessage()               {}
func (*InnerMessage) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{10} }

const Default_InnerMessage_Port int32 = 4000

func (m *InnerMessage) GetHost() string {
	if m != nil && m.Host != nil {
		return *m.Host
	}
	return ""
}

func (m *InnerMessage) GetPort() int32 {
	if m != nil && m.Port != nil {
		return *m.Port
	}
	return Default_InnerMessage_Port
}

func (m *InnerMessage) GetConnected() bool {
	if m != nil && m.Connected != nil {
		return *m.Connected
	}
	return false
}

type OtherMessage struct {
	Key                          *int64        `protobuf:"varint,1,opt,name=key" json:"key,omitempty"`
	Value                        []byte        `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
	Weight                       *float32      `protobuf:"fixed32,3,opt,name=weight" json:"weight,omitempty"`
	Inner                        *InnerMessage `protobuf:"bytes,4,opt,name=inner" json:"inner,omitempty"`
	proto.XXX_InternalExtensions `json:"-"`
	XXX_unrecognized             []byte `json:"-"`
}

func (m *OtherMessage) Reset()                    { *m = OtherMessage{} }
func (m *OtherMessage) String() string            { return proto.CompactTextString(m) }
func (*OtherMessage) ProtoMessage()               {}
func (*OtherMessage) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{11} }

var extRange_OtherMessage = []proto.ExtensionRange{
	{Start: 100, End: 536870911},
}

func (*OtherMessage) ExtensionRangeArray() []proto.ExtensionRange {
	return extRange_OtherMessage
}

func (m *OtherMessage) GetKey() int64 {
	if m != nil && m.Key != nil {
		return *m.Key
	}
	return 0
}

func (m *OtherMessage) GetValue() []byte {
	if m != nil {
		return m.Value
	}
	return nil
}

func (m *OtherMessage) GetWeight() float32 {
	if m != nil && m.Weight != nil {
		return *m.Weight
	}
	return 0
}

func (m *OtherMessage) GetInner() *InnerMessage {
	if m != nil {
		return m.Inner
	}
	return nil
}

type RequiredInnerMessage struct {
	LeoFinallyWonAnOscar *InnerMessage `protobuf:"bytes,1,req,name=leo_finally_won_an_oscar,json=leoFinallyWonAnOscar" json:"leo_finally_won_an_oscar,omitempty"`
	XXX_unrecognized     []byte        `json:"-"`
}

func (m *RequiredInnerMessage) Reset()                    { *m = RequiredInnerMessage{} }
func (m *RequiredInnerMessage) String() string            { return proto.CompactTextString(m) }
func (*RequiredInnerMessage) ProtoMessage()               {}
func (*RequiredInnerMessage) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{12} }

func (m *RequiredInnerMessage) GetLeoFinallyWonAnOscar() *InnerMessage {
	if m != nil {
		return m.LeoFinallyWonAnOscar
	}
	return nil
}

type MyMessage struct {
	Count          *int32                `protobuf:"varint,1,req,name=count" json:"count,omitempty"`
	Name           *string               `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
	Quote          *string               `protobuf:"bytes,3,opt,name=quote" json:"quote,omitempty"`
	Pet            []string              `protobuf:"bytes,4,rep,name=pet" json:"pet,omitempty"`
	Inner          *InnerMessage         `protobuf:"bytes,5,opt,name=inner" json:"inner,omitempty"`
	Others         []*OtherMessage       `protobuf:"bytes,6,rep,name=others" json:"others,omitempty"`
	WeMustGoDeeper *RequiredInnerMessage `protobuf:"bytes,13,opt,name=we_must_go_deeper,json=weMustGoDeeper" json:"we_must_go_deeper,omitempty"`
	RepInner       []*InnerMessage       `protobuf:"bytes,12,rep,name=rep_inner,json=repInner" json:"rep_inner,omitempty"`
	Bikeshed       *MyMessage_Color      `protobuf:"varint,7,opt,name=bikeshed,enum=testdata.MyMessage_Color" json:"bikeshed,omitempty"`
	Somegroup      *MyMessage_SomeGroup  `protobuf:"group,8,opt,name=SomeGroup,json=somegroup" json:"somegroup,omitempty"`
	// This field becomes [][]byte in the generated code.
	RepBytes                     [][]byte `protobuf:"bytes,10,rep,name=rep_bytes,json=repBytes" json:"rep_bytes,omitempty"`
	Bigfloat                     *float64 `protobuf:"fixed64,11,opt,name=bigfloat" json:"bigfloat,omitempty"`
	proto.XXX_InternalExtensions `json:"-"`
	XXX_unrecognized             []byte `json:"-"`
}

func (m *MyMessage) Reset()                    { *m = MyMessage{} }
func (m *MyMessage) String() string            { return proto.CompactTextString(m) }
func (*MyMessage) ProtoMessage()               {}
func (*MyMessage) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{13} }

var extRange_MyMessage = []proto.ExtensionRange{
	{Start: 100, End: 536870911},
}

func (*MyMessage) ExtensionRangeArray() []proto.ExtensionRange {
	return extRange_MyMessage
}

func (m *MyMessage) GetCount() int32 {
	if m != nil && m.Count != nil {
		return *m.Count
	}
	return 0
}

func (m *MyMessage) GetName() string {
	if m != nil && m.Name != nil {
		return *m.Name
	}
	return ""
}

func (m *MyMessage) GetQuote() string {
	if m != nil && m.Quote != nil {
		return *m.Quote
	}
	return ""
}

func (m *MyMessage) GetPet() []string {
	if m != nil {
		return m.Pet
	}
	return nil
}

func (m *MyMessage) GetInner() *InnerMessage {
	if m != nil {
		return m.Inner
	}
	return nil
}

func (m *MyMessage) GetOthers() []*OtherMessage {
	if m != nil {
		return m.Others
	}
	return nil
}

func (m *MyMessage) GetWeMustGoDeeper() *RequiredInnerMessage {
	if m != nil {
		return m.WeMustGoDeeper
	}
	return nil
}

func (m *MyMessage) GetRepInner() []*InnerMessage {
	if m != nil {
		return m.RepInner
	}
	return nil
}

func (m *MyMessage) GetBikeshed() MyMessage_Color {
	if m != nil && m.Bikeshed != nil {
		return *m.Bikeshed
	}
	return MyMessage_RED
}

func (m *MyMessage) GetSomegroup() *MyMessage_SomeGroup {
	if m != nil {
		return m.Somegroup
	}
	return nil
}

func (m *MyMessage) GetRepBytes() [][]byte {
	if m != nil {
		return m.RepBytes
	}
	return nil
}

func (m *MyMessage) GetBigfloat() float64 {
	if m != nil && m.Bigfloat != nil {
		return *m.Bigfloat
	}
	return 0
}

type MyMessage_SomeGroup struct {
	GroupField       *int32 `protobuf:"varint,9,opt,name=group_field,json=groupField" json:"group_field,omitempty"`
	XXX_unrecognized []byte `json:"-"`
}

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

func (m *MyMessage_SomeGroup) GetGroupField() int32 {
	if m != nil && m.GroupField != nil {
		return *m.GroupField
	}
	return 0
}

type Ext struct {
	Data             *string `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

func (m *Ext) Reset()                    { *m = Ext{} }
func (m *Ext) String() string            { return proto.CompactTextString(m) }
func (*Ext) ProtoMessage()               {}
func (*Ext) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{14} }

func (m *Ext) GetData() string {
	if m != nil && m.Data != nil {
		return *m.Data
	}
	return ""
}

var E_Ext_More = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessage)(nil),
	ExtensionType: (*Ext)(nil),
	Field:         103,
	Name:          "testdata.Ext.more",
	Tag:           "bytes,103,opt,name=more",
	Filename:      "test.proto",
}

var E_Ext_Text = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessage)(nil),
	ExtensionType: (*string)(nil),
	Field:         104,
	Name:          "testdata.Ext.text",
	Tag:           "bytes,104,opt,name=text",
	Filename:      "test.proto",
}

var E_Ext_Number = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessage)(nil),
	ExtensionType: (*int32)(nil),
	Field:         105,
	Name:          "testdata.Ext.number",
	Tag:           "varint,105,opt,name=number",
	Filename:      "test.proto",
}

type ComplexExtension struct {
	First            *int32  `protobuf:"varint,1,opt,name=first" json:"first,omitempty"`
	Second           *int32  `protobuf:"varint,2,opt,name=second" json:"second,omitempty"`
	Third            []int32 `protobuf:"varint,3,rep,name=third" json:"third,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

func (m *ComplexExtension) Reset()                    { *m = ComplexExtension{} }
func (m *ComplexExtension) String() string            { return proto.CompactTextString(m) }
func (*ComplexExtension) ProtoMessage()               {}
func (*ComplexExtension) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{15} }

func (m *ComplexExtension) GetFirst() int32 {
	if m != nil && m.First != nil {
		return *m.First
	}
	return 0
}

func (m *ComplexExtension) GetSecond() int32 {
	if m != nil && m.Second != nil {
		return *m.Second
	}
	return 0
}

func (m *ComplexExtension) GetThird() []int32 {
	if m != nil {
		return m.Third
	}
	return nil
}

type DefaultsMessage struct {
	proto.XXX_InternalExtensions `json:"-"`
	XXX_unrecognized             []byte `json:"-"`
}

func (m *DefaultsMessage) Reset()                    { *m = DefaultsMessage{} }
func (m *DefaultsMessage) String() string            { return proto.CompactTextString(m) }
func (*DefaultsMessage) ProtoMessage()               {}
func (*DefaultsMessage) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{16} }

var extRange_DefaultsMessage = []proto.ExtensionRange{
	{Start: 100, End: 536870911},
}

func (*DefaultsMessage) ExtensionRangeArray() []proto.ExtensionRange {
	return extRange_DefaultsMessage
}

type MyMessageSet struct {
	proto.XXX_InternalExtensions `json:"-"`
	XXX_unrecognized             []byte `json:"-"`
}

func (m *MyMessageSet) Reset()                    { *m = MyMessageSet{} }
func (m *MyMessageSet) String() string            { return proto.CompactTextString(m) }
func (*MyMessageSet) ProtoMessage()               {}
func (*MyMessageSet) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{17} }

func (m *MyMessageSet) Marshal() ([]byte, error) {
	return proto.MarshalMessageSet(&m.XXX_InternalExtensions)
}
func (m *MyMessageSet) Unmarshal(buf []byte) error {
	return proto.UnmarshalMessageSet(buf, &m.XXX_InternalExtensions)
}
func (m *MyMessageSet) MarshalJSON() ([]byte, error) {
	return proto.MarshalMessageSetJSON(&m.XXX_InternalExtensions)
}
func (m *MyMessageSet) UnmarshalJSON(buf []byte) error {
	return proto.UnmarshalMessageSetJSON(buf, &m.XXX_InternalExtensions)
}

// ensure MyMessageSet satisfies proto.Marshaler and proto.Unmarshaler
var _ proto.Marshaler = (*MyMessageSet)(nil)
var _ proto.Unmarshaler = (*MyMessageSet)(nil)

var extRange_MyMessageSet = []proto.ExtensionRange{
	{Start: 100, End: 2147483646},
}

func (*MyMessageSet) ExtensionRangeArray() []proto.ExtensionRange {
	return extRange_MyMessageSet
}

type Empty struct {
	XXX_unrecognized []byte `json:"-"`
}

func (m *Empty) Reset()                    { *m = Empty{} }
func (m *Empty) String() string            { return proto.CompactTextString(m) }
func (*Empty) ProtoMessage()               {}
func (*Empty) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{18} }

type MessageList struct {
	Message          []*MessageList_Message `protobuf:"group,1,rep,name=Message,json=message" json:"message,omitempty"`
	XXX_unrecognized []byte                 `json:"-"`
}

func (m *MessageList) Reset()                    { *m = MessageList{} }
func (m *MessageList) String() string            { return proto.CompactTextString(m) }
func (*MessageList) ProtoMessage()               {}
func (*MessageList) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{19} }

func (m *MessageList) GetMessage() []*MessageList_Message {
	if m != nil {
		return m.Message
	}
	return nil
}

type MessageList_Message struct {
	Name             *string `protobuf:"bytes,2,req,name=name" json:"name,omitempty"`
	Count            *int32  `protobuf:"varint,3,req,name=count" json:"count,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

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

func (m *MessageList_Message) GetName() string {
	if m != nil && m.Name != nil {
		return *m.Name
	}
	return ""
}

func (m *MessageList_Message) GetCount() int32 {
	if m != nil && m.Count != nil {
		return *m.Count
	}
	return 0
}

type Strings struct {
	StringField      *string `protobuf:"bytes,1,opt,name=string_field,json=stringField" json:"string_field,omitempty"`
	BytesField       []byte  `protobuf:"bytes,2,opt,name=bytes_field,json=bytesField" json:"bytes_field,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

func (m *Strings) Reset()                    { *m = Strings{} }
func (m *Strings) String() string            { return proto.CompactTextString(m) }
func (*Strings) ProtoMessage()               {}
func (*Strings) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{20} }

func (m *Strings) GetStringField() string {
	if m != nil && m.StringField != nil {
		return *m.StringField
	}
	return ""
}

func (m *Strings) GetBytesField() []byte {
	if m != nil {
		return m.BytesField
	}
	return nil
}

type Defaults struct {
	// Default-valued fields of all basic types.
	// Same as GoTest, but copied here to make testing easier.
	F_Bool    *bool           `protobuf:"varint,1,opt,name=F_Bool,json=FBool,def=1" json:"F_Bool,omitempty"`
	F_Int32   *int32          `protobuf:"varint,2,opt,name=F_Int32,json=FInt32,def=32" json:"F_Int32,omitempty"`
	F_Int64   *int64          `protobuf:"varint,3,opt,name=F_Int64,json=FInt64,def=64" json:"F_Int64,omitempty"`
	F_Fixed32 *uint32         `protobuf:"fixed32,4,opt,name=F_Fixed32,json=FFixed32,def=320" json:"F_Fixed32,omitempty"`
	F_Fixed64 *uint64         `protobuf:"fixed64,5,opt,name=F_Fixed64,json=FFixed64,def=640" json:"F_Fixed64,omitempty"`
	F_Uint32  *uint32         `protobuf:"varint,6,opt,name=F_Uint32,json=FUint32,def=3200" json:"F_Uint32,omitempty"`
	F_Uint64  *uint64         `protobuf:"varint,7,opt,name=F_Uint64,json=FUint64,def=6400" json:"F_Uint64,omitempty"`
	F_Float   *float32        `protobuf:"fixed32,8,opt,name=F_Float,json=FFloat,def=314159" json:"F_Float,omitempty"`
	F_Double  *float64        `protobuf:"fixed64,9,opt,name=F_Double,json=FDouble,def=271828" json:"F_Double,omitempty"`
	F_String  *string         `protobuf:"bytes,10,opt,name=F_String,json=FString,def=hello, \"world!\"\n" json:"F_String,omitempty"`
	F_Bytes   []byte          `protobuf:"bytes,11,opt,name=F_Bytes,json=FBytes,def=Bignose" json:"F_Bytes,omitempty"`
	F_Sint32  *int32          `protobuf:"zigzag32,12,opt,name=F_Sint32,json=FSint32,def=-32" json:"F_Sint32,omitempty"`
	F_Sint64  *int64          `protobuf:"zigzag64,13,opt,name=F_Sint64,json=FSint64,def=-64" json:"F_Sint64,omitempty"`
	F_Enum    *Defaults_Color `protobuf:"varint,14,opt,name=F_Enum,json=FEnum,enum=testdata.Defaults_Color,def=1" json:"F_Enum,omitempty"`
	// More fields with crazy defaults.
	F_Pinf *float32 `protobuf:"fixed32,15,opt,name=F_Pinf,json=FPinf,def=inf" json:"F_Pinf,omitempty"`
	F_Ninf *float32 `protobuf:"fixed32,16,opt,name=F_Ninf,json=FNinf,def=-inf" json:"F_Ninf,omitempty"`
	F_Nan  *float32 `protobuf:"fixed32,17,opt,name=F_Nan,json=FNan,def=nan" json:"F_Nan,omitempty"`
	// Sub-message.
	Sub *SubDefaults `protobuf:"bytes,18,opt,name=sub" json:"sub,omitempty"`
	// Redundant but explicit defaults.
	StrZero          *string `protobuf:"bytes,19,opt,name=str_zero,json=strZero,def=" json:"str_zero,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

func (m *Defaults) Reset()                    { *m = Defaults{} }
func (m *Defaults) String() string            { return proto.CompactTextString(m) }
func (*Defaults) ProtoMessage()               {}
func (*Defaults) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{21} }

const Default_Defaults_F_Bool bool = true
const Default_Defaults_F_Int32 int32 = 32
const Default_Defaults_F_Int64 int64 = 64
const Default_Defaults_F_Fixed32 uint32 = 320
const Default_Defaults_F_Fixed64 uint64 = 640
const Default_Defaults_F_Uint32 uint32 = 3200
const Default_Defaults_F_Uint64 uint64 = 6400
const Default_Defaults_F_Float float32 = 314159
const Default_Defaults_F_Double float64 = 271828
const Default_Defaults_F_String string = "hello, \"world!\"\n"

var Default_Defaults_F_Bytes []byte = []byte("Bignose")

const Default_Defaults_F_Sint32 int32 = -32
const Default_Defaults_F_Sint64 int64 = -64
const Default_Defaults_F_Enum Defaults_Color = Defaults_GREEN

var Default_Defaults_F_Pinf float32 = float32(math.Inf(1))
var Default_Defaults_F_Ninf float32 = float32(math.Inf(-1))
var Default_Defaults_F_Nan float32 = float32(math.NaN())

func (m *Defaults) GetF_Bool() bool {
	if m != nil && m.F_Bool != nil {
		return *m.F_Bool
	}
	return Default_Defaults_F_Bool
}

func (m *Defaults) GetF_Int32() int32 {
	if m != nil && m.F_Int32 != nil {
		return *m.F_Int32
	}
	return Default_Defaults_F_Int32
}

func (m *Defaults) GetF_Int64() int64 {
	if m != nil && m.F_Int64 != nil {
		return *m.F_Int64
	}
	return Default_Defaults_F_Int64
}

func (m *Defaults) GetF_Fixed32() uint32 {
	if m != nil && m.F_Fixed32 != nil {
		return *m.F_Fixed32
	}
	return Default_Defaults_F_Fixed32
}

func (m *Defaults) GetF_Fixed64() uint64 {
	if m != nil && m.F_Fixed64 != nil {
		return *m.F_Fixed64
	}
	return Default_Defaults_F_Fixed64
}

func (m *Defaults) GetF_Uint32() uint32 {
	if m != nil && m.F_Uint32 != nil {
		return *m.F_Uint32
	}
	return Default_Defaults_F_Uint32
}

func (m *Defaults) GetF_Uint64() uint64 {
	if m != nil && m.F_Uint64 != nil {
		return *m.F_Uint64
	}
	return Default_Defaults_F_Uint64
}

func (m *Defaults) GetF_Float() float32 {
	if m != nil && m.F_Float != nil {
		return *m.F_Float
	}
	return Default_Defaults_F_Float
}

func (m *Defaults) GetF_Double() float64 {
	if m != nil && m.F_Double != nil {
		return *m.F_Double
	}
	return Default_Defaults_F_Double
}

func (m *Defaults) GetF_String() string {
	if m != nil && m.F_String != nil {
		return *m.F_String
	}
	return Default_Defaults_F_String
}

func (m *Defaults) GetF_Bytes() []byte {
	if m != nil && m.F_Bytes != nil {
		return m.F_Bytes
	}
	return append([]byte(nil), Default_Defaults_F_Bytes...)
}

func (m *Defaults) GetF_Sint32() int32 {
	if m != nil && m.F_Sint32 != nil {
		return *m.F_Sint32
	}
	return Default_Defaults_F_Sint32
}

func (m *Defaults) GetF_Sint64() int64 {
	if m != nil && m.F_Sint64 != nil {
		return *m.F_Sint64
	}
	return Default_Defaults_F_Sint64
}

func (m *Defaults) GetF_Enum() Defaults_Color {
	if m != nil && m.F_Enum != nil {
		return *m.F_Enum
	}
	return Default_Defaults_F_Enum
}

func (m *Defaults) GetF_Pinf() float32 {
	if m != nil && m.F_Pinf != nil {
		return *m.F_Pinf
	}
	return Default_Defaults_F_Pinf
}

func (m *Defaults) GetF_Ninf() float32 {
	if m != nil && m.F_Ninf != nil {
		return *m.F_Ninf
	}
	return Default_Defaults_F_Ninf
}

func (m *Defaults) GetF_Nan() float32 {
	if m != nil && m.F_Nan != nil {
		return *m.F_Nan
	}
	return Default_Defaults_F_Nan
}

func (m *Defaults) GetSub() *SubDefaults {
	if m != nil {
		return m.Sub
	}
	return nil
}

func (m *Defaults) GetStrZero() string {
	if m != nil && m.StrZero != nil {
		return *m.StrZero
	}
	return ""
}

type SubDefaults struct {
	N                *int64 `protobuf:"varint,1,opt,name=n,def=7" json:"n,omitempty"`
	XXX_unrecognized []byte `json:"-"`
}

func (m *SubDefaults) Reset()                    { *m = SubDefaults{} }
func (m *SubDefaults) String() string            { return proto.CompactTextString(m) }
func (*SubDefaults) ProtoMessage()               {}
func (*SubDefaults) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{22} }

const Default_SubDefaults_N int64 = 7

func (m *SubDefaults) GetN() int64 {
	if m != nil && m.N != nil {
		return *m.N
	}
	return Default_SubDefaults_N
}

type RepeatedEnum struct {
	Color            []RepeatedEnum_Color `protobuf:"varint,1,rep,name=color,enum=testdata.RepeatedEnum_Color" json:"color,omitempty"`
	XXX_unrecognized []byte               `json:"-"`
}

func (m *RepeatedEnum) Reset()                    { *m = RepeatedEnum{} }
func (m *RepeatedEnum) String() string            { return proto.CompactTextString(m) }
func (*RepeatedEnum) ProtoMessage()               {}
func (*RepeatedEnum) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{23} }

func (m *RepeatedEnum) GetColor() []RepeatedEnum_Color {
	if m != nil {
		return m.Color
	}
	return nil
}

type MoreRepeated struct {
	Bools            []bool   `protobuf:"varint,1,rep,name=bools" json:"bools,omitempty"`
	BoolsPacked      []bool   `protobuf:"varint,2,rep,packed,name=bools_packed,json=boolsPacked" json:"bools_packed,omitempty"`
	Ints             []int32  `protobuf:"varint,3,rep,name=ints" json:"ints,omitempty"`
	IntsPacked       []int32  `protobuf:"varint,4,rep,packed,name=ints_packed,json=intsPacked" json:"ints_packed,omitempty"`
	Int64SPacked     []int64  `protobuf:"varint,7,rep,packed,name=int64s_packed,json=int64sPacked" json:"int64s_packed,omitempty"`
	Strings          []string `protobuf:"bytes,5,rep,name=strings" json:"strings,omitempty"`
	Fixeds           []uint32 `protobuf:"fixed32,6,rep,name=fixeds" json:"fixeds,omitempty"`
	XXX_unrecognized []byte   `json:"-"`
}

func (m *MoreRepeated) Reset()                    { *m = MoreRepeated{} }
func (m *MoreRepeated) String() string            { return proto.CompactTextString(m) }
func (*MoreRepeated) ProtoMessage()               {}
func (*MoreRepeated) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{24} }

func (m *MoreRepeated) GetBools() []bool {
	if m != nil {
		return m.Bools
	}
	return nil
}

func (m *MoreRepeated) GetBoolsPacked() []bool {
	if m != nil {
		return m.BoolsPacked
	}
	return nil
}

func (m *MoreRepeated) GetInts() []int32 {
	if m != nil {
		return m.Ints
	}
	return nil
}

func (m *MoreRepeated) GetIntsPacked() []int32 {
	if m != nil {
		return m.IntsPacked
	}
	return nil
}

func (m *MoreRepeated) GetInt64SPacked() []int64 {
	if m != nil {
		return m.Int64SPacked
	}
	return nil
}

func (m *MoreRepeated) GetStrings() []string {
	if m != nil {
		return m.Strings
	}
	return nil
}

func (m *MoreRepeated) GetFixeds() []uint32 {
	if m != nil {
		return m.Fixeds
	}
	return nil
}

type GroupOld struct {
	G                *GroupOld_G `protobuf:"group,101,opt,name=G,json=g" json:"g,omitempty"`
	XXX_unrecognized []byte      `json:"-"`
}

func (m *GroupOld) Reset()                    { *m = GroupOld{} }
func (m *GroupOld) String() string            { return proto.CompactTextString(m) }
func (*GroupOld) ProtoMessage()               {}
func (*GroupOld) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{25} }

func (m *GroupOld) GetG() *GroupOld_G {
	if m != nil {
		return m.G
	}
	return nil
}

type GroupOld_G struct {
	X                *int32 `protobuf:"varint,2,opt,name=x" json:"x,omitempty"`
	XXX_unrecognized []byte `json:"-"`
}

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

func (m *GroupOld_G) GetX() int32 {
	if m != nil && m.X != nil {
		return *m.X
	}
	return 0
}

type GroupNew struct {
	G                *GroupNew_G `protobuf:"group,101,opt,name=G,json=g" json:"g,omitempty"`
	XXX_unrecognized []byte      `json:"-"`
}

func (m *GroupNew) Reset()                    { *m = GroupNew{} }
func (m *GroupNew) String() string            { return proto.CompactTextString(m) }
func (*GroupNew) ProtoMessage()               {}
func (*GroupNew) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{26} }

func (m *GroupNew) GetG() *GroupNew_G {
	if m != nil {
		return m.G
	}
	return nil
}

type GroupNew_G struct {
	X                *int32 `protobuf:"varint,2,opt,name=x" json:"x,omitempty"`
	Y                *int32 `protobuf:"varint,3,opt,name=y" json:"y,omitempty"`
	XXX_unrecognized []byte `json:"-"`
}

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

func (m *GroupNew_G) GetX() int32 {
	if m != nil && m.X != nil {
		return *m.X
	}
	return 0
}

func (m *GroupNew_G) GetY() int32 {
	if m != nil && m.Y != nil {
		return *m.Y
	}
	return 0
}

type FloatingPoint struct {
	F                *float64 `protobuf:"fixed64,1,req,name=f" json:"f,omitempty"`
	Exact            *bool    `protobuf:"varint,2,opt,name=exact" json:"exact,omitempty"`
	XXX_unrecognized []byte   `json:"-"`
}

func (m *FloatingPoint) Reset()                    { *m = FloatingPoint{} }
func (m *FloatingPoint) String() string            { return proto.CompactTextString(m) }
func (*FloatingPoint) ProtoMessage()               {}
func (*FloatingPoint) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{27} }

func (m *FloatingPoint) GetF() float64 {
	if m != nil && m.F != nil {
		return *m.F
	}
	return 0
}

func (m *FloatingPoint) GetExact() bool {
	if m != nil && m.Exact != nil {
		return *m.Exact
	}
	return false
}

type MessageWithMap struct {
	NameMapping      map[int32]string         `protobuf:"bytes,1,rep,name=name_mapping,json=nameMapping" json:"name_mapping,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	MsgMapping       map[int64]*FloatingPoint `protobuf:"bytes,2,rep,name=msg_mapping,json=msgMapping" json:"msg_mapping,omitempty" protobuf_key:"zigzag64,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	ByteMapping      map[bool][]byte          `protobuf:"bytes,3,rep,name=byte_mapping,json=byteMapping" json:"byte_mapping,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	StrToStr         map[string]string        `protobuf:"bytes,4,rep,name=str_to_str,json=strToStr" json:"str_to_str,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	XXX_unrecognized []byte                   `json:"-"`
}

func (m *MessageWithMap) Reset()                    { *m = MessageWithMap{} }
func (m *MessageWithMap) String() string            { return proto.CompactTextString(m) }
func (*MessageWithMap) ProtoMessage()               {}
func (*MessageWithMap) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{28} }

func (m *MessageWithMap) GetNameMapping() map[int32]string {
	if m != nil {
		return m.NameMapping
	}
	return nil
}

func (m *MessageWithMap) GetMsgMapping() map[int64]*FloatingPoint {
	if m != nil {
		return m.MsgMapping
	}
	return nil
}

func (m *MessageWithMap) GetByteMapping() map[bool][]byte {
	if m != nil {
		return m.ByteMapping
	}
	return nil
}

func (m *MessageWithMap) GetStrToStr() map[string]string {
	if m != nil {
		return m.StrToStr
	}
	return nil
}

type Oneof struct {
	// Types that are valid to be assigned to Union:
	//	*Oneof_F_Bool
	//	*Oneof_F_Int32
	//	*Oneof_F_Int64
	//	*Oneof_F_Fixed32
	//	*Oneof_F_Fixed64
	//	*Oneof_F_Uint32
	//	*Oneof_F_Uint64
	//	*Oneof_F_Float
	//	*Oneof_F_Double
	//	*Oneof_F_String
	//	*Oneof_F_Bytes
	//	*Oneof_F_Sint32
	//	*Oneof_F_Sint64
	//	*Oneof_F_Enum
	//	*Oneof_F_Message
	//	*Oneof_FGroup
	//	*Oneof_F_Largest_Tag
	Union isOneof_Union `protobuf_oneof:"union"`
	// Types that are valid to be assigned to Tormato:
	//	*Oneof_Value
	Tormato          isOneof_Tormato `protobuf_oneof:"tormato"`
	XXX_unrecognized []byte          `json:"-"`
}

func (m *Oneof) Reset()                    { *m = Oneof{} }
func (m *Oneof) String() string            { return proto.CompactTextString(m) }
func (*Oneof) ProtoMessage()               {}
func (*Oneof) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{29} }

type isOneof_Union interface {
	isOneof_Union()
}
type isOneof_Tormato interface {
	isOneof_Tormato()
}

type Oneof_F_Bool struct {
	F_Bool bool `protobuf:"varint,1,opt,name=F_Bool,json=FBool,oneof"`
}
type Oneof_F_Int32 struct {
	F_Int32 int32 `protobuf:"varint,2,opt,name=F_Int32,json=FInt32,oneof"`
}
type Oneof_F_Int64 struct {
	F_Int64 int64 `protobuf:"varint,3,opt,name=F_Int64,json=FInt64,oneof"`
}
type Oneof_F_Fixed32 struct {
	F_Fixed32 uint32 `protobuf:"fixed32,4,opt,name=F_Fixed32,json=FFixed32,oneof"`
}
type Oneof_F_Fixed64 struct {
	F_Fixed64 uint64 `protobuf:"fixed64,5,opt,name=F_Fixed64,json=FFixed64,oneof"`
}
type Oneof_F_Uint32 struct {
	F_Uint32 uint32 `protobuf:"varint,6,opt,name=F_Uint32,json=FUint32,oneof"`
}
type Oneof_F_Uint64 struct {
	F_Uint64 uint64 `protobuf:"varint,7,opt,name=F_Uint64,json=FUint64,oneof"`
}
type Oneof_F_Float struct {
	F_Float float32 `protobuf:"fixed32,8,opt,name=F_Float,json=FFloat,oneof"`
}
type Oneof_F_Double struct {
	F_Double float64 `protobuf:"fixed64,9,opt,name=F_Double,json=FDouble,oneof"`
}
type Oneof_F_String struct {
	F_String string `protobuf:"bytes,10,opt,name=F_String,json=FString,oneof"`
}
type Oneof_F_Bytes struct {
	F_Bytes []byte `protobuf:"bytes,11,opt,name=F_Bytes,json=FBytes,oneof"`
}
type Oneof_F_Sint32 struct {
	F_Sint32 int32 `protobuf:"zigzag32,12,opt,name=F_Sint32,json=FSint32,oneof"`
}
type Oneof_F_Sint64 struct {
	F_Sint64 int64 `protobuf:"zigzag64,13,opt,name=F_Sint64,json=FSint64,oneof"`
}
type Oneof_F_Enum struct {
	F_Enum MyMessage_Color `protobuf:"varint,14,opt,name=F_Enum,json=FEnum,enum=testdata.MyMessage_Color,oneof"`
}
type Oneof_F_Message struct {
	F_Message *GoTestField `protobuf:"bytes,15,opt,name=F_Message,json=FMessage,oneof"`
}
type Oneof_FGroup struct {
	FGroup *Oneof_F_Group `protobuf:"group,16,opt,name=F_Group,json=fGroup,oneof"`
}
type Oneof_F_Largest_Tag struct {
	F_Largest_Tag int32 `protobuf:"varint,536870911,opt,name=F_Largest_Tag,json=FLargestTag,oneof"`
}
type Oneof_Value struct {
	Value int32 `protobuf:"varint,100,opt,name=value,oneof"`
}

func (*Oneof_F_Bool) isOneof_Union()        {}
func (*Oneof_F_Int32) isOneof_Union()       {}
func (*Oneof_F_Int64) isOneof_Union()       {}
func (*Oneof_F_Fixed32) isOneof_Union()     {}
func (*Oneof_F_Fixed64) isOneof_Union()     {}
func (*Oneof_F_Uint32) isOneof_Union()      {}
func (*Oneof_F_Uint64) isOneof_Union()      {}
func (*Oneof_F_Float) isOneof_Union()       {}
func (*Oneof_F_Double) isOneof_Union()      {}
func (*Oneof_F_String) isOneof_Union()      {}
func (*Oneof_F_Bytes) isOneof_Union()       {}
func (*Oneof_F_Sint32) isOneof_Union()      {}
func (*Oneof_F_Sint64) isOneof_Union()      {}
func (*Oneof_F_Enum) isOneof_Union()        {}
func (*Oneof_F_Message) isOneof_Union()     {}
func (*Oneof_FGroup) isOneof_Union()        {}
func (*Oneof_F_Largest_Tag) isOneof_Union() {}
func (*Oneof_Value) isOneof_Tormato()       {}

func (m *Oneof) GetUnion() isOneof_Union {
	if m != nil {
		return m.Union
	}
	return nil
}
func (m *Oneof) GetTormato() isOneof_Tormato {
	if m != nil {
		return m.Tormato
	}
	return nil
}

func (m *Oneof) GetF_Bool() bool {
	if x, ok := m.GetUnion().(*Oneof_F_Bool); ok {
		return x.F_Bool
	}
	return false
}

func (m *Oneof) GetF_Int32() int32 {
	if x, ok := m.GetUnion().(*Oneof_F_Int32); ok {
		return x.F_Int32
	}
	return 0
}

func (m *Oneof) GetF_Int64() int64 {
	if x, ok := m.GetUnion().(*Oneof_F_Int64); ok {
		return x.F_Int64
	}
	return 0
}

func (m *Oneof) GetF_Fixed32() uint32 {
	if x, ok := m.GetUnion().(*Oneof_F_Fixed32); ok {
		return x.F_Fixed32
	}
	return 0
}

func (m *Oneof) GetF_Fixed64() uint64 {
	if x, ok := m.GetUnion().(*Oneof_F_Fixed64); ok {
		return x.F_Fixed64
	}
	return 0
}

func (m *Oneof) GetF_Uint32() uint32 {
	if x, ok := m.GetUnion().(*Oneof_F_Uint32); ok {
		return x.F_Uint32
	}
	return 0
}

func (m *Oneof) GetF_Uint64() uint64 {
	if x, ok := m.GetUnion().(*Oneof_F_Uint64); ok {
		return x.F_Uint64
	}
	return 0
}

func (m *Oneof) GetF_Float() float32 {
	if x, ok := m.GetUnion().(*Oneof_F_Float); ok {
		return x.F_Float
	}
	return 0
}

func (m *Oneof) GetF_Double() float64 {
	if x, ok := m.GetUnion().(*Oneof_F_Double); ok {
		return x.F_Double
	}
	return 0
}

func (m *Oneof) GetF_String() string {
	if x, ok := m.GetUnion().(*Oneof_F_String); ok {
		return x.F_String
	}
	return ""
}

func (m *Oneof) GetF_Bytes() []byte {
	if x, ok := m.GetUnion().(*Oneof_F_Bytes); ok {
		return x.F_Bytes
	}
	return nil
}

func (m *Oneof) GetF_Sint32() int32 {
	if x, ok := m.GetUnion().(*Oneof_F_Sint32); ok {
		return x.F_Sint32
	}
	return 0
}

func (m *Oneof) GetF_Sint64() int64 {
	if x, ok := m.GetUnion().(*Oneof_F_Sint64); ok {
		return x.F_Sint64
	}
	return 0
}

func (m *Oneof) GetF_Enum() MyMessage_Color {
	if x, ok := m.GetUnion().(*Oneof_F_Enum); ok {
		return x.F_Enum
	}
	return MyMessage_RED
}

func (m *Oneof) GetF_Message() *GoTestField {
	if x, ok := m.GetUnion().(*Oneof_F_Message); ok {
		return x.F_Message
	}
	return nil
}

func (m *Oneof) GetFGroup() *Oneof_F_Group {
	if x, ok := m.GetUnion().(*Oneof_FGroup); ok {
		return x.FGroup
	}
	return nil
}

func (m *Oneof) GetF_Largest_Tag() int32 {
	if x, ok := m.GetUnion().(*Oneof_F_Largest_Tag); ok {
		return x.F_Largest_Tag
	}
	return 0
}

func (m *Oneof) GetValue() int32 {
	if x, ok := m.GetTormato().(*Oneof_Value); ok {
		return x.Value
	}
	return 0
}

// XXX_OneofFuncs is for the internal use of the proto package.
func (*Oneof) 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 _Oneof_OneofMarshaler, _Oneof_OneofUnmarshaler, _Oneof_OneofSizer, []interface{}{
		(*Oneof_F_Bool)(nil),
		(*Oneof_F_Int32)(nil),
		(*Oneof_F_Int64)(nil),
		(*Oneof_F_Fixed32)(nil),
		(*Oneof_F_Fixed64)(nil),
		(*Oneof_F_Uint32)(nil),
		(*Oneof_F_Uint64)(nil),
		(*Oneof_F_Float)(nil),
		(*Oneof_F_Double)(nil),
		(*Oneof_F_String)(nil),
		(*Oneof_F_Bytes)(nil),
		(*Oneof_F_Sint32)(nil),
		(*Oneof_F_Sint64)(nil),
		(*Oneof_F_Enum)(nil),
		(*Oneof_F_Message)(nil),
		(*Oneof_FGroup)(nil),
		(*Oneof_F_Largest_Tag)(nil),
		(*Oneof_Value)(nil),
	}
}

func _Oneof_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
	m := msg.(*Oneof)
	// union
	switch x := m.Union.(type) {
	case *Oneof_F_Bool:
		t := uint64(0)
		if x.F_Bool {
			t = 1
		}
		_ = b.EncodeVarint(1<<3 | proto.WireVarint)
		_ = b.EncodeVarint(t)
	case *Oneof_F_Int32:
		_ = b.EncodeVarint(2<<3 | proto.WireVarint)
		_ = b.EncodeVarint(uint64(x.F_Int32))
	case *Oneof_F_Int64:
		_ = b.EncodeVarint(3<<3 | proto.WireVarint)
		_ = b.EncodeVarint(uint64(x.F_Int64))
	case *Oneof_F_Fixed32:
		_ = b.EncodeVarint(4<<3 | proto.WireFixed32)
		_ = b.EncodeFixed32(uint64(x.F_Fixed32))
	case *Oneof_F_Fixed64:
		_ = b.EncodeVarint(5<<3 | proto.WireFixed64)
		_ = b.EncodeFixed64(uint64(x.F_Fixed64))
	case *Oneof_F_Uint32:
		_ = b.EncodeVarint(6<<3 | proto.WireVarint)
		_ = b.EncodeVarint(uint64(x.F_Uint32))
	case *Oneof_F_Uint64:
		_ = b.EncodeVarint(7<<3 | proto.WireVarint)
		_ = b.EncodeVarint(uint64(x.F_Uint64))
	case *Oneof_F_Float:
		_ = b.EncodeVarint(8<<3 | proto.WireFixed32)
		_ = b.EncodeFixed32(uint64(math.Float32bits(x.F_Float)))
	case *Oneof_F_Double:
		_ = b.EncodeVarint(9<<3 | proto.WireFixed64)
		_ = b.EncodeFixed64(math.Float64bits(x.F_Double))
	case *Oneof_F_String:
		_ = b.EncodeVarint(10<<3 | proto.WireBytes)
		_ = b.EncodeStringBytes(x.F_String)
	case *Oneof_F_Bytes:
		_ = b.EncodeVarint(11<<3 | proto.WireBytes)
		_ = b.EncodeRawBytes(x.F_Bytes)
	case *Oneof_F_Sint32:
		_ = b.EncodeVarint(12<<3 | proto.WireVarint)
		_ = b.EncodeZigzag32(uint64(x.F_Sint32))
	case *Oneof_F_Sint64:
		_ = b.EncodeVarint(13<<3 | proto.WireVarint)
		_ = b.EncodeZigzag64(uint64(x.F_Sint64))
	case *Oneof_F_Enum:
		_ = b.EncodeVarint(14<<3 | proto.WireVarint)
		_ = b.EncodeVarint(uint64(x.F_Enum))
	case *Oneof_F_Message:
		_ = b.EncodeVarint(15<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.F_Message); err != nil {
			return err
		}
	case *Oneof_FGroup:
		_ = b.EncodeVarint(16<<3 | proto.WireStartGroup)
		if err := b.Marshal(x.FGroup); err != nil {
			return err
		}
		_ = b.EncodeVarint(16<<3 | proto.WireEndGroup)
	case *Oneof_F_Largest_Tag:
		_ = b.EncodeVarint(536870911<<3 | proto.WireVarint)
		_ = b.EncodeVarint(uint64(x.F_Largest_Tag))
	case nil:
	default:
		return fmt.Errorf("Oneof.Union has unexpected type %T", x)
	}
	// tormato
	switch x := m.Tormato.(type) {
	case *Oneof_Value:
		_ = b.EncodeVarint(100<<3 | proto.WireVarint)
		_ = b.EncodeVarint(uint64(x.Value))
	case nil:
	default:
		return fmt.Errorf("Oneof.Tormato has unexpected type %T", x)
	}
	return nil
}

func _Oneof_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
	m := msg.(*Oneof)
	switch tag {
	case 1: // union.F_Bool
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.Union = &Oneof_F_Bool{x != 0}
		return true, err
	case 2: // union.F_Int32
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.Union = &Oneof_F_Int32{int32(x)}
		return true, err
	case 3: // union.F_Int64
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.Union = &Oneof_F_Int64{int64(x)}
		return true, err
	case 4: // union.F_Fixed32
		if wire != proto.WireFixed32 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed32()
		m.Union = &Oneof_F_Fixed32{uint32(x)}
		return true, err
	case 5: // union.F_Fixed64
		if wire != proto.WireFixed64 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed64()
		m.Union = &Oneof_F_Fixed64{x}
		return true, err
	case 6: // union.F_Uint32
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.Union = &Oneof_F_Uint32{uint32(x)}
		return true, err
	case 7: // union.F_Uint64
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.Union = &Oneof_F_Uint64{x}
		return true, err
	case 8: // union.F_Float
		if wire != proto.WireFixed32 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed32()
		m.Union = &Oneof_F_Float{math.Float32frombits(uint32(x))}
		return true, err
	case 9: // union.F_Double
		if wire != proto.WireFixed64 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed64()
		m.Union = &Oneof_F_Double{math.Float64frombits(x)}
		return true, err
	case 10: // union.F_String
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeStringBytes()
		m.Union = &Oneof_F_String{x}
		return true, err
	case 11: // union.F_Bytes
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeRawBytes(true)
		m.Union = &Oneof_F_Bytes{x}
		return true, err
	case 12: // union.F_Sint32
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeZigzag32()
		m.Union = &Oneof_F_Sint32{int32(x)}
		return true, err
	case 13: // union.F_Sint64
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeZigzag64()
		m.Union = &Oneof_F_Sint64{int64(x)}
		return true, err
	case 14: // union.F_Enum
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.Union = &Oneof_F_Enum{MyMessage_Color(x)}
		return true, err
	case 15: // union.F_Message
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(GoTestField)
		err := b.DecodeMessage(msg)
		m.Union = &Oneof_F_Message{msg}
		return true, err
	case 16: // union.f_group
		if wire != proto.WireStartGroup {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(Oneof_F_Group)
		err := b.DecodeGroup(msg)
		m.Union = &Oneof_FGroup{msg}
		return true, err
	case 536870911: // union.F_Largest_Tag
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.Union = &Oneof_F_Largest_Tag{int32(x)}
		return true, err
	case 100: // tormato.value
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.Tormato = &Oneof_Value{int32(x)}
		return true, err
	default:
		return false, nil
	}
}

func _Oneof_OneofSizer(msg proto.Message) (n int) {
	m := msg.(*Oneof)
	// union
	switch x := m.Union.(type) {
	case *Oneof_F_Bool:
		n += proto.SizeVarint(1<<3 | proto.WireVarint)
		n += 1
	case *Oneof_F_Int32:
		n += proto.SizeVarint(2<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.F_Int32))
	case *Oneof_F_Int64:
		n += proto.SizeVarint(3<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.F_Int64))
	case *Oneof_F_Fixed32:
		n += proto.SizeVarint(4<<3 | proto.WireFixed32)
		n += 4
	case *Oneof_F_Fixed64:
		n += proto.SizeVarint(5<<3 | proto.WireFixed64)
		n += 8
	case *Oneof_F_Uint32:
		n += proto.SizeVarint(6<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.F_Uint32))
	case *Oneof_F_Uint64:
		n += proto.SizeVarint(7<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.F_Uint64))
	case *Oneof_F_Float:
		n += proto.SizeVarint(8<<3 | proto.WireFixed32)
		n += 4
	case *Oneof_F_Double:
		n += proto.SizeVarint(9<<3 | proto.WireFixed64)
		n += 8
	case *Oneof_F_String:
		n += proto.SizeVarint(10<<3 | proto.WireBytes)
		n += proto.SizeVarint(uint64(len(x.F_String)))
		n += len(x.F_String)
	case *Oneof_F_Bytes:
		n += proto.SizeVarint(11<<3 | proto.WireBytes)
		n += proto.SizeVarint(uint64(len(x.F_Bytes)))
		n += len(x.F_Bytes)
	case *Oneof_F_Sint32:
		n += proto.SizeVarint(12<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64((uint32(x.F_Sint32) << 1) ^ uint32((int32(x.F_Sint32) >> 31))))
	case *Oneof_F_Sint64:
		n += proto.SizeVarint(13<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(uint64(x.F_Sint64<<1) ^ uint64((int64(x.F_Sint64) >> 63))))
	case *Oneof_F_Enum:
		n += proto.SizeVarint(14<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.F_Enum))
	case *Oneof_F_Message:
		s := proto.Size(x.F_Message)
		n += proto.SizeVarint(15<<3 | proto.WireBytes)
		n += proto.SizeVarint(uint64(s))
		n += s
	case *Oneof_FGroup:
		n += proto.SizeVarint(16<<3 | proto.WireStartGroup)
		n += proto.Size(x.FGroup)
		n += proto.SizeVarint(16<<3 | proto.WireEndGroup)
	case *Oneof_F_Largest_Tag:
		n += proto.SizeVarint(536870911<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.F_Largest_Tag))
	case nil:
	default:
		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
	}
	// tormato
	switch x := m.Tormato.(type) {
	case *Oneof_Value:
		n += proto.SizeVarint(100<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.Value))
	case nil:
	default:
		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
	}
	return n
}

type Oneof_F_Group struct {
	X                *int32 `protobuf:"varint,17,opt,name=x" json:"x,omitempty"`
	XXX_unrecognized []byte `json:"-"`
}

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

func (m *Oneof_F_Group) GetX() int32 {
	if m != nil && m.X != nil {
		return *m.X
	}
	return 0
}

type Communique struct {
	MakeMeCry *bool `protobuf:"varint,1,opt,name=make_me_cry,json=makeMeCry" json:"make_me_cry,omitempty"`
	// This is a oneof, called "union".
	//
	// Types that are valid to be assigned to Union:
	//	*Communique_Number
	//	*Communique_Name
	//	*Communique_Data
	//	*Communique_TempC
	//	*Communique_Col
	//	*Communique_Msg
	Union            isCommunique_Union `protobuf_oneof:"union"`
	XXX_unrecognized []byte             `json:"-"`
}

func (m *Communique) Reset()                    { *m = Communique{} }
func (m *Communique) String() string            { return proto.CompactTextString(m) }
func (*Communique) ProtoMessage()               {}
func (*Communique) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{30} }

type isCommunique_Union interface {
	isCommunique_Union()
}

type Communique_Number struct {
	Number int32 `protobuf:"varint,5,opt,name=number,oneof"`
}
type Communique_Name struct {
	Name string `protobuf:"bytes,6,opt,name=name,oneof"`
}
type Communique_Data struct {
	Data []byte `protobuf:"bytes,7,opt,name=data,oneof"`
}
type Communique_TempC struct {
	TempC float64 `protobuf:"fixed64,8,opt,name=temp_c,json=tempC,oneof"`
}
type Communique_Col struct {
	Col MyMessage_Color `protobuf:"varint,9,opt,name=col,enum=testdata.MyMessage_Color,oneof"`
}
type Communique_Msg struct {
	Msg *Strings `protobuf:"bytes,10,opt,name=msg,oneof"`
}

func (*Communique_Number) isCommunique_Union() {}
func (*Communique_Name) isCommunique_Union()   {}
func (*Communique_Data) isCommunique_Union()   {}
func (*Communique_TempC) isCommunique_Union()  {}
func (*Communique_Col) isCommunique_Union()    {}
func (*Communique_Msg) isCommunique_Union()    {}

func (m *Communique) GetUnion() isCommunique_Union {
	if m != nil {
		return m.Union
	}
	return nil
}

func (m *Communique) GetMakeMeCry() bool {
	if m != nil && m.MakeMeCry != nil {
		return *m.MakeMeCry
	}
	return false
}

func (m *Communique) GetNumber() int32 {
	if x, ok := m.GetUnion().(*Communique_Number); ok {
		return x.Number
	}
	return 0
}

func (m *Communique) GetName() string {
	if x, ok := m.GetUnion().(*Communique_Name); ok {
		return x.Name
	}
	return ""
}

func (m *Communique) GetData() []byte {
	if x, ok := m.GetUnion().(*Communique_Data); ok {
		return x.Data
	}
	return nil
}

func (m *Communique) GetTempC() float64 {
	if x, ok := m.GetUnion().(*Communique_TempC); ok {
		return x.TempC
	}
	return 0
}

func (m *Communique) GetCol() MyMessage_Color {
	if x, ok := m.GetUnion().(*Communique_Col); ok {
		return x.Col
	}
	return MyMessage_RED
}

func (m *Communique) GetMsg() *Strings {
	if x, ok := m.GetUnion().(*Communique_Msg); ok {
		return x.Msg
	}
	return nil
}

// XXX_OneofFuncs is for the internal use of the proto package.
func (*Communique) 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 _Communique_OneofMarshaler, _Communique_OneofUnmarshaler, _Communique_OneofSizer, []interface{}{
		(*Communique_Number)(nil),
		(*Communique_Name)(nil),
		(*Communique_Data)(nil),
		(*Communique_TempC)(nil),
		(*Communique_Col)(nil),
		(*Communique_Msg)(nil),
	}
}

func _Communique_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
	m := msg.(*Communique)
	// union
	switch x := m.Union.(type) {
	case *Communique_Number:
		_ = b.EncodeVarint(5<<3 | proto.WireVarint)
		_ = b.EncodeVarint(uint64(x.Number))
	case *Communique_Name:
		_ = b.EncodeVarint(6<<3 | proto.WireBytes)
		_ = b.EncodeStringBytes(x.Name)
	case *Communique_Data:
		_ = b.EncodeVarint(7<<3 | proto.WireBytes)
		_ = b.EncodeRawBytes(x.Data)
	case *Communique_TempC:
		_ = b.EncodeVarint(8<<3 | proto.WireFixed64)
		_ = b.EncodeFixed64(math.Float64bits(x.TempC))
	case *Communique_Col:
		_ = b.EncodeVarint(9<<3 | proto.WireVarint)
		_ = b.EncodeVarint(uint64(x.Col))
	case *Communique_Msg:
		_ = b.EncodeVarint(10<<3 | proto.WireBytes)
		if err := b.EncodeMessage(x.Msg); err != nil {
			return err
		}
	case nil:
	default:
		return fmt.Errorf("Communique.Union has unexpected type %T", x)
	}
	return nil
}

func _Communique_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
	m := msg.(*Communique)
	switch tag {
	case 5: // union.number
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.Union = &Communique_Number{int32(x)}
		return true, err
	case 6: // union.name
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeStringBytes()
		m.Union = &Communique_Name{x}
		return true, err
	case 7: // union.data
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeRawBytes(true)
		m.Union = &Communique_Data{x}
		return true, err
	case 8: // union.temp_c
		if wire != proto.WireFixed64 {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeFixed64()
		m.Union = &Communique_TempC{math.Float64frombits(x)}
		return true, err
	case 9: // union.col
		if wire != proto.WireVarint {
			return true, proto.ErrInternalBadWireType
		}
		x, err := b.DecodeVarint()
		m.Union = &Communique_Col{MyMessage_Color(x)}
		return true, err
	case 10: // union.msg
		if wire != proto.WireBytes {
			return true, proto.ErrInternalBadWireType
		}
		msg := new(Strings)
		err := b.DecodeMessage(msg)
		m.Union = &Communique_Msg{msg}
		return true, err
	default:
		return false, nil
	}
}

func _Communique_OneofSizer(msg proto.Message) (n int) {
	m := msg.(*Communique)
	// union
	switch x := m.Union.(type) {
	case *Communique_Number:
		n += proto.SizeVarint(5<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.Number))
	case *Communique_Name:
		n += proto.SizeVarint(6<<3 | proto.WireBytes)
		n += proto.SizeVarint(uint64(len(x.Name)))
		n += len(x.Name)
	case *Communique_Data:
		n += proto.SizeVarint(7<<3 | proto.WireBytes)
		n += proto.SizeVarint(uint64(len(x.Data)))
		n += len(x.Data)
	case *Communique_TempC:
		n += proto.SizeVarint(8<<3 | proto.WireFixed64)
		n += 8
	case *Communique_Col:
		n += proto.SizeVarint(9<<3 | proto.WireVarint)
		n += proto.SizeVarint(uint64(x.Col))
	case *Communique_Msg:
		s := proto.Size(x.Msg)
		n += proto.SizeVarint(10<<3 | proto.WireBytes)
		n += proto.SizeVarint(uint64(s))
		n += s
	case nil:
	default:
		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
	}
	return n
}

var E_Greeting = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessage)(nil),
	ExtensionType: ([]string)(nil),
	Field:         106,
	Name:          "testdata.greeting",
	Tag:           "bytes,106,rep,name=greeting",
	Filename:      "test.proto",
}

var E_Complex = &proto.ExtensionDesc{
	ExtendedType:  (*OtherMessage)(nil),
	ExtensionType: (*ComplexExtension)(nil),
	Field:         200,
	Name:          "testdata.complex",
	Tag:           "bytes,200,opt,name=complex",
	Filename:      "test.proto",
}

var E_RComplex = &proto.ExtensionDesc{
	ExtendedType:  (*OtherMessage)(nil),
	ExtensionType: ([]*ComplexExtension)(nil),
	Field:         201,
	Name:          "testdata.r_complex",
	Tag:           "bytes,201,rep,name=r_complex,json=rComplex",
	Filename:      "test.proto",
}

var E_NoDefaultDouble = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*float64)(nil),
	Field:         101,
	Name:          "testdata.no_default_double",
	Tag:           "fixed64,101,opt,name=no_default_double,json=noDefaultDouble",
	Filename:      "test.proto",
}

var E_NoDefaultFloat = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*float32)(nil),
	Field:         102,
	Name:          "testdata.no_default_float",
	Tag:           "fixed32,102,opt,name=no_default_float,json=noDefaultFloat",
	Filename:      "test.proto",
}

var E_NoDefaultInt32 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*int32)(nil),
	Field:         103,
	Name:          "testdata.no_default_int32",
	Tag:           "varint,103,opt,name=no_default_int32,json=noDefaultInt32",
	Filename:      "test.proto",
}

var E_NoDefaultInt64 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*int64)(nil),
	Field:         104,
	Name:          "testdata.no_default_int64",
	Tag:           "varint,104,opt,name=no_default_int64,json=noDefaultInt64",
	Filename:      "test.proto",
}

var E_NoDefaultUint32 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*uint32)(nil),
	Field:         105,
	Name:          "testdata.no_default_uint32",
	Tag:           "varint,105,opt,name=no_default_uint32,json=noDefaultUint32",
	Filename:      "test.proto",
}

var E_NoDefaultUint64 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*uint64)(nil),
	Field:         106,
	Name:          "testdata.no_default_uint64",
	Tag:           "varint,106,opt,name=no_default_uint64,json=noDefaultUint64",
	Filename:      "test.proto",
}

var E_NoDefaultSint32 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*int32)(nil),
	Field:         107,
	Name:          "testdata.no_default_sint32",
	Tag:           "zigzag32,107,opt,name=no_default_sint32,json=noDefaultSint32",
	Filename:      "test.proto",
}

var E_NoDefaultSint64 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*int64)(nil),
	Field:         108,
	Name:          "testdata.no_default_sint64",
	Tag:           "zigzag64,108,opt,name=no_default_sint64,json=noDefaultSint64",
	Filename:      "test.proto",
}

var E_NoDefaultFixed32 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*uint32)(nil),
	Field:         109,
	Name:          "testdata.no_default_fixed32",
	Tag:           "fixed32,109,opt,name=no_default_fixed32,json=noDefaultFixed32",
	Filename:      "test.proto",
}

var E_NoDefaultFixed64 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*uint64)(nil),
	Field:         110,
	Name:          "testdata.no_default_fixed64",
	Tag:           "fixed64,110,opt,name=no_default_fixed64,json=noDefaultFixed64",
	Filename:      "test.proto",
}

var E_NoDefaultSfixed32 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*int32)(nil),
	Field:         111,
	Name:          "testdata.no_default_sfixed32",
	Tag:           "fixed32,111,opt,name=no_default_sfixed32,json=noDefaultSfixed32",
	Filename:      "test.proto",
}

var E_NoDefaultSfixed64 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*int64)(nil),
	Field:         112,
	Name:          "testdata.no_default_sfixed64",
	Tag:           "fixed64,112,opt,name=no_default_sfixed64,json=noDefaultSfixed64",
	Filename:      "test.proto",
}

var E_NoDefaultBool = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*bool)(nil),
	Field:         113,
	Name:          "testdata.no_default_bool",
	Tag:           "varint,113,opt,name=no_default_bool,json=noDefaultBool",
	Filename:      "test.proto",
}

var E_NoDefaultString = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*string)(nil),
	Field:         114,
	Name:          "testdata.no_default_string",
	Tag:           "bytes,114,opt,name=no_default_string,json=noDefaultString",
	Filename:      "test.proto",
}

var E_NoDefaultBytes = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: ([]byte)(nil),
	Field:         115,
	Name:          "testdata.no_default_bytes",
	Tag:           "bytes,115,opt,name=no_default_bytes,json=noDefaultBytes",
	Filename:      "test.proto",
}

var E_NoDefaultEnum = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*DefaultsMessage_DefaultsEnum)(nil),
	Field:         116,
	Name:          "testdata.no_default_enum",
	Tag:           "varint,116,opt,name=no_default_enum,json=noDefaultEnum,enum=testdata.DefaultsMessage_DefaultsEnum",
	Filename:      "test.proto",
}

var E_DefaultDouble = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*float64)(nil),
	Field:         201,
	Name:          "testdata.default_double",
	Tag:           "fixed64,201,opt,name=default_double,json=defaultDouble,def=3.1415",
	Filename:      "test.proto",
}

var E_DefaultFloat = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*float32)(nil),
	Field:         202,
	Name:          "testdata.default_float",
	Tag:           "fixed32,202,opt,name=default_float,json=defaultFloat,def=3.14",
	Filename:      "test.proto",
}

var E_DefaultInt32 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*int32)(nil),
	Field:         203,
	Name:          "testdata.default_int32",
	Tag:           "varint,203,opt,name=default_int32,json=defaultInt32,def=42",
	Filename:      "test.proto",
}

var E_DefaultInt64 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*int64)(nil),
	Field:         204,
	Name:          "testdata.default_int64",
	Tag:           "varint,204,opt,name=default_int64,json=defaultInt64,def=43",
	Filename:      "test.proto",
}

var E_DefaultUint32 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*uint32)(nil),
	Field:         205,
	Name:          "testdata.default_uint32",
	Tag:           "varint,205,opt,name=default_uint32,json=defaultUint32,def=44",
	Filename:      "test.proto",
}

var E_DefaultUint64 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*uint64)(nil),
	Field:         206,
	Name:          "testdata.default_uint64",
	Tag:           "varint,206,opt,name=default_uint64,json=defaultUint64,def=45",
	Filename:      "test.proto",
}

var E_DefaultSint32 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*int32)(nil),
	Field:         207,
	Name:          "testdata.default_sint32",
	Tag:           "zigzag32,207,opt,name=default_sint32,json=defaultSint32,def=46",
	Filename:      "test.proto",
}

var E_DefaultSint64 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*int64)(nil),
	Field:         208,
	Name:          "testdata.default_sint64",
	Tag:           "zigzag64,208,opt,name=default_sint64,json=defaultSint64,def=47",
	Filename:      "test.proto",
}

var E_DefaultFixed32 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*uint32)(nil),
	Field:         209,
	Name:          "testdata.default_fixed32",
	Tag:           "fixed32,209,opt,name=default_fixed32,json=defaultFixed32,def=48",
	Filename:      "test.proto",
}

var E_DefaultFixed64 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*uint64)(nil),
	Field:         210,
	Name:          "testdata.default_fixed64",
	Tag:           "fixed64,210,opt,name=default_fixed64,json=defaultFixed64,def=49",
	Filename:      "test.proto",
}

var E_DefaultSfixed32 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*int32)(nil),
	Field:         211,
	Name:          "testdata.default_sfixed32",
	Tag:           "fixed32,211,opt,name=default_sfixed32,json=defaultSfixed32,def=50",
	Filename:      "test.proto",
}

var E_DefaultSfixed64 = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*int64)(nil),
	Field:         212,
	Name:          "testdata.default_sfixed64",
	Tag:           "fixed64,212,opt,name=default_sfixed64,json=defaultSfixed64,def=51",
	Filename:      "test.proto",
}

var E_DefaultBool = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*bool)(nil),
	Field:         213,
	Name:          "testdata.default_bool",
	Tag:           "varint,213,opt,name=default_bool,json=defaultBool,def=1",
	Filename:      "test.proto",
}

var E_DefaultString = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*string)(nil),
	Field:         214,
	Name:          "testdata.default_string",
	Tag:           "bytes,214,opt,name=default_string,json=defaultString,def=Hello, string",
	Filename:      "test.proto",
}

var E_DefaultBytes = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: ([]byte)(nil),
	Field:         215,
	Name:          "testdata.default_bytes",
	Tag:           "bytes,215,opt,name=default_bytes,json=defaultBytes,def=Hello, bytes",
	Filename:      "test.proto",
}

var E_DefaultEnum = &proto.ExtensionDesc{
	ExtendedType:  (*DefaultsMessage)(nil),
	ExtensionType: (*DefaultsMessage_DefaultsEnum)(nil),
	Field:         216,
	Name:          "testdata.default_enum",
	Tag:           "varint,216,opt,name=default_enum,json=defaultEnum,enum=testdata.DefaultsMessage_DefaultsEnum,def=1",
	Filename:      "test.proto",
}

var E_X201 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         201,
	Name:          "testdata.x201",
	Tag:           "bytes,201,opt,name=x201",
	Filename:      "test.proto",
}

var E_X202 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         202,
	Name:          "testdata.x202",
	Tag:           "bytes,202,opt,name=x202",
	Filename:      "test.proto",
}

var E_X203 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         203,
	Name:          "testdata.x203",
	Tag:           "bytes,203,opt,name=x203",
	Filename:      "test.proto",
}

var E_X204 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         204,
	Name:          "testdata.x204",
	Tag:           "bytes,204,opt,name=x204",
	Filename:      "test.proto",
}

var E_X205 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         205,
	Name:          "testdata.x205",
	Tag:           "bytes,205,opt,name=x205",
	Filename:      "test.proto",
}

var E_X206 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         206,
	Name:          "testdata.x206",
	Tag:           "bytes,206,opt,name=x206",
	Filename:      "test.proto",
}

var E_X207 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         207,
	Name:          "testdata.x207",
	Tag:           "bytes,207,opt,name=x207",
	Filename:      "test.proto",
}

var E_X208 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         208,
	Name:          "testdata.x208",
	Tag:           "bytes,208,opt,name=x208",
	Filename:      "test.proto",
}

var E_X209 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         209,
	Name:          "testdata.x209",
	Tag:           "bytes,209,opt,name=x209",
	Filename:      "test.proto",
}

var E_X210 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         210,
	Name:          "testdata.x210",
	Tag:           "bytes,210,opt,name=x210",
	Filename:      "test.proto",
}

var E_X211 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         211,
	Name:          "testdata.x211",
	Tag:           "bytes,211,opt,name=x211",
	Filename:      "test.proto",
}

var E_X212 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         212,
	Name:          "testdata.x212",
	Tag:           "bytes,212,opt,name=x212",
	Filename:      "test.proto",
}

var E_X213 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         213,
	Name:          "testdata.x213",
	Tag:           "bytes,213,opt,name=x213",
	Filename:      "test.proto",
}

var E_X214 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         214,
	Name:          "testdata.x214",
	Tag:           "bytes,214,opt,name=x214",
	Filename:      "test.proto",
}

var E_X215 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         215,
	Name:          "testdata.x215",
	Tag:           "bytes,215,opt,name=x215",
	Filename:      "test.proto",
}

var E_X216 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         216,
	Name:          "testdata.x216",
	Tag:           "bytes,216,opt,name=x216",
	Filename:      "test.proto",
}

var E_X217 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         217,
	Name:          "testdata.x217",
	Tag:           "bytes,217,opt,name=x217",
	Filename:      "test.proto",
}

var E_X218 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         218,
	Name:          "testdata.x218",
	Tag:           "bytes,218,opt,name=x218",
	Filename:      "test.proto",
}

var E_X219 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         219,
	Name:          "testdata.x219",
	Tag:           "bytes,219,opt,name=x219",
	Filename:      "test.proto",
}

var E_X220 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         220,
	Name:          "testdata.x220",
	Tag:           "bytes,220,opt,name=x220",
	Filename:      "test.proto",
}

var E_X221 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         221,
	Name:          "testdata.x221",
	Tag:           "bytes,221,opt,name=x221",
	Filename:      "test.proto",
}

var E_X222 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         222,
	Name:          "testdata.x222",
	Tag:           "bytes,222,opt,name=x222",
	Filename:      "test.proto",
}

var E_X223 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         223,
	Name:          "testdata.x223",
	Tag:           "bytes,223,opt,name=x223",
	Filename:      "test.proto",
}

var E_X224 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         224,
	Name:          "testdata.x224",
	Tag:           "bytes,224,opt,name=x224",
	Filename:      "test.proto",
}

var E_X225 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         225,
	Name:          "testdata.x225",
	Tag:           "bytes,225,opt,name=x225",
	Filename:      "test.proto",
}

var E_X226 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         226,
	Name:          "testdata.x226",
	Tag:           "bytes,226,opt,name=x226",
	Filename:      "test.proto",
}

var E_X227 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         227,
	Name:          "testdata.x227",
	Tag:           "bytes,227,opt,name=x227",
	Filename:      "test.proto",
}

var E_X228 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         228,
	Name:          "testdata.x228",
	Tag:           "bytes,228,opt,name=x228",
	Filename:      "test.proto",
}

var E_X229 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         229,
	Name:          "testdata.x229",
	Tag:           "bytes,229,opt,name=x229",
	Filename:      "test.proto",
}

var E_X230 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         230,
	Name:          "testdata.x230",
	Tag:           "bytes,230,opt,name=x230",
	Filename:      "test.proto",
}

var E_X231 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         231,
	Name:          "testdata.x231",
	Tag:           "bytes,231,opt,name=x231",
	Filename:      "test.proto",
}

var E_X232 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         232,
	Name:          "testdata.x232",
	Tag:           "bytes,232,opt,name=x232",
	Filename:      "test.proto",
}

var E_X233 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         233,
	Name:          "testdata.x233",
	Tag:           "bytes,233,opt,name=x233",
	Filename:      "test.proto",
}

var E_X234 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         234,
	Name:          "testdata.x234",
	Tag:           "bytes,234,opt,name=x234",
	Filename:      "test.proto",
}

var E_X235 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         235,
	Name:          "testdata.x235",
	Tag:           "bytes,235,opt,name=x235",
	Filename:      "test.proto",
}

var E_X236 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         236,
	Name:          "testdata.x236",
	Tag:           "bytes,236,opt,name=x236",
	Filename:      "test.proto",
}

var E_X237 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         237,
	Name:          "testdata.x237",
	Tag:           "bytes,237,opt,name=x237",
	Filename:      "test.proto",
}

var E_X238 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         238,
	Name:          "testdata.x238",
	Tag:           "bytes,238,opt,name=x238",
	Filename:      "test.proto",
}

var E_X239 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         239,
	Name:          "testdata.x239",
	Tag:           "bytes,239,opt,name=x239",
	Filename:      "test.proto",
}

var E_X240 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         240,
	Name:          "testdata.x240",
	Tag:           "bytes,240,opt,name=x240",
	Filename:      "test.proto",
}

var E_X241 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         241,
	Name:          "testdata.x241",
	Tag:           "bytes,241,opt,name=x241",
	Filename:      "test.proto",
}

var E_X242 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         242,
	Name:          "testdata.x242",
	Tag:           "bytes,242,opt,name=x242",
	Filename:      "test.proto",
}

var E_X243 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         243,
	Name:          "testdata.x243",
	Tag:           "bytes,243,opt,name=x243",
	Filename:      "test.proto",
}

var E_X244 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         244,
	Name:          "testdata.x244",
	Tag:           "bytes,244,opt,name=x244",
	Filename:      "test.proto",
}

var E_X245 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         245,
	Name:          "testdata.x245",
	Tag:           "bytes,245,opt,name=x245",
	Filename:      "test.proto",
}

var E_X246 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         246,
	Name:          "testdata.x246",
	Tag:           "bytes,246,opt,name=x246",
	Filename:      "test.proto",
}

var E_X247 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         247,
	Name:          "testdata.x247",
	Tag:           "bytes,247,opt,name=x247",
	Filename:      "test.proto",
}

var E_X248 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         248,
	Name:          "testdata.x248",
	Tag:           "bytes,248,opt,name=x248",
	Filename:      "test.proto",
}

var E_X249 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         249,
	Name:          "testdata.x249",
	Tag:           "bytes,249,opt,name=x249",
	Filename:      "test.proto",
}

var E_X250 = &proto.ExtensionDesc{
	ExtendedType:  (*MyMessageSet)(nil),
	ExtensionType: (*Empty)(nil),
	Field:         250,
	Name:          "testdata.x250",
	Tag:           "bytes,250,opt,name=x250",
	Filename:      "test.proto",
}

func init() {
	proto.RegisterType((*GoEnum)(nil), "testdata.GoEnum")
	proto.RegisterType((*GoTestField)(nil), "testdata.GoTestField")
	proto.RegisterType((*GoTest)(nil), "testdata.GoTest")
	proto.RegisterType((*GoTest_RequiredGroup)(nil), "testdata.GoTest.RequiredGroup")
	proto.RegisterType((*GoTest_RepeatedGroup)(nil), "testdata.GoTest.RepeatedGroup")
	proto.RegisterType((*GoTest_OptionalGroup)(nil), "testdata.GoTest.OptionalGroup")
	proto.RegisterType((*GoTestRequiredGroupField)(nil), "testdata.GoTestRequiredGroupField")
	proto.RegisterType((*GoTestRequiredGroupField_Group)(nil), "testdata.GoTestRequiredGroupField.Group")
	proto.RegisterType((*GoSkipTest)(nil), "testdata.GoSkipTest")
	proto.RegisterType((*GoSkipTest_SkipGroup)(nil), "testdata.GoSkipTest.SkipGroup")
	proto.RegisterType((*NonPackedTest)(nil), "testdata.NonPackedTest")
	proto.RegisterType((*PackedTest)(nil), "testdata.PackedTest")
	proto.RegisterType((*MaxTag)(nil), "testdata.MaxTag")
	proto.RegisterType((*OldMessage)(nil), "testdata.OldMessage")
	proto.RegisterType((*OldMessage_Nested)(nil), "testdata.OldMessage.Nested")
	proto.RegisterType((*NewMessage)(nil), "testdata.NewMessage")
	proto.RegisterType((*NewMessage_Nested)(nil), "testdata.NewMessage.Nested")
	proto.RegisterType((*InnerMessage)(nil), "testdata.InnerMessage")
	proto.RegisterType((*OtherMessage)(nil), "testdata.OtherMessage")
	proto.RegisterType((*RequiredInnerMessage)(nil), "testdata.RequiredInnerMessage")
	proto.RegisterType((*MyMessage)(nil), "testdata.MyMessage")
	proto.RegisterType((*MyMessage_SomeGroup)(nil), "testdata.MyMessage.SomeGroup")
	proto.RegisterType((*Ext)(nil), "testdata.Ext")
	proto.RegisterType((*ComplexExtension)(nil), "testdata.ComplexExtension")
	proto.RegisterType((*DefaultsMessage)(nil), "testdata.DefaultsMessage")
	proto.RegisterType((*MyMessageSet)(nil), "testdata.MyMessageSet")
	proto.RegisterType((*Empty)(nil), "testdata.Empty")
	proto.RegisterType((*MessageList)(nil), "testdata.MessageList")
	proto.RegisterType((*MessageList_Message)(nil), "testdata.MessageList.Message")
	proto.RegisterType((*Strings)(nil), "testdata.Strings")
	proto.RegisterType((*Defaults)(nil), "testdata.Defaults")
	proto.RegisterType((*SubDefaults)(nil), "testdata.SubDefaults")
	proto.RegisterType((*RepeatedEnum)(nil), "testdata.RepeatedEnum")
	proto.RegisterType((*MoreRepeated)(nil), "testdata.MoreRepeated")
	proto.RegisterType((*GroupOld)(nil), "testdata.GroupOld")
	proto.RegisterType((*GroupOld_G)(nil), "testdata.GroupOld.G")
	proto.RegisterType((*GroupNew)(nil), "testdata.GroupNew")
	proto.RegisterType((*GroupNew_G)(nil), "testdata.GroupNew.G")
	proto.RegisterType((*FloatingPoint)(nil), "testdata.FloatingPoint")
	proto.RegisterType((*MessageWithMap)(nil), "testdata.MessageWithMap")
	proto.RegisterType((*Oneof)(nil), "testdata.Oneof")
	proto.RegisterType((*Oneof_F_Group)(nil), "testdata.Oneof.F_Group")
	proto.RegisterType((*Communique)(nil), "testdata.Communique")
	proto.RegisterEnum("testdata.FOO", FOO_name, FOO_value)
	proto.RegisterEnum("testdata.GoTest_KIND", GoTest_KIND_name, GoTest_KIND_value)
	proto.RegisterEnum("testdata.MyMessage_Color", MyMessage_Color_name, MyMessage_Color_value)
	proto.RegisterEnum("testdata.DefaultsMessage_DefaultsEnum", DefaultsMessage_DefaultsEnum_name, DefaultsMessage_DefaultsEnum_value)
	proto.RegisterEnum("testdata.Defaults_Color", Defaults_Color_name, Defaults_Color_value)
	proto.RegisterEnum("testdata.RepeatedEnum_Color", RepeatedEnum_Color_name, RepeatedEnum_Color_value)
	proto.RegisterExtension(E_Ext_More)
	proto.RegisterExtension(E_Ext_Text)
	proto.RegisterExtension(E_Ext_Number)
	proto.RegisterExtension(E_Greeting)
	proto.RegisterExtension(E_Complex)
	proto.RegisterExtension(E_RComplex)
	proto.RegisterExtension(E_NoDefaultDouble)
	proto.RegisterExtension(E_NoDefaultFloat)
	proto.RegisterExtension(E_NoDefaultInt32)
	proto.RegisterExtension(E_NoDefaultInt64)
	proto.RegisterExtension(E_NoDefaultUint32)
	proto.RegisterExtension(E_NoDefaultUint64)
	proto.RegisterExtension(E_NoDefaultSint32)
	proto.RegisterExtension(E_NoDefaultSint64)
	proto.RegisterExtension(E_NoDefaultFixed32)
	proto.RegisterExtension(E_NoDefaultFixed64)
	proto.RegisterExtension(E_NoDefaultSfixed32)
	proto.RegisterExtension(E_NoDefaultSfixed64)
	proto.RegisterExtension(E_NoDefaultBool)
	proto.RegisterExtension(E_NoDefaultString)
	proto.RegisterExtension(E_NoDefaultBytes)
	proto.RegisterExtension(E_NoDefaultEnum)
	proto.RegisterExtension(E_DefaultDouble)
	proto.RegisterExtension(E_DefaultFloat)
	proto.RegisterExtension(E_DefaultInt32)
	proto.RegisterExtension(E_DefaultInt64)
	proto.RegisterExtension(E_DefaultUint32)
	proto.RegisterExtension(E_DefaultUint64)
	proto.RegisterExtension(E_DefaultSint32)
	proto.RegisterExtension(E_DefaultSint64)
	proto.RegisterExtension(E_DefaultFixed32)
	proto.RegisterExtension(E_DefaultFixed64)
	proto.RegisterExtension(E_DefaultSfixed32)
	proto.RegisterExtension(E_DefaultSfixed64)
	proto.RegisterExtension(E_DefaultBool)
	proto.RegisterExtension(E_DefaultString)
	proto.RegisterExtension(E_DefaultBytes)
	proto.RegisterExtension(E_DefaultEnum)
	proto.RegisterExtension(E_X201)
	proto.RegisterExtension(E_X202)
	proto.RegisterExtension(E_X203)
	proto.RegisterExtension(E_X204)
	proto.RegisterExtension(E_X205)
	proto.RegisterExtension(E_X206)
	proto.RegisterExtension(E_X207)
	proto.RegisterExtension(E_X208)
	proto.RegisterExtension(E_X209)
	proto.RegisterExtension(E_X210)
	proto.RegisterExtension(E_X211)
	proto.RegisterExtension(E_X212)
	proto.RegisterExtension(E_X213)
	proto.RegisterExtension(E_X214)
	proto.RegisterExtension(E_X215)
	proto.RegisterExtension(E_X216)
	proto.RegisterExtension(E_X217)
	proto.RegisterExtension(E_X218)
	proto.RegisterExtension(E_X219)
	proto.RegisterExtension(E_X220)
	proto.RegisterExtension(E_X221)
	proto.RegisterExtension(E_X222)
	proto.RegisterExtension(E_X223)
	proto.RegisterExtension(E_X224)
	proto.RegisterExtension(E_X225)
	proto.RegisterExtension(E_X226)
	proto.RegisterExtension(E_X227)
	proto.RegisterExtension(E_X228)
	proto.RegisterExtension(E_X229)
	proto.RegisterExtension(E_X230)
	proto.RegisterExtension(E_X231)
	proto.RegisterExtension(E_X232)
	proto.RegisterExtension(E_X233)
	proto.RegisterExtension(E_X234)
	proto.RegisterExtension(E_X235)
	proto.RegisterExtension(E_X236)
	proto.RegisterExtension(E_X237)
	proto.RegisterExtension(E_X238)
	proto.RegisterExtension(E_X239)
	proto.RegisterExtension(E_X240)
	proto.RegisterExtension(E_X241)
	proto.RegisterExtension(E_X242)
	proto.RegisterExtension(E_X243)
	proto.RegisterExtension(E_X244)
	proto.RegisterExtension(E_X245)
	proto.RegisterExtension(E_X246)
	proto.RegisterExtension(E_X247)
	proto.RegisterExtension(E_X248)
	proto.RegisterExtension(E_X249)
	proto.RegisterExtension(E_X250)
}

func init() { proto.RegisterFile("test.proto", fileDescriptorTest) }

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