github.com/Finschia/finschia-sdk@v0.48.1/testutil/testdata/unknonwnproto.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: unknonwnproto.proto
     3  
     4  package testdata
     5  
     6  import (
     7  	encoding_binary "encoding/binary"
     8  	fmt "fmt"
     9  	types "github.com/Finschia/finschia-sdk/codec/types"
    10  	tx "github.com/Finschia/finschia-sdk/types/tx"
    11  	_ "github.com/gogo/protobuf/gogoproto"
    12  	proto "github.com/gogo/protobuf/proto"
    13  	io "io"
    14  	math "math"
    15  	math_bits "math/bits"
    16  )
    17  
    18  // Reference imports to suppress errors if they are not otherwise used.
    19  var _ = proto.Marshal
    20  var _ = fmt.Errorf
    21  var _ = math.Inf
    22  
    23  // This is a compile-time assertion to ensure that this generated file
    24  // is compatible with the proto package it is being compiled against.
    25  // A compilation error at this line likely means your copy of the
    26  // proto package needs to be updated.
    27  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    28  
    29  type Customer2_City int32
    30  
    31  const (
    32  	Customer2_Laos       Customer2_City = 0
    33  	Customer2_LosAngeles Customer2_City = 1
    34  	Customer2_PaloAlto   Customer2_City = 2
    35  	Customer2_Moscow     Customer2_City = 3
    36  	Customer2_Nairobi    Customer2_City = 4
    37  )
    38  
    39  var Customer2_City_name = map[int32]string{
    40  	0: "Laos",
    41  	1: "LosAngeles",
    42  	2: "PaloAlto",
    43  	3: "Moscow",
    44  	4: "Nairobi",
    45  }
    46  
    47  var Customer2_City_value = map[string]int32{
    48  	"Laos":       0,
    49  	"LosAngeles": 1,
    50  	"PaloAlto":   2,
    51  	"Moscow":     3,
    52  	"Nairobi":    4,
    53  }
    54  
    55  func (x Customer2_City) String() string {
    56  	return proto.EnumName(Customer2_City_name, int32(x))
    57  }
    58  
    59  func (Customer2_City) EnumDescriptor() ([]byte, []int) {
    60  	return fileDescriptor_448ea787339d1228, []int{1, 0}
    61  }
    62  
    63  type Customer1 struct {
    64  	Id              int32   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
    65  	Name            string  `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
    66  	SubscriptionFee float32 `protobuf:"fixed32,3,opt,name=subscription_fee,json=subscriptionFee,proto3" json:"subscription_fee,omitempty"`
    67  	Payment         string  `protobuf:"bytes,7,opt,name=payment,proto3" json:"payment,omitempty"`
    68  }
    69  
    70  func (m *Customer1) Reset()         { *m = Customer1{} }
    71  func (m *Customer1) String() string { return proto.CompactTextString(m) }
    72  func (*Customer1) ProtoMessage()    {}
    73  func (*Customer1) Descriptor() ([]byte, []int) {
    74  	return fileDescriptor_448ea787339d1228, []int{0}
    75  }
    76  func (m *Customer1) XXX_Unmarshal(b []byte) error {
    77  	return m.Unmarshal(b)
    78  }
    79  func (m *Customer1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    80  	if deterministic {
    81  		return xxx_messageInfo_Customer1.Marshal(b, m, deterministic)
    82  	} else {
    83  		b = b[:cap(b)]
    84  		n, err := m.MarshalToSizedBuffer(b)
    85  		if err != nil {
    86  			return nil, err
    87  		}
    88  		return b[:n], nil
    89  	}
    90  }
    91  func (m *Customer1) XXX_Merge(src proto.Message) {
    92  	xxx_messageInfo_Customer1.Merge(m, src)
    93  }
    94  func (m *Customer1) XXX_Size() int {
    95  	return m.Size()
    96  }
    97  func (m *Customer1) XXX_DiscardUnknown() {
    98  	xxx_messageInfo_Customer1.DiscardUnknown(m)
    99  }
   100  
   101  var xxx_messageInfo_Customer1 proto.InternalMessageInfo
   102  
   103  func (m *Customer1) GetId() int32 {
   104  	if m != nil {
   105  		return m.Id
   106  	}
   107  	return 0
   108  }
   109  
   110  func (m *Customer1) GetName() string {
   111  	if m != nil {
   112  		return m.Name
   113  	}
   114  	return ""
   115  }
   116  
   117  func (m *Customer1) GetSubscriptionFee() float32 {
   118  	if m != nil {
   119  		return m.SubscriptionFee
   120  	}
   121  	return 0
   122  }
   123  
   124  func (m *Customer1) GetPayment() string {
   125  	if m != nil {
   126  		return m.Payment
   127  	}
   128  	return ""
   129  }
   130  
   131  type Customer2 struct {
   132  	Id            int32          `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
   133  	Industry      int32          `protobuf:"varint,2,opt,name=industry,proto3" json:"industry,omitempty"`
   134  	Name          string         `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
   135  	Fewer         float32        `protobuf:"fixed32,4,opt,name=fewer,proto3" json:"fewer,omitempty"`
   136  	Reserved      int64          `protobuf:"varint,1047,opt,name=reserved,proto3" json:"reserved,omitempty"`
   137  	City          Customer2_City `protobuf:"varint,6,opt,name=city,proto3,enum=testdata.Customer2_City" json:"city,omitempty"`
   138  	Miscellaneous *types.Any     `protobuf:"bytes,10,opt,name=miscellaneous,proto3" json:"miscellaneous,omitempty"`
   139  }
   140  
   141  func (m *Customer2) Reset()         { *m = Customer2{} }
   142  func (m *Customer2) String() string { return proto.CompactTextString(m) }
   143  func (*Customer2) ProtoMessage()    {}
   144  func (*Customer2) Descriptor() ([]byte, []int) {
   145  	return fileDescriptor_448ea787339d1228, []int{1}
   146  }
   147  func (m *Customer2) XXX_Unmarshal(b []byte) error {
   148  	return m.Unmarshal(b)
   149  }
   150  func (m *Customer2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   151  	if deterministic {
   152  		return xxx_messageInfo_Customer2.Marshal(b, m, deterministic)
   153  	} else {
   154  		b = b[:cap(b)]
   155  		n, err := m.MarshalToSizedBuffer(b)
   156  		if err != nil {
   157  			return nil, err
   158  		}
   159  		return b[:n], nil
   160  	}
   161  }
   162  func (m *Customer2) XXX_Merge(src proto.Message) {
   163  	xxx_messageInfo_Customer2.Merge(m, src)
   164  }
   165  func (m *Customer2) XXX_Size() int {
   166  	return m.Size()
   167  }
   168  func (m *Customer2) XXX_DiscardUnknown() {
   169  	xxx_messageInfo_Customer2.DiscardUnknown(m)
   170  }
   171  
   172  var xxx_messageInfo_Customer2 proto.InternalMessageInfo
   173  
   174  func (m *Customer2) GetId() int32 {
   175  	if m != nil {
   176  		return m.Id
   177  	}
   178  	return 0
   179  }
   180  
   181  func (m *Customer2) GetIndustry() int32 {
   182  	if m != nil {
   183  		return m.Industry
   184  	}
   185  	return 0
   186  }
   187  
   188  func (m *Customer2) GetName() string {
   189  	if m != nil {
   190  		return m.Name
   191  	}
   192  	return ""
   193  }
   194  
   195  func (m *Customer2) GetFewer() float32 {
   196  	if m != nil {
   197  		return m.Fewer
   198  	}
   199  	return 0
   200  }
   201  
   202  func (m *Customer2) GetReserved() int64 {
   203  	if m != nil {
   204  		return m.Reserved
   205  	}
   206  	return 0
   207  }
   208  
   209  func (m *Customer2) GetCity() Customer2_City {
   210  	if m != nil {
   211  		return m.City
   212  	}
   213  	return Customer2_Laos
   214  }
   215  
   216  func (m *Customer2) GetMiscellaneous() *types.Any {
   217  	if m != nil {
   218  		return m.Miscellaneous
   219  	}
   220  	return nil
   221  }
   222  
   223  type Nested4A struct {
   224  	Id   int32  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
   225  	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   226  }
   227  
   228  func (m *Nested4A) Reset()         { *m = Nested4A{} }
   229  func (m *Nested4A) String() string { return proto.CompactTextString(m) }
   230  func (*Nested4A) ProtoMessage()    {}
   231  func (*Nested4A) Descriptor() ([]byte, []int) {
   232  	return fileDescriptor_448ea787339d1228, []int{2}
   233  }
   234  func (m *Nested4A) XXX_Unmarshal(b []byte) error {
   235  	return m.Unmarshal(b)
   236  }
   237  func (m *Nested4A) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   238  	if deterministic {
   239  		return xxx_messageInfo_Nested4A.Marshal(b, m, deterministic)
   240  	} else {
   241  		b = b[:cap(b)]
   242  		n, err := m.MarshalToSizedBuffer(b)
   243  		if err != nil {
   244  			return nil, err
   245  		}
   246  		return b[:n], nil
   247  	}
   248  }
   249  func (m *Nested4A) XXX_Merge(src proto.Message) {
   250  	xxx_messageInfo_Nested4A.Merge(m, src)
   251  }
   252  func (m *Nested4A) XXX_Size() int {
   253  	return m.Size()
   254  }
   255  func (m *Nested4A) XXX_DiscardUnknown() {
   256  	xxx_messageInfo_Nested4A.DiscardUnknown(m)
   257  }
   258  
   259  var xxx_messageInfo_Nested4A proto.InternalMessageInfo
   260  
   261  func (m *Nested4A) GetId() int32 {
   262  	if m != nil {
   263  		return m.Id
   264  	}
   265  	return 0
   266  }
   267  
   268  func (m *Nested4A) GetName() string {
   269  	if m != nil {
   270  		return m.Name
   271  	}
   272  	return ""
   273  }
   274  
   275  type Nested3A struct {
   276  	Id    int32               `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
   277  	Name  string              `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   278  	A4    []*Nested4A         `protobuf:"bytes,4,rep,name=a4,proto3" json:"a4,omitempty"`
   279  	Index map[int64]*Nested4A `protobuf:"bytes,5,rep,name=index,proto3" json:"index,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   280  }
   281  
   282  func (m *Nested3A) Reset()         { *m = Nested3A{} }
   283  func (m *Nested3A) String() string { return proto.CompactTextString(m) }
   284  func (*Nested3A) ProtoMessage()    {}
   285  func (*Nested3A) Descriptor() ([]byte, []int) {
   286  	return fileDescriptor_448ea787339d1228, []int{3}
   287  }
   288  func (m *Nested3A) XXX_Unmarshal(b []byte) error {
   289  	return m.Unmarshal(b)
   290  }
   291  func (m *Nested3A) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   292  	if deterministic {
   293  		return xxx_messageInfo_Nested3A.Marshal(b, m, deterministic)
   294  	} else {
   295  		b = b[:cap(b)]
   296  		n, err := m.MarshalToSizedBuffer(b)
   297  		if err != nil {
   298  			return nil, err
   299  		}
   300  		return b[:n], nil
   301  	}
   302  }
   303  func (m *Nested3A) XXX_Merge(src proto.Message) {
   304  	xxx_messageInfo_Nested3A.Merge(m, src)
   305  }
   306  func (m *Nested3A) XXX_Size() int {
   307  	return m.Size()
   308  }
   309  func (m *Nested3A) XXX_DiscardUnknown() {
   310  	xxx_messageInfo_Nested3A.DiscardUnknown(m)
   311  }
   312  
   313  var xxx_messageInfo_Nested3A proto.InternalMessageInfo
   314  
   315  func (m *Nested3A) GetId() int32 {
   316  	if m != nil {
   317  		return m.Id
   318  	}
   319  	return 0
   320  }
   321  
   322  func (m *Nested3A) GetName() string {
   323  	if m != nil {
   324  		return m.Name
   325  	}
   326  	return ""
   327  }
   328  
   329  func (m *Nested3A) GetA4() []*Nested4A {
   330  	if m != nil {
   331  		return m.A4
   332  	}
   333  	return nil
   334  }
   335  
   336  func (m *Nested3A) GetIndex() map[int64]*Nested4A {
   337  	if m != nil {
   338  		return m.Index
   339  	}
   340  	return nil
   341  }
   342  
   343  type Nested2A struct {
   344  	Id     int32     `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
   345  	Name   string    `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   346  	Nested *Nested3A `protobuf:"bytes,3,opt,name=nested,proto3" json:"nested,omitempty"`
   347  }
   348  
   349  func (m *Nested2A) Reset()         { *m = Nested2A{} }
   350  func (m *Nested2A) String() string { return proto.CompactTextString(m) }
   351  func (*Nested2A) ProtoMessage()    {}
   352  func (*Nested2A) Descriptor() ([]byte, []int) {
   353  	return fileDescriptor_448ea787339d1228, []int{4}
   354  }
   355  func (m *Nested2A) XXX_Unmarshal(b []byte) error {
   356  	return m.Unmarshal(b)
   357  }
   358  func (m *Nested2A) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   359  	if deterministic {
   360  		return xxx_messageInfo_Nested2A.Marshal(b, m, deterministic)
   361  	} else {
   362  		b = b[:cap(b)]
   363  		n, err := m.MarshalToSizedBuffer(b)
   364  		if err != nil {
   365  			return nil, err
   366  		}
   367  		return b[:n], nil
   368  	}
   369  }
   370  func (m *Nested2A) XXX_Merge(src proto.Message) {
   371  	xxx_messageInfo_Nested2A.Merge(m, src)
   372  }
   373  func (m *Nested2A) XXX_Size() int {
   374  	return m.Size()
   375  }
   376  func (m *Nested2A) XXX_DiscardUnknown() {
   377  	xxx_messageInfo_Nested2A.DiscardUnknown(m)
   378  }
   379  
   380  var xxx_messageInfo_Nested2A proto.InternalMessageInfo
   381  
   382  func (m *Nested2A) GetId() int32 {
   383  	if m != nil {
   384  		return m.Id
   385  	}
   386  	return 0
   387  }
   388  
   389  func (m *Nested2A) GetName() string {
   390  	if m != nil {
   391  		return m.Name
   392  	}
   393  	return ""
   394  }
   395  
   396  func (m *Nested2A) GetNested() *Nested3A {
   397  	if m != nil {
   398  		return m.Nested
   399  	}
   400  	return nil
   401  }
   402  
   403  type Nested1A struct {
   404  	Id     int32     `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
   405  	Nested *Nested2A `protobuf:"bytes,2,opt,name=nested,proto3" json:"nested,omitempty"`
   406  }
   407  
   408  func (m *Nested1A) Reset()         { *m = Nested1A{} }
   409  func (m *Nested1A) String() string { return proto.CompactTextString(m) }
   410  func (*Nested1A) ProtoMessage()    {}
   411  func (*Nested1A) Descriptor() ([]byte, []int) {
   412  	return fileDescriptor_448ea787339d1228, []int{5}
   413  }
   414  func (m *Nested1A) XXX_Unmarshal(b []byte) error {
   415  	return m.Unmarshal(b)
   416  }
   417  func (m *Nested1A) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   418  	if deterministic {
   419  		return xxx_messageInfo_Nested1A.Marshal(b, m, deterministic)
   420  	} else {
   421  		b = b[:cap(b)]
   422  		n, err := m.MarshalToSizedBuffer(b)
   423  		if err != nil {
   424  			return nil, err
   425  		}
   426  		return b[:n], nil
   427  	}
   428  }
   429  func (m *Nested1A) XXX_Merge(src proto.Message) {
   430  	xxx_messageInfo_Nested1A.Merge(m, src)
   431  }
   432  func (m *Nested1A) XXX_Size() int {
   433  	return m.Size()
   434  }
   435  func (m *Nested1A) XXX_DiscardUnknown() {
   436  	xxx_messageInfo_Nested1A.DiscardUnknown(m)
   437  }
   438  
   439  var xxx_messageInfo_Nested1A proto.InternalMessageInfo
   440  
   441  func (m *Nested1A) GetId() int32 {
   442  	if m != nil {
   443  		return m.Id
   444  	}
   445  	return 0
   446  }
   447  
   448  func (m *Nested1A) GetNested() *Nested2A {
   449  	if m != nil {
   450  		return m.Nested
   451  	}
   452  	return nil
   453  }
   454  
   455  type Nested4B struct {
   456  	Id   int32  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
   457  	Age  int32  `protobuf:"varint,2,opt,name=age,proto3" json:"age,omitempty"`
   458  	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
   459  }
   460  
   461  func (m *Nested4B) Reset()         { *m = Nested4B{} }
   462  func (m *Nested4B) String() string { return proto.CompactTextString(m) }
   463  func (*Nested4B) ProtoMessage()    {}
   464  func (*Nested4B) Descriptor() ([]byte, []int) {
   465  	return fileDescriptor_448ea787339d1228, []int{6}
   466  }
   467  func (m *Nested4B) XXX_Unmarshal(b []byte) error {
   468  	return m.Unmarshal(b)
   469  }
   470  func (m *Nested4B) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   471  	if deterministic {
   472  		return xxx_messageInfo_Nested4B.Marshal(b, m, deterministic)
   473  	} else {
   474  		b = b[:cap(b)]
   475  		n, err := m.MarshalToSizedBuffer(b)
   476  		if err != nil {
   477  			return nil, err
   478  		}
   479  		return b[:n], nil
   480  	}
   481  }
   482  func (m *Nested4B) XXX_Merge(src proto.Message) {
   483  	xxx_messageInfo_Nested4B.Merge(m, src)
   484  }
   485  func (m *Nested4B) XXX_Size() int {
   486  	return m.Size()
   487  }
   488  func (m *Nested4B) XXX_DiscardUnknown() {
   489  	xxx_messageInfo_Nested4B.DiscardUnknown(m)
   490  }
   491  
   492  var xxx_messageInfo_Nested4B proto.InternalMessageInfo
   493  
   494  func (m *Nested4B) GetId() int32 {
   495  	if m != nil {
   496  		return m.Id
   497  	}
   498  	return 0
   499  }
   500  
   501  func (m *Nested4B) GetAge() int32 {
   502  	if m != nil {
   503  		return m.Age
   504  	}
   505  	return 0
   506  }
   507  
   508  func (m *Nested4B) GetName() string {
   509  	if m != nil {
   510  		return m.Name
   511  	}
   512  	return ""
   513  }
   514  
   515  type Nested3B struct {
   516  	Id   int32       `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
   517  	Age  int32       `protobuf:"varint,2,opt,name=age,proto3" json:"age,omitempty"`
   518  	Name string      `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
   519  	B4   []*Nested4B `protobuf:"bytes,4,rep,name=b4,proto3" json:"b4,omitempty"`
   520  }
   521  
   522  func (m *Nested3B) Reset()         { *m = Nested3B{} }
   523  func (m *Nested3B) String() string { return proto.CompactTextString(m) }
   524  func (*Nested3B) ProtoMessage()    {}
   525  func (*Nested3B) Descriptor() ([]byte, []int) {
   526  	return fileDescriptor_448ea787339d1228, []int{7}
   527  }
   528  func (m *Nested3B) XXX_Unmarshal(b []byte) error {
   529  	return m.Unmarshal(b)
   530  }
   531  func (m *Nested3B) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   532  	if deterministic {
   533  		return xxx_messageInfo_Nested3B.Marshal(b, m, deterministic)
   534  	} else {
   535  		b = b[:cap(b)]
   536  		n, err := m.MarshalToSizedBuffer(b)
   537  		if err != nil {
   538  			return nil, err
   539  		}
   540  		return b[:n], nil
   541  	}
   542  }
   543  func (m *Nested3B) XXX_Merge(src proto.Message) {
   544  	xxx_messageInfo_Nested3B.Merge(m, src)
   545  }
   546  func (m *Nested3B) XXX_Size() int {
   547  	return m.Size()
   548  }
   549  func (m *Nested3B) XXX_DiscardUnknown() {
   550  	xxx_messageInfo_Nested3B.DiscardUnknown(m)
   551  }
   552  
   553  var xxx_messageInfo_Nested3B proto.InternalMessageInfo
   554  
   555  func (m *Nested3B) GetId() int32 {
   556  	if m != nil {
   557  		return m.Id
   558  	}
   559  	return 0
   560  }
   561  
   562  func (m *Nested3B) GetAge() int32 {
   563  	if m != nil {
   564  		return m.Age
   565  	}
   566  	return 0
   567  }
   568  
   569  func (m *Nested3B) GetName() string {
   570  	if m != nil {
   571  		return m.Name
   572  	}
   573  	return ""
   574  }
   575  
   576  func (m *Nested3B) GetB4() []*Nested4B {
   577  	if m != nil {
   578  		return m.B4
   579  	}
   580  	return nil
   581  }
   582  
   583  type Nested2B struct {
   584  	Id     int32     `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
   585  	Fee    float64   `protobuf:"fixed64,2,opt,name=fee,proto3" json:"fee,omitempty"`
   586  	Nested *Nested3B `protobuf:"bytes,3,opt,name=nested,proto3" json:"nested,omitempty"`
   587  	Route  string    `protobuf:"bytes,4,opt,name=route,proto3" json:"route,omitempty"`
   588  }
   589  
   590  func (m *Nested2B) Reset()         { *m = Nested2B{} }
   591  func (m *Nested2B) String() string { return proto.CompactTextString(m) }
   592  func (*Nested2B) ProtoMessage()    {}
   593  func (*Nested2B) Descriptor() ([]byte, []int) {
   594  	return fileDescriptor_448ea787339d1228, []int{8}
   595  }
   596  func (m *Nested2B) XXX_Unmarshal(b []byte) error {
   597  	return m.Unmarshal(b)
   598  }
   599  func (m *Nested2B) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   600  	if deterministic {
   601  		return xxx_messageInfo_Nested2B.Marshal(b, m, deterministic)
   602  	} else {
   603  		b = b[:cap(b)]
   604  		n, err := m.MarshalToSizedBuffer(b)
   605  		if err != nil {
   606  			return nil, err
   607  		}
   608  		return b[:n], nil
   609  	}
   610  }
   611  func (m *Nested2B) XXX_Merge(src proto.Message) {
   612  	xxx_messageInfo_Nested2B.Merge(m, src)
   613  }
   614  func (m *Nested2B) XXX_Size() int {
   615  	return m.Size()
   616  }
   617  func (m *Nested2B) XXX_DiscardUnknown() {
   618  	xxx_messageInfo_Nested2B.DiscardUnknown(m)
   619  }
   620  
   621  var xxx_messageInfo_Nested2B proto.InternalMessageInfo
   622  
   623  func (m *Nested2B) GetId() int32 {
   624  	if m != nil {
   625  		return m.Id
   626  	}
   627  	return 0
   628  }
   629  
   630  func (m *Nested2B) GetFee() float64 {
   631  	if m != nil {
   632  		return m.Fee
   633  	}
   634  	return 0
   635  }
   636  
   637  func (m *Nested2B) GetNested() *Nested3B {
   638  	if m != nil {
   639  		return m.Nested
   640  	}
   641  	return nil
   642  }
   643  
   644  func (m *Nested2B) GetRoute() string {
   645  	if m != nil {
   646  		return m.Route
   647  	}
   648  	return ""
   649  }
   650  
   651  type Nested1B struct {
   652  	Id     int32     `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
   653  	Nested *Nested2B `protobuf:"bytes,2,opt,name=nested,proto3" json:"nested,omitempty"`
   654  	Age    int32     `protobuf:"varint,3,opt,name=age,proto3" json:"age,omitempty"`
   655  }
   656  
   657  func (m *Nested1B) Reset()         { *m = Nested1B{} }
   658  func (m *Nested1B) String() string { return proto.CompactTextString(m) }
   659  func (*Nested1B) ProtoMessage()    {}
   660  func (*Nested1B) Descriptor() ([]byte, []int) {
   661  	return fileDescriptor_448ea787339d1228, []int{9}
   662  }
   663  func (m *Nested1B) XXX_Unmarshal(b []byte) error {
   664  	return m.Unmarshal(b)
   665  }
   666  func (m *Nested1B) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   667  	if deterministic {
   668  		return xxx_messageInfo_Nested1B.Marshal(b, m, deterministic)
   669  	} else {
   670  		b = b[:cap(b)]
   671  		n, err := m.MarshalToSizedBuffer(b)
   672  		if err != nil {
   673  			return nil, err
   674  		}
   675  		return b[:n], nil
   676  	}
   677  }
   678  func (m *Nested1B) XXX_Merge(src proto.Message) {
   679  	xxx_messageInfo_Nested1B.Merge(m, src)
   680  }
   681  func (m *Nested1B) XXX_Size() int {
   682  	return m.Size()
   683  }
   684  func (m *Nested1B) XXX_DiscardUnknown() {
   685  	xxx_messageInfo_Nested1B.DiscardUnknown(m)
   686  }
   687  
   688  var xxx_messageInfo_Nested1B proto.InternalMessageInfo
   689  
   690  func (m *Nested1B) GetId() int32 {
   691  	if m != nil {
   692  		return m.Id
   693  	}
   694  	return 0
   695  }
   696  
   697  func (m *Nested1B) GetNested() *Nested2B {
   698  	if m != nil {
   699  		return m.Nested
   700  	}
   701  	return nil
   702  }
   703  
   704  func (m *Nested1B) GetAge() int32 {
   705  	if m != nil {
   706  		return m.Age
   707  	}
   708  	return 0
   709  }
   710  
   711  type Customer3 struct {
   712  	Id          int32   `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
   713  	Name        string  `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   714  	Sf          float32 `protobuf:"fixed32,3,opt,name=sf,proto3" json:"sf,omitempty"`
   715  	Surcharge   float32 `protobuf:"fixed32,4,opt,name=surcharge,proto3" json:"surcharge,omitempty"`
   716  	Destination string  `protobuf:"bytes,5,opt,name=destination,proto3" json:"destination,omitempty"`
   717  	// Types that are valid to be assigned to Payment:
   718  	//	*Customer3_CreditCardNo
   719  	//	*Customer3_ChequeNo
   720  	Payment  isCustomer3_Payment `protobuf_oneof:"payment"`
   721  	Original *Customer1          `protobuf:"bytes,9,opt,name=original,proto3" json:"original,omitempty"`
   722  }
   723  
   724  func (m *Customer3) Reset()         { *m = Customer3{} }
   725  func (m *Customer3) String() string { return proto.CompactTextString(m) }
   726  func (*Customer3) ProtoMessage()    {}
   727  func (*Customer3) Descriptor() ([]byte, []int) {
   728  	return fileDescriptor_448ea787339d1228, []int{10}
   729  }
   730  func (m *Customer3) XXX_Unmarshal(b []byte) error {
   731  	return m.Unmarshal(b)
   732  }
   733  func (m *Customer3) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   734  	if deterministic {
   735  		return xxx_messageInfo_Customer3.Marshal(b, m, deterministic)
   736  	} else {
   737  		b = b[:cap(b)]
   738  		n, err := m.MarshalToSizedBuffer(b)
   739  		if err != nil {
   740  			return nil, err
   741  		}
   742  		return b[:n], nil
   743  	}
   744  }
   745  func (m *Customer3) XXX_Merge(src proto.Message) {
   746  	xxx_messageInfo_Customer3.Merge(m, src)
   747  }
   748  func (m *Customer3) XXX_Size() int {
   749  	return m.Size()
   750  }
   751  func (m *Customer3) XXX_DiscardUnknown() {
   752  	xxx_messageInfo_Customer3.DiscardUnknown(m)
   753  }
   754  
   755  var xxx_messageInfo_Customer3 proto.InternalMessageInfo
   756  
   757  type isCustomer3_Payment interface {
   758  	isCustomer3_Payment()
   759  	MarshalTo([]byte) (int, error)
   760  	Size() int
   761  }
   762  
   763  type Customer3_CreditCardNo struct {
   764  	CreditCardNo string `protobuf:"bytes,7,opt,name=credit_card_no,json=creditCardNo,proto3,oneof" json:"credit_card_no,omitempty"`
   765  }
   766  type Customer3_ChequeNo struct {
   767  	ChequeNo string `protobuf:"bytes,8,opt,name=cheque_no,json=chequeNo,proto3,oneof" json:"cheque_no,omitempty"`
   768  }
   769  
   770  func (*Customer3_CreditCardNo) isCustomer3_Payment() {}
   771  func (*Customer3_ChequeNo) isCustomer3_Payment()     {}
   772  
   773  func (m *Customer3) GetPayment() isCustomer3_Payment {
   774  	if m != nil {
   775  		return m.Payment
   776  	}
   777  	return nil
   778  }
   779  
   780  func (m *Customer3) GetId() int32 {
   781  	if m != nil {
   782  		return m.Id
   783  	}
   784  	return 0
   785  }
   786  
   787  func (m *Customer3) GetName() string {
   788  	if m != nil {
   789  		return m.Name
   790  	}
   791  	return ""
   792  }
   793  
   794  func (m *Customer3) GetSf() float32 {
   795  	if m != nil {
   796  		return m.Sf
   797  	}
   798  	return 0
   799  }
   800  
   801  func (m *Customer3) GetSurcharge() float32 {
   802  	if m != nil {
   803  		return m.Surcharge
   804  	}
   805  	return 0
   806  }
   807  
   808  func (m *Customer3) GetDestination() string {
   809  	if m != nil {
   810  		return m.Destination
   811  	}
   812  	return ""
   813  }
   814  
   815  func (m *Customer3) GetCreditCardNo() string {
   816  	if x, ok := m.GetPayment().(*Customer3_CreditCardNo); ok {
   817  		return x.CreditCardNo
   818  	}
   819  	return ""
   820  }
   821  
   822  func (m *Customer3) GetChequeNo() string {
   823  	if x, ok := m.GetPayment().(*Customer3_ChequeNo); ok {
   824  		return x.ChequeNo
   825  	}
   826  	return ""
   827  }
   828  
   829  func (m *Customer3) GetOriginal() *Customer1 {
   830  	if m != nil {
   831  		return m.Original
   832  	}
   833  	return nil
   834  }
   835  
   836  // XXX_OneofWrappers is for the internal use of the proto package.
   837  func (*Customer3) XXX_OneofWrappers() []interface{} {
   838  	return []interface{}{
   839  		(*Customer3_CreditCardNo)(nil),
   840  		(*Customer3_ChequeNo)(nil),
   841  	}
   842  }
   843  
   844  type TestVersion1 struct {
   845  	X int64           `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
   846  	A *TestVersion1   `protobuf:"bytes,2,opt,name=a,proto3" json:"a,omitempty"`
   847  	B *TestVersion1   `protobuf:"bytes,3,opt,name=b,proto3" json:"b,omitempty"`
   848  	C []*TestVersion1 `protobuf:"bytes,4,rep,name=c,proto3" json:"c,omitempty"`
   849  	D []TestVersion1  `protobuf:"bytes,5,rep,name=d,proto3" json:"d"`
   850  	// Types that are valid to be assigned to Sum:
   851  	//	*TestVersion1_E
   852  	//	*TestVersion1_F
   853  	Sum isTestVersion1_Sum `protobuf_oneof:"sum"`
   854  	G   *types.Any         `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"`
   855  	H   []*TestVersion1    `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"`
   856  	// google.protobuf.Timestamp i = 10;
   857  	// google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true];
   858  	*Customer1 `protobuf:"bytes,12,opt,name=k,proto3,embedded=k" json:"k,omitempty"`
   859  }
   860  
   861  func (m *TestVersion1) Reset()         { *m = TestVersion1{} }
   862  func (m *TestVersion1) String() string { return proto.CompactTextString(m) }
   863  func (*TestVersion1) ProtoMessage()    {}
   864  func (*TestVersion1) Descriptor() ([]byte, []int) {
   865  	return fileDescriptor_448ea787339d1228, []int{11}
   866  }
   867  func (m *TestVersion1) XXX_Unmarshal(b []byte) error {
   868  	return m.Unmarshal(b)
   869  }
   870  func (m *TestVersion1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   871  	if deterministic {
   872  		return xxx_messageInfo_TestVersion1.Marshal(b, m, deterministic)
   873  	} else {
   874  		b = b[:cap(b)]
   875  		n, err := m.MarshalToSizedBuffer(b)
   876  		if err != nil {
   877  			return nil, err
   878  		}
   879  		return b[:n], nil
   880  	}
   881  }
   882  func (m *TestVersion1) XXX_Merge(src proto.Message) {
   883  	xxx_messageInfo_TestVersion1.Merge(m, src)
   884  }
   885  func (m *TestVersion1) XXX_Size() int {
   886  	return m.Size()
   887  }
   888  func (m *TestVersion1) XXX_DiscardUnknown() {
   889  	xxx_messageInfo_TestVersion1.DiscardUnknown(m)
   890  }
   891  
   892  var xxx_messageInfo_TestVersion1 proto.InternalMessageInfo
   893  
   894  type isTestVersion1_Sum interface {
   895  	isTestVersion1_Sum()
   896  	MarshalTo([]byte) (int, error)
   897  	Size() int
   898  }
   899  
   900  type TestVersion1_E struct {
   901  	E int32 `protobuf:"varint,6,opt,name=e,proto3,oneof" json:"e,omitempty"`
   902  }
   903  type TestVersion1_F struct {
   904  	F *TestVersion1 `protobuf:"bytes,7,opt,name=f,proto3,oneof" json:"f,omitempty"`
   905  }
   906  
   907  func (*TestVersion1_E) isTestVersion1_Sum() {}
   908  func (*TestVersion1_F) isTestVersion1_Sum() {}
   909  
   910  func (m *TestVersion1) GetSum() isTestVersion1_Sum {
   911  	if m != nil {
   912  		return m.Sum
   913  	}
   914  	return nil
   915  }
   916  
   917  func (m *TestVersion1) GetX() int64 {
   918  	if m != nil {
   919  		return m.X
   920  	}
   921  	return 0
   922  }
   923  
   924  func (m *TestVersion1) GetA() *TestVersion1 {
   925  	if m != nil {
   926  		return m.A
   927  	}
   928  	return nil
   929  }
   930  
   931  func (m *TestVersion1) GetB() *TestVersion1 {
   932  	if m != nil {
   933  		return m.B
   934  	}
   935  	return nil
   936  }
   937  
   938  func (m *TestVersion1) GetC() []*TestVersion1 {
   939  	if m != nil {
   940  		return m.C
   941  	}
   942  	return nil
   943  }
   944  
   945  func (m *TestVersion1) GetD() []TestVersion1 {
   946  	if m != nil {
   947  		return m.D
   948  	}
   949  	return nil
   950  }
   951  
   952  func (m *TestVersion1) GetE() int32 {
   953  	if x, ok := m.GetSum().(*TestVersion1_E); ok {
   954  		return x.E
   955  	}
   956  	return 0
   957  }
   958  
   959  func (m *TestVersion1) GetF() *TestVersion1 {
   960  	if x, ok := m.GetSum().(*TestVersion1_F); ok {
   961  		return x.F
   962  	}
   963  	return nil
   964  }
   965  
   966  func (m *TestVersion1) GetG() *types.Any {
   967  	if m != nil {
   968  		return m.G
   969  	}
   970  	return nil
   971  }
   972  
   973  func (m *TestVersion1) GetH() []*TestVersion1 {
   974  	if m != nil {
   975  		return m.H
   976  	}
   977  	return nil
   978  }
   979  
   980  // XXX_OneofWrappers is for the internal use of the proto package.
   981  func (*TestVersion1) XXX_OneofWrappers() []interface{} {
   982  	return []interface{}{
   983  		(*TestVersion1_E)(nil),
   984  		(*TestVersion1_F)(nil),
   985  	}
   986  }
   987  
   988  type TestVersion2 struct {
   989  	X int64           `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
   990  	A *TestVersion2   `protobuf:"bytes,2,opt,name=a,proto3" json:"a,omitempty"`
   991  	B *TestVersion2   `protobuf:"bytes,3,opt,name=b,proto3" json:"b,omitempty"`
   992  	C []*TestVersion2 `protobuf:"bytes,4,rep,name=c,proto3" json:"c,omitempty"`
   993  	D []*TestVersion2 `protobuf:"bytes,5,rep,name=d,proto3" json:"d,omitempty"`
   994  	// Types that are valid to be assigned to Sum:
   995  	//	*TestVersion2_E
   996  	//	*TestVersion2_F
   997  	Sum isTestVersion2_Sum `protobuf_oneof:"sum"`
   998  	G   *types.Any         `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"`
   999  	H   []*TestVersion1    `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"`
  1000  	// google.protobuf.Timestamp i = 10;
  1001  	// google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true];
  1002  	*Customer1 `protobuf:"bytes,12,opt,name=k,proto3,embedded=k" json:"k,omitempty"`
  1003  	NewField   uint64 `protobuf:"varint,25,opt,name=new_field,json=newField,proto3" json:"new_field,omitempty"`
  1004  }
  1005  
  1006  func (m *TestVersion2) Reset()         { *m = TestVersion2{} }
  1007  func (m *TestVersion2) String() string { return proto.CompactTextString(m) }
  1008  func (*TestVersion2) ProtoMessage()    {}
  1009  func (*TestVersion2) Descriptor() ([]byte, []int) {
  1010  	return fileDescriptor_448ea787339d1228, []int{12}
  1011  }
  1012  func (m *TestVersion2) XXX_Unmarshal(b []byte) error {
  1013  	return m.Unmarshal(b)
  1014  }
  1015  func (m *TestVersion2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1016  	if deterministic {
  1017  		return xxx_messageInfo_TestVersion2.Marshal(b, m, deterministic)
  1018  	} else {
  1019  		b = b[:cap(b)]
  1020  		n, err := m.MarshalToSizedBuffer(b)
  1021  		if err != nil {
  1022  			return nil, err
  1023  		}
  1024  		return b[:n], nil
  1025  	}
  1026  }
  1027  func (m *TestVersion2) XXX_Merge(src proto.Message) {
  1028  	xxx_messageInfo_TestVersion2.Merge(m, src)
  1029  }
  1030  func (m *TestVersion2) XXX_Size() int {
  1031  	return m.Size()
  1032  }
  1033  func (m *TestVersion2) XXX_DiscardUnknown() {
  1034  	xxx_messageInfo_TestVersion2.DiscardUnknown(m)
  1035  }
  1036  
  1037  var xxx_messageInfo_TestVersion2 proto.InternalMessageInfo
  1038  
  1039  type isTestVersion2_Sum interface {
  1040  	isTestVersion2_Sum()
  1041  	MarshalTo([]byte) (int, error)
  1042  	Size() int
  1043  }
  1044  
  1045  type TestVersion2_E struct {
  1046  	E int32 `protobuf:"varint,6,opt,name=e,proto3,oneof" json:"e,omitempty"`
  1047  }
  1048  type TestVersion2_F struct {
  1049  	F *TestVersion2 `protobuf:"bytes,7,opt,name=f,proto3,oneof" json:"f,omitempty"`
  1050  }
  1051  
  1052  func (*TestVersion2_E) isTestVersion2_Sum() {}
  1053  func (*TestVersion2_F) isTestVersion2_Sum() {}
  1054  
  1055  func (m *TestVersion2) GetSum() isTestVersion2_Sum {
  1056  	if m != nil {
  1057  		return m.Sum
  1058  	}
  1059  	return nil
  1060  }
  1061  
  1062  func (m *TestVersion2) GetX() int64 {
  1063  	if m != nil {
  1064  		return m.X
  1065  	}
  1066  	return 0
  1067  }
  1068  
  1069  func (m *TestVersion2) GetA() *TestVersion2 {
  1070  	if m != nil {
  1071  		return m.A
  1072  	}
  1073  	return nil
  1074  }
  1075  
  1076  func (m *TestVersion2) GetB() *TestVersion2 {
  1077  	if m != nil {
  1078  		return m.B
  1079  	}
  1080  	return nil
  1081  }
  1082  
  1083  func (m *TestVersion2) GetC() []*TestVersion2 {
  1084  	if m != nil {
  1085  		return m.C
  1086  	}
  1087  	return nil
  1088  }
  1089  
  1090  func (m *TestVersion2) GetD() []*TestVersion2 {
  1091  	if m != nil {
  1092  		return m.D
  1093  	}
  1094  	return nil
  1095  }
  1096  
  1097  func (m *TestVersion2) GetE() int32 {
  1098  	if x, ok := m.GetSum().(*TestVersion2_E); ok {
  1099  		return x.E
  1100  	}
  1101  	return 0
  1102  }
  1103  
  1104  func (m *TestVersion2) GetF() *TestVersion2 {
  1105  	if x, ok := m.GetSum().(*TestVersion2_F); ok {
  1106  		return x.F
  1107  	}
  1108  	return nil
  1109  }
  1110  
  1111  func (m *TestVersion2) GetG() *types.Any {
  1112  	if m != nil {
  1113  		return m.G
  1114  	}
  1115  	return nil
  1116  }
  1117  
  1118  func (m *TestVersion2) GetH() []*TestVersion1 {
  1119  	if m != nil {
  1120  		return m.H
  1121  	}
  1122  	return nil
  1123  }
  1124  
  1125  func (m *TestVersion2) GetNewField() uint64 {
  1126  	if m != nil {
  1127  		return m.NewField
  1128  	}
  1129  	return 0
  1130  }
  1131  
  1132  // XXX_OneofWrappers is for the internal use of the proto package.
  1133  func (*TestVersion2) XXX_OneofWrappers() []interface{} {
  1134  	return []interface{}{
  1135  		(*TestVersion2_E)(nil),
  1136  		(*TestVersion2_F)(nil),
  1137  	}
  1138  }
  1139  
  1140  type TestVersion3 struct {
  1141  	X int64           `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
  1142  	A *TestVersion3   `protobuf:"bytes,2,opt,name=a,proto3" json:"a,omitempty"`
  1143  	B *TestVersion3   `protobuf:"bytes,3,opt,name=b,proto3" json:"b,omitempty"`
  1144  	C []*TestVersion3 `protobuf:"bytes,4,rep,name=c,proto3" json:"c,omitempty"`
  1145  	D []*TestVersion3 `protobuf:"bytes,5,rep,name=d,proto3" json:"d,omitempty"`
  1146  	// Types that are valid to be assigned to Sum:
  1147  	//	*TestVersion3_E
  1148  	//	*TestVersion3_F
  1149  	Sum isTestVersion3_Sum `protobuf_oneof:"sum"`
  1150  	G   *types.Any         `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"`
  1151  	H   []*TestVersion1    `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"`
  1152  	// google.protobuf.Timestamp i = 10;
  1153  	// google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true];
  1154  	*Customer1       `protobuf:"bytes,12,opt,name=k,proto3,embedded=k" json:"k,omitempty"`
  1155  	NonCriticalField string `protobuf:"bytes,1031,opt,name=non_critical_field,json=nonCriticalField,proto3" json:"non_critical_field,omitempty"`
  1156  }
  1157  
  1158  func (m *TestVersion3) Reset()         { *m = TestVersion3{} }
  1159  func (m *TestVersion3) String() string { return proto.CompactTextString(m) }
  1160  func (*TestVersion3) ProtoMessage()    {}
  1161  func (*TestVersion3) Descriptor() ([]byte, []int) {
  1162  	return fileDescriptor_448ea787339d1228, []int{13}
  1163  }
  1164  func (m *TestVersion3) XXX_Unmarshal(b []byte) error {
  1165  	return m.Unmarshal(b)
  1166  }
  1167  func (m *TestVersion3) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1168  	if deterministic {
  1169  		return xxx_messageInfo_TestVersion3.Marshal(b, m, deterministic)
  1170  	} else {
  1171  		b = b[:cap(b)]
  1172  		n, err := m.MarshalToSizedBuffer(b)
  1173  		if err != nil {
  1174  			return nil, err
  1175  		}
  1176  		return b[:n], nil
  1177  	}
  1178  }
  1179  func (m *TestVersion3) XXX_Merge(src proto.Message) {
  1180  	xxx_messageInfo_TestVersion3.Merge(m, src)
  1181  }
  1182  func (m *TestVersion3) XXX_Size() int {
  1183  	return m.Size()
  1184  }
  1185  func (m *TestVersion3) XXX_DiscardUnknown() {
  1186  	xxx_messageInfo_TestVersion3.DiscardUnknown(m)
  1187  }
  1188  
  1189  var xxx_messageInfo_TestVersion3 proto.InternalMessageInfo
  1190  
  1191  type isTestVersion3_Sum interface {
  1192  	isTestVersion3_Sum()
  1193  	MarshalTo([]byte) (int, error)
  1194  	Size() int
  1195  }
  1196  
  1197  type TestVersion3_E struct {
  1198  	E int32 `protobuf:"varint,6,opt,name=e,proto3,oneof" json:"e,omitempty"`
  1199  }
  1200  type TestVersion3_F struct {
  1201  	F *TestVersion3 `protobuf:"bytes,7,opt,name=f,proto3,oneof" json:"f,omitempty"`
  1202  }
  1203  
  1204  func (*TestVersion3_E) isTestVersion3_Sum() {}
  1205  func (*TestVersion3_F) isTestVersion3_Sum() {}
  1206  
  1207  func (m *TestVersion3) GetSum() isTestVersion3_Sum {
  1208  	if m != nil {
  1209  		return m.Sum
  1210  	}
  1211  	return nil
  1212  }
  1213  
  1214  func (m *TestVersion3) GetX() int64 {
  1215  	if m != nil {
  1216  		return m.X
  1217  	}
  1218  	return 0
  1219  }
  1220  
  1221  func (m *TestVersion3) GetA() *TestVersion3 {
  1222  	if m != nil {
  1223  		return m.A
  1224  	}
  1225  	return nil
  1226  }
  1227  
  1228  func (m *TestVersion3) GetB() *TestVersion3 {
  1229  	if m != nil {
  1230  		return m.B
  1231  	}
  1232  	return nil
  1233  }
  1234  
  1235  func (m *TestVersion3) GetC() []*TestVersion3 {
  1236  	if m != nil {
  1237  		return m.C
  1238  	}
  1239  	return nil
  1240  }
  1241  
  1242  func (m *TestVersion3) GetD() []*TestVersion3 {
  1243  	if m != nil {
  1244  		return m.D
  1245  	}
  1246  	return nil
  1247  }
  1248  
  1249  func (m *TestVersion3) GetE() int32 {
  1250  	if x, ok := m.GetSum().(*TestVersion3_E); ok {
  1251  		return x.E
  1252  	}
  1253  	return 0
  1254  }
  1255  
  1256  func (m *TestVersion3) GetF() *TestVersion3 {
  1257  	if x, ok := m.GetSum().(*TestVersion3_F); ok {
  1258  		return x.F
  1259  	}
  1260  	return nil
  1261  }
  1262  
  1263  func (m *TestVersion3) GetG() *types.Any {
  1264  	if m != nil {
  1265  		return m.G
  1266  	}
  1267  	return nil
  1268  }
  1269  
  1270  func (m *TestVersion3) GetH() []*TestVersion1 {
  1271  	if m != nil {
  1272  		return m.H
  1273  	}
  1274  	return nil
  1275  }
  1276  
  1277  func (m *TestVersion3) GetNonCriticalField() string {
  1278  	if m != nil {
  1279  		return m.NonCriticalField
  1280  	}
  1281  	return ""
  1282  }
  1283  
  1284  // XXX_OneofWrappers is for the internal use of the proto package.
  1285  func (*TestVersion3) XXX_OneofWrappers() []interface{} {
  1286  	return []interface{}{
  1287  		(*TestVersion3_E)(nil),
  1288  		(*TestVersion3_F)(nil),
  1289  	}
  1290  }
  1291  
  1292  type TestVersion3LoneOneOfValue struct {
  1293  	X int64           `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
  1294  	A *TestVersion3   `protobuf:"bytes,2,opt,name=a,proto3" json:"a,omitempty"`
  1295  	B *TestVersion3   `protobuf:"bytes,3,opt,name=b,proto3" json:"b,omitempty"`
  1296  	C []*TestVersion3 `protobuf:"bytes,4,rep,name=c,proto3" json:"c,omitempty"`
  1297  	D []*TestVersion3 `protobuf:"bytes,5,rep,name=d,proto3" json:"d,omitempty"`
  1298  	// Types that are valid to be assigned to Sum:
  1299  	//	*TestVersion3LoneOneOfValue_E
  1300  	Sum isTestVersion3LoneOneOfValue_Sum `protobuf_oneof:"sum"`
  1301  	G   *types.Any                       `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"`
  1302  	H   []*TestVersion1                  `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"`
  1303  	// google.protobuf.Timestamp i = 10;
  1304  	// google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true];
  1305  	*Customer1       `protobuf:"bytes,12,opt,name=k,proto3,embedded=k" json:"k,omitempty"`
  1306  	NonCriticalField string `protobuf:"bytes,1031,opt,name=non_critical_field,json=nonCriticalField,proto3" json:"non_critical_field,omitempty"`
  1307  }
  1308  
  1309  func (m *TestVersion3LoneOneOfValue) Reset()         { *m = TestVersion3LoneOneOfValue{} }
  1310  func (m *TestVersion3LoneOneOfValue) String() string { return proto.CompactTextString(m) }
  1311  func (*TestVersion3LoneOneOfValue) ProtoMessage()    {}
  1312  func (*TestVersion3LoneOneOfValue) Descriptor() ([]byte, []int) {
  1313  	return fileDescriptor_448ea787339d1228, []int{14}
  1314  }
  1315  func (m *TestVersion3LoneOneOfValue) XXX_Unmarshal(b []byte) error {
  1316  	return m.Unmarshal(b)
  1317  }
  1318  func (m *TestVersion3LoneOneOfValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1319  	if deterministic {
  1320  		return xxx_messageInfo_TestVersion3LoneOneOfValue.Marshal(b, m, deterministic)
  1321  	} else {
  1322  		b = b[:cap(b)]
  1323  		n, err := m.MarshalToSizedBuffer(b)
  1324  		if err != nil {
  1325  			return nil, err
  1326  		}
  1327  		return b[:n], nil
  1328  	}
  1329  }
  1330  func (m *TestVersion3LoneOneOfValue) XXX_Merge(src proto.Message) {
  1331  	xxx_messageInfo_TestVersion3LoneOneOfValue.Merge(m, src)
  1332  }
  1333  func (m *TestVersion3LoneOneOfValue) XXX_Size() int {
  1334  	return m.Size()
  1335  }
  1336  func (m *TestVersion3LoneOneOfValue) XXX_DiscardUnknown() {
  1337  	xxx_messageInfo_TestVersion3LoneOneOfValue.DiscardUnknown(m)
  1338  }
  1339  
  1340  var xxx_messageInfo_TestVersion3LoneOneOfValue proto.InternalMessageInfo
  1341  
  1342  type isTestVersion3LoneOneOfValue_Sum interface {
  1343  	isTestVersion3LoneOneOfValue_Sum()
  1344  	MarshalTo([]byte) (int, error)
  1345  	Size() int
  1346  }
  1347  
  1348  type TestVersion3LoneOneOfValue_E struct {
  1349  	E int32 `protobuf:"varint,6,opt,name=e,proto3,oneof" json:"e,omitempty"`
  1350  }
  1351  
  1352  func (*TestVersion3LoneOneOfValue_E) isTestVersion3LoneOneOfValue_Sum() {}
  1353  
  1354  func (m *TestVersion3LoneOneOfValue) GetSum() isTestVersion3LoneOneOfValue_Sum {
  1355  	if m != nil {
  1356  		return m.Sum
  1357  	}
  1358  	return nil
  1359  }
  1360  
  1361  func (m *TestVersion3LoneOneOfValue) GetX() int64 {
  1362  	if m != nil {
  1363  		return m.X
  1364  	}
  1365  	return 0
  1366  }
  1367  
  1368  func (m *TestVersion3LoneOneOfValue) GetA() *TestVersion3 {
  1369  	if m != nil {
  1370  		return m.A
  1371  	}
  1372  	return nil
  1373  }
  1374  
  1375  func (m *TestVersion3LoneOneOfValue) GetB() *TestVersion3 {
  1376  	if m != nil {
  1377  		return m.B
  1378  	}
  1379  	return nil
  1380  }
  1381  
  1382  func (m *TestVersion3LoneOneOfValue) GetC() []*TestVersion3 {
  1383  	if m != nil {
  1384  		return m.C
  1385  	}
  1386  	return nil
  1387  }
  1388  
  1389  func (m *TestVersion3LoneOneOfValue) GetD() []*TestVersion3 {
  1390  	if m != nil {
  1391  		return m.D
  1392  	}
  1393  	return nil
  1394  }
  1395  
  1396  func (m *TestVersion3LoneOneOfValue) GetE() int32 {
  1397  	if x, ok := m.GetSum().(*TestVersion3LoneOneOfValue_E); ok {
  1398  		return x.E
  1399  	}
  1400  	return 0
  1401  }
  1402  
  1403  func (m *TestVersion3LoneOneOfValue) GetG() *types.Any {
  1404  	if m != nil {
  1405  		return m.G
  1406  	}
  1407  	return nil
  1408  }
  1409  
  1410  func (m *TestVersion3LoneOneOfValue) GetH() []*TestVersion1 {
  1411  	if m != nil {
  1412  		return m.H
  1413  	}
  1414  	return nil
  1415  }
  1416  
  1417  func (m *TestVersion3LoneOneOfValue) GetNonCriticalField() string {
  1418  	if m != nil {
  1419  		return m.NonCriticalField
  1420  	}
  1421  	return ""
  1422  }
  1423  
  1424  // XXX_OneofWrappers is for the internal use of the proto package.
  1425  func (*TestVersion3LoneOneOfValue) XXX_OneofWrappers() []interface{} {
  1426  	return []interface{}{
  1427  		(*TestVersion3LoneOneOfValue_E)(nil),
  1428  	}
  1429  }
  1430  
  1431  type TestVersion3LoneNesting struct {
  1432  	X int64           `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
  1433  	A *TestVersion3   `protobuf:"bytes,2,opt,name=a,proto3" json:"a,omitempty"`
  1434  	B *TestVersion3   `protobuf:"bytes,3,opt,name=b,proto3" json:"b,omitempty"`
  1435  	C []*TestVersion3 `protobuf:"bytes,4,rep,name=c,proto3" json:"c,omitempty"`
  1436  	D []*TestVersion3 `protobuf:"bytes,5,rep,name=d,proto3" json:"d,omitempty"`
  1437  	// Types that are valid to be assigned to Sum:
  1438  	//	*TestVersion3LoneNesting_F
  1439  	Sum isTestVersion3LoneNesting_Sum `protobuf_oneof:"sum"`
  1440  	G   *types.Any                    `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"`
  1441  	H   []*TestVersion1               `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"`
  1442  	// google.protobuf.Timestamp i = 10;
  1443  	// google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true];
  1444  	*Customer1       `protobuf:"bytes,12,opt,name=k,proto3,embedded=k" json:"k,omitempty"`
  1445  	NonCriticalField string                          `protobuf:"bytes,1031,opt,name=non_critical_field,json=nonCriticalField,proto3" json:"non_critical_field,omitempty"`
  1446  	Inner1           *TestVersion3LoneNesting_Inner1 `protobuf:"bytes,14,opt,name=inner1,proto3" json:"inner1,omitempty"`
  1447  	Inner2           *TestVersion3LoneNesting_Inner2 `protobuf:"bytes,15,opt,name=inner2,proto3" json:"inner2,omitempty"`
  1448  }
  1449  
  1450  func (m *TestVersion3LoneNesting) Reset()         { *m = TestVersion3LoneNesting{} }
  1451  func (m *TestVersion3LoneNesting) String() string { return proto.CompactTextString(m) }
  1452  func (*TestVersion3LoneNesting) ProtoMessage()    {}
  1453  func (*TestVersion3LoneNesting) Descriptor() ([]byte, []int) {
  1454  	return fileDescriptor_448ea787339d1228, []int{15}
  1455  }
  1456  func (m *TestVersion3LoneNesting) XXX_Unmarshal(b []byte) error {
  1457  	return m.Unmarshal(b)
  1458  }
  1459  func (m *TestVersion3LoneNesting) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1460  	if deterministic {
  1461  		return xxx_messageInfo_TestVersion3LoneNesting.Marshal(b, m, deterministic)
  1462  	} else {
  1463  		b = b[:cap(b)]
  1464  		n, err := m.MarshalToSizedBuffer(b)
  1465  		if err != nil {
  1466  			return nil, err
  1467  		}
  1468  		return b[:n], nil
  1469  	}
  1470  }
  1471  func (m *TestVersion3LoneNesting) XXX_Merge(src proto.Message) {
  1472  	xxx_messageInfo_TestVersion3LoneNesting.Merge(m, src)
  1473  }
  1474  func (m *TestVersion3LoneNesting) XXX_Size() int {
  1475  	return m.Size()
  1476  }
  1477  func (m *TestVersion3LoneNesting) XXX_DiscardUnknown() {
  1478  	xxx_messageInfo_TestVersion3LoneNesting.DiscardUnknown(m)
  1479  }
  1480  
  1481  var xxx_messageInfo_TestVersion3LoneNesting proto.InternalMessageInfo
  1482  
  1483  type isTestVersion3LoneNesting_Sum interface {
  1484  	isTestVersion3LoneNesting_Sum()
  1485  	MarshalTo([]byte) (int, error)
  1486  	Size() int
  1487  }
  1488  
  1489  type TestVersion3LoneNesting_F struct {
  1490  	F *TestVersion3LoneNesting `protobuf:"bytes,7,opt,name=f,proto3,oneof" json:"f,omitempty"`
  1491  }
  1492  
  1493  func (*TestVersion3LoneNesting_F) isTestVersion3LoneNesting_Sum() {}
  1494  
  1495  func (m *TestVersion3LoneNesting) GetSum() isTestVersion3LoneNesting_Sum {
  1496  	if m != nil {
  1497  		return m.Sum
  1498  	}
  1499  	return nil
  1500  }
  1501  
  1502  func (m *TestVersion3LoneNesting) GetX() int64 {
  1503  	if m != nil {
  1504  		return m.X
  1505  	}
  1506  	return 0
  1507  }
  1508  
  1509  func (m *TestVersion3LoneNesting) GetA() *TestVersion3 {
  1510  	if m != nil {
  1511  		return m.A
  1512  	}
  1513  	return nil
  1514  }
  1515  
  1516  func (m *TestVersion3LoneNesting) GetB() *TestVersion3 {
  1517  	if m != nil {
  1518  		return m.B
  1519  	}
  1520  	return nil
  1521  }
  1522  
  1523  func (m *TestVersion3LoneNesting) GetC() []*TestVersion3 {
  1524  	if m != nil {
  1525  		return m.C
  1526  	}
  1527  	return nil
  1528  }
  1529  
  1530  func (m *TestVersion3LoneNesting) GetD() []*TestVersion3 {
  1531  	if m != nil {
  1532  		return m.D
  1533  	}
  1534  	return nil
  1535  }
  1536  
  1537  func (m *TestVersion3LoneNesting) GetF() *TestVersion3LoneNesting {
  1538  	if x, ok := m.GetSum().(*TestVersion3LoneNesting_F); ok {
  1539  		return x.F
  1540  	}
  1541  	return nil
  1542  }
  1543  
  1544  func (m *TestVersion3LoneNesting) GetG() *types.Any {
  1545  	if m != nil {
  1546  		return m.G
  1547  	}
  1548  	return nil
  1549  }
  1550  
  1551  func (m *TestVersion3LoneNesting) GetH() []*TestVersion1 {
  1552  	if m != nil {
  1553  		return m.H
  1554  	}
  1555  	return nil
  1556  }
  1557  
  1558  func (m *TestVersion3LoneNesting) GetNonCriticalField() string {
  1559  	if m != nil {
  1560  		return m.NonCriticalField
  1561  	}
  1562  	return ""
  1563  }
  1564  
  1565  func (m *TestVersion3LoneNesting) GetInner1() *TestVersion3LoneNesting_Inner1 {
  1566  	if m != nil {
  1567  		return m.Inner1
  1568  	}
  1569  	return nil
  1570  }
  1571  
  1572  func (m *TestVersion3LoneNesting) GetInner2() *TestVersion3LoneNesting_Inner2 {
  1573  	if m != nil {
  1574  		return m.Inner2
  1575  	}
  1576  	return nil
  1577  }
  1578  
  1579  // XXX_OneofWrappers is for the internal use of the proto package.
  1580  func (*TestVersion3LoneNesting) XXX_OneofWrappers() []interface{} {
  1581  	return []interface{}{
  1582  		(*TestVersion3LoneNesting_F)(nil),
  1583  	}
  1584  }
  1585  
  1586  type TestVersion3LoneNesting_Inner1 struct {
  1587  	Id    int64                                      `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
  1588  	Name  string                                     `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
  1589  	Inner *TestVersion3LoneNesting_Inner1_InnerInner `protobuf:"bytes,3,opt,name=inner,proto3" json:"inner,omitempty"`
  1590  }
  1591  
  1592  func (m *TestVersion3LoneNesting_Inner1) Reset()         { *m = TestVersion3LoneNesting_Inner1{} }
  1593  func (m *TestVersion3LoneNesting_Inner1) String() string { return proto.CompactTextString(m) }
  1594  func (*TestVersion3LoneNesting_Inner1) ProtoMessage()    {}
  1595  func (*TestVersion3LoneNesting_Inner1) Descriptor() ([]byte, []int) {
  1596  	return fileDescriptor_448ea787339d1228, []int{15, 0}
  1597  }
  1598  func (m *TestVersion3LoneNesting_Inner1) XXX_Unmarshal(b []byte) error {
  1599  	return m.Unmarshal(b)
  1600  }
  1601  func (m *TestVersion3LoneNesting_Inner1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1602  	if deterministic {
  1603  		return xxx_messageInfo_TestVersion3LoneNesting_Inner1.Marshal(b, m, deterministic)
  1604  	} else {
  1605  		b = b[:cap(b)]
  1606  		n, err := m.MarshalToSizedBuffer(b)
  1607  		if err != nil {
  1608  			return nil, err
  1609  		}
  1610  		return b[:n], nil
  1611  	}
  1612  }
  1613  func (m *TestVersion3LoneNesting_Inner1) XXX_Merge(src proto.Message) {
  1614  	xxx_messageInfo_TestVersion3LoneNesting_Inner1.Merge(m, src)
  1615  }
  1616  func (m *TestVersion3LoneNesting_Inner1) XXX_Size() int {
  1617  	return m.Size()
  1618  }
  1619  func (m *TestVersion3LoneNesting_Inner1) XXX_DiscardUnknown() {
  1620  	xxx_messageInfo_TestVersion3LoneNesting_Inner1.DiscardUnknown(m)
  1621  }
  1622  
  1623  var xxx_messageInfo_TestVersion3LoneNesting_Inner1 proto.InternalMessageInfo
  1624  
  1625  func (m *TestVersion3LoneNesting_Inner1) GetId() int64 {
  1626  	if m != nil {
  1627  		return m.Id
  1628  	}
  1629  	return 0
  1630  }
  1631  
  1632  func (m *TestVersion3LoneNesting_Inner1) GetName() string {
  1633  	if m != nil {
  1634  		return m.Name
  1635  	}
  1636  	return ""
  1637  }
  1638  
  1639  func (m *TestVersion3LoneNesting_Inner1) GetInner() *TestVersion3LoneNesting_Inner1_InnerInner {
  1640  	if m != nil {
  1641  		return m.Inner
  1642  	}
  1643  	return nil
  1644  }
  1645  
  1646  type TestVersion3LoneNesting_Inner1_InnerInner struct {
  1647  	Id   string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
  1648  	City string `protobuf:"bytes,2,opt,name=city,proto3" json:"city,omitempty"`
  1649  }
  1650  
  1651  func (m *TestVersion3LoneNesting_Inner1_InnerInner) Reset() {
  1652  	*m = TestVersion3LoneNesting_Inner1_InnerInner{}
  1653  }
  1654  func (m *TestVersion3LoneNesting_Inner1_InnerInner) String() string {
  1655  	return proto.CompactTextString(m)
  1656  }
  1657  func (*TestVersion3LoneNesting_Inner1_InnerInner) ProtoMessage() {}
  1658  func (*TestVersion3LoneNesting_Inner1_InnerInner) Descriptor() ([]byte, []int) {
  1659  	return fileDescriptor_448ea787339d1228, []int{15, 0, 0}
  1660  }
  1661  func (m *TestVersion3LoneNesting_Inner1_InnerInner) XXX_Unmarshal(b []byte) error {
  1662  	return m.Unmarshal(b)
  1663  }
  1664  func (m *TestVersion3LoneNesting_Inner1_InnerInner) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1665  	if deterministic {
  1666  		return xxx_messageInfo_TestVersion3LoneNesting_Inner1_InnerInner.Marshal(b, m, deterministic)
  1667  	} else {
  1668  		b = b[:cap(b)]
  1669  		n, err := m.MarshalToSizedBuffer(b)
  1670  		if err != nil {
  1671  			return nil, err
  1672  		}
  1673  		return b[:n], nil
  1674  	}
  1675  }
  1676  func (m *TestVersion3LoneNesting_Inner1_InnerInner) XXX_Merge(src proto.Message) {
  1677  	xxx_messageInfo_TestVersion3LoneNesting_Inner1_InnerInner.Merge(m, src)
  1678  }
  1679  func (m *TestVersion3LoneNesting_Inner1_InnerInner) XXX_Size() int {
  1680  	return m.Size()
  1681  }
  1682  func (m *TestVersion3LoneNesting_Inner1_InnerInner) XXX_DiscardUnknown() {
  1683  	xxx_messageInfo_TestVersion3LoneNesting_Inner1_InnerInner.DiscardUnknown(m)
  1684  }
  1685  
  1686  var xxx_messageInfo_TestVersion3LoneNesting_Inner1_InnerInner proto.InternalMessageInfo
  1687  
  1688  func (m *TestVersion3LoneNesting_Inner1_InnerInner) GetId() string {
  1689  	if m != nil {
  1690  		return m.Id
  1691  	}
  1692  	return ""
  1693  }
  1694  
  1695  func (m *TestVersion3LoneNesting_Inner1_InnerInner) GetCity() string {
  1696  	if m != nil {
  1697  		return m.City
  1698  	}
  1699  	return ""
  1700  }
  1701  
  1702  type TestVersion3LoneNesting_Inner2 struct {
  1703  	Id      string                                     `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
  1704  	Country string                                     `protobuf:"bytes,2,opt,name=country,proto3" json:"country,omitempty"`
  1705  	Inner   *TestVersion3LoneNesting_Inner2_InnerInner `protobuf:"bytes,3,opt,name=inner,proto3" json:"inner,omitempty"`
  1706  }
  1707  
  1708  func (m *TestVersion3LoneNesting_Inner2) Reset()         { *m = TestVersion3LoneNesting_Inner2{} }
  1709  func (m *TestVersion3LoneNesting_Inner2) String() string { return proto.CompactTextString(m) }
  1710  func (*TestVersion3LoneNesting_Inner2) ProtoMessage()    {}
  1711  func (*TestVersion3LoneNesting_Inner2) Descriptor() ([]byte, []int) {
  1712  	return fileDescriptor_448ea787339d1228, []int{15, 1}
  1713  }
  1714  func (m *TestVersion3LoneNesting_Inner2) XXX_Unmarshal(b []byte) error {
  1715  	return m.Unmarshal(b)
  1716  }
  1717  func (m *TestVersion3LoneNesting_Inner2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1718  	if deterministic {
  1719  		return xxx_messageInfo_TestVersion3LoneNesting_Inner2.Marshal(b, m, deterministic)
  1720  	} else {
  1721  		b = b[:cap(b)]
  1722  		n, err := m.MarshalToSizedBuffer(b)
  1723  		if err != nil {
  1724  			return nil, err
  1725  		}
  1726  		return b[:n], nil
  1727  	}
  1728  }
  1729  func (m *TestVersion3LoneNesting_Inner2) XXX_Merge(src proto.Message) {
  1730  	xxx_messageInfo_TestVersion3LoneNesting_Inner2.Merge(m, src)
  1731  }
  1732  func (m *TestVersion3LoneNesting_Inner2) XXX_Size() int {
  1733  	return m.Size()
  1734  }
  1735  func (m *TestVersion3LoneNesting_Inner2) XXX_DiscardUnknown() {
  1736  	xxx_messageInfo_TestVersion3LoneNesting_Inner2.DiscardUnknown(m)
  1737  }
  1738  
  1739  var xxx_messageInfo_TestVersion3LoneNesting_Inner2 proto.InternalMessageInfo
  1740  
  1741  func (m *TestVersion3LoneNesting_Inner2) GetId() string {
  1742  	if m != nil {
  1743  		return m.Id
  1744  	}
  1745  	return ""
  1746  }
  1747  
  1748  func (m *TestVersion3LoneNesting_Inner2) GetCountry() string {
  1749  	if m != nil {
  1750  		return m.Country
  1751  	}
  1752  	return ""
  1753  }
  1754  
  1755  func (m *TestVersion3LoneNesting_Inner2) GetInner() *TestVersion3LoneNesting_Inner2_InnerInner {
  1756  	if m != nil {
  1757  		return m.Inner
  1758  	}
  1759  	return nil
  1760  }
  1761  
  1762  type TestVersion3LoneNesting_Inner2_InnerInner struct {
  1763  	Id   string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
  1764  	City string `protobuf:"bytes,2,opt,name=city,proto3" json:"city,omitempty"`
  1765  }
  1766  
  1767  func (m *TestVersion3LoneNesting_Inner2_InnerInner) Reset() {
  1768  	*m = TestVersion3LoneNesting_Inner2_InnerInner{}
  1769  }
  1770  func (m *TestVersion3LoneNesting_Inner2_InnerInner) String() string {
  1771  	return proto.CompactTextString(m)
  1772  }
  1773  func (*TestVersion3LoneNesting_Inner2_InnerInner) ProtoMessage() {}
  1774  func (*TestVersion3LoneNesting_Inner2_InnerInner) Descriptor() ([]byte, []int) {
  1775  	return fileDescriptor_448ea787339d1228, []int{15, 1, 0}
  1776  }
  1777  func (m *TestVersion3LoneNesting_Inner2_InnerInner) XXX_Unmarshal(b []byte) error {
  1778  	return m.Unmarshal(b)
  1779  }
  1780  func (m *TestVersion3LoneNesting_Inner2_InnerInner) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1781  	if deterministic {
  1782  		return xxx_messageInfo_TestVersion3LoneNesting_Inner2_InnerInner.Marshal(b, m, deterministic)
  1783  	} else {
  1784  		b = b[:cap(b)]
  1785  		n, err := m.MarshalToSizedBuffer(b)
  1786  		if err != nil {
  1787  			return nil, err
  1788  		}
  1789  		return b[:n], nil
  1790  	}
  1791  }
  1792  func (m *TestVersion3LoneNesting_Inner2_InnerInner) XXX_Merge(src proto.Message) {
  1793  	xxx_messageInfo_TestVersion3LoneNesting_Inner2_InnerInner.Merge(m, src)
  1794  }
  1795  func (m *TestVersion3LoneNesting_Inner2_InnerInner) XXX_Size() int {
  1796  	return m.Size()
  1797  }
  1798  func (m *TestVersion3LoneNesting_Inner2_InnerInner) XXX_DiscardUnknown() {
  1799  	xxx_messageInfo_TestVersion3LoneNesting_Inner2_InnerInner.DiscardUnknown(m)
  1800  }
  1801  
  1802  var xxx_messageInfo_TestVersion3LoneNesting_Inner2_InnerInner proto.InternalMessageInfo
  1803  
  1804  func (m *TestVersion3LoneNesting_Inner2_InnerInner) GetId() string {
  1805  	if m != nil {
  1806  		return m.Id
  1807  	}
  1808  	return ""
  1809  }
  1810  
  1811  func (m *TestVersion3LoneNesting_Inner2_InnerInner) GetCity() string {
  1812  	if m != nil {
  1813  		return m.City
  1814  	}
  1815  	return ""
  1816  }
  1817  
  1818  type TestVersion4LoneNesting struct {
  1819  	X int64           `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
  1820  	A *TestVersion3   `protobuf:"bytes,2,opt,name=a,proto3" json:"a,omitempty"`
  1821  	B *TestVersion3   `protobuf:"bytes,3,opt,name=b,proto3" json:"b,omitempty"`
  1822  	C []*TestVersion3 `protobuf:"bytes,4,rep,name=c,proto3" json:"c,omitempty"`
  1823  	D []*TestVersion3 `protobuf:"bytes,5,rep,name=d,proto3" json:"d,omitempty"`
  1824  	// Types that are valid to be assigned to Sum:
  1825  	//	*TestVersion4LoneNesting_F
  1826  	Sum isTestVersion4LoneNesting_Sum `protobuf_oneof:"sum"`
  1827  	G   *types.Any                    `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"`
  1828  	H   []*TestVersion1               `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"`
  1829  	// google.protobuf.Timestamp i = 10;
  1830  	// google.protobuf.Timestamp j = 11; // [(gogoproto.stdtime) = true];
  1831  	*Customer1       `protobuf:"bytes,12,opt,name=k,proto3,embedded=k" json:"k,omitempty"`
  1832  	NonCriticalField string                          `protobuf:"bytes,1031,opt,name=non_critical_field,json=nonCriticalField,proto3" json:"non_critical_field,omitempty"`
  1833  	Inner1           *TestVersion4LoneNesting_Inner1 `protobuf:"bytes,14,opt,name=inner1,proto3" json:"inner1,omitempty"`
  1834  	Inner2           *TestVersion4LoneNesting_Inner2 `protobuf:"bytes,15,opt,name=inner2,proto3" json:"inner2,omitempty"`
  1835  }
  1836  
  1837  func (m *TestVersion4LoneNesting) Reset()         { *m = TestVersion4LoneNesting{} }
  1838  func (m *TestVersion4LoneNesting) String() string { return proto.CompactTextString(m) }
  1839  func (*TestVersion4LoneNesting) ProtoMessage()    {}
  1840  func (*TestVersion4LoneNesting) Descriptor() ([]byte, []int) {
  1841  	return fileDescriptor_448ea787339d1228, []int{16}
  1842  }
  1843  func (m *TestVersion4LoneNesting) XXX_Unmarshal(b []byte) error {
  1844  	return m.Unmarshal(b)
  1845  }
  1846  func (m *TestVersion4LoneNesting) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1847  	if deterministic {
  1848  		return xxx_messageInfo_TestVersion4LoneNesting.Marshal(b, m, deterministic)
  1849  	} else {
  1850  		b = b[:cap(b)]
  1851  		n, err := m.MarshalToSizedBuffer(b)
  1852  		if err != nil {
  1853  			return nil, err
  1854  		}
  1855  		return b[:n], nil
  1856  	}
  1857  }
  1858  func (m *TestVersion4LoneNesting) XXX_Merge(src proto.Message) {
  1859  	xxx_messageInfo_TestVersion4LoneNesting.Merge(m, src)
  1860  }
  1861  func (m *TestVersion4LoneNesting) XXX_Size() int {
  1862  	return m.Size()
  1863  }
  1864  func (m *TestVersion4LoneNesting) XXX_DiscardUnknown() {
  1865  	xxx_messageInfo_TestVersion4LoneNesting.DiscardUnknown(m)
  1866  }
  1867  
  1868  var xxx_messageInfo_TestVersion4LoneNesting proto.InternalMessageInfo
  1869  
  1870  type isTestVersion4LoneNesting_Sum interface {
  1871  	isTestVersion4LoneNesting_Sum()
  1872  	MarshalTo([]byte) (int, error)
  1873  	Size() int
  1874  }
  1875  
  1876  type TestVersion4LoneNesting_F struct {
  1877  	F *TestVersion3LoneNesting `protobuf:"bytes,7,opt,name=f,proto3,oneof" json:"f,omitempty"`
  1878  }
  1879  
  1880  func (*TestVersion4LoneNesting_F) isTestVersion4LoneNesting_Sum() {}
  1881  
  1882  func (m *TestVersion4LoneNesting) GetSum() isTestVersion4LoneNesting_Sum {
  1883  	if m != nil {
  1884  		return m.Sum
  1885  	}
  1886  	return nil
  1887  }
  1888  
  1889  func (m *TestVersion4LoneNesting) GetX() int64 {
  1890  	if m != nil {
  1891  		return m.X
  1892  	}
  1893  	return 0
  1894  }
  1895  
  1896  func (m *TestVersion4LoneNesting) GetA() *TestVersion3 {
  1897  	if m != nil {
  1898  		return m.A
  1899  	}
  1900  	return nil
  1901  }
  1902  
  1903  func (m *TestVersion4LoneNesting) GetB() *TestVersion3 {
  1904  	if m != nil {
  1905  		return m.B
  1906  	}
  1907  	return nil
  1908  }
  1909  
  1910  func (m *TestVersion4LoneNesting) GetC() []*TestVersion3 {
  1911  	if m != nil {
  1912  		return m.C
  1913  	}
  1914  	return nil
  1915  }
  1916  
  1917  func (m *TestVersion4LoneNesting) GetD() []*TestVersion3 {
  1918  	if m != nil {
  1919  		return m.D
  1920  	}
  1921  	return nil
  1922  }
  1923  
  1924  func (m *TestVersion4LoneNesting) GetF() *TestVersion3LoneNesting {
  1925  	if x, ok := m.GetSum().(*TestVersion4LoneNesting_F); ok {
  1926  		return x.F
  1927  	}
  1928  	return nil
  1929  }
  1930  
  1931  func (m *TestVersion4LoneNesting) GetG() *types.Any {
  1932  	if m != nil {
  1933  		return m.G
  1934  	}
  1935  	return nil
  1936  }
  1937  
  1938  func (m *TestVersion4LoneNesting) GetH() []*TestVersion1 {
  1939  	if m != nil {
  1940  		return m.H
  1941  	}
  1942  	return nil
  1943  }
  1944  
  1945  func (m *TestVersion4LoneNesting) GetNonCriticalField() string {
  1946  	if m != nil {
  1947  		return m.NonCriticalField
  1948  	}
  1949  	return ""
  1950  }
  1951  
  1952  func (m *TestVersion4LoneNesting) GetInner1() *TestVersion4LoneNesting_Inner1 {
  1953  	if m != nil {
  1954  		return m.Inner1
  1955  	}
  1956  	return nil
  1957  }
  1958  
  1959  func (m *TestVersion4LoneNesting) GetInner2() *TestVersion4LoneNesting_Inner2 {
  1960  	if m != nil {
  1961  		return m.Inner2
  1962  	}
  1963  	return nil
  1964  }
  1965  
  1966  // XXX_OneofWrappers is for the internal use of the proto package.
  1967  func (*TestVersion4LoneNesting) XXX_OneofWrappers() []interface{} {
  1968  	return []interface{}{
  1969  		(*TestVersion4LoneNesting_F)(nil),
  1970  	}
  1971  }
  1972  
  1973  type TestVersion4LoneNesting_Inner1 struct {
  1974  	Id    int64                                      `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
  1975  	Name  string                                     `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
  1976  	Inner *TestVersion4LoneNesting_Inner1_InnerInner `protobuf:"bytes,3,opt,name=inner,proto3" json:"inner,omitempty"`
  1977  }
  1978  
  1979  func (m *TestVersion4LoneNesting_Inner1) Reset()         { *m = TestVersion4LoneNesting_Inner1{} }
  1980  func (m *TestVersion4LoneNesting_Inner1) String() string { return proto.CompactTextString(m) }
  1981  func (*TestVersion4LoneNesting_Inner1) ProtoMessage()    {}
  1982  func (*TestVersion4LoneNesting_Inner1) Descriptor() ([]byte, []int) {
  1983  	return fileDescriptor_448ea787339d1228, []int{16, 0}
  1984  }
  1985  func (m *TestVersion4LoneNesting_Inner1) XXX_Unmarshal(b []byte) error {
  1986  	return m.Unmarshal(b)
  1987  }
  1988  func (m *TestVersion4LoneNesting_Inner1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  1989  	if deterministic {
  1990  		return xxx_messageInfo_TestVersion4LoneNesting_Inner1.Marshal(b, m, deterministic)
  1991  	} else {
  1992  		b = b[:cap(b)]
  1993  		n, err := m.MarshalToSizedBuffer(b)
  1994  		if err != nil {
  1995  			return nil, err
  1996  		}
  1997  		return b[:n], nil
  1998  	}
  1999  }
  2000  func (m *TestVersion4LoneNesting_Inner1) XXX_Merge(src proto.Message) {
  2001  	xxx_messageInfo_TestVersion4LoneNesting_Inner1.Merge(m, src)
  2002  }
  2003  func (m *TestVersion4LoneNesting_Inner1) XXX_Size() int {
  2004  	return m.Size()
  2005  }
  2006  func (m *TestVersion4LoneNesting_Inner1) XXX_DiscardUnknown() {
  2007  	xxx_messageInfo_TestVersion4LoneNesting_Inner1.DiscardUnknown(m)
  2008  }
  2009  
  2010  var xxx_messageInfo_TestVersion4LoneNesting_Inner1 proto.InternalMessageInfo
  2011  
  2012  func (m *TestVersion4LoneNesting_Inner1) GetId() int64 {
  2013  	if m != nil {
  2014  		return m.Id
  2015  	}
  2016  	return 0
  2017  }
  2018  
  2019  func (m *TestVersion4LoneNesting_Inner1) GetName() string {
  2020  	if m != nil {
  2021  		return m.Name
  2022  	}
  2023  	return ""
  2024  }
  2025  
  2026  func (m *TestVersion4LoneNesting_Inner1) GetInner() *TestVersion4LoneNesting_Inner1_InnerInner {
  2027  	if m != nil {
  2028  		return m.Inner
  2029  	}
  2030  	return nil
  2031  }
  2032  
  2033  type TestVersion4LoneNesting_Inner1_InnerInner struct {
  2034  	Id   int64  `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
  2035  	City string `protobuf:"bytes,2,opt,name=city,proto3" json:"city,omitempty"`
  2036  }
  2037  
  2038  func (m *TestVersion4LoneNesting_Inner1_InnerInner) Reset() {
  2039  	*m = TestVersion4LoneNesting_Inner1_InnerInner{}
  2040  }
  2041  func (m *TestVersion4LoneNesting_Inner1_InnerInner) String() string {
  2042  	return proto.CompactTextString(m)
  2043  }
  2044  func (*TestVersion4LoneNesting_Inner1_InnerInner) ProtoMessage() {}
  2045  func (*TestVersion4LoneNesting_Inner1_InnerInner) Descriptor() ([]byte, []int) {
  2046  	return fileDescriptor_448ea787339d1228, []int{16, 0, 0}
  2047  }
  2048  func (m *TestVersion4LoneNesting_Inner1_InnerInner) XXX_Unmarshal(b []byte) error {
  2049  	return m.Unmarshal(b)
  2050  }
  2051  func (m *TestVersion4LoneNesting_Inner1_InnerInner) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2052  	if deterministic {
  2053  		return xxx_messageInfo_TestVersion4LoneNesting_Inner1_InnerInner.Marshal(b, m, deterministic)
  2054  	} else {
  2055  		b = b[:cap(b)]
  2056  		n, err := m.MarshalToSizedBuffer(b)
  2057  		if err != nil {
  2058  			return nil, err
  2059  		}
  2060  		return b[:n], nil
  2061  	}
  2062  }
  2063  func (m *TestVersion4LoneNesting_Inner1_InnerInner) XXX_Merge(src proto.Message) {
  2064  	xxx_messageInfo_TestVersion4LoneNesting_Inner1_InnerInner.Merge(m, src)
  2065  }
  2066  func (m *TestVersion4LoneNesting_Inner1_InnerInner) XXX_Size() int {
  2067  	return m.Size()
  2068  }
  2069  func (m *TestVersion4LoneNesting_Inner1_InnerInner) XXX_DiscardUnknown() {
  2070  	xxx_messageInfo_TestVersion4LoneNesting_Inner1_InnerInner.DiscardUnknown(m)
  2071  }
  2072  
  2073  var xxx_messageInfo_TestVersion4LoneNesting_Inner1_InnerInner proto.InternalMessageInfo
  2074  
  2075  func (m *TestVersion4LoneNesting_Inner1_InnerInner) GetId() int64 {
  2076  	if m != nil {
  2077  		return m.Id
  2078  	}
  2079  	return 0
  2080  }
  2081  
  2082  func (m *TestVersion4LoneNesting_Inner1_InnerInner) GetCity() string {
  2083  	if m != nil {
  2084  		return m.City
  2085  	}
  2086  	return ""
  2087  }
  2088  
  2089  type TestVersion4LoneNesting_Inner2 struct {
  2090  	Id      string                                     `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
  2091  	Country string                                     `protobuf:"bytes,2,opt,name=country,proto3" json:"country,omitempty"`
  2092  	Inner   *TestVersion4LoneNesting_Inner2_InnerInner `protobuf:"bytes,3,opt,name=inner,proto3" json:"inner,omitempty"`
  2093  }
  2094  
  2095  func (m *TestVersion4LoneNesting_Inner2) Reset()         { *m = TestVersion4LoneNesting_Inner2{} }
  2096  func (m *TestVersion4LoneNesting_Inner2) String() string { return proto.CompactTextString(m) }
  2097  func (*TestVersion4LoneNesting_Inner2) ProtoMessage()    {}
  2098  func (*TestVersion4LoneNesting_Inner2) Descriptor() ([]byte, []int) {
  2099  	return fileDescriptor_448ea787339d1228, []int{16, 1}
  2100  }
  2101  func (m *TestVersion4LoneNesting_Inner2) XXX_Unmarshal(b []byte) error {
  2102  	return m.Unmarshal(b)
  2103  }
  2104  func (m *TestVersion4LoneNesting_Inner2) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2105  	if deterministic {
  2106  		return xxx_messageInfo_TestVersion4LoneNesting_Inner2.Marshal(b, m, deterministic)
  2107  	} else {
  2108  		b = b[:cap(b)]
  2109  		n, err := m.MarshalToSizedBuffer(b)
  2110  		if err != nil {
  2111  			return nil, err
  2112  		}
  2113  		return b[:n], nil
  2114  	}
  2115  }
  2116  func (m *TestVersion4LoneNesting_Inner2) XXX_Merge(src proto.Message) {
  2117  	xxx_messageInfo_TestVersion4LoneNesting_Inner2.Merge(m, src)
  2118  }
  2119  func (m *TestVersion4LoneNesting_Inner2) XXX_Size() int {
  2120  	return m.Size()
  2121  }
  2122  func (m *TestVersion4LoneNesting_Inner2) XXX_DiscardUnknown() {
  2123  	xxx_messageInfo_TestVersion4LoneNesting_Inner2.DiscardUnknown(m)
  2124  }
  2125  
  2126  var xxx_messageInfo_TestVersion4LoneNesting_Inner2 proto.InternalMessageInfo
  2127  
  2128  func (m *TestVersion4LoneNesting_Inner2) GetId() string {
  2129  	if m != nil {
  2130  		return m.Id
  2131  	}
  2132  	return ""
  2133  }
  2134  
  2135  func (m *TestVersion4LoneNesting_Inner2) GetCountry() string {
  2136  	if m != nil {
  2137  		return m.Country
  2138  	}
  2139  	return ""
  2140  }
  2141  
  2142  func (m *TestVersion4LoneNesting_Inner2) GetInner() *TestVersion4LoneNesting_Inner2_InnerInner {
  2143  	if m != nil {
  2144  		return m.Inner
  2145  	}
  2146  	return nil
  2147  }
  2148  
  2149  type TestVersion4LoneNesting_Inner2_InnerInner struct {
  2150  	Id    string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
  2151  	Value int64  `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"`
  2152  }
  2153  
  2154  func (m *TestVersion4LoneNesting_Inner2_InnerInner) Reset() {
  2155  	*m = TestVersion4LoneNesting_Inner2_InnerInner{}
  2156  }
  2157  func (m *TestVersion4LoneNesting_Inner2_InnerInner) String() string {
  2158  	return proto.CompactTextString(m)
  2159  }
  2160  func (*TestVersion4LoneNesting_Inner2_InnerInner) ProtoMessage() {}
  2161  func (*TestVersion4LoneNesting_Inner2_InnerInner) Descriptor() ([]byte, []int) {
  2162  	return fileDescriptor_448ea787339d1228, []int{16, 1, 0}
  2163  }
  2164  func (m *TestVersion4LoneNesting_Inner2_InnerInner) XXX_Unmarshal(b []byte) error {
  2165  	return m.Unmarshal(b)
  2166  }
  2167  func (m *TestVersion4LoneNesting_Inner2_InnerInner) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2168  	if deterministic {
  2169  		return xxx_messageInfo_TestVersion4LoneNesting_Inner2_InnerInner.Marshal(b, m, deterministic)
  2170  	} else {
  2171  		b = b[:cap(b)]
  2172  		n, err := m.MarshalToSizedBuffer(b)
  2173  		if err != nil {
  2174  			return nil, err
  2175  		}
  2176  		return b[:n], nil
  2177  	}
  2178  }
  2179  func (m *TestVersion4LoneNesting_Inner2_InnerInner) XXX_Merge(src proto.Message) {
  2180  	xxx_messageInfo_TestVersion4LoneNesting_Inner2_InnerInner.Merge(m, src)
  2181  }
  2182  func (m *TestVersion4LoneNesting_Inner2_InnerInner) XXX_Size() int {
  2183  	return m.Size()
  2184  }
  2185  func (m *TestVersion4LoneNesting_Inner2_InnerInner) XXX_DiscardUnknown() {
  2186  	xxx_messageInfo_TestVersion4LoneNesting_Inner2_InnerInner.DiscardUnknown(m)
  2187  }
  2188  
  2189  var xxx_messageInfo_TestVersion4LoneNesting_Inner2_InnerInner proto.InternalMessageInfo
  2190  
  2191  func (m *TestVersion4LoneNesting_Inner2_InnerInner) GetId() string {
  2192  	if m != nil {
  2193  		return m.Id
  2194  	}
  2195  	return ""
  2196  }
  2197  
  2198  func (m *TestVersion4LoneNesting_Inner2_InnerInner) GetValue() int64 {
  2199  	if m != nil {
  2200  		return m.Value
  2201  	}
  2202  	return 0
  2203  }
  2204  
  2205  type TestVersionFD1 struct {
  2206  	X int64         `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
  2207  	A *TestVersion1 `protobuf:"bytes,2,opt,name=a,proto3" json:"a,omitempty"`
  2208  	// Types that are valid to be assigned to Sum:
  2209  	//	*TestVersionFD1_E
  2210  	//	*TestVersionFD1_F
  2211  	Sum isTestVersionFD1_Sum `protobuf_oneof:"sum"`
  2212  	G   *types.Any           `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"`
  2213  	H   []*TestVersion1      `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"`
  2214  }
  2215  
  2216  func (m *TestVersionFD1) Reset()         { *m = TestVersionFD1{} }
  2217  func (m *TestVersionFD1) String() string { return proto.CompactTextString(m) }
  2218  func (*TestVersionFD1) ProtoMessage()    {}
  2219  func (*TestVersionFD1) Descriptor() ([]byte, []int) {
  2220  	return fileDescriptor_448ea787339d1228, []int{17}
  2221  }
  2222  func (m *TestVersionFD1) XXX_Unmarshal(b []byte) error {
  2223  	return m.Unmarshal(b)
  2224  }
  2225  func (m *TestVersionFD1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2226  	if deterministic {
  2227  		return xxx_messageInfo_TestVersionFD1.Marshal(b, m, deterministic)
  2228  	} else {
  2229  		b = b[:cap(b)]
  2230  		n, err := m.MarshalToSizedBuffer(b)
  2231  		if err != nil {
  2232  			return nil, err
  2233  		}
  2234  		return b[:n], nil
  2235  	}
  2236  }
  2237  func (m *TestVersionFD1) XXX_Merge(src proto.Message) {
  2238  	xxx_messageInfo_TestVersionFD1.Merge(m, src)
  2239  }
  2240  func (m *TestVersionFD1) XXX_Size() int {
  2241  	return m.Size()
  2242  }
  2243  func (m *TestVersionFD1) XXX_DiscardUnknown() {
  2244  	xxx_messageInfo_TestVersionFD1.DiscardUnknown(m)
  2245  }
  2246  
  2247  var xxx_messageInfo_TestVersionFD1 proto.InternalMessageInfo
  2248  
  2249  type isTestVersionFD1_Sum interface {
  2250  	isTestVersionFD1_Sum()
  2251  	MarshalTo([]byte) (int, error)
  2252  	Size() int
  2253  }
  2254  
  2255  type TestVersionFD1_E struct {
  2256  	E int32 `protobuf:"varint,6,opt,name=e,proto3,oneof" json:"e,omitempty"`
  2257  }
  2258  type TestVersionFD1_F struct {
  2259  	F *TestVersion1 `protobuf:"bytes,7,opt,name=f,proto3,oneof" json:"f,omitempty"`
  2260  }
  2261  
  2262  func (*TestVersionFD1_E) isTestVersionFD1_Sum() {}
  2263  func (*TestVersionFD1_F) isTestVersionFD1_Sum() {}
  2264  
  2265  func (m *TestVersionFD1) GetSum() isTestVersionFD1_Sum {
  2266  	if m != nil {
  2267  		return m.Sum
  2268  	}
  2269  	return nil
  2270  }
  2271  
  2272  func (m *TestVersionFD1) GetX() int64 {
  2273  	if m != nil {
  2274  		return m.X
  2275  	}
  2276  	return 0
  2277  }
  2278  
  2279  func (m *TestVersionFD1) GetA() *TestVersion1 {
  2280  	if m != nil {
  2281  		return m.A
  2282  	}
  2283  	return nil
  2284  }
  2285  
  2286  func (m *TestVersionFD1) GetE() int32 {
  2287  	if x, ok := m.GetSum().(*TestVersionFD1_E); ok {
  2288  		return x.E
  2289  	}
  2290  	return 0
  2291  }
  2292  
  2293  func (m *TestVersionFD1) GetF() *TestVersion1 {
  2294  	if x, ok := m.GetSum().(*TestVersionFD1_F); ok {
  2295  		return x.F
  2296  	}
  2297  	return nil
  2298  }
  2299  
  2300  func (m *TestVersionFD1) GetG() *types.Any {
  2301  	if m != nil {
  2302  		return m.G
  2303  	}
  2304  	return nil
  2305  }
  2306  
  2307  func (m *TestVersionFD1) GetH() []*TestVersion1 {
  2308  	if m != nil {
  2309  		return m.H
  2310  	}
  2311  	return nil
  2312  }
  2313  
  2314  // XXX_OneofWrappers is for the internal use of the proto package.
  2315  func (*TestVersionFD1) XXX_OneofWrappers() []interface{} {
  2316  	return []interface{}{
  2317  		(*TestVersionFD1_E)(nil),
  2318  		(*TestVersionFD1_F)(nil),
  2319  	}
  2320  }
  2321  
  2322  type TestVersionFD1WithExtraAny struct {
  2323  	X int64         `protobuf:"varint,1,opt,name=x,proto3" json:"x,omitempty"`
  2324  	A *TestVersion1 `protobuf:"bytes,2,opt,name=a,proto3" json:"a,omitempty"`
  2325  	// Types that are valid to be assigned to Sum:
  2326  	//	*TestVersionFD1WithExtraAny_E
  2327  	//	*TestVersionFD1WithExtraAny_F
  2328  	Sum isTestVersionFD1WithExtraAny_Sum `protobuf_oneof:"sum"`
  2329  	G   *AnyWithExtra                    `protobuf:"bytes,8,opt,name=g,proto3" json:"g,omitempty"`
  2330  	H   []*TestVersion1                  `protobuf:"bytes,9,rep,name=h,proto3" json:"h,omitempty"`
  2331  }
  2332  
  2333  func (m *TestVersionFD1WithExtraAny) Reset()         { *m = TestVersionFD1WithExtraAny{} }
  2334  func (m *TestVersionFD1WithExtraAny) String() string { return proto.CompactTextString(m) }
  2335  func (*TestVersionFD1WithExtraAny) ProtoMessage()    {}
  2336  func (*TestVersionFD1WithExtraAny) Descriptor() ([]byte, []int) {
  2337  	return fileDescriptor_448ea787339d1228, []int{18}
  2338  }
  2339  func (m *TestVersionFD1WithExtraAny) XXX_Unmarshal(b []byte) error {
  2340  	return m.Unmarshal(b)
  2341  }
  2342  func (m *TestVersionFD1WithExtraAny) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2343  	if deterministic {
  2344  		return xxx_messageInfo_TestVersionFD1WithExtraAny.Marshal(b, m, deterministic)
  2345  	} else {
  2346  		b = b[:cap(b)]
  2347  		n, err := m.MarshalToSizedBuffer(b)
  2348  		if err != nil {
  2349  			return nil, err
  2350  		}
  2351  		return b[:n], nil
  2352  	}
  2353  }
  2354  func (m *TestVersionFD1WithExtraAny) XXX_Merge(src proto.Message) {
  2355  	xxx_messageInfo_TestVersionFD1WithExtraAny.Merge(m, src)
  2356  }
  2357  func (m *TestVersionFD1WithExtraAny) XXX_Size() int {
  2358  	return m.Size()
  2359  }
  2360  func (m *TestVersionFD1WithExtraAny) XXX_DiscardUnknown() {
  2361  	xxx_messageInfo_TestVersionFD1WithExtraAny.DiscardUnknown(m)
  2362  }
  2363  
  2364  var xxx_messageInfo_TestVersionFD1WithExtraAny proto.InternalMessageInfo
  2365  
  2366  type isTestVersionFD1WithExtraAny_Sum interface {
  2367  	isTestVersionFD1WithExtraAny_Sum()
  2368  	MarshalTo([]byte) (int, error)
  2369  	Size() int
  2370  }
  2371  
  2372  type TestVersionFD1WithExtraAny_E struct {
  2373  	E int32 `protobuf:"varint,6,opt,name=e,proto3,oneof" json:"e,omitempty"`
  2374  }
  2375  type TestVersionFD1WithExtraAny_F struct {
  2376  	F *TestVersion1 `protobuf:"bytes,7,opt,name=f,proto3,oneof" json:"f,omitempty"`
  2377  }
  2378  
  2379  func (*TestVersionFD1WithExtraAny_E) isTestVersionFD1WithExtraAny_Sum() {}
  2380  func (*TestVersionFD1WithExtraAny_F) isTestVersionFD1WithExtraAny_Sum() {}
  2381  
  2382  func (m *TestVersionFD1WithExtraAny) GetSum() isTestVersionFD1WithExtraAny_Sum {
  2383  	if m != nil {
  2384  		return m.Sum
  2385  	}
  2386  	return nil
  2387  }
  2388  
  2389  func (m *TestVersionFD1WithExtraAny) GetX() int64 {
  2390  	if m != nil {
  2391  		return m.X
  2392  	}
  2393  	return 0
  2394  }
  2395  
  2396  func (m *TestVersionFD1WithExtraAny) GetA() *TestVersion1 {
  2397  	if m != nil {
  2398  		return m.A
  2399  	}
  2400  	return nil
  2401  }
  2402  
  2403  func (m *TestVersionFD1WithExtraAny) GetE() int32 {
  2404  	if x, ok := m.GetSum().(*TestVersionFD1WithExtraAny_E); ok {
  2405  		return x.E
  2406  	}
  2407  	return 0
  2408  }
  2409  
  2410  func (m *TestVersionFD1WithExtraAny) GetF() *TestVersion1 {
  2411  	if x, ok := m.GetSum().(*TestVersionFD1WithExtraAny_F); ok {
  2412  		return x.F
  2413  	}
  2414  	return nil
  2415  }
  2416  
  2417  func (m *TestVersionFD1WithExtraAny) GetG() *AnyWithExtra {
  2418  	if m != nil {
  2419  		return m.G
  2420  	}
  2421  	return nil
  2422  }
  2423  
  2424  func (m *TestVersionFD1WithExtraAny) GetH() []*TestVersion1 {
  2425  	if m != nil {
  2426  		return m.H
  2427  	}
  2428  	return nil
  2429  }
  2430  
  2431  // XXX_OneofWrappers is for the internal use of the proto package.
  2432  func (*TestVersionFD1WithExtraAny) XXX_OneofWrappers() []interface{} {
  2433  	return []interface{}{
  2434  		(*TestVersionFD1WithExtraAny_E)(nil),
  2435  		(*TestVersionFD1WithExtraAny_F)(nil),
  2436  	}
  2437  }
  2438  
  2439  type AnyWithExtra struct {
  2440  	*types.Any `protobuf:"bytes,1,opt,name=a,proto3,embedded=a" json:"a,omitempty"`
  2441  	B          int64 `protobuf:"varint,3,opt,name=b,proto3" json:"b,omitempty"`
  2442  	C          int64 `protobuf:"varint,4,opt,name=c,proto3" json:"c,omitempty"`
  2443  }
  2444  
  2445  func (m *AnyWithExtra) Reset()         { *m = AnyWithExtra{} }
  2446  func (m *AnyWithExtra) String() string { return proto.CompactTextString(m) }
  2447  func (*AnyWithExtra) ProtoMessage()    {}
  2448  func (*AnyWithExtra) Descriptor() ([]byte, []int) {
  2449  	return fileDescriptor_448ea787339d1228, []int{19}
  2450  }
  2451  func (m *AnyWithExtra) XXX_Unmarshal(b []byte) error {
  2452  	return m.Unmarshal(b)
  2453  }
  2454  func (m *AnyWithExtra) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2455  	if deterministic {
  2456  		return xxx_messageInfo_AnyWithExtra.Marshal(b, m, deterministic)
  2457  	} else {
  2458  		b = b[:cap(b)]
  2459  		n, err := m.MarshalToSizedBuffer(b)
  2460  		if err != nil {
  2461  			return nil, err
  2462  		}
  2463  		return b[:n], nil
  2464  	}
  2465  }
  2466  func (m *AnyWithExtra) XXX_Merge(src proto.Message) {
  2467  	xxx_messageInfo_AnyWithExtra.Merge(m, src)
  2468  }
  2469  func (m *AnyWithExtra) XXX_Size() int {
  2470  	return m.Size()
  2471  }
  2472  func (m *AnyWithExtra) XXX_DiscardUnknown() {
  2473  	xxx_messageInfo_AnyWithExtra.DiscardUnknown(m)
  2474  }
  2475  
  2476  var xxx_messageInfo_AnyWithExtra proto.InternalMessageInfo
  2477  
  2478  func (m *AnyWithExtra) GetB() int64 {
  2479  	if m != nil {
  2480  		return m.B
  2481  	}
  2482  	return 0
  2483  }
  2484  
  2485  func (m *AnyWithExtra) GetC() int64 {
  2486  	if m != nil {
  2487  		return m.C
  2488  	}
  2489  	return 0
  2490  }
  2491  
  2492  type TestUpdatedTxRaw struct {
  2493  	BodyBytes     []byte   `protobuf:"bytes,1,opt,name=body_bytes,json=bodyBytes,proto3" json:"body_bytes,omitempty"`
  2494  	AuthInfoBytes []byte   `protobuf:"bytes,2,opt,name=auth_info_bytes,json=authInfoBytes,proto3" json:"auth_info_bytes,omitempty"`
  2495  	Signatures    [][]byte `protobuf:"bytes,3,rep,name=signatures,proto3" json:"signatures,omitempty"`
  2496  	NewField_5    []byte   `protobuf:"bytes,5,opt,name=new_field_5,json=newField5,proto3" json:"new_field_5,omitempty"`
  2497  	NewField_1024 []byte   `protobuf:"bytes,1024,opt,name=new_field_1024,json=newField1024,proto3" json:"new_field_1024,omitempty"`
  2498  }
  2499  
  2500  func (m *TestUpdatedTxRaw) Reset()         { *m = TestUpdatedTxRaw{} }
  2501  func (m *TestUpdatedTxRaw) String() string { return proto.CompactTextString(m) }
  2502  func (*TestUpdatedTxRaw) ProtoMessage()    {}
  2503  func (*TestUpdatedTxRaw) Descriptor() ([]byte, []int) {
  2504  	return fileDescriptor_448ea787339d1228, []int{20}
  2505  }
  2506  func (m *TestUpdatedTxRaw) XXX_Unmarshal(b []byte) error {
  2507  	return m.Unmarshal(b)
  2508  }
  2509  func (m *TestUpdatedTxRaw) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2510  	if deterministic {
  2511  		return xxx_messageInfo_TestUpdatedTxRaw.Marshal(b, m, deterministic)
  2512  	} else {
  2513  		b = b[:cap(b)]
  2514  		n, err := m.MarshalToSizedBuffer(b)
  2515  		if err != nil {
  2516  			return nil, err
  2517  		}
  2518  		return b[:n], nil
  2519  	}
  2520  }
  2521  func (m *TestUpdatedTxRaw) XXX_Merge(src proto.Message) {
  2522  	xxx_messageInfo_TestUpdatedTxRaw.Merge(m, src)
  2523  }
  2524  func (m *TestUpdatedTxRaw) XXX_Size() int {
  2525  	return m.Size()
  2526  }
  2527  func (m *TestUpdatedTxRaw) XXX_DiscardUnknown() {
  2528  	xxx_messageInfo_TestUpdatedTxRaw.DiscardUnknown(m)
  2529  }
  2530  
  2531  var xxx_messageInfo_TestUpdatedTxRaw proto.InternalMessageInfo
  2532  
  2533  func (m *TestUpdatedTxRaw) GetBodyBytes() []byte {
  2534  	if m != nil {
  2535  		return m.BodyBytes
  2536  	}
  2537  	return nil
  2538  }
  2539  
  2540  func (m *TestUpdatedTxRaw) GetAuthInfoBytes() []byte {
  2541  	if m != nil {
  2542  		return m.AuthInfoBytes
  2543  	}
  2544  	return nil
  2545  }
  2546  
  2547  func (m *TestUpdatedTxRaw) GetSignatures() [][]byte {
  2548  	if m != nil {
  2549  		return m.Signatures
  2550  	}
  2551  	return nil
  2552  }
  2553  
  2554  func (m *TestUpdatedTxRaw) GetNewField_5() []byte {
  2555  	if m != nil {
  2556  		return m.NewField_5
  2557  	}
  2558  	return nil
  2559  }
  2560  
  2561  func (m *TestUpdatedTxRaw) GetNewField_1024() []byte {
  2562  	if m != nil {
  2563  		return m.NewField_1024
  2564  	}
  2565  	return nil
  2566  }
  2567  
  2568  type TestUpdatedTxBody struct {
  2569  	Messages                     []*types.Any `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
  2570  	Memo                         string       `protobuf:"bytes,2,opt,name=memo,proto3" json:"memo,omitempty"`
  2571  	TimeoutHeight                int64        `protobuf:"varint,3,opt,name=timeout_height,json=timeoutHeight,proto3" json:"timeout_height,omitempty"`
  2572  	SomeNewField                 uint64       `protobuf:"varint,4,opt,name=some_new_field,json=someNewField,proto3" json:"some_new_field,omitempty"`
  2573  	SomeNewFieldNonCriticalField string       `protobuf:"bytes,1050,opt,name=some_new_field_non_critical_field,json=someNewFieldNonCriticalField,proto3" json:"some_new_field_non_critical_field,omitempty"`
  2574  	ExtensionOptions             []*types.Any `protobuf:"bytes,1023,rep,name=extension_options,json=extensionOptions,proto3" json:"extension_options,omitempty"`
  2575  	NonCriticalExtensionOptions  []*types.Any `protobuf:"bytes,2047,rep,name=non_critical_extension_options,json=nonCriticalExtensionOptions,proto3" json:"non_critical_extension_options,omitempty"`
  2576  }
  2577  
  2578  func (m *TestUpdatedTxBody) Reset()         { *m = TestUpdatedTxBody{} }
  2579  func (m *TestUpdatedTxBody) String() string { return proto.CompactTextString(m) }
  2580  func (*TestUpdatedTxBody) ProtoMessage()    {}
  2581  func (*TestUpdatedTxBody) Descriptor() ([]byte, []int) {
  2582  	return fileDescriptor_448ea787339d1228, []int{21}
  2583  }
  2584  func (m *TestUpdatedTxBody) XXX_Unmarshal(b []byte) error {
  2585  	return m.Unmarshal(b)
  2586  }
  2587  func (m *TestUpdatedTxBody) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2588  	if deterministic {
  2589  		return xxx_messageInfo_TestUpdatedTxBody.Marshal(b, m, deterministic)
  2590  	} else {
  2591  		b = b[:cap(b)]
  2592  		n, err := m.MarshalToSizedBuffer(b)
  2593  		if err != nil {
  2594  			return nil, err
  2595  		}
  2596  		return b[:n], nil
  2597  	}
  2598  }
  2599  func (m *TestUpdatedTxBody) XXX_Merge(src proto.Message) {
  2600  	xxx_messageInfo_TestUpdatedTxBody.Merge(m, src)
  2601  }
  2602  func (m *TestUpdatedTxBody) XXX_Size() int {
  2603  	return m.Size()
  2604  }
  2605  func (m *TestUpdatedTxBody) XXX_DiscardUnknown() {
  2606  	xxx_messageInfo_TestUpdatedTxBody.DiscardUnknown(m)
  2607  }
  2608  
  2609  var xxx_messageInfo_TestUpdatedTxBody proto.InternalMessageInfo
  2610  
  2611  func (m *TestUpdatedTxBody) GetMessages() []*types.Any {
  2612  	if m != nil {
  2613  		return m.Messages
  2614  	}
  2615  	return nil
  2616  }
  2617  
  2618  func (m *TestUpdatedTxBody) GetMemo() string {
  2619  	if m != nil {
  2620  		return m.Memo
  2621  	}
  2622  	return ""
  2623  }
  2624  
  2625  func (m *TestUpdatedTxBody) GetTimeoutHeight() int64 {
  2626  	if m != nil {
  2627  		return m.TimeoutHeight
  2628  	}
  2629  	return 0
  2630  }
  2631  
  2632  func (m *TestUpdatedTxBody) GetSomeNewField() uint64 {
  2633  	if m != nil {
  2634  		return m.SomeNewField
  2635  	}
  2636  	return 0
  2637  }
  2638  
  2639  func (m *TestUpdatedTxBody) GetSomeNewFieldNonCriticalField() string {
  2640  	if m != nil {
  2641  		return m.SomeNewFieldNonCriticalField
  2642  	}
  2643  	return ""
  2644  }
  2645  
  2646  func (m *TestUpdatedTxBody) GetExtensionOptions() []*types.Any {
  2647  	if m != nil {
  2648  		return m.ExtensionOptions
  2649  	}
  2650  	return nil
  2651  }
  2652  
  2653  func (m *TestUpdatedTxBody) GetNonCriticalExtensionOptions() []*types.Any {
  2654  	if m != nil {
  2655  		return m.NonCriticalExtensionOptions
  2656  	}
  2657  	return nil
  2658  }
  2659  
  2660  type TestUpdatedAuthInfo struct {
  2661  	SignerInfos   []*tx.SignerInfo `protobuf:"bytes,1,rep,name=signer_infos,json=signerInfos,proto3" json:"signer_infos,omitempty"`
  2662  	Fee           *tx.Fee          `protobuf:"bytes,2,opt,name=fee,proto3" json:"fee,omitempty"`
  2663  	NewField_3    []byte           `protobuf:"bytes,3,opt,name=new_field_3,json=newField3,proto3" json:"new_field_3,omitempty"`
  2664  	NewField_1024 []byte           `protobuf:"bytes,1024,opt,name=new_field_1024,json=newField1024,proto3" json:"new_field_1024,omitempty"`
  2665  }
  2666  
  2667  func (m *TestUpdatedAuthInfo) Reset()         { *m = TestUpdatedAuthInfo{} }
  2668  func (m *TestUpdatedAuthInfo) String() string { return proto.CompactTextString(m) }
  2669  func (*TestUpdatedAuthInfo) ProtoMessage()    {}
  2670  func (*TestUpdatedAuthInfo) Descriptor() ([]byte, []int) {
  2671  	return fileDescriptor_448ea787339d1228, []int{22}
  2672  }
  2673  func (m *TestUpdatedAuthInfo) XXX_Unmarshal(b []byte) error {
  2674  	return m.Unmarshal(b)
  2675  }
  2676  func (m *TestUpdatedAuthInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2677  	if deterministic {
  2678  		return xxx_messageInfo_TestUpdatedAuthInfo.Marshal(b, m, deterministic)
  2679  	} else {
  2680  		b = b[:cap(b)]
  2681  		n, err := m.MarshalToSizedBuffer(b)
  2682  		if err != nil {
  2683  			return nil, err
  2684  		}
  2685  		return b[:n], nil
  2686  	}
  2687  }
  2688  func (m *TestUpdatedAuthInfo) XXX_Merge(src proto.Message) {
  2689  	xxx_messageInfo_TestUpdatedAuthInfo.Merge(m, src)
  2690  }
  2691  func (m *TestUpdatedAuthInfo) XXX_Size() int {
  2692  	return m.Size()
  2693  }
  2694  func (m *TestUpdatedAuthInfo) XXX_DiscardUnknown() {
  2695  	xxx_messageInfo_TestUpdatedAuthInfo.DiscardUnknown(m)
  2696  }
  2697  
  2698  var xxx_messageInfo_TestUpdatedAuthInfo proto.InternalMessageInfo
  2699  
  2700  func (m *TestUpdatedAuthInfo) GetSignerInfos() []*tx.SignerInfo {
  2701  	if m != nil {
  2702  		return m.SignerInfos
  2703  	}
  2704  	return nil
  2705  }
  2706  
  2707  func (m *TestUpdatedAuthInfo) GetFee() *tx.Fee {
  2708  	if m != nil {
  2709  		return m.Fee
  2710  	}
  2711  	return nil
  2712  }
  2713  
  2714  func (m *TestUpdatedAuthInfo) GetNewField_3() []byte {
  2715  	if m != nil {
  2716  		return m.NewField_3
  2717  	}
  2718  	return nil
  2719  }
  2720  
  2721  func (m *TestUpdatedAuthInfo) GetNewField_1024() []byte {
  2722  	if m != nil {
  2723  		return m.NewField_1024
  2724  	}
  2725  	return nil
  2726  }
  2727  
  2728  type TestRepeatedUints struct {
  2729  	Nums []uint64 `protobuf:"varint,1,rep,packed,name=nums,proto3" json:"nums,omitempty"`
  2730  }
  2731  
  2732  func (m *TestRepeatedUints) Reset()         { *m = TestRepeatedUints{} }
  2733  func (m *TestRepeatedUints) String() string { return proto.CompactTextString(m) }
  2734  func (*TestRepeatedUints) ProtoMessage()    {}
  2735  func (*TestRepeatedUints) Descriptor() ([]byte, []int) {
  2736  	return fileDescriptor_448ea787339d1228, []int{23}
  2737  }
  2738  func (m *TestRepeatedUints) XXX_Unmarshal(b []byte) error {
  2739  	return m.Unmarshal(b)
  2740  }
  2741  func (m *TestRepeatedUints) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  2742  	if deterministic {
  2743  		return xxx_messageInfo_TestRepeatedUints.Marshal(b, m, deterministic)
  2744  	} else {
  2745  		b = b[:cap(b)]
  2746  		n, err := m.MarshalToSizedBuffer(b)
  2747  		if err != nil {
  2748  			return nil, err
  2749  		}
  2750  		return b[:n], nil
  2751  	}
  2752  }
  2753  func (m *TestRepeatedUints) XXX_Merge(src proto.Message) {
  2754  	xxx_messageInfo_TestRepeatedUints.Merge(m, src)
  2755  }
  2756  func (m *TestRepeatedUints) XXX_Size() int {
  2757  	return m.Size()
  2758  }
  2759  func (m *TestRepeatedUints) XXX_DiscardUnknown() {
  2760  	xxx_messageInfo_TestRepeatedUints.DiscardUnknown(m)
  2761  }
  2762  
  2763  var xxx_messageInfo_TestRepeatedUints proto.InternalMessageInfo
  2764  
  2765  func (m *TestRepeatedUints) GetNums() []uint64 {
  2766  	if m != nil {
  2767  		return m.Nums
  2768  	}
  2769  	return nil
  2770  }
  2771  
  2772  func init() {
  2773  	proto.RegisterEnum("testdata.Customer2_City", Customer2_City_name, Customer2_City_value)
  2774  	proto.RegisterType((*Customer1)(nil), "testdata.Customer1")
  2775  	proto.RegisterType((*Customer2)(nil), "testdata.Customer2")
  2776  	proto.RegisterType((*Nested4A)(nil), "testdata.Nested4A")
  2777  	proto.RegisterType((*Nested3A)(nil), "testdata.Nested3A")
  2778  	proto.RegisterMapType((map[int64]*Nested4A)(nil), "testdata.Nested3A.IndexEntry")
  2779  	proto.RegisterType((*Nested2A)(nil), "testdata.Nested2A")
  2780  	proto.RegisterType((*Nested1A)(nil), "testdata.Nested1A")
  2781  	proto.RegisterType((*Nested4B)(nil), "testdata.Nested4B")
  2782  	proto.RegisterType((*Nested3B)(nil), "testdata.Nested3B")
  2783  	proto.RegisterType((*Nested2B)(nil), "testdata.Nested2B")
  2784  	proto.RegisterType((*Nested1B)(nil), "testdata.Nested1B")
  2785  	proto.RegisterType((*Customer3)(nil), "testdata.Customer3")
  2786  	proto.RegisterType((*TestVersion1)(nil), "testdata.TestVersion1")
  2787  	proto.RegisterType((*TestVersion2)(nil), "testdata.TestVersion2")
  2788  	proto.RegisterType((*TestVersion3)(nil), "testdata.TestVersion3")
  2789  	proto.RegisterType((*TestVersion3LoneOneOfValue)(nil), "testdata.TestVersion3LoneOneOfValue")
  2790  	proto.RegisterType((*TestVersion3LoneNesting)(nil), "testdata.TestVersion3LoneNesting")
  2791  	proto.RegisterType((*TestVersion3LoneNesting_Inner1)(nil), "testdata.TestVersion3LoneNesting.Inner1")
  2792  	proto.RegisterType((*TestVersion3LoneNesting_Inner1_InnerInner)(nil), "testdata.TestVersion3LoneNesting.Inner1.InnerInner")
  2793  	proto.RegisterType((*TestVersion3LoneNesting_Inner2)(nil), "testdata.TestVersion3LoneNesting.Inner2")
  2794  	proto.RegisterType((*TestVersion3LoneNesting_Inner2_InnerInner)(nil), "testdata.TestVersion3LoneNesting.Inner2.InnerInner")
  2795  	proto.RegisterType((*TestVersion4LoneNesting)(nil), "testdata.TestVersion4LoneNesting")
  2796  	proto.RegisterType((*TestVersion4LoneNesting_Inner1)(nil), "testdata.TestVersion4LoneNesting.Inner1")
  2797  	proto.RegisterType((*TestVersion4LoneNesting_Inner1_InnerInner)(nil), "testdata.TestVersion4LoneNesting.Inner1.InnerInner")
  2798  	proto.RegisterType((*TestVersion4LoneNesting_Inner2)(nil), "testdata.TestVersion4LoneNesting.Inner2")
  2799  	proto.RegisterType((*TestVersion4LoneNesting_Inner2_InnerInner)(nil), "testdata.TestVersion4LoneNesting.Inner2.InnerInner")
  2800  	proto.RegisterType((*TestVersionFD1)(nil), "testdata.TestVersionFD1")
  2801  	proto.RegisterType((*TestVersionFD1WithExtraAny)(nil), "testdata.TestVersionFD1WithExtraAny")
  2802  	proto.RegisterType((*AnyWithExtra)(nil), "testdata.AnyWithExtra")
  2803  	proto.RegisterType((*TestUpdatedTxRaw)(nil), "testdata.TestUpdatedTxRaw")
  2804  	proto.RegisterType((*TestUpdatedTxBody)(nil), "testdata.TestUpdatedTxBody")
  2805  	proto.RegisterType((*TestUpdatedAuthInfo)(nil), "testdata.TestUpdatedAuthInfo")
  2806  	proto.RegisterType((*TestRepeatedUints)(nil), "testdata.TestRepeatedUints")
  2807  }
  2808  
  2809  func init() { proto.RegisterFile("unknonwnproto.proto", fileDescriptor_448ea787339d1228) }
  2810  
  2811  var fileDescriptor_448ea787339d1228 = []byte{
  2812  	// 1647 bytes of a gzipped FileDescriptorProto
  2813  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x58, 0x4d, 0x6f, 0x1b, 0xc7,
  2814  	0x19, 0xd6, 0x70, 0x49, 0x89, 0x7c, 0x45, 0xd3, 0xcc, 0xd8, 0x68, 0x37, 0x74, 0xcc, 0x30, 0x0b,
  2815  	0xd5, 0x61, 0x83, 0x86, 0x34, 0x97, 0x0c, 0x50, 0xe4, 0x64, 0x52, 0xb1, 0x2a, 0x01, 0xaa, 0x5c,
  2816  	0x6c, 0x9d, 0xb4, 0xf0, 0x85, 0x58, 0xee, 0x0e, 0xc9, 0x85, 0xc8, 0x19, 0x75, 0x67, 0xd6, 0x22,
  2817  	0x6f, 0x45, 0x7b, 0xe8, 0x35, 0x97, 0xa2, 0x40, 0xff, 0x41, 0x4f, 0x45, 0xfe, 0x41, 0x8f, 0xbe,
  2818  	0x14, 0xf0, 0xa5, 0x40, 0x81, 0x02, 0x41, 0x61, 0x5f, 0xfb, 0x0f, 0x8a, 0x22, 0xc5, 0xcc, 0x7e,
  2819  	0x70, 0x29, 0x89, 0x0a, 0xa5, 0xb4, 0x31, 0x04, 0xe4, 0x22, 0xcd, 0xbe, 0xfb, 0xcc, 0xfb, 0xf1,
  2820  	0xbc, 0x1f, 0xdc, 0x19, 0xb8, 0x13, 0xd0, 0x63, 0xca, 0xe8, 0x29, 0x3d, 0xf1, 0x99, 0x60, 0x0d,
  2821  	0xf5, 0x17, 0xe7, 0x05, 0xe1, 0xc2, 0xb5, 0x85, 0x5d, 0xb9, 0x3b, 0x62, 0x23, 0xa6, 0x84, 0x4d,
  2822  	0xb9, 0x0a, 0xdf, 0x57, 0xde, 0x1e, 0x31, 0x36, 0x9a, 0x90, 0xa6, 0x7a, 0x1a, 0x04, 0xc3, 0xa6,
  2823  	0x4d, 0xe7, 0xd1, 0xab, 0x8a, 0xc3, 0xf8, 0x94, 0xf1, 0xa6, 0x98, 0x35, 0x9f, 0xb7, 0x06, 0x44,
  2824  	0xd8, 0xad, 0xa6, 0x98, 0x85, 0xef, 0x0c, 0x01, 0x85, 0xdd, 0x80, 0x0b, 0x36, 0x25, 0x7e, 0x0b,
  2825  	0x97, 0x20, 0xe3, 0xb9, 0x3a, 0xaa, 0xa1, 0x7a, 0xce, 0xca, 0x78, 0x2e, 0xc6, 0x90, 0xa5, 0xf6,
  2826  	0x94, 0xe8, 0x99, 0x1a, 0xaa, 0x17, 0x2c, 0xb5, 0xc6, 0x3f, 0x84, 0x32, 0x0f, 0x06, 0xdc, 0xf1,
  2827  	0xbd, 0x13, 0xe1, 0x31, 0xda, 0x1f, 0x12, 0xa2, 0x6b, 0x35, 0x54, 0xcf, 0x58, 0xb7, 0xd3, 0xf2,
  2828  	0x3d, 0x42, 0xb0, 0x0e, 0x5b, 0x27, 0xf6, 0x7c, 0x4a, 0xa8, 0xd0, 0xb7, 0x94, 0x86, 0xf8, 0xd1,
  2829  	0xf8, 0x22, 0xb3, 0x30, 0x6b, 0x9e, 0x33, 0x5b, 0x81, 0xbc, 0x47, 0xdd, 0x80, 0x0b, 0x7f, 0xae,
  2830  	0x4c, 0xe7, 0xac, 0xe4, 0x39, 0x71, 0x49, 0x4b, 0xb9, 0x74, 0x17, 0x72, 0x43, 0x72, 0x4a, 0x7c,
  2831  	0x3d, 0xab, 0xfc, 0x08, 0x1f, 0xf0, 0x3d, 0xc8, 0xfb, 0x84, 0x13, 0xff, 0x39, 0x71, 0xf5, 0x3f,
  2832  	0xe4, 0x6b, 0xa8, 0xae, 0x59, 0x89, 0x00, 0xff, 0x08, 0xb2, 0x8e, 0x27, 0xe6, 0xfa, 0x66, 0x0d,
  2833  	0xd5, 0x4b, 0xa6, 0xde, 0x88, 0xc9, 0x6d, 0x24, 0x5e, 0x35, 0x76, 0x3d, 0x31, 0xb7, 0x14, 0x0a,
  2834  	0x7f, 0x0c, 0xb7, 0xa6, 0x1e, 0x77, 0xc8, 0x64, 0x62, 0x53, 0xc2, 0x02, 0xae, 0x43, 0x0d, 0xd5,
  2835  	0xb7, 0xcd, 0xbb, 0x8d, 0x90, 0xf3, 0x46, 0xcc, 0x79, 0xa3, 0x4b, 0xe7, 0xd6, 0x32, 0xd4, 0xf8,
  2836  	0x09, 0x64, 0xa5, 0x26, 0x9c, 0x87, 0xec, 0xa1, 0xcd, 0x78, 0x79, 0x03, 0x97, 0x00, 0x0e, 0x19,
  2837  	0xef, 0xd2, 0x11, 0x99, 0x10, 0x5e, 0x46, 0xb8, 0x08, 0xf9, 0x9f, 0xd9, 0x13, 0xd6, 0x9d, 0x08,
  2838  	0x56, 0xce, 0x60, 0x80, 0xcd, 0x9f, 0x32, 0xee, 0xb0, 0xd3, 0xb2, 0x86, 0xb7, 0x61, 0xeb, 0xc8,
  2839  	0xf6, 0x7c, 0x36, 0xf0, 0xca, 0x59, 0xa3, 0x01, 0xf9, 0x23, 0xc2, 0x05, 0x71, 0x3b, 0xdd, 0x75,
  2840  	0x12, 0x65, 0xfc, 0x0d, 0xc5, 0x1b, 0xda, 0x6b, 0x6d, 0xc0, 0x06, 0x64, 0xec, 0x8e, 0x9e, 0xad,
  2841  	0x69, 0xf5, 0x6d, 0x13, 0x2f, 0x18, 0x89, 0x8d, 0x5a, 0x19, 0xbb, 0x83, 0xdb, 0x90, 0xf3, 0xa8,
  2842  	0x4b, 0x66, 0x7a, 0x4e, 0xc1, 0xee, 0x9f, 0x85, 0xb5, 0xbb, 0x8d, 0x03, 0xf9, 0xfe, 0x31, 0x15,
  2843  	0xfe, 0xdc, 0x0a, 0xb1, 0x95, 0x43, 0x80, 0x85, 0x10, 0x97, 0x41, 0x3b, 0x26, 0x73, 0xe5, 0x8b,
  2844  	0x66, 0xc9, 0x25, 0xae, 0x43, 0xee, 0xb9, 0x3d, 0x09, 0x42, 0x6f, 0x2e, 0xb6, 0x1d, 0x02, 0x3e,
  2845  	0xce, 0xfc, 0x18, 0x19, 0xcf, 0xe2, 0xb0, 0xcc, 0xf5, 0xc2, 0xfa, 0x00, 0x36, 0xa9, 0xc2, 0xab,
  2846  	0x9a, 0xb9, 0x40, 0x7d, 0xbb, 0x6b, 0x45, 0x08, 0x63, 0x2f, 0xd6, 0xdd, 0x3a, 0xaf, 0x7b, 0xa1,
  2847  	0x67, 0x85, 0x9b, 0xe6, 0x42, 0xcf, 0xa3, 0x24, 0x57, 0xbd, 0x73, 0x7a, 0xca, 0xa0, 0xd9, 0x23,
  2848  	0x12, 0x15, 0xb6, 0x5c, 0x5e, 0x54, 0xd3, 0x86, 0x9b, 0x24, 0xef, 0x9a, 0x1a, 0x64, 0x3a, 0x07,
  2849  	0xab, 0xd3, 0xd9, 0xb3, 0x32, 0x83, 0x8e, 0x41, 0x13, 0x2e, 0x2f, 0xb4, 0x22, 0x7b, 0x5b, 0x5a,
  2850  	0x41, 0x96, 0x5c, 0xae, 0xc1, 0x64, 0x2f, 0x66, 0x40, 0xf6, 0xa4, 0xcf, 0x02, 0x41, 0x54, 0x4f,
  2851  	0x16, 0xac, 0xf0, 0xc1, 0xf8, 0x65, 0xc2, 0x6f, 0xef, 0x1a, 0xfc, 0x2e, 0xb4, 0x47, 0x0c, 0x68,
  2852  	0x09, 0x03, 0xc6, 0x6f, 0x52, 0x13, 0xa5, 0xbd, 0x56, 0x5d, 0x94, 0x20, 0xc3, 0x87, 0xd1, 0xe8,
  2853  	0xca, 0xf0, 0x21, 0x7e, 0x07, 0x0a, 0x3c, 0xf0, 0x9d, 0xb1, 0xed, 0x8f, 0x48, 0x34, 0x49, 0x16,
  2854  	0x02, 0x5c, 0x83, 0x6d, 0x97, 0x70, 0xe1, 0x51, 0x5b, 0x4e, 0x37, 0x3d, 0xa7, 0x14, 0xa5, 0x45,
  2855  	0xf8, 0x01, 0x94, 0x1c, 0x9f, 0xb8, 0x9e, 0xe8, 0x3b, 0xb6, 0xef, 0xf6, 0x29, 0x0b, 0x87, 0xde,
  2856  	0xfe, 0x86, 0x55, 0x0c, 0xe5, 0xbb, 0xb6, 0xef, 0x1e, 0x31, 0x7c, 0x1f, 0x0a, 0xce, 0x98, 0xfc,
  2857  	0x2a, 0x20, 0x12, 0x92, 0x8f, 0x20, 0xf9, 0x50, 0x74, 0xc4, 0x70, 0x13, 0xf2, 0xcc, 0xf7, 0x46,
  2858  	0x1e, 0xb5, 0x27, 0x7a, 0x41, 0x11, 0x71, 0xe7, 0xfc, 0x74, 0x6a, 0x59, 0x09, 0xa8, 0x57, 0x48,
  2859  	0xa6, 0xac, 0xf1, 0xaf, 0x0c, 0x14, 0x9f, 0x12, 0x2e, 0x3e, 0x23, 0x3e, 0xf7, 0x18, 0x6d, 0xe1,
  2860  	0x22, 0xa0, 0x59, 0xd4, 0x69, 0x68, 0x86, 0x77, 0x00, 0xd9, 0x11, 0xb9, 0xdf, 0x5b, 0xe8, 0x4c,
  2861  	0x6f, 0xb0, 0x90, 0x2d, 0x51, 0x83, 0x28, 0xc1, 0x2b, 0x51, 0x03, 0x89, 0x72, 0xa2, 0xe2, 0x5a,
  2862  	0x89, 0x72, 0xf0, 0x07, 0x80, 0xdc, 0x68, 0x54, 0xac, 0x40, 0xf5, 0xb2, 0x2f, 0xbe, 0x7c, 0x77,
  2863  	0xc3, 0x42, 0x2e, 0x2e, 0x01, 0x22, 0x6a, 0x1e, 0xe7, 0xf6, 0x37, 0x2c, 0x44, 0xf0, 0x03, 0x40,
  2864  	0x43, 0x45, 0xe1, 0xca, 0xbd, 0x12, 0x37, 0xc4, 0x06, 0xa0, 0x91, 0xe2, 0x71, 0xd5, 0x40, 0x46,
  2865  	0x23, 0xe9, 0xed, 0x58, 0x2f, 0x5c, 0xee, 0xed, 0x18, 0xbf, 0x0f, 0xe8, 0x58, 0x2f, 0xae, 0xe4,
  2866  	0xbc, 0x97, 0x7d, 0xf9, 0xe5, 0xbb, 0xc8, 0x42, 0xc7, 0xbd, 0x1c, 0x68, 0x3c, 0x98, 0x1a, 0xbf,
  2867  	0xd5, 0x96, 0xe8, 0x36, 0xaf, 0x4a, 0xb7, 0xb9, 0x16, 0xdd, 0xe6, 0x5a, 0x74, 0x9b, 0x92, 0xee,
  2868  	0x9d, 0xaf, 0xa3, 0xdb, 0xbc, 0x16, 0xd1, 0xe6, 0x9b, 0x22, 0x1a, 0xdf, 0x83, 0x02, 0x25, 0xa7,
  2869  	0xfd, 0xa1, 0x47, 0x26, 0xae, 0xfe, 0x76, 0x0d, 0xd5, 0xb3, 0x56, 0x9e, 0x92, 0xd3, 0x3d, 0xf9,
  2870  	0x1c, 0x67, 0xe1, 0xf7, 0xcb, 0x59, 0x68, 0x5f, 0x35, 0x0b, 0xed, 0xb5, 0xb2, 0xd0, 0x5e, 0x2b,
  2871  	0x0b, 0xed, 0xb5, 0xb2, 0xd0, 0xbe, 0x56, 0x16, 0xda, 0x6f, 0x2c, 0x0b, 0x1f, 0x02, 0xa6, 0x8c,
  2872  	0xf6, 0x1d, 0xdf, 0x13, 0x9e, 0x63, 0x4f, 0xa2, 0x74, 0xfc, 0x4e, 0xcd, 0x2e, 0xab, 0x4c, 0x19,
  2873  	0xdd, 0x8d, 0xde, 0x2c, 0xe5, 0xe5, 0xdf, 0x19, 0xa8, 0xa4, 0xdd, 0x3f, 0x64, 0x94, 0x3c, 0xa1,
  2874  	0xe4, 0xc9, 0xf0, 0x33, 0xf9, 0x53, 0x7e, 0x43, 0xb3, 0x74, 0x63, 0xd8, 0xff, 0xcf, 0x26, 0x7c,
  2875  	0xff, 0x2c, 0xfb, 0x47, 0xea, 0xd7, 0x6a, 0x74, 0x43, 0xa8, 0x6f, 0x2d, 0x1a, 0xe2, 0xbd, 0x8b,
  2876  	0x51, 0xa9, 0x98, 0x6e, 0x48, 0x6f, 0xe0, 0x47, 0xb0, 0xe9, 0x51, 0x4a, 0xfc, 0x96, 0x5e, 0x52,
  2877  	0xca, 0xeb, 0x5f, 0x1b, 0x59, 0xe3, 0x40, 0xe1, 0xad, 0x68, 0x5f, 0xa2, 0xc1, 0xd4, 0x6f, 0x5f,
  2878  	0x49, 0x83, 0x19, 0x69, 0x30, 0x2b, 0x7f, 0x42, 0xb0, 0x19, 0x2a, 0x4d, 0x7d, 0x27, 0x69, 0x2b,
  2879  	0xbf, 0x93, 0x0e, 0xe4, 0x27, 0x3f, 0x25, 0x7e, 0x94, 0xfd, 0xf6, 0xba, 0x1e, 0x87, 0xff, 0xd4,
  2880  	0x1f, 0x2b, 0xd4, 0x50, 0x79, 0x28, 0x0f, 0x02, 0xb1, 0x30, 0x65, 0xbc, 0x10, 0x1b, 0x57, 0x67,
  2881  	0xb2, 0xc8, 0xb8, 0x5c, 0x57, 0xfe, 0x1c, 0xfb, 0x6a, 0x9e, 0x83, 0xeb, 0xb0, 0xe5, 0xb0, 0x80,
  2882  	0xc6, 0x87, 0xc4, 0x82, 0x15, 0x3f, 0x5e, 0xd7, 0x63, 0xf3, 0x7f, 0xe1, 0x71, 0xdc, 0x7f, 0x5f,
  2883  	0x2d, 0xf7, 0x5f, 0xe7, 0xbb, 0xfe, 0xbb, 0x41, 0xfd, 0xd7, 0xf9, 0xc6, 0xfd, 0xd7, 0xf9, 0x96,
  2884  	0xfb, 0xaf, 0xf3, 0x8d, 0xfa, 0x4f, 0x5b, 0xd9, 0x7f, 0x5f, 0xfc, 0xdf, 0xfa, 0xaf, 0xb3, 0x56,
  2885  	0xff, 0x99, 0x97, 0xf6, 0xdf, 0xdd, 0xf4, 0xc5, 0x81, 0x16, 0x5d, 0x12, 0xc4, 0x1d, 0xf8, 0x57,
  2886  	0x04, 0xa5, 0x94, 0xbd, 0xbd, 0x4f, 0xae, 0x77, 0x1c, 0x7a, 0xe3, 0xc7, 0x92, 0x38, 0x9e, 0x7f,
  2887  	0xa0, 0xa5, 0xef, 0xa9, 0xbd, 0x4f, 0x5a, 0xbf, 0xf0, 0xc4, 0xf8, 0xf1, 0x4c, 0xf8, 0x76, 0x97,
  2888  	0xce, 0xbf, 0xd5, 0xd8, 0x76, 0x16, 0xb1, 0xa5, 0x70, 0x5d, 0x3a, 0x4f, 0x3c, 0xba, 0x72, 0x74,
  2889  	0x4f, 0xa1, 0x98, 0xde, 0x8f, 0xeb, 0x32, 0x00, 0xb4, 0x9a, 0xbe, 0x78, 0x02, 0xd8, 0x32, 0xf0,
  2890  	0x70, 0x32, 0x6a, 0x72, 0x02, 0x16, 0xc3, 0x09, 0xa8, 0x9e, 0x1c, 0xe3, 0x2f, 0x08, 0xca, 0xd2,
  2891  	0xe0, 0xa7, 0x27, 0xae, 0x2d, 0x88, 0xfb, 0x74, 0x66, 0xd9, 0xa7, 0xf8, 0x3e, 0xc0, 0x80, 0xb9,
  2892  	0xf3, 0xfe, 0x60, 0x2e, 0x08, 0x57, 0x36, 0x8a, 0x56, 0x41, 0x4a, 0x7a, 0x52, 0x80, 0x1f, 0xc0,
  2893  	0x6d, 0x3b, 0x10, 0xe3, 0xbe, 0x47, 0x87, 0x2c, 0xc2, 0x64, 0x14, 0xe6, 0x96, 0x14, 0x1f, 0xd0,
  2894  	0x21, 0x0b, 0x71, 0x55, 0x00, 0xee, 0x8d, 0xa8, 0x2d, 0x02, 0x9f, 0x70, 0x5d, 0xab, 0x69, 0xf5,
  2895  	0xa2, 0x95, 0x92, 0xe0, 0x2a, 0x6c, 0x27, 0x67, 0x97, 0xfe, 0x47, 0xea, 0xc6, 0xa0, 0x68, 0x15,
  2896  	0xe2, 0xd3, 0xcb, 0x47, 0xf8, 0x07, 0x50, 0x5a, 0xbc, 0x6f, 0x3d, 0x34, 0x3b, 0xfa, 0xaf, 0xf3,
  2897  	0x0a, 0x53, 0x8c, 0x31, 0x52, 0x68, 0x7c, 0xae, 0xc1, 0x5b, 0x4b, 0x21, 0xf4, 0x98, 0x3b, 0xc7,
  2898  	0x0f, 0x21, 0x3f, 0x25, 0x9c, 0xdb, 0x23, 0x15, 0x81, 0xb6, 0xb2, 0xc8, 0x12, 0x94, 0xec, 0xee,
  2899  	0x29, 0x99, 0xb2, 0xb8, 0xbb, 0xe5, 0x5a, 0xba, 0x20, 0xbc, 0x29, 0x61, 0x81, 0xe8, 0x8f, 0x89,
  2900  	0x37, 0x1a, 0x8b, 0x88, 0xc7, 0x5b, 0x91, 0x74, 0x5f, 0x09, 0xf1, 0x0e, 0x94, 0x38, 0x9b, 0x92,
  2901  	0xfe, 0xe2, 0x28, 0x96, 0x55, 0x47, 0xb1, 0xa2, 0x94, 0x1e, 0x45, 0xce, 0xe2, 0x7d, 0x78, 0x6f,
  2902  	0x19, 0xd5, 0xbf, 0x60, 0x30, 0xff, 0x31, 0x1c, 0xcc, 0xef, 0xa4, 0x77, 0x1e, 0x9d, 0x1d, 0xd2,
  2903  	0x3d, 0x78, 0x8b, 0xcc, 0x04, 0xa1, 0xb2, 0x46, 0xfa, 0x4c, 0x5d, 0x27, 0x73, 0xfd, 0xab, 0xad,
  2904  	0x4b, 0xc2, 0x2c, 0x27, 0xf8, 0x27, 0x21, 0x1c, 0x3f, 0x83, 0xea, 0x92, 0xf9, 0x0b, 0x14, 0xde,
  2905  	0xbe, 0x44, 0xe1, 0xbd, 0xd4, 0x2f, 0xc7, 0xe3, 0x33, 0xba, 0x8d, 0x17, 0x08, 0xee, 0xa4, 0x52,
  2906  	0xd2, 0x8d, 0xca, 0x02, 0x3f, 0x82, 0xa2, 0xcc, 0x3f, 0xf1, 0x55, 0xed, 0xc4, 0x89, 0xb9, 0xdf,
  2907  	0x08, 0xaf, 0xdf, 0x1b, 0x62, 0xd6, 0x88, 0xae, 0xdf, 0x1b, 0x3f, 0x57, 0x30, 0xb9, 0xc9, 0xda,
  2908  	0xe6, 0xc9, 0x9a, 0xe3, 0xfa, 0xe2, 0xce, 0x4d, 0x36, 0xcd, 0xf9, 0x8d, 0x7b, 0x84, 0x84, 0x77,
  2909  	0x71, 0x4b, 0xd5, 0xd5, 0x56, 0x79, 0x4b, 0x55, 0x57, 0x7b, 0xdd, 0xea, 0x7a, 0x3f, 0x2c, 0x2e,
  2910  	0x8b, 0x9c, 0x10, 0x19, 0xca, 0xa7, 0x1e, 0x15, 0xaa, 0x54, 0x68, 0x30, 0x0d, 0xfd, 0xcf, 0x5a,
  2911  	0x6a, 0xdd, 0x3b, 0x7c, 0xf1, 0xaa, 0x8a, 0x5e, 0xbe, 0xaa, 0xa2, 0x7f, 0xbe, 0xaa, 0xa2, 0xcf,
  2912  	0x5f, 0x57, 0x37, 0x5e, 0xbe, 0xae, 0x6e, 0xfc, 0xfd, 0x75, 0x75, 0xe3, 0x99, 0x39, 0xf2, 0xc4,
  2913  	0x38, 0x18, 0x34, 0x1c, 0x36, 0x6d, 0xee, 0x79, 0x94, 0x3b, 0x63, 0xcf, 0x6e, 0x0e, 0xa3, 0xc5,
  2914  	0x87, 0xdc, 0x3d, 0x6e, 0xca, 0xde, 0x0f, 0x84, 0x37, 0x69, 0xc6, 0x43, 0x60, 0xb0, 0xa9, 0xc8,
  2915  	0x6e, 0xff, 0x37, 0x00, 0x00, 0xff, 0xff, 0x74, 0xe4, 0xc0, 0xcc, 0xea, 0x18, 0x00, 0x00,
  2916  }
  2917  
  2918  func (m *Customer1) Marshal() (dAtA []byte, err error) {
  2919  	size := m.Size()
  2920  	dAtA = make([]byte, size)
  2921  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2922  	if err != nil {
  2923  		return nil, err
  2924  	}
  2925  	return dAtA[:n], nil
  2926  }
  2927  
  2928  func (m *Customer1) MarshalTo(dAtA []byte) (int, error) {
  2929  	size := m.Size()
  2930  	return m.MarshalToSizedBuffer(dAtA[:size])
  2931  }
  2932  
  2933  func (m *Customer1) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2934  	i := len(dAtA)
  2935  	_ = i
  2936  	var l int
  2937  	_ = l
  2938  	if len(m.Payment) > 0 {
  2939  		i -= len(m.Payment)
  2940  		copy(dAtA[i:], m.Payment)
  2941  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Payment)))
  2942  		i--
  2943  		dAtA[i] = 0x3a
  2944  	}
  2945  	if m.SubscriptionFee != 0 {
  2946  		i -= 4
  2947  		encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.SubscriptionFee))))
  2948  		i--
  2949  		dAtA[i] = 0x1d
  2950  	}
  2951  	if len(m.Name) > 0 {
  2952  		i -= len(m.Name)
  2953  		copy(dAtA[i:], m.Name)
  2954  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Name)))
  2955  		i--
  2956  		dAtA[i] = 0x12
  2957  	}
  2958  	if m.Id != 0 {
  2959  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Id))
  2960  		i--
  2961  		dAtA[i] = 0x8
  2962  	}
  2963  	return len(dAtA) - i, nil
  2964  }
  2965  
  2966  func (m *Customer2) Marshal() (dAtA []byte, err error) {
  2967  	size := m.Size()
  2968  	dAtA = make([]byte, size)
  2969  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  2970  	if err != nil {
  2971  		return nil, err
  2972  	}
  2973  	return dAtA[:n], nil
  2974  }
  2975  
  2976  func (m *Customer2) MarshalTo(dAtA []byte) (int, error) {
  2977  	size := m.Size()
  2978  	return m.MarshalToSizedBuffer(dAtA[:size])
  2979  }
  2980  
  2981  func (m *Customer2) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  2982  	i := len(dAtA)
  2983  	_ = i
  2984  	var l int
  2985  	_ = l
  2986  	if m.Reserved != 0 {
  2987  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Reserved))
  2988  		i--
  2989  		dAtA[i] = 0x41
  2990  		i--
  2991  		dAtA[i] = 0xb8
  2992  	}
  2993  	if m.Miscellaneous != nil {
  2994  		{
  2995  			size, err := m.Miscellaneous.MarshalToSizedBuffer(dAtA[:i])
  2996  			if err != nil {
  2997  				return 0, err
  2998  			}
  2999  			i -= size
  3000  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3001  		}
  3002  		i--
  3003  		dAtA[i] = 0x52
  3004  	}
  3005  	if m.City != 0 {
  3006  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.City))
  3007  		i--
  3008  		dAtA[i] = 0x30
  3009  	}
  3010  	if m.Fewer != 0 {
  3011  		i -= 4
  3012  		encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Fewer))))
  3013  		i--
  3014  		dAtA[i] = 0x25
  3015  	}
  3016  	if len(m.Name) > 0 {
  3017  		i -= len(m.Name)
  3018  		copy(dAtA[i:], m.Name)
  3019  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Name)))
  3020  		i--
  3021  		dAtA[i] = 0x1a
  3022  	}
  3023  	if m.Industry != 0 {
  3024  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Industry))
  3025  		i--
  3026  		dAtA[i] = 0x10
  3027  	}
  3028  	if m.Id != 0 {
  3029  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Id))
  3030  		i--
  3031  		dAtA[i] = 0x8
  3032  	}
  3033  	return len(dAtA) - i, nil
  3034  }
  3035  
  3036  func (m *Nested4A) Marshal() (dAtA []byte, err error) {
  3037  	size := m.Size()
  3038  	dAtA = make([]byte, size)
  3039  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3040  	if err != nil {
  3041  		return nil, err
  3042  	}
  3043  	return dAtA[:n], nil
  3044  }
  3045  
  3046  func (m *Nested4A) MarshalTo(dAtA []byte) (int, error) {
  3047  	size := m.Size()
  3048  	return m.MarshalToSizedBuffer(dAtA[:size])
  3049  }
  3050  
  3051  func (m *Nested4A) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3052  	i := len(dAtA)
  3053  	_ = i
  3054  	var l int
  3055  	_ = l
  3056  	if len(m.Name) > 0 {
  3057  		i -= len(m.Name)
  3058  		copy(dAtA[i:], m.Name)
  3059  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Name)))
  3060  		i--
  3061  		dAtA[i] = 0x12
  3062  	}
  3063  	if m.Id != 0 {
  3064  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Id))
  3065  		i--
  3066  		dAtA[i] = 0x8
  3067  	}
  3068  	return len(dAtA) - i, nil
  3069  }
  3070  
  3071  func (m *Nested3A) Marshal() (dAtA []byte, err error) {
  3072  	size := m.Size()
  3073  	dAtA = make([]byte, size)
  3074  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3075  	if err != nil {
  3076  		return nil, err
  3077  	}
  3078  	return dAtA[:n], nil
  3079  }
  3080  
  3081  func (m *Nested3A) MarshalTo(dAtA []byte) (int, error) {
  3082  	size := m.Size()
  3083  	return m.MarshalToSizedBuffer(dAtA[:size])
  3084  }
  3085  
  3086  func (m *Nested3A) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3087  	i := len(dAtA)
  3088  	_ = i
  3089  	var l int
  3090  	_ = l
  3091  	if len(m.Index) > 0 {
  3092  		for k := range m.Index {
  3093  			v := m.Index[k]
  3094  			baseI := i
  3095  			if v != nil {
  3096  				{
  3097  					size, err := v.MarshalToSizedBuffer(dAtA[:i])
  3098  					if err != nil {
  3099  						return 0, err
  3100  					}
  3101  					i -= size
  3102  					i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3103  				}
  3104  				i--
  3105  				dAtA[i] = 0x12
  3106  			}
  3107  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(k))
  3108  			i--
  3109  			dAtA[i] = 0x8
  3110  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(baseI-i))
  3111  			i--
  3112  			dAtA[i] = 0x2a
  3113  		}
  3114  	}
  3115  	if len(m.A4) > 0 {
  3116  		for iNdEx := len(m.A4) - 1; iNdEx >= 0; iNdEx-- {
  3117  			{
  3118  				size, err := m.A4[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  3119  				if err != nil {
  3120  					return 0, err
  3121  				}
  3122  				i -= size
  3123  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3124  			}
  3125  			i--
  3126  			dAtA[i] = 0x22
  3127  		}
  3128  	}
  3129  	if len(m.Name) > 0 {
  3130  		i -= len(m.Name)
  3131  		copy(dAtA[i:], m.Name)
  3132  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Name)))
  3133  		i--
  3134  		dAtA[i] = 0x12
  3135  	}
  3136  	if m.Id != 0 {
  3137  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Id))
  3138  		i--
  3139  		dAtA[i] = 0x8
  3140  	}
  3141  	return len(dAtA) - i, nil
  3142  }
  3143  
  3144  func (m *Nested2A) Marshal() (dAtA []byte, err error) {
  3145  	size := m.Size()
  3146  	dAtA = make([]byte, size)
  3147  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3148  	if err != nil {
  3149  		return nil, err
  3150  	}
  3151  	return dAtA[:n], nil
  3152  }
  3153  
  3154  func (m *Nested2A) MarshalTo(dAtA []byte) (int, error) {
  3155  	size := m.Size()
  3156  	return m.MarshalToSizedBuffer(dAtA[:size])
  3157  }
  3158  
  3159  func (m *Nested2A) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3160  	i := len(dAtA)
  3161  	_ = i
  3162  	var l int
  3163  	_ = l
  3164  	if m.Nested != nil {
  3165  		{
  3166  			size, err := m.Nested.MarshalToSizedBuffer(dAtA[:i])
  3167  			if err != nil {
  3168  				return 0, err
  3169  			}
  3170  			i -= size
  3171  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3172  		}
  3173  		i--
  3174  		dAtA[i] = 0x1a
  3175  	}
  3176  	if len(m.Name) > 0 {
  3177  		i -= len(m.Name)
  3178  		copy(dAtA[i:], m.Name)
  3179  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Name)))
  3180  		i--
  3181  		dAtA[i] = 0x12
  3182  	}
  3183  	if m.Id != 0 {
  3184  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Id))
  3185  		i--
  3186  		dAtA[i] = 0x8
  3187  	}
  3188  	return len(dAtA) - i, nil
  3189  }
  3190  
  3191  func (m *Nested1A) Marshal() (dAtA []byte, err error) {
  3192  	size := m.Size()
  3193  	dAtA = make([]byte, size)
  3194  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3195  	if err != nil {
  3196  		return nil, err
  3197  	}
  3198  	return dAtA[:n], nil
  3199  }
  3200  
  3201  func (m *Nested1A) MarshalTo(dAtA []byte) (int, error) {
  3202  	size := m.Size()
  3203  	return m.MarshalToSizedBuffer(dAtA[:size])
  3204  }
  3205  
  3206  func (m *Nested1A) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3207  	i := len(dAtA)
  3208  	_ = i
  3209  	var l int
  3210  	_ = l
  3211  	if m.Nested != nil {
  3212  		{
  3213  			size, err := m.Nested.MarshalToSizedBuffer(dAtA[:i])
  3214  			if err != nil {
  3215  				return 0, err
  3216  			}
  3217  			i -= size
  3218  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3219  		}
  3220  		i--
  3221  		dAtA[i] = 0x12
  3222  	}
  3223  	if m.Id != 0 {
  3224  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Id))
  3225  		i--
  3226  		dAtA[i] = 0x8
  3227  	}
  3228  	return len(dAtA) - i, nil
  3229  }
  3230  
  3231  func (m *Nested4B) Marshal() (dAtA []byte, err error) {
  3232  	size := m.Size()
  3233  	dAtA = make([]byte, size)
  3234  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3235  	if err != nil {
  3236  		return nil, err
  3237  	}
  3238  	return dAtA[:n], nil
  3239  }
  3240  
  3241  func (m *Nested4B) MarshalTo(dAtA []byte) (int, error) {
  3242  	size := m.Size()
  3243  	return m.MarshalToSizedBuffer(dAtA[:size])
  3244  }
  3245  
  3246  func (m *Nested4B) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3247  	i := len(dAtA)
  3248  	_ = i
  3249  	var l int
  3250  	_ = l
  3251  	if len(m.Name) > 0 {
  3252  		i -= len(m.Name)
  3253  		copy(dAtA[i:], m.Name)
  3254  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Name)))
  3255  		i--
  3256  		dAtA[i] = 0x1a
  3257  	}
  3258  	if m.Age != 0 {
  3259  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Age))
  3260  		i--
  3261  		dAtA[i] = 0x10
  3262  	}
  3263  	if m.Id != 0 {
  3264  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Id))
  3265  		i--
  3266  		dAtA[i] = 0x8
  3267  	}
  3268  	return len(dAtA) - i, nil
  3269  }
  3270  
  3271  func (m *Nested3B) Marshal() (dAtA []byte, err error) {
  3272  	size := m.Size()
  3273  	dAtA = make([]byte, size)
  3274  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3275  	if err != nil {
  3276  		return nil, err
  3277  	}
  3278  	return dAtA[:n], nil
  3279  }
  3280  
  3281  func (m *Nested3B) MarshalTo(dAtA []byte) (int, error) {
  3282  	size := m.Size()
  3283  	return m.MarshalToSizedBuffer(dAtA[:size])
  3284  }
  3285  
  3286  func (m *Nested3B) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3287  	i := len(dAtA)
  3288  	_ = i
  3289  	var l int
  3290  	_ = l
  3291  	if len(m.B4) > 0 {
  3292  		for iNdEx := len(m.B4) - 1; iNdEx >= 0; iNdEx-- {
  3293  			{
  3294  				size, err := m.B4[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  3295  				if err != nil {
  3296  					return 0, err
  3297  				}
  3298  				i -= size
  3299  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3300  			}
  3301  			i--
  3302  			dAtA[i] = 0x22
  3303  		}
  3304  	}
  3305  	if len(m.Name) > 0 {
  3306  		i -= len(m.Name)
  3307  		copy(dAtA[i:], m.Name)
  3308  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Name)))
  3309  		i--
  3310  		dAtA[i] = 0x1a
  3311  	}
  3312  	if m.Age != 0 {
  3313  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Age))
  3314  		i--
  3315  		dAtA[i] = 0x10
  3316  	}
  3317  	if m.Id != 0 {
  3318  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Id))
  3319  		i--
  3320  		dAtA[i] = 0x8
  3321  	}
  3322  	return len(dAtA) - i, nil
  3323  }
  3324  
  3325  func (m *Nested2B) Marshal() (dAtA []byte, err error) {
  3326  	size := m.Size()
  3327  	dAtA = make([]byte, size)
  3328  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3329  	if err != nil {
  3330  		return nil, err
  3331  	}
  3332  	return dAtA[:n], nil
  3333  }
  3334  
  3335  func (m *Nested2B) MarshalTo(dAtA []byte) (int, error) {
  3336  	size := m.Size()
  3337  	return m.MarshalToSizedBuffer(dAtA[:size])
  3338  }
  3339  
  3340  func (m *Nested2B) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3341  	i := len(dAtA)
  3342  	_ = i
  3343  	var l int
  3344  	_ = l
  3345  	if len(m.Route) > 0 {
  3346  		i -= len(m.Route)
  3347  		copy(dAtA[i:], m.Route)
  3348  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Route)))
  3349  		i--
  3350  		dAtA[i] = 0x22
  3351  	}
  3352  	if m.Nested != nil {
  3353  		{
  3354  			size, err := m.Nested.MarshalToSizedBuffer(dAtA[:i])
  3355  			if err != nil {
  3356  				return 0, err
  3357  			}
  3358  			i -= size
  3359  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3360  		}
  3361  		i--
  3362  		dAtA[i] = 0x1a
  3363  	}
  3364  	if m.Fee != 0 {
  3365  		i -= 8
  3366  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Fee))))
  3367  		i--
  3368  		dAtA[i] = 0x11
  3369  	}
  3370  	if m.Id != 0 {
  3371  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Id))
  3372  		i--
  3373  		dAtA[i] = 0x8
  3374  	}
  3375  	return len(dAtA) - i, nil
  3376  }
  3377  
  3378  func (m *Nested1B) Marshal() (dAtA []byte, err error) {
  3379  	size := m.Size()
  3380  	dAtA = make([]byte, size)
  3381  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3382  	if err != nil {
  3383  		return nil, err
  3384  	}
  3385  	return dAtA[:n], nil
  3386  }
  3387  
  3388  func (m *Nested1B) MarshalTo(dAtA []byte) (int, error) {
  3389  	size := m.Size()
  3390  	return m.MarshalToSizedBuffer(dAtA[:size])
  3391  }
  3392  
  3393  func (m *Nested1B) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3394  	i := len(dAtA)
  3395  	_ = i
  3396  	var l int
  3397  	_ = l
  3398  	if m.Age != 0 {
  3399  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Age))
  3400  		i--
  3401  		dAtA[i] = 0x18
  3402  	}
  3403  	if m.Nested != nil {
  3404  		{
  3405  			size, err := m.Nested.MarshalToSizedBuffer(dAtA[:i])
  3406  			if err != nil {
  3407  				return 0, err
  3408  			}
  3409  			i -= size
  3410  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3411  		}
  3412  		i--
  3413  		dAtA[i] = 0x12
  3414  	}
  3415  	if m.Id != 0 {
  3416  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Id))
  3417  		i--
  3418  		dAtA[i] = 0x8
  3419  	}
  3420  	return len(dAtA) - i, nil
  3421  }
  3422  
  3423  func (m *Customer3) Marshal() (dAtA []byte, err error) {
  3424  	size := m.Size()
  3425  	dAtA = make([]byte, size)
  3426  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3427  	if err != nil {
  3428  		return nil, err
  3429  	}
  3430  	return dAtA[:n], nil
  3431  }
  3432  
  3433  func (m *Customer3) MarshalTo(dAtA []byte) (int, error) {
  3434  	size := m.Size()
  3435  	return m.MarshalToSizedBuffer(dAtA[:size])
  3436  }
  3437  
  3438  func (m *Customer3) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3439  	i := len(dAtA)
  3440  	_ = i
  3441  	var l int
  3442  	_ = l
  3443  	if m.Original != nil {
  3444  		{
  3445  			size, err := m.Original.MarshalToSizedBuffer(dAtA[:i])
  3446  			if err != nil {
  3447  				return 0, err
  3448  			}
  3449  			i -= size
  3450  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3451  		}
  3452  		i--
  3453  		dAtA[i] = 0x4a
  3454  	}
  3455  	if m.Payment != nil {
  3456  		{
  3457  			size := m.Payment.Size()
  3458  			i -= size
  3459  			if _, err := m.Payment.MarshalTo(dAtA[i:]); err != nil {
  3460  				return 0, err
  3461  			}
  3462  		}
  3463  	}
  3464  	if len(m.Destination) > 0 {
  3465  		i -= len(m.Destination)
  3466  		copy(dAtA[i:], m.Destination)
  3467  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Destination)))
  3468  		i--
  3469  		dAtA[i] = 0x2a
  3470  	}
  3471  	if m.Surcharge != 0 {
  3472  		i -= 4
  3473  		encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Surcharge))))
  3474  		i--
  3475  		dAtA[i] = 0x25
  3476  	}
  3477  	if m.Sf != 0 {
  3478  		i -= 4
  3479  		encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.Sf))))
  3480  		i--
  3481  		dAtA[i] = 0x1d
  3482  	}
  3483  	if len(m.Name) > 0 {
  3484  		i -= len(m.Name)
  3485  		copy(dAtA[i:], m.Name)
  3486  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Name)))
  3487  		i--
  3488  		dAtA[i] = 0x12
  3489  	}
  3490  	if m.Id != 0 {
  3491  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Id))
  3492  		i--
  3493  		dAtA[i] = 0x8
  3494  	}
  3495  	return len(dAtA) - i, nil
  3496  }
  3497  
  3498  func (m *Customer3_CreditCardNo) MarshalTo(dAtA []byte) (int, error) {
  3499  	size := m.Size()
  3500  	return m.MarshalToSizedBuffer(dAtA[:size])
  3501  }
  3502  
  3503  func (m *Customer3_CreditCardNo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3504  	i := len(dAtA)
  3505  	i -= len(m.CreditCardNo)
  3506  	copy(dAtA[i:], m.CreditCardNo)
  3507  	i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.CreditCardNo)))
  3508  	i--
  3509  	dAtA[i] = 0x3a
  3510  	return len(dAtA) - i, nil
  3511  }
  3512  func (m *Customer3_ChequeNo) MarshalTo(dAtA []byte) (int, error) {
  3513  	size := m.Size()
  3514  	return m.MarshalToSizedBuffer(dAtA[:size])
  3515  }
  3516  
  3517  func (m *Customer3_ChequeNo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3518  	i := len(dAtA)
  3519  	i -= len(m.ChequeNo)
  3520  	copy(dAtA[i:], m.ChequeNo)
  3521  	i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.ChequeNo)))
  3522  	i--
  3523  	dAtA[i] = 0x42
  3524  	return len(dAtA) - i, nil
  3525  }
  3526  func (m *TestVersion1) Marshal() (dAtA []byte, err error) {
  3527  	size := m.Size()
  3528  	dAtA = make([]byte, size)
  3529  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3530  	if err != nil {
  3531  		return nil, err
  3532  	}
  3533  	return dAtA[:n], nil
  3534  }
  3535  
  3536  func (m *TestVersion1) MarshalTo(dAtA []byte) (int, error) {
  3537  	size := m.Size()
  3538  	return m.MarshalToSizedBuffer(dAtA[:size])
  3539  }
  3540  
  3541  func (m *TestVersion1) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3542  	i := len(dAtA)
  3543  	_ = i
  3544  	var l int
  3545  	_ = l
  3546  	if m.Customer1 != nil {
  3547  		{
  3548  			size, err := m.Customer1.MarshalToSizedBuffer(dAtA[:i])
  3549  			if err != nil {
  3550  				return 0, err
  3551  			}
  3552  			i -= size
  3553  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3554  		}
  3555  		i--
  3556  		dAtA[i] = 0x62
  3557  	}
  3558  	if len(m.H) > 0 {
  3559  		for iNdEx := len(m.H) - 1; iNdEx >= 0; iNdEx-- {
  3560  			{
  3561  				size, err := m.H[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  3562  				if err != nil {
  3563  					return 0, err
  3564  				}
  3565  				i -= size
  3566  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3567  			}
  3568  			i--
  3569  			dAtA[i] = 0x4a
  3570  		}
  3571  	}
  3572  	if m.G != nil {
  3573  		{
  3574  			size, err := m.G.MarshalToSizedBuffer(dAtA[:i])
  3575  			if err != nil {
  3576  				return 0, err
  3577  			}
  3578  			i -= size
  3579  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3580  		}
  3581  		i--
  3582  		dAtA[i] = 0x42
  3583  	}
  3584  	if m.Sum != nil {
  3585  		{
  3586  			size := m.Sum.Size()
  3587  			i -= size
  3588  			if _, err := m.Sum.MarshalTo(dAtA[i:]); err != nil {
  3589  				return 0, err
  3590  			}
  3591  		}
  3592  	}
  3593  	if len(m.D) > 0 {
  3594  		for iNdEx := len(m.D) - 1; iNdEx >= 0; iNdEx-- {
  3595  			{
  3596  				size, err := m.D[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  3597  				if err != nil {
  3598  					return 0, err
  3599  				}
  3600  				i -= size
  3601  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3602  			}
  3603  			i--
  3604  			dAtA[i] = 0x2a
  3605  		}
  3606  	}
  3607  	if len(m.C) > 0 {
  3608  		for iNdEx := len(m.C) - 1; iNdEx >= 0; iNdEx-- {
  3609  			{
  3610  				size, err := m.C[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  3611  				if err != nil {
  3612  					return 0, err
  3613  				}
  3614  				i -= size
  3615  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3616  			}
  3617  			i--
  3618  			dAtA[i] = 0x22
  3619  		}
  3620  	}
  3621  	if m.B != nil {
  3622  		{
  3623  			size, err := m.B.MarshalToSizedBuffer(dAtA[:i])
  3624  			if err != nil {
  3625  				return 0, err
  3626  			}
  3627  			i -= size
  3628  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3629  		}
  3630  		i--
  3631  		dAtA[i] = 0x1a
  3632  	}
  3633  	if m.A != nil {
  3634  		{
  3635  			size, err := m.A.MarshalToSizedBuffer(dAtA[:i])
  3636  			if err != nil {
  3637  				return 0, err
  3638  			}
  3639  			i -= size
  3640  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3641  		}
  3642  		i--
  3643  		dAtA[i] = 0x12
  3644  	}
  3645  	if m.X != 0 {
  3646  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.X))
  3647  		i--
  3648  		dAtA[i] = 0x8
  3649  	}
  3650  	return len(dAtA) - i, nil
  3651  }
  3652  
  3653  func (m *TestVersion1_E) MarshalTo(dAtA []byte) (int, error) {
  3654  	size := m.Size()
  3655  	return m.MarshalToSizedBuffer(dAtA[:size])
  3656  }
  3657  
  3658  func (m *TestVersion1_E) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3659  	i := len(dAtA)
  3660  	i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.E))
  3661  	i--
  3662  	dAtA[i] = 0x30
  3663  	return len(dAtA) - i, nil
  3664  }
  3665  func (m *TestVersion1_F) MarshalTo(dAtA []byte) (int, error) {
  3666  	size := m.Size()
  3667  	return m.MarshalToSizedBuffer(dAtA[:size])
  3668  }
  3669  
  3670  func (m *TestVersion1_F) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3671  	i := len(dAtA)
  3672  	if m.F != nil {
  3673  		{
  3674  			size, err := m.F.MarshalToSizedBuffer(dAtA[:i])
  3675  			if err != nil {
  3676  				return 0, err
  3677  			}
  3678  			i -= size
  3679  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3680  		}
  3681  		i--
  3682  		dAtA[i] = 0x3a
  3683  	}
  3684  	return len(dAtA) - i, nil
  3685  }
  3686  func (m *TestVersion2) Marshal() (dAtA []byte, err error) {
  3687  	size := m.Size()
  3688  	dAtA = make([]byte, size)
  3689  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3690  	if err != nil {
  3691  		return nil, err
  3692  	}
  3693  	return dAtA[:n], nil
  3694  }
  3695  
  3696  func (m *TestVersion2) MarshalTo(dAtA []byte) (int, error) {
  3697  	size := m.Size()
  3698  	return m.MarshalToSizedBuffer(dAtA[:size])
  3699  }
  3700  
  3701  func (m *TestVersion2) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3702  	i := len(dAtA)
  3703  	_ = i
  3704  	var l int
  3705  	_ = l
  3706  	if m.NewField != 0 {
  3707  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.NewField))
  3708  		i--
  3709  		dAtA[i] = 0x1
  3710  		i--
  3711  		dAtA[i] = 0xc8
  3712  	}
  3713  	if m.Customer1 != nil {
  3714  		{
  3715  			size, err := m.Customer1.MarshalToSizedBuffer(dAtA[:i])
  3716  			if err != nil {
  3717  				return 0, err
  3718  			}
  3719  			i -= size
  3720  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3721  		}
  3722  		i--
  3723  		dAtA[i] = 0x62
  3724  	}
  3725  	if len(m.H) > 0 {
  3726  		for iNdEx := len(m.H) - 1; iNdEx >= 0; iNdEx-- {
  3727  			{
  3728  				size, err := m.H[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  3729  				if err != nil {
  3730  					return 0, err
  3731  				}
  3732  				i -= size
  3733  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3734  			}
  3735  			i--
  3736  			dAtA[i] = 0x4a
  3737  		}
  3738  	}
  3739  	if m.G != nil {
  3740  		{
  3741  			size, err := m.G.MarshalToSizedBuffer(dAtA[:i])
  3742  			if err != nil {
  3743  				return 0, err
  3744  			}
  3745  			i -= size
  3746  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3747  		}
  3748  		i--
  3749  		dAtA[i] = 0x42
  3750  	}
  3751  	if m.Sum != nil {
  3752  		{
  3753  			size := m.Sum.Size()
  3754  			i -= size
  3755  			if _, err := m.Sum.MarshalTo(dAtA[i:]); err != nil {
  3756  				return 0, err
  3757  			}
  3758  		}
  3759  	}
  3760  	if len(m.D) > 0 {
  3761  		for iNdEx := len(m.D) - 1; iNdEx >= 0; iNdEx-- {
  3762  			{
  3763  				size, err := m.D[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  3764  				if err != nil {
  3765  					return 0, err
  3766  				}
  3767  				i -= size
  3768  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3769  			}
  3770  			i--
  3771  			dAtA[i] = 0x2a
  3772  		}
  3773  	}
  3774  	if len(m.C) > 0 {
  3775  		for iNdEx := len(m.C) - 1; iNdEx >= 0; iNdEx-- {
  3776  			{
  3777  				size, err := m.C[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  3778  				if err != nil {
  3779  					return 0, err
  3780  				}
  3781  				i -= size
  3782  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3783  			}
  3784  			i--
  3785  			dAtA[i] = 0x22
  3786  		}
  3787  	}
  3788  	if m.B != nil {
  3789  		{
  3790  			size, err := m.B.MarshalToSizedBuffer(dAtA[:i])
  3791  			if err != nil {
  3792  				return 0, err
  3793  			}
  3794  			i -= size
  3795  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3796  		}
  3797  		i--
  3798  		dAtA[i] = 0x1a
  3799  	}
  3800  	if m.A != nil {
  3801  		{
  3802  			size, err := m.A.MarshalToSizedBuffer(dAtA[:i])
  3803  			if err != nil {
  3804  				return 0, err
  3805  			}
  3806  			i -= size
  3807  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3808  		}
  3809  		i--
  3810  		dAtA[i] = 0x12
  3811  	}
  3812  	if m.X != 0 {
  3813  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.X))
  3814  		i--
  3815  		dAtA[i] = 0x8
  3816  	}
  3817  	return len(dAtA) - i, nil
  3818  }
  3819  
  3820  func (m *TestVersion2_E) MarshalTo(dAtA []byte) (int, error) {
  3821  	size := m.Size()
  3822  	return m.MarshalToSizedBuffer(dAtA[:size])
  3823  }
  3824  
  3825  func (m *TestVersion2_E) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3826  	i := len(dAtA)
  3827  	i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.E))
  3828  	i--
  3829  	dAtA[i] = 0x30
  3830  	return len(dAtA) - i, nil
  3831  }
  3832  func (m *TestVersion2_F) MarshalTo(dAtA []byte) (int, error) {
  3833  	size := m.Size()
  3834  	return m.MarshalToSizedBuffer(dAtA[:size])
  3835  }
  3836  
  3837  func (m *TestVersion2_F) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3838  	i := len(dAtA)
  3839  	if m.F != nil {
  3840  		{
  3841  			size, err := m.F.MarshalToSizedBuffer(dAtA[:i])
  3842  			if err != nil {
  3843  				return 0, err
  3844  			}
  3845  			i -= size
  3846  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3847  		}
  3848  		i--
  3849  		dAtA[i] = 0x3a
  3850  	}
  3851  	return len(dAtA) - i, nil
  3852  }
  3853  func (m *TestVersion3) Marshal() (dAtA []byte, err error) {
  3854  	size := m.Size()
  3855  	dAtA = make([]byte, size)
  3856  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  3857  	if err != nil {
  3858  		return nil, err
  3859  	}
  3860  	return dAtA[:n], nil
  3861  }
  3862  
  3863  func (m *TestVersion3) MarshalTo(dAtA []byte) (int, error) {
  3864  	size := m.Size()
  3865  	return m.MarshalToSizedBuffer(dAtA[:size])
  3866  }
  3867  
  3868  func (m *TestVersion3) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3869  	i := len(dAtA)
  3870  	_ = i
  3871  	var l int
  3872  	_ = l
  3873  	if len(m.NonCriticalField) > 0 {
  3874  		i -= len(m.NonCriticalField)
  3875  		copy(dAtA[i:], m.NonCriticalField)
  3876  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.NonCriticalField)))
  3877  		i--
  3878  		dAtA[i] = 0x40
  3879  		i--
  3880  		dAtA[i] = 0xba
  3881  	}
  3882  	if m.Customer1 != nil {
  3883  		{
  3884  			size, err := m.Customer1.MarshalToSizedBuffer(dAtA[:i])
  3885  			if err != nil {
  3886  				return 0, err
  3887  			}
  3888  			i -= size
  3889  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3890  		}
  3891  		i--
  3892  		dAtA[i] = 0x62
  3893  	}
  3894  	if len(m.H) > 0 {
  3895  		for iNdEx := len(m.H) - 1; iNdEx >= 0; iNdEx-- {
  3896  			{
  3897  				size, err := m.H[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  3898  				if err != nil {
  3899  					return 0, err
  3900  				}
  3901  				i -= size
  3902  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3903  			}
  3904  			i--
  3905  			dAtA[i] = 0x4a
  3906  		}
  3907  	}
  3908  	if m.G != nil {
  3909  		{
  3910  			size, err := m.G.MarshalToSizedBuffer(dAtA[:i])
  3911  			if err != nil {
  3912  				return 0, err
  3913  			}
  3914  			i -= size
  3915  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3916  		}
  3917  		i--
  3918  		dAtA[i] = 0x42
  3919  	}
  3920  	if m.Sum != nil {
  3921  		{
  3922  			size := m.Sum.Size()
  3923  			i -= size
  3924  			if _, err := m.Sum.MarshalTo(dAtA[i:]); err != nil {
  3925  				return 0, err
  3926  			}
  3927  		}
  3928  	}
  3929  	if len(m.D) > 0 {
  3930  		for iNdEx := len(m.D) - 1; iNdEx >= 0; iNdEx-- {
  3931  			{
  3932  				size, err := m.D[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  3933  				if err != nil {
  3934  					return 0, err
  3935  				}
  3936  				i -= size
  3937  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3938  			}
  3939  			i--
  3940  			dAtA[i] = 0x2a
  3941  		}
  3942  	}
  3943  	if len(m.C) > 0 {
  3944  		for iNdEx := len(m.C) - 1; iNdEx >= 0; iNdEx-- {
  3945  			{
  3946  				size, err := m.C[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  3947  				if err != nil {
  3948  					return 0, err
  3949  				}
  3950  				i -= size
  3951  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3952  			}
  3953  			i--
  3954  			dAtA[i] = 0x22
  3955  		}
  3956  	}
  3957  	if m.B != nil {
  3958  		{
  3959  			size, err := m.B.MarshalToSizedBuffer(dAtA[:i])
  3960  			if err != nil {
  3961  				return 0, err
  3962  			}
  3963  			i -= size
  3964  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3965  		}
  3966  		i--
  3967  		dAtA[i] = 0x1a
  3968  	}
  3969  	if m.A != nil {
  3970  		{
  3971  			size, err := m.A.MarshalToSizedBuffer(dAtA[:i])
  3972  			if err != nil {
  3973  				return 0, err
  3974  			}
  3975  			i -= size
  3976  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  3977  		}
  3978  		i--
  3979  		dAtA[i] = 0x12
  3980  	}
  3981  	if m.X != 0 {
  3982  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.X))
  3983  		i--
  3984  		dAtA[i] = 0x8
  3985  	}
  3986  	return len(dAtA) - i, nil
  3987  }
  3988  
  3989  func (m *TestVersion3_E) MarshalTo(dAtA []byte) (int, error) {
  3990  	size := m.Size()
  3991  	return m.MarshalToSizedBuffer(dAtA[:size])
  3992  }
  3993  
  3994  func (m *TestVersion3_E) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  3995  	i := len(dAtA)
  3996  	i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.E))
  3997  	i--
  3998  	dAtA[i] = 0x30
  3999  	return len(dAtA) - i, nil
  4000  }
  4001  func (m *TestVersion3_F) MarshalTo(dAtA []byte) (int, error) {
  4002  	size := m.Size()
  4003  	return m.MarshalToSizedBuffer(dAtA[:size])
  4004  }
  4005  
  4006  func (m *TestVersion3_F) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4007  	i := len(dAtA)
  4008  	if m.F != nil {
  4009  		{
  4010  			size, err := m.F.MarshalToSizedBuffer(dAtA[:i])
  4011  			if err != nil {
  4012  				return 0, err
  4013  			}
  4014  			i -= size
  4015  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4016  		}
  4017  		i--
  4018  		dAtA[i] = 0x3a
  4019  	}
  4020  	return len(dAtA) - i, nil
  4021  }
  4022  func (m *TestVersion3LoneOneOfValue) Marshal() (dAtA []byte, err error) {
  4023  	size := m.Size()
  4024  	dAtA = make([]byte, size)
  4025  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4026  	if err != nil {
  4027  		return nil, err
  4028  	}
  4029  	return dAtA[:n], nil
  4030  }
  4031  
  4032  func (m *TestVersion3LoneOneOfValue) MarshalTo(dAtA []byte) (int, error) {
  4033  	size := m.Size()
  4034  	return m.MarshalToSizedBuffer(dAtA[:size])
  4035  }
  4036  
  4037  func (m *TestVersion3LoneOneOfValue) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4038  	i := len(dAtA)
  4039  	_ = i
  4040  	var l int
  4041  	_ = l
  4042  	if len(m.NonCriticalField) > 0 {
  4043  		i -= len(m.NonCriticalField)
  4044  		copy(dAtA[i:], m.NonCriticalField)
  4045  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.NonCriticalField)))
  4046  		i--
  4047  		dAtA[i] = 0x40
  4048  		i--
  4049  		dAtA[i] = 0xba
  4050  	}
  4051  	if m.Customer1 != nil {
  4052  		{
  4053  			size, err := m.Customer1.MarshalToSizedBuffer(dAtA[:i])
  4054  			if err != nil {
  4055  				return 0, err
  4056  			}
  4057  			i -= size
  4058  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4059  		}
  4060  		i--
  4061  		dAtA[i] = 0x62
  4062  	}
  4063  	if len(m.H) > 0 {
  4064  		for iNdEx := len(m.H) - 1; iNdEx >= 0; iNdEx-- {
  4065  			{
  4066  				size, err := m.H[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  4067  				if err != nil {
  4068  					return 0, err
  4069  				}
  4070  				i -= size
  4071  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4072  			}
  4073  			i--
  4074  			dAtA[i] = 0x4a
  4075  		}
  4076  	}
  4077  	if m.G != nil {
  4078  		{
  4079  			size, err := m.G.MarshalToSizedBuffer(dAtA[:i])
  4080  			if err != nil {
  4081  				return 0, err
  4082  			}
  4083  			i -= size
  4084  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4085  		}
  4086  		i--
  4087  		dAtA[i] = 0x42
  4088  	}
  4089  	if m.Sum != nil {
  4090  		{
  4091  			size := m.Sum.Size()
  4092  			i -= size
  4093  			if _, err := m.Sum.MarshalTo(dAtA[i:]); err != nil {
  4094  				return 0, err
  4095  			}
  4096  		}
  4097  	}
  4098  	if len(m.D) > 0 {
  4099  		for iNdEx := len(m.D) - 1; iNdEx >= 0; iNdEx-- {
  4100  			{
  4101  				size, err := m.D[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  4102  				if err != nil {
  4103  					return 0, err
  4104  				}
  4105  				i -= size
  4106  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4107  			}
  4108  			i--
  4109  			dAtA[i] = 0x2a
  4110  		}
  4111  	}
  4112  	if len(m.C) > 0 {
  4113  		for iNdEx := len(m.C) - 1; iNdEx >= 0; iNdEx-- {
  4114  			{
  4115  				size, err := m.C[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  4116  				if err != nil {
  4117  					return 0, err
  4118  				}
  4119  				i -= size
  4120  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4121  			}
  4122  			i--
  4123  			dAtA[i] = 0x22
  4124  		}
  4125  	}
  4126  	if m.B != nil {
  4127  		{
  4128  			size, err := m.B.MarshalToSizedBuffer(dAtA[:i])
  4129  			if err != nil {
  4130  				return 0, err
  4131  			}
  4132  			i -= size
  4133  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4134  		}
  4135  		i--
  4136  		dAtA[i] = 0x1a
  4137  	}
  4138  	if m.A != nil {
  4139  		{
  4140  			size, err := m.A.MarshalToSizedBuffer(dAtA[:i])
  4141  			if err != nil {
  4142  				return 0, err
  4143  			}
  4144  			i -= size
  4145  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4146  		}
  4147  		i--
  4148  		dAtA[i] = 0x12
  4149  	}
  4150  	if m.X != 0 {
  4151  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.X))
  4152  		i--
  4153  		dAtA[i] = 0x8
  4154  	}
  4155  	return len(dAtA) - i, nil
  4156  }
  4157  
  4158  func (m *TestVersion3LoneOneOfValue_E) MarshalTo(dAtA []byte) (int, error) {
  4159  	size := m.Size()
  4160  	return m.MarshalToSizedBuffer(dAtA[:size])
  4161  }
  4162  
  4163  func (m *TestVersion3LoneOneOfValue_E) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4164  	i := len(dAtA)
  4165  	i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.E))
  4166  	i--
  4167  	dAtA[i] = 0x30
  4168  	return len(dAtA) - i, nil
  4169  }
  4170  func (m *TestVersion3LoneNesting) Marshal() (dAtA []byte, err error) {
  4171  	size := m.Size()
  4172  	dAtA = make([]byte, size)
  4173  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4174  	if err != nil {
  4175  		return nil, err
  4176  	}
  4177  	return dAtA[:n], nil
  4178  }
  4179  
  4180  func (m *TestVersion3LoneNesting) MarshalTo(dAtA []byte) (int, error) {
  4181  	size := m.Size()
  4182  	return m.MarshalToSizedBuffer(dAtA[:size])
  4183  }
  4184  
  4185  func (m *TestVersion3LoneNesting) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4186  	i := len(dAtA)
  4187  	_ = i
  4188  	var l int
  4189  	_ = l
  4190  	if len(m.NonCriticalField) > 0 {
  4191  		i -= len(m.NonCriticalField)
  4192  		copy(dAtA[i:], m.NonCriticalField)
  4193  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.NonCriticalField)))
  4194  		i--
  4195  		dAtA[i] = 0x40
  4196  		i--
  4197  		dAtA[i] = 0xba
  4198  	}
  4199  	if m.Inner2 != nil {
  4200  		{
  4201  			size, err := m.Inner2.MarshalToSizedBuffer(dAtA[:i])
  4202  			if err != nil {
  4203  				return 0, err
  4204  			}
  4205  			i -= size
  4206  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4207  		}
  4208  		i--
  4209  		dAtA[i] = 0x7a
  4210  	}
  4211  	if m.Inner1 != nil {
  4212  		{
  4213  			size, err := m.Inner1.MarshalToSizedBuffer(dAtA[:i])
  4214  			if err != nil {
  4215  				return 0, err
  4216  			}
  4217  			i -= size
  4218  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4219  		}
  4220  		i--
  4221  		dAtA[i] = 0x72
  4222  	}
  4223  	if m.Customer1 != nil {
  4224  		{
  4225  			size, err := m.Customer1.MarshalToSizedBuffer(dAtA[:i])
  4226  			if err != nil {
  4227  				return 0, err
  4228  			}
  4229  			i -= size
  4230  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4231  		}
  4232  		i--
  4233  		dAtA[i] = 0x62
  4234  	}
  4235  	if len(m.H) > 0 {
  4236  		for iNdEx := len(m.H) - 1; iNdEx >= 0; iNdEx-- {
  4237  			{
  4238  				size, err := m.H[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  4239  				if err != nil {
  4240  					return 0, err
  4241  				}
  4242  				i -= size
  4243  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4244  			}
  4245  			i--
  4246  			dAtA[i] = 0x4a
  4247  		}
  4248  	}
  4249  	if m.G != nil {
  4250  		{
  4251  			size, err := m.G.MarshalToSizedBuffer(dAtA[:i])
  4252  			if err != nil {
  4253  				return 0, err
  4254  			}
  4255  			i -= size
  4256  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4257  		}
  4258  		i--
  4259  		dAtA[i] = 0x42
  4260  	}
  4261  	if m.Sum != nil {
  4262  		{
  4263  			size := m.Sum.Size()
  4264  			i -= size
  4265  			if _, err := m.Sum.MarshalTo(dAtA[i:]); err != nil {
  4266  				return 0, err
  4267  			}
  4268  		}
  4269  	}
  4270  	if len(m.D) > 0 {
  4271  		for iNdEx := len(m.D) - 1; iNdEx >= 0; iNdEx-- {
  4272  			{
  4273  				size, err := m.D[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  4274  				if err != nil {
  4275  					return 0, err
  4276  				}
  4277  				i -= size
  4278  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4279  			}
  4280  			i--
  4281  			dAtA[i] = 0x2a
  4282  		}
  4283  	}
  4284  	if len(m.C) > 0 {
  4285  		for iNdEx := len(m.C) - 1; iNdEx >= 0; iNdEx-- {
  4286  			{
  4287  				size, err := m.C[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  4288  				if err != nil {
  4289  					return 0, err
  4290  				}
  4291  				i -= size
  4292  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4293  			}
  4294  			i--
  4295  			dAtA[i] = 0x22
  4296  		}
  4297  	}
  4298  	if m.B != nil {
  4299  		{
  4300  			size, err := m.B.MarshalToSizedBuffer(dAtA[:i])
  4301  			if err != nil {
  4302  				return 0, err
  4303  			}
  4304  			i -= size
  4305  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4306  		}
  4307  		i--
  4308  		dAtA[i] = 0x1a
  4309  	}
  4310  	if m.A != nil {
  4311  		{
  4312  			size, err := m.A.MarshalToSizedBuffer(dAtA[:i])
  4313  			if err != nil {
  4314  				return 0, err
  4315  			}
  4316  			i -= size
  4317  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4318  		}
  4319  		i--
  4320  		dAtA[i] = 0x12
  4321  	}
  4322  	if m.X != 0 {
  4323  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.X))
  4324  		i--
  4325  		dAtA[i] = 0x8
  4326  	}
  4327  	return len(dAtA) - i, nil
  4328  }
  4329  
  4330  func (m *TestVersion3LoneNesting_F) MarshalTo(dAtA []byte) (int, error) {
  4331  	size := m.Size()
  4332  	return m.MarshalToSizedBuffer(dAtA[:size])
  4333  }
  4334  
  4335  func (m *TestVersion3LoneNesting_F) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4336  	i := len(dAtA)
  4337  	if m.F != nil {
  4338  		{
  4339  			size, err := m.F.MarshalToSizedBuffer(dAtA[:i])
  4340  			if err != nil {
  4341  				return 0, err
  4342  			}
  4343  			i -= size
  4344  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4345  		}
  4346  		i--
  4347  		dAtA[i] = 0x3a
  4348  	}
  4349  	return len(dAtA) - i, nil
  4350  }
  4351  func (m *TestVersion3LoneNesting_Inner1) Marshal() (dAtA []byte, err error) {
  4352  	size := m.Size()
  4353  	dAtA = make([]byte, size)
  4354  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4355  	if err != nil {
  4356  		return nil, err
  4357  	}
  4358  	return dAtA[:n], nil
  4359  }
  4360  
  4361  func (m *TestVersion3LoneNesting_Inner1) MarshalTo(dAtA []byte) (int, error) {
  4362  	size := m.Size()
  4363  	return m.MarshalToSizedBuffer(dAtA[:size])
  4364  }
  4365  
  4366  func (m *TestVersion3LoneNesting_Inner1) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4367  	i := len(dAtA)
  4368  	_ = i
  4369  	var l int
  4370  	_ = l
  4371  	if m.Inner != nil {
  4372  		{
  4373  			size, err := m.Inner.MarshalToSizedBuffer(dAtA[:i])
  4374  			if err != nil {
  4375  				return 0, err
  4376  			}
  4377  			i -= size
  4378  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4379  		}
  4380  		i--
  4381  		dAtA[i] = 0x1a
  4382  	}
  4383  	if len(m.Name) > 0 {
  4384  		i -= len(m.Name)
  4385  		copy(dAtA[i:], m.Name)
  4386  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Name)))
  4387  		i--
  4388  		dAtA[i] = 0x12
  4389  	}
  4390  	if m.Id != 0 {
  4391  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Id))
  4392  		i--
  4393  		dAtA[i] = 0x8
  4394  	}
  4395  	return len(dAtA) - i, nil
  4396  }
  4397  
  4398  func (m *TestVersion3LoneNesting_Inner1_InnerInner) Marshal() (dAtA []byte, err error) {
  4399  	size := m.Size()
  4400  	dAtA = make([]byte, size)
  4401  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4402  	if err != nil {
  4403  		return nil, err
  4404  	}
  4405  	return dAtA[:n], nil
  4406  }
  4407  
  4408  func (m *TestVersion3LoneNesting_Inner1_InnerInner) MarshalTo(dAtA []byte) (int, error) {
  4409  	size := m.Size()
  4410  	return m.MarshalToSizedBuffer(dAtA[:size])
  4411  }
  4412  
  4413  func (m *TestVersion3LoneNesting_Inner1_InnerInner) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4414  	i := len(dAtA)
  4415  	_ = i
  4416  	var l int
  4417  	_ = l
  4418  	if len(m.City) > 0 {
  4419  		i -= len(m.City)
  4420  		copy(dAtA[i:], m.City)
  4421  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.City)))
  4422  		i--
  4423  		dAtA[i] = 0x12
  4424  	}
  4425  	if len(m.Id) > 0 {
  4426  		i -= len(m.Id)
  4427  		copy(dAtA[i:], m.Id)
  4428  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Id)))
  4429  		i--
  4430  		dAtA[i] = 0xa
  4431  	}
  4432  	return len(dAtA) - i, nil
  4433  }
  4434  
  4435  func (m *TestVersion3LoneNesting_Inner2) Marshal() (dAtA []byte, err error) {
  4436  	size := m.Size()
  4437  	dAtA = make([]byte, size)
  4438  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4439  	if err != nil {
  4440  		return nil, err
  4441  	}
  4442  	return dAtA[:n], nil
  4443  }
  4444  
  4445  func (m *TestVersion3LoneNesting_Inner2) MarshalTo(dAtA []byte) (int, error) {
  4446  	size := m.Size()
  4447  	return m.MarshalToSizedBuffer(dAtA[:size])
  4448  }
  4449  
  4450  func (m *TestVersion3LoneNesting_Inner2) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4451  	i := len(dAtA)
  4452  	_ = i
  4453  	var l int
  4454  	_ = l
  4455  	if m.Inner != nil {
  4456  		{
  4457  			size, err := m.Inner.MarshalToSizedBuffer(dAtA[:i])
  4458  			if err != nil {
  4459  				return 0, err
  4460  			}
  4461  			i -= size
  4462  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4463  		}
  4464  		i--
  4465  		dAtA[i] = 0x1a
  4466  	}
  4467  	if len(m.Country) > 0 {
  4468  		i -= len(m.Country)
  4469  		copy(dAtA[i:], m.Country)
  4470  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Country)))
  4471  		i--
  4472  		dAtA[i] = 0x12
  4473  	}
  4474  	if len(m.Id) > 0 {
  4475  		i -= len(m.Id)
  4476  		copy(dAtA[i:], m.Id)
  4477  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Id)))
  4478  		i--
  4479  		dAtA[i] = 0xa
  4480  	}
  4481  	return len(dAtA) - i, nil
  4482  }
  4483  
  4484  func (m *TestVersion3LoneNesting_Inner2_InnerInner) Marshal() (dAtA []byte, err error) {
  4485  	size := m.Size()
  4486  	dAtA = make([]byte, size)
  4487  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4488  	if err != nil {
  4489  		return nil, err
  4490  	}
  4491  	return dAtA[:n], nil
  4492  }
  4493  
  4494  func (m *TestVersion3LoneNesting_Inner2_InnerInner) MarshalTo(dAtA []byte) (int, error) {
  4495  	size := m.Size()
  4496  	return m.MarshalToSizedBuffer(dAtA[:size])
  4497  }
  4498  
  4499  func (m *TestVersion3LoneNesting_Inner2_InnerInner) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4500  	i := len(dAtA)
  4501  	_ = i
  4502  	var l int
  4503  	_ = l
  4504  	if len(m.City) > 0 {
  4505  		i -= len(m.City)
  4506  		copy(dAtA[i:], m.City)
  4507  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.City)))
  4508  		i--
  4509  		dAtA[i] = 0x12
  4510  	}
  4511  	if len(m.Id) > 0 {
  4512  		i -= len(m.Id)
  4513  		copy(dAtA[i:], m.Id)
  4514  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Id)))
  4515  		i--
  4516  		dAtA[i] = 0xa
  4517  	}
  4518  	return len(dAtA) - i, nil
  4519  }
  4520  
  4521  func (m *TestVersion4LoneNesting) Marshal() (dAtA []byte, err error) {
  4522  	size := m.Size()
  4523  	dAtA = make([]byte, size)
  4524  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4525  	if err != nil {
  4526  		return nil, err
  4527  	}
  4528  	return dAtA[:n], nil
  4529  }
  4530  
  4531  func (m *TestVersion4LoneNesting) MarshalTo(dAtA []byte) (int, error) {
  4532  	size := m.Size()
  4533  	return m.MarshalToSizedBuffer(dAtA[:size])
  4534  }
  4535  
  4536  func (m *TestVersion4LoneNesting) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4537  	i := len(dAtA)
  4538  	_ = i
  4539  	var l int
  4540  	_ = l
  4541  	if len(m.NonCriticalField) > 0 {
  4542  		i -= len(m.NonCriticalField)
  4543  		copy(dAtA[i:], m.NonCriticalField)
  4544  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.NonCriticalField)))
  4545  		i--
  4546  		dAtA[i] = 0x40
  4547  		i--
  4548  		dAtA[i] = 0xba
  4549  	}
  4550  	if m.Inner2 != nil {
  4551  		{
  4552  			size, err := m.Inner2.MarshalToSizedBuffer(dAtA[:i])
  4553  			if err != nil {
  4554  				return 0, err
  4555  			}
  4556  			i -= size
  4557  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4558  		}
  4559  		i--
  4560  		dAtA[i] = 0x7a
  4561  	}
  4562  	if m.Inner1 != nil {
  4563  		{
  4564  			size, err := m.Inner1.MarshalToSizedBuffer(dAtA[:i])
  4565  			if err != nil {
  4566  				return 0, err
  4567  			}
  4568  			i -= size
  4569  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4570  		}
  4571  		i--
  4572  		dAtA[i] = 0x72
  4573  	}
  4574  	if m.Customer1 != nil {
  4575  		{
  4576  			size, err := m.Customer1.MarshalToSizedBuffer(dAtA[:i])
  4577  			if err != nil {
  4578  				return 0, err
  4579  			}
  4580  			i -= size
  4581  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4582  		}
  4583  		i--
  4584  		dAtA[i] = 0x62
  4585  	}
  4586  	if len(m.H) > 0 {
  4587  		for iNdEx := len(m.H) - 1; iNdEx >= 0; iNdEx-- {
  4588  			{
  4589  				size, err := m.H[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  4590  				if err != nil {
  4591  					return 0, err
  4592  				}
  4593  				i -= size
  4594  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4595  			}
  4596  			i--
  4597  			dAtA[i] = 0x4a
  4598  		}
  4599  	}
  4600  	if m.G != nil {
  4601  		{
  4602  			size, err := m.G.MarshalToSizedBuffer(dAtA[:i])
  4603  			if err != nil {
  4604  				return 0, err
  4605  			}
  4606  			i -= size
  4607  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4608  		}
  4609  		i--
  4610  		dAtA[i] = 0x42
  4611  	}
  4612  	if m.Sum != nil {
  4613  		{
  4614  			size := m.Sum.Size()
  4615  			i -= size
  4616  			if _, err := m.Sum.MarshalTo(dAtA[i:]); err != nil {
  4617  				return 0, err
  4618  			}
  4619  		}
  4620  	}
  4621  	if len(m.D) > 0 {
  4622  		for iNdEx := len(m.D) - 1; iNdEx >= 0; iNdEx-- {
  4623  			{
  4624  				size, err := m.D[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  4625  				if err != nil {
  4626  					return 0, err
  4627  				}
  4628  				i -= size
  4629  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4630  			}
  4631  			i--
  4632  			dAtA[i] = 0x2a
  4633  		}
  4634  	}
  4635  	if len(m.C) > 0 {
  4636  		for iNdEx := len(m.C) - 1; iNdEx >= 0; iNdEx-- {
  4637  			{
  4638  				size, err := m.C[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  4639  				if err != nil {
  4640  					return 0, err
  4641  				}
  4642  				i -= size
  4643  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4644  			}
  4645  			i--
  4646  			dAtA[i] = 0x22
  4647  		}
  4648  	}
  4649  	if m.B != nil {
  4650  		{
  4651  			size, err := m.B.MarshalToSizedBuffer(dAtA[:i])
  4652  			if err != nil {
  4653  				return 0, err
  4654  			}
  4655  			i -= size
  4656  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4657  		}
  4658  		i--
  4659  		dAtA[i] = 0x1a
  4660  	}
  4661  	if m.A != nil {
  4662  		{
  4663  			size, err := m.A.MarshalToSizedBuffer(dAtA[:i])
  4664  			if err != nil {
  4665  				return 0, err
  4666  			}
  4667  			i -= size
  4668  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4669  		}
  4670  		i--
  4671  		dAtA[i] = 0x12
  4672  	}
  4673  	if m.X != 0 {
  4674  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.X))
  4675  		i--
  4676  		dAtA[i] = 0x8
  4677  	}
  4678  	return len(dAtA) - i, nil
  4679  }
  4680  
  4681  func (m *TestVersion4LoneNesting_F) MarshalTo(dAtA []byte) (int, error) {
  4682  	size := m.Size()
  4683  	return m.MarshalToSizedBuffer(dAtA[:size])
  4684  }
  4685  
  4686  func (m *TestVersion4LoneNesting_F) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4687  	i := len(dAtA)
  4688  	if m.F != nil {
  4689  		{
  4690  			size, err := m.F.MarshalToSizedBuffer(dAtA[:i])
  4691  			if err != nil {
  4692  				return 0, err
  4693  			}
  4694  			i -= size
  4695  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4696  		}
  4697  		i--
  4698  		dAtA[i] = 0x3a
  4699  	}
  4700  	return len(dAtA) - i, nil
  4701  }
  4702  func (m *TestVersion4LoneNesting_Inner1) Marshal() (dAtA []byte, err error) {
  4703  	size := m.Size()
  4704  	dAtA = make([]byte, size)
  4705  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4706  	if err != nil {
  4707  		return nil, err
  4708  	}
  4709  	return dAtA[:n], nil
  4710  }
  4711  
  4712  func (m *TestVersion4LoneNesting_Inner1) MarshalTo(dAtA []byte) (int, error) {
  4713  	size := m.Size()
  4714  	return m.MarshalToSizedBuffer(dAtA[:size])
  4715  }
  4716  
  4717  func (m *TestVersion4LoneNesting_Inner1) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4718  	i := len(dAtA)
  4719  	_ = i
  4720  	var l int
  4721  	_ = l
  4722  	if m.Inner != nil {
  4723  		{
  4724  			size, err := m.Inner.MarshalToSizedBuffer(dAtA[:i])
  4725  			if err != nil {
  4726  				return 0, err
  4727  			}
  4728  			i -= size
  4729  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4730  		}
  4731  		i--
  4732  		dAtA[i] = 0x1a
  4733  	}
  4734  	if len(m.Name) > 0 {
  4735  		i -= len(m.Name)
  4736  		copy(dAtA[i:], m.Name)
  4737  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Name)))
  4738  		i--
  4739  		dAtA[i] = 0x12
  4740  	}
  4741  	if m.Id != 0 {
  4742  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Id))
  4743  		i--
  4744  		dAtA[i] = 0x8
  4745  	}
  4746  	return len(dAtA) - i, nil
  4747  }
  4748  
  4749  func (m *TestVersion4LoneNesting_Inner1_InnerInner) Marshal() (dAtA []byte, err error) {
  4750  	size := m.Size()
  4751  	dAtA = make([]byte, size)
  4752  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4753  	if err != nil {
  4754  		return nil, err
  4755  	}
  4756  	return dAtA[:n], nil
  4757  }
  4758  
  4759  func (m *TestVersion4LoneNesting_Inner1_InnerInner) MarshalTo(dAtA []byte) (int, error) {
  4760  	size := m.Size()
  4761  	return m.MarshalToSizedBuffer(dAtA[:size])
  4762  }
  4763  
  4764  func (m *TestVersion4LoneNesting_Inner1_InnerInner) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4765  	i := len(dAtA)
  4766  	_ = i
  4767  	var l int
  4768  	_ = l
  4769  	if len(m.City) > 0 {
  4770  		i -= len(m.City)
  4771  		copy(dAtA[i:], m.City)
  4772  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.City)))
  4773  		i--
  4774  		dAtA[i] = 0x12
  4775  	}
  4776  	if m.Id != 0 {
  4777  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Id))
  4778  		i--
  4779  		dAtA[i] = 0x8
  4780  	}
  4781  	return len(dAtA) - i, nil
  4782  }
  4783  
  4784  func (m *TestVersion4LoneNesting_Inner2) Marshal() (dAtA []byte, err error) {
  4785  	size := m.Size()
  4786  	dAtA = make([]byte, size)
  4787  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4788  	if err != nil {
  4789  		return nil, err
  4790  	}
  4791  	return dAtA[:n], nil
  4792  }
  4793  
  4794  func (m *TestVersion4LoneNesting_Inner2) MarshalTo(dAtA []byte) (int, error) {
  4795  	size := m.Size()
  4796  	return m.MarshalToSizedBuffer(dAtA[:size])
  4797  }
  4798  
  4799  func (m *TestVersion4LoneNesting_Inner2) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4800  	i := len(dAtA)
  4801  	_ = i
  4802  	var l int
  4803  	_ = l
  4804  	if m.Inner != nil {
  4805  		{
  4806  			size, err := m.Inner.MarshalToSizedBuffer(dAtA[:i])
  4807  			if err != nil {
  4808  				return 0, err
  4809  			}
  4810  			i -= size
  4811  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4812  		}
  4813  		i--
  4814  		dAtA[i] = 0x1a
  4815  	}
  4816  	if len(m.Country) > 0 {
  4817  		i -= len(m.Country)
  4818  		copy(dAtA[i:], m.Country)
  4819  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Country)))
  4820  		i--
  4821  		dAtA[i] = 0x12
  4822  	}
  4823  	if len(m.Id) > 0 {
  4824  		i -= len(m.Id)
  4825  		copy(dAtA[i:], m.Id)
  4826  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Id)))
  4827  		i--
  4828  		dAtA[i] = 0xa
  4829  	}
  4830  	return len(dAtA) - i, nil
  4831  }
  4832  
  4833  func (m *TestVersion4LoneNesting_Inner2_InnerInner) Marshal() (dAtA []byte, err error) {
  4834  	size := m.Size()
  4835  	dAtA = make([]byte, size)
  4836  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4837  	if err != nil {
  4838  		return nil, err
  4839  	}
  4840  	return dAtA[:n], nil
  4841  }
  4842  
  4843  func (m *TestVersion4LoneNesting_Inner2_InnerInner) MarshalTo(dAtA []byte) (int, error) {
  4844  	size := m.Size()
  4845  	return m.MarshalToSizedBuffer(dAtA[:size])
  4846  }
  4847  
  4848  func (m *TestVersion4LoneNesting_Inner2_InnerInner) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4849  	i := len(dAtA)
  4850  	_ = i
  4851  	var l int
  4852  	_ = l
  4853  	if m.Value != 0 {
  4854  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.Value))
  4855  		i--
  4856  		dAtA[i] = 0x10
  4857  	}
  4858  	if len(m.Id) > 0 {
  4859  		i -= len(m.Id)
  4860  		copy(dAtA[i:], m.Id)
  4861  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Id)))
  4862  		i--
  4863  		dAtA[i] = 0xa
  4864  	}
  4865  	return len(dAtA) - i, nil
  4866  }
  4867  
  4868  func (m *TestVersionFD1) Marshal() (dAtA []byte, err error) {
  4869  	size := m.Size()
  4870  	dAtA = make([]byte, size)
  4871  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4872  	if err != nil {
  4873  		return nil, err
  4874  	}
  4875  	return dAtA[:n], nil
  4876  }
  4877  
  4878  func (m *TestVersionFD1) MarshalTo(dAtA []byte) (int, error) {
  4879  	size := m.Size()
  4880  	return m.MarshalToSizedBuffer(dAtA[:size])
  4881  }
  4882  
  4883  func (m *TestVersionFD1) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4884  	i := len(dAtA)
  4885  	_ = i
  4886  	var l int
  4887  	_ = l
  4888  	if len(m.H) > 0 {
  4889  		for iNdEx := len(m.H) - 1; iNdEx >= 0; iNdEx-- {
  4890  			{
  4891  				size, err := m.H[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  4892  				if err != nil {
  4893  					return 0, err
  4894  				}
  4895  				i -= size
  4896  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4897  			}
  4898  			i--
  4899  			dAtA[i] = 0x4a
  4900  		}
  4901  	}
  4902  	if m.G != nil {
  4903  		{
  4904  			size, err := m.G.MarshalToSizedBuffer(dAtA[:i])
  4905  			if err != nil {
  4906  				return 0, err
  4907  			}
  4908  			i -= size
  4909  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4910  		}
  4911  		i--
  4912  		dAtA[i] = 0x42
  4913  	}
  4914  	if m.Sum != nil {
  4915  		{
  4916  			size := m.Sum.Size()
  4917  			i -= size
  4918  			if _, err := m.Sum.MarshalTo(dAtA[i:]); err != nil {
  4919  				return 0, err
  4920  			}
  4921  		}
  4922  	}
  4923  	if m.A != nil {
  4924  		{
  4925  			size, err := m.A.MarshalToSizedBuffer(dAtA[:i])
  4926  			if err != nil {
  4927  				return 0, err
  4928  			}
  4929  			i -= size
  4930  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4931  		}
  4932  		i--
  4933  		dAtA[i] = 0x12
  4934  	}
  4935  	if m.X != 0 {
  4936  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.X))
  4937  		i--
  4938  		dAtA[i] = 0x8
  4939  	}
  4940  	return len(dAtA) - i, nil
  4941  }
  4942  
  4943  func (m *TestVersionFD1_E) MarshalTo(dAtA []byte) (int, error) {
  4944  	size := m.Size()
  4945  	return m.MarshalToSizedBuffer(dAtA[:size])
  4946  }
  4947  
  4948  func (m *TestVersionFD1_E) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4949  	i := len(dAtA)
  4950  	i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.E))
  4951  	i--
  4952  	dAtA[i] = 0x30
  4953  	return len(dAtA) - i, nil
  4954  }
  4955  func (m *TestVersionFD1_F) MarshalTo(dAtA []byte) (int, error) {
  4956  	size := m.Size()
  4957  	return m.MarshalToSizedBuffer(dAtA[:size])
  4958  }
  4959  
  4960  func (m *TestVersionFD1_F) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4961  	i := len(dAtA)
  4962  	if m.F != nil {
  4963  		{
  4964  			size, err := m.F.MarshalToSizedBuffer(dAtA[:i])
  4965  			if err != nil {
  4966  				return 0, err
  4967  			}
  4968  			i -= size
  4969  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  4970  		}
  4971  		i--
  4972  		dAtA[i] = 0x3a
  4973  	}
  4974  	return len(dAtA) - i, nil
  4975  }
  4976  func (m *TestVersionFD1WithExtraAny) Marshal() (dAtA []byte, err error) {
  4977  	size := m.Size()
  4978  	dAtA = make([]byte, size)
  4979  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  4980  	if err != nil {
  4981  		return nil, err
  4982  	}
  4983  	return dAtA[:n], nil
  4984  }
  4985  
  4986  func (m *TestVersionFD1WithExtraAny) MarshalTo(dAtA []byte) (int, error) {
  4987  	size := m.Size()
  4988  	return m.MarshalToSizedBuffer(dAtA[:size])
  4989  }
  4990  
  4991  func (m *TestVersionFD1WithExtraAny) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  4992  	i := len(dAtA)
  4993  	_ = i
  4994  	var l int
  4995  	_ = l
  4996  	if len(m.H) > 0 {
  4997  		for iNdEx := len(m.H) - 1; iNdEx >= 0; iNdEx-- {
  4998  			{
  4999  				size, err := m.H[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5000  				if err != nil {
  5001  					return 0, err
  5002  				}
  5003  				i -= size
  5004  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  5005  			}
  5006  			i--
  5007  			dAtA[i] = 0x4a
  5008  		}
  5009  	}
  5010  	if m.G != nil {
  5011  		{
  5012  			size, err := m.G.MarshalToSizedBuffer(dAtA[:i])
  5013  			if err != nil {
  5014  				return 0, err
  5015  			}
  5016  			i -= size
  5017  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  5018  		}
  5019  		i--
  5020  		dAtA[i] = 0x42
  5021  	}
  5022  	if m.Sum != nil {
  5023  		{
  5024  			size := m.Sum.Size()
  5025  			i -= size
  5026  			if _, err := m.Sum.MarshalTo(dAtA[i:]); err != nil {
  5027  				return 0, err
  5028  			}
  5029  		}
  5030  	}
  5031  	if m.A != nil {
  5032  		{
  5033  			size, err := m.A.MarshalToSizedBuffer(dAtA[:i])
  5034  			if err != nil {
  5035  				return 0, err
  5036  			}
  5037  			i -= size
  5038  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  5039  		}
  5040  		i--
  5041  		dAtA[i] = 0x12
  5042  	}
  5043  	if m.X != 0 {
  5044  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.X))
  5045  		i--
  5046  		dAtA[i] = 0x8
  5047  	}
  5048  	return len(dAtA) - i, nil
  5049  }
  5050  
  5051  func (m *TestVersionFD1WithExtraAny_E) MarshalTo(dAtA []byte) (int, error) {
  5052  	size := m.Size()
  5053  	return m.MarshalToSizedBuffer(dAtA[:size])
  5054  }
  5055  
  5056  func (m *TestVersionFD1WithExtraAny_E) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5057  	i := len(dAtA)
  5058  	i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.E))
  5059  	i--
  5060  	dAtA[i] = 0x30
  5061  	return len(dAtA) - i, nil
  5062  }
  5063  func (m *TestVersionFD1WithExtraAny_F) MarshalTo(dAtA []byte) (int, error) {
  5064  	size := m.Size()
  5065  	return m.MarshalToSizedBuffer(dAtA[:size])
  5066  }
  5067  
  5068  func (m *TestVersionFD1WithExtraAny_F) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5069  	i := len(dAtA)
  5070  	if m.F != nil {
  5071  		{
  5072  			size, err := m.F.MarshalToSizedBuffer(dAtA[:i])
  5073  			if err != nil {
  5074  				return 0, err
  5075  			}
  5076  			i -= size
  5077  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  5078  		}
  5079  		i--
  5080  		dAtA[i] = 0x3a
  5081  	}
  5082  	return len(dAtA) - i, nil
  5083  }
  5084  func (m *AnyWithExtra) Marshal() (dAtA []byte, err error) {
  5085  	size := m.Size()
  5086  	dAtA = make([]byte, size)
  5087  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5088  	if err != nil {
  5089  		return nil, err
  5090  	}
  5091  	return dAtA[:n], nil
  5092  }
  5093  
  5094  func (m *AnyWithExtra) MarshalTo(dAtA []byte) (int, error) {
  5095  	size := m.Size()
  5096  	return m.MarshalToSizedBuffer(dAtA[:size])
  5097  }
  5098  
  5099  func (m *AnyWithExtra) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5100  	i := len(dAtA)
  5101  	_ = i
  5102  	var l int
  5103  	_ = l
  5104  	if m.C != 0 {
  5105  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.C))
  5106  		i--
  5107  		dAtA[i] = 0x20
  5108  	}
  5109  	if m.B != 0 {
  5110  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.B))
  5111  		i--
  5112  		dAtA[i] = 0x18
  5113  	}
  5114  	if m.Any != nil {
  5115  		{
  5116  			size, err := m.Any.MarshalToSizedBuffer(dAtA[:i])
  5117  			if err != nil {
  5118  				return 0, err
  5119  			}
  5120  			i -= size
  5121  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  5122  		}
  5123  		i--
  5124  		dAtA[i] = 0xa
  5125  	}
  5126  	return len(dAtA) - i, nil
  5127  }
  5128  
  5129  func (m *TestUpdatedTxRaw) Marshal() (dAtA []byte, err error) {
  5130  	size := m.Size()
  5131  	dAtA = make([]byte, size)
  5132  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5133  	if err != nil {
  5134  		return nil, err
  5135  	}
  5136  	return dAtA[:n], nil
  5137  }
  5138  
  5139  func (m *TestUpdatedTxRaw) MarshalTo(dAtA []byte) (int, error) {
  5140  	size := m.Size()
  5141  	return m.MarshalToSizedBuffer(dAtA[:size])
  5142  }
  5143  
  5144  func (m *TestUpdatedTxRaw) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5145  	i := len(dAtA)
  5146  	_ = i
  5147  	var l int
  5148  	_ = l
  5149  	if len(m.NewField_1024) > 0 {
  5150  		i -= len(m.NewField_1024)
  5151  		copy(dAtA[i:], m.NewField_1024)
  5152  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.NewField_1024)))
  5153  		i--
  5154  		dAtA[i] = 0x40
  5155  		i--
  5156  		dAtA[i] = 0x82
  5157  	}
  5158  	if len(m.NewField_5) > 0 {
  5159  		i -= len(m.NewField_5)
  5160  		copy(dAtA[i:], m.NewField_5)
  5161  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.NewField_5)))
  5162  		i--
  5163  		dAtA[i] = 0x2a
  5164  	}
  5165  	if len(m.Signatures) > 0 {
  5166  		for iNdEx := len(m.Signatures) - 1; iNdEx >= 0; iNdEx-- {
  5167  			i -= len(m.Signatures[iNdEx])
  5168  			copy(dAtA[i:], m.Signatures[iNdEx])
  5169  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Signatures[iNdEx])))
  5170  			i--
  5171  			dAtA[i] = 0x1a
  5172  		}
  5173  	}
  5174  	if len(m.AuthInfoBytes) > 0 {
  5175  		i -= len(m.AuthInfoBytes)
  5176  		copy(dAtA[i:], m.AuthInfoBytes)
  5177  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.AuthInfoBytes)))
  5178  		i--
  5179  		dAtA[i] = 0x12
  5180  	}
  5181  	if len(m.BodyBytes) > 0 {
  5182  		i -= len(m.BodyBytes)
  5183  		copy(dAtA[i:], m.BodyBytes)
  5184  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.BodyBytes)))
  5185  		i--
  5186  		dAtA[i] = 0xa
  5187  	}
  5188  	return len(dAtA) - i, nil
  5189  }
  5190  
  5191  func (m *TestUpdatedTxBody) Marshal() (dAtA []byte, err error) {
  5192  	size := m.Size()
  5193  	dAtA = make([]byte, size)
  5194  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5195  	if err != nil {
  5196  		return nil, err
  5197  	}
  5198  	return dAtA[:n], nil
  5199  }
  5200  
  5201  func (m *TestUpdatedTxBody) MarshalTo(dAtA []byte) (int, error) {
  5202  	size := m.Size()
  5203  	return m.MarshalToSizedBuffer(dAtA[:size])
  5204  }
  5205  
  5206  func (m *TestUpdatedTxBody) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5207  	i := len(dAtA)
  5208  	_ = i
  5209  	var l int
  5210  	_ = l
  5211  	if len(m.NonCriticalExtensionOptions) > 0 {
  5212  		for iNdEx := len(m.NonCriticalExtensionOptions) - 1; iNdEx >= 0; iNdEx-- {
  5213  			{
  5214  				size, err := m.NonCriticalExtensionOptions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5215  				if err != nil {
  5216  					return 0, err
  5217  				}
  5218  				i -= size
  5219  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  5220  			}
  5221  			i--
  5222  			dAtA[i] = 0x7f
  5223  			i--
  5224  			dAtA[i] = 0xfa
  5225  		}
  5226  	}
  5227  	if len(m.SomeNewFieldNonCriticalField) > 0 {
  5228  		i -= len(m.SomeNewFieldNonCriticalField)
  5229  		copy(dAtA[i:], m.SomeNewFieldNonCriticalField)
  5230  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.SomeNewFieldNonCriticalField)))
  5231  		i--
  5232  		dAtA[i] = 0x41
  5233  		i--
  5234  		dAtA[i] = 0xd2
  5235  	}
  5236  	if len(m.ExtensionOptions) > 0 {
  5237  		for iNdEx := len(m.ExtensionOptions) - 1; iNdEx >= 0; iNdEx-- {
  5238  			{
  5239  				size, err := m.ExtensionOptions[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5240  				if err != nil {
  5241  					return 0, err
  5242  				}
  5243  				i -= size
  5244  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  5245  			}
  5246  			i--
  5247  			dAtA[i] = 0x3f
  5248  			i--
  5249  			dAtA[i] = 0xfa
  5250  		}
  5251  	}
  5252  	if m.SomeNewField != 0 {
  5253  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.SomeNewField))
  5254  		i--
  5255  		dAtA[i] = 0x20
  5256  	}
  5257  	if m.TimeoutHeight != 0 {
  5258  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(m.TimeoutHeight))
  5259  		i--
  5260  		dAtA[i] = 0x18
  5261  	}
  5262  	if len(m.Memo) > 0 {
  5263  		i -= len(m.Memo)
  5264  		copy(dAtA[i:], m.Memo)
  5265  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.Memo)))
  5266  		i--
  5267  		dAtA[i] = 0x12
  5268  	}
  5269  	if len(m.Messages) > 0 {
  5270  		for iNdEx := len(m.Messages) - 1; iNdEx >= 0; iNdEx-- {
  5271  			{
  5272  				size, err := m.Messages[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5273  				if err != nil {
  5274  					return 0, err
  5275  				}
  5276  				i -= size
  5277  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  5278  			}
  5279  			i--
  5280  			dAtA[i] = 0xa
  5281  		}
  5282  	}
  5283  	return len(dAtA) - i, nil
  5284  }
  5285  
  5286  func (m *TestUpdatedAuthInfo) Marshal() (dAtA []byte, err error) {
  5287  	size := m.Size()
  5288  	dAtA = make([]byte, size)
  5289  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5290  	if err != nil {
  5291  		return nil, err
  5292  	}
  5293  	return dAtA[:n], nil
  5294  }
  5295  
  5296  func (m *TestUpdatedAuthInfo) MarshalTo(dAtA []byte) (int, error) {
  5297  	size := m.Size()
  5298  	return m.MarshalToSizedBuffer(dAtA[:size])
  5299  }
  5300  
  5301  func (m *TestUpdatedAuthInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5302  	i := len(dAtA)
  5303  	_ = i
  5304  	var l int
  5305  	_ = l
  5306  	if len(m.NewField_1024) > 0 {
  5307  		i -= len(m.NewField_1024)
  5308  		copy(dAtA[i:], m.NewField_1024)
  5309  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.NewField_1024)))
  5310  		i--
  5311  		dAtA[i] = 0x40
  5312  		i--
  5313  		dAtA[i] = 0x82
  5314  	}
  5315  	if len(m.NewField_3) > 0 {
  5316  		i -= len(m.NewField_3)
  5317  		copy(dAtA[i:], m.NewField_3)
  5318  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(len(m.NewField_3)))
  5319  		i--
  5320  		dAtA[i] = 0x1a
  5321  	}
  5322  	if m.Fee != nil {
  5323  		{
  5324  			size, err := m.Fee.MarshalToSizedBuffer(dAtA[:i])
  5325  			if err != nil {
  5326  				return 0, err
  5327  			}
  5328  			i -= size
  5329  			i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  5330  		}
  5331  		i--
  5332  		dAtA[i] = 0x12
  5333  	}
  5334  	if len(m.SignerInfos) > 0 {
  5335  		for iNdEx := len(m.SignerInfos) - 1; iNdEx >= 0; iNdEx-- {
  5336  			{
  5337  				size, err := m.SignerInfos[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  5338  				if err != nil {
  5339  					return 0, err
  5340  				}
  5341  				i -= size
  5342  				i = encodeVarintUnknonwnproto(dAtA, i, uint64(size))
  5343  			}
  5344  			i--
  5345  			dAtA[i] = 0xa
  5346  		}
  5347  	}
  5348  	return len(dAtA) - i, nil
  5349  }
  5350  
  5351  func (m *TestRepeatedUints) Marshal() (dAtA []byte, err error) {
  5352  	size := m.Size()
  5353  	dAtA = make([]byte, size)
  5354  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  5355  	if err != nil {
  5356  		return nil, err
  5357  	}
  5358  	return dAtA[:n], nil
  5359  }
  5360  
  5361  func (m *TestRepeatedUints) MarshalTo(dAtA []byte) (int, error) {
  5362  	size := m.Size()
  5363  	return m.MarshalToSizedBuffer(dAtA[:size])
  5364  }
  5365  
  5366  func (m *TestRepeatedUints) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  5367  	i := len(dAtA)
  5368  	_ = i
  5369  	var l int
  5370  	_ = l
  5371  	if len(m.Nums) > 0 {
  5372  		dAtA54 := make([]byte, len(m.Nums)*10)
  5373  		var j53 int
  5374  		for _, num := range m.Nums {
  5375  			for num >= 1<<7 {
  5376  				dAtA54[j53] = uint8(uint64(num)&0x7f | 0x80)
  5377  				num >>= 7
  5378  				j53++
  5379  			}
  5380  			dAtA54[j53] = uint8(num)
  5381  			j53++
  5382  		}
  5383  		i -= j53
  5384  		copy(dAtA[i:], dAtA54[:j53])
  5385  		i = encodeVarintUnknonwnproto(dAtA, i, uint64(j53))
  5386  		i--
  5387  		dAtA[i] = 0xa
  5388  	}
  5389  	return len(dAtA) - i, nil
  5390  }
  5391  
  5392  func encodeVarintUnknonwnproto(dAtA []byte, offset int, v uint64) int {
  5393  	offset -= sovUnknonwnproto(v)
  5394  	base := offset
  5395  	for v >= 1<<7 {
  5396  		dAtA[offset] = uint8(v&0x7f | 0x80)
  5397  		v >>= 7
  5398  		offset++
  5399  	}
  5400  	dAtA[offset] = uint8(v)
  5401  	return base
  5402  }
  5403  func (m *Customer1) Size() (n int) {
  5404  	if m == nil {
  5405  		return 0
  5406  	}
  5407  	var l int
  5408  	_ = l
  5409  	if m.Id != 0 {
  5410  		n += 1 + sovUnknonwnproto(uint64(m.Id))
  5411  	}
  5412  	l = len(m.Name)
  5413  	if l > 0 {
  5414  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5415  	}
  5416  	if m.SubscriptionFee != 0 {
  5417  		n += 5
  5418  	}
  5419  	l = len(m.Payment)
  5420  	if l > 0 {
  5421  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5422  	}
  5423  	return n
  5424  }
  5425  
  5426  func (m *Customer2) Size() (n int) {
  5427  	if m == nil {
  5428  		return 0
  5429  	}
  5430  	var l int
  5431  	_ = l
  5432  	if m.Id != 0 {
  5433  		n += 1 + sovUnknonwnproto(uint64(m.Id))
  5434  	}
  5435  	if m.Industry != 0 {
  5436  		n += 1 + sovUnknonwnproto(uint64(m.Industry))
  5437  	}
  5438  	l = len(m.Name)
  5439  	if l > 0 {
  5440  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5441  	}
  5442  	if m.Fewer != 0 {
  5443  		n += 5
  5444  	}
  5445  	if m.City != 0 {
  5446  		n += 1 + sovUnknonwnproto(uint64(m.City))
  5447  	}
  5448  	if m.Miscellaneous != nil {
  5449  		l = m.Miscellaneous.Size()
  5450  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5451  	}
  5452  	if m.Reserved != 0 {
  5453  		n += 2 + sovUnknonwnproto(uint64(m.Reserved))
  5454  	}
  5455  	return n
  5456  }
  5457  
  5458  func (m *Nested4A) Size() (n int) {
  5459  	if m == nil {
  5460  		return 0
  5461  	}
  5462  	var l int
  5463  	_ = l
  5464  	if m.Id != 0 {
  5465  		n += 1 + sovUnknonwnproto(uint64(m.Id))
  5466  	}
  5467  	l = len(m.Name)
  5468  	if l > 0 {
  5469  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5470  	}
  5471  	return n
  5472  }
  5473  
  5474  func (m *Nested3A) Size() (n int) {
  5475  	if m == nil {
  5476  		return 0
  5477  	}
  5478  	var l int
  5479  	_ = l
  5480  	if m.Id != 0 {
  5481  		n += 1 + sovUnknonwnproto(uint64(m.Id))
  5482  	}
  5483  	l = len(m.Name)
  5484  	if l > 0 {
  5485  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5486  	}
  5487  	if len(m.A4) > 0 {
  5488  		for _, e := range m.A4 {
  5489  			l = e.Size()
  5490  			n += 1 + l + sovUnknonwnproto(uint64(l))
  5491  		}
  5492  	}
  5493  	if len(m.Index) > 0 {
  5494  		for k, v := range m.Index {
  5495  			_ = k
  5496  			_ = v
  5497  			l = 0
  5498  			if v != nil {
  5499  				l = v.Size()
  5500  				l += 1 + sovUnknonwnproto(uint64(l))
  5501  			}
  5502  			mapEntrySize := 1 + sovUnknonwnproto(uint64(k)) + l
  5503  			n += mapEntrySize + 1 + sovUnknonwnproto(uint64(mapEntrySize))
  5504  		}
  5505  	}
  5506  	return n
  5507  }
  5508  
  5509  func (m *Nested2A) Size() (n int) {
  5510  	if m == nil {
  5511  		return 0
  5512  	}
  5513  	var l int
  5514  	_ = l
  5515  	if m.Id != 0 {
  5516  		n += 1 + sovUnknonwnproto(uint64(m.Id))
  5517  	}
  5518  	l = len(m.Name)
  5519  	if l > 0 {
  5520  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5521  	}
  5522  	if m.Nested != nil {
  5523  		l = m.Nested.Size()
  5524  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5525  	}
  5526  	return n
  5527  }
  5528  
  5529  func (m *Nested1A) Size() (n int) {
  5530  	if m == nil {
  5531  		return 0
  5532  	}
  5533  	var l int
  5534  	_ = l
  5535  	if m.Id != 0 {
  5536  		n += 1 + sovUnknonwnproto(uint64(m.Id))
  5537  	}
  5538  	if m.Nested != nil {
  5539  		l = m.Nested.Size()
  5540  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5541  	}
  5542  	return n
  5543  }
  5544  
  5545  func (m *Nested4B) Size() (n int) {
  5546  	if m == nil {
  5547  		return 0
  5548  	}
  5549  	var l int
  5550  	_ = l
  5551  	if m.Id != 0 {
  5552  		n += 1 + sovUnknonwnproto(uint64(m.Id))
  5553  	}
  5554  	if m.Age != 0 {
  5555  		n += 1 + sovUnknonwnproto(uint64(m.Age))
  5556  	}
  5557  	l = len(m.Name)
  5558  	if l > 0 {
  5559  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5560  	}
  5561  	return n
  5562  }
  5563  
  5564  func (m *Nested3B) Size() (n int) {
  5565  	if m == nil {
  5566  		return 0
  5567  	}
  5568  	var l int
  5569  	_ = l
  5570  	if m.Id != 0 {
  5571  		n += 1 + sovUnknonwnproto(uint64(m.Id))
  5572  	}
  5573  	if m.Age != 0 {
  5574  		n += 1 + sovUnknonwnproto(uint64(m.Age))
  5575  	}
  5576  	l = len(m.Name)
  5577  	if l > 0 {
  5578  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5579  	}
  5580  	if len(m.B4) > 0 {
  5581  		for _, e := range m.B4 {
  5582  			l = e.Size()
  5583  			n += 1 + l + sovUnknonwnproto(uint64(l))
  5584  		}
  5585  	}
  5586  	return n
  5587  }
  5588  
  5589  func (m *Nested2B) Size() (n int) {
  5590  	if m == nil {
  5591  		return 0
  5592  	}
  5593  	var l int
  5594  	_ = l
  5595  	if m.Id != 0 {
  5596  		n += 1 + sovUnknonwnproto(uint64(m.Id))
  5597  	}
  5598  	if m.Fee != 0 {
  5599  		n += 9
  5600  	}
  5601  	if m.Nested != nil {
  5602  		l = m.Nested.Size()
  5603  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5604  	}
  5605  	l = len(m.Route)
  5606  	if l > 0 {
  5607  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5608  	}
  5609  	return n
  5610  }
  5611  
  5612  func (m *Nested1B) Size() (n int) {
  5613  	if m == nil {
  5614  		return 0
  5615  	}
  5616  	var l int
  5617  	_ = l
  5618  	if m.Id != 0 {
  5619  		n += 1 + sovUnknonwnproto(uint64(m.Id))
  5620  	}
  5621  	if m.Nested != nil {
  5622  		l = m.Nested.Size()
  5623  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5624  	}
  5625  	if m.Age != 0 {
  5626  		n += 1 + sovUnknonwnproto(uint64(m.Age))
  5627  	}
  5628  	return n
  5629  }
  5630  
  5631  func (m *Customer3) Size() (n int) {
  5632  	if m == nil {
  5633  		return 0
  5634  	}
  5635  	var l int
  5636  	_ = l
  5637  	if m.Id != 0 {
  5638  		n += 1 + sovUnknonwnproto(uint64(m.Id))
  5639  	}
  5640  	l = len(m.Name)
  5641  	if l > 0 {
  5642  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5643  	}
  5644  	if m.Sf != 0 {
  5645  		n += 5
  5646  	}
  5647  	if m.Surcharge != 0 {
  5648  		n += 5
  5649  	}
  5650  	l = len(m.Destination)
  5651  	if l > 0 {
  5652  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5653  	}
  5654  	if m.Payment != nil {
  5655  		n += m.Payment.Size()
  5656  	}
  5657  	if m.Original != nil {
  5658  		l = m.Original.Size()
  5659  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5660  	}
  5661  	return n
  5662  }
  5663  
  5664  func (m *Customer3_CreditCardNo) Size() (n int) {
  5665  	if m == nil {
  5666  		return 0
  5667  	}
  5668  	var l int
  5669  	_ = l
  5670  	l = len(m.CreditCardNo)
  5671  	n += 1 + l + sovUnknonwnproto(uint64(l))
  5672  	return n
  5673  }
  5674  func (m *Customer3_ChequeNo) Size() (n int) {
  5675  	if m == nil {
  5676  		return 0
  5677  	}
  5678  	var l int
  5679  	_ = l
  5680  	l = len(m.ChequeNo)
  5681  	n += 1 + l + sovUnknonwnproto(uint64(l))
  5682  	return n
  5683  }
  5684  func (m *TestVersion1) Size() (n int) {
  5685  	if m == nil {
  5686  		return 0
  5687  	}
  5688  	var l int
  5689  	_ = l
  5690  	if m.X != 0 {
  5691  		n += 1 + sovUnknonwnproto(uint64(m.X))
  5692  	}
  5693  	if m.A != nil {
  5694  		l = m.A.Size()
  5695  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5696  	}
  5697  	if m.B != nil {
  5698  		l = m.B.Size()
  5699  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5700  	}
  5701  	if len(m.C) > 0 {
  5702  		for _, e := range m.C {
  5703  			l = e.Size()
  5704  			n += 1 + l + sovUnknonwnproto(uint64(l))
  5705  		}
  5706  	}
  5707  	if len(m.D) > 0 {
  5708  		for _, e := range m.D {
  5709  			l = e.Size()
  5710  			n += 1 + l + sovUnknonwnproto(uint64(l))
  5711  		}
  5712  	}
  5713  	if m.Sum != nil {
  5714  		n += m.Sum.Size()
  5715  	}
  5716  	if m.G != nil {
  5717  		l = m.G.Size()
  5718  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5719  	}
  5720  	if len(m.H) > 0 {
  5721  		for _, e := range m.H {
  5722  			l = e.Size()
  5723  			n += 1 + l + sovUnknonwnproto(uint64(l))
  5724  		}
  5725  	}
  5726  	if m.Customer1 != nil {
  5727  		l = m.Customer1.Size()
  5728  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5729  	}
  5730  	return n
  5731  }
  5732  
  5733  func (m *TestVersion1_E) Size() (n int) {
  5734  	if m == nil {
  5735  		return 0
  5736  	}
  5737  	var l int
  5738  	_ = l
  5739  	n += 1 + sovUnknonwnproto(uint64(m.E))
  5740  	return n
  5741  }
  5742  func (m *TestVersion1_F) Size() (n int) {
  5743  	if m == nil {
  5744  		return 0
  5745  	}
  5746  	var l int
  5747  	_ = l
  5748  	if m.F != nil {
  5749  		l = m.F.Size()
  5750  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5751  	}
  5752  	return n
  5753  }
  5754  func (m *TestVersion2) Size() (n int) {
  5755  	if m == nil {
  5756  		return 0
  5757  	}
  5758  	var l int
  5759  	_ = l
  5760  	if m.X != 0 {
  5761  		n += 1 + sovUnknonwnproto(uint64(m.X))
  5762  	}
  5763  	if m.A != nil {
  5764  		l = m.A.Size()
  5765  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5766  	}
  5767  	if m.B != nil {
  5768  		l = m.B.Size()
  5769  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5770  	}
  5771  	if len(m.C) > 0 {
  5772  		for _, e := range m.C {
  5773  			l = e.Size()
  5774  			n += 1 + l + sovUnknonwnproto(uint64(l))
  5775  		}
  5776  	}
  5777  	if len(m.D) > 0 {
  5778  		for _, e := range m.D {
  5779  			l = e.Size()
  5780  			n += 1 + l + sovUnknonwnproto(uint64(l))
  5781  		}
  5782  	}
  5783  	if m.Sum != nil {
  5784  		n += m.Sum.Size()
  5785  	}
  5786  	if m.G != nil {
  5787  		l = m.G.Size()
  5788  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5789  	}
  5790  	if len(m.H) > 0 {
  5791  		for _, e := range m.H {
  5792  			l = e.Size()
  5793  			n += 1 + l + sovUnknonwnproto(uint64(l))
  5794  		}
  5795  	}
  5796  	if m.Customer1 != nil {
  5797  		l = m.Customer1.Size()
  5798  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5799  	}
  5800  	if m.NewField != 0 {
  5801  		n += 2 + sovUnknonwnproto(uint64(m.NewField))
  5802  	}
  5803  	return n
  5804  }
  5805  
  5806  func (m *TestVersion2_E) Size() (n int) {
  5807  	if m == nil {
  5808  		return 0
  5809  	}
  5810  	var l int
  5811  	_ = l
  5812  	n += 1 + sovUnknonwnproto(uint64(m.E))
  5813  	return n
  5814  }
  5815  func (m *TestVersion2_F) Size() (n int) {
  5816  	if m == nil {
  5817  		return 0
  5818  	}
  5819  	var l int
  5820  	_ = l
  5821  	if m.F != nil {
  5822  		l = m.F.Size()
  5823  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5824  	}
  5825  	return n
  5826  }
  5827  func (m *TestVersion3) Size() (n int) {
  5828  	if m == nil {
  5829  		return 0
  5830  	}
  5831  	var l int
  5832  	_ = l
  5833  	if m.X != 0 {
  5834  		n += 1 + sovUnknonwnproto(uint64(m.X))
  5835  	}
  5836  	if m.A != nil {
  5837  		l = m.A.Size()
  5838  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5839  	}
  5840  	if m.B != nil {
  5841  		l = m.B.Size()
  5842  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5843  	}
  5844  	if len(m.C) > 0 {
  5845  		for _, e := range m.C {
  5846  			l = e.Size()
  5847  			n += 1 + l + sovUnknonwnproto(uint64(l))
  5848  		}
  5849  	}
  5850  	if len(m.D) > 0 {
  5851  		for _, e := range m.D {
  5852  			l = e.Size()
  5853  			n += 1 + l + sovUnknonwnproto(uint64(l))
  5854  		}
  5855  	}
  5856  	if m.Sum != nil {
  5857  		n += m.Sum.Size()
  5858  	}
  5859  	if m.G != nil {
  5860  		l = m.G.Size()
  5861  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5862  	}
  5863  	if len(m.H) > 0 {
  5864  		for _, e := range m.H {
  5865  			l = e.Size()
  5866  			n += 1 + l + sovUnknonwnproto(uint64(l))
  5867  		}
  5868  	}
  5869  	if m.Customer1 != nil {
  5870  		l = m.Customer1.Size()
  5871  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5872  	}
  5873  	l = len(m.NonCriticalField)
  5874  	if l > 0 {
  5875  		n += 2 + l + sovUnknonwnproto(uint64(l))
  5876  	}
  5877  	return n
  5878  }
  5879  
  5880  func (m *TestVersion3_E) Size() (n int) {
  5881  	if m == nil {
  5882  		return 0
  5883  	}
  5884  	var l int
  5885  	_ = l
  5886  	n += 1 + sovUnknonwnproto(uint64(m.E))
  5887  	return n
  5888  }
  5889  func (m *TestVersion3_F) Size() (n int) {
  5890  	if m == nil {
  5891  		return 0
  5892  	}
  5893  	var l int
  5894  	_ = l
  5895  	if m.F != nil {
  5896  		l = m.F.Size()
  5897  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5898  	}
  5899  	return n
  5900  }
  5901  func (m *TestVersion3LoneOneOfValue) Size() (n int) {
  5902  	if m == nil {
  5903  		return 0
  5904  	}
  5905  	var l int
  5906  	_ = l
  5907  	if m.X != 0 {
  5908  		n += 1 + sovUnknonwnproto(uint64(m.X))
  5909  	}
  5910  	if m.A != nil {
  5911  		l = m.A.Size()
  5912  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5913  	}
  5914  	if m.B != nil {
  5915  		l = m.B.Size()
  5916  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5917  	}
  5918  	if len(m.C) > 0 {
  5919  		for _, e := range m.C {
  5920  			l = e.Size()
  5921  			n += 1 + l + sovUnknonwnproto(uint64(l))
  5922  		}
  5923  	}
  5924  	if len(m.D) > 0 {
  5925  		for _, e := range m.D {
  5926  			l = e.Size()
  5927  			n += 1 + l + sovUnknonwnproto(uint64(l))
  5928  		}
  5929  	}
  5930  	if m.Sum != nil {
  5931  		n += m.Sum.Size()
  5932  	}
  5933  	if m.G != nil {
  5934  		l = m.G.Size()
  5935  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5936  	}
  5937  	if len(m.H) > 0 {
  5938  		for _, e := range m.H {
  5939  			l = e.Size()
  5940  			n += 1 + l + sovUnknonwnproto(uint64(l))
  5941  		}
  5942  	}
  5943  	if m.Customer1 != nil {
  5944  		l = m.Customer1.Size()
  5945  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5946  	}
  5947  	l = len(m.NonCriticalField)
  5948  	if l > 0 {
  5949  		n += 2 + l + sovUnknonwnproto(uint64(l))
  5950  	}
  5951  	return n
  5952  }
  5953  
  5954  func (m *TestVersion3LoneOneOfValue_E) Size() (n int) {
  5955  	if m == nil {
  5956  		return 0
  5957  	}
  5958  	var l int
  5959  	_ = l
  5960  	n += 1 + sovUnknonwnproto(uint64(m.E))
  5961  	return n
  5962  }
  5963  func (m *TestVersion3LoneNesting) Size() (n int) {
  5964  	if m == nil {
  5965  		return 0
  5966  	}
  5967  	var l int
  5968  	_ = l
  5969  	if m.X != 0 {
  5970  		n += 1 + sovUnknonwnproto(uint64(m.X))
  5971  	}
  5972  	if m.A != nil {
  5973  		l = m.A.Size()
  5974  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5975  	}
  5976  	if m.B != nil {
  5977  		l = m.B.Size()
  5978  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5979  	}
  5980  	if len(m.C) > 0 {
  5981  		for _, e := range m.C {
  5982  			l = e.Size()
  5983  			n += 1 + l + sovUnknonwnproto(uint64(l))
  5984  		}
  5985  	}
  5986  	if len(m.D) > 0 {
  5987  		for _, e := range m.D {
  5988  			l = e.Size()
  5989  			n += 1 + l + sovUnknonwnproto(uint64(l))
  5990  		}
  5991  	}
  5992  	if m.Sum != nil {
  5993  		n += m.Sum.Size()
  5994  	}
  5995  	if m.G != nil {
  5996  		l = m.G.Size()
  5997  		n += 1 + l + sovUnknonwnproto(uint64(l))
  5998  	}
  5999  	if len(m.H) > 0 {
  6000  		for _, e := range m.H {
  6001  			l = e.Size()
  6002  			n += 1 + l + sovUnknonwnproto(uint64(l))
  6003  		}
  6004  	}
  6005  	if m.Customer1 != nil {
  6006  		l = m.Customer1.Size()
  6007  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6008  	}
  6009  	if m.Inner1 != nil {
  6010  		l = m.Inner1.Size()
  6011  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6012  	}
  6013  	if m.Inner2 != nil {
  6014  		l = m.Inner2.Size()
  6015  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6016  	}
  6017  	l = len(m.NonCriticalField)
  6018  	if l > 0 {
  6019  		n += 2 + l + sovUnknonwnproto(uint64(l))
  6020  	}
  6021  	return n
  6022  }
  6023  
  6024  func (m *TestVersion3LoneNesting_F) Size() (n int) {
  6025  	if m == nil {
  6026  		return 0
  6027  	}
  6028  	var l int
  6029  	_ = l
  6030  	if m.F != nil {
  6031  		l = m.F.Size()
  6032  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6033  	}
  6034  	return n
  6035  }
  6036  func (m *TestVersion3LoneNesting_Inner1) Size() (n int) {
  6037  	if m == nil {
  6038  		return 0
  6039  	}
  6040  	var l int
  6041  	_ = l
  6042  	if m.Id != 0 {
  6043  		n += 1 + sovUnknonwnproto(uint64(m.Id))
  6044  	}
  6045  	l = len(m.Name)
  6046  	if l > 0 {
  6047  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6048  	}
  6049  	if m.Inner != nil {
  6050  		l = m.Inner.Size()
  6051  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6052  	}
  6053  	return n
  6054  }
  6055  
  6056  func (m *TestVersion3LoneNesting_Inner1_InnerInner) Size() (n int) {
  6057  	if m == nil {
  6058  		return 0
  6059  	}
  6060  	var l int
  6061  	_ = l
  6062  	l = len(m.Id)
  6063  	if l > 0 {
  6064  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6065  	}
  6066  	l = len(m.City)
  6067  	if l > 0 {
  6068  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6069  	}
  6070  	return n
  6071  }
  6072  
  6073  func (m *TestVersion3LoneNesting_Inner2) Size() (n int) {
  6074  	if m == nil {
  6075  		return 0
  6076  	}
  6077  	var l int
  6078  	_ = l
  6079  	l = len(m.Id)
  6080  	if l > 0 {
  6081  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6082  	}
  6083  	l = len(m.Country)
  6084  	if l > 0 {
  6085  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6086  	}
  6087  	if m.Inner != nil {
  6088  		l = m.Inner.Size()
  6089  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6090  	}
  6091  	return n
  6092  }
  6093  
  6094  func (m *TestVersion3LoneNesting_Inner2_InnerInner) Size() (n int) {
  6095  	if m == nil {
  6096  		return 0
  6097  	}
  6098  	var l int
  6099  	_ = l
  6100  	l = len(m.Id)
  6101  	if l > 0 {
  6102  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6103  	}
  6104  	l = len(m.City)
  6105  	if l > 0 {
  6106  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6107  	}
  6108  	return n
  6109  }
  6110  
  6111  func (m *TestVersion4LoneNesting) Size() (n int) {
  6112  	if m == nil {
  6113  		return 0
  6114  	}
  6115  	var l int
  6116  	_ = l
  6117  	if m.X != 0 {
  6118  		n += 1 + sovUnknonwnproto(uint64(m.X))
  6119  	}
  6120  	if m.A != nil {
  6121  		l = m.A.Size()
  6122  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6123  	}
  6124  	if m.B != nil {
  6125  		l = m.B.Size()
  6126  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6127  	}
  6128  	if len(m.C) > 0 {
  6129  		for _, e := range m.C {
  6130  			l = e.Size()
  6131  			n += 1 + l + sovUnknonwnproto(uint64(l))
  6132  		}
  6133  	}
  6134  	if len(m.D) > 0 {
  6135  		for _, e := range m.D {
  6136  			l = e.Size()
  6137  			n += 1 + l + sovUnknonwnproto(uint64(l))
  6138  		}
  6139  	}
  6140  	if m.Sum != nil {
  6141  		n += m.Sum.Size()
  6142  	}
  6143  	if m.G != nil {
  6144  		l = m.G.Size()
  6145  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6146  	}
  6147  	if len(m.H) > 0 {
  6148  		for _, e := range m.H {
  6149  			l = e.Size()
  6150  			n += 1 + l + sovUnknonwnproto(uint64(l))
  6151  		}
  6152  	}
  6153  	if m.Customer1 != nil {
  6154  		l = m.Customer1.Size()
  6155  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6156  	}
  6157  	if m.Inner1 != nil {
  6158  		l = m.Inner1.Size()
  6159  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6160  	}
  6161  	if m.Inner2 != nil {
  6162  		l = m.Inner2.Size()
  6163  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6164  	}
  6165  	l = len(m.NonCriticalField)
  6166  	if l > 0 {
  6167  		n += 2 + l + sovUnknonwnproto(uint64(l))
  6168  	}
  6169  	return n
  6170  }
  6171  
  6172  func (m *TestVersion4LoneNesting_F) Size() (n int) {
  6173  	if m == nil {
  6174  		return 0
  6175  	}
  6176  	var l int
  6177  	_ = l
  6178  	if m.F != nil {
  6179  		l = m.F.Size()
  6180  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6181  	}
  6182  	return n
  6183  }
  6184  func (m *TestVersion4LoneNesting_Inner1) Size() (n int) {
  6185  	if m == nil {
  6186  		return 0
  6187  	}
  6188  	var l int
  6189  	_ = l
  6190  	if m.Id != 0 {
  6191  		n += 1 + sovUnknonwnproto(uint64(m.Id))
  6192  	}
  6193  	l = len(m.Name)
  6194  	if l > 0 {
  6195  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6196  	}
  6197  	if m.Inner != nil {
  6198  		l = m.Inner.Size()
  6199  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6200  	}
  6201  	return n
  6202  }
  6203  
  6204  func (m *TestVersion4LoneNesting_Inner1_InnerInner) Size() (n int) {
  6205  	if m == nil {
  6206  		return 0
  6207  	}
  6208  	var l int
  6209  	_ = l
  6210  	if m.Id != 0 {
  6211  		n += 1 + sovUnknonwnproto(uint64(m.Id))
  6212  	}
  6213  	l = len(m.City)
  6214  	if l > 0 {
  6215  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6216  	}
  6217  	return n
  6218  }
  6219  
  6220  func (m *TestVersion4LoneNesting_Inner2) Size() (n int) {
  6221  	if m == nil {
  6222  		return 0
  6223  	}
  6224  	var l int
  6225  	_ = l
  6226  	l = len(m.Id)
  6227  	if l > 0 {
  6228  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6229  	}
  6230  	l = len(m.Country)
  6231  	if l > 0 {
  6232  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6233  	}
  6234  	if m.Inner != nil {
  6235  		l = m.Inner.Size()
  6236  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6237  	}
  6238  	return n
  6239  }
  6240  
  6241  func (m *TestVersion4LoneNesting_Inner2_InnerInner) Size() (n int) {
  6242  	if m == nil {
  6243  		return 0
  6244  	}
  6245  	var l int
  6246  	_ = l
  6247  	l = len(m.Id)
  6248  	if l > 0 {
  6249  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6250  	}
  6251  	if m.Value != 0 {
  6252  		n += 1 + sovUnknonwnproto(uint64(m.Value))
  6253  	}
  6254  	return n
  6255  }
  6256  
  6257  func (m *TestVersionFD1) Size() (n int) {
  6258  	if m == nil {
  6259  		return 0
  6260  	}
  6261  	var l int
  6262  	_ = l
  6263  	if m.X != 0 {
  6264  		n += 1 + sovUnknonwnproto(uint64(m.X))
  6265  	}
  6266  	if m.A != nil {
  6267  		l = m.A.Size()
  6268  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6269  	}
  6270  	if m.Sum != nil {
  6271  		n += m.Sum.Size()
  6272  	}
  6273  	if m.G != nil {
  6274  		l = m.G.Size()
  6275  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6276  	}
  6277  	if len(m.H) > 0 {
  6278  		for _, e := range m.H {
  6279  			l = e.Size()
  6280  			n += 1 + l + sovUnknonwnproto(uint64(l))
  6281  		}
  6282  	}
  6283  	return n
  6284  }
  6285  
  6286  func (m *TestVersionFD1_E) Size() (n int) {
  6287  	if m == nil {
  6288  		return 0
  6289  	}
  6290  	var l int
  6291  	_ = l
  6292  	n += 1 + sovUnknonwnproto(uint64(m.E))
  6293  	return n
  6294  }
  6295  func (m *TestVersionFD1_F) Size() (n int) {
  6296  	if m == nil {
  6297  		return 0
  6298  	}
  6299  	var l int
  6300  	_ = l
  6301  	if m.F != nil {
  6302  		l = m.F.Size()
  6303  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6304  	}
  6305  	return n
  6306  }
  6307  func (m *TestVersionFD1WithExtraAny) Size() (n int) {
  6308  	if m == nil {
  6309  		return 0
  6310  	}
  6311  	var l int
  6312  	_ = l
  6313  	if m.X != 0 {
  6314  		n += 1 + sovUnknonwnproto(uint64(m.X))
  6315  	}
  6316  	if m.A != nil {
  6317  		l = m.A.Size()
  6318  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6319  	}
  6320  	if m.Sum != nil {
  6321  		n += m.Sum.Size()
  6322  	}
  6323  	if m.G != nil {
  6324  		l = m.G.Size()
  6325  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6326  	}
  6327  	if len(m.H) > 0 {
  6328  		for _, e := range m.H {
  6329  			l = e.Size()
  6330  			n += 1 + l + sovUnknonwnproto(uint64(l))
  6331  		}
  6332  	}
  6333  	return n
  6334  }
  6335  
  6336  func (m *TestVersionFD1WithExtraAny_E) Size() (n int) {
  6337  	if m == nil {
  6338  		return 0
  6339  	}
  6340  	var l int
  6341  	_ = l
  6342  	n += 1 + sovUnknonwnproto(uint64(m.E))
  6343  	return n
  6344  }
  6345  func (m *TestVersionFD1WithExtraAny_F) Size() (n int) {
  6346  	if m == nil {
  6347  		return 0
  6348  	}
  6349  	var l int
  6350  	_ = l
  6351  	if m.F != nil {
  6352  		l = m.F.Size()
  6353  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6354  	}
  6355  	return n
  6356  }
  6357  func (m *AnyWithExtra) Size() (n int) {
  6358  	if m == nil {
  6359  		return 0
  6360  	}
  6361  	var l int
  6362  	_ = l
  6363  	if m.Any != nil {
  6364  		l = m.Any.Size()
  6365  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6366  	}
  6367  	if m.B != 0 {
  6368  		n += 1 + sovUnknonwnproto(uint64(m.B))
  6369  	}
  6370  	if m.C != 0 {
  6371  		n += 1 + sovUnknonwnproto(uint64(m.C))
  6372  	}
  6373  	return n
  6374  }
  6375  
  6376  func (m *TestUpdatedTxRaw) Size() (n int) {
  6377  	if m == nil {
  6378  		return 0
  6379  	}
  6380  	var l int
  6381  	_ = l
  6382  	l = len(m.BodyBytes)
  6383  	if l > 0 {
  6384  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6385  	}
  6386  	l = len(m.AuthInfoBytes)
  6387  	if l > 0 {
  6388  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6389  	}
  6390  	if len(m.Signatures) > 0 {
  6391  		for _, b := range m.Signatures {
  6392  			l = len(b)
  6393  			n += 1 + l + sovUnknonwnproto(uint64(l))
  6394  		}
  6395  	}
  6396  	l = len(m.NewField_5)
  6397  	if l > 0 {
  6398  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6399  	}
  6400  	l = len(m.NewField_1024)
  6401  	if l > 0 {
  6402  		n += 2 + l + sovUnknonwnproto(uint64(l))
  6403  	}
  6404  	return n
  6405  }
  6406  
  6407  func (m *TestUpdatedTxBody) Size() (n int) {
  6408  	if m == nil {
  6409  		return 0
  6410  	}
  6411  	var l int
  6412  	_ = l
  6413  	if len(m.Messages) > 0 {
  6414  		for _, e := range m.Messages {
  6415  			l = e.Size()
  6416  			n += 1 + l + sovUnknonwnproto(uint64(l))
  6417  		}
  6418  	}
  6419  	l = len(m.Memo)
  6420  	if l > 0 {
  6421  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6422  	}
  6423  	if m.TimeoutHeight != 0 {
  6424  		n += 1 + sovUnknonwnproto(uint64(m.TimeoutHeight))
  6425  	}
  6426  	if m.SomeNewField != 0 {
  6427  		n += 1 + sovUnknonwnproto(uint64(m.SomeNewField))
  6428  	}
  6429  	if len(m.ExtensionOptions) > 0 {
  6430  		for _, e := range m.ExtensionOptions {
  6431  			l = e.Size()
  6432  			n += 2 + l + sovUnknonwnproto(uint64(l))
  6433  		}
  6434  	}
  6435  	l = len(m.SomeNewFieldNonCriticalField)
  6436  	if l > 0 {
  6437  		n += 2 + l + sovUnknonwnproto(uint64(l))
  6438  	}
  6439  	if len(m.NonCriticalExtensionOptions) > 0 {
  6440  		for _, e := range m.NonCriticalExtensionOptions {
  6441  			l = e.Size()
  6442  			n += 2 + l + sovUnknonwnproto(uint64(l))
  6443  		}
  6444  	}
  6445  	return n
  6446  }
  6447  
  6448  func (m *TestUpdatedAuthInfo) Size() (n int) {
  6449  	if m == nil {
  6450  		return 0
  6451  	}
  6452  	var l int
  6453  	_ = l
  6454  	if len(m.SignerInfos) > 0 {
  6455  		for _, e := range m.SignerInfos {
  6456  			l = e.Size()
  6457  			n += 1 + l + sovUnknonwnproto(uint64(l))
  6458  		}
  6459  	}
  6460  	if m.Fee != nil {
  6461  		l = m.Fee.Size()
  6462  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6463  	}
  6464  	l = len(m.NewField_3)
  6465  	if l > 0 {
  6466  		n += 1 + l + sovUnknonwnproto(uint64(l))
  6467  	}
  6468  	l = len(m.NewField_1024)
  6469  	if l > 0 {
  6470  		n += 2 + l + sovUnknonwnproto(uint64(l))
  6471  	}
  6472  	return n
  6473  }
  6474  
  6475  func (m *TestRepeatedUints) Size() (n int) {
  6476  	if m == nil {
  6477  		return 0
  6478  	}
  6479  	var l int
  6480  	_ = l
  6481  	if len(m.Nums) > 0 {
  6482  		l = 0
  6483  		for _, e := range m.Nums {
  6484  			l += sovUnknonwnproto(uint64(e))
  6485  		}
  6486  		n += 1 + sovUnknonwnproto(uint64(l)) + l
  6487  	}
  6488  	return n
  6489  }
  6490  
  6491  func sovUnknonwnproto(x uint64) (n int) {
  6492  	return (math_bits.Len64(x|1) + 6) / 7
  6493  }
  6494  func sozUnknonwnproto(x uint64) (n int) {
  6495  	return sovUnknonwnproto(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  6496  }
  6497  func (m *Customer1) Unmarshal(dAtA []byte) error {
  6498  	l := len(dAtA)
  6499  	iNdEx := 0
  6500  	for iNdEx < l {
  6501  		preIndex := iNdEx
  6502  		var wire uint64
  6503  		for shift := uint(0); ; shift += 7 {
  6504  			if shift >= 64 {
  6505  				return ErrIntOverflowUnknonwnproto
  6506  			}
  6507  			if iNdEx >= l {
  6508  				return io.ErrUnexpectedEOF
  6509  			}
  6510  			b := dAtA[iNdEx]
  6511  			iNdEx++
  6512  			wire |= uint64(b&0x7F) << shift
  6513  			if b < 0x80 {
  6514  				break
  6515  			}
  6516  		}
  6517  		fieldNum := int32(wire >> 3)
  6518  		wireType := int(wire & 0x7)
  6519  		if wireType == 4 {
  6520  			return fmt.Errorf("proto: Customer1: wiretype end group for non-group")
  6521  		}
  6522  		if fieldNum <= 0 {
  6523  			return fmt.Errorf("proto: Customer1: illegal tag %d (wire type %d)", fieldNum, wire)
  6524  		}
  6525  		switch fieldNum {
  6526  		case 1:
  6527  			if wireType != 0 {
  6528  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  6529  			}
  6530  			m.Id = 0
  6531  			for shift := uint(0); ; shift += 7 {
  6532  				if shift >= 64 {
  6533  					return ErrIntOverflowUnknonwnproto
  6534  				}
  6535  				if iNdEx >= l {
  6536  					return io.ErrUnexpectedEOF
  6537  				}
  6538  				b := dAtA[iNdEx]
  6539  				iNdEx++
  6540  				m.Id |= int32(b&0x7F) << shift
  6541  				if b < 0x80 {
  6542  					break
  6543  				}
  6544  			}
  6545  		case 2:
  6546  			if wireType != 2 {
  6547  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  6548  			}
  6549  			var stringLen uint64
  6550  			for shift := uint(0); ; shift += 7 {
  6551  				if shift >= 64 {
  6552  					return ErrIntOverflowUnknonwnproto
  6553  				}
  6554  				if iNdEx >= l {
  6555  					return io.ErrUnexpectedEOF
  6556  				}
  6557  				b := dAtA[iNdEx]
  6558  				iNdEx++
  6559  				stringLen |= uint64(b&0x7F) << shift
  6560  				if b < 0x80 {
  6561  					break
  6562  				}
  6563  			}
  6564  			intStringLen := int(stringLen)
  6565  			if intStringLen < 0 {
  6566  				return ErrInvalidLengthUnknonwnproto
  6567  			}
  6568  			postIndex := iNdEx + intStringLen
  6569  			if postIndex < 0 {
  6570  				return ErrInvalidLengthUnknonwnproto
  6571  			}
  6572  			if postIndex > l {
  6573  				return io.ErrUnexpectedEOF
  6574  			}
  6575  			m.Name = string(dAtA[iNdEx:postIndex])
  6576  			iNdEx = postIndex
  6577  		case 3:
  6578  			if wireType != 5 {
  6579  				return fmt.Errorf("proto: wrong wireType = %d for field SubscriptionFee", wireType)
  6580  			}
  6581  			var v uint32
  6582  			if (iNdEx + 4) > l {
  6583  				return io.ErrUnexpectedEOF
  6584  			}
  6585  			v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  6586  			iNdEx += 4
  6587  			m.SubscriptionFee = float32(math.Float32frombits(v))
  6588  		case 7:
  6589  			if wireType != 2 {
  6590  				return fmt.Errorf("proto: wrong wireType = %d for field Payment", wireType)
  6591  			}
  6592  			var stringLen uint64
  6593  			for shift := uint(0); ; shift += 7 {
  6594  				if shift >= 64 {
  6595  					return ErrIntOverflowUnknonwnproto
  6596  				}
  6597  				if iNdEx >= l {
  6598  					return io.ErrUnexpectedEOF
  6599  				}
  6600  				b := dAtA[iNdEx]
  6601  				iNdEx++
  6602  				stringLen |= uint64(b&0x7F) << shift
  6603  				if b < 0x80 {
  6604  					break
  6605  				}
  6606  			}
  6607  			intStringLen := int(stringLen)
  6608  			if intStringLen < 0 {
  6609  				return ErrInvalidLengthUnknonwnproto
  6610  			}
  6611  			postIndex := iNdEx + intStringLen
  6612  			if postIndex < 0 {
  6613  				return ErrInvalidLengthUnknonwnproto
  6614  			}
  6615  			if postIndex > l {
  6616  				return io.ErrUnexpectedEOF
  6617  			}
  6618  			m.Payment = string(dAtA[iNdEx:postIndex])
  6619  			iNdEx = postIndex
  6620  		default:
  6621  			iNdEx = preIndex
  6622  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
  6623  			if err != nil {
  6624  				return err
  6625  			}
  6626  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  6627  				return ErrInvalidLengthUnknonwnproto
  6628  			}
  6629  			if (iNdEx + skippy) > l {
  6630  				return io.ErrUnexpectedEOF
  6631  			}
  6632  			iNdEx += skippy
  6633  		}
  6634  	}
  6635  
  6636  	if iNdEx > l {
  6637  		return io.ErrUnexpectedEOF
  6638  	}
  6639  	return nil
  6640  }
  6641  func (m *Customer2) Unmarshal(dAtA []byte) error {
  6642  	l := len(dAtA)
  6643  	iNdEx := 0
  6644  	for iNdEx < l {
  6645  		preIndex := iNdEx
  6646  		var wire uint64
  6647  		for shift := uint(0); ; shift += 7 {
  6648  			if shift >= 64 {
  6649  				return ErrIntOverflowUnknonwnproto
  6650  			}
  6651  			if iNdEx >= l {
  6652  				return io.ErrUnexpectedEOF
  6653  			}
  6654  			b := dAtA[iNdEx]
  6655  			iNdEx++
  6656  			wire |= uint64(b&0x7F) << shift
  6657  			if b < 0x80 {
  6658  				break
  6659  			}
  6660  		}
  6661  		fieldNum := int32(wire >> 3)
  6662  		wireType := int(wire & 0x7)
  6663  		if wireType == 4 {
  6664  			return fmt.Errorf("proto: Customer2: wiretype end group for non-group")
  6665  		}
  6666  		if fieldNum <= 0 {
  6667  			return fmt.Errorf("proto: Customer2: illegal tag %d (wire type %d)", fieldNum, wire)
  6668  		}
  6669  		switch fieldNum {
  6670  		case 1:
  6671  			if wireType != 0 {
  6672  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  6673  			}
  6674  			m.Id = 0
  6675  			for shift := uint(0); ; shift += 7 {
  6676  				if shift >= 64 {
  6677  					return ErrIntOverflowUnknonwnproto
  6678  				}
  6679  				if iNdEx >= l {
  6680  					return io.ErrUnexpectedEOF
  6681  				}
  6682  				b := dAtA[iNdEx]
  6683  				iNdEx++
  6684  				m.Id |= int32(b&0x7F) << shift
  6685  				if b < 0x80 {
  6686  					break
  6687  				}
  6688  			}
  6689  		case 2:
  6690  			if wireType != 0 {
  6691  				return fmt.Errorf("proto: wrong wireType = %d for field Industry", wireType)
  6692  			}
  6693  			m.Industry = 0
  6694  			for shift := uint(0); ; shift += 7 {
  6695  				if shift >= 64 {
  6696  					return ErrIntOverflowUnknonwnproto
  6697  				}
  6698  				if iNdEx >= l {
  6699  					return io.ErrUnexpectedEOF
  6700  				}
  6701  				b := dAtA[iNdEx]
  6702  				iNdEx++
  6703  				m.Industry |= int32(b&0x7F) << shift
  6704  				if b < 0x80 {
  6705  					break
  6706  				}
  6707  			}
  6708  		case 3:
  6709  			if wireType != 2 {
  6710  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  6711  			}
  6712  			var stringLen uint64
  6713  			for shift := uint(0); ; shift += 7 {
  6714  				if shift >= 64 {
  6715  					return ErrIntOverflowUnknonwnproto
  6716  				}
  6717  				if iNdEx >= l {
  6718  					return io.ErrUnexpectedEOF
  6719  				}
  6720  				b := dAtA[iNdEx]
  6721  				iNdEx++
  6722  				stringLen |= uint64(b&0x7F) << shift
  6723  				if b < 0x80 {
  6724  					break
  6725  				}
  6726  			}
  6727  			intStringLen := int(stringLen)
  6728  			if intStringLen < 0 {
  6729  				return ErrInvalidLengthUnknonwnproto
  6730  			}
  6731  			postIndex := iNdEx + intStringLen
  6732  			if postIndex < 0 {
  6733  				return ErrInvalidLengthUnknonwnproto
  6734  			}
  6735  			if postIndex > l {
  6736  				return io.ErrUnexpectedEOF
  6737  			}
  6738  			m.Name = string(dAtA[iNdEx:postIndex])
  6739  			iNdEx = postIndex
  6740  		case 4:
  6741  			if wireType != 5 {
  6742  				return fmt.Errorf("proto: wrong wireType = %d for field Fewer", wireType)
  6743  			}
  6744  			var v uint32
  6745  			if (iNdEx + 4) > l {
  6746  				return io.ErrUnexpectedEOF
  6747  			}
  6748  			v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  6749  			iNdEx += 4
  6750  			m.Fewer = float32(math.Float32frombits(v))
  6751  		case 6:
  6752  			if wireType != 0 {
  6753  				return fmt.Errorf("proto: wrong wireType = %d for field City", wireType)
  6754  			}
  6755  			m.City = 0
  6756  			for shift := uint(0); ; shift += 7 {
  6757  				if shift >= 64 {
  6758  					return ErrIntOverflowUnknonwnproto
  6759  				}
  6760  				if iNdEx >= l {
  6761  					return io.ErrUnexpectedEOF
  6762  				}
  6763  				b := dAtA[iNdEx]
  6764  				iNdEx++
  6765  				m.City |= Customer2_City(b&0x7F) << shift
  6766  				if b < 0x80 {
  6767  					break
  6768  				}
  6769  			}
  6770  		case 10:
  6771  			if wireType != 2 {
  6772  				return fmt.Errorf("proto: wrong wireType = %d for field Miscellaneous", wireType)
  6773  			}
  6774  			var msglen int
  6775  			for shift := uint(0); ; shift += 7 {
  6776  				if shift >= 64 {
  6777  					return ErrIntOverflowUnknonwnproto
  6778  				}
  6779  				if iNdEx >= l {
  6780  					return io.ErrUnexpectedEOF
  6781  				}
  6782  				b := dAtA[iNdEx]
  6783  				iNdEx++
  6784  				msglen |= int(b&0x7F) << shift
  6785  				if b < 0x80 {
  6786  					break
  6787  				}
  6788  			}
  6789  			if msglen < 0 {
  6790  				return ErrInvalidLengthUnknonwnproto
  6791  			}
  6792  			postIndex := iNdEx + msglen
  6793  			if postIndex < 0 {
  6794  				return ErrInvalidLengthUnknonwnproto
  6795  			}
  6796  			if postIndex > l {
  6797  				return io.ErrUnexpectedEOF
  6798  			}
  6799  			if m.Miscellaneous == nil {
  6800  				m.Miscellaneous = &types.Any{}
  6801  			}
  6802  			if err := m.Miscellaneous.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  6803  				return err
  6804  			}
  6805  			iNdEx = postIndex
  6806  		case 1047:
  6807  			if wireType != 0 {
  6808  				return fmt.Errorf("proto: wrong wireType = %d for field Reserved", wireType)
  6809  			}
  6810  			m.Reserved = 0
  6811  			for shift := uint(0); ; shift += 7 {
  6812  				if shift >= 64 {
  6813  					return ErrIntOverflowUnknonwnproto
  6814  				}
  6815  				if iNdEx >= l {
  6816  					return io.ErrUnexpectedEOF
  6817  				}
  6818  				b := dAtA[iNdEx]
  6819  				iNdEx++
  6820  				m.Reserved |= int64(b&0x7F) << shift
  6821  				if b < 0x80 {
  6822  					break
  6823  				}
  6824  			}
  6825  		default:
  6826  			iNdEx = preIndex
  6827  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
  6828  			if err != nil {
  6829  				return err
  6830  			}
  6831  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  6832  				return ErrInvalidLengthUnknonwnproto
  6833  			}
  6834  			if (iNdEx + skippy) > l {
  6835  				return io.ErrUnexpectedEOF
  6836  			}
  6837  			iNdEx += skippy
  6838  		}
  6839  	}
  6840  
  6841  	if iNdEx > l {
  6842  		return io.ErrUnexpectedEOF
  6843  	}
  6844  	return nil
  6845  }
  6846  func (m *Nested4A) Unmarshal(dAtA []byte) error {
  6847  	l := len(dAtA)
  6848  	iNdEx := 0
  6849  	for iNdEx < l {
  6850  		preIndex := iNdEx
  6851  		var wire uint64
  6852  		for shift := uint(0); ; shift += 7 {
  6853  			if shift >= 64 {
  6854  				return ErrIntOverflowUnknonwnproto
  6855  			}
  6856  			if iNdEx >= l {
  6857  				return io.ErrUnexpectedEOF
  6858  			}
  6859  			b := dAtA[iNdEx]
  6860  			iNdEx++
  6861  			wire |= uint64(b&0x7F) << shift
  6862  			if b < 0x80 {
  6863  				break
  6864  			}
  6865  		}
  6866  		fieldNum := int32(wire >> 3)
  6867  		wireType := int(wire & 0x7)
  6868  		if wireType == 4 {
  6869  			return fmt.Errorf("proto: Nested4A: wiretype end group for non-group")
  6870  		}
  6871  		if fieldNum <= 0 {
  6872  			return fmt.Errorf("proto: Nested4A: illegal tag %d (wire type %d)", fieldNum, wire)
  6873  		}
  6874  		switch fieldNum {
  6875  		case 1:
  6876  			if wireType != 0 {
  6877  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  6878  			}
  6879  			m.Id = 0
  6880  			for shift := uint(0); ; shift += 7 {
  6881  				if shift >= 64 {
  6882  					return ErrIntOverflowUnknonwnproto
  6883  				}
  6884  				if iNdEx >= l {
  6885  					return io.ErrUnexpectedEOF
  6886  				}
  6887  				b := dAtA[iNdEx]
  6888  				iNdEx++
  6889  				m.Id |= int32(b&0x7F) << shift
  6890  				if b < 0x80 {
  6891  					break
  6892  				}
  6893  			}
  6894  		case 2:
  6895  			if wireType != 2 {
  6896  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  6897  			}
  6898  			var stringLen uint64
  6899  			for shift := uint(0); ; shift += 7 {
  6900  				if shift >= 64 {
  6901  					return ErrIntOverflowUnknonwnproto
  6902  				}
  6903  				if iNdEx >= l {
  6904  					return io.ErrUnexpectedEOF
  6905  				}
  6906  				b := dAtA[iNdEx]
  6907  				iNdEx++
  6908  				stringLen |= uint64(b&0x7F) << shift
  6909  				if b < 0x80 {
  6910  					break
  6911  				}
  6912  			}
  6913  			intStringLen := int(stringLen)
  6914  			if intStringLen < 0 {
  6915  				return ErrInvalidLengthUnknonwnproto
  6916  			}
  6917  			postIndex := iNdEx + intStringLen
  6918  			if postIndex < 0 {
  6919  				return ErrInvalidLengthUnknonwnproto
  6920  			}
  6921  			if postIndex > l {
  6922  				return io.ErrUnexpectedEOF
  6923  			}
  6924  			m.Name = string(dAtA[iNdEx:postIndex])
  6925  			iNdEx = postIndex
  6926  		default:
  6927  			iNdEx = preIndex
  6928  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
  6929  			if err != nil {
  6930  				return err
  6931  			}
  6932  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  6933  				return ErrInvalidLengthUnknonwnproto
  6934  			}
  6935  			if (iNdEx + skippy) > l {
  6936  				return io.ErrUnexpectedEOF
  6937  			}
  6938  			iNdEx += skippy
  6939  		}
  6940  	}
  6941  
  6942  	if iNdEx > l {
  6943  		return io.ErrUnexpectedEOF
  6944  	}
  6945  	return nil
  6946  }
  6947  func (m *Nested3A) Unmarshal(dAtA []byte) error {
  6948  	l := len(dAtA)
  6949  	iNdEx := 0
  6950  	for iNdEx < l {
  6951  		preIndex := iNdEx
  6952  		var wire uint64
  6953  		for shift := uint(0); ; shift += 7 {
  6954  			if shift >= 64 {
  6955  				return ErrIntOverflowUnknonwnproto
  6956  			}
  6957  			if iNdEx >= l {
  6958  				return io.ErrUnexpectedEOF
  6959  			}
  6960  			b := dAtA[iNdEx]
  6961  			iNdEx++
  6962  			wire |= uint64(b&0x7F) << shift
  6963  			if b < 0x80 {
  6964  				break
  6965  			}
  6966  		}
  6967  		fieldNum := int32(wire >> 3)
  6968  		wireType := int(wire & 0x7)
  6969  		if wireType == 4 {
  6970  			return fmt.Errorf("proto: Nested3A: wiretype end group for non-group")
  6971  		}
  6972  		if fieldNum <= 0 {
  6973  			return fmt.Errorf("proto: Nested3A: illegal tag %d (wire type %d)", fieldNum, wire)
  6974  		}
  6975  		switch fieldNum {
  6976  		case 1:
  6977  			if wireType != 0 {
  6978  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  6979  			}
  6980  			m.Id = 0
  6981  			for shift := uint(0); ; shift += 7 {
  6982  				if shift >= 64 {
  6983  					return ErrIntOverflowUnknonwnproto
  6984  				}
  6985  				if iNdEx >= l {
  6986  					return io.ErrUnexpectedEOF
  6987  				}
  6988  				b := dAtA[iNdEx]
  6989  				iNdEx++
  6990  				m.Id |= int32(b&0x7F) << shift
  6991  				if b < 0x80 {
  6992  					break
  6993  				}
  6994  			}
  6995  		case 2:
  6996  			if wireType != 2 {
  6997  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  6998  			}
  6999  			var stringLen uint64
  7000  			for shift := uint(0); ; shift += 7 {
  7001  				if shift >= 64 {
  7002  					return ErrIntOverflowUnknonwnproto
  7003  				}
  7004  				if iNdEx >= l {
  7005  					return io.ErrUnexpectedEOF
  7006  				}
  7007  				b := dAtA[iNdEx]
  7008  				iNdEx++
  7009  				stringLen |= uint64(b&0x7F) << shift
  7010  				if b < 0x80 {
  7011  					break
  7012  				}
  7013  			}
  7014  			intStringLen := int(stringLen)
  7015  			if intStringLen < 0 {
  7016  				return ErrInvalidLengthUnknonwnproto
  7017  			}
  7018  			postIndex := iNdEx + intStringLen
  7019  			if postIndex < 0 {
  7020  				return ErrInvalidLengthUnknonwnproto
  7021  			}
  7022  			if postIndex > l {
  7023  				return io.ErrUnexpectedEOF
  7024  			}
  7025  			m.Name = string(dAtA[iNdEx:postIndex])
  7026  			iNdEx = postIndex
  7027  		case 4:
  7028  			if wireType != 2 {
  7029  				return fmt.Errorf("proto: wrong wireType = %d for field A4", wireType)
  7030  			}
  7031  			var msglen int
  7032  			for shift := uint(0); ; shift += 7 {
  7033  				if shift >= 64 {
  7034  					return ErrIntOverflowUnknonwnproto
  7035  				}
  7036  				if iNdEx >= l {
  7037  					return io.ErrUnexpectedEOF
  7038  				}
  7039  				b := dAtA[iNdEx]
  7040  				iNdEx++
  7041  				msglen |= int(b&0x7F) << shift
  7042  				if b < 0x80 {
  7043  					break
  7044  				}
  7045  			}
  7046  			if msglen < 0 {
  7047  				return ErrInvalidLengthUnknonwnproto
  7048  			}
  7049  			postIndex := iNdEx + msglen
  7050  			if postIndex < 0 {
  7051  				return ErrInvalidLengthUnknonwnproto
  7052  			}
  7053  			if postIndex > l {
  7054  				return io.ErrUnexpectedEOF
  7055  			}
  7056  			m.A4 = append(m.A4, &Nested4A{})
  7057  			if err := m.A4[len(m.A4)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7058  				return err
  7059  			}
  7060  			iNdEx = postIndex
  7061  		case 5:
  7062  			if wireType != 2 {
  7063  				return fmt.Errorf("proto: wrong wireType = %d for field Index", wireType)
  7064  			}
  7065  			var msglen int
  7066  			for shift := uint(0); ; shift += 7 {
  7067  				if shift >= 64 {
  7068  					return ErrIntOverflowUnknonwnproto
  7069  				}
  7070  				if iNdEx >= l {
  7071  					return io.ErrUnexpectedEOF
  7072  				}
  7073  				b := dAtA[iNdEx]
  7074  				iNdEx++
  7075  				msglen |= int(b&0x7F) << shift
  7076  				if b < 0x80 {
  7077  					break
  7078  				}
  7079  			}
  7080  			if msglen < 0 {
  7081  				return ErrInvalidLengthUnknonwnproto
  7082  			}
  7083  			postIndex := iNdEx + msglen
  7084  			if postIndex < 0 {
  7085  				return ErrInvalidLengthUnknonwnproto
  7086  			}
  7087  			if postIndex > l {
  7088  				return io.ErrUnexpectedEOF
  7089  			}
  7090  			if m.Index == nil {
  7091  				m.Index = make(map[int64]*Nested4A)
  7092  			}
  7093  			var mapkey int64
  7094  			var mapvalue *Nested4A
  7095  			for iNdEx < postIndex {
  7096  				entryPreIndex := iNdEx
  7097  				var wire uint64
  7098  				for shift := uint(0); ; shift += 7 {
  7099  					if shift >= 64 {
  7100  						return ErrIntOverflowUnknonwnproto
  7101  					}
  7102  					if iNdEx >= l {
  7103  						return io.ErrUnexpectedEOF
  7104  					}
  7105  					b := dAtA[iNdEx]
  7106  					iNdEx++
  7107  					wire |= uint64(b&0x7F) << shift
  7108  					if b < 0x80 {
  7109  						break
  7110  					}
  7111  				}
  7112  				fieldNum := int32(wire >> 3)
  7113  				if fieldNum == 1 {
  7114  					for shift := uint(0); ; shift += 7 {
  7115  						if shift >= 64 {
  7116  							return ErrIntOverflowUnknonwnproto
  7117  						}
  7118  						if iNdEx >= l {
  7119  							return io.ErrUnexpectedEOF
  7120  						}
  7121  						b := dAtA[iNdEx]
  7122  						iNdEx++
  7123  						mapkey |= int64(b&0x7F) << shift
  7124  						if b < 0x80 {
  7125  							break
  7126  						}
  7127  					}
  7128  				} else if fieldNum == 2 {
  7129  					var mapmsglen int
  7130  					for shift := uint(0); ; shift += 7 {
  7131  						if shift >= 64 {
  7132  							return ErrIntOverflowUnknonwnproto
  7133  						}
  7134  						if iNdEx >= l {
  7135  							return io.ErrUnexpectedEOF
  7136  						}
  7137  						b := dAtA[iNdEx]
  7138  						iNdEx++
  7139  						mapmsglen |= int(b&0x7F) << shift
  7140  						if b < 0x80 {
  7141  							break
  7142  						}
  7143  					}
  7144  					if mapmsglen < 0 {
  7145  						return ErrInvalidLengthUnknonwnproto
  7146  					}
  7147  					postmsgIndex := iNdEx + mapmsglen
  7148  					if postmsgIndex < 0 {
  7149  						return ErrInvalidLengthUnknonwnproto
  7150  					}
  7151  					if postmsgIndex > l {
  7152  						return io.ErrUnexpectedEOF
  7153  					}
  7154  					mapvalue = &Nested4A{}
  7155  					if err := mapvalue.Unmarshal(dAtA[iNdEx:postmsgIndex]); err != nil {
  7156  						return err
  7157  					}
  7158  					iNdEx = postmsgIndex
  7159  				} else {
  7160  					iNdEx = entryPreIndex
  7161  					skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
  7162  					if err != nil {
  7163  						return err
  7164  					}
  7165  					if (skippy < 0) || (iNdEx+skippy) < 0 {
  7166  						return ErrInvalidLengthUnknonwnproto
  7167  					}
  7168  					if (iNdEx + skippy) > postIndex {
  7169  						return io.ErrUnexpectedEOF
  7170  					}
  7171  					iNdEx += skippy
  7172  				}
  7173  			}
  7174  			m.Index[mapkey] = mapvalue
  7175  			iNdEx = postIndex
  7176  		default:
  7177  			iNdEx = preIndex
  7178  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
  7179  			if err != nil {
  7180  				return err
  7181  			}
  7182  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  7183  				return ErrInvalidLengthUnknonwnproto
  7184  			}
  7185  			if (iNdEx + skippy) > l {
  7186  				return io.ErrUnexpectedEOF
  7187  			}
  7188  			iNdEx += skippy
  7189  		}
  7190  	}
  7191  
  7192  	if iNdEx > l {
  7193  		return io.ErrUnexpectedEOF
  7194  	}
  7195  	return nil
  7196  }
  7197  func (m *Nested2A) Unmarshal(dAtA []byte) error {
  7198  	l := len(dAtA)
  7199  	iNdEx := 0
  7200  	for iNdEx < l {
  7201  		preIndex := iNdEx
  7202  		var wire uint64
  7203  		for shift := uint(0); ; shift += 7 {
  7204  			if shift >= 64 {
  7205  				return ErrIntOverflowUnknonwnproto
  7206  			}
  7207  			if iNdEx >= l {
  7208  				return io.ErrUnexpectedEOF
  7209  			}
  7210  			b := dAtA[iNdEx]
  7211  			iNdEx++
  7212  			wire |= uint64(b&0x7F) << shift
  7213  			if b < 0x80 {
  7214  				break
  7215  			}
  7216  		}
  7217  		fieldNum := int32(wire >> 3)
  7218  		wireType := int(wire & 0x7)
  7219  		if wireType == 4 {
  7220  			return fmt.Errorf("proto: Nested2A: wiretype end group for non-group")
  7221  		}
  7222  		if fieldNum <= 0 {
  7223  			return fmt.Errorf("proto: Nested2A: illegal tag %d (wire type %d)", fieldNum, wire)
  7224  		}
  7225  		switch fieldNum {
  7226  		case 1:
  7227  			if wireType != 0 {
  7228  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  7229  			}
  7230  			m.Id = 0
  7231  			for shift := uint(0); ; shift += 7 {
  7232  				if shift >= 64 {
  7233  					return ErrIntOverflowUnknonwnproto
  7234  				}
  7235  				if iNdEx >= l {
  7236  					return io.ErrUnexpectedEOF
  7237  				}
  7238  				b := dAtA[iNdEx]
  7239  				iNdEx++
  7240  				m.Id |= int32(b&0x7F) << shift
  7241  				if b < 0x80 {
  7242  					break
  7243  				}
  7244  			}
  7245  		case 2:
  7246  			if wireType != 2 {
  7247  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  7248  			}
  7249  			var stringLen uint64
  7250  			for shift := uint(0); ; shift += 7 {
  7251  				if shift >= 64 {
  7252  					return ErrIntOverflowUnknonwnproto
  7253  				}
  7254  				if iNdEx >= l {
  7255  					return io.ErrUnexpectedEOF
  7256  				}
  7257  				b := dAtA[iNdEx]
  7258  				iNdEx++
  7259  				stringLen |= uint64(b&0x7F) << shift
  7260  				if b < 0x80 {
  7261  					break
  7262  				}
  7263  			}
  7264  			intStringLen := int(stringLen)
  7265  			if intStringLen < 0 {
  7266  				return ErrInvalidLengthUnknonwnproto
  7267  			}
  7268  			postIndex := iNdEx + intStringLen
  7269  			if postIndex < 0 {
  7270  				return ErrInvalidLengthUnknonwnproto
  7271  			}
  7272  			if postIndex > l {
  7273  				return io.ErrUnexpectedEOF
  7274  			}
  7275  			m.Name = string(dAtA[iNdEx:postIndex])
  7276  			iNdEx = postIndex
  7277  		case 3:
  7278  			if wireType != 2 {
  7279  				return fmt.Errorf("proto: wrong wireType = %d for field Nested", wireType)
  7280  			}
  7281  			var msglen int
  7282  			for shift := uint(0); ; shift += 7 {
  7283  				if shift >= 64 {
  7284  					return ErrIntOverflowUnknonwnproto
  7285  				}
  7286  				if iNdEx >= l {
  7287  					return io.ErrUnexpectedEOF
  7288  				}
  7289  				b := dAtA[iNdEx]
  7290  				iNdEx++
  7291  				msglen |= int(b&0x7F) << shift
  7292  				if b < 0x80 {
  7293  					break
  7294  				}
  7295  			}
  7296  			if msglen < 0 {
  7297  				return ErrInvalidLengthUnknonwnproto
  7298  			}
  7299  			postIndex := iNdEx + msglen
  7300  			if postIndex < 0 {
  7301  				return ErrInvalidLengthUnknonwnproto
  7302  			}
  7303  			if postIndex > l {
  7304  				return io.ErrUnexpectedEOF
  7305  			}
  7306  			if m.Nested == nil {
  7307  				m.Nested = &Nested3A{}
  7308  			}
  7309  			if err := m.Nested.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7310  				return err
  7311  			}
  7312  			iNdEx = postIndex
  7313  		default:
  7314  			iNdEx = preIndex
  7315  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
  7316  			if err != nil {
  7317  				return err
  7318  			}
  7319  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  7320  				return ErrInvalidLengthUnknonwnproto
  7321  			}
  7322  			if (iNdEx + skippy) > l {
  7323  				return io.ErrUnexpectedEOF
  7324  			}
  7325  			iNdEx += skippy
  7326  		}
  7327  	}
  7328  
  7329  	if iNdEx > l {
  7330  		return io.ErrUnexpectedEOF
  7331  	}
  7332  	return nil
  7333  }
  7334  func (m *Nested1A) Unmarshal(dAtA []byte) error {
  7335  	l := len(dAtA)
  7336  	iNdEx := 0
  7337  	for iNdEx < l {
  7338  		preIndex := iNdEx
  7339  		var wire uint64
  7340  		for shift := uint(0); ; shift += 7 {
  7341  			if shift >= 64 {
  7342  				return ErrIntOverflowUnknonwnproto
  7343  			}
  7344  			if iNdEx >= l {
  7345  				return io.ErrUnexpectedEOF
  7346  			}
  7347  			b := dAtA[iNdEx]
  7348  			iNdEx++
  7349  			wire |= uint64(b&0x7F) << shift
  7350  			if b < 0x80 {
  7351  				break
  7352  			}
  7353  		}
  7354  		fieldNum := int32(wire >> 3)
  7355  		wireType := int(wire & 0x7)
  7356  		if wireType == 4 {
  7357  			return fmt.Errorf("proto: Nested1A: wiretype end group for non-group")
  7358  		}
  7359  		if fieldNum <= 0 {
  7360  			return fmt.Errorf("proto: Nested1A: illegal tag %d (wire type %d)", fieldNum, wire)
  7361  		}
  7362  		switch fieldNum {
  7363  		case 1:
  7364  			if wireType != 0 {
  7365  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  7366  			}
  7367  			m.Id = 0
  7368  			for shift := uint(0); ; shift += 7 {
  7369  				if shift >= 64 {
  7370  					return ErrIntOverflowUnknonwnproto
  7371  				}
  7372  				if iNdEx >= l {
  7373  					return io.ErrUnexpectedEOF
  7374  				}
  7375  				b := dAtA[iNdEx]
  7376  				iNdEx++
  7377  				m.Id |= int32(b&0x7F) << shift
  7378  				if b < 0x80 {
  7379  					break
  7380  				}
  7381  			}
  7382  		case 2:
  7383  			if wireType != 2 {
  7384  				return fmt.Errorf("proto: wrong wireType = %d for field Nested", wireType)
  7385  			}
  7386  			var msglen int
  7387  			for shift := uint(0); ; shift += 7 {
  7388  				if shift >= 64 {
  7389  					return ErrIntOverflowUnknonwnproto
  7390  				}
  7391  				if iNdEx >= l {
  7392  					return io.ErrUnexpectedEOF
  7393  				}
  7394  				b := dAtA[iNdEx]
  7395  				iNdEx++
  7396  				msglen |= int(b&0x7F) << shift
  7397  				if b < 0x80 {
  7398  					break
  7399  				}
  7400  			}
  7401  			if msglen < 0 {
  7402  				return ErrInvalidLengthUnknonwnproto
  7403  			}
  7404  			postIndex := iNdEx + msglen
  7405  			if postIndex < 0 {
  7406  				return ErrInvalidLengthUnknonwnproto
  7407  			}
  7408  			if postIndex > l {
  7409  				return io.ErrUnexpectedEOF
  7410  			}
  7411  			if m.Nested == nil {
  7412  				m.Nested = &Nested2A{}
  7413  			}
  7414  			if err := m.Nested.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7415  				return err
  7416  			}
  7417  			iNdEx = postIndex
  7418  		default:
  7419  			iNdEx = preIndex
  7420  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
  7421  			if err != nil {
  7422  				return err
  7423  			}
  7424  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  7425  				return ErrInvalidLengthUnknonwnproto
  7426  			}
  7427  			if (iNdEx + skippy) > l {
  7428  				return io.ErrUnexpectedEOF
  7429  			}
  7430  			iNdEx += skippy
  7431  		}
  7432  	}
  7433  
  7434  	if iNdEx > l {
  7435  		return io.ErrUnexpectedEOF
  7436  	}
  7437  	return nil
  7438  }
  7439  func (m *Nested4B) Unmarshal(dAtA []byte) error {
  7440  	l := len(dAtA)
  7441  	iNdEx := 0
  7442  	for iNdEx < l {
  7443  		preIndex := iNdEx
  7444  		var wire uint64
  7445  		for shift := uint(0); ; shift += 7 {
  7446  			if shift >= 64 {
  7447  				return ErrIntOverflowUnknonwnproto
  7448  			}
  7449  			if iNdEx >= l {
  7450  				return io.ErrUnexpectedEOF
  7451  			}
  7452  			b := dAtA[iNdEx]
  7453  			iNdEx++
  7454  			wire |= uint64(b&0x7F) << shift
  7455  			if b < 0x80 {
  7456  				break
  7457  			}
  7458  		}
  7459  		fieldNum := int32(wire >> 3)
  7460  		wireType := int(wire & 0x7)
  7461  		if wireType == 4 {
  7462  			return fmt.Errorf("proto: Nested4B: wiretype end group for non-group")
  7463  		}
  7464  		if fieldNum <= 0 {
  7465  			return fmt.Errorf("proto: Nested4B: illegal tag %d (wire type %d)", fieldNum, wire)
  7466  		}
  7467  		switch fieldNum {
  7468  		case 1:
  7469  			if wireType != 0 {
  7470  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  7471  			}
  7472  			m.Id = 0
  7473  			for shift := uint(0); ; shift += 7 {
  7474  				if shift >= 64 {
  7475  					return ErrIntOverflowUnknonwnproto
  7476  				}
  7477  				if iNdEx >= l {
  7478  					return io.ErrUnexpectedEOF
  7479  				}
  7480  				b := dAtA[iNdEx]
  7481  				iNdEx++
  7482  				m.Id |= int32(b&0x7F) << shift
  7483  				if b < 0x80 {
  7484  					break
  7485  				}
  7486  			}
  7487  		case 2:
  7488  			if wireType != 0 {
  7489  				return fmt.Errorf("proto: wrong wireType = %d for field Age", wireType)
  7490  			}
  7491  			m.Age = 0
  7492  			for shift := uint(0); ; shift += 7 {
  7493  				if shift >= 64 {
  7494  					return ErrIntOverflowUnknonwnproto
  7495  				}
  7496  				if iNdEx >= l {
  7497  					return io.ErrUnexpectedEOF
  7498  				}
  7499  				b := dAtA[iNdEx]
  7500  				iNdEx++
  7501  				m.Age |= int32(b&0x7F) << shift
  7502  				if b < 0x80 {
  7503  					break
  7504  				}
  7505  			}
  7506  		case 3:
  7507  			if wireType != 2 {
  7508  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  7509  			}
  7510  			var stringLen uint64
  7511  			for shift := uint(0); ; shift += 7 {
  7512  				if shift >= 64 {
  7513  					return ErrIntOverflowUnknonwnproto
  7514  				}
  7515  				if iNdEx >= l {
  7516  					return io.ErrUnexpectedEOF
  7517  				}
  7518  				b := dAtA[iNdEx]
  7519  				iNdEx++
  7520  				stringLen |= uint64(b&0x7F) << shift
  7521  				if b < 0x80 {
  7522  					break
  7523  				}
  7524  			}
  7525  			intStringLen := int(stringLen)
  7526  			if intStringLen < 0 {
  7527  				return ErrInvalidLengthUnknonwnproto
  7528  			}
  7529  			postIndex := iNdEx + intStringLen
  7530  			if postIndex < 0 {
  7531  				return ErrInvalidLengthUnknonwnproto
  7532  			}
  7533  			if postIndex > l {
  7534  				return io.ErrUnexpectedEOF
  7535  			}
  7536  			m.Name = string(dAtA[iNdEx:postIndex])
  7537  			iNdEx = postIndex
  7538  		default:
  7539  			iNdEx = preIndex
  7540  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
  7541  			if err != nil {
  7542  				return err
  7543  			}
  7544  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  7545  				return ErrInvalidLengthUnknonwnproto
  7546  			}
  7547  			if (iNdEx + skippy) > l {
  7548  				return io.ErrUnexpectedEOF
  7549  			}
  7550  			iNdEx += skippy
  7551  		}
  7552  	}
  7553  
  7554  	if iNdEx > l {
  7555  		return io.ErrUnexpectedEOF
  7556  	}
  7557  	return nil
  7558  }
  7559  func (m *Nested3B) Unmarshal(dAtA []byte) error {
  7560  	l := len(dAtA)
  7561  	iNdEx := 0
  7562  	for iNdEx < l {
  7563  		preIndex := iNdEx
  7564  		var wire uint64
  7565  		for shift := uint(0); ; shift += 7 {
  7566  			if shift >= 64 {
  7567  				return ErrIntOverflowUnknonwnproto
  7568  			}
  7569  			if iNdEx >= l {
  7570  				return io.ErrUnexpectedEOF
  7571  			}
  7572  			b := dAtA[iNdEx]
  7573  			iNdEx++
  7574  			wire |= uint64(b&0x7F) << shift
  7575  			if b < 0x80 {
  7576  				break
  7577  			}
  7578  		}
  7579  		fieldNum := int32(wire >> 3)
  7580  		wireType := int(wire & 0x7)
  7581  		if wireType == 4 {
  7582  			return fmt.Errorf("proto: Nested3B: wiretype end group for non-group")
  7583  		}
  7584  		if fieldNum <= 0 {
  7585  			return fmt.Errorf("proto: Nested3B: illegal tag %d (wire type %d)", fieldNum, wire)
  7586  		}
  7587  		switch fieldNum {
  7588  		case 1:
  7589  			if wireType != 0 {
  7590  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  7591  			}
  7592  			m.Id = 0
  7593  			for shift := uint(0); ; shift += 7 {
  7594  				if shift >= 64 {
  7595  					return ErrIntOverflowUnknonwnproto
  7596  				}
  7597  				if iNdEx >= l {
  7598  					return io.ErrUnexpectedEOF
  7599  				}
  7600  				b := dAtA[iNdEx]
  7601  				iNdEx++
  7602  				m.Id |= int32(b&0x7F) << shift
  7603  				if b < 0x80 {
  7604  					break
  7605  				}
  7606  			}
  7607  		case 2:
  7608  			if wireType != 0 {
  7609  				return fmt.Errorf("proto: wrong wireType = %d for field Age", wireType)
  7610  			}
  7611  			m.Age = 0
  7612  			for shift := uint(0); ; shift += 7 {
  7613  				if shift >= 64 {
  7614  					return ErrIntOverflowUnknonwnproto
  7615  				}
  7616  				if iNdEx >= l {
  7617  					return io.ErrUnexpectedEOF
  7618  				}
  7619  				b := dAtA[iNdEx]
  7620  				iNdEx++
  7621  				m.Age |= int32(b&0x7F) << shift
  7622  				if b < 0x80 {
  7623  					break
  7624  				}
  7625  			}
  7626  		case 3:
  7627  			if wireType != 2 {
  7628  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  7629  			}
  7630  			var stringLen uint64
  7631  			for shift := uint(0); ; shift += 7 {
  7632  				if shift >= 64 {
  7633  					return ErrIntOverflowUnknonwnproto
  7634  				}
  7635  				if iNdEx >= l {
  7636  					return io.ErrUnexpectedEOF
  7637  				}
  7638  				b := dAtA[iNdEx]
  7639  				iNdEx++
  7640  				stringLen |= uint64(b&0x7F) << shift
  7641  				if b < 0x80 {
  7642  					break
  7643  				}
  7644  			}
  7645  			intStringLen := int(stringLen)
  7646  			if intStringLen < 0 {
  7647  				return ErrInvalidLengthUnknonwnproto
  7648  			}
  7649  			postIndex := iNdEx + intStringLen
  7650  			if postIndex < 0 {
  7651  				return ErrInvalidLengthUnknonwnproto
  7652  			}
  7653  			if postIndex > l {
  7654  				return io.ErrUnexpectedEOF
  7655  			}
  7656  			m.Name = string(dAtA[iNdEx:postIndex])
  7657  			iNdEx = postIndex
  7658  		case 4:
  7659  			if wireType != 2 {
  7660  				return fmt.Errorf("proto: wrong wireType = %d for field B4", wireType)
  7661  			}
  7662  			var msglen int
  7663  			for shift := uint(0); ; shift += 7 {
  7664  				if shift >= 64 {
  7665  					return ErrIntOverflowUnknonwnproto
  7666  				}
  7667  				if iNdEx >= l {
  7668  					return io.ErrUnexpectedEOF
  7669  				}
  7670  				b := dAtA[iNdEx]
  7671  				iNdEx++
  7672  				msglen |= int(b&0x7F) << shift
  7673  				if b < 0x80 {
  7674  					break
  7675  				}
  7676  			}
  7677  			if msglen < 0 {
  7678  				return ErrInvalidLengthUnknonwnproto
  7679  			}
  7680  			postIndex := iNdEx + msglen
  7681  			if postIndex < 0 {
  7682  				return ErrInvalidLengthUnknonwnproto
  7683  			}
  7684  			if postIndex > l {
  7685  				return io.ErrUnexpectedEOF
  7686  			}
  7687  			m.B4 = append(m.B4, &Nested4B{})
  7688  			if err := m.B4[len(m.B4)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7689  				return err
  7690  			}
  7691  			iNdEx = postIndex
  7692  		default:
  7693  			iNdEx = preIndex
  7694  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
  7695  			if err != nil {
  7696  				return err
  7697  			}
  7698  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  7699  				return ErrInvalidLengthUnknonwnproto
  7700  			}
  7701  			if (iNdEx + skippy) > l {
  7702  				return io.ErrUnexpectedEOF
  7703  			}
  7704  			iNdEx += skippy
  7705  		}
  7706  	}
  7707  
  7708  	if iNdEx > l {
  7709  		return io.ErrUnexpectedEOF
  7710  	}
  7711  	return nil
  7712  }
  7713  func (m *Nested2B) Unmarshal(dAtA []byte) error {
  7714  	l := len(dAtA)
  7715  	iNdEx := 0
  7716  	for iNdEx < l {
  7717  		preIndex := iNdEx
  7718  		var wire uint64
  7719  		for shift := uint(0); ; shift += 7 {
  7720  			if shift >= 64 {
  7721  				return ErrIntOverflowUnknonwnproto
  7722  			}
  7723  			if iNdEx >= l {
  7724  				return io.ErrUnexpectedEOF
  7725  			}
  7726  			b := dAtA[iNdEx]
  7727  			iNdEx++
  7728  			wire |= uint64(b&0x7F) << shift
  7729  			if b < 0x80 {
  7730  				break
  7731  			}
  7732  		}
  7733  		fieldNum := int32(wire >> 3)
  7734  		wireType := int(wire & 0x7)
  7735  		if wireType == 4 {
  7736  			return fmt.Errorf("proto: Nested2B: wiretype end group for non-group")
  7737  		}
  7738  		if fieldNum <= 0 {
  7739  			return fmt.Errorf("proto: Nested2B: illegal tag %d (wire type %d)", fieldNum, wire)
  7740  		}
  7741  		switch fieldNum {
  7742  		case 1:
  7743  			if wireType != 0 {
  7744  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  7745  			}
  7746  			m.Id = 0
  7747  			for shift := uint(0); ; shift += 7 {
  7748  				if shift >= 64 {
  7749  					return ErrIntOverflowUnknonwnproto
  7750  				}
  7751  				if iNdEx >= l {
  7752  					return io.ErrUnexpectedEOF
  7753  				}
  7754  				b := dAtA[iNdEx]
  7755  				iNdEx++
  7756  				m.Id |= int32(b&0x7F) << shift
  7757  				if b < 0x80 {
  7758  					break
  7759  				}
  7760  			}
  7761  		case 2:
  7762  			if wireType != 1 {
  7763  				return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType)
  7764  			}
  7765  			var v uint64
  7766  			if (iNdEx + 8) > l {
  7767  				return io.ErrUnexpectedEOF
  7768  			}
  7769  			v = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  7770  			iNdEx += 8
  7771  			m.Fee = float64(math.Float64frombits(v))
  7772  		case 3:
  7773  			if wireType != 2 {
  7774  				return fmt.Errorf("proto: wrong wireType = %d for field Nested", wireType)
  7775  			}
  7776  			var msglen int
  7777  			for shift := uint(0); ; shift += 7 {
  7778  				if shift >= 64 {
  7779  					return ErrIntOverflowUnknonwnproto
  7780  				}
  7781  				if iNdEx >= l {
  7782  					return io.ErrUnexpectedEOF
  7783  				}
  7784  				b := dAtA[iNdEx]
  7785  				iNdEx++
  7786  				msglen |= int(b&0x7F) << shift
  7787  				if b < 0x80 {
  7788  					break
  7789  				}
  7790  			}
  7791  			if msglen < 0 {
  7792  				return ErrInvalidLengthUnknonwnproto
  7793  			}
  7794  			postIndex := iNdEx + msglen
  7795  			if postIndex < 0 {
  7796  				return ErrInvalidLengthUnknonwnproto
  7797  			}
  7798  			if postIndex > l {
  7799  				return io.ErrUnexpectedEOF
  7800  			}
  7801  			if m.Nested == nil {
  7802  				m.Nested = &Nested3B{}
  7803  			}
  7804  			if err := m.Nested.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7805  				return err
  7806  			}
  7807  			iNdEx = postIndex
  7808  		case 4:
  7809  			if wireType != 2 {
  7810  				return fmt.Errorf("proto: wrong wireType = %d for field Route", wireType)
  7811  			}
  7812  			var stringLen uint64
  7813  			for shift := uint(0); ; shift += 7 {
  7814  				if shift >= 64 {
  7815  					return ErrIntOverflowUnknonwnproto
  7816  				}
  7817  				if iNdEx >= l {
  7818  					return io.ErrUnexpectedEOF
  7819  				}
  7820  				b := dAtA[iNdEx]
  7821  				iNdEx++
  7822  				stringLen |= uint64(b&0x7F) << shift
  7823  				if b < 0x80 {
  7824  					break
  7825  				}
  7826  			}
  7827  			intStringLen := int(stringLen)
  7828  			if intStringLen < 0 {
  7829  				return ErrInvalidLengthUnknonwnproto
  7830  			}
  7831  			postIndex := iNdEx + intStringLen
  7832  			if postIndex < 0 {
  7833  				return ErrInvalidLengthUnknonwnproto
  7834  			}
  7835  			if postIndex > l {
  7836  				return io.ErrUnexpectedEOF
  7837  			}
  7838  			m.Route = string(dAtA[iNdEx:postIndex])
  7839  			iNdEx = postIndex
  7840  		default:
  7841  			iNdEx = preIndex
  7842  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
  7843  			if err != nil {
  7844  				return err
  7845  			}
  7846  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  7847  				return ErrInvalidLengthUnknonwnproto
  7848  			}
  7849  			if (iNdEx + skippy) > l {
  7850  				return io.ErrUnexpectedEOF
  7851  			}
  7852  			iNdEx += skippy
  7853  		}
  7854  	}
  7855  
  7856  	if iNdEx > l {
  7857  		return io.ErrUnexpectedEOF
  7858  	}
  7859  	return nil
  7860  }
  7861  func (m *Nested1B) Unmarshal(dAtA []byte) error {
  7862  	l := len(dAtA)
  7863  	iNdEx := 0
  7864  	for iNdEx < l {
  7865  		preIndex := iNdEx
  7866  		var wire uint64
  7867  		for shift := uint(0); ; shift += 7 {
  7868  			if shift >= 64 {
  7869  				return ErrIntOverflowUnknonwnproto
  7870  			}
  7871  			if iNdEx >= l {
  7872  				return io.ErrUnexpectedEOF
  7873  			}
  7874  			b := dAtA[iNdEx]
  7875  			iNdEx++
  7876  			wire |= uint64(b&0x7F) << shift
  7877  			if b < 0x80 {
  7878  				break
  7879  			}
  7880  		}
  7881  		fieldNum := int32(wire >> 3)
  7882  		wireType := int(wire & 0x7)
  7883  		if wireType == 4 {
  7884  			return fmt.Errorf("proto: Nested1B: wiretype end group for non-group")
  7885  		}
  7886  		if fieldNum <= 0 {
  7887  			return fmt.Errorf("proto: Nested1B: illegal tag %d (wire type %d)", fieldNum, wire)
  7888  		}
  7889  		switch fieldNum {
  7890  		case 1:
  7891  			if wireType != 0 {
  7892  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  7893  			}
  7894  			m.Id = 0
  7895  			for shift := uint(0); ; shift += 7 {
  7896  				if shift >= 64 {
  7897  					return ErrIntOverflowUnknonwnproto
  7898  				}
  7899  				if iNdEx >= l {
  7900  					return io.ErrUnexpectedEOF
  7901  				}
  7902  				b := dAtA[iNdEx]
  7903  				iNdEx++
  7904  				m.Id |= int32(b&0x7F) << shift
  7905  				if b < 0x80 {
  7906  					break
  7907  				}
  7908  			}
  7909  		case 2:
  7910  			if wireType != 2 {
  7911  				return fmt.Errorf("proto: wrong wireType = %d for field Nested", wireType)
  7912  			}
  7913  			var msglen int
  7914  			for shift := uint(0); ; shift += 7 {
  7915  				if shift >= 64 {
  7916  					return ErrIntOverflowUnknonwnproto
  7917  				}
  7918  				if iNdEx >= l {
  7919  					return io.ErrUnexpectedEOF
  7920  				}
  7921  				b := dAtA[iNdEx]
  7922  				iNdEx++
  7923  				msglen |= int(b&0x7F) << shift
  7924  				if b < 0x80 {
  7925  					break
  7926  				}
  7927  			}
  7928  			if msglen < 0 {
  7929  				return ErrInvalidLengthUnknonwnproto
  7930  			}
  7931  			postIndex := iNdEx + msglen
  7932  			if postIndex < 0 {
  7933  				return ErrInvalidLengthUnknonwnproto
  7934  			}
  7935  			if postIndex > l {
  7936  				return io.ErrUnexpectedEOF
  7937  			}
  7938  			if m.Nested == nil {
  7939  				m.Nested = &Nested2B{}
  7940  			}
  7941  			if err := m.Nested.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  7942  				return err
  7943  			}
  7944  			iNdEx = postIndex
  7945  		case 3:
  7946  			if wireType != 0 {
  7947  				return fmt.Errorf("proto: wrong wireType = %d for field Age", wireType)
  7948  			}
  7949  			m.Age = 0
  7950  			for shift := uint(0); ; shift += 7 {
  7951  				if shift >= 64 {
  7952  					return ErrIntOverflowUnknonwnproto
  7953  				}
  7954  				if iNdEx >= l {
  7955  					return io.ErrUnexpectedEOF
  7956  				}
  7957  				b := dAtA[iNdEx]
  7958  				iNdEx++
  7959  				m.Age |= int32(b&0x7F) << shift
  7960  				if b < 0x80 {
  7961  					break
  7962  				}
  7963  			}
  7964  		default:
  7965  			iNdEx = preIndex
  7966  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
  7967  			if err != nil {
  7968  				return err
  7969  			}
  7970  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  7971  				return ErrInvalidLengthUnknonwnproto
  7972  			}
  7973  			if (iNdEx + skippy) > l {
  7974  				return io.ErrUnexpectedEOF
  7975  			}
  7976  			iNdEx += skippy
  7977  		}
  7978  	}
  7979  
  7980  	if iNdEx > l {
  7981  		return io.ErrUnexpectedEOF
  7982  	}
  7983  	return nil
  7984  }
  7985  func (m *Customer3) Unmarshal(dAtA []byte) error {
  7986  	l := len(dAtA)
  7987  	iNdEx := 0
  7988  	for iNdEx < l {
  7989  		preIndex := iNdEx
  7990  		var wire uint64
  7991  		for shift := uint(0); ; shift += 7 {
  7992  			if shift >= 64 {
  7993  				return ErrIntOverflowUnknonwnproto
  7994  			}
  7995  			if iNdEx >= l {
  7996  				return io.ErrUnexpectedEOF
  7997  			}
  7998  			b := dAtA[iNdEx]
  7999  			iNdEx++
  8000  			wire |= uint64(b&0x7F) << shift
  8001  			if b < 0x80 {
  8002  				break
  8003  			}
  8004  		}
  8005  		fieldNum := int32(wire >> 3)
  8006  		wireType := int(wire & 0x7)
  8007  		if wireType == 4 {
  8008  			return fmt.Errorf("proto: Customer3: wiretype end group for non-group")
  8009  		}
  8010  		if fieldNum <= 0 {
  8011  			return fmt.Errorf("proto: Customer3: illegal tag %d (wire type %d)", fieldNum, wire)
  8012  		}
  8013  		switch fieldNum {
  8014  		case 1:
  8015  			if wireType != 0 {
  8016  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
  8017  			}
  8018  			m.Id = 0
  8019  			for shift := uint(0); ; shift += 7 {
  8020  				if shift >= 64 {
  8021  					return ErrIntOverflowUnknonwnproto
  8022  				}
  8023  				if iNdEx >= l {
  8024  					return io.ErrUnexpectedEOF
  8025  				}
  8026  				b := dAtA[iNdEx]
  8027  				iNdEx++
  8028  				m.Id |= int32(b&0x7F) << shift
  8029  				if b < 0x80 {
  8030  					break
  8031  				}
  8032  			}
  8033  		case 2:
  8034  			if wireType != 2 {
  8035  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  8036  			}
  8037  			var stringLen uint64
  8038  			for shift := uint(0); ; shift += 7 {
  8039  				if shift >= 64 {
  8040  					return ErrIntOverflowUnknonwnproto
  8041  				}
  8042  				if iNdEx >= l {
  8043  					return io.ErrUnexpectedEOF
  8044  				}
  8045  				b := dAtA[iNdEx]
  8046  				iNdEx++
  8047  				stringLen |= uint64(b&0x7F) << shift
  8048  				if b < 0x80 {
  8049  					break
  8050  				}
  8051  			}
  8052  			intStringLen := int(stringLen)
  8053  			if intStringLen < 0 {
  8054  				return ErrInvalidLengthUnknonwnproto
  8055  			}
  8056  			postIndex := iNdEx + intStringLen
  8057  			if postIndex < 0 {
  8058  				return ErrInvalidLengthUnknonwnproto
  8059  			}
  8060  			if postIndex > l {
  8061  				return io.ErrUnexpectedEOF
  8062  			}
  8063  			m.Name = string(dAtA[iNdEx:postIndex])
  8064  			iNdEx = postIndex
  8065  		case 3:
  8066  			if wireType != 5 {
  8067  				return fmt.Errorf("proto: wrong wireType = %d for field Sf", wireType)
  8068  			}
  8069  			var v uint32
  8070  			if (iNdEx + 4) > l {
  8071  				return io.ErrUnexpectedEOF
  8072  			}
  8073  			v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  8074  			iNdEx += 4
  8075  			m.Sf = float32(math.Float32frombits(v))
  8076  		case 4:
  8077  			if wireType != 5 {
  8078  				return fmt.Errorf("proto: wrong wireType = %d for field Surcharge", wireType)
  8079  			}
  8080  			var v uint32
  8081  			if (iNdEx + 4) > l {
  8082  				return io.ErrUnexpectedEOF
  8083  			}
  8084  			v = uint32(encoding_binary.LittleEndian.Uint32(dAtA[iNdEx:]))
  8085  			iNdEx += 4
  8086  			m.Surcharge = float32(math.Float32frombits(v))
  8087  		case 5:
  8088  			if wireType != 2 {
  8089  				return fmt.Errorf("proto: wrong wireType = %d for field Destination", wireType)
  8090  			}
  8091  			var stringLen uint64
  8092  			for shift := uint(0); ; shift += 7 {
  8093  				if shift >= 64 {
  8094  					return ErrIntOverflowUnknonwnproto
  8095  				}
  8096  				if iNdEx >= l {
  8097  					return io.ErrUnexpectedEOF
  8098  				}
  8099  				b := dAtA[iNdEx]
  8100  				iNdEx++
  8101  				stringLen |= uint64(b&0x7F) << shift
  8102  				if b < 0x80 {
  8103  					break
  8104  				}
  8105  			}
  8106  			intStringLen := int(stringLen)
  8107  			if intStringLen < 0 {
  8108  				return ErrInvalidLengthUnknonwnproto
  8109  			}
  8110  			postIndex := iNdEx + intStringLen
  8111  			if postIndex < 0 {
  8112  				return ErrInvalidLengthUnknonwnproto
  8113  			}
  8114  			if postIndex > l {
  8115  				return io.ErrUnexpectedEOF
  8116  			}
  8117  			m.Destination = string(dAtA[iNdEx:postIndex])
  8118  			iNdEx = postIndex
  8119  		case 7:
  8120  			if wireType != 2 {
  8121  				return fmt.Errorf("proto: wrong wireType = %d for field CreditCardNo", wireType)
  8122  			}
  8123  			var stringLen uint64
  8124  			for shift := uint(0); ; shift += 7 {
  8125  				if shift >= 64 {
  8126  					return ErrIntOverflowUnknonwnproto
  8127  				}
  8128  				if iNdEx >= l {
  8129  					return io.ErrUnexpectedEOF
  8130  				}
  8131  				b := dAtA[iNdEx]
  8132  				iNdEx++
  8133  				stringLen |= uint64(b&0x7F) << shift
  8134  				if b < 0x80 {
  8135  					break
  8136  				}
  8137  			}
  8138  			intStringLen := int(stringLen)
  8139  			if intStringLen < 0 {
  8140  				return ErrInvalidLengthUnknonwnproto
  8141  			}
  8142  			postIndex := iNdEx + intStringLen
  8143  			if postIndex < 0 {
  8144  				return ErrInvalidLengthUnknonwnproto
  8145  			}
  8146  			if postIndex > l {
  8147  				return io.ErrUnexpectedEOF
  8148  			}
  8149  			m.Payment = &Customer3_CreditCardNo{string(dAtA[iNdEx:postIndex])}
  8150  			iNdEx = postIndex
  8151  		case 8:
  8152  			if wireType != 2 {
  8153  				return fmt.Errorf("proto: wrong wireType = %d for field ChequeNo", wireType)
  8154  			}
  8155  			var stringLen uint64
  8156  			for shift := uint(0); ; shift += 7 {
  8157  				if shift >= 64 {
  8158  					return ErrIntOverflowUnknonwnproto
  8159  				}
  8160  				if iNdEx >= l {
  8161  					return io.ErrUnexpectedEOF
  8162  				}
  8163  				b := dAtA[iNdEx]
  8164  				iNdEx++
  8165  				stringLen |= uint64(b&0x7F) << shift
  8166  				if b < 0x80 {
  8167  					break
  8168  				}
  8169  			}
  8170  			intStringLen := int(stringLen)
  8171  			if intStringLen < 0 {
  8172  				return ErrInvalidLengthUnknonwnproto
  8173  			}
  8174  			postIndex := iNdEx + intStringLen
  8175  			if postIndex < 0 {
  8176  				return ErrInvalidLengthUnknonwnproto
  8177  			}
  8178  			if postIndex > l {
  8179  				return io.ErrUnexpectedEOF
  8180  			}
  8181  			m.Payment = &Customer3_ChequeNo{string(dAtA[iNdEx:postIndex])}
  8182  			iNdEx = postIndex
  8183  		case 9:
  8184  			if wireType != 2 {
  8185  				return fmt.Errorf("proto: wrong wireType = %d for field Original", wireType)
  8186  			}
  8187  			var msglen int
  8188  			for shift := uint(0); ; shift += 7 {
  8189  				if shift >= 64 {
  8190  					return ErrIntOverflowUnknonwnproto
  8191  				}
  8192  				if iNdEx >= l {
  8193  					return io.ErrUnexpectedEOF
  8194  				}
  8195  				b := dAtA[iNdEx]
  8196  				iNdEx++
  8197  				msglen |= int(b&0x7F) << shift
  8198  				if b < 0x80 {
  8199  					break
  8200  				}
  8201  			}
  8202  			if msglen < 0 {
  8203  				return ErrInvalidLengthUnknonwnproto
  8204  			}
  8205  			postIndex := iNdEx + msglen
  8206  			if postIndex < 0 {
  8207  				return ErrInvalidLengthUnknonwnproto
  8208  			}
  8209  			if postIndex > l {
  8210  				return io.ErrUnexpectedEOF
  8211  			}
  8212  			if m.Original == nil {
  8213  				m.Original = &Customer1{}
  8214  			}
  8215  			if err := m.Original.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8216  				return err
  8217  			}
  8218  			iNdEx = postIndex
  8219  		default:
  8220  			iNdEx = preIndex
  8221  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
  8222  			if err != nil {
  8223  				return err
  8224  			}
  8225  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  8226  				return ErrInvalidLengthUnknonwnproto
  8227  			}
  8228  			if (iNdEx + skippy) > l {
  8229  				return io.ErrUnexpectedEOF
  8230  			}
  8231  			iNdEx += skippy
  8232  		}
  8233  	}
  8234  
  8235  	if iNdEx > l {
  8236  		return io.ErrUnexpectedEOF
  8237  	}
  8238  	return nil
  8239  }
  8240  func (m *TestVersion1) Unmarshal(dAtA []byte) error {
  8241  	l := len(dAtA)
  8242  	iNdEx := 0
  8243  	for iNdEx < l {
  8244  		preIndex := iNdEx
  8245  		var wire uint64
  8246  		for shift := uint(0); ; shift += 7 {
  8247  			if shift >= 64 {
  8248  				return ErrIntOverflowUnknonwnproto
  8249  			}
  8250  			if iNdEx >= l {
  8251  				return io.ErrUnexpectedEOF
  8252  			}
  8253  			b := dAtA[iNdEx]
  8254  			iNdEx++
  8255  			wire |= uint64(b&0x7F) << shift
  8256  			if b < 0x80 {
  8257  				break
  8258  			}
  8259  		}
  8260  		fieldNum := int32(wire >> 3)
  8261  		wireType := int(wire & 0x7)
  8262  		if wireType == 4 {
  8263  			return fmt.Errorf("proto: TestVersion1: wiretype end group for non-group")
  8264  		}
  8265  		if fieldNum <= 0 {
  8266  			return fmt.Errorf("proto: TestVersion1: illegal tag %d (wire type %d)", fieldNum, wire)
  8267  		}
  8268  		switch fieldNum {
  8269  		case 1:
  8270  			if wireType != 0 {
  8271  				return fmt.Errorf("proto: wrong wireType = %d for field X", wireType)
  8272  			}
  8273  			m.X = 0
  8274  			for shift := uint(0); ; shift += 7 {
  8275  				if shift >= 64 {
  8276  					return ErrIntOverflowUnknonwnproto
  8277  				}
  8278  				if iNdEx >= l {
  8279  					return io.ErrUnexpectedEOF
  8280  				}
  8281  				b := dAtA[iNdEx]
  8282  				iNdEx++
  8283  				m.X |= int64(b&0x7F) << shift
  8284  				if b < 0x80 {
  8285  					break
  8286  				}
  8287  			}
  8288  		case 2:
  8289  			if wireType != 2 {
  8290  				return fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
  8291  			}
  8292  			var msglen int
  8293  			for shift := uint(0); ; shift += 7 {
  8294  				if shift >= 64 {
  8295  					return ErrIntOverflowUnknonwnproto
  8296  				}
  8297  				if iNdEx >= l {
  8298  					return io.ErrUnexpectedEOF
  8299  				}
  8300  				b := dAtA[iNdEx]
  8301  				iNdEx++
  8302  				msglen |= int(b&0x7F) << shift
  8303  				if b < 0x80 {
  8304  					break
  8305  				}
  8306  			}
  8307  			if msglen < 0 {
  8308  				return ErrInvalidLengthUnknonwnproto
  8309  			}
  8310  			postIndex := iNdEx + msglen
  8311  			if postIndex < 0 {
  8312  				return ErrInvalidLengthUnknonwnproto
  8313  			}
  8314  			if postIndex > l {
  8315  				return io.ErrUnexpectedEOF
  8316  			}
  8317  			if m.A == nil {
  8318  				m.A = &TestVersion1{}
  8319  			}
  8320  			if err := m.A.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8321  				return err
  8322  			}
  8323  			iNdEx = postIndex
  8324  		case 3:
  8325  			if wireType != 2 {
  8326  				return fmt.Errorf("proto: wrong wireType = %d for field B", wireType)
  8327  			}
  8328  			var msglen int
  8329  			for shift := uint(0); ; shift += 7 {
  8330  				if shift >= 64 {
  8331  					return ErrIntOverflowUnknonwnproto
  8332  				}
  8333  				if iNdEx >= l {
  8334  					return io.ErrUnexpectedEOF
  8335  				}
  8336  				b := dAtA[iNdEx]
  8337  				iNdEx++
  8338  				msglen |= int(b&0x7F) << shift
  8339  				if b < 0x80 {
  8340  					break
  8341  				}
  8342  			}
  8343  			if msglen < 0 {
  8344  				return ErrInvalidLengthUnknonwnproto
  8345  			}
  8346  			postIndex := iNdEx + msglen
  8347  			if postIndex < 0 {
  8348  				return ErrInvalidLengthUnknonwnproto
  8349  			}
  8350  			if postIndex > l {
  8351  				return io.ErrUnexpectedEOF
  8352  			}
  8353  			if m.B == nil {
  8354  				m.B = &TestVersion1{}
  8355  			}
  8356  			if err := m.B.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8357  				return err
  8358  			}
  8359  			iNdEx = postIndex
  8360  		case 4:
  8361  			if wireType != 2 {
  8362  				return fmt.Errorf("proto: wrong wireType = %d for field C", wireType)
  8363  			}
  8364  			var msglen int
  8365  			for shift := uint(0); ; shift += 7 {
  8366  				if shift >= 64 {
  8367  					return ErrIntOverflowUnknonwnproto
  8368  				}
  8369  				if iNdEx >= l {
  8370  					return io.ErrUnexpectedEOF
  8371  				}
  8372  				b := dAtA[iNdEx]
  8373  				iNdEx++
  8374  				msglen |= int(b&0x7F) << shift
  8375  				if b < 0x80 {
  8376  					break
  8377  				}
  8378  			}
  8379  			if msglen < 0 {
  8380  				return ErrInvalidLengthUnknonwnproto
  8381  			}
  8382  			postIndex := iNdEx + msglen
  8383  			if postIndex < 0 {
  8384  				return ErrInvalidLengthUnknonwnproto
  8385  			}
  8386  			if postIndex > l {
  8387  				return io.ErrUnexpectedEOF
  8388  			}
  8389  			m.C = append(m.C, &TestVersion1{})
  8390  			if err := m.C[len(m.C)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8391  				return err
  8392  			}
  8393  			iNdEx = postIndex
  8394  		case 5:
  8395  			if wireType != 2 {
  8396  				return fmt.Errorf("proto: wrong wireType = %d for field D", wireType)
  8397  			}
  8398  			var msglen int
  8399  			for shift := uint(0); ; shift += 7 {
  8400  				if shift >= 64 {
  8401  					return ErrIntOverflowUnknonwnproto
  8402  				}
  8403  				if iNdEx >= l {
  8404  					return io.ErrUnexpectedEOF
  8405  				}
  8406  				b := dAtA[iNdEx]
  8407  				iNdEx++
  8408  				msglen |= int(b&0x7F) << shift
  8409  				if b < 0x80 {
  8410  					break
  8411  				}
  8412  			}
  8413  			if msglen < 0 {
  8414  				return ErrInvalidLengthUnknonwnproto
  8415  			}
  8416  			postIndex := iNdEx + msglen
  8417  			if postIndex < 0 {
  8418  				return ErrInvalidLengthUnknonwnproto
  8419  			}
  8420  			if postIndex > l {
  8421  				return io.ErrUnexpectedEOF
  8422  			}
  8423  			m.D = append(m.D, TestVersion1{})
  8424  			if err := m.D[len(m.D)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8425  				return err
  8426  			}
  8427  			iNdEx = postIndex
  8428  		case 6:
  8429  			if wireType != 0 {
  8430  				return fmt.Errorf("proto: wrong wireType = %d for field E", wireType)
  8431  			}
  8432  			var v int32
  8433  			for shift := uint(0); ; shift += 7 {
  8434  				if shift >= 64 {
  8435  					return ErrIntOverflowUnknonwnproto
  8436  				}
  8437  				if iNdEx >= l {
  8438  					return io.ErrUnexpectedEOF
  8439  				}
  8440  				b := dAtA[iNdEx]
  8441  				iNdEx++
  8442  				v |= int32(b&0x7F) << shift
  8443  				if b < 0x80 {
  8444  					break
  8445  				}
  8446  			}
  8447  			m.Sum = &TestVersion1_E{v}
  8448  		case 7:
  8449  			if wireType != 2 {
  8450  				return fmt.Errorf("proto: wrong wireType = %d for field F", wireType)
  8451  			}
  8452  			var msglen int
  8453  			for shift := uint(0); ; shift += 7 {
  8454  				if shift >= 64 {
  8455  					return ErrIntOverflowUnknonwnproto
  8456  				}
  8457  				if iNdEx >= l {
  8458  					return io.ErrUnexpectedEOF
  8459  				}
  8460  				b := dAtA[iNdEx]
  8461  				iNdEx++
  8462  				msglen |= int(b&0x7F) << shift
  8463  				if b < 0x80 {
  8464  					break
  8465  				}
  8466  			}
  8467  			if msglen < 0 {
  8468  				return ErrInvalidLengthUnknonwnproto
  8469  			}
  8470  			postIndex := iNdEx + msglen
  8471  			if postIndex < 0 {
  8472  				return ErrInvalidLengthUnknonwnproto
  8473  			}
  8474  			if postIndex > l {
  8475  				return io.ErrUnexpectedEOF
  8476  			}
  8477  			v := &TestVersion1{}
  8478  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8479  				return err
  8480  			}
  8481  			m.Sum = &TestVersion1_F{v}
  8482  			iNdEx = postIndex
  8483  		case 8:
  8484  			if wireType != 2 {
  8485  				return fmt.Errorf("proto: wrong wireType = %d for field G", wireType)
  8486  			}
  8487  			var msglen int
  8488  			for shift := uint(0); ; shift += 7 {
  8489  				if shift >= 64 {
  8490  					return ErrIntOverflowUnknonwnproto
  8491  				}
  8492  				if iNdEx >= l {
  8493  					return io.ErrUnexpectedEOF
  8494  				}
  8495  				b := dAtA[iNdEx]
  8496  				iNdEx++
  8497  				msglen |= int(b&0x7F) << shift
  8498  				if b < 0x80 {
  8499  					break
  8500  				}
  8501  			}
  8502  			if msglen < 0 {
  8503  				return ErrInvalidLengthUnknonwnproto
  8504  			}
  8505  			postIndex := iNdEx + msglen
  8506  			if postIndex < 0 {
  8507  				return ErrInvalidLengthUnknonwnproto
  8508  			}
  8509  			if postIndex > l {
  8510  				return io.ErrUnexpectedEOF
  8511  			}
  8512  			if m.G == nil {
  8513  				m.G = &types.Any{}
  8514  			}
  8515  			if err := m.G.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8516  				return err
  8517  			}
  8518  			iNdEx = postIndex
  8519  		case 9:
  8520  			if wireType != 2 {
  8521  				return fmt.Errorf("proto: wrong wireType = %d for field H", wireType)
  8522  			}
  8523  			var msglen int
  8524  			for shift := uint(0); ; shift += 7 {
  8525  				if shift >= 64 {
  8526  					return ErrIntOverflowUnknonwnproto
  8527  				}
  8528  				if iNdEx >= l {
  8529  					return io.ErrUnexpectedEOF
  8530  				}
  8531  				b := dAtA[iNdEx]
  8532  				iNdEx++
  8533  				msglen |= int(b&0x7F) << shift
  8534  				if b < 0x80 {
  8535  					break
  8536  				}
  8537  			}
  8538  			if msglen < 0 {
  8539  				return ErrInvalidLengthUnknonwnproto
  8540  			}
  8541  			postIndex := iNdEx + msglen
  8542  			if postIndex < 0 {
  8543  				return ErrInvalidLengthUnknonwnproto
  8544  			}
  8545  			if postIndex > l {
  8546  				return io.ErrUnexpectedEOF
  8547  			}
  8548  			m.H = append(m.H, &TestVersion1{})
  8549  			if err := m.H[len(m.H)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8550  				return err
  8551  			}
  8552  			iNdEx = postIndex
  8553  		case 12:
  8554  			if wireType != 2 {
  8555  				return fmt.Errorf("proto: wrong wireType = %d for field Customer1", wireType)
  8556  			}
  8557  			var msglen int
  8558  			for shift := uint(0); ; shift += 7 {
  8559  				if shift >= 64 {
  8560  					return ErrIntOverflowUnknonwnproto
  8561  				}
  8562  				if iNdEx >= l {
  8563  					return io.ErrUnexpectedEOF
  8564  				}
  8565  				b := dAtA[iNdEx]
  8566  				iNdEx++
  8567  				msglen |= int(b&0x7F) << shift
  8568  				if b < 0x80 {
  8569  					break
  8570  				}
  8571  			}
  8572  			if msglen < 0 {
  8573  				return ErrInvalidLengthUnknonwnproto
  8574  			}
  8575  			postIndex := iNdEx + msglen
  8576  			if postIndex < 0 {
  8577  				return ErrInvalidLengthUnknonwnproto
  8578  			}
  8579  			if postIndex > l {
  8580  				return io.ErrUnexpectedEOF
  8581  			}
  8582  			if m.Customer1 == nil {
  8583  				m.Customer1 = &Customer1{}
  8584  			}
  8585  			if err := m.Customer1.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8586  				return err
  8587  			}
  8588  			iNdEx = postIndex
  8589  		default:
  8590  			iNdEx = preIndex
  8591  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
  8592  			if err != nil {
  8593  				return err
  8594  			}
  8595  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  8596  				return ErrInvalidLengthUnknonwnproto
  8597  			}
  8598  			if (iNdEx + skippy) > l {
  8599  				return io.ErrUnexpectedEOF
  8600  			}
  8601  			iNdEx += skippy
  8602  		}
  8603  	}
  8604  
  8605  	if iNdEx > l {
  8606  		return io.ErrUnexpectedEOF
  8607  	}
  8608  	return nil
  8609  }
  8610  func (m *TestVersion2) Unmarshal(dAtA []byte) error {
  8611  	l := len(dAtA)
  8612  	iNdEx := 0
  8613  	for iNdEx < l {
  8614  		preIndex := iNdEx
  8615  		var wire uint64
  8616  		for shift := uint(0); ; shift += 7 {
  8617  			if shift >= 64 {
  8618  				return ErrIntOverflowUnknonwnproto
  8619  			}
  8620  			if iNdEx >= l {
  8621  				return io.ErrUnexpectedEOF
  8622  			}
  8623  			b := dAtA[iNdEx]
  8624  			iNdEx++
  8625  			wire |= uint64(b&0x7F) << shift
  8626  			if b < 0x80 {
  8627  				break
  8628  			}
  8629  		}
  8630  		fieldNum := int32(wire >> 3)
  8631  		wireType := int(wire & 0x7)
  8632  		if wireType == 4 {
  8633  			return fmt.Errorf("proto: TestVersion2: wiretype end group for non-group")
  8634  		}
  8635  		if fieldNum <= 0 {
  8636  			return fmt.Errorf("proto: TestVersion2: illegal tag %d (wire type %d)", fieldNum, wire)
  8637  		}
  8638  		switch fieldNum {
  8639  		case 1:
  8640  			if wireType != 0 {
  8641  				return fmt.Errorf("proto: wrong wireType = %d for field X", wireType)
  8642  			}
  8643  			m.X = 0
  8644  			for shift := uint(0); ; shift += 7 {
  8645  				if shift >= 64 {
  8646  					return ErrIntOverflowUnknonwnproto
  8647  				}
  8648  				if iNdEx >= l {
  8649  					return io.ErrUnexpectedEOF
  8650  				}
  8651  				b := dAtA[iNdEx]
  8652  				iNdEx++
  8653  				m.X |= int64(b&0x7F) << shift
  8654  				if b < 0x80 {
  8655  					break
  8656  				}
  8657  			}
  8658  		case 2:
  8659  			if wireType != 2 {
  8660  				return fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
  8661  			}
  8662  			var msglen int
  8663  			for shift := uint(0); ; shift += 7 {
  8664  				if shift >= 64 {
  8665  					return ErrIntOverflowUnknonwnproto
  8666  				}
  8667  				if iNdEx >= l {
  8668  					return io.ErrUnexpectedEOF
  8669  				}
  8670  				b := dAtA[iNdEx]
  8671  				iNdEx++
  8672  				msglen |= int(b&0x7F) << shift
  8673  				if b < 0x80 {
  8674  					break
  8675  				}
  8676  			}
  8677  			if msglen < 0 {
  8678  				return ErrInvalidLengthUnknonwnproto
  8679  			}
  8680  			postIndex := iNdEx + msglen
  8681  			if postIndex < 0 {
  8682  				return ErrInvalidLengthUnknonwnproto
  8683  			}
  8684  			if postIndex > l {
  8685  				return io.ErrUnexpectedEOF
  8686  			}
  8687  			if m.A == nil {
  8688  				m.A = &TestVersion2{}
  8689  			}
  8690  			if err := m.A.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8691  				return err
  8692  			}
  8693  			iNdEx = postIndex
  8694  		case 3:
  8695  			if wireType != 2 {
  8696  				return fmt.Errorf("proto: wrong wireType = %d for field B", wireType)
  8697  			}
  8698  			var msglen int
  8699  			for shift := uint(0); ; shift += 7 {
  8700  				if shift >= 64 {
  8701  					return ErrIntOverflowUnknonwnproto
  8702  				}
  8703  				if iNdEx >= l {
  8704  					return io.ErrUnexpectedEOF
  8705  				}
  8706  				b := dAtA[iNdEx]
  8707  				iNdEx++
  8708  				msglen |= int(b&0x7F) << shift
  8709  				if b < 0x80 {
  8710  					break
  8711  				}
  8712  			}
  8713  			if msglen < 0 {
  8714  				return ErrInvalidLengthUnknonwnproto
  8715  			}
  8716  			postIndex := iNdEx + msglen
  8717  			if postIndex < 0 {
  8718  				return ErrInvalidLengthUnknonwnproto
  8719  			}
  8720  			if postIndex > l {
  8721  				return io.ErrUnexpectedEOF
  8722  			}
  8723  			if m.B == nil {
  8724  				m.B = &TestVersion2{}
  8725  			}
  8726  			if err := m.B.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8727  				return err
  8728  			}
  8729  			iNdEx = postIndex
  8730  		case 4:
  8731  			if wireType != 2 {
  8732  				return fmt.Errorf("proto: wrong wireType = %d for field C", wireType)
  8733  			}
  8734  			var msglen int
  8735  			for shift := uint(0); ; shift += 7 {
  8736  				if shift >= 64 {
  8737  					return ErrIntOverflowUnknonwnproto
  8738  				}
  8739  				if iNdEx >= l {
  8740  					return io.ErrUnexpectedEOF
  8741  				}
  8742  				b := dAtA[iNdEx]
  8743  				iNdEx++
  8744  				msglen |= int(b&0x7F) << shift
  8745  				if b < 0x80 {
  8746  					break
  8747  				}
  8748  			}
  8749  			if msglen < 0 {
  8750  				return ErrInvalidLengthUnknonwnproto
  8751  			}
  8752  			postIndex := iNdEx + msglen
  8753  			if postIndex < 0 {
  8754  				return ErrInvalidLengthUnknonwnproto
  8755  			}
  8756  			if postIndex > l {
  8757  				return io.ErrUnexpectedEOF
  8758  			}
  8759  			m.C = append(m.C, &TestVersion2{})
  8760  			if err := m.C[len(m.C)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8761  				return err
  8762  			}
  8763  			iNdEx = postIndex
  8764  		case 5:
  8765  			if wireType != 2 {
  8766  				return fmt.Errorf("proto: wrong wireType = %d for field D", wireType)
  8767  			}
  8768  			var msglen int
  8769  			for shift := uint(0); ; shift += 7 {
  8770  				if shift >= 64 {
  8771  					return ErrIntOverflowUnknonwnproto
  8772  				}
  8773  				if iNdEx >= l {
  8774  					return io.ErrUnexpectedEOF
  8775  				}
  8776  				b := dAtA[iNdEx]
  8777  				iNdEx++
  8778  				msglen |= int(b&0x7F) << shift
  8779  				if b < 0x80 {
  8780  					break
  8781  				}
  8782  			}
  8783  			if msglen < 0 {
  8784  				return ErrInvalidLengthUnknonwnproto
  8785  			}
  8786  			postIndex := iNdEx + msglen
  8787  			if postIndex < 0 {
  8788  				return ErrInvalidLengthUnknonwnproto
  8789  			}
  8790  			if postIndex > l {
  8791  				return io.ErrUnexpectedEOF
  8792  			}
  8793  			m.D = append(m.D, &TestVersion2{})
  8794  			if err := m.D[len(m.D)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8795  				return err
  8796  			}
  8797  			iNdEx = postIndex
  8798  		case 6:
  8799  			if wireType != 0 {
  8800  				return fmt.Errorf("proto: wrong wireType = %d for field E", wireType)
  8801  			}
  8802  			var v int32
  8803  			for shift := uint(0); ; shift += 7 {
  8804  				if shift >= 64 {
  8805  					return ErrIntOverflowUnknonwnproto
  8806  				}
  8807  				if iNdEx >= l {
  8808  					return io.ErrUnexpectedEOF
  8809  				}
  8810  				b := dAtA[iNdEx]
  8811  				iNdEx++
  8812  				v |= int32(b&0x7F) << shift
  8813  				if b < 0x80 {
  8814  					break
  8815  				}
  8816  			}
  8817  			m.Sum = &TestVersion2_E{v}
  8818  		case 7:
  8819  			if wireType != 2 {
  8820  				return fmt.Errorf("proto: wrong wireType = %d for field F", wireType)
  8821  			}
  8822  			var msglen int
  8823  			for shift := uint(0); ; shift += 7 {
  8824  				if shift >= 64 {
  8825  					return ErrIntOverflowUnknonwnproto
  8826  				}
  8827  				if iNdEx >= l {
  8828  					return io.ErrUnexpectedEOF
  8829  				}
  8830  				b := dAtA[iNdEx]
  8831  				iNdEx++
  8832  				msglen |= int(b&0x7F) << shift
  8833  				if b < 0x80 {
  8834  					break
  8835  				}
  8836  			}
  8837  			if msglen < 0 {
  8838  				return ErrInvalidLengthUnknonwnproto
  8839  			}
  8840  			postIndex := iNdEx + msglen
  8841  			if postIndex < 0 {
  8842  				return ErrInvalidLengthUnknonwnproto
  8843  			}
  8844  			if postIndex > l {
  8845  				return io.ErrUnexpectedEOF
  8846  			}
  8847  			v := &TestVersion2{}
  8848  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8849  				return err
  8850  			}
  8851  			m.Sum = &TestVersion2_F{v}
  8852  			iNdEx = postIndex
  8853  		case 8:
  8854  			if wireType != 2 {
  8855  				return fmt.Errorf("proto: wrong wireType = %d for field G", wireType)
  8856  			}
  8857  			var msglen int
  8858  			for shift := uint(0); ; shift += 7 {
  8859  				if shift >= 64 {
  8860  					return ErrIntOverflowUnknonwnproto
  8861  				}
  8862  				if iNdEx >= l {
  8863  					return io.ErrUnexpectedEOF
  8864  				}
  8865  				b := dAtA[iNdEx]
  8866  				iNdEx++
  8867  				msglen |= int(b&0x7F) << shift
  8868  				if b < 0x80 {
  8869  					break
  8870  				}
  8871  			}
  8872  			if msglen < 0 {
  8873  				return ErrInvalidLengthUnknonwnproto
  8874  			}
  8875  			postIndex := iNdEx + msglen
  8876  			if postIndex < 0 {
  8877  				return ErrInvalidLengthUnknonwnproto
  8878  			}
  8879  			if postIndex > l {
  8880  				return io.ErrUnexpectedEOF
  8881  			}
  8882  			if m.G == nil {
  8883  				m.G = &types.Any{}
  8884  			}
  8885  			if err := m.G.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8886  				return err
  8887  			}
  8888  			iNdEx = postIndex
  8889  		case 9:
  8890  			if wireType != 2 {
  8891  				return fmt.Errorf("proto: wrong wireType = %d for field H", wireType)
  8892  			}
  8893  			var msglen int
  8894  			for shift := uint(0); ; shift += 7 {
  8895  				if shift >= 64 {
  8896  					return ErrIntOverflowUnknonwnproto
  8897  				}
  8898  				if iNdEx >= l {
  8899  					return io.ErrUnexpectedEOF
  8900  				}
  8901  				b := dAtA[iNdEx]
  8902  				iNdEx++
  8903  				msglen |= int(b&0x7F) << shift
  8904  				if b < 0x80 {
  8905  					break
  8906  				}
  8907  			}
  8908  			if msglen < 0 {
  8909  				return ErrInvalidLengthUnknonwnproto
  8910  			}
  8911  			postIndex := iNdEx + msglen
  8912  			if postIndex < 0 {
  8913  				return ErrInvalidLengthUnknonwnproto
  8914  			}
  8915  			if postIndex > l {
  8916  				return io.ErrUnexpectedEOF
  8917  			}
  8918  			m.H = append(m.H, &TestVersion1{})
  8919  			if err := m.H[len(m.H)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8920  				return err
  8921  			}
  8922  			iNdEx = postIndex
  8923  		case 12:
  8924  			if wireType != 2 {
  8925  				return fmt.Errorf("proto: wrong wireType = %d for field Customer1", wireType)
  8926  			}
  8927  			var msglen int
  8928  			for shift := uint(0); ; shift += 7 {
  8929  				if shift >= 64 {
  8930  					return ErrIntOverflowUnknonwnproto
  8931  				}
  8932  				if iNdEx >= l {
  8933  					return io.ErrUnexpectedEOF
  8934  				}
  8935  				b := dAtA[iNdEx]
  8936  				iNdEx++
  8937  				msglen |= int(b&0x7F) << shift
  8938  				if b < 0x80 {
  8939  					break
  8940  				}
  8941  			}
  8942  			if msglen < 0 {
  8943  				return ErrInvalidLengthUnknonwnproto
  8944  			}
  8945  			postIndex := iNdEx + msglen
  8946  			if postIndex < 0 {
  8947  				return ErrInvalidLengthUnknonwnproto
  8948  			}
  8949  			if postIndex > l {
  8950  				return io.ErrUnexpectedEOF
  8951  			}
  8952  			if m.Customer1 == nil {
  8953  				m.Customer1 = &Customer1{}
  8954  			}
  8955  			if err := m.Customer1.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  8956  				return err
  8957  			}
  8958  			iNdEx = postIndex
  8959  		case 25:
  8960  			if wireType != 0 {
  8961  				return fmt.Errorf("proto: wrong wireType = %d for field NewField", wireType)
  8962  			}
  8963  			m.NewField = 0
  8964  			for shift := uint(0); ; shift += 7 {
  8965  				if shift >= 64 {
  8966  					return ErrIntOverflowUnknonwnproto
  8967  				}
  8968  				if iNdEx >= l {
  8969  					return io.ErrUnexpectedEOF
  8970  				}
  8971  				b := dAtA[iNdEx]
  8972  				iNdEx++
  8973  				m.NewField |= uint64(b&0x7F) << shift
  8974  				if b < 0x80 {
  8975  					break
  8976  				}
  8977  			}
  8978  		default:
  8979  			iNdEx = preIndex
  8980  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
  8981  			if err != nil {
  8982  				return err
  8983  			}
  8984  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  8985  				return ErrInvalidLengthUnknonwnproto
  8986  			}
  8987  			if (iNdEx + skippy) > l {
  8988  				return io.ErrUnexpectedEOF
  8989  			}
  8990  			iNdEx += skippy
  8991  		}
  8992  	}
  8993  
  8994  	if iNdEx > l {
  8995  		return io.ErrUnexpectedEOF
  8996  	}
  8997  	return nil
  8998  }
  8999  func (m *TestVersion3) Unmarshal(dAtA []byte) error {
  9000  	l := len(dAtA)
  9001  	iNdEx := 0
  9002  	for iNdEx < l {
  9003  		preIndex := iNdEx
  9004  		var wire uint64
  9005  		for shift := uint(0); ; shift += 7 {
  9006  			if shift >= 64 {
  9007  				return ErrIntOverflowUnknonwnproto
  9008  			}
  9009  			if iNdEx >= l {
  9010  				return io.ErrUnexpectedEOF
  9011  			}
  9012  			b := dAtA[iNdEx]
  9013  			iNdEx++
  9014  			wire |= uint64(b&0x7F) << shift
  9015  			if b < 0x80 {
  9016  				break
  9017  			}
  9018  		}
  9019  		fieldNum := int32(wire >> 3)
  9020  		wireType := int(wire & 0x7)
  9021  		if wireType == 4 {
  9022  			return fmt.Errorf("proto: TestVersion3: wiretype end group for non-group")
  9023  		}
  9024  		if fieldNum <= 0 {
  9025  			return fmt.Errorf("proto: TestVersion3: illegal tag %d (wire type %d)", fieldNum, wire)
  9026  		}
  9027  		switch fieldNum {
  9028  		case 1:
  9029  			if wireType != 0 {
  9030  				return fmt.Errorf("proto: wrong wireType = %d for field X", wireType)
  9031  			}
  9032  			m.X = 0
  9033  			for shift := uint(0); ; shift += 7 {
  9034  				if shift >= 64 {
  9035  					return ErrIntOverflowUnknonwnproto
  9036  				}
  9037  				if iNdEx >= l {
  9038  					return io.ErrUnexpectedEOF
  9039  				}
  9040  				b := dAtA[iNdEx]
  9041  				iNdEx++
  9042  				m.X |= int64(b&0x7F) << shift
  9043  				if b < 0x80 {
  9044  					break
  9045  				}
  9046  			}
  9047  		case 2:
  9048  			if wireType != 2 {
  9049  				return fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
  9050  			}
  9051  			var msglen int
  9052  			for shift := uint(0); ; shift += 7 {
  9053  				if shift >= 64 {
  9054  					return ErrIntOverflowUnknonwnproto
  9055  				}
  9056  				if iNdEx >= l {
  9057  					return io.ErrUnexpectedEOF
  9058  				}
  9059  				b := dAtA[iNdEx]
  9060  				iNdEx++
  9061  				msglen |= int(b&0x7F) << shift
  9062  				if b < 0x80 {
  9063  					break
  9064  				}
  9065  			}
  9066  			if msglen < 0 {
  9067  				return ErrInvalidLengthUnknonwnproto
  9068  			}
  9069  			postIndex := iNdEx + msglen
  9070  			if postIndex < 0 {
  9071  				return ErrInvalidLengthUnknonwnproto
  9072  			}
  9073  			if postIndex > l {
  9074  				return io.ErrUnexpectedEOF
  9075  			}
  9076  			if m.A == nil {
  9077  				m.A = &TestVersion3{}
  9078  			}
  9079  			if err := m.A.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9080  				return err
  9081  			}
  9082  			iNdEx = postIndex
  9083  		case 3:
  9084  			if wireType != 2 {
  9085  				return fmt.Errorf("proto: wrong wireType = %d for field B", wireType)
  9086  			}
  9087  			var msglen int
  9088  			for shift := uint(0); ; shift += 7 {
  9089  				if shift >= 64 {
  9090  					return ErrIntOverflowUnknonwnproto
  9091  				}
  9092  				if iNdEx >= l {
  9093  					return io.ErrUnexpectedEOF
  9094  				}
  9095  				b := dAtA[iNdEx]
  9096  				iNdEx++
  9097  				msglen |= int(b&0x7F) << shift
  9098  				if b < 0x80 {
  9099  					break
  9100  				}
  9101  			}
  9102  			if msglen < 0 {
  9103  				return ErrInvalidLengthUnknonwnproto
  9104  			}
  9105  			postIndex := iNdEx + msglen
  9106  			if postIndex < 0 {
  9107  				return ErrInvalidLengthUnknonwnproto
  9108  			}
  9109  			if postIndex > l {
  9110  				return io.ErrUnexpectedEOF
  9111  			}
  9112  			if m.B == nil {
  9113  				m.B = &TestVersion3{}
  9114  			}
  9115  			if err := m.B.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9116  				return err
  9117  			}
  9118  			iNdEx = postIndex
  9119  		case 4:
  9120  			if wireType != 2 {
  9121  				return fmt.Errorf("proto: wrong wireType = %d for field C", wireType)
  9122  			}
  9123  			var msglen int
  9124  			for shift := uint(0); ; shift += 7 {
  9125  				if shift >= 64 {
  9126  					return ErrIntOverflowUnknonwnproto
  9127  				}
  9128  				if iNdEx >= l {
  9129  					return io.ErrUnexpectedEOF
  9130  				}
  9131  				b := dAtA[iNdEx]
  9132  				iNdEx++
  9133  				msglen |= int(b&0x7F) << shift
  9134  				if b < 0x80 {
  9135  					break
  9136  				}
  9137  			}
  9138  			if msglen < 0 {
  9139  				return ErrInvalidLengthUnknonwnproto
  9140  			}
  9141  			postIndex := iNdEx + msglen
  9142  			if postIndex < 0 {
  9143  				return ErrInvalidLengthUnknonwnproto
  9144  			}
  9145  			if postIndex > l {
  9146  				return io.ErrUnexpectedEOF
  9147  			}
  9148  			m.C = append(m.C, &TestVersion3{})
  9149  			if err := m.C[len(m.C)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9150  				return err
  9151  			}
  9152  			iNdEx = postIndex
  9153  		case 5:
  9154  			if wireType != 2 {
  9155  				return fmt.Errorf("proto: wrong wireType = %d for field D", wireType)
  9156  			}
  9157  			var msglen int
  9158  			for shift := uint(0); ; shift += 7 {
  9159  				if shift >= 64 {
  9160  					return ErrIntOverflowUnknonwnproto
  9161  				}
  9162  				if iNdEx >= l {
  9163  					return io.ErrUnexpectedEOF
  9164  				}
  9165  				b := dAtA[iNdEx]
  9166  				iNdEx++
  9167  				msglen |= int(b&0x7F) << shift
  9168  				if b < 0x80 {
  9169  					break
  9170  				}
  9171  			}
  9172  			if msglen < 0 {
  9173  				return ErrInvalidLengthUnknonwnproto
  9174  			}
  9175  			postIndex := iNdEx + msglen
  9176  			if postIndex < 0 {
  9177  				return ErrInvalidLengthUnknonwnproto
  9178  			}
  9179  			if postIndex > l {
  9180  				return io.ErrUnexpectedEOF
  9181  			}
  9182  			m.D = append(m.D, &TestVersion3{})
  9183  			if err := m.D[len(m.D)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9184  				return err
  9185  			}
  9186  			iNdEx = postIndex
  9187  		case 6:
  9188  			if wireType != 0 {
  9189  				return fmt.Errorf("proto: wrong wireType = %d for field E", wireType)
  9190  			}
  9191  			var v int32
  9192  			for shift := uint(0); ; shift += 7 {
  9193  				if shift >= 64 {
  9194  					return ErrIntOverflowUnknonwnproto
  9195  				}
  9196  				if iNdEx >= l {
  9197  					return io.ErrUnexpectedEOF
  9198  				}
  9199  				b := dAtA[iNdEx]
  9200  				iNdEx++
  9201  				v |= int32(b&0x7F) << shift
  9202  				if b < 0x80 {
  9203  					break
  9204  				}
  9205  			}
  9206  			m.Sum = &TestVersion3_E{v}
  9207  		case 7:
  9208  			if wireType != 2 {
  9209  				return fmt.Errorf("proto: wrong wireType = %d for field F", wireType)
  9210  			}
  9211  			var msglen int
  9212  			for shift := uint(0); ; shift += 7 {
  9213  				if shift >= 64 {
  9214  					return ErrIntOverflowUnknonwnproto
  9215  				}
  9216  				if iNdEx >= l {
  9217  					return io.ErrUnexpectedEOF
  9218  				}
  9219  				b := dAtA[iNdEx]
  9220  				iNdEx++
  9221  				msglen |= int(b&0x7F) << shift
  9222  				if b < 0x80 {
  9223  					break
  9224  				}
  9225  			}
  9226  			if msglen < 0 {
  9227  				return ErrInvalidLengthUnknonwnproto
  9228  			}
  9229  			postIndex := iNdEx + msglen
  9230  			if postIndex < 0 {
  9231  				return ErrInvalidLengthUnknonwnproto
  9232  			}
  9233  			if postIndex > l {
  9234  				return io.ErrUnexpectedEOF
  9235  			}
  9236  			v := &TestVersion3{}
  9237  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9238  				return err
  9239  			}
  9240  			m.Sum = &TestVersion3_F{v}
  9241  			iNdEx = postIndex
  9242  		case 8:
  9243  			if wireType != 2 {
  9244  				return fmt.Errorf("proto: wrong wireType = %d for field G", wireType)
  9245  			}
  9246  			var msglen int
  9247  			for shift := uint(0); ; shift += 7 {
  9248  				if shift >= 64 {
  9249  					return ErrIntOverflowUnknonwnproto
  9250  				}
  9251  				if iNdEx >= l {
  9252  					return io.ErrUnexpectedEOF
  9253  				}
  9254  				b := dAtA[iNdEx]
  9255  				iNdEx++
  9256  				msglen |= int(b&0x7F) << shift
  9257  				if b < 0x80 {
  9258  					break
  9259  				}
  9260  			}
  9261  			if msglen < 0 {
  9262  				return ErrInvalidLengthUnknonwnproto
  9263  			}
  9264  			postIndex := iNdEx + msglen
  9265  			if postIndex < 0 {
  9266  				return ErrInvalidLengthUnknonwnproto
  9267  			}
  9268  			if postIndex > l {
  9269  				return io.ErrUnexpectedEOF
  9270  			}
  9271  			if m.G == nil {
  9272  				m.G = &types.Any{}
  9273  			}
  9274  			if err := m.G.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9275  				return err
  9276  			}
  9277  			iNdEx = postIndex
  9278  		case 9:
  9279  			if wireType != 2 {
  9280  				return fmt.Errorf("proto: wrong wireType = %d for field H", wireType)
  9281  			}
  9282  			var msglen int
  9283  			for shift := uint(0); ; shift += 7 {
  9284  				if shift >= 64 {
  9285  					return ErrIntOverflowUnknonwnproto
  9286  				}
  9287  				if iNdEx >= l {
  9288  					return io.ErrUnexpectedEOF
  9289  				}
  9290  				b := dAtA[iNdEx]
  9291  				iNdEx++
  9292  				msglen |= int(b&0x7F) << shift
  9293  				if b < 0x80 {
  9294  					break
  9295  				}
  9296  			}
  9297  			if msglen < 0 {
  9298  				return ErrInvalidLengthUnknonwnproto
  9299  			}
  9300  			postIndex := iNdEx + msglen
  9301  			if postIndex < 0 {
  9302  				return ErrInvalidLengthUnknonwnproto
  9303  			}
  9304  			if postIndex > l {
  9305  				return io.ErrUnexpectedEOF
  9306  			}
  9307  			m.H = append(m.H, &TestVersion1{})
  9308  			if err := m.H[len(m.H)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9309  				return err
  9310  			}
  9311  			iNdEx = postIndex
  9312  		case 12:
  9313  			if wireType != 2 {
  9314  				return fmt.Errorf("proto: wrong wireType = %d for field Customer1", wireType)
  9315  			}
  9316  			var msglen int
  9317  			for shift := uint(0); ; shift += 7 {
  9318  				if shift >= 64 {
  9319  					return ErrIntOverflowUnknonwnproto
  9320  				}
  9321  				if iNdEx >= l {
  9322  					return io.ErrUnexpectedEOF
  9323  				}
  9324  				b := dAtA[iNdEx]
  9325  				iNdEx++
  9326  				msglen |= int(b&0x7F) << shift
  9327  				if b < 0x80 {
  9328  					break
  9329  				}
  9330  			}
  9331  			if msglen < 0 {
  9332  				return ErrInvalidLengthUnknonwnproto
  9333  			}
  9334  			postIndex := iNdEx + msglen
  9335  			if postIndex < 0 {
  9336  				return ErrInvalidLengthUnknonwnproto
  9337  			}
  9338  			if postIndex > l {
  9339  				return io.ErrUnexpectedEOF
  9340  			}
  9341  			if m.Customer1 == nil {
  9342  				m.Customer1 = &Customer1{}
  9343  			}
  9344  			if err := m.Customer1.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9345  				return err
  9346  			}
  9347  			iNdEx = postIndex
  9348  		case 1031:
  9349  			if wireType != 2 {
  9350  				return fmt.Errorf("proto: wrong wireType = %d for field NonCriticalField", wireType)
  9351  			}
  9352  			var stringLen uint64
  9353  			for shift := uint(0); ; shift += 7 {
  9354  				if shift >= 64 {
  9355  					return ErrIntOverflowUnknonwnproto
  9356  				}
  9357  				if iNdEx >= l {
  9358  					return io.ErrUnexpectedEOF
  9359  				}
  9360  				b := dAtA[iNdEx]
  9361  				iNdEx++
  9362  				stringLen |= uint64(b&0x7F) << shift
  9363  				if b < 0x80 {
  9364  					break
  9365  				}
  9366  			}
  9367  			intStringLen := int(stringLen)
  9368  			if intStringLen < 0 {
  9369  				return ErrInvalidLengthUnknonwnproto
  9370  			}
  9371  			postIndex := iNdEx + intStringLen
  9372  			if postIndex < 0 {
  9373  				return ErrInvalidLengthUnknonwnproto
  9374  			}
  9375  			if postIndex > l {
  9376  				return io.ErrUnexpectedEOF
  9377  			}
  9378  			m.NonCriticalField = string(dAtA[iNdEx:postIndex])
  9379  			iNdEx = postIndex
  9380  		default:
  9381  			iNdEx = preIndex
  9382  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
  9383  			if err != nil {
  9384  				return err
  9385  			}
  9386  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  9387  				return ErrInvalidLengthUnknonwnproto
  9388  			}
  9389  			if (iNdEx + skippy) > l {
  9390  				return io.ErrUnexpectedEOF
  9391  			}
  9392  			iNdEx += skippy
  9393  		}
  9394  	}
  9395  
  9396  	if iNdEx > l {
  9397  		return io.ErrUnexpectedEOF
  9398  	}
  9399  	return nil
  9400  }
  9401  func (m *TestVersion3LoneOneOfValue) Unmarshal(dAtA []byte) error {
  9402  	l := len(dAtA)
  9403  	iNdEx := 0
  9404  	for iNdEx < l {
  9405  		preIndex := iNdEx
  9406  		var wire uint64
  9407  		for shift := uint(0); ; shift += 7 {
  9408  			if shift >= 64 {
  9409  				return ErrIntOverflowUnknonwnproto
  9410  			}
  9411  			if iNdEx >= l {
  9412  				return io.ErrUnexpectedEOF
  9413  			}
  9414  			b := dAtA[iNdEx]
  9415  			iNdEx++
  9416  			wire |= uint64(b&0x7F) << shift
  9417  			if b < 0x80 {
  9418  				break
  9419  			}
  9420  		}
  9421  		fieldNum := int32(wire >> 3)
  9422  		wireType := int(wire & 0x7)
  9423  		if wireType == 4 {
  9424  			return fmt.Errorf("proto: TestVersion3LoneOneOfValue: wiretype end group for non-group")
  9425  		}
  9426  		if fieldNum <= 0 {
  9427  			return fmt.Errorf("proto: TestVersion3LoneOneOfValue: illegal tag %d (wire type %d)", fieldNum, wire)
  9428  		}
  9429  		switch fieldNum {
  9430  		case 1:
  9431  			if wireType != 0 {
  9432  				return fmt.Errorf("proto: wrong wireType = %d for field X", wireType)
  9433  			}
  9434  			m.X = 0
  9435  			for shift := uint(0); ; shift += 7 {
  9436  				if shift >= 64 {
  9437  					return ErrIntOverflowUnknonwnproto
  9438  				}
  9439  				if iNdEx >= l {
  9440  					return io.ErrUnexpectedEOF
  9441  				}
  9442  				b := dAtA[iNdEx]
  9443  				iNdEx++
  9444  				m.X |= int64(b&0x7F) << shift
  9445  				if b < 0x80 {
  9446  					break
  9447  				}
  9448  			}
  9449  		case 2:
  9450  			if wireType != 2 {
  9451  				return fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
  9452  			}
  9453  			var msglen int
  9454  			for shift := uint(0); ; shift += 7 {
  9455  				if shift >= 64 {
  9456  					return ErrIntOverflowUnknonwnproto
  9457  				}
  9458  				if iNdEx >= l {
  9459  					return io.ErrUnexpectedEOF
  9460  				}
  9461  				b := dAtA[iNdEx]
  9462  				iNdEx++
  9463  				msglen |= int(b&0x7F) << shift
  9464  				if b < 0x80 {
  9465  					break
  9466  				}
  9467  			}
  9468  			if msglen < 0 {
  9469  				return ErrInvalidLengthUnknonwnproto
  9470  			}
  9471  			postIndex := iNdEx + msglen
  9472  			if postIndex < 0 {
  9473  				return ErrInvalidLengthUnknonwnproto
  9474  			}
  9475  			if postIndex > l {
  9476  				return io.ErrUnexpectedEOF
  9477  			}
  9478  			if m.A == nil {
  9479  				m.A = &TestVersion3{}
  9480  			}
  9481  			if err := m.A.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9482  				return err
  9483  			}
  9484  			iNdEx = postIndex
  9485  		case 3:
  9486  			if wireType != 2 {
  9487  				return fmt.Errorf("proto: wrong wireType = %d for field B", wireType)
  9488  			}
  9489  			var msglen int
  9490  			for shift := uint(0); ; shift += 7 {
  9491  				if shift >= 64 {
  9492  					return ErrIntOverflowUnknonwnproto
  9493  				}
  9494  				if iNdEx >= l {
  9495  					return io.ErrUnexpectedEOF
  9496  				}
  9497  				b := dAtA[iNdEx]
  9498  				iNdEx++
  9499  				msglen |= int(b&0x7F) << shift
  9500  				if b < 0x80 {
  9501  					break
  9502  				}
  9503  			}
  9504  			if msglen < 0 {
  9505  				return ErrInvalidLengthUnknonwnproto
  9506  			}
  9507  			postIndex := iNdEx + msglen
  9508  			if postIndex < 0 {
  9509  				return ErrInvalidLengthUnknonwnproto
  9510  			}
  9511  			if postIndex > l {
  9512  				return io.ErrUnexpectedEOF
  9513  			}
  9514  			if m.B == nil {
  9515  				m.B = &TestVersion3{}
  9516  			}
  9517  			if err := m.B.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9518  				return err
  9519  			}
  9520  			iNdEx = postIndex
  9521  		case 4:
  9522  			if wireType != 2 {
  9523  				return fmt.Errorf("proto: wrong wireType = %d for field C", wireType)
  9524  			}
  9525  			var msglen int
  9526  			for shift := uint(0); ; shift += 7 {
  9527  				if shift >= 64 {
  9528  					return ErrIntOverflowUnknonwnproto
  9529  				}
  9530  				if iNdEx >= l {
  9531  					return io.ErrUnexpectedEOF
  9532  				}
  9533  				b := dAtA[iNdEx]
  9534  				iNdEx++
  9535  				msglen |= int(b&0x7F) << shift
  9536  				if b < 0x80 {
  9537  					break
  9538  				}
  9539  			}
  9540  			if msglen < 0 {
  9541  				return ErrInvalidLengthUnknonwnproto
  9542  			}
  9543  			postIndex := iNdEx + msglen
  9544  			if postIndex < 0 {
  9545  				return ErrInvalidLengthUnknonwnproto
  9546  			}
  9547  			if postIndex > l {
  9548  				return io.ErrUnexpectedEOF
  9549  			}
  9550  			m.C = append(m.C, &TestVersion3{})
  9551  			if err := m.C[len(m.C)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9552  				return err
  9553  			}
  9554  			iNdEx = postIndex
  9555  		case 5:
  9556  			if wireType != 2 {
  9557  				return fmt.Errorf("proto: wrong wireType = %d for field D", wireType)
  9558  			}
  9559  			var msglen int
  9560  			for shift := uint(0); ; shift += 7 {
  9561  				if shift >= 64 {
  9562  					return ErrIntOverflowUnknonwnproto
  9563  				}
  9564  				if iNdEx >= l {
  9565  					return io.ErrUnexpectedEOF
  9566  				}
  9567  				b := dAtA[iNdEx]
  9568  				iNdEx++
  9569  				msglen |= int(b&0x7F) << shift
  9570  				if b < 0x80 {
  9571  					break
  9572  				}
  9573  			}
  9574  			if msglen < 0 {
  9575  				return ErrInvalidLengthUnknonwnproto
  9576  			}
  9577  			postIndex := iNdEx + msglen
  9578  			if postIndex < 0 {
  9579  				return ErrInvalidLengthUnknonwnproto
  9580  			}
  9581  			if postIndex > l {
  9582  				return io.ErrUnexpectedEOF
  9583  			}
  9584  			m.D = append(m.D, &TestVersion3{})
  9585  			if err := m.D[len(m.D)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9586  				return err
  9587  			}
  9588  			iNdEx = postIndex
  9589  		case 6:
  9590  			if wireType != 0 {
  9591  				return fmt.Errorf("proto: wrong wireType = %d for field E", wireType)
  9592  			}
  9593  			var v int32
  9594  			for shift := uint(0); ; shift += 7 {
  9595  				if shift >= 64 {
  9596  					return ErrIntOverflowUnknonwnproto
  9597  				}
  9598  				if iNdEx >= l {
  9599  					return io.ErrUnexpectedEOF
  9600  				}
  9601  				b := dAtA[iNdEx]
  9602  				iNdEx++
  9603  				v |= int32(b&0x7F) << shift
  9604  				if b < 0x80 {
  9605  					break
  9606  				}
  9607  			}
  9608  			m.Sum = &TestVersion3LoneOneOfValue_E{v}
  9609  		case 8:
  9610  			if wireType != 2 {
  9611  				return fmt.Errorf("proto: wrong wireType = %d for field G", wireType)
  9612  			}
  9613  			var msglen int
  9614  			for shift := uint(0); ; shift += 7 {
  9615  				if shift >= 64 {
  9616  					return ErrIntOverflowUnknonwnproto
  9617  				}
  9618  				if iNdEx >= l {
  9619  					return io.ErrUnexpectedEOF
  9620  				}
  9621  				b := dAtA[iNdEx]
  9622  				iNdEx++
  9623  				msglen |= int(b&0x7F) << shift
  9624  				if b < 0x80 {
  9625  					break
  9626  				}
  9627  			}
  9628  			if msglen < 0 {
  9629  				return ErrInvalidLengthUnknonwnproto
  9630  			}
  9631  			postIndex := iNdEx + msglen
  9632  			if postIndex < 0 {
  9633  				return ErrInvalidLengthUnknonwnproto
  9634  			}
  9635  			if postIndex > l {
  9636  				return io.ErrUnexpectedEOF
  9637  			}
  9638  			if m.G == nil {
  9639  				m.G = &types.Any{}
  9640  			}
  9641  			if err := m.G.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9642  				return err
  9643  			}
  9644  			iNdEx = postIndex
  9645  		case 9:
  9646  			if wireType != 2 {
  9647  				return fmt.Errorf("proto: wrong wireType = %d for field H", wireType)
  9648  			}
  9649  			var msglen int
  9650  			for shift := uint(0); ; shift += 7 {
  9651  				if shift >= 64 {
  9652  					return ErrIntOverflowUnknonwnproto
  9653  				}
  9654  				if iNdEx >= l {
  9655  					return io.ErrUnexpectedEOF
  9656  				}
  9657  				b := dAtA[iNdEx]
  9658  				iNdEx++
  9659  				msglen |= int(b&0x7F) << shift
  9660  				if b < 0x80 {
  9661  					break
  9662  				}
  9663  			}
  9664  			if msglen < 0 {
  9665  				return ErrInvalidLengthUnknonwnproto
  9666  			}
  9667  			postIndex := iNdEx + msglen
  9668  			if postIndex < 0 {
  9669  				return ErrInvalidLengthUnknonwnproto
  9670  			}
  9671  			if postIndex > l {
  9672  				return io.ErrUnexpectedEOF
  9673  			}
  9674  			m.H = append(m.H, &TestVersion1{})
  9675  			if err := m.H[len(m.H)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9676  				return err
  9677  			}
  9678  			iNdEx = postIndex
  9679  		case 12:
  9680  			if wireType != 2 {
  9681  				return fmt.Errorf("proto: wrong wireType = %d for field Customer1", wireType)
  9682  			}
  9683  			var msglen int
  9684  			for shift := uint(0); ; shift += 7 {
  9685  				if shift >= 64 {
  9686  					return ErrIntOverflowUnknonwnproto
  9687  				}
  9688  				if iNdEx >= l {
  9689  					return io.ErrUnexpectedEOF
  9690  				}
  9691  				b := dAtA[iNdEx]
  9692  				iNdEx++
  9693  				msglen |= int(b&0x7F) << shift
  9694  				if b < 0x80 {
  9695  					break
  9696  				}
  9697  			}
  9698  			if msglen < 0 {
  9699  				return ErrInvalidLengthUnknonwnproto
  9700  			}
  9701  			postIndex := iNdEx + msglen
  9702  			if postIndex < 0 {
  9703  				return ErrInvalidLengthUnknonwnproto
  9704  			}
  9705  			if postIndex > l {
  9706  				return io.ErrUnexpectedEOF
  9707  			}
  9708  			if m.Customer1 == nil {
  9709  				m.Customer1 = &Customer1{}
  9710  			}
  9711  			if err := m.Customer1.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9712  				return err
  9713  			}
  9714  			iNdEx = postIndex
  9715  		case 1031:
  9716  			if wireType != 2 {
  9717  				return fmt.Errorf("proto: wrong wireType = %d for field NonCriticalField", wireType)
  9718  			}
  9719  			var stringLen uint64
  9720  			for shift := uint(0); ; shift += 7 {
  9721  				if shift >= 64 {
  9722  					return ErrIntOverflowUnknonwnproto
  9723  				}
  9724  				if iNdEx >= l {
  9725  					return io.ErrUnexpectedEOF
  9726  				}
  9727  				b := dAtA[iNdEx]
  9728  				iNdEx++
  9729  				stringLen |= uint64(b&0x7F) << shift
  9730  				if b < 0x80 {
  9731  					break
  9732  				}
  9733  			}
  9734  			intStringLen := int(stringLen)
  9735  			if intStringLen < 0 {
  9736  				return ErrInvalidLengthUnknonwnproto
  9737  			}
  9738  			postIndex := iNdEx + intStringLen
  9739  			if postIndex < 0 {
  9740  				return ErrInvalidLengthUnknonwnproto
  9741  			}
  9742  			if postIndex > l {
  9743  				return io.ErrUnexpectedEOF
  9744  			}
  9745  			m.NonCriticalField = string(dAtA[iNdEx:postIndex])
  9746  			iNdEx = postIndex
  9747  		default:
  9748  			iNdEx = preIndex
  9749  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
  9750  			if err != nil {
  9751  				return err
  9752  			}
  9753  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  9754  				return ErrInvalidLengthUnknonwnproto
  9755  			}
  9756  			if (iNdEx + skippy) > l {
  9757  				return io.ErrUnexpectedEOF
  9758  			}
  9759  			iNdEx += skippy
  9760  		}
  9761  	}
  9762  
  9763  	if iNdEx > l {
  9764  		return io.ErrUnexpectedEOF
  9765  	}
  9766  	return nil
  9767  }
  9768  func (m *TestVersion3LoneNesting) Unmarshal(dAtA []byte) error {
  9769  	l := len(dAtA)
  9770  	iNdEx := 0
  9771  	for iNdEx < l {
  9772  		preIndex := iNdEx
  9773  		var wire uint64
  9774  		for shift := uint(0); ; shift += 7 {
  9775  			if shift >= 64 {
  9776  				return ErrIntOverflowUnknonwnproto
  9777  			}
  9778  			if iNdEx >= l {
  9779  				return io.ErrUnexpectedEOF
  9780  			}
  9781  			b := dAtA[iNdEx]
  9782  			iNdEx++
  9783  			wire |= uint64(b&0x7F) << shift
  9784  			if b < 0x80 {
  9785  				break
  9786  			}
  9787  		}
  9788  		fieldNum := int32(wire >> 3)
  9789  		wireType := int(wire & 0x7)
  9790  		if wireType == 4 {
  9791  			return fmt.Errorf("proto: TestVersion3LoneNesting: wiretype end group for non-group")
  9792  		}
  9793  		if fieldNum <= 0 {
  9794  			return fmt.Errorf("proto: TestVersion3LoneNesting: illegal tag %d (wire type %d)", fieldNum, wire)
  9795  		}
  9796  		switch fieldNum {
  9797  		case 1:
  9798  			if wireType != 0 {
  9799  				return fmt.Errorf("proto: wrong wireType = %d for field X", wireType)
  9800  			}
  9801  			m.X = 0
  9802  			for shift := uint(0); ; shift += 7 {
  9803  				if shift >= 64 {
  9804  					return ErrIntOverflowUnknonwnproto
  9805  				}
  9806  				if iNdEx >= l {
  9807  					return io.ErrUnexpectedEOF
  9808  				}
  9809  				b := dAtA[iNdEx]
  9810  				iNdEx++
  9811  				m.X |= int64(b&0x7F) << shift
  9812  				if b < 0x80 {
  9813  					break
  9814  				}
  9815  			}
  9816  		case 2:
  9817  			if wireType != 2 {
  9818  				return fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
  9819  			}
  9820  			var msglen int
  9821  			for shift := uint(0); ; shift += 7 {
  9822  				if shift >= 64 {
  9823  					return ErrIntOverflowUnknonwnproto
  9824  				}
  9825  				if iNdEx >= l {
  9826  					return io.ErrUnexpectedEOF
  9827  				}
  9828  				b := dAtA[iNdEx]
  9829  				iNdEx++
  9830  				msglen |= int(b&0x7F) << shift
  9831  				if b < 0x80 {
  9832  					break
  9833  				}
  9834  			}
  9835  			if msglen < 0 {
  9836  				return ErrInvalidLengthUnknonwnproto
  9837  			}
  9838  			postIndex := iNdEx + msglen
  9839  			if postIndex < 0 {
  9840  				return ErrInvalidLengthUnknonwnproto
  9841  			}
  9842  			if postIndex > l {
  9843  				return io.ErrUnexpectedEOF
  9844  			}
  9845  			if m.A == nil {
  9846  				m.A = &TestVersion3{}
  9847  			}
  9848  			if err := m.A.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9849  				return err
  9850  			}
  9851  			iNdEx = postIndex
  9852  		case 3:
  9853  			if wireType != 2 {
  9854  				return fmt.Errorf("proto: wrong wireType = %d for field B", wireType)
  9855  			}
  9856  			var msglen int
  9857  			for shift := uint(0); ; shift += 7 {
  9858  				if shift >= 64 {
  9859  					return ErrIntOverflowUnknonwnproto
  9860  				}
  9861  				if iNdEx >= l {
  9862  					return io.ErrUnexpectedEOF
  9863  				}
  9864  				b := dAtA[iNdEx]
  9865  				iNdEx++
  9866  				msglen |= int(b&0x7F) << shift
  9867  				if b < 0x80 {
  9868  					break
  9869  				}
  9870  			}
  9871  			if msglen < 0 {
  9872  				return ErrInvalidLengthUnknonwnproto
  9873  			}
  9874  			postIndex := iNdEx + msglen
  9875  			if postIndex < 0 {
  9876  				return ErrInvalidLengthUnknonwnproto
  9877  			}
  9878  			if postIndex > l {
  9879  				return io.ErrUnexpectedEOF
  9880  			}
  9881  			if m.B == nil {
  9882  				m.B = &TestVersion3{}
  9883  			}
  9884  			if err := m.B.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9885  				return err
  9886  			}
  9887  			iNdEx = postIndex
  9888  		case 4:
  9889  			if wireType != 2 {
  9890  				return fmt.Errorf("proto: wrong wireType = %d for field C", wireType)
  9891  			}
  9892  			var msglen int
  9893  			for shift := uint(0); ; shift += 7 {
  9894  				if shift >= 64 {
  9895  					return ErrIntOverflowUnknonwnproto
  9896  				}
  9897  				if iNdEx >= l {
  9898  					return io.ErrUnexpectedEOF
  9899  				}
  9900  				b := dAtA[iNdEx]
  9901  				iNdEx++
  9902  				msglen |= int(b&0x7F) << shift
  9903  				if b < 0x80 {
  9904  					break
  9905  				}
  9906  			}
  9907  			if msglen < 0 {
  9908  				return ErrInvalidLengthUnknonwnproto
  9909  			}
  9910  			postIndex := iNdEx + msglen
  9911  			if postIndex < 0 {
  9912  				return ErrInvalidLengthUnknonwnproto
  9913  			}
  9914  			if postIndex > l {
  9915  				return io.ErrUnexpectedEOF
  9916  			}
  9917  			m.C = append(m.C, &TestVersion3{})
  9918  			if err := m.C[len(m.C)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9919  				return err
  9920  			}
  9921  			iNdEx = postIndex
  9922  		case 5:
  9923  			if wireType != 2 {
  9924  				return fmt.Errorf("proto: wrong wireType = %d for field D", wireType)
  9925  			}
  9926  			var msglen int
  9927  			for shift := uint(0); ; shift += 7 {
  9928  				if shift >= 64 {
  9929  					return ErrIntOverflowUnknonwnproto
  9930  				}
  9931  				if iNdEx >= l {
  9932  					return io.ErrUnexpectedEOF
  9933  				}
  9934  				b := dAtA[iNdEx]
  9935  				iNdEx++
  9936  				msglen |= int(b&0x7F) << shift
  9937  				if b < 0x80 {
  9938  					break
  9939  				}
  9940  			}
  9941  			if msglen < 0 {
  9942  				return ErrInvalidLengthUnknonwnproto
  9943  			}
  9944  			postIndex := iNdEx + msglen
  9945  			if postIndex < 0 {
  9946  				return ErrInvalidLengthUnknonwnproto
  9947  			}
  9948  			if postIndex > l {
  9949  				return io.ErrUnexpectedEOF
  9950  			}
  9951  			m.D = append(m.D, &TestVersion3{})
  9952  			if err := m.D[len(m.D)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9953  				return err
  9954  			}
  9955  			iNdEx = postIndex
  9956  		case 7:
  9957  			if wireType != 2 {
  9958  				return fmt.Errorf("proto: wrong wireType = %d for field F", wireType)
  9959  			}
  9960  			var msglen int
  9961  			for shift := uint(0); ; shift += 7 {
  9962  				if shift >= 64 {
  9963  					return ErrIntOverflowUnknonwnproto
  9964  				}
  9965  				if iNdEx >= l {
  9966  					return io.ErrUnexpectedEOF
  9967  				}
  9968  				b := dAtA[iNdEx]
  9969  				iNdEx++
  9970  				msglen |= int(b&0x7F) << shift
  9971  				if b < 0x80 {
  9972  					break
  9973  				}
  9974  			}
  9975  			if msglen < 0 {
  9976  				return ErrInvalidLengthUnknonwnproto
  9977  			}
  9978  			postIndex := iNdEx + msglen
  9979  			if postIndex < 0 {
  9980  				return ErrInvalidLengthUnknonwnproto
  9981  			}
  9982  			if postIndex > l {
  9983  				return io.ErrUnexpectedEOF
  9984  			}
  9985  			v := &TestVersion3LoneNesting{}
  9986  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  9987  				return err
  9988  			}
  9989  			m.Sum = &TestVersion3LoneNesting_F{v}
  9990  			iNdEx = postIndex
  9991  		case 8:
  9992  			if wireType != 2 {
  9993  				return fmt.Errorf("proto: wrong wireType = %d for field G", wireType)
  9994  			}
  9995  			var msglen int
  9996  			for shift := uint(0); ; shift += 7 {
  9997  				if shift >= 64 {
  9998  					return ErrIntOverflowUnknonwnproto
  9999  				}
 10000  				if iNdEx >= l {
 10001  					return io.ErrUnexpectedEOF
 10002  				}
 10003  				b := dAtA[iNdEx]
 10004  				iNdEx++
 10005  				msglen |= int(b&0x7F) << shift
 10006  				if b < 0x80 {
 10007  					break
 10008  				}
 10009  			}
 10010  			if msglen < 0 {
 10011  				return ErrInvalidLengthUnknonwnproto
 10012  			}
 10013  			postIndex := iNdEx + msglen
 10014  			if postIndex < 0 {
 10015  				return ErrInvalidLengthUnknonwnproto
 10016  			}
 10017  			if postIndex > l {
 10018  				return io.ErrUnexpectedEOF
 10019  			}
 10020  			if m.G == nil {
 10021  				m.G = &types.Any{}
 10022  			}
 10023  			if err := m.G.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10024  				return err
 10025  			}
 10026  			iNdEx = postIndex
 10027  		case 9:
 10028  			if wireType != 2 {
 10029  				return fmt.Errorf("proto: wrong wireType = %d for field H", wireType)
 10030  			}
 10031  			var msglen int
 10032  			for shift := uint(0); ; shift += 7 {
 10033  				if shift >= 64 {
 10034  					return ErrIntOverflowUnknonwnproto
 10035  				}
 10036  				if iNdEx >= l {
 10037  					return io.ErrUnexpectedEOF
 10038  				}
 10039  				b := dAtA[iNdEx]
 10040  				iNdEx++
 10041  				msglen |= int(b&0x7F) << shift
 10042  				if b < 0x80 {
 10043  					break
 10044  				}
 10045  			}
 10046  			if msglen < 0 {
 10047  				return ErrInvalidLengthUnknonwnproto
 10048  			}
 10049  			postIndex := iNdEx + msglen
 10050  			if postIndex < 0 {
 10051  				return ErrInvalidLengthUnknonwnproto
 10052  			}
 10053  			if postIndex > l {
 10054  				return io.ErrUnexpectedEOF
 10055  			}
 10056  			m.H = append(m.H, &TestVersion1{})
 10057  			if err := m.H[len(m.H)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10058  				return err
 10059  			}
 10060  			iNdEx = postIndex
 10061  		case 12:
 10062  			if wireType != 2 {
 10063  				return fmt.Errorf("proto: wrong wireType = %d for field Customer1", wireType)
 10064  			}
 10065  			var msglen int
 10066  			for shift := uint(0); ; shift += 7 {
 10067  				if shift >= 64 {
 10068  					return ErrIntOverflowUnknonwnproto
 10069  				}
 10070  				if iNdEx >= l {
 10071  					return io.ErrUnexpectedEOF
 10072  				}
 10073  				b := dAtA[iNdEx]
 10074  				iNdEx++
 10075  				msglen |= int(b&0x7F) << shift
 10076  				if b < 0x80 {
 10077  					break
 10078  				}
 10079  			}
 10080  			if msglen < 0 {
 10081  				return ErrInvalidLengthUnknonwnproto
 10082  			}
 10083  			postIndex := iNdEx + msglen
 10084  			if postIndex < 0 {
 10085  				return ErrInvalidLengthUnknonwnproto
 10086  			}
 10087  			if postIndex > l {
 10088  				return io.ErrUnexpectedEOF
 10089  			}
 10090  			if m.Customer1 == nil {
 10091  				m.Customer1 = &Customer1{}
 10092  			}
 10093  			if err := m.Customer1.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10094  				return err
 10095  			}
 10096  			iNdEx = postIndex
 10097  		case 14:
 10098  			if wireType != 2 {
 10099  				return fmt.Errorf("proto: wrong wireType = %d for field Inner1", wireType)
 10100  			}
 10101  			var msglen int
 10102  			for shift := uint(0); ; shift += 7 {
 10103  				if shift >= 64 {
 10104  					return ErrIntOverflowUnknonwnproto
 10105  				}
 10106  				if iNdEx >= l {
 10107  					return io.ErrUnexpectedEOF
 10108  				}
 10109  				b := dAtA[iNdEx]
 10110  				iNdEx++
 10111  				msglen |= int(b&0x7F) << shift
 10112  				if b < 0x80 {
 10113  					break
 10114  				}
 10115  			}
 10116  			if msglen < 0 {
 10117  				return ErrInvalidLengthUnknonwnproto
 10118  			}
 10119  			postIndex := iNdEx + msglen
 10120  			if postIndex < 0 {
 10121  				return ErrInvalidLengthUnknonwnproto
 10122  			}
 10123  			if postIndex > l {
 10124  				return io.ErrUnexpectedEOF
 10125  			}
 10126  			if m.Inner1 == nil {
 10127  				m.Inner1 = &TestVersion3LoneNesting_Inner1{}
 10128  			}
 10129  			if err := m.Inner1.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10130  				return err
 10131  			}
 10132  			iNdEx = postIndex
 10133  		case 15:
 10134  			if wireType != 2 {
 10135  				return fmt.Errorf("proto: wrong wireType = %d for field Inner2", wireType)
 10136  			}
 10137  			var msglen int
 10138  			for shift := uint(0); ; shift += 7 {
 10139  				if shift >= 64 {
 10140  					return ErrIntOverflowUnknonwnproto
 10141  				}
 10142  				if iNdEx >= l {
 10143  					return io.ErrUnexpectedEOF
 10144  				}
 10145  				b := dAtA[iNdEx]
 10146  				iNdEx++
 10147  				msglen |= int(b&0x7F) << shift
 10148  				if b < 0x80 {
 10149  					break
 10150  				}
 10151  			}
 10152  			if msglen < 0 {
 10153  				return ErrInvalidLengthUnknonwnproto
 10154  			}
 10155  			postIndex := iNdEx + msglen
 10156  			if postIndex < 0 {
 10157  				return ErrInvalidLengthUnknonwnproto
 10158  			}
 10159  			if postIndex > l {
 10160  				return io.ErrUnexpectedEOF
 10161  			}
 10162  			if m.Inner2 == nil {
 10163  				m.Inner2 = &TestVersion3LoneNesting_Inner2{}
 10164  			}
 10165  			if err := m.Inner2.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10166  				return err
 10167  			}
 10168  			iNdEx = postIndex
 10169  		case 1031:
 10170  			if wireType != 2 {
 10171  				return fmt.Errorf("proto: wrong wireType = %d for field NonCriticalField", wireType)
 10172  			}
 10173  			var stringLen uint64
 10174  			for shift := uint(0); ; shift += 7 {
 10175  				if shift >= 64 {
 10176  					return ErrIntOverflowUnknonwnproto
 10177  				}
 10178  				if iNdEx >= l {
 10179  					return io.ErrUnexpectedEOF
 10180  				}
 10181  				b := dAtA[iNdEx]
 10182  				iNdEx++
 10183  				stringLen |= uint64(b&0x7F) << shift
 10184  				if b < 0x80 {
 10185  					break
 10186  				}
 10187  			}
 10188  			intStringLen := int(stringLen)
 10189  			if intStringLen < 0 {
 10190  				return ErrInvalidLengthUnknonwnproto
 10191  			}
 10192  			postIndex := iNdEx + intStringLen
 10193  			if postIndex < 0 {
 10194  				return ErrInvalidLengthUnknonwnproto
 10195  			}
 10196  			if postIndex > l {
 10197  				return io.ErrUnexpectedEOF
 10198  			}
 10199  			m.NonCriticalField = string(dAtA[iNdEx:postIndex])
 10200  			iNdEx = postIndex
 10201  		default:
 10202  			iNdEx = preIndex
 10203  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
 10204  			if err != nil {
 10205  				return err
 10206  			}
 10207  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 10208  				return ErrInvalidLengthUnknonwnproto
 10209  			}
 10210  			if (iNdEx + skippy) > l {
 10211  				return io.ErrUnexpectedEOF
 10212  			}
 10213  			iNdEx += skippy
 10214  		}
 10215  	}
 10216  
 10217  	if iNdEx > l {
 10218  		return io.ErrUnexpectedEOF
 10219  	}
 10220  	return nil
 10221  }
 10222  func (m *TestVersion3LoneNesting_Inner1) Unmarshal(dAtA []byte) error {
 10223  	l := len(dAtA)
 10224  	iNdEx := 0
 10225  	for iNdEx < l {
 10226  		preIndex := iNdEx
 10227  		var wire uint64
 10228  		for shift := uint(0); ; shift += 7 {
 10229  			if shift >= 64 {
 10230  				return ErrIntOverflowUnknonwnproto
 10231  			}
 10232  			if iNdEx >= l {
 10233  				return io.ErrUnexpectedEOF
 10234  			}
 10235  			b := dAtA[iNdEx]
 10236  			iNdEx++
 10237  			wire |= uint64(b&0x7F) << shift
 10238  			if b < 0x80 {
 10239  				break
 10240  			}
 10241  		}
 10242  		fieldNum := int32(wire >> 3)
 10243  		wireType := int(wire & 0x7)
 10244  		if wireType == 4 {
 10245  			return fmt.Errorf("proto: Inner1: wiretype end group for non-group")
 10246  		}
 10247  		if fieldNum <= 0 {
 10248  			return fmt.Errorf("proto: Inner1: illegal tag %d (wire type %d)", fieldNum, wire)
 10249  		}
 10250  		switch fieldNum {
 10251  		case 1:
 10252  			if wireType != 0 {
 10253  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
 10254  			}
 10255  			m.Id = 0
 10256  			for shift := uint(0); ; shift += 7 {
 10257  				if shift >= 64 {
 10258  					return ErrIntOverflowUnknonwnproto
 10259  				}
 10260  				if iNdEx >= l {
 10261  					return io.ErrUnexpectedEOF
 10262  				}
 10263  				b := dAtA[iNdEx]
 10264  				iNdEx++
 10265  				m.Id |= int64(b&0x7F) << shift
 10266  				if b < 0x80 {
 10267  					break
 10268  				}
 10269  			}
 10270  		case 2:
 10271  			if wireType != 2 {
 10272  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
 10273  			}
 10274  			var stringLen uint64
 10275  			for shift := uint(0); ; shift += 7 {
 10276  				if shift >= 64 {
 10277  					return ErrIntOverflowUnknonwnproto
 10278  				}
 10279  				if iNdEx >= l {
 10280  					return io.ErrUnexpectedEOF
 10281  				}
 10282  				b := dAtA[iNdEx]
 10283  				iNdEx++
 10284  				stringLen |= uint64(b&0x7F) << shift
 10285  				if b < 0x80 {
 10286  					break
 10287  				}
 10288  			}
 10289  			intStringLen := int(stringLen)
 10290  			if intStringLen < 0 {
 10291  				return ErrInvalidLengthUnknonwnproto
 10292  			}
 10293  			postIndex := iNdEx + intStringLen
 10294  			if postIndex < 0 {
 10295  				return ErrInvalidLengthUnknonwnproto
 10296  			}
 10297  			if postIndex > l {
 10298  				return io.ErrUnexpectedEOF
 10299  			}
 10300  			m.Name = string(dAtA[iNdEx:postIndex])
 10301  			iNdEx = postIndex
 10302  		case 3:
 10303  			if wireType != 2 {
 10304  				return fmt.Errorf("proto: wrong wireType = %d for field Inner", wireType)
 10305  			}
 10306  			var msglen int
 10307  			for shift := uint(0); ; shift += 7 {
 10308  				if shift >= 64 {
 10309  					return ErrIntOverflowUnknonwnproto
 10310  				}
 10311  				if iNdEx >= l {
 10312  					return io.ErrUnexpectedEOF
 10313  				}
 10314  				b := dAtA[iNdEx]
 10315  				iNdEx++
 10316  				msglen |= int(b&0x7F) << shift
 10317  				if b < 0x80 {
 10318  					break
 10319  				}
 10320  			}
 10321  			if msglen < 0 {
 10322  				return ErrInvalidLengthUnknonwnproto
 10323  			}
 10324  			postIndex := iNdEx + msglen
 10325  			if postIndex < 0 {
 10326  				return ErrInvalidLengthUnknonwnproto
 10327  			}
 10328  			if postIndex > l {
 10329  				return io.ErrUnexpectedEOF
 10330  			}
 10331  			if m.Inner == nil {
 10332  				m.Inner = &TestVersion3LoneNesting_Inner1_InnerInner{}
 10333  			}
 10334  			if err := m.Inner.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10335  				return err
 10336  			}
 10337  			iNdEx = postIndex
 10338  		default:
 10339  			iNdEx = preIndex
 10340  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
 10341  			if err != nil {
 10342  				return err
 10343  			}
 10344  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 10345  				return ErrInvalidLengthUnknonwnproto
 10346  			}
 10347  			if (iNdEx + skippy) > l {
 10348  				return io.ErrUnexpectedEOF
 10349  			}
 10350  			iNdEx += skippy
 10351  		}
 10352  	}
 10353  
 10354  	if iNdEx > l {
 10355  		return io.ErrUnexpectedEOF
 10356  	}
 10357  	return nil
 10358  }
 10359  func (m *TestVersion3LoneNesting_Inner1_InnerInner) Unmarshal(dAtA []byte) error {
 10360  	l := len(dAtA)
 10361  	iNdEx := 0
 10362  	for iNdEx < l {
 10363  		preIndex := iNdEx
 10364  		var wire uint64
 10365  		for shift := uint(0); ; shift += 7 {
 10366  			if shift >= 64 {
 10367  				return ErrIntOverflowUnknonwnproto
 10368  			}
 10369  			if iNdEx >= l {
 10370  				return io.ErrUnexpectedEOF
 10371  			}
 10372  			b := dAtA[iNdEx]
 10373  			iNdEx++
 10374  			wire |= uint64(b&0x7F) << shift
 10375  			if b < 0x80 {
 10376  				break
 10377  			}
 10378  		}
 10379  		fieldNum := int32(wire >> 3)
 10380  		wireType := int(wire & 0x7)
 10381  		if wireType == 4 {
 10382  			return fmt.Errorf("proto: InnerInner: wiretype end group for non-group")
 10383  		}
 10384  		if fieldNum <= 0 {
 10385  			return fmt.Errorf("proto: InnerInner: illegal tag %d (wire type %d)", fieldNum, wire)
 10386  		}
 10387  		switch fieldNum {
 10388  		case 1:
 10389  			if wireType != 2 {
 10390  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
 10391  			}
 10392  			var stringLen uint64
 10393  			for shift := uint(0); ; shift += 7 {
 10394  				if shift >= 64 {
 10395  					return ErrIntOverflowUnknonwnproto
 10396  				}
 10397  				if iNdEx >= l {
 10398  					return io.ErrUnexpectedEOF
 10399  				}
 10400  				b := dAtA[iNdEx]
 10401  				iNdEx++
 10402  				stringLen |= uint64(b&0x7F) << shift
 10403  				if b < 0x80 {
 10404  					break
 10405  				}
 10406  			}
 10407  			intStringLen := int(stringLen)
 10408  			if intStringLen < 0 {
 10409  				return ErrInvalidLengthUnknonwnproto
 10410  			}
 10411  			postIndex := iNdEx + intStringLen
 10412  			if postIndex < 0 {
 10413  				return ErrInvalidLengthUnknonwnproto
 10414  			}
 10415  			if postIndex > l {
 10416  				return io.ErrUnexpectedEOF
 10417  			}
 10418  			m.Id = string(dAtA[iNdEx:postIndex])
 10419  			iNdEx = postIndex
 10420  		case 2:
 10421  			if wireType != 2 {
 10422  				return fmt.Errorf("proto: wrong wireType = %d for field City", wireType)
 10423  			}
 10424  			var stringLen uint64
 10425  			for shift := uint(0); ; shift += 7 {
 10426  				if shift >= 64 {
 10427  					return ErrIntOverflowUnknonwnproto
 10428  				}
 10429  				if iNdEx >= l {
 10430  					return io.ErrUnexpectedEOF
 10431  				}
 10432  				b := dAtA[iNdEx]
 10433  				iNdEx++
 10434  				stringLen |= uint64(b&0x7F) << shift
 10435  				if b < 0x80 {
 10436  					break
 10437  				}
 10438  			}
 10439  			intStringLen := int(stringLen)
 10440  			if intStringLen < 0 {
 10441  				return ErrInvalidLengthUnknonwnproto
 10442  			}
 10443  			postIndex := iNdEx + intStringLen
 10444  			if postIndex < 0 {
 10445  				return ErrInvalidLengthUnknonwnproto
 10446  			}
 10447  			if postIndex > l {
 10448  				return io.ErrUnexpectedEOF
 10449  			}
 10450  			m.City = string(dAtA[iNdEx:postIndex])
 10451  			iNdEx = postIndex
 10452  		default:
 10453  			iNdEx = preIndex
 10454  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
 10455  			if err != nil {
 10456  				return err
 10457  			}
 10458  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 10459  				return ErrInvalidLengthUnknonwnproto
 10460  			}
 10461  			if (iNdEx + skippy) > l {
 10462  				return io.ErrUnexpectedEOF
 10463  			}
 10464  			iNdEx += skippy
 10465  		}
 10466  	}
 10467  
 10468  	if iNdEx > l {
 10469  		return io.ErrUnexpectedEOF
 10470  	}
 10471  	return nil
 10472  }
 10473  func (m *TestVersion3LoneNesting_Inner2) Unmarshal(dAtA []byte) error {
 10474  	l := len(dAtA)
 10475  	iNdEx := 0
 10476  	for iNdEx < l {
 10477  		preIndex := iNdEx
 10478  		var wire uint64
 10479  		for shift := uint(0); ; shift += 7 {
 10480  			if shift >= 64 {
 10481  				return ErrIntOverflowUnknonwnproto
 10482  			}
 10483  			if iNdEx >= l {
 10484  				return io.ErrUnexpectedEOF
 10485  			}
 10486  			b := dAtA[iNdEx]
 10487  			iNdEx++
 10488  			wire |= uint64(b&0x7F) << shift
 10489  			if b < 0x80 {
 10490  				break
 10491  			}
 10492  		}
 10493  		fieldNum := int32(wire >> 3)
 10494  		wireType := int(wire & 0x7)
 10495  		if wireType == 4 {
 10496  			return fmt.Errorf("proto: Inner2: wiretype end group for non-group")
 10497  		}
 10498  		if fieldNum <= 0 {
 10499  			return fmt.Errorf("proto: Inner2: illegal tag %d (wire type %d)", fieldNum, wire)
 10500  		}
 10501  		switch fieldNum {
 10502  		case 1:
 10503  			if wireType != 2 {
 10504  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
 10505  			}
 10506  			var stringLen uint64
 10507  			for shift := uint(0); ; shift += 7 {
 10508  				if shift >= 64 {
 10509  					return ErrIntOverflowUnknonwnproto
 10510  				}
 10511  				if iNdEx >= l {
 10512  					return io.ErrUnexpectedEOF
 10513  				}
 10514  				b := dAtA[iNdEx]
 10515  				iNdEx++
 10516  				stringLen |= uint64(b&0x7F) << shift
 10517  				if b < 0x80 {
 10518  					break
 10519  				}
 10520  			}
 10521  			intStringLen := int(stringLen)
 10522  			if intStringLen < 0 {
 10523  				return ErrInvalidLengthUnknonwnproto
 10524  			}
 10525  			postIndex := iNdEx + intStringLen
 10526  			if postIndex < 0 {
 10527  				return ErrInvalidLengthUnknonwnproto
 10528  			}
 10529  			if postIndex > l {
 10530  				return io.ErrUnexpectedEOF
 10531  			}
 10532  			m.Id = string(dAtA[iNdEx:postIndex])
 10533  			iNdEx = postIndex
 10534  		case 2:
 10535  			if wireType != 2 {
 10536  				return fmt.Errorf("proto: wrong wireType = %d for field Country", wireType)
 10537  			}
 10538  			var stringLen uint64
 10539  			for shift := uint(0); ; shift += 7 {
 10540  				if shift >= 64 {
 10541  					return ErrIntOverflowUnknonwnproto
 10542  				}
 10543  				if iNdEx >= l {
 10544  					return io.ErrUnexpectedEOF
 10545  				}
 10546  				b := dAtA[iNdEx]
 10547  				iNdEx++
 10548  				stringLen |= uint64(b&0x7F) << shift
 10549  				if b < 0x80 {
 10550  					break
 10551  				}
 10552  			}
 10553  			intStringLen := int(stringLen)
 10554  			if intStringLen < 0 {
 10555  				return ErrInvalidLengthUnknonwnproto
 10556  			}
 10557  			postIndex := iNdEx + intStringLen
 10558  			if postIndex < 0 {
 10559  				return ErrInvalidLengthUnknonwnproto
 10560  			}
 10561  			if postIndex > l {
 10562  				return io.ErrUnexpectedEOF
 10563  			}
 10564  			m.Country = string(dAtA[iNdEx:postIndex])
 10565  			iNdEx = postIndex
 10566  		case 3:
 10567  			if wireType != 2 {
 10568  				return fmt.Errorf("proto: wrong wireType = %d for field Inner", wireType)
 10569  			}
 10570  			var msglen int
 10571  			for shift := uint(0); ; shift += 7 {
 10572  				if shift >= 64 {
 10573  					return ErrIntOverflowUnknonwnproto
 10574  				}
 10575  				if iNdEx >= l {
 10576  					return io.ErrUnexpectedEOF
 10577  				}
 10578  				b := dAtA[iNdEx]
 10579  				iNdEx++
 10580  				msglen |= int(b&0x7F) << shift
 10581  				if b < 0x80 {
 10582  					break
 10583  				}
 10584  			}
 10585  			if msglen < 0 {
 10586  				return ErrInvalidLengthUnknonwnproto
 10587  			}
 10588  			postIndex := iNdEx + msglen
 10589  			if postIndex < 0 {
 10590  				return ErrInvalidLengthUnknonwnproto
 10591  			}
 10592  			if postIndex > l {
 10593  				return io.ErrUnexpectedEOF
 10594  			}
 10595  			if m.Inner == nil {
 10596  				m.Inner = &TestVersion3LoneNesting_Inner2_InnerInner{}
 10597  			}
 10598  			if err := m.Inner.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10599  				return err
 10600  			}
 10601  			iNdEx = postIndex
 10602  		default:
 10603  			iNdEx = preIndex
 10604  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
 10605  			if err != nil {
 10606  				return err
 10607  			}
 10608  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 10609  				return ErrInvalidLengthUnknonwnproto
 10610  			}
 10611  			if (iNdEx + skippy) > l {
 10612  				return io.ErrUnexpectedEOF
 10613  			}
 10614  			iNdEx += skippy
 10615  		}
 10616  	}
 10617  
 10618  	if iNdEx > l {
 10619  		return io.ErrUnexpectedEOF
 10620  	}
 10621  	return nil
 10622  }
 10623  func (m *TestVersion3LoneNesting_Inner2_InnerInner) Unmarshal(dAtA []byte) error {
 10624  	l := len(dAtA)
 10625  	iNdEx := 0
 10626  	for iNdEx < l {
 10627  		preIndex := iNdEx
 10628  		var wire uint64
 10629  		for shift := uint(0); ; shift += 7 {
 10630  			if shift >= 64 {
 10631  				return ErrIntOverflowUnknonwnproto
 10632  			}
 10633  			if iNdEx >= l {
 10634  				return io.ErrUnexpectedEOF
 10635  			}
 10636  			b := dAtA[iNdEx]
 10637  			iNdEx++
 10638  			wire |= uint64(b&0x7F) << shift
 10639  			if b < 0x80 {
 10640  				break
 10641  			}
 10642  		}
 10643  		fieldNum := int32(wire >> 3)
 10644  		wireType := int(wire & 0x7)
 10645  		if wireType == 4 {
 10646  			return fmt.Errorf("proto: InnerInner: wiretype end group for non-group")
 10647  		}
 10648  		if fieldNum <= 0 {
 10649  			return fmt.Errorf("proto: InnerInner: illegal tag %d (wire type %d)", fieldNum, wire)
 10650  		}
 10651  		switch fieldNum {
 10652  		case 1:
 10653  			if wireType != 2 {
 10654  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
 10655  			}
 10656  			var stringLen uint64
 10657  			for shift := uint(0); ; shift += 7 {
 10658  				if shift >= 64 {
 10659  					return ErrIntOverflowUnknonwnproto
 10660  				}
 10661  				if iNdEx >= l {
 10662  					return io.ErrUnexpectedEOF
 10663  				}
 10664  				b := dAtA[iNdEx]
 10665  				iNdEx++
 10666  				stringLen |= uint64(b&0x7F) << shift
 10667  				if b < 0x80 {
 10668  					break
 10669  				}
 10670  			}
 10671  			intStringLen := int(stringLen)
 10672  			if intStringLen < 0 {
 10673  				return ErrInvalidLengthUnknonwnproto
 10674  			}
 10675  			postIndex := iNdEx + intStringLen
 10676  			if postIndex < 0 {
 10677  				return ErrInvalidLengthUnknonwnproto
 10678  			}
 10679  			if postIndex > l {
 10680  				return io.ErrUnexpectedEOF
 10681  			}
 10682  			m.Id = string(dAtA[iNdEx:postIndex])
 10683  			iNdEx = postIndex
 10684  		case 2:
 10685  			if wireType != 2 {
 10686  				return fmt.Errorf("proto: wrong wireType = %d for field City", wireType)
 10687  			}
 10688  			var stringLen uint64
 10689  			for shift := uint(0); ; shift += 7 {
 10690  				if shift >= 64 {
 10691  					return ErrIntOverflowUnknonwnproto
 10692  				}
 10693  				if iNdEx >= l {
 10694  					return io.ErrUnexpectedEOF
 10695  				}
 10696  				b := dAtA[iNdEx]
 10697  				iNdEx++
 10698  				stringLen |= uint64(b&0x7F) << shift
 10699  				if b < 0x80 {
 10700  					break
 10701  				}
 10702  			}
 10703  			intStringLen := int(stringLen)
 10704  			if intStringLen < 0 {
 10705  				return ErrInvalidLengthUnknonwnproto
 10706  			}
 10707  			postIndex := iNdEx + intStringLen
 10708  			if postIndex < 0 {
 10709  				return ErrInvalidLengthUnknonwnproto
 10710  			}
 10711  			if postIndex > l {
 10712  				return io.ErrUnexpectedEOF
 10713  			}
 10714  			m.City = string(dAtA[iNdEx:postIndex])
 10715  			iNdEx = postIndex
 10716  		default:
 10717  			iNdEx = preIndex
 10718  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
 10719  			if err != nil {
 10720  				return err
 10721  			}
 10722  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 10723  				return ErrInvalidLengthUnknonwnproto
 10724  			}
 10725  			if (iNdEx + skippy) > l {
 10726  				return io.ErrUnexpectedEOF
 10727  			}
 10728  			iNdEx += skippy
 10729  		}
 10730  	}
 10731  
 10732  	if iNdEx > l {
 10733  		return io.ErrUnexpectedEOF
 10734  	}
 10735  	return nil
 10736  }
 10737  func (m *TestVersion4LoneNesting) Unmarshal(dAtA []byte) error {
 10738  	l := len(dAtA)
 10739  	iNdEx := 0
 10740  	for iNdEx < l {
 10741  		preIndex := iNdEx
 10742  		var wire uint64
 10743  		for shift := uint(0); ; shift += 7 {
 10744  			if shift >= 64 {
 10745  				return ErrIntOverflowUnknonwnproto
 10746  			}
 10747  			if iNdEx >= l {
 10748  				return io.ErrUnexpectedEOF
 10749  			}
 10750  			b := dAtA[iNdEx]
 10751  			iNdEx++
 10752  			wire |= uint64(b&0x7F) << shift
 10753  			if b < 0x80 {
 10754  				break
 10755  			}
 10756  		}
 10757  		fieldNum := int32(wire >> 3)
 10758  		wireType := int(wire & 0x7)
 10759  		if wireType == 4 {
 10760  			return fmt.Errorf("proto: TestVersion4LoneNesting: wiretype end group for non-group")
 10761  		}
 10762  		if fieldNum <= 0 {
 10763  			return fmt.Errorf("proto: TestVersion4LoneNesting: illegal tag %d (wire type %d)", fieldNum, wire)
 10764  		}
 10765  		switch fieldNum {
 10766  		case 1:
 10767  			if wireType != 0 {
 10768  				return fmt.Errorf("proto: wrong wireType = %d for field X", wireType)
 10769  			}
 10770  			m.X = 0
 10771  			for shift := uint(0); ; shift += 7 {
 10772  				if shift >= 64 {
 10773  					return ErrIntOverflowUnknonwnproto
 10774  				}
 10775  				if iNdEx >= l {
 10776  					return io.ErrUnexpectedEOF
 10777  				}
 10778  				b := dAtA[iNdEx]
 10779  				iNdEx++
 10780  				m.X |= int64(b&0x7F) << shift
 10781  				if b < 0x80 {
 10782  					break
 10783  				}
 10784  			}
 10785  		case 2:
 10786  			if wireType != 2 {
 10787  				return fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
 10788  			}
 10789  			var msglen int
 10790  			for shift := uint(0); ; shift += 7 {
 10791  				if shift >= 64 {
 10792  					return ErrIntOverflowUnknonwnproto
 10793  				}
 10794  				if iNdEx >= l {
 10795  					return io.ErrUnexpectedEOF
 10796  				}
 10797  				b := dAtA[iNdEx]
 10798  				iNdEx++
 10799  				msglen |= int(b&0x7F) << shift
 10800  				if b < 0x80 {
 10801  					break
 10802  				}
 10803  			}
 10804  			if msglen < 0 {
 10805  				return ErrInvalidLengthUnknonwnproto
 10806  			}
 10807  			postIndex := iNdEx + msglen
 10808  			if postIndex < 0 {
 10809  				return ErrInvalidLengthUnknonwnproto
 10810  			}
 10811  			if postIndex > l {
 10812  				return io.ErrUnexpectedEOF
 10813  			}
 10814  			if m.A == nil {
 10815  				m.A = &TestVersion3{}
 10816  			}
 10817  			if err := m.A.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10818  				return err
 10819  			}
 10820  			iNdEx = postIndex
 10821  		case 3:
 10822  			if wireType != 2 {
 10823  				return fmt.Errorf("proto: wrong wireType = %d for field B", wireType)
 10824  			}
 10825  			var msglen int
 10826  			for shift := uint(0); ; shift += 7 {
 10827  				if shift >= 64 {
 10828  					return ErrIntOverflowUnknonwnproto
 10829  				}
 10830  				if iNdEx >= l {
 10831  					return io.ErrUnexpectedEOF
 10832  				}
 10833  				b := dAtA[iNdEx]
 10834  				iNdEx++
 10835  				msglen |= int(b&0x7F) << shift
 10836  				if b < 0x80 {
 10837  					break
 10838  				}
 10839  			}
 10840  			if msglen < 0 {
 10841  				return ErrInvalidLengthUnknonwnproto
 10842  			}
 10843  			postIndex := iNdEx + msglen
 10844  			if postIndex < 0 {
 10845  				return ErrInvalidLengthUnknonwnproto
 10846  			}
 10847  			if postIndex > l {
 10848  				return io.ErrUnexpectedEOF
 10849  			}
 10850  			if m.B == nil {
 10851  				m.B = &TestVersion3{}
 10852  			}
 10853  			if err := m.B.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10854  				return err
 10855  			}
 10856  			iNdEx = postIndex
 10857  		case 4:
 10858  			if wireType != 2 {
 10859  				return fmt.Errorf("proto: wrong wireType = %d for field C", wireType)
 10860  			}
 10861  			var msglen int
 10862  			for shift := uint(0); ; shift += 7 {
 10863  				if shift >= 64 {
 10864  					return ErrIntOverflowUnknonwnproto
 10865  				}
 10866  				if iNdEx >= l {
 10867  					return io.ErrUnexpectedEOF
 10868  				}
 10869  				b := dAtA[iNdEx]
 10870  				iNdEx++
 10871  				msglen |= int(b&0x7F) << shift
 10872  				if b < 0x80 {
 10873  					break
 10874  				}
 10875  			}
 10876  			if msglen < 0 {
 10877  				return ErrInvalidLengthUnknonwnproto
 10878  			}
 10879  			postIndex := iNdEx + msglen
 10880  			if postIndex < 0 {
 10881  				return ErrInvalidLengthUnknonwnproto
 10882  			}
 10883  			if postIndex > l {
 10884  				return io.ErrUnexpectedEOF
 10885  			}
 10886  			m.C = append(m.C, &TestVersion3{})
 10887  			if err := m.C[len(m.C)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10888  				return err
 10889  			}
 10890  			iNdEx = postIndex
 10891  		case 5:
 10892  			if wireType != 2 {
 10893  				return fmt.Errorf("proto: wrong wireType = %d for field D", wireType)
 10894  			}
 10895  			var msglen int
 10896  			for shift := uint(0); ; shift += 7 {
 10897  				if shift >= 64 {
 10898  					return ErrIntOverflowUnknonwnproto
 10899  				}
 10900  				if iNdEx >= l {
 10901  					return io.ErrUnexpectedEOF
 10902  				}
 10903  				b := dAtA[iNdEx]
 10904  				iNdEx++
 10905  				msglen |= int(b&0x7F) << shift
 10906  				if b < 0x80 {
 10907  					break
 10908  				}
 10909  			}
 10910  			if msglen < 0 {
 10911  				return ErrInvalidLengthUnknonwnproto
 10912  			}
 10913  			postIndex := iNdEx + msglen
 10914  			if postIndex < 0 {
 10915  				return ErrInvalidLengthUnknonwnproto
 10916  			}
 10917  			if postIndex > l {
 10918  				return io.ErrUnexpectedEOF
 10919  			}
 10920  			m.D = append(m.D, &TestVersion3{})
 10921  			if err := m.D[len(m.D)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10922  				return err
 10923  			}
 10924  			iNdEx = postIndex
 10925  		case 7:
 10926  			if wireType != 2 {
 10927  				return fmt.Errorf("proto: wrong wireType = %d for field F", wireType)
 10928  			}
 10929  			var msglen int
 10930  			for shift := uint(0); ; shift += 7 {
 10931  				if shift >= 64 {
 10932  					return ErrIntOverflowUnknonwnproto
 10933  				}
 10934  				if iNdEx >= l {
 10935  					return io.ErrUnexpectedEOF
 10936  				}
 10937  				b := dAtA[iNdEx]
 10938  				iNdEx++
 10939  				msglen |= int(b&0x7F) << shift
 10940  				if b < 0x80 {
 10941  					break
 10942  				}
 10943  			}
 10944  			if msglen < 0 {
 10945  				return ErrInvalidLengthUnknonwnproto
 10946  			}
 10947  			postIndex := iNdEx + msglen
 10948  			if postIndex < 0 {
 10949  				return ErrInvalidLengthUnknonwnproto
 10950  			}
 10951  			if postIndex > l {
 10952  				return io.ErrUnexpectedEOF
 10953  			}
 10954  			v := &TestVersion3LoneNesting{}
 10955  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10956  				return err
 10957  			}
 10958  			m.Sum = &TestVersion4LoneNesting_F{v}
 10959  			iNdEx = postIndex
 10960  		case 8:
 10961  			if wireType != 2 {
 10962  				return fmt.Errorf("proto: wrong wireType = %d for field G", wireType)
 10963  			}
 10964  			var msglen int
 10965  			for shift := uint(0); ; shift += 7 {
 10966  				if shift >= 64 {
 10967  					return ErrIntOverflowUnknonwnproto
 10968  				}
 10969  				if iNdEx >= l {
 10970  					return io.ErrUnexpectedEOF
 10971  				}
 10972  				b := dAtA[iNdEx]
 10973  				iNdEx++
 10974  				msglen |= int(b&0x7F) << shift
 10975  				if b < 0x80 {
 10976  					break
 10977  				}
 10978  			}
 10979  			if msglen < 0 {
 10980  				return ErrInvalidLengthUnknonwnproto
 10981  			}
 10982  			postIndex := iNdEx + msglen
 10983  			if postIndex < 0 {
 10984  				return ErrInvalidLengthUnknonwnproto
 10985  			}
 10986  			if postIndex > l {
 10987  				return io.ErrUnexpectedEOF
 10988  			}
 10989  			if m.G == nil {
 10990  				m.G = &types.Any{}
 10991  			}
 10992  			if err := m.G.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 10993  				return err
 10994  			}
 10995  			iNdEx = postIndex
 10996  		case 9:
 10997  			if wireType != 2 {
 10998  				return fmt.Errorf("proto: wrong wireType = %d for field H", wireType)
 10999  			}
 11000  			var msglen int
 11001  			for shift := uint(0); ; shift += 7 {
 11002  				if shift >= 64 {
 11003  					return ErrIntOverflowUnknonwnproto
 11004  				}
 11005  				if iNdEx >= l {
 11006  					return io.ErrUnexpectedEOF
 11007  				}
 11008  				b := dAtA[iNdEx]
 11009  				iNdEx++
 11010  				msglen |= int(b&0x7F) << shift
 11011  				if b < 0x80 {
 11012  					break
 11013  				}
 11014  			}
 11015  			if msglen < 0 {
 11016  				return ErrInvalidLengthUnknonwnproto
 11017  			}
 11018  			postIndex := iNdEx + msglen
 11019  			if postIndex < 0 {
 11020  				return ErrInvalidLengthUnknonwnproto
 11021  			}
 11022  			if postIndex > l {
 11023  				return io.ErrUnexpectedEOF
 11024  			}
 11025  			m.H = append(m.H, &TestVersion1{})
 11026  			if err := m.H[len(m.H)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11027  				return err
 11028  			}
 11029  			iNdEx = postIndex
 11030  		case 12:
 11031  			if wireType != 2 {
 11032  				return fmt.Errorf("proto: wrong wireType = %d for field Customer1", wireType)
 11033  			}
 11034  			var msglen int
 11035  			for shift := uint(0); ; shift += 7 {
 11036  				if shift >= 64 {
 11037  					return ErrIntOverflowUnknonwnproto
 11038  				}
 11039  				if iNdEx >= l {
 11040  					return io.ErrUnexpectedEOF
 11041  				}
 11042  				b := dAtA[iNdEx]
 11043  				iNdEx++
 11044  				msglen |= int(b&0x7F) << shift
 11045  				if b < 0x80 {
 11046  					break
 11047  				}
 11048  			}
 11049  			if msglen < 0 {
 11050  				return ErrInvalidLengthUnknonwnproto
 11051  			}
 11052  			postIndex := iNdEx + msglen
 11053  			if postIndex < 0 {
 11054  				return ErrInvalidLengthUnknonwnproto
 11055  			}
 11056  			if postIndex > l {
 11057  				return io.ErrUnexpectedEOF
 11058  			}
 11059  			if m.Customer1 == nil {
 11060  				m.Customer1 = &Customer1{}
 11061  			}
 11062  			if err := m.Customer1.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11063  				return err
 11064  			}
 11065  			iNdEx = postIndex
 11066  		case 14:
 11067  			if wireType != 2 {
 11068  				return fmt.Errorf("proto: wrong wireType = %d for field Inner1", wireType)
 11069  			}
 11070  			var msglen int
 11071  			for shift := uint(0); ; shift += 7 {
 11072  				if shift >= 64 {
 11073  					return ErrIntOverflowUnknonwnproto
 11074  				}
 11075  				if iNdEx >= l {
 11076  					return io.ErrUnexpectedEOF
 11077  				}
 11078  				b := dAtA[iNdEx]
 11079  				iNdEx++
 11080  				msglen |= int(b&0x7F) << shift
 11081  				if b < 0x80 {
 11082  					break
 11083  				}
 11084  			}
 11085  			if msglen < 0 {
 11086  				return ErrInvalidLengthUnknonwnproto
 11087  			}
 11088  			postIndex := iNdEx + msglen
 11089  			if postIndex < 0 {
 11090  				return ErrInvalidLengthUnknonwnproto
 11091  			}
 11092  			if postIndex > l {
 11093  				return io.ErrUnexpectedEOF
 11094  			}
 11095  			if m.Inner1 == nil {
 11096  				m.Inner1 = &TestVersion4LoneNesting_Inner1{}
 11097  			}
 11098  			if err := m.Inner1.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11099  				return err
 11100  			}
 11101  			iNdEx = postIndex
 11102  		case 15:
 11103  			if wireType != 2 {
 11104  				return fmt.Errorf("proto: wrong wireType = %d for field Inner2", wireType)
 11105  			}
 11106  			var msglen int
 11107  			for shift := uint(0); ; shift += 7 {
 11108  				if shift >= 64 {
 11109  					return ErrIntOverflowUnknonwnproto
 11110  				}
 11111  				if iNdEx >= l {
 11112  					return io.ErrUnexpectedEOF
 11113  				}
 11114  				b := dAtA[iNdEx]
 11115  				iNdEx++
 11116  				msglen |= int(b&0x7F) << shift
 11117  				if b < 0x80 {
 11118  					break
 11119  				}
 11120  			}
 11121  			if msglen < 0 {
 11122  				return ErrInvalidLengthUnknonwnproto
 11123  			}
 11124  			postIndex := iNdEx + msglen
 11125  			if postIndex < 0 {
 11126  				return ErrInvalidLengthUnknonwnproto
 11127  			}
 11128  			if postIndex > l {
 11129  				return io.ErrUnexpectedEOF
 11130  			}
 11131  			if m.Inner2 == nil {
 11132  				m.Inner2 = &TestVersion4LoneNesting_Inner2{}
 11133  			}
 11134  			if err := m.Inner2.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11135  				return err
 11136  			}
 11137  			iNdEx = postIndex
 11138  		case 1031:
 11139  			if wireType != 2 {
 11140  				return fmt.Errorf("proto: wrong wireType = %d for field NonCriticalField", wireType)
 11141  			}
 11142  			var stringLen uint64
 11143  			for shift := uint(0); ; shift += 7 {
 11144  				if shift >= 64 {
 11145  					return ErrIntOverflowUnknonwnproto
 11146  				}
 11147  				if iNdEx >= l {
 11148  					return io.ErrUnexpectedEOF
 11149  				}
 11150  				b := dAtA[iNdEx]
 11151  				iNdEx++
 11152  				stringLen |= uint64(b&0x7F) << shift
 11153  				if b < 0x80 {
 11154  					break
 11155  				}
 11156  			}
 11157  			intStringLen := int(stringLen)
 11158  			if intStringLen < 0 {
 11159  				return ErrInvalidLengthUnknonwnproto
 11160  			}
 11161  			postIndex := iNdEx + intStringLen
 11162  			if postIndex < 0 {
 11163  				return ErrInvalidLengthUnknonwnproto
 11164  			}
 11165  			if postIndex > l {
 11166  				return io.ErrUnexpectedEOF
 11167  			}
 11168  			m.NonCriticalField = string(dAtA[iNdEx:postIndex])
 11169  			iNdEx = postIndex
 11170  		default:
 11171  			iNdEx = preIndex
 11172  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
 11173  			if err != nil {
 11174  				return err
 11175  			}
 11176  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 11177  				return ErrInvalidLengthUnknonwnproto
 11178  			}
 11179  			if (iNdEx + skippy) > l {
 11180  				return io.ErrUnexpectedEOF
 11181  			}
 11182  			iNdEx += skippy
 11183  		}
 11184  	}
 11185  
 11186  	if iNdEx > l {
 11187  		return io.ErrUnexpectedEOF
 11188  	}
 11189  	return nil
 11190  }
 11191  func (m *TestVersion4LoneNesting_Inner1) Unmarshal(dAtA []byte) error {
 11192  	l := len(dAtA)
 11193  	iNdEx := 0
 11194  	for iNdEx < l {
 11195  		preIndex := iNdEx
 11196  		var wire uint64
 11197  		for shift := uint(0); ; shift += 7 {
 11198  			if shift >= 64 {
 11199  				return ErrIntOverflowUnknonwnproto
 11200  			}
 11201  			if iNdEx >= l {
 11202  				return io.ErrUnexpectedEOF
 11203  			}
 11204  			b := dAtA[iNdEx]
 11205  			iNdEx++
 11206  			wire |= uint64(b&0x7F) << shift
 11207  			if b < 0x80 {
 11208  				break
 11209  			}
 11210  		}
 11211  		fieldNum := int32(wire >> 3)
 11212  		wireType := int(wire & 0x7)
 11213  		if wireType == 4 {
 11214  			return fmt.Errorf("proto: Inner1: wiretype end group for non-group")
 11215  		}
 11216  		if fieldNum <= 0 {
 11217  			return fmt.Errorf("proto: Inner1: illegal tag %d (wire type %d)", fieldNum, wire)
 11218  		}
 11219  		switch fieldNum {
 11220  		case 1:
 11221  			if wireType != 0 {
 11222  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
 11223  			}
 11224  			m.Id = 0
 11225  			for shift := uint(0); ; shift += 7 {
 11226  				if shift >= 64 {
 11227  					return ErrIntOverflowUnknonwnproto
 11228  				}
 11229  				if iNdEx >= l {
 11230  					return io.ErrUnexpectedEOF
 11231  				}
 11232  				b := dAtA[iNdEx]
 11233  				iNdEx++
 11234  				m.Id |= int64(b&0x7F) << shift
 11235  				if b < 0x80 {
 11236  					break
 11237  				}
 11238  			}
 11239  		case 2:
 11240  			if wireType != 2 {
 11241  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
 11242  			}
 11243  			var stringLen uint64
 11244  			for shift := uint(0); ; shift += 7 {
 11245  				if shift >= 64 {
 11246  					return ErrIntOverflowUnknonwnproto
 11247  				}
 11248  				if iNdEx >= l {
 11249  					return io.ErrUnexpectedEOF
 11250  				}
 11251  				b := dAtA[iNdEx]
 11252  				iNdEx++
 11253  				stringLen |= uint64(b&0x7F) << shift
 11254  				if b < 0x80 {
 11255  					break
 11256  				}
 11257  			}
 11258  			intStringLen := int(stringLen)
 11259  			if intStringLen < 0 {
 11260  				return ErrInvalidLengthUnknonwnproto
 11261  			}
 11262  			postIndex := iNdEx + intStringLen
 11263  			if postIndex < 0 {
 11264  				return ErrInvalidLengthUnknonwnproto
 11265  			}
 11266  			if postIndex > l {
 11267  				return io.ErrUnexpectedEOF
 11268  			}
 11269  			m.Name = string(dAtA[iNdEx:postIndex])
 11270  			iNdEx = postIndex
 11271  		case 3:
 11272  			if wireType != 2 {
 11273  				return fmt.Errorf("proto: wrong wireType = %d for field Inner", wireType)
 11274  			}
 11275  			var msglen int
 11276  			for shift := uint(0); ; shift += 7 {
 11277  				if shift >= 64 {
 11278  					return ErrIntOverflowUnknonwnproto
 11279  				}
 11280  				if iNdEx >= l {
 11281  					return io.ErrUnexpectedEOF
 11282  				}
 11283  				b := dAtA[iNdEx]
 11284  				iNdEx++
 11285  				msglen |= int(b&0x7F) << shift
 11286  				if b < 0x80 {
 11287  					break
 11288  				}
 11289  			}
 11290  			if msglen < 0 {
 11291  				return ErrInvalidLengthUnknonwnproto
 11292  			}
 11293  			postIndex := iNdEx + msglen
 11294  			if postIndex < 0 {
 11295  				return ErrInvalidLengthUnknonwnproto
 11296  			}
 11297  			if postIndex > l {
 11298  				return io.ErrUnexpectedEOF
 11299  			}
 11300  			if m.Inner == nil {
 11301  				m.Inner = &TestVersion4LoneNesting_Inner1_InnerInner{}
 11302  			}
 11303  			if err := m.Inner.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11304  				return err
 11305  			}
 11306  			iNdEx = postIndex
 11307  		default:
 11308  			iNdEx = preIndex
 11309  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
 11310  			if err != nil {
 11311  				return err
 11312  			}
 11313  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 11314  				return ErrInvalidLengthUnknonwnproto
 11315  			}
 11316  			if (iNdEx + skippy) > l {
 11317  				return io.ErrUnexpectedEOF
 11318  			}
 11319  			iNdEx += skippy
 11320  		}
 11321  	}
 11322  
 11323  	if iNdEx > l {
 11324  		return io.ErrUnexpectedEOF
 11325  	}
 11326  	return nil
 11327  }
 11328  func (m *TestVersion4LoneNesting_Inner1_InnerInner) Unmarshal(dAtA []byte) error {
 11329  	l := len(dAtA)
 11330  	iNdEx := 0
 11331  	for iNdEx < l {
 11332  		preIndex := iNdEx
 11333  		var wire uint64
 11334  		for shift := uint(0); ; shift += 7 {
 11335  			if shift >= 64 {
 11336  				return ErrIntOverflowUnknonwnproto
 11337  			}
 11338  			if iNdEx >= l {
 11339  				return io.ErrUnexpectedEOF
 11340  			}
 11341  			b := dAtA[iNdEx]
 11342  			iNdEx++
 11343  			wire |= uint64(b&0x7F) << shift
 11344  			if b < 0x80 {
 11345  				break
 11346  			}
 11347  		}
 11348  		fieldNum := int32(wire >> 3)
 11349  		wireType := int(wire & 0x7)
 11350  		if wireType == 4 {
 11351  			return fmt.Errorf("proto: InnerInner: wiretype end group for non-group")
 11352  		}
 11353  		if fieldNum <= 0 {
 11354  			return fmt.Errorf("proto: InnerInner: illegal tag %d (wire type %d)", fieldNum, wire)
 11355  		}
 11356  		switch fieldNum {
 11357  		case 1:
 11358  			if wireType != 0 {
 11359  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
 11360  			}
 11361  			m.Id = 0
 11362  			for shift := uint(0); ; shift += 7 {
 11363  				if shift >= 64 {
 11364  					return ErrIntOverflowUnknonwnproto
 11365  				}
 11366  				if iNdEx >= l {
 11367  					return io.ErrUnexpectedEOF
 11368  				}
 11369  				b := dAtA[iNdEx]
 11370  				iNdEx++
 11371  				m.Id |= int64(b&0x7F) << shift
 11372  				if b < 0x80 {
 11373  					break
 11374  				}
 11375  			}
 11376  		case 2:
 11377  			if wireType != 2 {
 11378  				return fmt.Errorf("proto: wrong wireType = %d for field City", wireType)
 11379  			}
 11380  			var stringLen uint64
 11381  			for shift := uint(0); ; shift += 7 {
 11382  				if shift >= 64 {
 11383  					return ErrIntOverflowUnknonwnproto
 11384  				}
 11385  				if iNdEx >= l {
 11386  					return io.ErrUnexpectedEOF
 11387  				}
 11388  				b := dAtA[iNdEx]
 11389  				iNdEx++
 11390  				stringLen |= uint64(b&0x7F) << shift
 11391  				if b < 0x80 {
 11392  					break
 11393  				}
 11394  			}
 11395  			intStringLen := int(stringLen)
 11396  			if intStringLen < 0 {
 11397  				return ErrInvalidLengthUnknonwnproto
 11398  			}
 11399  			postIndex := iNdEx + intStringLen
 11400  			if postIndex < 0 {
 11401  				return ErrInvalidLengthUnknonwnproto
 11402  			}
 11403  			if postIndex > l {
 11404  				return io.ErrUnexpectedEOF
 11405  			}
 11406  			m.City = string(dAtA[iNdEx:postIndex])
 11407  			iNdEx = postIndex
 11408  		default:
 11409  			iNdEx = preIndex
 11410  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
 11411  			if err != nil {
 11412  				return err
 11413  			}
 11414  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 11415  				return ErrInvalidLengthUnknonwnproto
 11416  			}
 11417  			if (iNdEx + skippy) > l {
 11418  				return io.ErrUnexpectedEOF
 11419  			}
 11420  			iNdEx += skippy
 11421  		}
 11422  	}
 11423  
 11424  	if iNdEx > l {
 11425  		return io.ErrUnexpectedEOF
 11426  	}
 11427  	return nil
 11428  }
 11429  func (m *TestVersion4LoneNesting_Inner2) Unmarshal(dAtA []byte) error {
 11430  	l := len(dAtA)
 11431  	iNdEx := 0
 11432  	for iNdEx < l {
 11433  		preIndex := iNdEx
 11434  		var wire uint64
 11435  		for shift := uint(0); ; shift += 7 {
 11436  			if shift >= 64 {
 11437  				return ErrIntOverflowUnknonwnproto
 11438  			}
 11439  			if iNdEx >= l {
 11440  				return io.ErrUnexpectedEOF
 11441  			}
 11442  			b := dAtA[iNdEx]
 11443  			iNdEx++
 11444  			wire |= uint64(b&0x7F) << shift
 11445  			if b < 0x80 {
 11446  				break
 11447  			}
 11448  		}
 11449  		fieldNum := int32(wire >> 3)
 11450  		wireType := int(wire & 0x7)
 11451  		if wireType == 4 {
 11452  			return fmt.Errorf("proto: Inner2: wiretype end group for non-group")
 11453  		}
 11454  		if fieldNum <= 0 {
 11455  			return fmt.Errorf("proto: Inner2: illegal tag %d (wire type %d)", fieldNum, wire)
 11456  		}
 11457  		switch fieldNum {
 11458  		case 1:
 11459  			if wireType != 2 {
 11460  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
 11461  			}
 11462  			var stringLen uint64
 11463  			for shift := uint(0); ; shift += 7 {
 11464  				if shift >= 64 {
 11465  					return ErrIntOverflowUnknonwnproto
 11466  				}
 11467  				if iNdEx >= l {
 11468  					return io.ErrUnexpectedEOF
 11469  				}
 11470  				b := dAtA[iNdEx]
 11471  				iNdEx++
 11472  				stringLen |= uint64(b&0x7F) << shift
 11473  				if b < 0x80 {
 11474  					break
 11475  				}
 11476  			}
 11477  			intStringLen := int(stringLen)
 11478  			if intStringLen < 0 {
 11479  				return ErrInvalidLengthUnknonwnproto
 11480  			}
 11481  			postIndex := iNdEx + intStringLen
 11482  			if postIndex < 0 {
 11483  				return ErrInvalidLengthUnknonwnproto
 11484  			}
 11485  			if postIndex > l {
 11486  				return io.ErrUnexpectedEOF
 11487  			}
 11488  			m.Id = string(dAtA[iNdEx:postIndex])
 11489  			iNdEx = postIndex
 11490  		case 2:
 11491  			if wireType != 2 {
 11492  				return fmt.Errorf("proto: wrong wireType = %d for field Country", wireType)
 11493  			}
 11494  			var stringLen uint64
 11495  			for shift := uint(0); ; shift += 7 {
 11496  				if shift >= 64 {
 11497  					return ErrIntOverflowUnknonwnproto
 11498  				}
 11499  				if iNdEx >= l {
 11500  					return io.ErrUnexpectedEOF
 11501  				}
 11502  				b := dAtA[iNdEx]
 11503  				iNdEx++
 11504  				stringLen |= uint64(b&0x7F) << shift
 11505  				if b < 0x80 {
 11506  					break
 11507  				}
 11508  			}
 11509  			intStringLen := int(stringLen)
 11510  			if intStringLen < 0 {
 11511  				return ErrInvalidLengthUnknonwnproto
 11512  			}
 11513  			postIndex := iNdEx + intStringLen
 11514  			if postIndex < 0 {
 11515  				return ErrInvalidLengthUnknonwnproto
 11516  			}
 11517  			if postIndex > l {
 11518  				return io.ErrUnexpectedEOF
 11519  			}
 11520  			m.Country = string(dAtA[iNdEx:postIndex])
 11521  			iNdEx = postIndex
 11522  		case 3:
 11523  			if wireType != 2 {
 11524  				return fmt.Errorf("proto: wrong wireType = %d for field Inner", wireType)
 11525  			}
 11526  			var msglen int
 11527  			for shift := uint(0); ; shift += 7 {
 11528  				if shift >= 64 {
 11529  					return ErrIntOverflowUnknonwnproto
 11530  				}
 11531  				if iNdEx >= l {
 11532  					return io.ErrUnexpectedEOF
 11533  				}
 11534  				b := dAtA[iNdEx]
 11535  				iNdEx++
 11536  				msglen |= int(b&0x7F) << shift
 11537  				if b < 0x80 {
 11538  					break
 11539  				}
 11540  			}
 11541  			if msglen < 0 {
 11542  				return ErrInvalidLengthUnknonwnproto
 11543  			}
 11544  			postIndex := iNdEx + msglen
 11545  			if postIndex < 0 {
 11546  				return ErrInvalidLengthUnknonwnproto
 11547  			}
 11548  			if postIndex > l {
 11549  				return io.ErrUnexpectedEOF
 11550  			}
 11551  			if m.Inner == nil {
 11552  				m.Inner = &TestVersion4LoneNesting_Inner2_InnerInner{}
 11553  			}
 11554  			if err := m.Inner.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11555  				return err
 11556  			}
 11557  			iNdEx = postIndex
 11558  		default:
 11559  			iNdEx = preIndex
 11560  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
 11561  			if err != nil {
 11562  				return err
 11563  			}
 11564  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 11565  				return ErrInvalidLengthUnknonwnproto
 11566  			}
 11567  			if (iNdEx + skippy) > l {
 11568  				return io.ErrUnexpectedEOF
 11569  			}
 11570  			iNdEx += skippy
 11571  		}
 11572  	}
 11573  
 11574  	if iNdEx > l {
 11575  		return io.ErrUnexpectedEOF
 11576  	}
 11577  	return nil
 11578  }
 11579  func (m *TestVersion4LoneNesting_Inner2_InnerInner) Unmarshal(dAtA []byte) error {
 11580  	l := len(dAtA)
 11581  	iNdEx := 0
 11582  	for iNdEx < l {
 11583  		preIndex := iNdEx
 11584  		var wire uint64
 11585  		for shift := uint(0); ; shift += 7 {
 11586  			if shift >= 64 {
 11587  				return ErrIntOverflowUnknonwnproto
 11588  			}
 11589  			if iNdEx >= l {
 11590  				return io.ErrUnexpectedEOF
 11591  			}
 11592  			b := dAtA[iNdEx]
 11593  			iNdEx++
 11594  			wire |= uint64(b&0x7F) << shift
 11595  			if b < 0x80 {
 11596  				break
 11597  			}
 11598  		}
 11599  		fieldNum := int32(wire >> 3)
 11600  		wireType := int(wire & 0x7)
 11601  		if wireType == 4 {
 11602  			return fmt.Errorf("proto: InnerInner: wiretype end group for non-group")
 11603  		}
 11604  		if fieldNum <= 0 {
 11605  			return fmt.Errorf("proto: InnerInner: illegal tag %d (wire type %d)", fieldNum, wire)
 11606  		}
 11607  		switch fieldNum {
 11608  		case 1:
 11609  			if wireType != 2 {
 11610  				return fmt.Errorf("proto: wrong wireType = %d for field Id", wireType)
 11611  			}
 11612  			var stringLen uint64
 11613  			for shift := uint(0); ; shift += 7 {
 11614  				if shift >= 64 {
 11615  					return ErrIntOverflowUnknonwnproto
 11616  				}
 11617  				if iNdEx >= l {
 11618  					return io.ErrUnexpectedEOF
 11619  				}
 11620  				b := dAtA[iNdEx]
 11621  				iNdEx++
 11622  				stringLen |= uint64(b&0x7F) << shift
 11623  				if b < 0x80 {
 11624  					break
 11625  				}
 11626  			}
 11627  			intStringLen := int(stringLen)
 11628  			if intStringLen < 0 {
 11629  				return ErrInvalidLengthUnknonwnproto
 11630  			}
 11631  			postIndex := iNdEx + intStringLen
 11632  			if postIndex < 0 {
 11633  				return ErrInvalidLengthUnknonwnproto
 11634  			}
 11635  			if postIndex > l {
 11636  				return io.ErrUnexpectedEOF
 11637  			}
 11638  			m.Id = string(dAtA[iNdEx:postIndex])
 11639  			iNdEx = postIndex
 11640  		case 2:
 11641  			if wireType != 0 {
 11642  				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
 11643  			}
 11644  			m.Value = 0
 11645  			for shift := uint(0); ; shift += 7 {
 11646  				if shift >= 64 {
 11647  					return ErrIntOverflowUnknonwnproto
 11648  				}
 11649  				if iNdEx >= l {
 11650  					return io.ErrUnexpectedEOF
 11651  				}
 11652  				b := dAtA[iNdEx]
 11653  				iNdEx++
 11654  				m.Value |= int64(b&0x7F) << shift
 11655  				if b < 0x80 {
 11656  					break
 11657  				}
 11658  			}
 11659  		default:
 11660  			iNdEx = preIndex
 11661  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
 11662  			if err != nil {
 11663  				return err
 11664  			}
 11665  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 11666  				return ErrInvalidLengthUnknonwnproto
 11667  			}
 11668  			if (iNdEx + skippy) > l {
 11669  				return io.ErrUnexpectedEOF
 11670  			}
 11671  			iNdEx += skippy
 11672  		}
 11673  	}
 11674  
 11675  	if iNdEx > l {
 11676  		return io.ErrUnexpectedEOF
 11677  	}
 11678  	return nil
 11679  }
 11680  func (m *TestVersionFD1) Unmarshal(dAtA []byte) error {
 11681  	l := len(dAtA)
 11682  	iNdEx := 0
 11683  	for iNdEx < l {
 11684  		preIndex := iNdEx
 11685  		var wire uint64
 11686  		for shift := uint(0); ; shift += 7 {
 11687  			if shift >= 64 {
 11688  				return ErrIntOverflowUnknonwnproto
 11689  			}
 11690  			if iNdEx >= l {
 11691  				return io.ErrUnexpectedEOF
 11692  			}
 11693  			b := dAtA[iNdEx]
 11694  			iNdEx++
 11695  			wire |= uint64(b&0x7F) << shift
 11696  			if b < 0x80 {
 11697  				break
 11698  			}
 11699  		}
 11700  		fieldNum := int32(wire >> 3)
 11701  		wireType := int(wire & 0x7)
 11702  		if wireType == 4 {
 11703  			return fmt.Errorf("proto: TestVersionFD1: wiretype end group for non-group")
 11704  		}
 11705  		if fieldNum <= 0 {
 11706  			return fmt.Errorf("proto: TestVersionFD1: illegal tag %d (wire type %d)", fieldNum, wire)
 11707  		}
 11708  		switch fieldNum {
 11709  		case 1:
 11710  			if wireType != 0 {
 11711  				return fmt.Errorf("proto: wrong wireType = %d for field X", wireType)
 11712  			}
 11713  			m.X = 0
 11714  			for shift := uint(0); ; shift += 7 {
 11715  				if shift >= 64 {
 11716  					return ErrIntOverflowUnknonwnproto
 11717  				}
 11718  				if iNdEx >= l {
 11719  					return io.ErrUnexpectedEOF
 11720  				}
 11721  				b := dAtA[iNdEx]
 11722  				iNdEx++
 11723  				m.X |= int64(b&0x7F) << shift
 11724  				if b < 0x80 {
 11725  					break
 11726  				}
 11727  			}
 11728  		case 2:
 11729  			if wireType != 2 {
 11730  				return fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
 11731  			}
 11732  			var msglen int
 11733  			for shift := uint(0); ; shift += 7 {
 11734  				if shift >= 64 {
 11735  					return ErrIntOverflowUnknonwnproto
 11736  				}
 11737  				if iNdEx >= l {
 11738  					return io.ErrUnexpectedEOF
 11739  				}
 11740  				b := dAtA[iNdEx]
 11741  				iNdEx++
 11742  				msglen |= int(b&0x7F) << shift
 11743  				if b < 0x80 {
 11744  					break
 11745  				}
 11746  			}
 11747  			if msglen < 0 {
 11748  				return ErrInvalidLengthUnknonwnproto
 11749  			}
 11750  			postIndex := iNdEx + msglen
 11751  			if postIndex < 0 {
 11752  				return ErrInvalidLengthUnknonwnproto
 11753  			}
 11754  			if postIndex > l {
 11755  				return io.ErrUnexpectedEOF
 11756  			}
 11757  			if m.A == nil {
 11758  				m.A = &TestVersion1{}
 11759  			}
 11760  			if err := m.A.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11761  				return err
 11762  			}
 11763  			iNdEx = postIndex
 11764  		case 6:
 11765  			if wireType != 0 {
 11766  				return fmt.Errorf("proto: wrong wireType = %d for field E", wireType)
 11767  			}
 11768  			var v int32
 11769  			for shift := uint(0); ; shift += 7 {
 11770  				if shift >= 64 {
 11771  					return ErrIntOverflowUnknonwnproto
 11772  				}
 11773  				if iNdEx >= l {
 11774  					return io.ErrUnexpectedEOF
 11775  				}
 11776  				b := dAtA[iNdEx]
 11777  				iNdEx++
 11778  				v |= int32(b&0x7F) << shift
 11779  				if b < 0x80 {
 11780  					break
 11781  				}
 11782  			}
 11783  			m.Sum = &TestVersionFD1_E{v}
 11784  		case 7:
 11785  			if wireType != 2 {
 11786  				return fmt.Errorf("proto: wrong wireType = %d for field F", wireType)
 11787  			}
 11788  			var msglen int
 11789  			for shift := uint(0); ; shift += 7 {
 11790  				if shift >= 64 {
 11791  					return ErrIntOverflowUnknonwnproto
 11792  				}
 11793  				if iNdEx >= l {
 11794  					return io.ErrUnexpectedEOF
 11795  				}
 11796  				b := dAtA[iNdEx]
 11797  				iNdEx++
 11798  				msglen |= int(b&0x7F) << shift
 11799  				if b < 0x80 {
 11800  					break
 11801  				}
 11802  			}
 11803  			if msglen < 0 {
 11804  				return ErrInvalidLengthUnknonwnproto
 11805  			}
 11806  			postIndex := iNdEx + msglen
 11807  			if postIndex < 0 {
 11808  				return ErrInvalidLengthUnknonwnproto
 11809  			}
 11810  			if postIndex > l {
 11811  				return io.ErrUnexpectedEOF
 11812  			}
 11813  			v := &TestVersion1{}
 11814  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11815  				return err
 11816  			}
 11817  			m.Sum = &TestVersionFD1_F{v}
 11818  			iNdEx = postIndex
 11819  		case 8:
 11820  			if wireType != 2 {
 11821  				return fmt.Errorf("proto: wrong wireType = %d for field G", wireType)
 11822  			}
 11823  			var msglen int
 11824  			for shift := uint(0); ; shift += 7 {
 11825  				if shift >= 64 {
 11826  					return ErrIntOverflowUnknonwnproto
 11827  				}
 11828  				if iNdEx >= l {
 11829  					return io.ErrUnexpectedEOF
 11830  				}
 11831  				b := dAtA[iNdEx]
 11832  				iNdEx++
 11833  				msglen |= int(b&0x7F) << shift
 11834  				if b < 0x80 {
 11835  					break
 11836  				}
 11837  			}
 11838  			if msglen < 0 {
 11839  				return ErrInvalidLengthUnknonwnproto
 11840  			}
 11841  			postIndex := iNdEx + msglen
 11842  			if postIndex < 0 {
 11843  				return ErrInvalidLengthUnknonwnproto
 11844  			}
 11845  			if postIndex > l {
 11846  				return io.ErrUnexpectedEOF
 11847  			}
 11848  			if m.G == nil {
 11849  				m.G = &types.Any{}
 11850  			}
 11851  			if err := m.G.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11852  				return err
 11853  			}
 11854  			iNdEx = postIndex
 11855  		case 9:
 11856  			if wireType != 2 {
 11857  				return fmt.Errorf("proto: wrong wireType = %d for field H", wireType)
 11858  			}
 11859  			var msglen int
 11860  			for shift := uint(0); ; shift += 7 {
 11861  				if shift >= 64 {
 11862  					return ErrIntOverflowUnknonwnproto
 11863  				}
 11864  				if iNdEx >= l {
 11865  					return io.ErrUnexpectedEOF
 11866  				}
 11867  				b := dAtA[iNdEx]
 11868  				iNdEx++
 11869  				msglen |= int(b&0x7F) << shift
 11870  				if b < 0x80 {
 11871  					break
 11872  				}
 11873  			}
 11874  			if msglen < 0 {
 11875  				return ErrInvalidLengthUnknonwnproto
 11876  			}
 11877  			postIndex := iNdEx + msglen
 11878  			if postIndex < 0 {
 11879  				return ErrInvalidLengthUnknonwnproto
 11880  			}
 11881  			if postIndex > l {
 11882  				return io.ErrUnexpectedEOF
 11883  			}
 11884  			m.H = append(m.H, &TestVersion1{})
 11885  			if err := m.H[len(m.H)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11886  				return err
 11887  			}
 11888  			iNdEx = postIndex
 11889  		default:
 11890  			iNdEx = preIndex
 11891  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
 11892  			if err != nil {
 11893  				return err
 11894  			}
 11895  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 11896  				return ErrInvalidLengthUnknonwnproto
 11897  			}
 11898  			if (iNdEx + skippy) > l {
 11899  				return io.ErrUnexpectedEOF
 11900  			}
 11901  			iNdEx += skippy
 11902  		}
 11903  	}
 11904  
 11905  	if iNdEx > l {
 11906  		return io.ErrUnexpectedEOF
 11907  	}
 11908  	return nil
 11909  }
 11910  func (m *TestVersionFD1WithExtraAny) Unmarshal(dAtA []byte) error {
 11911  	l := len(dAtA)
 11912  	iNdEx := 0
 11913  	for iNdEx < l {
 11914  		preIndex := iNdEx
 11915  		var wire uint64
 11916  		for shift := uint(0); ; shift += 7 {
 11917  			if shift >= 64 {
 11918  				return ErrIntOverflowUnknonwnproto
 11919  			}
 11920  			if iNdEx >= l {
 11921  				return io.ErrUnexpectedEOF
 11922  			}
 11923  			b := dAtA[iNdEx]
 11924  			iNdEx++
 11925  			wire |= uint64(b&0x7F) << shift
 11926  			if b < 0x80 {
 11927  				break
 11928  			}
 11929  		}
 11930  		fieldNum := int32(wire >> 3)
 11931  		wireType := int(wire & 0x7)
 11932  		if wireType == 4 {
 11933  			return fmt.Errorf("proto: TestVersionFD1WithExtraAny: wiretype end group for non-group")
 11934  		}
 11935  		if fieldNum <= 0 {
 11936  			return fmt.Errorf("proto: TestVersionFD1WithExtraAny: illegal tag %d (wire type %d)", fieldNum, wire)
 11937  		}
 11938  		switch fieldNum {
 11939  		case 1:
 11940  			if wireType != 0 {
 11941  				return fmt.Errorf("proto: wrong wireType = %d for field X", wireType)
 11942  			}
 11943  			m.X = 0
 11944  			for shift := uint(0); ; shift += 7 {
 11945  				if shift >= 64 {
 11946  					return ErrIntOverflowUnknonwnproto
 11947  				}
 11948  				if iNdEx >= l {
 11949  					return io.ErrUnexpectedEOF
 11950  				}
 11951  				b := dAtA[iNdEx]
 11952  				iNdEx++
 11953  				m.X |= int64(b&0x7F) << shift
 11954  				if b < 0x80 {
 11955  					break
 11956  				}
 11957  			}
 11958  		case 2:
 11959  			if wireType != 2 {
 11960  				return fmt.Errorf("proto: wrong wireType = %d for field A", wireType)
 11961  			}
 11962  			var msglen int
 11963  			for shift := uint(0); ; shift += 7 {
 11964  				if shift >= 64 {
 11965  					return ErrIntOverflowUnknonwnproto
 11966  				}
 11967  				if iNdEx >= l {
 11968  					return io.ErrUnexpectedEOF
 11969  				}
 11970  				b := dAtA[iNdEx]
 11971  				iNdEx++
 11972  				msglen |= int(b&0x7F) << shift
 11973  				if b < 0x80 {
 11974  					break
 11975  				}
 11976  			}
 11977  			if msglen < 0 {
 11978  				return ErrInvalidLengthUnknonwnproto
 11979  			}
 11980  			postIndex := iNdEx + msglen
 11981  			if postIndex < 0 {
 11982  				return ErrInvalidLengthUnknonwnproto
 11983  			}
 11984  			if postIndex > l {
 11985  				return io.ErrUnexpectedEOF
 11986  			}
 11987  			if m.A == nil {
 11988  				m.A = &TestVersion1{}
 11989  			}
 11990  			if err := m.A.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 11991  				return err
 11992  			}
 11993  			iNdEx = postIndex
 11994  		case 6:
 11995  			if wireType != 0 {
 11996  				return fmt.Errorf("proto: wrong wireType = %d for field E", wireType)
 11997  			}
 11998  			var v int32
 11999  			for shift := uint(0); ; shift += 7 {
 12000  				if shift >= 64 {
 12001  					return ErrIntOverflowUnknonwnproto
 12002  				}
 12003  				if iNdEx >= l {
 12004  					return io.ErrUnexpectedEOF
 12005  				}
 12006  				b := dAtA[iNdEx]
 12007  				iNdEx++
 12008  				v |= int32(b&0x7F) << shift
 12009  				if b < 0x80 {
 12010  					break
 12011  				}
 12012  			}
 12013  			m.Sum = &TestVersionFD1WithExtraAny_E{v}
 12014  		case 7:
 12015  			if wireType != 2 {
 12016  				return fmt.Errorf("proto: wrong wireType = %d for field F", wireType)
 12017  			}
 12018  			var msglen int
 12019  			for shift := uint(0); ; shift += 7 {
 12020  				if shift >= 64 {
 12021  					return ErrIntOverflowUnknonwnproto
 12022  				}
 12023  				if iNdEx >= l {
 12024  					return io.ErrUnexpectedEOF
 12025  				}
 12026  				b := dAtA[iNdEx]
 12027  				iNdEx++
 12028  				msglen |= int(b&0x7F) << shift
 12029  				if b < 0x80 {
 12030  					break
 12031  				}
 12032  			}
 12033  			if msglen < 0 {
 12034  				return ErrInvalidLengthUnknonwnproto
 12035  			}
 12036  			postIndex := iNdEx + msglen
 12037  			if postIndex < 0 {
 12038  				return ErrInvalidLengthUnknonwnproto
 12039  			}
 12040  			if postIndex > l {
 12041  				return io.ErrUnexpectedEOF
 12042  			}
 12043  			v := &TestVersion1{}
 12044  			if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12045  				return err
 12046  			}
 12047  			m.Sum = &TestVersionFD1WithExtraAny_F{v}
 12048  			iNdEx = postIndex
 12049  		case 8:
 12050  			if wireType != 2 {
 12051  				return fmt.Errorf("proto: wrong wireType = %d for field G", wireType)
 12052  			}
 12053  			var msglen int
 12054  			for shift := uint(0); ; shift += 7 {
 12055  				if shift >= 64 {
 12056  					return ErrIntOverflowUnknonwnproto
 12057  				}
 12058  				if iNdEx >= l {
 12059  					return io.ErrUnexpectedEOF
 12060  				}
 12061  				b := dAtA[iNdEx]
 12062  				iNdEx++
 12063  				msglen |= int(b&0x7F) << shift
 12064  				if b < 0x80 {
 12065  					break
 12066  				}
 12067  			}
 12068  			if msglen < 0 {
 12069  				return ErrInvalidLengthUnknonwnproto
 12070  			}
 12071  			postIndex := iNdEx + msglen
 12072  			if postIndex < 0 {
 12073  				return ErrInvalidLengthUnknonwnproto
 12074  			}
 12075  			if postIndex > l {
 12076  				return io.ErrUnexpectedEOF
 12077  			}
 12078  			if m.G == nil {
 12079  				m.G = &AnyWithExtra{}
 12080  			}
 12081  			if err := m.G.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12082  				return err
 12083  			}
 12084  			iNdEx = postIndex
 12085  		case 9:
 12086  			if wireType != 2 {
 12087  				return fmt.Errorf("proto: wrong wireType = %d for field H", wireType)
 12088  			}
 12089  			var msglen int
 12090  			for shift := uint(0); ; shift += 7 {
 12091  				if shift >= 64 {
 12092  					return ErrIntOverflowUnknonwnproto
 12093  				}
 12094  				if iNdEx >= l {
 12095  					return io.ErrUnexpectedEOF
 12096  				}
 12097  				b := dAtA[iNdEx]
 12098  				iNdEx++
 12099  				msglen |= int(b&0x7F) << shift
 12100  				if b < 0x80 {
 12101  					break
 12102  				}
 12103  			}
 12104  			if msglen < 0 {
 12105  				return ErrInvalidLengthUnknonwnproto
 12106  			}
 12107  			postIndex := iNdEx + msglen
 12108  			if postIndex < 0 {
 12109  				return ErrInvalidLengthUnknonwnproto
 12110  			}
 12111  			if postIndex > l {
 12112  				return io.ErrUnexpectedEOF
 12113  			}
 12114  			m.H = append(m.H, &TestVersion1{})
 12115  			if err := m.H[len(m.H)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12116  				return err
 12117  			}
 12118  			iNdEx = postIndex
 12119  		default:
 12120  			iNdEx = preIndex
 12121  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
 12122  			if err != nil {
 12123  				return err
 12124  			}
 12125  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 12126  				return ErrInvalidLengthUnknonwnproto
 12127  			}
 12128  			if (iNdEx + skippy) > l {
 12129  				return io.ErrUnexpectedEOF
 12130  			}
 12131  			iNdEx += skippy
 12132  		}
 12133  	}
 12134  
 12135  	if iNdEx > l {
 12136  		return io.ErrUnexpectedEOF
 12137  	}
 12138  	return nil
 12139  }
 12140  func (m *AnyWithExtra) Unmarshal(dAtA []byte) error {
 12141  	l := len(dAtA)
 12142  	iNdEx := 0
 12143  	for iNdEx < l {
 12144  		preIndex := iNdEx
 12145  		var wire uint64
 12146  		for shift := uint(0); ; shift += 7 {
 12147  			if shift >= 64 {
 12148  				return ErrIntOverflowUnknonwnproto
 12149  			}
 12150  			if iNdEx >= l {
 12151  				return io.ErrUnexpectedEOF
 12152  			}
 12153  			b := dAtA[iNdEx]
 12154  			iNdEx++
 12155  			wire |= uint64(b&0x7F) << shift
 12156  			if b < 0x80 {
 12157  				break
 12158  			}
 12159  		}
 12160  		fieldNum := int32(wire >> 3)
 12161  		wireType := int(wire & 0x7)
 12162  		if wireType == 4 {
 12163  			return fmt.Errorf("proto: AnyWithExtra: wiretype end group for non-group")
 12164  		}
 12165  		if fieldNum <= 0 {
 12166  			return fmt.Errorf("proto: AnyWithExtra: illegal tag %d (wire type %d)", fieldNum, wire)
 12167  		}
 12168  		switch fieldNum {
 12169  		case 1:
 12170  			if wireType != 2 {
 12171  				return fmt.Errorf("proto: wrong wireType = %d for field Any", wireType)
 12172  			}
 12173  			var msglen int
 12174  			for shift := uint(0); ; shift += 7 {
 12175  				if shift >= 64 {
 12176  					return ErrIntOverflowUnknonwnproto
 12177  				}
 12178  				if iNdEx >= l {
 12179  					return io.ErrUnexpectedEOF
 12180  				}
 12181  				b := dAtA[iNdEx]
 12182  				iNdEx++
 12183  				msglen |= int(b&0x7F) << shift
 12184  				if b < 0x80 {
 12185  					break
 12186  				}
 12187  			}
 12188  			if msglen < 0 {
 12189  				return ErrInvalidLengthUnknonwnproto
 12190  			}
 12191  			postIndex := iNdEx + msglen
 12192  			if postIndex < 0 {
 12193  				return ErrInvalidLengthUnknonwnproto
 12194  			}
 12195  			if postIndex > l {
 12196  				return io.ErrUnexpectedEOF
 12197  			}
 12198  			if m.Any == nil {
 12199  				m.Any = &types.Any{}
 12200  			}
 12201  			if err := m.Any.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12202  				return err
 12203  			}
 12204  			iNdEx = postIndex
 12205  		case 3:
 12206  			if wireType != 0 {
 12207  				return fmt.Errorf("proto: wrong wireType = %d for field B", wireType)
 12208  			}
 12209  			m.B = 0
 12210  			for shift := uint(0); ; shift += 7 {
 12211  				if shift >= 64 {
 12212  					return ErrIntOverflowUnknonwnproto
 12213  				}
 12214  				if iNdEx >= l {
 12215  					return io.ErrUnexpectedEOF
 12216  				}
 12217  				b := dAtA[iNdEx]
 12218  				iNdEx++
 12219  				m.B |= int64(b&0x7F) << shift
 12220  				if b < 0x80 {
 12221  					break
 12222  				}
 12223  			}
 12224  		case 4:
 12225  			if wireType != 0 {
 12226  				return fmt.Errorf("proto: wrong wireType = %d for field C", wireType)
 12227  			}
 12228  			m.C = 0
 12229  			for shift := uint(0); ; shift += 7 {
 12230  				if shift >= 64 {
 12231  					return ErrIntOverflowUnknonwnproto
 12232  				}
 12233  				if iNdEx >= l {
 12234  					return io.ErrUnexpectedEOF
 12235  				}
 12236  				b := dAtA[iNdEx]
 12237  				iNdEx++
 12238  				m.C |= int64(b&0x7F) << shift
 12239  				if b < 0x80 {
 12240  					break
 12241  				}
 12242  			}
 12243  		default:
 12244  			iNdEx = preIndex
 12245  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
 12246  			if err != nil {
 12247  				return err
 12248  			}
 12249  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 12250  				return ErrInvalidLengthUnknonwnproto
 12251  			}
 12252  			if (iNdEx + skippy) > l {
 12253  				return io.ErrUnexpectedEOF
 12254  			}
 12255  			iNdEx += skippy
 12256  		}
 12257  	}
 12258  
 12259  	if iNdEx > l {
 12260  		return io.ErrUnexpectedEOF
 12261  	}
 12262  	return nil
 12263  }
 12264  func (m *TestUpdatedTxRaw) Unmarshal(dAtA []byte) error {
 12265  	l := len(dAtA)
 12266  	iNdEx := 0
 12267  	for iNdEx < l {
 12268  		preIndex := iNdEx
 12269  		var wire uint64
 12270  		for shift := uint(0); ; shift += 7 {
 12271  			if shift >= 64 {
 12272  				return ErrIntOverflowUnknonwnproto
 12273  			}
 12274  			if iNdEx >= l {
 12275  				return io.ErrUnexpectedEOF
 12276  			}
 12277  			b := dAtA[iNdEx]
 12278  			iNdEx++
 12279  			wire |= uint64(b&0x7F) << shift
 12280  			if b < 0x80 {
 12281  				break
 12282  			}
 12283  		}
 12284  		fieldNum := int32(wire >> 3)
 12285  		wireType := int(wire & 0x7)
 12286  		if wireType == 4 {
 12287  			return fmt.Errorf("proto: TestUpdatedTxRaw: wiretype end group for non-group")
 12288  		}
 12289  		if fieldNum <= 0 {
 12290  			return fmt.Errorf("proto: TestUpdatedTxRaw: illegal tag %d (wire type %d)", fieldNum, wire)
 12291  		}
 12292  		switch fieldNum {
 12293  		case 1:
 12294  			if wireType != 2 {
 12295  				return fmt.Errorf("proto: wrong wireType = %d for field BodyBytes", wireType)
 12296  			}
 12297  			var byteLen int
 12298  			for shift := uint(0); ; shift += 7 {
 12299  				if shift >= 64 {
 12300  					return ErrIntOverflowUnknonwnproto
 12301  				}
 12302  				if iNdEx >= l {
 12303  					return io.ErrUnexpectedEOF
 12304  				}
 12305  				b := dAtA[iNdEx]
 12306  				iNdEx++
 12307  				byteLen |= int(b&0x7F) << shift
 12308  				if b < 0x80 {
 12309  					break
 12310  				}
 12311  			}
 12312  			if byteLen < 0 {
 12313  				return ErrInvalidLengthUnknonwnproto
 12314  			}
 12315  			postIndex := iNdEx + byteLen
 12316  			if postIndex < 0 {
 12317  				return ErrInvalidLengthUnknonwnproto
 12318  			}
 12319  			if postIndex > l {
 12320  				return io.ErrUnexpectedEOF
 12321  			}
 12322  			m.BodyBytes = append(m.BodyBytes[:0], dAtA[iNdEx:postIndex]...)
 12323  			if m.BodyBytes == nil {
 12324  				m.BodyBytes = []byte{}
 12325  			}
 12326  			iNdEx = postIndex
 12327  		case 2:
 12328  			if wireType != 2 {
 12329  				return fmt.Errorf("proto: wrong wireType = %d for field AuthInfoBytes", wireType)
 12330  			}
 12331  			var byteLen int
 12332  			for shift := uint(0); ; shift += 7 {
 12333  				if shift >= 64 {
 12334  					return ErrIntOverflowUnknonwnproto
 12335  				}
 12336  				if iNdEx >= l {
 12337  					return io.ErrUnexpectedEOF
 12338  				}
 12339  				b := dAtA[iNdEx]
 12340  				iNdEx++
 12341  				byteLen |= int(b&0x7F) << shift
 12342  				if b < 0x80 {
 12343  					break
 12344  				}
 12345  			}
 12346  			if byteLen < 0 {
 12347  				return ErrInvalidLengthUnknonwnproto
 12348  			}
 12349  			postIndex := iNdEx + byteLen
 12350  			if postIndex < 0 {
 12351  				return ErrInvalidLengthUnknonwnproto
 12352  			}
 12353  			if postIndex > l {
 12354  				return io.ErrUnexpectedEOF
 12355  			}
 12356  			m.AuthInfoBytes = append(m.AuthInfoBytes[:0], dAtA[iNdEx:postIndex]...)
 12357  			if m.AuthInfoBytes == nil {
 12358  				m.AuthInfoBytes = []byte{}
 12359  			}
 12360  			iNdEx = postIndex
 12361  		case 3:
 12362  			if wireType != 2 {
 12363  				return fmt.Errorf("proto: wrong wireType = %d for field Signatures", wireType)
 12364  			}
 12365  			var byteLen int
 12366  			for shift := uint(0); ; shift += 7 {
 12367  				if shift >= 64 {
 12368  					return ErrIntOverflowUnknonwnproto
 12369  				}
 12370  				if iNdEx >= l {
 12371  					return io.ErrUnexpectedEOF
 12372  				}
 12373  				b := dAtA[iNdEx]
 12374  				iNdEx++
 12375  				byteLen |= int(b&0x7F) << shift
 12376  				if b < 0x80 {
 12377  					break
 12378  				}
 12379  			}
 12380  			if byteLen < 0 {
 12381  				return ErrInvalidLengthUnknonwnproto
 12382  			}
 12383  			postIndex := iNdEx + byteLen
 12384  			if postIndex < 0 {
 12385  				return ErrInvalidLengthUnknonwnproto
 12386  			}
 12387  			if postIndex > l {
 12388  				return io.ErrUnexpectedEOF
 12389  			}
 12390  			m.Signatures = append(m.Signatures, make([]byte, postIndex-iNdEx))
 12391  			copy(m.Signatures[len(m.Signatures)-1], dAtA[iNdEx:postIndex])
 12392  			iNdEx = postIndex
 12393  		case 5:
 12394  			if wireType != 2 {
 12395  				return fmt.Errorf("proto: wrong wireType = %d for field NewField_5", wireType)
 12396  			}
 12397  			var byteLen int
 12398  			for shift := uint(0); ; shift += 7 {
 12399  				if shift >= 64 {
 12400  					return ErrIntOverflowUnknonwnproto
 12401  				}
 12402  				if iNdEx >= l {
 12403  					return io.ErrUnexpectedEOF
 12404  				}
 12405  				b := dAtA[iNdEx]
 12406  				iNdEx++
 12407  				byteLen |= int(b&0x7F) << shift
 12408  				if b < 0x80 {
 12409  					break
 12410  				}
 12411  			}
 12412  			if byteLen < 0 {
 12413  				return ErrInvalidLengthUnknonwnproto
 12414  			}
 12415  			postIndex := iNdEx + byteLen
 12416  			if postIndex < 0 {
 12417  				return ErrInvalidLengthUnknonwnproto
 12418  			}
 12419  			if postIndex > l {
 12420  				return io.ErrUnexpectedEOF
 12421  			}
 12422  			m.NewField_5 = append(m.NewField_5[:0], dAtA[iNdEx:postIndex]...)
 12423  			if m.NewField_5 == nil {
 12424  				m.NewField_5 = []byte{}
 12425  			}
 12426  			iNdEx = postIndex
 12427  		case 1024:
 12428  			if wireType != 2 {
 12429  				return fmt.Errorf("proto: wrong wireType = %d for field NewField_1024", wireType)
 12430  			}
 12431  			var byteLen int
 12432  			for shift := uint(0); ; shift += 7 {
 12433  				if shift >= 64 {
 12434  					return ErrIntOverflowUnknonwnproto
 12435  				}
 12436  				if iNdEx >= l {
 12437  					return io.ErrUnexpectedEOF
 12438  				}
 12439  				b := dAtA[iNdEx]
 12440  				iNdEx++
 12441  				byteLen |= int(b&0x7F) << shift
 12442  				if b < 0x80 {
 12443  					break
 12444  				}
 12445  			}
 12446  			if byteLen < 0 {
 12447  				return ErrInvalidLengthUnknonwnproto
 12448  			}
 12449  			postIndex := iNdEx + byteLen
 12450  			if postIndex < 0 {
 12451  				return ErrInvalidLengthUnknonwnproto
 12452  			}
 12453  			if postIndex > l {
 12454  				return io.ErrUnexpectedEOF
 12455  			}
 12456  			m.NewField_1024 = append(m.NewField_1024[:0], dAtA[iNdEx:postIndex]...)
 12457  			if m.NewField_1024 == nil {
 12458  				m.NewField_1024 = []byte{}
 12459  			}
 12460  			iNdEx = postIndex
 12461  		default:
 12462  			iNdEx = preIndex
 12463  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
 12464  			if err != nil {
 12465  				return err
 12466  			}
 12467  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 12468  				return ErrInvalidLengthUnknonwnproto
 12469  			}
 12470  			if (iNdEx + skippy) > l {
 12471  				return io.ErrUnexpectedEOF
 12472  			}
 12473  			iNdEx += skippy
 12474  		}
 12475  	}
 12476  
 12477  	if iNdEx > l {
 12478  		return io.ErrUnexpectedEOF
 12479  	}
 12480  	return nil
 12481  }
 12482  func (m *TestUpdatedTxBody) Unmarshal(dAtA []byte) error {
 12483  	l := len(dAtA)
 12484  	iNdEx := 0
 12485  	for iNdEx < l {
 12486  		preIndex := iNdEx
 12487  		var wire uint64
 12488  		for shift := uint(0); ; shift += 7 {
 12489  			if shift >= 64 {
 12490  				return ErrIntOverflowUnknonwnproto
 12491  			}
 12492  			if iNdEx >= l {
 12493  				return io.ErrUnexpectedEOF
 12494  			}
 12495  			b := dAtA[iNdEx]
 12496  			iNdEx++
 12497  			wire |= uint64(b&0x7F) << shift
 12498  			if b < 0x80 {
 12499  				break
 12500  			}
 12501  		}
 12502  		fieldNum := int32(wire >> 3)
 12503  		wireType := int(wire & 0x7)
 12504  		if wireType == 4 {
 12505  			return fmt.Errorf("proto: TestUpdatedTxBody: wiretype end group for non-group")
 12506  		}
 12507  		if fieldNum <= 0 {
 12508  			return fmt.Errorf("proto: TestUpdatedTxBody: illegal tag %d (wire type %d)", fieldNum, wire)
 12509  		}
 12510  		switch fieldNum {
 12511  		case 1:
 12512  			if wireType != 2 {
 12513  				return fmt.Errorf("proto: wrong wireType = %d for field Messages", wireType)
 12514  			}
 12515  			var msglen int
 12516  			for shift := uint(0); ; shift += 7 {
 12517  				if shift >= 64 {
 12518  					return ErrIntOverflowUnknonwnproto
 12519  				}
 12520  				if iNdEx >= l {
 12521  					return io.ErrUnexpectedEOF
 12522  				}
 12523  				b := dAtA[iNdEx]
 12524  				iNdEx++
 12525  				msglen |= int(b&0x7F) << shift
 12526  				if b < 0x80 {
 12527  					break
 12528  				}
 12529  			}
 12530  			if msglen < 0 {
 12531  				return ErrInvalidLengthUnknonwnproto
 12532  			}
 12533  			postIndex := iNdEx + msglen
 12534  			if postIndex < 0 {
 12535  				return ErrInvalidLengthUnknonwnproto
 12536  			}
 12537  			if postIndex > l {
 12538  				return io.ErrUnexpectedEOF
 12539  			}
 12540  			m.Messages = append(m.Messages, &types.Any{})
 12541  			if err := m.Messages[len(m.Messages)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12542  				return err
 12543  			}
 12544  			iNdEx = postIndex
 12545  		case 2:
 12546  			if wireType != 2 {
 12547  				return fmt.Errorf("proto: wrong wireType = %d for field Memo", wireType)
 12548  			}
 12549  			var stringLen uint64
 12550  			for shift := uint(0); ; shift += 7 {
 12551  				if shift >= 64 {
 12552  					return ErrIntOverflowUnknonwnproto
 12553  				}
 12554  				if iNdEx >= l {
 12555  					return io.ErrUnexpectedEOF
 12556  				}
 12557  				b := dAtA[iNdEx]
 12558  				iNdEx++
 12559  				stringLen |= uint64(b&0x7F) << shift
 12560  				if b < 0x80 {
 12561  					break
 12562  				}
 12563  			}
 12564  			intStringLen := int(stringLen)
 12565  			if intStringLen < 0 {
 12566  				return ErrInvalidLengthUnknonwnproto
 12567  			}
 12568  			postIndex := iNdEx + intStringLen
 12569  			if postIndex < 0 {
 12570  				return ErrInvalidLengthUnknonwnproto
 12571  			}
 12572  			if postIndex > l {
 12573  				return io.ErrUnexpectedEOF
 12574  			}
 12575  			m.Memo = string(dAtA[iNdEx:postIndex])
 12576  			iNdEx = postIndex
 12577  		case 3:
 12578  			if wireType != 0 {
 12579  				return fmt.Errorf("proto: wrong wireType = %d for field TimeoutHeight", wireType)
 12580  			}
 12581  			m.TimeoutHeight = 0
 12582  			for shift := uint(0); ; shift += 7 {
 12583  				if shift >= 64 {
 12584  					return ErrIntOverflowUnknonwnproto
 12585  				}
 12586  				if iNdEx >= l {
 12587  					return io.ErrUnexpectedEOF
 12588  				}
 12589  				b := dAtA[iNdEx]
 12590  				iNdEx++
 12591  				m.TimeoutHeight |= int64(b&0x7F) << shift
 12592  				if b < 0x80 {
 12593  					break
 12594  				}
 12595  			}
 12596  		case 4:
 12597  			if wireType != 0 {
 12598  				return fmt.Errorf("proto: wrong wireType = %d for field SomeNewField", wireType)
 12599  			}
 12600  			m.SomeNewField = 0
 12601  			for shift := uint(0); ; shift += 7 {
 12602  				if shift >= 64 {
 12603  					return ErrIntOverflowUnknonwnproto
 12604  				}
 12605  				if iNdEx >= l {
 12606  					return io.ErrUnexpectedEOF
 12607  				}
 12608  				b := dAtA[iNdEx]
 12609  				iNdEx++
 12610  				m.SomeNewField |= uint64(b&0x7F) << shift
 12611  				if b < 0x80 {
 12612  					break
 12613  				}
 12614  			}
 12615  		case 1023:
 12616  			if wireType != 2 {
 12617  				return fmt.Errorf("proto: wrong wireType = %d for field ExtensionOptions", wireType)
 12618  			}
 12619  			var msglen int
 12620  			for shift := uint(0); ; shift += 7 {
 12621  				if shift >= 64 {
 12622  					return ErrIntOverflowUnknonwnproto
 12623  				}
 12624  				if iNdEx >= l {
 12625  					return io.ErrUnexpectedEOF
 12626  				}
 12627  				b := dAtA[iNdEx]
 12628  				iNdEx++
 12629  				msglen |= int(b&0x7F) << shift
 12630  				if b < 0x80 {
 12631  					break
 12632  				}
 12633  			}
 12634  			if msglen < 0 {
 12635  				return ErrInvalidLengthUnknonwnproto
 12636  			}
 12637  			postIndex := iNdEx + msglen
 12638  			if postIndex < 0 {
 12639  				return ErrInvalidLengthUnknonwnproto
 12640  			}
 12641  			if postIndex > l {
 12642  				return io.ErrUnexpectedEOF
 12643  			}
 12644  			m.ExtensionOptions = append(m.ExtensionOptions, &types.Any{})
 12645  			if err := m.ExtensionOptions[len(m.ExtensionOptions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12646  				return err
 12647  			}
 12648  			iNdEx = postIndex
 12649  		case 1050:
 12650  			if wireType != 2 {
 12651  				return fmt.Errorf("proto: wrong wireType = %d for field SomeNewFieldNonCriticalField", wireType)
 12652  			}
 12653  			var stringLen uint64
 12654  			for shift := uint(0); ; shift += 7 {
 12655  				if shift >= 64 {
 12656  					return ErrIntOverflowUnknonwnproto
 12657  				}
 12658  				if iNdEx >= l {
 12659  					return io.ErrUnexpectedEOF
 12660  				}
 12661  				b := dAtA[iNdEx]
 12662  				iNdEx++
 12663  				stringLen |= uint64(b&0x7F) << shift
 12664  				if b < 0x80 {
 12665  					break
 12666  				}
 12667  			}
 12668  			intStringLen := int(stringLen)
 12669  			if intStringLen < 0 {
 12670  				return ErrInvalidLengthUnknonwnproto
 12671  			}
 12672  			postIndex := iNdEx + intStringLen
 12673  			if postIndex < 0 {
 12674  				return ErrInvalidLengthUnknonwnproto
 12675  			}
 12676  			if postIndex > l {
 12677  				return io.ErrUnexpectedEOF
 12678  			}
 12679  			m.SomeNewFieldNonCriticalField = string(dAtA[iNdEx:postIndex])
 12680  			iNdEx = postIndex
 12681  		case 2047:
 12682  			if wireType != 2 {
 12683  				return fmt.Errorf("proto: wrong wireType = %d for field NonCriticalExtensionOptions", wireType)
 12684  			}
 12685  			var msglen int
 12686  			for shift := uint(0); ; shift += 7 {
 12687  				if shift >= 64 {
 12688  					return ErrIntOverflowUnknonwnproto
 12689  				}
 12690  				if iNdEx >= l {
 12691  					return io.ErrUnexpectedEOF
 12692  				}
 12693  				b := dAtA[iNdEx]
 12694  				iNdEx++
 12695  				msglen |= int(b&0x7F) << shift
 12696  				if b < 0x80 {
 12697  					break
 12698  				}
 12699  			}
 12700  			if msglen < 0 {
 12701  				return ErrInvalidLengthUnknonwnproto
 12702  			}
 12703  			postIndex := iNdEx + msglen
 12704  			if postIndex < 0 {
 12705  				return ErrInvalidLengthUnknonwnproto
 12706  			}
 12707  			if postIndex > l {
 12708  				return io.ErrUnexpectedEOF
 12709  			}
 12710  			m.NonCriticalExtensionOptions = append(m.NonCriticalExtensionOptions, &types.Any{})
 12711  			if err := m.NonCriticalExtensionOptions[len(m.NonCriticalExtensionOptions)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12712  				return err
 12713  			}
 12714  			iNdEx = postIndex
 12715  		default:
 12716  			iNdEx = preIndex
 12717  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
 12718  			if err != nil {
 12719  				return err
 12720  			}
 12721  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 12722  				return ErrInvalidLengthUnknonwnproto
 12723  			}
 12724  			if (iNdEx + skippy) > l {
 12725  				return io.ErrUnexpectedEOF
 12726  			}
 12727  			iNdEx += skippy
 12728  		}
 12729  	}
 12730  
 12731  	if iNdEx > l {
 12732  		return io.ErrUnexpectedEOF
 12733  	}
 12734  	return nil
 12735  }
 12736  func (m *TestUpdatedAuthInfo) Unmarshal(dAtA []byte) error {
 12737  	l := len(dAtA)
 12738  	iNdEx := 0
 12739  	for iNdEx < l {
 12740  		preIndex := iNdEx
 12741  		var wire uint64
 12742  		for shift := uint(0); ; shift += 7 {
 12743  			if shift >= 64 {
 12744  				return ErrIntOverflowUnknonwnproto
 12745  			}
 12746  			if iNdEx >= l {
 12747  				return io.ErrUnexpectedEOF
 12748  			}
 12749  			b := dAtA[iNdEx]
 12750  			iNdEx++
 12751  			wire |= uint64(b&0x7F) << shift
 12752  			if b < 0x80 {
 12753  				break
 12754  			}
 12755  		}
 12756  		fieldNum := int32(wire >> 3)
 12757  		wireType := int(wire & 0x7)
 12758  		if wireType == 4 {
 12759  			return fmt.Errorf("proto: TestUpdatedAuthInfo: wiretype end group for non-group")
 12760  		}
 12761  		if fieldNum <= 0 {
 12762  			return fmt.Errorf("proto: TestUpdatedAuthInfo: illegal tag %d (wire type %d)", fieldNum, wire)
 12763  		}
 12764  		switch fieldNum {
 12765  		case 1:
 12766  			if wireType != 2 {
 12767  				return fmt.Errorf("proto: wrong wireType = %d for field SignerInfos", wireType)
 12768  			}
 12769  			var msglen int
 12770  			for shift := uint(0); ; shift += 7 {
 12771  				if shift >= 64 {
 12772  					return ErrIntOverflowUnknonwnproto
 12773  				}
 12774  				if iNdEx >= l {
 12775  					return io.ErrUnexpectedEOF
 12776  				}
 12777  				b := dAtA[iNdEx]
 12778  				iNdEx++
 12779  				msglen |= int(b&0x7F) << shift
 12780  				if b < 0x80 {
 12781  					break
 12782  				}
 12783  			}
 12784  			if msglen < 0 {
 12785  				return ErrInvalidLengthUnknonwnproto
 12786  			}
 12787  			postIndex := iNdEx + msglen
 12788  			if postIndex < 0 {
 12789  				return ErrInvalidLengthUnknonwnproto
 12790  			}
 12791  			if postIndex > l {
 12792  				return io.ErrUnexpectedEOF
 12793  			}
 12794  			m.SignerInfos = append(m.SignerInfos, &tx.SignerInfo{})
 12795  			if err := m.SignerInfos[len(m.SignerInfos)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12796  				return err
 12797  			}
 12798  			iNdEx = postIndex
 12799  		case 2:
 12800  			if wireType != 2 {
 12801  				return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType)
 12802  			}
 12803  			var msglen int
 12804  			for shift := uint(0); ; shift += 7 {
 12805  				if shift >= 64 {
 12806  					return ErrIntOverflowUnknonwnproto
 12807  				}
 12808  				if iNdEx >= l {
 12809  					return io.ErrUnexpectedEOF
 12810  				}
 12811  				b := dAtA[iNdEx]
 12812  				iNdEx++
 12813  				msglen |= int(b&0x7F) << shift
 12814  				if b < 0x80 {
 12815  					break
 12816  				}
 12817  			}
 12818  			if msglen < 0 {
 12819  				return ErrInvalidLengthUnknonwnproto
 12820  			}
 12821  			postIndex := iNdEx + msglen
 12822  			if postIndex < 0 {
 12823  				return ErrInvalidLengthUnknonwnproto
 12824  			}
 12825  			if postIndex > l {
 12826  				return io.ErrUnexpectedEOF
 12827  			}
 12828  			if m.Fee == nil {
 12829  				m.Fee = &tx.Fee{}
 12830  			}
 12831  			if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
 12832  				return err
 12833  			}
 12834  			iNdEx = postIndex
 12835  		case 3:
 12836  			if wireType != 2 {
 12837  				return fmt.Errorf("proto: wrong wireType = %d for field NewField_3", wireType)
 12838  			}
 12839  			var byteLen int
 12840  			for shift := uint(0); ; shift += 7 {
 12841  				if shift >= 64 {
 12842  					return ErrIntOverflowUnknonwnproto
 12843  				}
 12844  				if iNdEx >= l {
 12845  					return io.ErrUnexpectedEOF
 12846  				}
 12847  				b := dAtA[iNdEx]
 12848  				iNdEx++
 12849  				byteLen |= int(b&0x7F) << shift
 12850  				if b < 0x80 {
 12851  					break
 12852  				}
 12853  			}
 12854  			if byteLen < 0 {
 12855  				return ErrInvalidLengthUnknonwnproto
 12856  			}
 12857  			postIndex := iNdEx + byteLen
 12858  			if postIndex < 0 {
 12859  				return ErrInvalidLengthUnknonwnproto
 12860  			}
 12861  			if postIndex > l {
 12862  				return io.ErrUnexpectedEOF
 12863  			}
 12864  			m.NewField_3 = append(m.NewField_3[:0], dAtA[iNdEx:postIndex]...)
 12865  			if m.NewField_3 == nil {
 12866  				m.NewField_3 = []byte{}
 12867  			}
 12868  			iNdEx = postIndex
 12869  		case 1024:
 12870  			if wireType != 2 {
 12871  				return fmt.Errorf("proto: wrong wireType = %d for field NewField_1024", wireType)
 12872  			}
 12873  			var byteLen int
 12874  			for shift := uint(0); ; shift += 7 {
 12875  				if shift >= 64 {
 12876  					return ErrIntOverflowUnknonwnproto
 12877  				}
 12878  				if iNdEx >= l {
 12879  					return io.ErrUnexpectedEOF
 12880  				}
 12881  				b := dAtA[iNdEx]
 12882  				iNdEx++
 12883  				byteLen |= int(b&0x7F) << shift
 12884  				if b < 0x80 {
 12885  					break
 12886  				}
 12887  			}
 12888  			if byteLen < 0 {
 12889  				return ErrInvalidLengthUnknonwnproto
 12890  			}
 12891  			postIndex := iNdEx + byteLen
 12892  			if postIndex < 0 {
 12893  				return ErrInvalidLengthUnknonwnproto
 12894  			}
 12895  			if postIndex > l {
 12896  				return io.ErrUnexpectedEOF
 12897  			}
 12898  			m.NewField_1024 = append(m.NewField_1024[:0], dAtA[iNdEx:postIndex]...)
 12899  			if m.NewField_1024 == nil {
 12900  				m.NewField_1024 = []byte{}
 12901  			}
 12902  			iNdEx = postIndex
 12903  		default:
 12904  			iNdEx = preIndex
 12905  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
 12906  			if err != nil {
 12907  				return err
 12908  			}
 12909  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 12910  				return ErrInvalidLengthUnknonwnproto
 12911  			}
 12912  			if (iNdEx + skippy) > l {
 12913  				return io.ErrUnexpectedEOF
 12914  			}
 12915  			iNdEx += skippy
 12916  		}
 12917  	}
 12918  
 12919  	if iNdEx > l {
 12920  		return io.ErrUnexpectedEOF
 12921  	}
 12922  	return nil
 12923  }
 12924  func (m *TestRepeatedUints) Unmarshal(dAtA []byte) error {
 12925  	l := len(dAtA)
 12926  	iNdEx := 0
 12927  	for iNdEx < l {
 12928  		preIndex := iNdEx
 12929  		var wire uint64
 12930  		for shift := uint(0); ; shift += 7 {
 12931  			if shift >= 64 {
 12932  				return ErrIntOverflowUnknonwnproto
 12933  			}
 12934  			if iNdEx >= l {
 12935  				return io.ErrUnexpectedEOF
 12936  			}
 12937  			b := dAtA[iNdEx]
 12938  			iNdEx++
 12939  			wire |= uint64(b&0x7F) << shift
 12940  			if b < 0x80 {
 12941  				break
 12942  			}
 12943  		}
 12944  		fieldNum := int32(wire >> 3)
 12945  		wireType := int(wire & 0x7)
 12946  		if wireType == 4 {
 12947  			return fmt.Errorf("proto: TestRepeatedUints: wiretype end group for non-group")
 12948  		}
 12949  		if fieldNum <= 0 {
 12950  			return fmt.Errorf("proto: TestRepeatedUints: illegal tag %d (wire type %d)", fieldNum, wire)
 12951  		}
 12952  		switch fieldNum {
 12953  		case 1:
 12954  			if wireType == 0 {
 12955  				var v uint64
 12956  				for shift := uint(0); ; shift += 7 {
 12957  					if shift >= 64 {
 12958  						return ErrIntOverflowUnknonwnproto
 12959  					}
 12960  					if iNdEx >= l {
 12961  						return io.ErrUnexpectedEOF
 12962  					}
 12963  					b := dAtA[iNdEx]
 12964  					iNdEx++
 12965  					v |= uint64(b&0x7F) << shift
 12966  					if b < 0x80 {
 12967  						break
 12968  					}
 12969  				}
 12970  				m.Nums = append(m.Nums, v)
 12971  			} else if wireType == 2 {
 12972  				var packedLen int
 12973  				for shift := uint(0); ; shift += 7 {
 12974  					if shift >= 64 {
 12975  						return ErrIntOverflowUnknonwnproto
 12976  					}
 12977  					if iNdEx >= l {
 12978  						return io.ErrUnexpectedEOF
 12979  					}
 12980  					b := dAtA[iNdEx]
 12981  					iNdEx++
 12982  					packedLen |= int(b&0x7F) << shift
 12983  					if b < 0x80 {
 12984  						break
 12985  					}
 12986  				}
 12987  				if packedLen < 0 {
 12988  					return ErrInvalidLengthUnknonwnproto
 12989  				}
 12990  				postIndex := iNdEx + packedLen
 12991  				if postIndex < 0 {
 12992  					return ErrInvalidLengthUnknonwnproto
 12993  				}
 12994  				if postIndex > l {
 12995  					return io.ErrUnexpectedEOF
 12996  				}
 12997  				var elementCount int
 12998  				var count int
 12999  				for _, integer := range dAtA[iNdEx:postIndex] {
 13000  					if integer < 128 {
 13001  						count++
 13002  					}
 13003  				}
 13004  				elementCount = count
 13005  				if elementCount != 0 && len(m.Nums) == 0 {
 13006  					m.Nums = make([]uint64, 0, elementCount)
 13007  				}
 13008  				for iNdEx < postIndex {
 13009  					var v uint64
 13010  					for shift := uint(0); ; shift += 7 {
 13011  						if shift >= 64 {
 13012  							return ErrIntOverflowUnknonwnproto
 13013  						}
 13014  						if iNdEx >= l {
 13015  							return io.ErrUnexpectedEOF
 13016  						}
 13017  						b := dAtA[iNdEx]
 13018  						iNdEx++
 13019  						v |= uint64(b&0x7F) << shift
 13020  						if b < 0x80 {
 13021  							break
 13022  						}
 13023  					}
 13024  					m.Nums = append(m.Nums, v)
 13025  				}
 13026  			} else {
 13027  				return fmt.Errorf("proto: wrong wireType = %d for field Nums", wireType)
 13028  			}
 13029  		default:
 13030  			iNdEx = preIndex
 13031  			skippy, err := skipUnknonwnproto(dAtA[iNdEx:])
 13032  			if err != nil {
 13033  				return err
 13034  			}
 13035  			if (skippy < 0) || (iNdEx+skippy) < 0 {
 13036  				return ErrInvalidLengthUnknonwnproto
 13037  			}
 13038  			if (iNdEx + skippy) > l {
 13039  				return io.ErrUnexpectedEOF
 13040  			}
 13041  			iNdEx += skippy
 13042  		}
 13043  	}
 13044  
 13045  	if iNdEx > l {
 13046  		return io.ErrUnexpectedEOF
 13047  	}
 13048  	return nil
 13049  }
 13050  func skipUnknonwnproto(dAtA []byte) (n int, err error) {
 13051  	l := len(dAtA)
 13052  	iNdEx := 0
 13053  	depth := 0
 13054  	for iNdEx < l {
 13055  		var wire uint64
 13056  		for shift := uint(0); ; shift += 7 {
 13057  			if shift >= 64 {
 13058  				return 0, ErrIntOverflowUnknonwnproto
 13059  			}
 13060  			if iNdEx >= l {
 13061  				return 0, io.ErrUnexpectedEOF
 13062  			}
 13063  			b := dAtA[iNdEx]
 13064  			iNdEx++
 13065  			wire |= (uint64(b) & 0x7F) << shift
 13066  			if b < 0x80 {
 13067  				break
 13068  			}
 13069  		}
 13070  		wireType := int(wire & 0x7)
 13071  		switch wireType {
 13072  		case 0:
 13073  			for shift := uint(0); ; shift += 7 {
 13074  				if shift >= 64 {
 13075  					return 0, ErrIntOverflowUnknonwnproto
 13076  				}
 13077  				if iNdEx >= l {
 13078  					return 0, io.ErrUnexpectedEOF
 13079  				}
 13080  				iNdEx++
 13081  				if dAtA[iNdEx-1] < 0x80 {
 13082  					break
 13083  				}
 13084  			}
 13085  		case 1:
 13086  			iNdEx += 8
 13087  		case 2:
 13088  			var length int
 13089  			for shift := uint(0); ; shift += 7 {
 13090  				if shift >= 64 {
 13091  					return 0, ErrIntOverflowUnknonwnproto
 13092  				}
 13093  				if iNdEx >= l {
 13094  					return 0, io.ErrUnexpectedEOF
 13095  				}
 13096  				b := dAtA[iNdEx]
 13097  				iNdEx++
 13098  				length |= (int(b) & 0x7F) << shift
 13099  				if b < 0x80 {
 13100  					break
 13101  				}
 13102  			}
 13103  			if length < 0 {
 13104  				return 0, ErrInvalidLengthUnknonwnproto
 13105  			}
 13106  			iNdEx += length
 13107  		case 3:
 13108  			depth++
 13109  		case 4:
 13110  			if depth == 0 {
 13111  				return 0, ErrUnexpectedEndOfGroupUnknonwnproto
 13112  			}
 13113  			depth--
 13114  		case 5:
 13115  			iNdEx += 4
 13116  		default:
 13117  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
 13118  		}
 13119  		if iNdEx < 0 {
 13120  			return 0, ErrInvalidLengthUnknonwnproto
 13121  		}
 13122  		if depth == 0 {
 13123  			return iNdEx, nil
 13124  		}
 13125  	}
 13126  	return 0, io.ErrUnexpectedEOF
 13127  }
 13128  
 13129  var (
 13130  	ErrInvalidLengthUnknonwnproto        = fmt.Errorf("proto: negative length found during unmarshaling")
 13131  	ErrIntOverflowUnknonwnproto          = fmt.Errorf("proto: integer overflow")
 13132  	ErrUnexpectedEndOfGroupUnknonwnproto = fmt.Errorf("proto: unexpected end of group")
 13133  )