diff --git a/data/outport/config.pb.go b/data/outport/config.pb.go index 2dd4ffac..3836b1d1 100644 --- a/data/outport/config.pb.go +++ b/data/outport/config.pb.go @@ -26,7 +26,8 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type OutportConfig struct { - IsInImportDBMode bool `protobuf:"varint,1,opt,name=IsInImportDBMode,proto3" json:"isInImportDBMode"` + ShardID uint32 `protobuf:"varint,1,opt,name=ShardID,proto3" json:"shardID"` + IsInImportDBMode bool `protobuf:"varint,2,opt,name=IsInImportDBMode,proto3" json:"isInImportDBMode"` } func (m *OutportConfig) Reset() { *m = OutportConfig{} } @@ -57,6 +58,13 @@ func (m *OutportConfig) XXX_DiscardUnknown() { var xxx_messageInfo_OutportConfig proto.InternalMessageInfo +func (m *OutportConfig) GetShardID() uint32 { + if m != nil { + return m.ShardID + } + return 0 +} + func (m *OutportConfig) GetIsInImportDBMode() bool { if m != nil { return m.IsInImportDBMode @@ -71,22 +79,24 @@ func init() { func init() { proto.RegisterFile("config.proto", fileDescriptor_3eaf2c85e69e9ea4) } var fileDescriptor_3eaf2c85e69e9ea4 = []byte{ - // 232 bytes of a gzipped FileDescriptorProto + // 261 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xe2, 0x49, 0xce, 0xcf, 0x4b, 0xcb, 0x4c, 0xd7, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0x62, 0x05, 0x53, 0x52, 0xba, 0xe9, 0x99, 0x25, 0x19, 0xa5, 0x49, 0x7a, 0xc9, 0xf9, 0xb9, 0xfa, 0xe9, 0xf9, 0xe9, 0xf9, 0xfa, 0x60, 0xe1, - 0xa4, 0xd2, 0x34, 0x30, 0x0f, 0xcc, 0x01, 0xb3, 0x20, 0xba, 0x94, 0x02, 0xb9, 0x78, 0xfd, 0x4b, - 0x4b, 0x0a, 0xf2, 0x8b, 0x4a, 0x9c, 0xc1, 0x86, 0x09, 0x39, 0x70, 0x09, 0x78, 0x16, 0x7b, 0xe6, - 0x79, 0xe6, 0x82, 0xc4, 0x5c, 0x9c, 0x7c, 0xf3, 0x53, 0x52, 0x25, 0x18, 0x15, 0x18, 0x35, 0x38, - 0x9c, 0x44, 0x5e, 0xdd, 0x93, 0x17, 0xc8, 0x44, 0x93, 0x0b, 0xc2, 0x50, 0xed, 0x54, 0x7a, 0xe1, - 0xa1, 0x1c, 0xc3, 0x8d, 0x87, 0x72, 0x0c, 0x1f, 0x1e, 0xca, 0x31, 0x36, 0x3c, 0x92, 0x63, 0x5c, - 0xf1, 0x48, 0x8e, 0xf1, 0xc4, 0x23, 0x39, 0xc6, 0x0b, 0x8f, 0xe4, 0x18, 0x6f, 0x3c, 0x92, 0x63, - 0x7c, 0xf0, 0x48, 0x8e, 0xf1, 0xc5, 0x23, 0x39, 0x86, 0x0f, 0x8f, 0xe4, 0x18, 0x27, 0x3c, 0x96, - 0x63, 0xb8, 0xf0, 0x58, 0x8e, 0xe1, 0xc6, 0x63, 0x39, 0x86, 0x28, 0x6b, 0x24, 0xb7, 0xe7, 0x96, - 0xe6, 0x94, 0x64, 0x96, 0xa5, 0x16, 0x15, 0x57, 0xe8, 0xe7, 0x56, 0xe8, 0x26, 0x67, 0x24, 0x66, - 0xe6, 0xe9, 0x26, 0xe7, 0x17, 0xa5, 0xea, 0xa6, 0xe7, 0xeb, 0xa7, 0x24, 0x96, 0x24, 0xea, 0xe7, - 0x43, 0x9c, 0x6d, 0x0d, 0xa5, 0x93, 0xd8, 0xc0, 0x1e, 0x32, 0x06, 0x04, 0x00, 0x00, 0xff, 0xff, - 0xc2, 0x23, 0x6e, 0xa4, 0x16, 0x01, 0x00, 0x00, + 0xa4, 0xd2, 0x34, 0x30, 0x0f, 0xcc, 0x01, 0xb3, 0x20, 0xba, 0x94, 0x2a, 0xb8, 0x78, 0xfd, 0x4b, + 0x4b, 0x0a, 0xf2, 0x8b, 0x4a, 0x9c, 0xc1, 0x86, 0x09, 0xa9, 0x72, 0xb1, 0x07, 0x67, 0x24, 0x16, + 0xa5, 0x78, 0xba, 0x48, 0x30, 0x2a, 0x30, 0x6a, 0xf0, 0x3a, 0x71, 0xbf, 0xba, 0x27, 0xcf, 0x5e, + 0x0c, 0x11, 0x0a, 0x82, 0xc9, 0x09, 0x39, 0x70, 0x09, 0x78, 0x16, 0x7b, 0xe6, 0x79, 0xe6, 0x82, + 0xb4, 0xba, 0x38, 0xf9, 0xe6, 0xa7, 0xa4, 0x4a, 0x30, 0x29, 0x30, 0x6a, 0x70, 0x38, 0x89, 0xbc, + 0xba, 0x27, 0x2f, 0x90, 0x89, 0x26, 0x17, 0x84, 0xa1, 0xda, 0xa9, 0xf4, 0xc2, 0x43, 0x39, 0x86, + 0x1b, 0x0f, 0xe5, 0x18, 0x3e, 0x3c, 0x94, 0x63, 0x6c, 0x78, 0x24, 0xc7, 0xb8, 0xe2, 0x91, 0x1c, + 0xe3, 0x89, 0x47, 0x72, 0x8c, 0x17, 0x1e, 0xc9, 0x31, 0xde, 0x78, 0x24, 0xc7, 0xf8, 0xe0, 0x91, + 0x1c, 0xe3, 0x8b, 0x47, 0x72, 0x0c, 0x1f, 0x1e, 0xc9, 0x31, 0x4e, 0x78, 0x2c, 0xc7, 0x70, 0xe1, + 0xb1, 0x1c, 0xc3, 0x8d, 0xc7, 0x72, 0x0c, 0x51, 0xd6, 0x48, 0x5e, 0xcc, 0x2d, 0xcd, 0x29, 0xc9, + 0x2c, 0x4b, 0x2d, 0x2a, 0xae, 0xd0, 0xcf, 0xad, 0xd0, 0x4d, 0xce, 0x48, 0xcc, 0xcc, 0xd3, 0x4d, + 0xce, 0x2f, 0x4a, 0xd5, 0x4d, 0xcf, 0xd7, 0x4f, 0x49, 0x2c, 0x49, 0xd4, 0xcf, 0x87, 0xf8, 0xce, + 0x1a, 0x4a, 0x27, 0xb1, 0x81, 0xfd, 0x6d, 0x0c, 0x08, 0x00, 0x00, 0xff, 0xff, 0x62, 0x13, 0x75, + 0x71, 0x3d, 0x01, 0x00, 0x00, } func (this *OutportConfig) Equal(that interface{}) bool { @@ -108,6 +118,9 @@ func (this *OutportConfig) Equal(that interface{}) bool { } else if this == nil { return false } + if this.ShardID != that1.ShardID { + return false + } if this.IsInImportDBMode != that1.IsInImportDBMode { return false } @@ -117,8 +130,9 @@ func (this *OutportConfig) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 5) + s := make([]string, 0, 6) s = append(s, "&outport.OutportConfig{") + s = append(s, "ShardID: "+fmt.Sprintf("%#v", this.ShardID)+",\n") s = append(s, "IsInImportDBMode: "+fmt.Sprintf("%#v", this.IsInImportDBMode)+",\n") s = append(s, "}") return strings.Join(s, "") @@ -159,6 +173,11 @@ func (m *OutportConfig) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0 } i-- + dAtA[i] = 0x10 + } + if m.ShardID != 0 { + i = encodeVarintConfig(dAtA, i, uint64(m.ShardID)) + i-- dAtA[i] = 0x8 } return len(dAtA) - i, nil @@ -181,6 +200,9 @@ func (m *OutportConfig) Size() (n int) { } var l int _ = l + if m.ShardID != 0 { + n += 1 + sovConfig(uint64(m.ShardID)) + } if m.IsInImportDBMode { n += 2 } @@ -198,6 +220,7 @@ func (this *OutportConfig) String() string { return "nil" } s := strings.Join([]string{`&OutportConfig{`, + `ShardID:` + fmt.Sprintf("%v", this.ShardID) + `,`, `IsInImportDBMode:` + fmt.Sprintf("%v", this.IsInImportDBMode) + `,`, `}`, }, "") @@ -241,6 +264,25 @@ func (m *OutportConfig) Unmarshal(dAtA []byte) error { } switch fieldNum { case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ShardID", wireType) + } + m.ShardID = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowConfig + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ShardID |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field IsInImportDBMode", wireType) } diff --git a/data/outport/config.proto b/data/outport/config.proto index 2efc39ef..68f70f3f 100644 --- a/data/outport/config.proto +++ b/data/outport/config.proto @@ -8,5 +8,6 @@ option (gogoproto.stable_marshaler_all) = true; import "github.com/gogo/protobuf/gogoproto/gogo.proto"; message OutportConfig { - bool IsInImportDBMode = 1 [(gogoproto.jsontag) = "isInImportDBMode"]; + uint32 ShardID = 1 [(gogoproto.jsontag) = "shardID"]; + bool IsInImportDBMode = 2 [(gogoproto.jsontag) = "isInImportDBMode"]; } diff --git a/data/outport/outportBlock.pb.go b/data/outport/outportBlock.pb.go index 95731a5e..f7020b56 100644 --- a/data/outport/outportBlock.pb.go +++ b/data/outport/outportBlock.pb.go @@ -37,15 +37,16 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package type OutportBlock struct { - BlockData *BlockData `protobuf:"bytes,1,opt,name=BlockData,proto3" json:"blockData,omitempty"` - TransactionPool *TransactionPool `protobuf:"bytes,2,opt,name=TransactionPool,proto3" json:"transactionPool,omitempty"` - HeaderGasConsumption *HeaderGasConsumption `protobuf:"bytes,3,opt,name=HeaderGasConsumption,proto3" json:"headerGasConsumption,omitempty"` - AlteredAccounts map[string]*alteredAccount.AlteredAccount `protobuf:"bytes,4,rep,name=AlteredAccounts,proto3" json:"alteredAccounts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - NotarizedHeadersHashes []string `protobuf:"bytes,5,rep,name=NotarizedHeadersHashes,proto3" json:"notarizedHeadersHashes,omitempty"` - NumberOfShards uint32 `protobuf:"varint,6,opt,name=NumberOfShards,proto3" json:"numberOfShards"` - SignersIndexes []uint64 `protobuf:"varint,7,rep,packed,name=SignersIndexes,proto3" json:"signersIndexes,omitempty"` - HighestFinalBlockNonce uint64 `protobuf:"varint,8,opt,name=HighestFinalBlockNonce,proto3" json:"highestFinalBlockNonce"` - HighestFinalBlockHash []byte `protobuf:"bytes,9,opt,name=HighestFinalBlockHash,proto3" json:"highestFinalBlockHash,omitempty"` + ShardID uint32 `protobuf:"varint,1,opt,name=ShardID,proto3" json:"shardID,omitempty"` + BlockData *BlockData `protobuf:"bytes,2,opt,name=BlockData,proto3" json:"blockData,omitempty"` + TransactionPool *TransactionPool `protobuf:"bytes,3,opt,name=TransactionPool,proto3" json:"transactionPool,omitempty"` + HeaderGasConsumption *HeaderGasConsumption `protobuf:"bytes,4,opt,name=HeaderGasConsumption,proto3" json:"headerGasConsumption,omitempty"` + AlteredAccounts map[string]*alteredAccount.AlteredAccount `protobuf:"bytes,5,rep,name=AlteredAccounts,proto3" json:"alteredAccounts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + NotarizedHeadersHashes []string `protobuf:"bytes,6,rep,name=NotarizedHeadersHashes,proto3" json:"notarizedHeadersHashes,omitempty"` + NumberOfShards uint32 `protobuf:"varint,7,opt,name=NumberOfShards,proto3" json:"numberOfShards"` + SignersIndexes []uint64 `protobuf:"varint,8,rep,packed,name=SignersIndexes,proto3" json:"signersIndexes,omitempty"` + HighestFinalBlockNonce uint64 `protobuf:"varint,9,opt,name=HighestFinalBlockNonce,proto3" json:"highestFinalBlockNonce"` + HighestFinalBlockHash []byte `protobuf:"bytes,10,opt,name=HighestFinalBlockHash,proto3" json:"highestFinalBlockHash,omitempty"` } func (m *OutportBlock) Reset() { *m = OutportBlock{} } @@ -76,6 +77,13 @@ func (m *OutportBlock) XXX_DiscardUnknown() { var xxx_messageInfo_OutportBlock proto.InternalMessageInfo +func (m *OutportBlock) GetShardID() uint32 { + if m != nil { + return m.ShardID + } + return 0 +} + func (m *OutportBlock) GetBlockData() *BlockData { if m != nil { return m.BlockData @@ -140,11 +148,12 @@ func (m *OutportBlock) GetHighestFinalBlockHash() []byte { } type BlockData struct { - HeaderBytes []byte `protobuf:"bytes,1,opt,name=HeaderBytes,proto3" json:"headerBytes,omitempty"` - HeaderType string `protobuf:"bytes,2,opt,name=HeaderType,proto3" json:"headerType,omitempty"` - HeaderHash []byte `protobuf:"bytes,3,opt,name=HeaderHash,proto3" json:"headerHash,omitempty"` - Body *block.Body `protobuf:"bytes,4,opt,name=Body,proto3" json:"body,omitempty"` - IntraShardMiniBlocks []*block.MiniBlock `protobuf:"bytes,5,rep,name=IntraShardMiniBlocks,proto3" json:"intraShardMiniBlocks,omitempty"` + ShardID uint32 `protobuf:"varint,1,opt,name=ShardID,proto3" json:"shardID,omitempty"` + HeaderBytes []byte `protobuf:"bytes,2,opt,name=HeaderBytes,proto3" json:"headerBytes,omitempty"` + HeaderType string `protobuf:"bytes,3,opt,name=HeaderType,proto3" json:"headerType,omitempty"` + HeaderHash []byte `protobuf:"bytes,4,opt,name=HeaderHash,proto3" json:"headerHash,omitempty"` + Body *block.Body `protobuf:"bytes,5,opt,name=Body,proto3" json:"body,omitempty"` + IntraShardMiniBlocks []*block.MiniBlock `protobuf:"bytes,6,rep,name=IntraShardMiniBlocks,proto3" json:"intraShardMiniBlocks,omitempty"` } func (m *BlockData) Reset() { *m = BlockData{} } @@ -175,6 +184,13 @@ func (m *BlockData) XXX_DiscardUnknown() { var xxx_messageInfo_BlockData proto.InternalMessageInfo +func (m *BlockData) GetShardID() uint32 { + if m != nil { + return m.ShardID + } + return 0 +} + func (m *BlockData) GetHeaderBytes() []byte { if m != nil { return m.HeaderBytes @@ -809,7 +825,8 @@ func (m *RoundInfo) GetTimestamp() uint64 { } type RoundsInfo struct { - RoundsInfo []*RoundInfo `protobuf:"bytes,1,rep,name=RoundsInfo,proto3" json:"roundsInfo,omitempty"` + ShardID uint32 `protobuf:"varint,1,opt,name=ShardID,proto3" json:"shardID"` + RoundsInfo []*RoundInfo `protobuf:"bytes,2,rep,name=RoundsInfo,proto3" json:"roundsInfo,omitempty"` } func (m *RoundsInfo) Reset() { *m = RoundsInfo{} } @@ -840,6 +857,13 @@ func (m *RoundsInfo) XXX_DiscardUnknown() { var xxx_messageInfo_RoundsInfo proto.InternalMessageInfo +func (m *RoundsInfo) GetShardID() uint32 { + if m != nil { + return m.ShardID + } + return 0 +} + func (m *RoundsInfo) GetRoundsInfo() []*RoundInfo { if m != nil { return m.RoundsInfo @@ -887,8 +911,9 @@ func (m *PubKeys) GetKeys() [][]byte { } type ValidatorsPubKeys struct { - ShardValidatorsPubKeys map[uint32]*PubKeys `protobuf:"bytes,1,rep,name=ShardValidatorsPubKeys,proto3" json:"validatorsPubKeys,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Epoch uint32 `protobuf:"varint,2,opt,name=Epoch,proto3" json:"epoch"` + ShardID uint32 `protobuf:"varint,1,opt,name=ShardID,proto3" json:"shardID"` + ShardValidatorsPubKeys map[uint32]*PubKeys `protobuf:"bytes,2,rep,name=ShardValidatorsPubKeys,proto3" json:"validatorsPubKeys,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Epoch uint32 `protobuf:"varint,3,opt,name=Epoch,proto3" json:"epoch"` } func (m *ValidatorsPubKeys) Reset() { *m = ValidatorsPubKeys{} } @@ -919,6 +944,13 @@ func (m *ValidatorsPubKeys) XXX_DiscardUnknown() { var xxx_messageInfo_ValidatorsPubKeys proto.InternalMessageInfo +func (m *ValidatorsPubKeys) GetShardID() uint32 { + if m != nil { + return m.ShardID + } + return 0 +} + func (m *ValidatorsPubKeys) GetShardValidatorsPubKeys() map[uint32]*PubKeys { if m != nil { return m.ShardValidatorsPubKeys @@ -989,7 +1021,8 @@ func (m *Accounts) GetAlteredAccounts() map[string]*alteredAccount.AlteredAccoun } type FinalizedBlock struct { - HeaderHash []byte `protobuf:"bytes,1,opt,name=HeaderHash,proto3" json:"headerHash"` + ShardID uint32 `protobuf:"varint,1,opt,name=ShardID,proto3" json:"shardID"` + HeaderHash []byte `protobuf:"bytes,2,opt,name=HeaderHash,proto3" json:"headerHash"` } func (m *FinalizedBlock) Reset() { *m = FinalizedBlock{} } @@ -1020,6 +1053,13 @@ func (m *FinalizedBlock) XXX_DiscardUnknown() { var xxx_messageInfo_FinalizedBlock proto.InternalMessageInfo +func (m *FinalizedBlock) GetShardID() uint32 { + if m != nil { + return m.ShardID + } + return 0 +} + func (m *FinalizedBlock) GetHeaderHash() []byte { if m != nil { return m.HeaderHash @@ -1027,6 +1067,45 @@ func (m *FinalizedBlock) GetHeaderHash() []byte { return nil } +type Shard struct { + ShardID uint32 `protobuf:"varint,1,opt,name=ShardID,proto3" json:"shardID"` +} + +func (m *Shard) Reset() { *m = Shard{} } +func (*Shard) ProtoMessage() {} +func (*Shard) Descriptor() ([]byte, []int) { + return fileDescriptor_661b95cef868af95, []int{17} +} +func (m *Shard) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *Shard) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil +} +func (m *Shard) XXX_Merge(src proto.Message) { + xxx_messageInfo_Shard.Merge(m, src) +} +func (m *Shard) XXX_Size() int { + return m.Size() +} +func (m *Shard) XXX_DiscardUnknown() { + xxx_messageInfo_Shard.DiscardUnknown(m) +} + +var xxx_messageInfo_Shard proto.InternalMessageInfo + +func (m *Shard) GetShardID() uint32 { + if m != nil { + return m.ShardID + } + return 0 +} + func init() { proto.RegisterType((*OutportBlock)(nil), "proto.OutportBlock") proto.RegisterMapType((map[string]*alteredAccount.AlteredAccount)(nil), "proto.OutportBlock.AlteredAccountsEntry") @@ -1053,131 +1132,134 @@ func init() { proto.RegisterType((*Accounts)(nil), "proto.Accounts") proto.RegisterMapType((map[string]*alteredAccount.AlteredAccount)(nil), "proto.Accounts.AlteredAccountsEntry") proto.RegisterType((*FinalizedBlock)(nil), "proto.FinalizedBlock") + proto.RegisterType((*Shard)(nil), "proto.Shard") } func init() { proto.RegisterFile("outportBlock.proto", fileDescriptor_661b95cef868af95) } var fileDescriptor_661b95cef868af95 = []byte{ - // 1893 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x58, 0xcd, 0x6f, 0x23, 0x49, - 0x15, 0x4f, 0xdb, 0x4e, 0x1c, 0xbf, 0x38, 0x4e, 0xa6, 0x26, 0x13, 0x3c, 0x19, 0xd6, 0x1d, 0x3c, - 0xb3, 0x4b, 0xc4, 0x30, 0x0e, 0x3b, 0x3b, 0x42, 0xa3, 0x19, 0xad, 0xd8, 0xe9, 0xcc, 0x97, 0x99, - 0x8f, 0x44, 0x9d, 0xc0, 0x6e, 0x56, 0x48, 0xd0, 0x76, 0x57, 0xda, 0xad, 0xb1, 0xbb, 0x4c, 0x57, - 0x39, 0xd8, 0x9c, 0x38, 0xb1, 0x08, 0x69, 0x25, 0x8e, 0xdc, 0xb8, 0x22, 0x0e, 0x5c, 0xf9, 0x17, - 0x38, 0xa1, 0x39, 0xa1, 0x91, 0x90, 0x1a, 0x26, 0x73, 0x41, 0x7d, 0x40, 0x7b, 0xe3, 0x8a, 0xba, - 0xaa, 0xda, 0x5d, 0xdd, 0xee, 0x2c, 0xc9, 0xc2, 0x6a, 0x2f, 0x76, 0xd7, 0xfb, 0xf8, 0xbd, 0x7a, - 0xaf, 0xde, 0x7b, 0xf5, 0x01, 0x88, 0x8c, 0xd8, 0x90, 0xf8, 0xcc, 0xe8, 0x93, 0xee, 0x8b, 0xd6, - 0xd0, 0x27, 0x8c, 0xa0, 0x79, 0xfe, 0xb7, 0x71, 0xc3, 0x71, 0x59, 0x6f, 0xd4, 0x69, 0x75, 0xc9, - 0x60, 0xdb, 0x21, 0x0e, 0xd9, 0xe6, 0xe4, 0xce, 0xe8, 0x88, 0x8f, 0xf8, 0x80, 0x7f, 0x09, 0xad, - 0x8d, 0xf7, 0x15, 0xf1, 0xc1, 0xa8, 0xcf, 0xdc, 0x63, 0xec, 0xd3, 0xf1, 0xf6, 0x60, 0x7c, 0xa3, - 0xdb, 0xb3, 0x5c, 0xef, 0x46, 0x97, 0xf8, 0xf8, 0x86, 0x43, 0xb6, 0x6d, 0x8b, 0x59, 0xdb, 0x9d, - 0xc8, 0x9c, 0xf8, 0x95, 0xea, 0xf7, 0xce, 0xa3, 0xce, 0x7c, 0xcb, 0xa3, 0x56, 0x97, 0xb9, 0xc4, - 0xdb, 0xee, 0x13, 0x47, 0x42, 0xb4, 0xbf, 0x28, 0x84, 0xf2, 0x2d, 0xa1, 0x0e, 0xcf, 0x03, 0x45, - 0x07, 0x96, 0xcf, 0x76, 0x88, 0xc7, 0x7c, 0xab, 0xcb, 0x4c, 0x4c, 0x47, 0x7d, 0x96, 0x47, 0xfb, - 0x22, 0x8e, 0xfa, 0xb8, 0x8b, 0xdd, 0x21, 0x8b, 0xff, 0x25, 0xc4, 0xce, 0xf9, 0x20, 0x7e, 0x66, - 0xf9, 0xf6, 0xc1, 0x78, 0xfa, 0x21, 0x41, 0x76, 0xcf, 0x03, 0x62, 0xf5, 0x19, 0xf6, 0xb1, 0x7d, - 0xaf, 0xdb, 0x25, 0x23, 0x8f, 0x65, 0x86, 0x02, 0xb0, 0xf9, 0xeb, 0x32, 0x54, 0x77, 0x95, 0x6c, - 0x42, 0x8f, 0xa0, 0xc2, 0x3f, 0xee, 0x5b, 0xcc, 0xaa, 0x6b, 0x9b, 0xda, 0xd6, 0xd2, 0xcd, 0x55, - 0x21, 0xdb, 0x9a, 0xd2, 0x8d, 0xaf, 0x85, 0x81, 0x7e, 0xb1, 0x13, 0x0f, 0xbf, 0x4d, 0x06, 0x2e, - 0xc3, 0x83, 0x21, 0x9b, 0x98, 0x89, 0x2e, 0xfa, 0x31, 0xac, 0x1c, 0x24, 0x4b, 0xb4, 0x47, 0x48, - 0xbf, 0x5e, 0xe0, 0x70, 0xeb, 0x12, 0x2e, 0xc3, 0x35, 0xde, 0x0a, 0x03, 0xfd, 0x32, 0x4b, 0x13, - 0x15, 0xe8, 0x2c, 0x1a, 0xa2, 0xb0, 0xf6, 0x18, 0x5b, 0x36, 0xf6, 0x1f, 0x59, 0x74, 0x87, 0x78, - 0x74, 0x34, 0x18, 0x46, 0xbc, 0x7a, 0x91, 0x5b, 0xb9, 0x22, 0xad, 0xe4, 0x89, 0x18, 0xcd, 0x30, - 0xd0, 0x1b, 0xbd, 0x1c, 0x8e, 0x62, 0x2f, 0x17, 0x1c, 0xfd, 0x14, 0x56, 0xee, 0xa5, 0xe2, 0x48, - 0xeb, 0xa5, 0xcd, 0xe2, 0xd6, 0xd2, 0xcd, 0x2d, 0x69, 0x4f, 0x0d, 0x66, 0x2b, 0x23, 0xfa, 0xc0, - 0x63, 0xfe, 0x44, 0xf8, 0x99, 0x5e, 0x0c, 0xaa, 0xfa, 0x99, 0x51, 0x42, 0x3f, 0x82, 0xf5, 0xe7, - 0x84, 0x59, 0xbe, 0xfb, 0x73, 0x6c, 0x8b, 0x39, 0xd1, 0xc7, 0x16, 0xed, 0x61, 0x5a, 0x9f, 0xdf, - 0x2c, 0x6e, 0x55, 0x8c, 0x6b, 0x61, 0xa0, 0x6f, 0x7a, 0xb9, 0x12, 0x0a, 0xec, 0x29, 0x18, 0xe8, - 0x0e, 0xd4, 0x9e, 0x8f, 0x06, 0x1d, 0xec, 0xef, 0x1e, 0xed, 0xf7, 0x2c, 0xdf, 0xa6, 0xf5, 0x85, - 0x4d, 0x6d, 0x6b, 0xd9, 0x40, 0x61, 0xa0, 0xd7, 0xbc, 0x14, 0xc7, 0xcc, 0x48, 0xa2, 0xfb, 0x50, - 0xdb, 0x77, 0x1d, 0x0f, 0xfb, 0xb4, 0xed, 0xd9, 0x78, 0x8c, 0x69, 0xbd, 0xbc, 0x59, 0xdc, 0x2a, - 0x19, 0x5f, 0x0f, 0x03, 0xbd, 0x4e, 0x53, 0x1c, 0x65, 0x26, 0x19, 0x1d, 0x64, 0xc2, 0xfa, 0x63, - 0xd7, 0xe9, 0x61, 0xca, 0x1e, 0xba, 0x9e, 0xd5, 0xe7, 0x91, 0x7b, 0x4e, 0xbc, 0x2e, 0xae, 0x2f, - 0x6e, 0x6a, 0x5b, 0x25, 0x63, 0x23, 0x0c, 0xf4, 0xf5, 0x5e, 0xae, 0x84, 0x79, 0x8a, 0x26, 0x3a, - 0x84, 0x4b, 0x33, 0x9c, 0xc8, 0xe1, 0x7a, 0x65, 0x53, 0xdb, 0xaa, 0x1a, 0x57, 0xc3, 0x40, 0xd7, - 0x7b, 0x79, 0x02, 0xca, 0x3c, 0xf3, 0x11, 0x36, 0x0e, 0x61, 0x2d, 0x6f, 0x59, 0xd1, 0x2a, 0x14, - 0x5f, 0xe0, 0x09, 0x2f, 0x99, 0x8a, 0x19, 0x7d, 0xa2, 0xeb, 0x30, 0x7f, 0x6c, 0xf5, 0x47, 0x58, - 0xe6, 0xfd, 0x25, 0x99, 0x21, 0x69, 0x6d, 0x53, 0xc8, 0xdc, 0x29, 0xdc, 0xd6, 0x9a, 0x7f, 0x2b, - 0x28, 0xc5, 0x87, 0xee, 0xc2, 0x92, 0x58, 0x2a, 0x63, 0xc2, 0x30, 0xe5, 0xc0, 0x55, 0xe3, 0x72, - 0x18, 0xe8, 0x97, 0x7a, 0x09, 0x59, 0x99, 0xaf, 0x2a, 0x8d, 0x6e, 0x03, 0x88, 0xe1, 0xc1, 0x64, - 0x28, 0x26, 0x50, 0x31, 0xea, 0x61, 0xa0, 0xaf, 0xf5, 0xa6, 0x54, 0x45, 0x55, 0x91, 0x4d, 0x34, - 0x79, 0xbc, 0x8a, 0xdc, 0xaa, 0xa2, 0x99, 0x09, 0x92, 0x22, 0x8b, 0xde, 0x83, 0x92, 0x41, 0xec, - 0x49, 0xbd, 0xc4, 0xdd, 0x5d, 0x8a, 0xbb, 0x06, 0xb1, 0x27, 0x22, 0x9b, 0x3a, 0xc4, 0x9e, 0x28, - 0xaa, 0x5c, 0x18, 0xf5, 0x60, 0xad, 0x1d, 0x35, 0x5c, 0x9e, 0x52, 0xcf, 0x5c, 0xcf, 0xe5, 0x01, - 0x10, 0xb9, 0x9d, 0xb4, 0x9e, 0x29, 0x43, 0x94, 0xae, 0x9b, 0xa3, 0xa1, 0x96, 0x6e, 0x1e, 0x62, - 0xf3, 0x13, 0x98, 0xe9, 0x48, 0xa8, 0x07, 0x55, 0x85, 0x14, 0x05, 0x59, 0xad, 0xe5, 0x8c, 0xb4, - 0x3a, 0x96, 0xb5, 0xcc, 0x73, 0x53, 0xe9, 0x59, 0xea, 0x2c, 0x52, 0xc8, 0xe8, 0x57, 0x1a, 0xac, - 0xed, 0xcf, 0xee, 0x2f, 0xb4, 0x5e, 0xe0, 0x26, 0xbf, 0x73, 0x8a, 0xc9, 0x3c, 0x15, 0x61, 0x9a, - 0x07, 0x22, 0x67, 0xc7, 0x4a, 0x05, 0x22, 0x4f, 0x1d, 0x1d, 0x40, 0xd9, 0xe4, 0xdb, 0x0a, 0xad, - 0x17, 0xb9, 0xf1, 0xab, 0xa7, 0x18, 0x97, 0x52, 0xc2, 0xde, 0xa5, 0x30, 0xd0, 0x2f, 0x88, 0xed, - 0x48, 0x35, 0x11, 0x43, 0xa1, 0x8f, 0x60, 0xd1, 0x14, 0x1b, 0x5e, 0xdc, 0x12, 0xaf, 0x9d, 0x0a, - 0x2b, 0xc4, 0x04, 0xee, 0x7a, 0x18, 0xe8, 0x48, 0x6e, 0x95, 0x2a, 0xf0, 0x14, 0x0d, 0xfd, 0x04, - 0xa0, 0xed, 0x1d, 0x5b, 0x7d, 0xd7, 0x3e, 0x18, 0xc7, 0x89, 0xf1, 0xce, 0x29, 0xd8, 0x89, 0xa0, - 0x40, 0xe7, 0x99, 0xeb, 0x4e, 0x89, 0x6a, 0xe6, 0x26, 0xa2, 0xe8, 0xbb, 0x50, 0x7a, 0x4a, 0x9c, - 0xa8, 0xf5, 0x45, 0xd8, 0x35, 0x89, 0xfd, 0x94, 0x38, 0x7c, 0xb7, 0xe3, 0xc9, 0xdb, 0x27, 0x8e, - 0xaa, 0xcd, 0xe5, 0xd1, 0x2f, 0x35, 0xb8, 0xb6, 0xdf, 0xed, 0x61, 0x7b, 0xd4, 0xc7, 0xf6, 0x83, - 0x31, 0xee, 0x8e, 0x18, 0xb6, 0xf7, 0x77, 0xcc, 0x7d, 0xd1, 0x5c, 0xf7, 0x7c, 0x7c, 0xcc, 0x93, - 0x8f, 0xf7, 0xc5, 0x8a, 0x71, 0x33, 0x0c, 0xf4, 0x16, 0x3d, 0x83, 0xbc, 0x62, 0xe8, 0x4c, 0xf8, - 0xe8, 0xb7, 0x1a, 0x7c, 0x6b, 0x46, 0x30, 0x71, 0x30, 0x3b, 0x9d, 0x45, 0x3e, 0x9d, 0xdb, 0x61, - 0xa0, 0xdf, 0xa2, 0x67, 0xd6, 0x52, 0x26, 0x75, 0x0e, 0x5b, 0x1b, 0xcf, 0xe1, 0xc2, 0x4c, 0xdd, - 0xe4, 0x34, 0xcb, 0xab, 0xe9, 0x66, 0xb9, 0x1c, 0xaf, 0xef, 0xb8, 0xed, 0x1d, 0x11, 0xa5, 0x49, - 0x6e, 0x7c, 0x08, 0x97, 0x4f, 0x2d, 0x8a, 0x1c, 0xdc, 0x6b, 0x69, 0xdc, 0x78, 0x6d, 0xf7, 0x77, - 0xcc, 0x2c, 0xf0, 0x33, 0xa8, 0xaa, 0x09, 0x9f, 0x83, 0xf5, 0xcd, 0x34, 0xd6, 0x05, 0x89, 0x25, - 0xb4, 0xb2, 0x70, 0x4f, 0x60, 0x39, 0x95, 0xe8, 0x67, 0x9f, 0x9b, 0x54, 0x53, 0xc1, 0x9e, 0xc2, - 0x4a, 0x26, 0xb3, 0xff, 0x87, 0x10, 0x36, 0xff, 0x58, 0x80, 0xf2, 0x43, 0x8c, 0x23, 0x32, 0x7a, - 0x1b, 0xca, 0x8f, 0x2c, 0xfa, 0x03, 0x8a, 0x6d, 0x0e, 0x55, 0x32, 0x96, 0xc2, 0x40, 0x2f, 0x3b, - 0x82, 0x64, 0xc6, 0x3c, 0xd4, 0x87, 0xe2, 0x43, 0x2c, 0x90, 0xab, 0xc6, 0xc7, 0x61, 0xa0, 0x2f, - 0x1f, 0x61, 0x65, 0x07, 0xf9, 0xc3, 0xdf, 0xf5, 0x07, 0x03, 0x8b, 0xf5, 0xb6, 0x3b, 0xae, 0xd3, - 0x6a, 0x7b, 0xec, 0xee, 0x39, 0xce, 0xa9, 0x2d, 0xc3, 0x75, 0xda, 0x1e, 0xdb, 0xb1, 0x28, 0xc3, - 0xbe, 0x19, 0x99, 0x41, 0x9f, 0x6a, 0x50, 0x6b, 0x7b, 0x2e, 0x73, 0xad, 0xfe, 0x9e, 0xe5, 0xda, - 0x91, 0x65, 0xb1, 0x11, 0xe1, 0xe8, 0x64, 0xe1, 0xa6, 0x38, 0x5f, 0xc6, 0x24, 0x32, 0xc6, 0x9b, - 0x7f, 0xd5, 0x60, 0x41, 0x84, 0x11, 0xed, 0xc2, 0x92, 0x92, 0xce, 0xf2, 0x84, 0x8c, 0x66, 0xbb, - 0x91, 0xd8, 0xa9, 0x95, 0xad, 0x41, 0xdd, 0xa9, 0x15, 0x39, 0xf4, 0xbd, 0xe9, 0x5a, 0x64, 0xd2, - 0x40, 0x52, 0x45, 0xe3, 0x3d, 0x12, 0x03, 0xb5, 0xf1, 0xc6, 0x2b, 0x78, 0x07, 0x6a, 0xa2, 0x0a, - 0x5d, 0xe2, 0xed, 0xfa, 0x36, 0xf6, 0x79, 0xac, 0xe4, 0x09, 0x0e, 0xa7, 0x38, 0x66, 0x46, 0xb2, - 0xf9, 0x6f, 0x0d, 0xca, 0xb2, 0x14, 0x10, 0x81, 0x8b, 0x39, 0x85, 0x25, 0x3d, 0xdc, 0x88, 0xeb, - 0x66, 0x56, 0xc2, 0xf8, 0x46, 0x18, 0xe8, 0x6f, 0xe5, 0xec, 0x44, 0xca, 0x64, 0xf3, 0x90, 0xbf, - 0x5a, 0xcf, 0x0f, 0xa0, 0x2c, 0xfb, 0x3b, 0x6a, 0x46, 0x8b, 0xcb, 0x4f, 0x3b, 0xbc, 0x98, 0x0c, - 0x08, 0x03, 0x7d, 0x81, 0x71, 0x8a, 0x29, 0x39, 0xe8, 0x6d, 0x28, 0x3e, 0x25, 0x8e, 0x9c, 0x27, - 0x24, 0x1b, 0x84, 0x51, 0x0e, 0x03, 0xbd, 0xd8, 0x27, 0x8e, 0x19, 0xf1, 0x9b, 0x9f, 0x68, 0x00, - 0x49, 0x3b, 0x40, 0xef, 0xc3, 0x82, 0x18, 0xc9, 0x28, 0xae, 0xa4, 0x3a, 0xc6, 0xc1, 0xd8, 0x58, - 0x0b, 0x03, 0x7d, 0x55, 0x6c, 0xaa, 0x8a, 0x83, 0x52, 0x29, 0xc7, 0xbf, 0xc2, 0x99, 0xfd, 0xfb, - 0x97, 0x96, 0x7f, 0x3d, 0x42, 0xef, 0xc2, 0xd2, 0x23, 0x8b, 0xee, 0xf9, 0xe4, 0xd8, 0xb5, 0xa7, - 0x45, 0xbf, 0x12, 0x06, 0xfa, 0x92, 0x93, 0x90, 0x4d, 0x55, 0x46, 0xaa, 0x98, 0xf8, 0x68, 0xe4, - 0x45, 0x2a, 0x85, 0x94, 0x4a, 0x4c, 0x36, 0x55, 0x19, 0x74, 0x0b, 0xaa, 0x11, 0x02, 0xf6, 0xac, - 0x7e, 0x74, 0xe7, 0xe0, 0x0b, 0x53, 0x32, 0x56, 0xc3, 0x40, 0xaf, 0x3a, 0x0a, 0xdd, 0x4c, 0x49, - 0x45, 0x0e, 0x3f, 0xb3, 0xc6, 0x9c, 0xe4, 0x8b, 0x9d, 0xaa, 0xc4, 0xf5, 0xb8, 0xc3, 0x83, 0x14, - 0xc7, 0xcc, 0x48, 0x36, 0x8f, 0xe0, 0xe2, 0x0f, 0xa3, 0x06, 0x69, 0x31, 0xe2, 0x9b, 0x16, 0x73, - 0x3d, 0x87, 0x2f, 0xc1, 0x75, 0xa8, 0xec, 0x8d, 0x3a, 0x7d, 0xb7, 0xfb, 0x24, 0x6e, 0x96, 0xc6, - 0x72, 0x18, 0xe8, 0x95, 0x61, 0x4c, 0x34, 0x13, 0x7e, 0x94, 0x09, 0x42, 0x95, 0xfb, 0x58, 0x10, - 0x99, 0xe0, 0x73, 0x8a, 0x29, 0x39, 0xcd, 0xbf, 0x68, 0xb0, 0x3a, 0x35, 0x44, 0x05, 0x31, 0xea, - 0xa2, 0xfc, 0xb8, 0xd9, 0xbe, 0xcf, 0x6d, 0x2c, 0x8b, 0x2e, 0x4a, 0x05, 0xc9, 0x8c, 0x79, 0x48, - 0x87, 0xf9, 0x07, 0x43, 0xd2, 0xed, 0xc9, 0x75, 0xac, 0x84, 0x81, 0x3e, 0x8f, 0x23, 0x82, 0x29, - 0xe8, 0xc8, 0x87, 0xb5, 0x2c, 0x36, 0xaf, 0x0f, 0x71, 0x4e, 0x8b, 0x8b, 0x30, 0xc7, 0x4f, 0x71, - 0x1c, 0x3c, 0xce, 0xd1, 0x55, 0x8f, 0x83, 0x79, 0xd8, 0xcd, 0xdf, 0x15, 0xa0, 0x62, 0x92, 0x91, - 0x27, 0x52, 0x56, 0x87, 0x79, 0x3e, 0x90, 0x89, 0xc1, 0xa7, 0xe8, 0x47, 0x04, 0x53, 0xd0, 0xa3, - 0x35, 0xca, 0x5c, 0xfa, 0x0a, 0xfc, 0xd2, 0xc7, 0xd7, 0x28, 0x7d, 0xe9, 0x9b, 0xb9, 0xea, 0x7d, - 0x00, 0xab, 0x7c, 0xb1, 0x3e, 0xe4, 0xc9, 0x35, 0x24, 0x54, 0x66, 0xc6, 0xa2, 0x28, 0x84, 0x4e, - 0x86, 0x67, 0xce, 0x48, 0x27, 0x81, 0xb6, 0x79, 0x6a, 0xa4, 0x02, 0x6d, 0xc7, 0x81, 0xb6, 0x93, - 0x40, 0xcf, 0x9f, 0x12, 0xe8, 0xeb, 0x50, 0x39, 0x70, 0x07, 0x98, 0x32, 0x6b, 0x30, 0xe4, 0x37, - 0xde, 0x92, 0x48, 0x0b, 0x16, 0x13, 0xcd, 0x84, 0xdf, 0xfc, 0x08, 0x80, 0xfb, 0x4e, 0x79, 0x84, - 0xbe, 0xaf, 0x8e, 0xe4, 0x8d, 0x21, 0xbe, 0xa7, 0x4c, 0xe3, 0x28, 0x0e, 0x9e, 0xfe, 0x54, 0x4e, - 0x3d, 0x78, 0x26, 0xda, 0xcd, 0x77, 0xa1, 0xbc, 0x37, 0xea, 0x3c, 0xc1, 0x13, 0x8a, 0xde, 0x81, - 0x52, 0xf4, 0xcf, 0x01, 0xab, 0x22, 0x9a, 0x2f, 0xf0, 0x24, 0x75, 0xe6, 0x8c, 0xf8, 0xd1, 0x72, - 0x5d, 0x48, 0xd6, 0x31, 0xd6, 0xfe, 0x54, 0x83, 0x75, 0xee, 0xfc, 0x0c, 0x4b, 0xce, 0xf0, 0x56, - 0x36, 0x77, 0x62, 0x7e, 0x2b, 0x5f, 0x4d, 0x1c, 0x9f, 0xf5, 0x30, 0xd0, 0xaf, 0x1c, 0x67, 0x79, - 0xea, 0xb3, 0x42, 0xbe, 0xf6, 0x7f, 0xcd, 0xf4, 0x8d, 0x43, 0xb8, 0xf2, 0x39, 0x86, 0xd5, 0xd3, - 0xcd, 0xf2, 0xe7, 0x1e, 0x96, 0xa4, 0x96, 0x7a, 0xbc, 0xf9, 0x53, 0x01, 0x16, 0xa7, 0xaf, 0x27, - 0x67, 0xac, 0xcc, 0x3b, 0x50, 0xe3, 0xb9, 0x96, 0x24, 0x45, 0x21, 0xe9, 0x3c, 0x9d, 0x14, 0xc7, - 0xcc, 0x48, 0xa2, 0xc1, 0xec, 0x9b, 0x50, 0x31, 0x75, 0x01, 0x8a, 0xc9, 0xff, 0x97, 0xf7, 0xa0, - 0x2f, 0xf3, 0x01, 0xe2, 0x03, 0xa8, 0xf1, 0xd7, 0x8e, 0xa8, 0x19, 0x8b, 0x8b, 0x45, 0x2b, 0xf5, - 0x1a, 0x20, 0xde, 0x20, 0x6a, 0x61, 0xa0, 0x43, 0xf2, 0x1a, 0xa0, 0xbe, 0x01, 0x18, 0xa3, 0x97, - 0xaf, 0x1b, 0x73, 0xaf, 0x5e, 0x37, 0xe6, 0x3e, 0x7b, 0xdd, 0xd0, 0x7e, 0x71, 0xd2, 0xd0, 0x7e, - 0x7f, 0xd2, 0xd0, 0xfe, 0x7c, 0xd2, 0xd0, 0x5e, 0x9e, 0x34, 0xb4, 0x57, 0x27, 0x0d, 0xed, 0x1f, - 0x27, 0x0d, 0xed, 0x9f, 0x27, 0x8d, 0xb9, 0xcf, 0x4e, 0x1a, 0xda, 0x6f, 0xde, 0x34, 0xe6, 0x5e, - 0xbe, 0x69, 0xcc, 0xbd, 0x7a, 0xd3, 0x98, 0xfb, 0xf8, 0x3c, 0xa7, 0xb5, 0x6d, 0xf9, 0x00, 0x7e, - 0x57, 0xfe, 0x77, 0x16, 0xb8, 0x67, 0xef, 0xfd, 0x27, 0x00, 0x00, 0xff, 0xff, 0xf1, 0x40, 0x7d, - 0x35, 0x1a, 0x17, 0x00, 0x00, + // 1931 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x59, 0x4b, 0x70, 0xe3, 0x48, + 0x19, 0x8e, 0xfc, 0x88, 0xe3, 0xdf, 0x89, 0x93, 0xe9, 0xcd, 0x04, 0x4d, 0x86, 0xb5, 0x82, 0x67, + 0x76, 0x49, 0x31, 0x8c, 0xcd, 0xce, 0x4e, 0x51, 0x53, 0x33, 0xb5, 0x05, 0xa3, 0xcc, 0xcb, 0xcc, + 0x23, 0x29, 0x25, 0xb0, 0xcc, 0x16, 0x55, 0x20, 0x5b, 0x1d, 0x59, 0x35, 0xb6, 0xda, 0x48, 0xed, + 0x60, 0x73, 0x81, 0x13, 0xcb, 0x81, 0xad, 0xe2, 0xc8, 0x8d, 0x2b, 0xc5, 0x81, 0x2b, 0x07, 0xee, + 0x14, 0x27, 0x6a, 0x4e, 0xd4, 0x9c, 0x04, 0x93, 0xb9, 0x50, 0x3a, 0x50, 0x7b, 0xe3, 0x4a, 0xa9, + 0xbb, 0x65, 0xb5, 0x64, 0x65, 0xcb, 0x59, 0xd8, 0xe2, 0x12, 0x4b, 0xff, 0xe3, 0xfb, 0xbb, 0xff, + 0x57, 0xff, 0xad, 0x00, 0x22, 0x63, 0x3a, 0x22, 0x1e, 0xd5, 0x07, 0xa4, 0xf7, 0xa2, 0x35, 0xf2, + 0x08, 0x25, 0xa8, 0xcc, 0x7e, 0xb6, 0xaf, 0xdb, 0x0e, 0xed, 0x8f, 0xbb, 0xad, 0x1e, 0x19, 0xb6, + 0x6d, 0x62, 0x93, 0x36, 0x23, 0x77, 0xc7, 0xc7, 0xec, 0x8d, 0xbd, 0xb0, 0x27, 0xae, 0xb5, 0xfd, + 0x81, 0x24, 0x3e, 0x1c, 0x0f, 0xa8, 0x73, 0x82, 0x3d, 0x7f, 0xd2, 0x1e, 0x4e, 0xae, 0xf7, 0xfa, + 0xa6, 0xe3, 0x5e, 0xef, 0x11, 0x0f, 0x5f, 0xb7, 0x49, 0xdb, 0x32, 0xa9, 0xd9, 0xee, 0x46, 0xe6, + 0xf8, 0x5f, 0xa1, 0x7e, 0xf7, 0x3c, 0xea, 0xd4, 0x33, 0x5d, 0xdf, 0xec, 0x51, 0x87, 0xb8, 0xed, + 0x01, 0xb1, 0x05, 0x44, 0xe7, 0xf3, 0x42, 0x48, 0xcf, 0x02, 0xea, 0xf9, 0x79, 0xa0, 0xfc, 0xa1, + 0xe9, 0xd1, 0x3d, 0xe2, 0x52, 0xcf, 0xec, 0x51, 0x03, 0xfb, 0xe3, 0x01, 0xcd, 0xa3, 0x7d, 0x9e, + 0x8d, 0x7a, 0xb8, 0x87, 0x9d, 0x11, 0x8d, 0x7f, 0x05, 0xc4, 0xde, 0xf9, 0x20, 0x7e, 0x62, 0x7a, + 0xd6, 0xd1, 0x64, 0xf6, 0x20, 0x40, 0xf6, 0xcf, 0x03, 0x62, 0x0e, 0x28, 0xf6, 0xb0, 0x75, 0xb7, + 0xd7, 0x23, 0x63, 0x97, 0x66, 0x5e, 0x39, 0x60, 0xf3, 0x4f, 0x15, 0x58, 0xdd, 0x97, 0xb2, 0x09, + 0xb5, 0xa1, 0x72, 0xd8, 0x37, 0x3d, 0xab, 0x73, 0x4f, 0x55, 0x76, 0x94, 0xdd, 0x35, 0xfd, 0x62, + 0x18, 0x68, 0x17, 0x7c, 0x4e, 0xfa, 0x3a, 0x19, 0x3a, 0x14, 0x0f, 0x47, 0x74, 0x6a, 0xc4, 0x52, + 0xe8, 0x21, 0x54, 0x99, 0xe6, 0x3d, 0x93, 0x9a, 0x6a, 0x61, 0x47, 0xd9, 0xad, 0xdd, 0xd8, 0xe0, + 0xe0, 0xad, 0x19, 0x5d, 0xff, 0x52, 0x18, 0x68, 0x6f, 0x75, 0xe3, 0x57, 0x09, 0x26, 0xd1, 0x45, + 0x3f, 0x84, 0xf5, 0xa3, 0x24, 0xa6, 0x07, 0x84, 0x0c, 0xd4, 0x22, 0x83, 0xdb, 0x12, 0x70, 0x19, + 0xae, 0xfe, 0x76, 0x18, 0x68, 0x97, 0x68, 0x9a, 0x28, 0x41, 0x67, 0xd1, 0x90, 0x0f, 0x9b, 0x8f, + 0xb0, 0x69, 0x61, 0xef, 0xa1, 0xe9, 0xef, 0x11, 0xd7, 0x1f, 0x0f, 0x47, 0x11, 0x4f, 0x2d, 0x31, + 0x2b, 0x97, 0x85, 0x95, 0x3c, 0x11, 0xbd, 0x19, 0x06, 0x5a, 0xa3, 0x9f, 0xc3, 0x91, 0xec, 0xe5, + 0x82, 0xa3, 0x1f, 0xc3, 0xfa, 0xdd, 0x94, 0xe3, 0x7d, 0xb5, 0xbc, 0x53, 0xdc, 0xad, 0xdd, 0xd8, + 0x15, 0xf6, 0x64, 0xef, 0xb7, 0x32, 0xa2, 0xf7, 0x5d, 0xea, 0x4d, 0xf9, 0x3e, 0xd3, 0xd1, 0xf3, + 0xe5, 0x7d, 0x66, 0x94, 0xd0, 0x0f, 0x60, 0xeb, 0x19, 0xa1, 0xa6, 0xe7, 0xfc, 0x14, 0x5b, 0x7c, + 0x4d, 0xfe, 0x23, 0xd3, 0xef, 0x63, 0x5f, 0x5d, 0xde, 0x29, 0xee, 0x56, 0xf5, 0xab, 0x61, 0xa0, + 0xed, 0xb8, 0xb9, 0x12, 0x12, 0xec, 0x19, 0x18, 0xe8, 0x36, 0xd4, 0x9f, 0x8d, 0x87, 0x5d, 0xec, + 0xed, 0x1f, 0xb3, 0x14, 0xf0, 0xd5, 0x0a, 0xcb, 0x13, 0x14, 0x06, 0x5a, 0xdd, 0x4d, 0x71, 0x8c, + 0x8c, 0x24, 0xba, 0x07, 0xf5, 0x43, 0xc7, 0x76, 0xb1, 0xe7, 0x77, 0x5c, 0x0b, 0x4f, 0xb0, 0xaf, + 0xae, 0xec, 0x14, 0x77, 0x4b, 0xfa, 0x97, 0xc3, 0x40, 0x53, 0xfd, 0x14, 0x47, 0x5a, 0x49, 0x46, + 0x07, 0x19, 0xb0, 0xf5, 0xc8, 0xb1, 0xfb, 0xd8, 0xa7, 0x0f, 0x1c, 0xd7, 0x1c, 0x30, 0xcf, 0x3d, + 0x23, 0x6e, 0x0f, 0xab, 0xd5, 0x1d, 0x65, 0xb7, 0xa4, 0x6f, 0x87, 0x81, 0xb6, 0xd5, 0xcf, 0x95, + 0x30, 0xce, 0xd0, 0x44, 0xcf, 0xe1, 0xe2, 0x1c, 0x27, 0xda, 0xb0, 0x0a, 0x3b, 0xca, 0xee, 0xaa, + 0x7e, 0x25, 0x0c, 0x34, 0xad, 0x9f, 0x27, 0x20, 0xad, 0x33, 0x1f, 0x61, 0xfb, 0x39, 0x6c, 0xe6, + 0x85, 0x15, 0x6d, 0x40, 0xf1, 0x05, 0x9e, 0xb2, 0x2a, 0xab, 0x1a, 0xd1, 0x23, 0xba, 0x06, 0xe5, + 0x13, 0x73, 0x30, 0xc6, 0xa2, 0x8c, 0x2e, 0x8a, 0x0c, 0x49, 0x6b, 0x1b, 0x5c, 0xe6, 0x76, 0xe1, + 0x96, 0xd2, 0xfc, 0x55, 0x51, 0x2a, 0xbe, 0xf3, 0x97, 0xee, 0x1d, 0xa8, 0xf1, 0xd8, 0xea, 0x53, + 0x8a, 0x7d, 0x66, 0x75, 0x55, 0xbf, 0x14, 0x06, 0xda, 0xc5, 0x7e, 0x42, 0x96, 0x14, 0x65, 0x69, + 0x74, 0x0b, 0x80, 0xbf, 0x1e, 0x4d, 0x47, 0x98, 0x55, 0x6a, 0x55, 0x57, 0xc3, 0x40, 0xdb, 0xec, + 0xcf, 0xa8, 0x92, 0xaa, 0x24, 0x9b, 0x68, 0x32, 0x07, 0x97, 0x98, 0x55, 0x49, 0x33, 0xe3, 0x55, + 0x49, 0x16, 0xbd, 0x0f, 0x25, 0x9d, 0x58, 0x53, 0xb5, 0xcc, 0xfc, 0x53, 0x8b, 0xdb, 0x0c, 0xb1, + 0xa6, 0x3c, 0xfd, 0xba, 0xc4, 0x9a, 0x4a, 0xaa, 0x4c, 0x18, 0xf5, 0x61, 0xb3, 0x13, 0xb5, 0x74, + 0xb6, 0xeb, 0xa7, 0x8e, 0xeb, 0x30, 0x8f, 0xf1, 0x62, 0x48, 0x7a, 0xd5, 0x8c, 0xc1, 0x6b, 0xdd, + 0xc9, 0xd1, 0x90, 0x6b, 0x3d, 0x0f, 0xb1, 0xf9, 0x31, 0xcc, 0xb5, 0x30, 0xd4, 0x87, 0x55, 0x89, + 0xe4, 0xab, 0x4a, 0xaa, 0xf8, 0x33, 0xd2, 0xf2, 0xbb, 0x28, 0x7e, 0x96, 0xcc, 0x52, 0x93, 0x93, + 0x57, 0x91, 0x42, 0x46, 0xbf, 0x54, 0x60, 0xf3, 0x70, 0xfe, 0x04, 0x8b, 0xe2, 0x1a, 0x99, 0xfc, + 0xc6, 0x19, 0x26, 0xf3, 0x54, 0xb8, 0x69, 0xe6, 0x88, 0x9c, 0x33, 0x31, 0xe5, 0x88, 0x3c, 0x75, + 0x74, 0x04, 0x15, 0x83, 0x1d, 0x5c, 0xbe, 0x5a, 0x64, 0xc6, 0xaf, 0x9c, 0x61, 0x5c, 0x48, 0x71, + 0x7b, 0x2c, 0x5d, 0xf9, 0x81, 0x27, 0x9b, 0x88, 0xa1, 0xd0, 0xf7, 0x61, 0xc5, 0xe0, 0x47, 0xaa, + 0xaf, 0x96, 0x18, 0xec, 0xd5, 0x33, 0x61, 0xb9, 0x18, 0xc7, 0xdd, 0x0a, 0x03, 0x0d, 0x89, 0xc3, + 0x58, 0x06, 0x9e, 0xa1, 0xa1, 0x1f, 0x01, 0x74, 0xdc, 0x13, 0x73, 0xe0, 0x58, 0x47, 0x93, 0xb8, + 0x3f, 0xbf, 0x7b, 0x06, 0x76, 0x22, 0xc8, 0xd1, 0x59, 0xe6, 0x3a, 0x33, 0xa2, 0x9c, 0xb9, 0x89, + 0x28, 0xfa, 0x26, 0x94, 0x9e, 0x10, 0x3b, 0x4e, 0xba, 0xba, 0xc0, 0x7e, 0x42, 0x6c, 0x76, 0x3c, + 0xb2, 0xe4, 0x1d, 0x10, 0x5b, 0xd6, 0x66, 0xf2, 0xe8, 0x17, 0x0a, 0x5c, 0x3d, 0xec, 0xf5, 0xb1, + 0x35, 0x1e, 0x60, 0xeb, 0xfe, 0x04, 0xf7, 0xc6, 0x14, 0x5b, 0x87, 0x7b, 0xc6, 0x21, 0xef, 0xc6, + 0x07, 0x1e, 0x3e, 0x61, 0xc9, 0xa7, 0x56, 0x58, 0x6b, 0xbf, 0x11, 0x06, 0x5a, 0xcb, 0x5f, 0x40, + 0x5e, 0x32, 0xb4, 0x10, 0x3e, 0xfa, 0x8d, 0x02, 0x5f, 0x9b, 0x13, 0x4c, 0x36, 0x98, 0x5d, 0xce, + 0x0a, 0x5b, 0xce, 0xad, 0x30, 0xd0, 0x6e, 0xfa, 0x0b, 0x6b, 0x49, 0x8b, 0x3a, 0x87, 0xad, 0xed, + 0x67, 0x70, 0x61, 0xae, 0x6e, 0x72, 0xba, 0xeb, 0x95, 0x74, 0x77, 0x5d, 0x8b, 0xe3, 0x3b, 0xe9, + 0xb8, 0xc7, 0x44, 0xea, 0xaa, 0xdb, 0x1f, 0xc2, 0xa5, 0x33, 0x8b, 0x22, 0x07, 0xf7, 0x6a, 0x1a, + 0x37, 0x8e, 0xed, 0xe1, 0x9e, 0x91, 0x05, 0x7e, 0x0a, 0xab, 0x72, 0xc2, 0xe7, 0x60, 0x7d, 0x35, + 0x8d, 0x75, 0x41, 0x60, 0x71, 0xad, 0x2c, 0xdc, 0x63, 0x58, 0x4b, 0x25, 0xfa, 0xe2, 0x6b, 0x13, + 0x6a, 0x32, 0xd8, 0x13, 0x58, 0xcf, 0x64, 0xf6, 0x7f, 0xe1, 0xc2, 0xe6, 0x1f, 0x0a, 0x50, 0x79, + 0x80, 0x71, 0x44, 0x46, 0xef, 0x40, 0xe5, 0xa1, 0xe9, 0x7f, 0xd7, 0xc7, 0x16, 0x83, 0x2a, 0xe9, + 0xb5, 0x30, 0xd0, 0x2a, 0x36, 0x27, 0x19, 0x31, 0x0f, 0x0d, 0xa0, 0xf8, 0x00, 0x63, 0x71, 0x08, + 0x7d, 0x14, 0x06, 0xda, 0xda, 0x31, 0x96, 0x4e, 0x90, 0xdf, 0xff, 0x5d, 0xbb, 0x3f, 0x34, 0x69, + 0xbf, 0xdd, 0x75, 0xec, 0x56, 0xc7, 0xa5, 0x77, 0xce, 0x31, 0x09, 0xb7, 0x74, 0xc7, 0xee, 0xb8, + 0x74, 0xcf, 0xf4, 0x29, 0xf6, 0x8c, 0xc8, 0x0c, 0xfa, 0x44, 0x81, 0x7a, 0xc7, 0x75, 0xa8, 0x63, + 0x0e, 0x0e, 0x4c, 0xc7, 0x8a, 0x2c, 0x17, 0x99, 0x65, 0x1c, 0x8d, 0x22, 0x4e, 0x8a, 0xf3, 0x45, + 0x2c, 0x22, 0x63, 0xbc, 0xf9, 0x37, 0x05, 0x96, 0xb9, 0x1b, 0xd1, 0x3e, 0xd4, 0xa4, 0x74, 0x66, + 0x3e, 0xab, 0xdd, 0x40, 0xf3, 0xdd, 0x88, 0x9f, 0xd4, 0xd2, 0xd1, 0x20, 0x9f, 0xd4, 0x92, 0x1c, + 0xfa, 0xd6, 0x2c, 0x16, 0x99, 0x34, 0x10, 0x54, 0xde, 0x78, 0x8f, 0xf9, 0x8b, 0xdc, 0x78, 0xe3, + 0x08, 0xde, 0x86, 0x3a, 0xaf, 0x42, 0x87, 0xb8, 0xfb, 0x9e, 0x85, 0x3d, 0xe6, 0x2b, 0x31, 0xf2, + 0xe1, 0x14, 0xc7, 0xc8, 0x48, 0x36, 0xff, 0xad, 0x40, 0x45, 0x94, 0x02, 0x22, 0xf0, 0x56, 0x4e, + 0x61, 0x89, 0x1d, 0x6e, 0xc7, 0x75, 0x33, 0x2f, 0xa1, 0x7f, 0x25, 0x0c, 0xb4, 0xb7, 0x73, 0x4e, + 0x22, 0x69, 0xb1, 0x79, 0xc8, 0xff, 0xdf, 0x9d, 0x1f, 0x41, 0x45, 0xf4, 0x77, 0xd4, 0x8c, 0x82, + 0xcb, 0xa6, 0x1d, 0x56, 0x4c, 0x3a, 0x84, 0x81, 0xb6, 0x4c, 0x19, 0xc5, 0x10, 0x1c, 0xf4, 0x0e, + 0x14, 0x9f, 0x10, 0x5b, 0xac, 0x13, 0x92, 0x03, 0x42, 0xaf, 0x84, 0x81, 0x56, 0x1c, 0x10, 0xdb, + 0x88, 0xf8, 0xcd, 0x8f, 0x15, 0x80, 0xa4, 0x1d, 0xa0, 0x0f, 0x60, 0x99, 0xbf, 0x09, 0x2f, 0xae, + 0xa7, 0x3a, 0xc6, 0xd1, 0x44, 0xdf, 0x0c, 0x03, 0x6d, 0x83, 0x1f, 0xaa, 0xd2, 0x06, 0x85, 0x52, + 0xce, 0xfe, 0x0a, 0x0b, 0xef, 0xef, 0x5f, 0x4a, 0xfe, 0x7d, 0x0a, 0xbd, 0x07, 0xb5, 0x87, 0xa6, + 0x7f, 0xe0, 0x91, 0x13, 0xc7, 0x9a, 0x15, 0xfd, 0x7a, 0x18, 0x68, 0x35, 0x3b, 0x21, 0x1b, 0xb2, + 0x8c, 0x50, 0x31, 0xf0, 0xf1, 0xd8, 0x8d, 0x54, 0x0a, 0x29, 0x95, 0x98, 0x6c, 0xc8, 0x32, 0xe8, + 0x26, 0xac, 0x46, 0x08, 0xd8, 0x35, 0x07, 0xd1, 0x25, 0x85, 0x05, 0xa6, 0xa4, 0x6f, 0x84, 0x81, + 0xb6, 0x6a, 0x4b, 0x74, 0x23, 0x25, 0x15, 0x6d, 0xf8, 0xa9, 0x39, 0x61, 0x24, 0x8f, 0x9f, 0x54, + 0x25, 0xa6, 0xc7, 0x36, 0x3c, 0x4c, 0x71, 0x8c, 0x8c, 0x64, 0xf3, 0x18, 0xde, 0xfa, 0x5e, 0xd4, + 0x20, 0x4d, 0x4a, 0x3c, 0xc3, 0xa4, 0x8e, 0x6b, 0xb3, 0x10, 0x5c, 0x83, 0xea, 0xc1, 0xb8, 0x3b, + 0x70, 0x7a, 0x8f, 0xe3, 0x66, 0xa9, 0xaf, 0x85, 0x81, 0x56, 0x1d, 0xc5, 0x44, 0x23, 0xe1, 0x47, + 0x99, 0xc0, 0x55, 0xd9, 0x1e, 0x0b, 0x3c, 0x13, 0x3c, 0x46, 0x31, 0x04, 0xa7, 0xf9, 0x57, 0x05, + 0x36, 0x66, 0x86, 0x7c, 0x4e, 0x8c, 0xba, 0x68, 0x7a, 0xb8, 0x67, 0x5d, 0x54, 0x0c, 0xf7, 0xc9, + 0x48, 0xaf, 0x41, 0xf9, 0xfe, 0x88, 0xf4, 0xfa, 0x22, 0x8e, 0xd5, 0x30, 0xd0, 0xca, 0x38, 0x22, + 0x18, 0x9c, 0x8e, 0x3c, 0xd8, 0xcc, 0x62, 0xb3, 0xfa, 0xe0, 0x73, 0x5a, 0x5c, 0x84, 0x39, 0xfb, + 0xe4, 0xe3, 0xe0, 0x49, 0x8e, 0xae, 0x3c, 0x0e, 0xe6, 0x61, 0x37, 0x7f, 0x5b, 0x80, 0xaa, 0x41, + 0xc6, 0x2e, 0x4f, 0x59, 0x0d, 0xca, 0xec, 0x45, 0x24, 0x06, 0x5b, 0xa2, 0x17, 0x11, 0x0c, 0x4e, + 0x8f, 0x62, 0x94, 0xb9, 0x25, 0x16, 0xd8, 0x2d, 0x91, 0xc5, 0x28, 0x7d, 0x4b, 0x9c, 0xbb, 0x1b, + 0x7e, 0x1b, 0x36, 0x58, 0xb0, 0x3e, 0x64, 0xc9, 0x35, 0x22, 0xbe, 0xc8, 0x8c, 0x15, 0x5e, 0x08, + 0xdd, 0x0c, 0xcf, 0x98, 0x93, 0x4e, 0x1c, 0x6d, 0xb1, 0xd4, 0x48, 0x39, 0xda, 0x8a, 0x1d, 0x6d, + 0x25, 0x8e, 0x2e, 0x9f, 0xe1, 0xe8, 0x6b, 0x50, 0x3d, 0x72, 0x86, 0xd8, 0xa7, 0xe6, 0x70, 0xa4, + 0x2e, 0xb3, 0xad, 0xb2, 0xb4, 0xa0, 0x31, 0xd1, 0x48, 0xf8, 0xcd, 0x9f, 0x01, 0xb0, 0xbd, 0xfb, + 0xf1, 0x89, 0xb9, 0x48, 0xac, 0xbf, 0x23, 0x2b, 0x89, 0x29, 0x3f, 0xbe, 0xce, 0xcc, 0xdc, 0xcd, + 0xe7, 0x53, 0x6f, 0x26, 0x27, 0xcf, 0xa7, 0x89, 0x76, 0xf3, 0x3d, 0xa8, 0x1c, 0x8c, 0xbb, 0x8f, + 0xf1, 0xd4, 0x47, 0xef, 0x42, 0x29, 0xfa, 0x65, 0x37, 0x95, 0x55, 0xee, 0xf4, 0x17, 0x78, 0x9a, + 0x1a, 0x4d, 0x23, 0x7e, 0xf3, 0xcf, 0x05, 0xb8, 0x90, 0x84, 0x3b, 0xd6, 0x5e, 0x70, 0xed, 0x9f, + 0x28, 0xb0, 0xc5, 0x9e, 0xe7, 0x10, 0xc4, 0x46, 0x6e, 0x66, 0x33, 0x31, 0xe6, 0xb7, 0xf2, 0xd5, + 0xf8, 0x30, 0xae, 0x85, 0x81, 0x76, 0xf9, 0x24, 0xcb, 0x93, 0xbf, 0x6a, 0xe4, 0x6b, 0x27, 0xe1, + 0x2c, 0xe6, 0x87, 0x73, 0xfb, 0x39, 0x5c, 0xfe, 0x0c, 0xc3, 0xf2, 0xac, 0xb4, 0xf6, 0x99, 0xa3, + 0x97, 0xd0, 0x92, 0x87, 0xa5, 0x3f, 0x16, 0x60, 0x65, 0xf6, 0xf1, 0x66, 0x41, 0xff, 0xdd, 0x86, + 0x3a, 0xcb, 0xdc, 0x24, 0xc5, 0x0a, 0x49, 0x1f, 0xeb, 0xa6, 0x38, 0x46, 0x46, 0x12, 0x0d, 0xe7, + 0x3f, 0x49, 0x15, 0x53, 0xd7, 0xa9, 0x98, 0xfc, 0x3f, 0xf9, 0x1c, 0xf5, 0x45, 0x7e, 0xff, 0xb0, + 0xa1, 0xce, 0x3e, 0xb6, 0x44, 0xad, 0x9d, 0x5f, 0x53, 0x16, 0x74, 0x5f, 0x2b, 0xf5, 0x09, 0x82, + 0xcf, 0x9c, 0xf5, 0x30, 0xd0, 0x20, 0xf9, 0x04, 0x21, 0x7f, 0x78, 0x68, 0xb6, 0xa0, 0xcc, 0x54, + 0x17, 0xc4, 0xd7, 0xc7, 0x2f, 0x5f, 0x37, 0x96, 0x5e, 0xbd, 0x6e, 0x2c, 0x7d, 0xfa, 0xba, 0xa1, + 0xfc, 0xfc, 0xb4, 0xa1, 0xfc, 0xee, 0xb4, 0xa1, 0xfc, 0xe5, 0xb4, 0xa1, 0xbc, 0x3c, 0x6d, 0x28, + 0xaf, 0x4e, 0x1b, 0xca, 0x3f, 0x4e, 0x1b, 0xca, 0x3f, 0x4f, 0x1b, 0x4b, 0x9f, 0x9e, 0x36, 0x94, + 0x5f, 0xbf, 0x69, 0x2c, 0xbd, 0x7c, 0xd3, 0x58, 0x7a, 0xf5, 0xa6, 0xb1, 0xf4, 0xd1, 0x79, 0x46, + 0xca, 0xb6, 0xf8, 0x3f, 0xc0, 0x1d, 0xf1, 0xdb, 0x5d, 0x66, 0x0e, 0x7b, 0xff, 0x3f, 0x01, 0x00, + 0x00, 0xff, 0xff, 0xe1, 0x15, 0x1f, 0x1e, 0x21, 0x18, 0x00, 0x00, } func (this *OutportBlock) Equal(that interface{}) bool { @@ -1199,6 +1281,9 @@ func (this *OutportBlock) Equal(that interface{}) bool { } else if this == nil { return false } + if this.ShardID != that1.ShardID { + return false + } if !this.BlockData.Equal(that1.BlockData) { return false } @@ -1262,6 +1347,9 @@ func (this *BlockData) Equal(that interface{}) bool { } else if this == nil { return false } + if this.ShardID != that1.ShardID { + return false + } if !bytes.Equal(this.HeaderBytes, that1.HeaderBytes) { return false } @@ -1677,6 +1765,9 @@ func (this *RoundsInfo) Equal(that interface{}) bool { } else if this == nil { return false } + if this.ShardID != that1.ShardID { + return false + } if len(this.RoundsInfo) != len(that1.RoundsInfo) { return false } @@ -1735,6 +1826,9 @@ func (this *ValidatorsPubKeys) Equal(that interface{}) bool { } else if this == nil { return false } + if this.ShardID != that1.ShardID { + return false + } if len(this.ShardValidatorsPubKeys) != len(that1.ShardValidatorsPubKeys) { return false } @@ -1802,17 +1896,45 @@ func (this *FinalizedBlock) Equal(that interface{}) bool { } else if this == nil { return false } + if this.ShardID != that1.ShardID { + return false + } if !bytes.Equal(this.HeaderHash, that1.HeaderHash) { return false } return true } +func (this *Shard) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + that1, ok := that.(*Shard) + if !ok { + that2, ok := that.(Shard) + if ok { + that1 = &that2 + } else { + return false + } + } + if that1 == nil { + return this == nil + } else if this == nil { + return false + } + if this.ShardID != that1.ShardID { + return false + } + return true +} func (this *OutportBlock) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 13) + s := make([]string, 0, 14) s = append(s, "&outport.OutportBlock{") + s = append(s, "ShardID: "+fmt.Sprintf("%#v", this.ShardID)+",\n") if this.BlockData != nil { s = append(s, "BlockData: "+fmt.Sprintf("%#v", this.BlockData)+",\n") } @@ -1847,8 +1969,9 @@ func (this *BlockData) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 9) + s := make([]string, 0, 10) s = append(s, "&outport.BlockData{") + s = append(s, "ShardID: "+fmt.Sprintf("%#v", this.ShardID)+",\n") s = append(s, "HeaderBytes: "+fmt.Sprintf("%#v", this.HeaderBytes)+",\n") s = append(s, "HeaderType: "+fmt.Sprintf("%#v", this.HeaderType)+",\n") s = append(s, "HeaderHash: "+fmt.Sprintf("%#v", this.HeaderHash)+",\n") @@ -2067,8 +2190,9 @@ func (this *RoundsInfo) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 5) + s := make([]string, 0, 6) s = append(s, "&outport.RoundsInfo{") + s = append(s, "ShardID: "+fmt.Sprintf("%#v", this.ShardID)+",\n") if this.RoundsInfo != nil { s = append(s, "RoundsInfo: "+fmt.Sprintf("%#v", this.RoundsInfo)+",\n") } @@ -2089,8 +2213,9 @@ func (this *ValidatorsPubKeys) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 6) + s := make([]string, 0, 7) s = append(s, "&outport.ValidatorsPubKeys{") + s = append(s, "ShardID: "+fmt.Sprintf("%#v", this.ShardID)+",\n") keysForShardValidatorsPubKeys := make([]uint32, 0, len(this.ShardValidatorsPubKeys)) for k, _ := range this.ShardValidatorsPubKeys { keysForShardValidatorsPubKeys = append(keysForShardValidatorsPubKeys, k) @@ -2136,12 +2261,23 @@ func (this *FinalizedBlock) GoString() string { if this == nil { return "nil" } - s := make([]string, 0, 5) + s := make([]string, 0, 6) s = append(s, "&outport.FinalizedBlock{") + s = append(s, "ShardID: "+fmt.Sprintf("%#v", this.ShardID)+",\n") s = append(s, "HeaderHash: "+fmt.Sprintf("%#v", this.HeaderHash)+",\n") s = append(s, "}") return strings.Join(s, "") } +func (this *Shard) GoString() string { + if this == nil { + return "nil" + } + s := make([]string, 0, 5) + s = append(s, "&outport.Shard{") + s = append(s, "ShardID: "+fmt.Sprintf("%#v", this.ShardID)+",\n") + s = append(s, "}") + return strings.Join(s, "") +} func valueToGoStringOutportBlock(v interface{}, typ string) string { rv := reflect.ValueOf(v) if rv.IsNil() { @@ -2175,12 +2311,12 @@ func (m *OutportBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.HighestFinalBlockHash) i = encodeVarintOutportBlock(dAtA, i, uint64(len(m.HighestFinalBlockHash))) i-- - dAtA[i] = 0x4a + dAtA[i] = 0x52 } if m.HighestFinalBlockNonce != 0 { i = encodeVarintOutportBlock(dAtA, i, uint64(m.HighestFinalBlockNonce)) i-- - dAtA[i] = 0x40 + dAtA[i] = 0x48 } if len(m.SignersIndexes) > 0 { dAtA2 := make([]byte, len(m.SignersIndexes)*10) @@ -2198,12 +2334,12 @@ func (m *OutportBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], dAtA2[:j1]) i = encodeVarintOutportBlock(dAtA, i, uint64(j1)) i-- - dAtA[i] = 0x3a + dAtA[i] = 0x42 } if m.NumberOfShards != 0 { i = encodeVarintOutportBlock(dAtA, i, uint64(m.NumberOfShards)) i-- - dAtA[i] = 0x30 + dAtA[i] = 0x38 } if len(m.NotarizedHeadersHashes) > 0 { for iNdEx := len(m.NotarizedHeadersHashes) - 1; iNdEx >= 0; iNdEx-- { @@ -2211,7 +2347,7 @@ func (m *OutportBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.NotarizedHeadersHashes[iNdEx]) i = encodeVarintOutportBlock(dAtA, i, uint64(len(m.NotarizedHeadersHashes[iNdEx]))) i-- - dAtA[i] = 0x2a + dAtA[i] = 0x32 } } if len(m.AlteredAccounts) > 0 { @@ -2242,7 +2378,7 @@ func (m *OutportBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0xa i = encodeVarintOutportBlock(dAtA, i, uint64(baseI-i)) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x2a } } if m.HeaderGasConsumption != nil { @@ -2255,7 +2391,7 @@ func (m *OutportBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintOutportBlock(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x1a + dAtA[i] = 0x22 } if m.TransactionPool != nil { { @@ -2267,7 +2403,7 @@ func (m *OutportBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintOutportBlock(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x12 + dAtA[i] = 0x1a } if m.BlockData != nil { { @@ -2279,7 +2415,12 @@ func (m *OutportBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintOutportBlock(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0xa + dAtA[i] = 0x12 + } + if m.ShardID != 0 { + i = encodeVarintOutportBlock(dAtA, i, uint64(m.ShardID)) + i-- + dAtA[i] = 0x8 } return len(dAtA) - i, nil } @@ -2315,7 +2456,7 @@ func (m *BlockData) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintOutportBlock(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x2a + dAtA[i] = 0x32 } } if m.Body != nil { @@ -2328,28 +2469,33 @@ func (m *BlockData) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintOutportBlock(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x22 + dAtA[i] = 0x2a } if len(m.HeaderHash) > 0 { i -= len(m.HeaderHash) copy(dAtA[i:], m.HeaderHash) i = encodeVarintOutportBlock(dAtA, i, uint64(len(m.HeaderHash))) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x22 } if len(m.HeaderType) > 0 { i -= len(m.HeaderType) copy(dAtA[i:], m.HeaderType) i = encodeVarintOutportBlock(dAtA, i, uint64(len(m.HeaderType))) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x1a } if len(m.HeaderBytes) > 0 { i -= len(m.HeaderBytes) copy(dAtA[i:], m.HeaderBytes) i = encodeVarintOutportBlock(dAtA, i, uint64(len(m.HeaderBytes))) i-- - dAtA[i] = 0xa + dAtA[i] = 0x12 + } + if m.ShardID != 0 { + i = encodeVarintOutportBlock(dAtA, i, uint64(m.ShardID)) + i-- + dAtA[i] = 0x8 } return len(dAtA) - i, nil } @@ -3028,9 +3174,14 @@ func (m *RoundsInfo) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintOutportBlock(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0xa + dAtA[i] = 0x12 } } + if m.ShardID != 0 { + i = encodeVarintOutportBlock(dAtA, i, uint64(m.ShardID)) + i-- + dAtA[i] = 0x8 + } return len(dAtA) - i, nil } @@ -3089,7 +3240,7 @@ func (m *ValidatorsPubKeys) MarshalToSizedBuffer(dAtA []byte) (int, error) { if m.Epoch != 0 { i = encodeVarintOutportBlock(dAtA, i, uint64(m.Epoch)) i-- - dAtA[i] = 0x10 + dAtA[i] = 0x18 } if len(m.ShardValidatorsPubKeys) > 0 { keysForShardValidatorsPubKeys := make([]uint32, 0, len(m.ShardValidatorsPubKeys)) @@ -3117,9 +3268,14 @@ func (m *ValidatorsPubKeys) MarshalToSizedBuffer(dAtA []byte) (int, error) { dAtA[i] = 0x8 i = encodeVarintOutportBlock(dAtA, i, uint64(baseI-i)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x12 } } + if m.ShardID != 0 { + i = encodeVarintOutportBlock(dAtA, i, uint64(m.ShardID)) + i-- + dAtA[i] = 0x8 + } return len(dAtA) - i, nil } @@ -3212,7 +3368,40 @@ func (m *FinalizedBlock) MarshalToSizedBuffer(dAtA []byte) (int, error) { copy(dAtA[i:], m.HeaderHash) i = encodeVarintOutportBlock(dAtA, i, uint64(len(m.HeaderHash))) i-- - dAtA[i] = 0xa + dAtA[i] = 0x12 + } + if m.ShardID != 0 { + i = encodeVarintOutportBlock(dAtA, i, uint64(m.ShardID)) + i-- + dAtA[i] = 0x8 + } + return len(dAtA) - i, nil +} + +func (m *Shard) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Shard) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *Shard) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.ShardID != 0 { + i = encodeVarintOutportBlock(dAtA, i, uint64(m.ShardID)) + i-- + dAtA[i] = 0x8 } return len(dAtA) - i, nil } @@ -3234,6 +3423,9 @@ func (m *OutportBlock) Size() (n int) { } var l int _ = l + if m.ShardID != 0 { + n += 1 + sovOutportBlock(uint64(m.ShardID)) + } if m.BlockData != nil { l = m.BlockData.Size() n += 1 + l + sovOutportBlock(uint64(l)) @@ -3291,6 +3483,9 @@ func (m *BlockData) Size() (n int) { } var l int _ = l + if m.ShardID != 0 { + n += 1 + sovOutportBlock(uint64(m.ShardID)) + } l = len(m.HeaderBytes) if l > 0 { n += 1 + l + sovOutportBlock(uint64(l)) @@ -3598,6 +3793,9 @@ func (m *RoundsInfo) Size() (n int) { } var l int _ = l + if m.ShardID != 0 { + n += 1 + sovOutportBlock(uint64(m.ShardID)) + } if len(m.RoundsInfo) > 0 { for _, e := range m.RoundsInfo { l = e.Size() @@ -3628,6 +3826,9 @@ func (m *ValidatorsPubKeys) Size() (n int) { } var l int _ = l + if m.ShardID != 0 { + n += 1 + sovOutportBlock(uint64(m.ShardID)) + } if len(m.ShardValidatorsPubKeys) > 0 { for k, v := range m.ShardValidatorsPubKeys { _ = k @@ -3681,6 +3882,9 @@ func (m *FinalizedBlock) Size() (n int) { } var l int _ = l + if m.ShardID != 0 { + n += 1 + sovOutportBlock(uint64(m.ShardID)) + } l = len(m.HeaderHash) if l > 0 { n += 1 + l + sovOutportBlock(uint64(l)) @@ -3688,6 +3892,18 @@ func (m *FinalizedBlock) Size() (n int) { return n } +func (m *Shard) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.ShardID != 0 { + n += 1 + sovOutportBlock(uint64(m.ShardID)) + } + return n +} + func sovOutportBlock(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -3709,6 +3925,7 @@ func (this *OutportBlock) String() string { } mapStringForAlteredAccounts += "}" s := strings.Join([]string{`&OutportBlock{`, + `ShardID:` + fmt.Sprintf("%v", this.ShardID) + `,`, `BlockData:` + strings.Replace(this.BlockData.String(), "BlockData", "BlockData", 1) + `,`, `TransactionPool:` + strings.Replace(this.TransactionPool.String(), "TransactionPool", "TransactionPool", 1) + `,`, `HeaderGasConsumption:` + strings.Replace(this.HeaderGasConsumption.String(), "HeaderGasConsumption", "HeaderGasConsumption", 1) + `,`, @@ -3732,6 +3949,7 @@ func (this *BlockData) String() string { } repeatedStringForIntraShardMiniBlocks += "}" s := strings.Join([]string{`&BlockData{`, + `ShardID:` + fmt.Sprintf("%v", this.ShardID) + `,`, `HeaderBytes:` + fmt.Sprintf("%v", this.HeaderBytes) + `,`, `HeaderType:` + fmt.Sprintf("%v", this.HeaderType) + `,`, `HeaderHash:` + fmt.Sprintf("%v", this.HeaderHash) + `,`, @@ -3937,6 +4155,7 @@ func (this *RoundsInfo) String() string { } repeatedStringForRoundsInfo += "}" s := strings.Join([]string{`&RoundsInfo{`, + `ShardID:` + fmt.Sprintf("%v", this.ShardID) + `,`, `RoundsInfo:` + repeatedStringForRoundsInfo + `,`, `}`, }, "") @@ -3967,6 +4186,7 @@ func (this *ValidatorsPubKeys) String() string { } mapStringForShardValidatorsPubKeys += "}" s := strings.Join([]string{`&ValidatorsPubKeys{`, + `ShardID:` + fmt.Sprintf("%v", this.ShardID) + `,`, `ShardValidatorsPubKeys:` + mapStringForShardValidatorsPubKeys + `,`, `Epoch:` + fmt.Sprintf("%v", this.Epoch) + `,`, `}`, @@ -4000,11 +4220,22 @@ func (this *FinalizedBlock) String() string { return "nil" } s := strings.Join([]string{`&FinalizedBlock{`, + `ShardID:` + fmt.Sprintf("%v", this.ShardID) + `,`, `HeaderHash:` + fmt.Sprintf("%v", this.HeaderHash) + `,`, `}`, }, "") return s } +func (this *Shard) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&Shard{`, + `ShardID:` + fmt.Sprintf("%v", this.ShardID) + `,`, + `}`, + }, "") + return s +} func valueToStringOutportBlock(v interface{}) string { rv := reflect.ValueOf(v) if rv.IsNil() { @@ -4043,6 +4274,25 @@ func (m *OutportBlock) Unmarshal(dAtA []byte) error { } switch fieldNum { case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ShardID", wireType) + } + m.ShardID = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOutportBlock + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ShardID |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field BlockData", wireType) } @@ -4078,7 +4328,7 @@ func (m *OutportBlock) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 2: + case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field TransactionPool", wireType) } @@ -4114,7 +4364,7 @@ func (m *OutportBlock) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 3: + case 4: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field HeaderGasConsumption", wireType) } @@ -4150,7 +4400,7 @@ func (m *OutportBlock) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 4: + case 5: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field AlteredAccounts", wireType) } @@ -4279,7 +4529,7 @@ func (m *OutportBlock) Unmarshal(dAtA []byte) error { } m.AlteredAccounts[mapkey] = mapvalue iNdEx = postIndex - case 5: + case 6: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field NotarizedHeadersHashes", wireType) } @@ -4311,7 +4561,7 @@ func (m *OutportBlock) Unmarshal(dAtA []byte) error { } m.NotarizedHeadersHashes = append(m.NotarizedHeadersHashes, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 6: + case 7: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field NumberOfShards", wireType) } @@ -4330,7 +4580,7 @@ func (m *OutportBlock) Unmarshal(dAtA []byte) error { break } } - case 7: + case 8: if wireType == 0 { var v uint64 for shift := uint(0); ; shift += 7 { @@ -4406,7 +4656,7 @@ func (m *OutportBlock) Unmarshal(dAtA []byte) error { } else { return fmt.Errorf("proto: wrong wireType = %d for field SignersIndexes", wireType) } - case 8: + case 9: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field HighestFinalBlockNonce", wireType) } @@ -4425,7 +4675,7 @@ func (m *OutportBlock) Unmarshal(dAtA []byte) error { break } } - case 9: + case 10: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field HighestFinalBlockHash", wireType) } @@ -4513,6 +4763,25 @@ func (m *BlockData) Unmarshal(dAtA []byte) error { } switch fieldNum { case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ShardID", wireType) + } + m.ShardID = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOutportBlock + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ShardID |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field HeaderBytes", wireType) } @@ -4546,7 +4815,7 @@ func (m *BlockData) Unmarshal(dAtA []byte) error { m.HeaderBytes = []byte{} } iNdEx = postIndex - case 2: + case 3: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field HeaderType", wireType) } @@ -4578,7 +4847,7 @@ func (m *BlockData) Unmarshal(dAtA []byte) error { } m.HeaderType = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: + case 4: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field HeaderHash", wireType) } @@ -4612,7 +4881,7 @@ func (m *BlockData) Unmarshal(dAtA []byte) error { m.HeaderHash = []byte{} } iNdEx = postIndex - case 4: + case 5: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Body", wireType) } @@ -4648,7 +4917,7 @@ func (m *BlockData) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 5: + case 6: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field IntraShardMiniBlocks", wireType) } @@ -6772,6 +7041,25 @@ func (m *RoundsInfo) Unmarshal(dAtA []byte) error { } switch fieldNum { case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ShardID", wireType) + } + m.ShardID = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOutportBlock + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ShardID |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field RoundsInfo", wireType) } @@ -6944,6 +7232,25 @@ func (m *ValidatorsPubKeys) Unmarshal(dAtA []byte) error { } switch fieldNum { case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ShardID", wireType) + } + m.ShardID = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOutportBlock + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ShardID |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ShardValidatorsPubKeys", wireType) } @@ -7058,7 +7365,7 @@ func (m *ValidatorsPubKeys) Unmarshal(dAtA []byte) error { } m.ShardValidatorsPubKeys[mapkey] = mapvalue iNdEx = postIndex - case 2: + case 3: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field Epoch", wireType) } @@ -7351,6 +7658,25 @@ func (m *FinalizedBlock) Unmarshal(dAtA []byte) error { } switch fieldNum { case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ShardID", wireType) + } + m.ShardID = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOutportBlock + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ShardID |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field HeaderHash", wireType) } @@ -7408,6 +7734,78 @@ func (m *FinalizedBlock) Unmarshal(dAtA []byte) error { } return nil } +func (m *Shard) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOutportBlock + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Shard: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Shard: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ShardID", wireType) + } + m.ShardID = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowOutportBlock + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ShardID |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipOutportBlock(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthOutportBlock + } + if (iNdEx + skippy) < 0 { + return ErrInvalidLengthOutportBlock + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipOutportBlock(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/data/outport/outportBlock.proto b/data/outport/outportBlock.proto index ee161311..dfad100a 100644 --- a/data/outport/outportBlock.proto +++ b/data/outport/outportBlock.proto @@ -15,23 +15,25 @@ import "github.com/multiversx/mx-chain-core-go/data/rewardTx/rewardTx.proto"; import "github.com/multiversx/mx-chain-core-go/data/alteredAccount/alteredAccount.proto"; message OutportBlock { - BlockData BlockData = 1 [(gogoproto.jsontag) = "blockData,omitempty"]; - TransactionPool TransactionPool = 2 [(gogoproto.jsontag) = "transactionPool,omitempty"]; - HeaderGasConsumption HeaderGasConsumption = 3 [(gogoproto.jsontag) = "headerGasConsumption,omitempty"]; - map AlteredAccounts = 4 [(gogoproto.jsontag) = "alteredAccounts,omitempty"]; - repeated string NotarizedHeadersHashes = 5 [(gogoproto.jsontag) = "notarizedHeadersHashes,omitempty"]; - uint32 NumberOfShards = 6 [(gogoproto.jsontag) = "numberOfShards"]; - repeated uint64 SignersIndexes = 7 [(gogoproto.jsontag) = "signersIndexes,omitempty"]; - uint64 HighestFinalBlockNonce = 8 [(gogoproto.jsontag) = "highestFinalBlockNonce"]; - bytes HighestFinalBlockHash = 9 [(gogoproto.jsontag) = "highestFinalBlockHash,omitempty"]; + uint32 ShardID = 1 [(gogoproto.jsontag) = "shardID,omitempty"]; + BlockData BlockData = 2 [(gogoproto.jsontag) = "blockData,omitempty"]; + TransactionPool TransactionPool = 3 [(gogoproto.jsontag) = "transactionPool,omitempty"]; + HeaderGasConsumption HeaderGasConsumption = 4 [(gogoproto.jsontag) = "headerGasConsumption,omitempty"]; + map AlteredAccounts = 5 [(gogoproto.jsontag) = "alteredAccounts,omitempty"]; + repeated string NotarizedHeadersHashes = 6 [(gogoproto.jsontag) = "notarizedHeadersHashes,omitempty"]; + uint32 NumberOfShards = 7 [(gogoproto.jsontag) = "numberOfShards"]; + repeated uint64 SignersIndexes = 8 [(gogoproto.jsontag) = "signersIndexes,omitempty"]; + uint64 HighestFinalBlockNonce = 9 [(gogoproto.jsontag) = "highestFinalBlockNonce"]; + bytes HighestFinalBlockHash = 10 [(gogoproto.jsontag) = "highestFinalBlockHash,omitempty"]; } message BlockData { - bytes HeaderBytes = 1 [(gogoproto.jsontag) = "headerBytes,omitempty"]; - string HeaderType = 2 [(gogoproto.jsontag) = "headerType,omitempty"]; - bytes HeaderHash = 3 [(gogoproto.jsontag) = "headerHash,omitempty"]; - Body Body = 4 [(gogoproto.jsontag) = "body,omitempty"]; - repeated MiniBlock IntraShardMiniBlocks = 5 [(gogoproto.jsontag) = "intraShardMiniBlocks,omitempty"]; + uint32 ShardID = 1 [(gogoproto.jsontag) = "shardID,omitempty"]; + bytes HeaderBytes = 2 [(gogoproto.jsontag) = "headerBytes,omitempty"]; + string HeaderType = 3 [(gogoproto.jsontag) = "headerType,omitempty"]; + bytes HeaderHash = 4 [(gogoproto.jsontag) = "headerHash,omitempty"]; + Body Body = 5 [(gogoproto.jsontag) = "body,omitempty"]; + repeated MiniBlock IntraShardMiniBlocks = 6 [(gogoproto.jsontag) = "intraShardMiniBlocks,omitempty"]; } message TransactionPool { @@ -101,7 +103,8 @@ message RoundInfo { } message RoundsInfo { - repeated RoundInfo RoundsInfo = 1 [(gogoproto.jsontag) = "roundsInfo,omitempty"]; + uint32 ShardID = 1 [(gogoproto.jsontag) = "shardID"]; + repeated RoundInfo RoundsInfo = 2 [(gogoproto.jsontag) = "roundsInfo,omitempty"]; } message PubKeys { @@ -109,8 +112,9 @@ message PubKeys { } message ValidatorsPubKeys{ - map ShardValidatorsPubKeys = 1 [(gogoproto.jsontag) = "validatorsPubKeys,omitempty"]; - uint32 Epoch = 2 [(gogoproto.jsontag) = "epoch"]; + uint32 ShardID = 1 [(gogoproto.jsontag) = "shardID"]; + map ShardValidatorsPubKeys = 2 [(gogoproto.jsontag) = "validatorsPubKeys,omitempty"]; + uint32 Epoch = 3 [(gogoproto.jsontag) = "epoch"]; } message Accounts { @@ -120,5 +124,10 @@ message Accounts { } message FinalizedBlock { - bytes HeaderHash = 1 [(gogoproto.jsontag) = "headerHash"]; + uint32 ShardID = 1 [(gogoproto.jsontag) = "shardID"]; + bytes HeaderHash = 2 [(gogoproto.jsontag) = "headerHash"]; +} + +message Shard { + uint32 ShardID = 1 [(gogoproto.jsontag) = "shardID"]; }