From 51ee0ca37b26ec57b6d3add375b0f05528d5013a Mon Sep 17 00:00:00 2001 From: atheesh Date: Fri, 24 Feb 2023 16:09:24 +0530 Subject: [PATCH 001/106] proto --- proto/cosmos/staking/v1beta1/staking.proto | 26 ++++++++++++++++++++++ proto/cosmos/staking/v1beta1/tx.proto | 21 +++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/proto/cosmos/staking/v1beta1/staking.proto b/proto/cosmos/staking/v1beta1/staking.proto index 231a200c89dd..022c393b1ea2 100644 --- a/proto/cosmos/staking/v1beta1/staking.proto +++ b/proto/cosmos/staking/v1beta1/staking.proto @@ -320,6 +320,10 @@ message Params { (amino.dont_omitempty) = true, (cosmos_proto.scalar) = "cosmos.Dec" ]; + // max_cons_pub_key_rotations is maximum number of consensus pubkey rotations + uint64 max_cons_pub_key_rotations = 7; + // cons_pubkey_rotation_fee is fee to be spent when rotating validator's consensus pubkey + cosmos.base.v1beta1.Coin cons_pubkey_rotation_fee = 8 [(gogoproto.nullable) = false]; } // DelegationResponse is equivalent to Delegation except that it contains a @@ -392,3 +396,25 @@ enum Infraction { message ValidatorUpdates { repeated tendermint.abci.ValidatorUpdate updates = 1 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; } + +// ConsPubKeyRotationHistory contains a validator's consensus public key rotation history. +message ConsPubKeyRotationHistory { + option (gogoproto.equal) = false; + option (gogoproto.goproto_stringer) = false; + option (gogoproto.goproto_getters) = false; + + // operator_address defines the address of the validator's operator; bech encoded in JSON. + string operator_address = 1 [(gogoproto.moretags) = "yaml:\"operator_address\""]; + // old_cons_pubkey is the old consensus public key of the validator, as a Protobuf Any. + google.protobuf.Any old_cons_pubkey = 2 [ + (cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey", + (gogoproto.moretags) = "yaml:\"old_consensus_pubkey\"" + ]; + // new_cons_pubkey is the new consensus public key of the validator, as a Protobuf Any. + google.protobuf.Any new_cons_pubkey = 3 [ + (cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey", + (gogoproto.moretags) = "yaml:\"new_consensus_pubkey\"" + ]; + // height defines the block height at which the rotation event occured. + uint64 height = 4; +} diff --git a/proto/cosmos/staking/v1beta1/tx.proto b/proto/cosmos/staking/v1beta1/tx.proto index 0c6a7b19bcd7..ed7e1c30d0ee 100644 --- a/proto/cosmos/staking/v1beta1/tx.proto +++ b/proto/cosmos/staking/v1beta1/tx.proto @@ -204,3 +204,24 @@ message MsgUpdateParams { // // Since: cosmos-sdk 0.47 message MsgUpdateParamsResponse {}; + +// MsgRotateConsPubKey is the Msg/RotateConsPubKey request type. +// +// Since: cosmos-sdk 0.48 +message MsgRotateConsPubKey { + option (cosmos.msg.v1.signer) = "validator_address"; + option (amino.name) = "cosmos-sdk/MsgRotateConsPubKey"; + + option (gogoproto.goproto_getters) = false; + option (gogoproto.equal) = false; + + // string sender = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + string validator_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + google.protobuf.Any new_pubkey = 3 [(cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey"]; +} + +// MsgRotateConsPubKeyResponse defines the response structure for executing a +// MsgRotateConsPubKey message. +// +// Since: cosmos-sdk 0.48 +message MsgRotateConsPubKeyResponse {} From 7cbfc43aed926c6e9c8070596c193f8d3ad278a1 Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 27 Feb 2023 10:10:55 +0530 Subject: [PATCH 002/106] proto changes --- proto/cosmos/staking/v1beta1/tx.proto | 1 - 1 file changed, 1 deletion(-) diff --git a/proto/cosmos/staking/v1beta1/tx.proto b/proto/cosmos/staking/v1beta1/tx.proto index ed7e1c30d0ee..bb870cbb276a 100644 --- a/proto/cosmos/staking/v1beta1/tx.proto +++ b/proto/cosmos/staking/v1beta1/tx.proto @@ -215,7 +215,6 @@ message MsgRotateConsPubKey { option (gogoproto.goproto_getters) = false; option (gogoproto.equal) = false; - // string sender = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; string validator_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; google.protobuf.Any new_pubkey = 3 [(cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey"]; } From cbd03434a8a74b7bd5c95c5bbfc3fb82e1501cb9 Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Mon, 27 Feb 2023 06:50:23 +0000 Subject: [PATCH 003/106] `proto-gen` --- api/cosmos/staking/v1beta1/staking.pulsar.go | 1366 +++++++++--- api/cosmos/staking/v1beta1/tx.pulsar.go | 1055 ++++++++- api/cosmos/tx/v1beta1/service.pulsar.go | 425 ++-- types/tx/service.pb.go | 153 +- x/staking/types/staking.pb.go | 1994 +++++++++++------- x/staking/types/tx.pb.go | 488 ++++- 6 files changed, 4055 insertions(+), 1426 deletions(-) diff --git a/api/cosmos/staking/v1beta1/staking.pulsar.go b/api/cosmos/staking/v1beta1/staking.pulsar.go index a86d038bb8ab..b0942efa316a 100644 --- a/api/cosmos/staking/v1beta1/staking.pulsar.go +++ b/api/cosmos/staking/v1beta1/staking.pulsar.go @@ -9409,13 +9409,15 @@ func (x *fastReflection_Redelegation) ProtoMethods() *protoiface.Methods { } var ( - md_Params protoreflect.MessageDescriptor - fd_Params_unbonding_time protoreflect.FieldDescriptor - fd_Params_max_validators protoreflect.FieldDescriptor - fd_Params_max_entries protoreflect.FieldDescriptor - fd_Params_historical_entries protoreflect.FieldDescriptor - fd_Params_bond_denom protoreflect.FieldDescriptor - fd_Params_min_commission_rate protoreflect.FieldDescriptor + md_Params protoreflect.MessageDescriptor + fd_Params_unbonding_time protoreflect.FieldDescriptor + fd_Params_max_validators protoreflect.FieldDescriptor + fd_Params_max_entries protoreflect.FieldDescriptor + fd_Params_historical_entries protoreflect.FieldDescriptor + fd_Params_bond_denom protoreflect.FieldDescriptor + fd_Params_min_commission_rate protoreflect.FieldDescriptor + fd_Params_max_cons_pub_key_rotations protoreflect.FieldDescriptor + fd_Params_cons_pubkey_rotation_fee protoreflect.FieldDescriptor ) func init() { @@ -9427,6 +9429,8 @@ func init() { fd_Params_historical_entries = md_Params.Fields().ByName("historical_entries") fd_Params_bond_denom = md_Params.Fields().ByName("bond_denom") fd_Params_min_commission_rate = md_Params.Fields().ByName("min_commission_rate") + fd_Params_max_cons_pub_key_rotations = md_Params.Fields().ByName("max_cons_pub_key_rotations") + fd_Params_cons_pubkey_rotation_fee = md_Params.Fields().ByName("cons_pubkey_rotation_fee") } var _ protoreflect.Message = (*fastReflection_Params)(nil) @@ -9530,6 +9534,18 @@ func (x *fastReflection_Params) Range(f func(protoreflect.FieldDescriptor, proto return } } + if x.MaxConsPubKeyRotations != uint64(0) { + value := protoreflect.ValueOfUint64(x.MaxConsPubKeyRotations) + if !f(fd_Params_max_cons_pub_key_rotations, value) { + return + } + } + if x.ConsPubkeyRotationFee != nil { + value := protoreflect.ValueOfMessage(x.ConsPubkeyRotationFee.ProtoReflect()) + if !f(fd_Params_cons_pubkey_rotation_fee, value) { + return + } + } } // Has reports whether a field is populated. @@ -9557,6 +9573,10 @@ func (x *fastReflection_Params) Has(fd protoreflect.FieldDescriptor) bool { return x.BondDenom != "" case "cosmos.staking.v1beta1.Params.min_commission_rate": return x.MinCommissionRate != "" + case "cosmos.staking.v1beta1.Params.max_cons_pub_key_rotations": + return x.MaxConsPubKeyRotations != uint64(0) + case "cosmos.staking.v1beta1.Params.cons_pubkey_rotation_fee": + return x.ConsPubkeyRotationFee != nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9585,6 +9605,10 @@ func (x *fastReflection_Params) Clear(fd protoreflect.FieldDescriptor) { x.BondDenom = "" case "cosmos.staking.v1beta1.Params.min_commission_rate": x.MinCommissionRate = "" + case "cosmos.staking.v1beta1.Params.max_cons_pub_key_rotations": + x.MaxConsPubKeyRotations = uint64(0) + case "cosmos.staking.v1beta1.Params.cons_pubkey_rotation_fee": + x.ConsPubkeyRotationFee = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9619,6 +9643,12 @@ func (x *fastReflection_Params) Get(descriptor protoreflect.FieldDescriptor) pro case "cosmos.staking.v1beta1.Params.min_commission_rate": value := x.MinCommissionRate return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.Params.max_cons_pub_key_rotations": + value := x.MaxConsPubKeyRotations + return protoreflect.ValueOfUint64(value) + case "cosmos.staking.v1beta1.Params.cons_pubkey_rotation_fee": + value := x.ConsPubkeyRotationFee + return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9651,6 +9681,10 @@ func (x *fastReflection_Params) Set(fd protoreflect.FieldDescriptor, value proto x.BondDenom = value.Interface().(string) case "cosmos.staking.v1beta1.Params.min_commission_rate": x.MinCommissionRate = value.Interface().(string) + case "cosmos.staking.v1beta1.Params.max_cons_pub_key_rotations": + x.MaxConsPubKeyRotations = value.Uint() + case "cosmos.staking.v1beta1.Params.cons_pubkey_rotation_fee": + x.ConsPubkeyRotationFee = value.Message().Interface().(*v1beta1.Coin) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9676,6 +9710,11 @@ func (x *fastReflection_Params) Mutable(fd protoreflect.FieldDescriptor) protore x.UnbondingTime = new(durationpb.Duration) } return protoreflect.ValueOfMessage(x.UnbondingTime.ProtoReflect()) + case "cosmos.staking.v1beta1.Params.cons_pubkey_rotation_fee": + if x.ConsPubkeyRotationFee == nil { + x.ConsPubkeyRotationFee = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.ConsPubkeyRotationFee.ProtoReflect()) case "cosmos.staking.v1beta1.Params.max_validators": panic(fmt.Errorf("field max_validators of message cosmos.staking.v1beta1.Params is not mutable")) case "cosmos.staking.v1beta1.Params.max_entries": @@ -9686,6 +9725,8 @@ func (x *fastReflection_Params) Mutable(fd protoreflect.FieldDescriptor) protore panic(fmt.Errorf("field bond_denom of message cosmos.staking.v1beta1.Params is not mutable")) case "cosmos.staking.v1beta1.Params.min_commission_rate": panic(fmt.Errorf("field min_commission_rate of message cosmos.staking.v1beta1.Params is not mutable")) + case "cosmos.staking.v1beta1.Params.max_cons_pub_key_rotations": + panic(fmt.Errorf("field max_cons_pub_key_rotations of message cosmos.staking.v1beta1.Params is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9712,6 +9753,11 @@ func (x *fastReflection_Params) NewField(fd protoreflect.FieldDescriptor) protor return protoreflect.ValueOfString("") case "cosmos.staking.v1beta1.Params.min_commission_rate": return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.Params.max_cons_pub_key_rotations": + return protoreflect.ValueOfUint64(uint64(0)) + case "cosmos.staking.v1beta1.Params.cons_pubkey_rotation_fee": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9802,6 +9848,13 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } + if x.MaxConsPubKeyRotations != 0 { + n += 1 + runtime.Sov(uint64(x.MaxConsPubKeyRotations)) + } + if x.ConsPubkeyRotationFee != nil { + l = options.Size(x.ConsPubkeyRotationFee) + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -9831,6 +9884,25 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.ConsPubkeyRotationFee != nil { + encoded, err := options.Marshal(x.ConsPubkeyRotationFee) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x42 + } + if x.MaxConsPubKeyRotations != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.MaxConsPubKeyRotations)) + i-- + dAtA[i] = 0x38 + } if len(x.MinCommissionRate) > 0 { i -= len(x.MinCommissionRate) copy(dAtA[i:], x.MinCommissionRate) @@ -10080,6 +10152,61 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { } x.MinCommissionRate = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 7: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxConsPubKeyRotations", wireType) + } + x.MaxConsPubKeyRotations = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.MaxConsPubKeyRotations |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ConsPubkeyRotationFee", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.ConsPubkeyRotationFee == nil { + x.ConsPubkeyRotationFee = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.ConsPubkeyRotationFee); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -12679,182 +12806,808 @@ func (x *fastReflection_ValidatorUpdates) ProtoMethods() *protoiface.Methods { } } -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.0 -// protoc (unknown) -// source: cosmos/staking/v1beta1/staking.proto - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// BondStatus is the status of a validator. -type BondStatus int32 - -const ( - // UNSPECIFIED defines an invalid validator status. - BondStatus_BOND_STATUS_UNSPECIFIED BondStatus = 0 - // UNBONDED defines a validator that is not bonded. - BondStatus_BOND_STATUS_UNBONDED BondStatus = 1 - // UNBONDING defines a validator that is unbonding. - BondStatus_BOND_STATUS_UNBONDING BondStatus = 2 - // BONDED defines a validator that is bonded. - BondStatus_BOND_STATUS_BONDED BondStatus = 3 -) - -// Enum value maps for BondStatus. var ( - BondStatus_name = map[int32]string{ - 0: "BOND_STATUS_UNSPECIFIED", - 1: "BOND_STATUS_UNBONDED", - 2: "BOND_STATUS_UNBONDING", - 3: "BOND_STATUS_BONDED", - } - BondStatus_value = map[string]int32{ - "BOND_STATUS_UNSPECIFIED": 0, - "BOND_STATUS_UNBONDED": 1, - "BOND_STATUS_UNBONDING": 2, - "BOND_STATUS_BONDED": 3, - } + md_ConsPubKeyRotationHistory protoreflect.MessageDescriptor + fd_ConsPubKeyRotationHistory_operator_address protoreflect.FieldDescriptor + fd_ConsPubKeyRotationHistory_old_cons_pubkey protoreflect.FieldDescriptor + fd_ConsPubKeyRotationHistory_new_cons_pubkey protoreflect.FieldDescriptor + fd_ConsPubKeyRotationHistory_height protoreflect.FieldDescriptor ) -func (x BondStatus) Enum() *BondStatus { - p := new(BondStatus) - *p = x - return p -} - -func (x BondStatus) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (BondStatus) Descriptor() protoreflect.EnumDescriptor { - return file_cosmos_staking_v1beta1_staking_proto_enumTypes[0].Descriptor() +func init() { + file_cosmos_staking_v1beta1_staking_proto_init() + md_ConsPubKeyRotationHistory = File_cosmos_staking_v1beta1_staking_proto.Messages().ByName("ConsPubKeyRotationHistory") + fd_ConsPubKeyRotationHistory_operator_address = md_ConsPubKeyRotationHistory.Fields().ByName("operator_address") + fd_ConsPubKeyRotationHistory_old_cons_pubkey = md_ConsPubKeyRotationHistory.Fields().ByName("old_cons_pubkey") + fd_ConsPubKeyRotationHistory_new_cons_pubkey = md_ConsPubKeyRotationHistory.Fields().ByName("new_cons_pubkey") + fd_ConsPubKeyRotationHistory_height = md_ConsPubKeyRotationHistory.Fields().ByName("height") } -func (BondStatus) Type() protoreflect.EnumType { - return &file_cosmos_staking_v1beta1_staking_proto_enumTypes[0] -} +var _ protoreflect.Message = (*fastReflection_ConsPubKeyRotationHistory)(nil) -func (x BondStatus) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} +type fastReflection_ConsPubKeyRotationHistory ConsPubKeyRotationHistory -// Deprecated: Use BondStatus.Descriptor instead. -func (BondStatus) EnumDescriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_staking_proto_rawDescGZIP(), []int{0} +func (x *ConsPubKeyRotationHistory) ProtoReflect() protoreflect.Message { + return (*fastReflection_ConsPubKeyRotationHistory)(x) } -// Infraction indicates the infraction a validator commited. -type Infraction int32 - -const ( - // UNSPECIFIED defines an empty infraction. - Infraction_INFRACTION_UNSPECIFIED Infraction = 0 - // DOUBLE_SIGN defines a validator that double-signs a block. - Infraction_INFRACTION_DOUBLE_SIGN Infraction = 1 - // DOWNTIME defines a validator that missed signing too many blocks. - Infraction_INFRACTION_DOWNTIME Infraction = 2 -) - -// Enum value maps for Infraction. -var ( - Infraction_name = map[int32]string{ - 0: "INFRACTION_UNSPECIFIED", - 1: "INFRACTION_DOUBLE_SIGN", - 2: "INFRACTION_DOWNTIME", - } - Infraction_value = map[string]int32{ - "INFRACTION_UNSPECIFIED": 0, - "INFRACTION_DOUBLE_SIGN": 1, - "INFRACTION_DOWNTIME": 2, +func (x *ConsPubKeyRotationHistory) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_staking_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms } -) - -func (x Infraction) Enum() *Infraction { - p := new(Infraction) - *p = x - return p + return mi.MessageOf(x) } -func (x Infraction) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} +var _fastReflection_ConsPubKeyRotationHistory_messageType fastReflection_ConsPubKeyRotationHistory_messageType +var _ protoreflect.MessageType = fastReflection_ConsPubKeyRotationHistory_messageType{} -func (Infraction) Descriptor() protoreflect.EnumDescriptor { - return file_cosmos_staking_v1beta1_staking_proto_enumTypes[1].Descriptor() -} +type fastReflection_ConsPubKeyRotationHistory_messageType struct{} -func (Infraction) Type() protoreflect.EnumType { - return &file_cosmos_staking_v1beta1_staking_proto_enumTypes[1] +func (x fastReflection_ConsPubKeyRotationHistory_messageType) Zero() protoreflect.Message { + return (*fastReflection_ConsPubKeyRotationHistory)(nil) } - -func (x Infraction) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) +func (x fastReflection_ConsPubKeyRotationHistory_messageType) New() protoreflect.Message { + return new(fastReflection_ConsPubKeyRotationHistory) } - -// Deprecated: Use Infraction.Descriptor instead. -func (Infraction) EnumDescriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_staking_proto_rawDescGZIP(), []int{1} +func (x fastReflection_ConsPubKeyRotationHistory_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_ConsPubKeyRotationHistory } -// HistoricalInfo contains header and validator information for a given block. -// It is stored as part of staking module's state, which persists the `n` most -// recent HistoricalInfo -// (`n` is set by the staking module's `historical_entries` parameter). -type HistoricalInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Header *types.Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` - Valset []*Validator `protobuf:"bytes,2,rep,name=valset,proto3" json:"valset,omitempty"` +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_ConsPubKeyRotationHistory) Descriptor() protoreflect.MessageDescriptor { + return md_ConsPubKeyRotationHistory } -func (x *HistoricalInfo) Reset() { - *x = HistoricalInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_cosmos_staking_v1beta1_staking_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_ConsPubKeyRotationHistory) Type() protoreflect.MessageType { + return _fastReflection_ConsPubKeyRotationHistory_messageType } -func (x *HistoricalInfo) String() string { - return protoimpl.X.MessageStringOf(x) +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_ConsPubKeyRotationHistory) New() protoreflect.Message { + return new(fastReflection_ConsPubKeyRotationHistory) } -func (*HistoricalInfo) ProtoMessage() {} - -// Deprecated: Use HistoricalInfo.ProtoReflect.Descriptor instead. -func (*HistoricalInfo) Descriptor() ([]byte, []int) { - return file_cosmos_staking_v1beta1_staking_proto_rawDescGZIP(), []int{0} +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_ConsPubKeyRotationHistory) Interface() protoreflect.ProtoMessage { + return (*ConsPubKeyRotationHistory)(x) } -func (x *HistoricalInfo) GetHeader() *types.Header { - if x != nil { - return x.Header +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_ConsPubKeyRotationHistory) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.OperatorAddress != "" { + value := protoreflect.ValueOfString(x.OperatorAddress) + if !f(fd_ConsPubKeyRotationHistory_operator_address, value) { + return + } } - return nil -} - -func (x *HistoricalInfo) GetValset() []*Validator { - if x != nil { - return x.Valset + if x.OldConsPubkey != nil { + value := protoreflect.ValueOfMessage(x.OldConsPubkey.ProtoReflect()) + if !f(fd_ConsPubKeyRotationHistory_old_cons_pubkey, value) { + return + } + } + if x.NewConsPubkey != nil { + value := protoreflect.ValueOfMessage(x.NewConsPubkey.ProtoReflect()) + if !f(fd_ConsPubKeyRotationHistory_new_cons_pubkey, value) { + return + } + } + if x.Height != uint64(0) { + value := protoreflect.ValueOfUint64(x.Height) + if !f(fd_ConsPubKeyRotationHistory_height, value) { + return + } } - return nil } -// CommissionRates defines the initial commission rates to be used for creating -// a validator. -type CommissionRates struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_ConsPubKeyRotationHistory) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.operator_address": + return x.OperatorAddress != "" + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.old_cons_pubkey": + return x.OldConsPubkey != nil + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.new_cons_pubkey": + return x.NewConsPubkey != nil + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.height": + return x.Height != uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.ConsPubKeyRotationHistory")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.ConsPubKeyRotationHistory does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ConsPubKeyRotationHistory) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.operator_address": + x.OperatorAddress = "" + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.old_cons_pubkey": + x.OldConsPubkey = nil + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.new_cons_pubkey": + x.NewConsPubkey = nil + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.height": + x.Height = uint64(0) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.ConsPubKeyRotationHistory")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.ConsPubKeyRotationHistory does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_ConsPubKeyRotationHistory) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.operator_address": + value := x.OperatorAddress + return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.old_cons_pubkey": + value := x.OldConsPubkey + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.new_cons_pubkey": + value := x.NewConsPubkey + return protoreflect.ValueOfMessage(value.ProtoReflect()) + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.height": + value := x.Height + return protoreflect.ValueOfUint64(value) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.ConsPubKeyRotationHistory")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.ConsPubKeyRotationHistory does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ConsPubKeyRotationHistory) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.operator_address": + x.OperatorAddress = value.Interface().(string) + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.old_cons_pubkey": + x.OldConsPubkey = value.Message().Interface().(*anypb.Any) + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.new_cons_pubkey": + x.NewConsPubkey = value.Message().Interface().(*anypb.Any) + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.height": + x.Height = value.Uint() + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.ConsPubKeyRotationHistory")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.ConsPubKeyRotationHistory does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ConsPubKeyRotationHistory) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.old_cons_pubkey": + if x.OldConsPubkey == nil { + x.OldConsPubkey = new(anypb.Any) + } + return protoreflect.ValueOfMessage(x.OldConsPubkey.ProtoReflect()) + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.new_cons_pubkey": + if x.NewConsPubkey == nil { + x.NewConsPubkey = new(anypb.Any) + } + return protoreflect.ValueOfMessage(x.NewConsPubkey.ProtoReflect()) + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.operator_address": + panic(fmt.Errorf("field operator_address of message cosmos.staking.v1beta1.ConsPubKeyRotationHistory is not mutable")) + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.height": + panic(fmt.Errorf("field height of message cosmos.staking.v1beta1.ConsPubKeyRotationHistory is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.ConsPubKeyRotationHistory")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.ConsPubKeyRotationHistory does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_ConsPubKeyRotationHistory) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.operator_address": + return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.old_cons_pubkey": + m := new(anypb.Any) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.new_cons_pubkey": + m := new(anypb.Any) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.height": + return protoreflect.ValueOfUint64(uint64(0)) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.ConsPubKeyRotationHistory")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.ConsPubKeyRotationHistory does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_ConsPubKeyRotationHistory) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.ConsPubKeyRotationHistory", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_ConsPubKeyRotationHistory) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ConsPubKeyRotationHistory) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_ConsPubKeyRotationHistory) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_ConsPubKeyRotationHistory) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*ConsPubKeyRotationHistory) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.OperatorAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.OldConsPubkey != nil { + l = options.Size(x.OldConsPubkey) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.NewConsPubkey != nil { + l = options.Size(x.NewConsPubkey) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.Height != 0 { + n += 1 + runtime.Sov(uint64(x.Height)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*ConsPubKeyRotationHistory) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.Height != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.Height)) + i-- + dAtA[i] = 0x20 + } + if x.NewConsPubkey != nil { + encoded, err := options.Marshal(x.NewConsPubkey) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1a + } + if x.OldConsPubkey != nil { + encoded, err := options.Marshal(x.OldConsPubkey) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x12 + } + if len(x.OperatorAddress) > 0 { + i -= len(x.OperatorAddress) + copy(dAtA[i:], x.OperatorAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.OperatorAddress))) + i-- + dAtA[i] = 0xa + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*ConsPubKeyRotationHistory) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ConsPubKeyRotationHistory: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ConsPubKeyRotationHistory: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OperatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.OperatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field OldConsPubkey", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.OldConsPubkey == nil { + x.OldConsPubkey = &anypb.Any{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.OldConsPubkey); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewConsPubkey", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.NewConsPubkey == nil { + x.NewConsPubkey = &anypb.Any{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.NewConsPubkey); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + case 4: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) + } + x.Height = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.Height |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.0 +// protoc (unknown) +// source: cosmos/staking/v1beta1/staking.proto + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// BondStatus is the status of a validator. +type BondStatus int32 + +const ( + // UNSPECIFIED defines an invalid validator status. + BondStatus_BOND_STATUS_UNSPECIFIED BondStatus = 0 + // UNBONDED defines a validator that is not bonded. + BondStatus_BOND_STATUS_UNBONDED BondStatus = 1 + // UNBONDING defines a validator that is unbonding. + BondStatus_BOND_STATUS_UNBONDING BondStatus = 2 + // BONDED defines a validator that is bonded. + BondStatus_BOND_STATUS_BONDED BondStatus = 3 +) + +// Enum value maps for BondStatus. +var ( + BondStatus_name = map[int32]string{ + 0: "BOND_STATUS_UNSPECIFIED", + 1: "BOND_STATUS_UNBONDED", + 2: "BOND_STATUS_UNBONDING", + 3: "BOND_STATUS_BONDED", + } + BondStatus_value = map[string]int32{ + "BOND_STATUS_UNSPECIFIED": 0, + "BOND_STATUS_UNBONDED": 1, + "BOND_STATUS_UNBONDING": 2, + "BOND_STATUS_BONDED": 3, + } +) + +func (x BondStatus) Enum() *BondStatus { + p := new(BondStatus) + *p = x + return p +} + +func (x BondStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (BondStatus) Descriptor() protoreflect.EnumDescriptor { + return file_cosmos_staking_v1beta1_staking_proto_enumTypes[0].Descriptor() +} + +func (BondStatus) Type() protoreflect.EnumType { + return &file_cosmos_staking_v1beta1_staking_proto_enumTypes[0] +} + +func (x BondStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use BondStatus.Descriptor instead. +func (BondStatus) EnumDescriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_staking_proto_rawDescGZIP(), []int{0} +} + +// Infraction indicates the infraction a validator commited. +type Infraction int32 + +const ( + // UNSPECIFIED defines an empty infraction. + Infraction_INFRACTION_UNSPECIFIED Infraction = 0 + // DOUBLE_SIGN defines a validator that double-signs a block. + Infraction_INFRACTION_DOUBLE_SIGN Infraction = 1 + // DOWNTIME defines a validator that missed signing too many blocks. + Infraction_INFRACTION_DOWNTIME Infraction = 2 +) + +// Enum value maps for Infraction. +var ( + Infraction_name = map[int32]string{ + 0: "INFRACTION_UNSPECIFIED", + 1: "INFRACTION_DOUBLE_SIGN", + 2: "INFRACTION_DOWNTIME", + } + Infraction_value = map[string]int32{ + "INFRACTION_UNSPECIFIED": 0, + "INFRACTION_DOUBLE_SIGN": 1, + "INFRACTION_DOWNTIME": 2, + } +) + +func (x Infraction) Enum() *Infraction { + p := new(Infraction) + *p = x + return p +} + +func (x Infraction) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Infraction) Descriptor() protoreflect.EnumDescriptor { + return file_cosmos_staking_v1beta1_staking_proto_enumTypes[1].Descriptor() +} + +func (Infraction) Type() protoreflect.EnumType { + return &file_cosmos_staking_v1beta1_staking_proto_enumTypes[1] +} + +func (x Infraction) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Infraction.Descriptor instead. +func (Infraction) EnumDescriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_staking_proto_rawDescGZIP(), []int{1} +} + +// HistoricalInfo contains header and validator information for a given block. +// It is stored as part of staking module's state, which persists the `n` most +// recent HistoricalInfo +// (`n` is set by the staking module's `historical_entries` parameter). +type HistoricalInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Header *types.Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + Valset []*Validator `protobuf:"bytes,2,rep,name=valset,proto3" json:"valset,omitempty"` +} + +func (x *HistoricalInfo) Reset() { + *x = HistoricalInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_staking_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HistoricalInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HistoricalInfo) ProtoMessage() {} + +// Deprecated: Use HistoricalInfo.ProtoReflect.Descriptor instead. +func (*HistoricalInfo) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_staking_proto_rawDescGZIP(), []int{0} +} + +func (x *HistoricalInfo) GetHeader() *types.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *HistoricalInfo) GetValset() []*Validator { + if x != nil { + return x.Valset + } + return nil +} + +// CommissionRates defines the initial commission rates to be used for creating +// a validator. +type CommissionRates struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields // rate is the commission rate charged to delegators, as a fraction. Rate string `protobuf:"bytes,1,opt,name=rate,proto3" json:"rate,omitempty"` @@ -13747,6 +14500,10 @@ type Params struct { BondDenom string `protobuf:"bytes,5,opt,name=bond_denom,json=bondDenom,proto3" json:"bond_denom,omitempty"` // min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators MinCommissionRate string `protobuf:"bytes,6,opt,name=min_commission_rate,json=minCommissionRate,proto3" json:"min_commission_rate,omitempty"` + // max_cons_pub_key_rotations is maximum number of consensus pubkey rotations + MaxConsPubKeyRotations uint64 `protobuf:"varint,7,opt,name=max_cons_pub_key_rotations,json=maxConsPubKeyRotations,proto3" json:"max_cons_pub_key_rotations,omitempty"` + // cons_pubkey_rotation_fee is fee to be spent when rotating validator's consensus pubkey + ConsPubkeyRotationFee *v1beta1.Coin `protobuf:"bytes,8,opt,name=cons_pubkey_rotation_fee,json=consPubkeyRotationFee,proto3" json:"cons_pubkey_rotation_fee,omitempty"` } func (x *Params) Reset() { @@ -13811,6 +14568,20 @@ func (x *Params) GetMinCommissionRate() string { return "" } +func (x *Params) GetMaxConsPubKeyRotations() uint64 { + if x != nil { + return x.MaxConsPubKeyRotations + } + return 0 +} + +func (x *Params) GetConsPubkeyRotationFee() *v1beta1.Coin { + if x != nil { + return x.ConsPubkeyRotationFee + } + return nil +} + // DelegationResponse is equivalent to Delegation except that it contains a // balance in addition to shares which is more suitable for client responses. type DelegationResponse struct { @@ -14030,6 +14801,70 @@ func (x *ValidatorUpdates) GetUpdates() []*abci.ValidatorUpdate { return nil } +// ConsPubKeyRotationHistory contains a validator's consensus public key rotation history. +type ConsPubKeyRotationHistory struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // operator_address defines the address of the validator's operator; bech encoded in JSON. + OperatorAddress string `protobuf:"bytes,1,opt,name=operator_address,json=operatorAddress,proto3" json:"operator_address,omitempty"` + // old_cons_pubkey is the old consensus public key of the validator, as a Protobuf Any. + OldConsPubkey *anypb.Any `protobuf:"bytes,2,opt,name=old_cons_pubkey,json=oldConsPubkey,proto3" json:"old_cons_pubkey,omitempty"` + // new_cons_pubkey is the new consensus public key of the validator, as a Protobuf Any. + NewConsPubkey *anypb.Any `protobuf:"bytes,3,opt,name=new_cons_pubkey,json=newConsPubkey,proto3" json:"new_cons_pubkey,omitempty"` + // height defines the block height at which the rotation event occured. + Height uint64 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"` +} + +func (x *ConsPubKeyRotationHistory) Reset() { + *x = ConsPubKeyRotationHistory{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_staking_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConsPubKeyRotationHistory) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConsPubKeyRotationHistory) ProtoMessage() {} + +// Deprecated: Use ConsPubKeyRotationHistory.ProtoReflect.Descriptor instead. +func (*ConsPubKeyRotationHistory) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_staking_proto_rawDescGZIP(), []int{21} +} + +func (x *ConsPubKeyRotationHistory) GetOperatorAddress() string { + if x != nil { + return x.OperatorAddress + } + return "" +} + +func (x *ConsPubKeyRotationHistory) GetOldConsPubkey() *anypb.Any { + if x != nil { + return x.OldConsPubkey + } + return nil +} + +func (x *ConsPubKeyRotationHistory) GetNewConsPubkey() *anypb.Any { + if x != nil { + return x.NewConsPubkey + } + return nil +} + +func (x *ConsPubKeyRotationHistory) GetHeight() uint64 { + if x != nil { + return x.Height + } + return 0 +} + var File_cosmos_staking_v1beta1_staking_proto protoreflect.FileDescriptor var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ @@ -14314,7 +15149,7 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, - 0xa7, 0x03, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x75, 0x6e, + 0xbd, 0x04, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0xc8, @@ -14338,69 +15173,102 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x22, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x61, 0x74, 0x65, 0x3a, 0x24, 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x1b, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, - 0xb0, 0x2a, 0x01, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x3e, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, - 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, - 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xde, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x12, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, - 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x56, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xc8, 0xde, 0x1f, 0x00, 0xda, - 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0xc9, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x53, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, - 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, - 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, + 0x61, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x1a, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, + 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x73, + 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x58, 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x5f, 0x72, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, + 0x1f, 0x00, 0x52, 0x15, 0x63, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x52, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x3a, 0x24, 0xe8, 0xa0, 0x1f, 0x01, 0x8a, + 0xe7, 0xb0, 0x2a, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x78, + 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, + 0xa9, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, + 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, + 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xde, 0x01, 0x0a, 0x19, + 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x12, 0x72, 0x65, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, - 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x04, 0xe8, 0xa0, - 0x1f, 0x00, 0x22, 0x8e, 0x02, 0x0a, 0x04, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x82, 0x01, 0x0a, 0x11, - 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x56, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, - 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, - 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, - 0x0f, 0x6e, 0x6f, 0x74, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0x12, 0x77, 0x0a, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x52, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, - 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, - 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x62, 0x6f, 0x6e, - 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x3a, 0x08, 0xe8, 0xa0, 0x1f, 0x01, 0xf0, - 0xa0, 0x1f, 0x01, 0x22, 0x59, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, - 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, - 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x2a, 0xb6, + 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x72, 0x65, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x56, + 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x3c, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xd2, + 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x07, 0x62, + 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0xc9, 0x01, 0x0a, + 0x14, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x72, 0x65, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x07, 0x65, 0x6e, + 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x09, + 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, + 0x65, 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x8e, 0x02, 0x0a, 0x04, 0x50, 0x6f, 0x6f, + 0x6c, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x56, 0xc8, + 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, + 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, + 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, + 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0f, 0x6e, 0x6f, 0x74, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x77, 0x0a, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x52, 0xc8, + 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, + 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, + 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, + 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, + 0x01, 0x52, 0x0c, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x3a, + 0x08, 0xe8, 0xa0, 0x1f, 0x01, 0xf0, 0xa0, 0x1f, 0x01, 0x22, 0x59, 0x0a, 0x10, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x45, 0x0a, + 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x61, 0x62, 0x63, 0x69, + 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x22, 0xf7, 0x02, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, + 0x4b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, + 0x72, 0x79, 0x12, 0x46, 0x0a, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xf2, 0xde, + 0x1f, 0x17, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x52, 0x0f, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x75, 0x0a, 0x0f, 0x6f, 0x6c, + 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x37, 0xf2, 0xde, 0x1f, 0x1b, 0x79, + 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, + 0x75, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x22, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, + 0x65, 0x79, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, + 0x79, 0x12, 0x75, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, + 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, + 0x42, 0x37, 0xf2, 0xde, 0x1f, 0x1b, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6e, 0x65, 0x77, 0x5f, + 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, + 0x22, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x43, 0x6f, + 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x3a, 0x0c, 0x88, 0xa0, 0x1f, 0x00, 0x98, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x2a, 0xb6, 0x01, 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, @@ -14448,7 +15316,7 @@ func file_cosmos_staking_v1beta1_staking_proto_rawDescGZIP() []byte { } var file_cosmos_staking_v1beta1_staking_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_cosmos_staking_v1beta1_staking_proto_msgTypes = make([]protoimpl.MessageInfo, 21) +var file_cosmos_staking_v1beta1_staking_proto_msgTypes = make([]protoimpl.MessageInfo, 22) var file_cosmos_staking_v1beta1_staking_proto_goTypes = []interface{}{ (BondStatus)(0), // 0: cosmos.staking.v1beta1.BondStatus (Infraction)(0), // 1: cosmos.staking.v1beta1.Infraction @@ -14473,41 +15341,45 @@ var file_cosmos_staking_v1beta1_staking_proto_goTypes = []interface{}{ (*RedelegationResponse)(nil), // 20: cosmos.staking.v1beta1.RedelegationResponse (*Pool)(nil), // 21: cosmos.staking.v1beta1.Pool (*ValidatorUpdates)(nil), // 22: cosmos.staking.v1beta1.ValidatorUpdates - (*types.Header)(nil), // 23: tendermint.types.Header - (*timestamppb.Timestamp)(nil), // 24: google.protobuf.Timestamp - (*anypb.Any)(nil), // 25: google.protobuf.Any - (*durationpb.Duration)(nil), // 26: google.protobuf.Duration - (*v1beta1.Coin)(nil), // 27: cosmos.base.v1beta1.Coin - (*abci.ValidatorUpdate)(nil), // 28: tendermint.abci.ValidatorUpdate + (*ConsPubKeyRotationHistory)(nil), // 23: cosmos.staking.v1beta1.ConsPubKeyRotationHistory + (*types.Header)(nil), // 24: tendermint.types.Header + (*timestamppb.Timestamp)(nil), // 25: google.protobuf.Timestamp + (*anypb.Any)(nil), // 26: google.protobuf.Any + (*durationpb.Duration)(nil), // 27: google.protobuf.Duration + (*v1beta1.Coin)(nil), // 28: cosmos.base.v1beta1.Coin + (*abci.ValidatorUpdate)(nil), // 29: tendermint.abci.ValidatorUpdate } var file_cosmos_staking_v1beta1_staking_proto_depIdxs = []int32{ - 23, // 0: cosmos.staking.v1beta1.HistoricalInfo.header:type_name -> tendermint.types.Header + 24, // 0: cosmos.staking.v1beta1.HistoricalInfo.header:type_name -> tendermint.types.Header 6, // 1: cosmos.staking.v1beta1.HistoricalInfo.valset:type_name -> cosmos.staking.v1beta1.Validator 3, // 2: cosmos.staking.v1beta1.Commission.commission_rates:type_name -> cosmos.staking.v1beta1.CommissionRates - 24, // 3: cosmos.staking.v1beta1.Commission.update_time:type_name -> google.protobuf.Timestamp - 25, // 4: cosmos.staking.v1beta1.Validator.consensus_pubkey:type_name -> google.protobuf.Any + 25, // 3: cosmos.staking.v1beta1.Commission.update_time:type_name -> google.protobuf.Timestamp + 26, // 4: cosmos.staking.v1beta1.Validator.consensus_pubkey:type_name -> google.protobuf.Any 0, // 5: cosmos.staking.v1beta1.Validator.status:type_name -> cosmos.staking.v1beta1.BondStatus 5, // 6: cosmos.staking.v1beta1.Validator.description:type_name -> cosmos.staking.v1beta1.Description - 24, // 7: cosmos.staking.v1beta1.Validator.unbonding_time:type_name -> google.protobuf.Timestamp + 25, // 7: cosmos.staking.v1beta1.Validator.unbonding_time:type_name -> google.protobuf.Timestamp 4, // 8: cosmos.staking.v1beta1.Validator.commission:type_name -> cosmos.staking.v1beta1.Commission 8, // 9: cosmos.staking.v1beta1.DVPairs.pairs:type_name -> cosmos.staking.v1beta1.DVPair 10, // 10: cosmos.staking.v1beta1.DVVTriplets.triplets:type_name -> cosmos.staking.v1beta1.DVVTriplet 14, // 11: cosmos.staking.v1beta1.UnbondingDelegation.entries:type_name -> cosmos.staking.v1beta1.UnbondingDelegationEntry - 24, // 12: cosmos.staking.v1beta1.UnbondingDelegationEntry.completion_time:type_name -> google.protobuf.Timestamp - 24, // 13: cosmos.staking.v1beta1.RedelegationEntry.completion_time:type_name -> google.protobuf.Timestamp + 25, // 12: cosmos.staking.v1beta1.UnbondingDelegationEntry.completion_time:type_name -> google.protobuf.Timestamp + 25, // 13: cosmos.staking.v1beta1.RedelegationEntry.completion_time:type_name -> google.protobuf.Timestamp 15, // 14: cosmos.staking.v1beta1.Redelegation.entries:type_name -> cosmos.staking.v1beta1.RedelegationEntry - 26, // 15: cosmos.staking.v1beta1.Params.unbonding_time:type_name -> google.protobuf.Duration - 12, // 16: cosmos.staking.v1beta1.DelegationResponse.delegation:type_name -> cosmos.staking.v1beta1.Delegation - 27, // 17: cosmos.staking.v1beta1.DelegationResponse.balance:type_name -> cosmos.base.v1beta1.Coin - 15, // 18: cosmos.staking.v1beta1.RedelegationEntryResponse.redelegation_entry:type_name -> cosmos.staking.v1beta1.RedelegationEntry - 16, // 19: cosmos.staking.v1beta1.RedelegationResponse.redelegation:type_name -> cosmos.staking.v1beta1.Redelegation - 19, // 20: cosmos.staking.v1beta1.RedelegationResponse.entries:type_name -> cosmos.staking.v1beta1.RedelegationEntryResponse - 28, // 21: cosmos.staking.v1beta1.ValidatorUpdates.updates:type_name -> tendermint.abci.ValidatorUpdate - 22, // [22:22] is the sub-list for method output_type - 22, // [22:22] is the sub-list for method input_type - 22, // [22:22] is the sub-list for extension type_name - 22, // [22:22] is the sub-list for extension extendee - 0, // [0:22] is the sub-list for field type_name + 27, // 15: cosmos.staking.v1beta1.Params.unbonding_time:type_name -> google.protobuf.Duration + 28, // 16: cosmos.staking.v1beta1.Params.cons_pubkey_rotation_fee:type_name -> cosmos.base.v1beta1.Coin + 12, // 17: cosmos.staking.v1beta1.DelegationResponse.delegation:type_name -> cosmos.staking.v1beta1.Delegation + 28, // 18: cosmos.staking.v1beta1.DelegationResponse.balance:type_name -> cosmos.base.v1beta1.Coin + 15, // 19: cosmos.staking.v1beta1.RedelegationEntryResponse.redelegation_entry:type_name -> cosmos.staking.v1beta1.RedelegationEntry + 16, // 20: cosmos.staking.v1beta1.RedelegationResponse.redelegation:type_name -> cosmos.staking.v1beta1.Redelegation + 19, // 21: cosmos.staking.v1beta1.RedelegationResponse.entries:type_name -> cosmos.staking.v1beta1.RedelegationEntryResponse + 29, // 22: cosmos.staking.v1beta1.ValidatorUpdates.updates:type_name -> tendermint.abci.ValidatorUpdate + 26, // 23: cosmos.staking.v1beta1.ConsPubKeyRotationHistory.old_cons_pubkey:type_name -> google.protobuf.Any + 26, // 24: cosmos.staking.v1beta1.ConsPubKeyRotationHistory.new_cons_pubkey:type_name -> google.protobuf.Any + 25, // [25:25] is the sub-list for method output_type + 25, // [25:25] is the sub-list for method input_type + 25, // [25:25] is the sub-list for extension type_name + 25, // [25:25] is the sub-list for extension extendee + 0, // [0:25] is the sub-list for field type_name } func init() { file_cosmos_staking_v1beta1_staking_proto_init() } @@ -14768,6 +15640,18 @@ func file_cosmos_staking_v1beta1_staking_proto_init() { return nil } } + file_cosmos_staking_v1beta1_staking_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ConsPubKeyRotationHistory); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -14775,7 +15659,7 @@ func file_cosmos_staking_v1beta1_staking_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cosmos_staking_v1beta1_staking_proto_rawDesc, NumEnums: 2, - NumMessages: 21, + NumMessages: 22, NumExtensions: 0, NumServices: 0, }, diff --git a/api/cosmos/staking/v1beta1/tx.pulsar.go b/api/cosmos/staking/v1beta1/tx.pulsar.go index 2dbf1af29ab5..3d3bd098c76c 100644 --- a/api/cosmos/staking/v1beta1/tx.pulsar.go +++ b/api/cosmos/staking/v1beta1/tx.pulsar.go @@ -7102,6 +7102,861 @@ func (x *fastReflection_MsgUpdateParamsResponse) ProtoMethods() *protoiface.Meth } } +var ( + md_MsgRotateConsPubKey protoreflect.MessageDescriptor + fd_MsgRotateConsPubKey_validator_address protoreflect.FieldDescriptor + fd_MsgRotateConsPubKey_new_pubkey protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_tx_proto_init() + md_MsgRotateConsPubKey = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgRotateConsPubKey") + fd_MsgRotateConsPubKey_validator_address = md_MsgRotateConsPubKey.Fields().ByName("validator_address") + fd_MsgRotateConsPubKey_new_pubkey = md_MsgRotateConsPubKey.Fields().ByName("new_pubkey") +} + +var _ protoreflect.Message = (*fastReflection_MsgRotateConsPubKey)(nil) + +type fastReflection_MsgRotateConsPubKey MsgRotateConsPubKey + +func (x *MsgRotateConsPubKey) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgRotateConsPubKey)(x) +} + +func (x *MsgRotateConsPubKey) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgRotateConsPubKey_messageType fastReflection_MsgRotateConsPubKey_messageType +var _ protoreflect.MessageType = fastReflection_MsgRotateConsPubKey_messageType{} + +type fastReflection_MsgRotateConsPubKey_messageType struct{} + +func (x fastReflection_MsgRotateConsPubKey_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgRotateConsPubKey)(nil) +} +func (x fastReflection_MsgRotateConsPubKey_messageType) New() protoreflect.Message { + return new(fastReflection_MsgRotateConsPubKey) +} +func (x fastReflection_MsgRotateConsPubKey_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRotateConsPubKey +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgRotateConsPubKey) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRotateConsPubKey +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgRotateConsPubKey) Type() protoreflect.MessageType { + return _fastReflection_MsgRotateConsPubKey_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgRotateConsPubKey) New() protoreflect.Message { + return new(fastReflection_MsgRotateConsPubKey) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgRotateConsPubKey) Interface() protoreflect.ProtoMessage { + return (*MsgRotateConsPubKey)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgRotateConsPubKey) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if x.ValidatorAddress != "" { + value := protoreflect.ValueOfString(x.ValidatorAddress) + if !f(fd_MsgRotateConsPubKey_validator_address, value) { + return + } + } + if x.NewPubkey != nil { + value := protoreflect.ValueOfMessage(x.NewPubkey.ProtoReflect()) + if !f(fd_MsgRotateConsPubKey_new_pubkey, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgRotateConsPubKey) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRotateConsPubKey.validator_address": + return x.ValidatorAddress != "" + case "cosmos.staking.v1beta1.MsgRotateConsPubKey.new_pubkey": + return x.NewPubkey != nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRotateConsPubKey")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRotateConsPubKey does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRotateConsPubKey) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRotateConsPubKey.validator_address": + x.ValidatorAddress = "" + case "cosmos.staking.v1beta1.MsgRotateConsPubKey.new_pubkey": + x.NewPubkey = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRotateConsPubKey")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRotateConsPubKey does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgRotateConsPubKey) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.MsgRotateConsPubKey.validator_address": + value := x.ValidatorAddress + return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.MsgRotateConsPubKey.new_pubkey": + value := x.NewPubkey + return protoreflect.ValueOfMessage(value.ProtoReflect()) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRotateConsPubKey")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRotateConsPubKey does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRotateConsPubKey) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRotateConsPubKey.validator_address": + x.ValidatorAddress = value.Interface().(string) + case "cosmos.staking.v1beta1.MsgRotateConsPubKey.new_pubkey": + x.NewPubkey = value.Message().Interface().(*anypb.Any) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRotateConsPubKey")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRotateConsPubKey does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRotateConsPubKey) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRotateConsPubKey.new_pubkey": + if x.NewPubkey == nil { + x.NewPubkey = new(anypb.Any) + } + return protoreflect.ValueOfMessage(x.NewPubkey.ProtoReflect()) + case "cosmos.staking.v1beta1.MsgRotateConsPubKey.validator_address": + panic(fmt.Errorf("field validator_address of message cosmos.staking.v1beta1.MsgRotateConsPubKey is not mutable")) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRotateConsPubKey")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRotateConsPubKey does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgRotateConsPubKey) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.MsgRotateConsPubKey.validator_address": + return protoreflect.ValueOfString("") + case "cosmos.staking.v1beta1.MsgRotateConsPubKey.new_pubkey": + m := new(anypb.Any) + return protoreflect.ValueOfMessage(m.ProtoReflect()) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRotateConsPubKey")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRotateConsPubKey does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgRotateConsPubKey) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgRotateConsPubKey", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgRotateConsPubKey) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRotateConsPubKey) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgRotateConsPubKey) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgRotateConsPubKey) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgRotateConsPubKey) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + l = len(x.ValidatorAddress) + if l > 0 { + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.NewPubkey != nil { + l = options.Size(x.NewPubkey) + n += 1 + l + runtime.Sov(uint64(l)) + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgRotateConsPubKey) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if x.NewPubkey != nil { + encoded, err := options.Marshal(x.NewPubkey) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x1a + } + if len(x.ValidatorAddress) > 0 { + i -= len(x.ValidatorAddress) + copy(dAtA[i:], x.ValidatorAddress) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.ValidatorAddress))) + i-- + dAtA[i] = 0x12 + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgRotateConsPubKey) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRotateConsPubKey: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRotateConsPubKey: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 2: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.ValidatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field NewPubkey", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.NewPubkey == nil { + x.NewPubkey = &anypb.Any{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.NewPubkey); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + +var ( + md_MsgRotateConsPubKeyResponse protoreflect.MessageDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_tx_proto_init() + md_MsgRotateConsPubKeyResponse = File_cosmos_staking_v1beta1_tx_proto.Messages().ByName("MsgRotateConsPubKeyResponse") +} + +var _ protoreflect.Message = (*fastReflection_MsgRotateConsPubKeyResponse)(nil) + +type fastReflection_MsgRotateConsPubKeyResponse MsgRotateConsPubKeyResponse + +func (x *MsgRotateConsPubKeyResponse) ProtoReflect() protoreflect.Message { + return (*fastReflection_MsgRotateConsPubKeyResponse)(x) +} + +func (x *MsgRotateConsPubKeyResponse) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_MsgRotateConsPubKeyResponse_messageType fastReflection_MsgRotateConsPubKeyResponse_messageType +var _ protoreflect.MessageType = fastReflection_MsgRotateConsPubKeyResponse_messageType{} + +type fastReflection_MsgRotateConsPubKeyResponse_messageType struct{} + +func (x fastReflection_MsgRotateConsPubKeyResponse_messageType) Zero() protoreflect.Message { + return (*fastReflection_MsgRotateConsPubKeyResponse)(nil) +} +func (x fastReflection_MsgRotateConsPubKeyResponse_messageType) New() protoreflect.Message { + return new(fastReflection_MsgRotateConsPubKeyResponse) +} +func (x fastReflection_MsgRotateConsPubKeyResponse_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRotateConsPubKeyResponse +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_MsgRotateConsPubKeyResponse) Descriptor() protoreflect.MessageDescriptor { + return md_MsgRotateConsPubKeyResponse +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_MsgRotateConsPubKeyResponse) Type() protoreflect.MessageType { + return _fastReflection_MsgRotateConsPubKeyResponse_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_MsgRotateConsPubKeyResponse) New() protoreflect.Message { + return new(fastReflection_MsgRotateConsPubKeyResponse) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_MsgRotateConsPubKeyResponse) Interface() protoreflect.ProtoMessage { + return (*MsgRotateConsPubKeyResponse)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_MsgRotateConsPubKeyResponse) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_MsgRotateConsPubKeyResponse) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRotateConsPubKeyResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRotateConsPubKeyResponse does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRotateConsPubKeyResponse) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRotateConsPubKeyResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRotateConsPubKeyResponse does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_MsgRotateConsPubKeyResponse) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRotateConsPubKeyResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRotateConsPubKeyResponse does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRotateConsPubKeyResponse) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRotateConsPubKeyResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRotateConsPubKeyResponse does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRotateConsPubKeyResponse) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRotateConsPubKeyResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRotateConsPubKeyResponse does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_MsgRotateConsPubKeyResponse) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.MsgRotateConsPubKeyResponse")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.MsgRotateConsPubKeyResponse does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_MsgRotateConsPubKeyResponse) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.MsgRotateConsPubKeyResponse", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_MsgRotateConsPubKeyResponse) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_MsgRotateConsPubKeyResponse) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_MsgRotateConsPubKeyResponse) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_MsgRotateConsPubKeyResponse) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*MsgRotateConsPubKeyResponse) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*MsgRotateConsPubKeyResponse) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*MsgRotateConsPubKeyResponse) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRotateConsPubKeyResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: MsgRotateConsPubKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -7773,6 +8628,82 @@ func (*MsgUpdateParamsResponse) Descriptor() ([]byte, []int) { return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{13} } +// MsgRotateConsPubKey is the Msg/RotateConsPubKey request type. +// +// Since: cosmos-sdk 0.48 +type MsgRotateConsPubKey struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + NewPubkey *anypb.Any `protobuf:"bytes,3,opt,name=new_pubkey,json=newPubkey,proto3" json:"new_pubkey,omitempty"` +} + +func (x *MsgRotateConsPubKey) Reset() { + *x = MsgRotateConsPubKey{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgRotateConsPubKey) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgRotateConsPubKey) ProtoMessage() {} + +// Deprecated: Use MsgRotateConsPubKey.ProtoReflect.Descriptor instead. +func (*MsgRotateConsPubKey) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{14} +} + +func (x *MsgRotateConsPubKey) GetValidatorAddress() string { + if x != nil { + return x.ValidatorAddress + } + return "" +} + +func (x *MsgRotateConsPubKey) GetNewPubkey() *anypb.Any { + if x != nil { + return x.NewPubkey + } + return nil +} + +// MsgRotateConsPubKeyResponse defines the response structure for executing a +// MsgRotateConsPubKey message. +// +// Since: cosmos-sdk 0.48 +type MsgRotateConsPubKeyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MsgRotateConsPubKeyResponse) Reset() { + *x = MsgRotateConsPubKeyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_tx_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MsgRotateConsPubKeyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MsgRotateConsPubKeyResponse) ProtoMessage() {} + +// Deprecated: Use MsgRotateConsPubKeyResponse.ProtoReflect.Descriptor instead. +func (*MsgRotateConsPubKeyResponse) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP(), []int{15} +} + var File_cosmos_staking_v1beta1_tx_proto protoreflect.FileDescriptor var file_cosmos_staking_v1beta1_tx_proto_rawDesc = []byte{ @@ -7982,6 +8913,23 @@ var file_cosmos_staking_v1beta1_tx_proto_rawDesc = []byte{ 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xee, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x11, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x4d, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x18, 0xca, 0xb4, 0x2d, 0x14, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, + 0x62, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x3a, + 0x41, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, 0x11, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x8a, + 0xe7, 0xb0, 0x2a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x4d, + 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, + 0x65, 0x79, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, + 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x9d, 0x06, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x71, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, @@ -8061,7 +9009,7 @@ func file_cosmos_staking_v1beta1_tx_proto_rawDescGZIP() []byte { return file_cosmos_staking_v1beta1_tx_proto_rawDescData } -var file_cosmos_staking_v1beta1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_cosmos_staking_v1beta1_tx_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_cosmos_staking_v1beta1_tx_proto_goTypes = []interface{}{ (*MsgCreateValidator)(nil), // 0: cosmos.staking.v1beta1.MsgCreateValidator (*MsgCreateValidatorResponse)(nil), // 1: cosmos.staking.v1beta1.MsgCreateValidatorResponse @@ -8077,46 +9025,49 @@ var file_cosmos_staking_v1beta1_tx_proto_goTypes = []interface{}{ (*MsgCancelUnbondingDelegationResponse)(nil), // 11: cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse (*MsgUpdateParams)(nil), // 12: cosmos.staking.v1beta1.MsgUpdateParams (*MsgUpdateParamsResponse)(nil), // 13: cosmos.staking.v1beta1.MsgUpdateParamsResponse - (*Description)(nil), // 14: cosmos.staking.v1beta1.Description - (*CommissionRates)(nil), // 15: cosmos.staking.v1beta1.CommissionRates - (*anypb.Any)(nil), // 16: google.protobuf.Any - (*v1beta1.Coin)(nil), // 17: cosmos.base.v1beta1.Coin - (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp - (*Params)(nil), // 19: cosmos.staking.v1beta1.Params + (*MsgRotateConsPubKey)(nil), // 14: cosmos.staking.v1beta1.MsgRotateConsPubKey + (*MsgRotateConsPubKeyResponse)(nil), // 15: cosmos.staking.v1beta1.MsgRotateConsPubKeyResponse + (*Description)(nil), // 16: cosmos.staking.v1beta1.Description + (*CommissionRates)(nil), // 17: cosmos.staking.v1beta1.CommissionRates + (*anypb.Any)(nil), // 18: google.protobuf.Any + (*v1beta1.Coin)(nil), // 19: cosmos.base.v1beta1.Coin + (*timestamppb.Timestamp)(nil), // 20: google.protobuf.Timestamp + (*Params)(nil), // 21: cosmos.staking.v1beta1.Params } var file_cosmos_staking_v1beta1_tx_proto_depIdxs = []int32{ - 14, // 0: cosmos.staking.v1beta1.MsgCreateValidator.description:type_name -> cosmos.staking.v1beta1.Description - 15, // 1: cosmos.staking.v1beta1.MsgCreateValidator.commission:type_name -> cosmos.staking.v1beta1.CommissionRates - 16, // 2: cosmos.staking.v1beta1.MsgCreateValidator.pubkey:type_name -> google.protobuf.Any - 17, // 3: cosmos.staking.v1beta1.MsgCreateValidator.value:type_name -> cosmos.base.v1beta1.Coin - 14, // 4: cosmos.staking.v1beta1.MsgEditValidator.description:type_name -> cosmos.staking.v1beta1.Description - 17, // 5: cosmos.staking.v1beta1.MsgDelegate.amount:type_name -> cosmos.base.v1beta1.Coin - 17, // 6: cosmos.staking.v1beta1.MsgBeginRedelegate.amount:type_name -> cosmos.base.v1beta1.Coin - 18, // 7: cosmos.staking.v1beta1.MsgBeginRedelegateResponse.completion_time:type_name -> google.protobuf.Timestamp - 17, // 8: cosmos.staking.v1beta1.MsgUndelegate.amount:type_name -> cosmos.base.v1beta1.Coin - 18, // 9: cosmos.staking.v1beta1.MsgUndelegateResponse.completion_time:type_name -> google.protobuf.Timestamp - 17, // 10: cosmos.staking.v1beta1.MsgUndelegateResponse.amount:type_name -> cosmos.base.v1beta1.Coin - 17, // 11: cosmos.staking.v1beta1.MsgCancelUnbondingDelegation.amount:type_name -> cosmos.base.v1beta1.Coin - 19, // 12: cosmos.staking.v1beta1.MsgUpdateParams.params:type_name -> cosmos.staking.v1beta1.Params - 0, // 13: cosmos.staking.v1beta1.Msg.CreateValidator:input_type -> cosmos.staking.v1beta1.MsgCreateValidator - 2, // 14: cosmos.staking.v1beta1.Msg.EditValidator:input_type -> cosmos.staking.v1beta1.MsgEditValidator - 4, // 15: cosmos.staking.v1beta1.Msg.Delegate:input_type -> cosmos.staking.v1beta1.MsgDelegate - 6, // 16: cosmos.staking.v1beta1.Msg.BeginRedelegate:input_type -> cosmos.staking.v1beta1.MsgBeginRedelegate - 8, // 17: cosmos.staking.v1beta1.Msg.Undelegate:input_type -> cosmos.staking.v1beta1.MsgUndelegate - 10, // 18: cosmos.staking.v1beta1.Msg.CancelUnbondingDelegation:input_type -> cosmos.staking.v1beta1.MsgCancelUnbondingDelegation - 12, // 19: cosmos.staking.v1beta1.Msg.UpdateParams:input_type -> cosmos.staking.v1beta1.MsgUpdateParams - 1, // 20: cosmos.staking.v1beta1.Msg.CreateValidator:output_type -> cosmos.staking.v1beta1.MsgCreateValidatorResponse - 3, // 21: cosmos.staking.v1beta1.Msg.EditValidator:output_type -> cosmos.staking.v1beta1.MsgEditValidatorResponse - 5, // 22: cosmos.staking.v1beta1.Msg.Delegate:output_type -> cosmos.staking.v1beta1.MsgDelegateResponse - 7, // 23: cosmos.staking.v1beta1.Msg.BeginRedelegate:output_type -> cosmos.staking.v1beta1.MsgBeginRedelegateResponse - 9, // 24: cosmos.staking.v1beta1.Msg.Undelegate:output_type -> cosmos.staking.v1beta1.MsgUndelegateResponse - 11, // 25: cosmos.staking.v1beta1.Msg.CancelUnbondingDelegation:output_type -> cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse - 13, // 26: cosmos.staking.v1beta1.Msg.UpdateParams:output_type -> cosmos.staking.v1beta1.MsgUpdateParamsResponse - 20, // [20:27] is the sub-list for method output_type - 13, // [13:20] is the sub-list for method input_type - 13, // [13:13] is the sub-list for extension type_name - 13, // [13:13] is the sub-list for extension extendee - 0, // [0:13] is the sub-list for field type_name + 16, // 0: cosmos.staking.v1beta1.MsgCreateValidator.description:type_name -> cosmos.staking.v1beta1.Description + 17, // 1: cosmos.staking.v1beta1.MsgCreateValidator.commission:type_name -> cosmos.staking.v1beta1.CommissionRates + 18, // 2: cosmos.staking.v1beta1.MsgCreateValidator.pubkey:type_name -> google.protobuf.Any + 19, // 3: cosmos.staking.v1beta1.MsgCreateValidator.value:type_name -> cosmos.base.v1beta1.Coin + 16, // 4: cosmos.staking.v1beta1.MsgEditValidator.description:type_name -> cosmos.staking.v1beta1.Description + 19, // 5: cosmos.staking.v1beta1.MsgDelegate.amount:type_name -> cosmos.base.v1beta1.Coin + 19, // 6: cosmos.staking.v1beta1.MsgBeginRedelegate.amount:type_name -> cosmos.base.v1beta1.Coin + 20, // 7: cosmos.staking.v1beta1.MsgBeginRedelegateResponse.completion_time:type_name -> google.protobuf.Timestamp + 19, // 8: cosmos.staking.v1beta1.MsgUndelegate.amount:type_name -> cosmos.base.v1beta1.Coin + 20, // 9: cosmos.staking.v1beta1.MsgUndelegateResponse.completion_time:type_name -> google.protobuf.Timestamp + 19, // 10: cosmos.staking.v1beta1.MsgUndelegateResponse.amount:type_name -> cosmos.base.v1beta1.Coin + 19, // 11: cosmos.staking.v1beta1.MsgCancelUnbondingDelegation.amount:type_name -> cosmos.base.v1beta1.Coin + 21, // 12: cosmos.staking.v1beta1.MsgUpdateParams.params:type_name -> cosmos.staking.v1beta1.Params + 18, // 13: cosmos.staking.v1beta1.MsgRotateConsPubKey.new_pubkey:type_name -> google.protobuf.Any + 0, // 14: cosmos.staking.v1beta1.Msg.CreateValidator:input_type -> cosmos.staking.v1beta1.MsgCreateValidator + 2, // 15: cosmos.staking.v1beta1.Msg.EditValidator:input_type -> cosmos.staking.v1beta1.MsgEditValidator + 4, // 16: cosmos.staking.v1beta1.Msg.Delegate:input_type -> cosmos.staking.v1beta1.MsgDelegate + 6, // 17: cosmos.staking.v1beta1.Msg.BeginRedelegate:input_type -> cosmos.staking.v1beta1.MsgBeginRedelegate + 8, // 18: cosmos.staking.v1beta1.Msg.Undelegate:input_type -> cosmos.staking.v1beta1.MsgUndelegate + 10, // 19: cosmos.staking.v1beta1.Msg.CancelUnbondingDelegation:input_type -> cosmos.staking.v1beta1.MsgCancelUnbondingDelegation + 12, // 20: cosmos.staking.v1beta1.Msg.UpdateParams:input_type -> cosmos.staking.v1beta1.MsgUpdateParams + 1, // 21: cosmos.staking.v1beta1.Msg.CreateValidator:output_type -> cosmos.staking.v1beta1.MsgCreateValidatorResponse + 3, // 22: cosmos.staking.v1beta1.Msg.EditValidator:output_type -> cosmos.staking.v1beta1.MsgEditValidatorResponse + 5, // 23: cosmos.staking.v1beta1.Msg.Delegate:output_type -> cosmos.staking.v1beta1.MsgDelegateResponse + 7, // 24: cosmos.staking.v1beta1.Msg.BeginRedelegate:output_type -> cosmos.staking.v1beta1.MsgBeginRedelegateResponse + 9, // 25: cosmos.staking.v1beta1.Msg.Undelegate:output_type -> cosmos.staking.v1beta1.MsgUndelegateResponse + 11, // 26: cosmos.staking.v1beta1.Msg.CancelUnbondingDelegation:output_type -> cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse + 13, // 27: cosmos.staking.v1beta1.Msg.UpdateParams:output_type -> cosmos.staking.v1beta1.MsgUpdateParamsResponse + 21, // [21:28] is the sub-list for method output_type + 14, // [14:21] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name } func init() { file_cosmos_staking_v1beta1_tx_proto_init() } @@ -8294,6 +9245,30 @@ func file_cosmos_staking_v1beta1_tx_proto_init() { return nil } } + file_cosmos_staking_v1beta1_tx_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgRotateConsPubKey); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cosmos_staking_v1beta1_tx_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MsgRotateConsPubKeyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -8301,7 +9276,7 @@ func file_cosmos_staking_v1beta1_tx_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cosmos_staking_v1beta1_tx_proto_rawDesc, NumEnums: 0, - NumMessages: 14, + NumMessages: 16, NumExtensions: 0, NumServices: 1, }, diff --git a/api/cosmos/tx/v1beta1/service.pulsar.go b/api/cosmos/tx/v1beta1/service.pulsar.go index 0a5e51f8e3d5..af2de060d804 100644 --- a/api/cosmos/tx/v1beta1/service.pulsar.go +++ b/api/cosmos/tx/v1beta1/service.pulsar.go @@ -9148,6 +9148,8 @@ type GetTxsEventRequest struct { // events is the list of transaction event type. // Deprecated post v0.47.x: use query instead, which should contain a valid // events query. + // + // Deprecated: Do not use. Events []string `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` // pagination defines a pagination for the request. // Deprecated post v0.46.x: use page and limit instead. @@ -9163,6 +9165,8 @@ type GetTxsEventRequest struct { Limit uint64 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` // query defines the transaction event query that is proxied to Tendermint's // TxSearch RPC method. The query must be valid. + // + // Since Cosmos SDK 0.48 Query string `protobuf:"bytes,6,opt,name=query,proto3" json:"query,omitempty"` } @@ -9186,6 +9190,7 @@ func (*GetTxsEventRequest) Descriptor() ([]byte, []int) { return file_cosmos_tx_v1beta1_service_proto_rawDescGZIP(), []int{0} } +// Deprecated: Do not use. func (x *GetTxsEventRequest) GetEvents() []string { if x != nil { return x.Events @@ -10014,224 +10019,224 @@ var file_cosmos_tx_v1beta1_service_proto_rawDesc = []byte{ 0x1c, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xef, 0x01, 0x0a, 0x12, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf3, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x78, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x4a, 0x0a, 0x0a, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, - 0x62, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x72, 0x64, - 0x65, 0x72, 0x42, 0x79, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x12, 0x0a, - 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xea, 0x01, - 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x78, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x03, 0x74, 0x78, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x4a, + 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, + 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, + 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x22, 0xea, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x54, 0x78, 0x73, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x03, 0x74, 0x78, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x03, 0x74, + 0x78, 0x73, 0x12, 0x47, 0x0a, 0x0c, 0x74, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0b, + 0x74, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x70, 0x61, + 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x65, + 0x0a, 0x12, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x74, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, + 0x34, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, + 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x5c, 0x0a, 0x13, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, + 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0b, + 0x74, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, + 0x61, 0x62, 0x63, 0x69, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x74, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x57, 0x0a, 0x0f, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x03, 0x74, 0x78, 0x73, 0x12, 0x47, - 0x0a, 0x0c, 0x74, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, - 0x73, 0x65, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0b, 0x74, 0x78, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x65, 0x0a, 0x12, 0x42, 0x72, - 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x42, 0x02, 0x18, 0x01, 0x52, 0x02, 0x74, + 0x78, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x07, 0x74, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x8a, 0x01, 0x0a, + 0x10, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3c, 0x0a, 0x08, 0x67, 0x61, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, + 0x65, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x61, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x07, 0x67, 0x61, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x38, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x61, 0x62, + 0x63, 0x69, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x22, 0x0a, 0x0c, 0x47, 0x65, 0x74, + 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, + 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x7d, 0x0a, + 0x0d, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, + 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, + 0x78, 0x52, 0x02, 0x74, 0x78, 0x12, 0x45, 0x0a, 0x0b, 0x74, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x52, 0x0a, 0x74, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0x0a, 0x16, + 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x46, + 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, + 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, + 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf0, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x6c, + 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x27, 0x0a, 0x03, 0x74, 0x78, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x15, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x03, 0x74, 0x78, 0x73, 0x12, 0x34, 0x0a, 0x08, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x44, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, + 0x64, 0x12, 0x2d, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, + 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, + 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x0f, 0x54, 0x78, 0x44, + 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, + 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, + 0x74, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x39, 0x0a, 0x10, 0x54, 0x78, 0x44, 0x65, 0x63, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x02, 0x74, + 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x02, + 0x74, 0x78, 0x22, 0x38, 0x0a, 0x0f, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x02, 0x74, 0x78, 0x22, 0x2d, 0x0a, 0x10, + 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x07, 0x74, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x04, 0x6d, - 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x28, 0x0c, 0x52, 0x07, 0x74, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x35, 0x0a, 0x14, 0x54, + 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x5f, 0x6a, 0x73, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x4a, 0x73, + 0x6f, 0x6e, 0x22, 0x3a, 0x0a, 0x15, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, + 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, + 0x6d, 0x69, 0x6e, 0x6f, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0b, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x22, 0x39, + 0x0a, 0x14, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x5f, + 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x61, 0x6d, + 0x69, 0x6e, 0x6f, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x22, 0x36, 0x0a, 0x15, 0x54, 0x78, 0x44, + 0x65, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x4a, 0x73, 0x6f, + 0x6e, 0x2a, 0x48, 0x0a, 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x18, 0x0a, 0x14, + 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x42, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, + 0x42, 0x59, 0x5f, 0x41, 0x53, 0x43, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x52, 0x44, 0x45, + 0x52, 0x5f, 0x42, 0x59, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x10, 0x02, 0x2a, 0x80, 0x01, 0x0a, 0x0d, + 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, + 0x1a, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, + 0x14, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, + 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x42, + 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x59, + 0x4e, 0x43, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, + 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x41, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x03, 0x32, 0xaa, + 0x09, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7b, 0x0a, 0x08, 0x53, 0x69, + 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, + 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, + 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x71, 0x0a, 0x05, 0x47, 0x65, 0x74, 0x54, 0x78, + 0x12, 0x1f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x20, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, + 0x74, 0x78, 0x73, 0x2f, 0x7b, 0x68, 0x61, 0x73, 0x68, 0x7d, 0x12, 0x7f, 0x0a, 0x0b, 0x42, 0x72, + 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x72, - 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6d, 0x6f, 0x64, - 0x65, 0x22, 0x5c, 0x0a, 0x13, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0b, 0x74, 0x78, 0x5f, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x61, 0x62, 0x63, 0x69, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x74, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x57, 0x0a, 0x0f, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x29, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, + 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, + 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x73, 0x12, 0x7c, 0x0a, 0x0b, 0x47, + 0x65, 0x74, 0x54, 0x78, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x54, 0x78, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x26, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x73, 0x45, 0x76, 0x65, 0x6e, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x18, 0x12, 0x16, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x73, 0x12, 0x97, 0x01, 0x0a, 0x0f, 0x47, 0x65, + 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x12, 0x29, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2f, 0x74, 0x78, 0x73, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2f, 0x7b, 0x68, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x7d, 0x12, 0x79, 0x0a, 0x08, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x12, + 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, + 0x3a, 0x01, 0x2a, 0x22, 0x19, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x79, + 0x0a, 0x08, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, + 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x54, 0x78, 0x42, 0x02, 0x18, 0x01, 0x52, 0x02, 0x74, 0x78, 0x12, 0x19, 0x0a, - 0x08, 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x07, 0x74, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x10, 0x53, 0x69, 0x6d, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, - 0x08, 0x67, 0x61, 0x73, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x61, 0x62, - 0x63, 0x69, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x61, 0x73, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x07, 0x67, 0x61, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x38, 0x0a, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x22, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x22, 0x7d, 0x0a, 0x0d, 0x47, 0x65, 0x74, - 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x02, 0x74, 0x78, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x02, 0x74, - 0x78, 0x12, 0x45, 0x0a, 0x0b, 0x74, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x62, 0x61, 0x73, 0x65, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x74, 0x78, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x42, - 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xf0, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, - 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, - 0x0a, 0x03, 0x74, 0x78, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, + 0x61, 0x31, 0x2e, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, 0x19, + 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x8e, 0x01, 0x0a, 0x0d, 0x54, 0x78, + 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x12, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x54, 0x78, 0x52, 0x03, 0x74, 0x78, 0x73, 0x12, 0x34, 0x0a, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x49, 0x44, 0x52, 0x07, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x64, 0x12, 0x2d, 0x0a, - 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x47, 0x0a, 0x0a, - 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2c, 0x0a, 0x0f, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x78, 0x5f, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x74, 0x78, 0x42, 0x79, - 0x74, 0x65, 0x73, 0x22, 0x39, 0x0a, 0x10, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x52, 0x02, 0x74, 0x78, 0x22, 0x38, - 0x0a, 0x0f, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x25, 0x0a, 0x02, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x54, 0x78, 0x52, 0x02, 0x74, 0x78, 0x22, 0x2d, 0x0a, 0x10, 0x54, 0x78, 0x45, 0x6e, - 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, - 0x74, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, - 0x74, 0x78, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x35, 0x0a, 0x14, 0x54, 0x78, 0x45, 0x6e, 0x63, - 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1d, 0x0a, 0x0a, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x4a, 0x73, 0x6f, 0x6e, 0x22, 0x3a, - 0x0a, 0x15, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6d, 0x69, 0x6e, 0x6f, - 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x61, - 0x6d, 0x69, 0x6e, 0x6f, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x22, 0x39, 0x0a, 0x14, 0x54, 0x78, - 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x5f, 0x62, 0x69, 0x6e, 0x61, - 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x42, - 0x69, 0x6e, 0x61, 0x72, 0x79, 0x22, 0x36, 0x0a, 0x15, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, - 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x4a, 0x73, 0x6f, 0x6e, 0x2a, 0x48, 0x0a, - 0x07, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x52, 0x44, 0x45, - 0x52, 0x5f, 0x42, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x42, 0x59, 0x5f, 0x41, - 0x53, 0x43, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x42, 0x59, - 0x5f, 0x44, 0x45, 0x53, 0x43, 0x10, 0x02, 0x2a, 0x80, 0x01, 0x0a, 0x0d, 0x42, 0x72, 0x6f, 0x61, - 0x64, 0x63, 0x61, 0x73, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x42, 0x52, 0x4f, - 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x14, 0x42, 0x52, 0x4f, - 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x4c, 0x4f, 0x43, - 0x4b, 0x10, 0x01, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x42, 0x52, 0x4f, 0x41, 0x44, - 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x02, - 0x12, 0x18, 0x0a, 0x14, 0x42, 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x5f, 0x4d, 0x4f, - 0x44, 0x45, 0x5f, 0x41, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x03, 0x32, 0xaa, 0x09, 0x0a, 0x07, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7b, 0x0a, 0x08, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, - 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x69, 0x6d, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x12, 0x71, 0x0a, 0x05, 0x47, 0x65, 0x74, 0x54, 0x78, 0x12, 0x1f, 0x2e, 0x63, + 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, + 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x22, 0x1f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, + 0x63, 0x6f, 0x64, 0x65, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x12, 0x8e, 0x01, 0x0a, 0x0d, 0x54, + 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x12, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x73, 0x2f, - 0x7b, 0x68, 0x61, 0x73, 0x68, 0x7d, 0x12, 0x7f, 0x0a, 0x0b, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, - 0x61, 0x73, 0x74, 0x54, 0x78, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, - 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, - 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x54, 0x78, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, - 0x16, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x73, 0x12, 0x7c, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x54, 0x78, - 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, - 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x78, 0x73, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2f, 0x74, 0x78, 0x73, 0x12, 0x97, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, - 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x12, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6c, 0x6f, 0x63, - 0x6b, 0x57, 0x69, 0x74, 0x68, 0x54, 0x78, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x2d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x12, 0x25, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x78, 0x73, - 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2f, 0x7b, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x7d, 0x12, - 0x79, 0x0a, 0x08, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, - 0x19, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x79, 0x0a, 0x08, 0x54, 0x78, - 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x45, 0x6e, 0x63, - 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, - 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, 0x19, 0x2f, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, - 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x8e, 0x01, 0x0a, 0x0d, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, - 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x12, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x45, 0x6e, - 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, - 0x6e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x22, 0x1f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, - 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, - 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x12, 0x8e, 0x01, 0x0a, 0x0d, 0x54, 0x78, 0x44, 0x65, 0x63, - 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x12, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x44, - 0x65, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, - 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x22, 0x1f, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, - 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, 0x65, 0x63, 0x6f, 0x64, - 0x65, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x42, 0xb9, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x42, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x2c, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x74, 0x78, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, - 0x02, 0x03, 0x43, 0x54, 0x58, 0xaa, 0x02, 0x11, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x54, - 0x78, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x11, 0x43, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x5c, 0x54, 0x78, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x1d, + 0x2e, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, + 0x78, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x78, 0x44, 0x65, 0x63, 0x6f, + 0x64, 0x65, 0x41, 0x6d, 0x69, 0x6e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x2a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x22, 0x1f, 0x2f, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x64, + 0x65, 0x63, 0x6f, 0x64, 0x65, 0x2f, 0x61, 0x6d, 0x69, 0x6e, 0x6f, 0x42, 0xb9, 0x01, 0x0a, 0x15, + 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x78, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x2c, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, + 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x74, + 0x78, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x74, 0x78, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x54, 0x58, 0xaa, 0x02, 0x11, 0x43, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x54, 0x78, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x11, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x54, 0x78, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x54, 0x78, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x31, 0xe2, 0x02, 0x1d, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x54, 0x78, 0x5c, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x13, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x54, 0x78, 0x3a, 0x3a, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/types/tx/service.pb.go b/types/tx/service.pb.go index 50c70059c831..19665631a4c4 100644 --- a/types/tx/service.pb.go +++ b/types/tx/service.pb.go @@ -110,7 +110,7 @@ type GetTxsEventRequest struct { // events is the list of transaction event type. // Deprecated post v0.47.x: use query instead, which should contain a valid // events query. - Events []string `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` + Events []string `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` // Deprecated: Do not use. // pagination defines a pagination for the request. // Deprecated post v0.46.x: use page and limit instead. Pagination *query.PageRequest `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"` // Deprecated: Do not use. @@ -123,6 +123,8 @@ type GetTxsEventRequest struct { Limit uint64 `protobuf:"varint,5,opt,name=limit,proto3" json:"limit,omitempty"` // query defines the transaction event query that is proxied to Tendermint's // TxSearch RPC method. The query must be valid. + // + // Since Cosmos SDK 0.48 Query string `protobuf:"bytes,6,opt,name=query,proto3" json:"query,omitempty"` } @@ -159,6 +161,7 @@ func (m *GetTxsEventRequest) XXX_DiscardUnknown() { var xxx_messageInfo_GetTxsEventRequest proto.InternalMessageInfo +// Deprecated: Do not use. func (m *GetTxsEventRequest) GetEvents() []string { if m != nil { return m.Events @@ -1144,85 +1147,85 @@ func init() { func init() { proto.RegisterFile("cosmos/tx/v1beta1/service.proto", fileDescriptor_e0b00a618705eca7) } var fileDescriptor_e0b00a618705eca7 = []byte{ - // 1234 bytes of a gzipped FileDescriptorProto + // 1237 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x57, 0x4d, 0x4f, 0x1b, 0x47, 0x18, 0x66, 0x6d, 0x83, 0xcd, 0x6b, 0x08, 0xce, 0x40, 0xc0, 0x38, 0xc4, 0x98, 0x0d, 0x1f, 0x8e, 0x55, 0xbc, 0x0a, 0x4d, 0xaa, 0x24, 0xaa, 0x54, 0xe1, 0x8f, 0x50, 0x92, 0x26, 0x44, 0x6b, 0xaa, 0x28, 0x55, 0x25, 0x6b, 0x6d, 0x4f, 0xec, 0x6d, 0xec, 0x5d, 0xe3, 0x19, 0xd0, 0x5a, 0x14, 0xb5, 0xea, 0xb1, 0x87, 0xaa, 0x52, 0x0f, 0xfd, 0x0f, 0xfd, 0x25, 0x3d, 0x46, 0xea, 0xa5, 0xc7, 0x0a, - 0x7a, 0xea, 0xa5, 0xfd, 0x09, 0xd5, 0xce, 0x8c, 0xed, 0x5d, 0x7b, 0x17, 0x43, 0x2e, 0x30, 0x1f, - 0xcf, 0xfb, 0x3e, 0xcf, 0xbc, 0x33, 0xf3, 0xec, 0x18, 0x56, 0xab, 0x26, 0x69, 0x99, 0x44, 0xa1, - 0x96, 0x72, 0x72, 0xbf, 0x82, 0xa9, 0x76, 0x5f, 0x21, 0xb8, 0x73, 0xa2, 0x57, 0x71, 0xb6, 0xdd, - 0x31, 0xa9, 0x89, 0x6e, 0x72, 0x40, 0x96, 0x5a, 0x59, 0x01, 0x48, 0xac, 0xd4, 0x4d, 0xb3, 0xde, - 0xc4, 0x8a, 0xd6, 0xd6, 0x15, 0xcd, 0x30, 0x4c, 0xaa, 0x51, 0xdd, 0x34, 0x08, 0x0f, 0x48, 0xdc, - 0x15, 0x19, 0x2b, 0x1a, 0xc1, 0x8a, 0x56, 0xa9, 0xea, 0xfd, 0xc4, 0x76, 0x47, 0x80, 0x12, 0xa3, - 0xb4, 0xd4, 0x12, 0x73, 0x19, 0x67, 0x82, 0xa3, 0x63, 0xdc, 0xe9, 0xf6, 0x31, 0x6d, 0xad, 0xae, - 0x1b, 0x8c, 0x4d, 0x60, 0x57, 0x28, 0x36, 0x6a, 0xb8, 0xd3, 0xd2, 0x0d, 0xaa, 0xd0, 0x6e, 0x1b, - 0x13, 0xa5, 0xd2, 0x34, 0xab, 0xef, 0x7c, 0x67, 0xd9, 0x5f, 0x3e, 0x2b, 0xff, 0x2b, 0x01, 0xda, - 0xc3, 0xf4, 0xd0, 0x22, 0xc5, 0x13, 0x6c, 0x50, 0x15, 0x1f, 0x1d, 0x63, 0x42, 0xd1, 0x22, 0x4c, - 0x61, 0xbb, 0x4f, 0xe2, 0x52, 0x2a, 0x98, 0x9e, 0x56, 0x45, 0x0f, 0x3d, 0x03, 0x18, 0xd0, 0xc7, - 0x03, 0x29, 0x29, 0x1d, 0xdd, 0xd9, 0xcc, 0x8a, 0xea, 0xd8, 0x5a, 0xb3, 0x4c, 0x6b, 0xaf, 0x4a, - 0xd9, 0x57, 0x5a, 0x1d, 0x8b, 0x9c, 0xb9, 0x40, 0x5c, 0x52, 0x1d, 0xd1, 0xe8, 0x21, 0x44, 0xcc, - 0x4e, 0x0d, 0x77, 0xca, 0x95, 0x6e, 0x3c, 0x98, 0x92, 0xd2, 0x37, 0x76, 0x12, 0xd9, 0x91, 0x3a, - 0x67, 0x0f, 0x6c, 0x48, 0xae, 0xab, 0x86, 0x4d, 0xde, 0x40, 0x08, 0x42, 0x6d, 0xad, 0x8e, 0xe3, - 0xa1, 0x94, 0x94, 0x0e, 0xa9, 0xac, 0x8d, 0x16, 0x60, 0xb2, 0xa9, 0xb7, 0x74, 0x1a, 0x9f, 0x64, - 0x83, 0xbc, 0x63, 0x8f, 0x32, 0x35, 0xf1, 0xa9, 0x94, 0x94, 0x9e, 0x56, 0x79, 0x47, 0xfe, 0x47, - 0x82, 0x79, 0xd7, 0x8a, 0x49, 0xdb, 0x34, 0x08, 0x46, 0x5b, 0x10, 0xa4, 0x16, 0x5f, 0x6f, 0x74, - 0xe7, 0x96, 0x87, 0x92, 0x43, 0x4b, 0xb5, 0x11, 0x68, 0x0f, 0x66, 0xa8, 0x55, 0xee, 0x88, 0x38, - 0x12, 0x0f, 0xb0, 0x88, 0x75, 0x57, 0x15, 0xd8, 0x2e, 0x3b, 0x02, 0x05, 0x58, 0x8d, 0xd2, 0x7e, - 0x9b, 0xa0, 0xe7, 0xae, 0x62, 0x06, 0x59, 0x31, 0xb7, 0xc6, 0x16, 0x93, 0x47, 0x8f, 0x54, 0x73, - 0x01, 0x26, 0xa9, 0x49, 0xb5, 0xa6, 0xa8, 0x0b, 0xef, 0xc8, 0x18, 0x50, 0xae, 0x63, 0x6a, 0xb5, - 0xaa, 0x46, 0xa8, 0x2d, 0x83, 0xef, 0xee, 0x32, 0x44, 0xa8, 0x55, 0xae, 0x74, 0x29, 0xb6, 0xd7, - 0x2b, 0xa5, 0x67, 0xd4, 0x30, 0xb5, 0x72, 0x76, 0x17, 0x3d, 0x80, 0x50, 0xcb, 0xac, 0x61, 0xb6, - 0xb5, 0x37, 0x76, 0x52, 0x1e, 0x65, 0xe8, 0xe7, 0x7b, 0x61, 0xd6, 0xb0, 0xca, 0xd0, 0xf2, 0xd7, - 0x30, 0xef, 0xa2, 0x11, 0x25, 0x2d, 0x42, 0xd4, 0x51, 0x29, 0x46, 0x75, 0xd5, 0x42, 0xc1, 0xa0, - 0x50, 0xf2, 0x6b, 0x98, 0x2b, 0xe9, 0xad, 0xe3, 0xa6, 0x46, 0x7b, 0x67, 0x09, 0xdd, 0x83, 0x00, - 0xb5, 0x44, 0x42, 0xef, 0xbd, 0x62, 0x05, 0x0a, 0x50, 0xcb, 0xb5, 0xd8, 0x80, 0x6b, 0xb1, 0xf2, - 0x8f, 0x12, 0xc4, 0x06, 0x99, 0x85, 0xe8, 0x4f, 0x21, 0x52, 0xd7, 0x48, 0x59, 0x37, 0xde, 0x9a, - 0x82, 0x60, 0xcd, 0x5f, 0xf1, 0x9e, 0x46, 0xf6, 0x8d, 0xb7, 0xa6, 0x1a, 0xae, 0xf3, 0x06, 0x7a, - 0x04, 0x53, 0x1d, 0x4c, 0x8e, 0x9b, 0x54, 0x5c, 0x8e, 0x94, 0x7f, 0xac, 0xca, 0x70, 0xaa, 0xc0, - 0xcb, 0x32, 0xcc, 0xb0, 0x63, 0xd9, 0x5b, 0x22, 0x82, 0x50, 0x43, 0x23, 0x0d, 0xa6, 0x61, 0x5a, - 0x65, 0x6d, 0xf9, 0x0c, 0x66, 0x05, 0x46, 0x88, 0xdd, 0x18, 0x5b, 0x07, 0x56, 0x83, 0xa1, 0x8d, - 0x08, 0x7c, 0xe0, 0x46, 0x58, 0xb0, 0xb8, 0x87, 0x69, 0xce, 0x36, 0x97, 0xd7, 0x3a, 0x6d, 0x1c, - 0x5a, 0xc4, 0xe1, 0x17, 0x0d, 0xac, 0xd7, 0x1b, 0x94, 0x69, 0x09, 0xaa, 0xa2, 0x87, 0x9e, 0x7e, - 0xb8, 0x5f, 0x38, 0x4f, 0xb7, 0xfc, 0x9f, 0x04, 0x4b, 0x23, 0xd4, 0xd7, 0xbd, 0xb8, 0x0f, 0x20, - 0xc2, 0x8c, 0xb1, 0xac, 0xd7, 0x84, 0x94, 0xe5, 0xec, 0xc0, 0x1c, 0xb3, 0xdc, 0x16, 0x19, 0xc5, - 0x7e, 0x41, 0x0d, 0x33, 0xe8, 0x7e, 0x0d, 0x6d, 0xc3, 0x24, 0x6b, 0x8a, 0x0b, 0xba, 0xe4, 0x13, - 0xa2, 0x72, 0x14, 0xda, 0x73, 0xad, 0x38, 0x74, 0xad, 0x4b, 0xed, 0x5a, 0xf2, 0x47, 0x30, 0x77, - 0x68, 0x15, 0x70, 0xd5, 0xbe, 0x65, 0x63, 0xef, 0xad, 0xfc, 0x18, 0x62, 0x03, 0xf4, 0xb5, 0x0e, - 0x87, 0xfc, 0xc8, 0x26, 0x2a, 0x1a, 0x4e, 0xa2, 0x2b, 0x46, 0x6e, 0xdb, 0xa4, 0xbd, 0x48, 0x41, - 0x7a, 0x89, 0xc6, 0x87, 0xb0, 0xd0, 0x83, 0xef, 0xb6, 0x74, 0xc3, 0xec, 0xb1, 0xdd, 0x01, 0xd0, - 0xec, 0x7e, 0xf9, 0x1b, 0x62, 0x1a, 0xe2, 0xbc, 0x4f, 0xb3, 0x91, 0x67, 0xc4, 0x34, 0xe4, 0x27, - 0x70, 0x6b, 0x28, 0x4c, 0x50, 0xad, 0xc1, 0x0c, 0x8f, 0xab, 0xe8, 0x86, 0xd6, 0xe9, 0x0a, 0xba, - 0x28, 0x1b, 0xcb, 0xb1, 0x21, 0xf9, 0xb1, 0x4d, 0xc9, 0xcb, 0xe2, 0xa2, 0xbc, 0x42, 0xe8, 0x27, - 0x36, 0xad, 0x2b, 0x54, 0xd0, 0x5e, 0x2e, 0x37, 0xf3, 0x39, 0x84, 0xc5, 0x37, 0x0b, 0xc5, 0x61, - 0xe1, 0x40, 0x2d, 0x14, 0xd5, 0x72, 0xee, 0x4d, 0xf9, 0xcb, 0x97, 0xa5, 0x57, 0xc5, 0xfc, 0xfe, - 0xd3, 0xfd, 0x62, 0x21, 0x36, 0x81, 0x62, 0x30, 0xd3, 0x9f, 0xd9, 0x2d, 0xe5, 0x63, 0x12, 0xba, - 0x09, 0xb3, 0xfd, 0x91, 0x42, 0xb1, 0x94, 0x8f, 0x05, 0x32, 0xdf, 0x4b, 0x30, 0xeb, 0x72, 0x5b, - 0x94, 0x84, 0x44, 0x4e, 0x3d, 0xd8, 0x2d, 0xe4, 0x77, 0x4b, 0x87, 0xe5, 0x17, 0x07, 0x85, 0xe2, - 0x50, 0xda, 0x15, 0x58, 0x18, 0x9a, 0xcf, 0x7d, 0x71, 0x90, 0x7f, 0x1e, 0x93, 0x12, 0x81, 0x88, - 0x84, 0x96, 0x60, 0x7e, 0x68, 0xb6, 0xf4, 0xe6, 0x65, 0x3e, 0x16, 0xb0, 0x75, 0x0e, 0x4d, 0xec, - 0xb2, 0x99, 0xe0, 0xce, 0x6f, 0xd3, 0x10, 0x2e, 0xf1, 0xa7, 0x10, 0x3a, 0x85, 0x48, 0xcf, 0x2c, - 0x91, 0xec, 0x71, 0x28, 0x86, 0x3c, 0x3a, 0x71, 0xf7, 0x52, 0x8c, 0xb0, 0x94, 0xcd, 0x1f, 0xfe, - 0xf8, 0xfb, 0x97, 0x40, 0xea, 0x89, 0x94, 0x91, 0x6f, 0x2b, 0x1e, 0xcf, 0xb0, 0x1e, 0xe1, 0x11, - 0x4c, 0x32, 0xe7, 0x43, 0xab, 0x1e, 0x59, 0x9d, 0xbe, 0x99, 0x48, 0xf9, 0x03, 0x04, 0xe7, 0x06, - 0xe3, 0x5c, 0x45, 0x77, 0x14, 0xaf, 0x07, 0x18, 0x51, 0x4e, 0x6d, 0xaf, 0x3d, 0x43, 0xdf, 0x41, - 0xd4, 0xf1, 0x51, 0x43, 0x1b, 0x97, 0x7d, 0x0b, 0x07, 0xf4, 0x9b, 0xe3, 0x60, 0x42, 0xc4, 0x1a, - 0x13, 0x71, 0xdb, 0x5e, 0xf8, 0xa2, 0xb7, 0x0e, 0xf4, 0x2d, 0x44, 0x1d, 0x0f, 0x15, 0x4f, 0x01, - 0xa3, 0x4f, 0x37, 0x4f, 0x01, 0x1e, 0xef, 0x1d, 0x39, 0xc9, 0x04, 0xc4, 0x91, 0x1f, 0xfb, 0xaf, - 0x12, 0xcc, 0x0d, 0x59, 0x2e, 0xba, 0xe7, 0x9d, 0xdb, 0xe3, 0x8b, 0x90, 0xc8, 0x5c, 0x05, 0x2a, - 0xa4, 0x6c, 0x33, 0x29, 0x5b, 0x68, 0xc3, 0x67, 0x43, 0x98, 0xb3, 0x2a, 0xa7, 0xfc, 0x9b, 0x72, - 0x86, 0xba, 0x10, 0xe9, 0xdd, 0x4c, 0xcf, 0x83, 0x38, 0x64, 0x9b, 0x9e, 0x07, 0x71, 0xd8, 0x2c, - 0xe5, 0x75, 0xa6, 0x21, 0x69, 0xef, 0xc7, 0xb2, 0x87, 0x8c, 0x1a, 0xa7, 0x63, 0xd4, 0xdc, 0x8b, - 0x7c, 0xa8, 0x5d, 0x46, 0xea, 0x43, 0xed, 0xb6, 0xcc, 0x71, 0xd4, 0x98, 0xd3, 0xfd, 0x24, 0xc1, - 0xac, 0xcb, 0x07, 0xd1, 0xd6, 0x25, 0xc9, 0x9d, 0x6e, 0x97, 0x48, 0x8f, 0x07, 0x0a, 0x29, 0x19, - 0x26, 0x65, 0xdd, 0x96, 0xb2, 0xea, 0x2b, 0x45, 0x61, 0x66, 0x27, 0x04, 0x39, 0x1c, 0xd2, 0x47, - 0xd0, 0xa8, 0xfd, 0xfa, 0x08, 0xf2, 0x30, 0xdb, 0x71, 0x82, 0xf8, 0xb6, 0x70, 0x41, 0xb9, 0xcf, - 0x7e, 0x3f, 0x4f, 0x4a, 0xef, 0xcf, 0x93, 0xd2, 0x5f, 0xe7, 0x49, 0xe9, 0xe7, 0x8b, 0xe4, 0xc4, - 0xfb, 0x8b, 0xe4, 0xc4, 0x9f, 0x17, 0xc9, 0x89, 0xaf, 0x36, 0xea, 0x3a, 0x6d, 0x1c, 0x57, 0xb2, - 0x55, 0xb3, 0xd5, 0x4b, 0xc2, 0xff, 0x6d, 0x93, 0xda, 0xbb, 0xde, 0xaf, 0x22, 0xab, 0x32, 0xc5, - 0x7e, 0x13, 0x7d, 0xfc, 0x7f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0b, 0x24, 0x1f, 0x2c, 0x10, 0x0e, - 0x00, 0x00, + 0x7a, 0xea, 0xa9, 0x52, 0xff, 0x40, 0xb5, 0x33, 0xb3, 0xb6, 0xd7, 0xde, 0xc5, 0x90, 0x0b, 0xcc, + 0xc7, 0xf3, 0xbe, 0xcf, 0x33, 0xef, 0xcc, 0x3c, 0x3b, 0x86, 0xd5, 0xaa, 0x49, 0x5a, 0x26, 0x51, + 0xa8, 0xa5, 0x9c, 0xdc, 0xaf, 0x60, 0xaa, 0xdd, 0x57, 0x08, 0xee, 0x9c, 0xe8, 0x55, 0x9c, 0x6d, + 0x77, 0x4c, 0x6a, 0xa2, 0x9b, 0x1c, 0x90, 0xa5, 0x56, 0x56, 0x00, 0x12, 0x2b, 0x75, 0xd3, 0xac, + 0x37, 0xb1, 0xa2, 0xb5, 0x75, 0x45, 0x33, 0x0c, 0x93, 0x6a, 0x54, 0x37, 0x0d, 0xc2, 0x03, 0x12, + 0x77, 0x45, 0xc6, 0x8a, 0x46, 0xb0, 0xa2, 0x55, 0xaa, 0x7a, 0x2f, 0xb1, 0xdd, 0x11, 0xa0, 0xc4, + 0x28, 0x2d, 0xb5, 0xc4, 0x5c, 0x66, 0x30, 0xc1, 0xd1, 0x31, 0xee, 0x74, 0x7b, 0x98, 0xb6, 0x56, + 0xd7, 0x0d, 0xc6, 0x26, 0xb0, 0x2b, 0x14, 0x1b, 0x35, 0xdc, 0x69, 0xe9, 0x06, 0x55, 0x68, 0xb7, + 0x8d, 0x89, 0x52, 0x69, 0x9a, 0xd5, 0x77, 0xbe, 0xb3, 0xec, 0x2f, 0x9f, 0x95, 0xff, 0x93, 0x00, + 0xed, 0x61, 0x7a, 0x68, 0x91, 0xe2, 0x09, 0x36, 0xa8, 0x8a, 0x8f, 0x8e, 0x31, 0xa1, 0x28, 0x01, + 0x53, 0xd8, 0xee, 0x93, 0xb8, 0x94, 0x0a, 0xa6, 0xa7, 0x73, 0x81, 0xb8, 0xa4, 0x8a, 0x11, 0xf4, + 0x0c, 0xa0, 0x2f, 0x21, 0x1e, 0x48, 0x49, 0xe9, 0xe8, 0xce, 0x66, 0x56, 0x54, 0xc8, 0xd6, 0x9b, + 0x65, 0x7a, 0x9d, 0x4a, 0x65, 0x5f, 0x69, 0x75, 0x2c, 0xf2, 0xb2, 0x3c, 0x03, 0xd1, 0xe8, 0x21, + 0x44, 0xcc, 0x4e, 0x0d, 0x77, 0xca, 0x95, 0x6e, 0x3c, 0x98, 0x92, 0xd2, 0x37, 0x76, 0x12, 0xd9, + 0x91, 0x5a, 0x67, 0x0f, 0x6c, 0x48, 0xae, 0xab, 0x86, 0x4d, 0xde, 0x40, 0x08, 0x42, 0x6d, 0xad, + 0x8e, 0xe3, 0xa1, 0x94, 0x94, 0x0e, 0xa9, 0xac, 0x8d, 0x16, 0x60, 0xb2, 0xa9, 0xb7, 0x74, 0x1a, + 0x9f, 0x64, 0x83, 0xbc, 0x63, 0x8f, 0x32, 0x35, 0xf1, 0xa9, 0x94, 0x94, 0x9e, 0x56, 0x79, 0x47, + 0xfe, 0x47, 0x82, 0x79, 0xd7, 0xaa, 0x49, 0xdb, 0x34, 0x08, 0x46, 0x5b, 0x10, 0xa4, 0x16, 0x5f, + 0x73, 0x74, 0xe7, 0x96, 0x87, 0x92, 0x43, 0x4b, 0xb5, 0x11, 0x68, 0x0f, 0x66, 0xa8, 0x55, 0xee, + 0x88, 0x38, 0x12, 0x0f, 0xb0, 0x88, 0x75, 0x57, 0x15, 0xd8, 0x4e, 0x0f, 0x04, 0x0a, 0xb0, 0x1a, + 0xa5, 0xbd, 0x36, 0x41, 0xcf, 0x5d, 0xc5, 0x0c, 0xb2, 0x62, 0x6e, 0x8d, 0x2d, 0x26, 0x8f, 0x1e, + 0xa9, 0xe6, 0x02, 0x4c, 0x52, 0x93, 0x6a, 0x4d, 0x51, 0x17, 0xde, 0x91, 0x31, 0xa0, 0x5c, 0xc7, + 0xd4, 0x6a, 0x55, 0x8d, 0x50, 0x5b, 0x06, 0xdf, 0xe1, 0x65, 0x88, 0x50, 0xab, 0x5c, 0xe9, 0x52, + 0x6c, 0xaf, 0x57, 0x4a, 0xcf, 0xa8, 0x61, 0x6a, 0xe5, 0xec, 0x2e, 0x7a, 0x00, 0xa1, 0x96, 0x59, + 0xc3, 0x6c, 0x6b, 0x6f, 0xec, 0xa4, 0x3c, 0xca, 0xd0, 0xcb, 0xf7, 0xc2, 0xac, 0x61, 0x95, 0xa1, + 0xe5, 0xaf, 0x61, 0xde, 0x45, 0x23, 0x4a, 0x5a, 0x84, 0xe8, 0x40, 0xa5, 0x18, 0xd5, 0x55, 0x0b, + 0x05, 0xfd, 0x42, 0xc9, 0xaf, 0x61, 0xae, 0xa4, 0xb7, 0x8e, 0x9b, 0x1a, 0x75, 0xce, 0x12, 0xba, + 0x07, 0x01, 0x6a, 0x89, 0x84, 0xde, 0x7b, 0xc5, 0x0a, 0x14, 0xa0, 0x96, 0x6b, 0xb1, 0x01, 0xd7, + 0x62, 0xe5, 0x1f, 0x25, 0x88, 0xf5, 0x33, 0x0b, 0xd1, 0x9f, 0x42, 0xa4, 0xae, 0x91, 0xb2, 0x6e, + 0xbc, 0x35, 0x05, 0xc1, 0x9a, 0xbf, 0xe2, 0x3d, 0x8d, 0xec, 0x1b, 0x6f, 0x4d, 0x35, 0x5c, 0xe7, + 0x0d, 0xf4, 0x08, 0xa6, 0x3a, 0x98, 0x1c, 0x37, 0xa9, 0xb8, 0x1c, 0x29, 0xff, 0x58, 0x95, 0xe1, + 0x54, 0x81, 0x97, 0x65, 0x98, 0x61, 0xc7, 0xd2, 0x59, 0x22, 0x82, 0x50, 0x43, 0x23, 0x0d, 0xa6, + 0x61, 0x5a, 0x65, 0x6d, 0xf9, 0x0c, 0x66, 0x05, 0x46, 0x88, 0xdd, 0x18, 0x5b, 0x07, 0x56, 0x83, + 0xa1, 0x8d, 0x08, 0x7c, 0xe0, 0x46, 0x58, 0xb0, 0xb8, 0x87, 0x69, 0xce, 0x36, 0x98, 0xd7, 0x3a, + 0x6d, 0x1c, 0x5a, 0xc4, 0x11, 0xbb, 0x08, 0x53, 0x0d, 0xac, 0xd7, 0x1b, 0x94, 0x69, 0x09, 0xaa, + 0xa2, 0x87, 0x9e, 0x7e, 0xb8, 0x5f, 0x0c, 0x9e, 0x6e, 0xf9, 0x5f, 0x09, 0x96, 0x46, 0xa8, 0xaf, + 0x7b, 0x71, 0x1f, 0x40, 0x84, 0x99, 0x63, 0x59, 0xaf, 0x09, 0x29, 0xcb, 0xd9, 0xbe, 0x41, 0x66, + 0xb9, 0x35, 0x32, 0x8a, 0xfd, 0x82, 0x1a, 0x66, 0xd0, 0xfd, 0x1a, 0xda, 0x86, 0x49, 0xd6, 0x14, + 0x17, 0x74, 0xc9, 0x27, 0x44, 0xe5, 0x28, 0xb4, 0xe7, 0x5a, 0x71, 0xe8, 0x5a, 0x97, 0xda, 0xb5, + 0xe4, 0x8f, 0x60, 0xee, 0xd0, 0x2a, 0xe0, 0xaa, 0x7d, 0xcb, 0xc6, 0xde, 0x5b, 0xf9, 0x31, 0xc4, + 0xfa, 0xe8, 0x6b, 0x1d, 0x0e, 0xf9, 0x91, 0x4d, 0x54, 0x34, 0x06, 0x89, 0xae, 0x18, 0xb9, 0x6d, + 0x93, 0x3a, 0x91, 0x82, 0xf4, 0x12, 0x8d, 0x0f, 0x61, 0xc1, 0x81, 0xef, 0xb6, 0x74, 0xc3, 0x74, + 0xd8, 0xee, 0x00, 0x68, 0x76, 0xbf, 0xfc, 0x0d, 0x31, 0x0d, 0x71, 0xde, 0xa7, 0xd9, 0xc8, 0x33, + 0x62, 0x1a, 0xf2, 0x13, 0xb8, 0x35, 0x14, 0x26, 0xa8, 0xd6, 0x60, 0x86, 0xc7, 0x55, 0x74, 0x43, + 0xeb, 0x74, 0x05, 0x5d, 0x94, 0x8d, 0xe5, 0xd8, 0x90, 0xfc, 0xd8, 0xa6, 0xe4, 0x65, 0x71, 0x51, + 0x5e, 0x21, 0xf4, 0x13, 0x9b, 0xd6, 0x15, 0x2a, 0x68, 0x2f, 0x97, 0x9b, 0xf9, 0x1c, 0xc2, 0xe2, + 0x9b, 0x85, 0xe2, 0xb0, 0x70, 0xa0, 0x16, 0x8a, 0x6a, 0x39, 0xf7, 0xa6, 0xfc, 0xe5, 0xcb, 0xd2, + 0xab, 0x62, 0x7e, 0xff, 0xe9, 0x7e, 0xb1, 0x10, 0x9b, 0x40, 0x31, 0x98, 0xe9, 0xcd, 0xec, 0x96, + 0xf2, 0x31, 0x09, 0xdd, 0x84, 0xd9, 0xde, 0x48, 0xa1, 0x58, 0xca, 0xc7, 0x02, 0x99, 0xef, 0x25, + 0x98, 0x75, 0xb9, 0x2d, 0x4a, 0x42, 0x22, 0xa7, 0x1e, 0xec, 0x16, 0xf2, 0xbb, 0xa5, 0xc3, 0xf2, + 0x8b, 0x83, 0x42, 0x71, 0x28, 0xed, 0x0a, 0x2c, 0x0c, 0xcd, 0xe7, 0xbe, 0x38, 0xc8, 0x3f, 0x8f, + 0x49, 0x89, 0x40, 0x44, 0x42, 0x4b, 0x30, 0x3f, 0x34, 0x5b, 0x7a, 0xf3, 0x32, 0x1f, 0x0b, 0xd8, + 0x3a, 0x87, 0x26, 0x76, 0xd9, 0x4c, 0x70, 0xe7, 0xb7, 0x69, 0x08, 0x97, 0xf8, 0x73, 0x08, 0x9d, + 0x42, 0xc4, 0x31, 0x4b, 0x24, 0x7b, 0x1c, 0x8a, 0x21, 0x8f, 0x4e, 0xdc, 0xbd, 0x14, 0x23, 0x2c, + 0x65, 0xf3, 0x87, 0x3f, 0xfe, 0xfe, 0x25, 0x90, 0x7a, 0x22, 0x65, 0xe4, 0xdb, 0x8a, 0xc7, 0x53, + 0xcc, 0x21, 0x3c, 0x82, 0x49, 0xe6, 0x7c, 0x68, 0xd5, 0x23, 0xeb, 0xa0, 0x6f, 0x26, 0x52, 0xfe, + 0x00, 0xc1, 0xb9, 0xc1, 0x38, 0x57, 0xd1, 0x1d, 0xc5, 0xeb, 0x11, 0x46, 0x94, 0x53, 0xdb, 0x6b, + 0xcf, 0xd0, 0x77, 0x10, 0x1d, 0xf8, 0xa8, 0xa1, 0x8d, 0xcb, 0xbe, 0x85, 0x7d, 0xfa, 0xcd, 0x71, + 0x30, 0x21, 0x62, 0x8d, 0x89, 0xb8, 0x6d, 0x2f, 0x7c, 0xd1, 0x5b, 0x07, 0xfa, 0x16, 0xa2, 0x03, + 0x0f, 0x15, 0x4f, 0x01, 0xa3, 0xcf, 0x37, 0x4f, 0x01, 0x1e, 0xef, 0x1d, 0x39, 0xc9, 0x04, 0xc4, + 0x91, 0x1f, 0xfb, 0xaf, 0x12, 0xcc, 0x0d, 0x59, 0x2e, 0xba, 0xe7, 0x9d, 0xdb, 0xe3, 0x8b, 0x90, + 0xc8, 0x5c, 0x05, 0x2a, 0xa4, 0x6c, 0x33, 0x29, 0x5b, 0x68, 0xc3, 0x67, 0x43, 0x98, 0xb3, 0x2a, + 0xa7, 0xfc, 0x9b, 0x72, 0x86, 0xba, 0x10, 0x71, 0x6e, 0xa6, 0xe7, 0x41, 0x1c, 0xb2, 0x4d, 0xcf, + 0x83, 0x38, 0x6c, 0x96, 0xf2, 0x3a, 0xd3, 0x90, 0xb4, 0xf7, 0x63, 0xd9, 0x43, 0x46, 0x8d, 0xd3, + 0x31, 0x6a, 0xee, 0x45, 0x3e, 0xd4, 0x2e, 0x23, 0xf5, 0xa1, 0x76, 0x5b, 0xe6, 0x38, 0x6a, 0xcc, + 0xe9, 0x7e, 0x92, 0x60, 0xd6, 0xe5, 0x83, 0x68, 0xeb, 0x92, 0xe4, 0x83, 0x6e, 0x97, 0x48, 0x8f, + 0x07, 0x0a, 0x29, 0x19, 0x26, 0x65, 0xdd, 0x96, 0xb2, 0xea, 0x2b, 0x45, 0x61, 0x66, 0x27, 0x04, + 0x0d, 0x38, 0xa4, 0x8f, 0xa0, 0x51, 0xfb, 0xf5, 0x11, 0xe4, 0x61, 0xb6, 0xe3, 0x04, 0xf1, 0x6d, + 0xe1, 0x82, 0x72, 0x9f, 0xfd, 0x7e, 0x9e, 0x94, 0xde, 0x9f, 0x27, 0xa5, 0xbf, 0xce, 0x93, 0xd2, + 0xcf, 0x17, 0xc9, 0x89, 0xf7, 0x17, 0xc9, 0x89, 0x3f, 0x2f, 0x92, 0x13, 0x5f, 0x6d, 0xd4, 0x75, + 0xda, 0x38, 0xae, 0x64, 0xab, 0x66, 0xcb, 0x49, 0xc2, 0xff, 0x6d, 0x93, 0xda, 0x3b, 0xe7, 0x97, + 0x91, 0x55, 0x99, 0x62, 0xbf, 0x8b, 0x3e, 0xfe, 0x3f, 0x00, 0x00, 0xff, 0xff, 0x42, 0xa8, 0xd7, + 0x97, 0x14, 0x0e, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index b2e1c5df4d29..a1b9b1f72845 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -932,6 +932,10 @@ type Params struct { BondDenom string `protobuf:"bytes,5,opt,name=bond_denom,json=bondDenom,proto3" json:"bond_denom,omitempty"` // min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators MinCommissionRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,opt,name=min_commission_rate,json=minCommissionRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_commission_rate" yaml:"min_commission_rate"` + // max_cons_pub_key_rotations is maximum number of consensus pubkey rotations + MaxConsPubKeyRotations uint64 `protobuf:"varint,7,opt,name=max_cons_pub_key_rotations,json=maxConsPubKeyRotations,proto3" json:"max_cons_pub_key_rotations,omitempty"` + // cons_pubkey_rotation_fee is fee to be spent when rotating validator's consensus pubkey + ConsPubkeyRotationFee types2.Coin `protobuf:"bytes,8,opt,name=cons_pubkey_rotation_fee,json=consPubkeyRotationFee,proto3" json:"cons_pubkey_rotation_fee"` } func (m *Params) Reset() { *m = Params{} } @@ -1002,6 +1006,20 @@ func (m *Params) GetBondDenom() string { return "" } +func (m *Params) GetMaxConsPubKeyRotations() uint64 { + if m != nil { + return m.MaxConsPubKeyRotations + } + return 0 +} + +func (m *Params) GetConsPubkeyRotationFee() types2.Coin { + if m != nil { + return m.ConsPubkeyRotationFee + } + return types2.Coin{} +} + // DelegationResponse is equivalent to Delegation except that it contains a // balance in addition to shares which is more suitable for client responses. type DelegationResponse struct { @@ -1245,6 +1263,50 @@ func (m *ValidatorUpdates) GetUpdates() []types3.ValidatorUpdate { return nil } +// ConsPubKeyRotationHistory contains a validator's consensus public key rotation history. +type ConsPubKeyRotationHistory struct { + // operator_address defines the address of the validator's operator; bech encoded in JSON. + OperatorAddress string `protobuf:"bytes,1,opt,name=operator_address,json=operatorAddress,proto3" json:"operator_address,omitempty" yaml:"operator_address"` + // old_cons_pubkey is the old consensus public key of the validator, as a Protobuf Any. + OldConsPubkey *types1.Any `protobuf:"bytes,2,opt,name=old_cons_pubkey,json=oldConsPubkey,proto3" json:"old_cons_pubkey,omitempty" yaml:"old_consensus_pubkey"` + // new_cons_pubkey is the new consensus public key of the validator, as a Protobuf Any. + NewConsPubkey *types1.Any `protobuf:"bytes,3,opt,name=new_cons_pubkey,json=newConsPubkey,proto3" json:"new_cons_pubkey,omitempty" yaml:"new_consensus_pubkey"` + // height defines the block height at which the rotation event occured. + Height uint64 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"` +} + +func (m *ConsPubKeyRotationHistory) Reset() { *m = ConsPubKeyRotationHistory{} } +func (*ConsPubKeyRotationHistory) ProtoMessage() {} +func (*ConsPubKeyRotationHistory) Descriptor() ([]byte, []int) { + return fileDescriptor_64c30c6cf92913c9, []int{21} +} +func (m *ConsPubKeyRotationHistory) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ConsPubKeyRotationHistory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ConsPubKeyRotationHistory.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ConsPubKeyRotationHistory) XXX_Merge(src proto.Message) { + xxx_messageInfo_ConsPubKeyRotationHistory.Merge(m, src) +} +func (m *ConsPubKeyRotationHistory) XXX_Size() int { + return m.Size() +} +func (m *ConsPubKeyRotationHistory) XXX_DiscardUnknown() { + xxx_messageInfo_ConsPubKeyRotationHistory.DiscardUnknown(m) +} + +var xxx_messageInfo_ConsPubKeyRotationHistory proto.InternalMessageInfo + func init() { proto.RegisterEnum("cosmos.staking.v1beta1.BondStatus", BondStatus_name, BondStatus_value) proto.RegisterEnum("cosmos.staking.v1beta1.Infraction", Infraction_name, Infraction_value) @@ -1269,6 +1331,7 @@ func init() { proto.RegisterType((*RedelegationResponse)(nil), "cosmos.staking.v1beta1.RedelegationResponse") proto.RegisterType((*Pool)(nil), "cosmos.staking.v1beta1.Pool") proto.RegisterType((*ValidatorUpdates)(nil), "cosmos.staking.v1beta1.ValidatorUpdates") + proto.RegisterType((*ConsPubKeyRotationHistory)(nil), "cosmos.staking.v1beta1.ConsPubKeyRotationHistory") } func init() { @@ -1276,125 +1339,135 @@ func init() { } var fileDescriptor_64c30c6cf92913c9 = []byte{ - // 1883 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x3d, 0x6c, 0x23, 0xc7, - 0x15, 0xd6, 0x92, 0x32, 0x25, 0x3d, 0x4a, 0x22, 0x35, 0x27, 0xdf, 0xf1, 0x78, 0x89, 0x48, 0xd3, - 0x17, 0x5b, 0x3e, 0xf8, 0xa8, 0x9c, 0x02, 0xa4, 0x50, 0x8c, 0x04, 0xa2, 0xa8, 0xf3, 0xd1, 0xb1, - 0x25, 0x61, 0x29, 0x29, 0x71, 0x7e, 0xb0, 0x18, 0xee, 0x8e, 0xa8, 0x89, 0xb8, 0xb3, 0xc4, 0xce, - 0xf0, 0x2c, 0xb6, 0x41, 0x0a, 0x43, 0x45, 0x62, 0x20, 0x4d, 0x9a, 0x03, 0x0e, 0x48, 0x11, 0xa7, - 0x73, 0x61, 0xc4, 0x45, 0x90, 0x22, 0x9d, 0x93, 0x34, 0x07, 0x57, 0x41, 0x0a, 0x25, 0xb8, 0x2b, - 0x6c, 0xa4, 0x0a, 0xd2, 0x25, 0x55, 0x30, 0xb3, 0xb3, 0x3f, 0x14, 0xc5, 0x93, 0x74, 0x50, 0x0c, - 0x03, 0x6e, 0xc8, 0x9d, 0x99, 0xf7, 0xbe, 0x99, 0xf7, 0xbd, 0x9f, 0xf9, 0x81, 0x9b, 0xb6, 0xc7, - 0x5d, 0x8f, 0x2f, 0x71, 0x81, 0x0f, 0x28, 0x6b, 0x2f, 0xdd, 0xbf, 0xd3, 0x22, 0x02, 0xdf, 0x09, - 0xdb, 0xd5, 0xae, 0xef, 0x09, 0x0f, 0x5d, 0x0d, 0xa4, 0xaa, 0x61, 0xaf, 0x96, 0x2a, 0xce, 0xb7, - 0xbd, 0xb6, 0xa7, 0x44, 0x96, 0xe4, 0x57, 0x20, 0x5d, 0xbc, 0xde, 0xf6, 0xbc, 0x76, 0x87, 0x2c, - 0xa9, 0x56, 0xab, 0xb7, 0xb7, 0x84, 0x59, 0x5f, 0x0f, 0x2d, 0x9c, 0x1c, 0x72, 0x7a, 0x3e, 0x16, - 0xd4, 0x63, 0x7a, 0xbc, 0x74, 0x72, 0x5c, 0x50, 0x97, 0x70, 0x81, 0xdd, 0x6e, 0x88, 0x1d, 0xac, - 0xc4, 0x0a, 0x26, 0xd5, 0xcb, 0xd2, 0xd8, 0xda, 0x94, 0x16, 0xe6, 0x24, 0xb2, 0xc3, 0xf6, 0x68, - 0x88, 0x3d, 0x87, 0x5d, 0xca, 0xbc, 0x25, 0xf5, 0xab, 0xbb, 0xbe, 0x22, 0x08, 0x73, 0x88, 0xef, - 0x52, 0x26, 0x96, 0x44, 0xbf, 0x4b, 0x78, 0xf0, 0xab, 0x47, 0x6f, 0x24, 0x46, 0x71, 0xcb, 0xa6, - 0xc9, 0xc1, 0xca, 0x2f, 0x0d, 0x98, 0xbd, 0x47, 0xb9, 0xf0, 0x7c, 0x6a, 0xe3, 0x4e, 0x83, 0xed, - 0x79, 0xe8, 0x5b, 0x90, 0xd9, 0x27, 0xd8, 0x21, 0x7e, 0xc1, 0x28, 0x1b, 0x8b, 0xd9, 0xe5, 0x42, - 0x35, 0x06, 0xa8, 0x06, 0xba, 0xf7, 0xd4, 0x78, 0x6d, 0xea, 0xe3, 0xe3, 0xd2, 0xd8, 0xfb, 0x9f, - 0x7e, 0x70, 0xcb, 0x30, 0xb5, 0x0a, 0xaa, 0x43, 0xe6, 0x3e, 0xee, 0x70, 0x22, 0x0a, 0xa9, 0x72, - 0x7a, 0x31, 0xbb, 0xfc, 0x42, 0xf5, 0x74, 0xce, 0xab, 0xbb, 0xb8, 0x43, 0x1d, 0x2c, 0xbc, 0x41, - 0x94, 0x40, 0xb7, 0xf2, 0x51, 0x0a, 0x72, 0x6b, 0x9e, 0xeb, 0x52, 0xce, 0xa9, 0xc7, 0x4c, 0x2c, - 0x08, 0x47, 0x3b, 0x30, 0xee, 0x63, 0x41, 0xd4, 0xa2, 0xa6, 0x6a, 0xab, 0x52, 0xe9, 0x6f, 0xc7, - 0xa5, 0x97, 0xda, 0x54, 0xec, 0xf7, 0x5a, 0x55, 0xdb, 0x73, 0x35, 0x8d, 0xfa, 0xef, 0x36, 0x77, - 0x0e, 0xb4, 0xa5, 0x75, 0x62, 0x7f, 0xf2, 0xe1, 0x6d, 0xd0, 0x0b, 0xa9, 0x13, 0x3b, 0x98, 0x4c, - 0xc1, 0xa1, 0x1f, 0xc1, 0xa4, 0x8b, 0x0f, 0x2d, 0x05, 0x9d, 0xba, 0x2c, 0xe8, 0x09, 0x17, 0x1f, - 0xca, 0x55, 0x23, 0x0a, 0x39, 0x89, 0x6e, 0xef, 0x63, 0xd6, 0x26, 0xc1, 0x24, 0xe9, 0xcb, 0x9a, - 0x64, 0xc6, 0xc5, 0x87, 0x6b, 0x0a, 0x58, 0x4e, 0xb5, 0x32, 0xfe, 0xd9, 0xc3, 0x92, 0x51, 0xf9, - 0xa3, 0x01, 0x10, 0x33, 0x87, 0x30, 0xe4, 0xed, 0xa8, 0xa5, 0xe6, 0xe7, 0xda, 0xab, 0x2f, 0x8f, - 0x72, 0xcc, 0x09, 0xde, 0x6b, 0x33, 0x72, 0xa5, 0x8f, 0x8e, 0x4b, 0x46, 0x30, 0x6b, 0xce, 0x3e, - 0xe1, 0x97, 0x37, 0x20, 0xdb, 0xeb, 0x3a, 0x58, 0x10, 0x4b, 0x06, 0xb9, 0xe2, 0x30, 0xbb, 0x5c, - 0xac, 0x06, 0x19, 0x50, 0x0d, 0x33, 0xa0, 0xba, 0x1d, 0x66, 0x40, 0x00, 0xf8, 0xde, 0xdf, 0x43, - 0x40, 0x08, 0xb4, 0xe5, 0xb8, 0xb6, 0xe1, 0x7d, 0x03, 0xb2, 0x75, 0xc2, 0x6d, 0x9f, 0x76, 0x65, - 0x4e, 0xa1, 0x02, 0x4c, 0xb8, 0x1e, 0xa3, 0x07, 0x3a, 0x22, 0xa7, 0xcc, 0xb0, 0x89, 0x8a, 0x30, - 0x49, 0x1d, 0xc2, 0x04, 0x15, 0xfd, 0xc0, 0x79, 0x66, 0xd4, 0x96, 0x5a, 0xef, 0x90, 0x16, 0xa7, - 0x21, 0xe5, 0x66, 0xd8, 0x44, 0xaf, 0x40, 0x9e, 0x13, 0xbb, 0xe7, 0x53, 0xd1, 0xb7, 0x6c, 0x8f, - 0x09, 0x6c, 0x8b, 0xc2, 0xb8, 0x12, 0xc9, 0x85, 0xfd, 0x6b, 0x41, 0xb7, 0x04, 0x71, 0x88, 0xc0, - 0xb4, 0xc3, 0x0b, 0xcf, 0x05, 0x20, 0xba, 0xa9, 0x97, 0xfa, 0xd1, 0x04, 0x4c, 0x45, 0x91, 0x8c, - 0xd6, 0x20, 0xef, 0x75, 0x89, 0x2f, 0xbf, 0x2d, 0xec, 0x38, 0x3e, 0xe1, 0x5c, 0x87, 0x6b, 0xe1, - 0x93, 0x0f, 0x6f, 0xcf, 0x6b, 0xc2, 0x57, 0x83, 0x91, 0xa6, 0xf0, 0x29, 0x6b, 0x9b, 0xb9, 0x50, - 0x43, 0x77, 0xa3, 0xb7, 0xa5, 0xcb, 0x18, 0x27, 0x8c, 0xf7, 0xb8, 0xd5, 0xed, 0xb5, 0x0e, 0x48, - 0x5f, 0x93, 0x3a, 0x3f, 0x44, 0xea, 0x2a, 0xeb, 0xd7, 0x0a, 0x7f, 0x8e, 0xa1, 0x6d, 0xbf, 0xdf, - 0x15, 0x5e, 0x75, 0xab, 0xd7, 0xfa, 0x2e, 0xe9, 0x4b, 0x57, 0x69, 0x9c, 0x2d, 0x05, 0x83, 0xae, - 0x42, 0xe6, 0x27, 0x98, 0x76, 0x88, 0xa3, 0x18, 0x99, 0x34, 0x75, 0x0b, 0xad, 0x40, 0x86, 0x0b, - 0x2c, 0x7a, 0x5c, 0xd1, 0x30, 0xbb, 0x5c, 0x19, 0x15, 0x1b, 0x35, 0x8f, 0x39, 0x4d, 0x25, 0x69, - 0x6a, 0x0d, 0xb4, 0x0d, 0x19, 0xe1, 0x1d, 0x10, 0xa6, 0x09, 0xaa, 0xbd, 0x76, 0x81, 0xc0, 0x6e, - 0x30, 0x91, 0x08, 0xec, 0x06, 0x13, 0xa6, 0xc6, 0x42, 0x6d, 0xc8, 0x3b, 0xa4, 0x43, 0xda, 0x8a, - 0x4a, 0xbe, 0x8f, 0x7d, 0xc2, 0x0b, 0x99, 0x0b, 0xe3, 0x0f, 0x25, 0x8e, 0x99, 0x8b, 0x50, 0x9b, - 0x0a, 0x14, 0x6d, 0x41, 0xd6, 0x89, 0x43, 0xad, 0x30, 0xa1, 0x88, 0x7e, 0x71, 0x94, 0xfd, 0x89, - 0xa8, 0x4c, 0x96, 0xad, 0x24, 0x84, 0x8c, 0xae, 0x1e, 0x6b, 0x79, 0xcc, 0xa1, 0xac, 0x6d, 0xed, - 0x13, 0xda, 0xde, 0x17, 0x85, 0xc9, 0xb2, 0xb1, 0x98, 0x36, 0x73, 0x51, 0xff, 0x3d, 0xd5, 0x8d, - 0xb6, 0x60, 0x36, 0x16, 0x55, 0xd9, 0x33, 0x75, 0xd1, 0xec, 0x99, 0x89, 0x00, 0xa4, 0x08, 0x7a, - 0x0b, 0x20, 0xce, 0xcf, 0x02, 0x28, 0xb4, 0xca, 0xd9, 0x99, 0x9e, 0x34, 0x26, 0x01, 0x80, 0x3a, - 0x70, 0xc5, 0xa5, 0xcc, 0xe2, 0xa4, 0xb3, 0x67, 0x69, 0xe6, 0x24, 0x6e, 0xf6, 0x12, 0x3c, 0x3d, - 0xe7, 0x52, 0xd6, 0x24, 0x9d, 0xbd, 0x7a, 0x04, 0x8b, 0x5e, 0x83, 0x1b, 0x31, 0x1d, 0x1e, 0xb3, - 0xf6, 0xbd, 0x8e, 0x63, 0xf9, 0x64, 0xcf, 0xb2, 0xbd, 0x1e, 0x13, 0x85, 0x69, 0x45, 0xe2, 0xb5, - 0x48, 0x64, 0x93, 0xdd, 0xf3, 0x3a, 0x8e, 0x49, 0xf6, 0xd6, 0xe4, 0x30, 0x7a, 0x11, 0x62, 0x2e, - 0x2c, 0xea, 0xf0, 0xc2, 0x4c, 0x39, 0xbd, 0x38, 0x6e, 0x4e, 0x47, 0x9d, 0x0d, 0x87, 0xaf, 0x4c, - 0xbe, 0xfb, 0xb0, 0x34, 0xf6, 0xd9, 0xc3, 0xd2, 0x58, 0xe5, 0x2e, 0x4c, 0xef, 0xe2, 0x8e, 0x4e, - 0x3a, 0xc2, 0xd1, 0x37, 0x61, 0x0a, 0x87, 0x8d, 0x82, 0x51, 0x4e, 0x3f, 0x35, 0x69, 0x63, 0xd1, - 0xca, 0x43, 0x03, 0x32, 0xf5, 0xdd, 0x2d, 0x4c, 0x7d, 0xb4, 0x0e, 0x73, 0x71, 0xd0, 0x9e, 0x37, - 0xff, 0xe3, 0x38, 0x0f, 0x0b, 0xc0, 0x3a, 0xcc, 0xdd, 0x0f, 0x4b, 0x4a, 0x04, 0x93, 0x3a, 0x0b, - 0x26, 0x52, 0xd1, 0xfd, 0x09, 0x53, 0xdf, 0x80, 0x89, 0x60, 0x85, 0x1c, 0x7d, 0x07, 0x9e, 0xeb, - 0xca, 0x0f, 0x65, 0x61, 0x76, 0x79, 0x61, 0x64, 0xa0, 0x2b, 0xf9, 0x64, 0x58, 0x04, 0x7a, 0x95, - 0xff, 0x18, 0x00, 0xf5, 0xdd, 0xdd, 0x6d, 0x9f, 0x76, 0x3b, 0x44, 0x5c, 0x96, 0xc9, 0x6f, 0xc2, - 0xf3, 0xb1, 0xc9, 0xdc, 0xb7, 0xcf, 0x6d, 0xf6, 0x95, 0x48, 0xad, 0xe9, 0xdb, 0xa7, 0xa2, 0x39, - 0x5c, 0x44, 0x68, 0xe9, 0x73, 0xa3, 0xd5, 0xb9, 0x18, 0xe6, 0xf1, 0xfb, 0x90, 0x8d, 0x4d, 0xe7, - 0xa8, 0x01, 0x93, 0x42, 0x7f, 0x6b, 0x3a, 0x2b, 0xa3, 0xe9, 0x0c, 0xd5, 0x92, 0x94, 0x46, 0xea, - 0x95, 0xff, 0x4a, 0x56, 0xe3, 0x44, 0xf8, 0x42, 0x05, 0x92, 0xac, 0xf0, 0xba, 0x02, 0xa7, 0x2f, - 0xa1, 0x02, 0x6b, 0xac, 0x04, 0xad, 0x3f, 0x4b, 0xc1, 0x95, 0x9d, 0x30, 0x49, 0xbf, 0xb0, 0x2c, - 0xec, 0xc0, 0x04, 0x61, 0xc2, 0xa7, 0x8a, 0x06, 0xe9, 0xec, 0xaf, 0x8f, 0x72, 0xf6, 0x29, 0xb6, - 0xac, 0x33, 0xe1, 0xf7, 0x93, 0xae, 0x0f, 0xb1, 0x12, 0x34, 0xfc, 0x21, 0x0d, 0x85, 0x51, 0xaa, - 0xe8, 0x65, 0xc8, 0xd9, 0x3e, 0x51, 0x1d, 0xe1, 0x9e, 0x62, 0xa8, 0x72, 0x38, 0x1b, 0x76, 0xeb, - 0x2d, 0xc5, 0x04, 0x79, 0x40, 0x93, 0x51, 0x25, 0x45, 0x9f, 0xed, 0x44, 0x36, 0x1b, 0x23, 0xa8, - 0x4d, 0x85, 0x40, 0x8e, 0x32, 0x2a, 0x28, 0xee, 0x58, 0x2d, 0xdc, 0xc1, 0xcc, 0x26, 0xcf, 0x10, - 0x09, 0xc3, 0x3b, 0xc0, 0xac, 0x06, 0xad, 0x05, 0x98, 0x68, 0x17, 0x26, 0x42, 0xf8, 0xf1, 0x4b, - 0x80, 0x0f, 0xc1, 0xd0, 0x0b, 0x30, 0x9d, 0xdc, 0x18, 0xd4, 0x39, 0x65, 0xdc, 0xcc, 0x26, 0xf6, - 0x85, 0xb3, 0x76, 0x9e, 0xcc, 0x53, 0x77, 0x1e, 0x7d, 0x14, 0xfc, 0x7d, 0x1a, 0xe6, 0x4c, 0xe2, - 0x7c, 0x09, 0x1d, 0xf7, 0x43, 0x80, 0x20, 0xa9, 0x65, 0xb1, 0x7d, 0x06, 0xdf, 0x0d, 0x17, 0x89, - 0xa9, 0x00, 0xaf, 0xce, 0xc5, 0xe7, 0xe5, 0xbd, 0xbf, 0xa4, 0x60, 0x3a, 0xe9, 0xbd, 0x2f, 0xc1, - 0xce, 0x86, 0x36, 0xe2, 0x92, 0x36, 0xae, 0x4a, 0xda, 0x2b, 0xa3, 0x4a, 0xda, 0x50, 0x5c, 0x9f, - 0x51, 0xcb, 0x7e, 0x93, 0x86, 0xcc, 0x16, 0xf6, 0xb1, 0xcb, 0xd1, 0xe6, 0xd0, 0x19, 0x37, 0xb8, - 0x7f, 0x5e, 0x1f, 0x0a, 0xeb, 0xba, 0x7e, 0x43, 0x09, 0xa2, 0xfa, 0x57, 0xa3, 0x8e, 0xb8, 0x5f, - 0x83, 0x59, 0x79, 0xa5, 0x8e, 0x0c, 0x0a, 0xa8, 0x9c, 0x51, 0xd7, 0xe1, 0xe8, 0x2a, 0xc6, 0x51, - 0x09, 0xb2, 0x52, 0x2c, 0xae, 0xd9, 0x52, 0x06, 0x5c, 0x7c, 0xb8, 0x1e, 0xf4, 0xa0, 0xdb, 0x80, - 0xf6, 0xa3, 0x87, 0x0f, 0x2b, 0x26, 0x42, 0xca, 0xcd, 0xc5, 0x23, 0xa1, 0xf8, 0x57, 0x01, 0xe4, - 0x2a, 0x2c, 0x87, 0x30, 0xcf, 0xd5, 0x97, 0xc1, 0x29, 0xd9, 0x53, 0x97, 0x1d, 0xe8, 0x17, 0x46, - 0x70, 0x54, 0x3e, 0x71, 0xdb, 0xd6, 0x97, 0x16, 0xeb, 0x62, 0xd9, 0xf0, 0xef, 0xe3, 0x52, 0xb1, - 0x8f, 0xdd, 0xce, 0x4a, 0xe5, 0x14, 0xc8, 0xca, 0x69, 0x6f, 0x01, 0xf2, 0x34, 0x3d, 0x78, 0x71, - 0x5f, 0xb9, 0x29, 0xe3, 0xfa, 0xe8, 0xd3, 0x0f, 0x6e, 0xdd, 0x48, 0x4c, 0x71, 0x18, 0xbd, 0x90, - 0x05, 0xee, 0xa9, 0xfc, 0xd6, 0x00, 0x14, 0x6f, 0x36, 0x26, 0xe1, 0x5d, 0x79, 0x67, 0x94, 0xf7, - 0x88, 0xc4, 0x79, 0xdf, 0x78, 0xfa, 0x3d, 0x22, 0xd6, 0x1f, 0xb8, 0x47, 0x24, 0x92, 0xe9, 0xdb, - 0x71, 0x69, 0x4f, 0x69, 0xef, 0x6b, 0xac, 0x16, 0xe6, 0x24, 0x71, 0x21, 0xa1, 0x03, 0x10, 0xa1, - 0x92, 0xca, 0xd1, 0xb1, 0xca, 0xb1, 0x01, 0xd7, 0x87, 0x22, 0x31, 0x5a, 0xb2, 0x0d, 0xc8, 0x4f, - 0x0c, 0x2a, 0x8f, 0xf6, 0xf5, 0xd2, 0x9f, 0x2d, 0xb0, 0xe7, 0xfc, 0xa1, 0x72, 0xfe, 0x7f, 0xda, - 0xa3, 0x74, 0x11, 0xfa, 0x93, 0x01, 0xf3, 0xc9, 0x15, 0x45, 0xb6, 0x35, 0x61, 0x3a, 0xb9, 0x16, - 0x6d, 0xd5, 0xcd, 0xf3, 0x58, 0x95, 0x34, 0x68, 0x00, 0x44, 0xda, 0x12, 0x46, 0x7d, 0xf0, 0x56, - 0x77, 0xe7, 0xdc, 0x2c, 0x85, 0x0b, 0x3b, 0xb5, 0x0c, 0x04, 0xce, 0xfa, 0x79, 0x0a, 0xc6, 0xb7, - 0x3c, 0xaf, 0x83, 0x7e, 0x6a, 0xc0, 0x1c, 0xf3, 0x84, 0x25, 0x73, 0x85, 0x38, 0x96, 0x7e, 0x2c, - 0x08, 0x2a, 0xe9, 0xee, 0xc5, 0xd8, 0xfb, 0xe7, 0x71, 0x69, 0x18, 0x6a, 0x90, 0x52, 0xfd, 0x48, - 0xc5, 0x3c, 0x51, 0x53, 0x42, 0xdb, 0xc1, 0x7b, 0xc2, 0x3b, 0x30, 0x33, 0x38, 0x7f, 0x50, 0x7e, - 0xcd, 0x0b, 0xcf, 0x3f, 0x73, 0xe6, 0xdc, 0xd3, 0xad, 0xc4, 0xc4, 0x2b, 0x93, 0xd2, 0xb1, 0xff, - 0x92, 0xce, 0x7d, 0x1b, 0xf2, 0x51, 0x79, 0xda, 0x51, 0x4f, 0x5e, 0xf2, 0x6c, 0x3a, 0x11, 0xbc, - 0x7e, 0x85, 0x37, 0x88, 0x72, 0xf2, 0xad, 0x15, 0xb7, 0x6c, 0x5a, 0x3d, 0xa1, 0x33, 0xc0, 0xb8, - 0xd6, 0xbd, 0xf5, 0x3b, 0x03, 0x20, 0x7e, 0x9a, 0x41, 0xaf, 0xc2, 0xb5, 0xda, 0xe6, 0x46, 0xdd, - 0x6a, 0x6e, 0xaf, 0x6e, 0xef, 0x34, 0xad, 0x9d, 0x8d, 0xe6, 0xd6, 0xfa, 0x5a, 0xe3, 0x6e, 0x63, - 0xbd, 0x9e, 0x1f, 0x2b, 0xe6, 0x8e, 0x1e, 0x94, 0xb3, 0x3b, 0x8c, 0x77, 0x89, 0x4d, 0xf7, 0x28, - 0x71, 0xd0, 0x4b, 0x30, 0x3f, 0x28, 0x2d, 0x5b, 0xeb, 0xf5, 0xbc, 0x51, 0x9c, 0x3e, 0x7a, 0x50, - 0x9e, 0x0c, 0x8e, 0xa4, 0xc4, 0x41, 0x8b, 0xf0, 0xfc, 0xb0, 0x5c, 0x63, 0xe3, 0xf5, 0x7c, 0xaa, - 0x38, 0x73, 0xf4, 0xa0, 0x3c, 0x15, 0x9d, 0x5d, 0x51, 0x05, 0x50, 0x52, 0x52, 0xe3, 0xa5, 0x8b, - 0x70, 0xf4, 0xa0, 0x9c, 0x09, 0xdc, 0x52, 0x1c, 0x7f, 0xf7, 0xd7, 0x0b, 0x63, 0xb7, 0x7e, 0x0c, - 0xd0, 0x60, 0x7b, 0x3e, 0xb6, 0x55, 0x40, 0x16, 0xe1, 0x6a, 0x63, 0xe3, 0xae, 0xb9, 0xba, 0xb6, - 0xdd, 0xd8, 0xdc, 0x18, 0x5c, 0xf6, 0x89, 0xb1, 0xfa, 0xe6, 0x4e, 0xed, 0xcd, 0x75, 0xab, 0xd9, - 0x78, 0x7d, 0x23, 0x6f, 0xa0, 0x6b, 0x70, 0x65, 0x60, 0xec, 0x7b, 0x1b, 0xdb, 0x8d, 0xb7, 0xd6, - 0xf3, 0xa9, 0xda, 0xdd, 0x8f, 0x1f, 0x2f, 0x18, 0x8f, 0x1e, 0x2f, 0x18, 0xff, 0x78, 0xbc, 0x60, - 0xbc, 0xf7, 0x64, 0x61, 0xec, 0xd1, 0x93, 0x85, 0xb1, 0xbf, 0x3e, 0x59, 0x18, 0xfb, 0xc1, 0xab, - 0x4f, 0x75, 0x78, 0x5c, 0x25, 0x95, 0xeb, 0x5b, 0x19, 0xb5, 0x47, 0x7d, 0xe3, 0x7f, 0x01, 0x00, - 0x00, 0xff, 0xff, 0x93, 0xd7, 0xc2, 0x0d, 0x66, 0x18, 0x00, 0x00, + // 2042 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x3b, 0x6c, 0x23, 0xc7, + 0xf9, 0xd7, 0x92, 0x34, 0x25, 0x7d, 0x94, 0x44, 0x6a, 0xee, 0xc5, 0xe3, 0xfd, 0xff, 0x22, 0x4d, + 0x5f, 0xec, 0xf3, 0xc1, 0x47, 0xe5, 0x14, 0x20, 0x01, 0x14, 0x23, 0x81, 0x28, 0x4a, 0x3e, 0x3a, + 0xb6, 0x24, 0x2c, 0x25, 0xc5, 0xce, 0x03, 0x8b, 0xe1, 0xee, 0x88, 0xda, 0x88, 0x9c, 0x25, 0x76, + 0x86, 0x77, 0x62, 0x1b, 0xa4, 0x30, 0x54, 0x24, 0x06, 0xd2, 0xb8, 0x39, 0xe0, 0x80, 0x34, 0x4e, + 0xe7, 0xc2, 0x88, 0x8b, 0x20, 0x45, 0x3a, 0x27, 0x69, 0x0e, 0xae, 0x82, 0x14, 0x4a, 0x70, 0x57, + 0xd8, 0x48, 0x15, 0x5c, 0x13, 0x24, 0x55, 0x30, 0x8f, 0x7d, 0x50, 0x14, 0xf5, 0x38, 0x28, 0x81, + 0x01, 0x37, 0x12, 0x67, 0xe6, 0xfb, 0x7e, 0x33, 0xdf, 0x7b, 0xbf, 0x0f, 0x6e, 0xda, 0x1e, 0xeb, + 0x78, 0x6c, 0x9e, 0x71, 0xbc, 0xe7, 0xd2, 0xd6, 0xfc, 0xfd, 0xbb, 0x4d, 0xc2, 0xf1, 0xdd, 0x60, + 0x5d, 0xe9, 0xfa, 0x1e, 0xf7, 0xd0, 0x55, 0x45, 0x55, 0x09, 0x76, 0x35, 0x55, 0xe1, 0x72, 0xcb, + 0x6b, 0x79, 0x92, 0x64, 0x5e, 0xfc, 0x52, 0xd4, 0x85, 0xeb, 0x2d, 0xcf, 0x6b, 0xb5, 0xc9, 0xbc, + 0x5c, 0x35, 0x7b, 0x3b, 0xf3, 0x98, 0xf6, 0xf5, 0xd1, 0xdc, 0xd1, 0x23, 0xa7, 0xe7, 0x63, 0xee, + 0x7a, 0x54, 0x9f, 0x17, 0x8f, 0x9e, 0x73, 0xb7, 0x43, 0x18, 0xc7, 0x9d, 0x6e, 0x80, 0xad, 0x5e, + 0x62, 0xa9, 0x4b, 0xf5, 0xb3, 0x34, 0xb6, 0x16, 0xa5, 0x89, 0x19, 0x09, 0xe5, 0xb0, 0x3d, 0x37, + 0xc0, 0x9e, 0xc5, 0x1d, 0x97, 0x7a, 0xf3, 0xf2, 0xaf, 0xde, 0xfa, 0x3f, 0x4e, 0xa8, 0x43, 0xfc, + 0x8e, 0x4b, 0xf9, 0x3c, 0xef, 0x77, 0x09, 0x53, 0x7f, 0xf5, 0xe9, 0x8d, 0xd8, 0x29, 0x6e, 0xda, + 0x6e, 0xfc, 0xb0, 0xfc, 0x4b, 0x03, 0x66, 0xee, 0xb9, 0x8c, 0x7b, 0xbe, 0x6b, 0xe3, 0x76, 0x9d, + 0xee, 0x78, 0xe8, 0xdb, 0x90, 0xde, 0x25, 0xd8, 0x21, 0x7e, 0xde, 0x28, 0x19, 0xb7, 0x32, 0x0b, + 0xf9, 0x4a, 0x04, 0x50, 0x51, 0xbc, 0xf7, 0xe4, 0x79, 0x75, 0xf2, 0xd3, 0xc3, 0xe2, 0xd8, 0x87, + 0x9f, 0x7f, 0x74, 0xdb, 0x30, 0x35, 0x0b, 0xaa, 0x41, 0xfa, 0x3e, 0x6e, 0x33, 0xc2, 0xf3, 0x89, + 0x52, 0xf2, 0x56, 0x66, 0xe1, 0xc5, 0xca, 0xf1, 0x3a, 0xaf, 0x6c, 0xe3, 0xb6, 0xeb, 0x60, 0xee, + 0x0d, 0xa2, 0x28, 0xde, 0xf2, 0x27, 0x09, 0xc8, 0x2e, 0x7b, 0x9d, 0x8e, 0xcb, 0x98, 0xeb, 0x51, + 0x13, 0x73, 0xc2, 0xd0, 0x16, 0xa4, 0x7c, 0xcc, 0x89, 0x7c, 0xd4, 0x64, 0x75, 0x49, 0x30, 0xfd, + 0xe5, 0xb0, 0xf8, 0x72, 0xcb, 0xe5, 0xbb, 0xbd, 0x66, 0xc5, 0xf6, 0x3a, 0x5a, 0x8d, 0xfa, 0xdf, + 0x1d, 0xe6, 0xec, 0x69, 0x49, 0x6b, 0xc4, 0xfe, 0xec, 0xe3, 0x3b, 0xa0, 0x1f, 0x52, 0x23, 0xb6, + 0xba, 0x4c, 0xc2, 0xa1, 0x1f, 0xc1, 0x44, 0x07, 0xef, 0x5b, 0x12, 0x3a, 0x71, 0x51, 0xd0, 0xe3, + 0x1d, 0xbc, 0x2f, 0x5e, 0x8d, 0x5c, 0xc8, 0x0a, 0x74, 0x7b, 0x17, 0xd3, 0x16, 0x51, 0x97, 0x24, + 0x2f, 0xea, 0x92, 0xe9, 0x0e, 0xde, 0x5f, 0x96, 0xc0, 0xe2, 0xaa, 0xc5, 0xd4, 0x17, 0x8f, 0x8a, + 0x46, 0xf9, 0xf7, 0x06, 0x40, 0xa4, 0x39, 0x84, 0x21, 0x67, 0x87, 0x2b, 0x79, 0x3f, 0xd3, 0x56, + 0x7d, 0x65, 0x94, 0x61, 0x8e, 0xe8, 0xbd, 0x3a, 0x2d, 0x5e, 0xfa, 0xf8, 0xb0, 0x68, 0xa8, 0x5b, + 0xb3, 0xf6, 0x11, 0xbb, 0xbc, 0x09, 0x99, 0x5e, 0xd7, 0xc1, 0x9c, 0x58, 0xc2, 0xc9, 0xa5, 0x0e, + 0x33, 0x0b, 0x85, 0x8a, 0x8a, 0x80, 0x4a, 0x10, 0x01, 0x95, 0xcd, 0x20, 0x02, 0x14, 0xe0, 0xfb, + 0x7f, 0x0d, 0x00, 0x41, 0x71, 0x8b, 0x73, 0x2d, 0xc3, 0x87, 0x06, 0x64, 0x6a, 0x84, 0xd9, 0xbe, + 0xdb, 0x15, 0x31, 0x85, 0xf2, 0x30, 0xde, 0xf1, 0xa8, 0xbb, 0xa7, 0x3d, 0x72, 0xd2, 0x0c, 0x96, + 0xa8, 0x00, 0x13, 0xae, 0x43, 0x28, 0x77, 0x79, 0x5f, 0x19, 0xcf, 0x0c, 0xd7, 0x82, 0xeb, 0x01, + 0x69, 0x32, 0x37, 0x50, 0xb9, 0x19, 0x2c, 0xd1, 0xab, 0x90, 0x63, 0xc4, 0xee, 0xf9, 0x2e, 0xef, + 0x5b, 0xb6, 0x47, 0x39, 0xb6, 0x79, 0x3e, 0x25, 0x49, 0xb2, 0xc1, 0xfe, 0xb2, 0xda, 0x16, 0x20, + 0x0e, 0xe1, 0xd8, 0x6d, 0xb3, 0xfc, 0x0b, 0x0a, 0x44, 0x2f, 0xf5, 0x53, 0x3f, 0x19, 0x87, 0xc9, + 0xd0, 0x93, 0xd1, 0x32, 0xe4, 0xbc, 0x2e, 0xf1, 0xc5, 0x6f, 0x0b, 0x3b, 0x8e, 0x4f, 0x18, 0xd3, + 0xee, 0x9a, 0xff, 0xec, 0xe3, 0x3b, 0x97, 0xb5, 0xc2, 0x97, 0xd4, 0x49, 0x83, 0xfb, 0x2e, 0x6d, + 0x99, 0xd9, 0x80, 0x43, 0x6f, 0xa3, 0x77, 0x85, 0xc9, 0x28, 0x23, 0x94, 0xf5, 0x98, 0xd5, 0xed, + 0x35, 0xf7, 0x48, 0x5f, 0x2b, 0xf5, 0xf2, 0x90, 0x52, 0x97, 0x68, 0xbf, 0x9a, 0xff, 0x63, 0x04, + 0x6d, 0xfb, 0xfd, 0x2e, 0xf7, 0x2a, 0x1b, 0xbd, 0xe6, 0xf7, 0x48, 0x5f, 0x98, 0x4a, 0xe3, 0x6c, + 0x48, 0x18, 0x74, 0x15, 0xd2, 0x3f, 0xc1, 0x6e, 0x9b, 0x38, 0x52, 0x23, 0x13, 0xa6, 0x5e, 0xa1, + 0x45, 0x48, 0x33, 0x8e, 0x79, 0x8f, 0x49, 0x35, 0xcc, 0x2c, 0x94, 0x47, 0xf9, 0x46, 0xd5, 0xa3, + 0x4e, 0x43, 0x52, 0x9a, 0x9a, 0x03, 0x6d, 0x42, 0x9a, 0x7b, 0x7b, 0x84, 0x6a, 0x05, 0x55, 0x5f, + 0x3f, 0x87, 0x63, 0xd7, 0x29, 0x8f, 0x39, 0x76, 0x9d, 0x72, 0x53, 0x63, 0xa1, 0x16, 0xe4, 0x1c, + 0xd2, 0x26, 0x2d, 0xa9, 0x4a, 0xb6, 0x8b, 0x7d, 0xc2, 0xf2, 0xe9, 0x73, 0xe3, 0x0f, 0x05, 0x8e, + 0x99, 0x0d, 0x51, 0x1b, 0x12, 0x14, 0x6d, 0x40, 0xc6, 0x89, 0x5c, 0x2d, 0x3f, 0x2e, 0x15, 0xfd, + 0xd2, 0x28, 0xf9, 0x63, 0x5e, 0x19, 0x4f, 0x5b, 0x71, 0x08, 0xe1, 0x5d, 0x3d, 0xda, 0xf4, 0xa8, + 0xe3, 0xd2, 0x96, 0xb5, 0x4b, 0xdc, 0xd6, 0x2e, 0xcf, 0x4f, 0x94, 0x8c, 0x5b, 0x49, 0x33, 0x1b, + 0xee, 0xdf, 0x93, 0xdb, 0x68, 0x03, 0x66, 0x22, 0x52, 0x19, 0x3d, 0x93, 0xe7, 0x8d, 0x9e, 0xe9, + 0x10, 0x40, 0x90, 0xa0, 0xb7, 0x01, 0xa2, 0xf8, 0xcc, 0x83, 0x44, 0x2b, 0x9f, 0x1e, 0xe9, 0x71, + 0x61, 0x62, 0x00, 0xa8, 0x0d, 0x97, 0x3a, 0x2e, 0xb5, 0x18, 0x69, 0xef, 0x58, 0x5a, 0x73, 0x02, + 0x37, 0x73, 0x01, 0x96, 0x9e, 0xed, 0xb8, 0xb4, 0x41, 0xda, 0x3b, 0xb5, 0x10, 0x16, 0xbd, 0x0e, + 0x37, 0x22, 0x75, 0x78, 0xd4, 0xda, 0xf5, 0xda, 0x8e, 0xe5, 0x93, 0x1d, 0xcb, 0xf6, 0x7a, 0x94, + 0xe7, 0xa7, 0xa4, 0x12, 0xaf, 0x85, 0x24, 0xeb, 0xf4, 0x9e, 0xd7, 0x76, 0x4c, 0xb2, 0xb3, 0x2c, + 0x8e, 0xd1, 0x4b, 0x10, 0xe9, 0xc2, 0x72, 0x1d, 0x96, 0x9f, 0x2e, 0x25, 0x6f, 0xa5, 0xcc, 0xa9, + 0x70, 0xb3, 0xee, 0xb0, 0xc5, 0x89, 0xf7, 0x1e, 0x15, 0xc7, 0xbe, 0x78, 0x54, 0x1c, 0x2b, 0xaf, + 0xc2, 0xd4, 0x36, 0x6e, 0xeb, 0xa0, 0x23, 0x0c, 0x7d, 0x13, 0x26, 0x71, 0xb0, 0xc8, 0x1b, 0xa5, + 0xe4, 0x89, 0x41, 0x1b, 0x91, 0x96, 0x1f, 0x19, 0x90, 0xae, 0x6d, 0x6f, 0x60, 0xd7, 0x47, 0x2b, + 0x30, 0x1b, 0x39, 0xed, 0x59, 0xe3, 0x3f, 0xf2, 0xf3, 0x20, 0x01, 0xac, 0xc0, 0xec, 0xfd, 0x20, + 0xa5, 0x84, 0x30, 0x89, 0xd3, 0x60, 0x42, 0x16, 0xbd, 0x1f, 0x13, 0xf5, 0x4d, 0x18, 0x57, 0x2f, + 0x64, 0xe8, 0xbb, 0xf0, 0x42, 0x57, 0xfc, 0x90, 0x12, 0x66, 0x16, 0xe6, 0x46, 0x3a, 0xba, 0xa4, + 0x8f, 0xbb, 0x85, 0xe2, 0x2b, 0xff, 0xcb, 0x00, 0xa8, 0x6d, 0x6f, 0x6f, 0xfa, 0x6e, 0xb7, 0x4d, + 0xf8, 0x45, 0x89, 0xfc, 0x16, 0x5c, 0x89, 0x44, 0x66, 0xbe, 0x7d, 0x66, 0xb1, 0x2f, 0x85, 0x6c, + 0x0d, 0xdf, 0x3e, 0x16, 0xcd, 0x61, 0x3c, 0x44, 0x4b, 0x9e, 0x19, 0xad, 0xc6, 0xf8, 0xb0, 0x1e, + 0xdf, 0x81, 0x4c, 0x24, 0x3a, 0x43, 0x75, 0x98, 0xe0, 0xfa, 0xb7, 0x56, 0x67, 0x79, 0xb4, 0x3a, + 0x03, 0xb6, 0xb8, 0x4a, 0x43, 0xf6, 0xf2, 0xbf, 0x85, 0x56, 0xa3, 0x40, 0xf8, 0x52, 0x39, 0x92, + 0xc8, 0xf0, 0x3a, 0x03, 0x27, 0x2f, 0x20, 0x03, 0x6b, 0xac, 0x98, 0x5a, 0x7f, 0x96, 0x80, 0x4b, + 0x5b, 0x41, 0x90, 0x7e, 0x69, 0xb5, 0xb0, 0x05, 0xe3, 0x84, 0x72, 0xdf, 0x95, 0x6a, 0x10, 0xc6, + 0xfe, 0xfa, 0x28, 0x63, 0x1f, 0x23, 0xcb, 0x0a, 0xe5, 0x7e, 0x3f, 0x6e, 0xfa, 0x00, 0x2b, 0xa6, + 0x86, 0xdf, 0x25, 0x21, 0x3f, 0x8a, 0x15, 0xbd, 0x02, 0x59, 0xdb, 0x27, 0x72, 0x23, 0xa8, 0x29, + 0x86, 0x4c, 0x87, 0x33, 0xc1, 0xb6, 0x2e, 0x29, 0x26, 0x88, 0x0f, 0x34, 0xe1, 0x55, 0x82, 0xf4, + 0xf9, 0xbe, 0xc8, 0x66, 0x22, 0x04, 0x59, 0x54, 0x08, 0x64, 0x5d, 0xea, 0x72, 0x17, 0xb7, 0xad, + 0x26, 0x6e, 0x63, 0x6a, 0x93, 0xe7, 0xf0, 0x84, 0xe1, 0x0a, 0x30, 0xa3, 0x41, 0xab, 0x0a, 0x13, + 0x6d, 0xc3, 0x78, 0x00, 0x9f, 0xba, 0x00, 0xf8, 0x00, 0x0c, 0xbd, 0x08, 0x53, 0xf1, 0xc2, 0x20, + 0xbf, 0x53, 0x52, 0x66, 0x26, 0x56, 0x17, 0x4e, 0xab, 0x3c, 0xe9, 0x13, 0x2b, 0x8f, 0xfe, 0x14, + 0xfc, 0x6d, 0x12, 0x66, 0x4d, 0xe2, 0x7c, 0x05, 0x0d, 0xf7, 0x43, 0x00, 0x15, 0xd4, 0x22, 0xd9, + 0x3e, 0x87, 0xed, 0x86, 0x93, 0xc4, 0xa4, 0xc2, 0xab, 0x31, 0xfe, 0xbf, 0xb2, 0xde, 0x9f, 0x12, + 0x30, 0x15, 0xb7, 0xde, 0x57, 0xa0, 0xb2, 0xa1, 0xb5, 0x28, 0xa5, 0xa5, 0x64, 0x4a, 0x7b, 0x75, + 0x54, 0x4a, 0x1b, 0xf2, 0xeb, 0xd3, 0x72, 0x59, 0x0a, 0xd2, 0x1b, 0xd8, 0xc7, 0x1d, 0x86, 0xd6, + 0x87, 0xbe, 0x71, 0x55, 0xff, 0x79, 0x7d, 0xc8, 0xad, 0x6b, 0x7a, 0x86, 0xa2, 0xbc, 0xfa, 0x83, + 0x51, 0x9f, 0xb8, 0x5f, 0x83, 0x19, 0xd1, 0x52, 0x87, 0x02, 0x29, 0x55, 0x4e, 0xcb, 0x76, 0x38, + 0x6c, 0xc5, 0x18, 0x2a, 0x42, 0x46, 0x90, 0x45, 0x39, 0x5b, 0xd0, 0x40, 0x07, 0xef, 0xaf, 0xa8, + 0x1d, 0x74, 0x07, 0xd0, 0x6e, 0x38, 0xf8, 0xb0, 0x22, 0x45, 0x08, 0xba, 0xd9, 0xe8, 0x24, 0x20, + 0xff, 0x7f, 0x00, 0xf1, 0x0a, 0xcb, 0x21, 0xd4, 0xeb, 0xe8, 0x66, 0x70, 0x52, 0xec, 0xd4, 0xc4, + 0x06, 0xfa, 0x85, 0xa1, 0x3e, 0x95, 0x8f, 0x74, 0xdb, 0xba, 0x69, 0xb1, 0xce, 0x17, 0x0d, 0xcf, + 0x0e, 0x8b, 0x85, 0x3e, 0xee, 0xb4, 0x17, 0xcb, 0xc7, 0x40, 0x96, 0x8f, 0x9b, 0x05, 0x88, 0xaf, + 0xe9, 0xc1, 0xc6, 0x1d, 0x2d, 0x42, 0x41, 0x8e, 0x1e, 0x3c, 0x2a, 0xdb, 0x48, 0x6b, 0x8f, 0xf4, + 0x2d, 0xdf, 0xe3, 0x52, 0xc5, 0x4c, 0x36, 0x3a, 0x29, 0xf3, 0x6a, 0x07, 0xef, 0x2f, 0x7b, 0x94, + 0xe9, 0x86, 0x31, 0x38, 0x45, 0xef, 0x40, 0x3e, 0xe0, 0x8b, 0xb3, 0x59, 0x3b, 0x84, 0xc8, 0x5e, + 0x46, 0x98, 0x4f, 0x3f, 0xa1, 0x89, 0x19, 0x89, 0x75, 0x14, 0x2e, 0xad, 0xa6, 0x84, 0xb0, 0xe6, + 0x15, 0x5b, 0xe1, 0xee, 0x45, 0xb8, 0xab, 0x84, 0x2c, 0xde, 0x14, 0xd1, 0x76, 0xf0, 0xf9, 0x47, + 0xb7, 0x6f, 0xc4, 0x04, 0xdf, 0x0f, 0xe7, 0x76, 0xca, 0x69, 0xca, 0xbf, 0x36, 0x00, 0x45, 0x25, + 0xd0, 0x24, 0xac, 0x2b, 0x3a, 0x59, 0xd1, 0xdd, 0xc4, 0xba, 0x10, 0xe3, 0xe4, 0xee, 0x26, 0xe2, + 0x1f, 0xe8, 0x6e, 0x62, 0x21, 0xfe, 0x9d, 0xa8, 0xe0, 0x24, 0x4e, 0x13, 0x2a, 0xee, 0xef, 0x9a, + 0x49, 0x66, 0x8e, 0xb1, 0xf2, 0xa1, 0x01, 0xd7, 0x87, 0xe2, 0x23, 0x7c, 0xb2, 0x0d, 0xc8, 0x8f, + 0x1d, 0x4a, 0x3f, 0xeb, 0xeb, 0xa7, 0x3f, 0x5f, 0xb8, 0xcd, 0xfa, 0x43, 0x45, 0xe6, 0xbf, 0x54, + 0x39, 0x75, 0x6a, 0xfc, 0x83, 0x01, 0x97, 0xe3, 0x2f, 0x0a, 0x65, 0x6b, 0xc0, 0x54, 0xfc, 0x2d, + 0x5a, 0xaa, 0x9b, 0x67, 0x91, 0x2a, 0x2e, 0xd0, 0x00, 0x88, 0x90, 0x25, 0x88, 0x45, 0x35, 0x41, + 0xbc, 0x7b, 0x66, 0x2d, 0x05, 0x0f, 0x3b, 0x36, 0x39, 0x29, 0x63, 0xfd, 0x3c, 0x01, 0xa9, 0x0d, + 0xcf, 0x6b, 0xa3, 0x9f, 0x1a, 0x30, 0x4b, 0x3d, 0x6e, 0x89, 0x08, 0x26, 0x8e, 0xa5, 0x47, 0x18, + 0x2a, 0xbf, 0x6f, 0x9f, 0x4f, 0x7b, 0x7f, 0x3f, 0x2c, 0x0e, 0x43, 0x0d, 0xaa, 0x54, 0x8f, 0xce, + 0xa8, 0xc7, 0xab, 0x92, 0x68, 0x53, 0x4d, 0x39, 0x1e, 0xc0, 0xf4, 0xe0, 0xfd, 0xaa, 0x28, 0x98, + 0xe7, 0xbe, 0x7f, 0xfa, 0xd4, 0xbb, 0xa7, 0x9a, 0xb1, 0x8b, 0x17, 0x27, 0x84, 0x61, 0xff, 0x21, + 0x8c, 0xfb, 0x2e, 0xe4, 0xc2, 0xa4, 0xb9, 0x25, 0x07, 0x71, 0xe2, 0x8b, 0x79, 0x5c, 0xcd, 0xe4, + 0x82, 0xbe, 0xa6, 0x14, 0x9f, 0x00, 0xe3, 0xa6, 0xed, 0x56, 0x8e, 0xf0, 0x0c, 0x68, 0x5c, 0xf3, + 0x96, 0xff, 0x99, 0x80, 0xeb, 0xc3, 0xc9, 0x45, 0x0d, 0x9b, 0xfb, 0x68, 0x75, 0xe4, 0xac, 0xec, + 0xc6, 0xb3, 0xc3, 0xe2, 0x35, 0x95, 0xfe, 0x8e, 0x52, 0x94, 0x87, 0xc7, 0x65, 0x3d, 0xc8, 0x8a, + 0x72, 0x1f, 0x4b, 0x57, 0x27, 0x4e, 0xcb, 0xbe, 0xf5, 0xec, 0xb0, 0x78, 0x43, 0x83, 0x6b, 0xb6, + 0xf8, 0xa4, 0xad, 0x3c, 0x72, 0x98, 0x36, 0xed, 0xb5, 0x9d, 0xe5, 0x30, 0xa5, 0x89, 0x6b, 0x29, + 0x79, 0x30, 0x70, 0x6d, 0xf2, 0x6c, 0xd7, 0x06, 0x6c, 0x67, 0xbc, 0x96, 0x92, 0x07, 0xb1, 0x6b, + 0xaf, 0x42, 0x5a, 0x7f, 0x45, 0xa6, 0x64, 0x02, 0xd7, 0xab, 0xc5, 0x29, 0x51, 0x7a, 0x3f, 0xd0, + 0xe5, 0xf7, 0xf6, 0x6f, 0x0c, 0x80, 0x68, 0x54, 0x87, 0x5e, 0x83, 0x6b, 0xd5, 0xf5, 0xb5, 0x9a, + 0xd5, 0xd8, 0x5c, 0xda, 0xdc, 0x6a, 0x58, 0x5b, 0x6b, 0x8d, 0x8d, 0x95, 0xe5, 0xfa, 0x6a, 0x7d, + 0xa5, 0x96, 0x1b, 0x2b, 0x64, 0x0f, 0x1e, 0x96, 0x32, 0x5b, 0x94, 0x75, 0x89, 0xed, 0xee, 0xb8, + 0xc4, 0x41, 0x2f, 0xc3, 0xe5, 0x41, 0x6a, 0xb1, 0x5a, 0xa9, 0xe5, 0x8c, 0xc2, 0xd4, 0xc1, 0xc3, + 0xd2, 0x84, 0x6a, 0x51, 0x88, 0x83, 0x6e, 0xc1, 0x95, 0x61, 0xba, 0xfa, 0xda, 0x1b, 0xb9, 0x44, + 0x61, 0xfa, 0xe0, 0x61, 0x69, 0x32, 0xec, 0x65, 0x50, 0x19, 0x50, 0x9c, 0x52, 0xe3, 0x25, 0x0b, + 0x70, 0xf0, 0xb0, 0x94, 0x56, 0x01, 0x51, 0x48, 0xbd, 0xf7, 0xab, 0xb9, 0xb1, 0xdb, 0x3f, 0x06, + 0xa8, 0xd3, 0x1d, 0x1f, 0xdb, 0x32, 0x15, 0x14, 0xe0, 0x6a, 0x7d, 0x6d, 0xd5, 0x5c, 0x5a, 0xde, + 0xac, 0xaf, 0xaf, 0x0d, 0x3e, 0xfb, 0xc8, 0x59, 0x6d, 0x7d, 0xab, 0xfa, 0xd6, 0x8a, 0xd5, 0xa8, + 0xbf, 0xb1, 0x96, 0x33, 0xd0, 0x35, 0xb8, 0x34, 0x70, 0xf6, 0xfd, 0xb5, 0xcd, 0xfa, 0xdb, 0x2b, + 0xb9, 0x44, 0x75, 0xf5, 0xd3, 0x27, 0x73, 0xc6, 0xe3, 0x27, 0x73, 0xc6, 0xdf, 0x9e, 0xcc, 0x19, + 0xef, 0x3f, 0x9d, 0x1b, 0x7b, 0xfc, 0x74, 0x6e, 0xec, 0xcf, 0x4f, 0xe7, 0xc6, 0x7e, 0xf0, 0xda, + 0x89, 0xa1, 0x16, 0xd5, 0x27, 0x19, 0x74, 0xcd, 0xb4, 0xb4, 0xed, 0x37, 0xfe, 0x13, 0x00, 0x00, + 0xff, 0xff, 0x6d, 0x7f, 0x0c, 0xde, 0x76, 0x1a, 0x00, 0x00, } func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { @@ -1403,671 +1476,680 @@ func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_go func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 10616 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0xbd, 0x7b, 0x70, 0x24, 0xc7, - 0x79, 0x18, 0x8e, 0x7d, 0xef, 0x7e, 0x8b, 0xdd, 0x1d, 0x34, 0xc0, 0x3b, 0xdc, 0x1e, 0x09, 0x80, - 0xc3, 0xc7, 0x3d, 0x48, 0xe2, 0xc8, 0x23, 0xef, 0x48, 0xe2, 0x44, 0xd1, 0xbb, 0x8b, 0xbd, 0x3b, - 0x1c, 0xf1, 0xd2, 0x2c, 0x70, 0x7c, 0xd8, 0xd2, 0x68, 0xb0, 0xdb, 0x00, 0x86, 0xb7, 0x3b, 0x33, - 0x9a, 0x99, 0xbd, 0x03, 0x58, 0xbf, 0xfa, 0x15, 0x6d, 0xd9, 0x8e, 0x7c, 0x71, 0x64, 0xd9, 0x4a, - 0xd9, 0xb2, 0xa4, 0x53, 0x28, 0x2b, 0xd6, 0xc3, 0x79, 0xc9, 0x96, 0x22, 0xc9, 0x71, 0xd9, 0x25, - 0xa7, 0xf2, 0x90, 0x9d, 0x54, 0x4a, 0x72, 0xa5, 0x12, 0x57, 0x2a, 0x61, 0x1c, 0x4a, 0x65, 0x29, - 0xb2, 0x1c, 0xdb, 0x32, 0x9d, 0xc4, 0x51, 0xa5, 0x92, 0xea, 0xd7, 0x3c, 0xf6, 0x81, 0x59, 0x9c, - 0x48, 0xda, 0x29, 0xfd, 0x73, 0xb7, 0xdd, 0xfd, 0x7d, 0x5f, 0x77, 0x7f, 0xfd, 0xf5, 0xf7, 0xea, - 0x9e, 0x06, 0xfc, 0xf9, 0x05, 0x98, 0xdb, 0x31, 0xcd, 0x9d, 0x36, 0x3e, 0x63, 0xd9, 0xa6, 0x6b, - 0x6e, 0x75, 0xb7, 0xcf, 0xb4, 0xb0, 0xd3, 0xb4, 0x75, 0xcb, 0x35, 0xed, 0x79, 0x5a, 0x87, 0x4a, - 0x0c, 0x62, 0x5e, 0x40, 0xc8, 0x2b, 0x30, 0x71, 0x51, 0x6f, 0xe3, 0x45, 0x0f, 0xb0, 0x81, 0x5d, - 0xf4, 0x04, 0x24, 0xb7, 0xf5, 0x36, 0x9e, 0x8e, 0xcd, 0x25, 0x4e, 0xe6, 0xcf, 0xde, 0x3b, 0xdf, - 0x83, 0x34, 0x1f, 0xc6, 0x58, 0x27, 0xd5, 0x0a, 0xc5, 0x90, 0xbf, 0x91, 0x84, 0xc9, 0x01, 0xad, - 0x08, 0x41, 0xd2, 0xd0, 0x3a, 0x84, 0x62, 0xec, 0x64, 0x4e, 0xa1, 0xbf, 0xd1, 0x34, 0x64, 0x2c, - 0xad, 0x79, 0x4d, 0xdb, 0xc1, 0xd3, 0x71, 0x5a, 0x2d, 0x8a, 0x68, 0x06, 0xa0, 0x85, 0x2d, 0x6c, - 0xb4, 0xb0, 0xd1, 0xdc, 0x9f, 0x4e, 0xcc, 0x25, 0x4e, 0xe6, 0x94, 0x40, 0x0d, 0x7a, 0x00, 0x26, - 0xac, 0xee, 0x56, 0x5b, 0x6f, 0xaa, 0x01, 0x30, 0x98, 0x4b, 0x9c, 0x4c, 0x29, 0x12, 0x6b, 0x58, - 0xf4, 0x81, 0x4f, 0x40, 0xe9, 0x06, 0xd6, 0xae, 0x05, 0x41, 0xf3, 0x14, 0xb4, 0x48, 0xaa, 0x03, - 0x80, 0x35, 0x18, 0xef, 0x60, 0xc7, 0xd1, 0x76, 0xb0, 0xea, 0xee, 0x5b, 0x78, 0x3a, 0x49, 0x67, - 0x3f, 0xd7, 0x37, 0xfb, 0xde, 0x99, 0xe7, 0x39, 0xd6, 0xc6, 0xbe, 0x85, 0x51, 0x05, 0x72, 0xd8, - 0xe8, 0x76, 0x18, 0x85, 0xd4, 0x10, 0xfe, 0xd5, 0x8d, 0x6e, 0xa7, 0x97, 0x4a, 0x96, 0xa0, 0x71, - 0x12, 0x19, 0x07, 0xdb, 0xd7, 0xf5, 0x26, 0x9e, 0x4e, 0x53, 0x02, 0x27, 0xfa, 0x08, 0x34, 0x58, - 0x7b, 0x2f, 0x0d, 0x81, 0x87, 0x6a, 0x90, 0xc3, 0x7b, 0x2e, 0x36, 0x1c, 0xdd, 0x34, 0xa6, 0x33, - 0x94, 0xc8, 0x7d, 0x03, 0x56, 0x11, 0xb7, 0x5b, 0xbd, 0x24, 0x7c, 0x3c, 0x74, 0x1e, 0x32, 0xa6, - 0xe5, 0xea, 0xa6, 0xe1, 0x4c, 0x67, 0xe7, 0x62, 0x27, 0xf3, 0x67, 0xef, 0x1c, 0x28, 0x08, 0x6b, - 0x0c, 0x46, 0x11, 0xc0, 0x68, 0x09, 0x24, 0xc7, 0xec, 0xda, 0x4d, 0xac, 0x36, 0xcd, 0x16, 0x56, - 0x75, 0x63, 0xdb, 0x9c, 0xce, 0x51, 0x02, 0xb3, 0xfd, 0x13, 0xa1, 0x80, 0x35, 0xb3, 0x85, 0x97, - 0x8c, 0x6d, 0x53, 0x29, 0x3a, 0xa1, 0x32, 0x3a, 0x02, 0x69, 0x67, 0xdf, 0x70, 0xb5, 0xbd, 0xe9, - 0x71, 0x2a, 0x21, 0xbc, 0x24, 0xff, 0x7a, 0x1a, 0x4a, 0xa3, 0x88, 0xd8, 0x05, 0x48, 0x6d, 0x93, - 0x59, 0x4e, 0xc7, 0x0f, 0xc3, 0x03, 0x86, 0x13, 0x66, 0x62, 0xfa, 0x36, 0x99, 0x58, 0x81, 0xbc, - 0x81, 0x1d, 0x17, 0xb7, 0x98, 0x44, 0x24, 0x46, 0x94, 0x29, 0x60, 0x48, 0xfd, 0x22, 0x95, 0xbc, - 0x2d, 0x91, 0x7a, 0x0e, 0x4a, 0xde, 0x90, 0x54, 0x5b, 0x33, 0x76, 0x84, 0x6c, 0x9e, 0x89, 0x1a, - 0xc9, 0x7c, 0x5d, 0xe0, 0x29, 0x04, 0x4d, 0x29, 0xe2, 0x50, 0x19, 0x2d, 0x02, 0x98, 0x06, 0x36, - 0xb7, 0xd5, 0x16, 0x6e, 0xb6, 0xa7, 0xb3, 0x43, 0xb8, 0xb4, 0x46, 0x40, 0xfa, 0xb8, 0x64, 0xb2, - 0xda, 0x66, 0x1b, 0x3d, 0xe9, 0x8b, 0x5a, 0x66, 0x88, 0xa4, 0xac, 0xb0, 0x4d, 0xd6, 0x27, 0x6d, - 0x9b, 0x50, 0xb4, 0x31, 0x91, 0x7b, 0xdc, 0xe2, 0x33, 0xcb, 0xd1, 0x41, 0xcc, 0x47, 0xce, 0x4c, - 0xe1, 0x68, 0x6c, 0x62, 0x05, 0x3b, 0x58, 0x44, 0xf7, 0x80, 0x57, 0xa1, 0x52, 0xb1, 0x02, 0xaa, - 0x85, 0xc6, 0x45, 0xe5, 0xaa, 0xd6, 0xc1, 0xe5, 0x97, 0xa0, 0x18, 0x66, 0x0f, 0x9a, 0x82, 0x94, - 0xe3, 0x6a, 0xb6, 0x4b, 0xa5, 0x30, 0xa5, 0xb0, 0x02, 0x92, 0x20, 0x81, 0x8d, 0x16, 0xd5, 0x72, - 0x29, 0x85, 0xfc, 0x44, 0x3f, 0xe4, 0x4f, 0x38, 0x41, 0x27, 0x7c, 0x7f, 0xff, 0x8a, 0x86, 0x28, - 0xf7, 0xce, 0xbb, 0xfc, 0x38, 0x14, 0x42, 0x13, 0x18, 0xb5, 0x6b, 0xf9, 0xff, 0x83, 0x3b, 0x06, - 0x92, 0x46, 0xcf, 0xc1, 0x54, 0xd7, 0xd0, 0x0d, 0x17, 0xdb, 0x96, 0x8d, 0x89, 0xc4, 0xb2, 0xae, - 0xa6, 0xbf, 0x99, 0x19, 0x22, 0x73, 0x9b, 0x41, 0x68, 0x46, 0x45, 0x99, 0xec, 0xf6, 0x57, 0x9e, - 0xce, 0x65, 0xbf, 0x95, 0x91, 0x5e, 0x7e, 0xf9, 0xe5, 0x97, 0xe3, 0xf2, 0x6f, 0xa7, 0x61, 0x6a, - 0xd0, 0x9e, 0x19, 0xb8, 0x7d, 0x8f, 0x40, 0xda, 0xe8, 0x76, 0xb6, 0xb0, 0x4d, 0x99, 0x94, 0x52, - 0x78, 0x09, 0x55, 0x20, 0xd5, 0xd6, 0xb6, 0x70, 0x7b, 0x3a, 0x39, 0x17, 0x3b, 0x59, 0x3c, 0xfb, - 0xc0, 0x48, 0xbb, 0x72, 0x7e, 0x99, 0xa0, 0x28, 0x0c, 0x13, 0xbd, 0x1d, 0x92, 0x5c, 0x45, 0x13, - 0x0a, 0xa7, 0x47, 0xa3, 0x40, 0xf6, 0x92, 0x42, 0xf1, 0xd0, 0x71, 0xc8, 0x91, 0xff, 0x99, 0x6c, - 0xa4, 0xe9, 0x98, 0xb3, 0xa4, 0x82, 0xc8, 0x05, 0x2a, 0x43, 0x96, 0x6e, 0x93, 0x16, 0x16, 0xa6, - 0xcd, 0x2b, 0x13, 0xc1, 0x6a, 0xe1, 0x6d, 0xad, 0xdb, 0x76, 0xd5, 0xeb, 0x5a, 0xbb, 0x8b, 0xa9, - 0xc0, 0xe7, 0x94, 0x71, 0x5e, 0x79, 0x95, 0xd4, 0xa1, 0x59, 0xc8, 0xb3, 0x5d, 0xa5, 0x1b, 0x2d, - 0xbc, 0x47, 0xb5, 0x67, 0x4a, 0x61, 0x1b, 0x6d, 0x89, 0xd4, 0x90, 0xee, 0x5f, 0x74, 0x4c, 0x43, - 0x88, 0x26, 0xed, 0x82, 0x54, 0xd0, 0xee, 0x1f, 0xef, 0x55, 0xdc, 0x77, 0x0d, 0x9e, 0x5e, 0xdf, - 0x5e, 0x3a, 0x01, 0x25, 0x0a, 0xf1, 0x28, 0x5f, 0x7a, 0xad, 0x3d, 0x3d, 0x31, 0x17, 0x3b, 0x99, - 0x55, 0x8a, 0xac, 0x7a, 0x8d, 0xd7, 0xca, 0x5f, 0x88, 0x43, 0x92, 0x2a, 0x96, 0x12, 0xe4, 0x37, - 0x9e, 0x5f, 0xaf, 0xab, 0x8b, 0x6b, 0x9b, 0xd5, 0xe5, 0xba, 0x14, 0x43, 0x45, 0x00, 0x5a, 0x71, - 0x71, 0x79, 0xad, 0xb2, 0x21, 0xc5, 0xbd, 0xf2, 0xd2, 0xea, 0xc6, 0xf9, 0xc7, 0xa4, 0x84, 0x87, - 0xb0, 0xc9, 0x2a, 0x92, 0x41, 0x80, 0x47, 0xcf, 0x4a, 0x29, 0x24, 0xc1, 0x38, 0x23, 0xb0, 0xf4, - 0x5c, 0x7d, 0xf1, 0xfc, 0x63, 0x52, 0x3a, 0x5c, 0xf3, 0xe8, 0x59, 0x29, 0x83, 0x0a, 0x90, 0xa3, - 0x35, 0xd5, 0xb5, 0xb5, 0x65, 0x29, 0xeb, 0xd1, 0x6c, 0x6c, 0x28, 0x4b, 0xab, 0x97, 0xa4, 0x9c, - 0x47, 0xf3, 0x92, 0xb2, 0xb6, 0xb9, 0x2e, 0x81, 0x47, 0x61, 0xa5, 0xde, 0x68, 0x54, 0x2e, 0xd5, - 0xa5, 0xbc, 0x07, 0x51, 0x7d, 0x7e, 0xa3, 0xde, 0x90, 0xc6, 0x43, 0xc3, 0x7a, 0xf4, 0xac, 0x54, - 0xf0, 0xba, 0xa8, 0xaf, 0x6e, 0xae, 0x48, 0x45, 0x34, 0x01, 0x05, 0xd6, 0x85, 0x18, 0x44, 0xa9, - 0xa7, 0xea, 0xfc, 0x63, 0x92, 0xe4, 0x0f, 0x84, 0x51, 0x99, 0x08, 0x55, 0x9c, 0x7f, 0x4c, 0x42, - 0x72, 0x0d, 0x52, 0x54, 0x0c, 0x11, 0x82, 0xe2, 0x72, 0xa5, 0x5a, 0x5f, 0x56, 0xd7, 0xd6, 0x37, - 0x96, 0xd6, 0x56, 0x2b, 0xcb, 0x52, 0xcc, 0xaf, 0x53, 0xea, 0xef, 0xd8, 0x5c, 0x52, 0xea, 0x8b, - 0x52, 0x3c, 0x58, 0xb7, 0x5e, 0xaf, 0x6c, 0xd4, 0x17, 0xa5, 0x84, 0xdc, 0x84, 0xa9, 0x41, 0x0a, - 0x75, 0xe0, 0x16, 0x0a, 0xc8, 0x42, 0x7c, 0x88, 0x2c, 0x50, 0x5a, 0xbd, 0xb2, 0x20, 0x7f, 0x3d, - 0x0e, 0x93, 0x03, 0x8c, 0xca, 0xc0, 0x4e, 0x9e, 0x86, 0x14, 0x93, 0x65, 0x66, 0x66, 0x4f, 0x0d, - 0xb4, 0x4e, 0x54, 0xb2, 0xfb, 0x4c, 0x2d, 0xc5, 0x0b, 0xba, 0x1a, 0x89, 0x21, 0xae, 0x06, 0x21, - 0xd1, 0x27, 0xb0, 0xef, 0xec, 0x53, 0xfe, 0xcc, 0x3e, 0x9e, 0x1f, 0xc5, 0x3e, 0xd2, 0xba, 0xc3, - 0x19, 0x81, 0xd4, 0x00, 0x23, 0x70, 0x01, 0x26, 0xfa, 0x08, 0x8d, 0xac, 0x8c, 0xdf, 0x1b, 0x83, - 0xe9, 0x61, 0xcc, 0x89, 0x50, 0x89, 0xf1, 0x90, 0x4a, 0xbc, 0xd0, 0xcb, 0xc1, 0xbb, 0x87, 0x2f, - 0x42, 0xdf, 0x5a, 0x7f, 0x2a, 0x06, 0x47, 0x06, 0xbb, 0x94, 0x03, 0xc7, 0xf0, 0x76, 0x48, 0x77, - 0xb0, 0xbb, 0x6b, 0x0a, 0xb7, 0xea, 0xfe, 0x01, 0xc6, 0x9a, 0x34, 0xf7, 0x2e, 0x36, 0xc7, 0x0a, - 0x5a, 0xfb, 0xc4, 0x30, 0xbf, 0x90, 0x8d, 0xa6, 0x6f, 0xa4, 0x3f, 0x15, 0x87, 0x3b, 0x06, 0x12, - 0x1f, 0x38, 0xd0, 0xbb, 0x00, 0x74, 0xc3, 0xea, 0xba, 0xcc, 0x75, 0x62, 0x9a, 0x38, 0x47, 0x6b, - 0xa8, 0xf2, 0x22, 0x5a, 0xb6, 0xeb, 0x7a, 0xed, 0x09, 0xda, 0x0e, 0xac, 0x8a, 0x02, 0x3c, 0xe1, - 0x0f, 0x34, 0x49, 0x07, 0x3a, 0x33, 0x64, 0xa6, 0x7d, 0x82, 0xf9, 0x30, 0x48, 0xcd, 0xb6, 0x8e, - 0x0d, 0x57, 0x75, 0x5c, 0x1b, 0x6b, 0x1d, 0xdd, 0xd8, 0xa1, 0xa6, 0x26, 0xbb, 0x90, 0xda, 0xd6, - 0xda, 0x0e, 0x56, 0x4a, 0xac, 0xb9, 0x21, 0x5a, 0x09, 0x06, 0x15, 0x20, 0x3b, 0x80, 0x91, 0x0e, - 0x61, 0xb0, 0x66, 0x0f, 0x43, 0xfe, 0xd9, 0x1c, 0xe4, 0x03, 0x0e, 0x38, 0xba, 0x1b, 0xc6, 0x5f, - 0xd4, 0xae, 0x6b, 0xaa, 0x08, 0xaa, 0x18, 0x27, 0xf2, 0xa4, 0x6e, 0x9d, 0x07, 0x56, 0x0f, 0xc3, - 0x14, 0x05, 0x31, 0xbb, 0x2e, 0xb6, 0xd5, 0x66, 0x5b, 0x73, 0x1c, 0xca, 0xb4, 0x2c, 0x05, 0x45, - 0xa4, 0x6d, 0x8d, 0x34, 0xd5, 0x44, 0x0b, 0x3a, 0x07, 0x93, 0x14, 0xa3, 0xd3, 0x6d, 0xbb, 0xba, - 0xd5, 0xc6, 0x2a, 0x09, 0xf3, 0x1c, 0x6a, 0x72, 0xbc, 0x91, 0x4d, 0x10, 0x88, 0x15, 0x0e, 0x40, - 0x46, 0xe4, 0xa0, 0x45, 0xb8, 0x8b, 0xa2, 0xed, 0x60, 0x03, 0xdb, 0x9a, 0x8b, 0x55, 0xfc, 0x9e, - 0xae, 0xd6, 0x76, 0x54, 0xcd, 0x68, 0xa9, 0xbb, 0x9a, 0xb3, 0x3b, 0x3d, 0x45, 0x08, 0x54, 0xe3, - 0xd3, 0x31, 0xe5, 0x18, 0x01, 0xbc, 0xc4, 0xe1, 0xea, 0x14, 0xac, 0x62, 0xb4, 0x2e, 0x6b, 0xce, - 0x2e, 0x5a, 0x80, 0x23, 0x94, 0x8a, 0xe3, 0xda, 0xba, 0xb1, 0xa3, 0x36, 0x77, 0x71, 0xf3, 0x9a, - 0xda, 0x75, 0xb7, 0x9f, 0x98, 0x3e, 0x1e, 0xec, 0x9f, 0x8e, 0xb0, 0x41, 0x61, 0x6a, 0x04, 0x64, - 0xd3, 0xdd, 0x7e, 0x02, 0x35, 0x60, 0x9c, 0x2c, 0x46, 0x47, 0x7f, 0x09, 0xab, 0xdb, 0xa6, 0x4d, - 0x6d, 0x68, 0x71, 0x80, 0x6a, 0x0a, 0x70, 0x70, 0x7e, 0x8d, 0x23, 0xac, 0x98, 0x2d, 0xbc, 0x90, - 0x6a, 0xac, 0xd7, 0xeb, 0x8b, 0x4a, 0x5e, 0x50, 0xb9, 0x68, 0xda, 0x44, 0xa0, 0x76, 0x4c, 0x8f, - 0xc1, 0x79, 0x26, 0x50, 0x3b, 0xa6, 0x60, 0xef, 0x39, 0x98, 0x6c, 0x36, 0xd9, 0x9c, 0xf5, 0xa6, - 0xca, 0x83, 0x31, 0x67, 0x5a, 0x0a, 0x31, 0xab, 0xd9, 0xbc, 0xc4, 0x00, 0xb8, 0x8c, 0x3b, 0xe8, - 0x49, 0xb8, 0xc3, 0x67, 0x56, 0x10, 0x71, 0xa2, 0x6f, 0x96, 0xbd, 0xa8, 0xe7, 0x60, 0xd2, 0xda, - 0xef, 0x47, 0x44, 0xa1, 0x1e, 0xad, 0xfd, 0x5e, 0xb4, 0xc7, 0x61, 0xca, 0xda, 0xb5, 0xfa, 0xf1, - 0x4e, 0x07, 0xf1, 0x90, 0xb5, 0x6b, 0xf5, 0x22, 0xde, 0x47, 0x23, 0x73, 0x1b, 0x37, 0x35, 0x17, - 0xb7, 0xa6, 0x8f, 0x06, 0xc1, 0x03, 0x0d, 0x68, 0x1e, 0xa4, 0x66, 0x53, 0xc5, 0x86, 0xb6, 0xd5, - 0xc6, 0xaa, 0x66, 0x63, 0x43, 0x73, 0xa6, 0x67, 0x29, 0x70, 0xd2, 0xb5, 0xbb, 0x58, 0x29, 0x36, - 0x9b, 0x75, 0xda, 0x58, 0xa1, 0x6d, 0xe8, 0x34, 0x4c, 0x98, 0x5b, 0x2f, 0x36, 0x99, 0x44, 0xaa, - 0x96, 0x8d, 0xb7, 0xf5, 0xbd, 0xe9, 0x7b, 0x29, 0x7b, 0x4b, 0xa4, 0x81, 0xca, 0xe3, 0x3a, 0xad, - 0x46, 0xa7, 0x40, 0x6a, 0x3a, 0xbb, 0x9a, 0x6d, 0x51, 0x95, 0xec, 0x58, 0x5a, 0x13, 0x4f, 0xdf, - 0xc7, 0x40, 0x59, 0xfd, 0xaa, 0xa8, 0x26, 0x3b, 0xc2, 0xb9, 0xa1, 0x6f, 0xbb, 0x82, 0xe2, 0x09, - 0xb6, 0x23, 0x68, 0x1d, 0xa7, 0x76, 0x12, 0x24, 0xc2, 0x89, 0x50, 0xc7, 0x27, 0x29, 0x58, 0xd1, - 0xda, 0xb5, 0x82, 0xfd, 0xde, 0x03, 0x05, 0x02, 0xe9, 0x77, 0x7a, 0x8a, 0x39, 0x6e, 0xd6, 0x6e, - 0xa0, 0xc7, 0xc7, 0xe0, 0x08, 0x01, 0xea, 0x60, 0x57, 0x6b, 0x69, 0xae, 0x16, 0x80, 0x7e, 0x90, - 0x42, 0x13, 0xb6, 0xaf, 0xf0, 0xc6, 0xd0, 0x38, 0xed, 0xee, 0xd6, 0xbe, 0x27, 0x58, 0x0f, 0xb1, - 0x71, 0x92, 0x3a, 0x21, 0x5a, 0x6f, 0x9a, 0x73, 0x2e, 0x2f, 0xc0, 0x78, 0x50, 0xee, 0x51, 0x0e, - 0x98, 0xe4, 0x4b, 0x31, 0xe2, 0x04, 0xd5, 0xd6, 0x16, 0x89, 0xfb, 0xf2, 0x42, 0x5d, 0x8a, 0x13, - 0x37, 0x6a, 0x79, 0x69, 0xa3, 0xae, 0x2a, 0x9b, 0xab, 0x1b, 0x4b, 0x2b, 0x75, 0x29, 0x11, 0x70, - 0xec, 0xaf, 0x24, 0xb3, 0xf7, 0x4b, 0x27, 0x88, 0xd7, 0x50, 0x0c, 0x47, 0x6a, 0xe8, 0x6d, 0x70, - 0x54, 0xa4, 0x55, 0x1c, 0xec, 0xaa, 0x37, 0x74, 0x9b, 0x6e, 0xc8, 0x8e, 0xc6, 0x8c, 0xa3, 0x27, - 0x3f, 0x53, 0x1c, 0xaa, 0x81, 0xdd, 0x67, 0x75, 0x9b, 0x6c, 0xb7, 0x8e, 0xe6, 0xa2, 0x65, 0x98, - 0x35, 0x4c, 0xd5, 0x71, 0x35, 0xa3, 0xa5, 0xd9, 0x2d, 0xd5, 0x4f, 0x68, 0xa9, 0x5a, 0xb3, 0x89, - 0x1d, 0xc7, 0x64, 0x86, 0xd0, 0xa3, 0x72, 0xa7, 0x61, 0x36, 0x38, 0xb0, 0x6f, 0x21, 0x2a, 0x1c, - 0xb4, 0x47, 0x7c, 0x13, 0xc3, 0xc4, 0xf7, 0x38, 0xe4, 0x3a, 0x9a, 0xa5, 0x62, 0xc3, 0xb5, 0xf7, - 0xa9, 0x7f, 0x9e, 0x55, 0xb2, 0x1d, 0xcd, 0xaa, 0x93, 0xf2, 0x5b, 0x12, 0x26, 0x5d, 0x49, 0x66, - 0x93, 0x52, 0xea, 0x4a, 0x32, 0x9b, 0x92, 0xd2, 0x57, 0x92, 0xd9, 0xb4, 0x94, 0xb9, 0x92, 0xcc, - 0x66, 0xa5, 0xdc, 0x95, 0x64, 0x36, 0x27, 0x81, 0xfc, 0x73, 0x49, 0x18, 0x0f, 0x7a, 0xf0, 0x24, - 0x20, 0x6a, 0x52, 0x1b, 0x16, 0xa3, 0x5a, 0xee, 0x9e, 0x03, 0xfd, 0xfd, 0xf9, 0x1a, 0x31, 0x6e, - 0x0b, 0x69, 0xe6, 0x2e, 0x2b, 0x0c, 0x93, 0x38, 0x16, 0x44, 0xfc, 0x30, 0x73, 0x4f, 0xb2, 0x0a, - 0x2f, 0xa1, 0x4b, 0x90, 0x7e, 0xd1, 0xa1, 0xb4, 0xd3, 0x94, 0xf6, 0xbd, 0x07, 0xd3, 0xbe, 0xd2, - 0xa0, 0xc4, 0x73, 0x57, 0x1a, 0xea, 0xea, 0x9a, 0xb2, 0x52, 0x59, 0x56, 0x38, 0x3a, 0x3a, 0x06, - 0xc9, 0xb6, 0xf6, 0xd2, 0x7e, 0xd8, 0x0c, 0xd2, 0x2a, 0x34, 0x0f, 0xa5, 0xae, 0x71, 0x1d, 0xdb, - 0xfa, 0xb6, 0x8e, 0x5b, 0x2a, 0x85, 0x2a, 0x05, 0xa1, 0x8a, 0x7e, 0xeb, 0x32, 0x81, 0x1f, 0x71, - 0x19, 0x8f, 0x41, 0xf2, 0x06, 0xd6, 0xae, 0x85, 0x8d, 0x15, 0xad, 0x7a, 0x13, 0xb7, 0xd3, 0x19, - 0x48, 0x51, 0xfe, 0x22, 0x00, 0xce, 0x61, 0x69, 0x0c, 0x65, 0x21, 0x59, 0x5b, 0x53, 0xc8, 0x96, - 0x92, 0x60, 0x9c, 0xd5, 0xaa, 0xeb, 0x4b, 0xf5, 0x5a, 0x5d, 0x8a, 0xcb, 0xe7, 0x20, 0xcd, 0x98, - 0x46, 0xb6, 0x9b, 0xc7, 0x36, 0x69, 0x8c, 0x17, 0x39, 0x8d, 0x98, 0x68, 0xdd, 0x5c, 0xa9, 0xd6, - 0x15, 0x29, 0xde, 0x27, 0x2c, 0xb2, 0x03, 0xe3, 0x41, 0x4f, 0xfe, 0xad, 0x09, 0xe7, 0xbf, 0x1c, - 0x83, 0x7c, 0xc0, 0x33, 0x27, 0x2e, 0x95, 0xd6, 0x6e, 0x9b, 0x37, 0x54, 0xad, 0xad, 0x6b, 0x0e, - 0x17, 0x25, 0xa0, 0x55, 0x15, 0x52, 0x33, 0xea, 0xd2, 0xbd, 0x45, 0x9b, 0x2c, 0x25, 0xa5, 0xe5, - 0x8f, 0xc5, 0x40, 0xea, 0x75, 0x8d, 0x7b, 0x86, 0x19, 0xfb, 0xab, 0x1c, 0xa6, 0xfc, 0xd1, 0x18, - 0x14, 0xc3, 0xfe, 0x70, 0xcf, 0xf0, 0xee, 0xfe, 0x2b, 0x1d, 0xde, 0x1f, 0xc4, 0xa1, 0x10, 0xf2, - 0x82, 0x47, 0x1d, 0xdd, 0x7b, 0x60, 0x42, 0x6f, 0xe1, 0x8e, 0x65, 0xba, 0xd8, 0x68, 0xee, 0xab, - 0x6d, 0x7c, 0x1d, 0xb7, 0xa7, 0x65, 0xaa, 0x64, 0xce, 0x1c, 0xec, 0x67, 0xcf, 0x2f, 0xf9, 0x78, - 0xcb, 0x04, 0x6d, 0x61, 0x72, 0x69, 0xb1, 0xbe, 0xb2, 0xbe, 0xb6, 0x51, 0x5f, 0xad, 0x3d, 0xaf, - 0x6e, 0xae, 0x3e, 0xb3, 0xba, 0xf6, 0xec, 0xaa, 0x22, 0xe9, 0x3d, 0x60, 0x6f, 0xe2, 0xb6, 0x5f, - 0x07, 0xa9, 0x77, 0x50, 0xe8, 0x28, 0x0c, 0x1a, 0x96, 0x34, 0x86, 0x26, 0xa1, 0xb4, 0xba, 0xa6, - 0x36, 0x96, 0x16, 0xeb, 0x6a, 0xfd, 0xe2, 0xc5, 0x7a, 0x6d, 0xa3, 0xc1, 0x32, 0x27, 0x1e, 0xf4, - 0x46, 0x68, 0x83, 0xcb, 0x1f, 0x4e, 0xc0, 0xe4, 0x80, 0x91, 0xa0, 0x0a, 0x8f, 0x79, 0x58, 0x18, - 0xf6, 0xd0, 0x28, 0xa3, 0x9f, 0x27, 0x5e, 0xc7, 0xba, 0x66, 0xbb, 0x3c, 0x44, 0x3a, 0x05, 0x84, - 0x4b, 0x86, 0x4b, 0x94, 0xab, 0xcd, 0x33, 0x52, 0x2c, 0x10, 0x2a, 0xf9, 0xf5, 0x2c, 0x29, 0xf5, - 0x20, 0x20, 0xcb, 0x74, 0x74, 0x57, 0xbf, 0x8e, 0x55, 0xdd, 0x10, 0xe9, 0x2b, 0x12, 0x18, 0x25, - 0x15, 0x49, 0xb4, 0x2c, 0x19, 0xae, 0x07, 0x6d, 0xe0, 0x1d, 0xad, 0x07, 0x9a, 0x28, 0xff, 0x84, - 0x22, 0x89, 0x16, 0x0f, 0xfa, 0x6e, 0x18, 0x6f, 0x99, 0x5d, 0xe2, 0x2d, 0x32, 0x38, 0x62, 0x6b, - 0x62, 0x4a, 0x9e, 0xd5, 0x79, 0x20, 0x3c, 0x0e, 0xf0, 0xf3, 0x66, 0xe3, 0x4a, 0x9e, 0xd5, 0x31, - 0x90, 0x13, 0x50, 0xd2, 0x76, 0x76, 0x6c, 0x42, 0x5c, 0x10, 0x62, 0x91, 0x4d, 0xd1, 0xab, 0xa6, - 0x80, 0xe5, 0x2b, 0x90, 0x15, 0x7c, 0x20, 0xc6, 0x9e, 0x70, 0x42, 0xb5, 0x58, 0xb8, 0x1e, 0x3f, - 0x99, 0x53, 0xb2, 0x86, 0x68, 0xbc, 0x1b, 0xc6, 0x75, 0x47, 0xf5, 0x8f, 0x01, 0xe2, 0x73, 0xf1, - 0x93, 0x59, 0x25, 0xaf, 0x3b, 0x5e, 0x0a, 0x55, 0xfe, 0x54, 0x1c, 0x8a, 0xe1, 0x63, 0x0c, 0xb4, - 0x08, 0xd9, 0xb6, 0xd9, 0xd4, 0xa8, 0x68, 0xb1, 0x33, 0xb4, 0x93, 0x11, 0x27, 0x1f, 0xf3, 0xcb, - 0x1c, 0x5e, 0xf1, 0x30, 0xcb, 0xff, 0x26, 0x06, 0x59, 0x51, 0x8d, 0x8e, 0x40, 0xd2, 0xd2, 0xdc, - 0x5d, 0x4a, 0x2e, 0x55, 0x8d, 0x4b, 0x31, 0x85, 0x96, 0x49, 0xbd, 0x63, 0x69, 0x06, 0x15, 0x01, - 0x5e, 0x4f, 0xca, 0x64, 0x5d, 0xdb, 0x58, 0x6b, 0xd1, 0xb0, 0xc9, 0xec, 0x74, 0xb0, 0xe1, 0x3a, - 0x62, 0x5d, 0x79, 0x7d, 0x8d, 0x57, 0xa3, 0x07, 0x60, 0xc2, 0xb5, 0x35, 0xbd, 0x1d, 0x82, 0x4d, - 0x52, 0x58, 0x49, 0x34, 0x78, 0xc0, 0x0b, 0x70, 0x4c, 0xd0, 0x6d, 0x61, 0x57, 0x6b, 0xee, 0xe2, - 0x96, 0x8f, 0x94, 0xa6, 0xe9, 0x91, 0xa3, 0x1c, 0x60, 0x91, 0xb7, 0x0b, 0x5c, 0xf9, 0x6b, 0x31, - 0x98, 0x10, 0x81, 0x5e, 0xcb, 0x63, 0xd6, 0x0a, 0x80, 0x66, 0x18, 0xa6, 0x1b, 0x64, 0x57, 0xbf, - 0x28, 0xf7, 0xe1, 0xcd, 0x57, 0x3c, 0x24, 0x25, 0x40, 0xa0, 0xdc, 0x01, 0xf0, 0x5b, 0x86, 0xb2, - 0x6d, 0x16, 0xf2, 0xfc, 0x8c, 0x8a, 0x1e, 0x74, 0xb2, 0xd4, 0x00, 0xb0, 0x2a, 0x12, 0x11, 0xa2, - 0x29, 0x48, 0x6d, 0xe1, 0x1d, 0xdd, 0xe0, 0x99, 0x67, 0x56, 0x10, 0x09, 0x9c, 0xa4, 0x97, 0xc0, - 0xa9, 0xfe, 0xff, 0x30, 0xd9, 0x34, 0x3b, 0xbd, 0xc3, 0xad, 0x4a, 0x3d, 0xe9, 0x09, 0xe7, 0x72, - 0xec, 0x85, 0x87, 0x38, 0xd0, 0x8e, 0xd9, 0xd6, 0x8c, 0x9d, 0x79, 0xd3, 0xde, 0xf1, 0x0f, 0x6a, - 0x89, 0x87, 0xe4, 0x04, 0x8e, 0x6b, 0xad, 0xad, 0xff, 0x19, 0x8b, 0xfd, 0x52, 0x3c, 0x71, 0x69, - 0xbd, 0xfa, 0x2b, 0xf1, 0xf2, 0x25, 0x86, 0xb8, 0x2e, 0x98, 0xa1, 0xe0, 0xed, 0x36, 0x6e, 0x92, - 0x09, 0xc2, 0x1f, 0x3f, 0x00, 0x53, 0x3b, 0xe6, 0x8e, 0x49, 0x29, 0x9d, 0x21, 0xbf, 0xf8, 0x49, - 0x6f, 0xce, 0xab, 0x2d, 0x47, 0x1e, 0x0b, 0x2f, 0xac, 0xc2, 0x24, 0x07, 0x56, 0xe9, 0x51, 0x13, - 0x0b, 0x84, 0xd0, 0x81, 0x59, 0xb8, 0xe9, 0x5f, 0xfd, 0x06, 0x35, 0xdf, 0xca, 0x04, 0x47, 0x25, - 0x6d, 0x2c, 0x56, 0x5a, 0x50, 0xe0, 0x8e, 0x10, 0x3d, 0xb6, 0x49, 0xb1, 0x1d, 0x41, 0xf1, 0x9f, - 0x73, 0x8a, 0x93, 0x01, 0x8a, 0x0d, 0x8e, 0xba, 0x50, 0x83, 0xc2, 0x61, 0x68, 0xfd, 0x0b, 0x4e, - 0x6b, 0x1c, 0x07, 0x89, 0x5c, 0x82, 0x12, 0x25, 0xd2, 0xec, 0x3a, 0xae, 0xd9, 0xa1, 0x1a, 0xf0, - 0x60, 0x32, 0xff, 0xf2, 0x1b, 0x6c, 0xd7, 0x14, 0x09, 0x5a, 0xcd, 0xc3, 0x5a, 0x58, 0x00, 0x7a, - 0xba, 0xd6, 0xc2, 0xcd, 0x76, 0x04, 0x85, 0xaf, 0xf0, 0x81, 0x78, 0xf0, 0x0b, 0x57, 0x61, 0x8a, - 0xfc, 0xa6, 0x0a, 0x2a, 0x38, 0x92, 0xe8, 0x94, 0xdd, 0xf4, 0xd7, 0xde, 0xcb, 0x36, 0xe6, 0xa4, - 0x47, 0x20, 0x30, 0xa6, 0xc0, 0x2a, 0xee, 0x60, 0xd7, 0xc5, 0xb6, 0xa3, 0x6a, 0xed, 0x41, 0xc3, - 0x0b, 0xe4, 0x3c, 0xa6, 0x7f, 0xf1, 0x3b, 0xe1, 0x55, 0xbc, 0xc4, 0x30, 0x2b, 0xed, 0xf6, 0xc2, - 0x26, 0x1c, 0x1d, 0x20, 0x15, 0x23, 0xd0, 0xfc, 0x30, 0xa7, 0x39, 0xd5, 0x27, 0x19, 0x84, 0xec, - 0x3a, 0x88, 0x7a, 0x6f, 0x2d, 0x47, 0xa0, 0xf9, 0x11, 0x4e, 0x13, 0x71, 0x5c, 0xb1, 0xa4, 0x84, - 0xe2, 0x15, 0x98, 0xb8, 0x8e, 0xed, 0x2d, 0xd3, 0xe1, 0x79, 0xa6, 0x11, 0xc8, 0x7d, 0x94, 0x93, - 0x2b, 0x71, 0x44, 0x9a, 0x78, 0x22, 0xb4, 0x9e, 0x84, 0xec, 0xb6, 0xd6, 0xc4, 0x23, 0x90, 0xb8, - 0xc5, 0x49, 0x64, 0x08, 0x3c, 0x41, 0xad, 0xc0, 0xf8, 0x8e, 0xc9, 0x6d, 0x54, 0x34, 0xfa, 0xc7, - 0x38, 0x7a, 0x5e, 0xe0, 0x70, 0x12, 0x96, 0x69, 0x75, 0xdb, 0xc4, 0x80, 0x45, 0x93, 0xf8, 0x3b, - 0x82, 0x84, 0xc0, 0xe1, 0x24, 0x0e, 0xc1, 0xd6, 0x57, 0x04, 0x09, 0x27, 0xc0, 0xcf, 0xa7, 0x21, - 0x6f, 0x1a, 0xed, 0x7d, 0xd3, 0x18, 0x65, 0x10, 0x1f, 0xe7, 0x14, 0x80, 0xa3, 0x10, 0x02, 0x17, - 0x20, 0x37, 0xea, 0x42, 0xfc, 0xf2, 0x77, 0xc4, 0xf6, 0x10, 0x2b, 0x70, 0x09, 0x4a, 0x42, 0x41, - 0xe9, 0xa6, 0x31, 0x02, 0x89, 0x4f, 0x72, 0x12, 0xc5, 0x00, 0x1a, 0x9f, 0x86, 0x8b, 0x1d, 0x77, - 0x07, 0x8f, 0x42, 0xe4, 0x53, 0x62, 0x1a, 0x1c, 0x85, 0xb3, 0x72, 0x0b, 0x1b, 0xcd, 0xdd, 0xd1, - 0x28, 0x7c, 0x5a, 0xb0, 0x52, 0xe0, 0x10, 0x12, 0x35, 0x28, 0x74, 0x34, 0xdb, 0xd9, 0xd5, 0xda, - 0x23, 0x2d, 0xc7, 0x67, 0x38, 0x8d, 0x71, 0x0f, 0x89, 0x73, 0xa4, 0x6b, 0x1c, 0x86, 0xcc, 0xaf, - 0x08, 0x8e, 0x04, 0xd0, 0xf8, 0xd6, 0x73, 0x5c, 0x9a, 0x94, 0x3b, 0x0c, 0xb5, 0xbf, 0x27, 0xb6, - 0x1e, 0xc3, 0x5d, 0x09, 0x52, 0xbc, 0x00, 0x39, 0x47, 0x7f, 0x69, 0x24, 0x32, 0x7f, 0x5f, 0xac, - 0x34, 0x45, 0x20, 0xc8, 0xcf, 0xc3, 0xb1, 0x81, 0x66, 0x62, 0x04, 0x62, 0xff, 0x80, 0x13, 0x3b, - 0x32, 0xc0, 0x54, 0x70, 0x95, 0x70, 0x58, 0x92, 0xff, 0x50, 0xa8, 0x04, 0xdc, 0x43, 0x6b, 0x9d, - 0x44, 0x0d, 0x8e, 0xb6, 0x7d, 0x38, 0xae, 0xfd, 0x23, 0xc1, 0x35, 0x86, 0x1b, 0xe2, 0xda, 0x06, - 0x1c, 0xe1, 0x14, 0x0f, 0xb7, 0xae, 0x9f, 0x15, 0x8a, 0x95, 0x61, 0x6f, 0x86, 0x57, 0xf7, 0x87, - 0xa1, 0xec, 0xb1, 0x53, 0xb8, 0xa7, 0x8e, 0xda, 0xd1, 0xac, 0x11, 0x28, 0xff, 0x2a, 0xa7, 0x2c, - 0x34, 0xbe, 0xe7, 0xdf, 0x3a, 0x2b, 0x9a, 0x45, 0x88, 0x3f, 0x07, 0xd3, 0x82, 0x78, 0xd7, 0xb0, - 0x71, 0xd3, 0xdc, 0x31, 0xf4, 0x97, 0x70, 0x6b, 0x04, 0xd2, 0xbf, 0xd6, 0xb3, 0x54, 0x9b, 0x01, - 0x74, 0x42, 0x79, 0x09, 0x24, 0xcf, 0x57, 0x51, 0xf5, 0x8e, 0x65, 0xda, 0x6e, 0x04, 0xc5, 0xcf, - 0x89, 0x95, 0xf2, 0xf0, 0x96, 0x28, 0xda, 0x42, 0x1d, 0xd8, 0x49, 0xf5, 0xa8, 0x22, 0xf9, 0x79, - 0x4e, 0xa8, 0xe0, 0x63, 0x71, 0xc5, 0xd1, 0x34, 0x3b, 0x96, 0x66, 0x8f, 0xa2, 0xff, 0xfe, 0xb1, - 0x50, 0x1c, 0x1c, 0x85, 0x2b, 0x0e, 0xe2, 0xd1, 0x11, 0x6b, 0x3f, 0x02, 0x85, 0x2f, 0x08, 0xc5, - 0x21, 0x70, 0x38, 0x09, 0xe1, 0x30, 0x8c, 0x40, 0xe2, 0x8b, 0x82, 0x84, 0xc0, 0x21, 0x24, 0xde, - 0xe1, 0x1b, 0x5a, 0x1b, 0xef, 0xe8, 0x8e, 0x6b, 0x33, 0xa7, 0xf8, 0x60, 0x52, 0x5f, 0xfa, 0x4e, - 0xd8, 0x09, 0x53, 0x02, 0xa8, 0x44, 0x13, 0xf1, 0x34, 0x2d, 0x8d, 0x99, 0xa2, 0x07, 0xf6, 0xeb, - 0x42, 0x13, 0x05, 0xd0, 0xc8, 0xd8, 0x02, 0x1e, 0x22, 0x61, 0x7b, 0x93, 0x44, 0x0a, 0x23, 0x90, - 0xfb, 0x27, 0x3d, 0x83, 0x6b, 0x08, 0x5c, 0x42, 0x33, 0xe0, 0xff, 0x74, 0x8d, 0x6b, 0x78, 0x7f, - 0x24, 0xe9, 0xfc, 0x8d, 0x1e, 0xff, 0x67, 0x93, 0x61, 0x32, 0x1d, 0x52, 0xea, 0xf1, 0xa7, 0x50, - 0xd4, 0xbd, 0xa4, 0xe9, 0x1f, 0x7d, 0x9d, 0xcf, 0x37, 0xec, 0x4e, 0x2d, 0x2c, 0x13, 0x21, 0x0f, - 0x3b, 0x3d, 0xd1, 0xc4, 0xde, 0xfb, 0xba, 0x27, 0xe7, 0x21, 0x9f, 0x67, 0xe1, 0x22, 0x14, 0x42, - 0x0e, 0x4f, 0x34, 0xa9, 0x1f, 0xe7, 0xa4, 0xc6, 0x83, 0xfe, 0xce, 0xc2, 0x39, 0x48, 0x12, 0xe7, - 0x25, 0x1a, 0xfd, 0x27, 0x38, 0x3a, 0x05, 0x5f, 0x78, 0x0a, 0xb2, 0xc2, 0x69, 0x89, 0x46, 0xfd, - 0x49, 0x8e, 0xea, 0xa1, 0x10, 0x74, 0xe1, 0xb0, 0x44, 0xa3, 0xff, 0x0d, 0x81, 0x2e, 0x50, 0x08, - 0xfa, 0xe8, 0x2c, 0xfc, 0xf2, 0xdf, 0x4c, 0x72, 0xa3, 0x23, 0x78, 0x77, 0x01, 0x32, 0xdc, 0x53, - 0x89, 0xc6, 0xfe, 0x29, 0xde, 0xb9, 0xc0, 0x58, 0x78, 0x1c, 0x52, 0x23, 0x32, 0xfc, 0x6f, 0x71, - 0x54, 0x06, 0xbf, 0x50, 0x83, 0x7c, 0xc0, 0x3b, 0x89, 0x46, 0x7f, 0x3f, 0x47, 0x0f, 0x62, 0x91, - 0xa1, 0x73, 0xef, 0x24, 0x9a, 0xc0, 0xcf, 0x88, 0xa1, 0x73, 0x0c, 0xc2, 0x36, 0xe1, 0x98, 0x44, - 0x63, 0x7f, 0x40, 0x70, 0x5d, 0xa0, 0x2c, 0x3c, 0x0d, 0x39, 0xcf, 0xd8, 0x44, 0xe3, 0xff, 0x2c, - 0xc7, 0xf7, 0x71, 0x08, 0x07, 0x02, 0xc6, 0x2e, 0x9a, 0xc4, 0xcf, 0x09, 0x0e, 0x04, 0xb0, 0xc8, - 0x36, 0xea, 0x75, 0x60, 0xa2, 0x29, 0x7d, 0x50, 0x6c, 0xa3, 0x1e, 0xff, 0x85, 0xac, 0x26, 0xd5, - 0xf9, 0xd1, 0x24, 0xfe, 0xb6, 0x58, 0x4d, 0x0a, 0x4f, 0x86, 0xd1, 0xeb, 0x11, 0x44, 0xd3, 0xf8, - 0x05, 0x31, 0x8c, 0x1e, 0x87, 0x60, 0x61, 0x1d, 0x50, 0xbf, 0x37, 0x10, 0x4d, 0xef, 0x43, 0x9c, - 0xde, 0x44, 0x9f, 0x33, 0xb0, 0xf0, 0x2c, 0x1c, 0x19, 0xec, 0x09, 0x44, 0x53, 0xfd, 0xc5, 0xd7, - 0x7b, 0x62, 0xb7, 0xa0, 0x23, 0xb0, 0xb0, 0xe1, 0x9b, 0x94, 0xa0, 0x17, 0x10, 0x4d, 0xf6, 0xc3, - 0xaf, 0x87, 0x15, 0x77, 0xd0, 0x09, 0x58, 0xa8, 0x00, 0xf8, 0x06, 0x38, 0x9a, 0xd6, 0x47, 0x39, - 0xad, 0x00, 0x12, 0xd9, 0x1a, 0xdc, 0xfe, 0x46, 0xe3, 0xdf, 0x12, 0x5b, 0x83, 0x63, 0x90, 0xad, - 0x21, 0x4c, 0x6f, 0x34, 0xf6, 0xc7, 0xc4, 0xd6, 0x10, 0x28, 0x44, 0xb2, 0x03, 0xd6, 0x2d, 0x9a, - 0xc2, 0xc7, 0x85, 0x64, 0x07, 0xb0, 0x16, 0x56, 0x61, 0xa2, 0xcf, 0x20, 0x46, 0x93, 0xfa, 0x25, - 0x4e, 0x4a, 0xea, 0xb5, 0x87, 0x41, 0xe3, 0xc5, 0x8d, 0x61, 0x34, 0xb5, 0x4f, 0xf4, 0x18, 0x2f, - 0x6e, 0x0b, 0x17, 0x2e, 0x40, 0xd6, 0xe8, 0xb6, 0xdb, 0x64, 0xf3, 0xa0, 0x83, 0xef, 0x12, 0x4e, - 0xff, 0xd7, 0xef, 0x71, 0xee, 0x08, 0x84, 0x85, 0x73, 0x90, 0xc2, 0x9d, 0x2d, 0xdc, 0x8a, 0xc2, - 0xfc, 0xf6, 0xf7, 0x84, 0xc2, 0x24, 0xd0, 0x0b, 0x4f, 0x03, 0xb0, 0xd4, 0x08, 0x3d, 0x3c, 0x8c, - 0xc0, 0xfd, 0xa3, 0xef, 0xf1, 0xcb, 0x3b, 0x3e, 0x8a, 0x4f, 0x80, 0x5d, 0x05, 0x3a, 0x98, 0xc0, - 0x77, 0xc2, 0x04, 0xe8, 0x8a, 0x3c, 0x09, 0x99, 0x17, 0x1d, 0xd3, 0x70, 0xb5, 0x9d, 0x28, 0xec, - 0x3f, 0xe6, 0xd8, 0x02, 0x9e, 0x30, 0xac, 0x63, 0xda, 0xd8, 0xd5, 0x76, 0x9c, 0x28, 0xdc, 0xff, - 0xc6, 0x71, 0x3d, 0x04, 0x82, 0xdc, 0xd4, 0x1c, 0x77, 0x94, 0x79, 0xff, 0x89, 0x40, 0x16, 0x08, - 0x64, 0xd0, 0xe4, 0xf7, 0x35, 0xbc, 0x1f, 0x85, 0xfb, 0xa7, 0x62, 0xd0, 0x1c, 0x7e, 0xe1, 0x29, - 0xc8, 0x91, 0x9f, 0xec, 0x46, 0x5e, 0x04, 0xf2, 0x9f, 0x71, 0x64, 0x1f, 0x83, 0xf4, 0xec, 0xb8, - 0x2d, 0x57, 0x8f, 0x66, 0xf6, 0x77, 0xf9, 0x4a, 0x0b, 0xf8, 0x85, 0x0a, 0xe4, 0x1d, 0xb7, 0xd5, - 0xea, 0x72, 0xff, 0x34, 0x02, 0xfd, 0xcf, 0xbf, 0xe7, 0xa5, 0x2c, 0x3c, 0x1c, 0xb2, 0xda, 0x37, - 0xae, 0xb9, 0x96, 0x49, 0x0f, 0x3c, 0xa2, 0x28, 0xbc, 0xce, 0x29, 0x04, 0x50, 0x16, 0x6a, 0x30, - 0x4e, 0xe6, 0x62, 0x63, 0x0b, 0xd3, 0xd3, 0xa9, 0x08, 0x12, 0x7f, 0xc1, 0x19, 0x10, 0x42, 0xaa, - 0xbe, 0xfb, 0x2b, 0xaf, 0xcd, 0xc4, 0xbe, 0xfa, 0xda, 0x4c, 0xec, 0x0f, 0x5e, 0x9b, 0x89, 0x7d, - 0xe0, 0xeb, 0x33, 0x63, 0x5f, 0xfd, 0xfa, 0xcc, 0xd8, 0xef, 0x7f, 0x7d, 0x66, 0x6c, 0x70, 0x96, - 0x18, 0x2e, 0x99, 0x97, 0x4c, 0x96, 0x1f, 0x7e, 0xe1, 0xbe, 0x1d, 0xdd, 0xdd, 0xed, 0x6e, 0xcd, - 0x37, 0xcd, 0xce, 0x99, 0xa6, 0xe9, 0x74, 0x4c, 0xe7, 0x4c, 0x38, 0xaf, 0x4b, 0x7f, 0xc1, 0xff, - 0x8e, 0x91, 0x98, 0x39, 0x9c, 0xce, 0xd5, 0x8c, 0xfd, 0x61, 0x9f, 0xf7, 0x9c, 0x87, 0x44, 0xc5, - 0xd8, 0x47, 0xc7, 0x98, 0x82, 0x53, 0xbb, 0x76, 0x9b, 0x5f, 0x0b, 0xcb, 0x90, 0xf2, 0xa6, 0xdd, - 0x46, 0x53, 0xfe, 0xdd, 0xcd, 0xd8, 0xc9, 0x71, 0x7e, 0x21, 0xb3, 0xfa, 0xfe, 0xd8, 0xe1, 0x66, - 0x92, 0xad, 0x18, 0xfb, 0x74, 0x22, 0xeb, 0xb1, 0x17, 0x1e, 0x8c, 0xcc, 0x73, 0x5f, 0x33, 0xcc, - 0x1b, 0x06, 0x19, 0xb6, 0xb5, 0x25, 0x72, 0xdc, 0x33, 0xbd, 0x39, 0xee, 0x67, 0x71, 0xbb, 0xfd, - 0x0c, 0x81, 0xdb, 0x20, 0x28, 0x5b, 0x69, 0x76, 0x03, 0x19, 0x3e, 0x18, 0x87, 0x99, 0xbe, 0x74, - 0x36, 0x17, 0x82, 0x61, 0x4c, 0x58, 0x80, 0xec, 0xa2, 0x90, 0xad, 0x69, 0xc8, 0x38, 0xb8, 0x69, - 0x1a, 0x2d, 0x87, 0x32, 0x22, 0xa1, 0x88, 0x22, 0x61, 0x84, 0xa1, 0x19, 0xa6, 0xc3, 0x2f, 0x56, - 0xb2, 0x42, 0xf5, 0x23, 0x87, 0x64, 0x44, 0x41, 0xf4, 0x24, 0xb8, 0xf1, 0xc8, 0x88, 0xdc, 0x10, - 0x93, 0x08, 0x65, 0xfe, 0x47, 0xe5, 0xca, 0x2f, 0xc4, 0x61, 0xb6, 0x97, 0x2b, 0x64, 0x67, 0x39, - 0xae, 0xd6, 0xb1, 0x86, 0xb1, 0xe5, 0x02, 0xe4, 0x36, 0x04, 0xcc, 0xa1, 0xf9, 0x72, 0xeb, 0x90, - 0x7c, 0x29, 0x7a, 0x5d, 0x09, 0xc6, 0x9c, 0x1d, 0x91, 0x31, 0xde, 0x3c, 0x6e, 0x8b, 0x33, 0x7f, - 0x99, 0x86, 0x63, 0x6c, 0x3b, 0xa9, 0x6c, 0x2b, 0xb1, 0x02, 0xe7, 0xc9, 0x78, 0xb0, 0x29, 0xfa, - 0x9c, 0x44, 0x7e, 0x06, 0x26, 0x97, 0x88, 0xb6, 0x20, 0x51, 0x90, 0x7f, 0xc2, 0x33, 0xf0, 0xee, - 0xe9, 0x5c, 0xc8, 0xe1, 0xe7, 0x27, 0x4c, 0xc1, 0x2a, 0xf9, 0x47, 0x63, 0x20, 0x35, 0x9a, 0x5a, - 0x5b, 0xb3, 0xbf, 0x5f, 0x52, 0xe8, 0x71, 0x00, 0xfa, 0xcd, 0x92, 0xff, 0x91, 0x51, 0xf1, 0xec, - 0xf4, 0x7c, 0x70, 0x72, 0xf3, 0xac, 0x27, 0xfa, 0x05, 0x43, 0x8e, 0xc2, 0x92, 0x9f, 0xa7, 0x9f, - 0x03, 0xf0, 0x1b, 0xd0, 0x71, 0x38, 0xda, 0xa8, 0x55, 0x96, 0x2b, 0x8a, 0xca, 0x2e, 0xc3, 0xaf, - 0x36, 0xd6, 0xeb, 0xb5, 0xa5, 0x8b, 0x4b, 0xf5, 0x45, 0x69, 0x0c, 0x1d, 0x01, 0x14, 0x6c, 0xf4, - 0xee, 0xa5, 0xdc, 0x01, 0x13, 0xc1, 0x7a, 0x76, 0xa3, 0x3e, 0x4e, 0x3c, 0x45, 0xbd, 0x63, 0xb5, - 0x31, 0x3d, 0xfa, 0x53, 0x75, 0xc1, 0xb5, 0x68, 0x27, 0xe4, 0x77, 0xfe, 0x1d, 0xbb, 0x65, 0x3d, - 0xe9, 0xa3, 0x7b, 0x3c, 0x5f, 0x58, 0x86, 0x09, 0xad, 0xd9, 0xc4, 0x56, 0x88, 0x64, 0x84, 0xaa, - 0x26, 0x04, 0xe9, 0x61, 0x26, 0xc7, 0xf4, 0xa9, 0x3d, 0x0e, 0x69, 0x87, 0xce, 0x3e, 0x8a, 0xc4, - 0xef, 0x72, 0x12, 0x1c, 0x7c, 0xc1, 0x80, 0x09, 0xe2, 0xf9, 0x69, 0x36, 0x0e, 0x0c, 0xe3, 0xe0, - 0x3c, 0xc3, 0x6f, 0x7e, 0xee, 0x61, 0x7a, 0xb4, 0x79, 0x77, 0x78, 0x59, 0x06, 0x88, 0x93, 0x22, - 0x71, 0xda, 0xfe, 0x40, 0x31, 0x14, 0x45, 0x7f, 0x7c, 0xc0, 0x07, 0x77, 0xf6, 0x5b, 0xbc, 0xb3, - 0x99, 0x41, 0x32, 0x10, 0xe8, 0xa9, 0xc0, 0xa9, 0xb2, 0x86, 0x6a, 0x7d, 0xd8, 0x9e, 0x7e, 0xe1, - 0x81, 0x7e, 0xeb, 0xc4, 0xfe, 0x7b, 0x88, 0x52, 0xbe, 0x10, 0xec, 0xc6, 0xdb, 0x7b, 0x1f, 0x49, - 0xc2, 0x84, 0xd6, 0xd1, 0x0d, 0xf3, 0x0c, 0xfd, 0x97, 0xef, 0xb9, 0x14, 0x2d, 0x8c, 0x70, 0x28, - 0x79, 0x9e, 0x6d, 0x85, 0x68, 0x89, 0xf9, 0xb3, 0x9f, 0xfe, 0x64, 0xca, 0xdf, 0x2e, 0x0b, 0x2b, - 0x20, 0x89, 0x0b, 0x87, 0xd8, 0x68, 0x9a, 0xad, 0x91, 0xb2, 0x14, 0xdf, 0x15, 0x34, 0x44, 0x7e, - 0xab, 0xce, 0x51, 0x17, 0xde, 0x06, 0x59, 0x8f, 0x4c, 0x94, 0x67, 0x22, 0x88, 0x78, 0x18, 0xc4, - 0x2f, 0x61, 0x3b, 0x73, 0x14, 0x2f, 0xf4, 0x75, 0x81, 0xcf, 0x76, 0xe8, 0x2a, 0x99, 0xcd, 0x25, - 0x28, 0xb6, 0x4c, 0xc3, 0x55, 0xcd, 0x8e, 0xee, 0xe2, 0x8e, 0xe5, 0x46, 0xfa, 0x75, 0x7f, 0xc1, - 0x88, 0x64, 0x95, 0x02, 0xc1, 0x5b, 0x13, 0x68, 0x64, 0x24, 0xec, 0x9b, 0xa2, 0x51, 0x46, 0xf2, - 0xdf, 0xbd, 0x91, 0x50, 0x1c, 0x32, 0x92, 0xdb, 0x92, 0x0e, 0xa7, 0x75, 0x8d, 0x2b, 0x73, 0x77, - 0x8f, 0x49, 0x81, 0x27, 0x1d, 0x7f, 0x92, 0x80, 0x19, 0x0e, 0xbc, 0xa5, 0x39, 0xf8, 0xcc, 0xf5, - 0x47, 0xb6, 0xb0, 0xab, 0x3d, 0x72, 0xa6, 0x69, 0xea, 0xc2, 0x92, 0x4f, 0x72, 0x65, 0x4d, 0xda, - 0xe7, 0x79, 0x7b, 0x79, 0xe0, 0x71, 0x77, 0x79, 0xb8, 0x92, 0x2f, 0xf7, 0xcb, 0xa0, 0xfc, 0x02, - 0x24, 0x6b, 0xa6, 0x6e, 0x10, 0xdb, 0xd6, 0xc2, 0x86, 0xd9, 0xe1, 0xea, 0x96, 0x15, 0xd0, 0x79, - 0x48, 0x6b, 0x1d, 0xb3, 0x6b, 0xb8, 0x4c, 0xd5, 0x56, 0x67, 0xbe, 0xf2, 0xea, 0xec, 0xd8, 0x7f, - 0x78, 0x75, 0x36, 0xb1, 0x64, 0xb8, 0xbf, 0xf7, 0xf9, 0x87, 0x80, 0x53, 0x5f, 0x32, 0xdc, 0x4f, - 0x7f, 0xf3, 0xb3, 0xa7, 0x63, 0x0a, 0x87, 0x5e, 0x48, 0x7e, 0xeb, 0x95, 0xd9, 0x98, 0xfc, 0x1c, - 0x64, 0x16, 0x71, 0xf3, 0x00, 0xf2, 0x8f, 0xf4, 0x90, 0x3f, 0x26, 0xc8, 0x2f, 0xe2, 0x66, 0x80, - 0xfc, 0x22, 0x6e, 0xf6, 0x50, 0x7e, 0x1c, 0xb2, 0x4b, 0x86, 0xcb, 0x3e, 0x77, 0x78, 0x00, 0x12, - 0xba, 0xc1, 0x6e, 0xd0, 0x06, 0x28, 0xf4, 0x0d, 0x50, 0x21, 0x50, 0x04, 0x71, 0x11, 0x37, 0x3d, - 0xc4, 0x16, 0x6e, 0xf6, 0x22, 0xf6, 0x77, 0x4d, 0xa0, 0xaa, 0x8b, 0xbf, 0xff, 0x5f, 0x66, 0xc6, - 0x5e, 0x7e, 0x6d, 0x66, 0x6c, 0xe8, 0xd2, 0xcb, 0xd1, 0x4b, 0xef, 0xad, 0xf8, 0x27, 0x93, 0x70, - 0x17, 0xfd, 0x0a, 0xce, 0xee, 0xe8, 0x86, 0x7b, 0xa6, 0x69, 0xef, 0x5b, 0xae, 0x49, 0x14, 0x80, - 0xb9, 0xcd, 0x17, 0x7c, 0xc2, 0x6f, 0x9e, 0x67, 0xcd, 0x83, 0x97, 0x5b, 0xde, 0x86, 0xd4, 0x3a, - 0xc1, 0x23, 0x2c, 0x76, 0x4d, 0x57, 0x6b, 0x73, 0xaf, 0x85, 0x15, 0x48, 0x2d, 0xfb, 0x72, 0x2e, - 0xce, 0x6a, 0x75, 0xf1, 0xd1, 0x5c, 0x1b, 0x6b, 0xdb, 0xec, 0x03, 0x84, 0x04, 0x75, 0x77, 0xb3, - 0xa4, 0x82, 0x7e, 0x6b, 0x30, 0x05, 0x29, 0xad, 0xcb, 0x6e, 0xbe, 0x24, 0x88, 0x1f, 0x4c, 0x0b, - 0xf2, 0x33, 0x90, 0xe1, 0xe7, 0xef, 0x48, 0x82, 0xc4, 0x35, 0xbc, 0x4f, 0xfb, 0x19, 0x57, 0xc8, - 0x4f, 0x34, 0x0f, 0x29, 0x3a, 0x78, 0xfe, 0x65, 0xd5, 0xf4, 0x7c, 0xdf, 0xe8, 0xe7, 0xe9, 0x20, - 0x15, 0x06, 0x26, 0x5f, 0x81, 0xec, 0xa2, 0x49, 0xa4, 0x30, 0x4c, 0x2d, 0xc7, 0xa8, 0xd1, 0x31, - 0x5b, 0x5d, 0x2e, 0x15, 0x0a, 0x2b, 0xa0, 0x23, 0x90, 0x66, 0x1f, 0xa4, 0xf0, 0xdb, 0x3b, 0xbc, - 0x24, 0xd7, 0x20, 0x43, 0x69, 0xaf, 0x59, 0xc4, 0x65, 0xf0, 0xee, 0xfe, 0xe6, 0xf8, 0xe7, 0x89, - 0x9c, 0x7c, 0xdc, 0x1f, 0x2c, 0x82, 0x64, 0x4b, 0x73, 0x35, 0x3e, 0x6f, 0xfa, 0x5b, 0x7e, 0x3b, - 0x64, 0x39, 0x11, 0x07, 0x9d, 0x85, 0x84, 0x69, 0x39, 0xfc, 0xfe, 0x4d, 0x79, 0xd8, 0x54, 0xd6, - 0xac, 0x6a, 0x92, 0xc8, 0x8c, 0x42, 0x80, 0xab, 0xab, 0x43, 0xc5, 0xe2, 0xb1, 0x90, 0x58, 0x74, - 0xb0, 0xbb, 0xb5, 0xed, 0xfa, 0x3f, 0xd8, 0x72, 0xf6, 0x89, 0x82, 0x27, 0x28, 0xb7, 0xe2, 0x30, - 0x13, 0x68, 0xbd, 0x8e, 0x6d, 0x47, 0x37, 0x0d, 0x26, 0x4d, 0x5c, 0x52, 0x50, 0x60, 0x80, 0xbc, - 0x7d, 0x88, 0xa8, 0x3c, 0x05, 0x89, 0x8a, 0x65, 0xa1, 0x32, 0x64, 0x69, 0xb9, 0x69, 0x32, 0x59, - 0x49, 0x2a, 0x5e, 0x99, 0xb4, 0x39, 0xe6, 0xb6, 0x7b, 0x43, 0xb3, 0xbd, 0xef, 0x35, 0x45, 0x59, - 0x7e, 0x12, 0x72, 0x35, 0xd3, 0x70, 0xb0, 0xe1, 0x74, 0xa9, 0x2f, 0xbc, 0xd5, 0x36, 0x9b, 0xd7, - 0x38, 0x05, 0x56, 0x20, 0xcc, 0xd6, 0x2c, 0x8b, 0x62, 0x26, 0x15, 0xf2, 0x93, 0xed, 0xd7, 0xea, - 0xda, 0x50, 0xf6, 0x9c, 0x3b, 0x1c, 0x7b, 0xf8, 0x04, 0x7d, 0xa7, 0x36, 0x06, 0x77, 0xf6, 0x6f, - 0xa4, 0x6b, 0x78, 0xdf, 0x39, 0xec, 0x3e, 0x7a, 0x0e, 0x72, 0xeb, 0xf4, 0xc1, 0x84, 0x67, 0xf0, - 0x3e, 0x2a, 0x43, 0x06, 0xb7, 0xce, 0x9e, 0x3b, 0xf7, 0xc8, 0x93, 0x4c, 0xca, 0x2f, 0x8f, 0x29, - 0xa2, 0x02, 0xcd, 0x40, 0xce, 0xc1, 0x4d, 0xeb, 0xec, 0xb9, 0xf3, 0xd7, 0x1e, 0x61, 0x62, 0x75, - 0x79, 0x4c, 0xf1, 0xab, 0x16, 0xb2, 0x64, 0xc6, 0xdf, 0xfa, 0xf8, 0x6c, 0xac, 0x9a, 0x82, 0x84, - 0xd3, 0xed, 0xbc, 0x69, 0xb2, 0xf1, 0xf3, 0x29, 0x98, 0x0b, 0xb4, 0x32, 0xe3, 0x72, 0x5d, 0x6b, - 0xeb, 0x2d, 0xcd, 0x7f, 0xe6, 0x42, 0x0a, 0xcc, 0x9f, 0x42, 0x0c, 0xb1, 0x1a, 0x07, 0x72, 0x51, - 0xfe, 0xb5, 0x18, 0x8c, 0x5f, 0x15, 0x94, 0x1b, 0xd8, 0x45, 0x17, 0x00, 0xbc, 0x9e, 0xc4, 0x56, - 0x39, 0x3e, 0xdf, 0xdb, 0xd7, 0xbc, 0x87, 0xa3, 0x04, 0xc0, 0xd1, 0xe3, 0x54, 0x00, 0x2d, 0xd3, - 0xe1, 0xdf, 0xee, 0x45, 0xa0, 0x7a, 0xc0, 0xe8, 0x41, 0x40, 0x54, 0xab, 0xa9, 0xd7, 0x4d, 0x57, - 0x37, 0x76, 0x54, 0xcb, 0xbc, 0xc1, 0xbf, 0x88, 0x4e, 0x28, 0x12, 0x6d, 0xb9, 0x4a, 0x1b, 0xd6, - 0x49, 0x3d, 0x19, 0x74, 0xce, 0xa3, 0x42, 0xc2, 0x3a, 0xad, 0xd5, 0xb2, 0xb1, 0xe3, 0x70, 0xc5, - 0x25, 0x8a, 0xe8, 0x02, 0x64, 0xac, 0xee, 0x96, 0x2a, 0xb4, 0x44, 0xfe, 0xec, 0x9d, 0x83, 0xf6, - 0xbc, 0x90, 0x0d, 0xbe, 0xeb, 0xd3, 0x56, 0x77, 0x8b, 0x48, 0xca, 0xdd, 0x30, 0x3e, 0x60, 0x30, - 0xf9, 0xeb, 0xfe, 0x38, 0xe8, 0x1b, 0x1d, 0x7c, 0x06, 0xaa, 0x65, 0xeb, 0xa6, 0xad, 0xbb, 0xfb, - 0xf4, 0xe2, 0x5c, 0x42, 0x91, 0x44, 0xc3, 0x3a, 0xaf, 0x97, 0xaf, 0x41, 0xa9, 0x41, 0xdd, 0x7d, - 0x7f, 0xe4, 0xe7, 0xfc, 0xf1, 0xc5, 0xa2, 0xc7, 0x37, 0x74, 0x64, 0xf1, 0xbe, 0x91, 0x55, 0x57, - 0x86, 0x4a, 0xe6, 0xa3, 0x87, 0x93, 0xcc, 0xb0, 0x75, 0xfb, 0xa3, 0x63, 0xa1, 0x4d, 0xc9, 0xbd, - 0x9e, 0x80, 0xca, 0x1a, 0x55, 0x28, 0xa3, 0x22, 0xf9, 0xf2, 0xc1, 0x46, 0xb4, 0x1c, 0xa1, 0x3a, - 0xcb, 0x91, 0xdb, 0x47, 0x7e, 0x12, 0x0a, 0xeb, 0x9a, 0xed, 0x36, 0xb0, 0x7b, 0x19, 0x6b, 0x2d, - 0x6c, 0x87, 0xad, 0x6c, 0x41, 0x58, 0x59, 0x04, 0x49, 0x6a, 0x4a, 0x99, 0x95, 0xa1, 0xbf, 0xe5, - 0x5d, 0x48, 0xd2, 0x8b, 0xb3, 0x9e, 0x05, 0xe6, 0x18, 0xcc, 0x02, 0x13, 0xfd, 0xb9, 0xef, 0x62, - 0x47, 0x24, 0x9b, 0x68, 0x01, 0x3d, 0x26, 0xec, 0x68, 0xe2, 0x60, 0x3b, 0xca, 0x85, 0x90, 0x5b, - 0xd3, 0x36, 0x64, 0xaa, 0x44, 0xfd, 0x2e, 0x2d, 0x7a, 0x03, 0x89, 0xf9, 0x03, 0x41, 0x2b, 0x50, - 0xb2, 0x34, 0xdb, 0xa5, 0xdf, 0x1c, 0xed, 0xd2, 0x59, 0x70, 0x39, 0x9f, 0xed, 0xdf, 0x75, 0xa1, - 0xc9, 0xf2, 0x5e, 0x0a, 0x56, 0xb0, 0x52, 0xfe, 0xc3, 0x24, 0xa4, 0x39, 0x33, 0x9e, 0x82, 0x0c, - 0x67, 0x2b, 0x97, 0xcc, 0xbb, 0xe6, 0xfb, 0x8d, 0xd1, 0xbc, 0x67, 0x34, 0x38, 0x3d, 0x81, 0x83, - 0xee, 0x87, 0x6c, 0x73, 0x57, 0xd3, 0x0d, 0x55, 0x6f, 0x71, 0x07, 0x30, 0xff, 0xda, 0xab, 0xb3, - 0x99, 0x1a, 0xa9, 0x5b, 0x5a, 0x54, 0x32, 0xb4, 0x71, 0xa9, 0x45, 0x2c, 0xff, 0x2e, 0xd6, 0x77, - 0x76, 0x5d, 0xbe, 0xbb, 0x78, 0x09, 0x3d, 0x01, 0x49, 0x22, 0x10, 0xfc, 0x8b, 0xd4, 0x72, 0x9f, - 0x1f, 0xef, 0x25, 0x5a, 0xaa, 0x59, 0xd2, 0xf1, 0x07, 0xfe, 0xf3, 0x6c, 0x4c, 0xa1, 0x18, 0xa8, - 0x06, 0x85, 0xb6, 0xe6, 0xb8, 0x2a, 0xb5, 0x5a, 0xa4, 0xfb, 0x14, 0x25, 0x71, 0xac, 0x9f, 0x21, - 0x9c, 0xb1, 0x7c, 0xe8, 0x79, 0x82, 0xc5, 0xaa, 0x5a, 0xe8, 0x24, 0x48, 0x94, 0x48, 0xd3, 0xec, - 0x74, 0x74, 0x97, 0xf9, 0x52, 0x69, 0xca, 0xf7, 0x22, 0xa9, 0xaf, 0xd1, 0x6a, 0xea, 0x51, 0x1d, - 0x87, 0x1c, 0xfd, 0x06, 0x8e, 0x82, 0xb0, 0xdb, 0xda, 0x59, 0x52, 0x41, 0x1b, 0x4f, 0x40, 0xc9, - 0xd7, 0x8d, 0x0c, 0x24, 0xcb, 0xa8, 0xf8, 0xd5, 0x14, 0xf0, 0x61, 0x98, 0x32, 0xf0, 0x1e, 0xbd, - 0x3f, 0x1e, 0x82, 0xce, 0x51, 0x68, 0x44, 0xda, 0xae, 0x86, 0x31, 0xee, 0x83, 0x62, 0x53, 0x30, - 0x9f, 0xc1, 0x02, 0x85, 0x2d, 0x78, 0xb5, 0x14, 0xec, 0x18, 0x64, 0x35, 0xcb, 0x62, 0x00, 0x79, - 0xae, 0x1b, 0x2d, 0x8b, 0x36, 0x9d, 0x86, 0x09, 0x3a, 0x47, 0x1b, 0x3b, 0xdd, 0xb6, 0xcb, 0x89, - 0x8c, 0x53, 0x98, 0x12, 0x69, 0x50, 0x58, 0x3d, 0x85, 0xbd, 0x07, 0x0a, 0xf8, 0xba, 0xde, 0xc2, - 0x46, 0x13, 0x33, 0xb8, 0x02, 0x85, 0x1b, 0x17, 0x95, 0x14, 0xe8, 0x14, 0x78, 0x3a, 0x4f, 0x15, - 0xfa, 0xb8, 0xc8, 0xe8, 0x89, 0xfa, 0x0a, 0xab, 0x96, 0xa7, 0x21, 0xb9, 0xa8, 0xb9, 0x1a, 0x71, - 0x2a, 0xdc, 0x3d, 0x66, 0x64, 0xc6, 0x15, 0xf2, 0x53, 0xfe, 0x56, 0x1c, 0x92, 0x57, 0x4d, 0x17, - 0xa3, 0x47, 0x03, 0x0e, 0x5f, 0x71, 0x90, 0x3c, 0x37, 0xf4, 0x1d, 0x03, 0xb7, 0x56, 0x9c, 0x9d, - 0xc0, 0x83, 0x15, 0xbe, 0x38, 0xc5, 0x43, 0xe2, 0x34, 0x05, 0x29, 0xdb, 0xec, 0x1a, 0x2d, 0x71, - 0xd1, 0x99, 0x16, 0x50, 0x1d, 0xb2, 0x9e, 0x94, 0x24, 0xa3, 0xa4, 0xa4, 0x44, 0xa4, 0x84, 0xc8, - 0x30, 0xaf, 0x50, 0x32, 0x5b, 0x5c, 0x58, 0xaa, 0x90, 0xf3, 0x94, 0x17, 0x97, 0xb6, 0xd1, 0x04, - 0xd6, 0x47, 0x23, 0x86, 0xc4, 0x5b, 0x7b, 0x8f, 0x79, 0x4c, 0xe2, 0x24, 0xaf, 0x81, 0x73, 0x2f, - 0x24, 0x56, 0xfc, 0xf1, 0x8c, 0x0c, 0x9d, 0x97, 0x2f, 0x56, 0xec, 0x01, 0x8d, 0x3b, 0x21, 0xe7, - 0xe8, 0x3b, 0x86, 0xe6, 0x76, 0x6d, 0xcc, 0x25, 0xcf, 0xaf, 0x90, 0xbf, 0x1c, 0x83, 0x34, 0x93, - 0xe4, 0x00, 0xdf, 0x62, 0x83, 0xf9, 0x16, 0x1f, 0xc6, 0xb7, 0xc4, 0xed, 0xf3, 0xad, 0x02, 0xe0, - 0x0d, 0xc6, 0xe1, 0x6f, 0x1a, 0x0c, 0xf0, 0x16, 0xd8, 0x10, 0x1b, 0xfa, 0x0e, 0xdf, 0xa8, 0x01, - 0x24, 0xf9, 0x3f, 0xc5, 0x88, 0xe3, 0xca, 0xdb, 0x51, 0x05, 0x0a, 0x62, 0x5c, 0xea, 0x76, 0x5b, - 0xdb, 0xe1, 0xb2, 0x73, 0xd7, 0xd0, 0xc1, 0x5d, 0x6c, 0x6b, 0x3b, 0x4a, 0x9e, 0x8f, 0x87, 0x14, - 0x06, 0xaf, 0x43, 0x7c, 0xc8, 0x3a, 0x84, 0x16, 0x3e, 0x71, 0x7b, 0x0b, 0x1f, 0x5a, 0xa2, 0x64, - 0xef, 0x12, 0x7d, 0x2e, 0x4e, 0x83, 0x17, 0xcb, 0x74, 0xb4, 0xf6, 0x5b, 0xb1, 0x23, 0x8e, 0x43, - 0xce, 0x32, 0xdb, 0x2a, 0x6b, 0x61, 0x1f, 0x00, 0x64, 0x2d, 0xb3, 0xad, 0xf4, 0x2d, 0x7b, 0xea, - 0x0d, 0xda, 0x2e, 0xe9, 0x37, 0x80, 0x6b, 0x99, 0x5e, 0xae, 0xd9, 0x30, 0xce, 0x58, 0xc1, 0x6d, - 0xd9, 0xc3, 0x84, 0x07, 0xd4, 0x38, 0xc6, 0xfa, 0x6d, 0x2f, 0x1b, 0x36, 0x83, 0x54, 0x38, 0x1c, - 0xc1, 0x60, 0xaa, 0x7f, 0x50, 0xd4, 0x1b, 0x14, 0x4b, 0x85, 0xc3, 0xc9, 0x3f, 0x1f, 0x03, 0x58, - 0x26, 0x9c, 0xa5, 0xf3, 0x25, 0x56, 0xc8, 0xa1, 0x43, 0x50, 0x43, 0x3d, 0xcf, 0x0c, 0x5b, 0x34, - 0xde, 0xff, 0xb8, 0x13, 0x1c, 0x77, 0x0d, 0x0a, 0xbe, 0x30, 0x3a, 0x58, 0x0c, 0x66, 0xe6, 0x00, - 0x8f, 0xba, 0x81, 0x5d, 0x65, 0xfc, 0x7a, 0xa0, 0x24, 0xff, 0xd3, 0x18, 0xe4, 0xe8, 0x98, 0x56, - 0xb0, 0xab, 0x85, 0xd6, 0x30, 0x76, 0xfb, 0x6b, 0x78, 0x17, 0x00, 0x23, 0xe3, 0xe8, 0x2f, 0x61, - 0x2e, 0x59, 0x39, 0x5a, 0xd3, 0xd0, 0x5f, 0xc2, 0xe8, 0xbc, 0xc7, 0xf0, 0xc4, 0xc1, 0x0c, 0x17, - 0x1e, 0x37, 0x67, 0xfb, 0x51, 0xc8, 0xd0, 0x37, 0xc0, 0xf6, 0x1c, 0xee, 0x44, 0xa7, 0x8d, 0x6e, - 0x67, 0x63, 0xcf, 0x91, 0x5f, 0x84, 0xcc, 0xc6, 0x1e, 0xcb, 0x85, 0x1c, 0x87, 0x9c, 0x6d, 0x9a, - 0xdc, 0x26, 0x33, 0x5f, 0x28, 0x4b, 0x2a, 0xa8, 0x09, 0x12, 0xf1, 0x7f, 0xdc, 0x8f, 0xff, 0xfd, - 0x04, 0x46, 0x62, 0xa4, 0x04, 0xc6, 0xe9, 0x7f, 0x1f, 0x83, 0x7c, 0x40, 0x3f, 0xa0, 0x47, 0xe0, - 0x8e, 0xea, 0xf2, 0x5a, 0xed, 0x19, 0x75, 0x69, 0x51, 0xbd, 0xb8, 0x5c, 0xb9, 0xe4, 0x7f, 0xe2, - 0x56, 0x3e, 0x72, 0xf3, 0xd6, 0x1c, 0x0a, 0xc0, 0x6e, 0x1a, 0xf4, 0x34, 0x07, 0x9d, 0x81, 0xa9, - 0x30, 0x4a, 0xa5, 0xda, 0xa8, 0xaf, 0x6e, 0x48, 0xb1, 0xf2, 0x1d, 0x37, 0x6f, 0xcd, 0x4d, 0x04, - 0x30, 0x2a, 0x5b, 0x0e, 0x36, 0xdc, 0x7e, 0x84, 0xda, 0xda, 0xca, 0xca, 0xd2, 0x86, 0x14, 0xef, - 0x43, 0xe0, 0x0a, 0xfb, 0x14, 0x4c, 0x84, 0x11, 0x56, 0x97, 0x96, 0xa5, 0x44, 0x19, 0xdd, 0xbc, - 0x35, 0x57, 0x0c, 0x40, 0xaf, 0xea, 0xed, 0x72, 0xf6, 0x7d, 0x9f, 0x98, 0x19, 0xfb, 0xf4, 0xdf, - 0x9d, 0x89, 0x91, 0x99, 0x15, 0x42, 0x3a, 0x02, 0x3d, 0x08, 0x47, 0x1b, 0x4b, 0x97, 0x56, 0xeb, - 0x8b, 0xea, 0x4a, 0xe3, 0x92, 0x38, 0x0f, 0x11, 0xb3, 0x2b, 0xdd, 0xbc, 0x35, 0x97, 0xe7, 0x53, - 0x1a, 0x06, 0xbd, 0xae, 0xd4, 0xaf, 0xae, 0x6d, 0xd4, 0xa5, 0x18, 0x83, 0x5e, 0xb7, 0xf1, 0x75, - 0xd3, 0x65, 0x8f, 0x04, 0x3e, 0x0c, 0xc7, 0x06, 0x40, 0x7b, 0x13, 0x9b, 0xb8, 0x79, 0x6b, 0xae, - 0xb0, 0x6e, 0x63, 0xb6, 0x7f, 0x28, 0xc6, 0x3c, 0x4c, 0xf7, 0x63, 0xac, 0xad, 0xaf, 0x35, 0x2a, - 0xcb, 0xd2, 0x5c, 0x59, 0xba, 0x79, 0x6b, 0x6e, 0x5c, 0x28, 0x43, 0x02, 0xef, 0xcf, 0xec, 0xcd, - 0x8a, 0x76, 0x7e, 0x32, 0x13, 0xca, 0xe5, 0xb1, 0x38, 0xc2, 0xd2, 0x6c, 0xad, 0x73, 0xd8, 0x70, - 0x27, 0xe2, 0x38, 0x57, 0x7e, 0x39, 0x0e, 0x25, 0xcf, 0x99, 0x5e, 0xa7, 0x3d, 0xa0, 0x47, 0x83, - 0x79, 0x98, 0xfc, 0x50, 0x33, 0xc6, 0xa0, 0x45, 0x9a, 0xe6, 0x6d, 0x90, 0x15, 0x4e, 0x19, 0x57, - 0x17, 0x73, 0xfd, 0x78, 0x75, 0x0e, 0xc1, 0x51, 0x3d, 0x0c, 0xf4, 0x34, 0xe4, 0x3c, 0xe5, 0xe1, - 0x3d, 0xb1, 0x33, 0x5c, 0xdb, 0x70, 0x7c, 0x1f, 0x07, 0x3d, 0xe9, 0x87, 0x0d, 0xc9, 0x61, 0x81, - 0xc8, 0x55, 0x06, 0xc0, 0x91, 0x05, 0xbc, 0xbc, 0xc4, 0xb7, 0x1d, 0x9f, 0x3d, 0x7d, 0x9e, 0x60, - 0x4f, 0x65, 0x91, 0x14, 0xf3, 0x4a, 0xb2, 0x1d, 0x6d, 0xaf, 0x4a, 0x83, 0xa9, 0xa3, 0x90, 0x21, - 0x8d, 0x3b, 0xfc, 0xeb, 0xeb, 0x84, 0x92, 0xee, 0x68, 0x7b, 0x97, 0x34, 0xe7, 0x4a, 0x32, 0x9b, - 0x90, 0x92, 0xf2, 0x67, 0x62, 0x50, 0x0c, 0xcf, 0x11, 0x3d, 0x00, 0x88, 0x60, 0x68, 0x3b, 0x58, - 0x25, 0x2a, 0x86, 0x32, 0x4b, 0xd0, 0x2d, 0x75, 0xb4, 0xbd, 0xca, 0x0e, 0x5e, 0xed, 0x76, 0xe8, - 0x00, 0x1c, 0xb4, 0x02, 0x92, 0x00, 0x16, 0xeb, 0xc4, 0x99, 0x79, 0xac, 0xff, 0xc1, 0x3d, 0x0e, - 0xc0, 0x0c, 0xd5, 0x87, 0x88, 0xa1, 0x2a, 0x32, 0x7a, 0xde, 0x71, 0x7c, 0x68, 0x2a, 0x89, 0xf0, - 0x54, 0xe4, 0xa7, 0xa1, 0xd4, 0xc3, 0x4f, 0x24, 0x43, 0x81, 0x67, 0x05, 0xe8, 0x51, 0x27, 0xf3, - 0x8f, 0x73, 0x4a, 0x9e, 0x45, 0xff, 0xf4, 0xe8, 0x77, 0x21, 0xfb, 0xa5, 0x57, 0x66, 0x63, 0x34, - 0x61, 0xfe, 0x00, 0x14, 0x42, 0x1c, 0x15, 0x99, 0xba, 0x98, 0x9f, 0xa9, 0xf3, 0x81, 0x5f, 0x80, - 0x71, 0xa2, 0x28, 0x71, 0x8b, 0xc3, 0xde, 0x0f, 0x25, 0xa6, 0xc8, 0x7b, 0x79, 0xcd, 0x3c, 0xa9, - 0x15, 0xc1, 0x70, 0x59, 0xb8, 0x56, 0x61, 0xb6, 0xe7, 0x05, 0xd4, 0x25, 0xcd, 0xa9, 0xbe, 0xe3, - 0xd3, 0xaf, 0xcd, 0xc4, 0xde, 0x9c, 0x8d, 0xf8, 0xb5, 0x77, 0xc0, 0xf1, 0x40, 0xa3, 0xb6, 0xd5, - 0xd4, 0x43, 0x59, 0x87, 0x52, 0x40, 0xc8, 0x48, 0x63, 0x54, 0xf6, 0xe0, 0xc0, 0x1c, 0xc6, 0xc1, - 0x09, 0xb3, 0xf2, 0xc1, 0x1a, 0x21, 0x3a, 0xb1, 0x31, 0x38, 0x47, 0xf9, 0x7f, 0xb2, 0x90, 0x51, - 0xf0, 0x7b, 0xba, 0xd8, 0x71, 0xd1, 0x59, 0x48, 0xe2, 0xe6, 0xae, 0x39, 0x28, 0x25, 0x44, 0x26, - 0x37, 0xcf, 0xe1, 0xea, 0xcd, 0x5d, 0xf3, 0xf2, 0x98, 0x42, 0x61, 0xd1, 0x39, 0x48, 0x6d, 0xb7, - 0xbb, 0x3c, 0x4f, 0xd1, 0xa3, 0x2c, 0x82, 0x48, 0x17, 0x09, 0xd0, 0xe5, 0x31, 0x85, 0x41, 0x93, - 0xae, 0xe8, 0xd3, 0xa5, 0x89, 0x83, 0xbb, 0x5a, 0x32, 0xb6, 0x69, 0x57, 0x04, 0x16, 0x55, 0x01, - 0x74, 0x43, 0x77, 0x55, 0x1a, 0xc3, 0x73, 0x4f, 0xf0, 0xee, 0xe1, 0x98, 0xba, 0x4b, 0xa3, 0xfe, - 0xcb, 0x63, 0x4a, 0x4e, 0x17, 0x05, 0x32, 0xdc, 0xf7, 0x74, 0xb1, 0xbd, 0xcf, 0x1d, 0xc0, 0xa1, - 0xc3, 0x7d, 0x07, 0x01, 0x22, 0xc3, 0xa5, 0xd0, 0xa8, 0x0e, 0x79, 0xfa, 0x8d, 0x2a, 0xdb, 0xbf, - 0xfc, 0x19, 0x4d, 0x79, 0x18, 0x72, 0x95, 0x80, 0xd2, 0x2d, 0x7d, 0x79, 0x4c, 0x81, 0x2d, 0xaf, - 0x44, 0x94, 0x24, 0x7b, 0x66, 0xc9, 0xdd, 0xe3, 0x8f, 0x07, 0xce, 0x0e, 0xa3, 0x41, 0xdf, 0x5a, - 0xda, 0xd8, 0xbb, 0x3c, 0xa6, 0x64, 0x9a, 0xec, 0x27, 0x99, 0x7f, 0x0b, 0xb7, 0xf5, 0xeb, 0xd8, - 0x26, 0xf8, 0xb9, 0x83, 0xe7, 0xbf, 0xc8, 0x20, 0x29, 0x85, 0x5c, 0x4b, 0x14, 0x88, 0xa2, 0xc5, - 0x46, 0x8b, 0x4f, 0x03, 0xfa, 0xf5, 0x74, 0x68, 0x9d, 0x8d, 0x96, 0x98, 0x44, 0x16, 0xf3, 0xdf, - 0xe8, 0x09, 0xcf, 0x43, 0xcd, 0xf7, 0x3b, 0x85, 0xa1, 0x09, 0xb0, 0x5c, 0xc5, 0x98, 0xf0, 0x54, - 0xd1, 0x2a, 0x14, 0xdb, 0xba, 0xe3, 0xaa, 0x8e, 0xa1, 0x59, 0xce, 0xae, 0xe9, 0x3a, 0x34, 0xe8, - 0xcf, 0x9f, 0xbd, 0x6f, 0x18, 0x85, 0x65, 0xdd, 0x71, 0x1b, 0x02, 0xf8, 0xf2, 0x98, 0x52, 0x68, - 0x07, 0x2b, 0x08, 0x3d, 0x73, 0x7b, 0x1b, 0xdb, 0x1e, 0x41, 0x9a, 0x1c, 0x38, 0x80, 0xde, 0x1a, - 0x81, 0x16, 0xf8, 0x84, 0x9e, 0x19, 0xac, 0x40, 0x3f, 0x0c, 0x93, 0x6d, 0x53, 0x6b, 0x79, 0xe4, - 0xd4, 0xe6, 0x6e, 0xd7, 0xb8, 0x46, 0x33, 0x09, 0xf9, 0xb3, 0xa7, 0x86, 0x0e, 0xd2, 0xd4, 0x5a, - 0x82, 0x44, 0x8d, 0x20, 0x5c, 0x1e, 0x53, 0x26, 0xda, 0xbd, 0x95, 0xe8, 0x5d, 0x30, 0xa5, 0x59, - 0x56, 0x7b, 0xbf, 0x97, 0x7a, 0x89, 0x52, 0x3f, 0x3d, 0x8c, 0x7a, 0x85, 0xe0, 0xf4, 0x92, 0x47, - 0x5a, 0x5f, 0x2d, 0xda, 0x00, 0xc9, 0xb2, 0x31, 0xfd, 0xa8, 0xc6, 0xe2, 0xae, 0x0a, 0x7d, 0x19, - 0x2b, 0x7f, 0xf6, 0xc4, 0x30, 0xda, 0xeb, 0x0c, 0x5e, 0x78, 0x36, 0x97, 0xc7, 0x94, 0x92, 0x15, - 0xae, 0x62, 0x54, 0xcd, 0x26, 0xa6, 0xaf, 0x37, 0x71, 0xaa, 0x13, 0x51, 0x54, 0x29, 0x7c, 0x98, - 0x6a, 0xa8, 0xaa, 0x9a, 0xe1, 0x97, 0xe2, 0xf8, 0xd3, 0x2a, 0x27, 0x20, 0x1f, 0x50, 0x2c, 0x68, - 0x1a, 0x32, 0xfc, 0x92, 0x80, 0xb8, 0x4c, 0xc7, 0x8b, 0x72, 0x11, 0xc6, 0x83, 0xca, 0x44, 0xfe, - 0x40, 0xcc, 0xc3, 0xa4, 0xdf, 0xba, 0x4f, 0x87, 0x53, 0x87, 0x39, 0x3f, 0x2b, 0x78, 0x8f, 0xb0, - 0x22, 0xa2, 0x9d, 0x9d, 0x26, 0x8d, 0xd3, 0x4a, 0x6e, 0xc4, 0xd0, 0x2c, 0xe4, 0xad, 0xb3, 0x96, - 0x07, 0x92, 0xa0, 0x20, 0x60, 0x9d, 0xb5, 0x04, 0xc0, 0xdd, 0x30, 0x4e, 0x66, 0xaa, 0x06, 0x1d, - 0x8d, 0x9c, 0x92, 0x27, 0x75, 0x1c, 0x44, 0xfe, 0xd7, 0x71, 0x90, 0x7a, 0x15, 0x90, 0x97, 0x53, - 0x8c, 0x1d, 0x3a, 0xa7, 0x78, 0xac, 0x37, 0x9b, 0xe9, 0x27, 0x30, 0x97, 0x41, 0xf2, 0xf3, 0x70, - 0xcc, 0x10, 0x0c, 0x77, 0x9c, 0x7a, 0x3c, 0x3c, 0xa5, 0xd4, 0xec, 0x71, 0xf9, 0x2e, 0x86, 0xce, - 0x5e, 0xc4, 0xdb, 0xdc, 0xbd, 0x4b, 0xec, 0xf9, 0x0b, 0x9b, 0x56, 0x4b, 0x73, 0xb1, 0xc8, 0x8b, - 0x04, 0x8e, 0x61, 0xee, 0x87, 0x92, 0x66, 0x59, 0xaa, 0xe3, 0x6a, 0x2e, 0xe6, 0x66, 0x3d, 0xc5, - 0xd2, 0x83, 0x9a, 0x65, 0x35, 0x48, 0x2d, 0x33, 0xeb, 0xf7, 0x41, 0x91, 0xe8, 0x64, 0x5d, 0x6b, - 0xab, 0x3c, 0x4b, 0x90, 0x66, 0xd6, 0x9f, 0xd7, 0x5e, 0xa6, 0x95, 0x72, 0xcb, 0x5b, 0x71, 0xaa, - 0x8f, 0xbd, 0x30, 0x2b, 0x16, 0x08, 0xb3, 0x10, 0x7f, 0x84, 0x80, 0xf1, 0x47, 0xbc, 0xdb, 0x30, - 0x38, 0xbb, 0x3b, 0x45, 0x43, 0xb2, 0xeb, 0x2c, 0xe1, 0x91, 0x55, 0x58, 0x41, 0x7e, 0x6f, 0x1c, - 0x26, 0xfa, 0x34, 0xf7, 0xc0, 0xb4, 0xb7, 0x1f, 0x5f, 0xc6, 0x0f, 0x15, 0x5f, 0x3e, 0x13, 0x4e, - 0xeb, 0x06, 0x2c, 0xdf, 0xf1, 0x3e, 0x26, 0x33, 0xbd, 0x49, 0x04, 0x9a, 0x13, 0x09, 0x64, 0x7e, - 0xa9, 0x98, 0x6f, 0xc2, 0xd4, 0xd6, 0xfe, 0x4b, 0x9a, 0xe1, 0xea, 0x06, 0x56, 0xfb, 0x56, 0xad, - 0xdf, 0x94, 0xae, 0xe8, 0xce, 0x16, 0xde, 0xd5, 0xae, 0xeb, 0xa6, 0x18, 0xd6, 0xa4, 0x87, 0xef, - 0x27, 0x77, 0x65, 0x05, 0x8a, 0x61, 0xd3, 0x83, 0x8a, 0x10, 0x77, 0xf7, 0xf8, 0xfc, 0xe3, 0xee, - 0x1e, 0x7a, 0x98, 0xe7, 0x81, 0xe2, 0x34, 0x0f, 0xd4, 0xdf, 0x11, 0xc7, 0xf3, 0x93, 0x40, 0xb2, - 0xec, 0xed, 0x06, 0xcf, 0x1c, 0xf5, 0x52, 0x95, 0x4f, 0x41, 0xa9, 0xc7, 0xde, 0x0c, 0xcb, 0x0a, - 0xca, 0x25, 0x28, 0x84, 0x8c, 0x8b, 0x7c, 0x04, 0xa6, 0x06, 0xd9, 0x0a, 0x79, 0xd7, 0xab, 0x0f, - 0xe9, 0x7c, 0x74, 0x0e, 0xb2, 0x9e, 0xb1, 0x18, 0x90, 0x85, 0xa0, 0xb3, 0x10, 0xc0, 0x8a, 0x07, - 0x1a, 0x4a, 0x66, 0xc7, 0x43, 0xc9, 0x6c, 0xf9, 0xdd, 0x30, 0x3d, 0xcc, 0x10, 0xf4, 0x4c, 0x23, - 0xe9, 0x49, 0xe1, 0x11, 0x48, 0xf3, 0x27, 0xda, 0xe2, 0xf4, 0xf8, 0x86, 0x97, 0x88, 0x74, 0x32, - 0xa3, 0x90, 0x60, 0xa7, 0x3a, 0xb4, 0x20, 0xab, 0x70, 0x6c, 0xa8, 0x31, 0x18, 0x7e, 0x10, 0xc4, - 0x08, 0xf1, 0x83, 0xa0, 0xa6, 0x18, 0x8e, 0x43, 0xe7, 0x2a, 0x2e, 0x3b, 0xb0, 0x92, 0xfc, 0xa1, - 0x04, 0x1c, 0x19, 0x6c, 0x12, 0xd0, 0x1c, 0x8c, 0x13, 0xbf, 0xdb, 0x0d, 0xbb, 0xe8, 0xd0, 0xd1, - 0xf6, 0x36, 0xb8, 0x7f, 0xce, 0x13, 0xe9, 0x71, 0x2f, 0x91, 0x8e, 0x36, 0x61, 0xa2, 0x6d, 0x36, - 0xb5, 0xb6, 0x1a, 0x90, 0x78, 0x2e, 0xec, 0xf7, 0xf4, 0x31, 0xbb, 0xce, 0x1e, 0x6e, 0x6e, 0xf5, - 0x09, 0x7d, 0x89, 0xd2, 0x58, 0xf6, 0x24, 0x1f, 0x2d, 0x42, 0xbe, 0xe3, 0x0b, 0xf2, 0x21, 0x84, - 0x3d, 0x88, 0x16, 0x58, 0x92, 0xd4, 0xc0, 0x63, 0x9f, 0xf4, 0xa1, 0x55, 0xf4, 0xb0, 0x13, 0x94, - 0xcc, 0xd0, 0x13, 0x94, 0x41, 0xc7, 0x15, 0xd9, 0xc1, 0xc7, 0x15, 0xef, 0x0b, 0x2e, 0x4d, 0xc8, - 0x88, 0xf6, 0x9f, 0x60, 0xa0, 0x06, 0x4c, 0x71, 0xfc, 0x56, 0x88, 0xf7, 0xf1, 0x51, 0x15, 0x0d, - 0x12, 0xe8, 0xc3, 0xd9, 0x9e, 0xb8, 0x3d, 0xb6, 0x0b, 0x5d, 0x9a, 0x0c, 0xe8, 0xd2, 0xff, 0xc7, - 0x96, 0xe2, 0xdf, 0xe6, 0x20, 0xab, 0x60, 0xc7, 0x22, 0x86, 0x13, 0x55, 0x21, 0x87, 0xf7, 0x9a, - 0xd8, 0x72, 0xfd, 0x63, 0xca, 0x41, 0xc1, 0x00, 0x83, 0xae, 0x0b, 0x48, 0xe2, 0x89, 0x7b, 0x68, - 0xe8, 0x51, 0x1e, 0x6c, 0x0d, 0x8f, 0x9b, 0x38, 0x7a, 0x30, 0xda, 0x3a, 0x2f, 0xa2, 0xad, 0xc4, - 0x50, 0xe7, 0x9b, 0x61, 0xf5, 0x84, 0x5b, 0x8f, 0xf2, 0x70, 0x2b, 0x19, 0xd1, 0x59, 0x28, 0xde, - 0xaa, 0x85, 0xe2, 0xad, 0x74, 0xc4, 0x34, 0x87, 0x04, 0x5c, 0xe7, 0x45, 0xc0, 0x95, 0x89, 0x18, - 0x71, 0x4f, 0xc4, 0x75, 0x31, 0x1c, 0x71, 0x65, 0x87, 0x28, 0x10, 0x81, 0x3d, 0x34, 0xe4, 0x7a, - 0x2a, 0x10, 0x72, 0xe5, 0x86, 0xc6, 0x3b, 0x8c, 0xc8, 0x80, 0x98, 0xab, 0x16, 0x8a, 0xb9, 0x20, - 0x82, 0x07, 0x43, 0x82, 0xae, 0x1f, 0x0a, 0x06, 0x5d, 0xf9, 0xa1, 0x71, 0x1b, 0x5f, 0xef, 0x41, - 0x51, 0xd7, 0x93, 0x5e, 0xd4, 0x35, 0x3e, 0x34, 0x6c, 0xe4, 0x73, 0xe8, 0x0d, 0xbb, 0xd6, 0xfa, - 0xc2, 0xae, 0x02, 0xff, 0x9b, 0x08, 0xc3, 0x48, 0x44, 0xc4, 0x5d, 0x6b, 0x7d, 0x71, 0x57, 0x31, - 0x82, 0x60, 0x44, 0xe0, 0xf5, 0x23, 0x83, 0x03, 0xaf, 0xe1, 0xa1, 0x11, 0x1f, 0xe6, 0x68, 0x91, - 0x97, 0x3a, 0x24, 0xf2, 0x62, 0xd1, 0xd1, 0x03, 0x43, 0xc9, 0x8f, 0x1c, 0x7a, 0x6d, 0x0e, 0x08, - 0xbd, 0x58, 0x90, 0x74, 0x72, 0x28, 0xf1, 0x11, 0x62, 0xaf, 0xcd, 0x01, 0xb1, 0x17, 0x8a, 0x24, - 0x7b, 0x98, 0xe0, 0x2b, 0x25, 0xa5, 0xe5, 0x53, 0xc4, 0xf5, 0xed, 0xd1, 0x53, 0xc4, 0x7f, 0xc0, - 0xb6, 0x6d, 0xda, 0xe2, 0x66, 0x2d, 0x2d, 0xc8, 0x27, 0x89, 0x33, 0xee, 0xeb, 0xa4, 0x03, 0x02, - 0x35, 0xea, 0xa7, 0x05, 0xf4, 0x90, 0xfc, 0xa5, 0x98, 0x8f, 0x4b, 0x7d, 0xd8, 0xa0, 0x23, 0x9f, - 0xe3, 0x8e, 0x7c, 0x20, 0x7c, 0x8b, 0x87, 0xc3, 0xb7, 0x59, 0xc8, 0x13, 0xff, 0xab, 0x27, 0x32, - 0xd3, 0x2c, 0x2f, 0x32, 0x13, 0x57, 0x0a, 0x58, 0x90, 0xc7, 0xcd, 0x0a, 0x3b, 0xc9, 0x29, 0x79, - 0xd7, 0x2b, 0x58, 0x4c, 0x81, 0x1e, 0x82, 0xc9, 0x00, 0xac, 0xe7, 0xd7, 0xb1, 0x30, 0x45, 0xf2, - 0xa0, 0x2b, 0xdc, 0xc1, 0xfb, 0x67, 0x31, 0x9f, 0x43, 0x7e, 0x48, 0x37, 0x28, 0xfa, 0x8a, 0xbd, - 0x41, 0xd1, 0x57, 0xfc, 0xb6, 0xa3, 0xaf, 0xa0, 0x9f, 0x9a, 0x08, 0xfb, 0xa9, 0xff, 0x23, 0xe6, - 0xaf, 0x89, 0x17, 0x4b, 0x35, 0xcd, 0x16, 0xe6, 0x9e, 0x23, 0xfd, 0x4d, 0x9c, 0x8a, 0xb6, 0xb9, - 0xc3, 0xfd, 0x43, 0xf2, 0x93, 0x40, 0x79, 0x86, 0x23, 0xc7, 0xed, 0x82, 0xe7, 0x74, 0xa6, 0x82, - 0xf7, 0x7f, 0xf9, 0xa5, 0xd8, 0xb4, 0x7f, 0x29, 0xd6, 0xfb, 0xf8, 0x2d, 0x13, 0xf8, 0xf8, 0x0d, - 0x3d, 0x01, 0x39, 0x9a, 0x11, 0x55, 0x4d, 0x4b, 0xfc, 0x05, 0x8d, 0xe3, 0xc3, 0x2f, 0xc4, 0x3a, - 0xf4, 0xaa, 0x1e, 0xbb, 0x44, 0xeb, 0x7b, 0x0c, 0xb9, 0x90, 0xc7, 0x70, 0x27, 0xe4, 0xc8, 0xe8, - 0xd9, 0x4b, 0xd0, 0xc0, 0xbf, 0x9c, 0x14, 0x15, 0xf2, 0xbb, 0x00, 0xf5, 0x1b, 0x09, 0x74, 0x19, - 0xd2, 0xf8, 0x3a, 0x7d, 0x56, 0x8f, 0x5d, 0x34, 0x3c, 0xd2, 0xef, 0x9a, 0x92, 0xe6, 0xea, 0x34, - 0x61, 0xf2, 0xb7, 0x5f, 0x9d, 0x95, 0x18, 0xf4, 0x83, 0xde, 0x87, 0x02, 0x0a, 0xc7, 0x97, 0xff, - 0x63, 0x9c, 0x04, 0x30, 0x21, 0x03, 0x32, 0x90, 0xb7, 0x83, 0x8e, 0x08, 0x47, 0xe3, 0xf7, 0x0c, - 0xc0, 0x8e, 0xe6, 0xa8, 0x37, 0x34, 0xc3, 0xc5, 0x2d, 0xce, 0xf4, 0x40, 0x0d, 0x2a, 0x43, 0x96, - 0x94, 0xba, 0x0e, 0x6e, 0xf1, 0x30, 0xda, 0x2b, 0x07, 0xe6, 0x99, 0xf9, 0xfe, 0xe6, 0x19, 0xe6, - 0x72, 0xb6, 0x87, 0xcb, 0x81, 0xe0, 0x22, 0x17, 0x0c, 0x2e, 0xd8, 0xc5, 0x60, 0x7e, 0x3f, 0x11, - 0xd8, 0xd8, 0x44, 0x19, 0xdd, 0x03, 0x85, 0x0e, 0xee, 0x58, 0xa6, 0xd9, 0x56, 0x99, 0xba, 0x61, - 0x4f, 0xbe, 0x8f, 0xf3, 0xca, 0x3a, 0xd5, 0x3a, 0x3f, 0x11, 0xf7, 0xf7, 0x9f, 0x1f, 0x44, 0xfe, - 0xc0, 0x31, 0x58, 0xfe, 0x69, 0x9a, 0x59, 0x0a, 0xbb, 0x08, 0xa8, 0x11, 0xbc, 0x35, 0xd2, 0xa5, - 0x6a, 0x41, 0x08, 0xf4, 0xa8, 0xfa, 0xc3, 0xbf, 0x5d, 0xc2, 0xaa, 0x1d, 0xf4, 0x3c, 0x1c, 0xed, - 0xd1, 0x6d, 0x1e, 0xe9, 0xf8, 0xa8, 0x2a, 0xee, 0x8e, 0xb0, 0x8a, 0x13, 0xa4, 0x7d, 0x66, 0x25, - 0xbe, 0xcf, 0x5d, 0xb7, 0x04, 0xc5, 0xb0, 0xc7, 0x33, 0x70, 0xf9, 0xe9, 0x9f, 0x18, 0x71, 0x35, - 0xdd, 0x50, 0x43, 0xe9, 0xa0, 0x71, 0x56, 0xc9, 0x93, 0x4c, 0xeb, 0x70, 0xc7, 0x40, 0xcf, 0x07, - 0x3d, 0x0e, 0x39, 0xdf, 0x69, 0x62, 0x5c, 0x3d, 0x20, 0x5d, 0xe0, 0xc3, 0xca, 0xbf, 0x15, 0xf3, - 0x49, 0x86, 0x13, 0x10, 0x75, 0x48, 0xb3, 0x6b, 0x6f, 0xfc, 0x32, 0xcd, 0x43, 0xa3, 0xf9, 0x4c, - 0xf3, 0xec, 0x4e, 0x9c, 0xc2, 0x91, 0xe5, 0x77, 0x41, 0x9a, 0xd5, 0xa0, 0x3c, 0x64, 0xfc, 0x97, - 0x6f, 0x01, 0xd2, 0x95, 0x5a, 0xad, 0xbe, 0xbe, 0x21, 0xc5, 0x50, 0x0e, 0x52, 0x95, 0xea, 0x9a, - 0xb2, 0x21, 0xc5, 0x49, 0xb5, 0x52, 0xbf, 0x52, 0xaf, 0x6d, 0x48, 0x09, 0x34, 0x01, 0x05, 0xf6, - 0x5b, 0xbd, 0xb8, 0xa6, 0xac, 0x54, 0x36, 0xa4, 0x64, 0xa0, 0xaa, 0x51, 0x5f, 0x5d, 0xac, 0x2b, - 0x52, 0x4a, 0x7e, 0x04, 0x8e, 0x0d, 0xf5, 0xb2, 0xfc, 0xec, 0x42, 0x2c, 0x90, 0x5d, 0x90, 0x3f, - 0x14, 0x87, 0xf2, 0x70, 0xd7, 0x09, 0x5d, 0xe9, 0x99, 0xf8, 0xd9, 0x43, 0xf8, 0x5d, 0x3d, 0xb3, - 0x47, 0xf7, 0x41, 0xd1, 0xc6, 0xdb, 0xd8, 0x6d, 0xee, 0x32, 0x57, 0x8e, 0x99, 0xcc, 0x82, 0x52, - 0xe0, 0xb5, 0x14, 0xc9, 0x61, 0x60, 0x2f, 0xe2, 0xa6, 0xab, 0x32, 0x5d, 0xe4, 0xf0, 0xbf, 0x75, - 0x58, 0x60, 0xb5, 0x0d, 0x56, 0x29, 0xbf, 0xfb, 0x50, 0xbc, 0xcc, 0x41, 0x4a, 0xa9, 0x6f, 0x28, - 0xcf, 0x4b, 0x09, 0x84, 0xa0, 0x48, 0x7f, 0xaa, 0x8d, 0xd5, 0xca, 0x7a, 0xe3, 0xf2, 0x1a, 0xe1, - 0xe5, 0x24, 0x94, 0x04, 0x2f, 0x45, 0x65, 0x4a, 0x7e, 0x00, 0x8e, 0x0e, 0xf1, 0xfb, 0x06, 0xdc, - 0x43, 0xfc, 0x78, 0x2c, 0x08, 0x1d, 0x8e, 0xf9, 0xd7, 0x20, 0xed, 0xb8, 0x9a, 0xdb, 0x75, 0x38, - 0x13, 0x1f, 0x1f, 0xd5, 0x11, 0x9c, 0x17, 0x3f, 0x1a, 0x14, 0x5d, 0xe1, 0x64, 0xe4, 0x73, 0x50, - 0x0c, 0xb7, 0x0c, 0xe7, 0x81, 0x2f, 0x44, 0x71, 0xf9, 0x79, 0x80, 0x40, 0x3e, 0xd2, 0xbb, 0xd1, - 0x15, 0x0b, 0xde, 0xe8, 0x3a, 0x07, 0xa9, 0xeb, 0x26, 0xd3, 0x19, 0x83, 0x37, 0xce, 0x55, 0xd3, - 0xc5, 0x81, 0xe4, 0x03, 0x83, 0x96, 0x75, 0x40, 0xfd, 0x39, 0xa1, 0x21, 0x5d, 0x3c, 0x15, 0xee, - 0xe2, 0xee, 0xa1, 0xd9, 0xa5, 0xc1, 0x5d, 0xbd, 0x04, 0x29, 0xaa, 0x6d, 0x06, 0x7e, 0xe2, 0xf3, - 0x4e, 0x00, 0xcd, 0x75, 0x6d, 0x7d, 0xab, 0xeb, 0x77, 0x30, 0x3b, 0x58, 0x5b, 0x55, 0x04, 0x5c, - 0xf5, 0x4e, 0xae, 0xb6, 0xa6, 0x7c, 0xd4, 0x80, 0xea, 0x0a, 0x10, 0x94, 0x57, 0xa1, 0x18, 0xc6, - 0x1d, 0xfc, 0xc9, 0x92, 0xff, 0x76, 0x40, 0x4e, 0xb8, 0x4f, 0x9e, 0xf3, 0xc5, 0xdf, 0xf3, 0xa0, - 0x05, 0xf9, 0x66, 0x0c, 0xb2, 0x1b, 0x7b, 0x5c, 0x8e, 0x0f, 0xb8, 0x54, 0xe9, 0x7f, 0xb7, 0xe5, - 0x25, 0x0b, 0x59, 0x3e, 0x36, 0xe1, 0x65, 0x79, 0x7f, 0xc8, 0xdb, 0xa9, 0xc9, 0x51, 0xa3, 0x5d, - 0x91, 0xed, 0xe6, 0xda, 0xe9, 0xc2, 0x68, 0xdf, 0x48, 0x4c, 0x41, 0x2a, 0xf8, 0x7d, 0x03, 0x2b, - 0xc8, 0xad, 0xc0, 0xb5, 0x04, 0x66, 0x36, 0x82, 0x1f, 0x53, 0xc4, 0x0e, 0xfd, 0x31, 0x85, 0xd7, - 0x4b, 0x3c, 0xd8, 0xcb, 0x75, 0xc8, 0x0a, 0xa1, 0x40, 0x6f, 0x0f, 0xde, 0x3d, 0x11, 0x67, 0x34, - 0x43, 0x8d, 0x27, 0x27, 0x1f, 0xb8, 0x7a, 0x72, 0x1a, 0x26, 0xf8, 0x95, 0x3b, 0x3f, 0xae, 0xe0, - 0x6f, 0xf3, 0x97, 0x58, 0xc3, 0xb2, 0x08, 0x2a, 0xe4, 0x5f, 0x8e, 0x81, 0xd4, 0x2b, 0x95, 0x6f, - 0xe5, 0x00, 0x88, 0x52, 0x24, 0xd2, 0x1f, 0x78, 0x74, 0x9b, 0xad, 0x7c, 0x81, 0xd4, 0xfa, 0xcf, - 0x6e, 0xbf, 0x37, 0x0e, 0xf9, 0x40, 0x4e, 0x0f, 0x3d, 0x16, 0xba, 0x02, 0x3a, 0x77, 0x50, 0xfe, - 0x2f, 0x70, 0x07, 0x34, 0x34, 0xb1, 0xf8, 0xe1, 0x27, 0xf6, 0xc6, 0x5f, 0xd2, 0x1f, 0xfc, 0xb5, - 0x4f, 0x6a, 0xc8, 0xd7, 0x3e, 0x3f, 0x16, 0x83, 0xac, 0x67, 0xba, 0x0f, 0x9b, 0xcd, 0x3f, 0x02, - 0x69, 0x6e, 0x9d, 0x58, 0x3a, 0x9f, 0x97, 0x06, 0xe6, 0x42, 0xcb, 0x90, 0x15, 0x7f, 0xd4, 0x86, - 0x07, 0xa2, 0x5e, 0xf9, 0xf4, 0x93, 0x90, 0x0f, 0x1c, 0xac, 0x10, 0x3d, 0xb1, 0x5a, 0x7f, 0x56, - 0x1a, 0x2b, 0x67, 0x6e, 0xde, 0x9a, 0x4b, 0xac, 0xe2, 0x1b, 0x64, 0x87, 0x29, 0xf5, 0xda, 0xe5, - 0x7a, 0xed, 0x19, 0x29, 0x56, 0xce, 0xdf, 0xbc, 0x35, 0x97, 0x51, 0x30, 0x4d, 0x5f, 0x9d, 0x7e, - 0x06, 0x4a, 0x3d, 0x0b, 0x13, 0xd6, 0xef, 0x08, 0x8a, 0x8b, 0x9b, 0xeb, 0xcb, 0x4b, 0xb5, 0xca, - 0x46, 0x5d, 0x65, 0xd7, 0xe9, 0xd0, 0x51, 0x98, 0x5c, 0x5e, 0xba, 0x74, 0x79, 0x43, 0xad, 0x2d, - 0x2f, 0xd5, 0x57, 0x37, 0xd4, 0xca, 0xc6, 0x46, 0xa5, 0xf6, 0x8c, 0x14, 0x3f, 0xfb, 0x3d, 0x80, - 0x52, 0xa5, 0x5a, 0x5b, 0x22, 0xf6, 0x59, 0xe7, 0xef, 0xa6, 0xd7, 0x20, 0x49, 0x53, 0x01, 0x07, - 0x5e, 0x15, 0x29, 0x1f, 0x9c, 0xdb, 0x44, 0x17, 0x21, 0x45, 0xb3, 0x04, 0xe8, 0xe0, 0xbb, 0x23, - 0xe5, 0x88, 0x64, 0x27, 0x19, 0x0c, 0xdd, 0x4e, 0x07, 0x5e, 0x26, 0x29, 0x1f, 0x9c, 0xfb, 0x44, - 0x0a, 0xe4, 0xfc, 0x28, 0x23, 0xfa, 0x72, 0x45, 0x79, 0x04, 0xed, 0x88, 0x96, 0x21, 0x23, 0x02, - 0xc3, 0xa8, 0xeb, 0x1e, 0xe5, 0xc8, 0xe4, 0x24, 0x61, 0x17, 0x0b, 0xe0, 0x0f, 0xbe, 0xbb, 0x52, - 0x8e, 0xc8, 0xb4, 0xa2, 0x25, 0xef, 0x12, 0x7e, 0xc4, 0x15, 0x8e, 0x72, 0x54, 0xb2, 0x91, 0x30, - 0xcd, 0x4f, 0x8d, 0x44, 0xdf, 0xc8, 0x29, 0x8f, 0x90, 0x44, 0x46, 0x9b, 0x00, 0x81, 0x70, 0x7d, - 0x84, 0xab, 0x36, 0xe5, 0x51, 0x92, 0xc3, 0x68, 0x0d, 0xb2, 0x5e, 0xf4, 0x14, 0x79, 0xf1, 0xa5, - 0x1c, 0x9d, 0xa5, 0x45, 0xef, 0x82, 0x42, 0x38, 0x6a, 0x18, 0xed, 0x3a, 0x4b, 0x79, 0xc4, 0xf4, - 0x2b, 0xa1, 0x1f, 0x0e, 0x21, 0x46, 0xbb, 0xde, 0x52, 0x1e, 0x31, 0x1b, 0x8b, 0x5e, 0x84, 0x89, - 0x7e, 0x17, 0x7f, 0xf4, 0xdb, 0x2e, 0xe5, 0x43, 0xe4, 0x67, 0x51, 0x07, 0xd0, 0x80, 0xd0, 0xe0, - 0x10, 0x97, 0x5f, 0xca, 0x87, 0x49, 0xd7, 0xa2, 0x16, 0x94, 0x7a, 0xfd, 0xed, 0x51, 0x2f, 0xc3, - 0x94, 0x47, 0x4e, 0xdd, 0xb2, 0x5e, 0xc2, 0x7e, 0xfa, 0xa8, 0x97, 0x63, 0xca, 0x23, 0x67, 0x72, - 0xab, 0x95, 0xa1, 0xf7, 0x1b, 0x4f, 0x1c, 0x78, 0xbf, 0xd1, 0xbf, 0xb1, 0xe8, 0xdd, 0x69, 0xfc, - 0xc3, 0x87, 0xe1, 0x5e, 0xfe, 0x98, 0x80, 0xe3, 0x6a, 0xd7, 0x74, 0x63, 0xc7, 0x7b, 0x1d, 0x82, - 0x97, 0xf9, 0xe5, 0xc6, 0x23, 0xfc, 0xc1, 0x02, 0x51, 0x1b, 0xf1, 0x46, 0xc4, 0xd0, 0x87, 0xb3, - 0xa2, 0x2e, 0x21, 0x47, 0x5f, 0x5d, 0x3c, 0xe0, 0xfd, 0x89, 0x88, 0x57, 0x2e, 0x06, 0xbc, 0x4f, - 0x11, 0x71, 0x09, 0xf3, 0xa0, 0xfb, 0x9e, 0xf2, 0x07, 0x63, 0x50, 0xbc, 0xac, 0x3b, 0xae, 0x69, - 0xeb, 0x4d, 0xad, 0x4d, 0x2d, 0xc6, 0x85, 0x51, 0x3f, 0xf2, 0xa8, 0xe6, 0x88, 0x33, 0xc2, 0x1f, - 0xb5, 0xe0, 0x17, 0x43, 0x16, 0x21, 0x7d, 0x5d, 0x6b, 0xb3, 0x4f, 0x2c, 0x82, 0xef, 0xd7, 0xf4, - 0xf2, 0x3c, 0xe0, 0x25, 0x05, 0xa9, 0x30, 0x5c, 0xf9, 0x8b, 0xf4, 0x12, 0x77, 0xa7, 0xa3, 0x3b, - 0xec, 0xcf, 0x4e, 0xbb, 0xd8, 0x41, 0x9b, 0x90, 0xb4, 0x35, 0x97, 0x07, 0x35, 0xd5, 0x0a, 0x7f, - 0x8a, 0xe2, 0xfe, 0xe8, 0x07, 0x25, 0xe6, 0xfb, 0x5e, 0xab, 0x60, 0x9d, 0x51, 0x72, 0xe8, 0x47, - 0x20, 0xdb, 0xd1, 0xf6, 0x54, 0x4a, 0x3a, 0xfe, 0x46, 0x91, 0xce, 0x74, 0xb4, 0x3d, 0x32, 0x6a, - 0xa4, 0x43, 0x89, 0x50, 0x6f, 0xee, 0x6a, 0xc6, 0x0e, 0x66, 0x9d, 0x24, 0xde, 0xa8, 0x4e, 0x0a, - 0x1d, 0x6d, 0xaf, 0x46, 0x09, 0x93, 0xae, 0xf8, 0xa3, 0x1f, 0xbf, 0x1d, 0xe3, 0xa1, 0x2c, 0xe5, - 0x1c, 0xd2, 0x40, 0x6a, 0x7a, 0x25, 0xda, 0xbf, 0x48, 0xeb, 0x9f, 0x18, 0xb6, 0x30, 0x3d, 0x7c, - 0xaf, 0x16, 0xc8, 0x48, 0xbf, 0xfa, 0xea, 0x6c, 0x8c, 0xf5, 0x5a, 0x6a, 0xf6, 0xac, 0xcb, 0x15, - 0xc8, 0xb3, 0x6c, 0x9a, 0x4a, 0x5d, 0xd8, 0x78, 0xa4, 0x0b, 0x5b, 0x10, 0x2e, 0x2c, 0x23, 0x08, - 0x0c, 0x9b, 0xb4, 0xf3, 0x39, 0x7c, 0x3a, 0x06, 0xf9, 0xc5, 0xc0, 0x73, 0x55, 0xd3, 0x90, 0xe9, - 0x98, 0x86, 0x7e, 0x0d, 0xdb, 0xde, 0xb9, 0x0c, 0x2b, 0x12, 0x37, 0x93, 0xfd, 0xd9, 0x21, 0x77, - 0x5f, 0xbc, 0xc4, 0x20, 0xca, 0x04, 0xeb, 0x06, 0xde, 0x72, 0x74, 0xc1, 0x72, 0x45, 0x14, 0xd1, - 0x29, 0x90, 0x1c, 0xdc, 0xec, 0xda, 0xba, 0xbb, 0xaf, 0x36, 0x4d, 0xc3, 0xd5, 0x9a, 0x2e, 0xcf, - 0x9e, 0x96, 0x44, 0x7d, 0x8d, 0x55, 0x13, 0x22, 0x2d, 0xec, 0x6a, 0x7a, 0x9b, 0x5d, 0xfb, 0xca, - 0x29, 0xa2, 0xc8, 0x87, 0xfa, 0xc5, 0x4c, 0x30, 0x34, 0xac, 0x81, 0x64, 0x5a, 0xd8, 0x0e, 0x7d, - 0xf2, 0xc6, 0xc4, 0x75, 0xfa, 0xf7, 0x3e, 0xff, 0xd0, 0x14, 0x67, 0x38, 0x3f, 0x80, 0x67, 0xaf, - 0x33, 0x2b, 0x25, 0x81, 0x21, 0xbe, 0x85, 0x7b, 0x3e, 0x74, 0x12, 0xd3, 0xdd, 0xf2, 0x3f, 0xb9, - 0x9f, 0xea, 0x63, 0x6a, 0xc5, 0xd8, 0xaf, 0x4e, 0xff, 0xae, 0x4f, 0xda, 0x0f, 0x1d, 0x9f, 0xc1, - 0xfb, 0xc1, 0x63, 0x19, 0x4a, 0x86, 0x78, 0xf0, 0x2f, 0x6a, 0x7a, 0x5b, 0xfc, 0x25, 0x35, 0x85, - 0x97, 0xd0, 0x82, 0x97, 0x86, 0x61, 0x7f, 0x21, 0x5d, 0x1e, 0x26, 0x1b, 0x55, 0xd3, 0x68, 0x85, - 0x33, 0x2e, 0x68, 0x03, 0xd2, 0xae, 0x79, 0x0d, 0x1b, 0x9c, 0x41, 0xd5, 0xb7, 0x1d, 0x42, 0xb0, - 0xfb, 0xdf, 0x9f, 0xe1, 0xb4, 0xd0, 0x0e, 0x48, 0x2d, 0xdc, 0xc6, 0x3b, 0xec, 0x83, 0xad, 0x5d, - 0xcd, 0xc6, 0xec, 0x23, 0xce, 0xc3, 0xd1, 0xef, 0x7f, 0xa6, 0xa6, 0xe4, 0x51, 0x6d, 0x50, 0xa2, - 0x68, 0x3d, 0xfc, 0x58, 0x5a, 0x86, 0x9f, 0xca, 0x0f, 0x99, 0x7f, 0x40, 0x2a, 0x83, 0x6a, 0x2b, - 0xf4, 0xb8, 0xda, 0x29, 0x90, 0xba, 0xc6, 0x96, 0x69, 0xd0, 0x3f, 0x7a, 0xc4, 0x03, 0xac, 0x2c, - 0x3b, 0xb9, 0xf3, 0xea, 0xf9, 0xc9, 0xdd, 0x3a, 0x14, 0x7d, 0x50, 0xba, 0x7b, 0x72, 0x87, 0xdd, - 0x3d, 0x05, 0x8f, 0x00, 0x01, 0x41, 0x2b, 0x00, 0xfe, 0xfe, 0xf4, 0x4e, 0xf7, 0x23, 0x77, 0x7a, - 0x70, 0x32, 0x01, 0x02, 0xa8, 0x0d, 0x93, 0x1d, 0xdd, 0x50, 0x1d, 0xdc, 0xde, 0x56, 0x39, 0xe7, - 0x08, 0xdd, 0xfc, 0x1b, 0xb0, 0xd2, 0x13, 0x1d, 0xdd, 0x68, 0xe0, 0xf6, 0xf6, 0xa2, 0x47, 0x16, - 0xbd, 0x0d, 0x8e, 0xfb, 0xec, 0x30, 0x0d, 0x75, 0xd7, 0x6c, 0xb7, 0x54, 0x1b, 0x6f, 0xab, 0x4d, - 0xfa, 0xfc, 0xd1, 0x38, 0x65, 0xe2, 0x51, 0x0f, 0x64, 0xcd, 0xb8, 0x6c, 0xb6, 0x5b, 0x0a, 0xde, - 0xae, 0x91, 0x66, 0x74, 0x0f, 0xf8, 0xbc, 0x50, 0xf5, 0x96, 0x33, 0x5d, 0x98, 0x4b, 0x9c, 0x4c, - 0x2a, 0xe3, 0x5e, 0xe5, 0x52, 0xcb, 0x59, 0xc8, 0xbe, 0xef, 0x95, 0xd9, 0xb1, 0x6f, 0xbd, 0x32, - 0x3b, 0x26, 0x5f, 0xa4, 0x8f, 0x75, 0xf0, 0x4d, 0x87, 0x1d, 0x74, 0x1e, 0x72, 0x9a, 0x28, 0xb0, - 0xcf, 0x44, 0x0e, 0xd8, 0xb4, 0x3e, 0xa8, 0xfc, 0x4a, 0x0c, 0xd2, 0x8b, 0x57, 0xd7, 0x35, 0xdd, - 0x46, 0x75, 0x98, 0xf0, 0x85, 0x76, 0xd4, 0xfd, 0xef, 0xcb, 0xb9, 0x50, 0x00, 0xf5, 0x61, 0x5f, - 0xce, 0x1e, 0x48, 0xa6, 0xf7, 0x9b, 0xda, 0xc0, 0x54, 0xaf, 0x40, 0x86, 0x8d, 0xd0, 0x41, 0x4f, - 0x43, 0xca, 0x22, 0x3f, 0x78, 0xf6, 0x7f, 0x66, 0xa8, 0xa0, 0x53, 0xf8, 0xa0, 0x58, 0x30, 0x3c, - 0xf9, 0x2f, 0x63, 0x00, 0x8b, 0x57, 0xaf, 0x6e, 0xd8, 0xba, 0xd5, 0xc6, 0xee, 0x1b, 0x35, 0xe5, - 0x65, 0xb8, 0x23, 0xf0, 0x7d, 0xa6, 0xdd, 0x1c, 0x79, 0xda, 0x93, 0xfe, 0x17, 0x9a, 0x76, 0x73, - 0x20, 0xb5, 0x96, 0xe3, 0x7a, 0xd4, 0x12, 0x23, 0x53, 0x5b, 0x74, 0xdc, 0x7e, 0x3e, 0x3e, 0x07, - 0x79, 0x7f, 0xea, 0x0e, 0x5a, 0x82, 0xac, 0xcb, 0x7f, 0x73, 0x76, 0xca, 0xc3, 0xd9, 0x29, 0xd0, - 0x82, 0x2c, 0xf5, 0xd0, 0xe5, 0xff, 0x45, 0xb8, 0xea, 0x6f, 0x84, 0xbf, 0x56, 0x82, 0x44, 0x34, - 0x3c, 0xd7, 0xc0, 0x89, 0x37, 0x40, 0x03, 0x73, 0x5a, 0x01, 0xb6, 0xfe, 0x78, 0x1c, 0x26, 0x37, - 0xc5, 0x26, 0xfd, 0x6b, 0xcb, 0x85, 0x4d, 0xc8, 0x60, 0xc3, 0xb5, 0x75, 0x2c, 0x8e, 0xfa, 0x1e, - 0x1e, 0xb6, 0xd8, 0x03, 0xe6, 0x42, 0xff, 0x14, 0x70, 0x70, 0xe9, 0x05, 0xad, 0x00, 0x1b, 0x7e, - 0x33, 0x01, 0xd3, 0xc3, 0x50, 0xd1, 0x09, 0x28, 0x35, 0x6d, 0x4c, 0x2b, 0xd4, 0x50, 0x2a, 0xbc, - 0x28, 0xaa, 0xb9, 0x49, 0x51, 0x80, 0x38, 0x68, 0x44, 0xaa, 0x08, 0xe8, 0xed, 0x79, 0x64, 0x45, - 0x9f, 0x02, 0x35, 0x2a, 0x18, 0x4a, 0xe2, 0x6e, 0xfb, 0x96, 0xd6, 0xd6, 0x8c, 0x26, 0xbe, 0x0d, - 0x49, 0xe8, 0xb7, 0x00, 0xe2, 0xc2, 0x7c, 0x95, 0xd1, 0x44, 0x57, 0x21, 0x23, 0xc8, 0x27, 0xdf, - 0x00, 0xf2, 0x82, 0x18, 0xba, 0x1b, 0xc6, 0x83, 0x86, 0x81, 0xfa, 0x29, 0x49, 0x25, 0x1f, 0xb0, - 0x0b, 0x51, 0x96, 0x27, 0x7d, 0xa0, 0xe5, 0xe1, 0xae, 0xe0, 0x6f, 0x24, 0x60, 0x42, 0xc1, 0xad, - 0x1f, 0xc0, 0x85, 0xfb, 0x61, 0x00, 0xb6, 0xa9, 0x89, 0xb2, 0xbd, 0x8d, 0xb5, 0xeb, 0x57, 0x12, - 0x39, 0x46, 0x6f, 0xd1, 0x71, 0xdf, 0xaa, 0xd5, 0xfb, 0x57, 0x71, 0x18, 0x0f, 0xae, 0xde, 0x0f, - 0x80, 0x65, 0x43, 0xab, 0xbe, 0x4a, 0x63, 0xb7, 0xcf, 0x4f, 0x0d, 0x53, 0x69, 0x7d, 0x72, 0x1d, - 0xa1, 0xcb, 0x3e, 0x95, 0x80, 0x34, 0xbf, 0x0a, 0xb6, 0xd6, 0xe7, 0xe3, 0xc6, 0xa2, 0xbe, 0xff, - 0x2d, 0x88, 0xef, 0x7f, 0x07, 0xba, 0xb8, 0xf7, 0x41, 0x91, 0x84, 0xd4, 0xa1, 0xfb, 0x65, 0xb1, - 0x93, 0x05, 0x1a, 0x0e, 0xfb, 0xb7, 0xa1, 0xd1, 0x2c, 0xe4, 0x09, 0x98, 0xaf, 0xb3, 0x09, 0x0c, - 0x74, 0xb4, 0xbd, 0x3a, 0xab, 0x41, 0x0f, 0x01, 0xda, 0xf5, 0x12, 0x1f, 0xaa, 0xcf, 0x08, 0x02, - 0x37, 0xe1, 0xb7, 0x08, 0xf0, 0xbb, 0x00, 0xc8, 0x28, 0x54, 0xf6, 0x42, 0x27, 0x7f, 0xed, 0x94, - 0xd4, 0x2c, 0xd2, 0x57, 0x3a, 0x7f, 0x26, 0xc6, 0x5c, 0xe5, 0x9e, 0x68, 0x9b, 0x07, 0x2d, 0xea, - 0xe1, 0x76, 0xc3, 0x77, 0x5f, 0x9d, 0x2d, 0xef, 0x6b, 0x9d, 0xf6, 0x82, 0x3c, 0x80, 0xa4, 0x3c, - 0x28, 0x17, 0x40, 0xbc, 0xe9, 0x70, 0xe0, 0xbe, 0x70, 0x2f, 0x91, 0xeb, 0x9b, 0xdf, 0xfc, 0xec, - 0xe9, 0xe3, 0x81, 0x2e, 0xf6, 0xbc, 0x0c, 0x19, 0x5b, 0x1e, 0xf9, 0x33, 0x31, 0x40, 0xbe, 0xb1, - 0xf1, 0xee, 0x83, 0xaf, 0xd0, 0x5b, 0xc2, 0xc2, 0xdf, 0x8f, 0x1d, 0x1c, 0x47, 0xf8, 0xf8, 0xa1, - 0x38, 0x22, 0xb0, 0x99, 0xde, 0xee, 0xab, 0x76, 0xf1, 0xf5, 0xf7, 0x80, 0xb7, 0x5a, 0xe7, 0x6b, - 0xa6, 0x1e, 0x22, 0x21, 0x90, 0xe8, 0x1e, 0x1d, 0x93, 0x5f, 0x8d, 0xc1, 0xb1, 0x3e, 0x49, 0xf4, - 0x86, 0xdc, 0x04, 0x64, 0x07, 0x1a, 0xf9, 0x9f, 0xe3, 0x8f, 0xf1, 0x8f, 0x1d, 0x6f, 0x47, 0xb0, - 0x27, 0xec, 0x3e, 0x75, 0xfe, 0x26, 0xd9, 0x28, 0xae, 0x84, 0x7e, 0x27, 0x06, 0x53, 0xc1, 0x11, - 0x79, 0x73, 0x6b, 0xc0, 0x78, 0x70, 0x2c, 0x7c, 0x56, 0xf7, 0x8e, 0x32, 0xab, 0xe0, 0x84, 0x42, - 0x44, 0xc8, 0x5c, 0x84, 0xd4, 0xb3, 0x5c, 0xdd, 0x23, 0x23, 0x73, 0xc9, 0x3b, 0x87, 0x18, 0xa4, - 0x06, 0xd8, 0x62, 0xbd, 0x3f, 0x0e, 0xc9, 0x75, 0xd3, 0x6c, 0xa3, 0x1f, 0x8b, 0xc1, 0x84, 0x61, - 0xba, 0x2a, 0xd9, 0x2b, 0xb8, 0xa5, 0xf2, 0x64, 0x01, 0xd3, 0xa4, 0x57, 0x0f, 0xc7, 0xbd, 0x6f, - 0xbf, 0x3a, 0xdb, 0x4f, 0x6a, 0xd0, 0x13, 0xbb, 0x25, 0xc3, 0x74, 0xab, 0x14, 0x68, 0x83, 0xe5, - 0x13, 0x6e, 0x40, 0x21, 0xdc, 0x3f, 0x53, 0xbf, 0xca, 0xa1, 0xfb, 0x2f, 0x44, 0xf6, 0x3d, 0xbe, - 0x15, 0xe8, 0x98, 0x3d, 0x74, 0xf9, 0xa7, 0x64, 0x71, 0x9f, 0x07, 0xe9, 0x6a, 0xef, 0xcd, 0xb4, - 0x3a, 0x64, 0x0e, 0x7b, 0xc9, 0x2d, 0xc8, 0x71, 0x8e, 0x7b, 0xfa, 0x0b, 0x31, 0x00, 0x3f, 0x35, - 0x83, 0x1e, 0x84, 0xa3, 0xd5, 0xb5, 0xd5, 0x45, 0xb5, 0xb1, 0x51, 0xd9, 0xd8, 0x6c, 0x84, 0xdf, - 0x65, 0x17, 0x6f, 0x91, 0x38, 0x16, 0x6e, 0xea, 0xdb, 0x3a, 0x6e, 0xa1, 0xfb, 0x61, 0x2a, 0x0c, - 0x4d, 0x4a, 0xf5, 0x45, 0x29, 0x56, 0x1e, 0xbf, 0x79, 0x6b, 0x2e, 0xcb, 0x5c, 0x52, 0xdc, 0x42, - 0x27, 0xe1, 0x8e, 0x7e, 0xb8, 0xa5, 0xd5, 0x4b, 0x52, 0xbc, 0x5c, 0xb8, 0x79, 0x6b, 0x2e, 0xe7, - 0xf9, 0xae, 0x48, 0x06, 0x14, 0x84, 0xe4, 0xf4, 0x12, 0x65, 0xb8, 0x79, 0x6b, 0x2e, 0xcd, 0x96, - 0xa5, 0x9c, 0x7c, 0xdf, 0x27, 0x66, 0xc6, 0x4e, 0xbf, 0x13, 0x60, 0xc9, 0xd8, 0xb6, 0x35, 0xfa, - 0xc7, 0x89, 0x51, 0x19, 0x8e, 0x2c, 0xad, 0x5e, 0x54, 0x2a, 0xb5, 0x8d, 0xa5, 0xb5, 0xd5, 0x9e, - 0xe7, 0xe4, 0xc3, 0x6d, 0x8b, 0x6b, 0x9b, 0xd5, 0xe5, 0xba, 0xda, 0x58, 0xba, 0xb4, 0xca, 0x4e, - 0x78, 0x43, 0x6d, 0xcf, 0xae, 0x6e, 0x2c, 0xad, 0xd4, 0xa5, 0x78, 0xf5, 0xe2, 0xd0, 0x33, 0x86, - 0x07, 0x0f, 0x5c, 0x70, 0x5f, 0x4b, 0x86, 0x0e, 0x1a, 0xfe, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, - 0x46, 0xb1, 0xfa, 0xc1, 0x34, 0x97, 0x00, 0x00, + // 10765 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7d, 0x6b, 0x90, 0x1c, 0xc7, + 0x79, 0xd8, 0xed, 0x7b, 0xf7, 0xdb, 0xd7, 0x5c, 0xdf, 0x11, 0x38, 0x2c, 0xc8, 0xbb, 0xe3, 0xf0, + 0x81, 0x07, 0xc9, 0x03, 0x09, 0x12, 0x20, 0xb9, 0x10, 0x45, 0xef, 0xee, 0x2d, 0x80, 0x03, 0xef, + 0xa5, 0xd9, 0x3b, 0xf0, 0x61, 0x5b, 0xa3, 0xb9, 0xdd, 0xbe, 0xbb, 0x21, 0x76, 0x67, 0x56, 0x33, + 0xb3, 0xc0, 0x1d, 0x2b, 0x95, 0xa2, 0x2d, 0xdb, 0x91, 0x11, 0x47, 0x96, 0xad, 0x94, 0x2d, 0x4b, + 0x82, 0x42, 0x59, 0xb1, 0x1e, 0xce, 0x4b, 0xb6, 0x14, 0x49, 0x8e, 0xcb, 0x2e, 0x39, 0x95, 0x87, + 0xec, 0xa4, 0x52, 0x92, 0x2b, 0x95, 0xb8, 0x52, 0x09, 0xe3, 0x50, 0xaa, 0x48, 0x91, 0xe5, 0xd8, + 0x96, 0x69, 0x3b, 0x8e, 0x2a, 0x95, 0x54, 0xbf, 0xe6, 0xb1, 0x8f, 0x9b, 0x3d, 0x88, 0xa4, 0x9d, + 0xd2, 0x1f, 0x60, 0xbb, 0xfb, 0xfb, 0xbe, 0xee, 0xfe, 0xfa, 0xeb, 0xef, 0xd5, 0x3d, 0x7d, 0xf0, + 0xa7, 0x17, 0x60, 0x7e, 0xc7, 0x34, 0x77, 0xda, 0xf8, 0x4c, 0xd7, 0x32, 0x1d, 0x73, 0xab, 0xb7, + 0x7d, 0xa6, 0x85, 0xed, 0xa6, 0xa5, 0x77, 0x1d, 0xd3, 0x5a, 0xa0, 0x75, 0xa8, 0xc8, 0x20, 0x16, + 0x04, 0x84, 0xbc, 0x02, 0x93, 0x17, 0xf5, 0x36, 0x5e, 0x74, 0x01, 0x1b, 0xd8, 0x41, 0x4f, 0x40, + 0x7c, 0x5b, 0x6f, 0xe3, 0x99, 0xc8, 0x7c, 0xec, 0x64, 0xf6, 0xec, 0xbd, 0x0b, 0x7d, 0x48, 0x0b, + 0x41, 0x8c, 0x75, 0x52, 0xad, 0x50, 0x0c, 0xf9, 0xeb, 0x71, 0x98, 0x1a, 0xd2, 0x8a, 0x10, 0xc4, + 0x0d, 0xad, 0x43, 0x28, 0x46, 0x4e, 0x66, 0x14, 0xfa, 0x1b, 0xcd, 0x40, 0xaa, 0xab, 0x35, 0xaf, + 0x69, 0x3b, 0x78, 0x26, 0x4a, 0xab, 0x45, 0x11, 0xcd, 0x02, 0xb4, 0x70, 0x17, 0x1b, 0x2d, 0x6c, + 0x34, 0xf7, 0x67, 0x62, 0xf3, 0xb1, 0x93, 0x19, 0xc5, 0x57, 0x83, 0x1e, 0x80, 0xc9, 0x6e, 0x6f, + 0xab, 0xad, 0x37, 0x55, 0x1f, 0x18, 0xcc, 0xc7, 0x4e, 0x26, 0x14, 0x89, 0x35, 0x2c, 0x7a, 0xc0, + 0x27, 0xa0, 0x78, 0x03, 0x6b, 0xd7, 0xfc, 0xa0, 0x59, 0x0a, 0x5a, 0x20, 0xd5, 0x3e, 0xc0, 0x1a, + 0xe4, 0x3a, 0xd8, 0xb6, 0xb5, 0x1d, 0xac, 0x3a, 0xfb, 0x5d, 0x3c, 0x13, 0xa7, 0xb3, 0x9f, 0x1f, + 0x98, 0x7d, 0xff, 0xcc, 0xb3, 0x1c, 0x6b, 0x63, 0xbf, 0x8b, 0x51, 0x05, 0x32, 0xd8, 0xe8, 0x75, + 0x18, 0x85, 0xc4, 0x08, 0xfe, 0xd5, 0x8d, 0x5e, 0xa7, 0x9f, 0x4a, 0x9a, 0xa0, 0x71, 0x12, 0x29, + 0x1b, 0x5b, 0xd7, 0xf5, 0x26, 0x9e, 0x49, 0x52, 0x02, 0x27, 0x06, 0x08, 0x34, 0x58, 0x7b, 0x3f, + 0x0d, 0x81, 0x87, 0x6a, 0x90, 0xc1, 0x7b, 0x0e, 0x36, 0x6c, 0xdd, 0x34, 0x66, 0x52, 0x94, 0xc8, + 0x7d, 0x43, 0x56, 0x11, 0xb7, 0x5b, 0xfd, 0x24, 0x3c, 0x3c, 0x74, 0x1e, 0x52, 0x66, 0xd7, 0xd1, + 0x4d, 0xc3, 0x9e, 0x49, 0xcf, 0x47, 0x4e, 0x66, 0xcf, 0xde, 0x39, 0x54, 0x10, 0xd6, 0x18, 0x8c, + 0x22, 0x80, 0xd1, 0x12, 0x48, 0xb6, 0xd9, 0xb3, 0x9a, 0x58, 0x6d, 0x9a, 0x2d, 0xac, 0xea, 0xc6, + 0xb6, 0x39, 0x93, 0xa1, 0x04, 0xe6, 0x06, 0x27, 0x42, 0x01, 0x6b, 0x66, 0x0b, 0x2f, 0x19, 0xdb, + 0xa6, 0x52, 0xb0, 0x03, 0x65, 0x74, 0x04, 0x92, 0xf6, 0xbe, 0xe1, 0x68, 0x7b, 0x33, 0x39, 0x2a, + 0x21, 0xbc, 0x24, 0xff, 0x5a, 0x12, 0x8a, 0xe3, 0x88, 0xd8, 0x05, 0x48, 0x6c, 0x93, 0x59, 0xce, + 0x44, 0x0f, 0xc3, 0x03, 0x86, 0x13, 0x64, 0x62, 0xf2, 0x36, 0x99, 0x58, 0x81, 0xac, 0x81, 0x6d, + 0x07, 0xb7, 0x98, 0x44, 0xc4, 0xc6, 0x94, 0x29, 0x60, 0x48, 0x83, 0x22, 0x15, 0xbf, 0x2d, 0x91, + 0x7a, 0x0e, 0x8a, 0xee, 0x90, 0x54, 0x4b, 0x33, 0x76, 0x84, 0x6c, 0x9e, 0x09, 0x1b, 0xc9, 0x42, + 0x5d, 0xe0, 0x29, 0x04, 0x4d, 0x29, 0xe0, 0x40, 0x19, 0x2d, 0x02, 0x98, 0x06, 0x36, 0xb7, 0xd5, + 0x16, 0x6e, 0xb6, 0x67, 0xd2, 0x23, 0xb8, 0xb4, 0x46, 0x40, 0x06, 0xb8, 0x64, 0xb2, 0xda, 0x66, + 0x1b, 0x3d, 0xe9, 0x89, 0x5a, 0x6a, 0x84, 0xa4, 0xac, 0xb0, 0x4d, 0x36, 0x20, 0x6d, 0x9b, 0x50, + 0xb0, 0x30, 0x91, 0x7b, 0xdc, 0xe2, 0x33, 0xcb, 0xd0, 0x41, 0x2c, 0x84, 0xce, 0x4c, 0xe1, 0x68, + 0x6c, 0x62, 0x79, 0xcb, 0x5f, 0x44, 0xf7, 0x80, 0x5b, 0xa1, 0x52, 0xb1, 0x02, 0xaa, 0x85, 0x72, + 0xa2, 0x72, 0x55, 0xeb, 0xe0, 0xd2, 0x4b, 0x50, 0x08, 0xb2, 0x07, 0x4d, 0x43, 0xc2, 0x76, 0x34, + 0xcb, 0xa1, 0x52, 0x98, 0x50, 0x58, 0x01, 0x49, 0x10, 0xc3, 0x46, 0x8b, 0x6a, 0xb9, 0x84, 0x42, + 0x7e, 0xa2, 0x1f, 0xf0, 0x26, 0x1c, 0xa3, 0x13, 0xbe, 0x7f, 0x70, 0x45, 0x03, 0x94, 0xfb, 0xe7, + 0x5d, 0x7a, 0x1c, 0xf2, 0x81, 0x09, 0x8c, 0xdb, 0xb5, 0xfc, 0x37, 0xe0, 0x8e, 0xa1, 0xa4, 0xd1, + 0x73, 0x30, 0xdd, 0x33, 0x74, 0xc3, 0xc1, 0x56, 0xd7, 0xc2, 0x44, 0x62, 0x59, 0x57, 0x33, 0xdf, + 0x48, 0x8d, 0x90, 0xb9, 0x4d, 0x3f, 0x34, 0xa3, 0xa2, 0x4c, 0xf5, 0x06, 0x2b, 0x4f, 0x67, 0xd2, + 0xdf, 0x4c, 0x49, 0x2f, 0xbf, 0xfc, 0xf2, 0xcb, 0x51, 0xf9, 0xb7, 0x92, 0x30, 0x3d, 0x6c, 0xcf, + 0x0c, 0xdd, 0xbe, 0x47, 0x20, 0x69, 0xf4, 0x3a, 0x5b, 0xd8, 0xa2, 0x4c, 0x4a, 0x28, 0xbc, 0x84, + 0x2a, 0x90, 0x68, 0x6b, 0x5b, 0xb8, 0x3d, 0x13, 0x9f, 0x8f, 0x9c, 0x2c, 0x9c, 0x7d, 0x60, 0xac, + 0x5d, 0xb9, 0xb0, 0x4c, 0x50, 0x14, 0x86, 0x89, 0xde, 0x0e, 0x71, 0xae, 0xa2, 0x09, 0x85, 0xd3, + 0xe3, 0x51, 0x20, 0x7b, 0x49, 0xa1, 0x78, 0xe8, 0x38, 0x64, 0xc8, 0xff, 0x4c, 0x36, 0x92, 0x74, + 0xcc, 0x69, 0x52, 0x41, 0xe4, 0x02, 0x95, 0x20, 0x4d, 0xb7, 0x49, 0x0b, 0x0b, 0xd3, 0xe6, 0x96, + 0x89, 0x60, 0xb5, 0xf0, 0xb6, 0xd6, 0x6b, 0x3b, 0xea, 0x75, 0xad, 0xdd, 0xc3, 0x54, 0xe0, 0x33, + 0x4a, 0x8e, 0x57, 0x5e, 0x25, 0x75, 0x68, 0x0e, 0xb2, 0x6c, 0x57, 0xe9, 0x46, 0x0b, 0xef, 0x51, + 0xed, 0x99, 0x50, 0xd8, 0x46, 0x5b, 0x22, 0x35, 0xa4, 0xfb, 0x17, 0x6d, 0xd3, 0x10, 0xa2, 0x49, + 0xbb, 0x20, 0x15, 0xb4, 0xfb, 0xc7, 0xfb, 0x15, 0xf7, 0x5d, 0xc3, 0xa7, 0x37, 0xb0, 0x97, 0x4e, + 0x40, 0x91, 0x42, 0x3c, 0xca, 0x97, 0x5e, 0x6b, 0xcf, 0x4c, 0xce, 0x47, 0x4e, 0xa6, 0x95, 0x02, + 0xab, 0x5e, 0xe3, 0xb5, 0xf2, 0xe7, 0xa3, 0x10, 0xa7, 0x8a, 0xa5, 0x08, 0xd9, 0x8d, 0xe7, 0xd7, + 0xeb, 0xea, 0xe2, 0xda, 0x66, 0x75, 0xb9, 0x2e, 0x45, 0x50, 0x01, 0x80, 0x56, 0x5c, 0x5c, 0x5e, + 0xab, 0x6c, 0x48, 0x51, 0xb7, 0xbc, 0xb4, 0xba, 0x71, 0xfe, 0x31, 0x29, 0xe6, 0x22, 0x6c, 0xb2, + 0x8a, 0xb8, 0x1f, 0xe0, 0xd1, 0xb3, 0x52, 0x02, 0x49, 0x90, 0x63, 0x04, 0x96, 0x9e, 0xab, 0x2f, + 0x9e, 0x7f, 0x4c, 0x4a, 0x06, 0x6b, 0x1e, 0x3d, 0x2b, 0xa5, 0x50, 0x1e, 0x32, 0xb4, 0xa6, 0xba, + 0xb6, 0xb6, 0x2c, 0xa5, 0x5d, 0x9a, 0x8d, 0x0d, 0x65, 0x69, 0xf5, 0x92, 0x94, 0x71, 0x69, 0x5e, + 0x52, 0xd6, 0x36, 0xd7, 0x25, 0x70, 0x29, 0xac, 0xd4, 0x1b, 0x8d, 0xca, 0xa5, 0xba, 0x94, 0x75, + 0x21, 0xaa, 0xcf, 0x6f, 0xd4, 0x1b, 0x52, 0x2e, 0x30, 0xac, 0x47, 0xcf, 0x4a, 0x79, 0xb7, 0x8b, + 0xfa, 0xea, 0xe6, 0x8a, 0x54, 0x40, 0x93, 0x90, 0x67, 0x5d, 0x88, 0x41, 0x14, 0xfb, 0xaa, 0xce, + 0x3f, 0x26, 0x49, 0xde, 0x40, 0x18, 0x95, 0xc9, 0x40, 0xc5, 0xf9, 0xc7, 0x24, 0x24, 0xd7, 0x20, + 0x41, 0xc5, 0x10, 0x21, 0x28, 0x2c, 0x57, 0xaa, 0xf5, 0x65, 0x75, 0x6d, 0x7d, 0x63, 0x69, 0x6d, + 0xb5, 0xb2, 0x2c, 0x45, 0xbc, 0x3a, 0xa5, 0xfe, 0x8e, 0xcd, 0x25, 0xa5, 0xbe, 0x28, 0x45, 0xfd, + 0x75, 0xeb, 0xf5, 0xca, 0x46, 0x7d, 0x51, 0x8a, 0xc9, 0x4d, 0x98, 0x1e, 0xa6, 0x50, 0x87, 0x6e, + 0x21, 0x9f, 0x2c, 0x44, 0x47, 0xc8, 0x02, 0xa5, 0xd5, 0x2f, 0x0b, 0xf2, 0xd7, 0xa2, 0x30, 0x35, + 0xc4, 0xa8, 0x0c, 0xed, 0xe4, 0x69, 0x48, 0x30, 0x59, 0x66, 0x66, 0xf6, 0xd4, 0x50, 0xeb, 0x44, + 0x25, 0x7b, 0xc0, 0xd4, 0x52, 0x3c, 0xbf, 0xab, 0x11, 0x1b, 0xe1, 0x6a, 0x10, 0x12, 0x03, 0x02, + 0xfb, 0xc3, 0x03, 0xca, 0x9f, 0xd9, 0xc7, 0xf3, 0xe3, 0xd8, 0x47, 0x5a, 0x77, 0x38, 0x23, 0x90, + 0x18, 0x62, 0x04, 0x2e, 0xc0, 0xe4, 0x00, 0xa1, 0xb1, 0x95, 0xf1, 0x7b, 0x22, 0x30, 0x33, 0x8a, + 0x39, 0x21, 0x2a, 0x31, 0x1a, 0x50, 0x89, 0x17, 0xfa, 0x39, 0x78, 0xf7, 0xe8, 0x45, 0x18, 0x58, + 0xeb, 0x4f, 0x46, 0xe0, 0xc8, 0x70, 0x97, 0x72, 0xe8, 0x18, 0xde, 0x0e, 0xc9, 0x0e, 0x76, 0x76, + 0x4d, 0xe1, 0x56, 0xdd, 0x3f, 0xc4, 0x58, 0x93, 0xe6, 0xfe, 0xc5, 0xe6, 0x58, 0x7e, 0x6b, 0x1f, + 0x1b, 0xe5, 0x17, 0xb2, 0xd1, 0x0c, 0x8c, 0xf4, 0x27, 0xa3, 0x70, 0xc7, 0x50, 0xe2, 0x43, 0x07, + 0x7a, 0x17, 0x80, 0x6e, 0x74, 0x7b, 0x0e, 0x73, 0x9d, 0x98, 0x26, 0xce, 0xd0, 0x1a, 0xaa, 0xbc, + 0x88, 0x96, 0xed, 0x39, 0x6e, 0x7b, 0x8c, 0xb6, 0x03, 0xab, 0xa2, 0x00, 0x4f, 0x78, 0x03, 0x8d, + 0xd3, 0x81, 0xce, 0x8e, 0x98, 0xe9, 0x80, 0x60, 0x3e, 0x0c, 0x52, 0xb3, 0xad, 0x63, 0xc3, 0x51, + 0x6d, 0xc7, 0xc2, 0x5a, 0x47, 0x37, 0x76, 0xa8, 0xa9, 0x49, 0x97, 0x13, 0xdb, 0x5a, 0xdb, 0xc6, + 0x4a, 0x91, 0x35, 0x37, 0x44, 0x2b, 0xc1, 0xa0, 0x02, 0x64, 0xf9, 0x30, 0x92, 0x01, 0x0c, 0xd6, + 0xec, 0x62, 0xc8, 0x3f, 0x93, 0x81, 0xac, 0xcf, 0x01, 0x47, 0x77, 0x43, 0xee, 0x45, 0xed, 0xba, + 0xa6, 0x8a, 0xa0, 0x8a, 0x71, 0x22, 0x4b, 0xea, 0xd6, 0x79, 0x60, 0xf5, 0x30, 0x4c, 0x53, 0x10, + 0xb3, 0xe7, 0x60, 0x4b, 0x6d, 0xb6, 0x35, 0xdb, 0xa6, 0x4c, 0x4b, 0x53, 0x50, 0x44, 0xda, 0xd6, + 0x48, 0x53, 0x4d, 0xb4, 0xa0, 0x73, 0x30, 0x45, 0x31, 0x3a, 0xbd, 0xb6, 0xa3, 0x77, 0xdb, 0x58, + 0x25, 0x61, 0x9e, 0x4d, 0x4d, 0x8e, 0x3b, 0xb2, 0x49, 0x02, 0xb1, 0xc2, 0x01, 0xc8, 0x88, 0x6c, + 0xb4, 0x08, 0x77, 0x51, 0xb4, 0x1d, 0x6c, 0x60, 0x4b, 0x73, 0xb0, 0x8a, 0xdf, 0xdd, 0xd3, 0xda, + 0xb6, 0xaa, 0x19, 0x2d, 0x75, 0x57, 0xb3, 0x77, 0x67, 0xa6, 0x09, 0x81, 0x6a, 0x74, 0x26, 0xa2, + 0x1c, 0x23, 0x80, 0x97, 0x38, 0x5c, 0x9d, 0x82, 0x55, 0x8c, 0xd6, 0x65, 0xcd, 0xde, 0x45, 0x65, + 0x38, 0x42, 0xa9, 0xd8, 0x8e, 0xa5, 0x1b, 0x3b, 0x6a, 0x73, 0x17, 0x37, 0xaf, 0xa9, 0x3d, 0x67, + 0xfb, 0x89, 0x99, 0xe3, 0xfe, 0xfe, 0xe9, 0x08, 0x1b, 0x14, 0xa6, 0x46, 0x40, 0x36, 0x9d, 0xed, + 0x27, 0x50, 0x03, 0x72, 0x64, 0x31, 0x3a, 0xfa, 0x4b, 0x58, 0xdd, 0x36, 0x2d, 0x6a, 0x43, 0x0b, + 0x43, 0x54, 0x93, 0x8f, 0x83, 0x0b, 0x6b, 0x1c, 0x61, 0xc5, 0x6c, 0xe1, 0x72, 0xa2, 0xb1, 0x5e, + 0xaf, 0x2f, 0x2a, 0x59, 0x41, 0xe5, 0xa2, 0x69, 0x11, 0x81, 0xda, 0x31, 0x5d, 0x06, 0x67, 0x99, + 0x40, 0xed, 0x98, 0x82, 0xbd, 0xe7, 0x60, 0xaa, 0xd9, 0x64, 0x73, 0xd6, 0x9b, 0x2a, 0x0f, 0xc6, + 0xec, 0x19, 0x29, 0xc0, 0xac, 0x66, 0xf3, 0x12, 0x03, 0xe0, 0x32, 0x6e, 0xa3, 0x27, 0xe1, 0x0e, + 0x8f, 0x59, 0x7e, 0xc4, 0xc9, 0x81, 0x59, 0xf6, 0xa3, 0x9e, 0x83, 0xa9, 0xee, 0xfe, 0x20, 0x22, + 0x0a, 0xf4, 0xd8, 0xdd, 0xef, 0x47, 0x7b, 0x1c, 0xa6, 0xbb, 0xbb, 0xdd, 0x41, 0xbc, 0xd3, 0x7e, + 0x3c, 0xd4, 0xdd, 0xed, 0xf6, 0x23, 0xde, 0x47, 0x23, 0x73, 0x0b, 0x37, 0x35, 0x07, 0xb7, 0x66, + 0x8e, 0xfa, 0xc1, 0x7d, 0x0d, 0x68, 0x01, 0xa4, 0x66, 0x53, 0xc5, 0x86, 0xb6, 0xd5, 0xc6, 0xaa, + 0x66, 0x61, 0x43, 0xb3, 0x67, 0xe6, 0x28, 0x70, 0xdc, 0xb1, 0x7a, 0x58, 0x29, 0x34, 0x9b, 0x75, + 0xda, 0x58, 0xa1, 0x6d, 0xe8, 0x34, 0x4c, 0x9a, 0x5b, 0x2f, 0x36, 0x99, 0x44, 0xaa, 0x5d, 0x0b, + 0x6f, 0xeb, 0x7b, 0x33, 0xf7, 0x52, 0xf6, 0x16, 0x49, 0x03, 0x95, 0xc7, 0x75, 0x5a, 0x8d, 0x4e, + 0x81, 0xd4, 0xb4, 0x77, 0x35, 0xab, 0x4b, 0x55, 0xb2, 0xdd, 0xd5, 0x9a, 0x78, 0xe6, 0x3e, 0x06, + 0xca, 0xea, 0x57, 0x45, 0x35, 0xd9, 0x11, 0xf6, 0x0d, 0x7d, 0xdb, 0x11, 0x14, 0x4f, 0xb0, 0x1d, + 0x41, 0xeb, 0x38, 0xb5, 0x93, 0x20, 0x11, 0x4e, 0x04, 0x3a, 0x3e, 0x49, 0xc1, 0x0a, 0xdd, 0xdd, + 0xae, 0xbf, 0xdf, 0x7b, 0x20, 0x4f, 0x20, 0xbd, 0x4e, 0x4f, 0x31, 0xc7, 0xad, 0xbb, 0xeb, 0xeb, + 0xf1, 0x31, 0x38, 0x42, 0x80, 0x3a, 0xd8, 0xd1, 0x5a, 0x9a, 0xa3, 0xf9, 0xa0, 0x1f, 0xa4, 0xd0, + 0x84, 0xed, 0x2b, 0xbc, 0x31, 0x30, 0x4e, 0xab, 0xb7, 0xb5, 0xef, 0x0a, 0xd6, 0x43, 0x6c, 0x9c, + 0xa4, 0x4e, 0x88, 0xd6, 0x9b, 0xe6, 0x9c, 0xcb, 0x65, 0xc8, 0xf9, 0xe5, 0x1e, 0x65, 0x80, 0x49, + 0xbe, 0x14, 0x21, 0x4e, 0x50, 0x6d, 0x6d, 0x91, 0xb8, 0x2f, 0x2f, 0xd4, 0xa5, 0x28, 0x71, 0xa3, + 0x96, 0x97, 0x36, 0xea, 0xaa, 0xb2, 0xb9, 0xba, 0xb1, 0xb4, 0x52, 0x97, 0x62, 0x3e, 0xc7, 0xfe, + 0x4a, 0x3c, 0x7d, 0xbf, 0x74, 0x82, 0x78, 0x0d, 0x85, 0x60, 0xa4, 0x86, 0xde, 0x06, 0x47, 0x45, + 0x5a, 0xc5, 0xc6, 0x8e, 0x7a, 0x43, 0xb7, 0xe8, 0x86, 0xec, 0x68, 0xcc, 0x38, 0xba, 0xf2, 0x33, + 0xcd, 0xa1, 0x1a, 0xd8, 0x79, 0x56, 0xb7, 0xc8, 0x76, 0xeb, 0x68, 0x0e, 0x5a, 0x86, 0x39, 0xc3, + 0x54, 0x6d, 0x47, 0x33, 0x5a, 0x9a, 0xd5, 0x52, 0xbd, 0x84, 0x96, 0xaa, 0x35, 0x9b, 0xd8, 0xb6, + 0x4d, 0x66, 0x08, 0x5d, 0x2a, 0x77, 0x1a, 0x66, 0x83, 0x03, 0x7b, 0x16, 0xa2, 0xc2, 0x41, 0xfb, + 0xc4, 0x37, 0x36, 0x4a, 0x7c, 0x8f, 0x43, 0xa6, 0xa3, 0x75, 0x55, 0x6c, 0x38, 0xd6, 0x3e, 0xf5, + 0xcf, 0xd3, 0x4a, 0xba, 0xa3, 0x75, 0xeb, 0xa4, 0xfc, 0x96, 0x84, 0x49, 0x57, 0xe2, 0xe9, 0xb8, + 0x94, 0xb8, 0x12, 0x4f, 0x27, 0xa4, 0xe4, 0x95, 0x78, 0x3a, 0x29, 0xa5, 0xae, 0xc4, 0xd3, 0x69, + 0x29, 0x73, 0x25, 0x9e, 0xce, 0x48, 0x20, 0xff, 0x6c, 0x1c, 0x72, 0x7e, 0x0f, 0x9e, 0x04, 0x44, + 0x4d, 0x6a, 0xc3, 0x22, 0x54, 0xcb, 0xdd, 0x73, 0xa0, 0xbf, 0xbf, 0x50, 0x23, 0xc6, 0xad, 0x9c, + 0x64, 0xee, 0xb2, 0xc2, 0x30, 0x89, 0x63, 0x41, 0xc4, 0x0f, 0x33, 0xf7, 0x24, 0xad, 0xf0, 0x12, + 0xba, 0x04, 0xc9, 0x17, 0x6d, 0x4a, 0x3b, 0x49, 0x69, 0xdf, 0x7b, 0x30, 0xed, 0x2b, 0x0d, 0x4a, + 0x3c, 0x73, 0xa5, 0xa1, 0xae, 0xae, 0x29, 0x2b, 0x95, 0x65, 0x85, 0xa3, 0xa3, 0x63, 0x10, 0x6f, + 0x6b, 0x2f, 0xed, 0x07, 0xcd, 0x20, 0xad, 0x42, 0x0b, 0x50, 0xec, 0x19, 0xd7, 0xb1, 0xa5, 0x6f, + 0xeb, 0xb8, 0xa5, 0x52, 0xa8, 0xa2, 0x1f, 0xaa, 0xe0, 0xb5, 0x2e, 0x13, 0xf8, 0x31, 0x97, 0xf1, + 0x18, 0xc4, 0x6f, 0x60, 0xed, 0x5a, 0xd0, 0x58, 0xd1, 0xaa, 0x37, 0x71, 0x3b, 0x9d, 0x81, 0x04, + 0xe5, 0x2f, 0x02, 0xe0, 0x1c, 0x96, 0x26, 0x50, 0x1a, 0xe2, 0xb5, 0x35, 0x85, 0x6c, 0x29, 0x09, + 0x72, 0xac, 0x56, 0x5d, 0x5f, 0xaa, 0xd7, 0xea, 0x52, 0x54, 0x3e, 0x07, 0x49, 0xc6, 0x34, 0xb2, + 0xdd, 0x5c, 0xb6, 0x49, 0x13, 0xbc, 0xc8, 0x69, 0x44, 0x44, 0xeb, 0xe6, 0x4a, 0xb5, 0xae, 0x48, + 0xd1, 0x01, 0x61, 0x91, 0x6d, 0xc8, 0xf9, 0x3d, 0xf9, 0xb7, 0x26, 0x9c, 0xff, 0x52, 0x04, 0xb2, + 0x3e, 0xcf, 0x9c, 0xb8, 0x54, 0x5a, 0xbb, 0x6d, 0xde, 0x50, 0xb5, 0xb6, 0xae, 0xd9, 0x5c, 0x94, + 0x80, 0x56, 0x55, 0x48, 0xcd, 0xb8, 0x4b, 0xf7, 0x16, 0x6d, 0xb2, 0x84, 0x94, 0x94, 0x3f, 0x1a, + 0x01, 0xa9, 0xdf, 0x35, 0xee, 0x1b, 0x66, 0xe4, 0xaf, 0x72, 0x98, 0xf2, 0x47, 0x22, 0x50, 0x08, + 0xfa, 0xc3, 0x7d, 0xc3, 0xbb, 0xfb, 0xaf, 0x74, 0x78, 0xbf, 0x1f, 0x85, 0x7c, 0xc0, 0x0b, 0x1e, + 0x77, 0x74, 0xef, 0x86, 0x49, 0xbd, 0x85, 0x3b, 0x5d, 0xd3, 0xc1, 0x46, 0x73, 0x5f, 0x6d, 0xe3, + 0xeb, 0xb8, 0x3d, 0x23, 0x53, 0x25, 0x73, 0xe6, 0x60, 0x3f, 0x7b, 0x61, 0xc9, 0xc3, 0x5b, 0x26, + 0x68, 0xe5, 0xa9, 0xa5, 0xc5, 0xfa, 0xca, 0xfa, 0xda, 0x46, 0x7d, 0xb5, 0xf6, 0xbc, 0xba, 0xb9, + 0xfa, 0xcc, 0xea, 0xda, 0xb3, 0xab, 0x8a, 0xa4, 0xf7, 0x81, 0xbd, 0x89, 0xdb, 0x7e, 0x1d, 0xa4, + 0xfe, 0x41, 0xa1, 0xa3, 0x30, 0x6c, 0x58, 0xd2, 0x04, 0x9a, 0x82, 0xe2, 0xea, 0x9a, 0xda, 0x58, + 0x5a, 0xac, 0xab, 0xf5, 0x8b, 0x17, 0xeb, 0xb5, 0x8d, 0x06, 0xcb, 0x9c, 0xb8, 0xd0, 0x1b, 0x81, + 0x0d, 0x2e, 0x7f, 0x28, 0x06, 0x53, 0x43, 0x46, 0x82, 0x2a, 0x3c, 0xe6, 0x61, 0x61, 0xd8, 0x43, + 0xe3, 0x8c, 0x7e, 0x81, 0x78, 0x1d, 0xeb, 0x9a, 0xe5, 0xf0, 0x10, 0xe9, 0x14, 0x10, 0x2e, 0x19, + 0x0e, 0x51, 0xae, 0x16, 0xcf, 0x48, 0xb1, 0x40, 0xa8, 0xe8, 0xd5, 0xb3, 0xa4, 0xd4, 0x83, 0x80, + 0xba, 0xa6, 0xad, 0x3b, 0xfa, 0x75, 0xac, 0xea, 0x86, 0x48, 0x5f, 0x91, 0xc0, 0x28, 0xae, 0x48, + 0xa2, 0x65, 0xc9, 0x70, 0x5c, 0x68, 0x03, 0xef, 0x68, 0x7d, 0xd0, 0x44, 0xf9, 0xc7, 0x14, 0x49, + 0xb4, 0xb8, 0xd0, 0x77, 0x43, 0xae, 0x65, 0xf6, 0x88, 0xb7, 0xc8, 0xe0, 0x88, 0xad, 0x89, 0x28, + 0x59, 0x56, 0xe7, 0x82, 0xf0, 0x38, 0xc0, 0xcb, 0x9b, 0xe5, 0x94, 0x2c, 0xab, 0x63, 0x20, 0x27, + 0xa0, 0xa8, 0xed, 0xec, 0x58, 0x84, 0xb8, 0x20, 0xc4, 0x22, 0x9b, 0x82, 0x5b, 0x4d, 0x01, 0x4b, + 0x57, 0x20, 0x2d, 0xf8, 0x40, 0x8c, 0x3d, 0xe1, 0x84, 0xda, 0x65, 0xe1, 0x7a, 0xf4, 0x64, 0x46, + 0x49, 0x1b, 0xa2, 0xf1, 0x6e, 0xc8, 0xe9, 0xb6, 0xea, 0x1d, 0x03, 0x44, 0xe7, 0xa3, 0x27, 0xd3, + 0x4a, 0x56, 0xb7, 0xdd, 0x14, 0xaa, 0xfc, 0xc9, 0x28, 0x14, 0x82, 0xc7, 0x18, 0x68, 0x11, 0xd2, + 0x6d, 0xb3, 0xa9, 0x51, 0xd1, 0x62, 0x67, 0x68, 0x27, 0x43, 0x4e, 0x3e, 0x16, 0x96, 0x39, 0xbc, + 0xe2, 0x62, 0x96, 0xfe, 0x5d, 0x04, 0xd2, 0xa2, 0x1a, 0x1d, 0x81, 0x78, 0x57, 0x73, 0x76, 0x29, + 0xb9, 0x44, 0x35, 0x2a, 0x45, 0x14, 0x5a, 0x26, 0xf5, 0x76, 0x57, 0x33, 0xa8, 0x08, 0xf0, 0x7a, + 0x52, 0x26, 0xeb, 0xda, 0xc6, 0x5a, 0x8b, 0x86, 0x4d, 0x66, 0xa7, 0x83, 0x0d, 0xc7, 0x16, 0xeb, + 0xca, 0xeb, 0x6b, 0xbc, 0x1a, 0x3d, 0x00, 0x93, 0x8e, 0xa5, 0xe9, 0xed, 0x00, 0x6c, 0x9c, 0xc2, + 0x4a, 0xa2, 0xc1, 0x05, 0x2e, 0xc3, 0x31, 0x41, 0xb7, 0x85, 0x1d, 0xad, 0xb9, 0x8b, 0x5b, 0x1e, + 0x52, 0x92, 0xa6, 0x47, 0x8e, 0x72, 0x80, 0x45, 0xde, 0x2e, 0x70, 0xe5, 0xaf, 0x46, 0x60, 0x52, + 0x04, 0x7a, 0x2d, 0x97, 0x59, 0x2b, 0x00, 0x9a, 0x61, 0x98, 0x8e, 0x9f, 0x5d, 0x83, 0xa2, 0x3c, + 0x80, 0xb7, 0x50, 0x71, 0x91, 0x14, 0x1f, 0x81, 0x52, 0x07, 0xc0, 0x6b, 0x19, 0xc9, 0xb6, 0x39, + 0xc8, 0xf2, 0x33, 0x2a, 0x7a, 0xd0, 0xc9, 0x52, 0x03, 0xc0, 0xaa, 0x48, 0x44, 0x88, 0xa6, 0x21, + 0xb1, 0x85, 0x77, 0x74, 0x83, 0x67, 0x9e, 0x59, 0x41, 0x24, 0x70, 0xe2, 0x6e, 0x02, 0xa7, 0xfa, + 0x37, 0x61, 0xaa, 0x69, 0x76, 0xfa, 0x87, 0x5b, 0x95, 0xfa, 0xd2, 0x13, 0xf6, 0xe5, 0xc8, 0x0b, + 0x0f, 0x71, 0xa0, 0x1d, 0xb3, 0xad, 0x19, 0x3b, 0x0b, 0xa6, 0xb5, 0xe3, 0x1d, 0xd4, 0x12, 0x0f, + 0xc9, 0xf6, 0x1d, 0xd7, 0x76, 0xb7, 0xfe, 0x57, 0x24, 0xf2, 0x8b, 0xd1, 0xd8, 0xa5, 0xf5, 0xea, + 0x2f, 0x47, 0x4b, 0x97, 0x18, 0xe2, 0xba, 0x60, 0x86, 0x82, 0xb7, 0xdb, 0xb8, 0x49, 0x26, 0x08, + 0x7f, 0xf8, 0x00, 0x4c, 0xef, 0x98, 0x3b, 0x26, 0xa5, 0x74, 0x86, 0xfc, 0xe2, 0x27, 0xbd, 0x19, + 0xb7, 0xb6, 0x14, 0x7a, 0x2c, 0x5c, 0x5e, 0x85, 0x29, 0x0e, 0xac, 0xd2, 0xa3, 0x26, 0x16, 0x08, + 0xa1, 0x03, 0xb3, 0x70, 0x33, 0xbf, 0xf2, 0x75, 0x6a, 0xbe, 0x95, 0x49, 0x8e, 0x4a, 0xda, 0x58, + 0xac, 0x54, 0x56, 0xe0, 0x8e, 0x00, 0x3d, 0xb6, 0x49, 0xb1, 0x15, 0x42, 0xf1, 0x5f, 0x72, 0x8a, + 0x53, 0x3e, 0x8a, 0x0d, 0x8e, 0x5a, 0xae, 0x41, 0xfe, 0x30, 0xb4, 0xfe, 0x15, 0xa7, 0x95, 0xc3, + 0x7e, 0x22, 0x97, 0xa0, 0x48, 0x89, 0x34, 0x7b, 0xb6, 0x63, 0x76, 0xa8, 0x06, 0x3c, 0x98, 0xcc, + 0xbf, 0xfe, 0x3a, 0xdb, 0x35, 0x05, 0x82, 0x56, 0x73, 0xb1, 0xca, 0x65, 0xa0, 0xa7, 0x6b, 0x2d, + 0xdc, 0x6c, 0x87, 0x50, 0xf8, 0x32, 0x1f, 0x88, 0x0b, 0x5f, 0xbe, 0x0a, 0xd3, 0xe4, 0x37, 0x55, + 0x50, 0xfe, 0x91, 0x84, 0xa7, 0xec, 0x66, 0xbe, 0xfa, 0x1e, 0xb6, 0x31, 0xa7, 0x5c, 0x02, 0xbe, + 0x31, 0xf9, 0x56, 0x71, 0x07, 0x3b, 0x0e, 0xb6, 0x6c, 0x55, 0x6b, 0x0f, 0x1b, 0x9e, 0x2f, 0xe7, + 0x31, 0xf3, 0x0b, 0xdf, 0x0e, 0xae, 0xe2, 0x25, 0x86, 0x59, 0x69, 0xb7, 0xcb, 0x9b, 0x70, 0x74, + 0x88, 0x54, 0x8c, 0x41, 0xf3, 0x43, 0x9c, 0xe6, 0xf4, 0x80, 0x64, 0x10, 0xb2, 0xeb, 0x20, 0xea, + 0xdd, 0xb5, 0x1c, 0x83, 0xe6, 0x87, 0x39, 0x4d, 0xc4, 0x71, 0xc5, 0x92, 0x12, 0x8a, 0x57, 0x60, + 0xf2, 0x3a, 0xb6, 0xb6, 0x4c, 0x9b, 0xe7, 0x99, 0xc6, 0x20, 0xf7, 0x11, 0x4e, 0xae, 0xc8, 0x11, + 0x69, 0xe2, 0x89, 0xd0, 0x7a, 0x12, 0xd2, 0xdb, 0x5a, 0x13, 0x8f, 0x41, 0xe2, 0x16, 0x27, 0x91, + 0x22, 0xf0, 0x04, 0xb5, 0x02, 0xb9, 0x1d, 0x93, 0xdb, 0xa8, 0x70, 0xf4, 0x8f, 0x72, 0xf4, 0xac, + 0xc0, 0xe1, 0x24, 0xba, 0x66, 0xb7, 0xd7, 0x26, 0x06, 0x2c, 0x9c, 0xc4, 0xdf, 0x13, 0x24, 0x04, + 0x0e, 0x27, 0x71, 0x08, 0xb6, 0xbe, 0x22, 0x48, 0xd8, 0x3e, 0x7e, 0x3e, 0x0d, 0x59, 0xd3, 0x68, + 0xef, 0x9b, 0xc6, 0x38, 0x83, 0xf8, 0x18, 0xa7, 0x00, 0x1c, 0x85, 0x10, 0xb8, 0x00, 0x99, 0x71, + 0x17, 0xe2, 0x97, 0xbe, 0x2d, 0xb6, 0x87, 0x58, 0x81, 0x4b, 0x50, 0x14, 0x0a, 0x4a, 0x37, 0x8d, + 0x31, 0x48, 0x7c, 0x82, 0x93, 0x28, 0xf8, 0xd0, 0xf8, 0x34, 0x1c, 0x6c, 0x3b, 0x3b, 0x78, 0x1c, + 0x22, 0x9f, 0x14, 0xd3, 0xe0, 0x28, 0x9c, 0x95, 0x5b, 0xd8, 0x68, 0xee, 0x8e, 0x47, 0xe1, 0x53, + 0x82, 0x95, 0x02, 0x87, 0x90, 0xa8, 0x41, 0xbe, 0xa3, 0x59, 0xf6, 0xae, 0xd6, 0x1e, 0x6b, 0x39, + 0x3e, 0xcd, 0x69, 0xe4, 0x5c, 0x24, 0xce, 0x91, 0x9e, 0x71, 0x18, 0x32, 0xbf, 0x2c, 0x38, 0xe2, + 0x43, 0xe3, 0x5b, 0xcf, 0x76, 0x68, 0x52, 0xee, 0x30, 0xd4, 0xfe, 0x81, 0xd8, 0x7a, 0x0c, 0x77, + 0xc5, 0x4f, 0xf1, 0x02, 0x64, 0x6c, 0xfd, 0xa5, 0xb1, 0xc8, 0xfc, 0x43, 0xb1, 0xd2, 0x14, 0x81, + 0x20, 0x3f, 0x0f, 0xc7, 0x86, 0x9a, 0x89, 0x31, 0x88, 0xfd, 0x23, 0x4e, 0xec, 0xc8, 0x10, 0x53, + 0xc1, 0x55, 0xc2, 0x61, 0x49, 0xfe, 0x63, 0xa1, 0x12, 0x70, 0x1f, 0xad, 0x75, 0x12, 0x35, 0xd8, + 0xda, 0xf6, 0xe1, 0xb8, 0xf6, 0x4f, 0x04, 0xd7, 0x18, 0x6e, 0x80, 0x6b, 0x1b, 0x70, 0x84, 0x53, + 0x3c, 0xdc, 0xba, 0x7e, 0x46, 0x28, 0x56, 0x86, 0xbd, 0x19, 0x5c, 0xdd, 0x1f, 0x84, 0x92, 0xcb, + 0x4e, 0xe1, 0x9e, 0xda, 0x6a, 0x47, 0xeb, 0x8e, 0x41, 0xf9, 0x57, 0x38, 0x65, 0xa1, 0xf1, 0x5d, + 0xff, 0xd6, 0x5e, 0xd1, 0xba, 0x84, 0xf8, 0x73, 0x30, 0x23, 0x88, 0xf7, 0x0c, 0x0b, 0x37, 0xcd, + 0x1d, 0x43, 0x7f, 0x09, 0xb7, 0xc6, 0x20, 0xfd, 0xab, 0x7d, 0x4b, 0xb5, 0xe9, 0x43, 0x27, 0x94, + 0x97, 0x40, 0x72, 0x7d, 0x15, 0x55, 0xef, 0x74, 0x4d, 0xcb, 0x09, 0xa1, 0xf8, 0x59, 0xb1, 0x52, + 0x2e, 0xde, 0x12, 0x45, 0x2b, 0xd7, 0x81, 0x9d, 0x54, 0x8f, 0x2b, 0x92, 0x9f, 0xe3, 0x84, 0xf2, + 0x1e, 0x16, 0x57, 0x1c, 0x4d, 0xb3, 0xd3, 0xd5, 0xac, 0x71, 0xf4, 0xdf, 0x3f, 0x15, 0x8a, 0x83, + 0xa3, 0x70, 0xc5, 0x41, 0x3c, 0x3a, 0x62, 0xed, 0xc7, 0xa0, 0xf0, 0x79, 0xa1, 0x38, 0x04, 0x0e, + 0x27, 0x21, 0x1c, 0x86, 0x31, 0x48, 0x7c, 0x41, 0x90, 0x10, 0x38, 0x84, 0xc4, 0x3b, 0x3c, 0x43, + 0x6b, 0xe1, 0x1d, 0xdd, 0x76, 0x2c, 0xe6, 0x14, 0x1f, 0x4c, 0xea, 0x8b, 0xdf, 0x0e, 0x3a, 0x61, + 0x8a, 0x0f, 0x95, 0x68, 0x22, 0x9e, 0xa6, 0xa5, 0x31, 0x53, 0xf8, 0xc0, 0x7e, 0x4d, 0x68, 0x22, + 0x1f, 0x1a, 0x19, 0x9b, 0xcf, 0x43, 0x24, 0x6c, 0x6f, 0x92, 0x48, 0x61, 0x0c, 0x72, 0xff, 0xac, + 0x6f, 0x70, 0x0d, 0x81, 0x4b, 0x68, 0xfa, 0xfc, 0x9f, 0x9e, 0x71, 0x0d, 0xef, 0x8f, 0x25, 0x9d, + 0xbf, 0xde, 0xe7, 0xff, 0x6c, 0x32, 0x4c, 0xa6, 0x43, 0x8a, 0x7d, 0xfe, 0x14, 0x0a, 0xbb, 0x97, + 0x34, 0xf3, 0x23, 0xaf, 0xf3, 0xf9, 0x06, 0xdd, 0xa9, 0xf2, 0x32, 0x11, 0xf2, 0xa0, 0xd3, 0x13, + 0x4e, 0xec, 0x3d, 0xaf, 0xbb, 0x72, 0x1e, 0xf0, 0x79, 0xca, 0x17, 0x21, 0x1f, 0x70, 0x78, 0xc2, + 0x49, 0xfd, 0x18, 0x27, 0x95, 0xf3, 0xfb, 0x3b, 0xe5, 0x73, 0x10, 0x27, 0xce, 0x4b, 0x38, 0xfa, + 0x8f, 0x73, 0x74, 0x0a, 0x5e, 0x7e, 0x0a, 0xd2, 0xc2, 0x69, 0x09, 0x47, 0xfd, 0x09, 0x8e, 0xea, + 0xa2, 0x10, 0x74, 0xe1, 0xb0, 0x84, 0xa3, 0xff, 0x2d, 0x81, 0x2e, 0x50, 0x08, 0xfa, 0xf8, 0x2c, + 0xfc, 0xd2, 0xdf, 0x8e, 0x73, 0xa3, 0x23, 0x78, 0x77, 0x01, 0x52, 0xdc, 0x53, 0x09, 0xc7, 0xfe, + 0x49, 0xde, 0xb9, 0xc0, 0x28, 0x3f, 0x0e, 0x89, 0x31, 0x19, 0xfe, 0x77, 0x38, 0x2a, 0x83, 0x2f, + 0xd7, 0x20, 0xeb, 0xf3, 0x4e, 0xc2, 0xd1, 0xdf, 0xc7, 0xd1, 0xfd, 0x58, 0x64, 0xe8, 0xdc, 0x3b, + 0x09, 0x27, 0xf0, 0xd3, 0x62, 0xe8, 0x1c, 0x83, 0xb0, 0x4d, 0x38, 0x26, 0xe1, 0xd8, 0xef, 0x17, + 0x5c, 0x17, 0x28, 0xe5, 0xa7, 0x21, 0xe3, 0x1a, 0x9b, 0x70, 0xfc, 0x9f, 0xe1, 0xf8, 0x1e, 0x0e, + 0xe1, 0x80, 0xcf, 0xd8, 0x85, 0x93, 0xf8, 0x59, 0xc1, 0x01, 0x1f, 0x16, 0xd9, 0x46, 0xfd, 0x0e, + 0x4c, 0x38, 0xa5, 0x0f, 0x88, 0x6d, 0xd4, 0xe7, 0xbf, 0x90, 0xd5, 0xa4, 0x3a, 0x3f, 0x9c, 0xc4, + 0xdf, 0x15, 0xab, 0x49, 0xe1, 0xc9, 0x30, 0xfa, 0x3d, 0x82, 0x70, 0x1a, 0x3f, 0x2f, 0x86, 0xd1, + 0xe7, 0x10, 0x94, 0xd7, 0x01, 0x0d, 0x7a, 0x03, 0xe1, 0xf4, 0x3e, 0xc8, 0xe9, 0x4d, 0x0e, 0x38, + 0x03, 0xe5, 0x67, 0xe1, 0xc8, 0x70, 0x4f, 0x20, 0x9c, 0xea, 0x2f, 0xbc, 0xde, 0x17, 0xbb, 0xf9, + 0x1d, 0x81, 0xf2, 0x86, 0x67, 0x52, 0xfc, 0x5e, 0x40, 0x38, 0xd9, 0x0f, 0xbd, 0x1e, 0x54, 0xdc, + 0x7e, 0x27, 0xa0, 0x5c, 0x01, 0xf0, 0x0c, 0x70, 0x38, 0xad, 0x8f, 0x70, 0x5a, 0x3e, 0x24, 0xb2, + 0x35, 0xb8, 0xfd, 0x0d, 0xc7, 0xbf, 0x25, 0xb6, 0x06, 0xc7, 0x20, 0x5b, 0x43, 0x98, 0xde, 0x70, + 0xec, 0x8f, 0x8a, 0xad, 0x21, 0x50, 0x88, 0x64, 0xfb, 0xac, 0x5b, 0x38, 0x85, 0x8f, 0x09, 0xc9, + 0xf6, 0x61, 0x95, 0x57, 0x61, 0x72, 0xc0, 0x20, 0x86, 0x93, 0xfa, 0x45, 0x4e, 0x4a, 0xea, 0xb7, + 0x87, 0x7e, 0xe3, 0xc5, 0x8d, 0x61, 0x38, 0xb5, 0x8f, 0xf7, 0x19, 0x2f, 0x6e, 0x0b, 0xcb, 0x17, + 0x20, 0x6d, 0xf4, 0xda, 0x6d, 0xb2, 0x79, 0xd0, 0xc1, 0x77, 0x09, 0x67, 0xfe, 0xc7, 0x77, 0x39, + 0x77, 0x04, 0x42, 0xf9, 0x1c, 0x24, 0x70, 0x67, 0x0b, 0xb7, 0xc2, 0x30, 0xbf, 0xf5, 0x5d, 0xa1, + 0x30, 0x09, 0x74, 0xf9, 0x69, 0x00, 0x96, 0x1a, 0xa1, 0x87, 0x87, 0x21, 0xb8, 0x7f, 0xf0, 0x5d, + 0x7e, 0x79, 0xc7, 0x43, 0xf1, 0x08, 0xb0, 0xab, 0x40, 0x07, 0x13, 0xf8, 0x76, 0x90, 0x00, 0x5d, + 0x91, 0x27, 0x21, 0xf5, 0xa2, 0x6d, 0x1a, 0x8e, 0xb6, 0x13, 0x86, 0xfd, 0x87, 0x1c, 0x5b, 0xc0, + 0x13, 0x86, 0x75, 0x4c, 0x0b, 0x3b, 0xda, 0x8e, 0x1d, 0x86, 0xfb, 0x3f, 0x39, 0xae, 0x8b, 0x40, + 0x90, 0x9b, 0x9a, 0xed, 0x8c, 0x33, 0xef, 0x3f, 0x12, 0xc8, 0x02, 0x81, 0x0c, 0x9a, 0xfc, 0xbe, + 0x86, 0xf7, 0xc3, 0x70, 0xff, 0x58, 0x0c, 0x9a, 0xc3, 0x97, 0x9f, 0x82, 0x0c, 0xf9, 0xc9, 0x6e, + 0xe4, 0x85, 0x20, 0xff, 0x09, 0x47, 0xf6, 0x30, 0x48, 0xcf, 0xb6, 0xd3, 0x72, 0xf4, 0x70, 0x66, + 0x7f, 0x87, 0xaf, 0xb4, 0x80, 0x2f, 0x57, 0x20, 0x6b, 0x3b, 0xad, 0x56, 0x8f, 0xfb, 0xa7, 0x21, + 0xe8, 0x7f, 0xfa, 0x5d, 0x37, 0x65, 0xe1, 0xe2, 0x90, 0xd5, 0xbe, 0x71, 0xcd, 0xe9, 0x9a, 0xf4, + 0xc0, 0x23, 0x8c, 0xc2, 0xeb, 0x9c, 0x82, 0x0f, 0xa5, 0x5c, 0x83, 0x1c, 0x99, 0x8b, 0x85, 0xbb, + 0x98, 0x9e, 0x4e, 0x85, 0x90, 0xf8, 0x33, 0xce, 0x80, 0x00, 0x52, 0xf5, 0x5d, 0x5f, 0x7e, 0x6d, + 0x36, 0xf2, 0x95, 0xd7, 0x66, 0x23, 0xbf, 0xff, 0xda, 0x6c, 0xe4, 0xfd, 0x5f, 0x9b, 0x9d, 0xf8, + 0xca, 0xd7, 0x66, 0x27, 0x7e, 0xef, 0x6b, 0xb3, 0x13, 0xc3, 0xb3, 0xc4, 0x70, 0xc9, 0xbc, 0x64, + 0xb2, 0xfc, 0xf0, 0x0b, 0xf7, 0xed, 0xe8, 0xce, 0x6e, 0x6f, 0x6b, 0xa1, 0x69, 0x76, 0xce, 0x34, + 0x4d, 0xbb, 0x63, 0xda, 0x67, 0x82, 0x79, 0x5d, 0xfa, 0x0b, 0xfe, 0x4f, 0x84, 0xc4, 0xcc, 0xc1, + 0x74, 0xae, 0x66, 0xec, 0x8f, 0xfa, 0xbc, 0xe7, 0x3c, 0xc4, 0x2a, 0xc6, 0x3e, 0x3a, 0xc6, 0x14, + 0x9c, 0xda, 0xb3, 0xda, 0xfc, 0x5a, 0x58, 0x8a, 0x94, 0x37, 0xad, 0x36, 0x9a, 0xf6, 0xee, 0x6e, + 0x46, 0x4e, 0xe6, 0xf8, 0x85, 0xcc, 0xea, 0xfb, 0x22, 0x87, 0x9b, 0x49, 0xba, 0x62, 0xec, 0xd3, + 0x89, 0xac, 0x47, 0x5e, 0x78, 0x30, 0x34, 0xcf, 0x7d, 0xcd, 0x30, 0x6f, 0x18, 0x64, 0xd8, 0xdd, + 0x2d, 0x91, 0xe3, 0x9e, 0xed, 0xcf, 0x71, 0x3f, 0x8b, 0xdb, 0xed, 0x67, 0x08, 0xdc, 0x06, 0x41, + 0xd9, 0x4a, 0xb2, 0x1b, 0xc8, 0xf0, 0x81, 0x28, 0xcc, 0x0e, 0xa4, 0xb3, 0xb9, 0x10, 0x8c, 0x62, + 0x42, 0x19, 0xd2, 0x8b, 0x42, 0xb6, 0x66, 0x20, 0x65, 0xe3, 0xa6, 0x69, 0xb4, 0x6c, 0xca, 0x88, + 0x98, 0x22, 0x8a, 0x84, 0x11, 0x86, 0x66, 0x98, 0x36, 0xbf, 0x58, 0xc9, 0x0a, 0xd5, 0x0f, 0x1f, + 0x92, 0x11, 0x79, 0xd1, 0x93, 0xe0, 0xc6, 0x23, 0x63, 0x72, 0x43, 0x4c, 0x22, 0x90, 0xf9, 0x1f, + 0x97, 0x2b, 0x3f, 0x1f, 0x85, 0xb9, 0x7e, 0xae, 0x90, 0x9d, 0x65, 0x3b, 0x5a, 0xa7, 0x3b, 0x8a, + 0x2d, 0x17, 0x20, 0xb3, 0x21, 0x60, 0x0e, 0xcd, 0x97, 0x5b, 0x87, 0xe4, 0x4b, 0xc1, 0xed, 0x4a, + 0x30, 0xe6, 0xec, 0x98, 0x8c, 0x71, 0xe7, 0x71, 0x5b, 0x9c, 0xf9, 0xcb, 0x24, 0x1c, 0x63, 0xdb, + 0x49, 0x65, 0x5b, 0x89, 0x15, 0x38, 0x4f, 0x72, 0xfe, 0xa6, 0xf0, 0x73, 0x12, 0xf9, 0x19, 0x98, + 0x5a, 0x22, 0xda, 0x82, 0x44, 0x41, 0xde, 0x09, 0xcf, 0xd0, 0xbb, 0xa7, 0xf3, 0x01, 0x87, 0x9f, + 0x9f, 0x30, 0xf9, 0xab, 0xe4, 0x1f, 0x89, 0x80, 0xd4, 0x68, 0x6a, 0x6d, 0xcd, 0xfa, 0x5e, 0x49, + 0xa1, 0xc7, 0x01, 0xe8, 0x37, 0x4b, 0xde, 0x47, 0x46, 0x85, 0xb3, 0x33, 0x0b, 0xfe, 0xc9, 0x2d, + 0xb0, 0x9e, 0xe8, 0x17, 0x0c, 0x19, 0x0a, 0x4b, 0x7e, 0x9e, 0x7e, 0x0e, 0xc0, 0x6b, 0x40, 0xc7, + 0xe1, 0x68, 0xa3, 0x56, 0x59, 0xae, 0x28, 0x2a, 0xbb, 0x0c, 0xbf, 0xda, 0x58, 0xaf, 0xd7, 0x96, + 0x2e, 0x2e, 0xd5, 0x17, 0xa5, 0x09, 0x74, 0x04, 0x90, 0xbf, 0xd1, 0xbd, 0x97, 0x72, 0x07, 0x4c, + 0xfa, 0xeb, 0xd9, 0x8d, 0xfa, 0x28, 0xf1, 0x14, 0xf5, 0x4e, 0xb7, 0x8d, 0xe9, 0xd1, 0x9f, 0xaa, + 0x0b, 0xae, 0x85, 0x3b, 0x21, 0xbf, 0xfd, 0x1f, 0xd8, 0x2d, 0xeb, 0x29, 0x0f, 0xdd, 0xe5, 0x79, + 0x79, 0x19, 0x26, 0xb5, 0x66, 0x13, 0x77, 0x03, 0x24, 0x43, 0x54, 0x35, 0x21, 0x48, 0x0f, 0x33, + 0x39, 0xa6, 0x47, 0xed, 0x71, 0x48, 0xda, 0x74, 0xf6, 0x61, 0x24, 0x7e, 0x87, 0x93, 0xe0, 0xe0, + 0x65, 0x03, 0x26, 0x89, 0xe7, 0xa7, 0x59, 0xd8, 0x37, 0x8c, 0x83, 0xf3, 0x0c, 0xbf, 0xf1, 0xd9, + 0x87, 0xe9, 0xd1, 0xe6, 0xdd, 0xc1, 0x65, 0x19, 0x22, 0x4e, 0x8a, 0xc4, 0x69, 0x7b, 0x03, 0xc5, + 0x50, 0x10, 0xfd, 0xf1, 0x01, 0x1f, 0xdc, 0xd9, 0x6f, 0xf2, 0xce, 0x66, 0x87, 0xc9, 0x80, 0xaf, + 0xa7, 0x3c, 0xa7, 0xca, 0x1a, 0xaa, 0xf5, 0x51, 0x7b, 0xfa, 0x85, 0x07, 0x06, 0xad, 0x13, 0xfb, + 0xef, 0x21, 0x4a, 0xf9, 0x82, 0xbf, 0x1b, 0x77, 0xef, 0x7d, 0x38, 0x0e, 0x93, 0x5a, 0x47, 0x37, + 0xcc, 0x33, 0xf4, 0x5f, 0xbe, 0xe7, 0x12, 0xb4, 0x30, 0xc6, 0xa1, 0xe4, 0x79, 0xb6, 0x15, 0xc2, + 0x25, 0xe6, 0x4f, 0x7e, 0xea, 0x13, 0x09, 0x6f, 0xbb, 0x94, 0x57, 0x40, 0x12, 0x17, 0x0e, 0xb1, + 0xd1, 0x34, 0x5b, 0x63, 0x65, 0x29, 0xbe, 0x23, 0x68, 0x88, 0xfc, 0x56, 0x9d, 0xa3, 0x96, 0xdf, + 0x06, 0x69, 0x97, 0x4c, 0x98, 0x67, 0x22, 0x88, 0xb8, 0x18, 0xc4, 0x2f, 0x61, 0x3b, 0x73, 0x1c, + 0x2f, 0xf4, 0x75, 0x81, 0xcf, 0x76, 0xe8, 0x2a, 0x99, 0xcd, 0x25, 0x28, 0xb4, 0x4c, 0xc3, 0x51, + 0xcd, 0x8e, 0xee, 0xe0, 0x4e, 0xd7, 0x09, 0xf5, 0xeb, 0xfe, 0x8c, 0x11, 0x49, 0x2b, 0x79, 0x82, + 0xb7, 0x26, 0xd0, 0xc8, 0x48, 0xd8, 0x37, 0x45, 0xe3, 0x8c, 0xe4, 0xcf, 0xdd, 0x91, 0x50, 0x1c, + 0x32, 0x92, 0xdb, 0x92, 0x0e, 0xbb, 0x75, 0x8d, 0x2b, 0x73, 0x67, 0x8f, 0x49, 0x81, 0x2b, 0x1d, + 0x7f, 0x14, 0x83, 0x59, 0x0e, 0xbc, 0xa5, 0xd9, 0xf8, 0xcc, 0xf5, 0x47, 0xb6, 0xb0, 0xa3, 0x3d, + 0x72, 0xa6, 0x69, 0xea, 0xc2, 0x92, 0x4f, 0x71, 0x65, 0x4d, 0xda, 0x17, 0x78, 0x7b, 0x69, 0xe8, + 0x71, 0x77, 0x69, 0xb4, 0x92, 0x2f, 0x0d, 0xca, 0xa0, 0xfc, 0x02, 0xc4, 0x6b, 0xa6, 0x6e, 0x10, + 0xdb, 0xd6, 0xc2, 0x86, 0xd9, 0xe1, 0xea, 0x96, 0x15, 0xd0, 0x79, 0x48, 0x6a, 0x1d, 0xb3, 0x67, + 0x38, 0x4c, 0xd5, 0x56, 0x67, 0xbf, 0xfc, 0xea, 0xdc, 0xc4, 0x7f, 0x7a, 0x75, 0x2e, 0xb6, 0x64, + 0x38, 0xbf, 0xfb, 0xb9, 0x87, 0x80, 0x53, 0x5f, 0x32, 0x9c, 0x4f, 0x7d, 0xe3, 0x33, 0xa7, 0x23, + 0x0a, 0x87, 0x2e, 0xc7, 0xbf, 0xf9, 0xca, 0x5c, 0x44, 0x7e, 0x0e, 0x52, 0x8b, 0xb8, 0x79, 0x00, + 0xf9, 0x47, 0xfa, 0xc8, 0x1f, 0x13, 0xe4, 0x17, 0x71, 0xd3, 0x47, 0x7e, 0x11, 0x37, 0xfb, 0x28, + 0x3f, 0x0e, 0xe9, 0x25, 0xc3, 0x61, 0x9f, 0x3b, 0x3c, 0x00, 0x31, 0xdd, 0x60, 0x37, 0x68, 0x7d, + 0x14, 0x06, 0x06, 0xa8, 0x10, 0x28, 0x82, 0xb8, 0x88, 0x9b, 0x2e, 0x62, 0x0b, 0x37, 0xfb, 0x11, + 0x07, 0xbb, 0x26, 0x50, 0xd5, 0xc5, 0xdf, 0xfb, 0x6f, 0xb3, 0x13, 0x2f, 0xbf, 0x36, 0x3b, 0x31, + 0x72, 0xe9, 0xe5, 0xf0, 0xa5, 0x77, 0x57, 0xfc, 0x13, 0x71, 0xb8, 0x8b, 0x7e, 0x05, 0x67, 0x75, + 0x74, 0xc3, 0x39, 0xd3, 0xb4, 0xf6, 0xbb, 0x8e, 0x49, 0x14, 0x80, 0xb9, 0xcd, 0x17, 0x7c, 0xd2, + 0x6b, 0x5e, 0x60, 0xcd, 0xc3, 0x97, 0x5b, 0xde, 0x86, 0xc4, 0x3a, 0xc1, 0x23, 0x2c, 0x76, 0x4c, + 0x47, 0x6b, 0x73, 0xaf, 0x85, 0x15, 0x48, 0x2d, 0xfb, 0x72, 0x2e, 0xca, 0x6a, 0x75, 0xf1, 0xd1, + 0x5c, 0x1b, 0x6b, 0xdb, 0xec, 0x03, 0x84, 0x18, 0x75, 0x77, 0xd3, 0xa4, 0x82, 0x7e, 0x6b, 0x30, + 0x0d, 0x09, 0xad, 0xc7, 0x6e, 0xbe, 0xc4, 0x88, 0x1f, 0x4c, 0x0b, 0xf2, 0x33, 0x90, 0xe2, 0xe7, + 0xef, 0x48, 0x82, 0xd8, 0x35, 0xbc, 0x4f, 0xfb, 0xc9, 0x29, 0xe4, 0x27, 0x5a, 0x80, 0x04, 0x1d, + 0x3c, 0xff, 0xb2, 0x6a, 0x66, 0x61, 0x60, 0xf4, 0x0b, 0x74, 0x90, 0x0a, 0x03, 0x93, 0xaf, 0x40, + 0x7a, 0xd1, 0x24, 0x52, 0x18, 0xa4, 0x96, 0x61, 0xd4, 0xe8, 0x98, 0xbb, 0x3d, 0x2e, 0x15, 0x0a, + 0x2b, 0xa0, 0x23, 0x90, 0x64, 0x1f, 0xa4, 0xf0, 0xdb, 0x3b, 0xbc, 0x24, 0xd7, 0x20, 0x45, 0x69, + 0xaf, 0x75, 0x89, 0xcb, 0xe0, 0xde, 0xfd, 0xcd, 0xf0, 0xcf, 0x13, 0x39, 0xf9, 0xa8, 0x37, 0x58, + 0x04, 0xf1, 0x96, 0xe6, 0x68, 0x7c, 0xde, 0xf4, 0xb7, 0xfc, 0x76, 0x48, 0x73, 0x22, 0x36, 0x3a, + 0x0b, 0x31, 0xb3, 0x6b, 0xf3, 0xfb, 0x37, 0xa5, 0x51, 0x53, 0x59, 0xeb, 0x56, 0xe3, 0x44, 0x66, + 0x14, 0x02, 0x5c, 0x5d, 0x1d, 0x29, 0x16, 0x8f, 0x05, 0xc4, 0xa2, 0x83, 0x9d, 0xad, 0x6d, 0xc7, + 0xfb, 0xc1, 0x96, 0x73, 0x40, 0x14, 0x5c, 0x41, 0xb9, 0x15, 0x85, 0x59, 0x5f, 0xeb, 0x75, 0x6c, + 0xd9, 0xba, 0x69, 0x30, 0x69, 0xe2, 0x92, 0x82, 0x7c, 0x03, 0xe4, 0xed, 0x23, 0x44, 0xe5, 0x29, + 0x88, 0x55, 0xba, 0x5d, 0x54, 0x82, 0x34, 0x2d, 0x37, 0x4d, 0x26, 0x2b, 0x71, 0xc5, 0x2d, 0x93, + 0x36, 0xdb, 0xdc, 0x76, 0x6e, 0x68, 0x96, 0xfb, 0xbd, 0xa6, 0x28, 0xcb, 0x4f, 0x42, 0xa6, 0x66, + 0x1a, 0x36, 0x36, 0xec, 0x1e, 0xf5, 0x85, 0xb7, 0xda, 0x66, 0xf3, 0x1a, 0xa7, 0xc0, 0x0a, 0x84, + 0xd9, 0x5a, 0xb7, 0x4b, 0x31, 0xe3, 0x0a, 0xf9, 0xc9, 0xf6, 0x6b, 0x75, 0x6d, 0x24, 0x7b, 0xce, + 0x1d, 0x8e, 0x3d, 0x7c, 0x82, 0x9e, 0x53, 0x1b, 0x81, 0x3b, 0x07, 0x37, 0xd2, 0x35, 0xbc, 0x6f, + 0x1f, 0x76, 0x1f, 0x3d, 0x07, 0x99, 0x75, 0xfa, 0x60, 0xc2, 0x33, 0x78, 0x1f, 0x95, 0x20, 0x85, + 0x5b, 0x67, 0xcf, 0x9d, 0x7b, 0xe4, 0x49, 0x26, 0xe5, 0x97, 0x27, 0x14, 0x51, 0x81, 0x66, 0x21, + 0x63, 0xe3, 0x66, 0xf7, 0xec, 0xb9, 0xf3, 0xd7, 0x1e, 0x61, 0x62, 0x75, 0x79, 0x42, 0xf1, 0xaa, + 0xca, 0x69, 0x32, 0xe3, 0x6f, 0x7e, 0x6c, 0x2e, 0x52, 0x4d, 0x40, 0xcc, 0xee, 0x75, 0xde, 0x34, + 0xd9, 0xf8, 0xb9, 0x04, 0xcc, 0xfb, 0x5a, 0x99, 0x71, 0xb9, 0xae, 0xb5, 0xf5, 0x96, 0xe6, 0x3d, + 0x73, 0x21, 0xf9, 0xe6, 0x4f, 0x21, 0x46, 0x58, 0x8d, 0x03, 0xb9, 0x28, 0xff, 0x6a, 0x04, 0x72, + 0x57, 0x05, 0xe5, 0x06, 0x76, 0xd0, 0x05, 0x00, 0xb7, 0x27, 0xb1, 0x55, 0x8e, 0x2f, 0xf4, 0xf7, + 0xb5, 0xe0, 0xe2, 0x28, 0x3e, 0x70, 0xf4, 0x38, 0x15, 0xc0, 0xae, 0x69, 0xf3, 0x6f, 0xf7, 0x42, + 0x50, 0x5d, 0x60, 0xf4, 0x20, 0x20, 0xaa, 0xd5, 0xd4, 0xeb, 0xa6, 0xa3, 0x1b, 0x3b, 0x6a, 0xd7, + 0xbc, 0xc1, 0xbf, 0x88, 0x8e, 0x29, 0x12, 0x6d, 0xb9, 0x4a, 0x1b, 0xd6, 0x49, 0x3d, 0x19, 0x74, + 0xc6, 0xa5, 0x42, 0xc2, 0x3a, 0xad, 0xd5, 0xb2, 0xb0, 0x6d, 0x73, 0xc5, 0x25, 0x8a, 0xe8, 0x02, + 0xa4, 0xba, 0xbd, 0x2d, 0x55, 0x68, 0x89, 0xec, 0xd9, 0x3b, 0x87, 0xed, 0x79, 0x21, 0x1b, 0x7c, + 0xd7, 0x27, 0xbb, 0xbd, 0x2d, 0x22, 0x29, 0x77, 0x43, 0x6e, 0xc8, 0x60, 0xb2, 0xd7, 0xbd, 0x71, + 0xd0, 0x37, 0x3a, 0xf8, 0x0c, 0xd4, 0xae, 0xa5, 0x9b, 0x96, 0xee, 0xec, 0xd3, 0x8b, 0x73, 0x31, + 0x45, 0x12, 0x0d, 0xeb, 0xbc, 0x5e, 0xbe, 0x06, 0xc5, 0x06, 0x75, 0xf7, 0xbd, 0x91, 0x9f, 0xf3, + 0xc6, 0x17, 0x09, 0x1f, 0xdf, 0xc8, 0x91, 0x45, 0x07, 0x46, 0x56, 0x5d, 0x19, 0x29, 0x99, 0x8f, + 0x1e, 0x4e, 0x32, 0x83, 0xd6, 0xed, 0x0f, 0x8e, 0x05, 0x36, 0x25, 0xf7, 0x7a, 0x7c, 0x2a, 0x6b, + 0x5c, 0xa1, 0x0c, 0x8b, 0xe4, 0x4b, 0x07, 0x1b, 0xd1, 0x52, 0x88, 0xea, 0x2c, 0x85, 0x6e, 0x1f, + 0xf9, 0x49, 0xc8, 0xaf, 0x6b, 0x96, 0xd3, 0xc0, 0xce, 0x65, 0xac, 0xb5, 0xb0, 0x15, 0xb4, 0xb2, + 0x79, 0x61, 0x65, 0x11, 0xc4, 0xa9, 0x29, 0x65, 0x56, 0x86, 0xfe, 0x96, 0x77, 0x21, 0x4e, 0x2f, + 0xce, 0xba, 0x16, 0x98, 0x63, 0x30, 0x0b, 0x4c, 0xf4, 0xe7, 0xbe, 0x83, 0x6d, 0x91, 0x6c, 0xa2, + 0x05, 0xf4, 0x98, 0xb0, 0xa3, 0xb1, 0x83, 0xed, 0x28, 0x17, 0x42, 0x6e, 0x4d, 0xdb, 0x90, 0xaa, + 0x12, 0xf5, 0xbb, 0xb4, 0xe8, 0x0e, 0x24, 0xe2, 0x0d, 0x04, 0xad, 0x40, 0xb1, 0xab, 0x59, 0x0e, + 0xfd, 0xe6, 0x68, 0x97, 0xce, 0x82, 0xcb, 0xf9, 0xdc, 0xe0, 0xae, 0x0b, 0x4c, 0x96, 0xf7, 0x92, + 0xef, 0xfa, 0x2b, 0xe5, 0xff, 0x1e, 0x87, 0x24, 0x67, 0xc6, 0x53, 0x90, 0xe2, 0x6c, 0xe5, 0x92, + 0x79, 0xd7, 0xc2, 0xa0, 0x31, 0x5a, 0x70, 0x8d, 0x06, 0xa7, 0x27, 0x70, 0xd0, 0xfd, 0x90, 0x6e, + 0xee, 0x6a, 0xba, 0xa1, 0xea, 0x2d, 0xee, 0x00, 0x66, 0x5f, 0x7b, 0x75, 0x2e, 0x55, 0x23, 0x75, + 0x4b, 0x8b, 0x4a, 0x8a, 0x36, 0x2e, 0xb5, 0x88, 0xe5, 0xdf, 0xc5, 0xfa, 0xce, 0xae, 0xc3, 0x77, + 0x17, 0x2f, 0xa1, 0x27, 0x20, 0x4e, 0x04, 0x82, 0x7f, 0x91, 0x5a, 0x1a, 0xf0, 0xe3, 0xdd, 0x44, + 0x4b, 0x35, 0x4d, 0x3a, 0x7e, 0xff, 0x7f, 0x9d, 0x8b, 0x28, 0x14, 0x03, 0xd5, 0x20, 0xdf, 0xd6, + 0x6c, 0x47, 0xa5, 0x56, 0x8b, 0x74, 0x9f, 0xa0, 0x24, 0x8e, 0x0d, 0x32, 0x84, 0x33, 0x96, 0x0f, + 0x3d, 0x4b, 0xb0, 0x58, 0x55, 0x0b, 0x9d, 0x04, 0x89, 0x12, 0x69, 0x9a, 0x9d, 0x8e, 0xee, 0x30, + 0x5f, 0x2a, 0x49, 0xf9, 0x5e, 0x20, 0xf5, 0x35, 0x5a, 0x4d, 0x3d, 0xaa, 0xe3, 0x90, 0xa1, 0xdf, + 0xc0, 0x51, 0x10, 0x76, 0x5b, 0x3b, 0x4d, 0x2a, 0x68, 0xe3, 0x09, 0x28, 0x7a, 0xba, 0x91, 0x81, + 0xa4, 0x19, 0x15, 0xaf, 0x9a, 0x02, 0x3e, 0x0c, 0xd3, 0x06, 0xde, 0xa3, 0xf7, 0xc7, 0x03, 0xd0, + 0x19, 0x0a, 0x8d, 0x48, 0xdb, 0xd5, 0x20, 0xc6, 0x7d, 0x50, 0x68, 0x0a, 0xe6, 0x33, 0x58, 0xa0, + 0xb0, 0x79, 0xb7, 0x96, 0x82, 0x1d, 0x83, 0xb4, 0xd6, 0xed, 0x32, 0x80, 0x2c, 0xd7, 0x8d, 0xdd, + 0x2e, 0x6d, 0x3a, 0x0d, 0x93, 0x74, 0x8e, 0x16, 0xb6, 0x7b, 0x6d, 0x87, 0x13, 0xc9, 0x51, 0x98, + 0x22, 0x69, 0x50, 0x58, 0x3d, 0x85, 0xbd, 0x07, 0xf2, 0xf8, 0xba, 0xde, 0xc2, 0x46, 0x13, 0x33, + 0xb8, 0x3c, 0x85, 0xcb, 0x89, 0x4a, 0x0a, 0x74, 0x0a, 0x5c, 0x9d, 0xa7, 0x0a, 0x7d, 0x5c, 0x60, + 0xf4, 0x44, 0x7d, 0x85, 0x55, 0xcb, 0x33, 0x10, 0x5f, 0xd4, 0x1c, 0x8d, 0x38, 0x15, 0xce, 0x1e, + 0x33, 0x32, 0x39, 0x85, 0xfc, 0x94, 0xbf, 0x19, 0x85, 0xf8, 0x55, 0xd3, 0xc1, 0xe8, 0x51, 0x9f, + 0xc3, 0x57, 0x18, 0x26, 0xcf, 0x0d, 0x7d, 0xc7, 0xc0, 0xad, 0x15, 0x7b, 0xc7, 0xf7, 0x60, 0x85, + 0x27, 0x4e, 0xd1, 0x80, 0x38, 0x4d, 0x43, 0xc2, 0x32, 0x7b, 0x46, 0x4b, 0x5c, 0x74, 0xa6, 0x05, + 0x54, 0x87, 0xb4, 0x2b, 0x25, 0xf1, 0x30, 0x29, 0x29, 0x12, 0x29, 0x21, 0x32, 0xcc, 0x2b, 0x94, + 0xd4, 0x16, 0x17, 0x96, 0x2a, 0x64, 0x5c, 0xe5, 0xc5, 0xa5, 0x6d, 0x3c, 0x81, 0xf5, 0xd0, 0x88, + 0x21, 0x71, 0xd7, 0xde, 0x65, 0x1e, 0x93, 0x38, 0xc9, 0x6d, 0xe0, 0xdc, 0x0b, 0x88, 0x15, 0x7f, + 0x3c, 0x23, 0x45, 0xe7, 0xe5, 0x89, 0x15, 0x7b, 0x40, 0xe3, 0x4e, 0xc8, 0xd8, 0xfa, 0x8e, 0xa1, + 0x39, 0x3d, 0x0b, 0x73, 0xc9, 0xf3, 0x2a, 0xe4, 0x2f, 0x45, 0x20, 0xc9, 0x24, 0xd9, 0xc7, 0xb7, + 0xc8, 0x70, 0xbe, 0x45, 0x47, 0xf1, 0x2d, 0x76, 0xfb, 0x7c, 0xab, 0x00, 0xb8, 0x83, 0xb1, 0xf9, + 0x9b, 0x06, 0x43, 0xbc, 0x05, 0x36, 0xc4, 0x86, 0xbe, 0xc3, 0x37, 0xaa, 0x0f, 0x49, 0xfe, 0x2f, + 0x11, 0xe2, 0xb8, 0xf2, 0x76, 0x54, 0x81, 0xbc, 0x18, 0x97, 0xba, 0xdd, 0xd6, 0x76, 0xb8, 0xec, + 0xdc, 0x35, 0x72, 0x70, 0x17, 0xdb, 0xda, 0x8e, 0x92, 0xe5, 0xe3, 0x21, 0x85, 0xe1, 0xeb, 0x10, + 0x1d, 0xb1, 0x0e, 0x81, 0x85, 0x8f, 0xdd, 0xde, 0xc2, 0x07, 0x96, 0x28, 0xde, 0xbf, 0x44, 0x9f, + 0x8d, 0xd2, 0xe0, 0xa5, 0x6b, 0xda, 0x5a, 0xfb, 0xad, 0xd8, 0x11, 0xc7, 0x21, 0xd3, 0x35, 0xdb, + 0x2a, 0x6b, 0x61, 0x1f, 0x00, 0xa4, 0xbb, 0x66, 0x5b, 0x19, 0x58, 0xf6, 0xc4, 0x1b, 0xb4, 0x5d, + 0x92, 0x6f, 0x00, 0xd7, 0x52, 0xfd, 0x5c, 0xb3, 0x20, 0xc7, 0x58, 0xc1, 0x6d, 0xd9, 0xc3, 0x84, + 0x07, 0xd4, 0x38, 0x46, 0x06, 0x6d, 0x2f, 0x1b, 0x36, 0x83, 0x54, 0x38, 0x1c, 0xc1, 0x60, 0xaa, + 0x7f, 0x58, 0xd4, 0xeb, 0x17, 0x4b, 0x85, 0xc3, 0xc9, 0x3f, 0x17, 0x01, 0x58, 0x26, 0x9c, 0xa5, + 0xf3, 0x25, 0x56, 0xc8, 0xa6, 0x43, 0x50, 0x03, 0x3d, 0xcf, 0x8e, 0x5a, 0x34, 0xde, 0x7f, 0xce, + 0xf6, 0x8f, 0xbb, 0x06, 0x79, 0x4f, 0x18, 0x6d, 0x2c, 0x06, 0x33, 0x7b, 0x80, 0x47, 0xdd, 0xc0, + 0x8e, 0x92, 0xbb, 0xee, 0x2b, 0xc9, 0xff, 0x3c, 0x02, 0x19, 0x3a, 0xa6, 0x15, 0xec, 0x68, 0x81, + 0x35, 0x8c, 0xdc, 0xfe, 0x1a, 0xde, 0x05, 0xc0, 0xc8, 0xd8, 0xfa, 0x4b, 0x98, 0x4b, 0x56, 0x86, + 0xd6, 0x34, 0xf4, 0x97, 0x30, 0x3a, 0xef, 0x32, 0x3c, 0x76, 0x30, 0xc3, 0x85, 0xc7, 0xcd, 0xd9, + 0x7e, 0x14, 0x52, 0xf4, 0x0d, 0xb0, 0x3d, 0x9b, 0x3b, 0xd1, 0x49, 0xa3, 0xd7, 0xd9, 0xd8, 0xb3, + 0xe5, 0x17, 0x21, 0xb5, 0xb1, 0xc7, 0x72, 0x21, 0xc7, 0x21, 0x63, 0x99, 0x26, 0xb7, 0xc9, 0xcc, + 0x17, 0x4a, 0x93, 0x0a, 0x6a, 0x82, 0x44, 0xfc, 0x1f, 0xf5, 0xe2, 0x7f, 0x2f, 0x81, 0x11, 0x1b, + 0x2b, 0x81, 0x71, 0xfa, 0x3f, 0x46, 0x20, 0xeb, 0xd3, 0x0f, 0xe8, 0x11, 0xb8, 0xa3, 0xba, 0xbc, + 0x56, 0x7b, 0x46, 0x5d, 0x5a, 0x54, 0x2f, 0x2e, 0x57, 0x2e, 0x79, 0x9f, 0xb8, 0x95, 0x8e, 0xdc, + 0xbc, 0x35, 0x8f, 0x7c, 0xb0, 0x9b, 0x06, 0x3d, 0xcd, 0x41, 0x67, 0x60, 0x3a, 0x88, 0x52, 0xa9, + 0x36, 0xea, 0xab, 0x1b, 0x52, 0xa4, 0x74, 0xc7, 0xcd, 0x5b, 0xf3, 0x93, 0x3e, 0x8c, 0xca, 0x96, + 0x8d, 0x0d, 0x67, 0x10, 0xa1, 0xb6, 0xb6, 0xb2, 0xb2, 0xb4, 0x21, 0x45, 0x07, 0x10, 0xb8, 0xc2, + 0x3e, 0x05, 0x93, 0x41, 0x84, 0xd5, 0xa5, 0x65, 0x29, 0x56, 0x42, 0x37, 0x6f, 0xcd, 0x17, 0x7c, + 0xd0, 0xab, 0x7a, 0xbb, 0x94, 0x7e, 0xef, 0xc7, 0x67, 0x27, 0x3e, 0xf5, 0xf7, 0x67, 0x23, 0x64, + 0x66, 0xf9, 0x80, 0x8e, 0x40, 0x0f, 0xc2, 0xd1, 0xc6, 0xd2, 0xa5, 0xd5, 0xfa, 0xa2, 0xba, 0xd2, + 0xb8, 0x24, 0xce, 0x43, 0xc4, 0xec, 0x8a, 0x37, 0x6f, 0xcd, 0x67, 0xf9, 0x94, 0x46, 0x41, 0xaf, + 0x2b, 0xf5, 0xab, 0x6b, 0x1b, 0x75, 0x29, 0xc2, 0xa0, 0xd7, 0x2d, 0x7c, 0xdd, 0x74, 0xd8, 0x23, + 0x81, 0x0f, 0xc3, 0xb1, 0x21, 0xd0, 0xee, 0xc4, 0x26, 0x6f, 0xde, 0x9a, 0xcf, 0xaf, 0x5b, 0x98, + 0xed, 0x1f, 0x8a, 0xb1, 0x00, 0x33, 0x83, 0x18, 0x6b, 0xeb, 0x6b, 0x8d, 0xca, 0xb2, 0x34, 0x5f, + 0x92, 0x6e, 0xde, 0x9a, 0xcf, 0x09, 0x65, 0x48, 0xe0, 0xbd, 0x99, 0xbd, 0x59, 0xd1, 0xce, 0x4f, + 0xa4, 0x02, 0xb9, 0x3c, 0x16, 0x47, 0x74, 0x35, 0x4b, 0xeb, 0x1c, 0x36, 0xdc, 0x09, 0x39, 0xce, + 0x95, 0x5f, 0x8e, 0x42, 0xd1, 0x75, 0xa6, 0xd7, 0x69, 0x0f, 0xe8, 0x51, 0x7f, 0x1e, 0x26, 0x3b, + 0xd2, 0x8c, 0x31, 0x68, 0x91, 0xa6, 0x79, 0x1b, 0xa4, 0x85, 0x53, 0xc6, 0xd5, 0xc5, 0xfc, 0x20, + 0x5e, 0x9d, 0x43, 0x70, 0x54, 0x17, 0x03, 0x3d, 0x0d, 0x19, 0x57, 0x79, 0xb8, 0x4f, 0xec, 0x8c, + 0xd6, 0x36, 0x1c, 0xdf, 0xc3, 0x41, 0x4f, 0x7a, 0x61, 0x43, 0x7c, 0x54, 0x20, 0x72, 0x95, 0x01, + 0x70, 0x64, 0x01, 0x2f, 0x2f, 0xf1, 0x6d, 0xc7, 0x67, 0x4f, 0x9f, 0x27, 0xd8, 0x53, 0x59, 0x24, + 0xc5, 0xbc, 0x92, 0x74, 0x47, 0xdb, 0xab, 0xd2, 0x60, 0xea, 0x28, 0xa4, 0x48, 0xe3, 0x0e, 0xff, + 0xfa, 0x3a, 0xa6, 0x24, 0x3b, 0xda, 0xde, 0x25, 0xcd, 0xbe, 0x12, 0x4f, 0xc7, 0xa4, 0xb8, 0xfc, + 0xe9, 0x08, 0x14, 0x82, 0x73, 0x44, 0x0f, 0x00, 0x22, 0x18, 0xda, 0x0e, 0x56, 0x89, 0x8a, 0xa1, + 0xcc, 0x12, 0x74, 0x8b, 0x1d, 0x6d, 0xaf, 0xb2, 0x83, 0x57, 0x7b, 0x1d, 0x3a, 0x00, 0x1b, 0xad, + 0x80, 0x24, 0x80, 0xc5, 0x3a, 0x71, 0x66, 0x1e, 0x1b, 0x7c, 0x70, 0x8f, 0x03, 0x30, 0x43, 0xf5, + 0x41, 0x62, 0xa8, 0x0a, 0x8c, 0x9e, 0x7b, 0x1c, 0x1f, 0x98, 0x4a, 0x2c, 0x38, 0x15, 0xf9, 0x69, + 0x28, 0xf6, 0xf1, 0x13, 0xc9, 0x90, 0xe7, 0x59, 0x01, 0x7a, 0xd4, 0xc9, 0xfc, 0xe3, 0x8c, 0x92, + 0x65, 0xd1, 0x3f, 0x3d, 0xfa, 0x2d, 0xa7, 0xbf, 0xf8, 0xca, 0x5c, 0x84, 0x26, 0xcc, 0x1f, 0x80, + 0x7c, 0x80, 0xa3, 0x22, 0x53, 0x17, 0xf1, 0x32, 0x75, 0x1e, 0xf0, 0x0b, 0x90, 0x23, 0x8a, 0x12, + 0xb7, 0x38, 0xec, 0xfd, 0x50, 0x64, 0x8a, 0xbc, 0x9f, 0xd7, 0xcc, 0x93, 0x5a, 0x11, 0x0c, 0x97, + 0x85, 0x6b, 0x15, 0x64, 0x7b, 0x56, 0x40, 0x5d, 0xd2, 0xec, 0xea, 0x3b, 0x3e, 0xf5, 0xda, 0x6c, + 0xe4, 0xcd, 0xd9, 0x88, 0x5f, 0x7d, 0x07, 0x1c, 0xf7, 0x35, 0x6a, 0x5b, 0x4d, 0x3d, 0x90, 0x75, + 0x28, 0xfa, 0x84, 0x8c, 0x34, 0x86, 0x65, 0x0f, 0x0e, 0xcc, 0x61, 0x1c, 0x9c, 0x30, 0x2b, 0x1d, + 0xac, 0x11, 0xc2, 0x13, 0x1b, 0xc3, 0x73, 0x94, 0xff, 0x37, 0x0d, 0x29, 0x05, 0xbf, 0xbb, 0x87, + 0x6d, 0x07, 0x9d, 0x85, 0x38, 0x6e, 0xee, 0x9a, 0xc3, 0x52, 0x42, 0x64, 0x72, 0x0b, 0x1c, 0xae, + 0xde, 0xdc, 0x35, 0x2f, 0x4f, 0x28, 0x14, 0x16, 0x9d, 0x83, 0xc4, 0x76, 0xbb, 0xc7, 0xf3, 0x14, + 0x7d, 0xca, 0xc2, 0x8f, 0x74, 0x91, 0x00, 0x5d, 0x9e, 0x50, 0x18, 0x34, 0xe9, 0x8a, 0x3e, 0x5d, + 0x1a, 0x3b, 0xb8, 0xab, 0x25, 0x63, 0x9b, 0x76, 0x45, 0x60, 0x51, 0x15, 0x40, 0x37, 0x74, 0x47, + 0xa5, 0x31, 0x3c, 0xf7, 0x04, 0xef, 0x1e, 0x8d, 0xa9, 0x3b, 0x34, 0xea, 0xbf, 0x3c, 0xa1, 0x64, + 0x74, 0x51, 0x20, 0xc3, 0x7d, 0x77, 0x0f, 0x5b, 0xfb, 0xdc, 0x01, 0x1c, 0x39, 0xdc, 0x77, 0x10, + 0x20, 0x32, 0x5c, 0x0a, 0x8d, 0xea, 0x90, 0xa5, 0xdf, 0xa8, 0xb2, 0xfd, 0xcb, 0x9f, 0xd1, 0x94, + 0x47, 0x21, 0x57, 0x09, 0x28, 0xdd, 0xd2, 0x97, 0x27, 0x14, 0xd8, 0x72, 0x4b, 0x44, 0x49, 0xb2, + 0x67, 0x96, 0x9c, 0x3d, 0xfe, 0x78, 0xe0, 0xdc, 0x28, 0x1a, 0xf4, 0xad, 0xa5, 0x8d, 0xbd, 0xcb, + 0x13, 0x4a, 0xaa, 0xc9, 0x7e, 0x92, 0xf9, 0xb7, 0x70, 0x5b, 0xbf, 0x8e, 0x2d, 0x82, 0x9f, 0x39, + 0x78, 0xfe, 0x8b, 0x0c, 0x92, 0x52, 0xc8, 0xb4, 0x44, 0x81, 0x28, 0x5a, 0x6c, 0xb4, 0xf8, 0x34, + 0x60, 0x50, 0x4f, 0x07, 0xd6, 0xd9, 0x68, 0x89, 0x49, 0xa4, 0x31, 0xff, 0x8d, 0x9e, 0x70, 0x3d, + 0xd4, 0xec, 0xa0, 0x53, 0x18, 0x98, 0x00, 0xcb, 0x55, 0x4c, 0x08, 0x4f, 0x15, 0xad, 0x42, 0xa1, + 0xad, 0xdb, 0x8e, 0x6a, 0x1b, 0x5a, 0xd7, 0xde, 0x35, 0x1d, 0x9b, 0x06, 0xfd, 0xd9, 0xb3, 0xf7, + 0x8d, 0xa2, 0xb0, 0xac, 0xdb, 0x4e, 0x43, 0x00, 0x5f, 0x9e, 0x50, 0xf2, 0x6d, 0x7f, 0x05, 0xa1, + 0x67, 0x6e, 0x6f, 0x63, 0xcb, 0x25, 0x48, 0x93, 0x03, 0x07, 0xd0, 0x5b, 0x23, 0xd0, 0x02, 0x9f, + 0xd0, 0x33, 0xfd, 0x15, 0xe8, 0x07, 0x61, 0xaa, 0x6d, 0x6a, 0x2d, 0x97, 0x9c, 0xda, 0xdc, 0xed, + 0x19, 0xd7, 0x68, 0x26, 0x21, 0x7b, 0xf6, 0xd4, 0xc8, 0x41, 0x9a, 0x5a, 0x4b, 0x90, 0xa8, 0x11, + 0x84, 0xcb, 0x13, 0xca, 0x64, 0xbb, 0xbf, 0x12, 0xbd, 0x13, 0xa6, 0xb5, 0x6e, 0xb7, 0xbd, 0xdf, + 0x4f, 0xbd, 0x48, 0xa9, 0x9f, 0x1e, 0x45, 0xbd, 0x42, 0x70, 0xfa, 0xc9, 0x23, 0x6d, 0xa0, 0x16, + 0x6d, 0x80, 0xd4, 0xb5, 0x30, 0xfd, 0xa8, 0xa6, 0xcb, 0x5d, 0x15, 0xfa, 0x32, 0x56, 0xf6, 0xec, + 0x89, 0x51, 0xb4, 0xd7, 0x19, 0xbc, 0xf0, 0x6c, 0x2e, 0x4f, 0x28, 0xc5, 0x6e, 0xb0, 0x8a, 0x51, + 0x35, 0x9b, 0x98, 0xbe, 0xde, 0xc4, 0xa9, 0x4e, 0x86, 0x51, 0xa5, 0xf0, 0x41, 0xaa, 0x81, 0xaa, + 0x6a, 0x8a, 0x5f, 0x8a, 0xe3, 0x4f, 0xab, 0x9c, 0x80, 0xac, 0x4f, 0xb1, 0xa0, 0x19, 0x48, 0xf1, + 0x4b, 0x02, 0xe2, 0x32, 0x1d, 0x2f, 0xca, 0x05, 0xc8, 0xf9, 0x95, 0x89, 0xfc, 0xfe, 0x88, 0x8b, + 0x49, 0xbf, 0x75, 0x9f, 0x09, 0xa6, 0x0e, 0x33, 0x5e, 0x56, 0xf0, 0x1e, 0x61, 0x45, 0x44, 0x3b, + 0x3b, 0x4d, 0xca, 0xd1, 0x4a, 0x6e, 0xc4, 0xd0, 0x1c, 0x64, 0xbb, 0x67, 0xbb, 0x2e, 0x48, 0x8c, + 0x82, 0x40, 0xf7, 0x6c, 0x57, 0x00, 0xdc, 0x0d, 0x39, 0x32, 0x53, 0xd5, 0xef, 0x68, 0x64, 0x94, + 0x2c, 0xa9, 0xe3, 0x20, 0xf2, 0xbf, 0x8d, 0x82, 0xd4, 0xaf, 0x80, 0xdc, 0x9c, 0x62, 0xe4, 0xd0, + 0x39, 0xc5, 0x63, 0xfd, 0xd9, 0x4c, 0x2f, 0x81, 0xb9, 0x0c, 0x92, 0x97, 0x87, 0x63, 0x86, 0x60, + 0xb4, 0xe3, 0xd4, 0xe7, 0xe1, 0x29, 0xc5, 0x66, 0x9f, 0xcb, 0x77, 0x31, 0x70, 0xf6, 0x22, 0xde, + 0xe6, 0xee, 0x5f, 0x62, 0xd7, 0x5f, 0xd8, 0xec, 0xb6, 0x34, 0x07, 0x8b, 0xbc, 0x88, 0xef, 0x18, + 0xe6, 0x7e, 0x28, 0x6a, 0xdd, 0xae, 0x6a, 0x3b, 0x9a, 0x83, 0xb9, 0x59, 0x4f, 0xb0, 0xf4, 0xa0, + 0xd6, 0xed, 0x36, 0x48, 0x2d, 0x33, 0xeb, 0xf7, 0x41, 0x81, 0xe8, 0x64, 0x5d, 0x6b, 0xab, 0x3c, + 0x4b, 0x90, 0x64, 0xd6, 0x9f, 0xd7, 0x5e, 0xa6, 0x95, 0x72, 0xcb, 0x5d, 0x71, 0xaa, 0x8f, 0xdd, + 0x30, 0x2b, 0xe2, 0x0b, 0xb3, 0x10, 0x7f, 0x84, 0x80, 0xf1, 0x47, 0xbc, 0xdb, 0x30, 0x3c, 0xbb, + 0x3b, 0x4d, 0x43, 0xb2, 0xeb, 0x2c, 0xe1, 0x91, 0x56, 0x58, 0x41, 0x7e, 0x4f, 0x14, 0x26, 0x07, + 0x34, 0xf7, 0xd0, 0xb4, 0xb7, 0x17, 0x5f, 0x46, 0x0f, 0x15, 0x5f, 0x3e, 0x13, 0x4c, 0xeb, 0xfa, + 0x2c, 0xdf, 0xf1, 0x01, 0x26, 0x33, 0xbd, 0x49, 0x04, 0x9a, 0x13, 0xf1, 0x65, 0x7e, 0xa9, 0x98, + 0x6f, 0xc2, 0xf4, 0xd6, 0xfe, 0x4b, 0x9a, 0xe1, 0xe8, 0x06, 0x56, 0x07, 0x56, 0x6d, 0xd0, 0x94, + 0xae, 0xe8, 0xf6, 0x16, 0xde, 0xd5, 0xae, 0xeb, 0xa6, 0x18, 0xd6, 0x94, 0x8b, 0xef, 0x25, 0x77, + 0x65, 0x05, 0x0a, 0x41, 0xd3, 0x83, 0x0a, 0x10, 0x75, 0xf6, 0xf8, 0xfc, 0xa3, 0xce, 0x1e, 0x7a, + 0x98, 0xe7, 0x81, 0xa2, 0x34, 0x0f, 0x34, 0xd8, 0x11, 0xc7, 0xf3, 0x92, 0x40, 0xb2, 0xec, 0xee, + 0x06, 0xd7, 0x1c, 0xf5, 0x53, 0x95, 0x4f, 0x41, 0xb1, 0xcf, 0xde, 0x8c, 0xca, 0x0a, 0xca, 0x45, + 0xc8, 0x07, 0x8c, 0x8b, 0x7c, 0x04, 0xa6, 0x87, 0xd9, 0x0a, 0x79, 0xd7, 0xad, 0x0f, 0xe8, 0x7c, + 0x74, 0x0e, 0xd2, 0xae, 0xb1, 0x18, 0x92, 0x85, 0xa0, 0xb3, 0x10, 0xc0, 0x8a, 0x0b, 0x1a, 0x48, + 0x66, 0x47, 0x03, 0xc9, 0x6c, 0xf9, 0x5d, 0x30, 0x33, 0xca, 0x10, 0xf4, 0x4d, 0x23, 0xee, 0x4a, + 0xe1, 0x11, 0x48, 0xf2, 0x27, 0xda, 0xa2, 0xf4, 0xf8, 0x86, 0x97, 0x88, 0x74, 0x32, 0xa3, 0x10, + 0x63, 0xa7, 0x3a, 0xb4, 0x20, 0xab, 0x70, 0x6c, 0xa4, 0x31, 0x18, 0x7d, 0x10, 0xc4, 0x08, 0xf1, + 0x83, 0xa0, 0xa6, 0x18, 0x8e, 0x4d, 0xe7, 0x2a, 0x2e, 0x3b, 0xb0, 0x92, 0xfc, 0xc1, 0x18, 0x1c, + 0x19, 0x6e, 0x12, 0xd0, 0x3c, 0xe4, 0x88, 0xdf, 0xed, 0x04, 0x5d, 0x74, 0xe8, 0x68, 0x7b, 0x1b, + 0xdc, 0x3f, 0xe7, 0x89, 0xf4, 0xa8, 0x9b, 0x48, 0x47, 0x9b, 0x30, 0xd9, 0x36, 0x9b, 0x5a, 0x5b, + 0xf5, 0x49, 0x3c, 0x17, 0xf6, 0x7b, 0x06, 0x98, 0x5d, 0x67, 0x0f, 0x37, 0xb7, 0x06, 0x84, 0xbe, + 0x48, 0x69, 0x2c, 0xbb, 0x92, 0x8f, 0x16, 0x21, 0xdb, 0xf1, 0x04, 0xf9, 0x10, 0xc2, 0xee, 0x47, + 0xf3, 0x2d, 0x49, 0x62, 0xe8, 0xb1, 0x4f, 0xf2, 0xd0, 0x2a, 0x7a, 0xd4, 0x09, 0x4a, 0x6a, 0xe4, + 0x09, 0xca, 0xb0, 0xe3, 0x8a, 0xf4, 0xf0, 0xe3, 0x8a, 0xf7, 0xfa, 0x97, 0x26, 0x60, 0x44, 0x07, + 0x4f, 0x30, 0x50, 0x03, 0xa6, 0x39, 0x7e, 0x2b, 0xc0, 0xfb, 0xe8, 0xb8, 0x8a, 0x06, 0x09, 0xf4, + 0xd1, 0x6c, 0x8f, 0xdd, 0x1e, 0xdb, 0x85, 0x2e, 0x8d, 0xfb, 0x74, 0xe9, 0xff, 0x67, 0x4b, 0xf1, + 0xef, 0x33, 0x90, 0x56, 0xb0, 0xdd, 0x25, 0x86, 0x13, 0x55, 0x21, 0x83, 0xf7, 0x9a, 0xb8, 0xeb, + 0x78, 0xc7, 0x94, 0xc3, 0x82, 0x01, 0x06, 0x5d, 0x17, 0x90, 0xc4, 0x13, 0x77, 0xd1, 0xd0, 0xa3, + 0x3c, 0xd8, 0x1a, 0x1d, 0x37, 0x71, 0x74, 0x7f, 0xb4, 0x75, 0x5e, 0x44, 0x5b, 0xb1, 0x91, 0xce, + 0x37, 0xc3, 0xea, 0x0b, 0xb7, 0x1e, 0xe5, 0xe1, 0x56, 0x3c, 0xa4, 0xb3, 0x40, 0xbc, 0x55, 0x0b, + 0xc4, 0x5b, 0xc9, 0x90, 0x69, 0x8e, 0x08, 0xb8, 0xce, 0x8b, 0x80, 0x2b, 0x15, 0x32, 0xe2, 0xbe, + 0x88, 0xeb, 0x62, 0x30, 0xe2, 0x4a, 0x8f, 0x50, 0x20, 0x02, 0x7b, 0x64, 0xc8, 0xf5, 0x94, 0x2f, + 0xe4, 0xca, 0x8c, 0x8c, 0x77, 0x18, 0x91, 0x21, 0x31, 0x57, 0x2d, 0x10, 0x73, 0x41, 0x08, 0x0f, + 0x46, 0x04, 0x5d, 0x3f, 0xe0, 0x0f, 0xba, 0xb2, 0x23, 0xe3, 0x36, 0xbe, 0xde, 0xc3, 0xa2, 0xae, + 0x27, 0xdd, 0xa8, 0x2b, 0x37, 0x32, 0x6c, 0xe4, 0x73, 0xe8, 0x0f, 0xbb, 0xd6, 0x06, 0xc2, 0xae, + 0x3c, 0xff, 0x9b, 0x08, 0xa3, 0x48, 0x84, 0xc4, 0x5d, 0x6b, 0x03, 0x71, 0x57, 0x21, 0x84, 0x60, + 0x48, 0xe0, 0xf5, 0x43, 0xc3, 0x03, 0xaf, 0xd1, 0xa1, 0x11, 0x1f, 0xe6, 0x78, 0x91, 0x97, 0x3a, + 0x22, 0xf2, 0x62, 0xd1, 0xd1, 0x03, 0x23, 0xc9, 0x8f, 0x1d, 0x7a, 0x6d, 0x0e, 0x09, 0xbd, 0x58, + 0x90, 0x74, 0x72, 0x24, 0xf1, 0x31, 0x62, 0xaf, 0xcd, 0x21, 0xb1, 0x17, 0x0a, 0x25, 0x7b, 0x98, + 0xe0, 0x2b, 0x21, 0x25, 0xe5, 0x53, 0xc4, 0xf5, 0xed, 0xd3, 0x53, 0xc4, 0x7f, 0xc0, 0x96, 0x65, + 0x5a, 0xe2, 0x66, 0x2d, 0x2d, 0xc8, 0x27, 0x89, 0x33, 0xee, 0xe9, 0xa4, 0x03, 0x02, 0x35, 0xea, + 0xa7, 0xf9, 0xf4, 0x90, 0xfc, 0xc5, 0x88, 0x87, 0x4b, 0x7d, 0x58, 0xbf, 0x23, 0x9f, 0xe1, 0x8e, + 0xbc, 0x2f, 0x7c, 0x8b, 0x06, 0xc3, 0xb7, 0x39, 0xc8, 0x12, 0xff, 0xab, 0x2f, 0x32, 0xd3, 0xba, + 0x6e, 0x64, 0x26, 0xae, 0x14, 0xb0, 0x20, 0x8f, 0x9b, 0x15, 0x76, 0x92, 0x53, 0x74, 0xaf, 0x57, + 0xb0, 0x98, 0x02, 0x3d, 0x04, 0x53, 0x3e, 0x58, 0xd7, 0xaf, 0x63, 0x61, 0x8a, 0xe4, 0x42, 0x57, + 0xb8, 0x83, 0xf7, 0x2f, 0x22, 0x1e, 0x87, 0xbc, 0x90, 0x6e, 0x58, 0xf4, 0x15, 0x79, 0x83, 0xa2, + 0xaf, 0xe8, 0x6d, 0x47, 0x5f, 0x7e, 0x3f, 0x35, 0x16, 0xf4, 0x53, 0xff, 0x22, 0xe2, 0xad, 0x89, + 0x1b, 0x4b, 0x35, 0xcd, 0x16, 0xe6, 0x9e, 0x23, 0xfd, 0x4d, 0x9c, 0x8a, 0xb6, 0xb9, 0xc3, 0xfd, + 0x43, 0xf2, 0x93, 0x40, 0xb9, 0x86, 0x23, 0xc3, 0xed, 0x82, 0xeb, 0x74, 0x26, 0xfc, 0xf7, 0x7f, + 0xf9, 0xa5, 0xd8, 0xa4, 0x77, 0x29, 0xd6, 0xfd, 0xf8, 0x2d, 0xe5, 0xfb, 0xf8, 0x0d, 0x3d, 0x01, + 0x19, 0x9a, 0x11, 0x55, 0xcd, 0xae, 0xf8, 0x0b, 0x1a, 0xc7, 0x47, 0x5f, 0x88, 0xb5, 0xe9, 0x55, + 0x3d, 0x76, 0x89, 0xd6, 0xf3, 0x18, 0x32, 0x01, 0x8f, 0xe1, 0x4e, 0xc8, 0x90, 0xd1, 0xb3, 0x97, + 0xa0, 0x81, 0x7f, 0x39, 0x29, 0x2a, 0xe4, 0x77, 0x02, 0x1a, 0x34, 0x12, 0xe8, 0x32, 0x24, 0xf1, + 0x75, 0xfa, 0xac, 0x1e, 0xbb, 0x68, 0x78, 0x64, 0xd0, 0x35, 0x25, 0xcd, 0xd5, 0x19, 0xc2, 0xe4, + 0x6f, 0xbd, 0x3a, 0x27, 0x31, 0xe8, 0x07, 0xdd, 0x0f, 0x05, 0x14, 0x8e, 0x2f, 0xff, 0xe7, 0x28, + 0x09, 0x60, 0x02, 0x06, 0x64, 0x28, 0x6f, 0x87, 0x1d, 0x11, 0x8e, 0xc7, 0xef, 0x59, 0x80, 0x1d, + 0xcd, 0x56, 0x6f, 0x68, 0x86, 0x83, 0x5b, 0x9c, 0xe9, 0xbe, 0x1a, 0x54, 0x82, 0x34, 0x29, 0xf5, + 0x6c, 0xdc, 0xe2, 0x61, 0xb4, 0x5b, 0xf6, 0xcd, 0x33, 0xf5, 0xbd, 0xcd, 0x33, 0xc8, 0xe5, 0x74, + 0x1f, 0x97, 0x7d, 0xc1, 0x45, 0xc6, 0x1f, 0x5c, 0xb0, 0x8b, 0xc1, 0xfc, 0x7e, 0x22, 0xb0, 0xb1, + 0x89, 0x32, 0xba, 0x07, 0xf2, 0x1d, 0xdc, 0xe9, 0x9a, 0x66, 0x5b, 0x65, 0xea, 0x86, 0x3d, 0xf9, + 0x9e, 0xe3, 0x95, 0x75, 0xaa, 0x75, 0x7e, 0x3c, 0xea, 0xed, 0x3f, 0x2f, 0x88, 0xfc, 0xbe, 0x63, + 0xb0, 0xfc, 0x53, 0x34, 0xb3, 0x14, 0x74, 0x11, 0x50, 0xc3, 0x7f, 0x6b, 0xa4, 0x47, 0xd5, 0x82, + 0x10, 0xe8, 0x71, 0xf5, 0x87, 0x77, 0xbb, 0x84, 0x55, 0xdb, 0xe8, 0x79, 0x38, 0xda, 0xa7, 0xdb, + 0x5c, 0xd2, 0xd1, 0x71, 0x55, 0xdc, 0x1d, 0x41, 0x15, 0x27, 0x48, 0x7b, 0xcc, 0x8a, 0x7d, 0x8f, + 0xbb, 0x6e, 0x09, 0x0a, 0x41, 0x8f, 0x67, 0xe8, 0xf2, 0xd3, 0x3f, 0x31, 0xe2, 0x68, 0xba, 0xa1, + 0x06, 0xd2, 0x41, 0x39, 0x56, 0xc9, 0x93, 0x4c, 0xeb, 0x70, 0xc7, 0x50, 0xcf, 0x07, 0x3d, 0x0e, + 0x19, 0xcf, 0x69, 0x62, 0x5c, 0x3d, 0x20, 0x5d, 0xe0, 0xc1, 0xca, 0xbf, 0x19, 0xf1, 0x48, 0x06, + 0x13, 0x10, 0x75, 0x48, 0xb2, 0x6b, 0x6f, 0xfc, 0x32, 0xcd, 0x43, 0xe3, 0xf9, 0x4c, 0x0b, 0xec, + 0x4e, 0x9c, 0xc2, 0x91, 0xe5, 0x77, 0x42, 0x92, 0xd5, 0xa0, 0x2c, 0xa4, 0xbc, 0x97, 0x6f, 0x01, + 0x92, 0x95, 0x5a, 0xad, 0xbe, 0xbe, 0x21, 0x45, 0x50, 0x06, 0x12, 0x95, 0xea, 0x9a, 0xb2, 0x21, + 0x45, 0x49, 0xb5, 0x52, 0xbf, 0x52, 0xaf, 0x6d, 0x48, 0x31, 0x34, 0x09, 0x79, 0xf6, 0x5b, 0xbd, + 0xb8, 0xa6, 0xac, 0x54, 0x36, 0xa4, 0xb8, 0xaf, 0xaa, 0x51, 0x5f, 0x5d, 0xac, 0x2b, 0x52, 0x42, + 0x7e, 0x04, 0x8e, 0x8d, 0xf4, 0xb2, 0xbc, 0xec, 0x42, 0xc4, 0x97, 0x5d, 0x90, 0x3f, 0x18, 0x85, + 0xd2, 0x68, 0xd7, 0x09, 0x5d, 0xe9, 0x9b, 0xf8, 0xd9, 0x43, 0xf8, 0x5d, 0x7d, 0xb3, 0x47, 0xf7, + 0x41, 0xc1, 0xc2, 0xdb, 0xd8, 0x69, 0xee, 0x32, 0x57, 0x8e, 0x99, 0xcc, 0xbc, 0x92, 0xe7, 0xb5, + 0x14, 0xc9, 0x66, 0x60, 0x2f, 0xe2, 0xa6, 0xa3, 0x32, 0x5d, 0x64, 0xf3, 0xbf, 0x75, 0x98, 0x67, + 0xb5, 0x0d, 0x56, 0x29, 0xbf, 0xeb, 0x50, 0xbc, 0xcc, 0x40, 0x42, 0xa9, 0x6f, 0x28, 0xcf, 0x4b, + 0x31, 0x84, 0xa0, 0x40, 0x7f, 0xaa, 0x8d, 0xd5, 0xca, 0x7a, 0xe3, 0xf2, 0x1a, 0xe1, 0xe5, 0x14, + 0x14, 0x05, 0x2f, 0x45, 0x65, 0x42, 0x7e, 0x00, 0x8e, 0x8e, 0xf0, 0xfb, 0x86, 0xdc, 0x43, 0xfc, + 0x58, 0xc4, 0x0f, 0x1d, 0x8c, 0xf9, 0xd7, 0x20, 0x69, 0x3b, 0x9a, 0xd3, 0xb3, 0x39, 0x13, 0x1f, + 0x1f, 0xd7, 0x11, 0x5c, 0x10, 0x3f, 0x1a, 0x14, 0x5d, 0xe1, 0x64, 0xe4, 0x73, 0x50, 0x08, 0xb6, + 0x8c, 0xe6, 0x81, 0x27, 0x44, 0x51, 0xf9, 0x79, 0x00, 0x5f, 0x3e, 0xd2, 0xbd, 0xd1, 0x15, 0xf1, + 0xdf, 0xe8, 0x3a, 0x07, 0x89, 0xeb, 0x26, 0xd3, 0x19, 0xc3, 0x37, 0xce, 0x55, 0xd3, 0xc1, 0xbe, + 0xe4, 0x03, 0x83, 0x96, 0x75, 0x40, 0x83, 0x39, 0xa1, 0x11, 0x5d, 0x3c, 0x15, 0xec, 0xe2, 0xee, + 0x91, 0xd9, 0xa5, 0xe1, 0x5d, 0xbd, 0x04, 0x09, 0xaa, 0x6d, 0x86, 0x7e, 0xe2, 0xf3, 0xc3, 0x00, + 0x9a, 0xe3, 0x58, 0xfa, 0x56, 0xcf, 0xeb, 0x60, 0x6e, 0xb8, 0xb6, 0xaa, 0x08, 0xb8, 0xea, 0x9d, + 0x5c, 0x6d, 0x4d, 0x7b, 0xa8, 0x3e, 0xd5, 0xe5, 0x23, 0x28, 0xaf, 0x42, 0x21, 0x88, 0x3b, 0xfc, + 0x93, 0x25, 0xef, 0xed, 0x80, 0x8c, 0x70, 0x9f, 0x5c, 0xe7, 0x8b, 0xbf, 0xe7, 0x41, 0x0b, 0xf2, + 0xcd, 0x08, 0xa4, 0x37, 0xf6, 0xb8, 0x1c, 0x1f, 0x70, 0xa9, 0xd2, 0xfb, 0x6e, 0xcb, 0x4d, 0x16, + 0xb2, 0x7c, 0x6c, 0xcc, 0xcd, 0xf2, 0xfe, 0x80, 0xbb, 0x53, 0xe3, 0xe3, 0x46, 0xbb, 0x22, 0xdb, + 0xcd, 0xb5, 0xd3, 0x85, 0xf1, 0xbe, 0x91, 0x98, 0x86, 0x84, 0xff, 0xfb, 0x06, 0x56, 0x90, 0x5b, + 0xbe, 0x6b, 0x09, 0xcc, 0x6c, 0xf8, 0x3f, 0xa6, 0x88, 0x1c, 0xfa, 0x63, 0x0a, 0xb7, 0x97, 0xa8, + 0xbf, 0x97, 0xeb, 0x90, 0x16, 0x42, 0x81, 0xde, 0xee, 0xbf, 0x7b, 0x22, 0xce, 0x68, 0x46, 0x1a, + 0x4f, 0x4e, 0xde, 0x77, 0xf5, 0xe4, 0x34, 0x4c, 0xf2, 0x2b, 0x77, 0x5e, 0x5c, 0xc1, 0xdf, 0xe6, + 0x2f, 0xb2, 0x86, 0x65, 0x11, 0x54, 0xc8, 0xbf, 0x14, 0x01, 0xa9, 0x5f, 0x2a, 0xdf, 0xca, 0x01, + 0x10, 0xa5, 0x48, 0xa4, 0xdf, 0xf7, 0xe8, 0x36, 0x5b, 0xf9, 0x3c, 0xa9, 0xf5, 0x9e, 0xdd, 0x7e, + 0x4f, 0x14, 0xb2, 0xbe, 0x9c, 0x1e, 0x7a, 0x2c, 0x70, 0x05, 0x74, 0xfe, 0xa0, 0xfc, 0x9f, 0xef, + 0x0e, 0x68, 0x60, 0x62, 0xd1, 0xc3, 0x4f, 0xec, 0x8d, 0xbf, 0xa4, 0x3f, 0xfc, 0x6b, 0x9f, 0xc4, + 0x88, 0xaf, 0x7d, 0x7e, 0x34, 0x02, 0x69, 0xd7, 0x74, 0x1f, 0x36, 0x9b, 0x7f, 0x04, 0x92, 0xdc, + 0x3a, 0xb1, 0x74, 0x3e, 0x2f, 0x0d, 0xcd, 0x85, 0x96, 0x20, 0x2d, 0xfe, 0xa8, 0x0d, 0x0f, 0x44, + 0xdd, 0xf2, 0xe9, 0x27, 0x21, 0xeb, 0x3b, 0x58, 0x21, 0x7a, 0x62, 0xb5, 0xfe, 0xac, 0x34, 0x51, + 0x4a, 0xdd, 0xbc, 0x35, 0x1f, 0x5b, 0xc5, 0x37, 0xc8, 0x0e, 0x53, 0xea, 0xb5, 0xcb, 0xf5, 0xda, + 0x33, 0x52, 0xa4, 0x94, 0xbd, 0x79, 0x6b, 0x3e, 0xa5, 0x60, 0x9a, 0xbe, 0x3a, 0xfd, 0x0c, 0x14, + 0xfb, 0x16, 0x26, 0xa8, 0xdf, 0x11, 0x14, 0x16, 0x37, 0xd7, 0x97, 0x97, 0x6a, 0x95, 0x8d, 0xba, + 0xca, 0xae, 0xd3, 0xa1, 0xa3, 0x30, 0xb5, 0xbc, 0x74, 0xe9, 0xf2, 0x86, 0x5a, 0x5b, 0x5e, 0xaa, + 0xaf, 0x6e, 0xa8, 0x95, 0x8d, 0x8d, 0x4a, 0xed, 0x19, 0x29, 0x7a, 0xf6, 0xbb, 0x00, 0xc5, 0x4a, + 0xb5, 0xb6, 0x44, 0xec, 0xb3, 0xce, 0xdf, 0x4d, 0xaf, 0x41, 0x9c, 0xa6, 0x02, 0x0e, 0xbc, 0x2a, + 0x52, 0x3a, 0x38, 0xb7, 0x89, 0x2e, 0x42, 0x82, 0x66, 0x09, 0xd0, 0xc1, 0x77, 0x47, 0x4a, 0x21, + 0xc9, 0x4e, 0x32, 0x18, 0xba, 0x9d, 0x0e, 0xbc, 0x4c, 0x52, 0x3a, 0x38, 0xf7, 0x89, 0x14, 0xc8, + 0x78, 0x51, 0x46, 0xf8, 0xe5, 0x8a, 0xd2, 0x18, 0xda, 0x11, 0x2d, 0x43, 0x4a, 0x04, 0x86, 0x61, + 0xd7, 0x3d, 0x4a, 0xa1, 0xc9, 0x49, 0xc2, 0x2e, 0x16, 0xc0, 0x1f, 0x7c, 0x77, 0xa5, 0x14, 0x92, + 0x69, 0x45, 0x4b, 0xee, 0x25, 0xfc, 0x90, 0x2b, 0x1c, 0xa5, 0xb0, 0x64, 0x23, 0x61, 0x9a, 0x97, + 0x1a, 0x09, 0xbf, 0x91, 0x53, 0x1a, 0x23, 0x89, 0x8c, 0x36, 0x01, 0x7c, 0xe1, 0xfa, 0x18, 0x57, + 0x6d, 0x4a, 0xe3, 0x24, 0x87, 0xd1, 0x1a, 0xa4, 0xdd, 0xe8, 0x29, 0xf4, 0xe2, 0x4b, 0x29, 0x3c, + 0x4b, 0x8b, 0xde, 0x09, 0xf9, 0x60, 0xd4, 0x30, 0xde, 0x75, 0x96, 0xd2, 0x98, 0xe9, 0x57, 0x42, + 0x3f, 0x18, 0x42, 0x8c, 0x77, 0xbd, 0xa5, 0x34, 0x66, 0x36, 0x16, 0xbd, 0x08, 0x93, 0x83, 0x2e, + 0xfe, 0xf8, 0xb7, 0x5d, 0x4a, 0x87, 0xc8, 0xcf, 0xa2, 0x0e, 0xa0, 0x21, 0xa1, 0xc1, 0x21, 0x2e, + 0xbf, 0x94, 0x0e, 0x93, 0xae, 0x45, 0x2d, 0x28, 0xf6, 0xfb, 0xdb, 0xe3, 0x5e, 0x86, 0x29, 0x8d, + 0x9d, 0xba, 0x65, 0xbd, 0x04, 0xfd, 0xf4, 0x71, 0x2f, 0xc7, 0x94, 0xc6, 0xce, 0xe4, 0x56, 0x2b, + 0x23, 0xef, 0x37, 0x9e, 0x38, 0xf0, 0x7e, 0xa3, 0x77, 0x63, 0xd1, 0xbd, 0xd3, 0xf8, 0xe7, 0x8f, + 0xc1, 0xbd, 0xfc, 0x31, 0x01, 0xdb, 0xd1, 0xae, 0xe9, 0xc6, 0x8e, 0xfb, 0x3a, 0x04, 0x2f, 0xf3, + 0xcb, 0x8d, 0x47, 0xf8, 0x83, 0x05, 0xa2, 0x36, 0xe4, 0x8d, 0x88, 0x91, 0x0f, 0x67, 0x85, 0x5d, + 0x42, 0x0e, 0xbf, 0xba, 0x78, 0xc0, 0xfb, 0x13, 0x21, 0xaf, 0x5c, 0x0c, 0x79, 0x9f, 0x22, 0xe4, + 0x12, 0xe6, 0x41, 0xf7, 0x3d, 0xe5, 0x0f, 0x44, 0xa0, 0x70, 0x59, 0xb7, 0x1d, 0xd3, 0xd2, 0x9b, + 0x5a, 0x9b, 0x5a, 0x8c, 0x0b, 0xe3, 0x7e, 0xe4, 0x51, 0xcd, 0x10, 0x67, 0x84, 0x3f, 0x6a, 0xc1, + 0x2f, 0x86, 0x2c, 0x42, 0xf2, 0xba, 0xd6, 0x66, 0x9f, 0x58, 0xf8, 0xdf, 0xaf, 0xe9, 0xe7, 0xb9, + 0xcf, 0x4b, 0xf2, 0x53, 0x61, 0xb8, 0xf2, 0x17, 0xe8, 0x25, 0xee, 0x4e, 0x47, 0xb7, 0xd9, 0x9f, + 0x9d, 0x76, 0xb0, 0x8d, 0x36, 0x21, 0x6e, 0x69, 0x0e, 0x0f, 0x6a, 0xaa, 0x15, 0xfe, 0x14, 0xc5, + 0xfd, 0xe1, 0x0f, 0x4a, 0x2c, 0x0c, 0xbc, 0x56, 0xc1, 0x3a, 0xa3, 0xe4, 0xd0, 0x0f, 0x41, 0xba, + 0xa3, 0xed, 0xa9, 0x94, 0x74, 0xf4, 0x8d, 0x22, 0x9d, 0xea, 0x68, 0x7b, 0x64, 0xd4, 0x48, 0x87, + 0x22, 0xa1, 0xde, 0xdc, 0xd5, 0x8c, 0x1d, 0xcc, 0x3a, 0x89, 0xbd, 0x51, 0x9d, 0xe4, 0x3b, 0xda, + 0x5e, 0x8d, 0x12, 0x26, 0x5d, 0xf1, 0x47, 0x3f, 0x7e, 0x2b, 0xc2, 0x43, 0x59, 0xca, 0x39, 0xa4, + 0x81, 0xd4, 0x74, 0x4b, 0xb4, 0x7f, 0x91, 0xd6, 0x3f, 0x31, 0x6a, 0x61, 0xfa, 0xf8, 0x5e, 0xcd, + 0x93, 0x91, 0x7e, 0xe5, 0xd5, 0xb9, 0x08, 0xeb, 0xb5, 0xd8, 0xec, 0x5b, 0x97, 0x2b, 0x90, 0x65, + 0xd9, 0x34, 0x95, 0xba, 0xb0, 0xd1, 0x50, 0x17, 0x36, 0x2f, 0x5c, 0x58, 0x46, 0x10, 0x18, 0x36, + 0x69, 0xe7, 0x73, 0xf8, 0x54, 0x04, 0xb2, 0x8b, 0xbe, 0xe7, 0xaa, 0x66, 0x20, 0xd5, 0x31, 0x0d, + 0xfd, 0x1a, 0xb6, 0xdc, 0x73, 0x19, 0x56, 0x24, 0x6e, 0x26, 0xfb, 0xb3, 0x43, 0xce, 0xbe, 0x78, + 0x89, 0x41, 0x94, 0x09, 0xd6, 0x0d, 0xbc, 0x65, 0xeb, 0x82, 0xe5, 0x8a, 0x28, 0xa2, 0x53, 0x20, + 0xd9, 0xb8, 0xd9, 0xb3, 0x74, 0x67, 0x5f, 0x6d, 0x9a, 0x86, 0xa3, 0x35, 0x1d, 0x9e, 0x3d, 0x2d, + 0x8a, 0xfa, 0x1a, 0xab, 0x26, 0x44, 0x5a, 0xd8, 0xd1, 0xf4, 0x36, 0xbb, 0xf6, 0x95, 0x51, 0x44, + 0x91, 0x0f, 0xf5, 0x0b, 0x29, 0x7f, 0x68, 0x58, 0x03, 0xc9, 0xec, 0x62, 0x2b, 0xf0, 0xc9, 0x1b, + 0x13, 0xd7, 0x99, 0xdf, 0xfd, 0xdc, 0x43, 0xd3, 0x9c, 0xe1, 0xfc, 0x00, 0x9e, 0xbd, 0xce, 0xac, + 0x14, 0x05, 0x86, 0xf8, 0x16, 0xee, 0xf9, 0xc0, 0x49, 0x4c, 0x6f, 0xcb, 0xfb, 0xe4, 0x7e, 0x7a, + 0x80, 0xa9, 0x15, 0x63, 0xbf, 0x3a, 0xf3, 0x3b, 0x1e, 0x69, 0x2f, 0x74, 0x7c, 0x06, 0xef, 0xfb, + 0x8f, 0x65, 0x28, 0x19, 0xe2, 0xc1, 0xbf, 0xa8, 0xe9, 0x6d, 0xf1, 0x97, 0xd4, 0x14, 0x5e, 0x42, + 0x65, 0x37, 0x0d, 0xc3, 0xfe, 0x42, 0xba, 0x3c, 0x4a, 0x36, 0xaa, 0xa6, 0xd1, 0x0a, 0x66, 0x5c, + 0xd0, 0x06, 0x24, 0x1d, 0xf3, 0x1a, 0x36, 0x38, 0x83, 0xaa, 0x6f, 0x3b, 0x84, 0x60, 0x0f, 0xbe, + 0x3f, 0xc3, 0x69, 0xa1, 0x1d, 0x90, 0x5a, 0xb8, 0x8d, 0x77, 0xd8, 0x07, 0x5b, 0xbb, 0x9a, 0x85, + 0xd9, 0x47, 0x9c, 0x87, 0xa3, 0x3f, 0xf8, 0x4c, 0x4d, 0xd1, 0xa5, 0xda, 0xa0, 0x44, 0xd1, 0x7a, + 0xf0, 0xb1, 0xb4, 0x14, 0x3f, 0x95, 0x1f, 0x31, 0x7f, 0x9f, 0x54, 0xfa, 0xd5, 0x56, 0xe0, 0x71, + 0xb5, 0x53, 0x20, 0xf5, 0x8c, 0x2d, 0xd3, 0xa0, 0x7f, 0xf4, 0x88, 0x07, 0x58, 0x69, 0x76, 0x72, + 0xe7, 0xd6, 0xf3, 0x93, 0xbb, 0x75, 0x28, 0x78, 0xa0, 0x74, 0xf7, 0x64, 0x0e, 0xbb, 0x7b, 0xf2, + 0x2e, 0x01, 0x02, 0x82, 0x56, 0x00, 0xbc, 0xfd, 0xe9, 0x9e, 0xee, 0x87, 0xee, 0x74, 0xff, 0x64, + 0x7c, 0x04, 0x50, 0x1b, 0xa6, 0x3a, 0xba, 0xa1, 0xda, 0xb8, 0xbd, 0xad, 0x72, 0xce, 0x11, 0xba, + 0xd9, 0x37, 0x60, 0xa5, 0x27, 0x3b, 0xba, 0xd1, 0xc0, 0xed, 0xed, 0x45, 0x97, 0x2c, 0x7a, 0x1b, + 0x1c, 0xf7, 0xd8, 0x61, 0x1a, 0xea, 0xae, 0xd9, 0x6e, 0xa9, 0x16, 0xde, 0x56, 0x9b, 0xf4, 0xf9, + 0xa3, 0x1c, 0x65, 0xe2, 0x51, 0x17, 0x64, 0xcd, 0xb8, 0x6c, 0xb6, 0x5b, 0x0a, 0xde, 0xae, 0x91, + 0x66, 0x74, 0x0f, 0x78, 0xbc, 0x50, 0xf5, 0x96, 0x3d, 0x93, 0x9f, 0x8f, 0x9d, 0x8c, 0x2b, 0x39, + 0xb7, 0x72, 0xa9, 0x65, 0x97, 0xd3, 0xef, 0x7d, 0x65, 0x6e, 0xe2, 0x9b, 0xaf, 0xcc, 0x4d, 0xc8, + 0x17, 0xe9, 0x63, 0x1d, 0x7c, 0xd3, 0x61, 0x1b, 0x9d, 0x87, 0x8c, 0x26, 0x0a, 0xec, 0x33, 0x91, + 0x03, 0x36, 0xad, 0x07, 0x2a, 0xbf, 0x12, 0x81, 0xe4, 0xe2, 0xd5, 0x75, 0x4d, 0xb7, 0x50, 0x1d, + 0x26, 0x3d, 0xa1, 0x1d, 0x77, 0xff, 0x7b, 0x72, 0x2e, 0x14, 0x40, 0x7d, 0xd4, 0x97, 0xb3, 0x07, + 0x92, 0xe9, 0xff, 0xa6, 0xd6, 0x37, 0xd5, 0x2b, 0x90, 0x62, 0x23, 0xb4, 0xd1, 0xd3, 0x90, 0xe8, + 0x92, 0x1f, 0x3c, 0xfb, 0x3f, 0x3b, 0x52, 0xd0, 0x29, 0xbc, 0x5f, 0x2c, 0x18, 0x9e, 0xfc, 0x97, + 0x11, 0x80, 0xc5, 0xab, 0x57, 0x37, 0x2c, 0xbd, 0xdb, 0xc6, 0xce, 0x1b, 0x35, 0xe5, 0x65, 0xb8, + 0xc3, 0xf7, 0x7d, 0xa6, 0xd5, 0x1c, 0x7b, 0xda, 0x53, 0xde, 0x17, 0x9a, 0x56, 0x73, 0x28, 0xb5, + 0x96, 0xed, 0xb8, 0xd4, 0x62, 0x63, 0x53, 0x5b, 0xb4, 0x9d, 0x41, 0x3e, 0x3e, 0x07, 0x59, 0x6f, + 0xea, 0x36, 0x5a, 0x82, 0xb4, 0xc3, 0x7f, 0x73, 0x76, 0xca, 0xa3, 0xd9, 0x29, 0xd0, 0xfc, 0x2c, + 0x75, 0xd1, 0xe5, 0xff, 0x4d, 0xb8, 0xea, 0x6d, 0x84, 0xbf, 0x56, 0x82, 0x44, 0x34, 0x3c, 0xd7, + 0xc0, 0xb1, 0x37, 0x40, 0x03, 0x73, 0x5a, 0x3e, 0xb6, 0xfe, 0x58, 0x14, 0xa6, 0x36, 0xc5, 0x26, + 0xfd, 0x6b, 0xcb, 0x85, 0x4d, 0x48, 0x61, 0xc3, 0xb1, 0x74, 0x2c, 0x8e, 0xfa, 0x1e, 0x1e, 0xb5, + 0xd8, 0x43, 0xe6, 0x42, 0xff, 0x14, 0xb0, 0x7f, 0xe9, 0x05, 0x2d, 0x1f, 0x1b, 0x7e, 0x23, 0x06, + 0x33, 0xa3, 0x50, 0xd1, 0x09, 0x28, 0x36, 0x2d, 0x4c, 0x2b, 0xd4, 0x40, 0x2a, 0xbc, 0x20, 0xaa, + 0xb9, 0x49, 0x51, 0x80, 0x38, 0x68, 0x44, 0xaa, 0x08, 0xe8, 0xed, 0x79, 0x64, 0x05, 0x8f, 0x02, + 0x35, 0x2a, 0x18, 0x8a, 0xe2, 0x6e, 0xfb, 0x96, 0xd6, 0xd6, 0x8c, 0x26, 0xbe, 0x0d, 0x49, 0x18, + 0xb4, 0x00, 0xe2, 0xc2, 0x7c, 0x95, 0xd1, 0x44, 0x57, 0x21, 0x25, 0xc8, 0xc7, 0xdf, 0x00, 0xf2, + 0x82, 0x18, 0xba, 0x1b, 0x72, 0x7e, 0xc3, 0x40, 0xfd, 0x94, 0xb8, 0x92, 0xf5, 0xd9, 0x85, 0x30, + 0xcb, 0x93, 0x3c, 0xd0, 0xf2, 0x70, 0x57, 0xf0, 0xd7, 0x63, 0x30, 0xa9, 0xe0, 0xd6, 0xf7, 0xe1, + 0xc2, 0xfd, 0x20, 0x00, 0xdb, 0xd4, 0x44, 0xd9, 0xde, 0xc6, 0xda, 0x0d, 0x2a, 0x89, 0x0c, 0xa3, + 0xb7, 0x68, 0x3b, 0x6f, 0xd5, 0xea, 0xfd, 0x9b, 0x28, 0xe4, 0xfc, 0xab, 0xf7, 0x7d, 0x60, 0xd9, + 0xd0, 0xaa, 0xa7, 0xd2, 0xd8, 0xed, 0xf3, 0x53, 0xa3, 0x54, 0xda, 0x80, 0x5c, 0x87, 0xe9, 0xb2, + 0x38, 0x24, 0xf9, 0x55, 0xb0, 0xb5, 0x01, 0x1f, 0x37, 0x12, 0xf6, 0xfd, 0x6f, 0x5e, 0x7c, 0xff, + 0x3b, 0xd4, 0xc5, 0xbd, 0x0f, 0x0a, 0x24, 0xa4, 0x0e, 0xdc, 0x2f, 0x8b, 0x9c, 0xcc, 0xd3, 0x70, + 0xd8, 0xbb, 0x0d, 0x8d, 0xe6, 0x20, 0x4b, 0xc0, 0x3c, 0x9d, 0x4d, 0x60, 0xa0, 0xa3, 0xed, 0xd5, + 0x59, 0x0d, 0x7a, 0x08, 0xd0, 0xae, 0x9b, 0xf8, 0x50, 0x3d, 0x46, 0x10, 0xb8, 0x49, 0xaf, 0x45, + 0x80, 0xdf, 0x05, 0x40, 0x46, 0xa1, 0xb2, 0x17, 0x3a, 0xf9, 0x6b, 0xa7, 0xa4, 0x66, 0x91, 0xbe, + 0xd2, 0xf9, 0xd3, 0x11, 0xe6, 0x2a, 0xf7, 0x45, 0xdb, 0x3c, 0x68, 0x51, 0x0f, 0xb7, 0x1b, 0xbe, + 0xf3, 0xea, 0x5c, 0x69, 0x5f, 0xeb, 0xb4, 0xcb, 0xf2, 0x10, 0x92, 0xf2, 0xb0, 0x5c, 0x00, 0xf1, + 0xa6, 0x83, 0x81, 0x3b, 0x2a, 0x43, 0x89, 0xa6, 0x1e, 0x4c, 0x83, 0x86, 0x91, 0xf4, 0x23, 0x68, + 0x8b, 0xff, 0xa1, 0x53, 0x9b, 0x06, 0x3a, 0x71, 0xe5, 0x48, 0x47, 0xdb, 0xab, 0x99, 0x86, 0xcd, + 0x03, 0x46, 0xd1, 0x8a, 0x9e, 0x83, 0x19, 0x81, 0xe7, 0x47, 0x53, 0xb7, 0x31, 0xe6, 0x37, 0xdc, + 0x8e, 0x2d, 0x0c, 0x79, 0x6c, 0x75, 0xa1, 0x66, 0xea, 0x06, 0x3f, 0xf5, 0xa2, 0x17, 0x66, 0x58, + 0xdc, 0x29, 0xe8, 0x5e, 0xc4, 0xb8, 0x7c, 0x2f, 0xd9, 0x6d, 0x37, 0xbf, 0xf1, 0x99, 0xd3, 0xc7, + 0x7d, 0x13, 0xdf, 0x73, 0xf3, 0x76, 0x4c, 0x68, 0xe4, 0x4f, 0x47, 0x00, 0x79, 0x26, 0xd0, 0xbd, + 0xa5, 0xbe, 0x42, 0xef, 0x2e, 0x8b, 0x28, 0x24, 0x72, 0x70, 0x74, 0xe3, 0xe1, 0x07, 0xa2, 0x1b, + 0xdf, 0x16, 0x7f, 0xbb, 0x67, 0x70, 0xa2, 0x61, 0x93, 0xf2, 0xcb, 0x3b, 0x47, 0xa2, 0x9a, 0x63, + 0x42, 0x7e, 0x35, 0x02, 0xc7, 0x06, 0xf6, 0x87, 0x3b, 0xe4, 0x26, 0x20, 0xcb, 0xd7, 0x48, 0xe5, + 0x4c, 0x9c, 0xfa, 0xde, 0xde, 0x76, 0x9b, 0xb4, 0x06, 0x8c, 0xcc, 0x9b, 0x64, 0x39, 0xb9, 0x6a, + 0xfc, 0xed, 0x08, 0x4c, 0xfb, 0x47, 0xe4, 0xce, 0xad, 0x01, 0x39, 0xff, 0x58, 0xf8, 0xac, 0xee, + 0x1d, 0x67, 0x56, 0xfe, 0x09, 0x05, 0x88, 0x90, 0xb9, 0x88, 0xbd, 0xc8, 0x32, 0x88, 0x8f, 0x8c, + 0xcd, 0x25, 0xf7, 0x74, 0x64, 0x98, 0x72, 0x62, 0x8b, 0xf5, 0xbe, 0x28, 0xc4, 0xd7, 0x4d, 0xb3, + 0x8d, 0x7e, 0x34, 0x02, 0x93, 0x86, 0xe9, 0xa8, 0x64, 0x07, 0xe3, 0x96, 0xca, 0x53, 0x18, 0x4c, + 0xbf, 0x5f, 0x3d, 0x1c, 0xf7, 0xbe, 0xf5, 0xea, 0xdc, 0x20, 0xa9, 0x61, 0x0f, 0xff, 0x16, 0x0d, + 0xd3, 0xa9, 0x52, 0xa0, 0x0d, 0x96, 0xe5, 0xb8, 0x01, 0xf9, 0x60, 0xff, 0xcc, 0x28, 0x28, 0x87, + 0xee, 0x3f, 0x1f, 0xda, 0x77, 0x6e, 0xcb, 0xd7, 0x31, 0x7b, 0x7e, 0xf3, 0x8f, 0xc9, 0xe2, 0x3e, + 0x0f, 0xd2, 0xd5, 0xfe, 0xfb, 0x72, 0x75, 0x48, 0x1d, 0xf6, 0xea, 0x9d, 0x9f, 0xe3, 0x1c, 0x57, + 0xfe, 0x8b, 0x28, 0x1c, 0x1b, 0x54, 0x2e, 0x2c, 0xd9, 0xbc, 0x8f, 0x2e, 0x8e, 0xcc, 0x95, 0x1d, + 0xff, 0xce, 0xab, 0x73, 0x47, 0x99, 0xfa, 0xeb, 0x87, 0x90, 0x07, 0xd3, 0x65, 0x3d, 0x28, 0x12, + 0x73, 0xef, 0x53, 0x57, 0x07, 0x66, 0xcb, 0x1e, 0xff, 0xce, 0xab, 0x73, 0xc7, 0x39, 0x71, 0x8e, + 0xe6, 0xcf, 0xb4, 0xc9, 0x23, 0x93, 0x69, 0x79, 0xb3, 0xdd, 0xaa, 0xb9, 0x2a, 0x8d, 0x74, 0x6b, + 0xe0, 0x1b, 0x81, 0x6e, 0x63, 0xe3, 0x75, 0x2b, 0xd0, 0xc6, 0xec, 0xd6, 0xc0, 0x37, 0x7c, 0xdd, + 0x7a, 0x67, 0xf6, 0x71, 0xff, 0x99, 0x7d, 0x39, 0x47, 0x4c, 0xef, 0x07, 0xb9, 0xf9, 0x3d, 0xfd, + 0xf9, 0x08, 0x80, 0x97, 0xaa, 0x43, 0x0f, 0xc2, 0xd1, 0xea, 0xda, 0xea, 0xa2, 0xda, 0xd8, 0xa8, + 0x6c, 0x6c, 0x36, 0x82, 0xef, 0xf4, 0x8b, 0xb7, 0x69, 0xec, 0x2e, 0x6e, 0xea, 0xdb, 0x3a, 0x6e, + 0xa1, 0xfb, 0x61, 0x3a, 0x08, 0x4d, 0x4a, 0xf5, 0x45, 0x29, 0x52, 0xca, 0xdd, 0xbc, 0x35, 0x9f, + 0x66, 0x21, 0x0a, 0x6e, 0xa1, 0x93, 0x70, 0xc7, 0x20, 0xdc, 0xd2, 0xea, 0x25, 0x29, 0x5a, 0xca, + 0xdf, 0xbc, 0x35, 0x9f, 0x71, 0x63, 0x19, 0x24, 0x03, 0xf2, 0x43, 0x72, 0x7a, 0xb1, 0x12, 0xdc, + 0xbc, 0x35, 0x9f, 0x64, 0x1b, 0xa2, 0x14, 0x7f, 0xef, 0xc7, 0x67, 0x27, 0x4e, 0xff, 0x30, 0xc0, + 0x92, 0xb1, 0x6d, 0x69, 0xf4, 0x8f, 0x55, 0xa3, 0x12, 0x1c, 0x59, 0x5a, 0xbd, 0xa8, 0x54, 0x6a, + 0x1b, 0x4b, 0x6b, 0xab, 0x7d, 0x7f, 0x5e, 0x20, 0xd8, 0xb6, 0xb8, 0xb6, 0x59, 0x5d, 0xae, 0xab, + 0x8d, 0xa5, 0x4b, 0xab, 0xec, 0xc4, 0x3f, 0xd0, 0xf6, 0xec, 0xea, 0xc6, 0xd2, 0x4a, 0x5d, 0x8a, + 0x56, 0x2f, 0x8e, 0x3c, 0x73, 0x7a, 0xf0, 0xc0, 0xad, 0xe6, 0xd9, 0xa7, 0xc0, 0xc1, 0xd3, 0xff, + 0x0b, 0x00, 0x00, 0xff, 0xff, 0xa9, 0x33, 0x06, 0x5f, 0x44, 0x99, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -2291,6 +2373,12 @@ func (this *Params) Equal(that interface{}) bool { if !this.MinCommissionRate.Equal(that1.MinCommissionRate) { return false } + if this.MaxConsPubKeyRotations != that1.MaxConsPubKeyRotations { + return false + } + if !this.ConsPubkeyRotationFee.Equal(&that1.ConsPubkeyRotationFee) { + return false + } return true } func (this *RedelegationEntryResponse) Equal(that interface{}) bool { @@ -3184,6 +3272,21 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + { + size, err := m.ConsPubkeyRotationFee.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintStaking(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x42 + if m.MaxConsPubKeyRotations != 0 { + i = encodeVarintStaking(dAtA, i, uint64(m.MaxConsPubKeyRotations)) + i-- + dAtA[i] = 0x38 + } { size := m.MinCommissionRate.Size() i -= size @@ -3216,12 +3319,12 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { i-- dAtA[i] = 0x10 } - n12, err12 := github_com_cosmos_gogoproto_types.StdDurationMarshalTo(m.UnbondingTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdDuration(m.UnbondingTime):]) - if err12 != nil { - return 0, err12 + n13, err13 := github_com_cosmos_gogoproto_types.StdDurationMarshalTo(m.UnbondingTime, dAtA[i-github_com_cosmos_gogoproto_types.SizeOfStdDuration(m.UnbondingTime):]) + if err13 != nil { + return 0, err13 } - i -= n12 - i = encodeVarintStaking(dAtA, i, uint64(n12)) + i -= n13 + i = encodeVarintStaking(dAtA, i, uint64(n13)) i-- dAtA[i] = 0xa return len(dAtA) - i, nil @@ -3440,6 +3543,65 @@ func (m *ValidatorUpdates) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *ConsPubKeyRotationHistory) 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 *ConsPubKeyRotationHistory) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ConsPubKeyRotationHistory) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Height != 0 { + i = encodeVarintStaking(dAtA, i, uint64(m.Height)) + i-- + dAtA[i] = 0x20 + } + if m.NewConsPubkey != nil { + { + size, err := m.NewConsPubkey.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintStaking(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + if m.OldConsPubkey != nil { + { + size, err := m.OldConsPubkey.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintStaking(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x12 + } + if len(m.OperatorAddress) > 0 { + i -= len(m.OperatorAddress) + copy(dAtA[i:], m.OperatorAddress) + i = encodeVarintStaking(dAtA, i, uint64(len(m.OperatorAddress))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintStaking(dAtA []byte, offset int, v uint64) int { offset -= sovStaking(v) base := offset @@ -3796,6 +3958,11 @@ func (m *Params) Size() (n int) { } l = m.MinCommissionRate.Size() n += 1 + l + sovStaking(uint64(l)) + if m.MaxConsPubKeyRotations != 0 { + n += 1 + sovStaking(uint64(m.MaxConsPubKeyRotations)) + } + l = m.ConsPubkeyRotationFee.Size() + n += 1 + l + sovStaking(uint64(l)) return n } @@ -3870,6 +4037,30 @@ func (m *ValidatorUpdates) Size() (n int) { return n } +func (m *ConsPubKeyRotationHistory) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.OperatorAddress) + if l > 0 { + n += 1 + l + sovStaking(uint64(l)) + } + if m.OldConsPubkey != nil { + l = m.OldConsPubkey.Size() + n += 1 + l + sovStaking(uint64(l)) + } + if m.NewConsPubkey != nil { + l = m.NewConsPubkey.Size() + n += 1 + l + sovStaking(uint64(l)) + } + if m.Height != 0 { + n += 1 + sovStaking(uint64(m.Height)) + } + return n +} + func sovStaking(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -6530,6 +6721,58 @@ func (m *Params) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MaxConsPubKeyRotations", wireType) + } + m.MaxConsPubKeyRotations = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MaxConsPubKeyRotations |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ConsPubkeyRotationFee", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthStaking + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthStaking + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.ConsPubkeyRotationFee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipStaking(dAtA[iNdEx:]) @@ -7103,6 +7346,179 @@ func (m *ValidatorUpdates) Unmarshal(dAtA []byte) error { } return nil } +func (m *ConsPubKeyRotationHistory) 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 ErrIntOverflowStaking + } + 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: ConsPubKeyRotationHistory: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ConsPubKeyRotationHistory: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OperatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthStaking + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthStaking + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.OperatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field OldConsPubkey", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthStaking + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthStaking + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.OldConsPubkey == nil { + m.OldConsPubkey = &types1.Any{} + } + if err := m.OldConsPubkey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewConsPubkey", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthStaking + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthStaking + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.NewConsPubkey == nil { + m.NewConsPubkey = &types1.Any{} + } + if err := m.NewConsPubkey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Height", wireType) + } + m.Height = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Height |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipStaking(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthStaking + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipStaking(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/x/staking/types/tx.pb.go b/x/staking/types/tx.pb.go index 077153172927..09d4c19898b1 100644 --- a/x/staking/types/tx.pb.go +++ b/x/staking/types/tx.pb.go @@ -649,6 +649,87 @@ func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo +// MsgRotateConsPubKey is the Msg/RotateConsPubKey request type. +// +// Since: cosmos-sdk 0.48 +type MsgRotateConsPubKey struct { + ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"` + NewPubkey *types.Any `protobuf:"bytes,3,opt,name=new_pubkey,json=newPubkey,proto3" json:"new_pubkey,omitempty"` +} + +func (m *MsgRotateConsPubKey) Reset() { *m = MsgRotateConsPubKey{} } +func (m *MsgRotateConsPubKey) String() string { return proto.CompactTextString(m) } +func (*MsgRotateConsPubKey) ProtoMessage() {} +func (*MsgRotateConsPubKey) Descriptor() ([]byte, []int) { + return fileDescriptor_0926ef28816b35ab, []int{14} +} +func (m *MsgRotateConsPubKey) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRotateConsPubKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRotateConsPubKey.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgRotateConsPubKey) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRotateConsPubKey.Merge(m, src) +} +func (m *MsgRotateConsPubKey) XXX_Size() int { + return m.Size() +} +func (m *MsgRotateConsPubKey) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRotateConsPubKey.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRotateConsPubKey proto.InternalMessageInfo + +// MsgRotateConsPubKeyResponse defines the response structure for executing a +// MsgRotateConsPubKey message. +// +// Since: cosmos-sdk 0.48 +type MsgRotateConsPubKeyResponse struct { +} + +func (m *MsgRotateConsPubKeyResponse) Reset() { *m = MsgRotateConsPubKeyResponse{} } +func (m *MsgRotateConsPubKeyResponse) String() string { return proto.CompactTextString(m) } +func (*MsgRotateConsPubKeyResponse) ProtoMessage() {} +func (*MsgRotateConsPubKeyResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_0926ef28816b35ab, []int{15} +} +func (m *MsgRotateConsPubKeyResponse) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *MsgRotateConsPubKeyResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_MsgRotateConsPubKeyResponse.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *MsgRotateConsPubKeyResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgRotateConsPubKeyResponse.Merge(m, src) +} +func (m *MsgRotateConsPubKeyResponse) XXX_Size() int { + return m.Size() +} +func (m *MsgRotateConsPubKeyResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgRotateConsPubKeyResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_MsgRotateConsPubKeyResponse proto.InternalMessageInfo + func init() { proto.RegisterType((*MsgCreateValidator)(nil), "cosmos.staking.v1beta1.MsgCreateValidator") proto.RegisterType((*MsgCreateValidatorResponse)(nil), "cosmos.staking.v1beta1.MsgCreateValidatorResponse") @@ -664,82 +745,88 @@ func init() { proto.RegisterType((*MsgCancelUnbondingDelegationResponse)(nil), "cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse") proto.RegisterType((*MsgUpdateParams)(nil), "cosmos.staking.v1beta1.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "cosmos.staking.v1beta1.MsgUpdateParamsResponse") + proto.RegisterType((*MsgRotateConsPubKey)(nil), "cosmos.staking.v1beta1.MsgRotateConsPubKey") + proto.RegisterType((*MsgRotateConsPubKeyResponse)(nil), "cosmos.staking.v1beta1.MsgRotateConsPubKeyResponse") } func init() { proto.RegisterFile("cosmos/staking/v1beta1/tx.proto", fileDescriptor_0926ef28816b35ab) } var fileDescriptor_0926ef28816b35ab = []byte{ - // 1118 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x56, 0xcf, 0x6f, 0x1b, 0x45, - 0x14, 0xf6, 0xda, 0x89, 0x21, 0x13, 0x12, 0x27, 0x9b, 0xa4, 0xb5, 0x97, 0x62, 0x57, 0xdb, 0xd0, - 0x44, 0x81, 0xac, 0x69, 0x40, 0xfc, 0x30, 0x15, 0x6a, 0x5c, 0xb7, 0x50, 0xc0, 0x52, 0xb4, 0xa1, - 0x1c, 0x10, 0x92, 0x35, 0xde, 0x9d, 0xac, 0x57, 0xf1, 0xee, 0x6c, 0x76, 0xc6, 0x51, 0x7d, 0x43, - 0x70, 0x41, 0x5c, 0xe8, 0x81, 0x03, 0x17, 0xa4, 0x1e, 0xe1, 0x96, 0x43, 0x0f, 0xfc, 0x03, 0x48, - 0x15, 0xa7, 0xaa, 0x27, 0xc4, 0xa1, 0x45, 0xc9, 0x21, 0xfc, 0x07, 0x5c, 0xd1, 0xee, 0xce, 0xfe, - 0xf4, 0xaf, 0x4d, 0xd5, 0x5e, 0x7a, 0x69, 0xdc, 0x99, 0xef, 0x7d, 0x6f, 0xe6, 0xfb, 0xde, 0x9b, - 0x7d, 0xa0, 0xa2, 0x60, 0x62, 0x60, 0x52, 0x25, 0x14, 0xee, 0xeb, 0xa6, 0x56, 0x3d, 0xbc, 0xd2, - 0x46, 0x14, 0x5e, 0xa9, 0xd2, 0x3b, 0x92, 0x65, 0x63, 0x8a, 0xf9, 0x73, 0x1e, 0x40, 0x62, 0x00, - 0x89, 0x01, 0x84, 0x92, 0x86, 0xb1, 0xd6, 0x45, 0x55, 0x17, 0xd5, 0xee, 0xed, 0x55, 0xa1, 0xd9, - 0xf7, 0x42, 0x84, 0x4a, 0x72, 0x8b, 0xea, 0x06, 0x22, 0x14, 0x1a, 0x16, 0x03, 0x2c, 0x6b, 0x58, - 0xc3, 0xee, 0xcf, 0xaa, 0xf3, 0x8b, 0xad, 0x96, 0xbc, 0x4c, 0x2d, 0x6f, 0x83, 0xa5, 0xf5, 0xb6, - 0xca, 0xec, 0x94, 0x6d, 0x48, 0x50, 0x70, 0x44, 0x05, 0xeb, 0x26, 0xdb, 0x5f, 0x1d, 0x71, 0x0b, - 0xff, 0xd0, 0x1e, 0xea, 0x3c, 0x43, 0x19, 0xc4, 0x41, 0x38, 0x7f, 0xd8, 0xc6, 0x22, 0x34, 0x74, - 0x13, 0x57, 0xdd, 0x7f, 0xbd, 0x25, 0xf1, 0xbb, 0x69, 0xc0, 0x37, 0x89, 0x76, 0xdd, 0x46, 0x90, - 0xa2, 0x2f, 0x61, 0x57, 0x57, 0x21, 0xc5, 0x36, 0xbf, 0x03, 0x66, 0x55, 0x44, 0x14, 0x5b, 0xb7, - 0xa8, 0x8e, 0xcd, 0x22, 0x77, 0x91, 0x5b, 0x9f, 0xdd, 0xba, 0x24, 0x0d, 0xd7, 0x48, 0x6a, 0x84, - 0xd0, 0xfa, 0xcc, 0x83, 0xc7, 0x95, 0xcc, 0xaf, 0xa7, 0x47, 0x1b, 0x9c, 0x1c, 0xa5, 0xe0, 0x65, - 0x00, 0x14, 0x6c, 0x18, 0x3a, 0x21, 0x0e, 0x61, 0xd6, 0x25, 0x5c, 0x1b, 0x45, 0x78, 0x3d, 0x40, - 0xca, 0x90, 0x22, 0x12, 0x25, 0x8d, 0xb0, 0xf0, 0x07, 0x60, 0xc9, 0xd0, 0xcd, 0x16, 0x41, 0xdd, - 0xbd, 0x96, 0x8a, 0xba, 0x48, 0x83, 0xee, 0x69, 0x73, 0x17, 0xb9, 0xf5, 0x99, 0xfa, 0xb6, 0x13, - 0xf3, 0xf7, 0xe3, 0xca, 0x65, 0x4d, 0xa7, 0x9d, 0x5e, 0x5b, 0x52, 0xb0, 0xc1, 0xc4, 0x66, 0x7f, - 0x36, 0x89, 0xba, 0x5f, 0xa5, 0x7d, 0x0b, 0x11, 0xe9, 0x96, 0x49, 0x1f, 0xdd, 0xdf, 0x04, 0xec, - 0x34, 0xb7, 0x4c, 0xea, 0xe5, 0x5a, 0x34, 0x74, 0x73, 0x17, 0x75, 0xf7, 0x1a, 0x01, 0x37, 0xff, - 0x31, 0x58, 0x64, 0x99, 0xb0, 0xdd, 0x82, 0xaa, 0x6a, 0x23, 0x42, 0x8a, 0x53, 0x6e, 0x42, 0xe1, - 0xd1, 0xfd, 0xcd, 0x65, 0x46, 0xb1, 0xed, 0xed, 0xec, 0x52, 0x5b, 0x37, 0xb5, 0x22, 0x27, 0x2f, - 0x04, 0x41, 0x6c, 0x87, 0xbf, 0x01, 0x16, 0x0f, 0x7d, 0xb9, 0x03, 0xa2, 0x69, 0x97, 0xa8, 0x38, - 0x8a, 0x48, 0x5e, 0x08, 0x42, 0x7c, 0x9a, 0x9b, 0x20, 0x6f, 0xf5, 0xda, 0xfb, 0xa8, 0x5f, 0xcc, - 0xbb, 0x92, 0x2e, 0x4b, 0x5e, 0x51, 0x4a, 0x7e, 0x51, 0x4a, 0xdb, 0x66, 0xbf, 0x5e, 0xfc, 0x33, - 0x64, 0x54, 0xec, 0xbe, 0x45, 0xb1, 0xb4, 0xd3, 0x6b, 0x7f, 0x86, 0xfa, 0x32, 0x8b, 0xe6, 0x6b, - 0x60, 0xfa, 0x10, 0x76, 0x7b, 0xa8, 0xf8, 0x92, 0x4b, 0x53, 0xf2, 0x9d, 0x71, 0x2a, 0x31, 0x62, - 0x8b, 0x1e, 0x33, 0xd8, 0x0b, 0xa9, 0x5d, 0xfb, 0xfe, 0x5e, 0x25, 0xf3, 0xef, 0xbd, 0x4a, 0xe6, - 0xdb, 0xd3, 0xa3, 0x8d, 0xc1, 0x5b, 0xfd, 0x70, 0x7a, 0xb4, 0xf1, 0x5a, 0x44, 0xf2, 0xc1, 0x72, - 0x13, 0x2f, 0x00, 0x61, 0x70, 0x55, 0x46, 0xc4, 0xc2, 0x26, 0x41, 0xe2, 0xef, 0x39, 0xb0, 0xd0, - 0x24, 0xda, 0x0d, 0x55, 0xa7, 0xcf, 0xb3, 0x42, 0x87, 0x3a, 0x92, 0x3d, 0xb3, 0x23, 0x10, 0x14, - 0xc2, 0x12, 0x6d, 0xd9, 0x90, 0x22, 0x56, 0x90, 0xef, 0xa7, 0x2c, 0xc6, 0x06, 0x52, 0x22, 0xc5, - 0xd8, 0x40, 0x8a, 0x3c, 0xaf, 0xc4, 0xfa, 0x81, 0xef, 0x0c, 0xaf, 0xfb, 0xa9, 0x33, 0xa5, 0x19, - 0xa8, 0xf9, 0x21, 0xe5, 0x5e, 0xfb, 0x68, 0xb2, 0xb5, 0xaf, 0xc6, 0xad, 0x8d, 0xb9, 0x24, 0x0a, - 0xa0, 0x98, 0x5c, 0x0b, 0x6c, 0xfd, 0x29, 0x0b, 0x66, 0x9b, 0x44, 0x63, 0xd9, 0x90, 0xa3, 0xff, - 0x60, 0x6b, 0x71, 0x93, 0xf4, 0x4f, 0xd7, 0x58, 0x67, 0xb7, 0xf1, 0x2a, 0xc8, 0x43, 0x03, 0xf7, - 0x4c, 0xea, 0xba, 0x97, 0xb6, 0x23, 0x58, 0x4c, 0xed, 0x83, 0x98, 0x6e, 0x03, 0xd7, 0x72, 0x74, - 0x3b, 0x17, 0xd7, 0xcd, 0x97, 0x41, 0x5c, 0x01, 0x4b, 0x91, 0xff, 0x06, 0x6a, 0xfd, 0x97, 0x75, - 0x1f, 0xea, 0x3a, 0xd2, 0x74, 0x53, 0x46, 0xea, 0x33, 0x16, 0xed, 0x73, 0xb0, 0x12, 0x8a, 0x46, - 0x6c, 0x25, 0xb5, 0x70, 0x4b, 0x41, 0xd8, 0xae, 0xad, 0x0c, 0x65, 0x53, 0x09, 0x0d, 0xd8, 0x72, - 0xa9, 0xd9, 0x1a, 0x84, 0x0e, 0x3a, 0x31, 0xf5, 0x14, 0x4e, 0x5c, 0x9b, 0xec, 0x44, 0xe2, 0x71, - 0x4a, 0x48, 0x2c, 0x5a, 0xee, 0xe3, 0x94, 0x58, 0xf5, 0x7d, 0xe1, 0x65, 0xb7, 0xdd, 0xad, 0x2e, - 0x72, 0xfa, 0xa5, 0xe5, 0x4c, 0x00, 0xec, 0x2d, 0x12, 0x06, 0x5e, 0xe2, 0x2f, 0xfc, 0xf1, 0xa0, - 0x3e, 0xe7, 0x9c, 0xf3, 0xee, 0x93, 0x0a, 0xe7, 0x9d, 0x75, 0x3e, 0x64, 0x70, 0x30, 0xe2, 0xcf, - 0x59, 0x30, 0xd7, 0x24, 0xda, 0x6d, 0x53, 0x7d, 0x11, 0x7b, 0xe3, 0xc3, 0xc9, 0x8e, 0x14, 0xe3, - 0x8e, 0x84, 0x42, 0x88, 0xbf, 0x71, 0x60, 0x25, 0xb6, 0xf2, 0x3c, 0x8d, 0x88, 0x5c, 0x34, 0x7b, - 0xf6, 0x8b, 0x8a, 0x4f, 0xb2, 0xe0, 0x82, 0xf3, 0x59, 0x83, 0xa6, 0x82, 0xba, 0xb7, 0xcd, 0x36, - 0x36, 0x55, 0xdd, 0xd4, 0x22, 0xc3, 0xc4, 0x0b, 0xe4, 0x2a, 0xbf, 0x06, 0x0a, 0x8a, 0xf3, 0xfd, - 0x76, 0xc4, 0xef, 0x20, 0x5d, 0xeb, 0x78, 0xed, 0x9a, 0x93, 0xe7, 0xfd, 0xe5, 0x4f, 0xdc, 0xd5, - 0xda, 0xa7, 0x93, 0xed, 0x5f, 0x4b, 0x4c, 0x0b, 0xa3, 0x04, 0x14, 0x2f, 0x83, 0xd5, 0x71, 0xfb, - 0xc1, 0xe3, 0xf9, 0x07, 0x07, 0x0a, 0x4e, 0xd5, 0x58, 0x2a, 0xa4, 0x68, 0x07, 0xda, 0xd0, 0x20, - 0xfc, 0xbb, 0x60, 0x06, 0xf6, 0x68, 0x07, 0xdb, 0x3a, 0xed, 0x4f, 0x14, 0x3d, 0x84, 0xf2, 0xdb, - 0x20, 0x6f, 0xb9, 0x0c, 0xac, 0x26, 0xca, 0xa3, 0x66, 0x0e, 0x2f, 0x4f, 0x4c, 0x2b, 0x2f, 0xb0, - 0xf6, 0x9e, 0x73, 0xf5, 0x90, 0xd2, 0xb9, 0xf2, 0x6a, 0xe4, 0xca, 0x77, 0x82, 0xf9, 0x3e, 0x71, - 0x66, 0xb1, 0x04, 0xce, 0x27, 0x96, 0xfc, 0x2b, 0x6e, 0xfd, 0x92, 0x07, 0xb9, 0x26, 0xd1, 0xf8, - 0x03, 0x50, 0x48, 0x0e, 0xf3, 0x1b, 0xa3, 0x4e, 0x38, 0x38, 0x73, 0x09, 0x5b, 0xe9, 0xb1, 0x41, - 0xe7, 0xed, 0x83, 0xb9, 0xf8, 0x6c, 0xb6, 0x3e, 0x86, 0x24, 0x86, 0x14, 0xde, 0x4a, 0x8b, 0x0c, - 0x92, 0x7d, 0x0d, 0x5e, 0x0e, 0x26, 0x86, 0x4b, 0x63, 0xa2, 0x7d, 0x90, 0xf0, 0x46, 0x0a, 0x50, - 0xc0, 0x7e, 0x00, 0x0a, 0xc9, 0x2f, 0xec, 0x38, 0xf5, 0x12, 0xd8, 0xb1, 0xea, 0x8d, 0xfa, 0x80, - 0xb4, 0x01, 0x88, 0x3c, 0xf4, 0xaf, 0x8f, 0x61, 0x08, 0x61, 0xc2, 0x66, 0x2a, 0x58, 0x90, 0xe3, - 0x47, 0x0e, 0x94, 0x46, 0x3f, 0x43, 0xef, 0x8c, 0xf3, 0x7c, 0x54, 0x94, 0x70, 0xf5, 0x69, 0xa2, - 0x82, 0x13, 0x75, 0xc0, 0x2b, 0xb1, 0x6e, 0x5c, 0x1b, 0x77, 0xa1, 0x08, 0x50, 0xa8, 0xa6, 0x04, - 0xfa, 0x99, 0x84, 0xe9, 0x6f, 0x9c, 0xde, 0xab, 0xdf, 0x7c, 0x70, 0x5c, 0xe6, 0x1e, 0x1e, 0x97, - 0xb9, 0x7f, 0x8e, 0xcb, 0xdc, 0xdd, 0x93, 0x72, 0xe6, 0xe1, 0x49, 0x39, 0xf3, 0xd7, 0x49, 0x39, - 0xf3, 0xd5, 0x9b, 0x63, 0x87, 0xe5, 0xb0, 0x19, 0xdd, 0xb1, 0xb9, 0x9d, 0x77, 0xbf, 0x22, 0x6f, - 0xff, 0x1f, 0x00, 0x00, 0xff, 0xff, 0x78, 0x31, 0x24, 0xdd, 0x51, 0x10, 0x00, 0x00, + // 1176 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0xbd, 0x6f, 0xdb, 0xc6, + 0x1b, 0x16, 0x25, 0x5b, 0xbf, 0x9f, 0xcf, 0xf5, 0x17, 0x6d, 0x27, 0x32, 0x93, 0x48, 0x01, 0xe3, + 0xc6, 0x86, 0x5b, 0x53, 0x8d, 0x5b, 0xf4, 0x43, 0x0d, 0x8a, 0x58, 0x56, 0xd2, 0xa6, 0xad, 0x00, + 0x83, 0x6e, 0x3a, 0x14, 0x05, 0x84, 0x13, 0x79, 0xa6, 0x08, 0x8b, 0x77, 0x34, 0xef, 0xe4, 0x44, + 0x5b, 0xd1, 0x2e, 0x45, 0x97, 0x66, 0xe8, 0xd0, 0xa5, 0x40, 0xc6, 0x76, 0xf3, 0x90, 0xa1, 0xff, + 0x40, 0x81, 0xa0, 0x53, 0x90, 0xa9, 0xe8, 0x90, 0x14, 0xf6, 0xe0, 0x4e, 0x5d, 0xbb, 0x16, 0x24, + 0x8f, 0x14, 0x49, 0x7d, 0xda, 0x48, 0x96, 0x2c, 0x96, 0x7c, 0xf7, 0xbc, 0xcf, 0xdd, 0x3d, 0xcf, + 0x7b, 0xef, 0xbd, 0x02, 0x05, 0x8d, 0x50, 0x8b, 0xd0, 0x22, 0x65, 0x70, 0xcf, 0xc4, 0x46, 0xf1, + 0xe0, 0x5a, 0x1d, 0x31, 0x78, 0xad, 0xc8, 0xee, 0x29, 0xb6, 0x43, 0x18, 0x11, 0xcf, 0xf9, 0x00, + 0x85, 0x03, 0x14, 0x0e, 0x90, 0x96, 0x0c, 0x42, 0x8c, 0x26, 0x2a, 0x7a, 0xa8, 0x7a, 0x6b, 0xb7, + 0x08, 0x71, 0xdb, 0x0f, 0x91, 0x0a, 0xc9, 0x29, 0x66, 0x5a, 0x88, 0x32, 0x68, 0xd9, 0x1c, 0xb0, + 0x60, 0x10, 0x83, 0x78, 0x5f, 0x8b, 0xee, 0x37, 0x3e, 0xba, 0xe4, 0xaf, 0x54, 0xf3, 0x27, 0xf8, + 0xb2, 0xfe, 0x54, 0x9e, 0xef, 0xb2, 0x0e, 0x29, 0x0a, 0xb7, 0xa8, 0x11, 0x13, 0xf3, 0xf9, 0xe5, + 0x3e, 0xa7, 0x08, 0x36, 0xed, 0xa3, 0xce, 0x73, 0x94, 0x45, 0x5d, 0x84, 0xfb, 0xc1, 0x27, 0xe6, + 0xa0, 0x65, 0x62, 0x52, 0xf4, 0xfe, 0xfa, 0x43, 0xf2, 0x37, 0xe3, 0x40, 0xac, 0x52, 0x63, 0xcb, + 0x41, 0x90, 0xa1, 0xcf, 0x61, 0xd3, 0xd4, 0x21, 0x23, 0x8e, 0xb8, 0x0d, 0x26, 0x75, 0x44, 0x35, + 0xc7, 0xb4, 0x99, 0x49, 0x70, 0x4e, 0xb8, 0x2c, 0xac, 0x4e, 0x6e, 0x5c, 0x51, 0x7a, 0x6b, 0xa4, + 0x54, 0x3a, 0xd0, 0xf2, 0xc4, 0xa3, 0xa7, 0x85, 0xd4, 0xcf, 0x27, 0x87, 0x6b, 0x82, 0x1a, 0xa5, + 0x10, 0x55, 0x00, 0x34, 0x62, 0x59, 0x26, 0xa5, 0x2e, 0x61, 0xda, 0x23, 0x5c, 0xe9, 0x47, 0xb8, + 0x15, 0x22, 0x55, 0xc8, 0x10, 0x8d, 0x92, 0x46, 0x58, 0xc4, 0x7d, 0x30, 0x6f, 0x99, 0xb8, 0x46, + 0x51, 0x73, 0xb7, 0xa6, 0xa3, 0x26, 0x32, 0xa0, 0xb7, 0xdb, 0xcc, 0x65, 0x61, 0x75, 0xa2, 0xbc, + 0xe9, 0xc6, 0xfc, 0xf9, 0xb4, 0x70, 0xd5, 0x30, 0x59, 0xa3, 0x55, 0x57, 0x34, 0x62, 0x71, 0xb1, + 0xf9, 0xc7, 0x3a, 0xd5, 0xf7, 0x8a, 0xac, 0x6d, 0x23, 0xaa, 0xdc, 0xc6, 0xec, 0xc9, 0xc3, 0x75, + 0xc0, 0x77, 0x73, 0x1b, 0x33, 0x7f, 0xad, 0x39, 0xcb, 0xc4, 0x3b, 0xa8, 0xb9, 0x5b, 0x09, 0xb9, + 0xc5, 0x0f, 0xc1, 0x1c, 0x5f, 0x89, 0x38, 0x35, 0xa8, 0xeb, 0x0e, 0xa2, 0x34, 0x37, 0xe6, 0x2d, + 0x28, 0x3d, 0x79, 0xb8, 0xbe, 0xc0, 0x29, 0x36, 0xfd, 0x99, 0x1d, 0xe6, 0x98, 0xd8, 0xc8, 0x09, + 0xea, 0x6c, 0x18, 0xc4, 0x67, 0xc4, 0x9b, 0x60, 0xee, 0x20, 0x90, 0x3b, 0x24, 0x1a, 0xf7, 0x88, + 0x72, 0xfd, 0x88, 0xd4, 0xd9, 0x30, 0x24, 0xa0, 0xb9, 0x05, 0xb2, 0x76, 0xab, 0xbe, 0x87, 0xda, + 0xb9, 0xac, 0x27, 0xe9, 0x82, 0xe2, 0x27, 0xa5, 0x12, 0x24, 0xa5, 0xb2, 0x89, 0xdb, 0xe5, 0xdc, + 0xef, 0x1d, 0x46, 0xcd, 0x69, 0xdb, 0x8c, 0x28, 0xdb, 0xad, 0xfa, 0x27, 0xa8, 0xad, 0xf2, 0x68, + 0xb1, 0x04, 0xc6, 0x0f, 0x60, 0xb3, 0x85, 0x72, 0xff, 0xf3, 0x68, 0x96, 0x02, 0x67, 0xdc, 0x4c, + 0x8c, 0xd8, 0x62, 0xc6, 0x0c, 0xf6, 0x43, 0x4a, 0x37, 0xbe, 0x7d, 0x50, 0x48, 0xfd, 0xfd, 0xa0, + 0x90, 0xfa, 0xfa, 0xe4, 0x70, 0xad, 0xfb, 0x54, 0xdf, 0x9d, 0x1c, 0xae, 0x5d, 0x8a, 0x48, 0xde, + 0x9d, 0x6e, 0xf2, 0x45, 0x20, 0x75, 0x8f, 0xaa, 0x88, 0xda, 0x04, 0x53, 0x24, 0xff, 0x9a, 0x01, + 0xb3, 0x55, 0x6a, 0xdc, 0xd4, 0x4d, 0xf6, 0x22, 0x33, 0xb4, 0xa7, 0x23, 0xe9, 0x53, 0x3b, 0x02, + 0xc1, 0x4c, 0x27, 0x45, 0x6b, 0x0e, 0x64, 0x88, 0x27, 0xe4, 0xbb, 0x23, 0x26, 0x63, 0x05, 0x69, + 0x91, 0x64, 0xac, 0x20, 0x4d, 0x9d, 0xd6, 0x62, 0xf7, 0x41, 0x6c, 0xf4, 0xce, 0xfb, 0xb1, 0x53, + 0x2d, 0xd3, 0x95, 0xf3, 0x3d, 0xd2, 0xbd, 0xf4, 0xc1, 0x70, 0x6b, 0x2f, 0xc4, 0xad, 0x8d, 0xb9, + 0x24, 0x4b, 0x20, 0x97, 0x1c, 0x0b, 0x6d, 0xfd, 0x21, 0x0d, 0x26, 0xab, 0xd4, 0xe0, 0xab, 0x21, + 0x57, 0xff, 0xee, 0xab, 0x25, 0x0c, 0xd3, 0x7f, 0xb4, 0x8b, 0x75, 0x7a, 0x1b, 0xaf, 0x83, 0x2c, + 0xb4, 0x48, 0x0b, 0x33, 0xcf, 0xbd, 0x51, 0x6f, 0x04, 0x8f, 0x29, 0xbd, 0x17, 0xd3, 0xad, 0xeb, + 0x58, 0xae, 0x6e, 0xe7, 0xe2, 0xba, 0x05, 0x32, 0xc8, 0x8b, 0x60, 0x3e, 0xf2, 0x6f, 0xa8, 0xd6, + 0xbf, 0x69, 0xaf, 0x50, 0x97, 0x91, 0x61, 0x62, 0x15, 0xe9, 0xcf, 0x59, 0xb4, 0x4f, 0xc1, 0x62, + 0x47, 0x34, 0xea, 0x68, 0x23, 0x0b, 0x37, 0x1f, 0x86, 0xed, 0x38, 0x5a, 0x4f, 0x36, 0x9d, 0xb2, + 0x90, 0x2d, 0x33, 0x32, 0x5b, 0x85, 0xb2, 0x6e, 0x27, 0xc6, 0xce, 0xe0, 0xc4, 0x8d, 0xe1, 0x4e, + 0x24, 0x8a, 0x53, 0x42, 0x62, 0xd9, 0xf6, 0x8a, 0x53, 0x62, 0x34, 0xf0, 0x45, 0x54, 0xbd, 0xeb, + 0x6e, 0x37, 0x91, 0x7b, 0x5f, 0x6a, 0x6e, 0x07, 0xc0, 0x6b, 0x91, 0xd4, 0x55, 0x89, 0x3f, 0x0b, + 0xda, 0x83, 0xf2, 0x94, 0xbb, 0xcf, 0xfb, 0xcf, 0x0a, 0x82, 0xbf, 0xd7, 0xe9, 0x0e, 0x83, 0x8b, + 0x91, 0x7f, 0x4c, 0x83, 0xa9, 0x2a, 0x35, 0xee, 0x60, 0xfd, 0x65, 0xbc, 0x1b, 0xef, 0x0f, 0x77, + 0x24, 0x17, 0x77, 0xa4, 0x23, 0x84, 0xfc, 0x8b, 0x00, 0x16, 0x63, 0x23, 0x2f, 0xd2, 0x88, 0xc8, + 0x41, 0xd3, 0xa7, 0x3f, 0xa8, 0xfc, 0x2c, 0x0d, 0x2e, 0xba, 0xcf, 0x1a, 0xc4, 0x1a, 0x6a, 0xde, + 0xc1, 0x75, 0x82, 0x75, 0x13, 0x1b, 0x91, 0x66, 0xe2, 0x25, 0x72, 0x55, 0x5c, 0x01, 0x33, 0x9a, + 0xfb, 0x7e, 0xbb, 0xe2, 0x37, 0x90, 0x69, 0x34, 0xfc, 0xeb, 0x9a, 0x51, 0xa7, 0x83, 0xe1, 0x8f, + 0xbc, 0xd1, 0xd2, 0xc7, 0xc3, 0xed, 0x5f, 0x49, 0x74, 0x0b, 0xfd, 0x04, 0x94, 0xaf, 0x82, 0xe5, + 0x41, 0xf3, 0x61, 0xf1, 0xfc, 0x4d, 0x00, 0x33, 0x6e, 0xd6, 0xd8, 0x3a, 0x64, 0x68, 0x1b, 0x3a, + 0xd0, 0xa2, 0xe2, 0xdb, 0x60, 0x02, 0xb6, 0x58, 0x83, 0x38, 0x26, 0x6b, 0x0f, 0x15, 0xbd, 0x03, + 0x15, 0x37, 0x41, 0xd6, 0xf6, 0x18, 0x78, 0x4e, 0xe4, 0xfb, 0xf5, 0x1c, 0xfe, 0x3a, 0x31, 0xad, + 0xfc, 0xc0, 0xd2, 0x3b, 0xee, 0xd1, 0x3b, 0x94, 0xee, 0x91, 0x97, 0x23, 0x47, 0xbe, 0x17, 0xf6, + 0xf7, 0x89, 0x3d, 0xcb, 0x4b, 0xe0, 0x7c, 0x62, 0x28, 0x3c, 0xe2, 0x3f, 0x82, 0xf7, 0x6e, 0xa8, + 0x84, 0x41, 0x86, 0xb6, 0x08, 0xa6, 0x7e, 0x83, 0xf7, 0xbc, 0x92, 0xa3, 0x0a, 0x00, 0x46, 0x77, + 0x6b, 0xbc, 0xd7, 0xcc, 0x9c, 0xa9, 0xd7, 0x9c, 0xc0, 0xe8, 0xee, 0xb6, 0x47, 0x50, 0xda, 0x1c, + 0xde, 0x57, 0xe4, 0xe3, 0x49, 0x90, 0x3c, 0x98, 0x7c, 0x09, 0x5c, 0xe8, 0x31, 0x1c, 0xe8, 0xb1, + 0xf1, 0x53, 0x16, 0x64, 0xaa, 0xd4, 0x10, 0xf7, 0xc1, 0x4c, 0xf2, 0xc7, 0xcd, 0x5a, 0x3f, 0xc7, + 0xba, 0x7b, 0x50, 0x69, 0x63, 0x74, 0x6c, 0x58, 0x89, 0xf6, 0xc0, 0x54, 0xbc, 0x57, 0x5d, 0x1d, + 0x40, 0x12, 0x43, 0x4a, 0x6f, 0x8c, 0x8a, 0x0c, 0x17, 0xfb, 0x12, 0xfc, 0x3f, 0xec, 0xa0, 0xae, + 0x0c, 0x88, 0x0e, 0x40, 0xd2, 0x6b, 0x23, 0x80, 0x42, 0xf6, 0x7d, 0x30, 0x93, 0xec, 0x38, 0x06, + 0xa9, 0x97, 0xc0, 0x0e, 0x54, 0xaf, 0xdf, 0x83, 0x5a, 0x07, 0x20, 0xf2, 0xf0, 0xbd, 0x3a, 0x80, + 0xa1, 0x03, 0x93, 0xd6, 0x47, 0x82, 0x85, 0x6b, 0x7c, 0x2f, 0x80, 0xa5, 0xfe, 0x65, 0xf9, 0xad, + 0x41, 0x9e, 0xf7, 0x8b, 0x92, 0xae, 0x9f, 0x25, 0x2a, 0xdc, 0x51, 0x03, 0xbc, 0x12, 0xab, 0x4e, + 0x2b, 0x83, 0x0e, 0x14, 0x01, 0x4a, 0xc5, 0x11, 0x81, 0xc1, 0x4a, 0xd2, 0xf8, 0x57, 0x6e, 0x2d, + 0x2a, 0xdf, 0x7a, 0x74, 0x94, 0x17, 0x1e, 0x1f, 0xe5, 0x85, 0xbf, 0x8e, 0xf2, 0xc2, 0xfd, 0xe3, + 0x7c, 0xea, 0xf1, 0x71, 0x3e, 0xf5, 0xc7, 0x71, 0x3e, 0xf5, 0xc5, 0xeb, 0x03, 0x7f, 0x3c, 0x74, + 0x8a, 0x93, 0xf7, 0x33, 0xa2, 0x9e, 0xf5, 0x2e, 0xff, 0x9b, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, + 0x44, 0x6e, 0x59, 0x2d, 0x61, 0x11, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -1648,6 +1735,71 @@ func (m *MsgUpdateParamsResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) return len(dAtA) - i, nil } +func (m *MsgRotateConsPubKey) 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 *MsgRotateConsPubKey) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRotateConsPubKey) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.NewPubkey != nil { + { + size, err := m.NewPubkey.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintTx(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x1a + } + if len(m.ValidatorAddress) > 0 { + i -= len(m.ValidatorAddress) + copy(dAtA[i:], m.ValidatorAddress) + i = encodeVarintTx(dAtA, i, uint64(len(m.ValidatorAddress))) + i-- + dAtA[i] = 0x12 + } + return len(dAtA) - i, nil +} + +func (m *MsgRotateConsPubKeyResponse) 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 *MsgRotateConsPubKeyResponse) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *MsgRotateConsPubKeyResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + return len(dAtA) - i, nil +} + func encodeVarintTx(dAtA []byte, offset int, v uint64) int { offset -= sovTx(v) base := offset @@ -1878,6 +2030,32 @@ func (m *MsgUpdateParamsResponse) Size() (n int) { return n } +func (m *MsgRotateConsPubKey) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.ValidatorAddress) + if l > 0 { + n += 1 + l + sovTx(uint64(l)) + } + if m.NewPubkey != nil { + l = m.NewPubkey.Size() + n += 1 + l + sovTx(uint64(l)) + } + return n +} + +func (m *MsgRotateConsPubKeyResponse) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + return n +} + func sovTx(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -3557,6 +3735,174 @@ func (m *MsgUpdateParamsResponse) Unmarshal(dAtA []byte) error { } return nil } +func (m *MsgRotateConsPubKey) 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 ErrIntOverflowTx + } + 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: MsgRotateConsPubKey: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRotateConsPubKey: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValidatorAddress", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ValidatorAddress = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NewPubkey", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowTx + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthTx + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthTx + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.NewPubkey == nil { + m.NewPubkey = &types.Any{} + } + if err := m.NewPubkey.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *MsgRotateConsPubKeyResponse) 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 ErrIntOverflowTx + } + 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: MsgRotateConsPubKeyResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: MsgRotateConsPubKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + default: + iNdEx = preIndex + skippy, err := skipTx(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthTx + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipTx(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 From f783c0d1568498860064a8ec16a0b9da88c44c1a Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 27 Feb 2023 12:24:04 +0530 Subject: [PATCH 004/106] proto --- proto/cosmos/staking/v1beta1/tx.proto | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/proto/cosmos/staking/v1beta1/tx.proto b/proto/cosmos/staking/v1beta1/tx.proto index bb870cbb276a..df9e787f37fa 100644 --- a/proto/cosmos/staking/v1beta1/tx.proto +++ b/proto/cosmos/staking/v1beta1/tx.proto @@ -45,6 +45,11 @@ service Msg { // parameters. // Since: cosmos-sdk 0.47 rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); + + // RotateConsPubKey defines an operation for rotating the consensus keys + // of a validator. + // Since: cosmos-sdk 0.48 + rpc RotateConsPubKey(MsgRotateConsPubKey) returns (MsgRotateConsPubKeyResponse); } // MsgCreateValidator defines a SDK message for creating a new validator. From 4ecaa6c460484e870bb3afed218b8cbf2cb4f31d Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Mon, 27 Feb 2023 06:57:05 +0000 Subject: [PATCH 005/106] proto-gen --- api/cosmos/staking/v1beta1/tx.pulsar.go | 61 ++++--- api/cosmos/staking/v1beta1/tx_grpc.pb.go | 42 +++++ x/staking/types/tx.pb.go | 193 ++++++++++++++--------- 3 files changed, 195 insertions(+), 101 deletions(-) diff --git a/api/cosmos/staking/v1beta1/tx.pulsar.go b/api/cosmos/staking/v1beta1/tx.pulsar.go index 3d3bd098c76c..6777bc9e6b7b 100644 --- a/api/cosmos/staking/v1beta1/tx.pulsar.go +++ b/api/cosmos/staking/v1beta1/tx.pulsar.go @@ -8930,7 +8930,7 @@ var file_cosmos_staking_v1beta1_tx_proto_rawDesc = []byte{ 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x32, 0x9d, 0x06, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x71, 0x0a, 0x0f, 0x43, 0x72, 0x65, + 0x65, 0x32, 0x93, 0x07, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x71, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, @@ -8979,22 +8979,29 @@ var file_cosmos_staking_v1beta1_tx_proto_rawDesc = []byte{ 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, - 0x01, 0x42, 0xd7, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, - 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x10, 0x52, 0x6f, + 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x2b, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x1a, 0x33, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xd7, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, + 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, + 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -9056,15 +9063,17 @@ var file_cosmos_staking_v1beta1_tx_proto_depIdxs = []int32{ 8, // 18: cosmos.staking.v1beta1.Msg.Undelegate:input_type -> cosmos.staking.v1beta1.MsgUndelegate 10, // 19: cosmos.staking.v1beta1.Msg.CancelUnbondingDelegation:input_type -> cosmos.staking.v1beta1.MsgCancelUnbondingDelegation 12, // 20: cosmos.staking.v1beta1.Msg.UpdateParams:input_type -> cosmos.staking.v1beta1.MsgUpdateParams - 1, // 21: cosmos.staking.v1beta1.Msg.CreateValidator:output_type -> cosmos.staking.v1beta1.MsgCreateValidatorResponse - 3, // 22: cosmos.staking.v1beta1.Msg.EditValidator:output_type -> cosmos.staking.v1beta1.MsgEditValidatorResponse - 5, // 23: cosmos.staking.v1beta1.Msg.Delegate:output_type -> cosmos.staking.v1beta1.MsgDelegateResponse - 7, // 24: cosmos.staking.v1beta1.Msg.BeginRedelegate:output_type -> cosmos.staking.v1beta1.MsgBeginRedelegateResponse - 9, // 25: cosmos.staking.v1beta1.Msg.Undelegate:output_type -> cosmos.staking.v1beta1.MsgUndelegateResponse - 11, // 26: cosmos.staking.v1beta1.Msg.CancelUnbondingDelegation:output_type -> cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse - 13, // 27: cosmos.staking.v1beta1.Msg.UpdateParams:output_type -> cosmos.staking.v1beta1.MsgUpdateParamsResponse - 21, // [21:28] is the sub-list for method output_type - 14, // [14:21] is the sub-list for method input_type + 14, // 21: cosmos.staking.v1beta1.Msg.RotateConsPubKey:input_type -> cosmos.staking.v1beta1.MsgRotateConsPubKey + 1, // 22: cosmos.staking.v1beta1.Msg.CreateValidator:output_type -> cosmos.staking.v1beta1.MsgCreateValidatorResponse + 3, // 23: cosmos.staking.v1beta1.Msg.EditValidator:output_type -> cosmos.staking.v1beta1.MsgEditValidatorResponse + 5, // 24: cosmos.staking.v1beta1.Msg.Delegate:output_type -> cosmos.staking.v1beta1.MsgDelegateResponse + 7, // 25: cosmos.staking.v1beta1.Msg.BeginRedelegate:output_type -> cosmos.staking.v1beta1.MsgBeginRedelegateResponse + 9, // 26: cosmos.staking.v1beta1.Msg.Undelegate:output_type -> cosmos.staking.v1beta1.MsgUndelegateResponse + 11, // 27: cosmos.staking.v1beta1.Msg.CancelUnbondingDelegation:output_type -> cosmos.staking.v1beta1.MsgCancelUnbondingDelegationResponse + 13, // 28: cosmos.staking.v1beta1.Msg.UpdateParams:output_type -> cosmos.staking.v1beta1.MsgUpdateParamsResponse + 15, // 29: cosmos.staking.v1beta1.Msg.RotateConsPubKey:output_type -> cosmos.staking.v1beta1.MsgRotateConsPubKeyResponse + 22, // [22:30] is the sub-list for method output_type + 14, // [14:22] is the sub-list for method input_type 14, // [14:14] is the sub-list for extension type_name 14, // [14:14] is the sub-list for extension extendee 0, // [0:14] is the sub-list for field type_name diff --git a/api/cosmos/staking/v1beta1/tx_grpc.pb.go b/api/cosmos/staking/v1beta1/tx_grpc.pb.go index 60a83c19955b..7c13101d5809 100644 --- a/api/cosmos/staking/v1beta1/tx_grpc.pb.go +++ b/api/cosmos/staking/v1beta1/tx_grpc.pb.go @@ -44,6 +44,10 @@ type MsgClient interface { // parameters. // Since: cosmos-sdk 0.47 UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) + // RotateConsPubKey defines an operation for rotating the consensus keys + // of a validator. + // Since: cosmos-sdk 0.48 + RotateConsPubKey(ctx context.Context, in *MsgRotateConsPubKey, opts ...grpc.CallOption) (*MsgRotateConsPubKeyResponse, error) } type msgClient struct { @@ -117,6 +121,15 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts return out, nil } +func (c *msgClient) RotateConsPubKey(ctx context.Context, in *MsgRotateConsPubKey, opts ...grpc.CallOption) (*MsgRotateConsPubKeyResponse, error) { + out := new(MsgRotateConsPubKeyResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Msg/RotateConsPubKey", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. // All implementations must embed UnimplementedMsgServer // for forward compatibility @@ -143,6 +156,10 @@ type MsgServer interface { // parameters. // Since: cosmos-sdk 0.47 UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + // RotateConsPubKey defines an operation for rotating the consensus keys + // of a validator. + // Since: cosmos-sdk 0.48 + RotateConsPubKey(context.Context, *MsgRotateConsPubKey) (*MsgRotateConsPubKeyResponse, error) mustEmbedUnimplementedMsgServer() } @@ -171,6 +188,9 @@ func (UnimplementedMsgServer) CancelUnbondingDelegation(context.Context, *MsgCan func (UnimplementedMsgServer) UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") } +func (UnimplementedMsgServer) RotateConsPubKey(context.Context, *MsgRotateConsPubKey) (*MsgRotateConsPubKeyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RotateConsPubKey not implemented") +} func (UnimplementedMsgServer) mustEmbedUnimplementedMsgServer() {} // UnsafeMsgServer may be embedded to opt out of forward compatibility for this service. @@ -310,6 +330,24 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +func _Msg_RotateConsPubKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRotateConsPubKey) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).RotateConsPubKey(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Msg/RotateConsPubKey", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).RotateConsPubKey(ctx, req.(*MsgRotateConsPubKey)) + } + return interceptor(ctx, in, info, handler) +} + // Msg_ServiceDesc is the grpc.ServiceDesc for Msg service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -345,6 +383,10 @@ var Msg_ServiceDesc = grpc.ServiceDesc{ MethodName: "UpdateParams", Handler: _Msg_UpdateParams_Handler, }, + { + MethodName: "RotateConsPubKey", + Handler: _Msg_RotateConsPubKey_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cosmos/staking/v1beta1/tx.proto", diff --git a/x/staking/types/tx.pb.go b/x/staking/types/tx.pb.go index 09d4c19898b1..f7b3f25e6850 100644 --- a/x/staking/types/tx.pb.go +++ b/x/staking/types/tx.pb.go @@ -752,81 +752,82 @@ func init() { func init() { proto.RegisterFile("cosmos/staking/v1beta1/tx.proto", fileDescriptor_0926ef28816b35ab) } var fileDescriptor_0926ef28816b35ab = []byte{ - // 1176 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0xbd, 0x6f, 0xdb, 0xc6, - 0x1b, 0x16, 0x25, 0x5b, 0xbf, 0x9f, 0xcf, 0xf5, 0x17, 0x6d, 0x27, 0x32, 0x93, 0x48, 0x01, 0xe3, - 0xc6, 0x86, 0x5b, 0x53, 0x8d, 0x5b, 0xf4, 0x43, 0x0d, 0x8a, 0x58, 0x56, 0xd2, 0xa6, 0xad, 0x00, - 0x83, 0x6e, 0x3a, 0x14, 0x05, 0x84, 0x13, 0x79, 0xa6, 0x08, 0x8b, 0x77, 0x34, 0xef, 0xe4, 0x44, - 0x5b, 0xd1, 0x2e, 0x45, 0x97, 0x66, 0xe8, 0xd0, 0xa5, 0x40, 0xc6, 0x76, 0xf3, 0x90, 0xa1, 0xff, - 0x40, 0x81, 0xa0, 0x53, 0x90, 0xa9, 0xe8, 0x90, 0x14, 0xf6, 0xe0, 0x4e, 0x5d, 0xbb, 0x16, 0x24, - 0x8f, 0x14, 0x49, 0x7d, 0xda, 0x48, 0x96, 0x2c, 0x96, 0x7c, 0xf7, 0xbc, 0xcf, 0xdd, 0x3d, 0xcf, - 0x7b, 0xef, 0xbd, 0x02, 0x05, 0x8d, 0x50, 0x8b, 0xd0, 0x22, 0x65, 0x70, 0xcf, 0xc4, 0x46, 0xf1, - 0xe0, 0x5a, 0x1d, 0x31, 0x78, 0xad, 0xc8, 0xee, 0x29, 0xb6, 0x43, 0x18, 0x11, 0xcf, 0xf9, 0x00, - 0x85, 0x03, 0x14, 0x0e, 0x90, 0x96, 0x0c, 0x42, 0x8c, 0x26, 0x2a, 0x7a, 0xa8, 0x7a, 0x6b, 0xb7, - 0x08, 0x71, 0xdb, 0x0f, 0x91, 0x0a, 0xc9, 0x29, 0x66, 0x5a, 0x88, 0x32, 0x68, 0xd9, 0x1c, 0xb0, - 0x60, 0x10, 0x83, 0x78, 0x5f, 0x8b, 0xee, 0x37, 0x3e, 0xba, 0xe4, 0xaf, 0x54, 0xf3, 0x27, 0xf8, - 0xb2, 0xfe, 0x54, 0x9e, 0xef, 0xb2, 0x0e, 0x29, 0x0a, 0xb7, 0xa8, 0x11, 0x13, 0xf3, 0xf9, 0xe5, - 0x3e, 0xa7, 0x08, 0x36, 0xed, 0xa3, 0xce, 0x73, 0x94, 0x45, 0x5d, 0x84, 0xfb, 0xc1, 0x27, 0xe6, - 0xa0, 0x65, 0x62, 0x52, 0xf4, 0xfe, 0xfa, 0x43, 0xf2, 0x37, 0xe3, 0x40, 0xac, 0x52, 0x63, 0xcb, - 0x41, 0x90, 0xa1, 0xcf, 0x61, 0xd3, 0xd4, 0x21, 0x23, 0x8e, 0xb8, 0x0d, 0x26, 0x75, 0x44, 0x35, - 0xc7, 0xb4, 0x99, 0x49, 0x70, 0x4e, 0xb8, 0x2c, 0xac, 0x4e, 0x6e, 0x5c, 0x51, 0x7a, 0x6b, 0xa4, - 0x54, 0x3a, 0xd0, 0xf2, 0xc4, 0xa3, 0xa7, 0x85, 0xd4, 0xcf, 0x27, 0x87, 0x6b, 0x82, 0x1a, 0xa5, - 0x10, 0x55, 0x00, 0x34, 0x62, 0x59, 0x26, 0xa5, 0x2e, 0x61, 0xda, 0x23, 0x5c, 0xe9, 0x47, 0xb8, - 0x15, 0x22, 0x55, 0xc8, 0x10, 0x8d, 0x92, 0x46, 0x58, 0xc4, 0x7d, 0x30, 0x6f, 0x99, 0xb8, 0x46, - 0x51, 0x73, 0xb7, 0xa6, 0xa3, 0x26, 0x32, 0xa0, 0xb7, 0xdb, 0xcc, 0x65, 0x61, 0x75, 0xa2, 0xbc, - 0xe9, 0xc6, 0xfc, 0xf9, 0xb4, 0x70, 0xd5, 0x30, 0x59, 0xa3, 0x55, 0x57, 0x34, 0x62, 0x71, 0xb1, - 0xf9, 0xc7, 0x3a, 0xd5, 0xf7, 0x8a, 0xac, 0x6d, 0x23, 0xaa, 0xdc, 0xc6, 0xec, 0xc9, 0xc3, 0x75, - 0xc0, 0x77, 0x73, 0x1b, 0x33, 0x7f, 0xad, 0x39, 0xcb, 0xc4, 0x3b, 0xa8, 0xb9, 0x5b, 0x09, 0xb9, - 0xc5, 0x0f, 0xc1, 0x1c, 0x5f, 0x89, 0x38, 0x35, 0xa8, 0xeb, 0x0e, 0xa2, 0x34, 0x37, 0xe6, 0x2d, - 0x28, 0x3d, 0x79, 0xb8, 0xbe, 0xc0, 0x29, 0x36, 0xfd, 0x99, 0x1d, 0xe6, 0x98, 0xd8, 0xc8, 0x09, - 0xea, 0x6c, 0x18, 0xc4, 0x67, 0xc4, 0x9b, 0x60, 0xee, 0x20, 0x90, 0x3b, 0x24, 0x1a, 0xf7, 0x88, - 0x72, 0xfd, 0x88, 0xd4, 0xd9, 0x30, 0x24, 0xa0, 0xb9, 0x05, 0xb2, 0x76, 0xab, 0xbe, 0x87, 0xda, - 0xb9, 0xac, 0x27, 0xe9, 0x82, 0xe2, 0x27, 0xa5, 0x12, 0x24, 0xa5, 0xb2, 0x89, 0xdb, 0xe5, 0xdc, - 0xef, 0x1d, 0x46, 0xcd, 0x69, 0xdb, 0x8c, 0x28, 0xdb, 0xad, 0xfa, 0x27, 0xa8, 0xad, 0xf2, 0x68, - 0xb1, 0x04, 0xc6, 0x0f, 0x60, 0xb3, 0x85, 0x72, 0xff, 0xf3, 0x68, 0x96, 0x02, 0x67, 0xdc, 0x4c, - 0x8c, 0xd8, 0x62, 0xc6, 0x0c, 0xf6, 0x43, 0x4a, 0x37, 0xbe, 0x7d, 0x50, 0x48, 0xfd, 0xfd, 0xa0, - 0x90, 0xfa, 0xfa, 0xe4, 0x70, 0xad, 0xfb, 0x54, 0xdf, 0x9d, 0x1c, 0xae, 0x5d, 0x8a, 0x48, 0xde, - 0x9d, 0x6e, 0xf2, 0x45, 0x20, 0x75, 0x8f, 0xaa, 0x88, 0xda, 0x04, 0x53, 0x24, 0xff, 0x9a, 0x01, - 0xb3, 0x55, 0x6a, 0xdc, 0xd4, 0x4d, 0xf6, 0x22, 0x33, 0xb4, 0xa7, 0x23, 0xe9, 0x53, 0x3b, 0x02, - 0xc1, 0x4c, 0x27, 0x45, 0x6b, 0x0e, 0x64, 0x88, 0x27, 0xe4, 0xbb, 0x23, 0x26, 0x63, 0x05, 0x69, - 0x91, 0x64, 0xac, 0x20, 0x4d, 0x9d, 0xd6, 0x62, 0xf7, 0x41, 0x6c, 0xf4, 0xce, 0xfb, 0xb1, 0x53, - 0x2d, 0xd3, 0x95, 0xf3, 0x3d, 0xd2, 0xbd, 0xf4, 0xc1, 0x70, 0x6b, 0x2f, 0xc4, 0xad, 0x8d, 0xb9, - 0x24, 0x4b, 0x20, 0x97, 0x1c, 0x0b, 0x6d, 0xfd, 0x21, 0x0d, 0x26, 0xab, 0xd4, 0xe0, 0xab, 0x21, - 0x57, 0xff, 0xee, 0xab, 0x25, 0x0c, 0xd3, 0x7f, 0xb4, 0x8b, 0x75, 0x7a, 0x1b, 0xaf, 0x83, 0x2c, - 0xb4, 0x48, 0x0b, 0x33, 0xcf, 0xbd, 0x51, 0x6f, 0x04, 0x8f, 0x29, 0xbd, 0x17, 0xd3, 0xad, 0xeb, - 0x58, 0xae, 0x6e, 0xe7, 0xe2, 0xba, 0x05, 0x32, 0xc8, 0x8b, 0x60, 0x3e, 0xf2, 0x6f, 0xa8, 0xd6, - 0xbf, 0x69, 0xaf, 0x50, 0x97, 0x91, 0x61, 0x62, 0x15, 0xe9, 0xcf, 0x59, 0xb4, 0x4f, 0xc1, 0x62, - 0x47, 0x34, 0xea, 0x68, 0x23, 0x0b, 0x37, 0x1f, 0x86, 0xed, 0x38, 0x5a, 0x4f, 0x36, 0x9d, 0xb2, - 0x90, 0x2d, 0x33, 0x32, 0x5b, 0x85, 0xb2, 0x6e, 0x27, 0xc6, 0xce, 0xe0, 0xc4, 0x8d, 0xe1, 0x4e, - 0x24, 0x8a, 0x53, 0x42, 0x62, 0xd9, 0xf6, 0x8a, 0x53, 0x62, 0x34, 0xf0, 0x45, 0x54, 0xbd, 0xeb, - 0x6e, 0x37, 0x91, 0x7b, 0x5f, 0x6a, 0x6e, 0x07, 0xc0, 0x6b, 0x91, 0xd4, 0x55, 0x89, 0x3f, 0x0b, - 0xda, 0x83, 0xf2, 0x94, 0xbb, 0xcf, 0xfb, 0xcf, 0x0a, 0x82, 0xbf, 0xd7, 0xe9, 0x0e, 0x83, 0x8b, - 0x91, 0x7f, 0x4c, 0x83, 0xa9, 0x2a, 0x35, 0xee, 0x60, 0xfd, 0x65, 0xbc, 0x1b, 0xef, 0x0f, 0x77, - 0x24, 0x17, 0x77, 0xa4, 0x23, 0x84, 0xfc, 0x8b, 0x00, 0x16, 0x63, 0x23, 0x2f, 0xd2, 0x88, 0xc8, - 0x41, 0xd3, 0xa7, 0x3f, 0xa8, 0xfc, 0x2c, 0x0d, 0x2e, 0xba, 0xcf, 0x1a, 0xc4, 0x1a, 0x6a, 0xde, - 0xc1, 0x75, 0x82, 0x75, 0x13, 0x1b, 0x91, 0x66, 0xe2, 0x25, 0x72, 0x55, 0x5c, 0x01, 0x33, 0x9a, - 0xfb, 0x7e, 0xbb, 0xe2, 0x37, 0x90, 0x69, 0x34, 0xfc, 0xeb, 0x9a, 0x51, 0xa7, 0x83, 0xe1, 0x8f, - 0xbc, 0xd1, 0xd2, 0xc7, 0xc3, 0xed, 0x5f, 0x49, 0x74, 0x0b, 0xfd, 0x04, 0x94, 0xaf, 0x82, 0xe5, - 0x41, 0xf3, 0x61, 0xf1, 0xfc, 0x4d, 0x00, 0x33, 0x6e, 0xd6, 0xd8, 0x3a, 0x64, 0x68, 0x1b, 0x3a, - 0xd0, 0xa2, 0xe2, 0xdb, 0x60, 0x02, 0xb6, 0x58, 0x83, 0x38, 0x26, 0x6b, 0x0f, 0x15, 0xbd, 0x03, - 0x15, 0x37, 0x41, 0xd6, 0xf6, 0x18, 0x78, 0x4e, 0xe4, 0xfb, 0xf5, 0x1c, 0xfe, 0x3a, 0x31, 0xad, - 0xfc, 0xc0, 0xd2, 0x3b, 0xee, 0xd1, 0x3b, 0x94, 0xee, 0x91, 0x97, 0x23, 0x47, 0xbe, 0x17, 0xf6, - 0xf7, 0x89, 0x3d, 0xcb, 0x4b, 0xe0, 0x7c, 0x62, 0x28, 0x3c, 0xe2, 0x3f, 0x82, 0xf7, 0x6e, 0xa8, - 0x84, 0x41, 0x86, 0xb6, 0x08, 0xa6, 0x7e, 0x83, 0xf7, 0xbc, 0x92, 0xa3, 0x0a, 0x00, 0x46, 0x77, - 0x6b, 0xbc, 0xd7, 0xcc, 0x9c, 0xa9, 0xd7, 0x9c, 0xc0, 0xe8, 0xee, 0xb6, 0x47, 0x50, 0xda, 0x1c, - 0xde, 0x57, 0xe4, 0xe3, 0x49, 0x90, 0x3c, 0x98, 0x7c, 0x09, 0x5c, 0xe8, 0x31, 0x1c, 0xe8, 0xb1, - 0xf1, 0x53, 0x16, 0x64, 0xaa, 0xd4, 0x10, 0xf7, 0xc1, 0x4c, 0xf2, 0xc7, 0xcd, 0x5a, 0x3f, 0xc7, - 0xba, 0x7b, 0x50, 0x69, 0x63, 0x74, 0x6c, 0x58, 0x89, 0xf6, 0xc0, 0x54, 0xbc, 0x57, 0x5d, 0x1d, - 0x40, 0x12, 0x43, 0x4a, 0x6f, 0x8c, 0x8a, 0x0c, 0x17, 0xfb, 0x12, 0xfc, 0x3f, 0xec, 0xa0, 0xae, - 0x0c, 0x88, 0x0e, 0x40, 0xd2, 0x6b, 0x23, 0x80, 0x42, 0xf6, 0x7d, 0x30, 0x93, 0xec, 0x38, 0x06, - 0xa9, 0x97, 0xc0, 0x0e, 0x54, 0xaf, 0xdf, 0x83, 0x5a, 0x07, 0x20, 0xf2, 0xf0, 0xbd, 0x3a, 0x80, - 0xa1, 0x03, 0x93, 0xd6, 0x47, 0x82, 0x85, 0x6b, 0x7c, 0x2f, 0x80, 0xa5, 0xfe, 0x65, 0xf9, 0xad, - 0x41, 0x9e, 0xf7, 0x8b, 0x92, 0xae, 0x9f, 0x25, 0x2a, 0xdc, 0x51, 0x03, 0xbc, 0x12, 0xab, 0x4e, - 0x2b, 0x83, 0x0e, 0x14, 0x01, 0x4a, 0xc5, 0x11, 0x81, 0xc1, 0x4a, 0xd2, 0xf8, 0x57, 0x6e, 0x2d, - 0x2a, 0xdf, 0x7a, 0x74, 0x94, 0x17, 0x1e, 0x1f, 0xe5, 0x85, 0xbf, 0x8e, 0xf2, 0xc2, 0xfd, 0xe3, - 0x7c, 0xea, 0xf1, 0x71, 0x3e, 0xf5, 0xc7, 0x71, 0x3e, 0xf5, 0xc5, 0xeb, 0x03, 0x7f, 0x3c, 0x74, - 0x8a, 0x93, 0xf7, 0x33, 0xa2, 0x9e, 0xf5, 0x2e, 0xff, 0x9b, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, - 0x44, 0x6e, 0x59, 0x2d, 0x61, 0x11, 0x00, 0x00, + // 1189 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0xbd, 0x6f, 0xdb, 0x46, + 0x14, 0x17, 0x25, 0xdb, 0xa9, 0xcf, 0xf5, 0x17, 0x6d, 0x27, 0x32, 0x93, 0x48, 0x01, 0xe3, 0xc6, + 0x86, 0x5b, 0x53, 0x8d, 0x53, 0xf4, 0x43, 0x0d, 0x8a, 0x58, 0x76, 0xd2, 0xa6, 0xad, 0x00, 0x83, + 0x6e, 0x3a, 0x14, 0x05, 0x84, 0x13, 0x79, 0xa6, 0x08, 0x8b, 0x77, 0x34, 0xef, 0xe4, 0x44, 0x5b, + 0xd1, 0x2e, 0x45, 0x97, 0x06, 0x68, 0x87, 0x8e, 0x19, 0xdb, 0xcd, 0x43, 0x86, 0xfe, 0x03, 0x05, + 0x82, 0x4e, 0x41, 0xa6, 0xa2, 0x43, 0x52, 0xd8, 0x83, 0x3b, 0x75, 0xed, 0x1a, 0x90, 0x3c, 0x52, + 0x24, 0xf5, 0x6d, 0x24, 0x4b, 0x16, 0x4b, 0xbe, 0xfb, 0xbd, 0xdf, 0xbb, 0xf7, 0x7b, 0xef, 0xde, + 0x3d, 0x81, 0xbc, 0x46, 0xa8, 0x45, 0x68, 0x81, 0x32, 0xb8, 0x67, 0x62, 0xa3, 0x70, 0x70, 0xb5, + 0x8a, 0x18, 0xbc, 0x5a, 0x60, 0xf7, 0x14, 0xdb, 0x21, 0x8c, 0x88, 0x67, 0x7d, 0x80, 0xc2, 0x01, + 0x0a, 0x07, 0x48, 0x8b, 0x06, 0x21, 0x46, 0x1d, 0x15, 0x3c, 0x54, 0xb5, 0xb1, 0x5b, 0x80, 0xb8, + 0xe9, 0x9b, 0x48, 0xf9, 0xe4, 0x16, 0x33, 0x2d, 0x44, 0x19, 0xb4, 0x6c, 0x0e, 0x98, 0x37, 0x88, + 0x41, 0xbc, 0xaf, 0x05, 0xf7, 0x1b, 0x5f, 0x5d, 0xf4, 0x3d, 0x55, 0xfc, 0x0d, 0xee, 0xd6, 0xdf, + 0xca, 0xf1, 0x53, 0x56, 0x21, 0x45, 0xe1, 0x11, 0x35, 0x62, 0x62, 0xbe, 0xbf, 0xd4, 0x25, 0x8a, + 0xe0, 0xd0, 0x3e, 0xea, 0x1c, 0x47, 0x59, 0xd4, 0x45, 0xb8, 0x1f, 0x7c, 0x63, 0x16, 0x5a, 0x26, + 0x26, 0x05, 0xef, 0xaf, 0xbf, 0x24, 0x7f, 0x37, 0x0a, 0xc4, 0x32, 0x35, 0x36, 0x1d, 0x04, 0x19, + 0xfa, 0x12, 0xd6, 0x4d, 0x1d, 0x32, 0xe2, 0x88, 0xdb, 0x60, 0x42, 0x47, 0x54, 0x73, 0x4c, 0x9b, + 0x99, 0x04, 0x67, 0x85, 0x4b, 0xc2, 0xca, 0xc4, 0xfa, 0x65, 0xa5, 0xb3, 0x46, 0xca, 0x56, 0x0b, + 0x5a, 0x1a, 0x7f, 0xf4, 0x34, 0x9f, 0xfa, 0xf5, 0xe4, 0x70, 0x55, 0x50, 0xa3, 0x14, 0xa2, 0x0a, + 0x80, 0x46, 0x2c, 0xcb, 0xa4, 0xd4, 0x25, 0x4c, 0x7b, 0x84, 0xcb, 0xdd, 0x08, 0x37, 0x43, 0xa4, + 0x0a, 0x19, 0xa2, 0x51, 0xd2, 0x08, 0x8b, 0xb8, 0x0f, 0xe6, 0x2c, 0x13, 0x57, 0x28, 0xaa, 0xef, + 0x56, 0x74, 0x54, 0x47, 0x06, 0xf4, 0x4e, 0x9b, 0xb9, 0x24, 0xac, 0x8c, 0x97, 0x36, 0x5c, 0x9b, + 0xbf, 0x9f, 0xe6, 0xaf, 0x18, 0x26, 0xab, 0x35, 0xaa, 0x8a, 0x46, 0x2c, 0x2e, 0x36, 0xff, 0x58, + 0xa3, 0xfa, 0x5e, 0x81, 0x35, 0x6d, 0x44, 0x95, 0xdb, 0x98, 0x3d, 0x79, 0xb8, 0x06, 0xf8, 0x69, + 0x6e, 0x63, 0xe6, 0xfb, 0x9a, 0xb5, 0x4c, 0xbc, 0x83, 0xea, 0xbb, 0x5b, 0x21, 0xb7, 0xf8, 0x31, + 0x98, 0xe5, 0x9e, 0x88, 0x53, 0x81, 0xba, 0xee, 0x20, 0x4a, 0xb3, 0x23, 0x9e, 0x43, 0xe9, 0xc9, + 0xc3, 0xb5, 0x79, 0x4e, 0xb1, 0xe1, 0xef, 0xec, 0x30, 0xc7, 0xc4, 0x46, 0x56, 0x50, 0x67, 0x42, + 0x23, 0xbe, 0x23, 0xde, 0x04, 0xb3, 0x07, 0x81, 0xdc, 0x21, 0xd1, 0xa8, 0x47, 0x94, 0xed, 0x46, + 0xa4, 0xce, 0x84, 0x26, 0x01, 0xcd, 0x2d, 0x30, 0x66, 0x37, 0xaa, 0x7b, 0xa8, 0x99, 0x1d, 0xf3, + 0x24, 0x9d, 0x57, 0xfc, 0xa2, 0x54, 0x82, 0xa2, 0x54, 0x36, 0x70, 0xb3, 0x94, 0xfd, 0xb3, 0xc5, + 0xa8, 0x39, 0x4d, 0x9b, 0x11, 0x65, 0xbb, 0x51, 0xfd, 0x0c, 0x35, 0x55, 0x6e, 0x2d, 0x16, 0xc1, + 0xe8, 0x01, 0xac, 0x37, 0x50, 0xf6, 0x8c, 0x47, 0xb3, 0x18, 0x64, 0xc6, 0xad, 0xc4, 0x48, 0x5a, + 0xcc, 0x58, 0x82, 0x7d, 0x93, 0xe2, 0x8d, 0xef, 0x1f, 0xe4, 0x53, 0xff, 0x3e, 0xc8, 0xa7, 0xbe, + 0x3d, 0x39, 0x5c, 0x6d, 0x8f, 0xea, 0x87, 0x93, 0xc3, 0xd5, 0x8b, 0x11, 0xc9, 0xdb, 0xcb, 0x4d, + 0xbe, 0x00, 0xa4, 0xf6, 0x55, 0x15, 0x51, 0x9b, 0x60, 0x8a, 0xe4, 0xdf, 0x33, 0x60, 0xa6, 0x4c, + 0x8d, 0x9b, 0xba, 0xc9, 0x5e, 0x66, 0x85, 0x76, 0xcc, 0x48, 0x7a, 0xe8, 0x8c, 0x40, 0x30, 0xdd, + 0x2a, 0xd1, 0x8a, 0x03, 0x19, 0xe2, 0x05, 0xf9, 0xfe, 0x80, 0xc5, 0xb8, 0x85, 0xb4, 0x48, 0x31, + 0x6e, 0x21, 0x4d, 0x9d, 0xd2, 0x62, 0xf7, 0x41, 0xac, 0x75, 0xae, 0xfb, 0x91, 0xa1, 0xdc, 0xb4, + 0xd5, 0x7c, 0x87, 0x72, 0x2f, 0x7e, 0xd4, 0x3f, 0xb5, 0xe7, 0xe3, 0xa9, 0x8d, 0x65, 0x49, 0x96, + 0x40, 0x36, 0xb9, 0x16, 0xa6, 0xf5, 0xe7, 0x34, 0x98, 0x28, 0x53, 0x83, 0x7b, 0x43, 0xae, 0xfe, + 0xed, 0x57, 0x4b, 0xe8, 0xa7, 0xff, 0x60, 0x17, 0x6b, 0xf8, 0x34, 0x5e, 0x07, 0x63, 0xd0, 0x22, + 0x0d, 0xcc, 0xbc, 0xec, 0x0d, 0x7a, 0x23, 0xb8, 0x4d, 0xf1, 0x83, 0x98, 0x6e, 0x6d, 0x61, 0xb9, + 0xba, 0x9d, 0x8d, 0xeb, 0x16, 0xc8, 0x20, 0x2f, 0x80, 0xb9, 0xc8, 0xbf, 0xa1, 0x5a, 0xff, 0xa7, + 0xbd, 0x46, 0x5d, 0x42, 0x86, 0x89, 0x55, 0xa4, 0xbf, 0x60, 0xd1, 0x3e, 0x07, 0x0b, 0x2d, 0xd1, + 0xa8, 0xa3, 0x0d, 0x2c, 0xdc, 0x5c, 0x68, 0xb6, 0xe3, 0x68, 0x1d, 0xd9, 0x74, 0xca, 0x42, 0xb6, + 0xcc, 0xc0, 0x6c, 0x5b, 0x94, 0xb5, 0x67, 0x62, 0xe4, 0x14, 0x99, 0xb8, 0xd1, 0x3f, 0x13, 0x89, + 0xe6, 0x94, 0x90, 0x58, 0xb6, 0xbd, 0xe6, 0x94, 0x58, 0x0d, 0xf2, 0x22, 0xaa, 0xde, 0x75, 0xb7, + 0xeb, 0xc8, 0xbd, 0x2f, 0x15, 0x77, 0x02, 0xe0, 0xbd, 0x48, 0x6a, 0xeb, 0xc4, 0x5f, 0x04, 0xe3, + 0x41, 0x69, 0xd2, 0x3d, 0xe7, 0xfd, 0x67, 0x79, 0xc1, 0x3f, 0xeb, 0x54, 0x8b, 0xc1, 0xc5, 0xc8, + 0xbf, 0xa4, 0xc1, 0x64, 0x99, 0x1a, 0x77, 0xb0, 0xfe, 0x2a, 0xde, 0x8d, 0x0f, 0xfb, 0x67, 0x24, + 0x1b, 0xcf, 0x48, 0x4b, 0x08, 0xf9, 0x37, 0x01, 0x2c, 0xc4, 0x56, 0x5e, 0x66, 0x22, 0x22, 0x81, + 0xa6, 0x87, 0x0f, 0x54, 0x7e, 0x96, 0x06, 0x17, 0xdc, 0x67, 0x0d, 0x62, 0x0d, 0xd5, 0xef, 0xe0, + 0x2a, 0xc1, 0xba, 0x89, 0x8d, 0xc8, 0x30, 0xf1, 0x0a, 0x65, 0x55, 0x5c, 0x06, 0xd3, 0x9a, 0xfb, + 0x7e, 0xbb, 0xe2, 0xd7, 0x90, 0x69, 0xd4, 0xfc, 0xeb, 0x9a, 0x51, 0xa7, 0x82, 0xe5, 0x4f, 0xbc, + 0xd5, 0xe2, 0xa7, 0xfd, 0xd3, 0xbf, 0x9c, 0x98, 0x16, 0xba, 0x09, 0x28, 0x5f, 0x01, 0x4b, 0xbd, + 0xf6, 0xc3, 0xe6, 0xf9, 0x87, 0x00, 0xa6, 0xdd, 0xaa, 0xb1, 0x75, 0xc8, 0xd0, 0x36, 0x74, 0xa0, + 0x45, 0xc5, 0x77, 0xc1, 0x38, 0x6c, 0xb0, 0x1a, 0x71, 0x4c, 0xd6, 0xec, 0x2b, 0x7a, 0x0b, 0x2a, + 0x6e, 0x80, 0x31, 0xdb, 0x63, 0xe0, 0x35, 0x91, 0xeb, 0x36, 0x73, 0xf8, 0x7e, 0x62, 0x5a, 0xf9, + 0x86, 0xc5, 0xf7, 0xdc, 0xd0, 0x5b, 0x94, 0x6e, 0xc8, 0x4b, 0x91, 0x90, 0xef, 0x85, 0xf3, 0x7d, + 0xe2, 0xcc, 0xf2, 0x22, 0x38, 0x97, 0x58, 0x0a, 0x43, 0xfc, 0x4f, 0xf0, 0xde, 0x0d, 0x95, 0x30, + 0xc8, 0xd0, 0x26, 0xc1, 0xd4, 0x1f, 0xf0, 0x5e, 0x54, 0x71, 0x94, 0x01, 0xc0, 0xe8, 0x6e, 0x85, + 0xcf, 0x9a, 0x99, 0x53, 0xcd, 0x9a, 0xe3, 0x18, 0xdd, 0xdd, 0xf6, 0x08, 0x8a, 0x1b, 0xfd, 0xe7, + 0x8a, 0x5c, 0xbc, 0x08, 0x92, 0x81, 0xc9, 0x17, 0xc1, 0xf9, 0x0e, 0xcb, 0x81, 0x1e, 0xeb, 0x3f, + 0x9d, 0x01, 0x99, 0x32, 0x35, 0xc4, 0x7d, 0x30, 0x9d, 0xfc, 0x71, 0xb3, 0xda, 0x2d, 0x63, 0xed, + 0x33, 0xa8, 0xb4, 0x3e, 0x38, 0x36, 0xec, 0x44, 0x7b, 0x60, 0x32, 0x3e, 0xab, 0xae, 0xf4, 0x20, + 0x89, 0x21, 0xa5, 0xb7, 0x07, 0x45, 0x86, 0xce, 0xbe, 0x06, 0xaf, 0x85, 0x13, 0xd4, 0xe5, 0x1e, + 0xd6, 0x01, 0x48, 0x7a, 0x73, 0x00, 0x50, 0xc8, 0xbe, 0x0f, 0xa6, 0x93, 0x13, 0x47, 0x2f, 0xf5, + 0x12, 0xd8, 0x9e, 0xea, 0x75, 0x7b, 0x50, 0xab, 0x00, 0x44, 0x1e, 0xbe, 0x37, 0x7a, 0x30, 0xb4, + 0x60, 0xd2, 0xda, 0x40, 0xb0, 0xd0, 0xc7, 0x8f, 0x02, 0x58, 0xec, 0xde, 0x96, 0xdf, 0xe9, 0x95, + 0xf3, 0x6e, 0x56, 0xd2, 0xf5, 0xd3, 0x58, 0x85, 0x27, 0xaa, 0x81, 0xd7, 0x63, 0xdd, 0x69, 0xb9, + 0x57, 0x40, 0x11, 0xa0, 0x54, 0x18, 0x10, 0x18, 0x7a, 0x62, 0x60, 0xa6, 0xad, 0x49, 0xf4, 0xaa, + 0x89, 0x24, 0x58, 0xba, 0x36, 0x04, 0x38, 0xf0, 0x2a, 0x8d, 0x7e, 0xe3, 0x76, 0xc0, 0xd2, 0xad, + 0x47, 0x47, 0x39, 0xe1, 0xf1, 0x51, 0x4e, 0xf8, 0xe7, 0x28, 0x27, 0xdc, 0x3f, 0xce, 0xa5, 0x1e, + 0x1f, 0xe7, 0x52, 0x7f, 0x1d, 0xe7, 0x52, 0x5f, 0xbd, 0xd5, 0xf3, 0x27, 0x4b, 0xab, 0x25, 0x7a, + 0x3f, 0x5e, 0xaa, 0x63, 0x5e, 0xcb, 0xb9, 0xf6, 0x3c, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x2f, 0xd3, + 0xd4, 0xd7, 0x11, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -863,6 +864,10 @@ type MsgClient interface { // parameters. // Since: cosmos-sdk 0.47 UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) + // RotateConsPubKey defines an operation for rotating the consensus keys + // of a validator. + // Since: cosmos-sdk 0.48 + RotateConsPubKey(ctx context.Context, in *MsgRotateConsPubKey, opts ...grpc.CallOption) (*MsgRotateConsPubKeyResponse, error) } type msgClient struct { @@ -936,6 +941,15 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts return out, nil } +func (c *msgClient) RotateConsPubKey(ctx context.Context, in *MsgRotateConsPubKey, opts ...grpc.CallOption) (*MsgRotateConsPubKeyResponse, error) { + out := new(MsgRotateConsPubKeyResponse) + err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Msg/RotateConsPubKey", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // MsgServer is the server API for Msg service. type MsgServer interface { // CreateValidator defines a method for creating a new validator. @@ -960,6 +974,10 @@ type MsgServer interface { // parameters. // Since: cosmos-sdk 0.47 UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) + // RotateConsPubKey defines an operation for rotating the consensus keys + // of a validator. + // Since: cosmos-sdk 0.48 + RotateConsPubKey(context.Context, *MsgRotateConsPubKey) (*MsgRotateConsPubKeyResponse, error) } // UnimplementedMsgServer can be embedded to have forward compatible implementations. @@ -987,6 +1005,9 @@ func (*UnimplementedMsgServer) CancelUnbondingDelegation(ctx context.Context, re func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") } +func (*UnimplementedMsgServer) RotateConsPubKey(ctx context.Context, req *MsgRotateConsPubKey) (*MsgRotateConsPubKeyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RotateConsPubKey not implemented") +} func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) @@ -1118,6 +1139,24 @@ func _Msg_UpdateParams_Handler(srv interface{}, ctx context.Context, dec func(in return interceptor(ctx, in, info, handler) } +func _Msg_RotateConsPubKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgRotateConsPubKey) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).RotateConsPubKey(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/cosmos.staking.v1beta1.Msg/RotateConsPubKey", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).RotateConsPubKey(ctx, req.(*MsgRotateConsPubKey)) + } + return interceptor(ctx, in, info, handler) +} + var _Msg_serviceDesc = grpc.ServiceDesc{ ServiceName: "cosmos.staking.v1beta1.Msg", HandlerType: (*MsgServer)(nil), @@ -1150,6 +1189,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "UpdateParams", Handler: _Msg_UpdateParams_Handler, }, + { + MethodName: "RotateConsPubKey", + Handler: _Msg_RotateConsPubKey_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "cosmos/staking/v1beta1/tx.proto", From e14d855a1231789eae0582691188f6757ae0a119 Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 27 Feb 2023 14:41:30 +0530 Subject: [PATCH 006/106] proto --- proto/cosmos/staking/v1beta1/staking.proto | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/proto/cosmos/staking/v1beta1/staking.proto b/proto/cosmos/staking/v1beta1/staking.proto index 022c393b1ea2..f28ffb9c9b22 100644 --- a/proto/cosmos/staking/v1beta1/staking.proto +++ b/proto/cosmos/staking/v1beta1/staking.proto @@ -320,8 +320,8 @@ message Params { (amino.dont_omitempty) = true, (cosmos_proto.scalar) = "cosmos.Dec" ]; - // max_cons_pub_key_rotations is maximum number of consensus pubkey rotations - uint64 max_cons_pub_key_rotations = 7; + // max_cons_pubkey_rotations is maximum number of consensus pubkey rotations + uint64 max_cons_pubkey_rotations = 7; // cons_pubkey_rotation_fee is fee to be spent when rotating validator's consensus pubkey cosmos.base.v1beta1.Coin cons_pubkey_rotation_fee = 8 [(gogoproto.nullable) = false]; } From 4ee377073aad9298280c906297f4336df3610599 Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Mon, 27 Feb 2023 09:17:55 +0000 Subject: [PATCH 007/106] make proto-gen --- api/cosmos/staking/v1beta1/staking.pulsar.go | 324 ++-- x/staking/types/staking.pb.go | 1628 +++++++++--------- 2 files changed, 976 insertions(+), 976 deletions(-) diff --git a/api/cosmos/staking/v1beta1/staking.pulsar.go b/api/cosmos/staking/v1beta1/staking.pulsar.go index b0942efa316a..1cef9379c1e6 100644 --- a/api/cosmos/staking/v1beta1/staking.pulsar.go +++ b/api/cosmos/staking/v1beta1/staking.pulsar.go @@ -9409,15 +9409,15 @@ func (x *fastReflection_Redelegation) ProtoMethods() *protoiface.Methods { } var ( - md_Params protoreflect.MessageDescriptor - fd_Params_unbonding_time protoreflect.FieldDescriptor - fd_Params_max_validators protoreflect.FieldDescriptor - fd_Params_max_entries protoreflect.FieldDescriptor - fd_Params_historical_entries protoreflect.FieldDescriptor - fd_Params_bond_denom protoreflect.FieldDescriptor - fd_Params_min_commission_rate protoreflect.FieldDescriptor - fd_Params_max_cons_pub_key_rotations protoreflect.FieldDescriptor - fd_Params_cons_pubkey_rotation_fee protoreflect.FieldDescriptor + md_Params protoreflect.MessageDescriptor + fd_Params_unbonding_time protoreflect.FieldDescriptor + fd_Params_max_validators protoreflect.FieldDescriptor + fd_Params_max_entries protoreflect.FieldDescriptor + fd_Params_historical_entries protoreflect.FieldDescriptor + fd_Params_bond_denom protoreflect.FieldDescriptor + fd_Params_min_commission_rate protoreflect.FieldDescriptor + fd_Params_max_cons_pubkey_rotations protoreflect.FieldDescriptor + fd_Params_cons_pubkey_rotation_fee protoreflect.FieldDescriptor ) func init() { @@ -9429,7 +9429,7 @@ func init() { fd_Params_historical_entries = md_Params.Fields().ByName("historical_entries") fd_Params_bond_denom = md_Params.Fields().ByName("bond_denom") fd_Params_min_commission_rate = md_Params.Fields().ByName("min_commission_rate") - fd_Params_max_cons_pub_key_rotations = md_Params.Fields().ByName("max_cons_pub_key_rotations") + fd_Params_max_cons_pubkey_rotations = md_Params.Fields().ByName("max_cons_pubkey_rotations") fd_Params_cons_pubkey_rotation_fee = md_Params.Fields().ByName("cons_pubkey_rotation_fee") } @@ -9534,9 +9534,9 @@ func (x *fastReflection_Params) Range(f func(protoreflect.FieldDescriptor, proto return } } - if x.MaxConsPubKeyRotations != uint64(0) { - value := protoreflect.ValueOfUint64(x.MaxConsPubKeyRotations) - if !f(fd_Params_max_cons_pub_key_rotations, value) { + if x.MaxConsPubkeyRotations != uint64(0) { + value := protoreflect.ValueOfUint64(x.MaxConsPubkeyRotations) + if !f(fd_Params_max_cons_pubkey_rotations, value) { return } } @@ -9573,8 +9573,8 @@ func (x *fastReflection_Params) Has(fd protoreflect.FieldDescriptor) bool { return x.BondDenom != "" case "cosmos.staking.v1beta1.Params.min_commission_rate": return x.MinCommissionRate != "" - case "cosmos.staking.v1beta1.Params.max_cons_pub_key_rotations": - return x.MaxConsPubKeyRotations != uint64(0) + case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": + return x.MaxConsPubkeyRotations != uint64(0) case "cosmos.staking.v1beta1.Params.cons_pubkey_rotation_fee": return x.ConsPubkeyRotationFee != nil default: @@ -9605,8 +9605,8 @@ func (x *fastReflection_Params) Clear(fd protoreflect.FieldDescriptor) { x.BondDenom = "" case "cosmos.staking.v1beta1.Params.min_commission_rate": x.MinCommissionRate = "" - case "cosmos.staking.v1beta1.Params.max_cons_pub_key_rotations": - x.MaxConsPubKeyRotations = uint64(0) + case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": + x.MaxConsPubkeyRotations = uint64(0) case "cosmos.staking.v1beta1.Params.cons_pubkey_rotation_fee": x.ConsPubkeyRotationFee = nil default: @@ -9643,8 +9643,8 @@ func (x *fastReflection_Params) Get(descriptor protoreflect.FieldDescriptor) pro case "cosmos.staking.v1beta1.Params.min_commission_rate": value := x.MinCommissionRate return protoreflect.ValueOfString(value) - case "cosmos.staking.v1beta1.Params.max_cons_pub_key_rotations": - value := x.MaxConsPubKeyRotations + case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": + value := x.MaxConsPubkeyRotations return protoreflect.ValueOfUint64(value) case "cosmos.staking.v1beta1.Params.cons_pubkey_rotation_fee": value := x.ConsPubkeyRotationFee @@ -9681,8 +9681,8 @@ func (x *fastReflection_Params) Set(fd protoreflect.FieldDescriptor, value proto x.BondDenom = value.Interface().(string) case "cosmos.staking.v1beta1.Params.min_commission_rate": x.MinCommissionRate = value.Interface().(string) - case "cosmos.staking.v1beta1.Params.max_cons_pub_key_rotations": - x.MaxConsPubKeyRotations = value.Uint() + case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": + x.MaxConsPubkeyRotations = value.Uint() case "cosmos.staking.v1beta1.Params.cons_pubkey_rotation_fee": x.ConsPubkeyRotationFee = value.Message().Interface().(*v1beta1.Coin) default: @@ -9725,8 +9725,8 @@ func (x *fastReflection_Params) Mutable(fd protoreflect.FieldDescriptor) protore panic(fmt.Errorf("field bond_denom of message cosmos.staking.v1beta1.Params is not mutable")) case "cosmos.staking.v1beta1.Params.min_commission_rate": panic(fmt.Errorf("field min_commission_rate of message cosmos.staking.v1beta1.Params is not mutable")) - case "cosmos.staking.v1beta1.Params.max_cons_pub_key_rotations": - panic(fmt.Errorf("field max_cons_pub_key_rotations of message cosmos.staking.v1beta1.Params is not mutable")) + case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": + panic(fmt.Errorf("field max_cons_pubkey_rotations of message cosmos.staking.v1beta1.Params is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9753,7 +9753,7 @@ func (x *fastReflection_Params) NewField(fd protoreflect.FieldDescriptor) protor return protoreflect.ValueOfString("") case "cosmos.staking.v1beta1.Params.min_commission_rate": return protoreflect.ValueOfString("") - case "cosmos.staking.v1beta1.Params.max_cons_pub_key_rotations": + case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": return protoreflect.ValueOfUint64(uint64(0)) case "cosmos.staking.v1beta1.Params.cons_pubkey_rotation_fee": m := new(v1beta1.Coin) @@ -9848,8 +9848,8 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } - if x.MaxConsPubKeyRotations != 0 { - n += 1 + runtime.Sov(uint64(x.MaxConsPubKeyRotations)) + if x.MaxConsPubkeyRotations != 0 { + n += 1 + runtime.Sov(uint64(x.MaxConsPubkeyRotations)) } if x.ConsPubkeyRotationFee != nil { l = options.Size(x.ConsPubkeyRotationFee) @@ -9898,8 +9898,8 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { i-- dAtA[i] = 0x42 } - if x.MaxConsPubKeyRotations != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.MaxConsPubKeyRotations)) + if x.MaxConsPubkeyRotations != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.MaxConsPubkeyRotations)) i-- dAtA[i] = 0x38 } @@ -10154,9 +10154,9 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { iNdEx = postIndex case 7: if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxConsPubKeyRotations", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxConsPubkeyRotations", wireType) } - x.MaxConsPubKeyRotations = 0 + x.MaxConsPubkeyRotations = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow @@ -10166,7 +10166,7 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - x.MaxConsPubKeyRotations |= uint64(b&0x7F) << shift + x.MaxConsPubkeyRotations |= uint64(b&0x7F) << shift if b < 0x80 { break } @@ -14500,8 +14500,8 @@ type Params struct { BondDenom string `protobuf:"bytes,5,opt,name=bond_denom,json=bondDenom,proto3" json:"bond_denom,omitempty"` // min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators MinCommissionRate string `protobuf:"bytes,6,opt,name=min_commission_rate,json=minCommissionRate,proto3" json:"min_commission_rate,omitempty"` - // max_cons_pub_key_rotations is maximum number of consensus pubkey rotations - MaxConsPubKeyRotations uint64 `protobuf:"varint,7,opt,name=max_cons_pub_key_rotations,json=maxConsPubKeyRotations,proto3" json:"max_cons_pub_key_rotations,omitempty"` + // max_cons_pubkey_rotations is maximum number of consensus pubkey rotations + MaxConsPubkeyRotations uint64 `protobuf:"varint,7,opt,name=max_cons_pubkey_rotations,json=maxConsPubkeyRotations,proto3" json:"max_cons_pubkey_rotations,omitempty"` // cons_pubkey_rotation_fee is fee to be spent when rotating validator's consensus pubkey ConsPubkeyRotationFee *v1beta1.Coin `protobuf:"bytes,8,opt,name=cons_pubkey_rotation_fee,json=consPubkeyRotationFee,proto3" json:"cons_pubkey_rotation_fee,omitempty"` } @@ -14568,9 +14568,9 @@ func (x *Params) GetMinCommissionRate() string { return "" } -func (x *Params) GetMaxConsPubKeyRotations() uint64 { +func (x *Params) GetMaxConsPubkeyRotations() uint64 { if x != nil { - return x.MaxConsPubKeyRotations + return x.MaxConsPubkeyRotations } return 0 } @@ -15149,7 +15149,7 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, - 0xbd, 0x04, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x75, 0x6e, + 0xbc, 0x04, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0xc8, @@ -15173,134 +15173,134 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x22, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x61, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x1a, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, - 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x73, - 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x58, 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x5f, 0x72, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, - 0x1f, 0x00, 0x52, 0x15, 0x63, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x52, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x3a, 0x24, 0xe8, 0xa0, 0x1f, 0x01, 0x8a, - 0xe7, 0xb0, 0x2a, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x78, - 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, - 0xa9, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, - 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, - 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x62, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xde, 0x01, 0x0a, 0x19, - 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x12, 0x72, 0x65, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, + 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, + 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x73, 0x50, + 0x75, 0x62, 0x6b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, + 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, + 0x00, 0x52, 0x15, 0x63, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x52, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x3a, 0x24, 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, + 0xb0, 0x2a, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, + 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xa9, + 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, + 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, + 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, + 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xde, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x72, 0x65, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x56, - 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x3c, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xd2, - 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x07, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0xc9, 0x01, 0x0a, - 0x14, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x72, 0x65, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x07, 0x65, 0x6e, - 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x6f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x12, 0x72, 0x65, 0x64, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, + 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x72, 0x65, 0x64, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x56, 0x0a, + 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, + 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, + 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x07, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0xc9, 0x01, 0x0a, 0x14, + 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x07, 0x65, 0x6e, 0x74, + 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x09, 0xc8, + 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, + 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x8e, 0x02, 0x0a, 0x04, 0x50, 0x6f, 0x6f, 0x6c, + 0x12, 0x82, 0x01, 0x0a, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x56, 0xc8, 0xde, + 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, + 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x11, + 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, + 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0f, 0x6e, 0x6f, 0x74, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x77, 0x0a, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x52, 0xc8, 0xde, + 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, + 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x0d, + 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, + 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, + 0x52, 0x0c, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x3a, 0x08, + 0xe8, 0xa0, 0x1f, 0x01, 0xf0, 0xa0, 0x1f, 0x01, 0x22, 0x59, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x07, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, + 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x73, 0x22, 0xf7, 0x02, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, + 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, + 0x79, 0x12, 0x46, 0x0a, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xf2, 0xde, 0x1f, + 0x17, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x52, 0x0f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x75, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, + 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x37, 0xf2, 0xde, 0x1f, 0x1b, 0x79, 0x61, + 0x6d, 0x6c, 0x3a, 0x22, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, + 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x22, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, + 0x79, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, + 0x12, 0x75, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, + 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, + 0x37, 0xf2, 0xde, 0x1f, 0x1b, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6e, 0x65, 0x77, 0x5f, 0x63, + 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x22, + 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, + 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, + 0x0c, 0x88, 0xa0, 0x1f, 0x00, 0x98, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x2a, 0xb6, 0x01, + 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x17, + 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, 0x55, + 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x14, 0x42, 0x4f, + 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, + 0x45, 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, 0x9d, 0x20, 0x08, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, + 0x65, 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x1a, 0x0d, 0x8a, + 0x9d, 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x12, + 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x4e, 0x44, + 0x45, 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, 0x9d, 0x20, 0x06, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, + 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, + 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, + 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x54, + 0x49, 0x4d, 0x45, 0x10, 0x02, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x09, - 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, - 0x65, 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x8e, 0x02, 0x0a, 0x04, 0x50, 0x6f, 0x6f, - 0x6c, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x56, 0xc8, - 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, - 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, - 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, - 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0f, 0x6e, 0x6f, 0x74, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x77, 0x0a, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x52, 0xc8, - 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, - 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, - 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, - 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, - 0x01, 0x52, 0x0c, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x3a, - 0x08, 0xe8, 0xa0, 0x1f, 0x01, 0xf0, 0xa0, 0x1f, 0x01, 0x22, 0x59, 0x0a, 0x10, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x45, 0x0a, - 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x61, 0x62, 0x63, 0x69, - 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x22, 0xf7, 0x02, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, - 0x4b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, - 0x72, 0x79, 0x12, 0x46, 0x0a, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xf2, 0xde, - 0x1f, 0x17, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x52, 0x0f, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x75, 0x0a, 0x0f, 0x6f, 0x6c, - 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x37, 0xf2, 0xde, 0x1f, 0x1b, 0x79, - 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, - 0x75, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x22, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, - 0x65, 0x79, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, - 0x79, 0x12, 0x75, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, - 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, - 0x42, 0x37, 0xf2, 0xde, 0x1f, 0x1b, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6e, 0x65, 0x77, 0x5f, - 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, - 0x22, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x43, 0x6f, - 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x3a, 0x0c, 0x88, 0xa0, 0x1f, 0x00, 0x98, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x2a, 0xb6, - 0x01, 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, - 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, - 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x14, 0x42, - 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, - 0x44, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, 0x9d, 0x20, 0x08, 0x55, 0x6e, 0x62, 0x6f, 0x6e, - 0x64, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x1a, 0x0d, - 0x8a, 0x9d, 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, - 0x12, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x4e, - 0x44, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, 0x9d, 0x20, 0x06, 0x42, 0x6f, 0x6e, 0x64, 0x65, - 0x64, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, - 0x13, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, - 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, - 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, - 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, + 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, + 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, + 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index a1b9b1f72845..45e5a96ee53f 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -932,8 +932,8 @@ type Params struct { BondDenom string `protobuf:"bytes,5,opt,name=bond_denom,json=bondDenom,proto3" json:"bond_denom,omitempty"` // min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators MinCommissionRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,opt,name=min_commission_rate,json=minCommissionRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_commission_rate" yaml:"min_commission_rate"` - // max_cons_pub_key_rotations is maximum number of consensus pubkey rotations - MaxConsPubKeyRotations uint64 `protobuf:"varint,7,opt,name=max_cons_pub_key_rotations,json=maxConsPubKeyRotations,proto3" json:"max_cons_pub_key_rotations,omitempty"` + // max_cons_pubkey_rotations is maximum number of consensus pubkey rotations + MaxConsPubkeyRotations uint64 `protobuf:"varint,7,opt,name=max_cons_pubkey_rotations,json=maxConsPubkeyRotations,proto3" json:"max_cons_pubkey_rotations,omitempty"` // cons_pubkey_rotation_fee is fee to be spent when rotating validator's consensus pubkey ConsPubkeyRotationFee types2.Coin `protobuf:"bytes,8,opt,name=cons_pubkey_rotation_fee,json=consPubkeyRotationFee,proto3" json:"cons_pubkey_rotation_fee"` } @@ -1006,9 +1006,9 @@ func (m *Params) GetBondDenom() string { return "" } -func (m *Params) GetMaxConsPubKeyRotations() uint64 { +func (m *Params) GetMaxConsPubkeyRotations() uint64 { if m != nil { - return m.MaxConsPubKeyRotations + return m.MaxConsPubkeyRotations } return 0 } @@ -1339,135 +1339,135 @@ func init() { } var fileDescriptor_64c30c6cf92913c9 = []byte{ - // 2042 bytes of a gzipped FileDescriptorProto + // 2039 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x3b, 0x6c, 0x23, 0xc7, - 0xf9, 0xd7, 0x92, 0x34, 0x25, 0x7d, 0x94, 0x44, 0x6a, 0xee, 0xc5, 0xe3, 0xfd, 0xff, 0x22, 0x4d, - 0x5f, 0xec, 0xf3, 0xc1, 0x47, 0xe5, 0x14, 0x20, 0x01, 0x14, 0x23, 0x81, 0x28, 0x4a, 0x3e, 0x3a, - 0xb6, 0x24, 0x2c, 0x25, 0xc5, 0xce, 0x03, 0x8b, 0xe1, 0xee, 0x88, 0xda, 0x88, 0x9c, 0x25, 0x76, - 0x86, 0x77, 0x62, 0x1b, 0xa4, 0x30, 0x54, 0x24, 0x06, 0xd2, 0xb8, 0x39, 0xe0, 0x80, 0x34, 0x4e, - 0xe7, 0xc2, 0x88, 0x8b, 0x20, 0x45, 0x3a, 0x27, 0x69, 0x0e, 0xae, 0x82, 0x14, 0x4a, 0x70, 0x57, - 0xd8, 0x48, 0x15, 0x5c, 0x13, 0x24, 0x55, 0x30, 0x8f, 0x7d, 0x50, 0x14, 0xf5, 0x38, 0x28, 0x81, - 0x01, 0x37, 0x12, 0x67, 0xe6, 0xfb, 0x7e, 0x33, 0xdf, 0x7b, 0xbf, 0x0f, 0x6e, 0xda, 0x1e, 0xeb, - 0x78, 0x6c, 0x9e, 0x71, 0xbc, 0xe7, 0xd2, 0xd6, 0xfc, 0xfd, 0xbb, 0x4d, 0xc2, 0xf1, 0xdd, 0x60, - 0x5d, 0xe9, 0xfa, 0x1e, 0xf7, 0xd0, 0x55, 0x45, 0x55, 0x09, 0x76, 0x35, 0x55, 0xe1, 0x72, 0xcb, - 0x6b, 0x79, 0x92, 0x64, 0x5e, 0xfc, 0x52, 0xd4, 0x85, 0xeb, 0x2d, 0xcf, 0x6b, 0xb5, 0xc9, 0xbc, - 0x5c, 0x35, 0x7b, 0x3b, 0xf3, 0x98, 0xf6, 0xf5, 0xd1, 0xdc, 0xd1, 0x23, 0xa7, 0xe7, 0x63, 0xee, - 0x7a, 0x54, 0x9f, 0x17, 0x8f, 0x9e, 0x73, 0xb7, 0x43, 0x18, 0xc7, 0x9d, 0x6e, 0x80, 0xad, 0x5e, - 0x62, 0xa9, 0x4b, 0xf5, 0xb3, 0x34, 0xb6, 0x16, 0xa5, 0x89, 0x19, 0x09, 0xe5, 0xb0, 0x3d, 0x37, - 0xc0, 0x9e, 0xc5, 0x1d, 0x97, 0x7a, 0xf3, 0xf2, 0xaf, 0xde, 0xfa, 0x3f, 0x4e, 0xa8, 0x43, 0xfc, - 0x8e, 0x4b, 0xf9, 0x3c, 0xef, 0x77, 0x09, 0x53, 0x7f, 0xf5, 0xe9, 0x8d, 0xd8, 0x29, 0x6e, 0xda, - 0x6e, 0xfc, 0xb0, 0xfc, 0x4b, 0x03, 0x66, 0xee, 0xb9, 0x8c, 0x7b, 0xbe, 0x6b, 0xe3, 0x76, 0x9d, - 0xee, 0x78, 0xe8, 0xdb, 0x90, 0xde, 0x25, 0xd8, 0x21, 0x7e, 0xde, 0x28, 0x19, 0xb7, 0x32, 0x0b, - 0xf9, 0x4a, 0x04, 0x50, 0x51, 0xbc, 0xf7, 0xe4, 0x79, 0x75, 0xf2, 0xd3, 0xc3, 0xe2, 0xd8, 0x87, - 0x9f, 0x7f, 0x74, 0xdb, 0x30, 0x35, 0x0b, 0xaa, 0x41, 0xfa, 0x3e, 0x6e, 0x33, 0xc2, 0xf3, 0x89, - 0x52, 0xf2, 0x56, 0x66, 0xe1, 0xc5, 0xca, 0xf1, 0x3a, 0xaf, 0x6c, 0xe3, 0xb6, 0xeb, 0x60, 0xee, - 0x0d, 0xa2, 0x28, 0xde, 0xf2, 0x27, 0x09, 0xc8, 0x2e, 0x7b, 0x9d, 0x8e, 0xcb, 0x98, 0xeb, 0x51, - 0x13, 0x73, 0xc2, 0xd0, 0x16, 0xa4, 0x7c, 0xcc, 0x89, 0x7c, 0xd4, 0x64, 0x75, 0x49, 0x30, 0xfd, - 0xe5, 0xb0, 0xf8, 0x72, 0xcb, 0xe5, 0xbb, 0xbd, 0x66, 0xc5, 0xf6, 0x3a, 0x5a, 0x8d, 0xfa, 0xdf, - 0x1d, 0xe6, 0xec, 0x69, 0x49, 0x6b, 0xc4, 0xfe, 0xec, 0xe3, 0x3b, 0xa0, 0x1f, 0x52, 0x23, 0xb6, - 0xba, 0x4c, 0xc2, 0xa1, 0x1f, 0xc1, 0x44, 0x07, 0xef, 0x5b, 0x12, 0x3a, 0x71, 0x51, 0xd0, 0xe3, - 0x1d, 0xbc, 0x2f, 0x5e, 0x8d, 0x5c, 0xc8, 0x0a, 0x74, 0x7b, 0x17, 0xd3, 0x16, 0x51, 0x97, 0x24, - 0x2f, 0xea, 0x92, 0xe9, 0x0e, 0xde, 0x5f, 0x96, 0xc0, 0xe2, 0xaa, 0xc5, 0xd4, 0x17, 0x8f, 0x8a, - 0x46, 0xf9, 0xf7, 0x06, 0x40, 0xa4, 0x39, 0x84, 0x21, 0x67, 0x87, 0x2b, 0x79, 0x3f, 0xd3, 0x56, - 0x7d, 0x65, 0x94, 0x61, 0x8e, 0xe8, 0xbd, 0x3a, 0x2d, 0x5e, 0xfa, 0xf8, 0xb0, 0x68, 0xa8, 0x5b, - 0xb3, 0xf6, 0x11, 0xbb, 0xbc, 0x09, 0x99, 0x5e, 0xd7, 0xc1, 0x9c, 0x58, 0xc2, 0xc9, 0xa5, 0x0e, - 0x33, 0x0b, 0x85, 0x8a, 0x8a, 0x80, 0x4a, 0x10, 0x01, 0x95, 0xcd, 0x20, 0x02, 0x14, 0xe0, 0xfb, - 0x7f, 0x0d, 0x00, 0x41, 0x71, 0x8b, 0x73, 0x2d, 0xc3, 0x87, 0x06, 0x64, 0x6a, 0x84, 0xd9, 0xbe, - 0xdb, 0x15, 0x31, 0x85, 0xf2, 0x30, 0xde, 0xf1, 0xa8, 0xbb, 0xa7, 0x3d, 0x72, 0xd2, 0x0c, 0x96, - 0xa8, 0x00, 0x13, 0xae, 0x43, 0x28, 0x77, 0x79, 0x5f, 0x19, 0xcf, 0x0c, 0xd7, 0x82, 0xeb, 0x01, - 0x69, 0x32, 0x37, 0x50, 0xb9, 0x19, 0x2c, 0xd1, 0xab, 0x90, 0x63, 0xc4, 0xee, 0xf9, 0x2e, 0xef, - 0x5b, 0xb6, 0x47, 0x39, 0xb6, 0x79, 0x3e, 0x25, 0x49, 0xb2, 0xc1, 0xfe, 0xb2, 0xda, 0x16, 0x20, - 0x0e, 0xe1, 0xd8, 0x6d, 0xb3, 0xfc, 0x0b, 0x0a, 0x44, 0x2f, 0xf5, 0x53, 0x3f, 0x19, 0x87, 0xc9, - 0xd0, 0x93, 0xd1, 0x32, 0xe4, 0xbc, 0x2e, 0xf1, 0xc5, 0x6f, 0x0b, 0x3b, 0x8e, 0x4f, 0x18, 0xd3, - 0xee, 0x9a, 0xff, 0xec, 0xe3, 0x3b, 0x97, 0xb5, 0xc2, 0x97, 0xd4, 0x49, 0x83, 0xfb, 0x2e, 0x6d, - 0x99, 0xd9, 0x80, 0x43, 0x6f, 0xa3, 0x77, 0x85, 0xc9, 0x28, 0x23, 0x94, 0xf5, 0x98, 0xd5, 0xed, - 0x35, 0xf7, 0x48, 0x5f, 0x2b, 0xf5, 0xf2, 0x90, 0x52, 0x97, 0x68, 0xbf, 0x9a, 0xff, 0x63, 0x04, - 0x6d, 0xfb, 0xfd, 0x2e, 0xf7, 0x2a, 0x1b, 0xbd, 0xe6, 0xf7, 0x48, 0x5f, 0x98, 0x4a, 0xe3, 0x6c, - 0x48, 0x18, 0x74, 0x15, 0xd2, 0x3f, 0xc1, 0x6e, 0x9b, 0x38, 0x52, 0x23, 0x13, 0xa6, 0x5e, 0xa1, - 0x45, 0x48, 0x33, 0x8e, 0x79, 0x8f, 0x49, 0x35, 0xcc, 0x2c, 0x94, 0x47, 0xf9, 0x46, 0xd5, 0xa3, - 0x4e, 0x43, 0x52, 0x9a, 0x9a, 0x03, 0x6d, 0x42, 0x9a, 0x7b, 0x7b, 0x84, 0x6a, 0x05, 0x55, 0x5f, - 0x3f, 0x87, 0x63, 0xd7, 0x29, 0x8f, 0x39, 0x76, 0x9d, 0x72, 0x53, 0x63, 0xa1, 0x16, 0xe4, 0x1c, - 0xd2, 0x26, 0x2d, 0xa9, 0x4a, 0xb6, 0x8b, 0x7d, 0xc2, 0xf2, 0xe9, 0x73, 0xe3, 0x0f, 0x05, 0x8e, - 0x99, 0x0d, 0x51, 0x1b, 0x12, 0x14, 0x6d, 0x40, 0xc6, 0x89, 0x5c, 0x2d, 0x3f, 0x2e, 0x15, 0xfd, - 0xd2, 0x28, 0xf9, 0x63, 0x5e, 0x19, 0x4f, 0x5b, 0x71, 0x08, 0xe1, 0x5d, 0x3d, 0xda, 0xf4, 0xa8, - 0xe3, 0xd2, 0x96, 0xb5, 0x4b, 0xdc, 0xd6, 0x2e, 0xcf, 0x4f, 0x94, 0x8c, 0x5b, 0x49, 0x33, 0x1b, - 0xee, 0xdf, 0x93, 0xdb, 0x68, 0x03, 0x66, 0x22, 0x52, 0x19, 0x3d, 0x93, 0xe7, 0x8d, 0x9e, 0xe9, - 0x10, 0x40, 0x90, 0xa0, 0xb7, 0x01, 0xa2, 0xf8, 0xcc, 0x83, 0x44, 0x2b, 0x9f, 0x1e, 0xe9, 0x71, - 0x61, 0x62, 0x00, 0xa8, 0x0d, 0x97, 0x3a, 0x2e, 0xb5, 0x18, 0x69, 0xef, 0x58, 0x5a, 0x73, 0x02, - 0x37, 0x73, 0x01, 0x96, 0x9e, 0xed, 0xb8, 0xb4, 0x41, 0xda, 0x3b, 0xb5, 0x10, 0x16, 0xbd, 0x0e, - 0x37, 0x22, 0x75, 0x78, 0xd4, 0xda, 0xf5, 0xda, 0x8e, 0xe5, 0x93, 0x1d, 0xcb, 0xf6, 0x7a, 0x94, - 0xe7, 0xa7, 0xa4, 0x12, 0xaf, 0x85, 0x24, 0xeb, 0xf4, 0x9e, 0xd7, 0x76, 0x4c, 0xb2, 0xb3, 0x2c, - 0x8e, 0xd1, 0x4b, 0x10, 0xe9, 0xc2, 0x72, 0x1d, 0x96, 0x9f, 0x2e, 0x25, 0x6f, 0xa5, 0xcc, 0xa9, - 0x70, 0xb3, 0xee, 0xb0, 0xc5, 0x89, 0xf7, 0x1e, 0x15, 0xc7, 0xbe, 0x78, 0x54, 0x1c, 0x2b, 0xaf, - 0xc2, 0xd4, 0x36, 0x6e, 0xeb, 0xa0, 0x23, 0x0c, 0x7d, 0x13, 0x26, 0x71, 0xb0, 0xc8, 0x1b, 0xa5, - 0xe4, 0x89, 0x41, 0x1b, 0x91, 0x96, 0x1f, 0x19, 0x90, 0xae, 0x6d, 0x6f, 0x60, 0xd7, 0x47, 0x2b, - 0x30, 0x1b, 0x39, 0xed, 0x59, 0xe3, 0x3f, 0xf2, 0xf3, 0x20, 0x01, 0xac, 0xc0, 0xec, 0xfd, 0x20, - 0xa5, 0x84, 0x30, 0x89, 0xd3, 0x60, 0x42, 0x16, 0xbd, 0x1f, 0x13, 0xf5, 0x4d, 0x18, 0x57, 0x2f, - 0x64, 0xe8, 0xbb, 0xf0, 0x42, 0x57, 0xfc, 0x90, 0x12, 0x66, 0x16, 0xe6, 0x46, 0x3a, 0xba, 0xa4, - 0x8f, 0xbb, 0x85, 0xe2, 0x2b, 0xff, 0xcb, 0x00, 0xa8, 0x6d, 0x6f, 0x6f, 0xfa, 0x6e, 0xb7, 0x4d, - 0xf8, 0x45, 0x89, 0xfc, 0x16, 0x5c, 0x89, 0x44, 0x66, 0xbe, 0x7d, 0x66, 0xb1, 0x2f, 0x85, 0x6c, - 0x0d, 0xdf, 0x3e, 0x16, 0xcd, 0x61, 0x3c, 0x44, 0x4b, 0x9e, 0x19, 0xad, 0xc6, 0xf8, 0xb0, 0x1e, - 0xdf, 0x81, 0x4c, 0x24, 0x3a, 0x43, 0x75, 0x98, 0xe0, 0xfa, 0xb7, 0x56, 0x67, 0x79, 0xb4, 0x3a, - 0x03, 0xb6, 0xb8, 0x4a, 0x43, 0xf6, 0xf2, 0xbf, 0x85, 0x56, 0xa3, 0x40, 0xf8, 0x52, 0x39, 0x92, - 0xc8, 0xf0, 0x3a, 0x03, 0x27, 0x2f, 0x20, 0x03, 0x6b, 0xac, 0x98, 0x5a, 0x7f, 0x96, 0x80, 0x4b, - 0x5b, 0x41, 0x90, 0x7e, 0x69, 0xb5, 0xb0, 0x05, 0xe3, 0x84, 0x72, 0xdf, 0x95, 0x6a, 0x10, 0xc6, - 0xfe, 0xfa, 0x28, 0x63, 0x1f, 0x23, 0xcb, 0x0a, 0xe5, 0x7e, 0x3f, 0x6e, 0xfa, 0x00, 0x2b, 0xa6, - 0x86, 0xdf, 0x25, 0x21, 0x3f, 0x8a, 0x15, 0xbd, 0x02, 0x59, 0xdb, 0x27, 0x72, 0x23, 0xa8, 0x29, - 0x86, 0x4c, 0x87, 0x33, 0xc1, 0xb6, 0x2e, 0x29, 0x26, 0x88, 0x0f, 0x34, 0xe1, 0x55, 0x82, 0xf4, - 0xf9, 0xbe, 0xc8, 0x66, 0x22, 0x04, 0x59, 0x54, 0x08, 0x64, 0x5d, 0xea, 0x72, 0x17, 0xb7, 0xad, - 0x26, 0x6e, 0x63, 0x6a, 0x93, 0xe7, 0xf0, 0x84, 0xe1, 0x0a, 0x30, 0xa3, 0x41, 0xab, 0x0a, 0x13, - 0x6d, 0xc3, 0x78, 0x00, 0x9f, 0xba, 0x00, 0xf8, 0x00, 0x0c, 0xbd, 0x08, 0x53, 0xf1, 0xc2, 0x20, - 0xbf, 0x53, 0x52, 0x66, 0x26, 0x56, 0x17, 0x4e, 0xab, 0x3c, 0xe9, 0x13, 0x2b, 0x8f, 0xfe, 0x14, - 0xfc, 0x6d, 0x12, 0x66, 0x4d, 0xe2, 0x7c, 0x05, 0x0d, 0xf7, 0x43, 0x00, 0x15, 0xd4, 0x22, 0xd9, - 0x3e, 0x87, 0xed, 0x86, 0x93, 0xc4, 0xa4, 0xc2, 0xab, 0x31, 0xfe, 0xbf, 0xb2, 0xde, 0x9f, 0x12, - 0x30, 0x15, 0xb7, 0xde, 0x57, 0xa0, 0xb2, 0xa1, 0xb5, 0x28, 0xa5, 0xa5, 0x64, 0x4a, 0x7b, 0x75, - 0x54, 0x4a, 0x1b, 0xf2, 0xeb, 0xd3, 0x72, 0x59, 0x0a, 0xd2, 0x1b, 0xd8, 0xc7, 0x1d, 0x86, 0xd6, - 0x87, 0xbe, 0x71, 0x55, 0xff, 0x79, 0x7d, 0xc8, 0xad, 0x6b, 0x7a, 0x86, 0xa2, 0xbc, 0xfa, 0x83, - 0x51, 0x9f, 0xb8, 0x5f, 0x83, 0x19, 0xd1, 0x52, 0x87, 0x02, 0x29, 0x55, 0x4e, 0xcb, 0x76, 0x38, - 0x6c, 0xc5, 0x18, 0x2a, 0x42, 0x46, 0x90, 0x45, 0x39, 0x5b, 0xd0, 0x40, 0x07, 0xef, 0xaf, 0xa8, - 0x1d, 0x74, 0x07, 0xd0, 0x6e, 0x38, 0xf8, 0xb0, 0x22, 0x45, 0x08, 0xba, 0xd9, 0xe8, 0x24, 0x20, - 0xff, 0x7f, 0x00, 0xf1, 0x0a, 0xcb, 0x21, 0xd4, 0xeb, 0xe8, 0x66, 0x70, 0x52, 0xec, 0xd4, 0xc4, - 0x06, 0xfa, 0x85, 0xa1, 0x3e, 0x95, 0x8f, 0x74, 0xdb, 0xba, 0x69, 0xb1, 0xce, 0x17, 0x0d, 0xcf, - 0x0e, 0x8b, 0x85, 0x3e, 0xee, 0xb4, 0x17, 0xcb, 0xc7, 0x40, 0x96, 0x8f, 0x9b, 0x05, 0x88, 0xaf, - 0xe9, 0xc1, 0xc6, 0x1d, 0x2d, 0x42, 0x41, 0x8e, 0x1e, 0x3c, 0x2a, 0xdb, 0x48, 0x6b, 0x8f, 0xf4, - 0x2d, 0xdf, 0xe3, 0x52, 0xc5, 0x4c, 0x36, 0x3a, 0x29, 0xf3, 0x6a, 0x07, 0xef, 0x2f, 0x7b, 0x94, - 0xe9, 0x86, 0x31, 0x38, 0x45, 0xef, 0x40, 0x3e, 0xe0, 0x8b, 0xb3, 0x59, 0x3b, 0x84, 0xc8, 0x5e, - 0x46, 0x98, 0x4f, 0x3f, 0xa1, 0x89, 0x19, 0x89, 0x75, 0x14, 0x2e, 0xad, 0xa6, 0x84, 0xb0, 0xe6, - 0x15, 0x5b, 0xe1, 0xee, 0x45, 0xb8, 0xab, 0x84, 0x2c, 0xde, 0x14, 0xd1, 0x76, 0xf0, 0xf9, 0x47, - 0xb7, 0x6f, 0xc4, 0x04, 0xdf, 0x0f, 0xe7, 0x76, 0xca, 0x69, 0xca, 0xbf, 0x36, 0x00, 0x45, 0x25, - 0xd0, 0x24, 0xac, 0x2b, 0x3a, 0x59, 0xd1, 0xdd, 0xc4, 0xba, 0x10, 0xe3, 0xe4, 0xee, 0x26, 0xe2, - 0x1f, 0xe8, 0x6e, 0x62, 0x21, 0xfe, 0x9d, 0xa8, 0xe0, 0x24, 0x4e, 0x13, 0x2a, 0xee, 0xef, 0x9a, - 0x49, 0x66, 0x8e, 0xb1, 0xf2, 0xa1, 0x01, 0xd7, 0x87, 0xe2, 0x23, 0x7c, 0xb2, 0x0d, 0xc8, 0x8f, - 0x1d, 0x4a, 0x3f, 0xeb, 0xeb, 0xa7, 0x3f, 0x5f, 0xb8, 0xcd, 0xfa, 0x43, 0x45, 0xe6, 0xbf, 0x54, - 0x39, 0x75, 0x6a, 0xfc, 0x83, 0x01, 0x97, 0xe3, 0x2f, 0x0a, 0x65, 0x6b, 0xc0, 0x54, 0xfc, 0x2d, - 0x5a, 0xaa, 0x9b, 0x67, 0x91, 0x2a, 0x2e, 0xd0, 0x00, 0x88, 0x90, 0x25, 0x88, 0x45, 0x35, 0x41, - 0xbc, 0x7b, 0x66, 0x2d, 0x05, 0x0f, 0x3b, 0x36, 0x39, 0x29, 0x63, 0xfd, 0x3c, 0x01, 0xa9, 0x0d, - 0xcf, 0x6b, 0xa3, 0x9f, 0x1a, 0x30, 0x4b, 0x3d, 0x6e, 0x89, 0x08, 0x26, 0x8e, 0xa5, 0x47, 0x18, - 0x2a, 0xbf, 0x6f, 0x9f, 0x4f, 0x7b, 0x7f, 0x3f, 0x2c, 0x0e, 0x43, 0x0d, 0xaa, 0x54, 0x8f, 0xce, - 0xa8, 0xc7, 0xab, 0x92, 0x68, 0x53, 0x4d, 0x39, 0x1e, 0xc0, 0xf4, 0xe0, 0xfd, 0xaa, 0x28, 0x98, - 0xe7, 0xbe, 0x7f, 0xfa, 0xd4, 0xbb, 0xa7, 0x9a, 0xb1, 0x8b, 0x17, 0x27, 0x84, 0x61, 0xff, 0x21, - 0x8c, 0xfb, 0x2e, 0xe4, 0xc2, 0xa4, 0xb9, 0x25, 0x07, 0x71, 0xe2, 0x8b, 0x79, 0x5c, 0xcd, 0xe4, - 0x82, 0xbe, 0xa6, 0x14, 0x9f, 0x00, 0xe3, 0xa6, 0xed, 0x56, 0x8e, 0xf0, 0x0c, 0x68, 0x5c, 0xf3, - 0x96, 0xff, 0x99, 0x80, 0xeb, 0xc3, 0xc9, 0x45, 0x0d, 0x9b, 0xfb, 0x68, 0x75, 0xe4, 0xac, 0xec, - 0xc6, 0xb3, 0xc3, 0xe2, 0x35, 0x95, 0xfe, 0x8e, 0x52, 0x94, 0x87, 0xc7, 0x65, 0x3d, 0xc8, 0x8a, - 0x72, 0x1f, 0x4b, 0x57, 0x27, 0x4e, 0xcb, 0xbe, 0xf5, 0xec, 0xb0, 0x78, 0x43, 0x83, 0x6b, 0xb6, - 0xf8, 0xa4, 0xad, 0x3c, 0x72, 0x98, 0x36, 0xed, 0xb5, 0x9d, 0xe5, 0x30, 0xa5, 0x89, 0x6b, 0x29, - 0x79, 0x30, 0x70, 0x6d, 0xf2, 0x6c, 0xd7, 0x06, 0x6c, 0x67, 0xbc, 0x96, 0x92, 0x07, 0xb1, 0x6b, - 0xaf, 0x42, 0x5a, 0x7f, 0x45, 0xa6, 0x64, 0x02, 0xd7, 0xab, 0xc5, 0x29, 0x51, 0x7a, 0x3f, 0xd0, - 0xe5, 0xf7, 0xf6, 0x6f, 0x0c, 0x80, 0x68, 0x54, 0x87, 0x5e, 0x83, 0x6b, 0xd5, 0xf5, 0xb5, 0x9a, - 0xd5, 0xd8, 0x5c, 0xda, 0xdc, 0x6a, 0x58, 0x5b, 0x6b, 0x8d, 0x8d, 0x95, 0xe5, 0xfa, 0x6a, 0x7d, - 0xa5, 0x96, 0x1b, 0x2b, 0x64, 0x0f, 0x1e, 0x96, 0x32, 0x5b, 0x94, 0x75, 0x89, 0xed, 0xee, 0xb8, - 0xc4, 0x41, 0x2f, 0xc3, 0xe5, 0x41, 0x6a, 0xb1, 0x5a, 0xa9, 0xe5, 0x8c, 0xc2, 0xd4, 0xc1, 0xc3, - 0xd2, 0x84, 0x6a, 0x51, 0x88, 0x83, 0x6e, 0xc1, 0x95, 0x61, 0xba, 0xfa, 0xda, 0x1b, 0xb9, 0x44, - 0x61, 0xfa, 0xe0, 0x61, 0x69, 0x32, 0xec, 0x65, 0x50, 0x19, 0x50, 0x9c, 0x52, 0xe3, 0x25, 0x0b, - 0x70, 0xf0, 0xb0, 0x94, 0x56, 0x01, 0x51, 0x48, 0xbd, 0xf7, 0xab, 0xb9, 0xb1, 0xdb, 0x3f, 0x06, - 0xa8, 0xd3, 0x1d, 0x1f, 0xdb, 0x32, 0x15, 0x14, 0xe0, 0x6a, 0x7d, 0x6d, 0xd5, 0x5c, 0x5a, 0xde, - 0xac, 0xaf, 0xaf, 0x0d, 0x3e, 0xfb, 0xc8, 0x59, 0x6d, 0x7d, 0xab, 0xfa, 0xd6, 0x8a, 0xd5, 0xa8, - 0xbf, 0xb1, 0x96, 0x33, 0xd0, 0x35, 0xb8, 0x34, 0x70, 0xf6, 0xfd, 0xb5, 0xcd, 0xfa, 0xdb, 0x2b, - 0xb9, 0x44, 0x75, 0xf5, 0xd3, 0x27, 0x73, 0xc6, 0xe3, 0x27, 0x73, 0xc6, 0xdf, 0x9e, 0xcc, 0x19, - 0xef, 0x3f, 0x9d, 0x1b, 0x7b, 0xfc, 0x74, 0x6e, 0xec, 0xcf, 0x4f, 0xe7, 0xc6, 0x7e, 0xf0, 0xda, - 0x89, 0xa1, 0x16, 0xd5, 0x27, 0x19, 0x74, 0xcd, 0xb4, 0xb4, 0xed, 0x37, 0xfe, 0x13, 0x00, 0x00, - 0xff, 0xff, 0x6d, 0x7f, 0x0c, 0xde, 0x76, 0x1a, 0x00, 0x00, + 0x19, 0xd6, 0x92, 0x34, 0x25, 0xfd, 0x94, 0x44, 0x6a, 0xee, 0x45, 0x51, 0x89, 0x48, 0xd3, 0x17, + 0x5b, 0x3e, 0xf8, 0xa8, 0x9c, 0x02, 0x24, 0x88, 0x62, 0x24, 0x10, 0x45, 0xc9, 0x47, 0x3f, 0x24, + 0x61, 0x29, 0x29, 0x76, 0x1e, 0x58, 0x0c, 0x77, 0x47, 0xd4, 0x46, 0xdc, 0x59, 0x62, 0x67, 0x78, + 0x27, 0xb6, 0x41, 0x0a, 0x43, 0x45, 0x62, 0x20, 0x8d, 0x9b, 0x03, 0x0e, 0x48, 0xe3, 0x74, 0x2e, + 0x8c, 0xb8, 0x48, 0x52, 0xa4, 0x73, 0x92, 0xe6, 0xe0, 0x2a, 0x48, 0xa1, 0x04, 0x77, 0x85, 0x8d, + 0x54, 0xc1, 0x35, 0x41, 0x52, 0x05, 0x33, 0x3b, 0xfb, 0xa0, 0x28, 0xea, 0x71, 0x50, 0x02, 0x03, + 0x6e, 0x24, 0xce, 0xcc, 0xff, 0x7f, 0x33, 0xff, 0x7b, 0xff, 0x1f, 0x6e, 0x9a, 0x2e, 0x73, 0x5c, + 0xb6, 0xc0, 0x38, 0xde, 0xb7, 0x69, 0x6b, 0xe1, 0xde, 0x9d, 0x26, 0xe1, 0xf8, 0x4e, 0xb0, 0xae, + 0x74, 0x3c, 0x97, 0xbb, 0xe8, 0xba, 0x4f, 0x55, 0x09, 0x76, 0x15, 0x55, 0xe1, 0x6a, 0xcb, 0x6d, + 0xb9, 0x92, 0x64, 0x41, 0xfc, 0xf2, 0xa9, 0x0b, 0x33, 0x2d, 0xd7, 0x6d, 0xb5, 0xc9, 0x82, 0x5c, + 0x35, 0xbb, 0xbb, 0x0b, 0x98, 0xf6, 0xd4, 0xd1, 0xdc, 0xf1, 0x23, 0xab, 0xeb, 0x61, 0x6e, 0xbb, + 0x54, 0x9d, 0x17, 0x8f, 0x9f, 0x73, 0xdb, 0x21, 0x8c, 0x63, 0xa7, 0x13, 0x60, 0xfb, 0x2f, 0x31, + 0xfc, 0x4b, 0xd5, 0xb3, 0x14, 0xb6, 0x12, 0xa5, 0x89, 0x19, 0x09, 0xe5, 0x30, 0x5d, 0x3b, 0xc0, + 0x9e, 0xc6, 0x8e, 0x4d, 0xdd, 0x05, 0xf9, 0x57, 0x6d, 0x7d, 0x85, 0x13, 0x6a, 0x11, 0xcf, 0xb1, + 0x29, 0x5f, 0xe0, 0xbd, 0x0e, 0x61, 0xfe, 0x5f, 0x75, 0x3a, 0x1b, 0x3b, 0xc5, 0x4d, 0xd3, 0x8e, + 0x1f, 0x96, 0x7f, 0xa9, 0xc1, 0xd4, 0x5d, 0x9b, 0x71, 0xd7, 0xb3, 0x4d, 0xdc, 0xae, 0xd3, 0x5d, + 0x17, 0x7d, 0x07, 0xd2, 0x7b, 0x04, 0x5b, 0xc4, 0xcb, 0x6b, 0x25, 0x6d, 0x3e, 0xb3, 0x98, 0xaf, + 0x44, 0x00, 0x15, 0x9f, 0xf7, 0xae, 0x3c, 0xaf, 0x8e, 0x7f, 0x72, 0x54, 0x1c, 0xf9, 0xe0, 0xb3, + 0x0f, 0x6f, 0x69, 0xba, 0x62, 0x41, 0x35, 0x48, 0xdf, 0xc3, 0x6d, 0x46, 0x78, 0x3e, 0x51, 0x4a, + 0xce, 0x67, 0x16, 0x9f, 0xaf, 0x9c, 0xac, 0xf3, 0xca, 0x0e, 0x6e, 0xdb, 0x16, 0xe6, 0x6e, 0x3f, + 0x8a, 0xcf, 0x5b, 0xfe, 0x38, 0x01, 0xd9, 0x15, 0xd7, 0x71, 0x6c, 0xc6, 0x6c, 0x97, 0xea, 0x98, + 0x13, 0x86, 0xb6, 0x21, 0xe5, 0x61, 0x4e, 0xe4, 0xa3, 0xc6, 0xab, 0xcb, 0x82, 0xe9, 0xaf, 0x47, + 0xc5, 0x17, 0x5b, 0x36, 0xdf, 0xeb, 0x36, 0x2b, 0xa6, 0xeb, 0x28, 0x35, 0xaa, 0x7f, 0xb7, 0x99, + 0xb5, 0xaf, 0x24, 0xad, 0x11, 0xf3, 0xd3, 0x8f, 0x6e, 0x83, 0x7a, 0x48, 0x8d, 0x98, 0xfe, 0x65, + 0x12, 0x0e, 0xfd, 0x08, 0xc6, 0x1c, 0x7c, 0x60, 0x48, 0xe8, 0xc4, 0x65, 0x41, 0x8f, 0x3a, 0xf8, + 0x40, 0xbc, 0x1a, 0xd9, 0x90, 0x15, 0xe8, 0xe6, 0x1e, 0xa6, 0x2d, 0xe2, 0x5f, 0x92, 0xbc, 0xac, + 0x4b, 0x26, 0x1d, 0x7c, 0xb0, 0x22, 0x81, 0xc5, 0x55, 0x4b, 0xa9, 0xcf, 0x1f, 0x16, 0xb5, 0xf2, + 0x1f, 0x34, 0x80, 0x48, 0x73, 0x08, 0x43, 0xce, 0x0c, 0x57, 0xf2, 0x7e, 0xa6, 0xac, 0xfa, 0xd2, + 0x30, 0xc3, 0x1c, 0xd3, 0x7b, 0x75, 0x52, 0xbc, 0xf4, 0xd1, 0x51, 0x51, 0xf3, 0x6f, 0xcd, 0x9a, + 0xc7, 0xec, 0xf2, 0x3a, 0x64, 0xba, 0x1d, 0x0b, 0x73, 0x62, 0x08, 0x27, 0x97, 0x3a, 0xcc, 0x2c, + 0x16, 0x2a, 0x7e, 0x04, 0x54, 0x82, 0x08, 0xa8, 0x6c, 0x05, 0x11, 0xe0, 0x03, 0xbe, 0xf7, 0xb7, + 0x00, 0x10, 0x7c, 0x6e, 0x71, 0xae, 0x64, 0xf8, 0x40, 0x83, 0x4c, 0x8d, 0x30, 0xd3, 0xb3, 0x3b, + 0x22, 0xa6, 0x50, 0x1e, 0x46, 0x1d, 0x97, 0xda, 0xfb, 0xca, 0x23, 0xc7, 0xf5, 0x60, 0x89, 0x0a, + 0x30, 0x66, 0x5b, 0x84, 0x72, 0x9b, 0xf7, 0x7c, 0xe3, 0xe9, 0xe1, 0x5a, 0x70, 0xdd, 0x27, 0x4d, + 0x66, 0x07, 0x2a, 0xd7, 0x83, 0x25, 0x7a, 0x19, 0x72, 0x8c, 0x98, 0x5d, 0xcf, 0xe6, 0x3d, 0xc3, + 0x74, 0x29, 0xc7, 0x26, 0xcf, 0xa7, 0x24, 0x49, 0x36, 0xd8, 0x5f, 0xf1, 0xb7, 0x05, 0x88, 0x45, + 0x38, 0xb6, 0xdb, 0x2c, 0xff, 0x9c, 0x0f, 0xa2, 0x96, 0xea, 0xa9, 0x1f, 0x8f, 0xc2, 0x78, 0xe8, + 0xc9, 0x68, 0x05, 0x72, 0x6e, 0x87, 0x78, 0xe2, 0xb7, 0x81, 0x2d, 0xcb, 0x23, 0x8c, 0x29, 0x77, + 0xcd, 0x7f, 0xfa, 0xd1, 0xed, 0xab, 0x4a, 0xe1, 0xcb, 0xfe, 0x49, 0x83, 0x7b, 0x36, 0x6d, 0xe9, + 0xd9, 0x80, 0x43, 0x6d, 0xa3, 0x77, 0x84, 0xc9, 0x28, 0x23, 0x94, 0x75, 0x99, 0xd1, 0xe9, 0x36, + 0xf7, 0x49, 0x4f, 0x29, 0xf5, 0xea, 0x80, 0x52, 0x97, 0x69, 0xaf, 0x9a, 0xff, 0x53, 0x04, 0x6d, + 0x7a, 0xbd, 0x0e, 0x77, 0x2b, 0x9b, 0xdd, 0xe6, 0x1b, 0xa4, 0x27, 0x4c, 0xa5, 0x70, 0x36, 0x25, + 0x0c, 0xba, 0x0e, 0xe9, 0x9f, 0x60, 0xbb, 0x4d, 0x2c, 0xa9, 0x91, 0x31, 0x5d, 0xad, 0xd0, 0x12, + 0xa4, 0x19, 0xc7, 0xbc, 0xcb, 0xa4, 0x1a, 0xa6, 0x16, 0xcb, 0xc3, 0x7c, 0xa3, 0xea, 0x52, 0xab, + 0x21, 0x29, 0x75, 0xc5, 0x81, 0xb6, 0x20, 0xcd, 0xdd, 0x7d, 0x42, 0x95, 0x82, 0xaa, 0xaf, 0x5e, + 0xc0, 0xb1, 0xeb, 0x94, 0xc7, 0x1c, 0xbb, 0x4e, 0xb9, 0xae, 0xb0, 0x50, 0x0b, 0x72, 0x16, 0x69, + 0x93, 0x96, 0x54, 0x25, 0xdb, 0xc3, 0x1e, 0x61, 0xf9, 0xf4, 0x85, 0xf1, 0x07, 0x02, 0x47, 0xcf, + 0x86, 0xa8, 0x0d, 0x09, 0x8a, 0x36, 0x21, 0x63, 0x45, 0xae, 0x96, 0x1f, 0x95, 0x8a, 0x7e, 0x61, + 0x98, 0xfc, 0x31, 0xaf, 0x8c, 0xa7, 0xad, 0x38, 0x84, 0xf0, 0xae, 0x2e, 0x6d, 0xba, 0xd4, 0xb2, + 0x69, 0xcb, 0xd8, 0x23, 0x76, 0x6b, 0x8f, 0xe7, 0xc7, 0x4a, 0xda, 0x7c, 0x52, 0xcf, 0x86, 0xfb, + 0x77, 0xe5, 0x36, 0xda, 0x84, 0xa9, 0x88, 0x54, 0x46, 0xcf, 0xf8, 0x45, 0xa3, 0x67, 0x32, 0x04, + 0x10, 0x24, 0xe8, 0x2d, 0x80, 0x28, 0x3e, 0xf3, 0x20, 0xd1, 0xca, 0x67, 0x47, 0x7a, 0x5c, 0x98, + 0x18, 0x00, 0x6a, 0xc3, 0x15, 0xc7, 0xa6, 0x06, 0x23, 0xed, 0x5d, 0x43, 0x69, 0x4e, 0xe0, 0x66, + 0x2e, 0xc1, 0xd2, 0xd3, 0x8e, 0x4d, 0x1b, 0xa4, 0xbd, 0x5b, 0x0b, 0x61, 0xd1, 0xab, 0x30, 0x1b, + 0xa9, 0xc3, 0xa5, 0xc6, 0x9e, 0xdb, 0xb6, 0x0c, 0x8f, 0xec, 0x1a, 0xa6, 0xdb, 0xa5, 0x3c, 0x3f, + 0x21, 0x95, 0x78, 0x23, 0x24, 0xd9, 0xa0, 0x77, 0xdd, 0xb6, 0xa5, 0x93, 0xdd, 0x15, 0x71, 0x8c, + 0x5e, 0x80, 0x48, 0x17, 0x86, 0x6d, 0xb1, 0xfc, 0x64, 0x29, 0x39, 0x9f, 0xd2, 0x27, 0xc2, 0xcd, + 0xba, 0xc5, 0x96, 0xc6, 0xde, 0x7d, 0x58, 0x1c, 0xf9, 0xfc, 0x61, 0x71, 0xa4, 0xbc, 0x06, 0x13, + 0x3b, 0xb8, 0xad, 0x82, 0x8e, 0x30, 0xf4, 0x4d, 0x18, 0xc7, 0xc1, 0x22, 0xaf, 0x95, 0x92, 0xa7, + 0x06, 0x6d, 0x44, 0x5a, 0x7e, 0xa8, 0x41, 0xba, 0xb6, 0xb3, 0x89, 0x6d, 0x0f, 0xad, 0xc2, 0x74, + 0xe4, 0xb4, 0xe7, 0x8d, 0xff, 0xc8, 0xcf, 0x83, 0x04, 0xb0, 0x0a, 0xd3, 0xf7, 0x82, 0x94, 0x12, + 0xc2, 0x24, 0xce, 0x82, 0x09, 0x59, 0xd4, 0x7e, 0x4c, 0xd4, 0xd7, 0x61, 0xd4, 0x7f, 0x21, 0x43, + 0xdf, 0x83, 0xe7, 0x3a, 0xe2, 0x87, 0x94, 0x30, 0xb3, 0x38, 0x37, 0xd4, 0xd1, 0x25, 0x7d, 0xdc, + 0x2d, 0x7c, 0xbe, 0xf2, 0xbf, 0x35, 0x80, 0xda, 0xce, 0xce, 0x96, 0x67, 0x77, 0xda, 0x84, 0x5f, + 0x96, 0xc8, 0x6f, 0xc2, 0xb5, 0x48, 0x64, 0xe6, 0x99, 0xe7, 0x16, 0xfb, 0x4a, 0xc8, 0xd6, 0xf0, + 0xcc, 0x13, 0xd1, 0x2c, 0xc6, 0x43, 0xb4, 0xe4, 0xb9, 0xd1, 0x6a, 0x8c, 0x0f, 0xea, 0xf1, 0x6d, + 0xc8, 0x44, 0xa2, 0x33, 0x54, 0x87, 0x31, 0xae, 0x7e, 0x2b, 0x75, 0x96, 0x87, 0xab, 0x33, 0x60, + 0x8b, 0xab, 0x34, 0x64, 0x2f, 0xff, 0x47, 0x68, 0x35, 0x0a, 0x84, 0x2f, 0x94, 0x23, 0x89, 0x0c, + 0xaf, 0x32, 0x70, 0xf2, 0x12, 0x32, 0xb0, 0xc2, 0x8a, 0xa9, 0xf5, 0x67, 0x09, 0xb8, 0xb2, 0x1d, + 0x04, 0xe9, 0x17, 0x56, 0x0b, 0xdb, 0x30, 0x4a, 0x28, 0xf7, 0x6c, 0xa9, 0x06, 0x61, 0xec, 0xaf, + 0x0f, 0x33, 0xf6, 0x09, 0xb2, 0xac, 0x52, 0xee, 0xf5, 0xe2, 0xa6, 0x0f, 0xb0, 0x62, 0x6a, 0xf8, + 0x7d, 0x12, 0xf2, 0xc3, 0x58, 0xd1, 0x4b, 0x90, 0x35, 0x3d, 0x22, 0x37, 0x82, 0x9a, 0xa2, 0xc9, + 0x74, 0x38, 0x15, 0x6c, 0xab, 0x92, 0xa2, 0x83, 0xf8, 0x40, 0x13, 0x5e, 0x25, 0x48, 0x9f, 0xed, + 0x8b, 0x6c, 0x2a, 0x42, 0x90, 0x45, 0x85, 0x40, 0xd6, 0xa6, 0x36, 0xb7, 0x71, 0xdb, 0x68, 0xe2, + 0x36, 0xa6, 0x26, 0x79, 0x06, 0x4f, 0x18, 0xac, 0x00, 0x53, 0x0a, 0xb4, 0xea, 0x63, 0xa2, 0x1d, + 0x18, 0x0d, 0xe0, 0x53, 0x97, 0x00, 0x1f, 0x80, 0xa1, 0xe7, 0x61, 0x22, 0x5e, 0x18, 0xe4, 0x77, + 0x4a, 0x4a, 0xcf, 0xc4, 0xea, 0xc2, 0x59, 0x95, 0x27, 0x7d, 0x6a, 0xe5, 0x51, 0x9f, 0x82, 0xbf, + 0x4d, 0xc2, 0xb4, 0x4e, 0xac, 0x2f, 0xa1, 0xe1, 0x7e, 0x08, 0xe0, 0x07, 0xb5, 0x48, 0xb6, 0xcf, + 0x60, 0xbb, 0xc1, 0x24, 0x31, 0xee, 0xe3, 0xd5, 0x18, 0xff, 0x7f, 0x59, 0xef, 0xcf, 0x09, 0x98, + 0x88, 0x5b, 0xef, 0x4b, 0x50, 0xd9, 0xd0, 0x7a, 0x94, 0xd2, 0x52, 0x32, 0xa5, 0xbd, 0x3c, 0x2c, + 0xa5, 0x0d, 0xf8, 0xf5, 0x19, 0xb9, 0xec, 0x77, 0x29, 0x48, 0x6f, 0x62, 0x0f, 0x3b, 0x0c, 0x6d, + 0x0c, 0x7c, 0xe3, 0xfa, 0xfd, 0xe7, 0xcc, 0x80, 0x5b, 0xd7, 0xd4, 0x0c, 0xc5, 0xf7, 0xea, 0xf7, + 0x87, 0x7d, 0xe2, 0x7e, 0x0d, 0xa6, 0x44, 0x4b, 0x1d, 0x0a, 0xe4, 0xab, 0x72, 0x52, 0xb6, 0xc3, + 0x61, 0x2b, 0xc6, 0x50, 0x11, 0x32, 0x82, 0x2c, 0xca, 0xd9, 0x82, 0x06, 0x1c, 0x7c, 0xb0, 0xea, + 0xef, 0xa0, 0xdb, 0x80, 0xf6, 0xc2, 0xc1, 0x87, 0x11, 0x29, 0x42, 0xd0, 0x4d, 0x47, 0x27, 0x01, + 0xf9, 0x57, 0x01, 0xc4, 0x2b, 0x0c, 0x8b, 0x50, 0xd7, 0x51, 0xcd, 0xe0, 0xb8, 0xd8, 0xa9, 0x89, + 0x0d, 0xf4, 0x0b, 0xcd, 0xff, 0x54, 0x3e, 0xd6, 0x6d, 0xab, 0xa6, 0xc5, 0xb8, 0x58, 0x34, 0x3c, + 0x3d, 0x2a, 0x16, 0x7a, 0xd8, 0x69, 0x2f, 0x95, 0x4f, 0x80, 0x2c, 0x9f, 0x34, 0x0b, 0x10, 0x5f, + 0xd3, 0xfd, 0x8d, 0x3b, 0xfa, 0x36, 0xcc, 0xc8, 0xd1, 0x83, 0x4b, 0x83, 0x36, 0xd2, 0xf0, 0x5c, + 0x2e, 0x35, 0xcc, 0x64, 0x9f, 0x93, 0xd2, 0xaf, 0x3b, 0xf8, 0x60, 0xc5, 0xa5, 0xaa, 0x3d, 0xd4, + 0x83, 0x53, 0xf4, 0x36, 0xe4, 0x4f, 0x62, 0x33, 0x76, 0x09, 0x91, 0xad, 0x8c, 0xb0, 0x9e, 0x7a, + 0x41, 0x13, 0x33, 0x12, 0x6b, 0x28, 0x6c, 0x5a, 0x4d, 0x09, 0x59, 0xf5, 0x6b, 0xe6, 0x00, 0xee, + 0x1a, 0x21, 0x4b, 0x37, 0x45, 0xb0, 0x1d, 0x7e, 0xf6, 0xe1, 0xad, 0xd9, 0x98, 0xdc, 0x07, 0xe1, + 0xd8, 0xce, 0xf7, 0x99, 0xf2, 0xaf, 0x35, 0x40, 0x51, 0x05, 0xd4, 0x09, 0xeb, 0x88, 0x46, 0x56, + 0x34, 0x37, 0xb1, 0x26, 0x44, 0x3b, 0xbd, 0xb9, 0x89, 0xf8, 0xfb, 0x9a, 0x9b, 0x58, 0x84, 0x7f, + 0x37, 0xaa, 0x37, 0x89, 0xb3, 0x84, 0x8a, 0xbb, 0xbb, 0x62, 0x92, 0x89, 0x63, 0xa4, 0x7c, 0xa4, + 0xc1, 0xcc, 0x40, 0x78, 0x84, 0x4f, 0x36, 0x01, 0x79, 0xb1, 0x43, 0xe9, 0x66, 0x3d, 0xf5, 0xf4, + 0x67, 0x8b, 0xb6, 0x69, 0x6f, 0xa0, 0xc6, 0xfc, 0x8f, 0x0a, 0xa7, 0xca, 0x8c, 0x7f, 0xd4, 0xe0, + 0x6a, 0xfc, 0x45, 0xa1, 0x6c, 0x0d, 0x98, 0x88, 0xbf, 0x45, 0x49, 0x75, 0xf3, 0x3c, 0x52, 0xc5, + 0x05, 0xea, 0x03, 0x11, 0xb2, 0x04, 0xa1, 0xe8, 0x0f, 0x10, 0xef, 0x9c, 0x5b, 0x4b, 0xc1, 0xc3, + 0x4e, 0xcc, 0x4d, 0xbe, 0xb1, 0x7e, 0x9e, 0x80, 0xd4, 0xa6, 0xeb, 0xb6, 0xd1, 0x4f, 0x35, 0x98, + 0xa6, 0x2e, 0x37, 0x44, 0x00, 0x13, 0xcb, 0x50, 0x13, 0x0c, 0x3f, 0xbd, 0xef, 0x5c, 0x4c, 0x7b, + 0xff, 0x38, 0x2a, 0x0e, 0x42, 0xf5, 0xab, 0x54, 0x4d, 0xce, 0xa8, 0xcb, 0xab, 0x92, 0x68, 0xcb, + 0x1f, 0x72, 0xdc, 0x87, 0xc9, 0xfe, 0xfb, 0xfd, 0x9a, 0xa0, 0x5f, 0xf8, 0xfe, 0xc9, 0x33, 0xef, + 0x9e, 0x68, 0xc6, 0x2e, 0x5e, 0x1a, 0x13, 0x86, 0xfd, 0xa7, 0x30, 0xee, 0x3b, 0x90, 0x0b, 0x73, + 0xe6, 0xb6, 0x9c, 0xc3, 0x89, 0x0f, 0xe6, 0x51, 0x7f, 0x24, 0x17, 0xb4, 0x35, 0xa5, 0xf8, 0x00, + 0x18, 0x37, 0x4d, 0xbb, 0x72, 0x8c, 0xa7, 0x4f, 0xe3, 0x8a, 0xb7, 0xfc, 0xaf, 0x04, 0xcc, 0xa8, + 0xe4, 0xf2, 0x46, 0x94, 0x04, 0xfc, 0x59, 0x73, 0x0f, 0xad, 0x0d, 0x1d, 0x95, 0xcd, 0x3e, 0x3d, + 0x2a, 0xde, 0xf0, 0xb3, 0xdf, 0x71, 0x8a, 0xf2, 0xe0, 0xb4, 0xac, 0x0b, 0x59, 0x51, 0xed, 0x63, + 0xe9, 0xea, 0xd4, 0x61, 0xd9, 0xb7, 0x9e, 0x1e, 0x15, 0x67, 0x15, 0xb8, 0x62, 0x8b, 0x0f, 0xda, + 0xca, 0x43, 0x67, 0x69, 0x93, 0x6e, 0xdb, 0x8a, 0x52, 0xa5, 0xb8, 0x96, 0x92, 0xfb, 0x7d, 0xd7, + 0x26, 0xcf, 0x77, 0x6d, 0xc0, 0x76, 0xce, 0x6b, 0x29, 0xb9, 0x1f, 0xbb, 0xf6, 0x3a, 0xa4, 0xd5, + 0x47, 0x64, 0x4a, 0x26, 0x70, 0xb5, 0x5a, 0x9a, 0x10, 0x95, 0xf7, 0x7d, 0x55, 0x7d, 0x6f, 0xfd, + 0x46, 0x03, 0x88, 0x26, 0x75, 0xe8, 0x15, 0xb8, 0x51, 0xdd, 0x58, 0xaf, 0x19, 0x8d, 0xad, 0xe5, + 0xad, 0xed, 0x86, 0xb1, 0xbd, 0xde, 0xd8, 0x5c, 0x5d, 0xa9, 0xaf, 0xd5, 0x57, 0x6b, 0xb9, 0x91, + 0x42, 0xf6, 0xf0, 0x41, 0x29, 0xb3, 0x4d, 0x59, 0x87, 0x98, 0xf6, 0xae, 0x4d, 0x2c, 0xf4, 0x22, + 0x5c, 0xed, 0xa7, 0x16, 0xab, 0xd5, 0x5a, 0x4e, 0x2b, 0x4c, 0x1c, 0x3e, 0x28, 0x8d, 0xf9, 0x1d, + 0x0a, 0xb1, 0xd0, 0x3c, 0x5c, 0x1b, 0xa4, 0xab, 0xaf, 0xbf, 0x96, 0x4b, 0x14, 0x26, 0x0f, 0x1f, + 0x94, 0xc6, 0xc3, 0x56, 0x06, 0x95, 0x01, 0xc5, 0x29, 0x15, 0x5e, 0xb2, 0x00, 0x87, 0x0f, 0x4a, + 0x69, 0x3f, 0x20, 0x0a, 0xa9, 0x77, 0x7f, 0x35, 0x37, 0x72, 0xeb, 0xc7, 0x00, 0x75, 0xba, 0xeb, + 0x61, 0x53, 0xa6, 0x82, 0x02, 0x5c, 0xaf, 0xaf, 0xaf, 0xe9, 0xcb, 0x2b, 0x5b, 0xf5, 0x8d, 0xf5, + 0xfe, 0x67, 0x1f, 0x3b, 0xab, 0x6d, 0x6c, 0x57, 0xdf, 0x5c, 0x35, 0x1a, 0xf5, 0xd7, 0xd6, 0x73, + 0x1a, 0xba, 0x01, 0x57, 0xfa, 0xce, 0xbe, 0xbf, 0xbe, 0x55, 0x7f, 0x6b, 0x35, 0x97, 0xa8, 0xae, + 0x7d, 0xf2, 0x78, 0x4e, 0x7b, 0xf4, 0x78, 0x4e, 0xfb, 0xfb, 0xe3, 0x39, 0xed, 0xbd, 0x27, 0x73, + 0x23, 0x8f, 0x9e, 0xcc, 0x8d, 0xfc, 0xe5, 0xc9, 0xdc, 0xc8, 0x0f, 0x5e, 0x39, 0x35, 0xd4, 0xa2, + 0xfa, 0x24, 0x83, 0xae, 0x99, 0x96, 0xb6, 0xfd, 0xc6, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x0c, + 0xff, 0xa8, 0x54, 0x75, 0x1a, 0x00, 0x00, } func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { @@ -1476,680 +1476,680 @@ func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_go func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 10765 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7d, 0x6b, 0x90, 0x1c, 0xc7, - 0x79, 0xd8, 0xed, 0x7b, 0xf7, 0xdb, 0xd7, 0x5c, 0xdf, 0x11, 0x38, 0x2c, 0xc8, 0xbb, 0xe3, 0xf0, - 0x81, 0x07, 0xc9, 0x03, 0x09, 0x12, 0x20, 0xb9, 0x10, 0x45, 0xef, 0xee, 0x2d, 0x80, 0x03, 0xef, - 0xa5, 0xd9, 0x3b, 0xf0, 0x61, 0x5b, 0xa3, 0xb9, 0xdd, 0xbe, 0xbb, 0x21, 0x76, 0x67, 0x56, 0x33, - 0xb3, 0xc0, 0x1d, 0x2b, 0x95, 0xa2, 0x2d, 0xdb, 0x91, 0x11, 0x47, 0x96, 0xad, 0x94, 0x2d, 0x4b, - 0x82, 0x42, 0x59, 0xb1, 0x1e, 0xce, 0x4b, 0xb6, 0x14, 0x49, 0x8e, 0xcb, 0x2e, 0x39, 0x95, 0x87, - 0xec, 0xa4, 0x52, 0x92, 0x2b, 0x95, 0xb8, 0x52, 0x09, 0xe3, 0x50, 0xaa, 0x48, 0x91, 0xe5, 0xd8, - 0x96, 0x69, 0x3b, 0x8e, 0x2a, 0x95, 0x54, 0xbf, 0xe6, 0xb1, 0x8f, 0x9b, 0x3d, 0x88, 0xa4, 0x9d, - 0xd2, 0x1f, 0x60, 0xbb, 0xfb, 0xfb, 0xbe, 0xee, 0xfe, 0xfa, 0xeb, 0xef, 0xd5, 0x3d, 0x7d, 0xf0, - 0xa7, 0x17, 0x60, 0x7e, 0xc7, 0x34, 0x77, 0xda, 0xf8, 0x4c, 0xd7, 0x32, 0x1d, 0x73, 0xab, 0xb7, - 0x7d, 0xa6, 0x85, 0xed, 0xa6, 0xa5, 0x77, 0x1d, 0xd3, 0x5a, 0xa0, 0x75, 0xa8, 0xc8, 0x20, 0x16, - 0x04, 0x84, 0xbc, 0x02, 0x93, 0x17, 0xf5, 0x36, 0x5e, 0x74, 0x01, 0x1b, 0xd8, 0x41, 0x4f, 0x40, - 0x7c, 0x5b, 0x6f, 0xe3, 0x99, 0xc8, 0x7c, 0xec, 0x64, 0xf6, 0xec, 0xbd, 0x0b, 0x7d, 0x48, 0x0b, - 0x41, 0x8c, 0x75, 0x52, 0xad, 0x50, 0x0c, 0xf9, 0xeb, 0x71, 0x98, 0x1a, 0xd2, 0x8a, 0x10, 0xc4, - 0x0d, 0xad, 0x43, 0x28, 0x46, 0x4e, 0x66, 0x14, 0xfa, 0x1b, 0xcd, 0x40, 0xaa, 0xab, 0x35, 0xaf, - 0x69, 0x3b, 0x78, 0x26, 0x4a, 0xab, 0x45, 0x11, 0xcd, 0x02, 0xb4, 0x70, 0x17, 0x1b, 0x2d, 0x6c, - 0x34, 0xf7, 0x67, 0x62, 0xf3, 0xb1, 0x93, 0x19, 0xc5, 0x57, 0x83, 0x1e, 0x80, 0xc9, 0x6e, 0x6f, - 0xab, 0xad, 0x37, 0x55, 0x1f, 0x18, 0xcc, 0xc7, 0x4e, 0x26, 0x14, 0x89, 0x35, 0x2c, 0x7a, 0xc0, - 0x27, 0xa0, 0x78, 0x03, 0x6b, 0xd7, 0xfc, 0xa0, 0x59, 0x0a, 0x5a, 0x20, 0xd5, 0x3e, 0xc0, 0x1a, - 0xe4, 0x3a, 0xd8, 0xb6, 0xb5, 0x1d, 0xac, 0x3a, 0xfb, 0x5d, 0x3c, 0x13, 0xa7, 0xb3, 0x9f, 0x1f, - 0x98, 0x7d, 0xff, 0xcc, 0xb3, 0x1c, 0x6b, 0x63, 0xbf, 0x8b, 0x51, 0x05, 0x32, 0xd8, 0xe8, 0x75, - 0x18, 0x85, 0xc4, 0x08, 0xfe, 0xd5, 0x8d, 0x5e, 0xa7, 0x9f, 0x4a, 0x9a, 0xa0, 0x71, 0x12, 0x29, - 0x1b, 0x5b, 0xd7, 0xf5, 0x26, 0x9e, 0x49, 0x52, 0x02, 0x27, 0x06, 0x08, 0x34, 0x58, 0x7b, 0x3f, - 0x0d, 0x81, 0x87, 0x6a, 0x90, 0xc1, 0x7b, 0x0e, 0x36, 0x6c, 0xdd, 0x34, 0x66, 0x52, 0x94, 0xc8, - 0x7d, 0x43, 0x56, 0x11, 0xb7, 0x5b, 0xfd, 0x24, 0x3c, 0x3c, 0x74, 0x1e, 0x52, 0x66, 0xd7, 0xd1, - 0x4d, 0xc3, 0x9e, 0x49, 0xcf, 0x47, 0x4e, 0x66, 0xcf, 0xde, 0x39, 0x54, 0x10, 0xd6, 0x18, 0x8c, - 0x22, 0x80, 0xd1, 0x12, 0x48, 0xb6, 0xd9, 0xb3, 0x9a, 0x58, 0x6d, 0x9a, 0x2d, 0xac, 0xea, 0xc6, - 0xb6, 0x39, 0x93, 0xa1, 0x04, 0xe6, 0x06, 0x27, 0x42, 0x01, 0x6b, 0x66, 0x0b, 0x2f, 0x19, 0xdb, - 0xa6, 0x52, 0xb0, 0x03, 0x65, 0x74, 0x04, 0x92, 0xf6, 0xbe, 0xe1, 0x68, 0x7b, 0x33, 0x39, 0x2a, - 0x21, 0xbc, 0x24, 0xff, 0x5a, 0x12, 0x8a, 0xe3, 0x88, 0xd8, 0x05, 0x48, 0x6c, 0x93, 0x59, 0xce, - 0x44, 0x0f, 0xc3, 0x03, 0x86, 0x13, 0x64, 0x62, 0xf2, 0x36, 0x99, 0x58, 0x81, 0xac, 0x81, 0x6d, - 0x07, 0xb7, 0x98, 0x44, 0xc4, 0xc6, 0x94, 0x29, 0x60, 0x48, 0x83, 0x22, 0x15, 0xbf, 0x2d, 0x91, - 0x7a, 0x0e, 0x8a, 0xee, 0x90, 0x54, 0x4b, 0x33, 0x76, 0x84, 0x6c, 0x9e, 0x09, 0x1b, 0xc9, 0x42, - 0x5d, 0xe0, 0x29, 0x04, 0x4d, 0x29, 0xe0, 0x40, 0x19, 0x2d, 0x02, 0x98, 0x06, 0x36, 0xb7, 0xd5, - 0x16, 0x6e, 0xb6, 0x67, 0xd2, 0x23, 0xb8, 0xb4, 0x46, 0x40, 0x06, 0xb8, 0x64, 0xb2, 0xda, 0x66, - 0x1b, 0x3d, 0xe9, 0x89, 0x5a, 0x6a, 0x84, 0xa4, 0xac, 0xb0, 0x4d, 0x36, 0x20, 0x6d, 0x9b, 0x50, - 0xb0, 0x30, 0x91, 0x7b, 0xdc, 0xe2, 0x33, 0xcb, 0xd0, 0x41, 0x2c, 0x84, 0xce, 0x4c, 0xe1, 0x68, - 0x6c, 0x62, 0x79, 0xcb, 0x5f, 0x44, 0xf7, 0x80, 0x5b, 0xa1, 0x52, 0xb1, 0x02, 0xaa, 0x85, 0x72, - 0xa2, 0x72, 0x55, 0xeb, 0xe0, 0xd2, 0x4b, 0x50, 0x08, 0xb2, 0x07, 0x4d, 0x43, 0xc2, 0x76, 0x34, - 0xcb, 0xa1, 0x52, 0x98, 0x50, 0x58, 0x01, 0x49, 0x10, 0xc3, 0x46, 0x8b, 0x6a, 0xb9, 0x84, 0x42, - 0x7e, 0xa2, 0x1f, 0xf0, 0x26, 0x1c, 0xa3, 0x13, 0xbe, 0x7f, 0x70, 0x45, 0x03, 0x94, 0xfb, 0xe7, - 0x5d, 0x7a, 0x1c, 0xf2, 0x81, 0x09, 0x8c, 0xdb, 0xb5, 0xfc, 0x37, 0xe0, 0x8e, 0xa1, 0xa4, 0xd1, - 0x73, 0x30, 0xdd, 0x33, 0x74, 0xc3, 0xc1, 0x56, 0xd7, 0xc2, 0x44, 0x62, 0x59, 0x57, 0x33, 0xdf, - 0x48, 0x8d, 0x90, 0xb9, 0x4d, 0x3f, 0x34, 0xa3, 0xa2, 0x4c, 0xf5, 0x06, 0x2b, 0x4f, 0x67, 0xd2, - 0xdf, 0x4c, 0x49, 0x2f, 0xbf, 0xfc, 0xf2, 0xcb, 0x51, 0xf9, 0xb7, 0x92, 0x30, 0x3d, 0x6c, 0xcf, - 0x0c, 0xdd, 0xbe, 0x47, 0x20, 0x69, 0xf4, 0x3a, 0x5b, 0xd8, 0xa2, 0x4c, 0x4a, 0x28, 0xbc, 0x84, - 0x2a, 0x90, 0x68, 0x6b, 0x5b, 0xb8, 0x3d, 0x13, 0x9f, 0x8f, 0x9c, 0x2c, 0x9c, 0x7d, 0x60, 0xac, - 0x5d, 0xb9, 0xb0, 0x4c, 0x50, 0x14, 0x86, 0x89, 0xde, 0x0e, 0x71, 0xae, 0xa2, 0x09, 0x85, 0xd3, - 0xe3, 0x51, 0x20, 0x7b, 0x49, 0xa1, 0x78, 0xe8, 0x38, 0x64, 0xc8, 0xff, 0x4c, 0x36, 0x92, 0x74, - 0xcc, 0x69, 0x52, 0x41, 0xe4, 0x02, 0x95, 0x20, 0x4d, 0xb7, 0x49, 0x0b, 0x0b, 0xd3, 0xe6, 0x96, - 0x89, 0x60, 0xb5, 0xf0, 0xb6, 0xd6, 0x6b, 0x3b, 0xea, 0x75, 0xad, 0xdd, 0xc3, 0x54, 0xe0, 0x33, - 0x4a, 0x8e, 0x57, 0x5e, 0x25, 0x75, 0x68, 0x0e, 0xb2, 0x6c, 0x57, 0xe9, 0x46, 0x0b, 0xef, 0x51, - 0xed, 0x99, 0x50, 0xd8, 0x46, 0x5b, 0x22, 0x35, 0xa4, 0xfb, 0x17, 0x6d, 0xd3, 0x10, 0xa2, 0x49, - 0xbb, 0x20, 0x15, 0xb4, 0xfb, 0xc7, 0xfb, 0x15, 0xf7, 0x5d, 0xc3, 0xa7, 0x37, 0xb0, 0x97, 0x4e, - 0x40, 0x91, 0x42, 0x3c, 0xca, 0x97, 0x5e, 0x6b, 0xcf, 0x4c, 0xce, 0x47, 0x4e, 0xa6, 0x95, 0x02, - 0xab, 0x5e, 0xe3, 0xb5, 0xf2, 0xe7, 0xa3, 0x10, 0xa7, 0x8a, 0xa5, 0x08, 0xd9, 0x8d, 0xe7, 0xd7, - 0xeb, 0xea, 0xe2, 0xda, 0x66, 0x75, 0xb9, 0x2e, 0x45, 0x50, 0x01, 0x80, 0x56, 0x5c, 0x5c, 0x5e, - 0xab, 0x6c, 0x48, 0x51, 0xb7, 0xbc, 0xb4, 0xba, 0x71, 0xfe, 0x31, 0x29, 0xe6, 0x22, 0x6c, 0xb2, - 0x8a, 0xb8, 0x1f, 0xe0, 0xd1, 0xb3, 0x52, 0x02, 0x49, 0x90, 0x63, 0x04, 0x96, 0x9e, 0xab, 0x2f, - 0x9e, 0x7f, 0x4c, 0x4a, 0x06, 0x6b, 0x1e, 0x3d, 0x2b, 0xa5, 0x50, 0x1e, 0x32, 0xb4, 0xa6, 0xba, - 0xb6, 0xb6, 0x2c, 0xa5, 0x5d, 0x9a, 0x8d, 0x0d, 0x65, 0x69, 0xf5, 0x92, 0x94, 0x71, 0x69, 0x5e, - 0x52, 0xd6, 0x36, 0xd7, 0x25, 0x70, 0x29, 0xac, 0xd4, 0x1b, 0x8d, 0xca, 0xa5, 0xba, 0x94, 0x75, - 0x21, 0xaa, 0xcf, 0x6f, 0xd4, 0x1b, 0x52, 0x2e, 0x30, 0xac, 0x47, 0xcf, 0x4a, 0x79, 0xb7, 0x8b, - 0xfa, 0xea, 0xe6, 0x8a, 0x54, 0x40, 0x93, 0x90, 0x67, 0x5d, 0x88, 0x41, 0x14, 0xfb, 0xaa, 0xce, - 0x3f, 0x26, 0x49, 0xde, 0x40, 0x18, 0x95, 0xc9, 0x40, 0xc5, 0xf9, 0xc7, 0x24, 0x24, 0xd7, 0x20, - 0x41, 0xc5, 0x10, 0x21, 0x28, 0x2c, 0x57, 0xaa, 0xf5, 0x65, 0x75, 0x6d, 0x7d, 0x63, 0x69, 0x6d, - 0xb5, 0xb2, 0x2c, 0x45, 0xbc, 0x3a, 0xa5, 0xfe, 0x8e, 0xcd, 0x25, 0xa5, 0xbe, 0x28, 0x45, 0xfd, - 0x75, 0xeb, 0xf5, 0xca, 0x46, 0x7d, 0x51, 0x8a, 0xc9, 0x4d, 0x98, 0x1e, 0xa6, 0x50, 0x87, 0x6e, - 0x21, 0x9f, 0x2c, 0x44, 0x47, 0xc8, 0x02, 0xa5, 0xd5, 0x2f, 0x0b, 0xf2, 0xd7, 0xa2, 0x30, 0x35, - 0xc4, 0xa8, 0x0c, 0xed, 0xe4, 0x69, 0x48, 0x30, 0x59, 0x66, 0x66, 0xf6, 0xd4, 0x50, 0xeb, 0x44, - 0x25, 0x7b, 0xc0, 0xd4, 0x52, 0x3c, 0xbf, 0xab, 0x11, 0x1b, 0xe1, 0x6a, 0x10, 0x12, 0x03, 0x02, - 0xfb, 0xc3, 0x03, 0xca, 0x9f, 0xd9, 0xc7, 0xf3, 0xe3, 0xd8, 0x47, 0x5a, 0x77, 0x38, 0x23, 0x90, - 0x18, 0x62, 0x04, 0x2e, 0xc0, 0xe4, 0x00, 0xa1, 0xb1, 0x95, 0xf1, 0x7b, 0x22, 0x30, 0x33, 0x8a, - 0x39, 0x21, 0x2a, 0x31, 0x1a, 0x50, 0x89, 0x17, 0xfa, 0x39, 0x78, 0xf7, 0xe8, 0x45, 0x18, 0x58, - 0xeb, 0x4f, 0x46, 0xe0, 0xc8, 0x70, 0x97, 0x72, 0xe8, 0x18, 0xde, 0x0e, 0xc9, 0x0e, 0x76, 0x76, - 0x4d, 0xe1, 0x56, 0xdd, 0x3f, 0xc4, 0x58, 0x93, 0xe6, 0xfe, 0xc5, 0xe6, 0x58, 0x7e, 0x6b, 0x1f, - 0x1b, 0xe5, 0x17, 0xb2, 0xd1, 0x0c, 0x8c, 0xf4, 0x27, 0xa3, 0x70, 0xc7, 0x50, 0xe2, 0x43, 0x07, - 0x7a, 0x17, 0x80, 0x6e, 0x74, 0x7b, 0x0e, 0x73, 0x9d, 0x98, 0x26, 0xce, 0xd0, 0x1a, 0xaa, 0xbc, - 0x88, 0x96, 0xed, 0x39, 0x6e, 0x7b, 0x8c, 0xb6, 0x03, 0xab, 0xa2, 0x00, 0x4f, 0x78, 0x03, 0x8d, - 0xd3, 0x81, 0xce, 0x8e, 0x98, 0xe9, 0x80, 0x60, 0x3e, 0x0c, 0x52, 0xb3, 0xad, 0x63, 0xc3, 0x51, - 0x6d, 0xc7, 0xc2, 0x5a, 0x47, 0x37, 0x76, 0xa8, 0xa9, 0x49, 0x97, 0x13, 0xdb, 0x5a, 0xdb, 0xc6, - 0x4a, 0x91, 0x35, 0x37, 0x44, 0x2b, 0xc1, 0xa0, 0x02, 0x64, 0xf9, 0x30, 0x92, 0x01, 0x0c, 0xd6, - 0xec, 0x62, 0xc8, 0x3f, 0x93, 0x81, 0xac, 0xcf, 0x01, 0x47, 0x77, 0x43, 0xee, 0x45, 0xed, 0xba, - 0xa6, 0x8a, 0xa0, 0x8a, 0x71, 0x22, 0x4b, 0xea, 0xd6, 0x79, 0x60, 0xf5, 0x30, 0x4c, 0x53, 0x10, - 0xb3, 0xe7, 0x60, 0x4b, 0x6d, 0xb6, 0x35, 0xdb, 0xa6, 0x4c, 0x4b, 0x53, 0x50, 0x44, 0xda, 0xd6, - 0x48, 0x53, 0x4d, 0xb4, 0xa0, 0x73, 0x30, 0x45, 0x31, 0x3a, 0xbd, 0xb6, 0xa3, 0x77, 0xdb, 0x58, - 0x25, 0x61, 0x9e, 0x4d, 0x4d, 0x8e, 0x3b, 0xb2, 0x49, 0x02, 0xb1, 0xc2, 0x01, 0xc8, 0x88, 0x6c, - 0xb4, 0x08, 0x77, 0x51, 0xb4, 0x1d, 0x6c, 0x60, 0x4b, 0x73, 0xb0, 0x8a, 0xdf, 0xdd, 0xd3, 0xda, - 0xb6, 0xaa, 0x19, 0x2d, 0x75, 0x57, 0xb3, 0x77, 0x67, 0xa6, 0x09, 0x81, 0x6a, 0x74, 0x26, 0xa2, - 0x1c, 0x23, 0x80, 0x97, 0x38, 0x5c, 0x9d, 0x82, 0x55, 0x8c, 0xd6, 0x65, 0xcd, 0xde, 0x45, 0x65, - 0x38, 0x42, 0xa9, 0xd8, 0x8e, 0xa5, 0x1b, 0x3b, 0x6a, 0x73, 0x17, 0x37, 0xaf, 0xa9, 0x3d, 0x67, - 0xfb, 0x89, 0x99, 0xe3, 0xfe, 0xfe, 0xe9, 0x08, 0x1b, 0x14, 0xa6, 0x46, 0x40, 0x36, 0x9d, 0xed, - 0x27, 0x50, 0x03, 0x72, 0x64, 0x31, 0x3a, 0xfa, 0x4b, 0x58, 0xdd, 0x36, 0x2d, 0x6a, 0x43, 0x0b, - 0x43, 0x54, 0x93, 0x8f, 0x83, 0x0b, 0x6b, 0x1c, 0x61, 0xc5, 0x6c, 0xe1, 0x72, 0xa2, 0xb1, 0x5e, - 0xaf, 0x2f, 0x2a, 0x59, 0x41, 0xe5, 0xa2, 0x69, 0x11, 0x81, 0xda, 0x31, 0x5d, 0x06, 0x67, 0x99, - 0x40, 0xed, 0x98, 0x82, 0xbd, 0xe7, 0x60, 0xaa, 0xd9, 0x64, 0x73, 0xd6, 0x9b, 0x2a, 0x0f, 0xc6, - 0xec, 0x19, 0x29, 0xc0, 0xac, 0x66, 0xf3, 0x12, 0x03, 0xe0, 0x32, 0x6e, 0xa3, 0x27, 0xe1, 0x0e, - 0x8f, 0x59, 0x7e, 0xc4, 0xc9, 0x81, 0x59, 0xf6, 0xa3, 0x9e, 0x83, 0xa9, 0xee, 0xfe, 0x20, 0x22, - 0x0a, 0xf4, 0xd8, 0xdd, 0xef, 0x47, 0x7b, 0x1c, 0xa6, 0xbb, 0xbb, 0xdd, 0x41, 0xbc, 0xd3, 0x7e, - 0x3c, 0xd4, 0xdd, 0xed, 0xf6, 0x23, 0xde, 0x47, 0x23, 0x73, 0x0b, 0x37, 0x35, 0x07, 0xb7, 0x66, - 0x8e, 0xfa, 0xc1, 0x7d, 0x0d, 0x68, 0x01, 0xa4, 0x66, 0x53, 0xc5, 0x86, 0xb6, 0xd5, 0xc6, 0xaa, - 0x66, 0x61, 0x43, 0xb3, 0x67, 0xe6, 0x28, 0x70, 0xdc, 0xb1, 0x7a, 0x58, 0x29, 0x34, 0x9b, 0x75, - 0xda, 0x58, 0xa1, 0x6d, 0xe8, 0x34, 0x4c, 0x9a, 0x5b, 0x2f, 0x36, 0x99, 0x44, 0xaa, 0x5d, 0x0b, - 0x6f, 0xeb, 0x7b, 0x33, 0xf7, 0x52, 0xf6, 0x16, 0x49, 0x03, 0x95, 0xc7, 0x75, 0x5a, 0x8d, 0x4e, - 0x81, 0xd4, 0xb4, 0x77, 0x35, 0xab, 0x4b, 0x55, 0xb2, 0xdd, 0xd5, 0x9a, 0x78, 0xe6, 0x3e, 0x06, - 0xca, 0xea, 0x57, 0x45, 0x35, 0xd9, 0x11, 0xf6, 0x0d, 0x7d, 0xdb, 0x11, 0x14, 0x4f, 0xb0, 0x1d, - 0x41, 0xeb, 0x38, 0xb5, 0x93, 0x20, 0x11, 0x4e, 0x04, 0x3a, 0x3e, 0x49, 0xc1, 0x0a, 0xdd, 0xdd, - 0xae, 0xbf, 0xdf, 0x7b, 0x20, 0x4f, 0x20, 0xbd, 0x4e, 0x4f, 0x31, 0xc7, 0xad, 0xbb, 0xeb, 0xeb, - 0xf1, 0x31, 0x38, 0x42, 0x80, 0x3a, 0xd8, 0xd1, 0x5a, 0x9a, 0xa3, 0xf9, 0xa0, 0x1f, 0xa4, 0xd0, - 0x84, 0xed, 0x2b, 0xbc, 0x31, 0x30, 0x4e, 0xab, 0xb7, 0xb5, 0xef, 0x0a, 0xd6, 0x43, 0x6c, 0x9c, - 0xa4, 0x4e, 0x88, 0xd6, 0x9b, 0xe6, 0x9c, 0xcb, 0x65, 0xc8, 0xf9, 0xe5, 0x1e, 0x65, 0x80, 0x49, - 0xbe, 0x14, 0x21, 0x4e, 0x50, 0x6d, 0x6d, 0x91, 0xb8, 0x2f, 0x2f, 0xd4, 0xa5, 0x28, 0x71, 0xa3, - 0x96, 0x97, 0x36, 0xea, 0xaa, 0xb2, 0xb9, 0xba, 0xb1, 0xb4, 0x52, 0x97, 0x62, 0x3e, 0xc7, 0xfe, - 0x4a, 0x3c, 0x7d, 0xbf, 0x74, 0x82, 0x78, 0x0d, 0x85, 0x60, 0xa4, 0x86, 0xde, 0x06, 0x47, 0x45, - 0x5a, 0xc5, 0xc6, 0x8e, 0x7a, 0x43, 0xb7, 0xe8, 0x86, 0xec, 0x68, 0xcc, 0x38, 0xba, 0xf2, 0x33, - 0xcd, 0xa1, 0x1a, 0xd8, 0x79, 0x56, 0xb7, 0xc8, 0x76, 0xeb, 0x68, 0x0e, 0x5a, 0x86, 0x39, 0xc3, - 0x54, 0x6d, 0x47, 0x33, 0x5a, 0x9a, 0xd5, 0x52, 0xbd, 0x84, 0x96, 0xaa, 0x35, 0x9b, 0xd8, 0xb6, - 0x4d, 0x66, 0x08, 0x5d, 0x2a, 0x77, 0x1a, 0x66, 0x83, 0x03, 0x7b, 0x16, 0xa2, 0xc2, 0x41, 0xfb, - 0xc4, 0x37, 0x36, 0x4a, 0x7c, 0x8f, 0x43, 0xa6, 0xa3, 0x75, 0x55, 0x6c, 0x38, 0xd6, 0x3e, 0xf5, - 0xcf, 0xd3, 0x4a, 0xba, 0xa3, 0x75, 0xeb, 0xa4, 0xfc, 0x96, 0x84, 0x49, 0x57, 0xe2, 0xe9, 0xb8, - 0x94, 0xb8, 0x12, 0x4f, 0x27, 0xa4, 0xe4, 0x95, 0x78, 0x3a, 0x29, 0xa5, 0xae, 0xc4, 0xd3, 0x69, - 0x29, 0x73, 0x25, 0x9e, 0xce, 0x48, 0x20, 0xff, 0x6c, 0x1c, 0x72, 0x7e, 0x0f, 0x9e, 0x04, 0x44, - 0x4d, 0x6a, 0xc3, 0x22, 0x54, 0xcb, 0xdd, 0x73, 0xa0, 0xbf, 0xbf, 0x50, 0x23, 0xc6, 0xad, 0x9c, - 0x64, 0xee, 0xb2, 0xc2, 0x30, 0x89, 0x63, 0x41, 0xc4, 0x0f, 0x33, 0xf7, 0x24, 0xad, 0xf0, 0x12, - 0xba, 0x04, 0xc9, 0x17, 0x6d, 0x4a, 0x3b, 0x49, 0x69, 0xdf, 0x7b, 0x30, 0xed, 0x2b, 0x0d, 0x4a, - 0x3c, 0x73, 0xa5, 0xa1, 0xae, 0xae, 0x29, 0x2b, 0x95, 0x65, 0x85, 0xa3, 0xa3, 0x63, 0x10, 0x6f, - 0x6b, 0x2f, 0xed, 0x07, 0xcd, 0x20, 0xad, 0x42, 0x0b, 0x50, 0xec, 0x19, 0xd7, 0xb1, 0xa5, 0x6f, - 0xeb, 0xb8, 0xa5, 0x52, 0xa8, 0xa2, 0x1f, 0xaa, 0xe0, 0xb5, 0x2e, 0x13, 0xf8, 0x31, 0x97, 0xf1, - 0x18, 0xc4, 0x6f, 0x60, 0xed, 0x5a, 0xd0, 0x58, 0xd1, 0xaa, 0x37, 0x71, 0x3b, 0x9d, 0x81, 0x04, - 0xe5, 0x2f, 0x02, 0xe0, 0x1c, 0x96, 0x26, 0x50, 0x1a, 0xe2, 0xb5, 0x35, 0x85, 0x6c, 0x29, 0x09, - 0x72, 0xac, 0x56, 0x5d, 0x5f, 0xaa, 0xd7, 0xea, 0x52, 0x54, 0x3e, 0x07, 0x49, 0xc6, 0x34, 0xb2, - 0xdd, 0x5c, 0xb6, 0x49, 0x13, 0xbc, 0xc8, 0x69, 0x44, 0x44, 0xeb, 0xe6, 0x4a, 0xb5, 0xae, 0x48, - 0xd1, 0x01, 0x61, 0x91, 0x6d, 0xc8, 0xf9, 0x3d, 0xf9, 0xb7, 0x26, 0x9c, 0xff, 0x52, 0x04, 0xb2, - 0x3e, 0xcf, 0x9c, 0xb8, 0x54, 0x5a, 0xbb, 0x6d, 0xde, 0x50, 0xb5, 0xb6, 0xae, 0xd9, 0x5c, 0x94, - 0x80, 0x56, 0x55, 0x48, 0xcd, 0xb8, 0x4b, 0xf7, 0x16, 0x6d, 0xb2, 0x84, 0x94, 0x94, 0x3f, 0x1a, - 0x01, 0xa9, 0xdf, 0x35, 0xee, 0x1b, 0x66, 0xe4, 0xaf, 0x72, 0x98, 0xf2, 0x47, 0x22, 0x50, 0x08, - 0xfa, 0xc3, 0x7d, 0xc3, 0xbb, 0xfb, 0xaf, 0x74, 0x78, 0xbf, 0x1f, 0x85, 0x7c, 0xc0, 0x0b, 0x1e, - 0x77, 0x74, 0xef, 0x86, 0x49, 0xbd, 0x85, 0x3b, 0x5d, 0xd3, 0xc1, 0x46, 0x73, 0x5f, 0x6d, 0xe3, - 0xeb, 0xb8, 0x3d, 0x23, 0x53, 0x25, 0x73, 0xe6, 0x60, 0x3f, 0x7b, 0x61, 0xc9, 0xc3, 0x5b, 0x26, - 0x68, 0xe5, 0xa9, 0xa5, 0xc5, 0xfa, 0xca, 0xfa, 0xda, 0x46, 0x7d, 0xb5, 0xf6, 0xbc, 0xba, 0xb9, - 0xfa, 0xcc, 0xea, 0xda, 0xb3, 0xab, 0x8a, 0xa4, 0xf7, 0x81, 0xbd, 0x89, 0xdb, 0x7e, 0x1d, 0xa4, - 0xfe, 0x41, 0xa1, 0xa3, 0x30, 0x6c, 0x58, 0xd2, 0x04, 0x9a, 0x82, 0xe2, 0xea, 0x9a, 0xda, 0x58, - 0x5a, 0xac, 0xab, 0xf5, 0x8b, 0x17, 0xeb, 0xb5, 0x8d, 0x06, 0xcb, 0x9c, 0xb8, 0xd0, 0x1b, 0x81, - 0x0d, 0x2e, 0x7f, 0x28, 0x06, 0x53, 0x43, 0x46, 0x82, 0x2a, 0x3c, 0xe6, 0x61, 0x61, 0xd8, 0x43, - 0xe3, 0x8c, 0x7e, 0x81, 0x78, 0x1d, 0xeb, 0x9a, 0xe5, 0xf0, 0x10, 0xe9, 0x14, 0x10, 0x2e, 0x19, - 0x0e, 0x51, 0xae, 0x16, 0xcf, 0x48, 0xb1, 0x40, 0xa8, 0xe8, 0xd5, 0xb3, 0xa4, 0xd4, 0x83, 0x80, - 0xba, 0xa6, 0xad, 0x3b, 0xfa, 0x75, 0xac, 0xea, 0x86, 0x48, 0x5f, 0x91, 0xc0, 0x28, 0xae, 0x48, - 0xa2, 0x65, 0xc9, 0x70, 0x5c, 0x68, 0x03, 0xef, 0x68, 0x7d, 0xd0, 0x44, 0xf9, 0xc7, 0x14, 0x49, - 0xb4, 0xb8, 0xd0, 0x77, 0x43, 0xae, 0x65, 0xf6, 0x88, 0xb7, 0xc8, 0xe0, 0x88, 0xad, 0x89, 0x28, - 0x59, 0x56, 0xe7, 0x82, 0xf0, 0x38, 0xc0, 0xcb, 0x9b, 0xe5, 0x94, 0x2c, 0xab, 0x63, 0x20, 0x27, - 0xa0, 0xa8, 0xed, 0xec, 0x58, 0x84, 0xb8, 0x20, 0xc4, 0x22, 0x9b, 0x82, 0x5b, 0x4d, 0x01, 0x4b, - 0x57, 0x20, 0x2d, 0xf8, 0x40, 0x8c, 0x3d, 0xe1, 0x84, 0xda, 0x65, 0xe1, 0x7a, 0xf4, 0x64, 0x46, - 0x49, 0x1b, 0xa2, 0xf1, 0x6e, 0xc8, 0xe9, 0xb6, 0xea, 0x1d, 0x03, 0x44, 0xe7, 0xa3, 0x27, 0xd3, - 0x4a, 0x56, 0xb7, 0xdd, 0x14, 0xaa, 0xfc, 0xc9, 0x28, 0x14, 0x82, 0xc7, 0x18, 0x68, 0x11, 0xd2, - 0x6d, 0xb3, 0xa9, 0x51, 0xd1, 0x62, 0x67, 0x68, 0x27, 0x43, 0x4e, 0x3e, 0x16, 0x96, 0x39, 0xbc, - 0xe2, 0x62, 0x96, 0xfe, 0x5d, 0x04, 0xd2, 0xa2, 0x1a, 0x1d, 0x81, 0x78, 0x57, 0x73, 0x76, 0x29, - 0xb9, 0x44, 0x35, 0x2a, 0x45, 0x14, 0x5a, 0x26, 0xf5, 0x76, 0x57, 0x33, 0xa8, 0x08, 0xf0, 0x7a, - 0x52, 0x26, 0xeb, 0xda, 0xc6, 0x5a, 0x8b, 0x86, 0x4d, 0x66, 0xa7, 0x83, 0x0d, 0xc7, 0x16, 0xeb, - 0xca, 0xeb, 0x6b, 0xbc, 0x1a, 0x3d, 0x00, 0x93, 0x8e, 0xa5, 0xe9, 0xed, 0x00, 0x6c, 0x9c, 0xc2, - 0x4a, 0xa2, 0xc1, 0x05, 0x2e, 0xc3, 0x31, 0x41, 0xb7, 0x85, 0x1d, 0xad, 0xb9, 0x8b, 0x5b, 0x1e, - 0x52, 0x92, 0xa6, 0x47, 0x8e, 0x72, 0x80, 0x45, 0xde, 0x2e, 0x70, 0xe5, 0xaf, 0x46, 0x60, 0x52, - 0x04, 0x7a, 0x2d, 0x97, 0x59, 0x2b, 0x00, 0x9a, 0x61, 0x98, 0x8e, 0x9f, 0x5d, 0x83, 0xa2, 0x3c, - 0x80, 0xb7, 0x50, 0x71, 0x91, 0x14, 0x1f, 0x81, 0x52, 0x07, 0xc0, 0x6b, 0x19, 0xc9, 0xb6, 0x39, - 0xc8, 0xf2, 0x33, 0x2a, 0x7a, 0xd0, 0xc9, 0x52, 0x03, 0xc0, 0xaa, 0x48, 0x44, 0x88, 0xa6, 0x21, - 0xb1, 0x85, 0x77, 0x74, 0x83, 0x67, 0x9e, 0x59, 0x41, 0x24, 0x70, 0xe2, 0x6e, 0x02, 0xa7, 0xfa, - 0x37, 0x61, 0xaa, 0x69, 0x76, 0xfa, 0x87, 0x5b, 0x95, 0xfa, 0xd2, 0x13, 0xf6, 0xe5, 0xc8, 0x0b, - 0x0f, 0x71, 0xa0, 0x1d, 0xb3, 0xad, 0x19, 0x3b, 0x0b, 0xa6, 0xb5, 0xe3, 0x1d, 0xd4, 0x12, 0x0f, - 0xc9, 0xf6, 0x1d, 0xd7, 0x76, 0xb7, 0xfe, 0x57, 0x24, 0xf2, 0x8b, 0xd1, 0xd8, 0xa5, 0xf5, 0xea, - 0x2f, 0x47, 0x4b, 0x97, 0x18, 0xe2, 0xba, 0x60, 0x86, 0x82, 0xb7, 0xdb, 0xb8, 0x49, 0x26, 0x08, - 0x7f, 0xf8, 0x00, 0x4c, 0xef, 0x98, 0x3b, 0x26, 0xa5, 0x74, 0x86, 0xfc, 0xe2, 0x27, 0xbd, 0x19, - 0xb7, 0xb6, 0x14, 0x7a, 0x2c, 0x5c, 0x5e, 0x85, 0x29, 0x0e, 0xac, 0xd2, 0xa3, 0x26, 0x16, 0x08, - 0xa1, 0x03, 0xb3, 0x70, 0x33, 0xbf, 0xf2, 0x75, 0x6a, 0xbe, 0x95, 0x49, 0x8e, 0x4a, 0xda, 0x58, - 0xac, 0x54, 0x56, 0xe0, 0x8e, 0x00, 0x3d, 0xb6, 0x49, 0xb1, 0x15, 0x42, 0xf1, 0x5f, 0x72, 0x8a, - 0x53, 0x3e, 0x8a, 0x0d, 0x8e, 0x5a, 0xae, 0x41, 0xfe, 0x30, 0xb4, 0xfe, 0x15, 0xa7, 0x95, 0xc3, - 0x7e, 0x22, 0x97, 0xa0, 0x48, 0x89, 0x34, 0x7b, 0xb6, 0x63, 0x76, 0xa8, 0x06, 0x3c, 0x98, 0xcc, - 0xbf, 0xfe, 0x3a, 0xdb, 0x35, 0x05, 0x82, 0x56, 0x73, 0xb1, 0xca, 0x65, 0xa0, 0xa7, 0x6b, 0x2d, - 0xdc, 0x6c, 0x87, 0x50, 0xf8, 0x32, 0x1f, 0x88, 0x0b, 0x5f, 0xbe, 0x0a, 0xd3, 0xe4, 0x37, 0x55, - 0x50, 0xfe, 0x91, 0x84, 0xa7, 0xec, 0x66, 0xbe, 0xfa, 0x1e, 0xb6, 0x31, 0xa7, 0x5c, 0x02, 0xbe, - 0x31, 0xf9, 0x56, 0x71, 0x07, 0x3b, 0x0e, 0xb6, 0x6c, 0x55, 0x6b, 0x0f, 0x1b, 0x9e, 0x2f, 0xe7, - 0x31, 0xf3, 0x0b, 0xdf, 0x0e, 0xae, 0xe2, 0x25, 0x86, 0x59, 0x69, 0xb7, 0xcb, 0x9b, 0x70, 0x74, - 0x88, 0x54, 0x8c, 0x41, 0xf3, 0x43, 0x9c, 0xe6, 0xf4, 0x80, 0x64, 0x10, 0xb2, 0xeb, 0x20, 0xea, - 0xdd, 0xb5, 0x1c, 0x83, 0xe6, 0x87, 0x39, 0x4d, 0xc4, 0x71, 0xc5, 0x92, 0x12, 0x8a, 0x57, 0x60, - 0xf2, 0x3a, 0xb6, 0xb6, 0x4c, 0x9b, 0xe7, 0x99, 0xc6, 0x20, 0xf7, 0x11, 0x4e, 0xae, 0xc8, 0x11, - 0x69, 0xe2, 0x89, 0xd0, 0x7a, 0x12, 0xd2, 0xdb, 0x5a, 0x13, 0x8f, 0x41, 0xe2, 0x16, 0x27, 0x91, - 0x22, 0xf0, 0x04, 0xb5, 0x02, 0xb9, 0x1d, 0x93, 0xdb, 0xa8, 0x70, 0xf4, 0x8f, 0x72, 0xf4, 0xac, - 0xc0, 0xe1, 0x24, 0xba, 0x66, 0xb7, 0xd7, 0x26, 0x06, 0x2c, 0x9c, 0xc4, 0xdf, 0x13, 0x24, 0x04, - 0x0e, 0x27, 0x71, 0x08, 0xb6, 0xbe, 0x22, 0x48, 0xd8, 0x3e, 0x7e, 0x3e, 0x0d, 0x59, 0xd3, 0x68, - 0xef, 0x9b, 0xc6, 0x38, 0x83, 0xf8, 0x18, 0xa7, 0x00, 0x1c, 0x85, 0x10, 0xb8, 0x00, 0x99, 0x71, - 0x17, 0xe2, 0x97, 0xbe, 0x2d, 0xb6, 0x87, 0x58, 0x81, 0x4b, 0x50, 0x14, 0x0a, 0x4a, 0x37, 0x8d, - 0x31, 0x48, 0x7c, 0x82, 0x93, 0x28, 0xf8, 0xd0, 0xf8, 0x34, 0x1c, 0x6c, 0x3b, 0x3b, 0x78, 0x1c, - 0x22, 0x9f, 0x14, 0xd3, 0xe0, 0x28, 0x9c, 0x95, 0x5b, 0xd8, 0x68, 0xee, 0x8e, 0x47, 0xe1, 0x53, - 0x82, 0x95, 0x02, 0x87, 0x90, 0xa8, 0x41, 0xbe, 0xa3, 0x59, 0xf6, 0xae, 0xd6, 0x1e, 0x6b, 0x39, - 0x3e, 0xcd, 0x69, 0xe4, 0x5c, 0x24, 0xce, 0x91, 0x9e, 0x71, 0x18, 0x32, 0xbf, 0x2c, 0x38, 0xe2, - 0x43, 0xe3, 0x5b, 0xcf, 0x76, 0x68, 0x52, 0xee, 0x30, 0xd4, 0xfe, 0x81, 0xd8, 0x7a, 0x0c, 0x77, - 0xc5, 0x4f, 0xf1, 0x02, 0x64, 0x6c, 0xfd, 0xa5, 0xb1, 0xc8, 0xfc, 0x43, 0xb1, 0xd2, 0x14, 0x81, - 0x20, 0x3f, 0x0f, 0xc7, 0x86, 0x9a, 0x89, 0x31, 0x88, 0xfd, 0x23, 0x4e, 0xec, 0xc8, 0x10, 0x53, - 0xc1, 0x55, 0xc2, 0x61, 0x49, 0xfe, 0x63, 0xa1, 0x12, 0x70, 0x1f, 0xad, 0x75, 0x12, 0x35, 0xd8, - 0xda, 0xf6, 0xe1, 0xb8, 0xf6, 0x4f, 0x04, 0xd7, 0x18, 0x6e, 0x80, 0x6b, 0x1b, 0x70, 0x84, 0x53, - 0x3c, 0xdc, 0xba, 0x7e, 0x46, 0x28, 0x56, 0x86, 0xbd, 0x19, 0x5c, 0xdd, 0x1f, 0x84, 0x92, 0xcb, - 0x4e, 0xe1, 0x9e, 0xda, 0x6a, 0x47, 0xeb, 0x8e, 0x41, 0xf9, 0x57, 0x38, 0x65, 0xa1, 0xf1, 0x5d, - 0xff, 0xd6, 0x5e, 0xd1, 0xba, 0x84, 0xf8, 0x73, 0x30, 0x23, 0x88, 0xf7, 0x0c, 0x0b, 0x37, 0xcd, - 0x1d, 0x43, 0x7f, 0x09, 0xb7, 0xc6, 0x20, 0xfd, 0xab, 0x7d, 0x4b, 0xb5, 0xe9, 0x43, 0x27, 0x94, - 0x97, 0x40, 0x72, 0x7d, 0x15, 0x55, 0xef, 0x74, 0x4d, 0xcb, 0x09, 0xa1, 0xf8, 0x59, 0xb1, 0x52, - 0x2e, 0xde, 0x12, 0x45, 0x2b, 0xd7, 0x81, 0x9d, 0x54, 0x8f, 0x2b, 0x92, 0x9f, 0xe3, 0x84, 0xf2, - 0x1e, 0x16, 0x57, 0x1c, 0x4d, 0xb3, 0xd3, 0xd5, 0xac, 0x71, 0xf4, 0xdf, 0x3f, 0x15, 0x8a, 0x83, - 0xa3, 0x70, 0xc5, 0x41, 0x3c, 0x3a, 0x62, 0xed, 0xc7, 0xa0, 0xf0, 0x79, 0xa1, 0x38, 0x04, 0x0e, - 0x27, 0x21, 0x1c, 0x86, 0x31, 0x48, 0x7c, 0x41, 0x90, 0x10, 0x38, 0x84, 0xc4, 0x3b, 0x3c, 0x43, - 0x6b, 0xe1, 0x1d, 0xdd, 0x76, 0x2c, 0xe6, 0x14, 0x1f, 0x4c, 0xea, 0x8b, 0xdf, 0x0e, 0x3a, 0x61, - 0x8a, 0x0f, 0x95, 0x68, 0x22, 0x9e, 0xa6, 0xa5, 0x31, 0x53, 0xf8, 0xc0, 0x7e, 0x4d, 0x68, 0x22, - 0x1f, 0x1a, 0x19, 0x9b, 0xcf, 0x43, 0x24, 0x6c, 0x6f, 0x92, 0x48, 0x61, 0x0c, 0x72, 0xff, 0xac, - 0x6f, 0x70, 0x0d, 0x81, 0x4b, 0x68, 0xfa, 0xfc, 0x9f, 0x9e, 0x71, 0x0d, 0xef, 0x8f, 0x25, 0x9d, - 0xbf, 0xde, 0xe7, 0xff, 0x6c, 0x32, 0x4c, 0xa6, 0x43, 0x8a, 0x7d, 0xfe, 0x14, 0x0a, 0xbb, 0x97, - 0x34, 0xf3, 0x23, 0xaf, 0xf3, 0xf9, 0x06, 0xdd, 0xa9, 0xf2, 0x32, 0x11, 0xf2, 0xa0, 0xd3, 0x13, - 0x4e, 0xec, 0x3d, 0xaf, 0xbb, 0x72, 0x1e, 0xf0, 0x79, 0xca, 0x17, 0x21, 0x1f, 0x70, 0x78, 0xc2, - 0x49, 0xfd, 0x18, 0x27, 0x95, 0xf3, 0xfb, 0x3b, 0xe5, 0x73, 0x10, 0x27, 0xce, 0x4b, 0x38, 0xfa, - 0x8f, 0x73, 0x74, 0x0a, 0x5e, 0x7e, 0x0a, 0xd2, 0xc2, 0x69, 0x09, 0x47, 0xfd, 0x09, 0x8e, 0xea, - 0xa2, 0x10, 0x74, 0xe1, 0xb0, 0x84, 0xa3, 0xff, 0x2d, 0x81, 0x2e, 0x50, 0x08, 0xfa, 0xf8, 0x2c, - 0xfc, 0xd2, 0xdf, 0x8e, 0x73, 0xa3, 0x23, 0x78, 0x77, 0x01, 0x52, 0xdc, 0x53, 0x09, 0xc7, 0xfe, - 0x49, 0xde, 0xb9, 0xc0, 0x28, 0x3f, 0x0e, 0x89, 0x31, 0x19, 0xfe, 0x77, 0x38, 0x2a, 0x83, 0x2f, - 0xd7, 0x20, 0xeb, 0xf3, 0x4e, 0xc2, 0xd1, 0xdf, 0xc7, 0xd1, 0xfd, 0x58, 0x64, 0xe8, 0xdc, 0x3b, - 0x09, 0x27, 0xf0, 0xd3, 0x62, 0xe8, 0x1c, 0x83, 0xb0, 0x4d, 0x38, 0x26, 0xe1, 0xd8, 0xef, 0x17, - 0x5c, 0x17, 0x28, 0xe5, 0xa7, 0x21, 0xe3, 0x1a, 0x9b, 0x70, 0xfc, 0x9f, 0xe1, 0xf8, 0x1e, 0x0e, - 0xe1, 0x80, 0xcf, 0xd8, 0x85, 0x93, 0xf8, 0x59, 0xc1, 0x01, 0x1f, 0x16, 0xd9, 0x46, 0xfd, 0x0e, - 0x4c, 0x38, 0xa5, 0x0f, 0x88, 0x6d, 0xd4, 0xe7, 0xbf, 0x90, 0xd5, 0xa4, 0x3a, 0x3f, 0x9c, 0xc4, - 0xdf, 0x15, 0xab, 0x49, 0xe1, 0xc9, 0x30, 0xfa, 0x3d, 0x82, 0x70, 0x1a, 0x3f, 0x2f, 0x86, 0xd1, - 0xe7, 0x10, 0x94, 0xd7, 0x01, 0x0d, 0x7a, 0x03, 0xe1, 0xf4, 0x3e, 0xc8, 0xe9, 0x4d, 0x0e, 0x38, - 0x03, 0xe5, 0x67, 0xe1, 0xc8, 0x70, 0x4f, 0x20, 0x9c, 0xea, 0x2f, 0xbc, 0xde, 0x17, 0xbb, 0xf9, - 0x1d, 0x81, 0xf2, 0x86, 0x67, 0x52, 0xfc, 0x5e, 0x40, 0x38, 0xd9, 0x0f, 0xbd, 0x1e, 0x54, 0xdc, - 0x7e, 0x27, 0xa0, 0x5c, 0x01, 0xf0, 0x0c, 0x70, 0x38, 0xad, 0x8f, 0x70, 0x5a, 0x3e, 0x24, 0xb2, - 0x35, 0xb8, 0xfd, 0x0d, 0xc7, 0xbf, 0x25, 0xb6, 0x06, 0xc7, 0x20, 0x5b, 0x43, 0x98, 0xde, 0x70, - 0xec, 0x8f, 0x8a, 0xad, 0x21, 0x50, 0x88, 0x64, 0xfb, 0xac, 0x5b, 0x38, 0x85, 0x8f, 0x09, 0xc9, - 0xf6, 0x61, 0x95, 0x57, 0x61, 0x72, 0xc0, 0x20, 0x86, 0x93, 0xfa, 0x45, 0x4e, 0x4a, 0xea, 0xb7, - 0x87, 0x7e, 0xe3, 0xc5, 0x8d, 0x61, 0x38, 0xb5, 0x8f, 0xf7, 0x19, 0x2f, 0x6e, 0x0b, 0xcb, 0x17, - 0x20, 0x6d, 0xf4, 0xda, 0x6d, 0xb2, 0x79, 0xd0, 0xc1, 0x77, 0x09, 0x67, 0xfe, 0xc7, 0x77, 0x39, - 0x77, 0x04, 0x42, 0xf9, 0x1c, 0x24, 0x70, 0x67, 0x0b, 0xb7, 0xc2, 0x30, 0xbf, 0xf5, 0x5d, 0xa1, - 0x30, 0x09, 0x74, 0xf9, 0x69, 0x00, 0x96, 0x1a, 0xa1, 0x87, 0x87, 0x21, 0xb8, 0x7f, 0xf0, 0x5d, - 0x7e, 0x79, 0xc7, 0x43, 0xf1, 0x08, 0xb0, 0xab, 0x40, 0x07, 0x13, 0xf8, 0x76, 0x90, 0x00, 0x5d, - 0x91, 0x27, 0x21, 0xf5, 0xa2, 0x6d, 0x1a, 0x8e, 0xb6, 0x13, 0x86, 0xfd, 0x87, 0x1c, 0x5b, 0xc0, - 0x13, 0x86, 0x75, 0x4c, 0x0b, 0x3b, 0xda, 0x8e, 0x1d, 0x86, 0xfb, 0x3f, 0x39, 0xae, 0x8b, 0x40, - 0x90, 0x9b, 0x9a, 0xed, 0x8c, 0x33, 0xef, 0x3f, 0x12, 0xc8, 0x02, 0x81, 0x0c, 0x9a, 0xfc, 0xbe, - 0x86, 0xf7, 0xc3, 0x70, 0xff, 0x58, 0x0c, 0x9a, 0xc3, 0x97, 0x9f, 0x82, 0x0c, 0xf9, 0xc9, 0x6e, - 0xe4, 0x85, 0x20, 0xff, 0x09, 0x47, 0xf6, 0x30, 0x48, 0xcf, 0xb6, 0xd3, 0x72, 0xf4, 0x70, 0x66, - 0x7f, 0x87, 0xaf, 0xb4, 0x80, 0x2f, 0x57, 0x20, 0x6b, 0x3b, 0xad, 0x56, 0x8f, 0xfb, 0xa7, 0x21, - 0xe8, 0x7f, 0xfa, 0x5d, 0x37, 0x65, 0xe1, 0xe2, 0x90, 0xd5, 0xbe, 0x71, 0xcd, 0xe9, 0x9a, 0xf4, - 0xc0, 0x23, 0x8c, 0xc2, 0xeb, 0x9c, 0x82, 0x0f, 0xa5, 0x5c, 0x83, 0x1c, 0x99, 0x8b, 0x85, 0xbb, - 0x98, 0x9e, 0x4e, 0x85, 0x90, 0xf8, 0x33, 0xce, 0x80, 0x00, 0x52, 0xf5, 0x5d, 0x5f, 0x7e, 0x6d, - 0x36, 0xf2, 0x95, 0xd7, 0x66, 0x23, 0xbf, 0xff, 0xda, 0x6c, 0xe4, 0xfd, 0x5f, 0x9b, 0x9d, 0xf8, - 0xca, 0xd7, 0x66, 0x27, 0x7e, 0xef, 0x6b, 0xb3, 0x13, 0xc3, 0xb3, 0xc4, 0x70, 0xc9, 0xbc, 0x64, - 0xb2, 0xfc, 0xf0, 0x0b, 0xf7, 0xed, 0xe8, 0xce, 0x6e, 0x6f, 0x6b, 0xa1, 0x69, 0x76, 0xce, 0x34, - 0x4d, 0xbb, 0x63, 0xda, 0x67, 0x82, 0x79, 0x5d, 0xfa, 0x0b, 0xfe, 0x4f, 0x84, 0xc4, 0xcc, 0xc1, - 0x74, 0xae, 0x66, 0xec, 0x8f, 0xfa, 0xbc, 0xe7, 0x3c, 0xc4, 0x2a, 0xc6, 0x3e, 0x3a, 0xc6, 0x14, - 0x9c, 0xda, 0xb3, 0xda, 0xfc, 0x5a, 0x58, 0x8a, 0x94, 0x37, 0xad, 0x36, 0x9a, 0xf6, 0xee, 0x6e, - 0x46, 0x4e, 0xe6, 0xf8, 0x85, 0xcc, 0xea, 0xfb, 0x22, 0x87, 0x9b, 0x49, 0xba, 0x62, 0xec, 0xd3, - 0x89, 0xac, 0x47, 0x5e, 0x78, 0x30, 0x34, 0xcf, 0x7d, 0xcd, 0x30, 0x6f, 0x18, 0x64, 0xd8, 0xdd, - 0x2d, 0x91, 0xe3, 0x9e, 0xed, 0xcf, 0x71, 0x3f, 0x8b, 0xdb, 0xed, 0x67, 0x08, 0xdc, 0x06, 0x41, - 0xd9, 0x4a, 0xb2, 0x1b, 0xc8, 0xf0, 0x81, 0x28, 0xcc, 0x0e, 0xa4, 0xb3, 0xb9, 0x10, 0x8c, 0x62, - 0x42, 0x19, 0xd2, 0x8b, 0x42, 0xb6, 0x66, 0x20, 0x65, 0xe3, 0xa6, 0x69, 0xb4, 0x6c, 0xca, 0x88, - 0x98, 0x22, 0x8a, 0x84, 0x11, 0x86, 0x66, 0x98, 0x36, 0xbf, 0x58, 0xc9, 0x0a, 0xd5, 0x0f, 0x1f, - 0x92, 0x11, 0x79, 0xd1, 0x93, 0xe0, 0xc6, 0x23, 0x63, 0x72, 0x43, 0x4c, 0x22, 0x90, 0xf9, 0x1f, - 0x97, 0x2b, 0x3f, 0x1f, 0x85, 0xb9, 0x7e, 0xae, 0x90, 0x9d, 0x65, 0x3b, 0x5a, 0xa7, 0x3b, 0x8a, - 0x2d, 0x17, 0x20, 0xb3, 0x21, 0x60, 0x0e, 0xcd, 0x97, 0x5b, 0x87, 0xe4, 0x4b, 0xc1, 0xed, 0x4a, - 0x30, 0xe6, 0xec, 0x98, 0x8c, 0x71, 0xe7, 0x71, 0x5b, 0x9c, 0xf9, 0xcb, 0x24, 0x1c, 0x63, 0xdb, - 0x49, 0x65, 0x5b, 0x89, 0x15, 0x38, 0x4f, 0x72, 0xfe, 0xa6, 0xf0, 0x73, 0x12, 0xf9, 0x19, 0x98, - 0x5a, 0x22, 0xda, 0x82, 0x44, 0x41, 0xde, 0x09, 0xcf, 0xd0, 0xbb, 0xa7, 0xf3, 0x01, 0x87, 0x9f, - 0x9f, 0x30, 0xf9, 0xab, 0xe4, 0x1f, 0x89, 0x80, 0xd4, 0x68, 0x6a, 0x6d, 0xcd, 0xfa, 0x5e, 0x49, - 0xa1, 0xc7, 0x01, 0xe8, 0x37, 0x4b, 0xde, 0x47, 0x46, 0x85, 0xb3, 0x33, 0x0b, 0xfe, 0xc9, 0x2d, - 0xb0, 0x9e, 0xe8, 0x17, 0x0c, 0x19, 0x0a, 0x4b, 0x7e, 0x9e, 0x7e, 0x0e, 0xc0, 0x6b, 0x40, 0xc7, - 0xe1, 0x68, 0xa3, 0x56, 0x59, 0xae, 0x28, 0x2a, 0xbb, 0x0c, 0xbf, 0xda, 0x58, 0xaf, 0xd7, 0x96, - 0x2e, 0x2e, 0xd5, 0x17, 0xa5, 0x09, 0x74, 0x04, 0x90, 0xbf, 0xd1, 0xbd, 0x97, 0x72, 0x07, 0x4c, - 0xfa, 0xeb, 0xd9, 0x8d, 0xfa, 0x28, 0xf1, 0x14, 0xf5, 0x4e, 0xb7, 0x8d, 0xe9, 0xd1, 0x9f, 0xaa, - 0x0b, 0xae, 0x85, 0x3b, 0x21, 0xbf, 0xfd, 0x1f, 0xd8, 0x2d, 0xeb, 0x29, 0x0f, 0xdd, 0xe5, 0x79, - 0x79, 0x19, 0x26, 0xb5, 0x66, 0x13, 0x77, 0x03, 0x24, 0x43, 0x54, 0x35, 0x21, 0x48, 0x0f, 0x33, - 0x39, 0xa6, 0x47, 0xed, 0x71, 0x48, 0xda, 0x74, 0xf6, 0x61, 0x24, 0x7e, 0x87, 0x93, 0xe0, 0xe0, - 0x65, 0x03, 0x26, 0x89, 0xe7, 0xa7, 0x59, 0xd8, 0x37, 0x8c, 0x83, 0xf3, 0x0c, 0xbf, 0xf1, 0xd9, - 0x87, 0xe9, 0xd1, 0xe6, 0xdd, 0xc1, 0x65, 0x19, 0x22, 0x4e, 0x8a, 0xc4, 0x69, 0x7b, 0x03, 0xc5, - 0x50, 0x10, 0xfd, 0xf1, 0x01, 0x1f, 0xdc, 0xd9, 0x6f, 0xf2, 0xce, 0x66, 0x87, 0xc9, 0x80, 0xaf, - 0xa7, 0x3c, 0xa7, 0xca, 0x1a, 0xaa, 0xf5, 0x51, 0x7b, 0xfa, 0x85, 0x07, 0x06, 0xad, 0x13, 0xfb, - 0xef, 0x21, 0x4a, 0xf9, 0x82, 0xbf, 0x1b, 0x77, 0xef, 0x7d, 0x38, 0x0e, 0x93, 0x5a, 0x47, 0x37, - 0xcc, 0x33, 0xf4, 0x5f, 0xbe, 0xe7, 0x12, 0xb4, 0x30, 0xc6, 0xa1, 0xe4, 0x79, 0xb6, 0x15, 0xc2, - 0x25, 0xe6, 0x4f, 0x7e, 0xea, 0x13, 0x09, 0x6f, 0xbb, 0x94, 0x57, 0x40, 0x12, 0x17, 0x0e, 0xb1, - 0xd1, 0x34, 0x5b, 0x63, 0x65, 0x29, 0xbe, 0x23, 0x68, 0x88, 0xfc, 0x56, 0x9d, 0xa3, 0x96, 0xdf, - 0x06, 0x69, 0x97, 0x4c, 0x98, 0x67, 0x22, 0x88, 0xb8, 0x18, 0xc4, 0x2f, 0x61, 0x3b, 0x73, 0x1c, - 0x2f, 0xf4, 0x75, 0x81, 0xcf, 0x76, 0xe8, 0x2a, 0x99, 0xcd, 0x25, 0x28, 0xb4, 0x4c, 0xc3, 0x51, - 0xcd, 0x8e, 0xee, 0xe0, 0x4e, 0xd7, 0x09, 0xf5, 0xeb, 0xfe, 0x8c, 0x11, 0x49, 0x2b, 0x79, 0x82, - 0xb7, 0x26, 0xd0, 0xc8, 0x48, 0xd8, 0x37, 0x45, 0xe3, 0x8c, 0xe4, 0xcf, 0xdd, 0x91, 0x50, 0x1c, - 0x32, 0x92, 0xdb, 0x92, 0x0e, 0xbb, 0x75, 0x8d, 0x2b, 0x73, 0x67, 0x8f, 0x49, 0x81, 0x2b, 0x1d, - 0x7f, 0x14, 0x83, 0x59, 0x0e, 0xbc, 0xa5, 0xd9, 0xf8, 0xcc, 0xf5, 0x47, 0xb6, 0xb0, 0xa3, 0x3d, - 0x72, 0xa6, 0x69, 0xea, 0xc2, 0x92, 0x4f, 0x71, 0x65, 0x4d, 0xda, 0x17, 0x78, 0x7b, 0x69, 0xe8, - 0x71, 0x77, 0x69, 0xb4, 0x92, 0x2f, 0x0d, 0xca, 0xa0, 0xfc, 0x02, 0xc4, 0x6b, 0xa6, 0x6e, 0x10, - 0xdb, 0xd6, 0xc2, 0x86, 0xd9, 0xe1, 0xea, 0x96, 0x15, 0xd0, 0x79, 0x48, 0x6a, 0x1d, 0xb3, 0x67, - 0x38, 0x4c, 0xd5, 0x56, 0x67, 0xbf, 0xfc, 0xea, 0xdc, 0xc4, 0x7f, 0x7a, 0x75, 0x2e, 0xb6, 0x64, - 0x38, 0xbf, 0xfb, 0xb9, 0x87, 0x80, 0x53, 0x5f, 0x32, 0x9c, 0x4f, 0x7d, 0xe3, 0x33, 0xa7, 0x23, - 0x0a, 0x87, 0x2e, 0xc7, 0xbf, 0xf9, 0xca, 0x5c, 0x44, 0x7e, 0x0e, 0x52, 0x8b, 0xb8, 0x79, 0x00, - 0xf9, 0x47, 0xfa, 0xc8, 0x1f, 0x13, 0xe4, 0x17, 0x71, 0xd3, 0x47, 0x7e, 0x11, 0x37, 0xfb, 0x28, - 0x3f, 0x0e, 0xe9, 0x25, 0xc3, 0x61, 0x9f, 0x3b, 0x3c, 0x00, 0x31, 0xdd, 0x60, 0x37, 0x68, 0x7d, - 0x14, 0x06, 0x06, 0xa8, 0x10, 0x28, 0x82, 0xb8, 0x88, 0x9b, 0x2e, 0x62, 0x0b, 0x37, 0xfb, 0x11, - 0x07, 0xbb, 0x26, 0x50, 0xd5, 0xc5, 0xdf, 0xfb, 0x6f, 0xb3, 0x13, 0x2f, 0xbf, 0x36, 0x3b, 0x31, - 0x72, 0xe9, 0xe5, 0xf0, 0xa5, 0x77, 0x57, 0xfc, 0x13, 0x71, 0xb8, 0x8b, 0x7e, 0x05, 0x67, 0x75, - 0x74, 0xc3, 0x39, 0xd3, 0xb4, 0xf6, 0xbb, 0x8e, 0x49, 0x14, 0x80, 0xb9, 0xcd, 0x17, 0x7c, 0xd2, - 0x6b, 0x5e, 0x60, 0xcd, 0xc3, 0x97, 0x5b, 0xde, 0x86, 0xc4, 0x3a, 0xc1, 0x23, 0x2c, 0x76, 0x4c, - 0x47, 0x6b, 0x73, 0xaf, 0x85, 0x15, 0x48, 0x2d, 0xfb, 0x72, 0x2e, 0xca, 0x6a, 0x75, 0xf1, 0xd1, - 0x5c, 0x1b, 0x6b, 0xdb, 0xec, 0x03, 0x84, 0x18, 0x75, 0x77, 0xd3, 0xa4, 0x82, 0x7e, 0x6b, 0x30, - 0x0d, 0x09, 0xad, 0xc7, 0x6e, 0xbe, 0xc4, 0x88, 0x1f, 0x4c, 0x0b, 0xf2, 0x33, 0x90, 0xe2, 0xe7, - 0xef, 0x48, 0x82, 0xd8, 0x35, 0xbc, 0x4f, 0xfb, 0xc9, 0x29, 0xe4, 0x27, 0x5a, 0x80, 0x04, 0x1d, - 0x3c, 0xff, 0xb2, 0x6a, 0x66, 0x61, 0x60, 0xf4, 0x0b, 0x74, 0x90, 0x0a, 0x03, 0x93, 0xaf, 0x40, - 0x7a, 0xd1, 0x24, 0x52, 0x18, 0xa4, 0x96, 0x61, 0xd4, 0xe8, 0x98, 0xbb, 0x3d, 0x2e, 0x15, 0x0a, - 0x2b, 0xa0, 0x23, 0x90, 0x64, 0x1f, 0xa4, 0xf0, 0xdb, 0x3b, 0xbc, 0x24, 0xd7, 0x20, 0x45, 0x69, - 0xaf, 0x75, 0x89, 0xcb, 0xe0, 0xde, 0xfd, 0xcd, 0xf0, 0xcf, 0x13, 0x39, 0xf9, 0xa8, 0x37, 0x58, - 0x04, 0xf1, 0x96, 0xe6, 0x68, 0x7c, 0xde, 0xf4, 0xb7, 0xfc, 0x76, 0x48, 0x73, 0x22, 0x36, 0x3a, - 0x0b, 0x31, 0xb3, 0x6b, 0xf3, 0xfb, 0x37, 0xa5, 0x51, 0x53, 0x59, 0xeb, 0x56, 0xe3, 0x44, 0x66, - 0x14, 0x02, 0x5c, 0x5d, 0x1d, 0x29, 0x16, 0x8f, 0x05, 0xc4, 0xa2, 0x83, 0x9d, 0xad, 0x6d, 0xc7, - 0xfb, 0xc1, 0x96, 0x73, 0x40, 0x14, 0x5c, 0x41, 0xb9, 0x15, 0x85, 0x59, 0x5f, 0xeb, 0x75, 0x6c, - 0xd9, 0xba, 0x69, 0x30, 0x69, 0xe2, 0x92, 0x82, 0x7c, 0x03, 0xe4, 0xed, 0x23, 0x44, 0xe5, 0x29, - 0x88, 0x55, 0xba, 0x5d, 0x54, 0x82, 0x34, 0x2d, 0x37, 0x4d, 0x26, 0x2b, 0x71, 0xc5, 0x2d, 0x93, - 0x36, 0xdb, 0xdc, 0x76, 0x6e, 0x68, 0x96, 0xfb, 0xbd, 0xa6, 0x28, 0xcb, 0x4f, 0x42, 0xa6, 0x66, - 0x1a, 0x36, 0x36, 0xec, 0x1e, 0xf5, 0x85, 0xb7, 0xda, 0x66, 0xf3, 0x1a, 0xa7, 0xc0, 0x0a, 0x84, - 0xd9, 0x5a, 0xb7, 0x4b, 0x31, 0xe3, 0x0a, 0xf9, 0xc9, 0xf6, 0x6b, 0x75, 0x6d, 0x24, 0x7b, 0xce, - 0x1d, 0x8e, 0x3d, 0x7c, 0x82, 0x9e, 0x53, 0x1b, 0x81, 0x3b, 0x07, 0x37, 0xd2, 0x35, 0xbc, 0x6f, - 0x1f, 0x76, 0x1f, 0x3d, 0x07, 0x99, 0x75, 0xfa, 0x60, 0xc2, 0x33, 0x78, 0x1f, 0x95, 0x20, 0x85, - 0x5b, 0x67, 0xcf, 0x9d, 0x7b, 0xe4, 0x49, 0x26, 0xe5, 0x97, 0x27, 0x14, 0x51, 0x81, 0x66, 0x21, - 0x63, 0xe3, 0x66, 0xf7, 0xec, 0xb9, 0xf3, 0xd7, 0x1e, 0x61, 0x62, 0x75, 0x79, 0x42, 0xf1, 0xaa, - 0xca, 0x69, 0x32, 0xe3, 0x6f, 0x7e, 0x6c, 0x2e, 0x52, 0x4d, 0x40, 0xcc, 0xee, 0x75, 0xde, 0x34, - 0xd9, 0xf8, 0xb9, 0x04, 0xcc, 0xfb, 0x5a, 0x99, 0x71, 0xb9, 0xae, 0xb5, 0xf5, 0x96, 0xe6, 0x3d, - 0x73, 0x21, 0xf9, 0xe6, 0x4f, 0x21, 0x46, 0x58, 0x8d, 0x03, 0xb9, 0x28, 0xff, 0x6a, 0x04, 0x72, - 0x57, 0x05, 0xe5, 0x06, 0x76, 0xd0, 0x05, 0x00, 0xb7, 0x27, 0xb1, 0x55, 0x8e, 0x2f, 0xf4, 0xf7, - 0xb5, 0xe0, 0xe2, 0x28, 0x3e, 0x70, 0xf4, 0x38, 0x15, 0xc0, 0xae, 0x69, 0xf3, 0x6f, 0xf7, 0x42, - 0x50, 0x5d, 0x60, 0xf4, 0x20, 0x20, 0xaa, 0xd5, 0xd4, 0xeb, 0xa6, 0xa3, 0x1b, 0x3b, 0x6a, 0xd7, - 0xbc, 0xc1, 0xbf, 0x88, 0x8e, 0x29, 0x12, 0x6d, 0xb9, 0x4a, 0x1b, 0xd6, 0x49, 0x3d, 0x19, 0x74, - 0xc6, 0xa5, 0x42, 0xc2, 0x3a, 0xad, 0xd5, 0xb2, 0xb0, 0x6d, 0x73, 0xc5, 0x25, 0x8a, 0xe8, 0x02, - 0xa4, 0xba, 0xbd, 0x2d, 0x55, 0x68, 0x89, 0xec, 0xd9, 0x3b, 0x87, 0xed, 0x79, 0x21, 0x1b, 0x7c, - 0xd7, 0x27, 0xbb, 0xbd, 0x2d, 0x22, 0x29, 0x77, 0x43, 0x6e, 0xc8, 0x60, 0xb2, 0xd7, 0xbd, 0x71, - 0xd0, 0x37, 0x3a, 0xf8, 0x0c, 0xd4, 0xae, 0xa5, 0x9b, 0x96, 0xee, 0xec, 0xd3, 0x8b, 0x73, 0x31, - 0x45, 0x12, 0x0d, 0xeb, 0xbc, 0x5e, 0xbe, 0x06, 0xc5, 0x06, 0x75, 0xf7, 0xbd, 0x91, 0x9f, 0xf3, - 0xc6, 0x17, 0x09, 0x1f, 0xdf, 0xc8, 0x91, 0x45, 0x07, 0x46, 0x56, 0x5d, 0x19, 0x29, 0x99, 0x8f, - 0x1e, 0x4e, 0x32, 0x83, 0xd6, 0xed, 0x0f, 0x8e, 0x05, 0x36, 0x25, 0xf7, 0x7a, 0x7c, 0x2a, 0x6b, - 0x5c, 0xa1, 0x0c, 0x8b, 0xe4, 0x4b, 0x07, 0x1b, 0xd1, 0x52, 0x88, 0xea, 0x2c, 0x85, 0x6e, 0x1f, - 0xf9, 0x49, 0xc8, 0xaf, 0x6b, 0x96, 0xd3, 0xc0, 0xce, 0x65, 0xac, 0xb5, 0xb0, 0x15, 0xb4, 0xb2, - 0x79, 0x61, 0x65, 0x11, 0xc4, 0xa9, 0x29, 0x65, 0x56, 0x86, 0xfe, 0x96, 0x77, 0x21, 0x4e, 0x2f, - 0xce, 0xba, 0x16, 0x98, 0x63, 0x30, 0x0b, 0x4c, 0xf4, 0xe7, 0xbe, 0x83, 0x6d, 0x91, 0x6c, 0xa2, - 0x05, 0xf4, 0x98, 0xb0, 0xa3, 0xb1, 0x83, 0xed, 0x28, 0x17, 0x42, 0x6e, 0x4d, 0xdb, 0x90, 0xaa, - 0x12, 0xf5, 0xbb, 0xb4, 0xe8, 0x0e, 0x24, 0xe2, 0x0d, 0x04, 0xad, 0x40, 0xb1, 0xab, 0x59, 0x0e, - 0xfd, 0xe6, 0x68, 0x97, 0xce, 0x82, 0xcb, 0xf9, 0xdc, 0xe0, 0xae, 0x0b, 0x4c, 0x96, 0xf7, 0x92, - 0xef, 0xfa, 0x2b, 0xe5, 0xff, 0x1e, 0x87, 0x24, 0x67, 0xc6, 0x53, 0x90, 0xe2, 0x6c, 0xe5, 0x92, - 0x79, 0xd7, 0xc2, 0xa0, 0x31, 0x5a, 0x70, 0x8d, 0x06, 0xa7, 0x27, 0x70, 0xd0, 0xfd, 0x90, 0x6e, - 0xee, 0x6a, 0xba, 0xa1, 0xea, 0x2d, 0xee, 0x00, 0x66, 0x5f, 0x7b, 0x75, 0x2e, 0x55, 0x23, 0x75, - 0x4b, 0x8b, 0x4a, 0x8a, 0x36, 0x2e, 0xb5, 0x88, 0xe5, 0xdf, 0xc5, 0xfa, 0xce, 0xae, 0xc3, 0x77, - 0x17, 0x2f, 0xa1, 0x27, 0x20, 0x4e, 0x04, 0x82, 0x7f, 0x91, 0x5a, 0x1a, 0xf0, 0xe3, 0xdd, 0x44, - 0x4b, 0x35, 0x4d, 0x3a, 0x7e, 0xff, 0x7f, 0x9d, 0x8b, 0x28, 0x14, 0x03, 0xd5, 0x20, 0xdf, 0xd6, - 0x6c, 0x47, 0xa5, 0x56, 0x8b, 0x74, 0x9f, 0xa0, 0x24, 0x8e, 0x0d, 0x32, 0x84, 0x33, 0x96, 0x0f, - 0x3d, 0x4b, 0xb0, 0x58, 0x55, 0x0b, 0x9d, 0x04, 0x89, 0x12, 0x69, 0x9a, 0x9d, 0x8e, 0xee, 0x30, - 0x5f, 0x2a, 0x49, 0xf9, 0x5e, 0x20, 0xf5, 0x35, 0x5a, 0x4d, 0x3d, 0xaa, 0xe3, 0x90, 0xa1, 0xdf, - 0xc0, 0x51, 0x10, 0x76, 0x5b, 0x3b, 0x4d, 0x2a, 0x68, 0xe3, 0x09, 0x28, 0x7a, 0xba, 0x91, 0x81, - 0xa4, 0x19, 0x15, 0xaf, 0x9a, 0x02, 0x3e, 0x0c, 0xd3, 0x06, 0xde, 0xa3, 0xf7, 0xc7, 0x03, 0xd0, - 0x19, 0x0a, 0x8d, 0x48, 0xdb, 0xd5, 0x20, 0xc6, 0x7d, 0x50, 0x68, 0x0a, 0xe6, 0x33, 0x58, 0xa0, - 0xb0, 0x79, 0xb7, 0x96, 0x82, 0x1d, 0x83, 0xb4, 0xd6, 0xed, 0x32, 0x80, 0x2c, 0xd7, 0x8d, 0xdd, - 0x2e, 0x6d, 0x3a, 0x0d, 0x93, 0x74, 0x8e, 0x16, 0xb6, 0x7b, 0x6d, 0x87, 0x13, 0xc9, 0x51, 0x98, - 0x22, 0x69, 0x50, 0x58, 0x3d, 0x85, 0xbd, 0x07, 0xf2, 0xf8, 0xba, 0xde, 0xc2, 0x46, 0x13, 0x33, - 0xb8, 0x3c, 0x85, 0xcb, 0x89, 0x4a, 0x0a, 0x74, 0x0a, 0x5c, 0x9d, 0xa7, 0x0a, 0x7d, 0x5c, 0x60, - 0xf4, 0x44, 0x7d, 0x85, 0x55, 0xcb, 0x33, 0x10, 0x5f, 0xd4, 0x1c, 0x8d, 0x38, 0x15, 0xce, 0x1e, - 0x33, 0x32, 0x39, 0x85, 0xfc, 0x94, 0xbf, 0x19, 0x85, 0xf8, 0x55, 0xd3, 0xc1, 0xe8, 0x51, 0x9f, - 0xc3, 0x57, 0x18, 0x26, 0xcf, 0x0d, 0x7d, 0xc7, 0xc0, 0xad, 0x15, 0x7b, 0xc7, 0xf7, 0x60, 0x85, - 0x27, 0x4e, 0xd1, 0x80, 0x38, 0x4d, 0x43, 0xc2, 0x32, 0x7b, 0x46, 0x4b, 0x5c, 0x74, 0xa6, 0x05, - 0x54, 0x87, 0xb4, 0x2b, 0x25, 0xf1, 0x30, 0x29, 0x29, 0x12, 0x29, 0x21, 0x32, 0xcc, 0x2b, 0x94, - 0xd4, 0x16, 0x17, 0x96, 0x2a, 0x64, 0x5c, 0xe5, 0xc5, 0xa5, 0x6d, 0x3c, 0x81, 0xf5, 0xd0, 0x88, - 0x21, 0x71, 0xd7, 0xde, 0x65, 0x1e, 0x93, 0x38, 0xc9, 0x6d, 0xe0, 0xdc, 0x0b, 0x88, 0x15, 0x7f, - 0x3c, 0x23, 0x45, 0xe7, 0xe5, 0x89, 0x15, 0x7b, 0x40, 0xe3, 0x4e, 0xc8, 0xd8, 0xfa, 0x8e, 0xa1, - 0x39, 0x3d, 0x0b, 0x73, 0xc9, 0xf3, 0x2a, 0xe4, 0x2f, 0x45, 0x20, 0xc9, 0x24, 0xd9, 0xc7, 0xb7, - 0xc8, 0x70, 0xbe, 0x45, 0x47, 0xf1, 0x2d, 0x76, 0xfb, 0x7c, 0xab, 0x00, 0xb8, 0x83, 0xb1, 0xf9, - 0x9b, 0x06, 0x43, 0xbc, 0x05, 0x36, 0xc4, 0x86, 0xbe, 0xc3, 0x37, 0xaa, 0x0f, 0x49, 0xfe, 0x2f, - 0x11, 0xe2, 0xb8, 0xf2, 0x76, 0x54, 0x81, 0xbc, 0x18, 0x97, 0xba, 0xdd, 0xd6, 0x76, 0xb8, 0xec, - 0xdc, 0x35, 0x72, 0x70, 0x17, 0xdb, 0xda, 0x8e, 0x92, 0xe5, 0xe3, 0x21, 0x85, 0xe1, 0xeb, 0x10, - 0x1d, 0xb1, 0x0e, 0x81, 0x85, 0x8f, 0xdd, 0xde, 0xc2, 0x07, 0x96, 0x28, 0xde, 0xbf, 0x44, 0x9f, - 0x8d, 0xd2, 0xe0, 0xa5, 0x6b, 0xda, 0x5a, 0xfb, 0xad, 0xd8, 0x11, 0xc7, 0x21, 0xd3, 0x35, 0xdb, - 0x2a, 0x6b, 0x61, 0x1f, 0x00, 0xa4, 0xbb, 0x66, 0x5b, 0x19, 0x58, 0xf6, 0xc4, 0x1b, 0xb4, 0x5d, - 0x92, 0x6f, 0x00, 0xd7, 0x52, 0xfd, 0x5c, 0xb3, 0x20, 0xc7, 0x58, 0xc1, 0x6d, 0xd9, 0xc3, 0x84, - 0x07, 0xd4, 0x38, 0x46, 0x06, 0x6d, 0x2f, 0x1b, 0x36, 0x83, 0x54, 0x38, 0x1c, 0xc1, 0x60, 0xaa, - 0x7f, 0x58, 0xd4, 0xeb, 0x17, 0x4b, 0x85, 0xc3, 0xc9, 0x3f, 0x17, 0x01, 0x58, 0x26, 0x9c, 0xa5, - 0xf3, 0x25, 0x56, 0xc8, 0xa6, 0x43, 0x50, 0x03, 0x3d, 0xcf, 0x8e, 0x5a, 0x34, 0xde, 0x7f, 0xce, - 0xf6, 0x8f, 0xbb, 0x06, 0x79, 0x4f, 0x18, 0x6d, 0x2c, 0x06, 0x33, 0x7b, 0x80, 0x47, 0xdd, 0xc0, - 0x8e, 0x92, 0xbb, 0xee, 0x2b, 0xc9, 0xff, 0x3c, 0x02, 0x19, 0x3a, 0xa6, 0x15, 0xec, 0x68, 0x81, - 0x35, 0x8c, 0xdc, 0xfe, 0x1a, 0xde, 0x05, 0xc0, 0xc8, 0xd8, 0xfa, 0x4b, 0x98, 0x4b, 0x56, 0x86, - 0xd6, 0x34, 0xf4, 0x97, 0x30, 0x3a, 0xef, 0x32, 0x3c, 0x76, 0x30, 0xc3, 0x85, 0xc7, 0xcd, 0xd9, - 0x7e, 0x14, 0x52, 0xf4, 0x0d, 0xb0, 0x3d, 0x9b, 0x3b, 0xd1, 0x49, 0xa3, 0xd7, 0xd9, 0xd8, 0xb3, - 0xe5, 0x17, 0x21, 0xb5, 0xb1, 0xc7, 0x72, 0x21, 0xc7, 0x21, 0x63, 0x99, 0x26, 0xb7, 0xc9, 0xcc, - 0x17, 0x4a, 0x93, 0x0a, 0x6a, 0x82, 0x44, 0xfc, 0x1f, 0xf5, 0xe2, 0x7f, 0x2f, 0x81, 0x11, 0x1b, - 0x2b, 0x81, 0x71, 0xfa, 0x3f, 0x46, 0x20, 0xeb, 0xd3, 0x0f, 0xe8, 0x11, 0xb8, 0xa3, 0xba, 0xbc, - 0x56, 0x7b, 0x46, 0x5d, 0x5a, 0x54, 0x2f, 0x2e, 0x57, 0x2e, 0x79, 0x9f, 0xb8, 0x95, 0x8e, 0xdc, - 0xbc, 0x35, 0x8f, 0x7c, 0xb0, 0x9b, 0x06, 0x3d, 0xcd, 0x41, 0x67, 0x60, 0x3a, 0x88, 0x52, 0xa9, - 0x36, 0xea, 0xab, 0x1b, 0x52, 0xa4, 0x74, 0xc7, 0xcd, 0x5b, 0xf3, 0x93, 0x3e, 0x8c, 0xca, 0x96, - 0x8d, 0x0d, 0x67, 0x10, 0xa1, 0xb6, 0xb6, 0xb2, 0xb2, 0xb4, 0x21, 0x45, 0x07, 0x10, 0xb8, 0xc2, - 0x3e, 0x05, 0x93, 0x41, 0x84, 0xd5, 0xa5, 0x65, 0x29, 0x56, 0x42, 0x37, 0x6f, 0xcd, 0x17, 0x7c, - 0xd0, 0xab, 0x7a, 0xbb, 0x94, 0x7e, 0xef, 0xc7, 0x67, 0x27, 0x3e, 0xf5, 0xf7, 0x67, 0x23, 0x64, - 0x66, 0xf9, 0x80, 0x8e, 0x40, 0x0f, 0xc2, 0xd1, 0xc6, 0xd2, 0xa5, 0xd5, 0xfa, 0xa2, 0xba, 0xd2, - 0xb8, 0x24, 0xce, 0x43, 0xc4, 0xec, 0x8a, 0x37, 0x6f, 0xcd, 0x67, 0xf9, 0x94, 0x46, 0x41, 0xaf, - 0x2b, 0xf5, 0xab, 0x6b, 0x1b, 0x75, 0x29, 0xc2, 0xa0, 0xd7, 0x2d, 0x7c, 0xdd, 0x74, 0xd8, 0x23, - 0x81, 0x0f, 0xc3, 0xb1, 0x21, 0xd0, 0xee, 0xc4, 0x26, 0x6f, 0xde, 0x9a, 0xcf, 0xaf, 0x5b, 0x98, - 0xed, 0x1f, 0x8a, 0xb1, 0x00, 0x33, 0x83, 0x18, 0x6b, 0xeb, 0x6b, 0x8d, 0xca, 0xb2, 0x34, 0x5f, - 0x92, 0x6e, 0xde, 0x9a, 0xcf, 0x09, 0x65, 0x48, 0xe0, 0xbd, 0x99, 0xbd, 0x59, 0xd1, 0xce, 0x4f, - 0xa4, 0x02, 0xb9, 0x3c, 0x16, 0x47, 0x74, 0x35, 0x4b, 0xeb, 0x1c, 0x36, 0xdc, 0x09, 0x39, 0xce, - 0x95, 0x5f, 0x8e, 0x42, 0xd1, 0x75, 0xa6, 0xd7, 0x69, 0x0f, 0xe8, 0x51, 0x7f, 0x1e, 0x26, 0x3b, - 0xd2, 0x8c, 0x31, 0x68, 0x91, 0xa6, 0x79, 0x1b, 0xa4, 0x85, 0x53, 0xc6, 0xd5, 0xc5, 0xfc, 0x20, - 0x5e, 0x9d, 0x43, 0x70, 0x54, 0x17, 0x03, 0x3d, 0x0d, 0x19, 0x57, 0x79, 0xb8, 0x4f, 0xec, 0x8c, - 0xd6, 0x36, 0x1c, 0xdf, 0xc3, 0x41, 0x4f, 0x7a, 0x61, 0x43, 0x7c, 0x54, 0x20, 0x72, 0x95, 0x01, - 0x70, 0x64, 0x01, 0x2f, 0x2f, 0xf1, 0x6d, 0xc7, 0x67, 0x4f, 0x9f, 0x27, 0xd8, 0x53, 0x59, 0x24, - 0xc5, 0xbc, 0x92, 0x74, 0x47, 0xdb, 0xab, 0xd2, 0x60, 0xea, 0x28, 0xa4, 0x48, 0xe3, 0x0e, 0xff, - 0xfa, 0x3a, 0xa6, 0x24, 0x3b, 0xda, 0xde, 0x25, 0xcd, 0xbe, 0x12, 0x4f, 0xc7, 0xa4, 0xb8, 0xfc, - 0xe9, 0x08, 0x14, 0x82, 0x73, 0x44, 0x0f, 0x00, 0x22, 0x18, 0xda, 0x0e, 0x56, 0x89, 0x8a, 0xa1, - 0xcc, 0x12, 0x74, 0x8b, 0x1d, 0x6d, 0xaf, 0xb2, 0x83, 0x57, 0x7b, 0x1d, 0x3a, 0x00, 0x1b, 0xad, - 0x80, 0x24, 0x80, 0xc5, 0x3a, 0x71, 0x66, 0x1e, 0x1b, 0x7c, 0x70, 0x8f, 0x03, 0x30, 0x43, 0xf5, - 0x41, 0x62, 0xa8, 0x0a, 0x8c, 0x9e, 0x7b, 0x1c, 0x1f, 0x98, 0x4a, 0x2c, 0x38, 0x15, 0xf9, 0x69, - 0x28, 0xf6, 0xf1, 0x13, 0xc9, 0x90, 0xe7, 0x59, 0x01, 0x7a, 0xd4, 0xc9, 0xfc, 0xe3, 0x8c, 0x92, - 0x65, 0xd1, 0x3f, 0x3d, 0xfa, 0x2d, 0xa7, 0xbf, 0xf8, 0xca, 0x5c, 0x84, 0x26, 0xcc, 0x1f, 0x80, - 0x7c, 0x80, 0xa3, 0x22, 0x53, 0x17, 0xf1, 0x32, 0x75, 0x1e, 0xf0, 0x0b, 0x90, 0x23, 0x8a, 0x12, - 0xb7, 0x38, 0xec, 0xfd, 0x50, 0x64, 0x8a, 0xbc, 0x9f, 0xd7, 0xcc, 0x93, 0x5a, 0x11, 0x0c, 0x97, - 0x85, 0x6b, 0x15, 0x64, 0x7b, 0x56, 0x40, 0x5d, 0xd2, 0xec, 0xea, 0x3b, 0x3e, 0xf5, 0xda, 0x6c, - 0xe4, 0xcd, 0xd9, 0x88, 0x5f, 0x7d, 0x07, 0x1c, 0xf7, 0x35, 0x6a, 0x5b, 0x4d, 0x3d, 0x90, 0x75, - 0x28, 0xfa, 0x84, 0x8c, 0x34, 0x86, 0x65, 0x0f, 0x0e, 0xcc, 0x61, 0x1c, 0x9c, 0x30, 0x2b, 0x1d, - 0xac, 0x11, 0xc2, 0x13, 0x1b, 0xc3, 0x73, 0x94, 0xff, 0x37, 0x0d, 0x29, 0x05, 0xbf, 0xbb, 0x87, - 0x6d, 0x07, 0x9d, 0x85, 0x38, 0x6e, 0xee, 0x9a, 0xc3, 0x52, 0x42, 0x64, 0x72, 0x0b, 0x1c, 0xae, - 0xde, 0xdc, 0x35, 0x2f, 0x4f, 0x28, 0x14, 0x16, 0x9d, 0x83, 0xc4, 0x76, 0xbb, 0xc7, 0xf3, 0x14, - 0x7d, 0xca, 0xc2, 0x8f, 0x74, 0x91, 0x00, 0x5d, 0x9e, 0x50, 0x18, 0x34, 0xe9, 0x8a, 0x3e, 0x5d, - 0x1a, 0x3b, 0xb8, 0xab, 0x25, 0x63, 0x9b, 0x76, 0x45, 0x60, 0x51, 0x15, 0x40, 0x37, 0x74, 0x47, - 0xa5, 0x31, 0x3c, 0xf7, 0x04, 0xef, 0x1e, 0x8d, 0xa9, 0x3b, 0x34, 0xea, 0xbf, 0x3c, 0xa1, 0x64, - 0x74, 0x51, 0x20, 0xc3, 0x7d, 0x77, 0x0f, 0x5b, 0xfb, 0xdc, 0x01, 0x1c, 0x39, 0xdc, 0x77, 0x10, - 0x20, 0x32, 0x5c, 0x0a, 0x8d, 0xea, 0x90, 0xa5, 0xdf, 0xa8, 0xb2, 0xfd, 0xcb, 0x9f, 0xd1, 0x94, - 0x47, 0x21, 0x57, 0x09, 0x28, 0xdd, 0xd2, 0x97, 0x27, 0x14, 0xd8, 0x72, 0x4b, 0x44, 0x49, 0xb2, - 0x67, 0x96, 0x9c, 0x3d, 0xfe, 0x78, 0xe0, 0xdc, 0x28, 0x1a, 0xf4, 0xad, 0xa5, 0x8d, 0xbd, 0xcb, - 0x13, 0x4a, 0xaa, 0xc9, 0x7e, 0x92, 0xf9, 0xb7, 0x70, 0x5b, 0xbf, 0x8e, 0x2d, 0x82, 0x9f, 0x39, - 0x78, 0xfe, 0x8b, 0x0c, 0x92, 0x52, 0xc8, 0xb4, 0x44, 0x81, 0x28, 0x5a, 0x6c, 0xb4, 0xf8, 0x34, - 0x60, 0x50, 0x4f, 0x07, 0xd6, 0xd9, 0x68, 0x89, 0x49, 0xa4, 0x31, 0xff, 0x8d, 0x9e, 0x70, 0x3d, - 0xd4, 0xec, 0xa0, 0x53, 0x18, 0x98, 0x00, 0xcb, 0x55, 0x4c, 0x08, 0x4f, 0x15, 0xad, 0x42, 0xa1, - 0xad, 0xdb, 0x8e, 0x6a, 0x1b, 0x5a, 0xd7, 0xde, 0x35, 0x1d, 0x9b, 0x06, 0xfd, 0xd9, 0xb3, 0xf7, - 0x8d, 0xa2, 0xb0, 0xac, 0xdb, 0x4e, 0x43, 0x00, 0x5f, 0x9e, 0x50, 0xf2, 0x6d, 0x7f, 0x05, 0xa1, - 0x67, 0x6e, 0x6f, 0x63, 0xcb, 0x25, 0x48, 0x93, 0x03, 0x07, 0xd0, 0x5b, 0x23, 0xd0, 0x02, 0x9f, - 0xd0, 0x33, 0xfd, 0x15, 0xe8, 0x07, 0x61, 0xaa, 0x6d, 0x6a, 0x2d, 0x97, 0x9c, 0xda, 0xdc, 0xed, - 0x19, 0xd7, 0x68, 0x26, 0x21, 0x7b, 0xf6, 0xd4, 0xc8, 0x41, 0x9a, 0x5a, 0x4b, 0x90, 0xa8, 0x11, - 0x84, 0xcb, 0x13, 0xca, 0x64, 0xbb, 0xbf, 0x12, 0xbd, 0x13, 0xa6, 0xb5, 0x6e, 0xb7, 0xbd, 0xdf, - 0x4f, 0xbd, 0x48, 0xa9, 0x9f, 0x1e, 0x45, 0xbd, 0x42, 0x70, 0xfa, 0xc9, 0x23, 0x6d, 0xa0, 0x16, - 0x6d, 0x80, 0xd4, 0xb5, 0x30, 0xfd, 0xa8, 0xa6, 0xcb, 0x5d, 0x15, 0xfa, 0x32, 0x56, 0xf6, 0xec, - 0x89, 0x51, 0xb4, 0xd7, 0x19, 0xbc, 0xf0, 0x6c, 0x2e, 0x4f, 0x28, 0xc5, 0x6e, 0xb0, 0x8a, 0x51, - 0x35, 0x9b, 0x98, 0xbe, 0xde, 0xc4, 0xa9, 0x4e, 0x86, 0x51, 0xa5, 0xf0, 0x41, 0xaa, 0x81, 0xaa, - 0x6a, 0x8a, 0x5f, 0x8a, 0xe3, 0x4f, 0xab, 0x9c, 0x80, 0xac, 0x4f, 0xb1, 0xa0, 0x19, 0x48, 0xf1, - 0x4b, 0x02, 0xe2, 0x32, 0x1d, 0x2f, 0xca, 0x05, 0xc8, 0xf9, 0x95, 0x89, 0xfc, 0xfe, 0x88, 0x8b, - 0x49, 0xbf, 0x75, 0x9f, 0x09, 0xa6, 0x0e, 0x33, 0x5e, 0x56, 0xf0, 0x1e, 0x61, 0x45, 0x44, 0x3b, - 0x3b, 0x4d, 0xca, 0xd1, 0x4a, 0x6e, 0xc4, 0xd0, 0x1c, 0x64, 0xbb, 0x67, 0xbb, 0x2e, 0x48, 0x8c, - 0x82, 0x40, 0xf7, 0x6c, 0x57, 0x00, 0xdc, 0x0d, 0x39, 0x32, 0x53, 0xd5, 0xef, 0x68, 0x64, 0x94, - 0x2c, 0xa9, 0xe3, 0x20, 0xf2, 0xbf, 0x8d, 0x82, 0xd4, 0xaf, 0x80, 0xdc, 0x9c, 0x62, 0xe4, 0xd0, - 0x39, 0xc5, 0x63, 0xfd, 0xd9, 0x4c, 0x2f, 0x81, 0xb9, 0x0c, 0x92, 0x97, 0x87, 0x63, 0x86, 0x60, - 0xb4, 0xe3, 0xd4, 0xe7, 0xe1, 0x29, 0xc5, 0x66, 0x9f, 0xcb, 0x77, 0x31, 0x70, 0xf6, 0x22, 0xde, - 0xe6, 0xee, 0x5f, 0x62, 0xd7, 0x5f, 0xd8, 0xec, 0xb6, 0x34, 0x07, 0x8b, 0xbc, 0x88, 0xef, 0x18, - 0xe6, 0x7e, 0x28, 0x6a, 0xdd, 0xae, 0x6a, 0x3b, 0x9a, 0x83, 0xb9, 0x59, 0x4f, 0xb0, 0xf4, 0xa0, - 0xd6, 0xed, 0x36, 0x48, 0x2d, 0x33, 0xeb, 0xf7, 0x41, 0x81, 0xe8, 0x64, 0x5d, 0x6b, 0xab, 0x3c, - 0x4b, 0x90, 0x64, 0xd6, 0x9f, 0xd7, 0x5e, 0xa6, 0x95, 0x72, 0xcb, 0x5d, 0x71, 0xaa, 0x8f, 0xdd, - 0x30, 0x2b, 0xe2, 0x0b, 0xb3, 0x10, 0x7f, 0x84, 0x80, 0xf1, 0x47, 0xbc, 0xdb, 0x30, 0x3c, 0xbb, - 0x3b, 0x4d, 0x43, 0xb2, 0xeb, 0x2c, 0xe1, 0x91, 0x56, 0x58, 0x41, 0x7e, 0x4f, 0x14, 0x26, 0x07, - 0x34, 0xf7, 0xd0, 0xb4, 0xb7, 0x17, 0x5f, 0x46, 0x0f, 0x15, 0x5f, 0x3e, 0x13, 0x4c, 0xeb, 0xfa, - 0x2c, 0xdf, 0xf1, 0x01, 0x26, 0x33, 0xbd, 0x49, 0x04, 0x9a, 0x13, 0xf1, 0x65, 0x7e, 0xa9, 0x98, - 0x6f, 0xc2, 0xf4, 0xd6, 0xfe, 0x4b, 0x9a, 0xe1, 0xe8, 0x06, 0x56, 0x07, 0x56, 0x6d, 0xd0, 0x94, - 0xae, 0xe8, 0xf6, 0x16, 0xde, 0xd5, 0xae, 0xeb, 0xa6, 0x18, 0xd6, 0x94, 0x8b, 0xef, 0x25, 0x77, - 0x65, 0x05, 0x0a, 0x41, 0xd3, 0x83, 0x0a, 0x10, 0x75, 0xf6, 0xf8, 0xfc, 0xa3, 0xce, 0x1e, 0x7a, - 0x98, 0xe7, 0x81, 0xa2, 0x34, 0x0f, 0x34, 0xd8, 0x11, 0xc7, 0xf3, 0x92, 0x40, 0xb2, 0xec, 0xee, - 0x06, 0xd7, 0x1c, 0xf5, 0x53, 0x95, 0x4f, 0x41, 0xb1, 0xcf, 0xde, 0x8c, 0xca, 0x0a, 0xca, 0x45, - 0xc8, 0x07, 0x8c, 0x8b, 0x7c, 0x04, 0xa6, 0x87, 0xd9, 0x0a, 0x79, 0xd7, 0xad, 0x0f, 0xe8, 0x7c, - 0x74, 0x0e, 0xd2, 0xae, 0xb1, 0x18, 0x92, 0x85, 0xa0, 0xb3, 0x10, 0xc0, 0x8a, 0x0b, 0x1a, 0x48, - 0x66, 0x47, 0x03, 0xc9, 0x6c, 0xf9, 0x5d, 0x30, 0x33, 0xca, 0x10, 0xf4, 0x4d, 0x23, 0xee, 0x4a, - 0xe1, 0x11, 0x48, 0xf2, 0x27, 0xda, 0xa2, 0xf4, 0xf8, 0x86, 0x97, 0x88, 0x74, 0x32, 0xa3, 0x10, - 0x63, 0xa7, 0x3a, 0xb4, 0x20, 0xab, 0x70, 0x6c, 0xa4, 0x31, 0x18, 0x7d, 0x10, 0xc4, 0x08, 0xf1, - 0x83, 0xa0, 0xa6, 0x18, 0x8e, 0x4d, 0xe7, 0x2a, 0x2e, 0x3b, 0xb0, 0x92, 0xfc, 0xc1, 0x18, 0x1c, - 0x19, 0x6e, 0x12, 0xd0, 0x3c, 0xe4, 0x88, 0xdf, 0xed, 0x04, 0x5d, 0x74, 0xe8, 0x68, 0x7b, 0x1b, - 0xdc, 0x3f, 0xe7, 0x89, 0xf4, 0xa8, 0x9b, 0x48, 0x47, 0x9b, 0x30, 0xd9, 0x36, 0x9b, 0x5a, 0x5b, - 0xf5, 0x49, 0x3c, 0x17, 0xf6, 0x7b, 0x06, 0x98, 0x5d, 0x67, 0x0f, 0x37, 0xb7, 0x06, 0x84, 0xbe, - 0x48, 0x69, 0x2c, 0xbb, 0x92, 0x8f, 0x16, 0x21, 0xdb, 0xf1, 0x04, 0xf9, 0x10, 0xc2, 0xee, 0x47, - 0xf3, 0x2d, 0x49, 0x62, 0xe8, 0xb1, 0x4f, 0xf2, 0xd0, 0x2a, 0x7a, 0xd4, 0x09, 0x4a, 0x6a, 0xe4, - 0x09, 0xca, 0xb0, 0xe3, 0x8a, 0xf4, 0xf0, 0xe3, 0x8a, 0xf7, 0xfa, 0x97, 0x26, 0x60, 0x44, 0x07, - 0x4f, 0x30, 0x50, 0x03, 0xa6, 0x39, 0x7e, 0x2b, 0xc0, 0xfb, 0xe8, 0xb8, 0x8a, 0x06, 0x09, 0xf4, - 0xd1, 0x6c, 0x8f, 0xdd, 0x1e, 0xdb, 0x85, 0x2e, 0x8d, 0xfb, 0x74, 0xe9, 0xff, 0x67, 0x4b, 0xf1, - 0xef, 0x33, 0x90, 0x56, 0xb0, 0xdd, 0x25, 0x86, 0x13, 0x55, 0x21, 0x83, 0xf7, 0x9a, 0xb8, 0xeb, - 0x78, 0xc7, 0x94, 0xc3, 0x82, 0x01, 0x06, 0x5d, 0x17, 0x90, 0xc4, 0x13, 0x77, 0xd1, 0xd0, 0xa3, - 0x3c, 0xd8, 0x1a, 0x1d, 0x37, 0x71, 0x74, 0x7f, 0xb4, 0x75, 0x5e, 0x44, 0x5b, 0xb1, 0x91, 0xce, - 0x37, 0xc3, 0xea, 0x0b, 0xb7, 0x1e, 0xe5, 0xe1, 0x56, 0x3c, 0xa4, 0xb3, 0x40, 0xbc, 0x55, 0x0b, - 0xc4, 0x5b, 0xc9, 0x90, 0x69, 0x8e, 0x08, 0xb8, 0xce, 0x8b, 0x80, 0x2b, 0x15, 0x32, 0xe2, 0xbe, - 0x88, 0xeb, 0x62, 0x30, 0xe2, 0x4a, 0x8f, 0x50, 0x20, 0x02, 0x7b, 0x64, 0xc8, 0xf5, 0x94, 0x2f, - 0xe4, 0xca, 0x8c, 0x8c, 0x77, 0x18, 0x91, 0x21, 0x31, 0x57, 0x2d, 0x10, 0x73, 0x41, 0x08, 0x0f, - 0x46, 0x04, 0x5d, 0x3f, 0xe0, 0x0f, 0xba, 0xb2, 0x23, 0xe3, 0x36, 0xbe, 0xde, 0xc3, 0xa2, 0xae, - 0x27, 0xdd, 0xa8, 0x2b, 0x37, 0x32, 0x6c, 0xe4, 0x73, 0xe8, 0x0f, 0xbb, 0xd6, 0x06, 0xc2, 0xae, - 0x3c, 0xff, 0x9b, 0x08, 0xa3, 0x48, 0x84, 0xc4, 0x5d, 0x6b, 0x03, 0x71, 0x57, 0x21, 0x84, 0x60, - 0x48, 0xe0, 0xf5, 0x43, 0xc3, 0x03, 0xaf, 0xd1, 0xa1, 0x11, 0x1f, 0xe6, 0x78, 0x91, 0x97, 0x3a, - 0x22, 0xf2, 0x62, 0xd1, 0xd1, 0x03, 0x23, 0xc9, 0x8f, 0x1d, 0x7a, 0x6d, 0x0e, 0x09, 0xbd, 0x58, - 0x90, 0x74, 0x72, 0x24, 0xf1, 0x31, 0x62, 0xaf, 0xcd, 0x21, 0xb1, 0x17, 0x0a, 0x25, 0x7b, 0x98, - 0xe0, 0x2b, 0x21, 0x25, 0xe5, 0x53, 0xc4, 0xf5, 0xed, 0xd3, 0x53, 0xc4, 0x7f, 0xc0, 0x96, 0x65, - 0x5a, 0xe2, 0x66, 0x2d, 0x2d, 0xc8, 0x27, 0x89, 0x33, 0xee, 0xe9, 0xa4, 0x03, 0x02, 0x35, 0xea, - 0xa7, 0xf9, 0xf4, 0x90, 0xfc, 0xc5, 0x88, 0x87, 0x4b, 0x7d, 0x58, 0xbf, 0x23, 0x9f, 0xe1, 0x8e, - 0xbc, 0x2f, 0x7c, 0x8b, 0x06, 0xc3, 0xb7, 0x39, 0xc8, 0x12, 0xff, 0xab, 0x2f, 0x32, 0xd3, 0xba, - 0x6e, 0x64, 0x26, 0xae, 0x14, 0xb0, 0x20, 0x8f, 0x9b, 0x15, 0x76, 0x92, 0x53, 0x74, 0xaf, 0x57, - 0xb0, 0x98, 0x02, 0x3d, 0x04, 0x53, 0x3e, 0x58, 0xd7, 0xaf, 0x63, 0x61, 0x8a, 0xe4, 0x42, 0x57, - 0xb8, 0x83, 0xf7, 0x2f, 0x22, 0x1e, 0x87, 0xbc, 0x90, 0x6e, 0x58, 0xf4, 0x15, 0x79, 0x83, 0xa2, - 0xaf, 0xe8, 0x6d, 0x47, 0x5f, 0x7e, 0x3f, 0x35, 0x16, 0xf4, 0x53, 0xff, 0x22, 0xe2, 0xad, 0x89, - 0x1b, 0x4b, 0x35, 0xcd, 0x16, 0xe6, 0x9e, 0x23, 0xfd, 0x4d, 0x9c, 0x8a, 0xb6, 0xb9, 0xc3, 0xfd, - 0x43, 0xf2, 0x93, 0x40, 0xb9, 0x86, 0x23, 0xc3, 0xed, 0x82, 0xeb, 0x74, 0x26, 0xfc, 0xf7, 0x7f, - 0xf9, 0xa5, 0xd8, 0xa4, 0x77, 0x29, 0xd6, 0xfd, 0xf8, 0x2d, 0xe5, 0xfb, 0xf8, 0x0d, 0x3d, 0x01, - 0x19, 0x9a, 0x11, 0x55, 0xcd, 0xae, 0xf8, 0x0b, 0x1a, 0xc7, 0x47, 0x5f, 0x88, 0xb5, 0xe9, 0x55, - 0x3d, 0x76, 0x89, 0xd6, 0xf3, 0x18, 0x32, 0x01, 0x8f, 0xe1, 0x4e, 0xc8, 0x90, 0xd1, 0xb3, 0x97, - 0xa0, 0x81, 0x7f, 0x39, 0x29, 0x2a, 0xe4, 0x77, 0x02, 0x1a, 0x34, 0x12, 0xe8, 0x32, 0x24, 0xf1, - 0x75, 0xfa, 0xac, 0x1e, 0xbb, 0x68, 0x78, 0x64, 0xd0, 0x35, 0x25, 0xcd, 0xd5, 0x19, 0xc2, 0xe4, - 0x6f, 0xbd, 0x3a, 0x27, 0x31, 0xe8, 0x07, 0xdd, 0x0f, 0x05, 0x14, 0x8e, 0x2f, 0xff, 0xe7, 0x28, - 0x09, 0x60, 0x02, 0x06, 0x64, 0x28, 0x6f, 0x87, 0x1d, 0x11, 0x8e, 0xc7, 0xef, 0x59, 0x80, 0x1d, - 0xcd, 0x56, 0x6f, 0x68, 0x86, 0x83, 0x5b, 0x9c, 0xe9, 0xbe, 0x1a, 0x54, 0x82, 0x34, 0x29, 0xf5, - 0x6c, 0xdc, 0xe2, 0x61, 0xb4, 0x5b, 0xf6, 0xcd, 0x33, 0xf5, 0xbd, 0xcd, 0x33, 0xc8, 0xe5, 0x74, - 0x1f, 0x97, 0x7d, 0xc1, 0x45, 0xc6, 0x1f, 0x5c, 0xb0, 0x8b, 0xc1, 0xfc, 0x7e, 0x22, 0xb0, 0xb1, - 0x89, 0x32, 0xba, 0x07, 0xf2, 0x1d, 0xdc, 0xe9, 0x9a, 0x66, 0x5b, 0x65, 0xea, 0x86, 0x3d, 0xf9, - 0x9e, 0xe3, 0x95, 0x75, 0xaa, 0x75, 0x7e, 0x3c, 0xea, 0xed, 0x3f, 0x2f, 0x88, 0xfc, 0xbe, 0x63, - 0xb0, 0xfc, 0x53, 0x34, 0xb3, 0x14, 0x74, 0x11, 0x50, 0xc3, 0x7f, 0x6b, 0xa4, 0x47, 0xd5, 0x82, - 0x10, 0xe8, 0x71, 0xf5, 0x87, 0x77, 0xbb, 0x84, 0x55, 0xdb, 0xe8, 0x79, 0x38, 0xda, 0xa7, 0xdb, - 0x5c, 0xd2, 0xd1, 0x71, 0x55, 0xdc, 0x1d, 0x41, 0x15, 0x27, 0x48, 0x7b, 0xcc, 0x8a, 0x7d, 0x8f, - 0xbb, 0x6e, 0x09, 0x0a, 0x41, 0x8f, 0x67, 0xe8, 0xf2, 0xd3, 0x3f, 0x31, 0xe2, 0x68, 0xba, 0xa1, - 0x06, 0xd2, 0x41, 0x39, 0x56, 0xc9, 0x93, 0x4c, 0xeb, 0x70, 0xc7, 0x50, 0xcf, 0x07, 0x3d, 0x0e, - 0x19, 0xcf, 0x69, 0x62, 0x5c, 0x3d, 0x20, 0x5d, 0xe0, 0xc1, 0xca, 0xbf, 0x19, 0xf1, 0x48, 0x06, - 0x13, 0x10, 0x75, 0x48, 0xb2, 0x6b, 0x6f, 0xfc, 0x32, 0xcd, 0x43, 0xe3, 0xf9, 0x4c, 0x0b, 0xec, - 0x4e, 0x9c, 0xc2, 0x91, 0xe5, 0x77, 0x42, 0x92, 0xd5, 0xa0, 0x2c, 0xa4, 0xbc, 0x97, 0x6f, 0x01, - 0x92, 0x95, 0x5a, 0xad, 0xbe, 0xbe, 0x21, 0x45, 0x50, 0x06, 0x12, 0x95, 0xea, 0x9a, 0xb2, 0x21, - 0x45, 0x49, 0xb5, 0x52, 0xbf, 0x52, 0xaf, 0x6d, 0x48, 0x31, 0x34, 0x09, 0x79, 0xf6, 0x5b, 0xbd, - 0xb8, 0xa6, 0xac, 0x54, 0x36, 0xa4, 0xb8, 0xaf, 0xaa, 0x51, 0x5f, 0x5d, 0xac, 0x2b, 0x52, 0x42, - 0x7e, 0x04, 0x8e, 0x8d, 0xf4, 0xb2, 0xbc, 0xec, 0x42, 0xc4, 0x97, 0x5d, 0x90, 0x3f, 0x18, 0x85, - 0xd2, 0x68, 0xd7, 0x09, 0x5d, 0xe9, 0x9b, 0xf8, 0xd9, 0x43, 0xf8, 0x5d, 0x7d, 0xb3, 0x47, 0xf7, - 0x41, 0xc1, 0xc2, 0xdb, 0xd8, 0x69, 0xee, 0x32, 0x57, 0x8e, 0x99, 0xcc, 0xbc, 0x92, 0xe7, 0xb5, - 0x14, 0xc9, 0x66, 0x60, 0x2f, 0xe2, 0xa6, 0xa3, 0x32, 0x5d, 0x64, 0xf3, 0xbf, 0x75, 0x98, 0x67, - 0xb5, 0x0d, 0x56, 0x29, 0xbf, 0xeb, 0x50, 0xbc, 0xcc, 0x40, 0x42, 0xa9, 0x6f, 0x28, 0xcf, 0x4b, - 0x31, 0x84, 0xa0, 0x40, 0x7f, 0xaa, 0x8d, 0xd5, 0xca, 0x7a, 0xe3, 0xf2, 0x1a, 0xe1, 0xe5, 0x14, - 0x14, 0x05, 0x2f, 0x45, 0x65, 0x42, 0x7e, 0x00, 0x8e, 0x8e, 0xf0, 0xfb, 0x86, 0xdc, 0x43, 0xfc, - 0x58, 0xc4, 0x0f, 0x1d, 0x8c, 0xf9, 0xd7, 0x20, 0x69, 0x3b, 0x9a, 0xd3, 0xb3, 0x39, 0x13, 0x1f, - 0x1f, 0xd7, 0x11, 0x5c, 0x10, 0x3f, 0x1a, 0x14, 0x5d, 0xe1, 0x64, 0xe4, 0x73, 0x50, 0x08, 0xb6, - 0x8c, 0xe6, 0x81, 0x27, 0x44, 0x51, 0xf9, 0x79, 0x00, 0x5f, 0x3e, 0xd2, 0xbd, 0xd1, 0x15, 0xf1, - 0xdf, 0xe8, 0x3a, 0x07, 0x89, 0xeb, 0x26, 0xd3, 0x19, 0xc3, 0x37, 0xce, 0x55, 0xd3, 0xc1, 0xbe, - 0xe4, 0x03, 0x83, 0x96, 0x75, 0x40, 0x83, 0x39, 0xa1, 0x11, 0x5d, 0x3c, 0x15, 0xec, 0xe2, 0xee, - 0x91, 0xd9, 0xa5, 0xe1, 0x5d, 0xbd, 0x04, 0x09, 0xaa, 0x6d, 0x86, 0x7e, 0xe2, 0xf3, 0xc3, 0x00, - 0x9a, 0xe3, 0x58, 0xfa, 0x56, 0xcf, 0xeb, 0x60, 0x6e, 0xb8, 0xb6, 0xaa, 0x08, 0xb8, 0xea, 0x9d, - 0x5c, 0x6d, 0x4d, 0x7b, 0xa8, 0x3e, 0xd5, 0xe5, 0x23, 0x28, 0xaf, 0x42, 0x21, 0x88, 0x3b, 0xfc, - 0x93, 0x25, 0xef, 0xed, 0x80, 0x8c, 0x70, 0x9f, 0x5c, 0xe7, 0x8b, 0xbf, 0xe7, 0x41, 0x0b, 0xf2, - 0xcd, 0x08, 0xa4, 0x37, 0xf6, 0xb8, 0x1c, 0x1f, 0x70, 0xa9, 0xd2, 0xfb, 0x6e, 0xcb, 0x4d, 0x16, - 0xb2, 0x7c, 0x6c, 0xcc, 0xcd, 0xf2, 0xfe, 0x80, 0xbb, 0x53, 0xe3, 0xe3, 0x46, 0xbb, 0x22, 0xdb, - 0xcd, 0xb5, 0xd3, 0x85, 0xf1, 0xbe, 0x91, 0x98, 0x86, 0x84, 0xff, 0xfb, 0x06, 0x56, 0x90, 0x5b, - 0xbe, 0x6b, 0x09, 0xcc, 0x6c, 0xf8, 0x3f, 0xa6, 0x88, 0x1c, 0xfa, 0x63, 0x0a, 0xb7, 0x97, 0xa8, - 0xbf, 0x97, 0xeb, 0x90, 0x16, 0x42, 0x81, 0xde, 0xee, 0xbf, 0x7b, 0x22, 0xce, 0x68, 0x46, 0x1a, - 0x4f, 0x4e, 0xde, 0x77, 0xf5, 0xe4, 0x34, 0x4c, 0xf2, 0x2b, 0x77, 0x5e, 0x5c, 0xc1, 0xdf, 0xe6, - 0x2f, 0xb2, 0x86, 0x65, 0x11, 0x54, 0xc8, 0xbf, 0x14, 0x01, 0xa9, 0x5f, 0x2a, 0xdf, 0xca, 0x01, - 0x10, 0xa5, 0x48, 0xa4, 0xdf, 0xf7, 0xe8, 0x36, 0x5b, 0xf9, 0x3c, 0xa9, 0xf5, 0x9e, 0xdd, 0x7e, - 0x4f, 0x14, 0xb2, 0xbe, 0x9c, 0x1e, 0x7a, 0x2c, 0x70, 0x05, 0x74, 0xfe, 0xa0, 0xfc, 0x9f, 0xef, - 0x0e, 0x68, 0x60, 0x62, 0xd1, 0xc3, 0x4f, 0xec, 0x8d, 0xbf, 0xa4, 0x3f, 0xfc, 0x6b, 0x9f, 0xc4, - 0x88, 0xaf, 0x7d, 0x7e, 0x34, 0x02, 0x69, 0xd7, 0x74, 0x1f, 0x36, 0x9b, 0x7f, 0x04, 0x92, 0xdc, - 0x3a, 0xb1, 0x74, 0x3e, 0x2f, 0x0d, 0xcd, 0x85, 0x96, 0x20, 0x2d, 0xfe, 0xa8, 0x0d, 0x0f, 0x44, - 0xdd, 0xf2, 0xe9, 0x27, 0x21, 0xeb, 0x3b, 0x58, 0x21, 0x7a, 0x62, 0xb5, 0xfe, 0xac, 0x34, 0x51, - 0x4a, 0xdd, 0xbc, 0x35, 0x1f, 0x5b, 0xc5, 0x37, 0xc8, 0x0e, 0x53, 0xea, 0xb5, 0xcb, 0xf5, 0xda, - 0x33, 0x52, 0xa4, 0x94, 0xbd, 0x79, 0x6b, 0x3e, 0xa5, 0x60, 0x9a, 0xbe, 0x3a, 0xfd, 0x0c, 0x14, - 0xfb, 0x16, 0x26, 0xa8, 0xdf, 0x11, 0x14, 0x16, 0x37, 0xd7, 0x97, 0x97, 0x6a, 0x95, 0x8d, 0xba, - 0xca, 0xae, 0xd3, 0xa1, 0xa3, 0x30, 0xb5, 0xbc, 0x74, 0xe9, 0xf2, 0x86, 0x5a, 0x5b, 0x5e, 0xaa, - 0xaf, 0x6e, 0xa8, 0x95, 0x8d, 0x8d, 0x4a, 0xed, 0x19, 0x29, 0x7a, 0xf6, 0xbb, 0x00, 0xc5, 0x4a, - 0xb5, 0xb6, 0x44, 0xec, 0xb3, 0xce, 0xdf, 0x4d, 0xaf, 0x41, 0x9c, 0xa6, 0x02, 0x0e, 0xbc, 0x2a, - 0x52, 0x3a, 0x38, 0xb7, 0x89, 0x2e, 0x42, 0x82, 0x66, 0x09, 0xd0, 0xc1, 0x77, 0x47, 0x4a, 0x21, - 0xc9, 0x4e, 0x32, 0x18, 0xba, 0x9d, 0x0e, 0xbc, 0x4c, 0x52, 0x3a, 0x38, 0xf7, 0x89, 0x14, 0xc8, - 0x78, 0x51, 0x46, 0xf8, 0xe5, 0x8a, 0xd2, 0x18, 0xda, 0x11, 0x2d, 0x43, 0x4a, 0x04, 0x86, 0x61, - 0xd7, 0x3d, 0x4a, 0xa1, 0xc9, 0x49, 0xc2, 0x2e, 0x16, 0xc0, 0x1f, 0x7c, 0x77, 0xa5, 0x14, 0x92, - 0x69, 0x45, 0x4b, 0xee, 0x25, 0xfc, 0x90, 0x2b, 0x1c, 0xa5, 0xb0, 0x64, 0x23, 0x61, 0x9a, 0x97, - 0x1a, 0x09, 0xbf, 0x91, 0x53, 0x1a, 0x23, 0x89, 0x8c, 0x36, 0x01, 0x7c, 0xe1, 0xfa, 0x18, 0x57, - 0x6d, 0x4a, 0xe3, 0x24, 0x87, 0xd1, 0x1a, 0xa4, 0xdd, 0xe8, 0x29, 0xf4, 0xe2, 0x4b, 0x29, 0x3c, - 0x4b, 0x8b, 0xde, 0x09, 0xf9, 0x60, 0xd4, 0x30, 0xde, 0x75, 0x96, 0xd2, 0x98, 0xe9, 0x57, 0x42, - 0x3f, 0x18, 0x42, 0x8c, 0x77, 0xbd, 0xa5, 0x34, 0x66, 0x36, 0x16, 0xbd, 0x08, 0x93, 0x83, 0x2e, - 0xfe, 0xf8, 0xb7, 0x5d, 0x4a, 0x87, 0xc8, 0xcf, 0xa2, 0x0e, 0xa0, 0x21, 0xa1, 0xc1, 0x21, 0x2e, - 0xbf, 0x94, 0x0e, 0x93, 0xae, 0x45, 0x2d, 0x28, 0xf6, 0xfb, 0xdb, 0xe3, 0x5e, 0x86, 0x29, 0x8d, - 0x9d, 0xba, 0x65, 0xbd, 0x04, 0xfd, 0xf4, 0x71, 0x2f, 0xc7, 0x94, 0xc6, 0xce, 0xe4, 0x56, 0x2b, - 0x23, 0xef, 0x37, 0x9e, 0x38, 0xf0, 0x7e, 0xa3, 0x77, 0x63, 0xd1, 0xbd, 0xd3, 0xf8, 0xe7, 0x8f, - 0xc1, 0xbd, 0xfc, 0x31, 0x01, 0xdb, 0xd1, 0xae, 0xe9, 0xc6, 0x8e, 0xfb, 0x3a, 0x04, 0x2f, 0xf3, - 0xcb, 0x8d, 0x47, 0xf8, 0x83, 0x05, 0xa2, 0x36, 0xe4, 0x8d, 0x88, 0x91, 0x0f, 0x67, 0x85, 0x5d, - 0x42, 0x0e, 0xbf, 0xba, 0x78, 0xc0, 0xfb, 0x13, 0x21, 0xaf, 0x5c, 0x0c, 0x79, 0x9f, 0x22, 0xe4, - 0x12, 0xe6, 0x41, 0xf7, 0x3d, 0xe5, 0x0f, 0x44, 0xa0, 0x70, 0x59, 0xb7, 0x1d, 0xd3, 0xd2, 0x9b, - 0x5a, 0x9b, 0x5a, 0x8c, 0x0b, 0xe3, 0x7e, 0xe4, 0x51, 0xcd, 0x10, 0x67, 0x84, 0x3f, 0x6a, 0xc1, - 0x2f, 0x86, 0x2c, 0x42, 0xf2, 0xba, 0xd6, 0x66, 0x9f, 0x58, 0xf8, 0xdf, 0xaf, 0xe9, 0xe7, 0xb9, - 0xcf, 0x4b, 0xf2, 0x53, 0x61, 0xb8, 0xf2, 0x17, 0xe8, 0x25, 0xee, 0x4e, 0x47, 0xb7, 0xd9, 0x9f, - 0x9d, 0x76, 0xb0, 0x8d, 0x36, 0x21, 0x6e, 0x69, 0x0e, 0x0f, 0x6a, 0xaa, 0x15, 0xfe, 0x14, 0xc5, - 0xfd, 0xe1, 0x0f, 0x4a, 0x2c, 0x0c, 0xbc, 0x56, 0xc1, 0x3a, 0xa3, 0xe4, 0xd0, 0x0f, 0x41, 0xba, - 0xa3, 0xed, 0xa9, 0x94, 0x74, 0xf4, 0x8d, 0x22, 0x9d, 0xea, 0x68, 0x7b, 0x64, 0xd4, 0x48, 0x87, - 0x22, 0xa1, 0xde, 0xdc, 0xd5, 0x8c, 0x1d, 0xcc, 0x3a, 0x89, 0xbd, 0x51, 0x9d, 0xe4, 0x3b, 0xda, - 0x5e, 0x8d, 0x12, 0x26, 0x5d, 0xf1, 0x47, 0x3f, 0x7e, 0x2b, 0xc2, 0x43, 0x59, 0xca, 0x39, 0xa4, - 0x81, 0xd4, 0x74, 0x4b, 0xb4, 0x7f, 0x91, 0xd6, 0x3f, 0x31, 0x6a, 0x61, 0xfa, 0xf8, 0x5e, 0xcd, - 0x93, 0x91, 0x7e, 0xe5, 0xd5, 0xb9, 0x08, 0xeb, 0xb5, 0xd8, 0xec, 0x5b, 0x97, 0x2b, 0x90, 0x65, - 0xd9, 0x34, 0x95, 0xba, 0xb0, 0xd1, 0x50, 0x17, 0x36, 0x2f, 0x5c, 0x58, 0x46, 0x10, 0x18, 0x36, - 0x69, 0xe7, 0x73, 0xf8, 0x54, 0x04, 0xb2, 0x8b, 0xbe, 0xe7, 0xaa, 0x66, 0x20, 0xd5, 0x31, 0x0d, - 0xfd, 0x1a, 0xb6, 0xdc, 0x73, 0x19, 0x56, 0x24, 0x6e, 0x26, 0xfb, 0xb3, 0x43, 0xce, 0xbe, 0x78, - 0x89, 0x41, 0x94, 0x09, 0xd6, 0x0d, 0xbc, 0x65, 0xeb, 0x82, 0xe5, 0x8a, 0x28, 0xa2, 0x53, 0x20, - 0xd9, 0xb8, 0xd9, 0xb3, 0x74, 0x67, 0x5f, 0x6d, 0x9a, 0x86, 0xa3, 0x35, 0x1d, 0x9e, 0x3d, 0x2d, - 0x8a, 0xfa, 0x1a, 0xab, 0x26, 0x44, 0x5a, 0xd8, 0xd1, 0xf4, 0x36, 0xbb, 0xf6, 0x95, 0x51, 0x44, - 0x91, 0x0f, 0xf5, 0x0b, 0x29, 0x7f, 0x68, 0x58, 0x03, 0xc9, 0xec, 0x62, 0x2b, 0xf0, 0xc9, 0x1b, - 0x13, 0xd7, 0x99, 0xdf, 0xfd, 0xdc, 0x43, 0xd3, 0x9c, 0xe1, 0xfc, 0x00, 0x9e, 0xbd, 0xce, 0xac, - 0x14, 0x05, 0x86, 0xf8, 0x16, 0xee, 0xf9, 0xc0, 0x49, 0x4c, 0x6f, 0xcb, 0xfb, 0xe4, 0x7e, 0x7a, - 0x80, 0xa9, 0x15, 0x63, 0xbf, 0x3a, 0xf3, 0x3b, 0x1e, 0x69, 0x2f, 0x74, 0x7c, 0x06, 0xef, 0xfb, - 0x8f, 0x65, 0x28, 0x19, 0xe2, 0xc1, 0xbf, 0xa8, 0xe9, 0x6d, 0xf1, 0x97, 0xd4, 0x14, 0x5e, 0x42, - 0x65, 0x37, 0x0d, 0xc3, 0xfe, 0x42, 0xba, 0x3c, 0x4a, 0x36, 0xaa, 0xa6, 0xd1, 0x0a, 0x66, 0x5c, - 0xd0, 0x06, 0x24, 0x1d, 0xf3, 0x1a, 0x36, 0x38, 0x83, 0xaa, 0x6f, 0x3b, 0x84, 0x60, 0x0f, 0xbe, - 0x3f, 0xc3, 0x69, 0xa1, 0x1d, 0x90, 0x5a, 0xb8, 0x8d, 0x77, 0xd8, 0x07, 0x5b, 0xbb, 0x9a, 0x85, - 0xd9, 0x47, 0x9c, 0x87, 0xa3, 0x3f, 0xf8, 0x4c, 0x4d, 0xd1, 0xa5, 0xda, 0xa0, 0x44, 0xd1, 0x7a, - 0xf0, 0xb1, 0xb4, 0x14, 0x3f, 0x95, 0x1f, 0x31, 0x7f, 0x9f, 0x54, 0xfa, 0xd5, 0x56, 0xe0, 0x71, - 0xb5, 0x53, 0x20, 0xf5, 0x8c, 0x2d, 0xd3, 0xa0, 0x7f, 0xf4, 0x88, 0x07, 0x58, 0x69, 0x76, 0x72, - 0xe7, 0xd6, 0xf3, 0x93, 0xbb, 0x75, 0x28, 0x78, 0xa0, 0x74, 0xf7, 0x64, 0x0e, 0xbb, 0x7b, 0xf2, - 0x2e, 0x01, 0x02, 0x82, 0x56, 0x00, 0xbc, 0xfd, 0xe9, 0x9e, 0xee, 0x87, 0xee, 0x74, 0xff, 0x64, - 0x7c, 0x04, 0x50, 0x1b, 0xa6, 0x3a, 0xba, 0xa1, 0xda, 0xb8, 0xbd, 0xad, 0x72, 0xce, 0x11, 0xba, - 0xd9, 0x37, 0x60, 0xa5, 0x27, 0x3b, 0xba, 0xd1, 0xc0, 0xed, 0xed, 0x45, 0x97, 0x2c, 0x7a, 0x1b, - 0x1c, 0xf7, 0xd8, 0x61, 0x1a, 0xea, 0xae, 0xd9, 0x6e, 0xa9, 0x16, 0xde, 0x56, 0x9b, 0xf4, 0xf9, - 0xa3, 0x1c, 0x65, 0xe2, 0x51, 0x17, 0x64, 0xcd, 0xb8, 0x6c, 0xb6, 0x5b, 0x0a, 0xde, 0xae, 0x91, - 0x66, 0x74, 0x0f, 0x78, 0xbc, 0x50, 0xf5, 0x96, 0x3d, 0x93, 0x9f, 0x8f, 0x9d, 0x8c, 0x2b, 0x39, - 0xb7, 0x72, 0xa9, 0x65, 0x97, 0xd3, 0xef, 0x7d, 0x65, 0x6e, 0xe2, 0x9b, 0xaf, 0xcc, 0x4d, 0xc8, - 0x17, 0xe9, 0x63, 0x1d, 0x7c, 0xd3, 0x61, 0x1b, 0x9d, 0x87, 0x8c, 0x26, 0x0a, 0xec, 0x33, 0x91, - 0x03, 0x36, 0xad, 0x07, 0x2a, 0xbf, 0x12, 0x81, 0xe4, 0xe2, 0xd5, 0x75, 0x4d, 0xb7, 0x50, 0x1d, - 0x26, 0x3d, 0xa1, 0x1d, 0x77, 0xff, 0x7b, 0x72, 0x2e, 0x14, 0x40, 0x7d, 0xd4, 0x97, 0xb3, 0x07, - 0x92, 0xe9, 0xff, 0xa6, 0xd6, 0x37, 0xd5, 0x2b, 0x90, 0x62, 0x23, 0xb4, 0xd1, 0xd3, 0x90, 0xe8, - 0x92, 0x1f, 0x3c, 0xfb, 0x3f, 0x3b, 0x52, 0xd0, 0x29, 0xbc, 0x5f, 0x2c, 0x18, 0x9e, 0xfc, 0x97, - 0x11, 0x80, 0xc5, 0xab, 0x57, 0x37, 0x2c, 0xbd, 0xdb, 0xc6, 0xce, 0x1b, 0x35, 0xe5, 0x65, 0xb8, - 0xc3, 0xf7, 0x7d, 0xa6, 0xd5, 0x1c, 0x7b, 0xda, 0x53, 0xde, 0x17, 0x9a, 0x56, 0x73, 0x28, 0xb5, - 0x96, 0xed, 0xb8, 0xd4, 0x62, 0x63, 0x53, 0x5b, 0xb4, 0x9d, 0x41, 0x3e, 0x3e, 0x07, 0x59, 0x6f, - 0xea, 0x36, 0x5a, 0x82, 0xb4, 0xc3, 0x7f, 0x73, 0x76, 0xca, 0xa3, 0xd9, 0x29, 0xd0, 0xfc, 0x2c, - 0x75, 0xd1, 0xe5, 0xff, 0x4d, 0xb8, 0xea, 0x6d, 0x84, 0xbf, 0x56, 0x82, 0x44, 0x34, 0x3c, 0xd7, - 0xc0, 0xb1, 0x37, 0x40, 0x03, 0x73, 0x5a, 0x3e, 0xb6, 0xfe, 0x58, 0x14, 0xa6, 0x36, 0xc5, 0x26, - 0xfd, 0x6b, 0xcb, 0x85, 0x4d, 0x48, 0x61, 0xc3, 0xb1, 0x74, 0x2c, 0x8e, 0xfa, 0x1e, 0x1e, 0xb5, - 0xd8, 0x43, 0xe6, 0x42, 0xff, 0x14, 0xb0, 0x7f, 0xe9, 0x05, 0x2d, 0x1f, 0x1b, 0x7e, 0x23, 0x06, - 0x33, 0xa3, 0x50, 0xd1, 0x09, 0x28, 0x36, 0x2d, 0x4c, 0x2b, 0xd4, 0x40, 0x2a, 0xbc, 0x20, 0xaa, - 0xb9, 0x49, 0x51, 0x80, 0x38, 0x68, 0x44, 0xaa, 0x08, 0xe8, 0xed, 0x79, 0x64, 0x05, 0x8f, 0x02, - 0x35, 0x2a, 0x18, 0x8a, 0xe2, 0x6e, 0xfb, 0x96, 0xd6, 0xd6, 0x8c, 0x26, 0xbe, 0x0d, 0x49, 0x18, - 0xb4, 0x00, 0xe2, 0xc2, 0x7c, 0x95, 0xd1, 0x44, 0x57, 0x21, 0x25, 0xc8, 0xc7, 0xdf, 0x00, 0xf2, - 0x82, 0x18, 0xba, 0x1b, 0x72, 0x7e, 0xc3, 0x40, 0xfd, 0x94, 0xb8, 0x92, 0xf5, 0xd9, 0x85, 0x30, - 0xcb, 0x93, 0x3c, 0xd0, 0xf2, 0x70, 0x57, 0xf0, 0xd7, 0x63, 0x30, 0xa9, 0xe0, 0xd6, 0xf7, 0xe1, - 0xc2, 0xfd, 0x20, 0x00, 0xdb, 0xd4, 0x44, 0xd9, 0xde, 0xc6, 0xda, 0x0d, 0x2a, 0x89, 0x0c, 0xa3, - 0xb7, 0x68, 0x3b, 0x6f, 0xd5, 0xea, 0xfd, 0x9b, 0x28, 0xe4, 0xfc, 0xab, 0xf7, 0x7d, 0x60, 0xd9, - 0xd0, 0xaa, 0xa7, 0xd2, 0xd8, 0xed, 0xf3, 0x53, 0xa3, 0x54, 0xda, 0x80, 0x5c, 0x87, 0xe9, 0xb2, - 0x38, 0x24, 0xf9, 0x55, 0xb0, 0xb5, 0x01, 0x1f, 0x37, 0x12, 0xf6, 0xfd, 0x6f, 0x5e, 0x7c, 0xff, - 0x3b, 0xd4, 0xc5, 0xbd, 0x0f, 0x0a, 0x24, 0xa4, 0x0e, 0xdc, 0x2f, 0x8b, 0x9c, 0xcc, 0xd3, 0x70, - 0xd8, 0xbb, 0x0d, 0x8d, 0xe6, 0x20, 0x4b, 0xc0, 0x3c, 0x9d, 0x4d, 0x60, 0xa0, 0xa3, 0xed, 0xd5, - 0x59, 0x0d, 0x7a, 0x08, 0xd0, 0xae, 0x9b, 0xf8, 0x50, 0x3d, 0x46, 0x10, 0xb8, 0x49, 0xaf, 0x45, - 0x80, 0xdf, 0x05, 0x40, 0x46, 0xa1, 0xb2, 0x17, 0x3a, 0xf9, 0x6b, 0xa7, 0xa4, 0x66, 0x91, 0xbe, - 0xd2, 0xf9, 0xd3, 0x11, 0xe6, 0x2a, 0xf7, 0x45, 0xdb, 0x3c, 0x68, 0x51, 0x0f, 0xb7, 0x1b, 0xbe, - 0xf3, 0xea, 0x5c, 0x69, 0x5f, 0xeb, 0xb4, 0xcb, 0xf2, 0x10, 0x92, 0xf2, 0xb0, 0x5c, 0x00, 0xf1, - 0xa6, 0x83, 0x81, 0x3b, 0x2a, 0x43, 0x89, 0xa6, 0x1e, 0x4c, 0x83, 0x86, 0x91, 0xf4, 0x23, 0x68, - 0x8b, 0xff, 0xa1, 0x53, 0x9b, 0x06, 0x3a, 0x71, 0xe5, 0x48, 0x47, 0xdb, 0xab, 0x99, 0x86, 0xcd, - 0x03, 0x46, 0xd1, 0x8a, 0x9e, 0x83, 0x19, 0x81, 0xe7, 0x47, 0x53, 0xb7, 0x31, 0xe6, 0x37, 0xdc, - 0x8e, 0x2d, 0x0c, 0x79, 0x6c, 0x75, 0xa1, 0x66, 0xea, 0x06, 0x3f, 0xf5, 0xa2, 0x17, 0x66, 0x58, - 0xdc, 0x29, 0xe8, 0x5e, 0xc4, 0xb8, 0x7c, 0x2f, 0xd9, 0x6d, 0x37, 0xbf, 0xf1, 0x99, 0xd3, 0xc7, - 0x7d, 0x13, 0xdf, 0x73, 0xf3, 0x76, 0x4c, 0x68, 0xe4, 0x4f, 0x47, 0x00, 0x79, 0x26, 0xd0, 0xbd, - 0xa5, 0xbe, 0x42, 0xef, 0x2e, 0x8b, 0x28, 0x24, 0x72, 0x70, 0x74, 0xe3, 0xe1, 0x07, 0xa2, 0x1b, - 0xdf, 0x16, 0x7f, 0xbb, 0x67, 0x70, 0xa2, 0x61, 0x93, 0xf2, 0xcb, 0x3b, 0x47, 0xa2, 0x9a, 0x63, - 0x42, 0x7e, 0x35, 0x02, 0xc7, 0x06, 0xf6, 0x87, 0x3b, 0xe4, 0x26, 0x20, 0xcb, 0xd7, 0x48, 0xe5, - 0x4c, 0x9c, 0xfa, 0xde, 0xde, 0x76, 0x9b, 0xb4, 0x06, 0x8c, 0xcc, 0x9b, 0x64, 0x39, 0xb9, 0x6a, - 0xfc, 0xed, 0x08, 0x4c, 0xfb, 0x47, 0xe4, 0xce, 0xad, 0x01, 0x39, 0xff, 0x58, 0xf8, 0xac, 0xee, - 0x1d, 0x67, 0x56, 0xfe, 0x09, 0x05, 0x88, 0x90, 0xb9, 0x88, 0xbd, 0xc8, 0x32, 0x88, 0x8f, 0x8c, - 0xcd, 0x25, 0xf7, 0x74, 0x64, 0x98, 0x72, 0x62, 0x8b, 0xf5, 0xbe, 0x28, 0xc4, 0xd7, 0x4d, 0xb3, - 0x8d, 0x7e, 0x34, 0x02, 0x93, 0x86, 0xe9, 0xa8, 0x64, 0x07, 0xe3, 0x96, 0xca, 0x53, 0x18, 0x4c, - 0xbf, 0x5f, 0x3d, 0x1c, 0xf7, 0xbe, 0xf5, 0xea, 0xdc, 0x20, 0xa9, 0x61, 0x0f, 0xff, 0x16, 0x0d, - 0xd3, 0xa9, 0x52, 0xa0, 0x0d, 0x96, 0xe5, 0xb8, 0x01, 0xf9, 0x60, 0xff, 0xcc, 0x28, 0x28, 0x87, - 0xee, 0x3f, 0x1f, 0xda, 0x77, 0x6e, 0xcb, 0xd7, 0x31, 0x7b, 0x7e, 0xf3, 0x8f, 0xc9, 0xe2, 0x3e, - 0x0f, 0xd2, 0xd5, 0xfe, 0xfb, 0x72, 0x75, 0x48, 0x1d, 0xf6, 0xea, 0x9d, 0x9f, 0xe3, 0x1c, 0x57, - 0xfe, 0x8b, 0x28, 0x1c, 0x1b, 0x54, 0x2e, 0x2c, 0xd9, 0xbc, 0x8f, 0x2e, 0x8e, 0xcc, 0x95, 0x1d, - 0xff, 0xce, 0xab, 0x73, 0x47, 0x99, 0xfa, 0xeb, 0x87, 0x90, 0x07, 0xd3, 0x65, 0x3d, 0x28, 0x12, - 0x73, 0xef, 0x53, 0x57, 0x07, 0x66, 0xcb, 0x1e, 0xff, 0xce, 0xab, 0x73, 0xc7, 0x39, 0x71, 0x8e, - 0xe6, 0xcf, 0xb4, 0xc9, 0x23, 0x93, 0x69, 0x79, 0xb3, 0xdd, 0xaa, 0xb9, 0x2a, 0x8d, 0x74, 0x6b, - 0xe0, 0x1b, 0x81, 0x6e, 0x63, 0xe3, 0x75, 0x2b, 0xd0, 0xc6, 0xec, 0xd6, 0xc0, 0x37, 0x7c, 0xdd, - 0x7a, 0x67, 0xf6, 0x71, 0xff, 0x99, 0x7d, 0x39, 0x47, 0x4c, 0xef, 0x07, 0xb9, 0xf9, 0x3d, 0xfd, - 0xf9, 0x08, 0x80, 0x97, 0xaa, 0x43, 0x0f, 0xc2, 0xd1, 0xea, 0xda, 0xea, 0xa2, 0xda, 0xd8, 0xa8, - 0x6c, 0x6c, 0x36, 0x82, 0xef, 0xf4, 0x8b, 0xb7, 0x69, 0xec, 0x2e, 0x6e, 0xea, 0xdb, 0x3a, 0x6e, - 0xa1, 0xfb, 0x61, 0x3a, 0x08, 0x4d, 0x4a, 0xf5, 0x45, 0x29, 0x52, 0xca, 0xdd, 0xbc, 0x35, 0x9f, - 0x66, 0x21, 0x0a, 0x6e, 0xa1, 0x93, 0x70, 0xc7, 0x20, 0xdc, 0xd2, 0xea, 0x25, 0x29, 0x5a, 0xca, - 0xdf, 0xbc, 0x35, 0x9f, 0x71, 0x63, 0x19, 0x24, 0x03, 0xf2, 0x43, 0x72, 0x7a, 0xb1, 0x12, 0xdc, - 0xbc, 0x35, 0x9f, 0x64, 0x1b, 0xa2, 0x14, 0x7f, 0xef, 0xc7, 0x67, 0x27, 0x4e, 0xff, 0x30, 0xc0, - 0x92, 0xb1, 0x6d, 0x69, 0xf4, 0x8f, 0x55, 0xa3, 0x12, 0x1c, 0x59, 0x5a, 0xbd, 0xa8, 0x54, 0x6a, - 0x1b, 0x4b, 0x6b, 0xab, 0x7d, 0x7f, 0x5e, 0x20, 0xd8, 0xb6, 0xb8, 0xb6, 0x59, 0x5d, 0xae, 0xab, - 0x8d, 0xa5, 0x4b, 0xab, 0xec, 0xc4, 0x3f, 0xd0, 0xf6, 0xec, 0xea, 0xc6, 0xd2, 0x4a, 0x5d, 0x8a, - 0x56, 0x2f, 0x8e, 0x3c, 0x73, 0x7a, 0xf0, 0xc0, 0xad, 0xe6, 0xd9, 0xa7, 0xc0, 0xc1, 0xd3, 0xff, - 0x0b, 0x00, 0x00, 0xff, 0xff, 0xa9, 0x33, 0x06, 0x5f, 0x44, 0x99, 0x00, 0x00, + // 10764 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7d, 0x6b, 0x70, 0x24, 0xc7, + 0x79, 0x18, 0xf6, 0xbd, 0xfb, 0xed, 0x6b, 0xd0, 0x00, 0xef, 0x70, 0x7b, 0x24, 0x00, 0x0e, 0x1f, + 0xf7, 0x20, 0x89, 0x23, 0x8f, 0xbc, 0x23, 0x89, 0x13, 0x45, 0xef, 0x2e, 0xf6, 0xee, 0x70, 0x87, + 0x97, 0x06, 0xc0, 0xf1, 0x61, 0x5b, 0xe3, 0xc1, 0x6e, 0x03, 0x18, 0xde, 0xee, 0xcc, 0x68, 0x66, + 0xf6, 0x0e, 0x60, 0xa5, 0x52, 0xb4, 0x65, 0x3b, 0xf2, 0xc5, 0xb1, 0x65, 0x3b, 0x65, 0xcb, 0xb6, + 0x4e, 0xa1, 0xac, 0x58, 0x0f, 0xe7, 0x25, 0x5b, 0x8a, 0x24, 0xc7, 0xb1, 0x4b, 0x4e, 0xe5, 0x21, + 0x3b, 0xa9, 0x94, 0xe4, 0x4a, 0x25, 0xae, 0x54, 0xc2, 0x38, 0x94, 0x2a, 0x52, 0x64, 0x39, 0xb6, + 0x65, 0x2a, 0x8e, 0xa3, 0x4a, 0x25, 0xd5, 0xaf, 0x79, 0xec, 0x03, 0xb3, 0x38, 0x91, 0xb4, 0x53, + 0xfa, 0x73, 0xb7, 0xdd, 0xfd, 0x7d, 0x5f, 0x77, 0x7f, 0xfd, 0xf5, 0xf7, 0xea, 0x9e, 0x06, 0xfc, + 0xd9, 0x05, 0x98, 0xdd, 0x31, 0xcd, 0x9d, 0x36, 0x3e, 0x63, 0xd9, 0xa6, 0x6b, 0x6e, 0x75, 0xb7, + 0xcf, 0xb4, 0xb0, 0xd3, 0xb4, 0x75, 0xcb, 0x35, 0xed, 0x39, 0x5a, 0x87, 0xca, 0x0c, 0x62, 0x4e, + 0x40, 0xc8, 0xcb, 0x30, 0x7e, 0x51, 0x6f, 0xe3, 0x05, 0x0f, 0x70, 0x1d, 0xbb, 0xe8, 0x29, 0x48, + 0x6e, 0xeb, 0x6d, 0x3c, 0x15, 0x9b, 0x4d, 0x9c, 0xcc, 0x9f, 0xbd, 0x7f, 0xae, 0x07, 0x69, 0x2e, + 0x8c, 0xb1, 0x46, 0xaa, 0x15, 0x8a, 0x21, 0x7f, 0x25, 0x09, 0x13, 0x03, 0x5a, 0x11, 0x82, 0xa4, + 0xa1, 0x75, 0x08, 0xc5, 0xd8, 0xc9, 0x9c, 0x42, 0x7f, 0xa3, 0x29, 0xc8, 0x58, 0x5a, 0xf3, 0xba, + 0xb6, 0x83, 0xa7, 0xe2, 0xb4, 0x5a, 0x14, 0xd1, 0x34, 0x40, 0x0b, 0x5b, 0xd8, 0x68, 0x61, 0xa3, + 0xb9, 0x3f, 0x95, 0x98, 0x4d, 0x9c, 0xcc, 0x29, 0x81, 0x1a, 0xf4, 0x10, 0x8c, 0x5b, 0xdd, 0xad, + 0xb6, 0xde, 0x54, 0x03, 0x60, 0x30, 0x9b, 0x38, 0x99, 0x52, 0x24, 0xd6, 0xb0, 0xe0, 0x03, 0x9f, + 0x80, 0xf2, 0x4d, 0xac, 0x5d, 0x0f, 0x82, 0xe6, 0x29, 0x68, 0x89, 0x54, 0x07, 0x00, 0xeb, 0x50, + 0xe8, 0x60, 0xc7, 0xd1, 0x76, 0xb0, 0xea, 0xee, 0x5b, 0x78, 0x2a, 0x49, 0x67, 0x3f, 0xdb, 0x37, + 0xfb, 0xde, 0x99, 0xe7, 0x39, 0xd6, 0xc6, 0xbe, 0x85, 0x51, 0x15, 0x72, 0xd8, 0xe8, 0x76, 0x18, + 0x85, 0xd4, 0x10, 0xfe, 0x35, 0x8c, 0x6e, 0xa7, 0x97, 0x4a, 0x96, 0xa0, 0x71, 0x12, 0x19, 0x07, + 0xdb, 0x37, 0xf4, 0x26, 0x9e, 0x4a, 0x53, 0x02, 0x27, 0xfa, 0x08, 0xac, 0xb3, 0xf6, 0x5e, 0x1a, + 0x02, 0x0f, 0xd5, 0x21, 0x87, 0xf7, 0x5c, 0x6c, 0x38, 0xba, 0x69, 0x4c, 0x65, 0x28, 0x91, 0x07, + 0x06, 0xac, 0x22, 0x6e, 0xb7, 0x7a, 0x49, 0xf8, 0x78, 0xe8, 0x3c, 0x64, 0x4c, 0xcb, 0xd5, 0x4d, + 0xc3, 0x99, 0xca, 0xce, 0xc6, 0x4e, 0xe6, 0xcf, 0xde, 0x3d, 0x50, 0x10, 0x56, 0x19, 0x8c, 0x22, + 0x80, 0xd1, 0x22, 0x48, 0x8e, 0xd9, 0xb5, 0x9b, 0x58, 0x6d, 0x9a, 0x2d, 0xac, 0xea, 0xc6, 0xb6, + 0x39, 0x95, 0xa3, 0x04, 0x66, 0xfa, 0x27, 0x42, 0x01, 0xeb, 0x66, 0x0b, 0x2f, 0x1a, 0xdb, 0xa6, + 0x52, 0x72, 0x42, 0x65, 0x74, 0x04, 0xd2, 0xce, 0xbe, 0xe1, 0x6a, 0x7b, 0x53, 0x05, 0x2a, 0x21, + 0xbc, 0x24, 0xff, 0x7a, 0x1a, 0xca, 0xa3, 0x88, 0xd8, 0x05, 0x48, 0x6d, 0x93, 0x59, 0x4e, 0xc5, + 0x0f, 0xc3, 0x03, 0x86, 0x13, 0x66, 0x62, 0xfa, 0x0e, 0x99, 0x58, 0x85, 0xbc, 0x81, 0x1d, 0x17, + 0xb7, 0x98, 0x44, 0x24, 0x46, 0x94, 0x29, 0x60, 0x48, 0xfd, 0x22, 0x95, 0xbc, 0x23, 0x91, 0x7a, + 0x1e, 0xca, 0xde, 0x90, 0x54, 0x5b, 0x33, 0x76, 0x84, 0x6c, 0x9e, 0x89, 0x1a, 0xc9, 0x5c, 0x43, + 0xe0, 0x29, 0x04, 0x4d, 0x29, 0xe1, 0x50, 0x19, 0x2d, 0x00, 0x98, 0x06, 0x36, 0xb7, 0xd5, 0x16, + 0x6e, 0xb6, 0xa7, 0xb2, 0x43, 0xb8, 0xb4, 0x4a, 0x40, 0xfa, 0xb8, 0x64, 0xb2, 0xda, 0x66, 0x1b, + 0x3d, 0xed, 0x8b, 0x5a, 0x66, 0x88, 0xa4, 0x2c, 0xb3, 0x4d, 0xd6, 0x27, 0x6d, 0x9b, 0x50, 0xb2, + 0x31, 0x91, 0x7b, 0xdc, 0xe2, 0x33, 0xcb, 0xd1, 0x41, 0xcc, 0x45, 0xce, 0x4c, 0xe1, 0x68, 0x6c, + 0x62, 0x45, 0x3b, 0x58, 0x44, 0xf7, 0x81, 0x57, 0xa1, 0x52, 0xb1, 0x02, 0xaa, 0x85, 0x0a, 0xa2, + 0x72, 0x45, 0xeb, 0xe0, 0xca, 0xcb, 0x50, 0x0a, 0xb3, 0x07, 0x4d, 0x42, 0xca, 0x71, 0x35, 0xdb, + 0xa5, 0x52, 0x98, 0x52, 0x58, 0x01, 0x49, 0x90, 0xc0, 0x46, 0x8b, 0x6a, 0xb9, 0x94, 0x42, 0x7e, + 0xa2, 0xef, 0xf1, 0x27, 0x9c, 0xa0, 0x13, 0x7e, 0xb0, 0x7f, 0x45, 0x43, 0x94, 0x7b, 0xe7, 0x5d, + 0x79, 0x12, 0x8a, 0xa1, 0x09, 0x8c, 0xda, 0xb5, 0xfc, 0xd7, 0xe0, 0xae, 0x81, 0xa4, 0xd1, 0xf3, + 0x30, 0xd9, 0x35, 0x74, 0xc3, 0xc5, 0xb6, 0x65, 0x63, 0x22, 0xb1, 0xac, 0xab, 0xa9, 0xaf, 0x66, + 0x86, 0xc8, 0xdc, 0x66, 0x10, 0x9a, 0x51, 0x51, 0x26, 0xba, 0xfd, 0x95, 0xa7, 0x73, 0xd9, 0xaf, + 0x65, 0xa4, 0x57, 0x5e, 0x79, 0xe5, 0x95, 0xb8, 0xfc, 0xdb, 0x69, 0x98, 0x1c, 0xb4, 0x67, 0x06, + 0x6e, 0xdf, 0x23, 0x90, 0x36, 0xba, 0x9d, 0x2d, 0x6c, 0x53, 0x26, 0xa5, 0x14, 0x5e, 0x42, 0x55, + 0x48, 0xb5, 0xb5, 0x2d, 0xdc, 0x9e, 0x4a, 0xce, 0xc6, 0x4e, 0x96, 0xce, 0x3e, 0x34, 0xd2, 0xae, + 0x9c, 0x5b, 0x22, 0x28, 0x0a, 0xc3, 0x44, 0xef, 0x84, 0x24, 0x57, 0xd1, 0x84, 0xc2, 0xe9, 0xd1, + 0x28, 0x90, 0xbd, 0xa4, 0x50, 0x3c, 0x74, 0x1c, 0x72, 0xe4, 0x7f, 0x26, 0x1b, 0x69, 0x3a, 0xe6, + 0x2c, 0xa9, 0x20, 0x72, 0x81, 0x2a, 0x90, 0xa5, 0xdb, 0xa4, 0x85, 0x85, 0x69, 0xf3, 0xca, 0x44, + 0xb0, 0x5a, 0x78, 0x5b, 0xeb, 0xb6, 0x5d, 0xf5, 0x86, 0xd6, 0xee, 0x62, 0x2a, 0xf0, 0x39, 0xa5, + 0xc0, 0x2b, 0xaf, 0x91, 0x3a, 0x34, 0x03, 0x79, 0xb6, 0xab, 0x74, 0xa3, 0x85, 0xf7, 0xa8, 0xf6, + 0x4c, 0x29, 0x6c, 0xa3, 0x2d, 0x92, 0x1a, 0xd2, 0xfd, 0x4b, 0x8e, 0x69, 0x08, 0xd1, 0xa4, 0x5d, + 0x90, 0x0a, 0xda, 0xfd, 0x93, 0xbd, 0x8a, 0xfb, 0x9e, 0xc1, 0xd3, 0xeb, 0xdb, 0x4b, 0x27, 0xa0, + 0x4c, 0x21, 0x1e, 0xe7, 0x4b, 0xaf, 0xb5, 0xa7, 0xc6, 0x67, 0x63, 0x27, 0xb3, 0x4a, 0x89, 0x55, + 0xaf, 0xf2, 0x5a, 0xf9, 0x33, 0x71, 0x48, 0x52, 0xc5, 0x52, 0x86, 0xfc, 0xc6, 0x0b, 0x6b, 0x0d, + 0x75, 0x61, 0x75, 0xb3, 0xb6, 0xd4, 0x90, 0x62, 0xa8, 0x04, 0x40, 0x2b, 0x2e, 0x2e, 0xad, 0x56, + 0x37, 0xa4, 0xb8, 0x57, 0x5e, 0x5c, 0xd9, 0x38, 0xff, 0x84, 0x94, 0xf0, 0x10, 0x36, 0x59, 0x45, + 0x32, 0x08, 0xf0, 0xf8, 0x59, 0x29, 0x85, 0x24, 0x28, 0x30, 0x02, 0x8b, 0xcf, 0x37, 0x16, 0xce, + 0x3f, 0x21, 0xa5, 0xc3, 0x35, 0x8f, 0x9f, 0x95, 0x32, 0xa8, 0x08, 0x39, 0x5a, 0x53, 0x5b, 0x5d, + 0x5d, 0x92, 0xb2, 0x1e, 0xcd, 0xf5, 0x0d, 0x65, 0x71, 0xe5, 0x92, 0x94, 0xf3, 0x68, 0x5e, 0x52, + 0x56, 0x37, 0xd7, 0x24, 0xf0, 0x28, 0x2c, 0x37, 0xd6, 0xd7, 0xab, 0x97, 0x1a, 0x52, 0xde, 0x83, + 0xa8, 0xbd, 0xb0, 0xd1, 0x58, 0x97, 0x0a, 0xa1, 0x61, 0x3d, 0x7e, 0x56, 0x2a, 0x7a, 0x5d, 0x34, + 0x56, 0x36, 0x97, 0xa5, 0x12, 0x1a, 0x87, 0x22, 0xeb, 0x42, 0x0c, 0xa2, 0xdc, 0x53, 0x75, 0xfe, + 0x09, 0x49, 0xf2, 0x07, 0xc2, 0xa8, 0x8c, 0x87, 0x2a, 0xce, 0x3f, 0x21, 0x21, 0xb9, 0x0e, 0x29, + 0x2a, 0x86, 0x08, 0x41, 0x69, 0xa9, 0x5a, 0x6b, 0x2c, 0xa9, 0xab, 0x6b, 0x1b, 0x8b, 0xab, 0x2b, + 0xd5, 0x25, 0x29, 0xe6, 0xd7, 0x29, 0x8d, 0x77, 0x6d, 0x2e, 0x2a, 0x8d, 0x05, 0x29, 0x1e, 0xac, + 0x5b, 0x6b, 0x54, 0x37, 0x1a, 0x0b, 0x52, 0x42, 0x6e, 0xc2, 0xe4, 0x20, 0x85, 0x3a, 0x70, 0x0b, + 0x05, 0x64, 0x21, 0x3e, 0x44, 0x16, 0x28, 0xad, 0x5e, 0x59, 0x90, 0xbf, 0x1c, 0x87, 0x89, 0x01, + 0x46, 0x65, 0x60, 0x27, 0xcf, 0x42, 0x8a, 0xc9, 0x32, 0x33, 0xb3, 0xa7, 0x06, 0x5a, 0x27, 0x2a, + 0xd9, 0x7d, 0xa6, 0x96, 0xe2, 0x05, 0x5d, 0x8d, 0xc4, 0x10, 0x57, 0x83, 0x90, 0xe8, 0x13, 0xd8, + 0xef, 0xef, 0x53, 0xfe, 0xcc, 0x3e, 0x9e, 0x1f, 0xc5, 0x3e, 0xd2, 0xba, 0xc3, 0x19, 0x81, 0xd4, + 0x00, 0x23, 0x70, 0x01, 0xc6, 0xfb, 0x08, 0x8d, 0xac, 0x8c, 0xdf, 0x1b, 0x83, 0xa9, 0x61, 0xcc, + 0x89, 0x50, 0x89, 0xf1, 0x90, 0x4a, 0xbc, 0xd0, 0xcb, 0xc1, 0x7b, 0x87, 0x2f, 0x42, 0xdf, 0x5a, + 0x7f, 0x2c, 0x06, 0x47, 0x06, 0xbb, 0x94, 0x03, 0xc7, 0xf0, 0x4e, 0x48, 0x77, 0xb0, 0xbb, 0x6b, + 0x0a, 0xb7, 0xea, 0xc1, 0x01, 0xc6, 0x9a, 0x34, 0xf7, 0x2e, 0x36, 0xc7, 0x0a, 0x5a, 0xfb, 0xc4, + 0x30, 0xbf, 0x90, 0x8d, 0xa6, 0x6f, 0xa4, 0x3f, 0x16, 0x87, 0xbb, 0x06, 0x12, 0x1f, 0x38, 0xd0, + 0x7b, 0x00, 0x74, 0xc3, 0xea, 0xba, 0xcc, 0x75, 0x62, 0x9a, 0x38, 0x47, 0x6b, 0xa8, 0xf2, 0x22, + 0x5a, 0xb6, 0xeb, 0x7a, 0xed, 0x09, 0xda, 0x0e, 0xac, 0x8a, 0x02, 0x3c, 0xe5, 0x0f, 0x34, 0x49, + 0x07, 0x3a, 0x3d, 0x64, 0xa6, 0x7d, 0x82, 0xf9, 0x28, 0x48, 0xcd, 0xb6, 0x8e, 0x0d, 0x57, 0x75, + 0x5c, 0x1b, 0x6b, 0x1d, 0xdd, 0xd8, 0xa1, 0xa6, 0x26, 0x3b, 0x9f, 0xda, 0xd6, 0xda, 0x0e, 0x56, + 0xca, 0xac, 0x79, 0x5d, 0xb4, 0x12, 0x0c, 0x2a, 0x40, 0x76, 0x00, 0x23, 0x1d, 0xc2, 0x60, 0xcd, + 0x1e, 0x86, 0xfc, 0x53, 0x39, 0xc8, 0x07, 0x1c, 0x70, 0x74, 0x2f, 0x14, 0x5e, 0xd2, 0x6e, 0x68, + 0xaa, 0x08, 0xaa, 0x18, 0x27, 0xf2, 0xa4, 0x6e, 0x8d, 0x07, 0x56, 0x8f, 0xc2, 0x24, 0x05, 0x31, + 0xbb, 0x2e, 0xb6, 0xd5, 0x66, 0x5b, 0x73, 0x1c, 0xca, 0xb4, 0x2c, 0x05, 0x45, 0xa4, 0x6d, 0x95, + 0x34, 0xd5, 0x45, 0x0b, 0x3a, 0x07, 0x13, 0x14, 0xa3, 0xd3, 0x6d, 0xbb, 0xba, 0xd5, 0xc6, 0x2a, + 0x09, 0xf3, 0x1c, 0x6a, 0x72, 0xbc, 0x91, 0x8d, 0x13, 0x88, 0x65, 0x0e, 0x40, 0x46, 0xe4, 0xa0, + 0x05, 0xb8, 0x87, 0xa2, 0xed, 0x60, 0x03, 0xdb, 0x9a, 0x8b, 0x55, 0xfc, 0x9e, 0xae, 0xd6, 0x76, + 0x54, 0xcd, 0x68, 0xa9, 0xbb, 0x9a, 0xb3, 0x3b, 0x35, 0x49, 0x08, 0xd4, 0xe2, 0x53, 0x31, 0xe5, + 0x18, 0x01, 0xbc, 0xc4, 0xe1, 0x1a, 0x14, 0xac, 0x6a, 0xb4, 0x2e, 0x6b, 0xce, 0x2e, 0x9a, 0x87, + 0x23, 0x94, 0x8a, 0xe3, 0xda, 0xba, 0xb1, 0xa3, 0x36, 0x77, 0x71, 0xf3, 0xba, 0xda, 0x75, 0xb7, + 0x9f, 0x9a, 0x3a, 0x1e, 0xec, 0x9f, 0x8e, 0x70, 0x9d, 0xc2, 0xd4, 0x09, 0xc8, 0xa6, 0xbb, 0xfd, + 0x14, 0x5a, 0x87, 0x02, 0x59, 0x8c, 0x8e, 0xfe, 0x32, 0x56, 0xb7, 0x4d, 0x9b, 0xda, 0xd0, 0xd2, + 0x00, 0xd5, 0x14, 0xe0, 0xe0, 0xdc, 0x2a, 0x47, 0x58, 0x36, 0x5b, 0x78, 0x3e, 0xb5, 0xbe, 0xd6, + 0x68, 0x2c, 0x28, 0x79, 0x41, 0xe5, 0xa2, 0x69, 0x13, 0x81, 0xda, 0x31, 0x3d, 0x06, 0xe7, 0x99, + 0x40, 0xed, 0x98, 0x82, 0xbd, 0xe7, 0x60, 0xa2, 0xd9, 0x64, 0x73, 0xd6, 0x9b, 0x2a, 0x0f, 0xc6, + 0x9c, 0x29, 0x29, 0xc4, 0xac, 0x66, 0xf3, 0x12, 0x03, 0xe0, 0x32, 0xee, 0xa0, 0xa7, 0xe1, 0x2e, + 0x9f, 0x59, 0x41, 0xc4, 0xf1, 0xbe, 0x59, 0xf6, 0xa2, 0x9e, 0x83, 0x09, 0x6b, 0xbf, 0x1f, 0x11, + 0x85, 0x7a, 0xb4, 0xf6, 0x7b, 0xd1, 0x9e, 0x84, 0x49, 0x6b, 0xd7, 0xea, 0xc7, 0x3b, 0x1d, 0xc4, + 0x43, 0xd6, 0xae, 0xd5, 0x8b, 0xf8, 0x00, 0x8d, 0xcc, 0x6d, 0xdc, 0xd4, 0x5c, 0xdc, 0x9a, 0x3a, + 0x1a, 0x04, 0x0f, 0x34, 0xa0, 0x39, 0x90, 0x9a, 0x4d, 0x15, 0x1b, 0xda, 0x56, 0x1b, 0xab, 0x9a, + 0x8d, 0x0d, 0xcd, 0x99, 0x9a, 0xa1, 0xc0, 0x49, 0xd7, 0xee, 0x62, 0xa5, 0xd4, 0x6c, 0x36, 0x68, + 0x63, 0x95, 0xb6, 0xa1, 0xd3, 0x30, 0x6e, 0x6e, 0xbd, 0xd4, 0x64, 0x12, 0xa9, 0x5a, 0x36, 0xde, + 0xd6, 0xf7, 0xa6, 0xee, 0xa7, 0xec, 0x2d, 0x93, 0x06, 0x2a, 0x8f, 0x6b, 0xb4, 0x1a, 0x9d, 0x02, + 0xa9, 0xe9, 0xec, 0x6a, 0xb6, 0x45, 0x55, 0xb2, 0x63, 0x69, 0x4d, 0x3c, 0xf5, 0x00, 0x03, 0x65, + 0xf5, 0x2b, 0xa2, 0x9a, 0xec, 0x08, 0xe7, 0xa6, 0xbe, 0xed, 0x0a, 0x8a, 0x27, 0xd8, 0x8e, 0xa0, + 0x75, 0x9c, 0xda, 0x49, 0x90, 0x08, 0x27, 0x42, 0x1d, 0x9f, 0xa4, 0x60, 0x25, 0x6b, 0xd7, 0x0a, + 0xf6, 0x7b, 0x1f, 0x14, 0x09, 0xa4, 0xdf, 0xe9, 0x29, 0xe6, 0xb8, 0x59, 0xbb, 0x81, 0x1e, 0x9f, + 0x80, 0x23, 0x04, 0xa8, 0x83, 0x5d, 0xad, 0xa5, 0xb9, 0x5a, 0x00, 0xfa, 0x61, 0x0a, 0x4d, 0xd8, + 0xbe, 0xcc, 0x1b, 0x43, 0xe3, 0xb4, 0xbb, 0x5b, 0xfb, 0x9e, 0x60, 0x3d, 0xc2, 0xc6, 0x49, 0xea, + 0x84, 0x68, 0xbd, 0x65, 0xce, 0xb9, 0x3c, 0x0f, 0x85, 0xa0, 0xdc, 0xa3, 0x1c, 0x30, 0xc9, 0x97, + 0x62, 0xc4, 0x09, 0xaa, 0xaf, 0x2e, 0x10, 0xf7, 0xe5, 0xc5, 0x86, 0x14, 0x27, 0x6e, 0xd4, 0xd2, + 0xe2, 0x46, 0x43, 0x55, 0x36, 0x57, 0x36, 0x16, 0x97, 0x1b, 0x52, 0x22, 0xe0, 0xd8, 0x5f, 0x49, + 0x66, 0x1f, 0x94, 0x4e, 0x10, 0xaf, 0xa1, 0x14, 0x8e, 0xd4, 0xd0, 0x3b, 0xe0, 0xa8, 0x48, 0xab, + 0x38, 0xd8, 0x55, 0x6f, 0xea, 0x36, 0xdd, 0x90, 0x1d, 0x8d, 0x19, 0x47, 0x4f, 0x7e, 0x26, 0x39, + 0xd4, 0x3a, 0x76, 0x9f, 0xd3, 0x6d, 0xb2, 0xdd, 0x3a, 0x9a, 0x8b, 0x96, 0x60, 0xc6, 0x30, 0x55, + 0xc7, 0xd5, 0x8c, 0x96, 0x66, 0xb7, 0x54, 0x3f, 0xa1, 0xa5, 0x6a, 0xcd, 0x26, 0x76, 0x1c, 0x93, + 0x19, 0x42, 0x8f, 0xca, 0xdd, 0x86, 0xb9, 0xce, 0x81, 0x7d, 0x0b, 0x51, 0xe5, 0xa0, 0x3d, 0xe2, + 0x9b, 0x18, 0x26, 0xbe, 0xc7, 0x21, 0xd7, 0xd1, 0x2c, 0x15, 0x1b, 0xae, 0xbd, 0x4f, 0xfd, 0xf3, + 0xac, 0x92, 0xed, 0x68, 0x56, 0x83, 0x94, 0xdf, 0x96, 0x30, 0xe9, 0x4a, 0x32, 0x9b, 0x94, 0x52, + 0x57, 0x92, 0xd9, 0x94, 0x94, 0xbe, 0x92, 0xcc, 0xa6, 0xa5, 0xcc, 0x95, 0x64, 0x36, 0x2b, 0xe5, + 0xae, 0x24, 0xb3, 0x39, 0x09, 0xe4, 0x9f, 0x4e, 0x42, 0x21, 0xe8, 0xc1, 0x93, 0x80, 0xa8, 0x49, + 0x6d, 0x58, 0x8c, 0x6a, 0xb9, 0xfb, 0x0e, 0xf4, 0xf7, 0xe7, 0xea, 0xc4, 0xb8, 0xcd, 0xa7, 0x99, + 0xbb, 0xac, 0x30, 0x4c, 0xe2, 0x58, 0x10, 0xf1, 0xc3, 0xcc, 0x3d, 0xc9, 0x2a, 0xbc, 0x84, 0x2e, + 0x41, 0xfa, 0x25, 0x87, 0xd2, 0x4e, 0x53, 0xda, 0xf7, 0x1f, 0x4c, 0xfb, 0xca, 0x3a, 0x25, 0x9e, + 0xbb, 0xb2, 0xae, 0xae, 0xac, 0x2a, 0xcb, 0xd5, 0x25, 0x85, 0xa3, 0xa3, 0x63, 0x90, 0x6c, 0x6b, + 0x2f, 0xef, 0x87, 0xcd, 0x20, 0xad, 0x42, 0x73, 0x50, 0xee, 0x1a, 0x37, 0xb0, 0xad, 0x6f, 0xeb, + 0xb8, 0xa5, 0x52, 0xa8, 0x72, 0x10, 0xaa, 0xe4, 0xb7, 0x2e, 0x11, 0xf8, 0x11, 0x97, 0xf1, 0x18, + 0x24, 0x6f, 0x62, 0xed, 0x7a, 0xd8, 0x58, 0xd1, 0xaa, 0xb7, 0x70, 0x3b, 0x9d, 0x81, 0x14, 0xe5, + 0x2f, 0x02, 0xe0, 0x1c, 0x96, 0xc6, 0x50, 0x16, 0x92, 0xf5, 0x55, 0x85, 0x6c, 0x29, 0x09, 0x0a, + 0xac, 0x56, 0x5d, 0x5b, 0x6c, 0xd4, 0x1b, 0x52, 0x5c, 0x3e, 0x07, 0x69, 0xc6, 0x34, 0xb2, 0xdd, + 0x3c, 0xb6, 0x49, 0x63, 0xbc, 0xc8, 0x69, 0xc4, 0x44, 0xeb, 0xe6, 0x72, 0xad, 0xa1, 0x48, 0xf1, + 0x3e, 0x61, 0x91, 0x1d, 0x28, 0x04, 0x3d, 0xf9, 0xb7, 0x27, 0x9c, 0xff, 0x7c, 0x0c, 0xf2, 0x01, + 0xcf, 0x9c, 0xb8, 0x54, 0x5a, 0xbb, 0x6d, 0xde, 0x54, 0xb5, 0xb6, 0xae, 0x39, 0x5c, 0x94, 0x80, + 0x56, 0x55, 0x49, 0xcd, 0xa8, 0x4b, 0xf7, 0x36, 0x6d, 0xb2, 0x94, 0x94, 0x96, 0x3f, 0x14, 0x03, + 0xa9, 0xd7, 0x35, 0xee, 0x19, 0x66, 0xec, 0x2f, 0x73, 0x98, 0xf2, 0x07, 0x63, 0x50, 0x0a, 0xfb, + 0xc3, 0x3d, 0xc3, 0xbb, 0xf7, 0x2f, 0x75, 0x78, 0x7f, 0x10, 0x87, 0x62, 0xc8, 0x0b, 0x1e, 0x75, + 0x74, 0xef, 0x81, 0x71, 0xbd, 0x85, 0x3b, 0x96, 0xe9, 0x62, 0xa3, 0xb9, 0xaf, 0xb6, 0xf1, 0x0d, + 0xdc, 0x9e, 0x92, 0xa9, 0x92, 0x39, 0x73, 0xb0, 0x9f, 0x3d, 0xb7, 0xe8, 0xe3, 0x2d, 0x11, 0xb4, + 0xf9, 0x89, 0xc5, 0x85, 0xc6, 0xf2, 0xda, 0xea, 0x46, 0x63, 0xa5, 0xfe, 0x82, 0xba, 0xb9, 0x72, + 0x75, 0x65, 0xf5, 0xb9, 0x15, 0x45, 0xd2, 0x7b, 0xc0, 0xde, 0xc2, 0x6d, 0xbf, 0x06, 0x52, 0xef, + 0xa0, 0xd0, 0x51, 0x18, 0x34, 0x2c, 0x69, 0x0c, 0x4d, 0x40, 0x79, 0x65, 0x55, 0x5d, 0x5f, 0x5c, + 0x68, 0xa8, 0x8d, 0x8b, 0x17, 0x1b, 0xf5, 0x8d, 0x75, 0x96, 0x39, 0xf1, 0xa0, 0x37, 0x42, 0x1b, + 0x5c, 0xfe, 0x85, 0x04, 0x4c, 0x0c, 0x18, 0x09, 0xaa, 0xf2, 0x98, 0x87, 0x85, 0x61, 0x8f, 0x8c, + 0x32, 0xfa, 0x39, 0xe2, 0x75, 0xac, 0x69, 0xb6, 0xcb, 0x43, 0xa4, 0x53, 0x40, 0xb8, 0x64, 0xb8, + 0x44, 0xb9, 0xda, 0x3c, 0x23, 0xc5, 0x02, 0xa1, 0xb2, 0x5f, 0xcf, 0x92, 0x52, 0x0f, 0x03, 0xb2, + 0x4c, 0x47, 0x77, 0xf5, 0x1b, 0x58, 0xd5, 0x0d, 0x91, 0xbe, 0x22, 0x81, 0x51, 0x52, 0x91, 0x44, + 0xcb, 0xa2, 0xe1, 0x7a, 0xd0, 0x06, 0xde, 0xd1, 0x7a, 0xa0, 0x89, 0xf2, 0x4f, 0x28, 0x92, 0x68, + 0xf1, 0xa0, 0xef, 0x85, 0x42, 0xcb, 0xec, 0x12, 0x6f, 0x91, 0xc1, 0x11, 0x5b, 0x13, 0x53, 0xf2, + 0xac, 0xce, 0x03, 0xe1, 0x71, 0x80, 0x9f, 0x37, 0x2b, 0x28, 0x79, 0x56, 0xc7, 0x40, 0x4e, 0x40, + 0x59, 0xdb, 0xd9, 0xb1, 0x09, 0x71, 0x41, 0x88, 0x45, 0x36, 0x25, 0xaf, 0x9a, 0x02, 0x56, 0xae, + 0x40, 0x56, 0xf0, 0x81, 0x18, 0x7b, 0xc2, 0x09, 0xd5, 0x62, 0xe1, 0x7a, 0xfc, 0x64, 0x4e, 0xc9, + 0x1a, 0xa2, 0xf1, 0x5e, 0x28, 0xe8, 0x8e, 0xea, 0x1f, 0x03, 0xc4, 0x67, 0xe3, 0x27, 0xb3, 0x4a, + 0x5e, 0x77, 0xbc, 0x14, 0xaa, 0xfc, 0xb1, 0x38, 0x94, 0xc2, 0xc7, 0x18, 0x68, 0x01, 0xb2, 0x6d, + 0xb3, 0xa9, 0x51, 0xd1, 0x62, 0x67, 0x68, 0x27, 0x23, 0x4e, 0x3e, 0xe6, 0x96, 0x38, 0xbc, 0xe2, + 0x61, 0x56, 0xfe, 0x6d, 0x0c, 0xb2, 0xa2, 0x1a, 0x1d, 0x81, 0xa4, 0xa5, 0xb9, 0xbb, 0x94, 0x5c, + 0xaa, 0x16, 0x97, 0x62, 0x0a, 0x2d, 0x93, 0x7a, 0xc7, 0xd2, 0x0c, 0x2a, 0x02, 0xbc, 0x9e, 0x94, + 0xc9, 0xba, 0xb6, 0xb1, 0xd6, 0xa2, 0x61, 0x93, 0xd9, 0xe9, 0x60, 0xc3, 0x75, 0xc4, 0xba, 0xf2, + 0xfa, 0x3a, 0xaf, 0x46, 0x0f, 0xc1, 0xb8, 0x6b, 0x6b, 0x7a, 0x3b, 0x04, 0x9b, 0xa4, 0xb0, 0x92, + 0x68, 0xf0, 0x80, 0xe7, 0xe1, 0x98, 0xa0, 0xdb, 0xc2, 0xae, 0xd6, 0xdc, 0xc5, 0x2d, 0x1f, 0x29, + 0x4d, 0xd3, 0x23, 0x47, 0x39, 0xc0, 0x02, 0x6f, 0x17, 0xb8, 0xf2, 0x97, 0x62, 0x30, 0x2e, 0x02, + 0xbd, 0x96, 0xc7, 0xac, 0x65, 0x00, 0xcd, 0x30, 0x4c, 0x37, 0xc8, 0xae, 0x7e, 0x51, 0xee, 0xc3, + 0x9b, 0xab, 0x7a, 0x48, 0x4a, 0x80, 0x40, 0xa5, 0x03, 0xe0, 0xb7, 0x0c, 0x65, 0xdb, 0x0c, 0xe4, + 0xf9, 0x19, 0x15, 0x3d, 0xe8, 0x64, 0xa9, 0x01, 0x60, 0x55, 0x24, 0x22, 0x44, 0x93, 0x90, 0xda, + 0xc2, 0x3b, 0xba, 0xc1, 0x33, 0xcf, 0xac, 0x20, 0x12, 0x38, 0x49, 0x2f, 0x81, 0x53, 0xfb, 0xeb, + 0x30, 0xd1, 0x34, 0x3b, 0xbd, 0xc3, 0xad, 0x49, 0x3d, 0xe9, 0x09, 0xe7, 0x72, 0xec, 0xc5, 0x47, + 0x38, 0xd0, 0x8e, 0xd9, 0xd6, 0x8c, 0x9d, 0x39, 0xd3, 0xde, 0xf1, 0x0f, 0x6a, 0x89, 0x87, 0xe4, + 0x04, 0x8e, 0x6b, 0xad, 0xad, 0xff, 0x15, 0x8b, 0xfd, 0x52, 0x3c, 0x71, 0x69, 0xad, 0xf6, 0x2b, + 0xf1, 0xca, 0x25, 0x86, 0xb8, 0x26, 0x98, 0xa1, 0xe0, 0xed, 0x36, 0x6e, 0x92, 0x09, 0xc2, 0x1f, + 0x3d, 0x04, 0x93, 0x3b, 0xe6, 0x8e, 0x49, 0x29, 0x9d, 0x21, 0xbf, 0xf8, 0x49, 0x6f, 0xce, 0xab, + 0xad, 0x44, 0x1e, 0x0b, 0xcf, 0xaf, 0xc0, 0x04, 0x07, 0x56, 0xe9, 0x51, 0x13, 0x0b, 0x84, 0xd0, + 0x81, 0x59, 0xb8, 0xa9, 0x5f, 0xfd, 0x0a, 0x35, 0xdf, 0xca, 0x38, 0x47, 0x25, 0x6d, 0x2c, 0x56, + 0x9a, 0x57, 0xe0, 0xae, 0x10, 0x3d, 0xb6, 0x49, 0xb1, 0x1d, 0x41, 0xf1, 0x5f, 0x70, 0x8a, 0x13, + 0x01, 0x8a, 0xeb, 0x1c, 0x75, 0xbe, 0x0e, 0xc5, 0xc3, 0xd0, 0xfa, 0x97, 0x9c, 0x56, 0x01, 0x07, + 0x89, 0x5c, 0x82, 0x32, 0x25, 0xd2, 0xec, 0x3a, 0xae, 0xd9, 0xa1, 0x1a, 0xf0, 0x60, 0x32, 0xff, + 0xea, 0x2b, 0x6c, 0xd7, 0x94, 0x08, 0x5a, 0xdd, 0xc3, 0x9a, 0x9f, 0x07, 0x7a, 0xba, 0xd6, 0xc2, + 0xcd, 0x76, 0x04, 0x85, 0x2f, 0xf0, 0x81, 0x78, 0xf0, 0xf3, 0xd7, 0x60, 0x92, 0xfc, 0xa6, 0x0a, + 0x2a, 0x38, 0x92, 0xe8, 0x94, 0xdd, 0xd4, 0x97, 0xde, 0xcb, 0x36, 0xe6, 0x84, 0x47, 0x20, 0x30, + 0xa6, 0xc0, 0x2a, 0xee, 0x60, 0xd7, 0xc5, 0xb6, 0xa3, 0x6a, 0xed, 0x41, 0xc3, 0x0b, 0xe4, 0x3c, + 0xa6, 0x7e, 0xfe, 0x1b, 0xe1, 0x55, 0xbc, 0xc4, 0x30, 0xab, 0xed, 0xf6, 0xfc, 0x26, 0x1c, 0x1d, + 0x20, 0x15, 0x23, 0xd0, 0xfc, 0x05, 0x4e, 0x73, 0xb2, 0x4f, 0x32, 0x08, 0xd9, 0x35, 0x10, 0xf5, + 0xde, 0x5a, 0x8e, 0x40, 0xf3, 0x17, 0x39, 0x4d, 0xc4, 0x71, 0xc5, 0x92, 0x12, 0x8a, 0x57, 0x60, + 0xfc, 0x06, 0xb6, 0xb7, 0x4c, 0x87, 0xe7, 0x99, 0x46, 0x20, 0xf7, 0x41, 0x4e, 0xae, 0xcc, 0x11, + 0x69, 0xe2, 0x89, 0xd0, 0x7a, 0x1a, 0xb2, 0xdb, 0x5a, 0x13, 0x8f, 0x40, 0xe2, 0x36, 0x27, 0x91, + 0x21, 0xf0, 0x04, 0xb5, 0x0a, 0x85, 0x1d, 0x93, 0xdb, 0xa8, 0x68, 0xf4, 0x0f, 0x71, 0xf4, 0xbc, + 0xc0, 0xe1, 0x24, 0x2c, 0xd3, 0xea, 0xb6, 0x89, 0x01, 0x8b, 0x26, 0xf1, 0x77, 0x04, 0x09, 0x81, + 0xc3, 0x49, 0x1c, 0x82, 0xad, 0xaf, 0x0a, 0x12, 0x4e, 0x80, 0x9f, 0xcf, 0x42, 0xde, 0x34, 0xda, + 0xfb, 0xa6, 0x31, 0xca, 0x20, 0x3e, 0xcc, 0x29, 0x00, 0x47, 0x21, 0x04, 0x2e, 0x40, 0x6e, 0xd4, + 0x85, 0xf8, 0xe5, 0x6f, 0x88, 0xed, 0x21, 0x56, 0xe0, 0x12, 0x94, 0x85, 0x82, 0xd2, 0x4d, 0x63, + 0x04, 0x12, 0x1f, 0xe5, 0x24, 0x4a, 0x01, 0x34, 0x3e, 0x0d, 0x17, 0x3b, 0xee, 0x0e, 0x1e, 0x85, + 0xc8, 0xc7, 0xc4, 0x34, 0x38, 0x0a, 0x67, 0xe5, 0x16, 0x36, 0x9a, 0xbb, 0xa3, 0x51, 0xf8, 0xb8, + 0x60, 0xa5, 0xc0, 0x21, 0x24, 0xea, 0x50, 0xec, 0x68, 0xb6, 0xb3, 0xab, 0xb5, 0x47, 0x5a, 0x8e, + 0x4f, 0x70, 0x1a, 0x05, 0x0f, 0x89, 0x73, 0xa4, 0x6b, 0x1c, 0x86, 0xcc, 0xaf, 0x08, 0x8e, 0x04, + 0xd0, 0xf8, 0xd6, 0x73, 0x5c, 0x9a, 0x94, 0x3b, 0x0c, 0xb5, 0xbf, 0x27, 0xb6, 0x1e, 0xc3, 0x5d, + 0x0e, 0x52, 0xbc, 0x00, 0x39, 0x47, 0x7f, 0x79, 0x24, 0x32, 0x7f, 0x5f, 0xac, 0x34, 0x45, 0x20, + 0xc8, 0x2f, 0xc0, 0xb1, 0x81, 0x66, 0x62, 0x04, 0x62, 0xff, 0x80, 0x13, 0x3b, 0x32, 0xc0, 0x54, + 0x70, 0x95, 0x70, 0x58, 0x92, 0xff, 0x50, 0xa8, 0x04, 0xdc, 0x43, 0x6b, 0x8d, 0x44, 0x0d, 0x8e, + 0xb6, 0x7d, 0x38, 0xae, 0xfd, 0x23, 0xc1, 0x35, 0x86, 0x1b, 0xe2, 0xda, 0x06, 0x1c, 0xe1, 0x14, + 0x0f, 0xb7, 0xae, 0x9f, 0x14, 0x8a, 0x95, 0x61, 0x6f, 0x86, 0x57, 0xf7, 0x7b, 0xa1, 0xe2, 0xb1, + 0x53, 0xb8, 0xa7, 0x8e, 0xda, 0xd1, 0xac, 0x11, 0x28, 0xff, 0x2a, 0xa7, 0x2c, 0x34, 0xbe, 0xe7, + 0xdf, 0x3a, 0xcb, 0x9a, 0x45, 0x88, 0x3f, 0x0f, 0x53, 0x82, 0x78, 0xd7, 0xb0, 0x71, 0xd3, 0xdc, + 0x31, 0xf4, 0x97, 0x71, 0x6b, 0x04, 0xd2, 0xbf, 0xd6, 0xb3, 0x54, 0x9b, 0x01, 0x74, 0x42, 0x79, + 0x11, 0x24, 0xcf, 0x57, 0x51, 0xf5, 0x8e, 0x65, 0xda, 0x6e, 0x04, 0xc5, 0x4f, 0x89, 0x95, 0xf2, + 0xf0, 0x16, 0x29, 0xda, 0x7c, 0x03, 0xd8, 0x49, 0xf5, 0xa8, 0x22, 0xf9, 0x69, 0x4e, 0xa8, 0xe8, + 0x63, 0x71, 0xc5, 0xd1, 0x34, 0x3b, 0x96, 0x66, 0x8f, 0xa2, 0xff, 0xfe, 0xb1, 0x50, 0x1c, 0x1c, + 0x85, 0x2b, 0x0e, 0xe2, 0xd1, 0x11, 0x6b, 0x3f, 0x02, 0x85, 0xcf, 0x08, 0xc5, 0x21, 0x70, 0x38, + 0x09, 0xe1, 0x30, 0x8c, 0x40, 0xe2, 0xb3, 0x82, 0x84, 0xc0, 0x21, 0x24, 0xde, 0xe5, 0x1b, 0x5a, + 0x1b, 0xef, 0xe8, 0x8e, 0x6b, 0x33, 0xa7, 0xf8, 0x60, 0x52, 0x9f, 0xfb, 0x46, 0xd8, 0x09, 0x53, + 0x02, 0xa8, 0x44, 0x13, 0xf1, 0x34, 0x2d, 0x8d, 0x99, 0xa2, 0x07, 0xf6, 0xeb, 0x42, 0x13, 0x05, + 0xd0, 0xc8, 0xd8, 0x02, 0x1e, 0x22, 0x61, 0x7b, 0x93, 0x44, 0x0a, 0x23, 0x90, 0xfb, 0x27, 0x3d, + 0x83, 0x5b, 0x17, 0xb8, 0x84, 0x66, 0xc0, 0xff, 0xe9, 0x1a, 0xd7, 0xf1, 0xfe, 0x48, 0xd2, 0xf9, + 0x1b, 0x3d, 0xfe, 0xcf, 0x26, 0xc3, 0x64, 0x3a, 0xa4, 0xdc, 0xe3, 0x4f, 0xa1, 0xa8, 0x7b, 0x49, + 0x53, 0x3f, 0xf8, 0x06, 0x9f, 0x6f, 0xd8, 0x9d, 0x9a, 0x5f, 0x22, 0x42, 0x1e, 0x76, 0x7a, 0xa2, + 0x89, 0xbd, 0xf7, 0x0d, 0x4f, 0xce, 0x43, 0x3e, 0xcf, 0xfc, 0x45, 0x28, 0x86, 0x1c, 0x9e, 0x68, + 0x52, 0x3f, 0xcc, 0x49, 0x15, 0x82, 0xfe, 0xce, 0xfc, 0x39, 0x48, 0x12, 0xe7, 0x25, 0x1a, 0xfd, + 0x47, 0x38, 0x3a, 0x05, 0x9f, 0x7f, 0x06, 0xb2, 0xc2, 0x69, 0x89, 0x46, 0xfd, 0x51, 0x8e, 0xea, + 0xa1, 0x10, 0x74, 0xe1, 0xb0, 0x44, 0xa3, 0xff, 0x0d, 0x81, 0x2e, 0x50, 0x08, 0xfa, 0xe8, 0x2c, + 0xfc, 0xfc, 0xdf, 0x4c, 0x72, 0xa3, 0x23, 0x78, 0x77, 0x01, 0x32, 0xdc, 0x53, 0x89, 0xc6, 0xfe, + 0x31, 0xde, 0xb9, 0xc0, 0x98, 0x7f, 0x12, 0x52, 0x23, 0x32, 0xfc, 0x6f, 0x71, 0x54, 0x06, 0x3f, + 0x5f, 0x87, 0x7c, 0xc0, 0x3b, 0x89, 0x46, 0xff, 0x09, 0x8e, 0x1e, 0xc4, 0x22, 0x43, 0xe7, 0xde, + 0x49, 0x34, 0x81, 0x9f, 0x14, 0x43, 0xe7, 0x18, 0x84, 0x6d, 0xc2, 0x31, 0x89, 0xc6, 0x7e, 0xbf, + 0xe0, 0xba, 0x40, 0x99, 0x7f, 0x16, 0x72, 0x9e, 0xb1, 0x89, 0xc6, 0xff, 0x29, 0x8e, 0xef, 0xe3, + 0x10, 0x0e, 0x04, 0x8c, 0x5d, 0x34, 0x89, 0x9f, 0x16, 0x1c, 0x08, 0x60, 0x91, 0x6d, 0xd4, 0xeb, + 0xc0, 0x44, 0x53, 0xfa, 0x19, 0xb1, 0x8d, 0x7a, 0xfc, 0x17, 0xb2, 0x9a, 0x54, 0xe7, 0x47, 0x93, + 0xf8, 0xdb, 0x62, 0x35, 0x29, 0x3c, 0x19, 0x46, 0xaf, 0x47, 0x10, 0x4d, 0xe3, 0xe7, 0xc4, 0x30, + 0x7a, 0x1c, 0x82, 0xf9, 0x35, 0x40, 0xfd, 0xde, 0x40, 0x34, 0xbd, 0x0f, 0x70, 0x7a, 0xe3, 0x7d, + 0xce, 0xc0, 0xfc, 0x73, 0x70, 0x64, 0xb0, 0x27, 0x10, 0x4d, 0xf5, 0xe7, 0xdf, 0xe8, 0x89, 0xdd, + 0x82, 0x8e, 0xc0, 0xfc, 0x86, 0x6f, 0x52, 0x82, 0x5e, 0x40, 0x34, 0xd9, 0x5f, 0x78, 0x23, 0xac, + 0xb8, 0x83, 0x4e, 0xc0, 0x7c, 0x15, 0xc0, 0x37, 0xc0, 0xd1, 0xb4, 0x3e, 0xc8, 0x69, 0x05, 0x90, + 0xc8, 0xd6, 0xe0, 0xf6, 0x37, 0x1a, 0xff, 0xb6, 0xd8, 0x1a, 0x1c, 0x83, 0x6c, 0x0d, 0x61, 0x7a, + 0xa3, 0xb1, 0x3f, 0x24, 0xb6, 0x86, 0x40, 0x21, 0x92, 0x1d, 0xb0, 0x6e, 0xd1, 0x14, 0x3e, 0x2c, + 0x24, 0x3b, 0x80, 0x35, 0xbf, 0x02, 0xe3, 0x7d, 0x06, 0x31, 0x9a, 0xd4, 0x2f, 0x71, 0x52, 0x52, + 0xaf, 0x3d, 0x0c, 0x1a, 0x2f, 0x6e, 0x0c, 0xa3, 0xa9, 0x7d, 0xa4, 0xc7, 0x78, 0x71, 0x5b, 0x38, + 0x7f, 0x01, 0xb2, 0x46, 0xb7, 0xdd, 0x26, 0x9b, 0x07, 0x1d, 0x7c, 0x97, 0x70, 0xea, 0xbf, 0x7f, + 0x9b, 0x73, 0x47, 0x20, 0xcc, 0x9f, 0x83, 0x14, 0xee, 0x6c, 0xe1, 0x56, 0x14, 0xe6, 0xd7, 0xbf, + 0x2d, 0x14, 0x26, 0x81, 0x9e, 0x7f, 0x16, 0x80, 0xa5, 0x46, 0xe8, 0xe1, 0x61, 0x04, 0xee, 0x1f, + 0x7e, 0x9b, 0x5f, 0xde, 0xf1, 0x51, 0x7c, 0x02, 0xec, 0x2a, 0xd0, 0xc1, 0x04, 0xbe, 0x11, 0x26, + 0x40, 0x57, 0xe4, 0x69, 0xc8, 0xbc, 0xe4, 0x98, 0x86, 0xab, 0xed, 0x44, 0x61, 0xff, 0x11, 0xc7, + 0x16, 0xf0, 0x84, 0x61, 0x1d, 0xd3, 0xc6, 0xae, 0xb6, 0xe3, 0x44, 0xe1, 0xfe, 0x0f, 0x8e, 0xeb, + 0x21, 0x10, 0xe4, 0xa6, 0xe6, 0xb8, 0xa3, 0xcc, 0xfb, 0x8f, 0x05, 0xb2, 0x40, 0x20, 0x83, 0x26, + 0xbf, 0xaf, 0xe3, 0xfd, 0x28, 0xdc, 0x3f, 0x11, 0x83, 0xe6, 0xf0, 0xf3, 0xcf, 0x40, 0x8e, 0xfc, + 0x64, 0x37, 0xf2, 0x22, 0x90, 0xff, 0x94, 0x23, 0xfb, 0x18, 0xa4, 0x67, 0xc7, 0x6d, 0xb9, 0x7a, + 0x34, 0xb3, 0xbf, 0xc9, 0x57, 0x5a, 0xc0, 0xcf, 0x57, 0x21, 0xef, 0xb8, 0xad, 0x56, 0x97, 0xfb, + 0xa7, 0x11, 0xe8, 0x7f, 0xf6, 0x6d, 0x2f, 0x65, 0xe1, 0xe1, 0x90, 0xd5, 0xbe, 0x79, 0xdd, 0xb5, + 0x4c, 0x7a, 0xe0, 0x11, 0x45, 0xe1, 0x0d, 0x4e, 0x21, 0x80, 0x32, 0x5f, 0x87, 0x02, 0x99, 0x8b, + 0x8d, 0x2d, 0x4c, 0x4f, 0xa7, 0x22, 0x48, 0x7c, 0x8b, 0x33, 0x20, 0x84, 0x54, 0xfb, 0x81, 0x2f, + 0xbc, 0x3e, 0x1d, 0xfb, 0xe2, 0xeb, 0xd3, 0xb1, 0x3f, 0x78, 0x7d, 0x3a, 0xf6, 0xfe, 0x2f, 0x4f, + 0x8f, 0x7d, 0xf1, 0xcb, 0xd3, 0x63, 0xbf, 0xff, 0xe5, 0xe9, 0xb1, 0xc1, 0x59, 0x62, 0xb8, 0x64, + 0x5e, 0x32, 0x59, 0x7e, 0xf8, 0xc5, 0x07, 0x76, 0x74, 0x77, 0xb7, 0xbb, 0x35, 0xd7, 0x34, 0x3b, + 0x67, 0x9a, 0xa6, 0xd3, 0x31, 0x9d, 0x33, 0xe1, 0xbc, 0x2e, 0xfd, 0x05, 0xff, 0x27, 0x46, 0x62, + 0xe6, 0x70, 0x3a, 0x57, 0x33, 0xf6, 0x87, 0x7d, 0xde, 0x73, 0x1e, 0x12, 0x55, 0x63, 0x1f, 0x1d, + 0x63, 0x0a, 0x4e, 0xed, 0xda, 0x6d, 0x7e, 0x2d, 0x2c, 0x43, 0xca, 0x9b, 0x76, 0x1b, 0x4d, 0xfa, + 0x77, 0x37, 0x63, 0x27, 0x0b, 0xfc, 0x42, 0x66, 0xed, 0x27, 0x62, 0x87, 0x9b, 0x49, 0xb6, 0x6a, + 0xec, 0xd3, 0x89, 0xac, 0xc5, 0x5e, 0x7c, 0x38, 0x32, 0xcf, 0x7d, 0xdd, 0x30, 0x6f, 0x1a, 0x64, + 0xd8, 0xd6, 0x96, 0xc8, 0x71, 0x4f, 0xf7, 0xe6, 0xb8, 0x9f, 0xc3, 0xed, 0xf6, 0x55, 0x02, 0xb7, + 0x41, 0x50, 0xb6, 0xd2, 0xec, 0x06, 0x32, 0xfc, 0x4c, 0x1c, 0xa6, 0xfb, 0xd2, 0xd9, 0x5c, 0x08, + 0x86, 0x31, 0x61, 0x1e, 0xb2, 0x0b, 0x42, 0xb6, 0xa6, 0x20, 0xe3, 0xe0, 0xa6, 0x69, 0xb4, 0x1c, + 0xca, 0x88, 0x84, 0x22, 0x8a, 0x84, 0x11, 0x86, 0x66, 0x98, 0x0e, 0xbf, 0x58, 0xc9, 0x0a, 0xb5, + 0x5f, 0x3c, 0x24, 0x23, 0x8a, 0xa2, 0x27, 0xc1, 0x8d, 0xc7, 0x46, 0xe4, 0x86, 0x98, 0x44, 0x28, + 0xf3, 0x3f, 0x2a, 0x57, 0x7e, 0x2e, 0x0e, 0x33, 0xbd, 0x5c, 0x21, 0x3b, 0xcb, 0x71, 0xb5, 0x8e, + 0x35, 0x8c, 0x2d, 0x17, 0x20, 0xb7, 0x21, 0x60, 0x0e, 0xcd, 0x97, 0xdb, 0x87, 0xe4, 0x4b, 0xc9, + 0xeb, 0x4a, 0x30, 0xe6, 0xec, 0x88, 0x8c, 0xf1, 0xe6, 0x71, 0x47, 0x9c, 0xf9, 0x8b, 0x34, 0x1c, + 0x63, 0xdb, 0x49, 0x65, 0x5b, 0x89, 0x15, 0x38, 0x4f, 0x0a, 0xc1, 0xa6, 0xe8, 0x73, 0x12, 0xf9, + 0x2a, 0x4c, 0x2c, 0x12, 0x6d, 0x41, 0xa2, 0x20, 0xff, 0x84, 0x67, 0xe0, 0xdd, 0xd3, 0xd9, 0x90, + 0xc3, 0xcf, 0x4f, 0x98, 0x82, 0x55, 0xf2, 0x0f, 0xc6, 0x40, 0x5a, 0x6f, 0x6a, 0x6d, 0xcd, 0xfe, + 0x4e, 0x49, 0xa1, 0x27, 0x01, 0xe8, 0x37, 0x4b, 0xfe, 0x47, 0x46, 0xa5, 0xb3, 0x53, 0x73, 0xc1, + 0xc9, 0xcd, 0xb1, 0x9e, 0xe8, 0x17, 0x0c, 0x39, 0x0a, 0x4b, 0x7e, 0x9e, 0x7e, 0x1e, 0xc0, 0x6f, + 0x40, 0xc7, 0xe1, 0xe8, 0x7a, 0xbd, 0xba, 0x54, 0x55, 0x54, 0x76, 0x19, 0x7e, 0x65, 0x7d, 0xad, + 0x51, 0x5f, 0xbc, 0xb8, 0xd8, 0x58, 0x90, 0xc6, 0xd0, 0x11, 0x40, 0xc1, 0x46, 0xef, 0x5e, 0xca, + 0x5d, 0x30, 0x1e, 0xac, 0x67, 0x37, 0xea, 0xe3, 0xc4, 0x53, 0xd4, 0x3b, 0x56, 0x1b, 0xd3, 0xa3, + 0x3f, 0x55, 0x17, 0x5c, 0x8b, 0x76, 0x42, 0x7e, 0xe7, 0xdf, 0xb3, 0x5b, 0xd6, 0x13, 0x3e, 0xba, + 0xc7, 0xf3, 0xf9, 0x25, 0x18, 0xd7, 0x9a, 0x4d, 0x6c, 0x85, 0x48, 0x46, 0xa8, 0x6a, 0x42, 0x90, + 0x1e, 0x66, 0x72, 0x4c, 0x9f, 0xda, 0x93, 0x90, 0x76, 0xe8, 0xec, 0xa3, 0x48, 0xfc, 0x2e, 0x27, + 0xc1, 0xc1, 0xe7, 0x0d, 0x18, 0x27, 0x9e, 0x9f, 0x66, 0xe3, 0xc0, 0x30, 0x0e, 0xce, 0x33, 0xfc, + 0xe6, 0xa7, 0x1e, 0xa5, 0x47, 0x9b, 0xf7, 0x86, 0x97, 0x65, 0x80, 0x38, 0x29, 0x12, 0xa7, 0xed, + 0x0f, 0x14, 0x43, 0x49, 0xf4, 0xc7, 0x07, 0x7c, 0x70, 0x67, 0xbf, 0xc5, 0x3b, 0x9b, 0x1e, 0x24, + 0x03, 0x81, 0x9e, 0x8a, 0x9c, 0x2a, 0x6b, 0xa8, 0x35, 0x86, 0xed, 0xe9, 0x17, 0x1f, 0xea, 0xb7, + 0x4e, 0xec, 0xbf, 0x47, 0x28, 0xe5, 0x0b, 0xc1, 0x6e, 0xbc, 0xbd, 0xf7, 0x8b, 0x49, 0x18, 0xd7, + 0x3a, 0xba, 0x61, 0x9e, 0xa1, 0xff, 0xf2, 0x3d, 0x97, 0xa2, 0x85, 0x11, 0x0e, 0x25, 0xcf, 0xb3, + 0xad, 0x10, 0x2d, 0x31, 0x7f, 0xfa, 0xe3, 0x1f, 0x4d, 0xf9, 0xdb, 0x65, 0x7e, 0x19, 0x24, 0x71, + 0xe1, 0x10, 0x1b, 0x4d, 0xb3, 0x35, 0x52, 0x96, 0xe2, 0x9b, 0x82, 0x86, 0xc8, 0x6f, 0x35, 0x38, + 0xea, 0xfc, 0x3b, 0x20, 0xeb, 0x91, 0x89, 0xf2, 0x4c, 0x04, 0x11, 0x0f, 0x83, 0xf8, 0x25, 0x6c, + 0x67, 0x8e, 0xe2, 0x85, 0xbe, 0x21, 0xf0, 0xd9, 0x0e, 0x5d, 0x21, 0xb3, 0xb9, 0x04, 0xa5, 0x96, + 0x69, 0xb8, 0xaa, 0xd9, 0xd1, 0x5d, 0xdc, 0xb1, 0xdc, 0x48, 0xbf, 0xee, 0x5b, 0x8c, 0x48, 0x56, + 0x29, 0x12, 0xbc, 0x55, 0x81, 0x46, 0x46, 0xc2, 0xbe, 0x29, 0x1a, 0x65, 0x24, 0xff, 0xd3, 0x1b, + 0x09, 0xc5, 0x21, 0x23, 0xb9, 0x23, 0xe9, 0x70, 0x5a, 0xd7, 0xb9, 0x32, 0x77, 0xf7, 0x98, 0x14, + 0x78, 0xd2, 0xf1, 0xc7, 0x09, 0x98, 0xe6, 0xc0, 0x5b, 0x9a, 0x83, 0xcf, 0xdc, 0x78, 0x6c, 0x0b, + 0xbb, 0xda, 0x63, 0x67, 0x9a, 0xa6, 0x2e, 0x2c, 0xf9, 0x04, 0x57, 0xd6, 0xa4, 0x7d, 0x8e, 0xb7, + 0x57, 0x06, 0x1e, 0x77, 0x57, 0x86, 0x2b, 0xf9, 0x4a, 0xbf, 0x0c, 0xca, 0x2f, 0x42, 0xb2, 0x6e, + 0xea, 0x06, 0xb1, 0x6d, 0x2d, 0x6c, 0x98, 0x1d, 0xae, 0x6e, 0x59, 0x01, 0x9d, 0x87, 0xb4, 0xd6, + 0x31, 0xbb, 0x86, 0xcb, 0x54, 0x6d, 0x6d, 0xfa, 0x0b, 0xaf, 0xcd, 0x8c, 0xfd, 0xc7, 0xd7, 0x66, + 0x12, 0x8b, 0x86, 0xfb, 0x7b, 0x9f, 0x7e, 0x04, 0x38, 0xf5, 0x45, 0xc3, 0xfd, 0xf8, 0x57, 0x3f, + 0x79, 0x3a, 0xa6, 0x70, 0xe8, 0xf9, 0xe4, 0xd7, 0x5e, 0x9d, 0x89, 0xc9, 0xcf, 0x43, 0x66, 0x01, + 0x37, 0x0f, 0x20, 0xff, 0x58, 0x0f, 0xf9, 0x63, 0x82, 0xfc, 0x02, 0x6e, 0x06, 0xc8, 0x2f, 0xe0, + 0x66, 0x0f, 0xe5, 0x27, 0x21, 0xbb, 0x68, 0xb8, 0xec, 0x73, 0x87, 0x87, 0x20, 0xa1, 0x1b, 0xec, + 0x06, 0x6d, 0x80, 0x42, 0xdf, 0x00, 0x15, 0x02, 0x45, 0x10, 0x17, 0x70, 0xd3, 0x43, 0x6c, 0xe1, + 0x66, 0x2f, 0x62, 0x7f, 0xd7, 0x04, 0xaa, 0xb6, 0xf0, 0xfb, 0xff, 0x75, 0x7a, 0xec, 0x95, 0xd7, + 0xa7, 0xc7, 0x86, 0x2e, 0xbd, 0x1c, 0xbd, 0xf4, 0xde, 0x8a, 0x7f, 0x34, 0x09, 0xf7, 0xd0, 0xaf, + 0xe0, 0xec, 0x8e, 0x6e, 0xb8, 0x67, 0x9a, 0xf6, 0xbe, 0xe5, 0x9a, 0x44, 0x01, 0x98, 0xdb, 0x7c, + 0xc1, 0xc7, 0xfd, 0xe6, 0x39, 0xd6, 0x3c, 0x78, 0xb9, 0xe5, 0x6d, 0x48, 0xad, 0x11, 0x3c, 0xc2, + 0x62, 0xd7, 0x74, 0xb5, 0x36, 0xf7, 0x5a, 0x58, 0x81, 0xd4, 0xb2, 0x2f, 0xe7, 0xe2, 0xac, 0x56, + 0x17, 0x1f, 0xcd, 0xb5, 0xb1, 0xb6, 0xcd, 0x3e, 0x40, 0x48, 0x50, 0x77, 0x37, 0x4b, 0x2a, 0xe8, + 0xb7, 0x06, 0x93, 0x90, 0xd2, 0xba, 0xec, 0xe6, 0x4b, 0x82, 0xf8, 0xc1, 0xb4, 0x20, 0x5f, 0x85, + 0x0c, 0x3f, 0x7f, 0x47, 0x12, 0x24, 0xae, 0xe3, 0x7d, 0xda, 0x4f, 0x41, 0x21, 0x3f, 0xd1, 0x1c, + 0xa4, 0xe8, 0xe0, 0xf9, 0x97, 0x55, 0x53, 0x73, 0x7d, 0xa3, 0x9f, 0xa3, 0x83, 0x54, 0x18, 0x98, + 0x7c, 0x05, 0xb2, 0x0b, 0x26, 0x91, 0xc2, 0x30, 0xb5, 0x1c, 0xa3, 0x46, 0xc7, 0x6c, 0x75, 0xb9, + 0x54, 0x28, 0xac, 0x80, 0x8e, 0x40, 0x9a, 0x7d, 0x90, 0xc2, 0x6f, 0xef, 0xf0, 0x92, 0x5c, 0x87, + 0x0c, 0xa5, 0xbd, 0x6a, 0x11, 0x97, 0xc1, 0xbb, 0xfb, 0x9b, 0xe3, 0x9f, 0x27, 0x72, 0xf2, 0x71, + 0x7f, 0xb0, 0x08, 0x92, 0x2d, 0xcd, 0xd5, 0xf8, 0xbc, 0xe9, 0x6f, 0xf9, 0x9d, 0x90, 0xe5, 0x44, + 0x1c, 0x74, 0x16, 0x12, 0xa6, 0xe5, 0xf0, 0xfb, 0x37, 0x95, 0x61, 0x53, 0x59, 0xb5, 0x6a, 0x49, + 0x22, 0x33, 0x0a, 0x01, 0xae, 0xad, 0x0c, 0x15, 0x8b, 0x27, 0x42, 0x62, 0xd1, 0xc1, 0xee, 0xd6, + 0xb6, 0xeb, 0xff, 0x60, 0xcb, 0xd9, 0x27, 0x0a, 0x9e, 0xa0, 0xdc, 0x8e, 0xc3, 0x74, 0xa0, 0xf5, + 0x06, 0xb6, 0x1d, 0xdd, 0x34, 0x98, 0x34, 0x71, 0x49, 0x41, 0x81, 0x01, 0xf2, 0xf6, 0x21, 0xa2, + 0xf2, 0x0c, 0x24, 0xaa, 0x96, 0x85, 0x2a, 0x90, 0xa5, 0xe5, 0xa6, 0xc9, 0x64, 0x25, 0xa9, 0x78, + 0x65, 0xd2, 0xe6, 0x98, 0xdb, 0xee, 0x4d, 0xcd, 0xf6, 0xbe, 0xd7, 0x14, 0x65, 0xf9, 0x69, 0xc8, + 0xd5, 0x4d, 0xc3, 0xc1, 0x86, 0xd3, 0xa5, 0xbe, 0xf0, 0x56, 0xdb, 0x6c, 0x5e, 0xe7, 0x14, 0x58, + 0x81, 0x30, 0x5b, 0xb3, 0x2c, 0x8a, 0x99, 0x54, 0xc8, 0x4f, 0xb6, 0x5f, 0x6b, 0xab, 0x43, 0xd9, + 0x73, 0xee, 0x70, 0xec, 0xe1, 0x13, 0xf4, 0x9d, 0xda, 0x18, 0xdc, 0xdd, 0xbf, 0x91, 0xae, 0xe3, + 0x7d, 0xe7, 0xb0, 0xfb, 0xe8, 0x79, 0xc8, 0xad, 0xd1, 0x07, 0x13, 0xae, 0xe2, 0x7d, 0x54, 0x81, + 0x0c, 0x6e, 0x9d, 0x3d, 0x77, 0xee, 0xb1, 0xa7, 0x99, 0x94, 0x5f, 0x1e, 0x53, 0x44, 0x05, 0x9a, + 0x86, 0x9c, 0x83, 0x9b, 0xd6, 0xd9, 0x73, 0xe7, 0xaf, 0x3f, 0xc6, 0xc4, 0xea, 0xf2, 0x98, 0xe2, + 0x57, 0xcd, 0x67, 0xc9, 0x8c, 0xbf, 0xf6, 0xe1, 0x99, 0x58, 0x2d, 0x05, 0x09, 0xa7, 0xdb, 0x79, + 0xcb, 0x64, 0xe3, 0x67, 0x53, 0x30, 0x1b, 0x68, 0x65, 0xc6, 0xe5, 0x86, 0xd6, 0xd6, 0x5b, 0x9a, + 0xff, 0xcc, 0x85, 0x14, 0x98, 0x3f, 0x85, 0x18, 0x62, 0x35, 0x0e, 0xe4, 0xa2, 0xfc, 0x6b, 0x31, + 0x28, 0x5c, 0x13, 0x94, 0xd7, 0xb1, 0x8b, 0x2e, 0x00, 0x78, 0x3d, 0x89, 0xad, 0x72, 0x7c, 0xae, + 0xb7, 0xaf, 0x39, 0x0f, 0x47, 0x09, 0x80, 0xa3, 0x27, 0xa9, 0x00, 0x5a, 0xa6, 0xc3, 0xbf, 0xdd, + 0x8b, 0x40, 0xf5, 0x80, 0xd1, 0xc3, 0x80, 0xa8, 0x56, 0x53, 0x6f, 0x98, 0xae, 0x6e, 0xec, 0xa8, + 0x96, 0x79, 0x93, 0x7f, 0x11, 0x9d, 0x50, 0x24, 0xda, 0x72, 0x8d, 0x36, 0xac, 0x91, 0x7a, 0x32, + 0xe8, 0x9c, 0x47, 0x85, 0x84, 0x75, 0x5a, 0xab, 0x65, 0x63, 0xc7, 0xe1, 0x8a, 0x4b, 0x14, 0xd1, + 0x05, 0xc8, 0x58, 0xdd, 0x2d, 0x55, 0x68, 0x89, 0xfc, 0xd9, 0xbb, 0x07, 0xed, 0x79, 0x21, 0x1b, + 0x7c, 0xd7, 0xa7, 0xad, 0xee, 0x16, 0x91, 0x94, 0x7b, 0xa1, 0x30, 0x60, 0x30, 0xf9, 0x1b, 0xfe, + 0x38, 0xe8, 0x1b, 0x1d, 0x7c, 0x06, 0xaa, 0x65, 0xeb, 0xa6, 0xad, 0xbb, 0xfb, 0xf4, 0xe2, 0x5c, + 0x42, 0x91, 0x44, 0xc3, 0x1a, 0xaf, 0x97, 0xaf, 0x43, 0x79, 0x9d, 0xba, 0xfb, 0xfe, 0xc8, 0xcf, + 0xf9, 0xe3, 0x8b, 0x45, 0x8f, 0x6f, 0xe8, 0xc8, 0xe2, 0x7d, 0x23, 0xab, 0x2d, 0x0f, 0x95, 0xcc, + 0xc7, 0x0f, 0x27, 0x99, 0x61, 0xeb, 0xf6, 0x87, 0xc7, 0x42, 0x9b, 0x92, 0x7b, 0x3d, 0x01, 0x95, + 0x35, 0xaa, 0x50, 0x46, 0x45, 0xf2, 0x95, 0x83, 0x8d, 0x68, 0x25, 0x42, 0x75, 0x56, 0x22, 0xb7, + 0x8f, 0xfc, 0x34, 0x14, 0xd7, 0x34, 0xdb, 0x5d, 0xc7, 0xee, 0x65, 0xac, 0xb5, 0xb0, 0x1d, 0xb6, + 0xb2, 0x45, 0x61, 0x65, 0x11, 0x24, 0xa9, 0x29, 0x65, 0x56, 0x86, 0xfe, 0x96, 0x77, 0x21, 0x49, + 0x2f, 0xce, 0x7a, 0x16, 0x98, 0x63, 0x30, 0x0b, 0x4c, 0xf4, 0xe7, 0xbe, 0x8b, 0x1d, 0x91, 0x6c, + 0xa2, 0x05, 0xf4, 0x84, 0xb0, 0xa3, 0x89, 0x83, 0xed, 0x28, 0x17, 0x42, 0x6e, 0x4d, 0xdb, 0x90, + 0xa9, 0x11, 0xf5, 0xbb, 0xb8, 0xe0, 0x0d, 0x24, 0xe6, 0x0f, 0x04, 0x2d, 0x43, 0xd9, 0xd2, 0x6c, + 0x97, 0x7e, 0x73, 0xb4, 0x4b, 0x67, 0xc1, 0xe5, 0x7c, 0xa6, 0x7f, 0xd7, 0x85, 0x26, 0xcb, 0x7b, + 0x29, 0x5a, 0xc1, 0x4a, 0xf9, 0xbf, 0x25, 0x21, 0xcd, 0x99, 0xf1, 0x0c, 0x64, 0x38, 0x5b, 0xb9, + 0x64, 0xde, 0x33, 0xd7, 0x6f, 0x8c, 0xe6, 0x3c, 0xa3, 0xc1, 0xe9, 0x09, 0x1c, 0xf4, 0x20, 0x64, + 0x9b, 0xbb, 0x9a, 0x6e, 0xa8, 0x7a, 0x8b, 0x3b, 0x80, 0xf9, 0xd7, 0x5f, 0x9b, 0xc9, 0xd4, 0x49, + 0xdd, 0xe2, 0x82, 0x92, 0xa1, 0x8d, 0x8b, 0x2d, 0x62, 0xf9, 0x77, 0xb1, 0xbe, 0xb3, 0xeb, 0xf2, + 0xdd, 0xc5, 0x4b, 0xe8, 0x29, 0x48, 0x12, 0x81, 0xe0, 0x5f, 0xa4, 0x56, 0xfa, 0xfc, 0x78, 0x2f, + 0xd1, 0x52, 0xcb, 0x92, 0x8e, 0xdf, 0xff, 0x5f, 0x66, 0x62, 0x0a, 0xc5, 0x40, 0x75, 0x28, 0xb6, + 0x35, 0xc7, 0x55, 0xa9, 0xd5, 0x22, 0xdd, 0xa7, 0x28, 0x89, 0x63, 0xfd, 0x0c, 0xe1, 0x8c, 0xe5, + 0x43, 0xcf, 0x13, 0x2c, 0x56, 0xd5, 0x42, 0x27, 0x41, 0xa2, 0x44, 0x9a, 0x66, 0xa7, 0xa3, 0xbb, + 0xcc, 0x97, 0x4a, 0x53, 0xbe, 0x97, 0x48, 0x7d, 0x9d, 0x56, 0x53, 0x8f, 0xea, 0x38, 0xe4, 0xe8, + 0x37, 0x70, 0x14, 0x84, 0xdd, 0xd6, 0xce, 0x92, 0x0a, 0xda, 0x78, 0x02, 0xca, 0xbe, 0x6e, 0x64, + 0x20, 0x59, 0x46, 0xc5, 0xaf, 0xa6, 0x80, 0x8f, 0xc2, 0xa4, 0x81, 0xf7, 0xe8, 0xfd, 0xf1, 0x10, + 0x74, 0x8e, 0x42, 0x23, 0xd2, 0x76, 0x2d, 0x8c, 0xf1, 0x00, 0x94, 0x9a, 0x82, 0xf9, 0x0c, 0x16, + 0x28, 0x6c, 0xd1, 0xab, 0xa5, 0x60, 0xc7, 0x20, 0xab, 0x59, 0x16, 0x03, 0xc8, 0x73, 0xdd, 0x68, + 0x59, 0xb4, 0xe9, 0x34, 0x8c, 0xd3, 0x39, 0xda, 0xd8, 0xe9, 0xb6, 0x5d, 0x4e, 0xa4, 0x40, 0x61, + 0xca, 0xa4, 0x41, 0x61, 0xf5, 0x14, 0xf6, 0x3e, 0x28, 0xe2, 0x1b, 0x7a, 0x0b, 0x1b, 0x4d, 0xcc, + 0xe0, 0x8a, 0x14, 0xae, 0x20, 0x2a, 0x29, 0xd0, 0x29, 0xf0, 0x74, 0x9e, 0x2a, 0xf4, 0x71, 0x89, + 0xd1, 0x13, 0xf5, 0x55, 0x56, 0x2d, 0x4f, 0x41, 0x72, 0x41, 0x73, 0x35, 0xe2, 0x54, 0xb8, 0x7b, + 0xcc, 0xc8, 0x14, 0x14, 0xf2, 0x53, 0xfe, 0x5a, 0x1c, 0x92, 0xd7, 0x4c, 0x17, 0xa3, 0xc7, 0x03, + 0x0e, 0x5f, 0x69, 0x90, 0x3c, 0xaf, 0xeb, 0x3b, 0x06, 0x6e, 0x2d, 0x3b, 0x3b, 0x81, 0x07, 0x2b, + 0x7c, 0x71, 0x8a, 0x87, 0xc4, 0x69, 0x12, 0x52, 0xb6, 0xd9, 0x35, 0x5a, 0xe2, 0xa2, 0x33, 0x2d, + 0xa0, 0x06, 0x64, 0x3d, 0x29, 0x49, 0x46, 0x49, 0x49, 0x99, 0x48, 0x09, 0x91, 0x61, 0x5e, 0xa1, + 0x64, 0xb6, 0xb8, 0xb0, 0xd4, 0x20, 0xe7, 0x29, 0x2f, 0x2e, 0x6d, 0xa3, 0x09, 0xac, 0x8f, 0x46, + 0x0c, 0x89, 0xb7, 0xf6, 0x1e, 0xf3, 0x98, 0xc4, 0x49, 0x5e, 0x03, 0xe7, 0x5e, 0x48, 0xac, 0xf8, + 0xe3, 0x19, 0x19, 0x3a, 0x2f, 0x5f, 0xac, 0xd8, 0x03, 0x1a, 0x77, 0x43, 0xce, 0xd1, 0x77, 0x0c, + 0xcd, 0xed, 0xda, 0x98, 0x4b, 0x9e, 0x5f, 0x21, 0x7f, 0x3e, 0x06, 0x69, 0x26, 0xc9, 0x01, 0xbe, + 0xc5, 0x06, 0xf3, 0x2d, 0x3e, 0x8c, 0x6f, 0x89, 0x3b, 0xe7, 0x5b, 0x15, 0xc0, 0x1b, 0x8c, 0xc3, + 0xdf, 0x34, 0x18, 0xe0, 0x2d, 0xb0, 0x21, 0xae, 0xeb, 0x3b, 0x7c, 0xa3, 0x06, 0x90, 0xe4, 0xff, + 0x1c, 0x23, 0x8e, 0x2b, 0x6f, 0x47, 0x55, 0x28, 0x8a, 0x71, 0xa9, 0xdb, 0x6d, 0x6d, 0x87, 0xcb, + 0xce, 0x3d, 0x43, 0x07, 0x77, 0xb1, 0xad, 0xed, 0x28, 0x79, 0x3e, 0x1e, 0x52, 0x18, 0xbc, 0x0e, + 0xf1, 0x21, 0xeb, 0x10, 0x5a, 0xf8, 0xc4, 0x9d, 0x2d, 0x7c, 0x68, 0x89, 0x92, 0xbd, 0x4b, 0xf4, + 0xa9, 0x38, 0x0d, 0x5e, 0x2c, 0xd3, 0xd1, 0xda, 0x6f, 0xc7, 0x8e, 0x38, 0x0e, 0x39, 0xcb, 0x6c, + 0xab, 0xac, 0x85, 0x7d, 0x00, 0x90, 0xb5, 0xcc, 0xb6, 0xd2, 0xb7, 0xec, 0xa9, 0x37, 0x69, 0xbb, + 0xa4, 0xdf, 0x04, 0xae, 0x65, 0x7a, 0xb9, 0x66, 0x43, 0x81, 0xb1, 0x82, 0xdb, 0xb2, 0x47, 0x09, + 0x0f, 0xa8, 0x71, 0x8c, 0xf5, 0xdb, 0x5e, 0x36, 0x6c, 0x06, 0xa9, 0x70, 0x38, 0x82, 0xc1, 0x54, + 0xff, 0xa0, 0xa8, 0x37, 0x28, 0x96, 0x0a, 0x87, 0x93, 0x7f, 0x36, 0x06, 0xb0, 0x44, 0x38, 0x4b, + 0xe7, 0x4b, 0xac, 0x90, 0x43, 0x87, 0xa0, 0x86, 0x7a, 0x9e, 0x1e, 0xb6, 0x68, 0xbc, 0xff, 0x82, + 0x13, 0x1c, 0x77, 0x1d, 0x8a, 0xbe, 0x30, 0x3a, 0x58, 0x0c, 0x66, 0xfa, 0x00, 0x8f, 0x7a, 0x1d, + 0xbb, 0x4a, 0xe1, 0x46, 0xa0, 0x24, 0xff, 0xb3, 0x18, 0xe4, 0xe8, 0x98, 0x96, 0xb1, 0xab, 0x85, + 0xd6, 0x30, 0x76, 0xe7, 0x6b, 0x78, 0x0f, 0x00, 0x23, 0xe3, 0xe8, 0x2f, 0x63, 0x2e, 0x59, 0x39, + 0x5a, 0xb3, 0xae, 0xbf, 0x8c, 0xd1, 0x79, 0x8f, 0xe1, 0x89, 0x83, 0x19, 0x2e, 0x3c, 0x6e, 0xce, + 0xf6, 0xa3, 0x90, 0xa1, 0x6f, 0x80, 0xed, 0x39, 0xdc, 0x89, 0x4e, 0x1b, 0xdd, 0xce, 0xc6, 0x9e, + 0x23, 0xbf, 0x04, 0x99, 0x8d, 0x3d, 0x96, 0x0b, 0x39, 0x0e, 0x39, 0xdb, 0x34, 0xb9, 0x4d, 0x66, + 0xbe, 0x50, 0x96, 0x54, 0x50, 0x13, 0x24, 0xe2, 0xff, 0xb8, 0x1f, 0xff, 0xfb, 0x09, 0x8c, 0xc4, + 0x48, 0x09, 0x8c, 0xd3, 0xff, 0x21, 0x06, 0xf9, 0x80, 0x7e, 0x40, 0x8f, 0xc1, 0x5d, 0xb5, 0xa5, + 0xd5, 0xfa, 0x55, 0x75, 0x71, 0x41, 0xbd, 0xb8, 0x54, 0xbd, 0xe4, 0x7f, 0xe2, 0x56, 0x39, 0x72, + 0xeb, 0xf6, 0x2c, 0x0a, 0xc0, 0x6e, 0x1a, 0xf4, 0x34, 0x07, 0x9d, 0x81, 0xc9, 0x30, 0x4a, 0xb5, + 0xb6, 0xde, 0x58, 0xd9, 0x90, 0x62, 0x95, 0xbb, 0x6e, 0xdd, 0x9e, 0x1d, 0x0f, 0x60, 0x54, 0xb7, + 0x1c, 0x6c, 0xb8, 0xfd, 0x08, 0xf5, 0xd5, 0xe5, 0xe5, 0xc5, 0x0d, 0x29, 0xde, 0x87, 0xc0, 0x15, + 0xf6, 0x29, 0x18, 0x0f, 0x23, 0xac, 0x2c, 0x2e, 0x49, 0x89, 0x0a, 0xba, 0x75, 0x7b, 0xb6, 0x14, + 0x80, 0x5e, 0xd1, 0xdb, 0x95, 0xec, 0xfb, 0x3e, 0x32, 0x3d, 0xf6, 0xf1, 0xbf, 0x3b, 0x1d, 0x23, + 0x33, 0x2b, 0x86, 0x74, 0x04, 0x7a, 0x18, 0x8e, 0xae, 0x2f, 0x5e, 0x5a, 0x69, 0x2c, 0xa8, 0xcb, + 0xeb, 0x97, 0xc4, 0x79, 0x88, 0x98, 0x5d, 0xf9, 0xd6, 0xed, 0xd9, 0x3c, 0x9f, 0xd2, 0x30, 0xe8, + 0x35, 0xa5, 0x71, 0x6d, 0x75, 0xa3, 0x21, 0xc5, 0x18, 0xf4, 0x9a, 0x8d, 0x6f, 0x98, 0x2e, 0x7b, + 0x24, 0xf0, 0x51, 0x38, 0x36, 0x00, 0xda, 0x9b, 0xd8, 0xf8, 0xad, 0xdb, 0xb3, 0xc5, 0x35, 0x1b, + 0xb3, 0xfd, 0x43, 0x31, 0xe6, 0x60, 0xaa, 0x1f, 0x63, 0x75, 0x6d, 0x75, 0xbd, 0xba, 0x24, 0xcd, + 0x56, 0xa4, 0x5b, 0xb7, 0x67, 0x0b, 0x42, 0x19, 0x12, 0x78, 0x7f, 0x66, 0x6f, 0x55, 0xb4, 0xf3, + 0xa3, 0x99, 0x50, 0x2e, 0x8f, 0xc5, 0x11, 0x96, 0x66, 0x6b, 0x9d, 0xc3, 0x86, 0x3b, 0x11, 0xc7, + 0xb9, 0xf2, 0x2b, 0x71, 0x28, 0x7b, 0xce, 0xf4, 0x1a, 0xed, 0x01, 0x3d, 0x1e, 0xcc, 0xc3, 0xe4, + 0x87, 0x9a, 0x31, 0x06, 0x2d, 0xd2, 0x34, 0xef, 0x80, 0xac, 0x70, 0xca, 0xb8, 0xba, 0x98, 0xed, + 0xc7, 0x6b, 0x70, 0x08, 0x8e, 0xea, 0x61, 0xa0, 0x67, 0x21, 0xe7, 0x29, 0x0f, 0xef, 0x89, 0x9d, + 0xe1, 0xda, 0x86, 0xe3, 0xfb, 0x38, 0xe8, 0x69, 0x3f, 0x6c, 0x48, 0x0e, 0x0b, 0x44, 0xae, 0x31, + 0x00, 0x8e, 0x2c, 0xe0, 0xe5, 0x45, 0xbe, 0xed, 0xf8, 0xec, 0xe9, 0xf3, 0x04, 0x7b, 0x2a, 0x8b, + 0xa4, 0x98, 0x57, 0x92, 0xed, 0x68, 0x7b, 0x35, 0x1a, 0x4c, 0x1d, 0x85, 0x0c, 0x69, 0xdc, 0xe1, + 0x5f, 0x5f, 0x27, 0x94, 0x74, 0x47, 0xdb, 0xbb, 0xa4, 0x39, 0x57, 0x92, 0xd9, 0x84, 0x94, 0x94, + 0x3f, 0x11, 0x83, 0x52, 0x78, 0x8e, 0xe8, 0x21, 0x40, 0x04, 0x43, 0xdb, 0xc1, 0x2a, 0x51, 0x31, + 0x94, 0x59, 0x82, 0x6e, 0xb9, 0xa3, 0xed, 0x55, 0x77, 0xf0, 0x4a, 0xb7, 0x43, 0x07, 0xe0, 0xa0, + 0x65, 0x90, 0x04, 0xb0, 0x58, 0x27, 0xce, 0xcc, 0x63, 0xfd, 0x0f, 0xee, 0x71, 0x00, 0x66, 0xa8, + 0x3e, 0x40, 0x0c, 0x55, 0x89, 0xd1, 0xf3, 0x8e, 0xe3, 0x43, 0x53, 0x49, 0x84, 0xa7, 0x22, 0x3f, + 0x0b, 0xe5, 0x1e, 0x7e, 0x22, 0x19, 0x8a, 0x3c, 0x2b, 0x40, 0x8f, 0x3a, 0x99, 0x7f, 0x9c, 0x53, + 0xf2, 0x2c, 0xfa, 0xa7, 0x47, 0xbf, 0xf3, 0xd9, 0xcf, 0xbd, 0x3a, 0x13, 0xa3, 0x09, 0xf3, 0x87, + 0xa0, 0x18, 0xe2, 0xa8, 0xc8, 0xd4, 0xc5, 0xfc, 0x4c, 0x9d, 0x0f, 0xfc, 0x22, 0x14, 0x88, 0xa2, + 0xc4, 0x2d, 0x0e, 0xfb, 0x20, 0x94, 0x99, 0x22, 0xef, 0xe5, 0x35, 0xf3, 0xa4, 0x96, 0x05, 0xc3, + 0x65, 0xe1, 0x5a, 0x85, 0xd9, 0x9e, 0x17, 0x50, 0x97, 0x34, 0xa7, 0xf6, 0xae, 0x8f, 0xbf, 0x3e, + 0x1d, 0x7b, 0x6b, 0x36, 0xe2, 0x97, 0xde, 0x05, 0xc7, 0x03, 0x8d, 0xda, 0x56, 0x53, 0x0f, 0x65, + 0x1d, 0xca, 0x01, 0x21, 0x23, 0x8d, 0x51, 0xd9, 0x83, 0x03, 0x73, 0x18, 0x07, 0x27, 0xcc, 0x2a, + 0x07, 0x6b, 0x84, 0xe8, 0xc4, 0xc6, 0xe0, 0x1c, 0xe5, 0xff, 0xcd, 0x42, 0x46, 0xc1, 0xef, 0xe9, + 0x62, 0xc7, 0x45, 0x67, 0x21, 0x89, 0x9b, 0xbb, 0xe6, 0xa0, 0x94, 0x10, 0x99, 0xdc, 0x1c, 0x87, + 0x6b, 0x34, 0x77, 0xcd, 0xcb, 0x63, 0x0a, 0x85, 0x45, 0xe7, 0x20, 0xb5, 0xdd, 0xee, 0xf2, 0x3c, + 0x45, 0x8f, 0xb2, 0x08, 0x22, 0x5d, 0x24, 0x40, 0x97, 0xc7, 0x14, 0x06, 0x4d, 0xba, 0xa2, 0x4f, + 0x97, 0x26, 0x0e, 0xee, 0x6a, 0xd1, 0xd8, 0xa6, 0x5d, 0x11, 0x58, 0x54, 0x03, 0xd0, 0x0d, 0xdd, + 0x55, 0x69, 0x0c, 0xcf, 0x3d, 0xc1, 0x7b, 0x87, 0x63, 0xea, 0x2e, 0x8d, 0xfa, 0x2f, 0x8f, 0x29, + 0x39, 0x5d, 0x14, 0xc8, 0x70, 0xdf, 0xd3, 0xc5, 0xf6, 0x3e, 0x77, 0x00, 0x87, 0x0e, 0xf7, 0x5d, + 0x04, 0x88, 0x0c, 0x97, 0x42, 0xa3, 0x06, 0xe4, 0xe9, 0x37, 0xaa, 0x6c, 0xff, 0xf2, 0x67, 0x34, + 0xe5, 0x61, 0xc8, 0x35, 0x02, 0x4a, 0xb7, 0xf4, 0xe5, 0x31, 0x05, 0xb6, 0xbc, 0x12, 0x51, 0x92, + 0xec, 0x99, 0x25, 0x77, 0x8f, 0x3f, 0x1e, 0x38, 0x33, 0x8c, 0x06, 0x7d, 0x6b, 0x69, 0x63, 0xef, + 0xf2, 0x98, 0x92, 0x69, 0xb2, 0x9f, 0x64, 0xfe, 0x2d, 0xdc, 0xd6, 0x6f, 0x60, 0x9b, 0xe0, 0xe7, + 0x0e, 0x9e, 0xff, 0x02, 0x83, 0xa4, 0x14, 0x72, 0x2d, 0x51, 0x20, 0x8a, 0x16, 0x1b, 0x2d, 0x3e, + 0x0d, 0xe8, 0xd7, 0xd3, 0xa1, 0x75, 0x36, 0x5a, 0x62, 0x12, 0x59, 0xcc, 0x7f, 0xa3, 0xa7, 0x3c, + 0x0f, 0x35, 0xdf, 0xef, 0x14, 0x86, 0x26, 0xc0, 0x72, 0x15, 0x63, 0xc2, 0x53, 0x45, 0x2b, 0x50, + 0x6a, 0xeb, 0x8e, 0xab, 0x3a, 0x86, 0x66, 0x39, 0xbb, 0xa6, 0xeb, 0xd0, 0xa0, 0x3f, 0x7f, 0xf6, + 0x81, 0x61, 0x14, 0x96, 0x74, 0xc7, 0x5d, 0x17, 0xc0, 0x97, 0xc7, 0x94, 0x62, 0x3b, 0x58, 0x41, + 0xe8, 0x99, 0xdb, 0xdb, 0xd8, 0xf6, 0x08, 0xd2, 0xe4, 0xc0, 0x01, 0xf4, 0x56, 0x09, 0xb4, 0xc0, + 0x27, 0xf4, 0xcc, 0x60, 0x05, 0xfa, 0x5e, 0x98, 0x68, 0x9b, 0x5a, 0xcb, 0x23, 0xa7, 0x36, 0x77, + 0xbb, 0xc6, 0x75, 0x9a, 0x49, 0xc8, 0x9f, 0x3d, 0x35, 0x74, 0x90, 0xa6, 0xd6, 0x12, 0x24, 0xea, + 0x04, 0xe1, 0xf2, 0x98, 0x32, 0xde, 0xee, 0xad, 0x44, 0xef, 0x86, 0x49, 0xcd, 0xb2, 0xda, 0xfb, + 0xbd, 0xd4, 0xcb, 0x94, 0xfa, 0xe9, 0x61, 0xd4, 0xab, 0x04, 0xa7, 0x97, 0x3c, 0xd2, 0xfa, 0x6a, + 0xd1, 0x06, 0x48, 0x96, 0x8d, 0xe9, 0x47, 0x35, 0x16, 0x77, 0x55, 0xe8, 0xcb, 0x58, 0xf9, 0xb3, + 0x27, 0x86, 0xd1, 0x5e, 0x63, 0xf0, 0xc2, 0xb3, 0xb9, 0x3c, 0xa6, 0x94, 0xad, 0x70, 0x15, 0xa3, + 0x6a, 0x36, 0x31, 0x7d, 0xbd, 0x89, 0x53, 0x1d, 0x8f, 0xa2, 0x4a, 0xe1, 0xc3, 0x54, 0x43, 0x55, + 0xb5, 0x0c, 0xbf, 0x14, 0xc7, 0x9f, 0x56, 0x39, 0x01, 0xf9, 0x80, 0x62, 0x41, 0x53, 0x90, 0xe1, + 0x97, 0x04, 0xc4, 0x65, 0x3a, 0x5e, 0x94, 0x4b, 0x50, 0x08, 0x2a, 0x13, 0xf9, 0xfd, 0x31, 0x0f, + 0x93, 0x7e, 0xeb, 0x3e, 0x15, 0x4e, 0x1d, 0xe6, 0xfc, 0xac, 0xe0, 0x7d, 0xc2, 0x8a, 0x88, 0x76, + 0x76, 0x9a, 0x54, 0xa0, 0x95, 0xdc, 0x88, 0xa1, 0x19, 0xc8, 0x5b, 0x67, 0x2d, 0x0f, 0x24, 0x41, + 0x41, 0xc0, 0x3a, 0x6b, 0x09, 0x80, 0x7b, 0xa1, 0x40, 0x66, 0xaa, 0x06, 0x1d, 0x8d, 0x9c, 0x92, + 0x27, 0x75, 0x1c, 0x44, 0xfe, 0x37, 0x71, 0x90, 0x7a, 0x15, 0x90, 0x97, 0x53, 0x8c, 0x1d, 0x3a, + 0xa7, 0x78, 0xac, 0x37, 0x9b, 0xe9, 0x27, 0x30, 0x97, 0x40, 0xf2, 0xf3, 0x70, 0xcc, 0x10, 0x0c, + 0x77, 0x9c, 0x7a, 0x3c, 0x3c, 0xa5, 0xdc, 0xec, 0x71, 0xf9, 0x2e, 0x86, 0xce, 0x5e, 0xc4, 0xdb, + 0xdc, 0xbd, 0x4b, 0xec, 0xf9, 0x0b, 0x9b, 0x56, 0x4b, 0x73, 0xb1, 0xc8, 0x8b, 0x04, 0x8e, 0x61, + 0x1e, 0x84, 0xb2, 0x66, 0x59, 0xaa, 0xe3, 0x6a, 0x2e, 0xe6, 0x66, 0x3d, 0xc5, 0xd2, 0x83, 0x9a, + 0x65, 0xad, 0x93, 0x5a, 0x66, 0xd6, 0x1f, 0x80, 0x12, 0xd1, 0xc9, 0xba, 0xd6, 0x56, 0x79, 0x96, + 0x20, 0xcd, 0xac, 0x3f, 0xaf, 0xbd, 0x4c, 0x2b, 0xe5, 0x96, 0xb7, 0xe2, 0x54, 0x1f, 0x7b, 0x61, + 0x56, 0x2c, 0x10, 0x66, 0x21, 0xfe, 0x08, 0x01, 0xe3, 0x8f, 0x78, 0xb7, 0x61, 0x70, 0x76, 0x77, + 0x92, 0x86, 0x64, 0x37, 0x58, 0xc2, 0x23, 0xab, 0xb0, 0x82, 0xfc, 0xde, 0x38, 0x8c, 0xf7, 0x69, + 0xee, 0x81, 0x69, 0x6f, 0x3f, 0xbe, 0x8c, 0x1f, 0x2a, 0xbe, 0xbc, 0x1a, 0x4e, 0xeb, 0x06, 0x2c, + 0xdf, 0xf1, 0x3e, 0x26, 0x33, 0xbd, 0x49, 0x04, 0x9a, 0x13, 0x09, 0x64, 0x7e, 0xa9, 0x98, 0x6f, + 0xc2, 0xe4, 0xd6, 0xfe, 0xcb, 0x9a, 0xe1, 0xea, 0x06, 0x56, 0xfb, 0x56, 0xad, 0xdf, 0x94, 0x2e, + 0xeb, 0xce, 0x16, 0xde, 0xd5, 0x6e, 0xe8, 0xa6, 0x18, 0xd6, 0x84, 0x87, 0xef, 0x27, 0x77, 0x65, + 0x05, 0x4a, 0x61, 0xd3, 0x83, 0x4a, 0x10, 0x77, 0xf7, 0xf8, 0xfc, 0xe3, 0xee, 0x1e, 0x7a, 0x94, + 0xe7, 0x81, 0xe2, 0x34, 0x0f, 0xd4, 0xdf, 0x11, 0xc7, 0xf3, 0x93, 0x40, 0xb2, 0xec, 0xed, 0x06, + 0xcf, 0x1c, 0xf5, 0x52, 0x95, 0x4f, 0x41, 0xb9, 0xc7, 0xde, 0x0c, 0xcb, 0x0a, 0xca, 0x65, 0x28, + 0x86, 0x8c, 0x8b, 0x7c, 0x04, 0x26, 0x07, 0xd9, 0x0a, 0x79, 0xd7, 0xab, 0x0f, 0xe9, 0x7c, 0x74, + 0x0e, 0xb2, 0x9e, 0xb1, 0x18, 0x90, 0x85, 0xa0, 0xb3, 0x10, 0xc0, 0x8a, 0x07, 0x1a, 0x4a, 0x66, + 0xc7, 0x43, 0xc9, 0x6c, 0xf9, 0x07, 0x60, 0x6a, 0x98, 0x21, 0xe8, 0x99, 0x46, 0xd2, 0x93, 0xc2, + 0x23, 0x90, 0xe6, 0x4f, 0xb4, 0xc5, 0xe9, 0xf1, 0x0d, 0x2f, 0x11, 0xe9, 0x64, 0x46, 0x21, 0xc1, + 0x4e, 0x75, 0x68, 0x41, 0x56, 0xe1, 0xd8, 0x50, 0x63, 0x30, 0xfc, 0x20, 0x88, 0x11, 0xe2, 0x07, + 0x41, 0x4d, 0x31, 0x1c, 0x87, 0xce, 0x55, 0x5c, 0x76, 0x60, 0x25, 0xf9, 0x03, 0x09, 0x38, 0x32, + 0xd8, 0x24, 0xa0, 0x59, 0x28, 0x10, 0xbf, 0xdb, 0x0d, 0xbb, 0xe8, 0xd0, 0xd1, 0xf6, 0x36, 0xb8, + 0x7f, 0xce, 0x13, 0xe9, 0x71, 0x2f, 0x91, 0x8e, 0x36, 0x61, 0xbc, 0x6d, 0x36, 0xb5, 0xb6, 0x1a, + 0x90, 0x78, 0x2e, 0xec, 0xf7, 0xf5, 0x31, 0xbb, 0xc1, 0x1e, 0x6e, 0x6e, 0xf5, 0x09, 0x7d, 0x99, + 0xd2, 0x58, 0xf2, 0x24, 0x1f, 0x2d, 0x40, 0xbe, 0xe3, 0x0b, 0xf2, 0x21, 0x84, 0x3d, 0x88, 0x16, + 0x58, 0x92, 0xd4, 0xc0, 0x63, 0x9f, 0xf4, 0xa1, 0x55, 0xf4, 0xb0, 0x13, 0x94, 0xcc, 0xd0, 0x13, + 0x94, 0x41, 0xc7, 0x15, 0xd9, 0xc1, 0xc7, 0x15, 0xef, 0x0b, 0x2e, 0x4d, 0xc8, 0x88, 0xf6, 0x9f, + 0x60, 0xa0, 0x75, 0x98, 0xe4, 0xf8, 0xad, 0x10, 0xef, 0xe3, 0xa3, 0x2a, 0x1a, 0x24, 0xd0, 0x87, + 0xb3, 0x3d, 0x71, 0x67, 0x6c, 0x17, 0xba, 0x34, 0x19, 0xd0, 0xa5, 0xff, 0x9f, 0x2d, 0xc5, 0xbf, + 0xcb, 0x41, 0x56, 0xc1, 0x8e, 0x45, 0x0c, 0x27, 0xaa, 0x41, 0x0e, 0xef, 0x35, 0xb1, 0xe5, 0xfa, + 0xc7, 0x94, 0x83, 0x82, 0x01, 0x06, 0xdd, 0x10, 0x90, 0xc4, 0x13, 0xf7, 0xd0, 0xd0, 0xe3, 0x3c, + 0xd8, 0x1a, 0x1e, 0x37, 0x71, 0xf4, 0x60, 0xb4, 0x75, 0x5e, 0x44, 0x5b, 0x89, 0xa1, 0xce, 0x37, + 0xc3, 0xea, 0x09, 0xb7, 0x1e, 0xe7, 0xe1, 0x56, 0x32, 0xa2, 0xb3, 0x50, 0xbc, 0x55, 0x0f, 0xc5, + 0x5b, 0xe9, 0x88, 0x69, 0x0e, 0x09, 0xb8, 0xce, 0x8b, 0x80, 0x2b, 0x13, 0x31, 0xe2, 0x9e, 0x88, + 0xeb, 0x62, 0x38, 0xe2, 0xca, 0x0e, 0x51, 0x20, 0x02, 0x7b, 0x68, 0xc8, 0xf5, 0x4c, 0x20, 0xe4, + 0xca, 0x0d, 0x8d, 0x77, 0x18, 0x91, 0x01, 0x31, 0x57, 0x3d, 0x14, 0x73, 0x41, 0x04, 0x0f, 0x86, + 0x04, 0x5d, 0xdf, 0x13, 0x0c, 0xba, 0xf2, 0x43, 0xe3, 0x36, 0xbe, 0xde, 0x83, 0xa2, 0xae, 0xa7, + 0xbd, 0xa8, 0xab, 0x30, 0x34, 0x6c, 0xe4, 0x73, 0xe8, 0x0d, 0xbb, 0x56, 0xfb, 0xc2, 0xae, 0x22, + 0xff, 0x9b, 0x08, 0xc3, 0x48, 0x44, 0xc4, 0x5d, 0xab, 0x7d, 0x71, 0x57, 0x29, 0x82, 0x60, 0x44, + 0xe0, 0xf5, 0x7d, 0x83, 0x03, 0xaf, 0xe1, 0xa1, 0x11, 0x1f, 0xe6, 0x68, 0x91, 0x97, 0x3a, 0x24, + 0xf2, 0x62, 0xd1, 0xd1, 0x43, 0x43, 0xc9, 0x8f, 0x1c, 0x7a, 0x6d, 0x0e, 0x08, 0xbd, 0x58, 0x90, + 0x74, 0x72, 0x28, 0xf1, 0x11, 0x62, 0xaf, 0xcd, 0x01, 0xb1, 0x17, 0x8a, 0x24, 0x7b, 0x98, 0xe0, + 0x2b, 0x25, 0xa5, 0xe5, 0x53, 0xc4, 0xf5, 0xed, 0xd1, 0x53, 0xc4, 0x7f, 0xc0, 0xb6, 0x6d, 0xda, + 0xe2, 0x66, 0x2d, 0x2d, 0xc8, 0x27, 0x89, 0x33, 0xee, 0xeb, 0xa4, 0x03, 0x02, 0x35, 0xea, 0xa7, + 0x05, 0xf4, 0x90, 0xfc, 0xb9, 0x98, 0x8f, 0x4b, 0x7d, 0xd8, 0xa0, 0x23, 0x9f, 0xe3, 0x8e, 0x7c, + 0x20, 0x7c, 0x8b, 0x87, 0xc3, 0xb7, 0x19, 0xc8, 0x13, 0xff, 0xab, 0x27, 0x32, 0xd3, 0x2c, 0x2f, + 0x32, 0x13, 0x57, 0x0a, 0x58, 0x90, 0xc7, 0xcd, 0x0a, 0x3b, 0xc9, 0x29, 0x7b, 0xd7, 0x2b, 0x58, + 0x4c, 0x81, 0x1e, 0x81, 0x89, 0x00, 0xac, 0xe7, 0xd7, 0xb1, 0x30, 0x45, 0xf2, 0xa0, 0xab, 0xdc, + 0xc1, 0xfb, 0xe7, 0x31, 0x9f, 0x43, 0x7e, 0x48, 0x37, 0x28, 0xfa, 0x8a, 0xbd, 0x49, 0xd1, 0x57, + 0xfc, 0x8e, 0xa3, 0xaf, 0xa0, 0x9f, 0x9a, 0x08, 0xfb, 0xa9, 0x7f, 0x1e, 0xf3, 0xd7, 0xc4, 0x8b, + 0xa5, 0x9a, 0x66, 0x0b, 0x73, 0xcf, 0x91, 0xfe, 0x26, 0x4e, 0x45, 0xdb, 0xdc, 0xe1, 0xfe, 0x21, + 0xf9, 0x49, 0xa0, 0x3c, 0xc3, 0x91, 0xe3, 0x76, 0xc1, 0x73, 0x3a, 0x53, 0xc1, 0xfb, 0xbf, 0xfc, + 0x52, 0x6c, 0xda, 0xbf, 0x14, 0xeb, 0x7d, 0xfc, 0x96, 0x09, 0x7c, 0xfc, 0x86, 0x9e, 0x82, 0x1c, + 0xcd, 0x88, 0xaa, 0xa6, 0x25, 0xfe, 0x82, 0xc6, 0xf1, 0xe1, 0x17, 0x62, 0x1d, 0x7a, 0x55, 0x8f, + 0x5d, 0xa2, 0xf5, 0x3d, 0x86, 0x5c, 0xc8, 0x63, 0xb8, 0x1b, 0x72, 0x64, 0xf4, 0xec, 0x25, 0x68, + 0xe0, 0x5f, 0x4e, 0x8a, 0x0a, 0xf9, 0xdd, 0x80, 0xfa, 0x8d, 0x04, 0xba, 0x0c, 0x69, 0x7c, 0x83, + 0x3e, 0xab, 0xc7, 0x2e, 0x1a, 0x1e, 0xe9, 0x77, 0x4d, 0x49, 0x73, 0x6d, 0x8a, 0x30, 0xf9, 0xeb, + 0xaf, 0xcd, 0x48, 0x0c, 0xfa, 0x61, 0xef, 0x43, 0x01, 0x85, 0xe3, 0xcb, 0xff, 0x29, 0x4e, 0x02, + 0x98, 0x90, 0x01, 0x19, 0xc8, 0xdb, 0x41, 0x47, 0x84, 0xa3, 0xf1, 0x7b, 0x1a, 0x60, 0x47, 0x73, + 0xd4, 0x9b, 0x9a, 0xe1, 0xe2, 0x16, 0x67, 0x7a, 0xa0, 0x06, 0x55, 0x20, 0x4b, 0x4a, 0x5d, 0x07, + 0xb7, 0x78, 0x18, 0xed, 0x95, 0x03, 0xf3, 0xcc, 0x7c, 0x67, 0xf3, 0x0c, 0x73, 0x39, 0xdb, 0xc3, + 0xe5, 0x40, 0x70, 0x91, 0x0b, 0x06, 0x17, 0xec, 0x62, 0x30, 0xbf, 0x9f, 0x08, 0x6c, 0x6c, 0xa2, + 0x8c, 0xee, 0x83, 0x62, 0x07, 0x77, 0x2c, 0xd3, 0x6c, 0xab, 0x4c, 0xdd, 0xb0, 0x27, 0xdf, 0x0b, + 0xbc, 0xb2, 0x41, 0xb5, 0xce, 0x8f, 0xc4, 0xfd, 0xfd, 0xe7, 0x07, 0x91, 0xdf, 0x75, 0x0c, 0x96, + 0x7f, 0x9c, 0x66, 0x96, 0xc2, 0x2e, 0x02, 0x5a, 0x0f, 0xde, 0x1a, 0xe9, 0x52, 0xb5, 0x20, 0x04, + 0x7a, 0x54, 0xfd, 0xe1, 0xdf, 0x2e, 0x61, 0xd5, 0x0e, 0x7a, 0x01, 0x8e, 0xf6, 0xe8, 0x36, 0x8f, + 0x74, 0x7c, 0x54, 0x15, 0x77, 0x57, 0x58, 0xc5, 0x09, 0xd2, 0x3e, 0xb3, 0x12, 0xdf, 0xe1, 0xae, + 0x5b, 0x84, 0x52, 0xd8, 0xe3, 0x19, 0xb8, 0xfc, 0xf4, 0x4f, 0x8c, 0xb8, 0x9a, 0x6e, 0xa8, 0xa1, + 0x74, 0x50, 0x81, 0x55, 0xf2, 0x24, 0xd3, 0x1a, 0xdc, 0x35, 0xd0, 0xf3, 0x41, 0x4f, 0x42, 0xce, + 0x77, 0x9a, 0x18, 0x57, 0x0f, 0x48, 0x17, 0xf8, 0xb0, 0xf2, 0x6f, 0xc5, 0x7c, 0x92, 0xe1, 0x04, + 0x44, 0x03, 0xd2, 0xec, 0xda, 0x1b, 0xbf, 0x4c, 0xf3, 0xc8, 0x68, 0x3e, 0xd3, 0x1c, 0xbb, 0x13, + 0xa7, 0x70, 0x64, 0xf9, 0xdd, 0x90, 0x66, 0x35, 0x28, 0x0f, 0x19, 0xff, 0xe5, 0x5b, 0x80, 0x74, + 0xb5, 0x5e, 0x6f, 0xac, 0x6d, 0x48, 0x31, 0x94, 0x83, 0x54, 0xb5, 0xb6, 0xaa, 0x6c, 0x48, 0x71, + 0x52, 0xad, 0x34, 0xae, 0x34, 0xea, 0x1b, 0x52, 0x02, 0x8d, 0x43, 0x91, 0xfd, 0x56, 0x2f, 0xae, + 0x2a, 0xcb, 0xd5, 0x0d, 0x29, 0x19, 0xa8, 0x5a, 0x6f, 0xac, 0x2c, 0x34, 0x14, 0x29, 0x25, 0x3f, + 0x06, 0xc7, 0x86, 0x7a, 0x59, 0x7e, 0x76, 0x21, 0x16, 0xc8, 0x2e, 0xc8, 0x1f, 0x88, 0x43, 0x65, + 0xb8, 0xeb, 0x84, 0xae, 0xf4, 0x4c, 0xfc, 0xec, 0x21, 0xfc, 0xae, 0x9e, 0xd9, 0xa3, 0x07, 0xa0, + 0x64, 0xe3, 0x6d, 0xec, 0x36, 0x77, 0x99, 0x2b, 0xc7, 0x4c, 0x66, 0x51, 0x29, 0xf2, 0x5a, 0x8a, + 0xe4, 0x30, 0xb0, 0x97, 0x70, 0xd3, 0x55, 0x99, 0x2e, 0x72, 0xf8, 0xdf, 0x3a, 0x2c, 0xb2, 0xda, + 0x75, 0x56, 0x29, 0xff, 0xc0, 0xa1, 0x78, 0x99, 0x83, 0x94, 0xd2, 0xd8, 0x50, 0x5e, 0x90, 0x12, + 0x08, 0x41, 0x89, 0xfe, 0x54, 0xd7, 0x57, 0xaa, 0x6b, 0xeb, 0x97, 0x57, 0x09, 0x2f, 0x27, 0xa0, + 0x2c, 0x78, 0x29, 0x2a, 0x53, 0xf2, 0x43, 0x70, 0x74, 0x88, 0xdf, 0x37, 0xe0, 0x1e, 0xe2, 0x87, + 0x63, 0x41, 0xe8, 0x70, 0xcc, 0xbf, 0x0a, 0x69, 0xc7, 0xd5, 0xdc, 0xae, 0xc3, 0x99, 0xf8, 0xe4, + 0xa8, 0x8e, 0xe0, 0x9c, 0xf8, 0xb1, 0x4e, 0xd1, 0x15, 0x4e, 0x46, 0x3e, 0x07, 0xa5, 0x70, 0xcb, + 0x70, 0x1e, 0xf8, 0x42, 0x14, 0x97, 0x5f, 0x00, 0x08, 0xe4, 0x23, 0xbd, 0x1b, 0x5d, 0xb1, 0xe0, + 0x8d, 0xae, 0x73, 0x90, 0xba, 0x61, 0x32, 0x9d, 0x31, 0x78, 0xe3, 0x5c, 0x33, 0x5d, 0x1c, 0x48, + 0x3e, 0x30, 0x68, 0x59, 0x07, 0xd4, 0x9f, 0x13, 0x1a, 0xd2, 0xc5, 0x33, 0xe1, 0x2e, 0xee, 0x1d, + 0x9a, 0x5d, 0x1a, 0xdc, 0xd5, 0xcb, 0x90, 0xa2, 0xda, 0x66, 0xe0, 0x27, 0x3e, 0xdf, 0x0f, 0xa0, + 0xb9, 0xae, 0xad, 0x6f, 0x75, 0xfd, 0x0e, 0x66, 0x06, 0x6b, 0xab, 0xaa, 0x80, 0xab, 0xdd, 0xcd, + 0xd5, 0xd6, 0xa4, 0x8f, 0x1a, 0x50, 0x5d, 0x01, 0x82, 0xf2, 0x0a, 0x94, 0xc2, 0xb8, 0x83, 0x3f, + 0x59, 0xf2, 0xdf, 0x0e, 0xc8, 0x09, 0xf7, 0xc9, 0x73, 0xbe, 0xf8, 0x7b, 0x1e, 0xb4, 0x20, 0xdf, + 0x8a, 0x41, 0x76, 0x63, 0x8f, 0xcb, 0xf1, 0x01, 0x97, 0x2a, 0xfd, 0xef, 0xb6, 0xbc, 0x64, 0x21, + 0xcb, 0xc7, 0x26, 0xbc, 0x2c, 0xef, 0xf7, 0x78, 0x3b, 0x35, 0x39, 0x6a, 0xb4, 0x2b, 0xb2, 0xdd, + 0x5c, 0x3b, 0x5d, 0x18, 0xed, 0x1b, 0x89, 0x49, 0x48, 0x05, 0xbf, 0x6f, 0x60, 0x05, 0xb9, 0x15, + 0xb8, 0x96, 0xc0, 0xcc, 0x46, 0xf0, 0x63, 0x8a, 0xd8, 0xa1, 0x3f, 0xa6, 0xf0, 0x7a, 0x89, 0x07, + 0x7b, 0xb9, 0x01, 0x59, 0x21, 0x14, 0xe8, 0x9d, 0xc1, 0xbb, 0x27, 0xe2, 0x8c, 0x66, 0xa8, 0xf1, + 0xe4, 0xe4, 0x03, 0x57, 0x4f, 0x4e, 0xc3, 0x38, 0xbf, 0x72, 0xe7, 0xc7, 0x15, 0xfc, 0x6d, 0xfe, + 0x32, 0x6b, 0x58, 0x12, 0x41, 0x85, 0xfc, 0xcb, 0x31, 0x90, 0x7a, 0xa5, 0xf2, 0xed, 0x1c, 0x00, + 0x51, 0x8a, 0x44, 0xfa, 0x03, 0x8f, 0x6e, 0xb3, 0x95, 0x2f, 0x92, 0x5a, 0xff, 0xd9, 0xed, 0xf7, + 0xc6, 0x21, 0x1f, 0xc8, 0xe9, 0xa1, 0x27, 0x42, 0x57, 0x40, 0x67, 0x0f, 0xca, 0xff, 0x05, 0xee, + 0x80, 0x86, 0x26, 0x16, 0x3f, 0xfc, 0xc4, 0xde, 0xfc, 0x4b, 0xfa, 0x83, 0xbf, 0xf6, 0x49, 0x0d, + 0xf9, 0xda, 0xe7, 0x87, 0x62, 0x90, 0xf5, 0x4c, 0xf7, 0x61, 0xb3, 0xf9, 0x47, 0x20, 0xcd, 0xad, + 0x13, 0x4b, 0xe7, 0xf3, 0xd2, 0xc0, 0x5c, 0x68, 0x05, 0xb2, 0xe2, 0x8f, 0xda, 0xf0, 0x40, 0xd4, + 0x2b, 0x9f, 0x7e, 0x1a, 0xf2, 0x81, 0x83, 0x15, 0xa2, 0x27, 0x56, 0x1a, 0xcf, 0x49, 0x63, 0x95, + 0xcc, 0xad, 0xdb, 0xb3, 0x89, 0x15, 0x7c, 0x93, 0xec, 0x30, 0xa5, 0x51, 0xbf, 0xdc, 0xa8, 0x5f, + 0x95, 0x62, 0x95, 0xfc, 0xad, 0xdb, 0xb3, 0x19, 0x05, 0xd3, 0xf4, 0xd5, 0xe9, 0xab, 0x50, 0xee, + 0x59, 0x98, 0xb0, 0x7e, 0x47, 0x50, 0x5a, 0xd8, 0x5c, 0x5b, 0x5a, 0xac, 0x57, 0x37, 0x1a, 0x2a, + 0xbb, 0x4e, 0x87, 0x8e, 0xc2, 0xc4, 0xd2, 0xe2, 0xa5, 0xcb, 0x1b, 0x6a, 0x7d, 0x69, 0xb1, 0xb1, + 0xb2, 0xa1, 0x56, 0x37, 0x36, 0xaa, 0xf5, 0xab, 0x52, 0xfc, 0xec, 0xb7, 0x01, 0xca, 0xd5, 0x5a, + 0x7d, 0x91, 0xd8, 0x67, 0x9d, 0xbf, 0x9b, 0x5e, 0x87, 0x24, 0x4d, 0x05, 0x1c, 0x78, 0x55, 0xa4, + 0x72, 0x70, 0x6e, 0x13, 0x5d, 0x84, 0x14, 0xcd, 0x12, 0xa0, 0x83, 0xef, 0x8e, 0x54, 0x22, 0x92, + 0x9d, 0x64, 0x30, 0x74, 0x3b, 0x1d, 0x78, 0x99, 0xa4, 0x72, 0x70, 0xee, 0x13, 0x29, 0x90, 0xf3, + 0xa3, 0x8c, 0xe8, 0xcb, 0x15, 0x95, 0x11, 0xb4, 0x23, 0x5a, 0x82, 0x8c, 0x08, 0x0c, 0xa3, 0xae, + 0x7b, 0x54, 0x22, 0x93, 0x93, 0x84, 0x5d, 0x2c, 0x80, 0x3f, 0xf8, 0xee, 0x4a, 0x25, 0x22, 0xd3, + 0x8a, 0x16, 0xbd, 0x4b, 0xf8, 0x11, 0x57, 0x38, 0x2a, 0x51, 0xc9, 0x46, 0xc2, 0x34, 0x3f, 0x35, + 0x12, 0x7d, 0x23, 0xa7, 0x32, 0x42, 0x12, 0x19, 0x6d, 0x02, 0x04, 0xc2, 0xf5, 0x11, 0xae, 0xda, + 0x54, 0x46, 0x49, 0x0e, 0xa3, 0x55, 0xc8, 0x7a, 0xd1, 0x53, 0xe4, 0xc5, 0x97, 0x4a, 0x74, 0x96, + 0x16, 0xbd, 0x1b, 0x8a, 0xe1, 0xa8, 0x61, 0xb4, 0xeb, 0x2c, 0x95, 0x11, 0xd3, 0xaf, 0x84, 0x7e, + 0x38, 0x84, 0x18, 0xed, 0x7a, 0x4b, 0x65, 0xc4, 0x6c, 0x2c, 0x7a, 0x09, 0xc6, 0xfb, 0x5d, 0xfc, + 0xd1, 0x6f, 0xbb, 0x54, 0x0e, 0x91, 0x9f, 0x45, 0x1d, 0x40, 0x03, 0x42, 0x83, 0x43, 0x5c, 0x7e, + 0xa9, 0x1c, 0x26, 0x5d, 0x8b, 0x5a, 0x50, 0xee, 0xf5, 0xb7, 0x47, 0xbd, 0x0c, 0x53, 0x19, 0x39, + 0x75, 0xcb, 0x7a, 0x09, 0xfb, 0xe9, 0xa3, 0x5e, 0x8e, 0xa9, 0x8c, 0x9c, 0xc9, 0xad, 0x55, 0x87, + 0xde, 0x6f, 0x3c, 0x71, 0xe0, 0xfd, 0x46, 0xff, 0xc6, 0xa2, 0x77, 0xa7, 0xf1, 0x5b, 0x4f, 0xc0, + 0xfd, 0xfc, 0x31, 0x01, 0xc7, 0xd5, 0xae, 0xeb, 0xc6, 0x8e, 0xf7, 0x3a, 0x04, 0x2f, 0xf3, 0xcb, + 0x8d, 0x47, 0xf8, 0x83, 0x05, 0xa2, 0x36, 0xe2, 0x8d, 0x88, 0xa1, 0x0f, 0x67, 0x45, 0x5d, 0x42, + 0x8e, 0xbe, 0xba, 0x78, 0xc0, 0xfb, 0x13, 0x11, 0xaf, 0x5c, 0x0c, 0x78, 0x9f, 0x22, 0xe2, 0x12, + 0xe6, 0x41, 0xf7, 0x3d, 0xe5, 0x9f, 0x89, 0x41, 0xe9, 0xb2, 0xee, 0xb8, 0xa6, 0xad, 0x37, 0xb5, + 0x36, 0xb5, 0x18, 0x17, 0x46, 0xfd, 0xc8, 0xa3, 0x96, 0x23, 0xce, 0x08, 0x7f, 0xd4, 0x82, 0x5f, + 0x0c, 0x59, 0x80, 0xf4, 0x0d, 0xad, 0xcd, 0x3e, 0xb1, 0x08, 0xbe, 0x5f, 0xd3, 0xcb, 0xf3, 0x80, + 0x97, 0x14, 0xa4, 0xc2, 0x70, 0xe5, 0xcf, 0xd2, 0x4b, 0xdc, 0x9d, 0x8e, 0xee, 0xb0, 0x3f, 0x3b, + 0xed, 0x62, 0x07, 0x6d, 0x42, 0xd2, 0xd6, 0x5c, 0x1e, 0xd4, 0xd4, 0xaa, 0xfc, 0x29, 0x8a, 0x07, + 0xa3, 0x1f, 0x94, 0x98, 0xeb, 0x7b, 0xad, 0x82, 0x75, 0x46, 0xc9, 0xa1, 0xef, 0x83, 0x6c, 0x47, + 0xdb, 0x53, 0x29, 0xe9, 0xf8, 0x9b, 0x45, 0x3a, 0xd3, 0xd1, 0xf6, 0xc8, 0xa8, 0x91, 0x0e, 0x65, + 0x42, 0xbd, 0xb9, 0xab, 0x19, 0x3b, 0x98, 0x75, 0x92, 0x78, 0xb3, 0x3a, 0x29, 0x76, 0xb4, 0xbd, + 0x3a, 0x25, 0x4c, 0xba, 0xe2, 0x8f, 0x7e, 0xfc, 0x76, 0x8c, 0x87, 0xb2, 0x94, 0x73, 0x48, 0x03, + 0xa9, 0xe9, 0x95, 0x68, 0xff, 0x22, 0xad, 0x7f, 0x62, 0xd8, 0xc2, 0xf4, 0xf0, 0xbd, 0x56, 0x24, + 0x23, 0xfd, 0xe2, 0x6b, 0x33, 0x31, 0xd6, 0x6b, 0xb9, 0xd9, 0xb3, 0x2e, 0x57, 0x20, 0xcf, 0xb2, + 0x69, 0x2a, 0x75, 0x61, 0xe3, 0x91, 0x2e, 0x6c, 0x51, 0xb8, 0xb0, 0x8c, 0x20, 0x30, 0x6c, 0xd2, + 0xce, 0xe7, 0xf0, 0xf1, 0x18, 0xe4, 0x17, 0x02, 0xcf, 0x55, 0x4d, 0x41, 0xa6, 0x63, 0x1a, 0xfa, + 0x75, 0x6c, 0x7b, 0xe7, 0x32, 0xac, 0x48, 0xdc, 0x4c, 0xf6, 0x67, 0x87, 0xdc, 0x7d, 0xf1, 0x12, + 0x83, 0x28, 0x13, 0xac, 0x9b, 0x78, 0xcb, 0xd1, 0x05, 0xcb, 0x15, 0x51, 0x44, 0xa7, 0x40, 0x72, + 0x70, 0xb3, 0x6b, 0xeb, 0xee, 0xbe, 0xda, 0x34, 0x0d, 0x57, 0x6b, 0xba, 0x3c, 0x7b, 0x5a, 0x16, + 0xf5, 0x75, 0x56, 0x4d, 0x88, 0xb4, 0xb0, 0xab, 0xe9, 0x6d, 0x76, 0xed, 0x2b, 0xa7, 0x88, 0x22, + 0x1f, 0xea, 0x67, 0x33, 0xc1, 0xd0, 0xb0, 0x0e, 0x92, 0x69, 0x61, 0x3b, 0xf4, 0xc9, 0x1b, 0x13, + 0xd7, 0xa9, 0xdf, 0xfb, 0xf4, 0x23, 0x93, 0x9c, 0xe1, 0xfc, 0x00, 0x9e, 0xbd, 0xce, 0xac, 0x94, + 0x05, 0x86, 0xf8, 0x16, 0xee, 0x85, 0xd0, 0x49, 0x4c, 0x77, 0xcb, 0xff, 0xe4, 0x7e, 0xb2, 0x8f, + 0xa9, 0x55, 0x63, 0xbf, 0x36, 0xf5, 0xbb, 0x3e, 0x69, 0x3f, 0x74, 0xbc, 0x8a, 0xf7, 0x83, 0xc7, + 0x32, 0x94, 0x0c, 0xf1, 0xe0, 0x5f, 0xd2, 0xf4, 0xb6, 0xf8, 0x4b, 0x6a, 0x0a, 0x2f, 0xa1, 0x79, + 0x2f, 0x0d, 0xc3, 0xfe, 0x42, 0xba, 0x3c, 0x4c, 0x36, 0x6a, 0xa6, 0xd1, 0x0a, 0x67, 0x5c, 0xd0, + 0x06, 0xa4, 0x5d, 0xf3, 0x3a, 0x36, 0x38, 0x83, 0x6a, 0xef, 0x38, 0x84, 0x60, 0xf7, 0xbf, 0x3f, + 0xc3, 0x69, 0xa1, 0x1d, 0x90, 0x5a, 0xb8, 0x8d, 0x77, 0xd8, 0x07, 0x5b, 0xbb, 0x9a, 0x8d, 0xd9, + 0x47, 0x9c, 0x87, 0xa3, 0xdf, 0xff, 0x4c, 0x4d, 0xd9, 0xa3, 0xba, 0x4e, 0x89, 0xa2, 0xb5, 0xf0, + 0x63, 0x69, 0x19, 0x7e, 0x2a, 0x3f, 0x64, 0xfe, 0x01, 0xa9, 0x0c, 0xaa, 0xad, 0xd0, 0xe3, 0x6a, + 0xa7, 0x40, 0xea, 0x1a, 0x5b, 0xa6, 0x41, 0xff, 0xe8, 0x11, 0x0f, 0xb0, 0xb2, 0xec, 0xe4, 0xce, + 0xab, 0xe7, 0x27, 0x77, 0x6b, 0x50, 0xf2, 0x41, 0xe9, 0xee, 0xc9, 0x1d, 0x76, 0xf7, 0x14, 0x3d, + 0x02, 0x04, 0x04, 0x2d, 0x03, 0xf8, 0xfb, 0xd3, 0x3b, 0xdd, 0x8f, 0xdc, 0xe9, 0xc1, 0xc9, 0x04, + 0x08, 0xa0, 0x36, 0x4c, 0x74, 0x74, 0x43, 0x75, 0x70, 0x7b, 0x5b, 0xe5, 0x9c, 0x23, 0x74, 0xf3, + 0x6f, 0xc2, 0x4a, 0x8f, 0x77, 0x74, 0x63, 0x1d, 0xb7, 0xb7, 0x17, 0x3c, 0xb2, 0xe8, 0x1d, 0x70, + 0xdc, 0x67, 0x87, 0x69, 0xa8, 0xbb, 0x66, 0xbb, 0xa5, 0xda, 0x78, 0x5b, 0x6d, 0xd2, 0xe7, 0x8f, + 0x0a, 0x94, 0x89, 0x47, 0x3d, 0x90, 0x55, 0xe3, 0xb2, 0xd9, 0x6e, 0x29, 0x78, 0xbb, 0x4e, 0x9a, + 0xd1, 0x7d, 0xe0, 0xf3, 0x42, 0xd5, 0x5b, 0xce, 0x54, 0x71, 0x36, 0x71, 0x32, 0xa9, 0x14, 0xbc, + 0xca, 0xc5, 0x96, 0x33, 0x9f, 0x7d, 0xdf, 0xab, 0x33, 0x63, 0x5f, 0x7b, 0x75, 0x66, 0x4c, 0xbe, + 0x48, 0x1f, 0xeb, 0xe0, 0x9b, 0x0e, 0x3b, 0xe8, 0x3c, 0xe4, 0x34, 0x51, 0x60, 0x9f, 0x89, 0x1c, + 0xb0, 0x69, 0x7d, 0x50, 0xf9, 0xd5, 0x18, 0xa4, 0x17, 0xae, 0xad, 0x69, 0xba, 0x8d, 0x1a, 0x30, + 0xee, 0x0b, 0xed, 0xa8, 0xfb, 0xdf, 0x97, 0x73, 0xa1, 0x00, 0x1a, 0xc3, 0xbe, 0x9c, 0x3d, 0x90, + 0x4c, 0xef, 0x37, 0xb5, 0x81, 0xa9, 0x5e, 0x81, 0x0c, 0x1b, 0xa1, 0x83, 0x9e, 0x85, 0x94, 0x45, + 0x7e, 0xf0, 0xec, 0xff, 0xf4, 0x50, 0x41, 0xa7, 0xf0, 0x41, 0xb1, 0x60, 0x78, 0xf2, 0x5f, 0xc4, + 0x00, 0x16, 0xae, 0x5d, 0xdb, 0xb0, 0x75, 0xab, 0x8d, 0xdd, 0x37, 0x6b, 0xca, 0x4b, 0x70, 0x57, + 0xe0, 0xfb, 0x4c, 0xbb, 0x39, 0xf2, 0xb4, 0x27, 0xfc, 0x2f, 0x34, 0xed, 0xe6, 0x40, 0x6a, 0x2d, + 0xc7, 0xf5, 0xa8, 0x25, 0x46, 0xa6, 0xb6, 0xe0, 0xb8, 0xfd, 0x7c, 0x7c, 0x1e, 0xf2, 0xfe, 0xd4, + 0x1d, 0xb4, 0x08, 0x59, 0x97, 0xff, 0xe6, 0xec, 0x94, 0x87, 0xb3, 0x53, 0xa0, 0x05, 0x59, 0xea, + 0xa1, 0xcb, 0xff, 0x9b, 0x70, 0xd5, 0xdf, 0x08, 0x7f, 0xa5, 0x04, 0x89, 0x68, 0x78, 0xae, 0x81, + 0x13, 0x6f, 0x82, 0x06, 0xe6, 0xb4, 0x02, 0x6c, 0xfd, 0xe1, 0x38, 0x4c, 0x6c, 0x8a, 0x4d, 0xfa, + 0x57, 0x96, 0x0b, 0x9b, 0x90, 0xc1, 0x86, 0x6b, 0xeb, 0x58, 0x1c, 0xf5, 0x3d, 0x3a, 0x6c, 0xb1, + 0x07, 0xcc, 0x85, 0xfe, 0x29, 0xe0, 0xe0, 0xd2, 0x0b, 0x5a, 0x01, 0x36, 0xfc, 0x66, 0x02, 0xa6, + 0x86, 0xa1, 0xa2, 0x13, 0x50, 0x6e, 0xda, 0x98, 0x56, 0xa8, 0xa1, 0x54, 0x78, 0x49, 0x54, 0x73, + 0x93, 0xa2, 0x00, 0x71, 0xd0, 0x88, 0x54, 0x11, 0xd0, 0x3b, 0xf3, 0xc8, 0x4a, 0x3e, 0x05, 0x6a, + 0x54, 0x30, 0x94, 0xc5, 0xdd, 0xf6, 0x2d, 0xad, 0xad, 0x19, 0x4d, 0x7c, 0x07, 0x92, 0xd0, 0x6f, + 0x01, 0xc4, 0x85, 0xf9, 0x1a, 0xa3, 0x89, 0xae, 0x41, 0x46, 0x90, 0x4f, 0xbe, 0x09, 0xe4, 0x05, + 0x31, 0x74, 0x2f, 0x14, 0x82, 0x86, 0x81, 0xfa, 0x29, 0x49, 0x25, 0x1f, 0xb0, 0x0b, 0x51, 0x96, + 0x27, 0x7d, 0xa0, 0xe5, 0xe1, 0xae, 0xe0, 0x6f, 0x24, 0x60, 0x5c, 0xc1, 0xad, 0xef, 0xc2, 0x85, + 0xfb, 0x5e, 0x00, 0xb6, 0xa9, 0x89, 0xb2, 0xbd, 0x83, 0xb5, 0xeb, 0x57, 0x12, 0x39, 0x46, 0x6f, + 0xc1, 0x71, 0xdf, 0xae, 0xd5, 0xfb, 0xd7, 0x71, 0x28, 0x04, 0x57, 0xef, 0xbb, 0xc0, 0xb2, 0xa1, + 0x15, 0x5f, 0xa5, 0xb1, 0xdb, 0xe7, 0xa7, 0x86, 0xa9, 0xb4, 0x3e, 0xb9, 0x8e, 0xd0, 0x65, 0xff, + 0x34, 0x09, 0x69, 0x7e, 0x15, 0x6c, 0xb5, 0xcf, 0xc7, 0x8d, 0x45, 0x7d, 0xff, 0x5b, 0x14, 0xdf, + 0xff, 0x0e, 0x74, 0x71, 0x1f, 0x80, 0x12, 0x09, 0xa9, 0x43, 0xf7, 0xcb, 0x62, 0x27, 0x8b, 0x34, + 0x1c, 0xf6, 0x6f, 0x43, 0xa3, 0x19, 0xc8, 0x13, 0x30, 0x5f, 0x67, 0x13, 0x18, 0xe8, 0x68, 0x7b, + 0x0d, 0x56, 0x83, 0x1e, 0x01, 0xb4, 0xeb, 0x25, 0x3e, 0x54, 0x9f, 0x11, 0x04, 0x6e, 0xdc, 0x6f, + 0x11, 0xe0, 0xf7, 0x00, 0x90, 0x51, 0xa8, 0xec, 0x85, 0x4e, 0xfe, 0xda, 0x29, 0xa9, 0x59, 0xa0, + 0xaf, 0x74, 0xfe, 0x64, 0x8c, 0xb9, 0xca, 0x3d, 0xd1, 0x36, 0x0f, 0x5a, 0xd4, 0xc3, 0xed, 0x86, + 0x6f, 0xbe, 0x36, 0x53, 0xd9, 0xd7, 0x3a, 0xed, 0x79, 0x79, 0x00, 0x49, 0x79, 0x50, 0x2e, 0x80, + 0x78, 0xd3, 0xe1, 0xc0, 0x1d, 0x3d, 0x0d, 0xc7, 0x68, 0xea, 0xc1, 0x34, 0x44, 0x18, 0xa9, 0xda, + 0xfc, 0xef, 0x9c, 0x3a, 0x34, 0xce, 0x49, 0x2a, 0x47, 0x3a, 0xda, 0x5e, 0xdd, 0x34, 0x78, 0x78, + 0xa8, 0x88, 0x56, 0xf4, 0x3c, 0x4c, 0x0d, 0x42, 0x53, 0xb7, 0x31, 0xe6, 0x17, 0xdc, 0x8e, 0xcd, + 0x0d, 0x78, 0x6b, 0x75, 0xae, 0x6e, 0xea, 0x06, 0x3f, 0xf4, 0xa2, 0xf7, 0x65, 0xc2, 0x74, 0x2f, + 0x62, 0x3c, 0x7f, 0x3f, 0xd9, 0x6c, 0xb7, 0xbe, 0xfa, 0xc9, 0xd3, 0xc7, 0x03, 0xf3, 0xde, 0xf3, + 0xd2, 0x76, 0x4c, 0x66, 0xe4, 0x4f, 0xc4, 0x00, 0xf9, 0x16, 0xd0, 0xbb, 0xa4, 0xbe, 0x4c, 0xaf, + 0x2e, 0x8b, 0x20, 0x24, 0x76, 0x70, 0x70, 0xe3, 0xe3, 0x87, 0x82, 0x9b, 0xc0, 0x0e, 0x7f, 0xa7, + 0x6f, 0x6f, 0xe2, 0x51, 0x93, 0x0a, 0x8a, 0x3b, 0x47, 0xa2, 0x8a, 0x63, 0x4c, 0x7e, 0x2d, 0x06, + 0xc7, 0xfa, 0xb6, 0x87, 0x37, 0xe4, 0x26, 0x20, 0x3b, 0xd0, 0x48, 0xc5, 0x4c, 0x1c, 0xfa, 0xde, + 0xd9, 0x6e, 0x1b, 0xb7, 0xfb, 0x6c, 0xcc, 0x5b, 0x64, 0x38, 0xb9, 0x66, 0xfc, 0x9d, 0x18, 0x4c, + 0x06, 0x47, 0xe4, 0xcd, 0x6d, 0x1d, 0x0a, 0xc1, 0xb1, 0xf0, 0x59, 0xdd, 0x3f, 0xca, 0xac, 0x82, + 0x13, 0x0a, 0x11, 0x21, 0x73, 0x11, 0x5b, 0x91, 0x25, 0x10, 0x1f, 0x1b, 0x99, 0x4b, 0xde, 0xe1, + 0xc8, 0x20, 0xdd, 0xc4, 0x16, 0xeb, 0x27, 0xe2, 0x90, 0x5c, 0x33, 0xcd, 0x36, 0xfa, 0xa1, 0x18, + 0x8c, 0x1b, 0xa6, 0xab, 0x92, 0x0d, 0x8c, 0x5b, 0x2a, 0xcf, 0x60, 0x30, 0xf5, 0x7e, 0xed, 0x70, + 0xdc, 0xfb, 0xfa, 0x6b, 0x33, 0xfd, 0xa4, 0x06, 0xbd, 0xfb, 0x5b, 0x36, 0x4c, 0xb7, 0x46, 0x81, + 0x36, 0x58, 0x92, 0xe3, 0x26, 0x14, 0xc3, 0xfd, 0x33, 0x9b, 0xa0, 0x1c, 0xba, 0xff, 0x62, 0x64, + 0xdf, 0x85, 0xad, 0x40, 0xc7, 0xec, 0xf5, 0xcd, 0x3f, 0x21, 0x8b, 0xfb, 0x02, 0x48, 0xd7, 0x7a, + 0xaf, 0xcb, 0x35, 0x20, 0x73, 0xd8, 0x9b, 0x77, 0x41, 0x8e, 0x73, 0x5c, 0xf9, 0xcf, 0xe3, 0x70, + 0x8c, 0x2b, 0x97, 0xab, 0xbe, 0x12, 0x60, 0xb9, 0xe6, 0x7d, 0x74, 0x71, 0x68, 0xaa, 0xec, 0xf8, + 0x37, 0x5f, 0x9b, 0x39, 0xca, 0xb4, 0x5f, 0x2f, 0x84, 0xdc, 0x9f, 0x2d, 0xeb, 0x42, 0x99, 0x58, + 0xfb, 0x80, 0xba, 0x3a, 0x30, 0x59, 0xf6, 0xe4, 0x37, 0x5f, 0x9b, 0x39, 0xce, 0x89, 0x73, 0xb4, + 0x60, 0xa2, 0x4d, 0x1e, 0x9a, 0x4b, 0x2b, 0x9a, 0xed, 0x96, 0xaf, 0x2a, 0x49, 0xb7, 0x06, 0xbe, + 0x19, 0xea, 0x36, 0x31, 0x5a, 0xb7, 0x02, 0x6d, 0xc4, 0x6e, 0x0d, 0x7c, 0x33, 0xd0, 0xad, 0x7f, + 0x64, 0x9f, 0x0c, 0x1e, 0xd9, 0xcf, 0x17, 0x88, 0xe5, 0xfd, 0x00, 0xb7, 0xbe, 0xa7, 0x3f, 0x13, + 0x03, 0xf0, 0x33, 0x75, 0xe8, 0x61, 0x38, 0x5a, 0x5b, 0x5d, 0x59, 0x50, 0xd7, 0x37, 0xaa, 0x1b, + 0x9b, 0xeb, 0xe1, 0x67, 0xfa, 0xc5, 0xd3, 0x34, 0x8e, 0x85, 0x9b, 0xfa, 0xb6, 0x8e, 0x5b, 0xe8, + 0x41, 0x98, 0x0c, 0x43, 0x93, 0x52, 0x63, 0x41, 0x8a, 0x55, 0x0a, 0xb7, 0x6e, 0xcf, 0x66, 0x59, + 0x84, 0x82, 0x5b, 0xe8, 0x24, 0xdc, 0xd5, 0x0f, 0xb7, 0xb8, 0x72, 0x49, 0x8a, 0x57, 0x8a, 0xb7, + 0x6e, 0xcf, 0xe6, 0xbc, 0x50, 0x06, 0xc9, 0x80, 0x82, 0x90, 0x9c, 0x5e, 0xa2, 0x02, 0xb7, 0x6e, + 0xcf, 0xa6, 0xd9, 0x86, 0xa8, 0x24, 0xdf, 0xf7, 0x91, 0xe9, 0xb1, 0xd3, 0xdf, 0x0f, 0xb0, 0x68, + 0x6c, 0xdb, 0x1a, 0xfd, 0x5b, 0xd5, 0xa8, 0x02, 0x47, 0x16, 0x57, 0x2e, 0x2a, 0xd5, 0xfa, 0xc6, + 0xe2, 0xea, 0x4a, 0xcf, 0x5f, 0x17, 0x08, 0xb7, 0x2d, 0xac, 0x6e, 0xd6, 0x96, 0x1a, 0xea, 0xfa, + 0xe2, 0xa5, 0x15, 0x76, 0xe0, 0x1f, 0x6a, 0x7b, 0x6e, 0x65, 0x63, 0x71, 0xb9, 0x21, 0xc5, 0x6b, + 0x17, 0x87, 0x1e, 0x39, 0x3d, 0x7c, 0xe0, 0x56, 0xf3, 0xed, 0x53, 0xe8, 0xdc, 0xe9, 0xff, 0x05, + 0x00, 0x00, 0xff, 0xff, 0x8e, 0x2d, 0xd3, 0x71, 0x43, 0x99, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -2373,7 +2373,7 @@ func (this *Params) Equal(that interface{}) bool { if !this.MinCommissionRate.Equal(that1.MinCommissionRate) { return false } - if this.MaxConsPubKeyRotations != that1.MaxConsPubKeyRotations { + if this.MaxConsPubkeyRotations != that1.MaxConsPubkeyRotations { return false } if !this.ConsPubkeyRotationFee.Equal(&that1.ConsPubkeyRotationFee) { @@ -3282,8 +3282,8 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { } i-- dAtA[i] = 0x42 - if m.MaxConsPubKeyRotations != 0 { - i = encodeVarintStaking(dAtA, i, uint64(m.MaxConsPubKeyRotations)) + if m.MaxConsPubkeyRotations != 0 { + i = encodeVarintStaking(dAtA, i, uint64(m.MaxConsPubkeyRotations)) i-- dAtA[i] = 0x38 } @@ -3958,8 +3958,8 @@ func (m *Params) Size() (n int) { } l = m.MinCommissionRate.Size() n += 1 + l + sovStaking(uint64(l)) - if m.MaxConsPubKeyRotations != 0 { - n += 1 + sovStaking(uint64(m.MaxConsPubKeyRotations)) + if m.MaxConsPubkeyRotations != 0 { + n += 1 + sovStaking(uint64(m.MaxConsPubkeyRotations)) } l = m.ConsPubkeyRotationFee.Size() n += 1 + l + sovStaking(uint64(l)) @@ -6723,9 +6723,9 @@ func (m *Params) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 7: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field MaxConsPubKeyRotations", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MaxConsPubkeyRotations", wireType) } - m.MaxConsPubKeyRotations = 0 + m.MaxConsPubkeyRotations = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowStaking @@ -6735,7 +6735,7 @@ func (m *Params) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxConsPubKeyRotations |= uint64(b&0x7F) << shift + m.MaxConsPubkeyRotations |= uint64(b&0x7F) << shift if b < 0x80 { break } From f960a1ef83cc9c20f1b396d3f13abc2d421f4130 Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 27 Feb 2023 14:58:43 +0530 Subject: [PATCH 008/106] proto --- proto/cosmos/staking/v1beta1/staking.proto | 1 - 1 file changed, 1 deletion(-) diff --git a/proto/cosmos/staking/v1beta1/staking.proto b/proto/cosmos/staking/v1beta1/staking.proto index f28ffb9c9b22..575d89520c3d 100644 --- a/proto/cosmos/staking/v1beta1/staking.proto +++ b/proto/cosmos/staking/v1beta1/staking.proto @@ -400,7 +400,6 @@ message ValidatorUpdates { // ConsPubKeyRotationHistory contains a validator's consensus public key rotation history. message ConsPubKeyRotationHistory { option (gogoproto.equal) = false; - option (gogoproto.goproto_stringer) = false; option (gogoproto.goproto_getters) = false; // operator_address defines the address of the validator's operator; bech encoded in JSON. From 2d85e5af6037c615289c8c6b7533e92e2fc4f698 Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Mon, 27 Feb 2023 09:31:09 +0000 Subject: [PATCH 009/106] proto-gen --- api/cosmos/staking/v1beta1/staking.pulsar.go | 68 +- x/staking/types/staking.pb.go | 1601 +++++++++--------- 2 files changed, 835 insertions(+), 834 deletions(-) diff --git a/api/cosmos/staking/v1beta1/staking.pulsar.go b/api/cosmos/staking/v1beta1/staking.pulsar.go index 1cef9379c1e6..128fafd8fbd4 100644 --- a/api/cosmos/staking/v1beta1/staking.pulsar.go +++ b/api/cosmos/staking/v1beta1/staking.pulsar.go @@ -15245,7 +15245,7 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x22, 0xf7, 0x02, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, + 0x74, 0x65, 0x73, 0x22, 0xf3, 0x02, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xf2, 0xde, 0x1f, @@ -15268,39 +15268,39 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, - 0x0c, 0x88, 0xa0, 0x1f, 0x00, 0x98, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x2a, 0xb6, 0x01, - 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x17, - 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, 0x55, - 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x14, 0x42, 0x4f, - 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, - 0x45, 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, 0x9d, 0x20, 0x08, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, - 0x65, 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x1a, 0x0d, 0x8a, - 0x9d, 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x12, - 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x4e, 0x44, - 0x45, 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, 0x9d, 0x20, 0x06, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, - 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, - 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, - 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x54, - 0x49, 0x4d, 0x45, 0x10, 0x02, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, - 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, - 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, - 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, - 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x2a, 0xb6, 0x01, 0x0a, 0x0a, 0x42, 0x6f, + 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x17, 0x42, 0x4f, 0x4e, 0x44, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, 0x55, 0x6e, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x14, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, + 0x1a, 0x0c, 0x8a, 0x9d, 0x20, 0x08, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x28, + 0x0a, 0x15, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, + 0x42, 0x4f, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x1a, 0x0d, 0x8a, 0x9d, 0x20, 0x09, 0x55, + 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x12, 0x42, 0x4f, 0x4e, 0x44, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x03, + 0x1a, 0x0a, 0x8a, 0x9d, 0x20, 0x06, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x1a, 0x04, 0x88, 0xa3, + 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, + 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, + 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x46, 0x52, + 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, + 0x02, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, + 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, + 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index 45e5a96ee53f..55576d1b1c85 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -1275,8 +1275,9 @@ type ConsPubKeyRotationHistory struct { Height uint64 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"` } -func (m *ConsPubKeyRotationHistory) Reset() { *m = ConsPubKeyRotationHistory{} } -func (*ConsPubKeyRotationHistory) ProtoMessage() {} +func (m *ConsPubKeyRotationHistory) Reset() { *m = ConsPubKeyRotationHistory{} } +func (m *ConsPubKeyRotationHistory) String() string { return proto.CompactTextString(m) } +func (*ConsPubKeyRotationHistory) ProtoMessage() {} func (*ConsPubKeyRotationHistory) Descriptor() ([]byte, []int) { return fileDescriptor_64c30c6cf92913c9, []int{21} } @@ -1339,135 +1340,135 @@ func init() { } var fileDescriptor_64c30c6cf92913c9 = []byte{ - // 2039 bytes of a gzipped FileDescriptorProto + // 2033 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x3b, 0x6c, 0x23, 0xc7, 0x19, 0xd6, 0x92, 0x34, 0x25, 0xfd, 0x94, 0x44, 0x6a, 0xee, 0x45, 0x51, 0x89, 0x48, 0xd3, 0x17, 0x5b, 0x3e, 0xf8, 0xa8, 0x9c, 0x02, 0x24, 0x88, 0x62, 0x24, 0x10, 0x45, 0xc9, 0x47, 0x3f, 0x24, 0x61, 0x29, 0x29, 0x76, 0x1e, 0x58, 0x0c, 0x77, 0x47, 0xd4, 0x46, 0xdc, 0x59, 0x62, 0x67, 0x78, - 0x27, 0xb6, 0x41, 0x0a, 0x43, 0x45, 0x62, 0x20, 0x8d, 0x9b, 0x03, 0x0e, 0x48, 0xe3, 0x74, 0x2e, + 0x27, 0xb6, 0x41, 0x0a, 0x43, 0x45, 0x62, 0x20, 0x4d, 0x9a, 0x03, 0x0e, 0x48, 0xe3, 0x74, 0x2e, 0x8c, 0xb8, 0x48, 0x52, 0xa4, 0x73, 0x92, 0xe6, 0xe0, 0x2a, 0x48, 0xa1, 0x04, 0x77, 0x85, 0x8d, - 0x54, 0xc1, 0x35, 0x41, 0x52, 0x05, 0x33, 0x3b, 0xfb, 0xa0, 0x28, 0xea, 0x71, 0x50, 0x02, 0x03, - 0x6e, 0x24, 0xce, 0xcc, 0xff, 0x7f, 0x33, 0xff, 0x7b, 0xff, 0x1f, 0x6e, 0x9a, 0x2e, 0x73, 0x5c, - 0xb6, 0xc0, 0x38, 0xde, 0xb7, 0x69, 0x6b, 0xe1, 0xde, 0x9d, 0x26, 0xe1, 0xf8, 0x4e, 0xb0, 0xae, - 0x74, 0x3c, 0x97, 0xbb, 0xe8, 0xba, 0x4f, 0x55, 0x09, 0x76, 0x15, 0x55, 0xe1, 0x6a, 0xcb, 0x6d, - 0xb9, 0x92, 0x64, 0x41, 0xfc, 0xf2, 0xa9, 0x0b, 0x33, 0x2d, 0xd7, 0x6d, 0xb5, 0xc9, 0x82, 0x5c, - 0x35, 0xbb, 0xbb, 0x0b, 0x98, 0xf6, 0xd4, 0xd1, 0xdc, 0xf1, 0x23, 0xab, 0xeb, 0x61, 0x6e, 0xbb, - 0x54, 0x9d, 0x17, 0x8f, 0x9f, 0x73, 0xdb, 0x21, 0x8c, 0x63, 0xa7, 0x13, 0x60, 0xfb, 0x2f, 0x31, - 0xfc, 0x4b, 0xd5, 0xb3, 0x14, 0xb6, 0x12, 0xa5, 0x89, 0x19, 0x09, 0xe5, 0x30, 0x5d, 0x3b, 0xc0, - 0x9e, 0xc6, 0x8e, 0x4d, 0xdd, 0x05, 0xf9, 0x57, 0x6d, 0x7d, 0x85, 0x13, 0x6a, 0x11, 0xcf, 0xb1, - 0x29, 0x5f, 0xe0, 0xbd, 0x0e, 0x61, 0xfe, 0x5f, 0x75, 0x3a, 0x1b, 0x3b, 0xc5, 0x4d, 0xd3, 0x8e, - 0x1f, 0x96, 0x7f, 0xa9, 0xc1, 0xd4, 0x5d, 0x9b, 0x71, 0xd7, 0xb3, 0x4d, 0xdc, 0xae, 0xd3, 0x5d, - 0x17, 0x7d, 0x07, 0xd2, 0x7b, 0x04, 0x5b, 0xc4, 0xcb, 0x6b, 0x25, 0x6d, 0x3e, 0xb3, 0x98, 0xaf, - 0x44, 0x00, 0x15, 0x9f, 0xf7, 0xae, 0x3c, 0xaf, 0x8e, 0x7f, 0x72, 0x54, 0x1c, 0xf9, 0xe0, 0xb3, - 0x0f, 0x6f, 0x69, 0xba, 0x62, 0x41, 0x35, 0x48, 0xdf, 0xc3, 0x6d, 0x46, 0x78, 0x3e, 0x51, 0x4a, - 0xce, 0x67, 0x16, 0x9f, 0xaf, 0x9c, 0xac, 0xf3, 0xca, 0x0e, 0x6e, 0xdb, 0x16, 0xe6, 0x6e, 0x3f, - 0x8a, 0xcf, 0x5b, 0xfe, 0x38, 0x01, 0xd9, 0x15, 0xd7, 0x71, 0x6c, 0xc6, 0x6c, 0x97, 0xea, 0x98, - 0x13, 0x86, 0xb6, 0x21, 0xe5, 0x61, 0x4e, 0xe4, 0xa3, 0xc6, 0xab, 0xcb, 0x82, 0xe9, 0xaf, 0x47, - 0xc5, 0x17, 0x5b, 0x36, 0xdf, 0xeb, 0x36, 0x2b, 0xa6, 0xeb, 0x28, 0x35, 0xaa, 0x7f, 0xb7, 0x99, - 0xb5, 0xaf, 0x24, 0xad, 0x11, 0xf3, 0xd3, 0x8f, 0x6e, 0x83, 0x7a, 0x48, 0x8d, 0x98, 0xfe, 0x65, - 0x12, 0x0e, 0xfd, 0x08, 0xc6, 0x1c, 0x7c, 0x60, 0x48, 0xe8, 0xc4, 0x65, 0x41, 0x8f, 0x3a, 0xf8, - 0x40, 0xbc, 0x1a, 0xd9, 0x90, 0x15, 0xe8, 0xe6, 0x1e, 0xa6, 0x2d, 0xe2, 0x5f, 0x92, 0xbc, 0xac, - 0x4b, 0x26, 0x1d, 0x7c, 0xb0, 0x22, 0x81, 0xc5, 0x55, 0x4b, 0xa9, 0xcf, 0x1f, 0x16, 0xb5, 0xf2, - 0x1f, 0x34, 0x80, 0x48, 0x73, 0x08, 0x43, 0xce, 0x0c, 0x57, 0xf2, 0x7e, 0xa6, 0xac, 0xfa, 0xd2, - 0x30, 0xc3, 0x1c, 0xd3, 0x7b, 0x75, 0x52, 0xbc, 0xf4, 0xd1, 0x51, 0x51, 0xf3, 0x6f, 0xcd, 0x9a, - 0xc7, 0xec, 0xf2, 0x3a, 0x64, 0xba, 0x1d, 0x0b, 0x73, 0x62, 0x08, 0x27, 0x97, 0x3a, 0xcc, 0x2c, - 0x16, 0x2a, 0x7e, 0x04, 0x54, 0x82, 0x08, 0xa8, 0x6c, 0x05, 0x11, 0xe0, 0x03, 0xbe, 0xf7, 0xb7, - 0x00, 0x10, 0x7c, 0x6e, 0x71, 0xae, 0x64, 0xf8, 0x40, 0x83, 0x4c, 0x8d, 0x30, 0xd3, 0xb3, 0x3b, - 0x22, 0xa6, 0x50, 0x1e, 0x46, 0x1d, 0x97, 0xda, 0xfb, 0xca, 0x23, 0xc7, 0xf5, 0x60, 0x89, 0x0a, - 0x30, 0x66, 0x5b, 0x84, 0x72, 0x9b, 0xf7, 0x7c, 0xe3, 0xe9, 0xe1, 0x5a, 0x70, 0xdd, 0x27, 0x4d, - 0x66, 0x07, 0x2a, 0xd7, 0x83, 0x25, 0x7a, 0x19, 0x72, 0x8c, 0x98, 0x5d, 0xcf, 0xe6, 0x3d, 0xc3, - 0x74, 0x29, 0xc7, 0x26, 0xcf, 0xa7, 0x24, 0x49, 0x36, 0xd8, 0x5f, 0xf1, 0xb7, 0x05, 0x88, 0x45, - 0x38, 0xb6, 0xdb, 0x2c, 0xff, 0x9c, 0x0f, 0xa2, 0x96, 0xea, 0xa9, 0x1f, 0x8f, 0xc2, 0x78, 0xe8, - 0xc9, 0x68, 0x05, 0x72, 0x6e, 0x87, 0x78, 0xe2, 0xb7, 0x81, 0x2d, 0xcb, 0x23, 0x8c, 0x29, 0x77, - 0xcd, 0x7f, 0xfa, 0xd1, 0xed, 0xab, 0x4a, 0xe1, 0xcb, 0xfe, 0x49, 0x83, 0x7b, 0x36, 0x6d, 0xe9, - 0xd9, 0x80, 0x43, 0x6d, 0xa3, 0x77, 0x84, 0xc9, 0x28, 0x23, 0x94, 0x75, 0x99, 0xd1, 0xe9, 0x36, - 0xf7, 0x49, 0x4f, 0x29, 0xf5, 0xea, 0x80, 0x52, 0x97, 0x69, 0xaf, 0x9a, 0xff, 0x53, 0x04, 0x6d, - 0x7a, 0xbd, 0x0e, 0x77, 0x2b, 0x9b, 0xdd, 0xe6, 0x1b, 0xa4, 0x27, 0x4c, 0xa5, 0x70, 0x36, 0x25, - 0x0c, 0xba, 0x0e, 0xe9, 0x9f, 0x60, 0xbb, 0x4d, 0x2c, 0xa9, 0x91, 0x31, 0x5d, 0xad, 0xd0, 0x12, - 0xa4, 0x19, 0xc7, 0xbc, 0xcb, 0xa4, 0x1a, 0xa6, 0x16, 0xcb, 0xc3, 0x7c, 0xa3, 0xea, 0x52, 0xab, - 0x21, 0x29, 0x75, 0xc5, 0x81, 0xb6, 0x20, 0xcd, 0xdd, 0x7d, 0x42, 0x95, 0x82, 0xaa, 0xaf, 0x5e, - 0xc0, 0xb1, 0xeb, 0x94, 0xc7, 0x1c, 0xbb, 0x4e, 0xb9, 0xae, 0xb0, 0x50, 0x0b, 0x72, 0x16, 0x69, - 0x93, 0x96, 0x54, 0x25, 0xdb, 0xc3, 0x1e, 0x61, 0xf9, 0xf4, 0x85, 0xf1, 0x07, 0x02, 0x47, 0xcf, - 0x86, 0xa8, 0x0d, 0x09, 0x8a, 0x36, 0x21, 0x63, 0x45, 0xae, 0x96, 0x1f, 0x95, 0x8a, 0x7e, 0x61, - 0x98, 0xfc, 0x31, 0xaf, 0x8c, 0xa7, 0xad, 0x38, 0x84, 0xf0, 0xae, 0x2e, 0x6d, 0xba, 0xd4, 0xb2, - 0x69, 0xcb, 0xd8, 0x23, 0x76, 0x6b, 0x8f, 0xe7, 0xc7, 0x4a, 0xda, 0x7c, 0x52, 0xcf, 0x86, 0xfb, - 0x77, 0xe5, 0x36, 0xda, 0x84, 0xa9, 0x88, 0x54, 0x46, 0xcf, 0xf8, 0x45, 0xa3, 0x67, 0x32, 0x04, - 0x10, 0x24, 0xe8, 0x2d, 0x80, 0x28, 0x3e, 0xf3, 0x20, 0xd1, 0xca, 0x67, 0x47, 0x7a, 0x5c, 0x98, - 0x18, 0x00, 0x6a, 0xc3, 0x15, 0xc7, 0xa6, 0x06, 0x23, 0xed, 0x5d, 0x43, 0x69, 0x4e, 0xe0, 0x66, - 0x2e, 0xc1, 0xd2, 0xd3, 0x8e, 0x4d, 0x1b, 0xa4, 0xbd, 0x5b, 0x0b, 0x61, 0xd1, 0xab, 0x30, 0x1b, - 0xa9, 0xc3, 0xa5, 0xc6, 0x9e, 0xdb, 0xb6, 0x0c, 0x8f, 0xec, 0x1a, 0xa6, 0xdb, 0xa5, 0x3c, 0x3f, - 0x21, 0x95, 0x78, 0x23, 0x24, 0xd9, 0xa0, 0x77, 0xdd, 0xb6, 0xa5, 0x93, 0xdd, 0x15, 0x71, 0x8c, - 0x5e, 0x80, 0x48, 0x17, 0x86, 0x6d, 0xb1, 0xfc, 0x64, 0x29, 0x39, 0x9f, 0xd2, 0x27, 0xc2, 0xcd, - 0xba, 0xc5, 0x96, 0xc6, 0xde, 0x7d, 0x58, 0x1c, 0xf9, 0xfc, 0x61, 0x71, 0xa4, 0xbc, 0x06, 0x13, - 0x3b, 0xb8, 0xad, 0x82, 0x8e, 0x30, 0xf4, 0x4d, 0x18, 0xc7, 0xc1, 0x22, 0xaf, 0x95, 0x92, 0xa7, - 0x06, 0x6d, 0x44, 0x5a, 0x7e, 0xa8, 0x41, 0xba, 0xb6, 0xb3, 0x89, 0x6d, 0x0f, 0xad, 0xc2, 0x74, - 0xe4, 0xb4, 0xe7, 0x8d, 0xff, 0xc8, 0xcf, 0x83, 0x04, 0xb0, 0x0a, 0xd3, 0xf7, 0x82, 0x94, 0x12, - 0xc2, 0x24, 0xce, 0x82, 0x09, 0x59, 0xd4, 0x7e, 0x4c, 0xd4, 0xd7, 0x61, 0xd4, 0x7f, 0x21, 0x43, - 0xdf, 0x83, 0xe7, 0x3a, 0xe2, 0x87, 0x94, 0x30, 0xb3, 0x38, 0x37, 0xd4, 0xd1, 0x25, 0x7d, 0xdc, - 0x2d, 0x7c, 0xbe, 0xf2, 0xbf, 0x35, 0x80, 0xda, 0xce, 0xce, 0x96, 0x67, 0x77, 0xda, 0x84, 0x5f, - 0x96, 0xc8, 0x6f, 0xc2, 0xb5, 0x48, 0x64, 0xe6, 0x99, 0xe7, 0x16, 0xfb, 0x4a, 0xc8, 0xd6, 0xf0, - 0xcc, 0x13, 0xd1, 0x2c, 0xc6, 0x43, 0xb4, 0xe4, 0xb9, 0xd1, 0x6a, 0x8c, 0x0f, 0xea, 0xf1, 0x6d, - 0xc8, 0x44, 0xa2, 0x33, 0x54, 0x87, 0x31, 0xae, 0x7e, 0x2b, 0x75, 0x96, 0x87, 0xab, 0x33, 0x60, - 0x8b, 0xab, 0x34, 0x64, 0x2f, 0xff, 0x47, 0x68, 0x35, 0x0a, 0x84, 0x2f, 0x94, 0x23, 0x89, 0x0c, - 0xaf, 0x32, 0x70, 0xf2, 0x12, 0x32, 0xb0, 0xc2, 0x8a, 0xa9, 0xf5, 0x67, 0x09, 0xb8, 0xb2, 0x1d, - 0x04, 0xe9, 0x17, 0x56, 0x0b, 0xdb, 0x30, 0x4a, 0x28, 0xf7, 0x6c, 0xa9, 0x06, 0x61, 0xec, 0xaf, - 0x0f, 0x33, 0xf6, 0x09, 0xb2, 0xac, 0x52, 0xee, 0xf5, 0xe2, 0xa6, 0x0f, 0xb0, 0x62, 0x6a, 0xf8, - 0x7d, 0x12, 0xf2, 0xc3, 0x58, 0xd1, 0x4b, 0x90, 0x35, 0x3d, 0x22, 0x37, 0x82, 0x9a, 0xa2, 0xc9, - 0x74, 0x38, 0x15, 0x6c, 0xab, 0x92, 0xa2, 0x83, 0xf8, 0x40, 0x13, 0x5e, 0x25, 0x48, 0x9f, 0xed, - 0x8b, 0x6c, 0x2a, 0x42, 0x90, 0x45, 0x85, 0x40, 0xd6, 0xa6, 0x36, 0xb7, 0x71, 0xdb, 0x68, 0xe2, - 0x36, 0xa6, 0x26, 0x79, 0x06, 0x4f, 0x18, 0xac, 0x00, 0x53, 0x0a, 0xb4, 0xea, 0x63, 0xa2, 0x1d, - 0x18, 0x0d, 0xe0, 0x53, 0x97, 0x00, 0x1f, 0x80, 0xa1, 0xe7, 0x61, 0x22, 0x5e, 0x18, 0xe4, 0x77, - 0x4a, 0x4a, 0xcf, 0xc4, 0xea, 0xc2, 0x59, 0x95, 0x27, 0x7d, 0x6a, 0xe5, 0x51, 0x9f, 0x82, 0xbf, - 0x4d, 0xc2, 0xb4, 0x4e, 0xac, 0x2f, 0xa1, 0xe1, 0x7e, 0x08, 0xe0, 0x07, 0xb5, 0x48, 0xb6, 0xcf, - 0x60, 0xbb, 0xc1, 0x24, 0x31, 0xee, 0xe3, 0xd5, 0x18, 0xff, 0x7f, 0x59, 0xef, 0xcf, 0x09, 0x98, - 0x88, 0x5b, 0xef, 0x4b, 0x50, 0xd9, 0xd0, 0x7a, 0x94, 0xd2, 0x52, 0x32, 0xa5, 0xbd, 0x3c, 0x2c, - 0xa5, 0x0d, 0xf8, 0xf5, 0x19, 0xb9, 0xec, 0x77, 0x29, 0x48, 0x6f, 0x62, 0x0f, 0x3b, 0x0c, 0x6d, - 0x0c, 0x7c, 0xe3, 0xfa, 0xfd, 0xe7, 0xcc, 0x80, 0x5b, 0xd7, 0xd4, 0x0c, 0xc5, 0xf7, 0xea, 0xf7, - 0x87, 0x7d, 0xe2, 0x7e, 0x0d, 0xa6, 0x44, 0x4b, 0x1d, 0x0a, 0xe4, 0xab, 0x72, 0x52, 0xb6, 0xc3, - 0x61, 0x2b, 0xc6, 0x50, 0x11, 0x32, 0x82, 0x2c, 0xca, 0xd9, 0x82, 0x06, 0x1c, 0x7c, 0xb0, 0xea, - 0xef, 0xa0, 0xdb, 0x80, 0xf6, 0xc2, 0xc1, 0x87, 0x11, 0x29, 0x42, 0xd0, 0x4d, 0x47, 0x27, 0x01, - 0xf9, 0x57, 0x01, 0xc4, 0x2b, 0x0c, 0x8b, 0x50, 0xd7, 0x51, 0xcd, 0xe0, 0xb8, 0xd8, 0xa9, 0x89, - 0x0d, 0xf4, 0x0b, 0xcd, 0xff, 0x54, 0x3e, 0xd6, 0x6d, 0xab, 0xa6, 0xc5, 0xb8, 0x58, 0x34, 0x3c, - 0x3d, 0x2a, 0x16, 0x7a, 0xd8, 0x69, 0x2f, 0x95, 0x4f, 0x80, 0x2c, 0x9f, 0x34, 0x0b, 0x10, 0x5f, - 0xd3, 0xfd, 0x8d, 0x3b, 0xfa, 0x36, 0xcc, 0xc8, 0xd1, 0x83, 0x4b, 0x83, 0x36, 0xd2, 0xf0, 0x5c, - 0x2e, 0x35, 0xcc, 0x64, 0x9f, 0x93, 0xd2, 0xaf, 0x3b, 0xf8, 0x60, 0xc5, 0xa5, 0xaa, 0x3d, 0xd4, - 0x83, 0x53, 0xf4, 0x36, 0xe4, 0x4f, 0x62, 0x33, 0x76, 0x09, 0x91, 0xad, 0x8c, 0xb0, 0x9e, 0x7a, - 0x41, 0x13, 0x33, 0x12, 0x6b, 0x28, 0x6c, 0x5a, 0x4d, 0x09, 0x59, 0xf5, 0x6b, 0xe6, 0x00, 0xee, - 0x1a, 0x21, 0x4b, 0x37, 0x45, 0xb0, 0x1d, 0x7e, 0xf6, 0xe1, 0xad, 0xd9, 0x98, 0xdc, 0x07, 0xe1, - 0xd8, 0xce, 0xf7, 0x99, 0xf2, 0xaf, 0x35, 0x40, 0x51, 0x05, 0xd4, 0x09, 0xeb, 0x88, 0x46, 0x56, - 0x34, 0x37, 0xb1, 0x26, 0x44, 0x3b, 0xbd, 0xb9, 0x89, 0xf8, 0xfb, 0x9a, 0x9b, 0x58, 0x84, 0x7f, - 0x37, 0xaa, 0x37, 0x89, 0xb3, 0x84, 0x8a, 0xbb, 0xbb, 0x62, 0x92, 0x89, 0x63, 0xa4, 0x7c, 0xa4, - 0xc1, 0xcc, 0x40, 0x78, 0x84, 0x4f, 0x36, 0x01, 0x79, 0xb1, 0x43, 0xe9, 0x66, 0x3d, 0xf5, 0xf4, - 0x67, 0x8b, 0xb6, 0x69, 0x6f, 0xa0, 0xc6, 0xfc, 0x8f, 0x0a, 0xa7, 0xca, 0x8c, 0x7f, 0xd4, 0xe0, - 0x6a, 0xfc, 0x45, 0xa1, 0x6c, 0x0d, 0x98, 0x88, 0xbf, 0x45, 0x49, 0x75, 0xf3, 0x3c, 0x52, 0xc5, - 0x05, 0xea, 0x03, 0x11, 0xb2, 0x04, 0xa1, 0xe8, 0x0f, 0x10, 0xef, 0x9c, 0x5b, 0x4b, 0xc1, 0xc3, - 0x4e, 0xcc, 0x4d, 0xbe, 0xb1, 0x7e, 0x9e, 0x80, 0xd4, 0xa6, 0xeb, 0xb6, 0xd1, 0x4f, 0x35, 0x98, - 0xa6, 0x2e, 0x37, 0x44, 0x00, 0x13, 0xcb, 0x50, 0x13, 0x0c, 0x3f, 0xbd, 0xef, 0x5c, 0x4c, 0x7b, - 0xff, 0x38, 0x2a, 0x0e, 0x42, 0xf5, 0xab, 0x54, 0x4d, 0xce, 0xa8, 0xcb, 0xab, 0x92, 0x68, 0xcb, - 0x1f, 0x72, 0xdc, 0x87, 0xc9, 0xfe, 0xfb, 0xfd, 0x9a, 0xa0, 0x5f, 0xf8, 0xfe, 0xc9, 0x33, 0xef, - 0x9e, 0x68, 0xc6, 0x2e, 0x5e, 0x1a, 0x13, 0x86, 0xfd, 0xa7, 0x30, 0xee, 0x3b, 0x90, 0x0b, 0x73, - 0xe6, 0xb6, 0x9c, 0xc3, 0x89, 0x0f, 0xe6, 0x51, 0x7f, 0x24, 0x17, 0xb4, 0x35, 0xa5, 0xf8, 0x00, - 0x18, 0x37, 0x4d, 0xbb, 0x72, 0x8c, 0xa7, 0x4f, 0xe3, 0x8a, 0xb7, 0xfc, 0xaf, 0x04, 0xcc, 0xa8, - 0xe4, 0xf2, 0x46, 0x94, 0x04, 0xfc, 0x59, 0x73, 0x0f, 0xad, 0x0d, 0x1d, 0x95, 0xcd, 0x3e, 0x3d, - 0x2a, 0xde, 0xf0, 0xb3, 0xdf, 0x71, 0x8a, 0xf2, 0xe0, 0xb4, 0xac, 0x0b, 0x59, 0x51, 0xed, 0x63, - 0xe9, 0xea, 0xd4, 0x61, 0xd9, 0xb7, 0x9e, 0x1e, 0x15, 0x67, 0x15, 0xb8, 0x62, 0x8b, 0x0f, 0xda, - 0xca, 0x43, 0x67, 0x69, 0x93, 0x6e, 0xdb, 0x8a, 0x52, 0xa5, 0xb8, 0x96, 0x92, 0xfb, 0x7d, 0xd7, - 0x26, 0xcf, 0x77, 0x6d, 0xc0, 0x76, 0xce, 0x6b, 0x29, 0xb9, 0x1f, 0xbb, 0xf6, 0x3a, 0xa4, 0xd5, - 0x47, 0x64, 0x4a, 0x26, 0x70, 0xb5, 0x5a, 0x9a, 0x10, 0x95, 0xf7, 0x7d, 0x55, 0x7d, 0x6f, 0xfd, - 0x46, 0x03, 0x88, 0x26, 0x75, 0xe8, 0x15, 0xb8, 0x51, 0xdd, 0x58, 0xaf, 0x19, 0x8d, 0xad, 0xe5, - 0xad, 0xed, 0x86, 0xb1, 0xbd, 0xde, 0xd8, 0x5c, 0x5d, 0xa9, 0xaf, 0xd5, 0x57, 0x6b, 0xb9, 0x91, - 0x42, 0xf6, 0xf0, 0x41, 0x29, 0xb3, 0x4d, 0x59, 0x87, 0x98, 0xf6, 0xae, 0x4d, 0x2c, 0xf4, 0x22, - 0x5c, 0xed, 0xa7, 0x16, 0xab, 0xd5, 0x5a, 0x4e, 0x2b, 0x4c, 0x1c, 0x3e, 0x28, 0x8d, 0xf9, 0x1d, - 0x0a, 0xb1, 0xd0, 0x3c, 0x5c, 0x1b, 0xa4, 0xab, 0xaf, 0xbf, 0x96, 0x4b, 0x14, 0x26, 0x0f, 0x1f, - 0x94, 0xc6, 0xc3, 0x56, 0x06, 0x95, 0x01, 0xc5, 0x29, 0x15, 0x5e, 0xb2, 0x00, 0x87, 0x0f, 0x4a, - 0x69, 0x3f, 0x20, 0x0a, 0xa9, 0x77, 0x7f, 0x35, 0x37, 0x72, 0xeb, 0xc7, 0x00, 0x75, 0xba, 0xeb, - 0x61, 0x53, 0xa6, 0x82, 0x02, 0x5c, 0xaf, 0xaf, 0xaf, 0xe9, 0xcb, 0x2b, 0x5b, 0xf5, 0x8d, 0xf5, - 0xfe, 0x67, 0x1f, 0x3b, 0xab, 0x6d, 0x6c, 0x57, 0xdf, 0x5c, 0x35, 0x1a, 0xf5, 0xd7, 0xd6, 0x73, - 0x1a, 0xba, 0x01, 0x57, 0xfa, 0xce, 0xbe, 0xbf, 0xbe, 0x55, 0x7f, 0x6b, 0x35, 0x97, 0xa8, 0xae, - 0x7d, 0xf2, 0x78, 0x4e, 0x7b, 0xf4, 0x78, 0x4e, 0xfb, 0xfb, 0xe3, 0x39, 0xed, 0xbd, 0x27, 0x73, - 0x23, 0x8f, 0x9e, 0xcc, 0x8d, 0xfc, 0xe5, 0xc9, 0xdc, 0xc8, 0x0f, 0x5e, 0x39, 0x35, 0xd4, 0xa2, - 0xfa, 0x24, 0x83, 0xae, 0x99, 0x96, 0xb6, 0xfd, 0xc6, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x0c, - 0xff, 0xa8, 0x54, 0x75, 0x1a, 0x00, 0x00, + 0x54, 0xc1, 0xa5, 0x4a, 0xaa, 0x60, 0x66, 0x67, 0x1f, 0x14, 0x45, 0x3d, 0x0e, 0x8a, 0x61, 0xc0, + 0x8d, 0xc4, 0x99, 0xf9, 0xff, 0x6f, 0xe6, 0x7f, 0xef, 0xff, 0xc3, 0x4d, 0xd3, 0x65, 0x8e, 0xcb, + 0x16, 0x18, 0xc7, 0xfb, 0x36, 0x6d, 0x2d, 0xdc, 0xbb, 0xd3, 0x24, 0x1c, 0xdf, 0x09, 0xd6, 0x95, + 0x8e, 0xe7, 0x72, 0x17, 0x5d, 0xf7, 0xa9, 0x2a, 0xc1, 0xae, 0xa2, 0x2a, 0x5c, 0x6d, 0xb9, 0x2d, + 0x57, 0x92, 0x2c, 0x88, 0x5f, 0x3e, 0x75, 0x61, 0xa6, 0xe5, 0xba, 0xad, 0x36, 0x59, 0x90, 0xab, + 0x66, 0x77, 0x77, 0x01, 0xd3, 0x9e, 0x3a, 0x9a, 0x3b, 0x7e, 0x64, 0x75, 0x3d, 0xcc, 0x6d, 0x97, + 0xaa, 0xf3, 0xe2, 0xf1, 0x73, 0x6e, 0x3b, 0x84, 0x71, 0xec, 0x74, 0x02, 0x6c, 0xff, 0x25, 0x86, + 0x7f, 0xa9, 0x7a, 0x96, 0xc2, 0x56, 0xa2, 0x34, 0x31, 0x23, 0xa1, 0x1c, 0xa6, 0x6b, 0x07, 0xd8, + 0xd3, 0xd8, 0xb1, 0xa9, 0xbb, 0x20, 0xff, 0xaa, 0xad, 0xaf, 0x70, 0x42, 0x2d, 0xe2, 0x39, 0x36, + 0xe5, 0x0b, 0xbc, 0xd7, 0x21, 0xcc, 0xff, 0xab, 0x4e, 0x67, 0x63, 0xa7, 0xb8, 0x69, 0xda, 0xf1, + 0xc3, 0xf2, 0x2f, 0x35, 0x98, 0xba, 0x6b, 0x33, 0xee, 0x7a, 0xb6, 0x89, 0xdb, 0x75, 0xba, 0xeb, + 0xa2, 0xef, 0x40, 0x7a, 0x8f, 0x60, 0x8b, 0x78, 0x79, 0xad, 0xa4, 0xcd, 0x67, 0x16, 0xf3, 0x95, + 0x08, 0xa0, 0xe2, 0xf3, 0xde, 0x95, 0xe7, 0xd5, 0xf1, 0x8f, 0x8f, 0x8a, 0x23, 0xef, 0x7f, 0xfa, + 0xc1, 0x2d, 0x4d, 0x57, 0x2c, 0xa8, 0x06, 0xe9, 0x7b, 0xb8, 0xcd, 0x08, 0xcf, 0x27, 0x4a, 0xc9, + 0xf9, 0xcc, 0xe2, 0xf3, 0x95, 0x93, 0x75, 0x5e, 0xd9, 0xc1, 0x6d, 0xdb, 0xc2, 0xdc, 0xed, 0x47, + 0xf1, 0x79, 0xcb, 0x1f, 0x25, 0x20, 0xbb, 0xe2, 0x3a, 0x8e, 0xcd, 0x98, 0xed, 0x52, 0x1d, 0x73, + 0xc2, 0xd0, 0x36, 0xa4, 0x3c, 0xcc, 0x89, 0x7c, 0xd4, 0x78, 0x75, 0x59, 0x30, 0xfd, 0xed, 0xa8, + 0xf8, 0x62, 0xcb, 0xe6, 0x7b, 0xdd, 0x66, 0xc5, 0x74, 0x1d, 0xa5, 0x46, 0xf5, 0xef, 0x36, 0xb3, + 0xf6, 0x95, 0xa4, 0x35, 0x62, 0x7e, 0xf2, 0xe1, 0x6d, 0x50, 0x0f, 0xa9, 0x11, 0xd3, 0xbf, 0x4c, + 0xc2, 0xa1, 0x1f, 0xc1, 0x98, 0x83, 0x0f, 0x0c, 0x09, 0x9d, 0xb8, 0x2c, 0xe8, 0x51, 0x07, 0x1f, + 0x88, 0x57, 0x23, 0x1b, 0xb2, 0x02, 0xdd, 0xdc, 0xc3, 0xb4, 0x45, 0xfc, 0x4b, 0x92, 0x97, 0x75, + 0xc9, 0xa4, 0x83, 0x0f, 0x56, 0x24, 0xb0, 0xb8, 0x6a, 0x29, 0xf5, 0xd9, 0xc3, 0xa2, 0x56, 0xfe, + 0xa3, 0x06, 0x10, 0x69, 0x0e, 0x61, 0xc8, 0x99, 0xe1, 0x4a, 0xde, 0xcf, 0x94, 0x55, 0x5f, 0x1a, + 0x66, 0x98, 0x63, 0x7a, 0xaf, 0x4e, 0x8a, 0x97, 0x3e, 0x3a, 0x2a, 0x6a, 0xfe, 0xad, 0x59, 0xf3, + 0x98, 0x5d, 0x5e, 0x87, 0x4c, 0xb7, 0x63, 0x61, 0x4e, 0x0c, 0xe1, 0xe4, 0x52, 0x87, 0x99, 0xc5, + 0x42, 0xc5, 0x8f, 0x80, 0x4a, 0x10, 0x01, 0x95, 0xad, 0x20, 0x02, 0x7c, 0xc0, 0xf7, 0xfe, 0x1e, + 0x00, 0x82, 0xcf, 0x2d, 0xce, 0x95, 0x0c, 0xef, 0x6b, 0x90, 0xa9, 0x11, 0x66, 0x7a, 0x76, 0x47, + 0xc4, 0x14, 0xca, 0xc3, 0xa8, 0xe3, 0x52, 0x7b, 0x5f, 0x79, 0xe4, 0xb8, 0x1e, 0x2c, 0x51, 0x01, + 0xc6, 0x6c, 0x8b, 0x50, 0x6e, 0xf3, 0x9e, 0x6f, 0x3c, 0x3d, 0x5c, 0x0b, 0xae, 0xfb, 0xa4, 0xc9, + 0xec, 0x40, 0xe5, 0x7a, 0xb0, 0x44, 0x2f, 0x43, 0x8e, 0x11, 0xb3, 0xeb, 0xd9, 0xbc, 0x67, 0x98, + 0x2e, 0xe5, 0xd8, 0xe4, 0xf9, 0x94, 0x24, 0xc9, 0x06, 0xfb, 0x2b, 0xfe, 0xb6, 0x00, 0xb1, 0x08, + 0xc7, 0x76, 0x9b, 0xe5, 0x9f, 0xf3, 0x41, 0xd4, 0x52, 0x3d, 0xf5, 0xa3, 0x51, 0x18, 0x0f, 0x3d, + 0x19, 0xad, 0x40, 0xce, 0xed, 0x10, 0x4f, 0xfc, 0x36, 0xb0, 0x65, 0x79, 0x84, 0x31, 0xe5, 0xae, + 0xf9, 0x4f, 0x3e, 0xbc, 0x7d, 0x55, 0x29, 0x7c, 0xd9, 0x3f, 0x69, 0x70, 0xcf, 0xa6, 0x2d, 0x3d, + 0x1b, 0x70, 0xa8, 0x6d, 0xf4, 0x8e, 0x30, 0x19, 0x65, 0x84, 0xb2, 0x2e, 0x33, 0x3a, 0xdd, 0xe6, + 0x3e, 0xe9, 0x29, 0xa5, 0x5e, 0x1d, 0x50, 0xea, 0x32, 0xed, 0x55, 0xf3, 0x7f, 0x8e, 0xa0, 0x4d, + 0xaf, 0xd7, 0xe1, 0x6e, 0x65, 0xb3, 0xdb, 0x7c, 0x83, 0xf4, 0x84, 0xa9, 0x14, 0xce, 0xa6, 0x84, + 0x41, 0xd7, 0x21, 0xfd, 0x13, 0x6c, 0xb7, 0x89, 0x25, 0x35, 0x32, 0xa6, 0xab, 0x15, 0x5a, 0x82, + 0x34, 0xe3, 0x98, 0x77, 0x99, 0x54, 0xc3, 0xd4, 0x62, 0x79, 0x98, 0x6f, 0x54, 0x5d, 0x6a, 0x35, + 0x24, 0xa5, 0xae, 0x38, 0xd0, 0x16, 0xa4, 0xb9, 0xbb, 0x4f, 0xa8, 0x52, 0x50, 0xf5, 0xd5, 0x0b, + 0x38, 0x76, 0x9d, 0xf2, 0x98, 0x63, 0xd7, 0x29, 0xd7, 0x15, 0x16, 0x6a, 0x41, 0xce, 0x22, 0x6d, + 0xd2, 0x92, 0xaa, 0x64, 0x7b, 0xd8, 0x23, 0x2c, 0x9f, 0xbe, 0x30, 0xfe, 0x40, 0xe0, 0xe8, 0xd9, + 0x10, 0xb5, 0x21, 0x41, 0xd1, 0x26, 0x64, 0xac, 0xc8, 0xd5, 0xf2, 0xa3, 0x52, 0xd1, 0x2f, 0x0c, + 0x93, 0x3f, 0xe6, 0x95, 0xf1, 0xb4, 0x15, 0x87, 0x10, 0xde, 0xd5, 0xa5, 0x4d, 0x97, 0x5a, 0x36, + 0x6d, 0x19, 0x7b, 0xc4, 0x6e, 0xed, 0xf1, 0xfc, 0x58, 0x49, 0x9b, 0x4f, 0xea, 0xd9, 0x70, 0xff, + 0xae, 0xdc, 0x46, 0x9b, 0x30, 0x15, 0x91, 0xca, 0xe8, 0x19, 0xbf, 0x68, 0xf4, 0x4c, 0x86, 0x00, + 0x82, 0x04, 0xbd, 0x05, 0x10, 0xc5, 0x67, 0x1e, 0x24, 0x5a, 0xf9, 0xec, 0x48, 0x8f, 0x0b, 0x13, + 0x03, 0x40, 0x6d, 0xb8, 0xe2, 0xd8, 0xd4, 0x60, 0xa4, 0xbd, 0x6b, 0x28, 0xcd, 0x09, 0xdc, 0xcc, + 0x25, 0x58, 0x7a, 0xda, 0xb1, 0x69, 0x83, 0xb4, 0x77, 0x6b, 0x21, 0x2c, 0x7a, 0x15, 0x66, 0x23, + 0x75, 0xb8, 0xd4, 0xd8, 0x73, 0xdb, 0x96, 0xe1, 0x91, 0x5d, 0xc3, 0x74, 0xbb, 0x94, 0xe7, 0x27, + 0xa4, 0x12, 0x6f, 0x84, 0x24, 0x1b, 0xf4, 0xae, 0xdb, 0xb6, 0x74, 0xb2, 0xbb, 0x22, 0x8e, 0xd1, + 0x0b, 0x10, 0xe9, 0xc2, 0xb0, 0x2d, 0x96, 0x9f, 0x2c, 0x25, 0xe7, 0x53, 0xfa, 0x44, 0xb8, 0x59, + 0xb7, 0xd8, 0xd2, 0xd8, 0xbb, 0x0f, 0x8b, 0x23, 0x9f, 0x3d, 0x2c, 0x8e, 0x94, 0xd7, 0x60, 0x62, + 0x07, 0xb7, 0x55, 0xd0, 0x11, 0x86, 0xbe, 0x09, 0xe3, 0x38, 0x58, 0xe4, 0xb5, 0x52, 0xf2, 0xd4, + 0xa0, 0x8d, 0x48, 0xcb, 0x0f, 0x35, 0x48, 0xd7, 0x76, 0x36, 0xb1, 0xed, 0xa1, 0x55, 0x98, 0x8e, + 0x9c, 0xf6, 0xbc, 0xf1, 0x1f, 0xf9, 0x79, 0x90, 0x00, 0x56, 0x61, 0xfa, 0x5e, 0x90, 0x52, 0x42, + 0x98, 0xc4, 0x59, 0x30, 0x21, 0x8b, 0xda, 0x8f, 0x89, 0xfa, 0x3a, 0x8c, 0xfa, 0x2f, 0x64, 0xe8, + 0x7b, 0xf0, 0x5c, 0x47, 0xfc, 0x90, 0x12, 0x66, 0x16, 0xe7, 0x86, 0x3a, 0xba, 0xa4, 0x8f, 0xbb, + 0x85, 0xcf, 0x57, 0xfe, 0x8f, 0x06, 0x50, 0xdb, 0xd9, 0xd9, 0xf2, 0xec, 0x4e, 0x9b, 0xf0, 0xcb, + 0x12, 0xf9, 0x4d, 0xb8, 0x16, 0x89, 0xcc, 0x3c, 0xf3, 0xdc, 0x62, 0x5f, 0x09, 0xd9, 0x1a, 0x9e, + 0x79, 0x22, 0x9a, 0xc5, 0x78, 0x88, 0x96, 0x3c, 0x37, 0x5a, 0x8d, 0xf1, 0x41, 0x3d, 0xbe, 0x0d, + 0x99, 0x48, 0x74, 0x86, 0xea, 0x30, 0xc6, 0xd5, 0x6f, 0xa5, 0xce, 0xf2, 0x70, 0x75, 0x06, 0x6c, + 0x71, 0x95, 0x86, 0xec, 0xe5, 0xff, 0x0a, 0xad, 0x46, 0x81, 0xf0, 0x85, 0x72, 0x24, 0x91, 0xe1, + 0x55, 0x06, 0x4e, 0x5e, 0x42, 0x06, 0x56, 0x58, 0x31, 0xb5, 0xfe, 0x2c, 0x01, 0x57, 0xb6, 0x83, + 0x20, 0xfd, 0xc2, 0x6a, 0x61, 0x1b, 0x46, 0x09, 0xe5, 0x9e, 0x2d, 0xd5, 0x20, 0x8c, 0xfd, 0xf5, + 0x61, 0xc6, 0x3e, 0x41, 0x96, 0x55, 0xca, 0xbd, 0x5e, 0xdc, 0xf4, 0x01, 0x56, 0x4c, 0x0d, 0x7f, + 0x48, 0x42, 0x7e, 0x18, 0x2b, 0x7a, 0x09, 0xb2, 0xa6, 0x47, 0xe4, 0x46, 0x50, 0x53, 0x34, 0x99, + 0x0e, 0xa7, 0x82, 0x6d, 0x55, 0x52, 0x74, 0x10, 0x1f, 0x68, 0xc2, 0xab, 0x04, 0xe9, 0xb3, 0x7d, + 0x91, 0x4d, 0x45, 0x08, 0xb2, 0xa8, 0x10, 0xc8, 0xda, 0xd4, 0xe6, 0x36, 0x6e, 0x1b, 0x4d, 0xdc, + 0xc6, 0xd4, 0x24, 0xcf, 0xe0, 0x09, 0x83, 0x15, 0x60, 0x4a, 0x81, 0x56, 0x7d, 0x4c, 0xb4, 0x03, + 0xa3, 0x01, 0x7c, 0xea, 0x12, 0xe0, 0x03, 0x30, 0xf4, 0x3c, 0x4c, 0xc4, 0x0b, 0x83, 0xfc, 0x4e, + 0x49, 0xe9, 0x99, 0x58, 0x5d, 0x38, 0xab, 0xf2, 0xa4, 0x4f, 0xad, 0x3c, 0xea, 0x53, 0xf0, 0x77, + 0x49, 0x98, 0xd6, 0x89, 0xf5, 0x25, 0x34, 0xdc, 0x0f, 0x01, 0xfc, 0xa0, 0x16, 0xc9, 0xf6, 0x19, + 0x6c, 0x37, 0x98, 0x24, 0xc6, 0x7d, 0xbc, 0x1a, 0xe3, 0x9f, 0x97, 0xf5, 0xfe, 0x92, 0x80, 0x89, + 0xb8, 0xf5, 0xbe, 0x04, 0x95, 0x0d, 0xad, 0x47, 0x29, 0x2d, 0x25, 0x53, 0xda, 0xcb, 0xc3, 0x52, + 0xda, 0x80, 0x5f, 0x9f, 0x91, 0xcb, 0x7e, 0x9f, 0x82, 0xf4, 0x26, 0xf6, 0xb0, 0xc3, 0xd0, 0xc6, + 0xc0, 0x37, 0xae, 0xdf, 0x7f, 0xce, 0x0c, 0xb8, 0x75, 0x4d, 0xcd, 0x50, 0x7c, 0xaf, 0xfe, 0xd5, + 0xb0, 0x4f, 0xdc, 0xaf, 0xc1, 0x94, 0x68, 0xa9, 0x43, 0x81, 0x7c, 0x55, 0x4e, 0xca, 0x76, 0x38, + 0x6c, 0xc5, 0x18, 0x2a, 0x42, 0x46, 0x90, 0x45, 0x39, 0x5b, 0xd0, 0x80, 0x83, 0x0f, 0x56, 0xfd, + 0x1d, 0x74, 0x1b, 0xd0, 0x5e, 0x38, 0xf8, 0x30, 0x22, 0x45, 0x08, 0xba, 0xe9, 0xe8, 0x24, 0x20, + 0xff, 0x2a, 0x80, 0x78, 0x85, 0x61, 0x11, 0xea, 0x3a, 0xaa, 0x19, 0x1c, 0x17, 0x3b, 0x35, 0xb1, + 0x81, 0x7e, 0xa1, 0xf9, 0x9f, 0xca, 0xc7, 0xba, 0x6d, 0xd5, 0xb4, 0x18, 0x17, 0x8b, 0x86, 0xa7, + 0x47, 0xc5, 0x42, 0x0f, 0x3b, 0xed, 0xa5, 0xf2, 0x09, 0x90, 0xe5, 0x93, 0x66, 0x01, 0xe2, 0x6b, + 0xba, 0xbf, 0x71, 0x47, 0xdf, 0x86, 0x19, 0x39, 0x7a, 0x70, 0x69, 0xd0, 0x46, 0x1a, 0x9e, 0xcb, + 0xa5, 0x86, 0x99, 0xec, 0x73, 0x52, 0xfa, 0x75, 0x07, 0x1f, 0xac, 0xb8, 0x54, 0xb5, 0x87, 0x7a, + 0x70, 0x8a, 0xde, 0x86, 0xfc, 0x49, 0x6c, 0xc6, 0x2e, 0x21, 0xb2, 0x95, 0x11, 0xd6, 0x53, 0x2f, + 0x68, 0x62, 0x46, 0x62, 0x0d, 0x85, 0x4d, 0xab, 0x29, 0x21, 0xab, 0x7e, 0xcd, 0x1c, 0xc0, 0x5d, + 0x23, 0x64, 0xe9, 0xa6, 0x08, 0xb6, 0xc3, 0x4f, 0x3f, 0xb8, 0x35, 0x1b, 0x93, 0xfb, 0x20, 0x1c, + 0xdb, 0xf9, 0x3e, 0x53, 0xfe, 0x8d, 0x06, 0x28, 0xaa, 0x80, 0x3a, 0x61, 0x1d, 0xd1, 0xc8, 0x8a, + 0xe6, 0x26, 0xd6, 0x84, 0x68, 0xa7, 0x37, 0x37, 0x11, 0x7f, 0x5f, 0x73, 0x13, 0x8b, 0xf0, 0xef, + 0x46, 0xf5, 0x26, 0x71, 0x96, 0x50, 0x71, 0x77, 0x57, 0x4c, 0x32, 0x71, 0x8c, 0x94, 0x8f, 0x34, + 0x98, 0x19, 0x08, 0x8f, 0xf0, 0xc9, 0x26, 0x20, 0x2f, 0x76, 0x28, 0xdd, 0xac, 0xa7, 0x9e, 0xfe, + 0x6c, 0xd1, 0x36, 0xed, 0x0d, 0xd4, 0x98, 0xff, 0x53, 0xe1, 0x54, 0x99, 0xf1, 0x4f, 0x1a, 0x5c, + 0x8d, 0xbf, 0x28, 0x94, 0xad, 0x01, 0x13, 0xf1, 0xb7, 0x28, 0xa9, 0x6e, 0x9e, 0x47, 0xaa, 0xb8, + 0x40, 0x7d, 0x20, 0x42, 0x96, 0x20, 0x14, 0xfd, 0x01, 0xe2, 0x9d, 0x73, 0x6b, 0x29, 0x78, 0xd8, + 0x89, 0xb9, 0xc9, 0x37, 0xd6, 0xcf, 0x13, 0x90, 0xda, 0x74, 0xdd, 0x36, 0xfa, 0xa9, 0x06, 0xd3, + 0xd4, 0xe5, 0x86, 0x08, 0x60, 0x62, 0x19, 0x6a, 0x82, 0xe1, 0xa7, 0xf7, 0x9d, 0x8b, 0x69, 0xef, + 0x9f, 0x47, 0xc5, 0x41, 0xa8, 0x7e, 0x95, 0xaa, 0xc9, 0x19, 0x75, 0x79, 0x55, 0x12, 0x6d, 0xf9, + 0x43, 0x8e, 0xfb, 0x30, 0xd9, 0x7f, 0xbf, 0x5f, 0x13, 0xf4, 0x0b, 0xdf, 0x3f, 0x79, 0xe6, 0xdd, + 0x13, 0xcd, 0xd8, 0xc5, 0x4b, 0x63, 0xc2, 0xb0, 0xff, 0x12, 0xc6, 0x7d, 0x07, 0x72, 0x61, 0xce, + 0xdc, 0x96, 0x73, 0x38, 0xf1, 0xc1, 0x3c, 0xea, 0x8f, 0xe4, 0x82, 0xb6, 0xa6, 0x14, 0x1f, 0x00, + 0xe3, 0xa6, 0x69, 0x57, 0x8e, 0xf1, 0xf4, 0x69, 0x5c, 0xf1, 0x96, 0xff, 0x9d, 0x80, 0x19, 0x95, + 0x5c, 0xde, 0x88, 0x92, 0x80, 0x3f, 0x6b, 0xee, 0xa1, 0xb5, 0xa1, 0xa3, 0xb2, 0xd9, 0xa7, 0x47, + 0xc5, 0x1b, 0x7e, 0xf6, 0x3b, 0x4e, 0x51, 0x1e, 0x9c, 0x96, 0x75, 0x21, 0x2b, 0xaa, 0x7d, 0x2c, + 0x5d, 0x9d, 0x3a, 0x2c, 0xfb, 0xd6, 0xd3, 0xa3, 0xe2, 0xac, 0x02, 0x57, 0x6c, 0xf1, 0x41, 0x5b, + 0x79, 0xe8, 0x2c, 0x6d, 0xd2, 0x6d, 0x5b, 0x51, 0xaa, 0x14, 0xd7, 0x52, 0x72, 0xbf, 0xef, 0xda, + 0xe4, 0xf9, 0xae, 0x0d, 0xd8, 0xce, 0x79, 0x2d, 0x25, 0xf7, 0x63, 0xd7, 0x5e, 0x87, 0xb4, 0xfa, + 0x88, 0x4c, 0xc9, 0x04, 0xae, 0x56, 0x51, 0xe5, 0xbd, 0xf5, 0x5b, 0x0d, 0x20, 0x9a, 0xd2, 0xa1, + 0x57, 0xe0, 0x46, 0x75, 0x63, 0xbd, 0x66, 0x34, 0xb6, 0x96, 0xb7, 0xb6, 0x1b, 0xc6, 0xf6, 0x7a, + 0x63, 0x73, 0x75, 0xa5, 0xbe, 0x56, 0x5f, 0xad, 0xe5, 0x46, 0x0a, 0xd9, 0xc3, 0x07, 0xa5, 0xcc, + 0x36, 0x65, 0x1d, 0x62, 0xda, 0xbb, 0x36, 0xb1, 0xd0, 0x8b, 0x70, 0xb5, 0x9f, 0x5a, 0xac, 0x56, + 0x6b, 0x39, 0xad, 0x30, 0x71, 0xf8, 0xa0, 0x34, 0xe6, 0x77, 0x27, 0xc4, 0x42, 0xf3, 0x70, 0x6d, + 0x90, 0xae, 0xbe, 0xfe, 0x5a, 0x2e, 0x51, 0x98, 0x3c, 0x7c, 0x50, 0x1a, 0x0f, 0xdb, 0x18, 0x54, + 0x06, 0x14, 0xa7, 0x54, 0x78, 0xc9, 0x02, 0x1c, 0x3e, 0x28, 0xa5, 0xfd, 0x60, 0x28, 0xa4, 0xde, + 0xfd, 0xf5, 0xdc, 0xc8, 0xad, 0x1f, 0x03, 0xd4, 0xe9, 0xae, 0x87, 0x4d, 0x99, 0x06, 0x0a, 0x70, + 0xbd, 0xbe, 0xbe, 0xa6, 0x2f, 0xaf, 0x6c, 0xd5, 0x37, 0xd6, 0xfb, 0x9f, 0x7d, 0xec, 0xac, 0xb6, + 0xb1, 0x5d, 0x7d, 0x73, 0xd5, 0x68, 0xd4, 0x5f, 0x5b, 0xcf, 0x69, 0xe8, 0x06, 0x5c, 0xe9, 0x3b, + 0xfb, 0xfe, 0xfa, 0x56, 0xfd, 0xad, 0xd5, 0x5c, 0xa2, 0xba, 0xf6, 0xf1, 0xe3, 0x39, 0xed, 0xd1, + 0xe3, 0x39, 0xed, 0x1f, 0x8f, 0xe7, 0xb4, 0xf7, 0x9e, 0xcc, 0x8d, 0x3c, 0x7a, 0x32, 0x37, 0xf2, + 0xd7, 0x27, 0x73, 0x23, 0x3f, 0x78, 0xe5, 0xd4, 0x30, 0x8b, 0x6a, 0x93, 0x0c, 0xb8, 0x66, 0x5a, + 0xda, 0xf5, 0x1b, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xcf, 0x6e, 0xfa, 0xfd, 0x71, 0x1a, 0x00, + 0x00, } func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { @@ -1476,680 +1477,680 @@ func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_go func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 10764 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7d, 0x6b, 0x70, 0x24, 0xc7, - 0x79, 0x18, 0xf6, 0xbd, 0xfb, 0xed, 0x6b, 0xd0, 0x00, 0xef, 0x70, 0x7b, 0x24, 0x00, 0x0e, 0x1f, - 0xf7, 0x20, 0x89, 0x23, 0x8f, 0xbc, 0x23, 0x89, 0x13, 0x45, 0xef, 0x2e, 0xf6, 0xee, 0x70, 0x87, - 0x97, 0x06, 0xc0, 0xf1, 0x61, 0x5b, 0xe3, 0xc1, 0x6e, 0x03, 0x18, 0xde, 0xee, 0xcc, 0x68, 0x66, - 0xf6, 0x0e, 0x60, 0xa5, 0x52, 0xb4, 0x65, 0x3b, 0xf2, 0xc5, 0xb1, 0x65, 0x3b, 0x65, 0xcb, 0xb6, - 0x4e, 0xa1, 0xac, 0x58, 0x0f, 0xe7, 0x25, 0x5b, 0x8a, 0x24, 0xc7, 0xb1, 0x4b, 0x4e, 0xe5, 0x21, - 0x3b, 0xa9, 0x94, 0xe4, 0x4a, 0x25, 0xae, 0x54, 0xc2, 0x38, 0x94, 0x2a, 0x52, 0x64, 0x39, 0xb6, - 0x65, 0x2a, 0x8e, 0xa3, 0x4a, 0x25, 0xd5, 0xaf, 0x79, 0xec, 0x03, 0xb3, 0x38, 0x91, 0xb4, 0x53, - 0xfa, 0x73, 0xb7, 0xdd, 0xfd, 0x7d, 0x5f, 0x77, 0x7f, 0xfd, 0xf5, 0xf7, 0xea, 0x9e, 0x06, 0xfc, - 0xd9, 0x05, 0x98, 0xdd, 0x31, 0xcd, 0x9d, 0x36, 0x3e, 0x63, 0xd9, 0xa6, 0x6b, 0x6e, 0x75, 0xb7, - 0xcf, 0xb4, 0xb0, 0xd3, 0xb4, 0x75, 0xcb, 0x35, 0xed, 0x39, 0x5a, 0x87, 0xca, 0x0c, 0x62, 0x4e, - 0x40, 0xc8, 0xcb, 0x30, 0x7e, 0x51, 0x6f, 0xe3, 0x05, 0x0f, 0x70, 0x1d, 0xbb, 0xe8, 0x29, 0x48, - 0x6e, 0xeb, 0x6d, 0x3c, 0x15, 0x9b, 0x4d, 0x9c, 0xcc, 0x9f, 0xbd, 0x7f, 0xae, 0x07, 0x69, 0x2e, - 0x8c, 0xb1, 0x46, 0xaa, 0x15, 0x8a, 0x21, 0x7f, 0x25, 0x09, 0x13, 0x03, 0x5a, 0x11, 0x82, 0xa4, - 0xa1, 0x75, 0x08, 0xc5, 0xd8, 0xc9, 0x9c, 0x42, 0x7f, 0xa3, 0x29, 0xc8, 0x58, 0x5a, 0xf3, 0xba, - 0xb6, 0x83, 0xa7, 0xe2, 0xb4, 0x5a, 0x14, 0xd1, 0x34, 0x40, 0x0b, 0x5b, 0xd8, 0x68, 0x61, 0xa3, - 0xb9, 0x3f, 0x95, 0x98, 0x4d, 0x9c, 0xcc, 0x29, 0x81, 0x1a, 0xf4, 0x10, 0x8c, 0x5b, 0xdd, 0xad, - 0xb6, 0xde, 0x54, 0x03, 0x60, 0x30, 0x9b, 0x38, 0x99, 0x52, 0x24, 0xd6, 0xb0, 0xe0, 0x03, 0x9f, - 0x80, 0xf2, 0x4d, 0xac, 0x5d, 0x0f, 0x82, 0xe6, 0x29, 0x68, 0x89, 0x54, 0x07, 0x00, 0xeb, 0x50, - 0xe8, 0x60, 0xc7, 0xd1, 0x76, 0xb0, 0xea, 0xee, 0x5b, 0x78, 0x2a, 0x49, 0x67, 0x3f, 0xdb, 0x37, - 0xfb, 0xde, 0x99, 0xe7, 0x39, 0xd6, 0xc6, 0xbe, 0x85, 0x51, 0x15, 0x72, 0xd8, 0xe8, 0x76, 0x18, - 0x85, 0xd4, 0x10, 0xfe, 0x35, 0x8c, 0x6e, 0xa7, 0x97, 0x4a, 0x96, 0xa0, 0x71, 0x12, 0x19, 0x07, - 0xdb, 0x37, 0xf4, 0x26, 0x9e, 0x4a, 0x53, 0x02, 0x27, 0xfa, 0x08, 0xac, 0xb3, 0xf6, 0x5e, 0x1a, - 0x02, 0x0f, 0xd5, 0x21, 0x87, 0xf7, 0x5c, 0x6c, 0x38, 0xba, 0x69, 0x4c, 0x65, 0x28, 0x91, 0x07, - 0x06, 0xac, 0x22, 0x6e, 0xb7, 0x7a, 0x49, 0xf8, 0x78, 0xe8, 0x3c, 0x64, 0x4c, 0xcb, 0xd5, 0x4d, - 0xc3, 0x99, 0xca, 0xce, 0xc6, 0x4e, 0xe6, 0xcf, 0xde, 0x3d, 0x50, 0x10, 0x56, 0x19, 0x8c, 0x22, - 0x80, 0xd1, 0x22, 0x48, 0x8e, 0xd9, 0xb5, 0x9b, 0x58, 0x6d, 0x9a, 0x2d, 0xac, 0xea, 0xc6, 0xb6, - 0x39, 0x95, 0xa3, 0x04, 0x66, 0xfa, 0x27, 0x42, 0x01, 0xeb, 0x66, 0x0b, 0x2f, 0x1a, 0xdb, 0xa6, - 0x52, 0x72, 0x42, 0x65, 0x74, 0x04, 0xd2, 0xce, 0xbe, 0xe1, 0x6a, 0x7b, 0x53, 0x05, 0x2a, 0x21, - 0xbc, 0x24, 0xff, 0x7a, 0x1a, 0xca, 0xa3, 0x88, 0xd8, 0x05, 0x48, 0x6d, 0x93, 0x59, 0x4e, 0xc5, - 0x0f, 0xc3, 0x03, 0x86, 0x13, 0x66, 0x62, 0xfa, 0x0e, 0x99, 0x58, 0x85, 0xbc, 0x81, 0x1d, 0x17, - 0xb7, 0x98, 0x44, 0x24, 0x46, 0x94, 0x29, 0x60, 0x48, 0xfd, 0x22, 0x95, 0xbc, 0x23, 0x91, 0x7a, - 0x1e, 0xca, 0xde, 0x90, 0x54, 0x5b, 0x33, 0x76, 0x84, 0x6c, 0x9e, 0x89, 0x1a, 0xc9, 0x5c, 0x43, - 0xe0, 0x29, 0x04, 0x4d, 0x29, 0xe1, 0x50, 0x19, 0x2d, 0x00, 0x98, 0x06, 0x36, 0xb7, 0xd5, 0x16, - 0x6e, 0xb6, 0xa7, 0xb2, 0x43, 0xb8, 0xb4, 0x4a, 0x40, 0xfa, 0xb8, 0x64, 0xb2, 0xda, 0x66, 0x1b, - 0x3d, 0xed, 0x8b, 0x5a, 0x66, 0x88, 0xa4, 0x2c, 0xb3, 0x4d, 0xd6, 0x27, 0x6d, 0x9b, 0x50, 0xb2, - 0x31, 0x91, 0x7b, 0xdc, 0xe2, 0x33, 0xcb, 0xd1, 0x41, 0xcc, 0x45, 0xce, 0x4c, 0xe1, 0x68, 0x6c, - 0x62, 0x45, 0x3b, 0x58, 0x44, 0xf7, 0x81, 0x57, 0xa1, 0x52, 0xb1, 0x02, 0xaa, 0x85, 0x0a, 0xa2, - 0x72, 0x45, 0xeb, 0xe0, 0xca, 0xcb, 0x50, 0x0a, 0xb3, 0x07, 0x4d, 0x42, 0xca, 0x71, 0x35, 0xdb, - 0xa5, 0x52, 0x98, 0x52, 0x58, 0x01, 0x49, 0x90, 0xc0, 0x46, 0x8b, 0x6a, 0xb9, 0x94, 0x42, 0x7e, - 0xa2, 0xef, 0xf1, 0x27, 0x9c, 0xa0, 0x13, 0x7e, 0xb0, 0x7f, 0x45, 0x43, 0x94, 0x7b, 0xe7, 0x5d, - 0x79, 0x12, 0x8a, 0xa1, 0x09, 0x8c, 0xda, 0xb5, 0xfc, 0xd7, 0xe0, 0xae, 0x81, 0xa4, 0xd1, 0xf3, - 0x30, 0xd9, 0x35, 0x74, 0xc3, 0xc5, 0xb6, 0x65, 0x63, 0x22, 0xb1, 0xac, 0xab, 0xa9, 0xaf, 0x66, - 0x86, 0xc8, 0xdc, 0x66, 0x10, 0x9a, 0x51, 0x51, 0x26, 0xba, 0xfd, 0x95, 0xa7, 0x73, 0xd9, 0xaf, - 0x65, 0xa4, 0x57, 0x5e, 0x79, 0xe5, 0x95, 0xb8, 0xfc, 0xdb, 0x69, 0x98, 0x1c, 0xb4, 0x67, 0x06, - 0x6e, 0xdf, 0x23, 0x90, 0x36, 0xba, 0x9d, 0x2d, 0x6c, 0x53, 0x26, 0xa5, 0x14, 0x5e, 0x42, 0x55, - 0x48, 0xb5, 0xb5, 0x2d, 0xdc, 0x9e, 0x4a, 0xce, 0xc6, 0x4e, 0x96, 0xce, 0x3e, 0x34, 0xd2, 0xae, - 0x9c, 0x5b, 0x22, 0x28, 0x0a, 0xc3, 0x44, 0xef, 0x84, 0x24, 0x57, 0xd1, 0x84, 0xc2, 0xe9, 0xd1, - 0x28, 0x90, 0xbd, 0xa4, 0x50, 0x3c, 0x74, 0x1c, 0x72, 0xe4, 0x7f, 0x26, 0x1b, 0x69, 0x3a, 0xe6, - 0x2c, 0xa9, 0x20, 0x72, 0x81, 0x2a, 0x90, 0xa5, 0xdb, 0xa4, 0x85, 0x85, 0x69, 0xf3, 0xca, 0x44, - 0xb0, 0x5a, 0x78, 0x5b, 0xeb, 0xb6, 0x5d, 0xf5, 0x86, 0xd6, 0xee, 0x62, 0x2a, 0xf0, 0x39, 0xa5, - 0xc0, 0x2b, 0xaf, 0x91, 0x3a, 0x34, 0x03, 0x79, 0xb6, 0xab, 0x74, 0xa3, 0x85, 0xf7, 0xa8, 0xf6, - 0x4c, 0x29, 0x6c, 0xa3, 0x2d, 0x92, 0x1a, 0xd2, 0xfd, 0x4b, 0x8e, 0x69, 0x08, 0xd1, 0xa4, 0x5d, - 0x90, 0x0a, 0xda, 0xfd, 0x93, 0xbd, 0x8a, 0xfb, 0x9e, 0xc1, 0xd3, 0xeb, 0xdb, 0x4b, 0x27, 0xa0, - 0x4c, 0x21, 0x1e, 0xe7, 0x4b, 0xaf, 0xb5, 0xa7, 0xc6, 0x67, 0x63, 0x27, 0xb3, 0x4a, 0x89, 0x55, - 0xaf, 0xf2, 0x5a, 0xf9, 0x33, 0x71, 0x48, 0x52, 0xc5, 0x52, 0x86, 0xfc, 0xc6, 0x0b, 0x6b, 0x0d, - 0x75, 0x61, 0x75, 0xb3, 0xb6, 0xd4, 0x90, 0x62, 0xa8, 0x04, 0x40, 0x2b, 0x2e, 0x2e, 0xad, 0x56, - 0x37, 0xa4, 0xb8, 0x57, 0x5e, 0x5c, 0xd9, 0x38, 0xff, 0x84, 0x94, 0xf0, 0x10, 0x36, 0x59, 0x45, - 0x32, 0x08, 0xf0, 0xf8, 0x59, 0x29, 0x85, 0x24, 0x28, 0x30, 0x02, 0x8b, 0xcf, 0x37, 0x16, 0xce, - 0x3f, 0x21, 0xa5, 0xc3, 0x35, 0x8f, 0x9f, 0x95, 0x32, 0xa8, 0x08, 0x39, 0x5a, 0x53, 0x5b, 0x5d, - 0x5d, 0x92, 0xb2, 0x1e, 0xcd, 0xf5, 0x0d, 0x65, 0x71, 0xe5, 0x92, 0x94, 0xf3, 0x68, 0x5e, 0x52, - 0x56, 0x37, 0xd7, 0x24, 0xf0, 0x28, 0x2c, 0x37, 0xd6, 0xd7, 0xab, 0x97, 0x1a, 0x52, 0xde, 0x83, - 0xa8, 0xbd, 0xb0, 0xd1, 0x58, 0x97, 0x0a, 0xa1, 0x61, 0x3d, 0x7e, 0x56, 0x2a, 0x7a, 0x5d, 0x34, - 0x56, 0x36, 0x97, 0xa5, 0x12, 0x1a, 0x87, 0x22, 0xeb, 0x42, 0x0c, 0xa2, 0xdc, 0x53, 0x75, 0xfe, - 0x09, 0x49, 0xf2, 0x07, 0xc2, 0xa8, 0x8c, 0x87, 0x2a, 0xce, 0x3f, 0x21, 0x21, 0xb9, 0x0e, 0x29, - 0x2a, 0x86, 0x08, 0x41, 0x69, 0xa9, 0x5a, 0x6b, 0x2c, 0xa9, 0xab, 0x6b, 0x1b, 0x8b, 0xab, 0x2b, - 0xd5, 0x25, 0x29, 0xe6, 0xd7, 0x29, 0x8d, 0x77, 0x6d, 0x2e, 0x2a, 0x8d, 0x05, 0x29, 0x1e, 0xac, - 0x5b, 0x6b, 0x54, 0x37, 0x1a, 0x0b, 0x52, 0x42, 0x6e, 0xc2, 0xe4, 0x20, 0x85, 0x3a, 0x70, 0x0b, - 0x05, 0x64, 0x21, 0x3e, 0x44, 0x16, 0x28, 0xad, 0x5e, 0x59, 0x90, 0xbf, 0x1c, 0x87, 0x89, 0x01, - 0x46, 0x65, 0x60, 0x27, 0xcf, 0x42, 0x8a, 0xc9, 0x32, 0x33, 0xb3, 0xa7, 0x06, 0x5a, 0x27, 0x2a, - 0xd9, 0x7d, 0xa6, 0x96, 0xe2, 0x05, 0x5d, 0x8d, 0xc4, 0x10, 0x57, 0x83, 0x90, 0xe8, 0x13, 0xd8, - 0xef, 0xef, 0x53, 0xfe, 0xcc, 0x3e, 0x9e, 0x1f, 0xc5, 0x3e, 0xd2, 0xba, 0xc3, 0x19, 0x81, 0xd4, - 0x00, 0x23, 0x70, 0x01, 0xc6, 0xfb, 0x08, 0x8d, 0xac, 0x8c, 0xdf, 0x1b, 0x83, 0xa9, 0x61, 0xcc, - 0x89, 0x50, 0x89, 0xf1, 0x90, 0x4a, 0xbc, 0xd0, 0xcb, 0xc1, 0x7b, 0x87, 0x2f, 0x42, 0xdf, 0x5a, - 0x7f, 0x2c, 0x06, 0x47, 0x06, 0xbb, 0x94, 0x03, 0xc7, 0xf0, 0x4e, 0x48, 0x77, 0xb0, 0xbb, 0x6b, - 0x0a, 0xb7, 0xea, 0xc1, 0x01, 0xc6, 0x9a, 0x34, 0xf7, 0x2e, 0x36, 0xc7, 0x0a, 0x5a, 0xfb, 0xc4, - 0x30, 0xbf, 0x90, 0x8d, 0xa6, 0x6f, 0xa4, 0x3f, 0x16, 0x87, 0xbb, 0x06, 0x12, 0x1f, 0x38, 0xd0, - 0x7b, 0x00, 0x74, 0xc3, 0xea, 0xba, 0xcc, 0x75, 0x62, 0x9a, 0x38, 0x47, 0x6b, 0xa8, 0xf2, 0x22, - 0x5a, 0xb6, 0xeb, 0x7a, 0xed, 0x09, 0xda, 0x0e, 0xac, 0x8a, 0x02, 0x3c, 0xe5, 0x0f, 0x34, 0x49, - 0x07, 0x3a, 0x3d, 0x64, 0xa6, 0x7d, 0x82, 0xf9, 0x28, 0x48, 0xcd, 0xb6, 0x8e, 0x0d, 0x57, 0x75, - 0x5c, 0x1b, 0x6b, 0x1d, 0xdd, 0xd8, 0xa1, 0xa6, 0x26, 0x3b, 0x9f, 0xda, 0xd6, 0xda, 0x0e, 0x56, - 0xca, 0xac, 0x79, 0x5d, 0xb4, 0x12, 0x0c, 0x2a, 0x40, 0x76, 0x00, 0x23, 0x1d, 0xc2, 0x60, 0xcd, - 0x1e, 0x86, 0xfc, 0x53, 0x39, 0xc8, 0x07, 0x1c, 0x70, 0x74, 0x2f, 0x14, 0x5e, 0xd2, 0x6e, 0x68, - 0xaa, 0x08, 0xaa, 0x18, 0x27, 0xf2, 0xa4, 0x6e, 0x8d, 0x07, 0x56, 0x8f, 0xc2, 0x24, 0x05, 0x31, - 0xbb, 0x2e, 0xb6, 0xd5, 0x66, 0x5b, 0x73, 0x1c, 0xca, 0xb4, 0x2c, 0x05, 0x45, 0xa4, 0x6d, 0x95, - 0x34, 0xd5, 0x45, 0x0b, 0x3a, 0x07, 0x13, 0x14, 0xa3, 0xd3, 0x6d, 0xbb, 0xba, 0xd5, 0xc6, 0x2a, - 0x09, 0xf3, 0x1c, 0x6a, 0x72, 0xbc, 0x91, 0x8d, 0x13, 0x88, 0x65, 0x0e, 0x40, 0x46, 0xe4, 0xa0, - 0x05, 0xb8, 0x87, 0xa2, 0xed, 0x60, 0x03, 0xdb, 0x9a, 0x8b, 0x55, 0xfc, 0x9e, 0xae, 0xd6, 0x76, - 0x54, 0xcd, 0x68, 0xa9, 0xbb, 0x9a, 0xb3, 0x3b, 0x35, 0x49, 0x08, 0xd4, 0xe2, 0x53, 0x31, 0xe5, - 0x18, 0x01, 0xbc, 0xc4, 0xe1, 0x1a, 0x14, 0xac, 0x6a, 0xb4, 0x2e, 0x6b, 0xce, 0x2e, 0x9a, 0x87, - 0x23, 0x94, 0x8a, 0xe3, 0xda, 0xba, 0xb1, 0xa3, 0x36, 0x77, 0x71, 0xf3, 0xba, 0xda, 0x75, 0xb7, - 0x9f, 0x9a, 0x3a, 0x1e, 0xec, 0x9f, 0x8e, 0x70, 0x9d, 0xc2, 0xd4, 0x09, 0xc8, 0xa6, 0xbb, 0xfd, - 0x14, 0x5a, 0x87, 0x02, 0x59, 0x8c, 0x8e, 0xfe, 0x32, 0x56, 0xb7, 0x4d, 0x9b, 0xda, 0xd0, 0xd2, - 0x00, 0xd5, 0x14, 0xe0, 0xe0, 0xdc, 0x2a, 0x47, 0x58, 0x36, 0x5b, 0x78, 0x3e, 0xb5, 0xbe, 0xd6, - 0x68, 0x2c, 0x28, 0x79, 0x41, 0xe5, 0xa2, 0x69, 0x13, 0x81, 0xda, 0x31, 0x3d, 0x06, 0xe7, 0x99, - 0x40, 0xed, 0x98, 0x82, 0xbd, 0xe7, 0x60, 0xa2, 0xd9, 0x64, 0x73, 0xd6, 0x9b, 0x2a, 0x0f, 0xc6, - 0x9c, 0x29, 0x29, 0xc4, 0xac, 0x66, 0xf3, 0x12, 0x03, 0xe0, 0x32, 0xee, 0xa0, 0xa7, 0xe1, 0x2e, - 0x9f, 0x59, 0x41, 0xc4, 0xf1, 0xbe, 0x59, 0xf6, 0xa2, 0x9e, 0x83, 0x09, 0x6b, 0xbf, 0x1f, 0x11, - 0x85, 0x7a, 0xb4, 0xf6, 0x7b, 0xd1, 0x9e, 0x84, 0x49, 0x6b, 0xd7, 0xea, 0xc7, 0x3b, 0x1d, 0xc4, - 0x43, 0xd6, 0xae, 0xd5, 0x8b, 0xf8, 0x00, 0x8d, 0xcc, 0x6d, 0xdc, 0xd4, 0x5c, 0xdc, 0x9a, 0x3a, - 0x1a, 0x04, 0x0f, 0x34, 0xa0, 0x39, 0x90, 0x9a, 0x4d, 0x15, 0x1b, 0xda, 0x56, 0x1b, 0xab, 0x9a, - 0x8d, 0x0d, 0xcd, 0x99, 0x9a, 0xa1, 0xc0, 0x49, 0xd7, 0xee, 0x62, 0xa5, 0xd4, 0x6c, 0x36, 0x68, - 0x63, 0x95, 0xb6, 0xa1, 0xd3, 0x30, 0x6e, 0x6e, 0xbd, 0xd4, 0x64, 0x12, 0xa9, 0x5a, 0x36, 0xde, - 0xd6, 0xf7, 0xa6, 0xee, 0xa7, 0xec, 0x2d, 0x93, 0x06, 0x2a, 0x8f, 0x6b, 0xb4, 0x1a, 0x9d, 0x02, - 0xa9, 0xe9, 0xec, 0x6a, 0xb6, 0x45, 0x55, 0xb2, 0x63, 0x69, 0x4d, 0x3c, 0xf5, 0x00, 0x03, 0x65, - 0xf5, 0x2b, 0xa2, 0x9a, 0xec, 0x08, 0xe7, 0xa6, 0xbe, 0xed, 0x0a, 0x8a, 0x27, 0xd8, 0x8e, 0xa0, - 0x75, 0x9c, 0xda, 0x49, 0x90, 0x08, 0x27, 0x42, 0x1d, 0x9f, 0xa4, 0x60, 0x25, 0x6b, 0xd7, 0x0a, - 0xf6, 0x7b, 0x1f, 0x14, 0x09, 0xa4, 0xdf, 0xe9, 0x29, 0xe6, 0xb8, 0x59, 0xbb, 0x81, 0x1e, 0x9f, - 0x80, 0x23, 0x04, 0xa8, 0x83, 0x5d, 0xad, 0xa5, 0xb9, 0x5a, 0x00, 0xfa, 0x61, 0x0a, 0x4d, 0xd8, - 0xbe, 0xcc, 0x1b, 0x43, 0xe3, 0xb4, 0xbb, 0x5b, 0xfb, 0x9e, 0x60, 0x3d, 0xc2, 0xc6, 0x49, 0xea, - 0x84, 0x68, 0xbd, 0x65, 0xce, 0xb9, 0x3c, 0x0f, 0x85, 0xa0, 0xdc, 0xa3, 0x1c, 0x30, 0xc9, 0x97, - 0x62, 0xc4, 0x09, 0xaa, 0xaf, 0x2e, 0x10, 0xf7, 0xe5, 0xc5, 0x86, 0x14, 0x27, 0x6e, 0xd4, 0xd2, - 0xe2, 0x46, 0x43, 0x55, 0x36, 0x57, 0x36, 0x16, 0x97, 0x1b, 0x52, 0x22, 0xe0, 0xd8, 0x5f, 0x49, - 0x66, 0x1f, 0x94, 0x4e, 0x10, 0xaf, 0xa1, 0x14, 0x8e, 0xd4, 0xd0, 0x3b, 0xe0, 0xa8, 0x48, 0xab, - 0x38, 0xd8, 0x55, 0x6f, 0xea, 0x36, 0xdd, 0x90, 0x1d, 0x8d, 0x19, 0x47, 0x4f, 0x7e, 0x26, 0x39, - 0xd4, 0x3a, 0x76, 0x9f, 0xd3, 0x6d, 0xb2, 0xdd, 0x3a, 0x9a, 0x8b, 0x96, 0x60, 0xc6, 0x30, 0x55, - 0xc7, 0xd5, 0x8c, 0x96, 0x66, 0xb7, 0x54, 0x3f, 0xa1, 0xa5, 0x6a, 0xcd, 0x26, 0x76, 0x1c, 0x93, - 0x19, 0x42, 0x8f, 0xca, 0xdd, 0x86, 0xb9, 0xce, 0x81, 0x7d, 0x0b, 0x51, 0xe5, 0xa0, 0x3d, 0xe2, - 0x9b, 0x18, 0x26, 0xbe, 0xc7, 0x21, 0xd7, 0xd1, 0x2c, 0x15, 0x1b, 0xae, 0xbd, 0x4f, 0xfd, 0xf3, - 0xac, 0x92, 0xed, 0x68, 0x56, 0x83, 0x94, 0xdf, 0x96, 0x30, 0xe9, 0x4a, 0x32, 0x9b, 0x94, 0x52, - 0x57, 0x92, 0xd9, 0x94, 0x94, 0xbe, 0x92, 0xcc, 0xa6, 0xa5, 0xcc, 0x95, 0x64, 0x36, 0x2b, 0xe5, - 0xae, 0x24, 0xb3, 0x39, 0x09, 0xe4, 0x9f, 0x4e, 0x42, 0x21, 0xe8, 0xc1, 0x93, 0x80, 0xa8, 0x49, - 0x6d, 0x58, 0x8c, 0x6a, 0xb9, 0xfb, 0x0e, 0xf4, 0xf7, 0xe7, 0xea, 0xc4, 0xb8, 0xcd, 0xa7, 0x99, - 0xbb, 0xac, 0x30, 0x4c, 0xe2, 0x58, 0x10, 0xf1, 0xc3, 0xcc, 0x3d, 0xc9, 0x2a, 0xbc, 0x84, 0x2e, - 0x41, 0xfa, 0x25, 0x87, 0xd2, 0x4e, 0x53, 0xda, 0xf7, 0x1f, 0x4c, 0xfb, 0xca, 0x3a, 0x25, 0x9e, - 0xbb, 0xb2, 0xae, 0xae, 0xac, 0x2a, 0xcb, 0xd5, 0x25, 0x85, 0xa3, 0xa3, 0x63, 0x90, 0x6c, 0x6b, - 0x2f, 0xef, 0x87, 0xcd, 0x20, 0xad, 0x42, 0x73, 0x50, 0xee, 0x1a, 0x37, 0xb0, 0xad, 0x6f, 0xeb, - 0xb8, 0xa5, 0x52, 0xa8, 0x72, 0x10, 0xaa, 0xe4, 0xb7, 0x2e, 0x11, 0xf8, 0x11, 0x97, 0xf1, 0x18, - 0x24, 0x6f, 0x62, 0xed, 0x7a, 0xd8, 0x58, 0xd1, 0xaa, 0xb7, 0x70, 0x3b, 0x9d, 0x81, 0x14, 0xe5, - 0x2f, 0x02, 0xe0, 0x1c, 0x96, 0xc6, 0x50, 0x16, 0x92, 0xf5, 0x55, 0x85, 0x6c, 0x29, 0x09, 0x0a, - 0xac, 0x56, 0x5d, 0x5b, 0x6c, 0xd4, 0x1b, 0x52, 0x5c, 0x3e, 0x07, 0x69, 0xc6, 0x34, 0xb2, 0xdd, - 0x3c, 0xb6, 0x49, 0x63, 0xbc, 0xc8, 0x69, 0xc4, 0x44, 0xeb, 0xe6, 0x72, 0xad, 0xa1, 0x48, 0xf1, - 0x3e, 0x61, 0x91, 0x1d, 0x28, 0x04, 0x3d, 0xf9, 0xb7, 0x27, 0x9c, 0xff, 0x7c, 0x0c, 0xf2, 0x01, - 0xcf, 0x9c, 0xb8, 0x54, 0x5a, 0xbb, 0x6d, 0xde, 0x54, 0xb5, 0xb6, 0xae, 0x39, 0x5c, 0x94, 0x80, - 0x56, 0x55, 0x49, 0xcd, 0xa8, 0x4b, 0xf7, 0x36, 0x6d, 0xb2, 0x94, 0x94, 0x96, 0x3f, 0x14, 0x03, - 0xa9, 0xd7, 0x35, 0xee, 0x19, 0x66, 0xec, 0x2f, 0x73, 0x98, 0xf2, 0x07, 0x63, 0x50, 0x0a, 0xfb, - 0xc3, 0x3d, 0xc3, 0xbb, 0xf7, 0x2f, 0x75, 0x78, 0x7f, 0x10, 0x87, 0x62, 0xc8, 0x0b, 0x1e, 0x75, - 0x74, 0xef, 0x81, 0x71, 0xbd, 0x85, 0x3b, 0x96, 0xe9, 0x62, 0xa3, 0xb9, 0xaf, 0xb6, 0xf1, 0x0d, - 0xdc, 0x9e, 0x92, 0xa9, 0x92, 0x39, 0x73, 0xb0, 0x9f, 0x3d, 0xb7, 0xe8, 0xe3, 0x2d, 0x11, 0xb4, - 0xf9, 0x89, 0xc5, 0x85, 0xc6, 0xf2, 0xda, 0xea, 0x46, 0x63, 0xa5, 0xfe, 0x82, 0xba, 0xb9, 0x72, - 0x75, 0x65, 0xf5, 0xb9, 0x15, 0x45, 0xd2, 0x7b, 0xc0, 0xde, 0xc2, 0x6d, 0xbf, 0x06, 0x52, 0xef, - 0xa0, 0xd0, 0x51, 0x18, 0x34, 0x2c, 0x69, 0x0c, 0x4d, 0x40, 0x79, 0x65, 0x55, 0x5d, 0x5f, 0x5c, - 0x68, 0xa8, 0x8d, 0x8b, 0x17, 0x1b, 0xf5, 0x8d, 0x75, 0x96, 0x39, 0xf1, 0xa0, 0x37, 0x42, 0x1b, - 0x5c, 0xfe, 0x85, 0x04, 0x4c, 0x0c, 0x18, 0x09, 0xaa, 0xf2, 0x98, 0x87, 0x85, 0x61, 0x8f, 0x8c, - 0x32, 0xfa, 0x39, 0xe2, 0x75, 0xac, 0x69, 0xb6, 0xcb, 0x43, 0xa4, 0x53, 0x40, 0xb8, 0x64, 0xb8, - 0x44, 0xb9, 0xda, 0x3c, 0x23, 0xc5, 0x02, 0xa1, 0xb2, 0x5f, 0xcf, 0x92, 0x52, 0x0f, 0x03, 0xb2, - 0x4c, 0x47, 0x77, 0xf5, 0x1b, 0x58, 0xd5, 0x0d, 0x91, 0xbe, 0x22, 0x81, 0x51, 0x52, 0x91, 0x44, - 0xcb, 0xa2, 0xe1, 0x7a, 0xd0, 0x06, 0xde, 0xd1, 0x7a, 0xa0, 0x89, 0xf2, 0x4f, 0x28, 0x92, 0x68, - 0xf1, 0xa0, 0xef, 0x85, 0x42, 0xcb, 0xec, 0x12, 0x6f, 0x91, 0xc1, 0x11, 0x5b, 0x13, 0x53, 0xf2, - 0xac, 0xce, 0x03, 0xe1, 0x71, 0x80, 0x9f, 0x37, 0x2b, 0x28, 0x79, 0x56, 0xc7, 0x40, 0x4e, 0x40, - 0x59, 0xdb, 0xd9, 0xb1, 0x09, 0x71, 0x41, 0x88, 0x45, 0x36, 0x25, 0xaf, 0x9a, 0x02, 0x56, 0xae, - 0x40, 0x56, 0xf0, 0x81, 0x18, 0x7b, 0xc2, 0x09, 0xd5, 0x62, 0xe1, 0x7a, 0xfc, 0x64, 0x4e, 0xc9, - 0x1a, 0xa2, 0xf1, 0x5e, 0x28, 0xe8, 0x8e, 0xea, 0x1f, 0x03, 0xc4, 0x67, 0xe3, 0x27, 0xb3, 0x4a, - 0x5e, 0x77, 0xbc, 0x14, 0xaa, 0xfc, 0xb1, 0x38, 0x94, 0xc2, 0xc7, 0x18, 0x68, 0x01, 0xb2, 0x6d, - 0xb3, 0xa9, 0x51, 0xd1, 0x62, 0x67, 0x68, 0x27, 0x23, 0x4e, 0x3e, 0xe6, 0x96, 0x38, 0xbc, 0xe2, - 0x61, 0x56, 0xfe, 0x6d, 0x0c, 0xb2, 0xa2, 0x1a, 0x1d, 0x81, 0xa4, 0xa5, 0xb9, 0xbb, 0x94, 0x5c, - 0xaa, 0x16, 0x97, 0x62, 0x0a, 0x2d, 0x93, 0x7a, 0xc7, 0xd2, 0x0c, 0x2a, 0x02, 0xbc, 0x9e, 0x94, - 0xc9, 0xba, 0xb6, 0xb1, 0xd6, 0xa2, 0x61, 0x93, 0xd9, 0xe9, 0x60, 0xc3, 0x75, 0xc4, 0xba, 0xf2, - 0xfa, 0x3a, 0xaf, 0x46, 0x0f, 0xc1, 0xb8, 0x6b, 0x6b, 0x7a, 0x3b, 0x04, 0x9b, 0xa4, 0xb0, 0x92, - 0x68, 0xf0, 0x80, 0xe7, 0xe1, 0x98, 0xa0, 0xdb, 0xc2, 0xae, 0xd6, 0xdc, 0xc5, 0x2d, 0x1f, 0x29, - 0x4d, 0xd3, 0x23, 0x47, 0x39, 0xc0, 0x02, 0x6f, 0x17, 0xb8, 0xf2, 0x97, 0x62, 0x30, 0x2e, 0x02, - 0xbd, 0x96, 0xc7, 0xac, 0x65, 0x00, 0xcd, 0x30, 0x4c, 0x37, 0xc8, 0xae, 0x7e, 0x51, 0xee, 0xc3, - 0x9b, 0xab, 0x7a, 0x48, 0x4a, 0x80, 0x40, 0xa5, 0x03, 0xe0, 0xb7, 0x0c, 0x65, 0xdb, 0x0c, 0xe4, - 0xf9, 0x19, 0x15, 0x3d, 0xe8, 0x64, 0xa9, 0x01, 0x60, 0x55, 0x24, 0x22, 0x44, 0x93, 0x90, 0xda, - 0xc2, 0x3b, 0xba, 0xc1, 0x33, 0xcf, 0xac, 0x20, 0x12, 0x38, 0x49, 0x2f, 0x81, 0x53, 0xfb, 0xeb, - 0x30, 0xd1, 0x34, 0x3b, 0xbd, 0xc3, 0xad, 0x49, 0x3d, 0xe9, 0x09, 0xe7, 0x72, 0xec, 0xc5, 0x47, - 0x38, 0xd0, 0x8e, 0xd9, 0xd6, 0x8c, 0x9d, 0x39, 0xd3, 0xde, 0xf1, 0x0f, 0x6a, 0x89, 0x87, 0xe4, - 0x04, 0x8e, 0x6b, 0xad, 0xad, 0xff, 0x15, 0x8b, 0xfd, 0x52, 0x3c, 0x71, 0x69, 0xad, 0xf6, 0x2b, - 0xf1, 0xca, 0x25, 0x86, 0xb8, 0x26, 0x98, 0xa1, 0xe0, 0xed, 0x36, 0x6e, 0x92, 0x09, 0xc2, 0x1f, - 0x3d, 0x04, 0x93, 0x3b, 0xe6, 0x8e, 0x49, 0x29, 0x9d, 0x21, 0xbf, 0xf8, 0x49, 0x6f, 0xce, 0xab, - 0xad, 0x44, 0x1e, 0x0b, 0xcf, 0xaf, 0xc0, 0x04, 0x07, 0x56, 0xe9, 0x51, 0x13, 0x0b, 0x84, 0xd0, - 0x81, 0x59, 0xb8, 0xa9, 0x5f, 0xfd, 0x0a, 0x35, 0xdf, 0xca, 0x38, 0x47, 0x25, 0x6d, 0x2c, 0x56, - 0x9a, 0x57, 0xe0, 0xae, 0x10, 0x3d, 0xb6, 0x49, 0xb1, 0x1d, 0x41, 0xf1, 0x5f, 0x70, 0x8a, 0x13, - 0x01, 0x8a, 0xeb, 0x1c, 0x75, 0xbe, 0x0e, 0xc5, 0xc3, 0xd0, 0xfa, 0x97, 0x9c, 0x56, 0x01, 0x07, - 0x89, 0x5c, 0x82, 0x32, 0x25, 0xd2, 0xec, 0x3a, 0xae, 0xd9, 0xa1, 0x1a, 0xf0, 0x60, 0x32, 0xff, - 0xea, 0x2b, 0x6c, 0xd7, 0x94, 0x08, 0x5a, 0xdd, 0xc3, 0x9a, 0x9f, 0x07, 0x7a, 0xba, 0xd6, 0xc2, - 0xcd, 0x76, 0x04, 0x85, 0x2f, 0xf0, 0x81, 0x78, 0xf0, 0xf3, 0xd7, 0x60, 0x92, 0xfc, 0xa6, 0x0a, - 0x2a, 0x38, 0x92, 0xe8, 0x94, 0xdd, 0xd4, 0x97, 0xde, 0xcb, 0x36, 0xe6, 0x84, 0x47, 0x20, 0x30, - 0xa6, 0xc0, 0x2a, 0xee, 0x60, 0xd7, 0xc5, 0xb6, 0xa3, 0x6a, 0xed, 0x41, 0xc3, 0x0b, 0xe4, 0x3c, - 0xa6, 0x7e, 0xfe, 0x1b, 0xe1, 0x55, 0xbc, 0xc4, 0x30, 0xab, 0xed, 0xf6, 0xfc, 0x26, 0x1c, 0x1d, - 0x20, 0x15, 0x23, 0xd0, 0xfc, 0x05, 0x4e, 0x73, 0xb2, 0x4f, 0x32, 0x08, 0xd9, 0x35, 0x10, 0xf5, - 0xde, 0x5a, 0x8e, 0x40, 0xf3, 0x17, 0x39, 0x4d, 0xc4, 0x71, 0xc5, 0x92, 0x12, 0x8a, 0x57, 0x60, - 0xfc, 0x06, 0xb6, 0xb7, 0x4c, 0x87, 0xe7, 0x99, 0x46, 0x20, 0xf7, 0x41, 0x4e, 0xae, 0xcc, 0x11, - 0x69, 0xe2, 0x89, 0xd0, 0x7a, 0x1a, 0xb2, 0xdb, 0x5a, 0x13, 0x8f, 0x40, 0xe2, 0x36, 0x27, 0x91, - 0x21, 0xf0, 0x04, 0xb5, 0x0a, 0x85, 0x1d, 0x93, 0xdb, 0xa8, 0x68, 0xf4, 0x0f, 0x71, 0xf4, 0xbc, - 0xc0, 0xe1, 0x24, 0x2c, 0xd3, 0xea, 0xb6, 0x89, 0x01, 0x8b, 0x26, 0xf1, 0x77, 0x04, 0x09, 0x81, - 0xc3, 0x49, 0x1c, 0x82, 0xad, 0xaf, 0x0a, 0x12, 0x4e, 0x80, 0x9f, 0xcf, 0x42, 0xde, 0x34, 0xda, - 0xfb, 0xa6, 0x31, 0xca, 0x20, 0x3e, 0xcc, 0x29, 0x00, 0x47, 0x21, 0x04, 0x2e, 0x40, 0x6e, 0xd4, - 0x85, 0xf8, 0xe5, 0x6f, 0x88, 0xed, 0x21, 0x56, 0xe0, 0x12, 0x94, 0x85, 0x82, 0xd2, 0x4d, 0x63, - 0x04, 0x12, 0x1f, 0xe5, 0x24, 0x4a, 0x01, 0x34, 0x3e, 0x0d, 0x17, 0x3b, 0xee, 0x0e, 0x1e, 0x85, - 0xc8, 0xc7, 0xc4, 0x34, 0x38, 0x0a, 0x67, 0xe5, 0x16, 0x36, 0x9a, 0xbb, 0xa3, 0x51, 0xf8, 0xb8, - 0x60, 0xa5, 0xc0, 0x21, 0x24, 0xea, 0x50, 0xec, 0x68, 0xb6, 0xb3, 0xab, 0xb5, 0x47, 0x5a, 0x8e, - 0x4f, 0x70, 0x1a, 0x05, 0x0f, 0x89, 0x73, 0xa4, 0x6b, 0x1c, 0x86, 0xcc, 0xaf, 0x08, 0x8e, 0x04, - 0xd0, 0xf8, 0xd6, 0x73, 0x5c, 0x9a, 0x94, 0x3b, 0x0c, 0xb5, 0xbf, 0x27, 0xb6, 0x1e, 0xc3, 0x5d, - 0x0e, 0x52, 0xbc, 0x00, 0x39, 0x47, 0x7f, 0x79, 0x24, 0x32, 0x7f, 0x5f, 0xac, 0x34, 0x45, 0x20, - 0xc8, 0x2f, 0xc0, 0xb1, 0x81, 0x66, 0x62, 0x04, 0x62, 0xff, 0x80, 0x13, 0x3b, 0x32, 0xc0, 0x54, - 0x70, 0x95, 0x70, 0x58, 0x92, 0xff, 0x50, 0xa8, 0x04, 0xdc, 0x43, 0x6b, 0x8d, 0x44, 0x0d, 0x8e, - 0xb6, 0x7d, 0x38, 0xae, 0xfd, 0x23, 0xc1, 0x35, 0x86, 0x1b, 0xe2, 0xda, 0x06, 0x1c, 0xe1, 0x14, - 0x0f, 0xb7, 0xae, 0x9f, 0x14, 0x8a, 0x95, 0x61, 0x6f, 0x86, 0x57, 0xf7, 0x7b, 0xa1, 0xe2, 0xb1, - 0x53, 0xb8, 0xa7, 0x8e, 0xda, 0xd1, 0xac, 0x11, 0x28, 0xff, 0x2a, 0xa7, 0x2c, 0x34, 0xbe, 0xe7, - 0xdf, 0x3a, 0xcb, 0x9a, 0x45, 0x88, 0x3f, 0x0f, 0x53, 0x82, 0x78, 0xd7, 0xb0, 0x71, 0xd3, 0xdc, - 0x31, 0xf4, 0x97, 0x71, 0x6b, 0x04, 0xd2, 0xbf, 0xd6, 0xb3, 0x54, 0x9b, 0x01, 0x74, 0x42, 0x79, - 0x11, 0x24, 0xcf, 0x57, 0x51, 0xf5, 0x8e, 0x65, 0xda, 0x6e, 0x04, 0xc5, 0x4f, 0x89, 0x95, 0xf2, - 0xf0, 0x16, 0x29, 0xda, 0x7c, 0x03, 0xd8, 0x49, 0xf5, 0xa8, 0x22, 0xf9, 0x69, 0x4e, 0xa8, 0xe8, - 0x63, 0x71, 0xc5, 0xd1, 0x34, 0x3b, 0x96, 0x66, 0x8f, 0xa2, 0xff, 0xfe, 0xb1, 0x50, 0x1c, 0x1c, - 0x85, 0x2b, 0x0e, 0xe2, 0xd1, 0x11, 0x6b, 0x3f, 0x02, 0x85, 0xcf, 0x08, 0xc5, 0x21, 0x70, 0x38, - 0x09, 0xe1, 0x30, 0x8c, 0x40, 0xe2, 0xb3, 0x82, 0x84, 0xc0, 0x21, 0x24, 0xde, 0xe5, 0x1b, 0x5a, - 0x1b, 0xef, 0xe8, 0x8e, 0x6b, 0x33, 0xa7, 0xf8, 0x60, 0x52, 0x9f, 0xfb, 0x46, 0xd8, 0x09, 0x53, - 0x02, 0xa8, 0x44, 0x13, 0xf1, 0x34, 0x2d, 0x8d, 0x99, 0xa2, 0x07, 0xf6, 0xeb, 0x42, 0x13, 0x05, - 0xd0, 0xc8, 0xd8, 0x02, 0x1e, 0x22, 0x61, 0x7b, 0x93, 0x44, 0x0a, 0x23, 0x90, 0xfb, 0x27, 0x3d, - 0x83, 0x5b, 0x17, 0xb8, 0x84, 0x66, 0xc0, 0xff, 0xe9, 0x1a, 0xd7, 0xf1, 0xfe, 0x48, 0xd2, 0xf9, - 0x1b, 0x3d, 0xfe, 0xcf, 0x26, 0xc3, 0x64, 0x3a, 0xa4, 0xdc, 0xe3, 0x4f, 0xa1, 0xa8, 0x7b, 0x49, - 0x53, 0x3f, 0xf8, 0x06, 0x9f, 0x6f, 0xd8, 0x9d, 0x9a, 0x5f, 0x22, 0x42, 0x1e, 0x76, 0x7a, 0xa2, - 0x89, 0xbd, 0xf7, 0x0d, 0x4f, 0xce, 0x43, 0x3e, 0xcf, 0xfc, 0x45, 0x28, 0x86, 0x1c, 0x9e, 0x68, - 0x52, 0x3f, 0xcc, 0x49, 0x15, 0x82, 0xfe, 0xce, 0xfc, 0x39, 0x48, 0x12, 0xe7, 0x25, 0x1a, 0xfd, - 0x47, 0x38, 0x3a, 0x05, 0x9f, 0x7f, 0x06, 0xb2, 0xc2, 0x69, 0x89, 0x46, 0xfd, 0x51, 0x8e, 0xea, - 0xa1, 0x10, 0x74, 0xe1, 0xb0, 0x44, 0xa3, 0xff, 0x0d, 0x81, 0x2e, 0x50, 0x08, 0xfa, 0xe8, 0x2c, - 0xfc, 0xfc, 0xdf, 0x4c, 0x72, 0xa3, 0x23, 0x78, 0x77, 0x01, 0x32, 0xdc, 0x53, 0x89, 0xc6, 0xfe, - 0x31, 0xde, 0xb9, 0xc0, 0x98, 0x7f, 0x12, 0x52, 0x23, 0x32, 0xfc, 0x6f, 0x71, 0x54, 0x06, 0x3f, - 0x5f, 0x87, 0x7c, 0xc0, 0x3b, 0x89, 0x46, 0xff, 0x09, 0x8e, 0x1e, 0xc4, 0x22, 0x43, 0xe7, 0xde, - 0x49, 0x34, 0x81, 0x9f, 0x14, 0x43, 0xe7, 0x18, 0x84, 0x6d, 0xc2, 0x31, 0x89, 0xc6, 0x7e, 0xbf, - 0xe0, 0xba, 0x40, 0x99, 0x7f, 0x16, 0x72, 0x9e, 0xb1, 0x89, 0xc6, 0xff, 0x29, 0x8e, 0xef, 0xe3, - 0x10, 0x0e, 0x04, 0x8c, 0x5d, 0x34, 0x89, 0x9f, 0x16, 0x1c, 0x08, 0x60, 0x91, 0x6d, 0xd4, 0xeb, - 0xc0, 0x44, 0x53, 0xfa, 0x19, 0xb1, 0x8d, 0x7a, 0xfc, 0x17, 0xb2, 0x9a, 0x54, 0xe7, 0x47, 0x93, - 0xf8, 0xdb, 0x62, 0x35, 0x29, 0x3c, 0x19, 0x46, 0xaf, 0x47, 0x10, 0x4d, 0xe3, 0xe7, 0xc4, 0x30, - 0x7a, 0x1c, 0x82, 0xf9, 0x35, 0x40, 0xfd, 0xde, 0x40, 0x34, 0xbd, 0x0f, 0x70, 0x7a, 0xe3, 0x7d, - 0xce, 0xc0, 0xfc, 0x73, 0x70, 0x64, 0xb0, 0x27, 0x10, 0x4d, 0xf5, 0xe7, 0xdf, 0xe8, 0x89, 0xdd, - 0x82, 0x8e, 0xc0, 0xfc, 0x86, 0x6f, 0x52, 0x82, 0x5e, 0x40, 0x34, 0xd9, 0x5f, 0x78, 0x23, 0xac, - 0xb8, 0x83, 0x4e, 0xc0, 0x7c, 0x15, 0xc0, 0x37, 0xc0, 0xd1, 0xb4, 0x3e, 0xc8, 0x69, 0x05, 0x90, - 0xc8, 0xd6, 0xe0, 0xf6, 0x37, 0x1a, 0xff, 0xb6, 0xd8, 0x1a, 0x1c, 0x83, 0x6c, 0x0d, 0x61, 0x7a, - 0xa3, 0xb1, 0x3f, 0x24, 0xb6, 0x86, 0x40, 0x21, 0x92, 0x1d, 0xb0, 0x6e, 0xd1, 0x14, 0x3e, 0x2c, - 0x24, 0x3b, 0x80, 0x35, 0xbf, 0x02, 0xe3, 0x7d, 0x06, 0x31, 0x9a, 0xd4, 0x2f, 0x71, 0x52, 0x52, - 0xaf, 0x3d, 0x0c, 0x1a, 0x2f, 0x6e, 0x0c, 0xa3, 0xa9, 0x7d, 0xa4, 0xc7, 0x78, 0x71, 0x5b, 0x38, - 0x7f, 0x01, 0xb2, 0x46, 0xb7, 0xdd, 0x26, 0x9b, 0x07, 0x1d, 0x7c, 0x97, 0x70, 0xea, 0xbf, 0x7f, - 0x9b, 0x73, 0x47, 0x20, 0xcc, 0x9f, 0x83, 0x14, 0xee, 0x6c, 0xe1, 0x56, 0x14, 0xe6, 0xd7, 0xbf, - 0x2d, 0x14, 0x26, 0x81, 0x9e, 0x7f, 0x16, 0x80, 0xa5, 0x46, 0xe8, 0xe1, 0x61, 0x04, 0xee, 0x1f, - 0x7e, 0x9b, 0x5f, 0xde, 0xf1, 0x51, 0x7c, 0x02, 0xec, 0x2a, 0xd0, 0xc1, 0x04, 0xbe, 0x11, 0x26, - 0x40, 0x57, 0xe4, 0x69, 0xc8, 0xbc, 0xe4, 0x98, 0x86, 0xab, 0xed, 0x44, 0x61, 0xff, 0x11, 0xc7, - 0x16, 0xf0, 0x84, 0x61, 0x1d, 0xd3, 0xc6, 0xae, 0xb6, 0xe3, 0x44, 0xe1, 0xfe, 0x0f, 0x8e, 0xeb, - 0x21, 0x10, 0xe4, 0xa6, 0xe6, 0xb8, 0xa3, 0xcc, 0xfb, 0x8f, 0x05, 0xb2, 0x40, 0x20, 0x83, 0x26, - 0xbf, 0xaf, 0xe3, 0xfd, 0x28, 0xdc, 0x3f, 0x11, 0x83, 0xe6, 0xf0, 0xf3, 0xcf, 0x40, 0x8e, 0xfc, - 0x64, 0x37, 0xf2, 0x22, 0x90, 0xff, 0x94, 0x23, 0xfb, 0x18, 0xa4, 0x67, 0xc7, 0x6d, 0xb9, 0x7a, - 0x34, 0xb3, 0xbf, 0xc9, 0x57, 0x5a, 0xc0, 0xcf, 0x57, 0x21, 0xef, 0xb8, 0xad, 0x56, 0x97, 0xfb, - 0xa7, 0x11, 0xe8, 0x7f, 0xf6, 0x6d, 0x2f, 0x65, 0xe1, 0xe1, 0x90, 0xd5, 0xbe, 0x79, 0xdd, 0xb5, - 0x4c, 0x7a, 0xe0, 0x11, 0x45, 0xe1, 0x0d, 0x4e, 0x21, 0x80, 0x32, 0x5f, 0x87, 0x02, 0x99, 0x8b, - 0x8d, 0x2d, 0x4c, 0x4f, 0xa7, 0x22, 0x48, 0x7c, 0x8b, 0x33, 0x20, 0x84, 0x54, 0xfb, 0x81, 0x2f, - 0xbc, 0x3e, 0x1d, 0xfb, 0xe2, 0xeb, 0xd3, 0xb1, 0x3f, 0x78, 0x7d, 0x3a, 0xf6, 0xfe, 0x2f, 0x4f, - 0x8f, 0x7d, 0xf1, 0xcb, 0xd3, 0x63, 0xbf, 0xff, 0xe5, 0xe9, 0xb1, 0xc1, 0x59, 0x62, 0xb8, 0x64, - 0x5e, 0x32, 0x59, 0x7e, 0xf8, 0xc5, 0x07, 0x76, 0x74, 0x77, 0xb7, 0xbb, 0x35, 0xd7, 0x34, 0x3b, - 0x67, 0x9a, 0xa6, 0xd3, 0x31, 0x9d, 0x33, 0xe1, 0xbc, 0x2e, 0xfd, 0x05, 0xff, 0x27, 0x46, 0x62, - 0xe6, 0x70, 0x3a, 0x57, 0x33, 0xf6, 0x87, 0x7d, 0xde, 0x73, 0x1e, 0x12, 0x55, 0x63, 0x1f, 0x1d, - 0x63, 0x0a, 0x4e, 0xed, 0xda, 0x6d, 0x7e, 0x2d, 0x2c, 0x43, 0xca, 0x9b, 0x76, 0x1b, 0x4d, 0xfa, - 0x77, 0x37, 0x63, 0x27, 0x0b, 0xfc, 0x42, 0x66, 0xed, 0x27, 0x62, 0x87, 0x9b, 0x49, 0xb6, 0x6a, - 0xec, 0xd3, 0x89, 0xac, 0xc5, 0x5e, 0x7c, 0x38, 0x32, 0xcf, 0x7d, 0xdd, 0x30, 0x6f, 0x1a, 0x64, - 0xd8, 0xd6, 0x96, 0xc8, 0x71, 0x4f, 0xf7, 0xe6, 0xb8, 0x9f, 0xc3, 0xed, 0xf6, 0x55, 0x02, 0xb7, - 0x41, 0x50, 0xb6, 0xd2, 0xec, 0x06, 0x32, 0xfc, 0x4c, 0x1c, 0xa6, 0xfb, 0xd2, 0xd9, 0x5c, 0x08, - 0x86, 0x31, 0x61, 0x1e, 0xb2, 0x0b, 0x42, 0xb6, 0xa6, 0x20, 0xe3, 0xe0, 0xa6, 0x69, 0xb4, 0x1c, - 0xca, 0x88, 0x84, 0x22, 0x8a, 0x84, 0x11, 0x86, 0x66, 0x98, 0x0e, 0xbf, 0x58, 0xc9, 0x0a, 0xb5, - 0x5f, 0x3c, 0x24, 0x23, 0x8a, 0xa2, 0x27, 0xc1, 0x8d, 0xc7, 0x46, 0xe4, 0x86, 0x98, 0x44, 0x28, - 0xf3, 0x3f, 0x2a, 0x57, 0x7e, 0x2e, 0x0e, 0x33, 0xbd, 0x5c, 0x21, 0x3b, 0xcb, 0x71, 0xb5, 0x8e, - 0x35, 0x8c, 0x2d, 0x17, 0x20, 0xb7, 0x21, 0x60, 0x0e, 0xcd, 0x97, 0xdb, 0x87, 0xe4, 0x4b, 0xc9, - 0xeb, 0x4a, 0x30, 0xe6, 0xec, 0x88, 0x8c, 0xf1, 0xe6, 0x71, 0x47, 0x9c, 0xf9, 0x8b, 0x34, 0x1c, - 0x63, 0xdb, 0x49, 0x65, 0x5b, 0x89, 0x15, 0x38, 0x4f, 0x0a, 0xc1, 0xa6, 0xe8, 0x73, 0x12, 0xf9, - 0x2a, 0x4c, 0x2c, 0x12, 0x6d, 0x41, 0xa2, 0x20, 0xff, 0x84, 0x67, 0xe0, 0xdd, 0xd3, 0xd9, 0x90, - 0xc3, 0xcf, 0x4f, 0x98, 0x82, 0x55, 0xf2, 0x0f, 0xc6, 0x40, 0x5a, 0x6f, 0x6a, 0x6d, 0xcd, 0xfe, - 0x4e, 0x49, 0xa1, 0x27, 0x01, 0xe8, 0x37, 0x4b, 0xfe, 0x47, 0x46, 0xa5, 0xb3, 0x53, 0x73, 0xc1, - 0xc9, 0xcd, 0xb1, 0x9e, 0xe8, 0x17, 0x0c, 0x39, 0x0a, 0x4b, 0x7e, 0x9e, 0x7e, 0x1e, 0xc0, 0x6f, - 0x40, 0xc7, 0xe1, 0xe8, 0x7a, 0xbd, 0xba, 0x54, 0x55, 0x54, 0x76, 0x19, 0x7e, 0x65, 0x7d, 0xad, - 0x51, 0x5f, 0xbc, 0xb8, 0xd8, 0x58, 0x90, 0xc6, 0xd0, 0x11, 0x40, 0xc1, 0x46, 0xef, 0x5e, 0xca, - 0x5d, 0x30, 0x1e, 0xac, 0x67, 0x37, 0xea, 0xe3, 0xc4, 0x53, 0xd4, 0x3b, 0x56, 0x1b, 0xd3, 0xa3, - 0x3f, 0x55, 0x17, 0x5c, 0x8b, 0x76, 0x42, 0x7e, 0xe7, 0xdf, 0xb3, 0x5b, 0xd6, 0x13, 0x3e, 0xba, - 0xc7, 0xf3, 0xf9, 0x25, 0x18, 0xd7, 0x9a, 0x4d, 0x6c, 0x85, 0x48, 0x46, 0xa8, 0x6a, 0x42, 0x90, - 0x1e, 0x66, 0x72, 0x4c, 0x9f, 0xda, 0x93, 0x90, 0x76, 0xe8, 0xec, 0xa3, 0x48, 0xfc, 0x2e, 0x27, - 0xc1, 0xc1, 0xe7, 0x0d, 0x18, 0x27, 0x9e, 0x9f, 0x66, 0xe3, 0xc0, 0x30, 0x0e, 0xce, 0x33, 0xfc, - 0xe6, 0xa7, 0x1e, 0xa5, 0x47, 0x9b, 0xf7, 0x86, 0x97, 0x65, 0x80, 0x38, 0x29, 0x12, 0xa7, 0xed, - 0x0f, 0x14, 0x43, 0x49, 0xf4, 0xc7, 0x07, 0x7c, 0x70, 0x67, 0xbf, 0xc5, 0x3b, 0x9b, 0x1e, 0x24, - 0x03, 0x81, 0x9e, 0x8a, 0x9c, 0x2a, 0x6b, 0xa8, 0x35, 0x86, 0xed, 0xe9, 0x17, 0x1f, 0xea, 0xb7, - 0x4e, 0xec, 0xbf, 0x47, 0x28, 0xe5, 0x0b, 0xc1, 0x6e, 0xbc, 0xbd, 0xf7, 0x8b, 0x49, 0x18, 0xd7, - 0x3a, 0xba, 0x61, 0x9e, 0xa1, 0xff, 0xf2, 0x3d, 0x97, 0xa2, 0x85, 0x11, 0x0e, 0x25, 0xcf, 0xb3, - 0xad, 0x10, 0x2d, 0x31, 0x7f, 0xfa, 0xe3, 0x1f, 0x4d, 0xf9, 0xdb, 0x65, 0x7e, 0x19, 0x24, 0x71, - 0xe1, 0x10, 0x1b, 0x4d, 0xb3, 0x35, 0x52, 0x96, 0xe2, 0x9b, 0x82, 0x86, 0xc8, 0x6f, 0x35, 0x38, - 0xea, 0xfc, 0x3b, 0x20, 0xeb, 0x91, 0x89, 0xf2, 0x4c, 0x04, 0x11, 0x0f, 0x83, 0xf8, 0x25, 0x6c, - 0x67, 0x8e, 0xe2, 0x85, 0xbe, 0x21, 0xf0, 0xd9, 0x0e, 0x5d, 0x21, 0xb3, 0xb9, 0x04, 0xa5, 0x96, - 0x69, 0xb8, 0xaa, 0xd9, 0xd1, 0x5d, 0xdc, 0xb1, 0xdc, 0x48, 0xbf, 0xee, 0x5b, 0x8c, 0x48, 0x56, - 0x29, 0x12, 0xbc, 0x55, 0x81, 0x46, 0x46, 0xc2, 0xbe, 0x29, 0x1a, 0x65, 0x24, 0xff, 0xd3, 0x1b, - 0x09, 0xc5, 0x21, 0x23, 0xb9, 0x23, 0xe9, 0x70, 0x5a, 0xd7, 0xb9, 0x32, 0x77, 0xf7, 0x98, 0x14, - 0x78, 0xd2, 0xf1, 0xc7, 0x09, 0x98, 0xe6, 0xc0, 0x5b, 0x9a, 0x83, 0xcf, 0xdc, 0x78, 0x6c, 0x0b, - 0xbb, 0xda, 0x63, 0x67, 0x9a, 0xa6, 0x2e, 0x2c, 0xf9, 0x04, 0x57, 0xd6, 0xa4, 0x7d, 0x8e, 0xb7, - 0x57, 0x06, 0x1e, 0x77, 0x57, 0x86, 0x2b, 0xf9, 0x4a, 0xbf, 0x0c, 0xca, 0x2f, 0x42, 0xb2, 0x6e, - 0xea, 0x06, 0xb1, 0x6d, 0x2d, 0x6c, 0x98, 0x1d, 0xae, 0x6e, 0x59, 0x01, 0x9d, 0x87, 0xb4, 0xd6, - 0x31, 0xbb, 0x86, 0xcb, 0x54, 0x6d, 0x6d, 0xfa, 0x0b, 0xaf, 0xcd, 0x8c, 0xfd, 0xc7, 0xd7, 0x66, - 0x12, 0x8b, 0x86, 0xfb, 0x7b, 0x9f, 0x7e, 0x04, 0x38, 0xf5, 0x45, 0xc3, 0xfd, 0xf8, 0x57, 0x3f, - 0x79, 0x3a, 0xa6, 0x70, 0xe8, 0xf9, 0xe4, 0xd7, 0x5e, 0x9d, 0x89, 0xc9, 0xcf, 0x43, 0x66, 0x01, - 0x37, 0x0f, 0x20, 0xff, 0x58, 0x0f, 0xf9, 0x63, 0x82, 0xfc, 0x02, 0x6e, 0x06, 0xc8, 0x2f, 0xe0, - 0x66, 0x0f, 0xe5, 0x27, 0x21, 0xbb, 0x68, 0xb8, 0xec, 0x73, 0x87, 0x87, 0x20, 0xa1, 0x1b, 0xec, - 0x06, 0x6d, 0x80, 0x42, 0xdf, 0x00, 0x15, 0x02, 0x45, 0x10, 0x17, 0x70, 0xd3, 0x43, 0x6c, 0xe1, - 0x66, 0x2f, 0x62, 0x7f, 0xd7, 0x04, 0xaa, 0xb6, 0xf0, 0xfb, 0xff, 0x75, 0x7a, 0xec, 0x95, 0xd7, - 0xa7, 0xc7, 0x86, 0x2e, 0xbd, 0x1c, 0xbd, 0xf4, 0xde, 0x8a, 0x7f, 0x34, 0x09, 0xf7, 0xd0, 0xaf, - 0xe0, 0xec, 0x8e, 0x6e, 0xb8, 0x67, 0x9a, 0xf6, 0xbe, 0xe5, 0x9a, 0x44, 0x01, 0x98, 0xdb, 0x7c, - 0xc1, 0xc7, 0xfd, 0xe6, 0x39, 0xd6, 0x3c, 0x78, 0xb9, 0xe5, 0x6d, 0x48, 0xad, 0x11, 0x3c, 0xc2, - 0x62, 0xd7, 0x74, 0xb5, 0x36, 0xf7, 0x5a, 0x58, 0x81, 0xd4, 0xb2, 0x2f, 0xe7, 0xe2, 0xac, 0x56, - 0x17, 0x1f, 0xcd, 0xb5, 0xb1, 0xb6, 0xcd, 0x3e, 0x40, 0x48, 0x50, 0x77, 0x37, 0x4b, 0x2a, 0xe8, - 0xb7, 0x06, 0x93, 0x90, 0xd2, 0xba, 0xec, 0xe6, 0x4b, 0x82, 0xf8, 0xc1, 0xb4, 0x20, 0x5f, 0x85, - 0x0c, 0x3f, 0x7f, 0x47, 0x12, 0x24, 0xae, 0xe3, 0x7d, 0xda, 0x4f, 0x41, 0x21, 0x3f, 0xd1, 0x1c, - 0xa4, 0xe8, 0xe0, 0xf9, 0x97, 0x55, 0x53, 0x73, 0x7d, 0xa3, 0x9f, 0xa3, 0x83, 0x54, 0x18, 0x98, - 0x7c, 0x05, 0xb2, 0x0b, 0x26, 0x91, 0xc2, 0x30, 0xb5, 0x1c, 0xa3, 0x46, 0xc7, 0x6c, 0x75, 0xb9, - 0x54, 0x28, 0xac, 0x80, 0x8e, 0x40, 0x9a, 0x7d, 0x90, 0xc2, 0x6f, 0xef, 0xf0, 0x92, 0x5c, 0x87, - 0x0c, 0xa5, 0xbd, 0x6a, 0x11, 0x97, 0xc1, 0xbb, 0xfb, 0x9b, 0xe3, 0x9f, 0x27, 0x72, 0xf2, 0x71, - 0x7f, 0xb0, 0x08, 0x92, 0x2d, 0xcd, 0xd5, 0xf8, 0xbc, 0xe9, 0x6f, 0xf9, 0x9d, 0x90, 0xe5, 0x44, - 0x1c, 0x74, 0x16, 0x12, 0xa6, 0xe5, 0xf0, 0xfb, 0x37, 0x95, 0x61, 0x53, 0x59, 0xb5, 0x6a, 0x49, - 0x22, 0x33, 0x0a, 0x01, 0xae, 0xad, 0x0c, 0x15, 0x8b, 0x27, 0x42, 0x62, 0xd1, 0xc1, 0xee, 0xd6, - 0xb6, 0xeb, 0xff, 0x60, 0xcb, 0xd9, 0x27, 0x0a, 0x9e, 0xa0, 0xdc, 0x8e, 0xc3, 0x74, 0xa0, 0xf5, - 0x06, 0xb6, 0x1d, 0xdd, 0x34, 0x98, 0x34, 0x71, 0x49, 0x41, 0x81, 0x01, 0xf2, 0xf6, 0x21, 0xa2, - 0xf2, 0x0c, 0x24, 0xaa, 0x96, 0x85, 0x2a, 0x90, 0xa5, 0xe5, 0xa6, 0xc9, 0x64, 0x25, 0xa9, 0x78, - 0x65, 0xd2, 0xe6, 0x98, 0xdb, 0xee, 0x4d, 0xcd, 0xf6, 0xbe, 0xd7, 0x14, 0x65, 0xf9, 0x69, 0xc8, - 0xd5, 0x4d, 0xc3, 0xc1, 0x86, 0xd3, 0xa5, 0xbe, 0xf0, 0x56, 0xdb, 0x6c, 0x5e, 0xe7, 0x14, 0x58, - 0x81, 0x30, 0x5b, 0xb3, 0x2c, 0x8a, 0x99, 0x54, 0xc8, 0x4f, 0xb6, 0x5f, 0x6b, 0xab, 0x43, 0xd9, - 0x73, 0xee, 0x70, 0xec, 0xe1, 0x13, 0xf4, 0x9d, 0xda, 0x18, 0xdc, 0xdd, 0xbf, 0x91, 0xae, 0xe3, - 0x7d, 0xe7, 0xb0, 0xfb, 0xe8, 0x79, 0xc8, 0xad, 0xd1, 0x07, 0x13, 0xae, 0xe2, 0x7d, 0x54, 0x81, - 0x0c, 0x6e, 0x9d, 0x3d, 0x77, 0xee, 0xb1, 0xa7, 0x99, 0x94, 0x5f, 0x1e, 0x53, 0x44, 0x05, 0x9a, - 0x86, 0x9c, 0x83, 0x9b, 0xd6, 0xd9, 0x73, 0xe7, 0xaf, 0x3f, 0xc6, 0xc4, 0xea, 0xf2, 0x98, 0xe2, - 0x57, 0xcd, 0x67, 0xc9, 0x8c, 0xbf, 0xf6, 0xe1, 0x99, 0x58, 0x2d, 0x05, 0x09, 0xa7, 0xdb, 0x79, - 0xcb, 0x64, 0xe3, 0x67, 0x53, 0x30, 0x1b, 0x68, 0x65, 0xc6, 0xe5, 0x86, 0xd6, 0xd6, 0x5b, 0x9a, - 0xff, 0xcc, 0x85, 0x14, 0x98, 0x3f, 0x85, 0x18, 0x62, 0x35, 0x0e, 0xe4, 0xa2, 0xfc, 0x6b, 0x31, - 0x28, 0x5c, 0x13, 0x94, 0xd7, 0xb1, 0x8b, 0x2e, 0x00, 0x78, 0x3d, 0x89, 0xad, 0x72, 0x7c, 0xae, - 0xb7, 0xaf, 0x39, 0x0f, 0x47, 0x09, 0x80, 0xa3, 0x27, 0xa9, 0x00, 0x5a, 0xa6, 0xc3, 0xbf, 0xdd, - 0x8b, 0x40, 0xf5, 0x80, 0xd1, 0xc3, 0x80, 0xa8, 0x56, 0x53, 0x6f, 0x98, 0xae, 0x6e, 0xec, 0xa8, - 0x96, 0x79, 0x93, 0x7f, 0x11, 0x9d, 0x50, 0x24, 0xda, 0x72, 0x8d, 0x36, 0xac, 0x91, 0x7a, 0x32, - 0xe8, 0x9c, 0x47, 0x85, 0x84, 0x75, 0x5a, 0xab, 0x65, 0x63, 0xc7, 0xe1, 0x8a, 0x4b, 0x14, 0xd1, - 0x05, 0xc8, 0x58, 0xdd, 0x2d, 0x55, 0x68, 0x89, 0xfc, 0xd9, 0xbb, 0x07, 0xed, 0x79, 0x21, 0x1b, - 0x7c, 0xd7, 0xa7, 0xad, 0xee, 0x16, 0x91, 0x94, 0x7b, 0xa1, 0x30, 0x60, 0x30, 0xf9, 0x1b, 0xfe, - 0x38, 0xe8, 0x1b, 0x1d, 0x7c, 0x06, 0xaa, 0x65, 0xeb, 0xa6, 0xad, 0xbb, 0xfb, 0xf4, 0xe2, 0x5c, - 0x42, 0x91, 0x44, 0xc3, 0x1a, 0xaf, 0x97, 0xaf, 0x43, 0x79, 0x9d, 0xba, 0xfb, 0xfe, 0xc8, 0xcf, - 0xf9, 0xe3, 0x8b, 0x45, 0x8f, 0x6f, 0xe8, 0xc8, 0xe2, 0x7d, 0x23, 0xab, 0x2d, 0x0f, 0x95, 0xcc, - 0xc7, 0x0f, 0x27, 0x99, 0x61, 0xeb, 0xf6, 0x87, 0xc7, 0x42, 0x9b, 0x92, 0x7b, 0x3d, 0x01, 0x95, - 0x35, 0xaa, 0x50, 0x46, 0x45, 0xf2, 0x95, 0x83, 0x8d, 0x68, 0x25, 0x42, 0x75, 0x56, 0x22, 0xb7, - 0x8f, 0xfc, 0x34, 0x14, 0xd7, 0x34, 0xdb, 0x5d, 0xc7, 0xee, 0x65, 0xac, 0xb5, 0xb0, 0x1d, 0xb6, - 0xb2, 0x45, 0x61, 0x65, 0x11, 0x24, 0xa9, 0x29, 0x65, 0x56, 0x86, 0xfe, 0x96, 0x77, 0x21, 0x49, - 0x2f, 0xce, 0x7a, 0x16, 0x98, 0x63, 0x30, 0x0b, 0x4c, 0xf4, 0xe7, 0xbe, 0x8b, 0x1d, 0x91, 0x6c, - 0xa2, 0x05, 0xf4, 0x84, 0xb0, 0xa3, 0x89, 0x83, 0xed, 0x28, 0x17, 0x42, 0x6e, 0x4d, 0xdb, 0x90, - 0xa9, 0x11, 0xf5, 0xbb, 0xb8, 0xe0, 0x0d, 0x24, 0xe6, 0x0f, 0x04, 0x2d, 0x43, 0xd9, 0xd2, 0x6c, - 0x97, 0x7e, 0x73, 0xb4, 0x4b, 0x67, 0xc1, 0xe5, 0x7c, 0xa6, 0x7f, 0xd7, 0x85, 0x26, 0xcb, 0x7b, - 0x29, 0x5a, 0xc1, 0x4a, 0xf9, 0xbf, 0x25, 0x21, 0xcd, 0x99, 0xf1, 0x0c, 0x64, 0x38, 0x5b, 0xb9, - 0x64, 0xde, 0x33, 0xd7, 0x6f, 0x8c, 0xe6, 0x3c, 0xa3, 0xc1, 0xe9, 0x09, 0x1c, 0xf4, 0x20, 0x64, - 0x9b, 0xbb, 0x9a, 0x6e, 0xa8, 0x7a, 0x8b, 0x3b, 0x80, 0xf9, 0xd7, 0x5f, 0x9b, 0xc9, 0xd4, 0x49, - 0xdd, 0xe2, 0x82, 0x92, 0xa1, 0x8d, 0x8b, 0x2d, 0x62, 0xf9, 0x77, 0xb1, 0xbe, 0xb3, 0xeb, 0xf2, - 0xdd, 0xc5, 0x4b, 0xe8, 0x29, 0x48, 0x12, 0x81, 0xe0, 0x5f, 0xa4, 0x56, 0xfa, 0xfc, 0x78, 0x2f, - 0xd1, 0x52, 0xcb, 0x92, 0x8e, 0xdf, 0xff, 0x5f, 0x66, 0x62, 0x0a, 0xc5, 0x40, 0x75, 0x28, 0xb6, - 0x35, 0xc7, 0x55, 0xa9, 0xd5, 0x22, 0xdd, 0xa7, 0x28, 0x89, 0x63, 0xfd, 0x0c, 0xe1, 0x8c, 0xe5, - 0x43, 0xcf, 0x13, 0x2c, 0x56, 0xd5, 0x42, 0x27, 0x41, 0xa2, 0x44, 0x9a, 0x66, 0xa7, 0xa3, 0xbb, - 0xcc, 0x97, 0x4a, 0x53, 0xbe, 0x97, 0x48, 0x7d, 0x9d, 0x56, 0x53, 0x8f, 0xea, 0x38, 0xe4, 0xe8, - 0x37, 0x70, 0x14, 0x84, 0xdd, 0xd6, 0xce, 0x92, 0x0a, 0xda, 0x78, 0x02, 0xca, 0xbe, 0x6e, 0x64, - 0x20, 0x59, 0x46, 0xc5, 0xaf, 0xa6, 0x80, 0x8f, 0xc2, 0xa4, 0x81, 0xf7, 0xe8, 0xfd, 0xf1, 0x10, - 0x74, 0x8e, 0x42, 0x23, 0xd2, 0x76, 0x2d, 0x8c, 0xf1, 0x00, 0x94, 0x9a, 0x82, 0xf9, 0x0c, 0x16, - 0x28, 0x6c, 0xd1, 0xab, 0xa5, 0x60, 0xc7, 0x20, 0xab, 0x59, 0x16, 0x03, 0xc8, 0x73, 0xdd, 0x68, - 0x59, 0xb4, 0xe9, 0x34, 0x8c, 0xd3, 0x39, 0xda, 0xd8, 0xe9, 0xb6, 0x5d, 0x4e, 0xa4, 0x40, 0x61, - 0xca, 0xa4, 0x41, 0x61, 0xf5, 0x14, 0xf6, 0x3e, 0x28, 0xe2, 0x1b, 0x7a, 0x0b, 0x1b, 0x4d, 0xcc, - 0xe0, 0x8a, 0x14, 0xae, 0x20, 0x2a, 0x29, 0xd0, 0x29, 0xf0, 0x74, 0x9e, 0x2a, 0xf4, 0x71, 0x89, - 0xd1, 0x13, 0xf5, 0x55, 0x56, 0x2d, 0x4f, 0x41, 0x72, 0x41, 0x73, 0x35, 0xe2, 0x54, 0xb8, 0x7b, - 0xcc, 0xc8, 0x14, 0x14, 0xf2, 0x53, 0xfe, 0x5a, 0x1c, 0x92, 0xd7, 0x4c, 0x17, 0xa3, 0xc7, 0x03, - 0x0e, 0x5f, 0x69, 0x90, 0x3c, 0xaf, 0xeb, 0x3b, 0x06, 0x6e, 0x2d, 0x3b, 0x3b, 0x81, 0x07, 0x2b, - 0x7c, 0x71, 0x8a, 0x87, 0xc4, 0x69, 0x12, 0x52, 0xb6, 0xd9, 0x35, 0x5a, 0xe2, 0xa2, 0x33, 0x2d, - 0xa0, 0x06, 0x64, 0x3d, 0x29, 0x49, 0x46, 0x49, 0x49, 0x99, 0x48, 0x09, 0x91, 0x61, 0x5e, 0xa1, - 0x64, 0xb6, 0xb8, 0xb0, 0xd4, 0x20, 0xe7, 0x29, 0x2f, 0x2e, 0x6d, 0xa3, 0x09, 0xac, 0x8f, 0x46, - 0x0c, 0x89, 0xb7, 0xf6, 0x1e, 0xf3, 0x98, 0xc4, 0x49, 0x5e, 0x03, 0xe7, 0x5e, 0x48, 0xac, 0xf8, - 0xe3, 0x19, 0x19, 0x3a, 0x2f, 0x5f, 0xac, 0xd8, 0x03, 0x1a, 0x77, 0x43, 0xce, 0xd1, 0x77, 0x0c, - 0xcd, 0xed, 0xda, 0x98, 0x4b, 0x9e, 0x5f, 0x21, 0x7f, 0x3e, 0x06, 0x69, 0x26, 0xc9, 0x01, 0xbe, - 0xc5, 0x06, 0xf3, 0x2d, 0x3e, 0x8c, 0x6f, 0x89, 0x3b, 0xe7, 0x5b, 0x15, 0xc0, 0x1b, 0x8c, 0xc3, - 0xdf, 0x34, 0x18, 0xe0, 0x2d, 0xb0, 0x21, 0xae, 0xeb, 0x3b, 0x7c, 0xa3, 0x06, 0x90, 0xe4, 0xff, - 0x1c, 0x23, 0x8e, 0x2b, 0x6f, 0x47, 0x55, 0x28, 0x8a, 0x71, 0xa9, 0xdb, 0x6d, 0x6d, 0x87, 0xcb, - 0xce, 0x3d, 0x43, 0x07, 0x77, 0xb1, 0xad, 0xed, 0x28, 0x79, 0x3e, 0x1e, 0x52, 0x18, 0xbc, 0x0e, - 0xf1, 0x21, 0xeb, 0x10, 0x5a, 0xf8, 0xc4, 0x9d, 0x2d, 0x7c, 0x68, 0x89, 0x92, 0xbd, 0x4b, 0xf4, - 0xa9, 0x38, 0x0d, 0x5e, 0x2c, 0xd3, 0xd1, 0xda, 0x6f, 0xc7, 0x8e, 0x38, 0x0e, 0x39, 0xcb, 0x6c, - 0xab, 0xac, 0x85, 0x7d, 0x00, 0x90, 0xb5, 0xcc, 0xb6, 0xd2, 0xb7, 0xec, 0xa9, 0x37, 0x69, 0xbb, - 0xa4, 0xdf, 0x04, 0xae, 0x65, 0x7a, 0xb9, 0x66, 0x43, 0x81, 0xb1, 0x82, 0xdb, 0xb2, 0x47, 0x09, - 0x0f, 0xa8, 0x71, 0x8c, 0xf5, 0xdb, 0x5e, 0x36, 0x6c, 0x06, 0xa9, 0x70, 0x38, 0x82, 0xc1, 0x54, - 0xff, 0xa0, 0xa8, 0x37, 0x28, 0x96, 0x0a, 0x87, 0x93, 0x7f, 0x36, 0x06, 0xb0, 0x44, 0x38, 0x4b, - 0xe7, 0x4b, 0xac, 0x90, 0x43, 0x87, 0xa0, 0x86, 0x7a, 0x9e, 0x1e, 0xb6, 0x68, 0xbc, 0xff, 0x82, - 0x13, 0x1c, 0x77, 0x1d, 0x8a, 0xbe, 0x30, 0x3a, 0x58, 0x0c, 0x66, 0xfa, 0x00, 0x8f, 0x7a, 0x1d, - 0xbb, 0x4a, 0xe1, 0x46, 0xa0, 0x24, 0xff, 0xb3, 0x18, 0xe4, 0xe8, 0x98, 0x96, 0xb1, 0xab, 0x85, - 0xd6, 0x30, 0x76, 0xe7, 0x6b, 0x78, 0x0f, 0x00, 0x23, 0xe3, 0xe8, 0x2f, 0x63, 0x2e, 0x59, 0x39, - 0x5a, 0xb3, 0xae, 0xbf, 0x8c, 0xd1, 0x79, 0x8f, 0xe1, 0x89, 0x83, 0x19, 0x2e, 0x3c, 0x6e, 0xce, - 0xf6, 0xa3, 0x90, 0xa1, 0x6f, 0x80, 0xed, 0x39, 0xdc, 0x89, 0x4e, 0x1b, 0xdd, 0xce, 0xc6, 0x9e, - 0x23, 0xbf, 0x04, 0x99, 0x8d, 0x3d, 0x96, 0x0b, 0x39, 0x0e, 0x39, 0xdb, 0x34, 0xb9, 0x4d, 0x66, - 0xbe, 0x50, 0x96, 0x54, 0x50, 0x13, 0x24, 0xe2, 0xff, 0xb8, 0x1f, 0xff, 0xfb, 0x09, 0x8c, 0xc4, - 0x48, 0x09, 0x8c, 0xd3, 0xff, 0x21, 0x06, 0xf9, 0x80, 0x7e, 0x40, 0x8f, 0xc1, 0x5d, 0xb5, 0xa5, - 0xd5, 0xfa, 0x55, 0x75, 0x71, 0x41, 0xbd, 0xb8, 0x54, 0xbd, 0xe4, 0x7f, 0xe2, 0x56, 0x39, 0x72, - 0xeb, 0xf6, 0x2c, 0x0a, 0xc0, 0x6e, 0x1a, 0xf4, 0x34, 0x07, 0x9d, 0x81, 0xc9, 0x30, 0x4a, 0xb5, - 0xb6, 0xde, 0x58, 0xd9, 0x90, 0x62, 0x95, 0xbb, 0x6e, 0xdd, 0x9e, 0x1d, 0x0f, 0x60, 0x54, 0xb7, - 0x1c, 0x6c, 0xb8, 0xfd, 0x08, 0xf5, 0xd5, 0xe5, 0xe5, 0xc5, 0x0d, 0x29, 0xde, 0x87, 0xc0, 0x15, - 0xf6, 0x29, 0x18, 0x0f, 0x23, 0xac, 0x2c, 0x2e, 0x49, 0x89, 0x0a, 0xba, 0x75, 0x7b, 0xb6, 0x14, - 0x80, 0x5e, 0xd1, 0xdb, 0x95, 0xec, 0xfb, 0x3e, 0x32, 0x3d, 0xf6, 0xf1, 0xbf, 0x3b, 0x1d, 0x23, - 0x33, 0x2b, 0x86, 0x74, 0x04, 0x7a, 0x18, 0x8e, 0xae, 0x2f, 0x5e, 0x5a, 0x69, 0x2c, 0xa8, 0xcb, - 0xeb, 0x97, 0xc4, 0x79, 0x88, 0x98, 0x5d, 0xf9, 0xd6, 0xed, 0xd9, 0x3c, 0x9f, 0xd2, 0x30, 0xe8, - 0x35, 0xa5, 0x71, 0x6d, 0x75, 0xa3, 0x21, 0xc5, 0x18, 0xf4, 0x9a, 0x8d, 0x6f, 0x98, 0x2e, 0x7b, - 0x24, 0xf0, 0x51, 0x38, 0x36, 0x00, 0xda, 0x9b, 0xd8, 0xf8, 0xad, 0xdb, 0xb3, 0xc5, 0x35, 0x1b, - 0xb3, 0xfd, 0x43, 0x31, 0xe6, 0x60, 0xaa, 0x1f, 0x63, 0x75, 0x6d, 0x75, 0xbd, 0xba, 0x24, 0xcd, - 0x56, 0xa4, 0x5b, 0xb7, 0x67, 0x0b, 0x42, 0x19, 0x12, 0x78, 0x7f, 0x66, 0x6f, 0x55, 0xb4, 0xf3, - 0xa3, 0x99, 0x50, 0x2e, 0x8f, 0xc5, 0x11, 0x96, 0x66, 0x6b, 0x9d, 0xc3, 0x86, 0x3b, 0x11, 0xc7, - 0xb9, 0xf2, 0x2b, 0x71, 0x28, 0x7b, 0xce, 0xf4, 0x1a, 0xed, 0x01, 0x3d, 0x1e, 0xcc, 0xc3, 0xe4, - 0x87, 0x9a, 0x31, 0x06, 0x2d, 0xd2, 0x34, 0xef, 0x80, 0xac, 0x70, 0xca, 0xb8, 0xba, 0x98, 0xed, - 0xc7, 0x6b, 0x70, 0x08, 0x8e, 0xea, 0x61, 0xa0, 0x67, 0x21, 0xe7, 0x29, 0x0f, 0xef, 0x89, 0x9d, - 0xe1, 0xda, 0x86, 0xe3, 0xfb, 0x38, 0xe8, 0x69, 0x3f, 0x6c, 0x48, 0x0e, 0x0b, 0x44, 0xae, 0x31, - 0x00, 0x8e, 0x2c, 0xe0, 0xe5, 0x45, 0xbe, 0xed, 0xf8, 0xec, 0xe9, 0xf3, 0x04, 0x7b, 0x2a, 0x8b, - 0xa4, 0x98, 0x57, 0x92, 0xed, 0x68, 0x7b, 0x35, 0x1a, 0x4c, 0x1d, 0x85, 0x0c, 0x69, 0xdc, 0xe1, - 0x5f, 0x5f, 0x27, 0x94, 0x74, 0x47, 0xdb, 0xbb, 0xa4, 0x39, 0x57, 0x92, 0xd9, 0x84, 0x94, 0x94, - 0x3f, 0x11, 0x83, 0x52, 0x78, 0x8e, 0xe8, 0x21, 0x40, 0x04, 0x43, 0xdb, 0xc1, 0x2a, 0x51, 0x31, - 0x94, 0x59, 0x82, 0x6e, 0xb9, 0xa3, 0xed, 0x55, 0x77, 0xf0, 0x4a, 0xb7, 0x43, 0x07, 0xe0, 0xa0, - 0x65, 0x90, 0x04, 0xb0, 0x58, 0x27, 0xce, 0xcc, 0x63, 0xfd, 0x0f, 0xee, 0x71, 0x00, 0x66, 0xa8, - 0x3e, 0x40, 0x0c, 0x55, 0x89, 0xd1, 0xf3, 0x8e, 0xe3, 0x43, 0x53, 0x49, 0x84, 0xa7, 0x22, 0x3f, - 0x0b, 0xe5, 0x1e, 0x7e, 0x22, 0x19, 0x8a, 0x3c, 0x2b, 0x40, 0x8f, 0x3a, 0x99, 0x7f, 0x9c, 0x53, - 0xf2, 0x2c, 0xfa, 0xa7, 0x47, 0xbf, 0xf3, 0xd9, 0xcf, 0xbd, 0x3a, 0x13, 0xa3, 0x09, 0xf3, 0x87, - 0xa0, 0x18, 0xe2, 0xa8, 0xc8, 0xd4, 0xc5, 0xfc, 0x4c, 0x9d, 0x0f, 0xfc, 0x22, 0x14, 0x88, 0xa2, - 0xc4, 0x2d, 0x0e, 0xfb, 0x20, 0x94, 0x99, 0x22, 0xef, 0xe5, 0x35, 0xf3, 0xa4, 0x96, 0x05, 0xc3, - 0x65, 0xe1, 0x5a, 0x85, 0xd9, 0x9e, 0x17, 0x50, 0x97, 0x34, 0xa7, 0xf6, 0xae, 0x8f, 0xbf, 0x3e, - 0x1d, 0x7b, 0x6b, 0x36, 0xe2, 0x97, 0xde, 0x05, 0xc7, 0x03, 0x8d, 0xda, 0x56, 0x53, 0x0f, 0x65, - 0x1d, 0xca, 0x01, 0x21, 0x23, 0x8d, 0x51, 0xd9, 0x83, 0x03, 0x73, 0x18, 0x07, 0x27, 0xcc, 0x2a, - 0x07, 0x6b, 0x84, 0xe8, 0xc4, 0xc6, 0xe0, 0x1c, 0xe5, 0xff, 0xcd, 0x42, 0x46, 0xc1, 0xef, 0xe9, - 0x62, 0xc7, 0x45, 0x67, 0x21, 0x89, 0x9b, 0xbb, 0xe6, 0xa0, 0x94, 0x10, 0x99, 0xdc, 0x1c, 0x87, - 0x6b, 0x34, 0x77, 0xcd, 0xcb, 0x63, 0x0a, 0x85, 0x45, 0xe7, 0x20, 0xb5, 0xdd, 0xee, 0xf2, 0x3c, - 0x45, 0x8f, 0xb2, 0x08, 0x22, 0x5d, 0x24, 0x40, 0x97, 0xc7, 0x14, 0x06, 0x4d, 0xba, 0xa2, 0x4f, - 0x97, 0x26, 0x0e, 0xee, 0x6a, 0xd1, 0xd8, 0xa6, 0x5d, 0x11, 0x58, 0x54, 0x03, 0xd0, 0x0d, 0xdd, - 0x55, 0x69, 0x0c, 0xcf, 0x3d, 0xc1, 0x7b, 0x87, 0x63, 0xea, 0x2e, 0x8d, 0xfa, 0x2f, 0x8f, 0x29, - 0x39, 0x5d, 0x14, 0xc8, 0x70, 0xdf, 0xd3, 0xc5, 0xf6, 0x3e, 0x77, 0x00, 0x87, 0x0e, 0xf7, 0x5d, - 0x04, 0x88, 0x0c, 0x97, 0x42, 0xa3, 0x06, 0xe4, 0xe9, 0x37, 0xaa, 0x6c, 0xff, 0xf2, 0x67, 0x34, - 0xe5, 0x61, 0xc8, 0x35, 0x02, 0x4a, 0xb7, 0xf4, 0xe5, 0x31, 0x05, 0xb6, 0xbc, 0x12, 0x51, 0x92, - 0xec, 0x99, 0x25, 0x77, 0x8f, 0x3f, 0x1e, 0x38, 0x33, 0x8c, 0x06, 0x7d, 0x6b, 0x69, 0x63, 0xef, - 0xf2, 0x98, 0x92, 0x69, 0xb2, 0x9f, 0x64, 0xfe, 0x2d, 0xdc, 0xd6, 0x6f, 0x60, 0x9b, 0xe0, 0xe7, - 0x0e, 0x9e, 0xff, 0x02, 0x83, 0xa4, 0x14, 0x72, 0x2d, 0x51, 0x20, 0x8a, 0x16, 0x1b, 0x2d, 0x3e, - 0x0d, 0xe8, 0xd7, 0xd3, 0xa1, 0x75, 0x36, 0x5a, 0x62, 0x12, 0x59, 0xcc, 0x7f, 0xa3, 0xa7, 0x3c, - 0x0f, 0x35, 0xdf, 0xef, 0x14, 0x86, 0x26, 0xc0, 0x72, 0x15, 0x63, 0xc2, 0x53, 0x45, 0x2b, 0x50, - 0x6a, 0xeb, 0x8e, 0xab, 0x3a, 0x86, 0x66, 0x39, 0xbb, 0xa6, 0xeb, 0xd0, 0xa0, 0x3f, 0x7f, 0xf6, - 0x81, 0x61, 0x14, 0x96, 0x74, 0xc7, 0x5d, 0x17, 0xc0, 0x97, 0xc7, 0x94, 0x62, 0x3b, 0x58, 0x41, - 0xe8, 0x99, 0xdb, 0xdb, 0xd8, 0xf6, 0x08, 0xd2, 0xe4, 0xc0, 0x01, 0xf4, 0x56, 0x09, 0xb4, 0xc0, - 0x27, 0xf4, 0xcc, 0x60, 0x05, 0xfa, 0x5e, 0x98, 0x68, 0x9b, 0x5a, 0xcb, 0x23, 0xa7, 0x36, 0x77, - 0xbb, 0xc6, 0x75, 0x9a, 0x49, 0xc8, 0x9f, 0x3d, 0x35, 0x74, 0x90, 0xa6, 0xd6, 0x12, 0x24, 0xea, - 0x04, 0xe1, 0xf2, 0x98, 0x32, 0xde, 0xee, 0xad, 0x44, 0xef, 0x86, 0x49, 0xcd, 0xb2, 0xda, 0xfb, - 0xbd, 0xd4, 0xcb, 0x94, 0xfa, 0xe9, 0x61, 0xd4, 0xab, 0x04, 0xa7, 0x97, 0x3c, 0xd2, 0xfa, 0x6a, - 0xd1, 0x06, 0x48, 0x96, 0x8d, 0xe9, 0x47, 0x35, 0x16, 0x77, 0x55, 0xe8, 0xcb, 0x58, 0xf9, 0xb3, - 0x27, 0x86, 0xd1, 0x5e, 0x63, 0xf0, 0xc2, 0xb3, 0xb9, 0x3c, 0xa6, 0x94, 0xad, 0x70, 0x15, 0xa3, - 0x6a, 0x36, 0x31, 0x7d, 0xbd, 0x89, 0x53, 0x1d, 0x8f, 0xa2, 0x4a, 0xe1, 0xc3, 0x54, 0x43, 0x55, - 0xb5, 0x0c, 0xbf, 0x14, 0xc7, 0x9f, 0x56, 0x39, 0x01, 0xf9, 0x80, 0x62, 0x41, 0x53, 0x90, 0xe1, - 0x97, 0x04, 0xc4, 0x65, 0x3a, 0x5e, 0x94, 0x4b, 0x50, 0x08, 0x2a, 0x13, 0xf9, 0xfd, 0x31, 0x0f, - 0x93, 0x7e, 0xeb, 0x3e, 0x15, 0x4e, 0x1d, 0xe6, 0xfc, 0xac, 0xe0, 0x7d, 0xc2, 0x8a, 0x88, 0x76, - 0x76, 0x9a, 0x54, 0xa0, 0x95, 0xdc, 0x88, 0xa1, 0x19, 0xc8, 0x5b, 0x67, 0x2d, 0x0f, 0x24, 0x41, - 0x41, 0xc0, 0x3a, 0x6b, 0x09, 0x80, 0x7b, 0xa1, 0x40, 0x66, 0xaa, 0x06, 0x1d, 0x8d, 0x9c, 0x92, - 0x27, 0x75, 0x1c, 0x44, 0xfe, 0x37, 0x71, 0x90, 0x7a, 0x15, 0x90, 0x97, 0x53, 0x8c, 0x1d, 0x3a, - 0xa7, 0x78, 0xac, 0x37, 0x9b, 0xe9, 0x27, 0x30, 0x97, 0x40, 0xf2, 0xf3, 0x70, 0xcc, 0x10, 0x0c, - 0x77, 0x9c, 0x7a, 0x3c, 0x3c, 0xa5, 0xdc, 0xec, 0x71, 0xf9, 0x2e, 0x86, 0xce, 0x5e, 0xc4, 0xdb, - 0xdc, 0xbd, 0x4b, 0xec, 0xf9, 0x0b, 0x9b, 0x56, 0x4b, 0x73, 0xb1, 0xc8, 0x8b, 0x04, 0x8e, 0x61, - 0x1e, 0x84, 0xb2, 0x66, 0x59, 0xaa, 0xe3, 0x6a, 0x2e, 0xe6, 0x66, 0x3d, 0xc5, 0xd2, 0x83, 0x9a, - 0x65, 0xad, 0x93, 0x5a, 0x66, 0xd6, 0x1f, 0x80, 0x12, 0xd1, 0xc9, 0xba, 0xd6, 0x56, 0x79, 0x96, - 0x20, 0xcd, 0xac, 0x3f, 0xaf, 0xbd, 0x4c, 0x2b, 0xe5, 0x96, 0xb7, 0xe2, 0x54, 0x1f, 0x7b, 0x61, - 0x56, 0x2c, 0x10, 0x66, 0x21, 0xfe, 0x08, 0x01, 0xe3, 0x8f, 0x78, 0xb7, 0x61, 0x70, 0x76, 0x77, - 0x92, 0x86, 0x64, 0x37, 0x58, 0xc2, 0x23, 0xab, 0xb0, 0x82, 0xfc, 0xde, 0x38, 0x8c, 0xf7, 0x69, - 0xee, 0x81, 0x69, 0x6f, 0x3f, 0xbe, 0x8c, 0x1f, 0x2a, 0xbe, 0xbc, 0x1a, 0x4e, 0xeb, 0x06, 0x2c, - 0xdf, 0xf1, 0x3e, 0x26, 0x33, 0xbd, 0x49, 0x04, 0x9a, 0x13, 0x09, 0x64, 0x7e, 0xa9, 0x98, 0x6f, - 0xc2, 0xe4, 0xd6, 0xfe, 0xcb, 0x9a, 0xe1, 0xea, 0x06, 0x56, 0xfb, 0x56, 0xad, 0xdf, 0x94, 0x2e, - 0xeb, 0xce, 0x16, 0xde, 0xd5, 0x6e, 0xe8, 0xa6, 0x18, 0xd6, 0x84, 0x87, 0xef, 0x27, 0x77, 0x65, - 0x05, 0x4a, 0x61, 0xd3, 0x83, 0x4a, 0x10, 0x77, 0xf7, 0xf8, 0xfc, 0xe3, 0xee, 0x1e, 0x7a, 0x94, - 0xe7, 0x81, 0xe2, 0x34, 0x0f, 0xd4, 0xdf, 0x11, 0xc7, 0xf3, 0x93, 0x40, 0xb2, 0xec, 0xed, 0x06, - 0xcf, 0x1c, 0xf5, 0x52, 0x95, 0x4f, 0x41, 0xb9, 0xc7, 0xde, 0x0c, 0xcb, 0x0a, 0xca, 0x65, 0x28, - 0x86, 0x8c, 0x8b, 0x7c, 0x04, 0x26, 0x07, 0xd9, 0x0a, 0x79, 0xd7, 0xab, 0x0f, 0xe9, 0x7c, 0x74, - 0x0e, 0xb2, 0x9e, 0xb1, 0x18, 0x90, 0x85, 0xa0, 0xb3, 0x10, 0xc0, 0x8a, 0x07, 0x1a, 0x4a, 0x66, - 0xc7, 0x43, 0xc9, 0x6c, 0xf9, 0x07, 0x60, 0x6a, 0x98, 0x21, 0xe8, 0x99, 0x46, 0xd2, 0x93, 0xc2, - 0x23, 0x90, 0xe6, 0x4f, 0xb4, 0xc5, 0xe9, 0xf1, 0x0d, 0x2f, 0x11, 0xe9, 0x64, 0x46, 0x21, 0xc1, - 0x4e, 0x75, 0x68, 0x41, 0x56, 0xe1, 0xd8, 0x50, 0x63, 0x30, 0xfc, 0x20, 0x88, 0x11, 0xe2, 0x07, - 0x41, 0x4d, 0x31, 0x1c, 0x87, 0xce, 0x55, 0x5c, 0x76, 0x60, 0x25, 0xf9, 0x03, 0x09, 0x38, 0x32, - 0xd8, 0x24, 0xa0, 0x59, 0x28, 0x10, 0xbf, 0xdb, 0x0d, 0xbb, 0xe8, 0xd0, 0xd1, 0xf6, 0x36, 0xb8, - 0x7f, 0xce, 0x13, 0xe9, 0x71, 0x2f, 0x91, 0x8e, 0x36, 0x61, 0xbc, 0x6d, 0x36, 0xb5, 0xb6, 0x1a, - 0x90, 0x78, 0x2e, 0xec, 0xf7, 0xf5, 0x31, 0xbb, 0xc1, 0x1e, 0x6e, 0x6e, 0xf5, 0x09, 0x7d, 0x99, - 0xd2, 0x58, 0xf2, 0x24, 0x1f, 0x2d, 0x40, 0xbe, 0xe3, 0x0b, 0xf2, 0x21, 0x84, 0x3d, 0x88, 0x16, - 0x58, 0x92, 0xd4, 0xc0, 0x63, 0x9f, 0xf4, 0xa1, 0x55, 0xf4, 0xb0, 0x13, 0x94, 0xcc, 0xd0, 0x13, - 0x94, 0x41, 0xc7, 0x15, 0xd9, 0xc1, 0xc7, 0x15, 0xef, 0x0b, 0x2e, 0x4d, 0xc8, 0x88, 0xf6, 0x9f, - 0x60, 0xa0, 0x75, 0x98, 0xe4, 0xf8, 0xad, 0x10, 0xef, 0xe3, 0xa3, 0x2a, 0x1a, 0x24, 0xd0, 0x87, - 0xb3, 0x3d, 0x71, 0x67, 0x6c, 0x17, 0xba, 0x34, 0x19, 0xd0, 0xa5, 0xff, 0x9f, 0x2d, 0xc5, 0xbf, - 0xcb, 0x41, 0x56, 0xc1, 0x8e, 0x45, 0x0c, 0x27, 0xaa, 0x41, 0x0e, 0xef, 0x35, 0xb1, 0xe5, 0xfa, - 0xc7, 0x94, 0x83, 0x82, 0x01, 0x06, 0xdd, 0x10, 0x90, 0xc4, 0x13, 0xf7, 0xd0, 0xd0, 0xe3, 0x3c, - 0xd8, 0x1a, 0x1e, 0x37, 0x71, 0xf4, 0x60, 0xb4, 0x75, 0x5e, 0x44, 0x5b, 0x89, 0xa1, 0xce, 0x37, - 0xc3, 0xea, 0x09, 0xb7, 0x1e, 0xe7, 0xe1, 0x56, 0x32, 0xa2, 0xb3, 0x50, 0xbc, 0x55, 0x0f, 0xc5, - 0x5b, 0xe9, 0x88, 0x69, 0x0e, 0x09, 0xb8, 0xce, 0x8b, 0x80, 0x2b, 0x13, 0x31, 0xe2, 0x9e, 0x88, - 0xeb, 0x62, 0x38, 0xe2, 0xca, 0x0e, 0x51, 0x20, 0x02, 0x7b, 0x68, 0xc8, 0xf5, 0x4c, 0x20, 0xe4, - 0xca, 0x0d, 0x8d, 0x77, 0x18, 0x91, 0x01, 0x31, 0x57, 0x3d, 0x14, 0x73, 0x41, 0x04, 0x0f, 0x86, - 0x04, 0x5d, 0xdf, 0x13, 0x0c, 0xba, 0xf2, 0x43, 0xe3, 0x36, 0xbe, 0xde, 0x83, 0xa2, 0xae, 0xa7, - 0xbd, 0xa8, 0xab, 0x30, 0x34, 0x6c, 0xe4, 0x73, 0xe8, 0x0d, 0xbb, 0x56, 0xfb, 0xc2, 0xae, 0x22, - 0xff, 0x9b, 0x08, 0xc3, 0x48, 0x44, 0xc4, 0x5d, 0xab, 0x7d, 0x71, 0x57, 0x29, 0x82, 0x60, 0x44, - 0xe0, 0xf5, 0x7d, 0x83, 0x03, 0xaf, 0xe1, 0xa1, 0x11, 0x1f, 0xe6, 0x68, 0x91, 0x97, 0x3a, 0x24, - 0xf2, 0x62, 0xd1, 0xd1, 0x43, 0x43, 0xc9, 0x8f, 0x1c, 0x7a, 0x6d, 0x0e, 0x08, 0xbd, 0x58, 0x90, - 0x74, 0x72, 0x28, 0xf1, 0x11, 0x62, 0xaf, 0xcd, 0x01, 0xb1, 0x17, 0x8a, 0x24, 0x7b, 0x98, 0xe0, - 0x2b, 0x25, 0xa5, 0xe5, 0x53, 0xc4, 0xf5, 0xed, 0xd1, 0x53, 0xc4, 0x7f, 0xc0, 0xb6, 0x6d, 0xda, - 0xe2, 0x66, 0x2d, 0x2d, 0xc8, 0x27, 0x89, 0x33, 0xee, 0xeb, 0xa4, 0x03, 0x02, 0x35, 0xea, 0xa7, - 0x05, 0xf4, 0x90, 0xfc, 0xb9, 0x98, 0x8f, 0x4b, 0x7d, 0xd8, 0xa0, 0x23, 0x9f, 0xe3, 0x8e, 0x7c, - 0x20, 0x7c, 0x8b, 0x87, 0xc3, 0xb7, 0x19, 0xc8, 0x13, 0xff, 0xab, 0x27, 0x32, 0xd3, 0x2c, 0x2f, - 0x32, 0x13, 0x57, 0x0a, 0x58, 0x90, 0xc7, 0xcd, 0x0a, 0x3b, 0xc9, 0x29, 0x7b, 0xd7, 0x2b, 0x58, - 0x4c, 0x81, 0x1e, 0x81, 0x89, 0x00, 0xac, 0xe7, 0xd7, 0xb1, 0x30, 0x45, 0xf2, 0xa0, 0xab, 0xdc, - 0xc1, 0xfb, 0xe7, 0x31, 0x9f, 0x43, 0x7e, 0x48, 0x37, 0x28, 0xfa, 0x8a, 0xbd, 0x49, 0xd1, 0x57, - 0xfc, 0x8e, 0xa3, 0xaf, 0xa0, 0x9f, 0x9a, 0x08, 0xfb, 0xa9, 0x7f, 0x1e, 0xf3, 0xd7, 0xc4, 0x8b, - 0xa5, 0x9a, 0x66, 0x0b, 0x73, 0xcf, 0x91, 0xfe, 0x26, 0x4e, 0x45, 0xdb, 0xdc, 0xe1, 0xfe, 0x21, - 0xf9, 0x49, 0xa0, 0x3c, 0xc3, 0x91, 0xe3, 0x76, 0xc1, 0x73, 0x3a, 0x53, 0xc1, 0xfb, 0xbf, 0xfc, - 0x52, 0x6c, 0xda, 0xbf, 0x14, 0xeb, 0x7d, 0xfc, 0x96, 0x09, 0x7c, 0xfc, 0x86, 0x9e, 0x82, 0x1c, - 0xcd, 0x88, 0xaa, 0xa6, 0x25, 0xfe, 0x82, 0xc6, 0xf1, 0xe1, 0x17, 0x62, 0x1d, 0x7a, 0x55, 0x8f, - 0x5d, 0xa2, 0xf5, 0x3d, 0x86, 0x5c, 0xc8, 0x63, 0xb8, 0x1b, 0x72, 0x64, 0xf4, 0xec, 0x25, 0x68, - 0xe0, 0x5f, 0x4e, 0x8a, 0x0a, 0xf9, 0xdd, 0x80, 0xfa, 0x8d, 0x04, 0xba, 0x0c, 0x69, 0x7c, 0x83, - 0x3e, 0xab, 0xc7, 0x2e, 0x1a, 0x1e, 0xe9, 0x77, 0x4d, 0x49, 0x73, 0x6d, 0x8a, 0x30, 0xf9, 0xeb, - 0xaf, 0xcd, 0x48, 0x0c, 0xfa, 0x61, 0xef, 0x43, 0x01, 0x85, 0xe3, 0xcb, 0xff, 0x29, 0x4e, 0x02, - 0x98, 0x90, 0x01, 0x19, 0xc8, 0xdb, 0x41, 0x47, 0x84, 0xa3, 0xf1, 0x7b, 0x1a, 0x60, 0x47, 0x73, - 0xd4, 0x9b, 0x9a, 0xe1, 0xe2, 0x16, 0x67, 0x7a, 0xa0, 0x06, 0x55, 0x20, 0x4b, 0x4a, 0x5d, 0x07, - 0xb7, 0x78, 0x18, 0xed, 0x95, 0x03, 0xf3, 0xcc, 0x7c, 0x67, 0xf3, 0x0c, 0x73, 0x39, 0xdb, 0xc3, - 0xe5, 0x40, 0x70, 0x91, 0x0b, 0x06, 0x17, 0xec, 0x62, 0x30, 0xbf, 0x9f, 0x08, 0x6c, 0x6c, 0xa2, - 0x8c, 0xee, 0x83, 0x62, 0x07, 0x77, 0x2c, 0xd3, 0x6c, 0xab, 0x4c, 0xdd, 0xb0, 0x27, 0xdf, 0x0b, - 0xbc, 0xb2, 0x41, 0xb5, 0xce, 0x8f, 0xc4, 0xfd, 0xfd, 0xe7, 0x07, 0x91, 0xdf, 0x75, 0x0c, 0x96, - 0x7f, 0x9c, 0x66, 0x96, 0xc2, 0x2e, 0x02, 0x5a, 0x0f, 0xde, 0x1a, 0xe9, 0x52, 0xb5, 0x20, 0x04, - 0x7a, 0x54, 0xfd, 0xe1, 0xdf, 0x2e, 0x61, 0xd5, 0x0e, 0x7a, 0x01, 0x8e, 0xf6, 0xe8, 0x36, 0x8f, - 0x74, 0x7c, 0x54, 0x15, 0x77, 0x57, 0x58, 0xc5, 0x09, 0xd2, 0x3e, 0xb3, 0x12, 0xdf, 0xe1, 0xae, - 0x5b, 0x84, 0x52, 0xd8, 0xe3, 0x19, 0xb8, 0xfc, 0xf4, 0x4f, 0x8c, 0xb8, 0x9a, 0x6e, 0xa8, 0xa1, - 0x74, 0x50, 0x81, 0x55, 0xf2, 0x24, 0xd3, 0x1a, 0xdc, 0x35, 0xd0, 0xf3, 0x41, 0x4f, 0x42, 0xce, - 0x77, 0x9a, 0x18, 0x57, 0x0f, 0x48, 0x17, 0xf8, 0xb0, 0xf2, 0x6f, 0xc5, 0x7c, 0x92, 0xe1, 0x04, - 0x44, 0x03, 0xd2, 0xec, 0xda, 0x1b, 0xbf, 0x4c, 0xf3, 0xc8, 0x68, 0x3e, 0xd3, 0x1c, 0xbb, 0x13, - 0xa7, 0x70, 0x64, 0xf9, 0xdd, 0x90, 0x66, 0x35, 0x28, 0x0f, 0x19, 0xff, 0xe5, 0x5b, 0x80, 0x74, - 0xb5, 0x5e, 0x6f, 0xac, 0x6d, 0x48, 0x31, 0x94, 0x83, 0x54, 0xb5, 0xb6, 0xaa, 0x6c, 0x48, 0x71, - 0x52, 0xad, 0x34, 0xae, 0x34, 0xea, 0x1b, 0x52, 0x02, 0x8d, 0x43, 0x91, 0xfd, 0x56, 0x2f, 0xae, - 0x2a, 0xcb, 0xd5, 0x0d, 0x29, 0x19, 0xa8, 0x5a, 0x6f, 0xac, 0x2c, 0x34, 0x14, 0x29, 0x25, 0x3f, - 0x06, 0xc7, 0x86, 0x7a, 0x59, 0x7e, 0x76, 0x21, 0x16, 0xc8, 0x2e, 0xc8, 0x1f, 0x88, 0x43, 0x65, - 0xb8, 0xeb, 0x84, 0xae, 0xf4, 0x4c, 0xfc, 0xec, 0x21, 0xfc, 0xae, 0x9e, 0xd9, 0xa3, 0x07, 0xa0, - 0x64, 0xe3, 0x6d, 0xec, 0x36, 0x77, 0x99, 0x2b, 0xc7, 0x4c, 0x66, 0x51, 0x29, 0xf2, 0x5a, 0x8a, - 0xe4, 0x30, 0xb0, 0x97, 0x70, 0xd3, 0x55, 0x99, 0x2e, 0x72, 0xf8, 0xdf, 0x3a, 0x2c, 0xb2, 0xda, - 0x75, 0x56, 0x29, 0xff, 0xc0, 0xa1, 0x78, 0x99, 0x83, 0x94, 0xd2, 0xd8, 0x50, 0x5e, 0x90, 0x12, - 0x08, 0x41, 0x89, 0xfe, 0x54, 0xd7, 0x57, 0xaa, 0x6b, 0xeb, 0x97, 0x57, 0x09, 0x2f, 0x27, 0xa0, - 0x2c, 0x78, 0x29, 0x2a, 0x53, 0xf2, 0x43, 0x70, 0x74, 0x88, 0xdf, 0x37, 0xe0, 0x1e, 0xe2, 0x87, - 0x63, 0x41, 0xe8, 0x70, 0xcc, 0xbf, 0x0a, 0x69, 0xc7, 0xd5, 0xdc, 0xae, 0xc3, 0x99, 0xf8, 0xe4, - 0xa8, 0x8e, 0xe0, 0x9c, 0xf8, 0xb1, 0x4e, 0xd1, 0x15, 0x4e, 0x46, 0x3e, 0x07, 0xa5, 0x70, 0xcb, - 0x70, 0x1e, 0xf8, 0x42, 0x14, 0x97, 0x5f, 0x00, 0x08, 0xe4, 0x23, 0xbd, 0x1b, 0x5d, 0xb1, 0xe0, - 0x8d, 0xae, 0x73, 0x90, 0xba, 0x61, 0x32, 0x9d, 0x31, 0x78, 0xe3, 0x5c, 0x33, 0x5d, 0x1c, 0x48, - 0x3e, 0x30, 0x68, 0x59, 0x07, 0xd4, 0x9f, 0x13, 0x1a, 0xd2, 0xc5, 0x33, 0xe1, 0x2e, 0xee, 0x1d, - 0x9a, 0x5d, 0x1a, 0xdc, 0xd5, 0xcb, 0x90, 0xa2, 0xda, 0x66, 0xe0, 0x27, 0x3e, 0xdf, 0x0f, 0xa0, - 0xb9, 0xae, 0xad, 0x6f, 0x75, 0xfd, 0x0e, 0x66, 0x06, 0x6b, 0xab, 0xaa, 0x80, 0xab, 0xdd, 0xcd, - 0xd5, 0xd6, 0xa4, 0x8f, 0x1a, 0x50, 0x5d, 0x01, 0x82, 0xf2, 0x0a, 0x94, 0xc2, 0xb8, 0x83, 0x3f, - 0x59, 0xf2, 0xdf, 0x0e, 0xc8, 0x09, 0xf7, 0xc9, 0x73, 0xbe, 0xf8, 0x7b, 0x1e, 0xb4, 0x20, 0xdf, - 0x8a, 0x41, 0x76, 0x63, 0x8f, 0xcb, 0xf1, 0x01, 0x97, 0x2a, 0xfd, 0xef, 0xb6, 0xbc, 0x64, 0x21, - 0xcb, 0xc7, 0x26, 0xbc, 0x2c, 0xef, 0xf7, 0x78, 0x3b, 0x35, 0x39, 0x6a, 0xb4, 0x2b, 0xb2, 0xdd, - 0x5c, 0x3b, 0x5d, 0x18, 0xed, 0x1b, 0x89, 0x49, 0x48, 0x05, 0xbf, 0x6f, 0x60, 0x05, 0xb9, 0x15, - 0xb8, 0x96, 0xc0, 0xcc, 0x46, 0xf0, 0x63, 0x8a, 0xd8, 0xa1, 0x3f, 0xa6, 0xf0, 0x7a, 0x89, 0x07, - 0x7b, 0xb9, 0x01, 0x59, 0x21, 0x14, 0xe8, 0x9d, 0xc1, 0xbb, 0x27, 0xe2, 0x8c, 0x66, 0xa8, 0xf1, - 0xe4, 0xe4, 0x03, 0x57, 0x4f, 0x4e, 0xc3, 0x38, 0xbf, 0x72, 0xe7, 0xc7, 0x15, 0xfc, 0x6d, 0xfe, - 0x32, 0x6b, 0x58, 0x12, 0x41, 0x85, 0xfc, 0xcb, 0x31, 0x90, 0x7a, 0xa5, 0xf2, 0xed, 0x1c, 0x00, - 0x51, 0x8a, 0x44, 0xfa, 0x03, 0x8f, 0x6e, 0xb3, 0x95, 0x2f, 0x92, 0x5a, 0xff, 0xd9, 0xed, 0xf7, - 0xc6, 0x21, 0x1f, 0xc8, 0xe9, 0xa1, 0x27, 0x42, 0x57, 0x40, 0x67, 0x0f, 0xca, 0xff, 0x05, 0xee, - 0x80, 0x86, 0x26, 0x16, 0x3f, 0xfc, 0xc4, 0xde, 0xfc, 0x4b, 0xfa, 0x83, 0xbf, 0xf6, 0x49, 0x0d, - 0xf9, 0xda, 0xe7, 0x87, 0x62, 0x90, 0xf5, 0x4c, 0xf7, 0x61, 0xb3, 0xf9, 0x47, 0x20, 0xcd, 0xad, - 0x13, 0x4b, 0xe7, 0xf3, 0xd2, 0xc0, 0x5c, 0x68, 0x05, 0xb2, 0xe2, 0x8f, 0xda, 0xf0, 0x40, 0xd4, - 0x2b, 0x9f, 0x7e, 0x1a, 0xf2, 0x81, 0x83, 0x15, 0xa2, 0x27, 0x56, 0x1a, 0xcf, 0x49, 0x63, 0x95, - 0xcc, 0xad, 0xdb, 0xb3, 0x89, 0x15, 0x7c, 0x93, 0xec, 0x30, 0xa5, 0x51, 0xbf, 0xdc, 0xa8, 0x5f, - 0x95, 0x62, 0x95, 0xfc, 0xad, 0xdb, 0xb3, 0x19, 0x05, 0xd3, 0xf4, 0xd5, 0xe9, 0xab, 0x50, 0xee, - 0x59, 0x98, 0xb0, 0x7e, 0x47, 0x50, 0x5a, 0xd8, 0x5c, 0x5b, 0x5a, 0xac, 0x57, 0x37, 0x1a, 0x2a, - 0xbb, 0x4e, 0x87, 0x8e, 0xc2, 0xc4, 0xd2, 0xe2, 0xa5, 0xcb, 0x1b, 0x6a, 0x7d, 0x69, 0xb1, 0xb1, - 0xb2, 0xa1, 0x56, 0x37, 0x36, 0xaa, 0xf5, 0xab, 0x52, 0xfc, 0xec, 0xb7, 0x01, 0xca, 0xd5, 0x5a, - 0x7d, 0x91, 0xd8, 0x67, 0x9d, 0xbf, 0x9b, 0x5e, 0x87, 0x24, 0x4d, 0x05, 0x1c, 0x78, 0x55, 0xa4, - 0x72, 0x70, 0x6e, 0x13, 0x5d, 0x84, 0x14, 0xcd, 0x12, 0xa0, 0x83, 0xef, 0x8e, 0x54, 0x22, 0x92, - 0x9d, 0x64, 0x30, 0x74, 0x3b, 0x1d, 0x78, 0x99, 0xa4, 0x72, 0x70, 0xee, 0x13, 0x29, 0x90, 0xf3, - 0xa3, 0x8c, 0xe8, 0xcb, 0x15, 0x95, 0x11, 0xb4, 0x23, 0x5a, 0x82, 0x8c, 0x08, 0x0c, 0xa3, 0xae, - 0x7b, 0x54, 0x22, 0x93, 0x93, 0x84, 0x5d, 0x2c, 0x80, 0x3f, 0xf8, 0xee, 0x4a, 0x25, 0x22, 0xd3, - 0x8a, 0x16, 0xbd, 0x4b, 0xf8, 0x11, 0x57, 0x38, 0x2a, 0x51, 0xc9, 0x46, 0xc2, 0x34, 0x3f, 0x35, - 0x12, 0x7d, 0x23, 0xa7, 0x32, 0x42, 0x12, 0x19, 0x6d, 0x02, 0x04, 0xc2, 0xf5, 0x11, 0xae, 0xda, - 0x54, 0x46, 0x49, 0x0e, 0xa3, 0x55, 0xc8, 0x7a, 0xd1, 0x53, 0xe4, 0xc5, 0x97, 0x4a, 0x74, 0x96, - 0x16, 0xbd, 0x1b, 0x8a, 0xe1, 0xa8, 0x61, 0xb4, 0xeb, 0x2c, 0x95, 0x11, 0xd3, 0xaf, 0x84, 0x7e, - 0x38, 0x84, 0x18, 0xed, 0x7a, 0x4b, 0x65, 0xc4, 0x6c, 0x2c, 0x7a, 0x09, 0xc6, 0xfb, 0x5d, 0xfc, - 0xd1, 0x6f, 0xbb, 0x54, 0x0e, 0x91, 0x9f, 0x45, 0x1d, 0x40, 0x03, 0x42, 0x83, 0x43, 0x5c, 0x7e, - 0xa9, 0x1c, 0x26, 0x5d, 0x8b, 0x5a, 0x50, 0xee, 0xf5, 0xb7, 0x47, 0xbd, 0x0c, 0x53, 0x19, 0x39, - 0x75, 0xcb, 0x7a, 0x09, 0xfb, 0xe9, 0xa3, 0x5e, 0x8e, 0xa9, 0x8c, 0x9c, 0xc9, 0xad, 0x55, 0x87, - 0xde, 0x6f, 0x3c, 0x71, 0xe0, 0xfd, 0x46, 0xff, 0xc6, 0xa2, 0x77, 0xa7, 0xf1, 0x5b, 0x4f, 0xc0, - 0xfd, 0xfc, 0x31, 0x01, 0xc7, 0xd5, 0xae, 0xeb, 0xc6, 0x8e, 0xf7, 0x3a, 0x04, 0x2f, 0xf3, 0xcb, - 0x8d, 0x47, 0xf8, 0x83, 0x05, 0xa2, 0x36, 0xe2, 0x8d, 0x88, 0xa1, 0x0f, 0x67, 0x45, 0x5d, 0x42, - 0x8e, 0xbe, 0xba, 0x78, 0xc0, 0xfb, 0x13, 0x11, 0xaf, 0x5c, 0x0c, 0x78, 0x9f, 0x22, 0xe2, 0x12, - 0xe6, 0x41, 0xf7, 0x3d, 0xe5, 0x9f, 0x89, 0x41, 0xe9, 0xb2, 0xee, 0xb8, 0xa6, 0xad, 0x37, 0xb5, - 0x36, 0xb5, 0x18, 0x17, 0x46, 0xfd, 0xc8, 0xa3, 0x96, 0x23, 0xce, 0x08, 0x7f, 0xd4, 0x82, 0x5f, - 0x0c, 0x59, 0x80, 0xf4, 0x0d, 0xad, 0xcd, 0x3e, 0xb1, 0x08, 0xbe, 0x5f, 0xd3, 0xcb, 0xf3, 0x80, - 0x97, 0x14, 0xa4, 0xc2, 0x70, 0xe5, 0xcf, 0xd2, 0x4b, 0xdc, 0x9d, 0x8e, 0xee, 0xb0, 0x3f, 0x3b, - 0xed, 0x62, 0x07, 0x6d, 0x42, 0xd2, 0xd6, 0x5c, 0x1e, 0xd4, 0xd4, 0xaa, 0xfc, 0x29, 0x8a, 0x07, - 0xa3, 0x1f, 0x94, 0x98, 0xeb, 0x7b, 0xad, 0x82, 0x75, 0x46, 0xc9, 0xa1, 0xef, 0x83, 0x6c, 0x47, - 0xdb, 0x53, 0x29, 0xe9, 0xf8, 0x9b, 0x45, 0x3a, 0xd3, 0xd1, 0xf6, 0xc8, 0xa8, 0x91, 0x0e, 0x65, - 0x42, 0xbd, 0xb9, 0xab, 0x19, 0x3b, 0x98, 0x75, 0x92, 0x78, 0xb3, 0x3a, 0x29, 0x76, 0xb4, 0xbd, - 0x3a, 0x25, 0x4c, 0xba, 0xe2, 0x8f, 0x7e, 0xfc, 0x76, 0x8c, 0x87, 0xb2, 0x94, 0x73, 0x48, 0x03, - 0xa9, 0xe9, 0x95, 0x68, 0xff, 0x22, 0xad, 0x7f, 0x62, 0xd8, 0xc2, 0xf4, 0xf0, 0xbd, 0x56, 0x24, - 0x23, 0xfd, 0xe2, 0x6b, 0x33, 0x31, 0xd6, 0x6b, 0xb9, 0xd9, 0xb3, 0x2e, 0x57, 0x20, 0xcf, 0xb2, - 0x69, 0x2a, 0x75, 0x61, 0xe3, 0x91, 0x2e, 0x6c, 0x51, 0xb8, 0xb0, 0x8c, 0x20, 0x30, 0x6c, 0xd2, - 0xce, 0xe7, 0xf0, 0xf1, 0x18, 0xe4, 0x17, 0x02, 0xcf, 0x55, 0x4d, 0x41, 0xa6, 0x63, 0x1a, 0xfa, - 0x75, 0x6c, 0x7b, 0xe7, 0x32, 0xac, 0x48, 0xdc, 0x4c, 0xf6, 0x67, 0x87, 0xdc, 0x7d, 0xf1, 0x12, - 0x83, 0x28, 0x13, 0xac, 0x9b, 0x78, 0xcb, 0xd1, 0x05, 0xcb, 0x15, 0x51, 0x44, 0xa7, 0x40, 0x72, - 0x70, 0xb3, 0x6b, 0xeb, 0xee, 0xbe, 0xda, 0x34, 0x0d, 0x57, 0x6b, 0xba, 0x3c, 0x7b, 0x5a, 0x16, - 0xf5, 0x75, 0x56, 0x4d, 0x88, 0xb4, 0xb0, 0xab, 0xe9, 0x6d, 0x76, 0xed, 0x2b, 0xa7, 0x88, 0x22, - 0x1f, 0xea, 0x67, 0x33, 0xc1, 0xd0, 0xb0, 0x0e, 0x92, 0x69, 0x61, 0x3b, 0xf4, 0xc9, 0x1b, 0x13, - 0xd7, 0xa9, 0xdf, 0xfb, 0xf4, 0x23, 0x93, 0x9c, 0xe1, 0xfc, 0x00, 0x9e, 0xbd, 0xce, 0xac, 0x94, - 0x05, 0x86, 0xf8, 0x16, 0xee, 0x85, 0xd0, 0x49, 0x4c, 0x77, 0xcb, 0xff, 0xe4, 0x7e, 0xb2, 0x8f, - 0xa9, 0x55, 0x63, 0xbf, 0x36, 0xf5, 0xbb, 0x3e, 0x69, 0x3f, 0x74, 0xbc, 0x8a, 0xf7, 0x83, 0xc7, - 0x32, 0x94, 0x0c, 0xf1, 0xe0, 0x5f, 0xd2, 0xf4, 0xb6, 0xf8, 0x4b, 0x6a, 0x0a, 0x2f, 0xa1, 0x79, - 0x2f, 0x0d, 0xc3, 0xfe, 0x42, 0xba, 0x3c, 0x4c, 0x36, 0x6a, 0xa6, 0xd1, 0x0a, 0x67, 0x5c, 0xd0, - 0x06, 0xa4, 0x5d, 0xf3, 0x3a, 0x36, 0x38, 0x83, 0x6a, 0xef, 0x38, 0x84, 0x60, 0xf7, 0xbf, 0x3f, - 0xc3, 0x69, 0xa1, 0x1d, 0x90, 0x5a, 0xb8, 0x8d, 0x77, 0xd8, 0x07, 0x5b, 0xbb, 0x9a, 0x8d, 0xd9, - 0x47, 0x9c, 0x87, 0xa3, 0xdf, 0xff, 0x4c, 0x4d, 0xd9, 0xa3, 0xba, 0x4e, 0x89, 0xa2, 0xb5, 0xf0, - 0x63, 0x69, 0x19, 0x7e, 0x2a, 0x3f, 0x64, 0xfe, 0x01, 0xa9, 0x0c, 0xaa, 0xad, 0xd0, 0xe3, 0x6a, - 0xa7, 0x40, 0xea, 0x1a, 0x5b, 0xa6, 0x41, 0xff, 0xe8, 0x11, 0x0f, 0xb0, 0xb2, 0xec, 0xe4, 0xce, - 0xab, 0xe7, 0x27, 0x77, 0x6b, 0x50, 0xf2, 0x41, 0xe9, 0xee, 0xc9, 0x1d, 0x76, 0xf7, 0x14, 0x3d, - 0x02, 0x04, 0x04, 0x2d, 0x03, 0xf8, 0xfb, 0xd3, 0x3b, 0xdd, 0x8f, 0xdc, 0xe9, 0xc1, 0xc9, 0x04, - 0x08, 0xa0, 0x36, 0x4c, 0x74, 0x74, 0x43, 0x75, 0x70, 0x7b, 0x5b, 0xe5, 0x9c, 0x23, 0x74, 0xf3, - 0x6f, 0xc2, 0x4a, 0x8f, 0x77, 0x74, 0x63, 0x1d, 0xb7, 0xb7, 0x17, 0x3c, 0xb2, 0xe8, 0x1d, 0x70, - 0xdc, 0x67, 0x87, 0x69, 0xa8, 0xbb, 0x66, 0xbb, 0xa5, 0xda, 0x78, 0x5b, 0x6d, 0xd2, 0xe7, 0x8f, - 0x0a, 0x94, 0x89, 0x47, 0x3d, 0x90, 0x55, 0xe3, 0xb2, 0xd9, 0x6e, 0x29, 0x78, 0xbb, 0x4e, 0x9a, - 0xd1, 0x7d, 0xe0, 0xf3, 0x42, 0xd5, 0x5b, 0xce, 0x54, 0x71, 0x36, 0x71, 0x32, 0xa9, 0x14, 0xbc, - 0xca, 0xc5, 0x96, 0x33, 0x9f, 0x7d, 0xdf, 0xab, 0x33, 0x63, 0x5f, 0x7b, 0x75, 0x66, 0x4c, 0xbe, - 0x48, 0x1f, 0xeb, 0xe0, 0x9b, 0x0e, 0x3b, 0xe8, 0x3c, 0xe4, 0x34, 0x51, 0x60, 0x9f, 0x89, 0x1c, - 0xb0, 0x69, 0x7d, 0x50, 0xf9, 0xd5, 0x18, 0xa4, 0x17, 0xae, 0xad, 0x69, 0xba, 0x8d, 0x1a, 0x30, - 0xee, 0x0b, 0xed, 0xa8, 0xfb, 0xdf, 0x97, 0x73, 0xa1, 0x00, 0x1a, 0xc3, 0xbe, 0x9c, 0x3d, 0x90, - 0x4c, 0xef, 0x37, 0xb5, 0x81, 0xa9, 0x5e, 0x81, 0x0c, 0x1b, 0xa1, 0x83, 0x9e, 0x85, 0x94, 0x45, - 0x7e, 0xf0, 0xec, 0xff, 0xf4, 0x50, 0x41, 0xa7, 0xf0, 0x41, 0xb1, 0x60, 0x78, 0xf2, 0x5f, 0xc4, - 0x00, 0x16, 0xae, 0x5d, 0xdb, 0xb0, 0x75, 0xab, 0x8d, 0xdd, 0x37, 0x6b, 0xca, 0x4b, 0x70, 0x57, - 0xe0, 0xfb, 0x4c, 0xbb, 0x39, 0xf2, 0xb4, 0x27, 0xfc, 0x2f, 0x34, 0xed, 0xe6, 0x40, 0x6a, 0x2d, - 0xc7, 0xf5, 0xa8, 0x25, 0x46, 0xa6, 0xb6, 0xe0, 0xb8, 0xfd, 0x7c, 0x7c, 0x1e, 0xf2, 0xfe, 0xd4, - 0x1d, 0xb4, 0x08, 0x59, 0x97, 0xff, 0xe6, 0xec, 0x94, 0x87, 0xb3, 0x53, 0xa0, 0x05, 0x59, 0xea, - 0xa1, 0xcb, 0xff, 0x9b, 0x70, 0xd5, 0xdf, 0x08, 0x7f, 0xa5, 0x04, 0x89, 0x68, 0x78, 0xae, 0x81, - 0x13, 0x6f, 0x82, 0x06, 0xe6, 0xb4, 0x02, 0x6c, 0xfd, 0xe1, 0x38, 0x4c, 0x6c, 0x8a, 0x4d, 0xfa, - 0x57, 0x96, 0x0b, 0x9b, 0x90, 0xc1, 0x86, 0x6b, 0xeb, 0x58, 0x1c, 0xf5, 0x3d, 0x3a, 0x6c, 0xb1, - 0x07, 0xcc, 0x85, 0xfe, 0x29, 0xe0, 0xe0, 0xd2, 0x0b, 0x5a, 0x01, 0x36, 0xfc, 0x66, 0x02, 0xa6, - 0x86, 0xa1, 0xa2, 0x13, 0x50, 0x6e, 0xda, 0x98, 0x56, 0xa8, 0xa1, 0x54, 0x78, 0x49, 0x54, 0x73, - 0x93, 0xa2, 0x00, 0x71, 0xd0, 0x88, 0x54, 0x11, 0xd0, 0x3b, 0xf3, 0xc8, 0x4a, 0x3e, 0x05, 0x6a, - 0x54, 0x30, 0x94, 0xc5, 0xdd, 0xf6, 0x2d, 0xad, 0xad, 0x19, 0x4d, 0x7c, 0x07, 0x92, 0xd0, 0x6f, - 0x01, 0xc4, 0x85, 0xf9, 0x1a, 0xa3, 0x89, 0xae, 0x41, 0x46, 0x90, 0x4f, 0xbe, 0x09, 0xe4, 0x05, - 0x31, 0x74, 0x2f, 0x14, 0x82, 0x86, 0x81, 0xfa, 0x29, 0x49, 0x25, 0x1f, 0xb0, 0x0b, 0x51, 0x96, - 0x27, 0x7d, 0xa0, 0xe5, 0xe1, 0xae, 0xe0, 0x6f, 0x24, 0x60, 0x5c, 0xc1, 0xad, 0xef, 0xc2, 0x85, - 0xfb, 0x5e, 0x00, 0xb6, 0xa9, 0x89, 0xb2, 0xbd, 0x83, 0xb5, 0xeb, 0x57, 0x12, 0x39, 0x46, 0x6f, - 0xc1, 0x71, 0xdf, 0xae, 0xd5, 0xfb, 0xd7, 0x71, 0x28, 0x04, 0x57, 0xef, 0xbb, 0xc0, 0xb2, 0xa1, - 0x15, 0x5f, 0xa5, 0xb1, 0xdb, 0xe7, 0xa7, 0x86, 0xa9, 0xb4, 0x3e, 0xb9, 0x8e, 0xd0, 0x65, 0xff, - 0x34, 0x09, 0x69, 0x7e, 0x15, 0x6c, 0xb5, 0xcf, 0xc7, 0x8d, 0x45, 0x7d, 0xff, 0x5b, 0x14, 0xdf, - 0xff, 0x0e, 0x74, 0x71, 0x1f, 0x80, 0x12, 0x09, 0xa9, 0x43, 0xf7, 0xcb, 0x62, 0x27, 0x8b, 0x34, - 0x1c, 0xf6, 0x6f, 0x43, 0xa3, 0x19, 0xc8, 0x13, 0x30, 0x5f, 0x67, 0x13, 0x18, 0xe8, 0x68, 0x7b, - 0x0d, 0x56, 0x83, 0x1e, 0x01, 0xb4, 0xeb, 0x25, 0x3e, 0x54, 0x9f, 0x11, 0x04, 0x6e, 0xdc, 0x6f, - 0x11, 0xe0, 0xf7, 0x00, 0x90, 0x51, 0xa8, 0xec, 0x85, 0x4e, 0xfe, 0xda, 0x29, 0xa9, 0x59, 0xa0, - 0xaf, 0x74, 0xfe, 0x64, 0x8c, 0xb9, 0xca, 0x3d, 0xd1, 0x36, 0x0f, 0x5a, 0xd4, 0xc3, 0xed, 0x86, - 0x6f, 0xbe, 0x36, 0x53, 0xd9, 0xd7, 0x3a, 0xed, 0x79, 0x79, 0x00, 0x49, 0x79, 0x50, 0x2e, 0x80, - 0x78, 0xd3, 0xe1, 0xc0, 0x1d, 0x3d, 0x0d, 0xc7, 0x68, 0xea, 0xc1, 0x34, 0x44, 0x18, 0xa9, 0xda, - 0xfc, 0xef, 0x9c, 0x3a, 0x34, 0xce, 0x49, 0x2a, 0x47, 0x3a, 0xda, 0x5e, 0xdd, 0x34, 0x78, 0x78, - 0xa8, 0x88, 0x56, 0xf4, 0x3c, 0x4c, 0x0d, 0x42, 0x53, 0xb7, 0x31, 0xe6, 0x17, 0xdc, 0x8e, 0xcd, - 0x0d, 0x78, 0x6b, 0x75, 0xae, 0x6e, 0xea, 0x06, 0x3f, 0xf4, 0xa2, 0xf7, 0x65, 0xc2, 0x74, 0x2f, - 0x62, 0x3c, 0x7f, 0x3f, 0xd9, 0x6c, 0xb7, 0xbe, 0xfa, 0xc9, 0xd3, 0xc7, 0x03, 0xf3, 0xde, 0xf3, - 0xd2, 0x76, 0x4c, 0x66, 0xe4, 0x4f, 0xc4, 0x00, 0xf9, 0x16, 0xd0, 0xbb, 0xa4, 0xbe, 0x4c, 0xaf, - 0x2e, 0x8b, 0x20, 0x24, 0x76, 0x70, 0x70, 0xe3, 0xe3, 0x87, 0x82, 0x9b, 0xc0, 0x0e, 0x7f, 0xa7, - 0x6f, 0x6f, 0xe2, 0x51, 0x93, 0x0a, 0x8a, 0x3b, 0x47, 0xa2, 0x8a, 0x63, 0x4c, 0x7e, 0x2d, 0x06, - 0xc7, 0xfa, 0xb6, 0x87, 0x37, 0xe4, 0x26, 0x20, 0x3b, 0xd0, 0x48, 0xc5, 0x4c, 0x1c, 0xfa, 0xde, - 0xd9, 0x6e, 0x1b, 0xb7, 0xfb, 0x6c, 0xcc, 0x5b, 0x64, 0x38, 0xb9, 0x66, 0xfc, 0x9d, 0x18, 0x4c, - 0x06, 0x47, 0xe4, 0xcd, 0x6d, 0x1d, 0x0a, 0xc1, 0xb1, 0xf0, 0x59, 0xdd, 0x3f, 0xca, 0xac, 0x82, - 0x13, 0x0a, 0x11, 0x21, 0x73, 0x11, 0x5b, 0x91, 0x25, 0x10, 0x1f, 0x1b, 0x99, 0x4b, 0xde, 0xe1, - 0xc8, 0x20, 0xdd, 0xc4, 0x16, 0xeb, 0x27, 0xe2, 0x90, 0x5c, 0x33, 0xcd, 0x36, 0xfa, 0xa1, 0x18, - 0x8c, 0x1b, 0xa6, 0xab, 0x92, 0x0d, 0x8c, 0x5b, 0x2a, 0xcf, 0x60, 0x30, 0xf5, 0x7e, 0xed, 0x70, - 0xdc, 0xfb, 0xfa, 0x6b, 0x33, 0xfd, 0xa4, 0x06, 0xbd, 0xfb, 0x5b, 0x36, 0x4c, 0xb7, 0x46, 0x81, - 0x36, 0x58, 0x92, 0xe3, 0x26, 0x14, 0xc3, 0xfd, 0x33, 0x9b, 0xa0, 0x1c, 0xba, 0xff, 0x62, 0x64, - 0xdf, 0x85, 0xad, 0x40, 0xc7, 0xec, 0xf5, 0xcd, 0x3f, 0x21, 0x8b, 0xfb, 0x02, 0x48, 0xd7, 0x7a, - 0xaf, 0xcb, 0x35, 0x20, 0x73, 0xd8, 0x9b, 0x77, 0x41, 0x8e, 0x73, 0x5c, 0xf9, 0xcf, 0xe3, 0x70, - 0x8c, 0x2b, 0x97, 0xab, 0xbe, 0x12, 0x60, 0xb9, 0xe6, 0x7d, 0x74, 0x71, 0x68, 0xaa, 0xec, 0xf8, - 0x37, 0x5f, 0x9b, 0x39, 0xca, 0xb4, 0x5f, 0x2f, 0x84, 0xdc, 0x9f, 0x2d, 0xeb, 0x42, 0x99, 0x58, - 0xfb, 0x80, 0xba, 0x3a, 0x30, 0x59, 0xf6, 0xe4, 0x37, 0x5f, 0x9b, 0x39, 0xce, 0x89, 0x73, 0xb4, - 0x60, 0xa2, 0x4d, 0x1e, 0x9a, 0x4b, 0x2b, 0x9a, 0xed, 0x96, 0xaf, 0x2a, 0x49, 0xb7, 0x06, 0xbe, - 0x19, 0xea, 0x36, 0x31, 0x5a, 0xb7, 0x02, 0x6d, 0xc4, 0x6e, 0x0d, 0x7c, 0x33, 0xd0, 0xad, 0x7f, - 0x64, 0x9f, 0x0c, 0x1e, 0xd9, 0xcf, 0x17, 0x88, 0xe5, 0xfd, 0x00, 0xb7, 0xbe, 0xa7, 0x3f, 0x13, - 0x03, 0xf0, 0x33, 0x75, 0xe8, 0x61, 0x38, 0x5a, 0x5b, 0x5d, 0x59, 0x50, 0xd7, 0x37, 0xaa, 0x1b, - 0x9b, 0xeb, 0xe1, 0x67, 0xfa, 0xc5, 0xd3, 0x34, 0x8e, 0x85, 0x9b, 0xfa, 0xb6, 0x8e, 0x5b, 0xe8, - 0x41, 0x98, 0x0c, 0x43, 0x93, 0x52, 0x63, 0x41, 0x8a, 0x55, 0x0a, 0xb7, 0x6e, 0xcf, 0x66, 0x59, - 0x84, 0x82, 0x5b, 0xe8, 0x24, 0xdc, 0xd5, 0x0f, 0xb7, 0xb8, 0x72, 0x49, 0x8a, 0x57, 0x8a, 0xb7, - 0x6e, 0xcf, 0xe6, 0xbc, 0x50, 0x06, 0xc9, 0x80, 0x82, 0x90, 0x9c, 0x5e, 0xa2, 0x02, 0xb7, 0x6e, - 0xcf, 0xa6, 0xd9, 0x86, 0xa8, 0x24, 0xdf, 0xf7, 0x91, 0xe9, 0xb1, 0xd3, 0xdf, 0x0f, 0xb0, 0x68, - 0x6c, 0xdb, 0x1a, 0xfd, 0x5b, 0xd5, 0xa8, 0x02, 0x47, 0x16, 0x57, 0x2e, 0x2a, 0xd5, 0xfa, 0xc6, - 0xe2, 0xea, 0x4a, 0xcf, 0x5f, 0x17, 0x08, 0xb7, 0x2d, 0xac, 0x6e, 0xd6, 0x96, 0x1a, 0xea, 0xfa, - 0xe2, 0xa5, 0x15, 0x76, 0xe0, 0x1f, 0x6a, 0x7b, 0x6e, 0x65, 0x63, 0x71, 0xb9, 0x21, 0xc5, 0x6b, - 0x17, 0x87, 0x1e, 0x39, 0x3d, 0x7c, 0xe0, 0x56, 0xf3, 0xed, 0x53, 0xe8, 0xdc, 0xe9, 0xff, 0x05, - 0x00, 0x00, 0xff, 0xff, 0x8e, 0x2d, 0xd3, 0x71, 0x43, 0x99, 0x00, 0x00, + // 10762 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0xbd, 0x7b, 0x70, 0x24, 0xc7, + 0x79, 0x18, 0x8e, 0x7d, 0xef, 0x7e, 0x8b, 0xdd, 0x1d, 0x34, 0xc0, 0x3b, 0xdc, 0x1e, 0x09, 0x80, + 0xc3, 0xc7, 0x3d, 0x48, 0xe2, 0xc8, 0x23, 0xef, 0x48, 0xe2, 0x44, 0xd1, 0xbb, 0x8b, 0xbd, 0x3b, + 0xdc, 0xe1, 0xa5, 0x59, 0xe0, 0xf8, 0xb0, 0xad, 0xf1, 0x60, 0xb7, 0x01, 0x0c, 0x6f, 0x77, 0x66, + 0x34, 0x33, 0x7b, 0x07, 0xb0, 0x7e, 0xf5, 0x2b, 0xda, 0xb2, 0x1d, 0xf9, 0xe2, 0xd8, 0xb2, 0x9d, + 0xb2, 0x65, 0x5b, 0xa7, 0x50, 0x56, 0xac, 0x87, 0xf3, 0x92, 0x2d, 0x45, 0x92, 0xe3, 0xd8, 0x25, + 0xa7, 0xf2, 0x90, 0x9d, 0x54, 0x4a, 0x72, 0xa5, 0x12, 0x57, 0x2a, 0x61, 0x1c, 0x4a, 0x15, 0x29, + 0xb2, 0x1c, 0x5b, 0x12, 0x9d, 0xc4, 0x51, 0xa5, 0x92, 0xea, 0xd7, 0x3c, 0xf6, 0x81, 0x59, 0x9c, + 0x48, 0xda, 0x29, 0xfd, 0x73, 0xb7, 0xdd, 0xfd, 0x7d, 0x5f, 0x77, 0x7f, 0xfd, 0xf5, 0xf7, 0xea, + 0x9e, 0x06, 0x7c, 0xfb, 0x02, 0xcc, 0xed, 0x98, 0xe6, 0x4e, 0x1b, 0x9f, 0xb1, 0x6c, 0xd3, 0x35, + 0xb7, 0xba, 0xdb, 0x67, 0x5a, 0xd8, 0x69, 0xda, 0xba, 0xe5, 0x9a, 0xf6, 0x3c, 0xad, 0x43, 0x25, + 0x06, 0x31, 0x2f, 0x20, 0xe4, 0x15, 0x98, 0xb8, 0xa8, 0xb7, 0xf1, 0xa2, 0x07, 0xd8, 0xc0, 0x2e, + 0x7a, 0x0a, 0x92, 0xdb, 0x7a, 0x1b, 0x4f, 0xc7, 0xe6, 0x12, 0x27, 0xf3, 0x67, 0xef, 0x9f, 0xef, + 0x41, 0x9a, 0x0f, 0x63, 0xac, 0x93, 0x6a, 0x85, 0x62, 0xc8, 0x5f, 0x49, 0xc2, 0xe4, 0x80, 0x56, + 0x84, 0x20, 0x69, 0x68, 0x1d, 0x42, 0x31, 0x76, 0x32, 0xa7, 0xd0, 0xdf, 0x68, 0x1a, 0x32, 0x96, + 0xd6, 0xbc, 0xae, 0xed, 0xe0, 0xe9, 0x38, 0xad, 0x16, 0x45, 0x34, 0x03, 0xd0, 0xc2, 0x16, 0x36, + 0x5a, 0xd8, 0x68, 0xee, 0x4f, 0x27, 0xe6, 0x12, 0x27, 0x73, 0x4a, 0xa0, 0x06, 0x3d, 0x04, 0x13, + 0x56, 0x77, 0xab, 0xad, 0x37, 0xd5, 0x00, 0x18, 0xcc, 0x25, 0x4e, 0xa6, 0x14, 0x89, 0x35, 0x2c, + 0xfa, 0xc0, 0x27, 0xa0, 0x74, 0x13, 0x6b, 0xd7, 0x83, 0xa0, 0x79, 0x0a, 0x5a, 0x24, 0xd5, 0x01, + 0xc0, 0x1a, 0x8c, 0x77, 0xb0, 0xe3, 0x68, 0x3b, 0x58, 0x75, 0xf7, 0x2d, 0x3c, 0x9d, 0xa4, 0xb3, + 0x9f, 0xeb, 0x9b, 0x7d, 0xef, 0xcc, 0xf3, 0x1c, 0x6b, 0x63, 0xdf, 0xc2, 0xa8, 0x02, 0x39, 0x6c, + 0x74, 0x3b, 0x8c, 0x42, 0x6a, 0x08, 0xff, 0xea, 0x46, 0xb7, 0xd3, 0x4b, 0x25, 0x4b, 0xd0, 0x38, + 0x89, 0x8c, 0x83, 0xed, 0x1b, 0x7a, 0x13, 0x4f, 0xa7, 0x29, 0x81, 0x13, 0x7d, 0x04, 0x1a, 0xac, + 0xbd, 0x97, 0x86, 0xc0, 0x43, 0x35, 0xc8, 0xe1, 0x3d, 0x17, 0x1b, 0x8e, 0x6e, 0x1a, 0xd3, 0x19, + 0x4a, 0xe4, 0x81, 0x01, 0xab, 0x88, 0xdb, 0xad, 0x5e, 0x12, 0x3e, 0x1e, 0x3a, 0x0f, 0x19, 0xd3, + 0x72, 0x75, 0xd3, 0x70, 0xa6, 0xb3, 0x73, 0xb1, 0x93, 0xf9, 0xb3, 0x77, 0x0f, 0x14, 0x84, 0x35, + 0x06, 0xa3, 0x08, 0x60, 0xb4, 0x04, 0x92, 0x63, 0x76, 0xed, 0x26, 0x56, 0x9b, 0x66, 0x0b, 0xab, + 0xba, 0xb1, 0x6d, 0x4e, 0xe7, 0x28, 0x81, 0xd9, 0xfe, 0x89, 0x50, 0xc0, 0x9a, 0xd9, 0xc2, 0x4b, + 0xc6, 0xb6, 0xa9, 0x14, 0x9d, 0x50, 0x19, 0x1d, 0x81, 0xb4, 0xb3, 0x6f, 0xb8, 0xda, 0xde, 0xf4, + 0x38, 0x95, 0x10, 0x5e, 0x92, 0x7f, 0x33, 0x0d, 0xa5, 0x51, 0x44, 0xec, 0x02, 0xa4, 0xb6, 0xc9, + 0x2c, 0xa7, 0xe3, 0x87, 0xe1, 0x01, 0xc3, 0x09, 0x33, 0x31, 0x7d, 0x87, 0x4c, 0xac, 0x40, 0xde, + 0xc0, 0x8e, 0x8b, 0x5b, 0x4c, 0x22, 0x12, 0x23, 0xca, 0x14, 0x30, 0xa4, 0x7e, 0x91, 0x4a, 0xde, + 0x91, 0x48, 0x3d, 0x0f, 0x25, 0x6f, 0x48, 0xaa, 0xad, 0x19, 0x3b, 0x42, 0x36, 0xcf, 0x44, 0x8d, + 0x64, 0xbe, 0x2e, 0xf0, 0x14, 0x82, 0xa6, 0x14, 0x71, 0xa8, 0x8c, 0x16, 0x01, 0x4c, 0x03, 0x9b, + 0xdb, 0x6a, 0x0b, 0x37, 0xdb, 0xd3, 0xd9, 0x21, 0x5c, 0x5a, 0x23, 0x20, 0x7d, 0x5c, 0x32, 0x59, + 0x6d, 0xb3, 0x8d, 0x9e, 0xf6, 0x45, 0x2d, 0x33, 0x44, 0x52, 0x56, 0xd8, 0x26, 0xeb, 0x93, 0xb6, + 0x4d, 0x28, 0xda, 0x98, 0xc8, 0x3d, 0x6e, 0xf1, 0x99, 0xe5, 0xe8, 0x20, 0xe6, 0x23, 0x67, 0xa6, + 0x70, 0x34, 0x36, 0xb1, 0x82, 0x1d, 0x2c, 0xa2, 0xfb, 0xc0, 0xab, 0x50, 0xa9, 0x58, 0x01, 0xd5, + 0x42, 0xe3, 0xa2, 0x72, 0x55, 0xeb, 0xe0, 0xf2, 0xcb, 0x50, 0x0c, 0xb3, 0x07, 0x4d, 0x41, 0xca, + 0x71, 0x35, 0xdb, 0xa5, 0x52, 0x98, 0x52, 0x58, 0x01, 0x49, 0x90, 0xc0, 0x46, 0x8b, 0x6a, 0xb9, + 0x94, 0x42, 0x7e, 0xa2, 0xef, 0xf3, 0x27, 0x9c, 0xa0, 0x13, 0x7e, 0xb0, 0x7f, 0x45, 0x43, 0x94, + 0x7b, 0xe7, 0x5d, 0x7e, 0x12, 0x0a, 0xa1, 0x09, 0x8c, 0xda, 0xb5, 0xfc, 0xff, 0xc1, 0x5d, 0x03, + 0x49, 0xa3, 0xe7, 0x61, 0xaa, 0x6b, 0xe8, 0x86, 0x8b, 0x6d, 0xcb, 0xc6, 0x44, 0x62, 0x59, 0x57, + 0xd3, 0x5f, 0xcd, 0x0c, 0x91, 0xb9, 0xcd, 0x20, 0x34, 0xa3, 0xa2, 0x4c, 0x76, 0xfb, 0x2b, 0x4f, + 0xe7, 0xb2, 0x5f, 0xcb, 0x48, 0xaf, 0xbc, 0xf2, 0xca, 0x2b, 0x71, 0xf9, 0x77, 0xd3, 0x30, 0x35, + 0x68, 0xcf, 0x0c, 0xdc, 0xbe, 0x47, 0x20, 0x6d, 0x74, 0x3b, 0x5b, 0xd8, 0xa6, 0x4c, 0x4a, 0x29, + 0xbc, 0x84, 0x2a, 0x90, 0x6a, 0x6b, 0x5b, 0xb8, 0x3d, 0x9d, 0x9c, 0x8b, 0x9d, 0x2c, 0x9e, 0x7d, + 0x68, 0xa4, 0x5d, 0x39, 0xbf, 0x4c, 0x50, 0x14, 0x86, 0x89, 0xde, 0x09, 0x49, 0xae, 0xa2, 0x09, + 0x85, 0xd3, 0xa3, 0x51, 0x20, 0x7b, 0x49, 0xa1, 0x78, 0xe8, 0x38, 0xe4, 0xc8, 0xff, 0x4c, 0x36, + 0xd2, 0x74, 0xcc, 0x59, 0x52, 0x41, 0xe4, 0x02, 0x95, 0x21, 0x4b, 0xb7, 0x49, 0x0b, 0x0b, 0xd3, + 0xe6, 0x95, 0x89, 0x60, 0xb5, 0xf0, 0xb6, 0xd6, 0x6d, 0xbb, 0xea, 0x0d, 0xad, 0xdd, 0xc5, 0x54, + 0xe0, 0x73, 0xca, 0x38, 0xaf, 0xbc, 0x46, 0xea, 0xd0, 0x2c, 0xe4, 0xd9, 0xae, 0xd2, 0x8d, 0x16, + 0xde, 0xa3, 0xda, 0x33, 0xa5, 0xb0, 0x8d, 0xb6, 0x44, 0x6a, 0x48, 0xf7, 0x2f, 0x39, 0xa6, 0x21, + 0x44, 0x93, 0x76, 0x41, 0x2a, 0x68, 0xf7, 0x4f, 0xf6, 0x2a, 0xee, 0x7b, 0x06, 0x4f, 0xaf, 0x6f, + 0x2f, 0x9d, 0x80, 0x12, 0x85, 0x78, 0x9c, 0x2f, 0xbd, 0xd6, 0x9e, 0x9e, 0x98, 0x8b, 0x9d, 0xcc, + 0x2a, 0x45, 0x56, 0xbd, 0xc6, 0x6b, 0xe5, 0xcf, 0xc4, 0x21, 0x49, 0x15, 0x4b, 0x09, 0xf2, 0x1b, + 0x2f, 0xac, 0xd7, 0xd5, 0xc5, 0xb5, 0xcd, 0xea, 0x72, 0x5d, 0x8a, 0xa1, 0x22, 0x00, 0xad, 0xb8, + 0xb8, 0xbc, 0x56, 0xd9, 0x90, 0xe2, 0x5e, 0x79, 0x69, 0x75, 0xe3, 0xfc, 0x13, 0x52, 0xc2, 0x43, + 0xd8, 0x64, 0x15, 0xc9, 0x20, 0xc0, 0xe3, 0x67, 0xa5, 0x14, 0x92, 0x60, 0x9c, 0x11, 0x58, 0x7a, + 0xbe, 0xbe, 0x78, 0xfe, 0x09, 0x29, 0x1d, 0xae, 0x79, 0xfc, 0xac, 0x94, 0x41, 0x05, 0xc8, 0xd1, + 0x9a, 0xea, 0xda, 0xda, 0xb2, 0x94, 0xf5, 0x68, 0x36, 0x36, 0x94, 0xa5, 0xd5, 0x4b, 0x52, 0xce, + 0xa3, 0x79, 0x49, 0x59, 0xdb, 0x5c, 0x97, 0xc0, 0xa3, 0xb0, 0x52, 0x6f, 0x34, 0x2a, 0x97, 0xea, + 0x52, 0xde, 0x83, 0xa8, 0xbe, 0xb0, 0x51, 0x6f, 0x48, 0xe3, 0xa1, 0x61, 0x3d, 0x7e, 0x56, 0x2a, + 0x78, 0x5d, 0xd4, 0x57, 0x37, 0x57, 0xa4, 0x22, 0x9a, 0x80, 0x02, 0xeb, 0x42, 0x0c, 0xa2, 0xd4, + 0x53, 0x75, 0xfe, 0x09, 0x49, 0xf2, 0x07, 0xc2, 0xa8, 0x4c, 0x84, 0x2a, 0xce, 0x3f, 0x21, 0x21, + 0xb9, 0x06, 0x29, 0x2a, 0x86, 0x08, 0x41, 0x71, 0xb9, 0x52, 0xad, 0x2f, 0xab, 0x6b, 0xeb, 0x1b, + 0x4b, 0x6b, 0xab, 0x95, 0x65, 0x29, 0xe6, 0xd7, 0x29, 0xf5, 0x77, 0x6d, 0x2e, 0x29, 0xf5, 0x45, + 0x29, 0x1e, 0xac, 0x5b, 0xaf, 0x57, 0x36, 0xea, 0x8b, 0x52, 0x42, 0x6e, 0xc2, 0xd4, 0x20, 0x85, + 0x3a, 0x70, 0x0b, 0x05, 0x64, 0x21, 0x3e, 0x44, 0x16, 0x28, 0xad, 0x5e, 0x59, 0x90, 0xbf, 0x1c, + 0x87, 0xc9, 0x01, 0x46, 0x65, 0x60, 0x27, 0xcf, 0x42, 0x8a, 0xc9, 0x32, 0x33, 0xb3, 0xa7, 0x06, + 0x5a, 0x27, 0x2a, 0xd9, 0x7d, 0xa6, 0x96, 0xe2, 0x05, 0x5d, 0x8d, 0xc4, 0x10, 0x57, 0x83, 0x90, + 0xe8, 0x13, 0xd8, 0x1f, 0xec, 0x53, 0xfe, 0xcc, 0x3e, 0x9e, 0x1f, 0xc5, 0x3e, 0xd2, 0xba, 0xc3, + 0x19, 0x81, 0xd4, 0x00, 0x23, 0x70, 0x01, 0x26, 0xfa, 0x08, 0x8d, 0xac, 0x8c, 0xdf, 0x1b, 0x83, + 0xe9, 0x61, 0xcc, 0x89, 0x50, 0x89, 0xf1, 0x90, 0x4a, 0xbc, 0xd0, 0xcb, 0xc1, 0x7b, 0x87, 0x2f, + 0x42, 0xdf, 0x5a, 0x7f, 0x2c, 0x06, 0x47, 0x06, 0xbb, 0x94, 0x03, 0xc7, 0xf0, 0x4e, 0x48, 0x77, + 0xb0, 0xbb, 0x6b, 0x0a, 0xb7, 0xea, 0xc1, 0x01, 0xc6, 0x9a, 0x34, 0xf7, 0x2e, 0x36, 0xc7, 0x0a, + 0x5a, 0xfb, 0xc4, 0x30, 0xbf, 0x90, 0x8d, 0xa6, 0x6f, 0xa4, 0x3f, 0x11, 0x87, 0xbb, 0x06, 0x12, + 0x1f, 0x38, 0xd0, 0x7b, 0x00, 0x74, 0xc3, 0xea, 0xba, 0xcc, 0x75, 0x62, 0x9a, 0x38, 0x47, 0x6b, + 0xa8, 0xf2, 0x22, 0x5a, 0xb6, 0xeb, 0x7a, 0xed, 0x09, 0xda, 0x0e, 0xac, 0x8a, 0x02, 0x3c, 0xe5, + 0x0f, 0x34, 0x49, 0x07, 0x3a, 0x33, 0x64, 0xa6, 0x7d, 0x82, 0xf9, 0x28, 0x48, 0xcd, 0xb6, 0x8e, + 0x0d, 0x57, 0x75, 0x5c, 0x1b, 0x6b, 0x1d, 0xdd, 0xd8, 0xa1, 0xa6, 0x26, 0xbb, 0x90, 0xda, 0xd6, + 0xda, 0x0e, 0x56, 0x4a, 0xac, 0xb9, 0x21, 0x5a, 0x09, 0x06, 0x15, 0x20, 0x3b, 0x80, 0x91, 0x0e, + 0x61, 0xb0, 0x66, 0x0f, 0x43, 0xfe, 0x99, 0x1c, 0xe4, 0x03, 0x0e, 0x38, 0xba, 0x17, 0xc6, 0x5f, + 0xd2, 0x6e, 0x68, 0xaa, 0x08, 0xaa, 0x18, 0x27, 0xf2, 0xa4, 0x6e, 0x9d, 0x07, 0x56, 0x8f, 0xc2, + 0x14, 0x05, 0x31, 0xbb, 0x2e, 0xb6, 0xd5, 0x66, 0x5b, 0x73, 0x1c, 0xca, 0xb4, 0x2c, 0x05, 0x45, + 0xa4, 0x6d, 0x8d, 0x34, 0xd5, 0x44, 0x0b, 0x3a, 0x07, 0x93, 0x14, 0xa3, 0xd3, 0x6d, 0xbb, 0xba, + 0xd5, 0xc6, 0x2a, 0x09, 0xf3, 0x1c, 0x6a, 0x72, 0xbc, 0x91, 0x4d, 0x10, 0x88, 0x15, 0x0e, 0x40, + 0x46, 0xe4, 0xa0, 0x45, 0xb8, 0x87, 0xa2, 0xed, 0x60, 0x03, 0xdb, 0x9a, 0x8b, 0x55, 0xfc, 0x9e, + 0xae, 0xd6, 0x76, 0x54, 0xcd, 0x68, 0xa9, 0xbb, 0x9a, 0xb3, 0x3b, 0x3d, 0x45, 0x08, 0x54, 0xe3, + 0xd3, 0x31, 0xe5, 0x18, 0x01, 0xbc, 0xc4, 0xe1, 0xea, 0x14, 0xac, 0x62, 0xb4, 0x2e, 0x6b, 0xce, + 0x2e, 0x5a, 0x80, 0x23, 0x94, 0x8a, 0xe3, 0xda, 0xba, 0xb1, 0xa3, 0x36, 0x77, 0x71, 0xf3, 0xba, + 0xda, 0x75, 0xb7, 0x9f, 0x9a, 0x3e, 0x1e, 0xec, 0x9f, 0x8e, 0xb0, 0x41, 0x61, 0x6a, 0x04, 0x64, + 0xd3, 0xdd, 0x7e, 0x0a, 0x35, 0x60, 0x9c, 0x2c, 0x46, 0x47, 0x7f, 0x19, 0xab, 0xdb, 0xa6, 0x4d, + 0x6d, 0x68, 0x71, 0x80, 0x6a, 0x0a, 0x70, 0x70, 0x7e, 0x8d, 0x23, 0xac, 0x98, 0x2d, 0xbc, 0x90, + 0x6a, 0xac, 0xd7, 0xeb, 0x8b, 0x4a, 0x5e, 0x50, 0xb9, 0x68, 0xda, 0x44, 0xa0, 0x76, 0x4c, 0x8f, + 0xc1, 0x79, 0x26, 0x50, 0x3b, 0xa6, 0x60, 0xef, 0x39, 0x98, 0x6c, 0x36, 0xd9, 0x9c, 0xf5, 0xa6, + 0xca, 0x83, 0x31, 0x67, 0x5a, 0x0a, 0x31, 0xab, 0xd9, 0xbc, 0xc4, 0x00, 0xb8, 0x8c, 0x3b, 0xe8, + 0x69, 0xb8, 0xcb, 0x67, 0x56, 0x10, 0x71, 0xa2, 0x6f, 0x96, 0xbd, 0xa8, 0xe7, 0x60, 0xd2, 0xda, + 0xef, 0x47, 0x44, 0xa1, 0x1e, 0xad, 0xfd, 0x5e, 0xb4, 0x27, 0x61, 0xca, 0xda, 0xb5, 0xfa, 0xf1, + 0x4e, 0x07, 0xf1, 0x90, 0xb5, 0x6b, 0xf5, 0x22, 0x3e, 0x40, 0x23, 0x73, 0x1b, 0x37, 0x35, 0x17, + 0xb7, 0xa6, 0x8f, 0x06, 0xc1, 0x03, 0x0d, 0x68, 0x1e, 0xa4, 0x66, 0x53, 0xc5, 0x86, 0xb6, 0xd5, + 0xc6, 0xaa, 0x66, 0x63, 0x43, 0x73, 0xa6, 0x67, 0x29, 0x70, 0xd2, 0xb5, 0xbb, 0x58, 0x29, 0x36, + 0x9b, 0x75, 0xda, 0x58, 0xa1, 0x6d, 0xe8, 0x34, 0x4c, 0x98, 0x5b, 0x2f, 0x35, 0x99, 0x44, 0xaa, + 0x96, 0x8d, 0xb7, 0xf5, 0xbd, 0xe9, 0xfb, 0x29, 0x7b, 0x4b, 0xa4, 0x81, 0xca, 0xe3, 0x3a, 0xad, + 0x46, 0xa7, 0x40, 0x6a, 0x3a, 0xbb, 0x9a, 0x6d, 0x51, 0x95, 0xec, 0x58, 0x5a, 0x13, 0x4f, 0x3f, + 0xc0, 0x40, 0x59, 0xfd, 0xaa, 0xa8, 0x26, 0x3b, 0xc2, 0xb9, 0xa9, 0x6f, 0xbb, 0x82, 0xe2, 0x09, + 0xb6, 0x23, 0x68, 0x1d, 0xa7, 0x76, 0x12, 0x24, 0xc2, 0x89, 0x50, 0xc7, 0x27, 0x29, 0x58, 0xd1, + 0xda, 0xb5, 0x82, 0xfd, 0xde, 0x07, 0x05, 0x02, 0xe9, 0x77, 0x7a, 0x8a, 0x39, 0x6e, 0xd6, 0x6e, + 0xa0, 0xc7, 0x27, 0xe0, 0x08, 0x01, 0xea, 0x60, 0x57, 0x6b, 0x69, 0xae, 0x16, 0x80, 0x7e, 0x98, + 0x42, 0x13, 0xb6, 0xaf, 0xf0, 0xc6, 0xd0, 0x38, 0xed, 0xee, 0xd6, 0xbe, 0x27, 0x58, 0x8f, 0xb0, + 0x71, 0x92, 0x3a, 0x21, 0x5a, 0x6f, 0x99, 0x73, 0x2e, 0x2f, 0xc0, 0x78, 0x50, 0xee, 0x51, 0x0e, + 0x98, 0xe4, 0x4b, 0x31, 0xe2, 0x04, 0xd5, 0xd6, 0x16, 0x89, 0xfb, 0xf2, 0x62, 0x5d, 0x8a, 0x13, + 0x37, 0x6a, 0x79, 0x69, 0xa3, 0xae, 0x2a, 0x9b, 0xab, 0x1b, 0x4b, 0x2b, 0x75, 0x29, 0x11, 0x70, + 0xec, 0xaf, 0x24, 0xb3, 0x0f, 0x4a, 0x27, 0x88, 0xd7, 0x50, 0x0c, 0x47, 0x6a, 0xe8, 0x1d, 0x70, + 0x54, 0xa4, 0x55, 0x1c, 0xec, 0xaa, 0x37, 0x75, 0x9b, 0x6e, 0xc8, 0x8e, 0xc6, 0x8c, 0xa3, 0x27, + 0x3f, 0x53, 0x1c, 0xaa, 0x81, 0xdd, 0xe7, 0x74, 0x9b, 0x6c, 0xb7, 0x8e, 0xe6, 0xa2, 0x65, 0x98, + 0x35, 0x4c, 0xd5, 0x71, 0x35, 0xa3, 0xa5, 0xd9, 0x2d, 0xd5, 0x4f, 0x68, 0xa9, 0x5a, 0xb3, 0x89, + 0x1d, 0xc7, 0x64, 0x86, 0xd0, 0xa3, 0x72, 0xb7, 0x61, 0x36, 0x38, 0xb0, 0x6f, 0x21, 0x2a, 0x1c, + 0xb4, 0x47, 0x7c, 0x13, 0xc3, 0xc4, 0xf7, 0x38, 0xe4, 0x3a, 0x9a, 0xa5, 0x62, 0xc3, 0xb5, 0xf7, + 0xa9, 0x7f, 0x9e, 0x55, 0xb2, 0x1d, 0xcd, 0xaa, 0x93, 0xf2, 0xdb, 0x12, 0x26, 0x5d, 0x49, 0x66, + 0x93, 0x52, 0xea, 0x4a, 0x32, 0x9b, 0x92, 0xd2, 0x57, 0x92, 0xd9, 0xb4, 0x94, 0xb9, 0x92, 0xcc, + 0x66, 0xa5, 0xdc, 0x95, 0x64, 0x36, 0x27, 0x81, 0xfc, 0xb3, 0x49, 0x18, 0x0f, 0x7a, 0xf0, 0x24, + 0x20, 0x6a, 0x52, 0x1b, 0x16, 0xa3, 0x5a, 0xee, 0xbe, 0x03, 0xfd, 0xfd, 0xf9, 0x1a, 0x31, 0x6e, + 0x0b, 0x69, 0xe6, 0x2e, 0x2b, 0x0c, 0x93, 0x38, 0x16, 0x44, 0xfc, 0x30, 0x73, 0x4f, 0xb2, 0x0a, + 0x2f, 0xa1, 0x4b, 0x90, 0x7e, 0xc9, 0xa1, 0xb4, 0xd3, 0x94, 0xf6, 0xfd, 0x07, 0xd3, 0xbe, 0xd2, + 0xa0, 0xc4, 0x73, 0x57, 0x1a, 0xea, 0xea, 0x9a, 0xb2, 0x52, 0x59, 0x56, 0x38, 0x3a, 0x3a, 0x06, + 0xc9, 0xb6, 0xf6, 0xf2, 0x7e, 0xd8, 0x0c, 0xd2, 0x2a, 0x34, 0x0f, 0xa5, 0xae, 0x71, 0x03, 0xdb, + 0xfa, 0xb6, 0x8e, 0x5b, 0x2a, 0x85, 0x2a, 0x05, 0xa1, 0x8a, 0x7e, 0xeb, 0x32, 0x81, 0x1f, 0x71, + 0x19, 0x8f, 0x41, 0xf2, 0x26, 0xd6, 0xae, 0x87, 0x8d, 0x15, 0xad, 0x7a, 0x0b, 0xb7, 0xd3, 0x19, + 0x48, 0x51, 0xfe, 0x22, 0x00, 0xce, 0x61, 0x69, 0x0c, 0x65, 0x21, 0x59, 0x5b, 0x53, 0xc8, 0x96, + 0x92, 0x60, 0x9c, 0xd5, 0xaa, 0xeb, 0x4b, 0xf5, 0x5a, 0x5d, 0x8a, 0xcb, 0xe7, 0x20, 0xcd, 0x98, + 0x46, 0xb6, 0x9b, 0xc7, 0x36, 0x69, 0x8c, 0x17, 0x39, 0x8d, 0x98, 0x68, 0xdd, 0x5c, 0xa9, 0xd6, + 0x15, 0x29, 0xde, 0x27, 0x2c, 0xb2, 0x03, 0xe3, 0x41, 0x4f, 0xfe, 0xed, 0x09, 0xe7, 0x3f, 0x1f, + 0x83, 0x7c, 0xc0, 0x33, 0x27, 0x2e, 0x95, 0xd6, 0x6e, 0x9b, 0x37, 0x55, 0xad, 0xad, 0x6b, 0x0e, + 0x17, 0x25, 0xa0, 0x55, 0x15, 0x52, 0x33, 0xea, 0xd2, 0xbd, 0x4d, 0x9b, 0x2c, 0x25, 0xa5, 0xe5, + 0x0f, 0xc5, 0x40, 0xea, 0x75, 0x8d, 0x7b, 0x86, 0x19, 0xfb, 0xcb, 0x1c, 0xa6, 0xfc, 0xc1, 0x18, + 0x14, 0xc3, 0xfe, 0x70, 0xcf, 0xf0, 0xee, 0xfd, 0x4b, 0x1d, 0xde, 0x1f, 0xc5, 0xa1, 0x10, 0xf2, + 0x82, 0x47, 0x1d, 0xdd, 0x7b, 0x60, 0x42, 0x6f, 0xe1, 0x8e, 0x65, 0xba, 0xd8, 0x68, 0xee, 0xab, + 0x6d, 0x7c, 0x03, 0xb7, 0xa7, 0x65, 0xaa, 0x64, 0xce, 0x1c, 0xec, 0x67, 0xcf, 0x2f, 0xf9, 0x78, + 0xcb, 0x04, 0x6d, 0x61, 0x72, 0x69, 0xb1, 0xbe, 0xb2, 0xbe, 0xb6, 0x51, 0x5f, 0xad, 0xbd, 0xa0, + 0x6e, 0xae, 0x5e, 0x5d, 0x5d, 0x7b, 0x6e, 0x55, 0x91, 0xf4, 0x1e, 0xb0, 0xb7, 0x70, 0xdb, 0xaf, + 0x83, 0xd4, 0x3b, 0x28, 0x74, 0x14, 0x06, 0x0d, 0x4b, 0x1a, 0x43, 0x93, 0x50, 0x5a, 0x5d, 0x53, + 0x1b, 0x4b, 0x8b, 0x75, 0xb5, 0x7e, 0xf1, 0x62, 0xbd, 0xb6, 0xd1, 0x60, 0x99, 0x13, 0x0f, 0x7a, + 0x23, 0xb4, 0xc1, 0xe5, 0x5f, 0x4a, 0xc0, 0xe4, 0x80, 0x91, 0xa0, 0x0a, 0x8f, 0x79, 0x58, 0x18, + 0xf6, 0xc8, 0x28, 0xa3, 0x9f, 0x27, 0x5e, 0xc7, 0xba, 0x66, 0xbb, 0x3c, 0x44, 0x3a, 0x05, 0x84, + 0x4b, 0x86, 0x4b, 0x94, 0xab, 0xcd, 0x33, 0x52, 0x2c, 0x10, 0x2a, 0xf9, 0xf5, 0x2c, 0x29, 0xf5, + 0x30, 0x20, 0xcb, 0x74, 0x74, 0x57, 0xbf, 0x81, 0x55, 0xdd, 0x10, 0xe9, 0x2b, 0x12, 0x18, 0x25, + 0x15, 0x49, 0xb4, 0x2c, 0x19, 0xae, 0x07, 0x6d, 0xe0, 0x1d, 0xad, 0x07, 0x9a, 0x28, 0xff, 0x84, + 0x22, 0x89, 0x16, 0x0f, 0xfa, 0x5e, 0x18, 0x6f, 0x99, 0x5d, 0xe2, 0x2d, 0x32, 0x38, 0x62, 0x6b, + 0x62, 0x4a, 0x9e, 0xd5, 0x79, 0x20, 0x3c, 0x0e, 0xf0, 0xf3, 0x66, 0xe3, 0x4a, 0x9e, 0xd5, 0x31, + 0x90, 0x13, 0x50, 0xd2, 0x76, 0x76, 0x6c, 0x42, 0x5c, 0x10, 0x62, 0x91, 0x4d, 0xd1, 0xab, 0xa6, + 0x80, 0xe5, 0x2b, 0x90, 0x15, 0x7c, 0x20, 0xc6, 0x9e, 0x70, 0x42, 0xb5, 0x58, 0xb8, 0x1e, 0x3f, + 0x99, 0x53, 0xb2, 0x86, 0x68, 0xbc, 0x17, 0xc6, 0x75, 0x47, 0xf5, 0x8f, 0x01, 0xe2, 0x73, 0xf1, + 0x93, 0x59, 0x25, 0xaf, 0x3b, 0x5e, 0x0a, 0x55, 0xfe, 0x58, 0x1c, 0x8a, 0xe1, 0x63, 0x0c, 0xb4, + 0x08, 0xd9, 0xb6, 0xd9, 0xd4, 0xa8, 0x68, 0xb1, 0x33, 0xb4, 0x93, 0x11, 0x27, 0x1f, 0xf3, 0xcb, + 0x1c, 0x5e, 0xf1, 0x30, 0xcb, 0xff, 0x3a, 0x06, 0x59, 0x51, 0x8d, 0x8e, 0x40, 0xd2, 0xd2, 0xdc, + 0x5d, 0x4a, 0x2e, 0x55, 0x8d, 0x4b, 0x31, 0x85, 0x96, 0x49, 0xbd, 0x63, 0x69, 0x06, 0x15, 0x01, + 0x5e, 0x4f, 0xca, 0x64, 0x5d, 0xdb, 0x58, 0x6b, 0xd1, 0xb0, 0xc9, 0xec, 0x74, 0xb0, 0xe1, 0x3a, + 0x62, 0x5d, 0x79, 0x7d, 0x8d, 0x57, 0xa3, 0x87, 0x60, 0xc2, 0xb5, 0x35, 0xbd, 0x1d, 0x82, 0x4d, + 0x52, 0x58, 0x49, 0x34, 0x78, 0xc0, 0x0b, 0x70, 0x4c, 0xd0, 0x6d, 0x61, 0x57, 0x6b, 0xee, 0xe2, + 0x96, 0x8f, 0x94, 0xa6, 0xe9, 0x91, 0xa3, 0x1c, 0x60, 0x91, 0xb7, 0x0b, 0x5c, 0xf9, 0x4b, 0x31, + 0x98, 0x10, 0x81, 0x5e, 0xcb, 0x63, 0xd6, 0x0a, 0x80, 0x66, 0x18, 0xa6, 0x1b, 0x64, 0x57, 0xbf, + 0x28, 0xf7, 0xe1, 0xcd, 0x57, 0x3c, 0x24, 0x25, 0x40, 0xa0, 0xdc, 0x01, 0xf0, 0x5b, 0x86, 0xb2, + 0x6d, 0x16, 0xf2, 0xfc, 0x8c, 0x8a, 0x1e, 0x74, 0xb2, 0xd4, 0x00, 0xb0, 0x2a, 0x12, 0x11, 0xa2, + 0x29, 0x48, 0x6d, 0xe1, 0x1d, 0xdd, 0xe0, 0x99, 0x67, 0x56, 0x10, 0x09, 0x9c, 0xa4, 0x97, 0xc0, + 0xa9, 0xfe, 0xff, 0x30, 0xd9, 0x34, 0x3b, 0xbd, 0xc3, 0xad, 0x4a, 0x3d, 0xe9, 0x09, 0xe7, 0x72, + 0xec, 0xc5, 0x47, 0x38, 0xd0, 0x8e, 0xd9, 0xd6, 0x8c, 0x9d, 0x79, 0xd3, 0xde, 0xf1, 0x0f, 0x6a, + 0x89, 0x87, 0xe4, 0x04, 0x8e, 0x6b, 0xad, 0xad, 0xff, 0x19, 0x8b, 0xfd, 0x4a, 0x3c, 0x71, 0x69, + 0xbd, 0xfa, 0x6b, 0xf1, 0xf2, 0x25, 0x86, 0xb8, 0x2e, 0x98, 0xa1, 0xe0, 0xed, 0x36, 0x6e, 0x92, + 0x09, 0xc2, 0x9f, 0x3c, 0x04, 0x53, 0x3b, 0xe6, 0x8e, 0x49, 0x29, 0x9d, 0x21, 0xbf, 0xf8, 0x49, + 0x6f, 0xce, 0xab, 0x2d, 0x47, 0x1e, 0x0b, 0x2f, 0xac, 0xc2, 0x24, 0x07, 0x56, 0xe9, 0x51, 0x13, + 0x0b, 0x84, 0xd0, 0x81, 0x59, 0xb8, 0xe9, 0x5f, 0xff, 0x0a, 0x35, 0xdf, 0xca, 0x04, 0x47, 0x25, + 0x6d, 0x2c, 0x56, 0x5a, 0x50, 0xe0, 0xae, 0x10, 0x3d, 0xb6, 0x49, 0xb1, 0x1d, 0x41, 0xf1, 0x9f, + 0x71, 0x8a, 0x93, 0x01, 0x8a, 0x0d, 0x8e, 0xba, 0x50, 0x83, 0xc2, 0x61, 0x68, 0xfd, 0x73, 0x4e, + 0x6b, 0x1c, 0x07, 0x89, 0x5c, 0x82, 0x12, 0x25, 0xd2, 0xec, 0x3a, 0xae, 0xd9, 0xa1, 0x1a, 0xf0, + 0x60, 0x32, 0xff, 0xe2, 0x2b, 0x6c, 0xd7, 0x14, 0x09, 0x5a, 0xcd, 0xc3, 0x5a, 0x58, 0x00, 0x7a, + 0xba, 0xd6, 0xc2, 0xcd, 0x76, 0x04, 0x85, 0x2f, 0xf0, 0x81, 0x78, 0xf0, 0x0b, 0xd7, 0x60, 0x8a, + 0xfc, 0xa6, 0x0a, 0x2a, 0x38, 0x92, 0xe8, 0x94, 0xdd, 0xf4, 0x97, 0xde, 0xcb, 0x36, 0xe6, 0xa4, + 0x47, 0x20, 0x30, 0xa6, 0xc0, 0x2a, 0xee, 0x60, 0xd7, 0xc5, 0xb6, 0xa3, 0x6a, 0xed, 0x41, 0xc3, + 0x0b, 0xe4, 0x3c, 0xa6, 0x7f, 0xf1, 0x1b, 0xe1, 0x55, 0xbc, 0xc4, 0x30, 0x2b, 0xed, 0xf6, 0xc2, + 0x26, 0x1c, 0x1d, 0x20, 0x15, 0x23, 0xd0, 0xfc, 0x25, 0x4e, 0x73, 0xaa, 0x4f, 0x32, 0x08, 0xd9, + 0x75, 0x10, 0xf5, 0xde, 0x5a, 0x8e, 0x40, 0xf3, 0x97, 0x39, 0x4d, 0xc4, 0x71, 0xc5, 0x92, 0x12, + 0x8a, 0x57, 0x60, 0xe2, 0x06, 0xb6, 0xb7, 0x4c, 0x87, 0xe7, 0x99, 0x46, 0x20, 0xf7, 0x41, 0x4e, + 0xae, 0xc4, 0x11, 0x69, 0xe2, 0x89, 0xd0, 0x7a, 0x1a, 0xb2, 0xdb, 0x5a, 0x13, 0x8f, 0x40, 0xe2, + 0x36, 0x27, 0x91, 0x21, 0xf0, 0x04, 0xb5, 0x02, 0xe3, 0x3b, 0x26, 0xb7, 0x51, 0xd1, 0xe8, 0x1f, + 0xe2, 0xe8, 0x79, 0x81, 0xc3, 0x49, 0x58, 0xa6, 0xd5, 0x6d, 0x13, 0x03, 0x16, 0x4d, 0xe2, 0x6f, + 0x09, 0x12, 0x02, 0x87, 0x93, 0x38, 0x04, 0x5b, 0x5f, 0x15, 0x24, 0x9c, 0x00, 0x3f, 0x9f, 0x85, + 0xbc, 0x69, 0xb4, 0xf7, 0x4d, 0x63, 0x94, 0x41, 0x7c, 0x98, 0x53, 0x00, 0x8e, 0x42, 0x08, 0x5c, + 0x80, 0xdc, 0xa8, 0x0b, 0xf1, 0xab, 0xdf, 0x10, 0xdb, 0x43, 0xac, 0xc0, 0x25, 0x28, 0x09, 0x05, + 0xa5, 0x9b, 0xc6, 0x08, 0x24, 0x3e, 0xca, 0x49, 0x14, 0x03, 0x68, 0x7c, 0x1a, 0x2e, 0x76, 0xdc, + 0x1d, 0x3c, 0x0a, 0x91, 0x8f, 0x89, 0x69, 0x70, 0x14, 0xce, 0xca, 0x2d, 0x6c, 0x34, 0x77, 0x47, + 0xa3, 0xf0, 0x71, 0xc1, 0x4a, 0x81, 0x43, 0x48, 0xd4, 0xa0, 0xd0, 0xd1, 0x6c, 0x67, 0x57, 0x6b, + 0x8f, 0xb4, 0x1c, 0x9f, 0xe0, 0x34, 0xc6, 0x3d, 0x24, 0xce, 0x91, 0xae, 0x71, 0x18, 0x32, 0xbf, + 0x26, 0x38, 0x12, 0x40, 0xe3, 0x5b, 0xcf, 0x71, 0x69, 0x52, 0xee, 0x30, 0xd4, 0xfe, 0x8e, 0xd8, + 0x7a, 0x0c, 0x77, 0x25, 0x48, 0xf1, 0x02, 0xe4, 0x1c, 0xfd, 0xe5, 0x91, 0xc8, 0xfc, 0x5d, 0xb1, + 0xd2, 0x14, 0x81, 0x20, 0xbf, 0x00, 0xc7, 0x06, 0x9a, 0x89, 0x11, 0x88, 0xfd, 0x3d, 0x4e, 0xec, + 0xc8, 0x00, 0x53, 0xc1, 0x55, 0xc2, 0x61, 0x49, 0xfe, 0x7d, 0xa1, 0x12, 0x70, 0x0f, 0xad, 0x75, + 0x12, 0x35, 0x38, 0xda, 0xf6, 0xe1, 0xb8, 0xf6, 0x0f, 0x04, 0xd7, 0x18, 0x6e, 0x88, 0x6b, 0x1b, + 0x70, 0x84, 0x53, 0x3c, 0xdc, 0xba, 0x7e, 0x52, 0x28, 0x56, 0x86, 0xbd, 0x19, 0x5e, 0xdd, 0xef, + 0x87, 0xb2, 0xc7, 0x4e, 0xe1, 0x9e, 0x3a, 0x6a, 0x47, 0xb3, 0x46, 0xa0, 0xfc, 0xeb, 0x9c, 0xb2, + 0xd0, 0xf8, 0x9e, 0x7f, 0xeb, 0xac, 0x68, 0x16, 0x21, 0xfe, 0x3c, 0x4c, 0x0b, 0xe2, 0x5d, 0xc3, + 0xc6, 0x4d, 0x73, 0xc7, 0xd0, 0x5f, 0xc6, 0xad, 0x11, 0x48, 0xff, 0x46, 0xcf, 0x52, 0x6d, 0x06, + 0xd0, 0x09, 0xe5, 0x25, 0x90, 0x3c, 0x5f, 0x45, 0xd5, 0x3b, 0x96, 0x69, 0xbb, 0x11, 0x14, 0x3f, + 0x25, 0x56, 0xca, 0xc3, 0x5b, 0xa2, 0x68, 0x0b, 0x75, 0x60, 0x27, 0xd5, 0xa3, 0x8a, 0xe4, 0xa7, + 0x39, 0xa1, 0x82, 0x8f, 0xc5, 0x15, 0x47, 0xd3, 0xec, 0x58, 0x9a, 0x3d, 0x8a, 0xfe, 0xfb, 0x87, + 0x42, 0x71, 0x70, 0x14, 0xae, 0x38, 0x88, 0x47, 0x47, 0xac, 0xfd, 0x08, 0x14, 0x3e, 0x23, 0x14, + 0x87, 0xc0, 0xe1, 0x24, 0x84, 0xc3, 0x30, 0x02, 0x89, 0xcf, 0x0a, 0x12, 0x02, 0x87, 0x90, 0x78, + 0x97, 0x6f, 0x68, 0x6d, 0xbc, 0xa3, 0x3b, 0xae, 0xcd, 0x9c, 0xe2, 0x83, 0x49, 0x7d, 0xee, 0x1b, + 0x61, 0x27, 0x4c, 0x09, 0xa0, 0x12, 0x4d, 0xc4, 0xd3, 0xb4, 0x34, 0x66, 0x8a, 0x1e, 0xd8, 0x6f, + 0x0a, 0x4d, 0x14, 0x40, 0x23, 0x63, 0x0b, 0x78, 0x88, 0x84, 0xed, 0x4d, 0x12, 0x29, 0x8c, 0x40, + 0xee, 0x1f, 0xf5, 0x0c, 0xae, 0x21, 0x70, 0x09, 0xcd, 0x80, 0xff, 0xd3, 0x35, 0xae, 0xe3, 0xfd, + 0x91, 0xa4, 0xf3, 0xb7, 0x7a, 0xfc, 0x9f, 0x4d, 0x86, 0xc9, 0x74, 0x48, 0xa9, 0xc7, 0x9f, 0x42, + 0x51, 0xf7, 0x92, 0xa6, 0x7f, 0xf8, 0x0d, 0x3e, 0xdf, 0xb0, 0x3b, 0xb5, 0xb0, 0x4c, 0x84, 0x3c, + 0xec, 0xf4, 0x44, 0x13, 0x7b, 0xef, 0x1b, 0x9e, 0x9c, 0x87, 0x7c, 0x9e, 0x85, 0x8b, 0x50, 0x08, + 0x39, 0x3c, 0xd1, 0xa4, 0x7e, 0x94, 0x93, 0x1a, 0x0f, 0xfa, 0x3b, 0x0b, 0xe7, 0x20, 0x49, 0x9c, + 0x97, 0x68, 0xf4, 0x1f, 0xe3, 0xe8, 0x14, 0x7c, 0xe1, 0x19, 0xc8, 0x0a, 0xa7, 0x25, 0x1a, 0xf5, + 0xc7, 0x39, 0xaa, 0x87, 0x42, 0xd0, 0x85, 0xc3, 0x12, 0x8d, 0xfe, 0xd7, 0x04, 0xba, 0x40, 0x21, + 0xe8, 0xa3, 0xb3, 0xf0, 0xf3, 0x7f, 0x3d, 0xc9, 0x8d, 0x8e, 0xe0, 0xdd, 0x05, 0xc8, 0x70, 0x4f, + 0x25, 0x1a, 0xfb, 0x27, 0x78, 0xe7, 0x02, 0x63, 0xe1, 0x49, 0x48, 0x8d, 0xc8, 0xf0, 0xbf, 0xc1, + 0x51, 0x19, 0xfc, 0x42, 0x0d, 0xf2, 0x01, 0xef, 0x24, 0x1a, 0xfd, 0xa7, 0x38, 0x7a, 0x10, 0x8b, + 0x0c, 0x9d, 0x7b, 0x27, 0xd1, 0x04, 0x7e, 0x5a, 0x0c, 0x9d, 0x63, 0x10, 0xb6, 0x09, 0xc7, 0x24, + 0x1a, 0xfb, 0xfd, 0x82, 0xeb, 0x02, 0x65, 0xe1, 0x59, 0xc8, 0x79, 0xc6, 0x26, 0x1a, 0xff, 0x67, + 0x38, 0xbe, 0x8f, 0x43, 0x38, 0x10, 0x30, 0x76, 0xd1, 0x24, 0x7e, 0x56, 0x70, 0x20, 0x80, 0x45, + 0xb6, 0x51, 0xaf, 0x03, 0x13, 0x4d, 0xe9, 0xe7, 0xc4, 0x36, 0xea, 0xf1, 0x5f, 0xc8, 0x6a, 0x52, + 0x9d, 0x1f, 0x4d, 0xe2, 0x6f, 0x8a, 0xd5, 0xa4, 0xf0, 0x64, 0x18, 0xbd, 0x1e, 0x41, 0x34, 0x8d, + 0x5f, 0x10, 0xc3, 0xe8, 0x71, 0x08, 0x16, 0xd6, 0x01, 0xf5, 0x7b, 0x03, 0xd1, 0xf4, 0x3e, 0xc0, + 0xe9, 0x4d, 0xf4, 0x39, 0x03, 0x0b, 0xcf, 0xc1, 0x91, 0xc1, 0x9e, 0x40, 0x34, 0xd5, 0x5f, 0x7c, + 0xa3, 0x27, 0x76, 0x0b, 0x3a, 0x02, 0x0b, 0x1b, 0xbe, 0x49, 0x09, 0x7a, 0x01, 0xd1, 0x64, 0x7f, + 0xe9, 0x8d, 0xb0, 0xe2, 0x0e, 0x3a, 0x01, 0x0b, 0x15, 0x00, 0xdf, 0x00, 0x47, 0xd3, 0xfa, 0x20, + 0xa7, 0x15, 0x40, 0x22, 0x5b, 0x83, 0xdb, 0xdf, 0x68, 0xfc, 0xdb, 0x62, 0x6b, 0x70, 0x0c, 0xb2, + 0x35, 0x84, 0xe9, 0x8d, 0xc6, 0xfe, 0x90, 0xd8, 0x1a, 0x02, 0x85, 0x48, 0x76, 0xc0, 0xba, 0x45, + 0x53, 0xf8, 0xb0, 0x90, 0xec, 0x00, 0xd6, 0xc2, 0x2a, 0x4c, 0xf4, 0x19, 0xc4, 0x68, 0x52, 0xbf, + 0xc2, 0x49, 0x49, 0xbd, 0xf6, 0x30, 0x68, 0xbc, 0xb8, 0x31, 0x8c, 0xa6, 0xf6, 0x91, 0x1e, 0xe3, + 0xc5, 0x6d, 0xe1, 0xc2, 0x05, 0xc8, 0x1a, 0xdd, 0x76, 0x9b, 0x6c, 0x1e, 0x74, 0xf0, 0x5d, 0xc2, + 0xe9, 0xff, 0xfa, 0x1d, 0xce, 0x1d, 0x81, 0xb0, 0x70, 0x0e, 0x52, 0xb8, 0xb3, 0x85, 0x5b, 0x51, + 0x98, 0x5f, 0xff, 0x8e, 0x50, 0x98, 0x04, 0x7a, 0xe1, 0x59, 0x00, 0x96, 0x1a, 0xa1, 0x87, 0x87, + 0x11, 0xb8, 0x7f, 0xfc, 0x1d, 0x7e, 0x79, 0xc7, 0x47, 0xf1, 0x09, 0xb0, 0xab, 0x40, 0x07, 0x13, + 0xf8, 0x46, 0x98, 0x00, 0x5d, 0x91, 0xa7, 0x21, 0xf3, 0x92, 0x63, 0x1a, 0xae, 0xb6, 0x13, 0x85, + 0xfd, 0x27, 0x1c, 0x5b, 0xc0, 0x13, 0x86, 0x75, 0x4c, 0x1b, 0xbb, 0xda, 0x8e, 0x13, 0x85, 0xfb, + 0xdf, 0x38, 0xae, 0x87, 0x40, 0x90, 0x9b, 0x9a, 0xe3, 0x8e, 0x32, 0xef, 0x3f, 0x15, 0xc8, 0x02, + 0x81, 0x0c, 0x9a, 0xfc, 0xbe, 0x8e, 0xf7, 0xa3, 0x70, 0xff, 0x4c, 0x0c, 0x9a, 0xc3, 0x2f, 0x3c, + 0x03, 0x39, 0xf2, 0x93, 0xdd, 0xc8, 0x8b, 0x40, 0xfe, 0x26, 0x47, 0xf6, 0x31, 0x48, 0xcf, 0x8e, + 0xdb, 0x72, 0xf5, 0x68, 0x66, 0x7f, 0x8b, 0xaf, 0xb4, 0x80, 0x5f, 0xa8, 0x40, 0xde, 0x71, 0x5b, + 0xad, 0x2e, 0xf7, 0x4f, 0x23, 0xd0, 0xbf, 0xfd, 0x1d, 0x2f, 0x65, 0xe1, 0xe1, 0x90, 0xd5, 0xbe, + 0x79, 0xdd, 0xb5, 0x4c, 0x7a, 0xe0, 0x11, 0x45, 0xe1, 0x0d, 0x4e, 0x21, 0x80, 0xb2, 0x50, 0x83, + 0x71, 0x32, 0x17, 0x1b, 0x5b, 0x98, 0x9e, 0x4e, 0x45, 0x90, 0xf8, 0x73, 0xce, 0x80, 0x10, 0x52, + 0xf5, 0x87, 0xbe, 0xf0, 0xfa, 0x4c, 0xec, 0x8b, 0xaf, 0xcf, 0xc4, 0xfe, 0xe8, 0xf5, 0x99, 0xd8, + 0xfb, 0xbf, 0x3c, 0x33, 0xf6, 0xc5, 0x2f, 0xcf, 0x8c, 0xfd, 0xe1, 0x97, 0x67, 0xc6, 0x06, 0x67, + 0x89, 0xe1, 0x92, 0x79, 0xc9, 0x64, 0xf9, 0xe1, 0x17, 0x1f, 0xd8, 0xd1, 0xdd, 0xdd, 0xee, 0xd6, + 0x7c, 0xd3, 0xec, 0x9c, 0x69, 0x9a, 0x4e, 0xc7, 0x74, 0xce, 0x84, 0xf3, 0xba, 0xf4, 0x17, 0xfc, + 0xef, 0x18, 0x89, 0x99, 0xc3, 0xe9, 0x5c, 0xcd, 0xd8, 0x1f, 0xf6, 0x79, 0xcf, 0x79, 0x48, 0x54, + 0x8c, 0x7d, 0x74, 0x8c, 0x29, 0x38, 0xb5, 0x6b, 0xb7, 0xf9, 0xb5, 0xb0, 0x0c, 0x29, 0x6f, 0xda, + 0x6d, 0x34, 0xe5, 0xdf, 0xdd, 0x8c, 0x9d, 0x1c, 0xe7, 0x17, 0x32, 0xab, 0x3f, 0x15, 0x3b, 0xdc, + 0x4c, 0xb2, 0x15, 0x63, 0x9f, 0x4e, 0x64, 0x3d, 0xf6, 0xe2, 0xc3, 0x91, 0x79, 0xee, 0xeb, 0x86, + 0x79, 0xd3, 0x20, 0xc3, 0xb6, 0xb6, 0x44, 0x8e, 0x7b, 0xa6, 0x37, 0xc7, 0xfd, 0x1c, 0x6e, 0xb7, + 0xaf, 0x12, 0xb8, 0x0d, 0x82, 0xb2, 0x95, 0x66, 0x37, 0x90, 0xe1, 0xe7, 0xe2, 0x30, 0xd3, 0x97, + 0xce, 0xe6, 0x42, 0x30, 0x8c, 0x09, 0x0b, 0x90, 0x5d, 0x14, 0xb2, 0x35, 0x0d, 0x19, 0x07, 0x37, + 0x4d, 0xa3, 0xe5, 0x50, 0x46, 0x24, 0x14, 0x51, 0x24, 0x8c, 0x30, 0x34, 0xc3, 0x74, 0xf8, 0xc5, + 0x4a, 0x56, 0xa8, 0xfe, 0xf2, 0x21, 0x19, 0x51, 0x10, 0x3d, 0x09, 0x6e, 0x3c, 0x36, 0x22, 0x37, + 0xc4, 0x24, 0x42, 0x99, 0xff, 0x51, 0xb9, 0xf2, 0x0b, 0x71, 0x98, 0xed, 0xe5, 0x0a, 0xd9, 0x59, + 0x8e, 0xab, 0x75, 0xac, 0x61, 0x6c, 0xb9, 0x00, 0xb9, 0x0d, 0x01, 0x73, 0x68, 0xbe, 0xdc, 0x3e, + 0x24, 0x5f, 0x8a, 0x5e, 0x57, 0x82, 0x31, 0x67, 0x47, 0x64, 0x8c, 0x37, 0x8f, 0x3b, 0xe2, 0xcc, + 0x5f, 0xa4, 0xe1, 0x18, 0xdb, 0x4e, 0x2a, 0xdb, 0x4a, 0xac, 0xc0, 0x79, 0x32, 0x1e, 0x6c, 0x8a, + 0x3e, 0x27, 0x91, 0xaf, 0xc2, 0xe4, 0x12, 0xd1, 0x16, 0x24, 0x0a, 0xf2, 0x4f, 0x78, 0x06, 0xde, + 0x3d, 0x9d, 0x0b, 0x39, 0xfc, 0xfc, 0x84, 0x29, 0x58, 0x25, 0xff, 0x70, 0x0c, 0xa4, 0x46, 0x53, + 0x6b, 0x6b, 0xf6, 0x77, 0x4b, 0x0a, 0x3d, 0x09, 0x40, 0xbf, 0x59, 0xf2, 0x3f, 0x32, 0x2a, 0x9e, + 0x9d, 0x9e, 0x0f, 0x4e, 0x6e, 0x9e, 0xf5, 0x44, 0xbf, 0x60, 0xc8, 0x51, 0x58, 0xf2, 0xf3, 0xf4, + 0xf3, 0x00, 0x7e, 0x03, 0x3a, 0x0e, 0x47, 0x1b, 0xb5, 0xca, 0x72, 0x45, 0x51, 0xd9, 0x65, 0xf8, + 0xd5, 0xc6, 0x7a, 0xbd, 0xb6, 0x74, 0x71, 0xa9, 0xbe, 0x28, 0x8d, 0xa1, 0x23, 0x80, 0x82, 0x8d, + 0xde, 0xbd, 0x94, 0xbb, 0x60, 0x22, 0x58, 0xcf, 0x6e, 0xd4, 0xc7, 0x89, 0xa7, 0xa8, 0x77, 0xac, + 0x36, 0xa6, 0x47, 0x7f, 0xaa, 0x2e, 0xb8, 0x16, 0xed, 0x84, 0xfc, 0xde, 0xbf, 0x65, 0xb7, 0xac, + 0x27, 0x7d, 0x74, 0x8f, 0xe7, 0x0b, 0xcb, 0x30, 0xa1, 0x35, 0x9b, 0xd8, 0x0a, 0x91, 0x8c, 0x50, + 0xd5, 0x84, 0x20, 0x3d, 0xcc, 0xe4, 0x98, 0x3e, 0xb5, 0x27, 0x21, 0xed, 0xd0, 0xd9, 0x47, 0x91, + 0xf8, 0x7d, 0x4e, 0x82, 0x83, 0x2f, 0x18, 0x30, 0x41, 0x3c, 0x3f, 0xcd, 0xc6, 0x81, 0x61, 0x1c, + 0x9c, 0x67, 0xf8, 0xed, 0x4f, 0x3d, 0x4a, 0x8f, 0x36, 0xef, 0x0d, 0x2f, 0xcb, 0x00, 0x71, 0x52, + 0x24, 0x4e, 0xdb, 0x1f, 0x28, 0x86, 0xa2, 0xe8, 0x8f, 0x0f, 0xf8, 0xe0, 0xce, 0x7e, 0x87, 0x77, + 0x36, 0x33, 0x48, 0x06, 0x02, 0x3d, 0x15, 0x38, 0x55, 0xd6, 0x50, 0xad, 0x0f, 0xdb, 0xd3, 0x2f, + 0x3e, 0xd4, 0x6f, 0x9d, 0xd8, 0x7f, 0x8f, 0x50, 0xca, 0x17, 0x82, 0xdd, 0x78, 0x7b, 0xef, 0x97, + 0x93, 0x30, 0xa1, 0x75, 0x74, 0xc3, 0x3c, 0x43, 0xff, 0xe5, 0x7b, 0x2e, 0x45, 0x0b, 0x23, 0x1c, + 0x4a, 0x9e, 0x67, 0x5b, 0x21, 0x5a, 0x62, 0xbe, 0xf9, 0x93, 0x1f, 0x4d, 0xf9, 0xdb, 0x65, 0x61, + 0x05, 0x24, 0x71, 0xe1, 0x10, 0x1b, 0x4d, 0xb3, 0x35, 0x52, 0x96, 0xe2, 0x5b, 0x82, 0x86, 0xc8, + 0x6f, 0xd5, 0x39, 0xea, 0xc2, 0x3b, 0x20, 0xeb, 0x91, 0x89, 0xf2, 0x4c, 0x04, 0x11, 0x0f, 0x83, + 0xf8, 0x25, 0x6c, 0x67, 0x8e, 0xe2, 0x85, 0xbe, 0x21, 0xf0, 0xd9, 0x0e, 0x5d, 0x25, 0xb3, 0xb9, + 0x04, 0xc5, 0x96, 0x69, 0xb8, 0xaa, 0xd9, 0xd1, 0x5d, 0xdc, 0xb1, 0xdc, 0x48, 0xbf, 0xee, 0xcf, + 0x19, 0x91, 0xac, 0x52, 0x20, 0x78, 0x6b, 0x02, 0x8d, 0x8c, 0x84, 0x7d, 0x53, 0x34, 0xca, 0x48, + 0xfe, 0xbb, 0x37, 0x12, 0x8a, 0x43, 0x46, 0x72, 0x47, 0xd2, 0xe1, 0xb4, 0xae, 0x73, 0x65, 0xee, + 0xee, 0x31, 0x29, 0xf0, 0xa4, 0xe3, 0x4f, 0x13, 0x30, 0xc3, 0x81, 0xb7, 0x34, 0x07, 0x9f, 0xb9, + 0xf1, 0xd8, 0x16, 0x76, 0xb5, 0xc7, 0xce, 0x34, 0x4d, 0x5d, 0x58, 0xf2, 0x49, 0xae, 0xac, 0x49, + 0xfb, 0x3c, 0x6f, 0x2f, 0x0f, 0x3c, 0xee, 0x2e, 0x0f, 0x57, 0xf2, 0xe5, 0x7e, 0x19, 0x94, 0x5f, + 0x84, 0x64, 0xcd, 0xd4, 0x0d, 0x62, 0xdb, 0x5a, 0xd8, 0x30, 0x3b, 0x5c, 0xdd, 0xb2, 0x02, 0x3a, + 0x0f, 0x69, 0xad, 0x63, 0x76, 0x0d, 0x97, 0xa9, 0xda, 0xea, 0xcc, 0x17, 0x5e, 0x9b, 0x1d, 0xfb, + 0xf7, 0xaf, 0xcd, 0x26, 0x96, 0x0c, 0xf7, 0x0f, 0x3e, 0xfd, 0x08, 0x70, 0xea, 0x4b, 0x86, 0xfb, + 0xf1, 0xaf, 0x7e, 0xf2, 0x74, 0x4c, 0xe1, 0xd0, 0x0b, 0xc9, 0xaf, 0xbd, 0x3a, 0x1b, 0x93, 0x9f, + 0x87, 0xcc, 0x22, 0x6e, 0x1e, 0x40, 0xfe, 0xb1, 0x1e, 0xf2, 0xc7, 0x04, 0xf9, 0x45, 0xdc, 0x0c, + 0x90, 0x5f, 0xc4, 0xcd, 0x1e, 0xca, 0x4f, 0x42, 0x76, 0xc9, 0x70, 0xd9, 0xe7, 0x0e, 0x0f, 0x41, + 0x42, 0x37, 0xd8, 0x0d, 0xda, 0x00, 0x85, 0xbe, 0x01, 0x2a, 0x04, 0x8a, 0x20, 0x2e, 0xe2, 0xa6, + 0x87, 0xd8, 0xc2, 0xcd, 0x5e, 0xc4, 0xfe, 0xae, 0x09, 0x54, 0x75, 0xf1, 0x0f, 0xff, 0xf3, 0xcc, + 0xd8, 0x2b, 0xaf, 0xcf, 0x8c, 0x0d, 0x5d, 0x7a, 0x39, 0x7a, 0xe9, 0xbd, 0x15, 0xff, 0x68, 0x12, + 0xee, 0xa1, 0x5f, 0xc1, 0xd9, 0x1d, 0xdd, 0x70, 0xcf, 0x34, 0xed, 0x7d, 0xcb, 0x35, 0x89, 0x02, + 0x30, 0xb7, 0xf9, 0x82, 0x4f, 0xf8, 0xcd, 0xf3, 0xac, 0x79, 0xf0, 0x72, 0xcb, 0xdb, 0x90, 0x5a, + 0x27, 0x78, 0x84, 0xc5, 0xae, 0xe9, 0x6a, 0x6d, 0xee, 0xb5, 0xb0, 0x02, 0xa9, 0x65, 0x5f, 0xce, + 0xc5, 0x59, 0xad, 0x2e, 0x3e, 0x9a, 0x6b, 0x63, 0x6d, 0x9b, 0x7d, 0x80, 0x90, 0xa0, 0xee, 0x6e, + 0x96, 0x54, 0xd0, 0x6f, 0x0d, 0xa6, 0x20, 0xa5, 0x75, 0xd9, 0xcd, 0x97, 0x04, 0xf1, 0x83, 0x69, + 0x41, 0xbe, 0x0a, 0x19, 0x7e, 0xfe, 0x8e, 0x24, 0x48, 0x5c, 0xc7, 0xfb, 0xb4, 0x9f, 0x71, 0x85, + 0xfc, 0x44, 0xf3, 0x90, 0xa2, 0x83, 0xe7, 0x5f, 0x56, 0x4d, 0xcf, 0xf7, 0x8d, 0x7e, 0x9e, 0x0e, + 0x52, 0x61, 0x60, 0xf2, 0x15, 0xc8, 0x2e, 0x9a, 0x44, 0x0a, 0xc3, 0xd4, 0x72, 0x8c, 0x1a, 0x1d, + 0xb3, 0xd5, 0xe5, 0x52, 0xa1, 0xb0, 0x02, 0x3a, 0x02, 0x69, 0xf6, 0x41, 0x0a, 0xbf, 0xbd, 0xc3, + 0x4b, 0x72, 0x0d, 0x32, 0x94, 0xf6, 0x9a, 0x45, 0x5c, 0x06, 0xef, 0xee, 0x6f, 0x8e, 0x7f, 0x9e, + 0xc8, 0xc9, 0xc7, 0xfd, 0xc1, 0x22, 0x48, 0xb6, 0x34, 0x57, 0xe3, 0xf3, 0xa6, 0xbf, 0xe5, 0x77, + 0x42, 0x96, 0x13, 0x71, 0xd0, 0x59, 0x48, 0x98, 0x96, 0xc3, 0xef, 0xdf, 0x94, 0x87, 0x4d, 0x65, + 0xcd, 0xaa, 0x26, 0x89, 0xcc, 0x28, 0x04, 0xb8, 0xba, 0x3a, 0x54, 0x2c, 0x9e, 0x08, 0x89, 0x45, + 0x07, 0xbb, 0x5b, 0xdb, 0xae, 0xff, 0x83, 0x2d, 0x67, 0x9f, 0x28, 0x78, 0x82, 0x72, 0x3b, 0x0e, + 0x33, 0x81, 0xd6, 0x1b, 0xd8, 0x76, 0x74, 0xd3, 0x60, 0xd2, 0xc4, 0x25, 0x05, 0x05, 0x06, 0xc8, + 0xdb, 0x87, 0x88, 0xca, 0x33, 0x90, 0xa8, 0x58, 0x16, 0x2a, 0x43, 0x96, 0x96, 0x9b, 0x26, 0x93, + 0x95, 0xa4, 0xe2, 0x95, 0x49, 0x9b, 0x63, 0x6e, 0xbb, 0x37, 0x35, 0xdb, 0xfb, 0x5e, 0x53, 0x94, + 0xe5, 0xa7, 0x21, 0x57, 0x33, 0x0d, 0x07, 0x1b, 0x4e, 0x97, 0xfa, 0xc2, 0x5b, 0x6d, 0xb3, 0x79, + 0x9d, 0x53, 0x60, 0x05, 0xc2, 0x6c, 0xcd, 0xb2, 0x28, 0x66, 0x52, 0x21, 0x3f, 0xd9, 0x7e, 0xad, + 0xae, 0x0d, 0x65, 0xcf, 0xb9, 0xc3, 0xb1, 0x87, 0x4f, 0xd0, 0x77, 0x6a, 0x63, 0x70, 0x77, 0xff, + 0x46, 0xba, 0x8e, 0xf7, 0x9d, 0xc3, 0xee, 0xa3, 0xe7, 0x21, 0xb7, 0x4e, 0x1f, 0x4c, 0xb8, 0x8a, + 0xf7, 0x51, 0x19, 0x32, 0xb8, 0x75, 0xf6, 0xdc, 0xb9, 0xc7, 0x9e, 0x66, 0x52, 0x7e, 0x79, 0x4c, + 0x11, 0x15, 0x68, 0x06, 0x72, 0x0e, 0x6e, 0x5a, 0x67, 0xcf, 0x9d, 0xbf, 0xfe, 0x18, 0x13, 0xab, + 0xcb, 0x63, 0x8a, 0x5f, 0xb5, 0x90, 0x25, 0x33, 0xfe, 0xda, 0x87, 0x67, 0x63, 0xd5, 0x14, 0x24, + 0x9c, 0x6e, 0xe7, 0x2d, 0x93, 0x8d, 0x9f, 0x4f, 0xc1, 0x5c, 0xa0, 0x95, 0x19, 0x97, 0x1b, 0x5a, + 0x5b, 0x6f, 0x69, 0xfe, 0x33, 0x17, 0x52, 0x60, 0xfe, 0x14, 0x62, 0x88, 0xd5, 0x38, 0x90, 0x8b, + 0xf2, 0x6f, 0xc4, 0x60, 0xfc, 0x9a, 0xa0, 0xdc, 0xc0, 0x2e, 0xba, 0x00, 0xe0, 0xf5, 0x24, 0xb6, + 0xca, 0xf1, 0xf9, 0xde, 0xbe, 0xe6, 0x3d, 0x1c, 0x25, 0x00, 0x8e, 0x9e, 0xa4, 0x02, 0x68, 0x99, + 0x0e, 0xff, 0x76, 0x2f, 0x02, 0xd5, 0x03, 0x46, 0x0f, 0x03, 0xa2, 0x5a, 0x4d, 0xbd, 0x61, 0xba, + 0xba, 0xb1, 0xa3, 0x5a, 0xe6, 0x4d, 0xfe, 0x45, 0x74, 0x42, 0x91, 0x68, 0xcb, 0x35, 0xda, 0xb0, + 0x4e, 0xea, 0xc9, 0xa0, 0x73, 0x1e, 0x15, 0x12, 0xd6, 0x69, 0xad, 0x96, 0x8d, 0x1d, 0x87, 0x2b, + 0x2e, 0x51, 0x44, 0x17, 0x20, 0x63, 0x75, 0xb7, 0x54, 0xa1, 0x25, 0xf2, 0x67, 0xef, 0x1e, 0xb4, + 0xe7, 0x85, 0x6c, 0xf0, 0x5d, 0x9f, 0xb6, 0xba, 0x5b, 0x44, 0x52, 0xee, 0x85, 0xf1, 0x01, 0x83, + 0xc9, 0xdf, 0xf0, 0xc7, 0x41, 0xdf, 0xe8, 0xe0, 0x33, 0x50, 0x2d, 0x5b, 0x37, 0x6d, 0xdd, 0xdd, + 0xa7, 0x17, 0xe7, 0x12, 0x8a, 0x24, 0x1a, 0xd6, 0x79, 0xbd, 0x7c, 0x1d, 0x4a, 0x0d, 0xea, 0xee, + 0xfb, 0x23, 0x3f, 0xe7, 0x8f, 0x2f, 0x16, 0x3d, 0xbe, 0xa1, 0x23, 0x8b, 0xf7, 0x8d, 0xac, 0xba, + 0x32, 0x54, 0x32, 0x1f, 0x3f, 0x9c, 0x64, 0x86, 0xad, 0xdb, 0x1f, 0x1f, 0x0b, 0x6d, 0x4a, 0xee, + 0xf5, 0x04, 0x54, 0xd6, 0xa8, 0x42, 0x19, 0x15, 0xc9, 0x97, 0x0f, 0x36, 0xa2, 0xe5, 0x08, 0xd5, + 0x59, 0x8e, 0xdc, 0x3e, 0xf2, 0xd3, 0x50, 0x58, 0xd7, 0x6c, 0xb7, 0x81, 0xdd, 0xcb, 0x58, 0x6b, + 0x61, 0x3b, 0x6c, 0x65, 0x0b, 0xc2, 0xca, 0x22, 0x48, 0x52, 0x53, 0xca, 0xac, 0x0c, 0xfd, 0x2d, + 0xef, 0x42, 0x92, 0x5e, 0x9c, 0xf5, 0x2c, 0x30, 0xc7, 0x60, 0x16, 0x98, 0xe8, 0xcf, 0x7d, 0x17, + 0x3b, 0x22, 0xd9, 0x44, 0x0b, 0xe8, 0x09, 0x61, 0x47, 0x13, 0x07, 0xdb, 0x51, 0x2e, 0x84, 0xdc, + 0x9a, 0xb6, 0x21, 0x53, 0x25, 0xea, 0x77, 0x69, 0xd1, 0x1b, 0x48, 0xcc, 0x1f, 0x08, 0x5a, 0x81, + 0x92, 0xa5, 0xd9, 0x2e, 0xfd, 0xe6, 0x68, 0x97, 0xce, 0x82, 0xcb, 0xf9, 0x6c, 0xff, 0xae, 0x0b, + 0x4d, 0x96, 0xf7, 0x52, 0xb0, 0x82, 0x95, 0xf2, 0x7f, 0x49, 0x42, 0x9a, 0x33, 0xe3, 0x19, 0xc8, + 0x70, 0xb6, 0x72, 0xc9, 0xbc, 0x67, 0xbe, 0xdf, 0x18, 0xcd, 0x7b, 0x46, 0x83, 0xd3, 0x13, 0x38, + 0xe8, 0x41, 0xc8, 0x36, 0x77, 0x35, 0xdd, 0x50, 0xf5, 0x16, 0x77, 0x00, 0xf3, 0xaf, 0xbf, 0x36, + 0x9b, 0xa9, 0x91, 0xba, 0xa5, 0x45, 0x25, 0x43, 0x1b, 0x97, 0x5a, 0xc4, 0xf2, 0xef, 0x62, 0x7d, + 0x67, 0xd7, 0xe5, 0xbb, 0x8b, 0x97, 0xd0, 0x53, 0x90, 0x24, 0x02, 0xc1, 0xbf, 0x48, 0x2d, 0xf7, + 0xf9, 0xf1, 0x5e, 0xa2, 0xa5, 0x9a, 0x25, 0x1d, 0xbf, 0xff, 0x3f, 0xcd, 0xc6, 0x14, 0x8a, 0x81, + 0x6a, 0x50, 0x68, 0x6b, 0x8e, 0xab, 0x52, 0xab, 0x45, 0xba, 0x4f, 0x51, 0x12, 0xc7, 0xfa, 0x19, + 0xc2, 0x19, 0xcb, 0x87, 0x9e, 0x27, 0x58, 0xac, 0xaa, 0x85, 0x4e, 0x82, 0x44, 0x89, 0x34, 0xcd, + 0x4e, 0x47, 0x77, 0x99, 0x2f, 0x95, 0xa6, 0x7c, 0x2f, 0x92, 0xfa, 0x1a, 0xad, 0xa6, 0x1e, 0xd5, + 0x71, 0xc8, 0xd1, 0x6f, 0xe0, 0x28, 0x08, 0xbb, 0xad, 0x9d, 0x25, 0x15, 0xb4, 0xf1, 0x04, 0x94, + 0x7c, 0xdd, 0xc8, 0x40, 0xb2, 0x8c, 0x8a, 0x5f, 0x4d, 0x01, 0x1f, 0x85, 0x29, 0x03, 0xef, 0xd1, + 0xfb, 0xe3, 0x21, 0xe8, 0x1c, 0x85, 0x46, 0xa4, 0xed, 0x5a, 0x18, 0xe3, 0x01, 0x28, 0x36, 0x05, + 0xf3, 0x19, 0x2c, 0x50, 0xd8, 0x82, 0x57, 0x4b, 0xc1, 0x8e, 0x41, 0x56, 0xb3, 0x2c, 0x06, 0x90, + 0xe7, 0xba, 0xd1, 0xb2, 0x68, 0xd3, 0x69, 0x98, 0xa0, 0x73, 0xb4, 0xb1, 0xd3, 0x6d, 0xbb, 0x9c, + 0xc8, 0x38, 0x85, 0x29, 0x91, 0x06, 0x85, 0xd5, 0x53, 0xd8, 0xfb, 0xa0, 0x80, 0x6f, 0xe8, 0x2d, + 0x6c, 0x34, 0x31, 0x83, 0x2b, 0x50, 0xb8, 0x71, 0x51, 0x49, 0x81, 0x4e, 0x81, 0xa7, 0xf3, 0x54, + 0xa1, 0x8f, 0x8b, 0x8c, 0x9e, 0xa8, 0xaf, 0xb0, 0x6a, 0x79, 0x1a, 0x92, 0x8b, 0x9a, 0xab, 0x11, + 0xa7, 0xc2, 0xdd, 0x63, 0x46, 0x66, 0x5c, 0x21, 0x3f, 0xe5, 0xaf, 0xc5, 0x21, 0x79, 0xcd, 0x74, + 0x31, 0x7a, 0x3c, 0xe0, 0xf0, 0x15, 0x07, 0xc9, 0x73, 0x43, 0xdf, 0x31, 0x70, 0x6b, 0xc5, 0xd9, + 0x09, 0x3c, 0x58, 0xe1, 0x8b, 0x53, 0x3c, 0x24, 0x4e, 0x53, 0x90, 0xb2, 0xcd, 0xae, 0xd1, 0x12, + 0x17, 0x9d, 0x69, 0x01, 0xd5, 0x21, 0xeb, 0x49, 0x49, 0x32, 0x4a, 0x4a, 0x4a, 0x44, 0x4a, 0x88, + 0x0c, 0xf3, 0x0a, 0x25, 0xb3, 0xc5, 0x85, 0xa5, 0x0a, 0x39, 0x4f, 0x79, 0x71, 0x69, 0x1b, 0x4d, + 0x60, 0x7d, 0x34, 0x62, 0x48, 0xbc, 0xb5, 0xf7, 0x98, 0xc7, 0x24, 0x4e, 0xf2, 0x1a, 0x38, 0xf7, + 0x42, 0x62, 0xc5, 0x1f, 0xcf, 0xc8, 0xd0, 0x79, 0xf9, 0x62, 0xc5, 0x1e, 0xd0, 0xb8, 0x1b, 0x72, + 0x8e, 0xbe, 0x63, 0x68, 0x6e, 0xd7, 0xc6, 0x5c, 0xf2, 0xfc, 0x0a, 0xf9, 0xf3, 0x31, 0x48, 0x33, + 0x49, 0x0e, 0xf0, 0x2d, 0x36, 0x98, 0x6f, 0xf1, 0x61, 0x7c, 0x4b, 0xdc, 0x39, 0xdf, 0x2a, 0x00, + 0xde, 0x60, 0x1c, 0xfe, 0xa6, 0xc1, 0x00, 0x6f, 0x81, 0x0d, 0xb1, 0xa1, 0xef, 0xf0, 0x8d, 0x1a, + 0x40, 0x92, 0xff, 0x63, 0x8c, 0x38, 0xae, 0xbc, 0x1d, 0x55, 0xa0, 0x20, 0xc6, 0xa5, 0x6e, 0xb7, + 0xb5, 0x1d, 0x2e, 0x3b, 0xf7, 0x0c, 0x1d, 0xdc, 0xc5, 0xb6, 0xb6, 0xa3, 0xe4, 0xf9, 0x78, 0x48, + 0x61, 0xf0, 0x3a, 0xc4, 0x87, 0xac, 0x43, 0x68, 0xe1, 0x13, 0x77, 0xb6, 0xf0, 0xa1, 0x25, 0x4a, + 0xf6, 0x2e, 0xd1, 0xa7, 0xe2, 0x34, 0x78, 0xb1, 0x4c, 0x47, 0x6b, 0xbf, 0x1d, 0x3b, 0xe2, 0x38, + 0xe4, 0x2c, 0xb3, 0xad, 0xb2, 0x16, 0xf6, 0x01, 0x40, 0xd6, 0x32, 0xdb, 0x4a, 0xdf, 0xb2, 0xa7, + 0xde, 0xa4, 0xed, 0x92, 0x7e, 0x13, 0xb8, 0x96, 0xe9, 0xe5, 0x9a, 0x0d, 0xe3, 0x8c, 0x15, 0xdc, + 0x96, 0x3d, 0x4a, 0x78, 0x40, 0x8d, 0x63, 0xac, 0xdf, 0xf6, 0xb2, 0x61, 0x33, 0x48, 0x85, 0xc3, + 0x11, 0x0c, 0xa6, 0xfa, 0x07, 0x45, 0xbd, 0x41, 0xb1, 0x54, 0x38, 0x9c, 0xfc, 0xf3, 0x31, 0x80, + 0x65, 0xc2, 0x59, 0x3a, 0x5f, 0x62, 0x85, 0x1c, 0x3a, 0x04, 0x35, 0xd4, 0xf3, 0xcc, 0xb0, 0x45, + 0xe3, 0xfd, 0x8f, 0x3b, 0xc1, 0x71, 0xd7, 0xa0, 0xe0, 0x0b, 0xa3, 0x83, 0xc5, 0x60, 0x66, 0x0e, + 0xf0, 0xa8, 0x1b, 0xd8, 0x55, 0xc6, 0x6f, 0x04, 0x4a, 0xf2, 0x3f, 0x89, 0x41, 0x8e, 0x8e, 0x69, + 0x05, 0xbb, 0x5a, 0x68, 0x0d, 0x63, 0x77, 0xbe, 0x86, 0xf7, 0x00, 0x30, 0x32, 0x8e, 0xfe, 0x32, + 0xe6, 0x92, 0x95, 0xa3, 0x35, 0x0d, 0xfd, 0x65, 0x8c, 0xce, 0x7b, 0x0c, 0x4f, 0x1c, 0xcc, 0x70, + 0xe1, 0x71, 0x73, 0xb6, 0x1f, 0x85, 0x0c, 0x7d, 0x03, 0x6c, 0xcf, 0xe1, 0x4e, 0x74, 0xda, 0xe8, + 0x76, 0x36, 0xf6, 0x1c, 0xf9, 0x25, 0xc8, 0x6c, 0xec, 0xb1, 0x5c, 0xc8, 0x71, 0xc8, 0xd9, 0xa6, + 0xc9, 0x6d, 0x32, 0xf3, 0x85, 0xb2, 0xa4, 0x82, 0x9a, 0x20, 0x11, 0xff, 0xc7, 0xfd, 0xf8, 0xdf, + 0x4f, 0x60, 0x24, 0x46, 0x4a, 0x60, 0x9c, 0xfe, 0x77, 0x31, 0xc8, 0x07, 0xf4, 0x03, 0x7a, 0x0c, + 0xee, 0xaa, 0x2e, 0xaf, 0xd5, 0xae, 0xaa, 0x4b, 0x8b, 0xea, 0xc5, 0xe5, 0xca, 0x25, 0xff, 0x13, + 0xb7, 0xf2, 0x91, 0x5b, 0xb7, 0xe7, 0x50, 0x00, 0x76, 0xd3, 0xa0, 0xa7, 0x39, 0xe8, 0x0c, 0x4c, + 0x85, 0x51, 0x2a, 0xd5, 0x46, 0x7d, 0x75, 0x43, 0x8a, 0x95, 0xef, 0xba, 0x75, 0x7b, 0x6e, 0x22, + 0x80, 0x51, 0xd9, 0x72, 0xb0, 0xe1, 0xf6, 0x23, 0xd4, 0xd6, 0x56, 0x56, 0x96, 0x36, 0xa4, 0x78, + 0x1f, 0x02, 0x57, 0xd8, 0xa7, 0x60, 0x22, 0x8c, 0xb0, 0xba, 0xb4, 0x2c, 0x25, 0xca, 0xe8, 0xd6, + 0xed, 0xb9, 0x62, 0x00, 0x7a, 0x55, 0x6f, 0x97, 0xb3, 0xef, 0xfb, 0xc8, 0xcc, 0xd8, 0xc7, 0xff, + 0xf6, 0x4c, 0x8c, 0xcc, 0xac, 0x10, 0xd2, 0x11, 0xe8, 0x61, 0x38, 0xda, 0x58, 0xba, 0xb4, 0x5a, + 0x5f, 0x54, 0x57, 0x1a, 0x97, 0xc4, 0x79, 0x88, 0x98, 0x5d, 0xe9, 0xd6, 0xed, 0xb9, 0x3c, 0x9f, + 0xd2, 0x30, 0xe8, 0x75, 0xa5, 0x7e, 0x6d, 0x6d, 0xa3, 0x2e, 0xc5, 0x18, 0xf4, 0xba, 0x8d, 0x6f, + 0x98, 0x2e, 0x7b, 0x24, 0xf0, 0x51, 0x38, 0x36, 0x00, 0xda, 0x9b, 0xd8, 0xc4, 0xad, 0xdb, 0x73, + 0x85, 0x75, 0x1b, 0xb3, 0xfd, 0x43, 0x31, 0xe6, 0x61, 0xba, 0x1f, 0x63, 0x6d, 0x7d, 0xad, 0x51, + 0x59, 0x96, 0xe6, 0xca, 0xd2, 0xad, 0xdb, 0x73, 0xe3, 0x42, 0x19, 0x12, 0x78, 0x7f, 0x66, 0x6f, + 0x55, 0xb4, 0xf3, 0xe3, 0x99, 0x50, 0x2e, 0x8f, 0xc5, 0x11, 0x96, 0x66, 0x6b, 0x9d, 0xc3, 0x86, + 0x3b, 0x11, 0xc7, 0xb9, 0xf2, 0x2b, 0x71, 0x28, 0x79, 0xce, 0xf4, 0x3a, 0xed, 0x01, 0x3d, 0x1e, + 0xcc, 0xc3, 0xe4, 0x87, 0x9a, 0x31, 0x06, 0x2d, 0xd2, 0x34, 0xef, 0x80, 0xac, 0x70, 0xca, 0xb8, + 0xba, 0x98, 0xeb, 0xc7, 0xab, 0x73, 0x08, 0x8e, 0xea, 0x61, 0xa0, 0x67, 0x21, 0xe7, 0x29, 0x0f, + 0xef, 0x89, 0x9d, 0xe1, 0xda, 0x86, 0xe3, 0xfb, 0x38, 0xe8, 0x69, 0x3f, 0x6c, 0x48, 0x0e, 0x0b, + 0x44, 0xae, 0x31, 0x00, 0x8e, 0x2c, 0xe0, 0xe5, 0x25, 0xbe, 0xed, 0xf8, 0xec, 0xe9, 0xf3, 0x04, + 0x7b, 0x2a, 0x8b, 0xa4, 0x98, 0x57, 0x92, 0xed, 0x68, 0x7b, 0x55, 0x1a, 0x4c, 0x1d, 0x85, 0x0c, + 0x69, 0xdc, 0xe1, 0x5f, 0x5f, 0x27, 0x94, 0x74, 0x47, 0xdb, 0xbb, 0xa4, 0x39, 0x57, 0x92, 0xd9, + 0x84, 0x94, 0x94, 0x3f, 0x11, 0x83, 0x62, 0x78, 0x8e, 0xe8, 0x21, 0x40, 0x04, 0x43, 0xdb, 0xc1, + 0x2a, 0x51, 0x31, 0x94, 0x59, 0x82, 0x6e, 0xa9, 0xa3, 0xed, 0x55, 0x76, 0xf0, 0x6a, 0xb7, 0x43, + 0x07, 0xe0, 0xa0, 0x15, 0x90, 0x04, 0xb0, 0x58, 0x27, 0xce, 0xcc, 0x63, 0xfd, 0x0f, 0xee, 0x71, + 0x00, 0x66, 0xa8, 0x3e, 0x40, 0x0c, 0x55, 0x91, 0xd1, 0xf3, 0x8e, 0xe3, 0x43, 0x53, 0x49, 0x84, + 0xa7, 0x22, 0x3f, 0x0b, 0xa5, 0x1e, 0x7e, 0x22, 0x19, 0x0a, 0x3c, 0x2b, 0x40, 0x8f, 0x3a, 0x99, + 0x7f, 0x9c, 0x53, 0xf2, 0x2c, 0xfa, 0xa7, 0x47, 0xbf, 0x0b, 0xd9, 0xcf, 0xbd, 0x3a, 0x1b, 0xa3, + 0x09, 0xf3, 0x87, 0xa0, 0x10, 0xe2, 0xa8, 0xc8, 0xd4, 0xc5, 0xfc, 0x4c, 0x9d, 0x0f, 0xfc, 0x22, + 0x8c, 0x13, 0x45, 0x89, 0x5b, 0x1c, 0xf6, 0x41, 0x28, 0x31, 0x45, 0xde, 0xcb, 0x6b, 0xe6, 0x49, + 0xad, 0x08, 0x86, 0xcb, 0xc2, 0xb5, 0x0a, 0xb3, 0x3d, 0x2f, 0xa0, 0x2e, 0x69, 0x4e, 0xf5, 0x5d, + 0x1f, 0x7f, 0x7d, 0x26, 0xf6, 0xd6, 0x6c, 0xc4, 0x2f, 0xbd, 0x0b, 0x8e, 0x07, 0x1a, 0xb5, 0xad, + 0xa6, 0x1e, 0xca, 0x3a, 0x94, 0x02, 0x42, 0x46, 0x1a, 0xa3, 0xb2, 0x07, 0x07, 0xe6, 0x30, 0x0e, + 0x4e, 0x98, 0x95, 0x0f, 0xd6, 0x08, 0xd1, 0x89, 0x8d, 0xc1, 0x39, 0xca, 0xff, 0x93, 0x85, 0x8c, + 0x82, 0xdf, 0xd3, 0xc5, 0x8e, 0x8b, 0xce, 0x42, 0x12, 0x37, 0x77, 0xcd, 0x41, 0x29, 0x21, 0x32, + 0xb9, 0x79, 0x0e, 0x57, 0x6f, 0xee, 0x9a, 0x97, 0xc7, 0x14, 0x0a, 0x8b, 0xce, 0x41, 0x6a, 0xbb, + 0xdd, 0xe5, 0x79, 0x8a, 0x1e, 0x65, 0x11, 0x44, 0xba, 0x48, 0x80, 0x2e, 0x8f, 0x29, 0x0c, 0x9a, + 0x74, 0x45, 0x9f, 0x2e, 0x4d, 0x1c, 0xdc, 0xd5, 0x92, 0xb1, 0x4d, 0xbb, 0x22, 0xb0, 0xa8, 0x0a, + 0xa0, 0x1b, 0xba, 0xab, 0xd2, 0x18, 0x9e, 0x7b, 0x82, 0xf7, 0x0e, 0xc7, 0xd4, 0x5d, 0x1a, 0xf5, + 0x5f, 0x1e, 0x53, 0x72, 0xba, 0x28, 0x90, 0xe1, 0xbe, 0xa7, 0x8b, 0xed, 0x7d, 0xee, 0x00, 0x0e, + 0x1d, 0xee, 0xbb, 0x08, 0x10, 0x19, 0x2e, 0x85, 0x46, 0x75, 0xc8, 0xd3, 0x6f, 0x54, 0xd9, 0xfe, + 0xe5, 0xcf, 0x68, 0xca, 0xc3, 0x90, 0xab, 0x04, 0x94, 0x6e, 0xe9, 0xcb, 0x63, 0x0a, 0x6c, 0x79, + 0x25, 0xa2, 0x24, 0xd9, 0x33, 0x4b, 0xee, 0x1e, 0x7f, 0x3c, 0x70, 0x76, 0x18, 0x0d, 0xfa, 0xd6, + 0xd2, 0xc6, 0xde, 0xe5, 0x31, 0x25, 0xd3, 0x64, 0x3f, 0xc9, 0xfc, 0x5b, 0xb8, 0xad, 0xdf, 0xc0, + 0x36, 0xc1, 0xcf, 0x1d, 0x3c, 0xff, 0x45, 0x06, 0x49, 0x29, 0xe4, 0x5a, 0xa2, 0x40, 0x14, 0x2d, + 0x36, 0x5a, 0x7c, 0x1a, 0xd0, 0xaf, 0xa7, 0x43, 0xeb, 0x6c, 0xb4, 0xc4, 0x24, 0xb2, 0x98, 0xff, + 0x46, 0x4f, 0x79, 0x1e, 0x6a, 0xbe, 0xdf, 0x29, 0x0c, 0x4d, 0x80, 0xe5, 0x2a, 0xc6, 0x84, 0xa7, + 0x8a, 0x56, 0xa1, 0xd8, 0xd6, 0x1d, 0x57, 0x75, 0x0c, 0xcd, 0x72, 0x76, 0x4d, 0xd7, 0xa1, 0x41, + 0x7f, 0xfe, 0xec, 0x03, 0xc3, 0x28, 0x2c, 0xeb, 0x8e, 0xdb, 0x10, 0xc0, 0x97, 0xc7, 0x94, 0x42, + 0x3b, 0x58, 0x41, 0xe8, 0x99, 0xdb, 0xdb, 0xd8, 0xf6, 0x08, 0xd2, 0xe4, 0xc0, 0x01, 0xf4, 0xd6, + 0x08, 0xb4, 0xc0, 0x27, 0xf4, 0xcc, 0x60, 0x05, 0xfa, 0x7e, 0x98, 0x6c, 0x9b, 0x5a, 0xcb, 0x23, + 0xa7, 0x36, 0x77, 0xbb, 0xc6, 0x75, 0x9a, 0x49, 0xc8, 0x9f, 0x3d, 0x35, 0x74, 0x90, 0xa6, 0xd6, + 0x12, 0x24, 0x6a, 0x04, 0xe1, 0xf2, 0x98, 0x32, 0xd1, 0xee, 0xad, 0x44, 0xef, 0x86, 0x29, 0xcd, + 0xb2, 0xda, 0xfb, 0xbd, 0xd4, 0x4b, 0x94, 0xfa, 0xe9, 0x61, 0xd4, 0x2b, 0x04, 0xa7, 0x97, 0x3c, + 0xd2, 0xfa, 0x6a, 0xd1, 0x06, 0x48, 0x96, 0x8d, 0xe9, 0x47, 0x35, 0x16, 0x77, 0x55, 0xe8, 0xcb, + 0x58, 0xf9, 0xb3, 0x27, 0x86, 0xd1, 0x5e, 0x67, 0xf0, 0xc2, 0xb3, 0xb9, 0x3c, 0xa6, 0x94, 0xac, + 0x70, 0x15, 0xa3, 0x6a, 0x36, 0x31, 0x7d, 0xbd, 0x89, 0x53, 0x9d, 0x88, 0xa2, 0x4a, 0xe1, 0xc3, + 0x54, 0x43, 0x55, 0xd5, 0x0c, 0xbf, 0x14, 0xc7, 0x9f, 0x56, 0x39, 0x01, 0xf9, 0x80, 0x62, 0x41, + 0xd3, 0x90, 0xe1, 0x97, 0x04, 0xc4, 0x65, 0x3a, 0x5e, 0x94, 0x8b, 0x30, 0x1e, 0x54, 0x26, 0xf2, + 0xfb, 0x63, 0x1e, 0x26, 0xfd, 0xd6, 0x7d, 0x3a, 0x9c, 0x3a, 0xcc, 0xf9, 0x59, 0xc1, 0xfb, 0x84, + 0x15, 0x11, 0xed, 0xec, 0x34, 0x69, 0x9c, 0x56, 0x72, 0x23, 0x86, 0x66, 0x21, 0x6f, 0x9d, 0xb5, + 0x3c, 0x90, 0x04, 0x05, 0x01, 0xeb, 0xac, 0x25, 0x00, 0xee, 0x85, 0x71, 0x32, 0x53, 0x35, 0xe8, + 0x68, 0xe4, 0x94, 0x3c, 0xa9, 0xe3, 0x20, 0xf2, 0xbf, 0x8a, 0x83, 0xd4, 0xab, 0x80, 0xbc, 0x9c, + 0x62, 0xec, 0xd0, 0x39, 0xc5, 0x63, 0xbd, 0xd9, 0x4c, 0x3f, 0x81, 0xb9, 0x0c, 0x92, 0x9f, 0x87, + 0x63, 0x86, 0x60, 0xb8, 0xe3, 0xd4, 0xe3, 0xe1, 0x29, 0xa5, 0x66, 0x8f, 0xcb, 0x77, 0x31, 0x74, + 0xf6, 0x22, 0xde, 0xe6, 0xee, 0x5d, 0x62, 0xcf, 0x5f, 0xd8, 0xb4, 0x5a, 0x9a, 0x8b, 0x45, 0x5e, + 0x24, 0x70, 0x0c, 0xf3, 0x20, 0x94, 0x34, 0xcb, 0x52, 0x1d, 0x57, 0x73, 0x31, 0x37, 0xeb, 0x29, + 0x96, 0x1e, 0xd4, 0x2c, 0xab, 0x41, 0x6a, 0x99, 0x59, 0x7f, 0x00, 0x8a, 0x44, 0x27, 0xeb, 0x5a, + 0x5b, 0xe5, 0x59, 0x82, 0x34, 0xb3, 0xfe, 0xbc, 0xf6, 0x32, 0xad, 0x94, 0x5b, 0xde, 0x8a, 0x53, + 0x7d, 0xec, 0x85, 0x59, 0xb1, 0x40, 0x98, 0x85, 0xf8, 0x23, 0x04, 0x8c, 0x3f, 0xe2, 0xdd, 0x86, + 0xc1, 0xd9, 0xdd, 0x29, 0x1a, 0x92, 0xdd, 0x60, 0x09, 0x8f, 0xac, 0xc2, 0x0a, 0xf2, 0x7b, 0xe3, + 0x30, 0xd1, 0xa7, 0xb9, 0x07, 0xa6, 0xbd, 0xfd, 0xf8, 0x32, 0x7e, 0xa8, 0xf8, 0xf2, 0x6a, 0x38, + 0xad, 0x1b, 0xb0, 0x7c, 0xc7, 0xfb, 0x98, 0xcc, 0xf4, 0x26, 0x11, 0x68, 0x4e, 0x24, 0x90, 0xf9, + 0xa5, 0x62, 0xbe, 0x09, 0x53, 0x5b, 0xfb, 0x2f, 0x6b, 0x86, 0xab, 0x1b, 0x58, 0xed, 0x5b, 0xb5, + 0x7e, 0x53, 0xba, 0xa2, 0x3b, 0x5b, 0x78, 0x57, 0xbb, 0xa1, 0x9b, 0x62, 0x58, 0x93, 0x1e, 0xbe, + 0x9f, 0xdc, 0x95, 0x15, 0x28, 0x86, 0x4d, 0x0f, 0x2a, 0x42, 0xdc, 0xdd, 0xe3, 0xf3, 0x8f, 0xbb, + 0x7b, 0xe8, 0x51, 0x9e, 0x07, 0x8a, 0xd3, 0x3c, 0x50, 0x7f, 0x47, 0x1c, 0xcf, 0x4f, 0x02, 0xc9, + 0xb2, 0xb7, 0x1b, 0x3c, 0x73, 0xd4, 0x4b, 0x55, 0x3e, 0x05, 0xa5, 0x1e, 0x7b, 0x33, 0x2c, 0x2b, + 0x28, 0x97, 0xa0, 0x10, 0x32, 0x2e, 0xf2, 0x11, 0x98, 0x1a, 0x64, 0x2b, 0xe4, 0x5d, 0xaf, 0x3e, + 0xa4, 0xf3, 0xd1, 0x39, 0xc8, 0x7a, 0xc6, 0x62, 0x40, 0x16, 0x82, 0xce, 0x42, 0x00, 0x2b, 0x1e, + 0x68, 0x28, 0x99, 0x1d, 0x0f, 0x25, 0xb3, 0xe5, 0x1f, 0x82, 0xe9, 0x61, 0x86, 0xa0, 0x67, 0x1a, + 0x49, 0x4f, 0x0a, 0x8f, 0x40, 0x9a, 0x3f, 0xd1, 0x16, 0xa7, 0xc7, 0x37, 0xbc, 0x44, 0xa4, 0x93, + 0x19, 0x85, 0x04, 0x3b, 0xd5, 0xa1, 0x05, 0x59, 0x85, 0x63, 0x43, 0x8d, 0xc1, 0xf0, 0x83, 0x20, + 0x46, 0x88, 0x1f, 0x04, 0x35, 0xc5, 0x70, 0x1c, 0x3a, 0x57, 0x71, 0xd9, 0x81, 0x95, 0xe4, 0x0f, + 0x24, 0xe0, 0xc8, 0x60, 0x93, 0x80, 0xe6, 0x60, 0x9c, 0xf8, 0xdd, 0x6e, 0xd8, 0x45, 0x87, 0x8e, + 0xb6, 0xb7, 0xc1, 0xfd, 0x73, 0x9e, 0x48, 0x8f, 0x7b, 0x89, 0x74, 0xb4, 0x09, 0x13, 0x6d, 0xb3, + 0xa9, 0xb5, 0xd5, 0x80, 0xc4, 0x73, 0x61, 0xbf, 0xaf, 0x8f, 0xd9, 0x75, 0xf6, 0x70, 0x73, 0xab, + 0x4f, 0xe8, 0x4b, 0x94, 0xc6, 0xb2, 0x27, 0xf9, 0x68, 0x11, 0xf2, 0x1d, 0x5f, 0x90, 0x0f, 0x21, + 0xec, 0x41, 0xb4, 0xc0, 0x92, 0xa4, 0x06, 0x1e, 0xfb, 0xa4, 0x0f, 0xad, 0xa2, 0x87, 0x9d, 0xa0, + 0x64, 0x86, 0x9e, 0xa0, 0x0c, 0x3a, 0xae, 0xc8, 0x0e, 0x3e, 0xae, 0x78, 0x5f, 0x70, 0x69, 0x42, + 0x46, 0xb4, 0xff, 0x04, 0x03, 0x35, 0x60, 0x8a, 0xe3, 0xb7, 0x42, 0xbc, 0x8f, 0x8f, 0xaa, 0x68, + 0x90, 0x40, 0x1f, 0xce, 0xf6, 0xc4, 0x9d, 0xb1, 0x5d, 0xe8, 0xd2, 0x64, 0x40, 0x97, 0xfe, 0x3f, + 0xb6, 0x14, 0xff, 0x26, 0x07, 0x59, 0x05, 0x3b, 0x16, 0x31, 0x9c, 0xa8, 0x0a, 0x39, 0xbc, 0xd7, + 0xc4, 0x96, 0xeb, 0x1f, 0x53, 0x0e, 0x0a, 0x06, 0x18, 0x74, 0x5d, 0x40, 0x12, 0x4f, 0xdc, 0x43, + 0x43, 0x8f, 0xf3, 0x60, 0x6b, 0x78, 0xdc, 0xc4, 0xd1, 0x83, 0xd1, 0xd6, 0x79, 0x11, 0x6d, 0x25, + 0x86, 0x3a, 0xdf, 0x0c, 0xab, 0x27, 0xdc, 0x7a, 0x9c, 0x87, 0x5b, 0xc9, 0x88, 0xce, 0x42, 0xf1, + 0x56, 0x2d, 0x14, 0x6f, 0xa5, 0x23, 0xa6, 0x39, 0x24, 0xe0, 0x3a, 0x2f, 0x02, 0xae, 0x4c, 0xc4, + 0x88, 0x7b, 0x22, 0xae, 0x8b, 0xe1, 0x88, 0x2b, 0x3b, 0x44, 0x81, 0x08, 0xec, 0xa1, 0x21, 0xd7, + 0x33, 0x81, 0x90, 0x2b, 0x37, 0x34, 0xde, 0x61, 0x44, 0x06, 0xc4, 0x5c, 0xb5, 0x50, 0xcc, 0x05, + 0x11, 0x3c, 0x18, 0x12, 0x74, 0x7d, 0x5f, 0x30, 0xe8, 0xca, 0x0f, 0x8d, 0xdb, 0xf8, 0x7a, 0x0f, + 0x8a, 0xba, 0x9e, 0xf6, 0xa2, 0xae, 0xf1, 0xa1, 0x61, 0x23, 0x9f, 0x43, 0x6f, 0xd8, 0xb5, 0xd6, + 0x17, 0x76, 0x15, 0xf8, 0xdf, 0x44, 0x18, 0x46, 0x22, 0x22, 0xee, 0x5a, 0xeb, 0x8b, 0xbb, 0x8a, + 0x11, 0x04, 0x23, 0x02, 0xaf, 0x1f, 0x18, 0x1c, 0x78, 0x0d, 0x0f, 0x8d, 0xf8, 0x30, 0x47, 0x8b, + 0xbc, 0xd4, 0x21, 0x91, 0x17, 0x8b, 0x8e, 0x1e, 0x1a, 0x4a, 0x7e, 0xe4, 0xd0, 0x6b, 0x73, 0x40, + 0xe8, 0xc5, 0x82, 0xa4, 0x93, 0x43, 0x89, 0x8f, 0x10, 0x7b, 0x6d, 0x0e, 0x88, 0xbd, 0x50, 0x24, + 0xd9, 0xc3, 0x04, 0x5f, 0x29, 0x29, 0x2d, 0x9f, 0x22, 0xae, 0x6f, 0x8f, 0x9e, 0x22, 0xfe, 0x03, + 0xb6, 0x6d, 0xd3, 0x16, 0x37, 0x6b, 0x69, 0x41, 0x3e, 0x49, 0x9c, 0x71, 0x5f, 0x27, 0x1d, 0x10, + 0xa8, 0x51, 0x3f, 0x2d, 0xa0, 0x87, 0xe4, 0xcf, 0xc5, 0x7c, 0x5c, 0xea, 0xc3, 0x06, 0x1d, 0xf9, + 0x1c, 0x77, 0xe4, 0x03, 0xe1, 0x5b, 0x3c, 0x1c, 0xbe, 0xcd, 0x42, 0x9e, 0xf8, 0x5f, 0x3d, 0x91, + 0x99, 0x66, 0x79, 0x91, 0x99, 0xb8, 0x52, 0xc0, 0x82, 0x3c, 0x6e, 0x56, 0xd8, 0x49, 0x4e, 0xc9, + 0xbb, 0x5e, 0xc1, 0x62, 0x0a, 0xf4, 0x08, 0x4c, 0x06, 0x60, 0x3d, 0xbf, 0x8e, 0x85, 0x29, 0x92, + 0x07, 0x5d, 0xe1, 0x0e, 0xde, 0x3f, 0x8d, 0xf9, 0x1c, 0xf2, 0x43, 0xba, 0x41, 0xd1, 0x57, 0xec, + 0x4d, 0x8a, 0xbe, 0xe2, 0x77, 0x1c, 0x7d, 0x05, 0xfd, 0xd4, 0x44, 0xd8, 0x4f, 0xfd, 0x1f, 0x31, + 0x7f, 0x4d, 0xbc, 0x58, 0xaa, 0x69, 0xb6, 0x30, 0xf7, 0x1c, 0xe9, 0x6f, 0xe2, 0x54, 0xb4, 0xcd, + 0x1d, 0xee, 0x1f, 0x92, 0x9f, 0x04, 0xca, 0x33, 0x1c, 0x39, 0x6e, 0x17, 0x3c, 0xa7, 0x33, 0x15, + 0xbc, 0xff, 0xcb, 0x2f, 0xc5, 0xa6, 0xfd, 0x4b, 0xb1, 0xde, 0xc7, 0x6f, 0x99, 0xc0, 0xc7, 0x6f, + 0xe8, 0x29, 0xc8, 0xd1, 0x8c, 0xa8, 0x6a, 0x5a, 0xe2, 0x2f, 0x68, 0x1c, 0x1f, 0x7e, 0x21, 0xd6, + 0xa1, 0x57, 0xf5, 0xd8, 0x25, 0x5a, 0xdf, 0x63, 0xc8, 0x85, 0x3c, 0x86, 0xbb, 0x21, 0x47, 0x46, + 0xcf, 0x5e, 0x82, 0x06, 0xfe, 0xe5, 0xa4, 0xa8, 0x90, 0xdf, 0x0d, 0xa8, 0xdf, 0x48, 0xa0, 0xcb, + 0x90, 0xc6, 0x37, 0xe8, 0xb3, 0x7a, 0xec, 0xa2, 0xe1, 0x91, 0x7e, 0xd7, 0x94, 0x34, 0x57, 0xa7, + 0x09, 0x93, 0xbf, 0xfe, 0xda, 0xac, 0xc4, 0xa0, 0x1f, 0xf6, 0x3e, 0x14, 0x50, 0x38, 0xbe, 0xfc, + 0x1f, 0xe2, 0x24, 0x80, 0x09, 0x19, 0x90, 0x81, 0xbc, 0x1d, 0x74, 0x44, 0x38, 0x1a, 0xbf, 0x67, + 0x00, 0x76, 0x34, 0x47, 0xbd, 0xa9, 0x19, 0x2e, 0x6e, 0x71, 0xa6, 0x07, 0x6a, 0x50, 0x19, 0xb2, + 0xa4, 0xd4, 0x75, 0x70, 0x8b, 0x87, 0xd1, 0x5e, 0x39, 0x30, 0xcf, 0xcc, 0x77, 0x37, 0xcf, 0x30, + 0x97, 0xb3, 0x3d, 0x5c, 0x0e, 0x04, 0x17, 0xb9, 0x60, 0x70, 0xc1, 0x2e, 0x06, 0xf3, 0xfb, 0x89, + 0xc0, 0xc6, 0x26, 0xca, 0xe8, 0x3e, 0x28, 0x74, 0x70, 0xc7, 0x32, 0xcd, 0xb6, 0xca, 0xd4, 0x0d, + 0x7b, 0xf2, 0x7d, 0x9c, 0x57, 0xd6, 0xa9, 0xd6, 0xf9, 0xb1, 0xb8, 0xbf, 0xff, 0xfc, 0x20, 0xf2, + 0x7b, 0x8e, 0xc1, 0xf2, 0x4f, 0xd2, 0xcc, 0x52, 0xd8, 0x45, 0x40, 0x8d, 0xe0, 0xad, 0x91, 0x2e, + 0x55, 0x0b, 0x42, 0xa0, 0x47, 0xd5, 0x1f, 0xfe, 0xed, 0x12, 0x56, 0xed, 0xa0, 0x17, 0xe0, 0x68, + 0x8f, 0x6e, 0xf3, 0x48, 0xc7, 0x47, 0x55, 0x71, 0x77, 0x85, 0x55, 0x9c, 0x20, 0xed, 0x33, 0x2b, + 0xf1, 0x5d, 0xee, 0xba, 0x25, 0x28, 0x86, 0x3d, 0x9e, 0x81, 0xcb, 0x4f, 0xff, 0xc4, 0x88, 0xab, + 0xe9, 0x86, 0x1a, 0x4a, 0x07, 0x8d, 0xb3, 0x4a, 0x9e, 0x64, 0x5a, 0x87, 0xbb, 0x06, 0x7a, 0x3e, + 0xe8, 0x49, 0xc8, 0xf9, 0x4e, 0x13, 0xe3, 0xea, 0x01, 0xe9, 0x02, 0x1f, 0x56, 0xfe, 0x9d, 0x98, + 0x4f, 0x32, 0x9c, 0x80, 0xa8, 0x43, 0x9a, 0x5d, 0x7b, 0xe3, 0x97, 0x69, 0x1e, 0x19, 0xcd, 0x67, + 0x9a, 0x67, 0x77, 0xe2, 0x14, 0x8e, 0x2c, 0xbf, 0x1b, 0xd2, 0xac, 0x06, 0xe5, 0x21, 0xe3, 0xbf, + 0x7c, 0x0b, 0x90, 0xae, 0xd4, 0x6a, 0xf5, 0xf5, 0x0d, 0x29, 0x86, 0x72, 0x90, 0xaa, 0x54, 0xd7, + 0x94, 0x0d, 0x29, 0x4e, 0xaa, 0x95, 0xfa, 0x95, 0x7a, 0x6d, 0x43, 0x4a, 0xa0, 0x09, 0x28, 0xb0, + 0xdf, 0xea, 0xc5, 0x35, 0x65, 0xa5, 0xb2, 0x21, 0x25, 0x03, 0x55, 0x8d, 0xfa, 0xea, 0x62, 0x5d, + 0x91, 0x52, 0xf2, 0x63, 0x70, 0x6c, 0xa8, 0x97, 0xe5, 0x67, 0x17, 0x62, 0x81, 0xec, 0x82, 0xfc, + 0x81, 0x38, 0x94, 0x87, 0xbb, 0x4e, 0xe8, 0x4a, 0xcf, 0xc4, 0xcf, 0x1e, 0xc2, 0xef, 0xea, 0x99, + 0x3d, 0x7a, 0x00, 0x8a, 0x36, 0xde, 0xc6, 0x6e, 0x73, 0x97, 0xb9, 0x72, 0xcc, 0x64, 0x16, 0x94, + 0x02, 0xaf, 0xa5, 0x48, 0x0e, 0x03, 0x7b, 0x09, 0x37, 0x5d, 0x95, 0xe9, 0x22, 0x87, 0xff, 0xad, + 0xc3, 0x02, 0xab, 0x6d, 0xb0, 0x4a, 0xf9, 0x87, 0x0e, 0xc5, 0xcb, 0x1c, 0xa4, 0x94, 0xfa, 0x86, + 0xf2, 0x82, 0x94, 0x40, 0x08, 0x8a, 0xf4, 0xa7, 0xda, 0x58, 0xad, 0xac, 0x37, 0x2e, 0xaf, 0x11, + 0x5e, 0x4e, 0x42, 0x49, 0xf0, 0x52, 0x54, 0xa6, 0xe4, 0x87, 0xe0, 0xe8, 0x10, 0xbf, 0x6f, 0xc0, + 0x3d, 0xc4, 0x0f, 0xc7, 0x82, 0xd0, 0xe1, 0x98, 0x7f, 0x0d, 0xd2, 0x8e, 0xab, 0xb9, 0x5d, 0x87, + 0x33, 0xf1, 0xc9, 0x51, 0x1d, 0xc1, 0x79, 0xf1, 0xa3, 0x41, 0xd1, 0x15, 0x4e, 0x46, 0x3e, 0x07, + 0xc5, 0x70, 0xcb, 0x70, 0x1e, 0xf8, 0x42, 0x14, 0x97, 0x5f, 0x00, 0x08, 0xe4, 0x23, 0xbd, 0x1b, + 0x5d, 0xb1, 0xe0, 0x8d, 0xae, 0x73, 0x90, 0xba, 0x61, 0x32, 0x9d, 0x31, 0x78, 0xe3, 0x5c, 0x33, + 0x5d, 0x1c, 0x48, 0x3e, 0x30, 0x68, 0x59, 0x07, 0xd4, 0x9f, 0x13, 0x1a, 0xd2, 0xc5, 0x33, 0xe1, + 0x2e, 0xee, 0x1d, 0x9a, 0x5d, 0x1a, 0xdc, 0xd5, 0xcb, 0x90, 0xa2, 0xda, 0x66, 0xe0, 0x27, 0x3e, + 0x3f, 0x08, 0xa0, 0xb9, 0xae, 0xad, 0x6f, 0x75, 0xfd, 0x0e, 0x66, 0x07, 0x6b, 0xab, 0x8a, 0x80, + 0xab, 0xde, 0xcd, 0xd5, 0xd6, 0x94, 0x8f, 0x1a, 0x50, 0x5d, 0x01, 0x82, 0xf2, 0x2a, 0x14, 0xc3, + 0xb8, 0x83, 0x3f, 0x59, 0xf2, 0xdf, 0x0e, 0xc8, 0x09, 0xf7, 0xc9, 0x73, 0xbe, 0xf8, 0x7b, 0x1e, + 0xb4, 0x20, 0xdf, 0x8a, 0x41, 0x76, 0x63, 0x8f, 0xcb, 0xf1, 0x01, 0x97, 0x2a, 0xfd, 0xef, 0xb6, + 0xbc, 0x64, 0x21, 0xcb, 0xc7, 0x26, 0xbc, 0x2c, 0xef, 0xf7, 0x79, 0x3b, 0x35, 0x39, 0x6a, 0xb4, + 0x2b, 0xb2, 0xdd, 0x5c, 0x3b, 0x5d, 0x18, 0xed, 0x1b, 0x89, 0x29, 0x48, 0x05, 0xbf, 0x6f, 0x60, + 0x05, 0xb9, 0x15, 0xb8, 0x96, 0xc0, 0xcc, 0x46, 0xf0, 0x63, 0x8a, 0xd8, 0xa1, 0x3f, 0xa6, 0xf0, + 0x7a, 0x89, 0x07, 0x7b, 0xb9, 0x01, 0x59, 0x21, 0x14, 0xe8, 0x9d, 0xc1, 0xbb, 0x27, 0xe2, 0x8c, + 0x66, 0xa8, 0xf1, 0xe4, 0xe4, 0x03, 0x57, 0x4f, 0x4e, 0xc3, 0x04, 0xbf, 0x72, 0xe7, 0xc7, 0x15, + 0xfc, 0x6d, 0xfe, 0x12, 0x6b, 0x58, 0x16, 0x41, 0x85, 0xfc, 0xab, 0x31, 0x90, 0x7a, 0xa5, 0xf2, + 0xed, 0x1c, 0x00, 0x51, 0x8a, 0x44, 0xfa, 0x03, 0x8f, 0x6e, 0xb3, 0x95, 0x2f, 0x90, 0x5a, 0xff, + 0xd9, 0xed, 0xf7, 0xc6, 0x21, 0x1f, 0xc8, 0xe9, 0xa1, 0x27, 0x42, 0x57, 0x40, 0xe7, 0x0e, 0xca, + 0xff, 0x05, 0xee, 0x80, 0x86, 0x26, 0x16, 0x3f, 0xfc, 0xc4, 0xde, 0xfc, 0x4b, 0xfa, 0x83, 0xbf, + 0xf6, 0x49, 0x0d, 0xf9, 0xda, 0xe7, 0x47, 0x62, 0x90, 0xf5, 0x4c, 0xf7, 0x61, 0xb3, 0xf9, 0x47, + 0x20, 0xcd, 0xad, 0x13, 0x4b, 0xe7, 0xf3, 0xd2, 0xc0, 0x5c, 0x68, 0x19, 0xb2, 0xe2, 0x8f, 0xda, + 0xf0, 0x40, 0xd4, 0x2b, 0x9f, 0x7e, 0x1a, 0xf2, 0x81, 0x83, 0x15, 0xa2, 0x27, 0x56, 0xeb, 0xcf, + 0x49, 0x63, 0xe5, 0xcc, 0xad, 0xdb, 0x73, 0x89, 0x55, 0x7c, 0x93, 0xec, 0x30, 0xa5, 0x5e, 0xbb, + 0x5c, 0xaf, 0x5d, 0x95, 0x62, 0xe5, 0xfc, 0xad, 0xdb, 0x73, 0x19, 0x05, 0xd3, 0xf4, 0xd5, 0xe9, + 0xab, 0x50, 0xea, 0x59, 0x98, 0xb0, 0x7e, 0x47, 0x50, 0x5c, 0xdc, 0x5c, 0x5f, 0x5e, 0xaa, 0x55, + 0x36, 0xea, 0x2a, 0xbb, 0x4e, 0x87, 0x8e, 0xc2, 0xe4, 0xf2, 0xd2, 0xa5, 0xcb, 0x1b, 0x6a, 0x6d, + 0x79, 0xa9, 0xbe, 0xba, 0xa1, 0x56, 0x36, 0x36, 0x2a, 0xb5, 0xab, 0x52, 0xfc, 0xec, 0x77, 0x00, + 0x4a, 0x95, 0x6a, 0x6d, 0x89, 0xd8, 0x67, 0x9d, 0xbf, 0x9b, 0x5e, 0x83, 0x24, 0x4d, 0x05, 0x1c, + 0x78, 0x55, 0xa4, 0x7c, 0x70, 0x6e, 0x13, 0x5d, 0x84, 0x14, 0xcd, 0x12, 0xa0, 0x83, 0xef, 0x8e, + 0x94, 0x23, 0x92, 0x9d, 0x64, 0x30, 0x74, 0x3b, 0x1d, 0x78, 0x99, 0xa4, 0x7c, 0x70, 0xee, 0x13, + 0x29, 0x90, 0xf3, 0xa3, 0x8c, 0xe8, 0xcb, 0x15, 0xe5, 0x11, 0xb4, 0x23, 0x5a, 0x86, 0x8c, 0x08, + 0x0c, 0xa3, 0xae, 0x7b, 0x94, 0x23, 0x93, 0x93, 0x84, 0x5d, 0x2c, 0x80, 0x3f, 0xf8, 0xee, 0x4a, + 0x39, 0x22, 0xd3, 0x8a, 0x96, 0xbc, 0x4b, 0xf8, 0x11, 0x57, 0x38, 0xca, 0x51, 0xc9, 0x46, 0xc2, + 0x34, 0x3f, 0x35, 0x12, 0x7d, 0x23, 0xa7, 0x3c, 0x42, 0x12, 0x19, 0x6d, 0x02, 0x04, 0xc2, 0xf5, + 0x11, 0xae, 0xda, 0x94, 0x47, 0x49, 0x0e, 0xa3, 0x35, 0xc8, 0x7a, 0xd1, 0x53, 0xe4, 0xc5, 0x97, + 0x72, 0x74, 0x96, 0x16, 0xbd, 0x1b, 0x0a, 0xe1, 0xa8, 0x61, 0xb4, 0xeb, 0x2c, 0xe5, 0x11, 0xd3, + 0xaf, 0x84, 0x7e, 0x38, 0x84, 0x18, 0xed, 0x7a, 0x4b, 0x79, 0xc4, 0x6c, 0x2c, 0x7a, 0x09, 0x26, + 0xfa, 0x5d, 0xfc, 0xd1, 0x6f, 0xbb, 0x94, 0x0f, 0x91, 0x9f, 0x45, 0x1d, 0x40, 0x03, 0x42, 0x83, + 0x43, 0x5c, 0x7e, 0x29, 0x1f, 0x26, 0x5d, 0x8b, 0x5a, 0x50, 0xea, 0xf5, 0xb7, 0x47, 0xbd, 0x0c, + 0x53, 0x1e, 0x39, 0x75, 0xcb, 0x7a, 0x09, 0xfb, 0xe9, 0xa3, 0x5e, 0x8e, 0x29, 0x8f, 0x9c, 0xc9, + 0xad, 0x56, 0x86, 0xde, 0x6f, 0x3c, 0x71, 0xe0, 0xfd, 0x46, 0xff, 0xc6, 0xa2, 0x77, 0xa7, 0xf1, + 0x9b, 0x4f, 0xc0, 0xfd, 0xfc, 0x31, 0x01, 0xc7, 0xd5, 0xae, 0xeb, 0xc6, 0x8e, 0xf7, 0x3a, 0x04, + 0x2f, 0xf3, 0xcb, 0x8d, 0x47, 0xf8, 0x83, 0x05, 0xa2, 0x36, 0xe2, 0x8d, 0x88, 0xa1, 0x0f, 0x67, + 0x45, 0x5d, 0x42, 0x8e, 0xbe, 0xba, 0x78, 0xc0, 0xfb, 0x13, 0x11, 0xaf, 0x5c, 0x0c, 0x78, 0x9f, + 0x22, 0xe2, 0x12, 0xe6, 0x41, 0xf7, 0x3d, 0xe5, 0x9f, 0x8b, 0x41, 0xf1, 0xb2, 0xee, 0xb8, 0xa6, + 0xad, 0x37, 0xb5, 0x36, 0xb5, 0x18, 0x17, 0x46, 0xfd, 0xc8, 0xa3, 0x9a, 0x23, 0xce, 0x08, 0x7f, + 0xd4, 0x82, 0x5f, 0x0c, 0x59, 0x84, 0xf4, 0x0d, 0xad, 0xcd, 0x3e, 0xb1, 0x08, 0xbe, 0x5f, 0xd3, + 0xcb, 0xf3, 0x80, 0x97, 0x14, 0xa4, 0xc2, 0x70, 0xe5, 0xcf, 0xd2, 0x4b, 0xdc, 0x9d, 0x8e, 0xee, + 0xb0, 0x3f, 0x3b, 0xed, 0x62, 0x07, 0x6d, 0x42, 0xd2, 0xd6, 0x5c, 0x1e, 0xd4, 0x54, 0x2b, 0xfc, + 0x29, 0x8a, 0x07, 0xa3, 0x1f, 0x94, 0x98, 0xef, 0x7b, 0xad, 0x82, 0x75, 0x46, 0xc9, 0xa1, 0x1f, + 0x80, 0x6c, 0x47, 0xdb, 0x53, 0x29, 0xe9, 0xf8, 0x9b, 0x45, 0x3a, 0xd3, 0xd1, 0xf6, 0xc8, 0xa8, + 0x91, 0x0e, 0x25, 0x42, 0xbd, 0xb9, 0xab, 0x19, 0x3b, 0x98, 0x75, 0x92, 0x78, 0xb3, 0x3a, 0x29, + 0x74, 0xb4, 0xbd, 0x1a, 0x25, 0x4c, 0xba, 0xe2, 0x8f, 0x7e, 0xfc, 0x6e, 0x8c, 0x87, 0xb2, 0x94, + 0x73, 0x48, 0x03, 0xa9, 0xe9, 0x95, 0x68, 0xff, 0x22, 0xad, 0x7f, 0x62, 0xd8, 0xc2, 0xf4, 0xf0, + 0xbd, 0x5a, 0x20, 0x23, 0xfd, 0xe2, 0x6b, 0xb3, 0x31, 0xd6, 0x6b, 0xa9, 0xd9, 0xb3, 0x2e, 0x57, + 0x20, 0xcf, 0xb2, 0x69, 0x2a, 0x75, 0x61, 0xe3, 0x91, 0x2e, 0x6c, 0x41, 0xb8, 0xb0, 0x8c, 0x20, + 0x30, 0x6c, 0xd2, 0xce, 0xe7, 0xf0, 0xf1, 0x18, 0xe4, 0x17, 0x03, 0xcf, 0x55, 0x4d, 0x43, 0xa6, + 0x63, 0x1a, 0xfa, 0x75, 0x6c, 0x7b, 0xe7, 0x32, 0xac, 0x48, 0xdc, 0x4c, 0xf6, 0x67, 0x87, 0xdc, + 0x7d, 0xf1, 0x12, 0x83, 0x28, 0x13, 0xac, 0x9b, 0x78, 0xcb, 0xd1, 0x05, 0xcb, 0x15, 0x51, 0x44, + 0xa7, 0x40, 0x72, 0x70, 0xb3, 0x6b, 0xeb, 0xee, 0xbe, 0xda, 0x34, 0x0d, 0x57, 0x6b, 0xba, 0x3c, + 0x7b, 0x5a, 0x12, 0xf5, 0x35, 0x56, 0x4d, 0x88, 0xb4, 0xb0, 0xab, 0xe9, 0x6d, 0x76, 0xed, 0x2b, + 0xa7, 0x88, 0x22, 0x1f, 0xea, 0x67, 0x33, 0xc1, 0xd0, 0xb0, 0x06, 0x92, 0x69, 0x61, 0x3b, 0xf4, + 0xc9, 0x1b, 0x13, 0xd7, 0xe9, 0x3f, 0xf8, 0xf4, 0x23, 0x53, 0x9c, 0xe1, 0xfc, 0x00, 0x9e, 0xbd, + 0xce, 0xac, 0x94, 0x04, 0x86, 0xf8, 0x16, 0xee, 0x85, 0xd0, 0x49, 0x4c, 0x77, 0xcb, 0xff, 0xe4, + 0x7e, 0xaa, 0x8f, 0xa9, 0x15, 0x63, 0xbf, 0x3a, 0xfd, 0xfb, 0x3e, 0x69, 0x3f, 0x74, 0xbc, 0x8a, + 0xf7, 0x83, 0xc7, 0x32, 0x94, 0x0c, 0xf1, 0xe0, 0x5f, 0xd2, 0xf4, 0xb6, 0xf8, 0x4b, 0x6a, 0x0a, + 0x2f, 0xa1, 0x05, 0x2f, 0x0d, 0xc3, 0xfe, 0x42, 0xba, 0x3c, 0x4c, 0x36, 0xaa, 0xa6, 0xd1, 0x0a, + 0x67, 0x5c, 0xd0, 0x06, 0xa4, 0x5d, 0xf3, 0x3a, 0x36, 0x38, 0x83, 0xaa, 0xef, 0x38, 0x84, 0x60, + 0xf7, 0xbf, 0x3f, 0xc3, 0x69, 0xa1, 0x1d, 0x90, 0x5a, 0xb8, 0x8d, 0x77, 0xd8, 0x07, 0x5b, 0xbb, + 0x9a, 0x8d, 0xd9, 0x47, 0x9c, 0x87, 0xa3, 0xdf, 0xff, 0x4c, 0x4d, 0xc9, 0xa3, 0xda, 0xa0, 0x44, + 0xd1, 0x7a, 0xf8, 0xb1, 0xb4, 0x0c, 0x3f, 0x95, 0x1f, 0x32, 0xff, 0x80, 0x54, 0x06, 0xd5, 0x56, + 0xe8, 0x71, 0xb5, 0x53, 0x20, 0x75, 0x8d, 0x2d, 0xd3, 0xa0, 0x7f, 0xf4, 0x88, 0x07, 0x58, 0x59, + 0x76, 0x72, 0xe7, 0xd5, 0xf3, 0x93, 0xbb, 0x75, 0x28, 0xfa, 0xa0, 0x74, 0xf7, 0xe4, 0x0e, 0xbb, + 0x7b, 0x0a, 0x1e, 0x01, 0x02, 0x82, 0x56, 0x00, 0xfc, 0xfd, 0xe9, 0x9d, 0xee, 0x47, 0xee, 0xf4, + 0xe0, 0x64, 0x02, 0x04, 0x50, 0x1b, 0x26, 0x3b, 0xba, 0xa1, 0x3a, 0xb8, 0xbd, 0xad, 0x72, 0xce, + 0x11, 0xba, 0xf9, 0x37, 0x61, 0xa5, 0x27, 0x3a, 0xba, 0xd1, 0xc0, 0xed, 0xed, 0x45, 0x8f, 0x2c, + 0x7a, 0x07, 0x1c, 0xf7, 0xd9, 0x61, 0x1a, 0xea, 0xae, 0xd9, 0x6e, 0xa9, 0x36, 0xde, 0x56, 0x9b, + 0xf4, 0xf9, 0xa3, 0x71, 0xca, 0xc4, 0xa3, 0x1e, 0xc8, 0x9a, 0x71, 0xd9, 0x6c, 0xb7, 0x14, 0xbc, + 0x5d, 0x23, 0xcd, 0xe8, 0x3e, 0xf0, 0x79, 0xa1, 0xea, 0x2d, 0x67, 0xba, 0x30, 0x97, 0x38, 0x99, + 0x54, 0xc6, 0xbd, 0xca, 0xa5, 0x96, 0xb3, 0x90, 0x7d, 0xdf, 0xab, 0xb3, 0x63, 0x5f, 0x7b, 0x75, + 0x76, 0x4c, 0xbe, 0x48, 0x1f, 0xeb, 0xe0, 0x9b, 0x0e, 0x3b, 0xe8, 0x3c, 0xe4, 0x34, 0x51, 0x60, + 0x9f, 0x89, 0x1c, 0xb0, 0x69, 0x7d, 0x50, 0xf9, 0xd5, 0x18, 0xa4, 0x17, 0xaf, 0xad, 0x6b, 0xba, + 0x8d, 0xea, 0x30, 0xe1, 0x0b, 0xed, 0xa8, 0xfb, 0xdf, 0x97, 0x73, 0xa1, 0x00, 0xea, 0xc3, 0xbe, + 0x9c, 0x3d, 0x90, 0x4c, 0xef, 0x37, 0xb5, 0x81, 0xa9, 0x5e, 0x81, 0x0c, 0x1b, 0xa1, 0x83, 0x9e, + 0x85, 0x94, 0x45, 0x7e, 0xf0, 0xec, 0xff, 0xcc, 0x50, 0x41, 0xa7, 0xf0, 0x41, 0xb1, 0x60, 0x78, + 0xf2, 0x5f, 0xc4, 0x00, 0x16, 0xaf, 0x5d, 0xdb, 0xb0, 0x75, 0xab, 0x8d, 0xdd, 0x37, 0x6b, 0xca, + 0xcb, 0x70, 0x57, 0xe0, 0xfb, 0x4c, 0xbb, 0x39, 0xf2, 0xb4, 0x27, 0xfd, 0x2f, 0x34, 0xed, 0xe6, + 0x40, 0x6a, 0x2d, 0xc7, 0xf5, 0xa8, 0x25, 0x46, 0xa6, 0xb6, 0xe8, 0xb8, 0xfd, 0x7c, 0x7c, 0x1e, + 0xf2, 0xfe, 0xd4, 0x1d, 0xb4, 0x04, 0x59, 0x97, 0xff, 0xe6, 0xec, 0x94, 0x87, 0xb3, 0x53, 0xa0, + 0x05, 0x59, 0xea, 0xa1, 0xcb, 0xff, 0x8b, 0x70, 0xd5, 0xdf, 0x08, 0x7f, 0xa5, 0x04, 0x89, 0x68, + 0x78, 0xae, 0x81, 0x13, 0x6f, 0x82, 0x06, 0xe6, 0xb4, 0x02, 0x6c, 0xfd, 0xd1, 0x38, 0x4c, 0x6e, + 0x8a, 0x4d, 0xfa, 0x57, 0x96, 0x0b, 0x9b, 0x90, 0xc1, 0x86, 0x6b, 0xeb, 0x58, 0x1c, 0xf5, 0x3d, + 0x3a, 0x6c, 0xb1, 0x07, 0xcc, 0x85, 0xfe, 0x29, 0xe0, 0xe0, 0xd2, 0x0b, 0x5a, 0x01, 0x36, 0xfc, + 0x76, 0x02, 0xa6, 0x87, 0xa1, 0xa2, 0x13, 0x50, 0x6a, 0xda, 0x98, 0x56, 0xa8, 0xa1, 0x54, 0x78, + 0x51, 0x54, 0x73, 0x93, 0xa2, 0x00, 0x71, 0xd0, 0x88, 0x54, 0x11, 0xd0, 0x3b, 0xf3, 0xc8, 0x8a, + 0x3e, 0x05, 0x6a, 0x54, 0x30, 0x94, 0xc4, 0xdd, 0xf6, 0x2d, 0xad, 0xad, 0x19, 0x4d, 0x7c, 0x07, + 0x92, 0xd0, 0x6f, 0x01, 0xc4, 0x85, 0xf9, 0x2a, 0xa3, 0x89, 0xae, 0x41, 0x46, 0x90, 0x4f, 0xbe, + 0x09, 0xe4, 0x05, 0x31, 0x74, 0x2f, 0x8c, 0x07, 0x0d, 0x03, 0xf5, 0x53, 0x92, 0x4a, 0x3e, 0x60, + 0x17, 0xa2, 0x2c, 0x4f, 0xfa, 0x40, 0xcb, 0xc3, 0x5d, 0xc1, 0xdf, 0x4a, 0xc0, 0x84, 0x82, 0x5b, + 0xdf, 0x83, 0x0b, 0xf7, 0xfd, 0x00, 0x6c, 0x53, 0x13, 0x65, 0x7b, 0x07, 0x6b, 0xd7, 0xaf, 0x24, + 0x72, 0x8c, 0xde, 0xa2, 0xe3, 0xbe, 0x5d, 0xab, 0xf7, 0x2f, 0xe3, 0x30, 0x1e, 0x5c, 0xbd, 0xef, + 0x01, 0xcb, 0x86, 0x56, 0x7d, 0x95, 0xc6, 0x6e, 0x9f, 0x9f, 0x1a, 0xa6, 0xd2, 0xfa, 0xe4, 0x3a, + 0x42, 0x97, 0xfd, 0xe3, 0x24, 0xa4, 0xf9, 0x55, 0xb0, 0xb5, 0x3e, 0x1f, 0x37, 0x16, 0xf5, 0xfd, + 0x6f, 0x41, 0x7c, 0xff, 0x3b, 0xd0, 0xc5, 0x7d, 0x00, 0x8a, 0x24, 0xa4, 0x0e, 0xdd, 0x2f, 0x8b, + 0x9d, 0x2c, 0xd0, 0x70, 0xd8, 0xbf, 0x0d, 0x8d, 0x66, 0x21, 0x4f, 0xc0, 0x7c, 0x9d, 0x4d, 0x60, + 0xa0, 0xa3, 0xed, 0xd5, 0x59, 0x0d, 0x7a, 0x04, 0xd0, 0xae, 0x97, 0xf8, 0x50, 0x7d, 0x46, 0x10, + 0xb8, 0x09, 0xbf, 0x45, 0x80, 0xdf, 0x03, 0x40, 0x46, 0xa1, 0xb2, 0x17, 0x3a, 0xf9, 0x6b, 0xa7, + 0xa4, 0x66, 0x91, 0xbe, 0xd2, 0xf9, 0xd3, 0x31, 0xe6, 0x2a, 0xf7, 0x44, 0xdb, 0x3c, 0x68, 0x51, + 0x0f, 0xb7, 0x1b, 0xbe, 0xf5, 0xda, 0x6c, 0x79, 0x5f, 0xeb, 0xb4, 0x17, 0xe4, 0x01, 0x24, 0xe5, + 0x41, 0xb9, 0x00, 0xe2, 0x4d, 0x87, 0x03, 0x77, 0xf4, 0x34, 0x1c, 0xa3, 0xa9, 0x07, 0xd3, 0x10, + 0x61, 0xa4, 0x6a, 0xf3, 0xbf, 0x73, 0xea, 0xd0, 0x38, 0x27, 0xa9, 0x1c, 0xe9, 0x68, 0x7b, 0x35, + 0xd3, 0xe0, 0xe1, 0xa1, 0x22, 0x5a, 0xd1, 0xf3, 0x30, 0x3d, 0x08, 0x4d, 0xdd, 0xc6, 0x98, 0x5f, + 0x70, 0x3b, 0x36, 0x3f, 0xe0, 0xad, 0xd5, 0xf9, 0x9a, 0xa9, 0x1b, 0xfc, 0xd0, 0x8b, 0xde, 0x97, + 0x09, 0xd3, 0xbd, 0x88, 0xf1, 0xc2, 0xfd, 0x64, 0xb3, 0xdd, 0xfa, 0xea, 0x27, 0x4f, 0x1f, 0x0f, + 0xcc, 0x7b, 0xcf, 0x4b, 0xdb, 0x31, 0x99, 0x91, 0x3f, 0x11, 0x03, 0xe4, 0x5b, 0x40, 0xef, 0x92, + 0xfa, 0x0a, 0xbd, 0xba, 0x2c, 0x82, 0x90, 0xd8, 0xc1, 0xc1, 0x8d, 0x8f, 0x1f, 0x0a, 0x6e, 0x02, + 0x3b, 0xfc, 0x9d, 0xbe, 0xbd, 0x89, 0x47, 0x4d, 0x2a, 0x28, 0xee, 0x1c, 0x89, 0x2a, 0x8e, 0x31, + 0xf9, 0xb5, 0x18, 0x1c, 0xeb, 0xdb, 0x1e, 0xde, 0x90, 0x9b, 0x80, 0xec, 0x40, 0x23, 0x15, 0x33, + 0x71, 0xe8, 0x7b, 0x67, 0xbb, 0x6d, 0xc2, 0xee, 0xb3, 0x31, 0x6f, 0x91, 0xe1, 0xe4, 0x9a, 0xf1, + 0xf7, 0x62, 0x30, 0x15, 0x1c, 0x91, 0x37, 0xb7, 0x06, 0x8c, 0x07, 0xc7, 0xc2, 0x67, 0x75, 0xff, + 0x28, 0xb3, 0x0a, 0x4e, 0x28, 0x44, 0x84, 0xcc, 0x45, 0x6c, 0x45, 0x96, 0x40, 0x7c, 0x6c, 0x64, + 0x2e, 0x79, 0x87, 0x23, 0x83, 0x74, 0x13, 0x5b, 0xac, 0x9f, 0x8a, 0x43, 0x72, 0xdd, 0x34, 0xdb, + 0xe8, 0x47, 0x62, 0x30, 0x61, 0x98, 0xae, 0x4a, 0x36, 0x30, 0x6e, 0xa9, 0x3c, 0x83, 0xc1, 0xd4, + 0xfb, 0xb5, 0xc3, 0x71, 0xef, 0xeb, 0xaf, 0xcd, 0xf6, 0x93, 0x1a, 0xf4, 0xee, 0x6f, 0xc9, 0x30, + 0xdd, 0x2a, 0x05, 0xda, 0x60, 0x49, 0x8e, 0x9b, 0x50, 0x08, 0xf7, 0xcf, 0x6c, 0x82, 0x72, 0xe8, + 0xfe, 0x0b, 0x91, 0x7d, 0x8f, 0x6f, 0x05, 0x3a, 0x66, 0xaf, 0x6f, 0xfe, 0x19, 0x59, 0xdc, 0x17, + 0x40, 0xba, 0xd6, 0x7b, 0x5d, 0xae, 0x0e, 0x99, 0xc3, 0xde, 0xbc, 0x0b, 0x72, 0x9c, 0xe3, 0xca, + 0xdf, 0x8e, 0xc3, 0x31, 0xae, 0x5c, 0xae, 0xfa, 0x4a, 0x80, 0xe5, 0x9a, 0xf7, 0xd1, 0xc5, 0xa1, + 0xa9, 0xb2, 0xe3, 0xdf, 0x7a, 0x6d, 0xf6, 0x28, 0xd3, 0x7e, 0xbd, 0x10, 0x72, 0x7f, 0xb6, 0xac, + 0x0b, 0x25, 0x62, 0xed, 0x03, 0xea, 0xea, 0xc0, 0x64, 0xd9, 0x93, 0xdf, 0x7a, 0x6d, 0xf6, 0x38, + 0x27, 0xce, 0xd1, 0x82, 0x89, 0x36, 0x79, 0x68, 0x2e, 0xad, 0x60, 0xb6, 0x5b, 0xbe, 0xaa, 0x24, + 0xdd, 0x1a, 0xf8, 0x66, 0xa8, 0xdb, 0xc4, 0x68, 0xdd, 0x0a, 0xb4, 0x11, 0xbb, 0x35, 0xf0, 0xcd, + 0x40, 0xb7, 0xfe, 0x91, 0x7d, 0x32, 0x78, 0x64, 0xef, 0x5b, 0xde, 0xd3, 0x9f, 0x89, 0x01, 0xf8, + 0x59, 0x3a, 0xf4, 0x30, 0x1c, 0xad, 0xae, 0xad, 0x2e, 0xaa, 0x8d, 0x8d, 0xca, 0xc6, 0x66, 0x23, + 0xfc, 0x44, 0xbf, 0x78, 0x96, 0xc6, 0xb1, 0x70, 0x53, 0xdf, 0xd6, 0x71, 0x0b, 0x3d, 0x08, 0x53, + 0x61, 0x68, 0x52, 0xaa, 0x2f, 0x4a, 0xb1, 0xf2, 0xf8, 0xad, 0xdb, 0x73, 0x59, 0x16, 0x9d, 0xe0, + 0x16, 0x3a, 0x09, 0x77, 0xf5, 0xc3, 0x2d, 0xad, 0x5e, 0x92, 0xe2, 0xe5, 0xc2, 0xad, 0xdb, 0x73, + 0x39, 0x2f, 0x8c, 0x41, 0x32, 0xa0, 0x20, 0x24, 0xa7, 0x97, 0x28, 0xc3, 0xad, 0xdb, 0x73, 0x69, + 0xb6, 0x19, 0xca, 0xc9, 0xf7, 0x7d, 0x64, 0x66, 0xec, 0xf4, 0x0f, 0x02, 0x2c, 0x19, 0xdb, 0xb6, + 0x46, 0xff, 0x4e, 0x35, 0x2a, 0xc3, 0x91, 0xa5, 0xd5, 0x8b, 0x4a, 0xa5, 0xb6, 0xb1, 0xb4, 0xb6, + 0xda, 0xf3, 0x97, 0x05, 0xc2, 0x6d, 0x8b, 0x6b, 0x9b, 0xd5, 0xe5, 0xba, 0xda, 0x58, 0xba, 0xb4, + 0xca, 0x0e, 0xfb, 0x43, 0x6d, 0xcf, 0xad, 0x6e, 0x2c, 0xad, 0xd4, 0xa5, 0x78, 0xf5, 0xe2, 0xd0, + 0xe3, 0xa6, 0x87, 0x0f, 0xdc, 0x66, 0xbe, 0x6d, 0x0a, 0x9d, 0x39, 0xfd, 0xdf, 0x00, 0x00, 0x00, + 0xff, 0xff, 0x70, 0x0a, 0x83, 0xb1, 0x3f, 0x99, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) From 243f7cbb9b0bb71a35d28ec985e89dd042c9dbf9 Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 27 Feb 2023 15:22:33 +0530 Subject: [PATCH 010/106] added `RotateConsPubKey` in msg_server --- x/staking/keeper/cons_pubkey.go | 32 ++++++++ x/staking/keeper/msg_server.go | 79 ++++++++++++++++++++ x/staking/keeper/params.go | 10 +++ x/staking/testutil/expected_keepers_mocks.go | 14 ++++ x/staking/types/errors.go | 4 + x/staking/types/expected_keepers.go | 1 + x/staking/types/keys.go | 29 +++++++ 7 files changed, 169 insertions(+) create mode 100644 x/staking/keeper/cons_pubkey.go diff --git a/x/staking/keeper/cons_pubkey.go b/x/staking/keeper/cons_pubkey.go new file mode 100644 index 000000000000..ed879007c2f7 --- /dev/null +++ b/x/staking/keeper/cons_pubkey.go @@ -0,0 +1,32 @@ +package keeper + +import ( + storetypes "cosmossdk.io/store/types" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/x/staking/types" +) + +func (k Keeper) SetConsPubKeyRotationHistory(ctx sdk.Context, history types.ConsPubKeyRotationHistory) { + store := ctx.KVStore(k.storeKey) + key := types.GetValidatorConsPubKeyRotationHistoryKey(history) + historyBytes := k.cdc.MustMarshal(&history) + store.Set(key, historyBytes) + + key = types.GetBlockConsPubKeyRotationHistoryKey(history) + store.Set(key, historyBytes) +} + +func (k Keeper) GetValidatorConsPubKeyRotationHistory(ctx sdk.Context, operatorAddress sdk.ValAddress) (historyObjects []types.ConsPubKeyRotationHistory) { + store := ctx.KVStore(k.storeKey) + + iterator := storetypes.KVStorePrefixIterator(store, types.GetValdiatorConsPubKeyRotationHistoryPrefix(operatorAddress.String())) + defer iterator.Close() + + for ; iterator.Valid(); iterator.Next() { + var history types.ConsPubKeyRotationHistory + + k.cdc.MustUnmarshal(iterator.Value(), &history) + historyObjects = append(historyObjects, history) + } + return +} diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index 9d7113113f1b..4fd48785d56c 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -15,6 +15,7 @@ import ( "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" "github.com/cosmos/cosmos-sdk/x/staking/types" ) @@ -489,3 +490,81 @@ func (k msgServer) UpdateParams(goCtx context.Context, msg *types.MsgUpdateParam return &types.MsgUpdateParamsResponse{}, nil } + +func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateConsPubKey) (res *types.MsgRotateConsPubKeyResponse, err error) { + ctx := sdk.UnwrapSDKContext(goCtx) + // Implementation is based on this ADR + // https://docs.cosmos.network/master/architecture/adr-016-validator-consensus-key-rotation.html + + pk, ok := msg.NewPubkey.GetCachedValue().(cryptotypes.PubKey) + if !ok { + return nil, errorsmod.Wrapf(sdkerrors.ErrInvalidType, "expecting cryptotypes.PubKey, got %T", pk) + } + + consAddr := sdk.ConsAddress(pk.Address()) + + // checks if NewPubKey is not duplicated on ValidatorsByConsAddr + validator := k.Keeper.ValidatorByConsAddr(ctx, consAddr) + if validator != nil { + return nil, types.ErrConsensusPubKeyAlreadyUsedForAValidator + } + + // checks if the validator is exceeding parameter MaxConsPubKeyRotations by iterating ConsPubKeyRotationHistory + maxConsPubKeyRotations := k.MaxConsPubKeyRotations(ctx) + valAddr, err := sdk.ValAddressFromBech32(msg.ValidatorAddress) + if err != nil { + return nil, err + } + + historyObjects := k.GetValidatorConsPubKeyRotationHistory(ctx, valAddr) + if len(historyObjects) >= int(maxConsPubKeyRotations) { + return nil, types.ErrExceedingMaxConsPubKeyRotations + } + + // checks if the signing account has enough balance to pay KeyRotationFee + // pays KeyRotationFee to community fund + rotationFee := k.ConsPubKeyRotationFee(ctx) + sender := sdk.AccAddress(valAddr) + + err = k.Keeper.bankKeeper.SendCoinsFromAccountToModule(ctx, sender, distrtypes.ModuleName, sdk.Coins{rotationFee}) + if err != nil { + return nil, err + } + + validator, found := k.Keeper.GetValidator(ctx, valAddr) + if !found { + return nil, types.ErrNoValidatorFound + } + + if sdk.AccAddress(validator.GetOperator()).String() != sender.String() { + return nil, sdkerrors.ErrorInvalidSigner + } + + // deletes old ValidatorByConsAddr + // err = k.DeleteValidatorByConsAddr(ctx, validator) + // if err != nil { + // return nil, err + // } + + // overwrites NewPubKey in validator.ConsPubKey + val, ok := validator.(types.Validator) + if !ok { + return nil, errorsmod.Wrapf(sdkerrors.ErrInvalidType, "Expecting types.Validator, got %T", validator) + } + + // SetValidatorByConsAddr for NewPubKey + oldConsensusPubKey := val.ConsensusPubkey + val.ConsensusPubkey = msg.NewPubkey + k.SetValidatorByConsAddr(ctx, val) + k.SetValidator(ctx, val) + + // Add ConsPubKeyRotationHistory for tracking rotation + k.SetConsPubKeyRotationHistory(ctx, types.ConsPubKeyRotationHistory{ + OperatorAddress: validator.GetOperator().String(), + OldConsPubkey: oldConsensusPubKey, + NewConsPubkey: msg.NewPubkey, + Height: uint64(ctx.BlockHeight()), + }) + + return res, err +} diff --git a/x/staking/keeper/params.go b/x/staking/keeper/params.go index 3e1bb083916e..0e1e0b299830 100644 --- a/x/staking/keeper/params.go +++ b/x/staking/keeper/params.go @@ -76,3 +76,13 @@ func (k Keeper) GetParams(ctx sdk.Context) (params types.Params) { k.cdc.MustUnmarshal(bz, ¶ms) return params } + +// MaxConsPubKeyRotations - Maximum consensus pubkey rotations +func (k Keeper) MaxConsPubKeyRotations(ctx sdk.Context) (res uint64) { + return k.GetParams(ctx).MaxConsPubkeyRotations +} + +func (k Keeper) ConsPubKeyRotationFee(ctx sdk.Context) (res sdk.Coin) { + // return k.GetParams(ctx).ConsPubKeyRotationFee + return k.GetParams(ctx).ConsPubkeyRotationFee +} diff --git a/x/staking/testutil/expected_keepers_mocks.go b/x/staking/testutil/expected_keepers_mocks.go index 3c69110153cc..e9a674807016 100644 --- a/x/staking/testutil/expected_keepers_mocks.go +++ b/x/staking/testutil/expected_keepers_mocks.go @@ -260,6 +260,20 @@ func (mr *MockBankKeeperMockRecorder) LockedCoins(ctx, addr interface{}) *gomock return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LockedCoins", reflect.TypeOf((*MockBankKeeper)(nil).LockedCoins), ctx, addr) } +// SendCoinsFromAccountToModule mocks base method. +func (m *MockBankKeeper) SendCoinsFromAccountToModule(ctx types.Context, senderAddr types.AccAddress, recipientModule string, amt types.Coins) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SendCoinsFromAccountToModule", ctx, senderAddr, recipientModule, amt) + ret0, _ := ret[0].(error) + return ret0 +} + +// SendCoinsFromAccountToModule indicates an expected call of SendCoinsFromAccountToModule. +func (mr *MockBankKeeperMockRecorder) SendCoinsFromAccountToModule(ctx, senderAddr, recipientModule, amt interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendCoinsFromAccountToModule", reflect.TypeOf((*MockBankKeeper)(nil).SendCoinsFromAccountToModule), ctx, senderAddr, recipientModule, amt) +} + // SendCoinsFromModuleToModule mocks base method. func (m *MockBankKeeper) SendCoinsFromModuleToModule(ctx types.Context, senderPool, recipientPool string, amt types.Coins) error { m.ctrl.T.Helper() diff --git a/x/staking/types/errors.go b/x/staking/types/errors.go index ee1750c22368..f2cd0e507d1e 100644 --- a/x/staking/types/errors.go +++ b/x/staking/types/errors.go @@ -50,4 +50,8 @@ var ( ErrCommissionLTMinRate = errors.Register(ModuleName, 40, "commission cannot be less than min rate") ErrUnbondingNotFound = errors.Register(ModuleName, 41, "unbonding operation not found") ErrUnbondingOnHoldRefCountNegative = errors.Register(ModuleName, 42, "cannot un-hold unbonding operation that is not on hold") + + // consensus key errors + ErrConsensusPubKeyAlreadyUsedForAValidator = errors.Register(ModuleName, 41, "consensus pubkey is already used for a validator") + ErrExceedingMaxConsPubKeyRotations = errors.Register(ModuleName, 42, "exceeding maximum consensus pubkey rotations") ) diff --git a/x/staking/types/expected_keepers.go b/x/staking/types/expected_keepers.go index 5a9e22344c49..02e0b6280fe3 100644 --- a/x/staking/types/expected_keepers.go +++ b/x/staking/types/expected_keepers.go @@ -33,6 +33,7 @@ type BankKeeper interface { GetSupply(ctx sdk.Context, denom string) sdk.Coin + SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error SendCoinsFromModuleToModule(ctx sdk.Context, senderPool, recipientPool string, amt sdk.Coins) error UndelegateCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error DelegateCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error diff --git a/x/staking/types/keys.go b/x/staking/types/keys.go index f8f642af5c9b..a3aea277182e 100644 --- a/x/staking/types/keys.go +++ b/x/staking/types/keys.go @@ -54,6 +54,9 @@ var ( ValidatorUpdatesKey = []byte{0x61} // prefix for the end block validator updates key ParamsKey = []byte{0x51} // prefix for parameters for module x/staking + + ValidatorConsPubKeyRotationHistoryKey = []byte{0x70} // prefix for consPubkey rotation history by validator + BlockConsPubKeyRotationHistoryKey = []byte{0x71} // prefix for consPubkey rotation history by height ) // UnbondingType defines the type of unbonding operation @@ -378,3 +381,29 @@ func GetREDsByDelToValDstIndexKey(delAddr sdk.AccAddress, valDstAddr sdk.ValAddr func GetHistoricalInfoKey(height int64) []byte { return append(HistoricalInfoKey, []byte(strconv.FormatInt(height, 10))...) } + +func GetValidatorConsPubKeyRotationHistoryKey(history ConsPubKeyRotationHistory) []byte { + return append(append( + ValidatorConsPubKeyRotationHistoryKey, + []byte(history.OperatorAddress)...), + sdk.Uint64ToBigEndian(uint64(history.Height))...) +} + +func GetBlockConsPubKeyRotationHistoryKey(history ConsPubKeyRotationHistory) []byte { + return append(append( + BlockConsPubKeyRotationHistoryKey, + sdk.Uint64ToBigEndian(uint64(history.Height))...), + []byte(history.OperatorAddress)...) +} + +func GetValdiatorConsPubKeyRotationHistoryPrefix(operatorAddress string) []byte { + return append( + ValidatorConsPubKeyRotationHistoryKey, + []byte(operatorAddress)...) +} + +func GetBlockConsPubKeyRotationHistoryPrefix(height int64) []byte { + return append( + BlockConsPubKeyRotationHistoryKey, + sdk.Uint64ToBigEndian(uint64(height))...) +} From 5ab4556311bcc8f0448b502c179c06015822d024 Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 27 Feb 2023 16:34:14 +0530 Subject: [PATCH 011/106] migrate the consensus key work --- x/distribution/keeper/hooks.go | 8 +++++ x/slashing/keeper/hooks.go | 5 +++ x/slashing/keeper/signing_info.go | 29 +++++++++++++++++ x/staking/client/cli/tx.go | 41 ++++++++++++++++++++++++ x/staking/keeper/cons_pubkey.go | 15 +++++++++ x/staking/keeper/params.go | 1 - x/staking/keeper/val_state_change.go | 47 ++++++++++++++++++++++++++++ x/staking/keeper/validator.go | 11 +++++++ x/staking/simulation/genesis.go | 2 +- x/staking/types/codec.go | 2 ++ x/staking/types/expected_keepers.go | 2 ++ x/staking/types/historical_info.go | 39 +++++++++++++++++++++++ x/staking/types/hooks.go | 8 +++++ x/staking/types/msg.go | 44 ++++++++++++++++++++++++++ x/staking/types/params.go | 35 +++++++++++++++------ 15 files changed, 278 insertions(+), 11 deletions(-) diff --git a/x/distribution/keeper/hooks.go b/x/distribution/keeper/hooks.go index cb8ca0c3f757..5f691275baf0 100644 --- a/x/distribution/keeper/hooks.go +++ b/x/distribution/keeper/hooks.go @@ -1,6 +1,7 @@ package keeper import ( + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/distribution/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" @@ -130,3 +131,10 @@ func (h Hooks) BeforeDelegationRemoved(_ sdk.Context, _ sdk.AccAddress, _ sdk.Va func (h Hooks) AfterUnbondingInitiated(_ sdk.Context, _ uint64) error { return nil } + +func (h Hooks) AfterConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey cryptotypes.PubKey, newPubKey cryptotypes.PubKey, rotationFee sdk.Coin) error { + feePool := h.k.GetFeePool(ctx) + feePool.CommunityPool = feePool.CommunityPool.Add(sdk.NewDecCoinsFromCoins(rotationFee)...) + h.k.SetFeePool(ctx, feePool) + return nil +} diff --git a/x/slashing/keeper/hooks.go b/x/slashing/keeper/hooks.go index bdb2f38c1439..c0fb49574e26 100644 --- a/x/slashing/keeper/hooks.go +++ b/x/slashing/keeper/hooks.go @@ -5,6 +5,7 @@ import ( "github.com/cometbft/cometbft/crypto" + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/slashing/types" ) @@ -90,3 +91,7 @@ func (h Hooks) BeforeValidatorSlashed(_ sdk.Context, _ sdk.ValAddress, _ sdk.Dec func (h Hooks) AfterUnbondingInitiated(_ sdk.Context, _ uint64) error { return nil } + +func (h Hooks) AfterConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey cryptotypes.PubKey, newPubKey cryptotypes.PubKey, rotationFee sdk.Coin) error { + return h.k.PerformConsensusPubKeyUpdate(ctx, oldPubKey, newPubKey) +} diff --git a/x/slashing/keeper/signing_info.go b/x/slashing/keeper/signing_info.go index df72366e306f..052b9f7936f3 100644 --- a/x/slashing/keeper/signing_info.go +++ b/x/slashing/keeper/signing_info.go @@ -7,6 +7,7 @@ import ( storetypes "cosmossdk.io/store/types" + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/slashing/types" ) @@ -158,3 +159,31 @@ func (k Keeper) clearValidatorMissedBlockBitArray(ctx sdk.Context, address sdk.C store.Delete(iter.Key()) } } + +// RemoveValidatorSigningInfo removes the validator signing info from a consensus address key +func (k Keeper) RemoveValidatorSigningInfo(ctx sdk.Context, address sdk.ConsAddress) { + store := ctx.KVStore(k.storeKey) + store.Delete(types.ValidatorSigningInfoKey(address)) +} + +func (k Keeper) PerformConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey cryptotypes.PubKey, newPubKey cryptotypes.PubKey) error { + // Connect new consensus address with PubKey + k.AddPubkey(ctx, newPubKey) + + // Migrate ValidatorSigningInfo from oldPubKey to newPubKey + signingInfo, found := k.GetValidatorSigningInfo(ctx, sdk.ConsAddress(oldPubKey.Address())) + if !found { + return nil + } + // k.RemoveValidatorSigningInfo(ctx, sdk.ConsAddress(oldPubKey.Address())) + k.SetValidatorSigningInfo(ctx, sdk.ConsAddress(newPubKey.Address()), signingInfo) + + // Migrate ValidatorMissedBlockBitArray from oldPubKey to newPubKey + missedBlocks := k.GetValidatorMissedBlocks(ctx, sdk.ConsAddress(oldPubKey.Address())) + k.clearValidatorMissedBlockBitArray(ctx, sdk.ConsAddress(oldPubKey.Address())) + for _, missed := range missedBlocks { + k.SetValidatorMissedBlockBitArray(ctx, sdk.ConsAddress(newPubKey.Address()), missed.Index, missed.Missed) + } + + return nil +} diff --git a/x/staking/client/cli/tx.go b/x/staking/client/cli/tx.go index 9453c10aef1a..b208759120a5 100644 --- a/x/staking/client/cli/tx.go +++ b/x/staking/client/cli/tx.go @@ -50,6 +50,7 @@ func NewTxCmd() *cobra.Command { NewRedelegateCmd(), NewUnbondCmd(), NewCancelUnbondingDelegation(), + NewRotateConsensusKeyCmd(), ) return stakingTxCmd @@ -606,3 +607,43 @@ func BuildCreateValidatorMsg(clientCtx client.Context, config TxCreateValidatorC return txBldr, msg, nil } + +func NewRotateConsensusKeyCmd() *cobra.Command { + cmd := &cobra.Command{ + Use: "rotate-cons-pubkey", + Short: "rotate validator consensus pub key", + RunE: func(cmd *cobra.Command, args []string) error { + clientCtx, err := client.GetClientTxContext(cmd) + if err != nil { + return err + } + + valAddr := clientCtx.GetFromAddress() + pkStr, err := cmd.Flags().GetString(FlagPubKey) + if err != nil { + return err + } + + var pk cryptotypes.PubKey + if err := clientCtx.Codec.UnmarshalInterfaceJSON([]byte(pkStr), &pk); err != nil { + return err + } + + msg, err := types.NewMsgRotateConsPubKey(sdk.ValAddress(valAddr), pk) + if err != nil { + return err + } + + return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) + }, + } + + cmd.Flags().AddFlagSet(FlagSetPublicKey()) + + flags.AddTxFlagsToCmd(cmd) + + _ = cmd.MarkFlagRequired(flags.FlagFrom) + _ = cmd.MarkFlagRequired(FlagPubKey) + + return cmd +} diff --git a/x/staking/keeper/cons_pubkey.go b/x/staking/keeper/cons_pubkey.go index ed879007c2f7..d1eeeffec3f3 100644 --- a/x/staking/keeper/cons_pubkey.go +++ b/x/staking/keeper/cons_pubkey.go @@ -30,3 +30,18 @@ func (k Keeper) GetValidatorConsPubKeyRotationHistory(ctx sdk.Context, operatorA } return } + +func (k Keeper) GetBlockConsPubKeyRotationHistory(ctx sdk.Context, height int64) (historyObjects []types.ConsPubKeyRotationHistory) { + store := ctx.KVStore(k.storeKey) + + iterator := storetypes.KVStorePrefixIterator(store, types.GetBlockConsPubKeyRotationHistoryPrefix(height)) + defer iterator.Close() + + for ; iterator.Valid(); iterator.Next() { + var history types.ConsPubKeyRotationHistory + + k.cdc.MustUnmarshal(iterator.Value(), &history) + historyObjects = append(historyObjects, history) + } + return +} diff --git a/x/staking/keeper/params.go b/x/staking/keeper/params.go index 0e1e0b299830..282dc1517df7 100644 --- a/x/staking/keeper/params.go +++ b/x/staking/keeper/params.go @@ -83,6 +83,5 @@ func (k Keeper) MaxConsPubKeyRotations(ctx sdk.Context) (res uint64) { } func (k Keeper) ConsPubKeyRotationFee(ctx sdk.Context) (res sdk.Coin) { - // return k.GetParams(ctx).ConsPubKeyRotationFee return k.GetParams(ctx).ConsPubkeyRotationFee } diff --git a/x/staking/keeper/val_state_change.go b/x/staking/keeper/val_state_change.go index e37db543d0ea..8e68dacaf169 100644 --- a/x/staking/keeper/val_state_change.go +++ b/x/staking/keeper/val_state_change.go @@ -10,6 +10,8 @@ import ( "cosmossdk.io/math" + cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/staking/types" ) @@ -200,6 +202,51 @@ func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx sdk.Context) (updates []ab updates = append(updates, validator.ABCIValidatorUpdateZero()) } + rotationFee := k.ConsPubKeyRotationFee(ctx) + // ApplyAndReturnValidatorSetUpdates checks if there is ConsPubKeyRotationHistory + // with ConsPubKeyRotationHistory.RotatedHeight == ctx.BlockHeight() and if so, generates 2 ValidatorUpdate, + // one for a remove validator and one for create new validator + // TODO: consider the case, validator's voting power and consensus pubkey both values are + // changed on this block + historyObjects := k.GetBlockConsPubKeyRotationHistory(ctx, ctx.BlockHeight()) + for _, history := range historyObjects { + valAddr, err := sdk.ValAddressFromBech32(history.OperatorAddress) + if err != nil { + return nil, err + } + + validator := k.mustGetValidator(ctx, valAddr) + + oldPk := history.OldConsPubkey.GetCachedValue().(cryptotypes.PubKey) + oldTmPk, err := cryptocodec.ToCmtProtoPublicKey(oldPk) + if err != nil { + return nil, err + } + + newPk := history.NewConsPubkey.GetCachedValue().(cryptotypes.PubKey) + newTmPk, err := cryptocodec.ToCmtProtoPublicKey(newPk) + if err != nil { + return nil, err + } + + updates = append(updates, abci.ValidatorUpdate{ + PubKey: oldTmPk, + Power: 0, + }) + updates = append(updates, abci.ValidatorUpdate{ + PubKey: newTmPk, + Power: validator.ConsensusPower(powerReduction), + }) + + err = k.Hooks().AfterConsensusPubKeyUpdate(ctx, oldPk, newPk, rotationFee) + if err != nil { + return nil, err + } + } + + // TODO: at previousVotes Iteration logic of AllocateTokens, previousVote using OldConsPubKey + // match up with ConsPubKeyRotationHistory, and replace validator for token allocation + // Update the pools based on the recent updates in the validator set: // - The tokens from the non-bonded candidates that enter the new validator set need to be transferred // to the Bonded pool. diff --git a/x/staking/keeper/validator.go b/x/staking/keeper/validator.go index e7d1dc44bbd5..f6bc8b42ab5d 100644 --- a/x/staking/keeper/validator.go +++ b/x/staking/keeper/validator.go @@ -74,6 +74,17 @@ func (k Keeper) SetValidatorByConsAddr(ctx sdk.Context, validator types.Validato return nil } +// validator index +func (k Keeper) DeleteValidatorByConsAddr(ctx sdk.Context, validator types.ValidatorI) error { + consPk, err := validator.GetConsAddr() + if err != nil { + return err + } + store := ctx.KVStore(k.storeKey) + store.Delete(types.GetValidatorByConsAddrKey(consPk)) + return nil +} + // validator index func (k Keeper) SetValidatorByPowerIndex(ctx sdk.Context, validator types.Validator) { // jailed validators are not kept in the power index diff --git a/x/staking/simulation/genesis.go b/x/staking/simulation/genesis.go index c23cbb1135d2..b864c016e278 100644 --- a/x/staking/simulation/genesis.go +++ b/x/staking/simulation/genesis.go @@ -62,7 +62,7 @@ func RandomizedGenState(simState *module.SimulationState) { // NOTE: the slashing module need to be defined after the staking module on the // NewSimulationManager constructor for this to work simState.UnbondTime = unbondTime - params := types.NewParams(simState.UnbondTime, maxVals, 7, histEntries, simState.BondDenom, minCommissionRate) + params := types.NewParams(simState.UnbondTime, maxVals, 7, histEntries, simState.BondDenom, minCommissionRate, 10, sdk.NewInt64Coin(sdk.DefaultBondDenom, 100000)) // validators & delegations var ( diff --git a/x/staking/types/codec.go b/x/staking/types/codec.go index 11c9aec9e860..b393e0c6e724 100644 --- a/x/staking/types/codec.go +++ b/x/staking/types/codec.go @@ -23,6 +23,7 @@ func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { legacy.RegisterAminoMsg(cdc, &MsgBeginRedelegate{}, "cosmos-sdk/MsgBeginRedelegate") legacy.RegisterAminoMsg(cdc, &MsgCancelUnbondingDelegation{}, "cosmos-sdk/MsgCancelUnbondingDelegation") legacy.RegisterAminoMsg(cdc, &MsgUpdateParams{}, "cosmos-sdk/x/staking/MsgUpdateParams") + legacy.RegisterAminoMsg(cdc, &MsgRotateConsPubKey{}, "cosmos-sdk/MsgRotateConsPubKey") cdc.RegisterInterface((*isStakeAuthorization_Validators)(nil), nil) cdc.RegisterConcrete(&StakeAuthorization_AllowList{}, "cosmos-sdk/StakeAuthorization/AllowList", nil) @@ -41,6 +42,7 @@ func RegisterInterfaces(registry types.InterfaceRegistry) { &MsgBeginRedelegate{}, &MsgCancelUnbondingDelegation{}, &MsgUpdateParams{}, + &MsgRotateConsPubKey{}, ) registry.RegisterImplementations( (*authz.Authorization)(nil), diff --git a/x/staking/types/expected_keepers.go b/x/staking/types/expected_keepers.go index 02e0b6280fe3..cdec3488c171 100644 --- a/x/staking/types/expected_keepers.go +++ b/x/staking/types/expected_keepers.go @@ -3,6 +3,7 @@ package types import ( "cosmossdk.io/math" + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -105,6 +106,7 @@ type StakingHooks interface { AfterDelegationModified(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) error BeforeValidatorSlashed(ctx sdk.Context, valAddr sdk.ValAddress, fraction sdk.Dec) error AfterUnbondingInitiated(ctx sdk.Context, id uint64) error + AfterConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey cryptotypes.PubKey, newPubKey cryptotypes.PubKey, rotationFee sdk.Coin) error } // StakingHooksWrapper is a wrapper for modules to inject StakingHooks using depinject. diff --git a/x/staking/types/historical_info.go b/x/staking/types/historical_info.go index bfdbf454fa6e..cbcf7c63930c 100644 --- a/x/staking/types/historical_info.go +++ b/x/staking/types/historical_info.go @@ -12,6 +12,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" ) // NewHistoricalInfo will create a historical information struct from header and valset @@ -82,3 +83,41 @@ func (hi HistoricalInfo) UnpackInterfaces(c codectypes.AnyUnpacker) error { } return nil } + +// func MustUnmarshalConsPubKeyRotationHistory(cdc codec.BinaryCodec, value []byte) ConsPubKeyRotationHistory { +// hi, err := UnmarshalConsPubKeyRotationHistory(cdc, value) +// if err != nil { +// panic(err) +// } + +// return hi +// } + +// func UnmarshalConsPubKeyRotationHistory(cdc codec.BinaryCodec, value []byte) (hi ConsPubKeyRotationHistory, err error) { +// err = cdc.Unmarshal(value, &hi) +// return hi, err +// } + +// func MustMarshalConsPubKeyRotationHistory(cdc codec.BinaryCodec, history ConsPubKeyRotationHistory) []byte { +// hi, err := MarshalConsPubKeyRotationHistory(cdc, history) +// if err != nil { +// panic(err) +// } + +// return hi +// } + +// func MarshalConsPubKeyRotationHistory(cdc codec.BinaryCodec, hi ConsPubKeyRotationHistory) ([]byte, error) { +// return cdc.Marshal(&hi) +// } + +// UnpackInterfaces implements UnpackInterfacesMessage.UnpackInterfaces +func (hi ConsPubKeyRotationHistory) UnpackInterfaces(unpacker codectypes.AnyUnpacker) error { + var oldPubKey cryptotypes.PubKey + err := unpacker.UnpackAny(hi.OldConsPubkey, &oldPubKey) + if err != nil { + return err + } + var newPubKey cryptotypes.PubKey + return unpacker.UnpackAny(hi.NewConsPubkey, &newPubKey) +} diff --git a/x/staking/types/hooks.go b/x/staking/types/hooks.go index 6fad1df77d6b..d70d8bba007a 100644 --- a/x/staking/types/hooks.go +++ b/x/staking/types/hooks.go @@ -1,6 +1,7 @@ package types import ( + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdk "github.com/cosmos/cosmos-sdk/types" ) @@ -112,3 +113,10 @@ func (h MultiStakingHooks) AfterUnbondingInitiated(ctx sdk.Context, id uint64) e } return nil } + +func (h MultiStakingHooks) AfterConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey cryptotypes.PubKey, newPubKey cryptotypes.PubKey, rotationFee sdk.Coin) error { + for i := range h { + return h[i].AfterConsensusPubKeyUpdate(ctx, oldPubKey, newPubKey, rotationFee) + } + return nil +} diff --git a/x/staking/types/msg.go b/x/staking/types/msg.go index 1cd7767266aa..8db7296ca048 100644 --- a/x/staking/types/msg.go +++ b/x/staking/types/msg.go @@ -20,6 +20,8 @@ var ( _ sdk.Msg = &MsgBeginRedelegate{} _ sdk.Msg = &MsgCancelUnbondingDelegation{} _ sdk.Msg = &MsgUpdateParams{} + _ sdk.Msg = &MsgRotateConsPubKey{} + _ codectypes.UnpackInterfacesMessage = (*MsgCreateValidator)(nil) _ legacytx.LegacyMsg = &MsgCreateValidator{} _ legacytx.LegacyMsg = &MsgEditValidator{} @@ -28,6 +30,7 @@ var ( _ legacytx.LegacyMsg = &MsgBeginRedelegate{} _ legacytx.LegacyMsg = &MsgCancelUnbondingDelegation{} _ legacytx.LegacyMsg = &MsgUpdateParams{} + _ legacytx.LegacyMsg = &MsgRotateConsPubKey{} ) // NewMsgCreateValidator creates a new MsgCreateValidator instance. @@ -370,3 +373,44 @@ func (m MsgUpdateParams) GetSigners() []sdk.AccAddress { addr, _ := sdk.AccAddressFromBech32(m.Authority) return []sdk.AccAddress{addr} } + +// NewMsgRotateConsPubKey creates a new MsgRotateConsPubKey instance. +func NewMsgRotateConsPubKey(valAddr sdk.ValAddress, pubKey cryptotypes.PubKey) (*MsgRotateConsPubKey, error) { + var pkAny *codectypes.Any + if pubKey != nil { + var err error + if pkAny, err = codectypes.NewAnyWithValue(pubKey); err != nil { + return nil, err + } + } + return &MsgRotateConsPubKey{ + ValidatorAddress: valAddr.String(), + NewPubkey: pkAny, + }, nil +} + +// GetSigners implements the sdk.Msg interface. +func (msg MsgRotateConsPubKey) GetSigners() []sdk.AccAddress { + signer, _ := sdk.ValAddressFromBech32(msg.ValidatorAddress) + return []sdk.AccAddress{sdk.AccAddress(signer)} +} + +// GetSignBytes implements the sdk.Msg interface. +func (msg MsgRotateConsPubKey) GetSignBytes() []byte { + return sdk.MustSortJSON(ModuleCdc.MustMarshalJSON(&msg)) +} + +// ValidateBasic implements the sdk.Msg interface. +func (msg MsgRotateConsPubKey) ValidateBasic() error { + if _, err := sdk.ValAddressFromBech32(msg.ValidatorAddress); err != nil { + return sdkerrors.ErrInvalidAddress.Wrapf("invalid validator address: %s", err) + } + + return nil +} + +// UnpackInterfaces implements UnpackInterfacesMessage.UnpackInterfaces +func (msg MsgRotateConsPubKey) UnpackInterfaces(unpacker codectypes.AnyUnpacker) error { + var pubKey cryptotypes.PubKey + return unpacker.UnpackAny(msg.NewPubkey, &pubKey) +} diff --git a/x/staking/types/params.go b/x/staking/types/params.go index 9211cf9f5206..92eeb6adb803 100644 --- a/x/staking/types/params.go +++ b/x/staking/types/params.go @@ -29,20 +29,35 @@ const ( // value by not adding the staking module to the application module manager's // SetOrderBeginBlockers. DefaultHistoricalEntries uint32 = 10000 + + // DefaultMaxConsPubKeyRotations is param to set validators can rotate their + // keys only for 10 times + DefaultMaxConsPubKeyRotations uint64 = 10 ) -// DefaultMinCommissionRate is set to 0% -var DefaultMinCommissionRate = math.LegacyZeroDec() +var ( + // DefaultMinCommissionRate is set to 0% + DefaultMinCommissionRate = math.LegacyZeroDec() + + // DefaultConsPubKeyRotationFee is fees used to rotate the ConsPubkey + DefaultConsPubKeyRotationFee = sdk.NewInt64Coin(sdk.DefaultBondDenom, 1000000) +) // NewParams creates a new Params instance -func NewParams(unbondingTime time.Duration, maxValidators, maxEntries, historicalEntries uint32, bondDenom string, minCommissionRate sdk.Dec) Params { +func NewParams(unbondingTime time.Duration, + maxValidators, maxEntries, historicalEntries uint32, + bondDenom string, minCommissionRate sdk.Dec, + maxConsPubKeyRotations uint64, consPubKeyRotationFee sdk.Coin) Params { + return Params{ - UnbondingTime: unbondingTime, - MaxValidators: maxValidators, - MaxEntries: maxEntries, - HistoricalEntries: historicalEntries, - BondDenom: bondDenom, - MinCommissionRate: minCommissionRate, + UnbondingTime: unbondingTime, + MaxValidators: maxValidators, + MaxEntries: maxEntries, + HistoricalEntries: historicalEntries, + BondDenom: bondDenom, + MinCommissionRate: minCommissionRate, + MaxConsPubkeyRotations: maxConsPubKeyRotations, + ConsPubkeyRotationFee: consPubKeyRotationFee, } } @@ -55,6 +70,8 @@ func DefaultParams() Params { DefaultHistoricalEntries, sdk.DefaultBondDenom, DefaultMinCommissionRate, + DefaultMaxConsPubKeyRotations, + DefaultConsPubKeyRotationFee, ) } From d93b13e4dd403a5b2c83121f97fc72d49a2df5f5 Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 27 Feb 2023 16:34:49 +0530 Subject: [PATCH 012/106] TODO --- x/staking/simulation/genesis.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/staking/simulation/genesis.go b/x/staking/simulation/genesis.go index b864c016e278..d4e3a867f98b 100644 --- a/x/staking/simulation/genesis.go +++ b/x/staking/simulation/genesis.go @@ -62,7 +62,7 @@ func RandomizedGenState(simState *module.SimulationState) { // NOTE: the slashing module need to be defined after the staking module on the // NewSimulationManager constructor for this to work simState.UnbondTime = unbondTime - params := types.NewParams(simState.UnbondTime, maxVals, 7, histEntries, simState.BondDenom, minCommissionRate, 10, sdk.NewInt64Coin(sdk.DefaultBondDenom, 100000)) + params := types.NewParams(simState.UnbondTime, maxVals, 7, histEntries, simState.BondDenom, minCommissionRate, 10, sdk.NewInt64Coin(sdk.DefaultBondDenom, 100000)) // TODO: randomize // validators & delegations var ( From 007428782aee197ba6294b428feaf21a39eb081a Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 2 Mar 2023 12:44:10 +0530 Subject: [PATCH 013/106] add tests --- x/slashing/keeper/signing_info_test.go | 43 ++++++++++++++++ x/staking/keeper/cons_pubkey_test.go | 71 ++++++++++++++++++++++++++ x/staking/keeper/hooks_test.go | 15 ++++++ x/staking/keeper/validator_test.go | 59 +++++++++++++++++++++ x/staking/simulation/genesis.go | 32 ++++++++++-- x/staking/types/errors.go | 4 +- x/staking/types/params.go | 37 ++++++++++++++ x/staking/types/params_test.go | 13 ++++- 8 files changed, 266 insertions(+), 8 deletions(-) create mode 100644 x/staking/keeper/cons_pubkey_test.go create mode 100644 x/staking/keeper/hooks_test.go diff --git a/x/slashing/keeper/signing_info_test.go b/x/slashing/keeper/signing_info_test.go index f33fbf34b53d..a5628396b449 100644 --- a/x/slashing/keeper/signing_info_test.go +++ b/x/slashing/keeper/signing_info_test.go @@ -3,9 +3,11 @@ package keeper_test import ( "time" + simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/slashing/testutil" + "github.com/cosmos/cosmos-sdk/x/slashing/types" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" ) @@ -91,3 +93,44 @@ func (s *KeeperTestSuite) TestValidatorMissedBlockBitArray() { }) } } + +func (s *KeeperTestSuite) TestPerformConsensusPubKeyUpdate() { + ctx, slashingKeeper := s.ctx, s.slashingKeeper + + require := s.Require() + + pks := simtestutil.CreateTestPubKeys(500) + + oldConsAddr := sdk.ConsAddress(pks[0].Address()) + newConsAddr := sdk.ConsAddress(pks[1].Address()) + newInfo := types.NewValidatorSigningInfo( + sdk.ConsAddress(oldConsAddr), + int64(4), + int64(3), + time.Unix(2, 0).UTC(), + false, + int64(10), + ) + slashingKeeper.SetValidatorSigningInfo(ctx, oldConsAddr, newInfo) + slashingKeeper.SetValidatorMissedBlockBitArray(ctx, oldConsAddr, 10, true) + err := slashingKeeper.PerformConsensusPubKeyUpdate(ctx, pks[0], pks[1]) + require.NoError(err) + + // check pubkey relation is set properly + savedPubKey, err := slashingKeeper.GetPubkey(ctx, newConsAddr.Bytes()) + require.NoError(err) + require.Equal(savedPubKey, pks[1]) + + // check validator SigningInfo is set properly to new consensus pubkey + signingInfo, found := slashingKeeper.GetValidatorSigningInfo(ctx, newConsAddr) + require.True(found) + require.Equal(signingInfo, newInfo) + + // check missed blocks array is removed on old consensus pubkey + missedBlocks := slashingKeeper.GetValidatorMissedBlocks(ctx, oldConsAddr) + require.Len(missedBlocks, 0) + + // check missed blocks are set correctly for new pubkey + missedBlocks = slashingKeeper.GetValidatorMissedBlocks(ctx, newConsAddr) + require.Len(missedBlocks, 1) +} diff --git a/x/staking/keeper/cons_pubkey_test.go b/x/staking/keeper/cons_pubkey_test.go new file mode 100644 index 000000000000..2a9fb3cf3187 --- /dev/null +++ b/x/staking/keeper/cons_pubkey_test.go @@ -0,0 +1,71 @@ +package keeper_test + +import ( + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + sdk "github.com/cosmos/cosmos-sdk/types" + stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" + "github.com/cosmos/cosmos-sdk/x/staking/testutil" + "github.com/cosmos/cosmos-sdk/x/staking/types" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + "github.com/golang/mock/gomock" +) + +func (s *KeeperTestSuite) TestConsPubKeyRotationHistory() { + stakingKeeper, ctx := s.stakingKeeper, s.ctx + + _, addrVals := createValAddrs(2) + + // create a validator with a self-delegation + val := testutil.NewValidator(s.T(), addrVals[0], PKs[0]) + valTokens := stakingKeeper.TokensFromConsensusPower(ctx, 10) + val, issuedShares := val.AddTokensFromDel(valTokens) + s.Require().Equal(valTokens, issuedShares.RoundInt()) + + s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(gomock.Any(), stakingtypes.NotBondedPoolName, stakingtypes.BondedPoolName, gomock.Any()) + _ = stakingkeeper.TestingUpdateValidator(stakingKeeper, ctx, val, true) + val0AccAddr := sdk.AccAddress(addrVals[0].Bytes()) + selfDelegation := stakingtypes.NewDelegation(val0AccAddr, addrVals[0], issuedShares) + stakingKeeper.SetDelegation(ctx, selfDelegation) + + validators := stakingKeeper.GetAllValidators(ctx) + s.Require().Len(validators, 1) + + validator := validators[0] + valAddr, err := sdk.ValAddressFromBech32(validator.OperatorAddress) + s.Require().NoError(err) + + historyObjects := stakingKeeper.GetValidatorConsPubKeyRotationHistory(ctx, valAddr) + s.Require().Len(historyObjects, 0) + + newConsPub, err := codectypes.NewAnyWithValue(PKs[1]) + s.Require().NoError(err) + + newConsPub2, err := codectypes.NewAnyWithValue(PKs[2]) + s.Require().NoError(err) + + stakingKeeper.SetConsPubKeyRotationHistory(ctx, types.ConsPubKeyRotationHistory{ + OperatorAddress: valAddr.String(), + OldConsPubkey: validator.ConsensusPubkey, + NewConsPubkey: newConsPub, + Height: uint64(ctx.BlockHeight()), + }) + + historyObjects = stakingKeeper.GetValidatorConsPubKeyRotationHistory(ctx, valAddr) + s.Require().Len(historyObjects, 1) + + historyObjects = stakingKeeper.GetBlockConsPubKeyRotationHistory(ctx, ctx.BlockHeight()) + s.Require().Len(historyObjects, 1) + + stakingKeeper.SetConsPubKeyRotationHistory(ctx, types.ConsPubKeyRotationHistory{ + OperatorAddress: valAddr.String(), + OldConsPubkey: newConsPub, + NewConsPubkey: newConsPub2, + Height: uint64(ctx.BlockHeight()) + 1, + }) + + historyObjects = stakingKeeper.GetValidatorConsPubKeyRotationHistory(ctx, valAddr) + s.Require().Len(historyObjects, 2) + + historyObjects = stakingKeeper.GetBlockConsPubKeyRotationHistory(ctx, ctx.BlockHeight()) + s.Require().Len(historyObjects, 1) +} diff --git a/x/staking/keeper/hooks_test.go b/x/staking/keeper/hooks_test.go new file mode 100644 index 000000000000..b9cedf628d65 --- /dev/null +++ b/x/staking/keeper/hooks_test.go @@ -0,0 +1,15 @@ +package keeper_test + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" +) + +func (s *KeeperTestSuite) TestHookAfterConsensusPubKeyUpdate() { + stKeeper := s.stakingKeeper + ctx := s.ctx + require := s.Require() + + rotationFee := sdk.NewInt64Coin("stake", 1000000) + err := stKeeper.Hooks().AfterConsensusPubKeyUpdate(ctx, PKs[0], PKs[1], rotationFee) + require.NoError(err) +} diff --git a/x/staking/keeper/validator_test.go b/x/staking/keeper/validator_test.go index c820de0595e1..caf6000c6914 100644 --- a/x/staking/keeper/validator_test.go +++ b/x/staking/keeper/validator_test.go @@ -11,6 +11,7 @@ import ( abci "github.com/cometbft/cometbft/abci/types" stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" "github.com/cosmos/cosmos-sdk/x/staking/testutil" + "github.com/cosmos/cosmos-sdk/x/staking/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" ) @@ -417,3 +418,61 @@ func (s *KeeperTestSuite) TestUnbondingValidator() { require.True(found) require.Equal(stakingtypes.Unbonded, validator.Status) } + +func (s *KeeperTestSuite) TestValidatorConsPubKeyUpdate() { + ctx, keeper, msgServer, bk := s.ctx, s.stakingKeeper, s.msgServer, s.bankKeeper + require := s.Require() + + powers := []int64{10, 20} + var validators [2]stakingtypes.Validator + + for i, power := range powers { + valAddr := sdk.ValAddress(PKs[i].Address().Bytes()) + validators[i] = testutil.NewValidator(s.T(), valAddr, PKs[i]) + tokens := keeper.TokensFromConsensusPower(ctx, power) + + validators[i], _ = validators[i].AddTokensFromDel(tokens) + keeper.SetValidator(ctx, validators[i]) + keeper.SetValidatorByPowerIndex(ctx, validators[i]) + keeper.SetValidatorByConsAddr(ctx, validators[i]) + + s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(gomock.Any(), stakingtypes.NotBondedPoolName, stakingtypes.BondedPoolName, gomock.Any()) + updates := s.applyValidatorSetUpdates(ctx, keeper, 1) + validator, found := keeper.GetValidator(ctx, valAddr) + require.True(found) + require.Equal(validator.ABCIValidatorUpdate(keeper.PowerReduction(ctx)), updates[0]) + } + + params := keeper.GetParams(ctx) + params.ConsPubkeyRotationFee = sdk.NewInt64Coin(sdk.DefaultBondDenom, 1000) + keeper.SetParams(ctx, params) + + valAddr1 := sdk.ValAddress(PKs[0].Address().Bytes()) + + msg, err := types.NewMsgRotateConsPubKey( + valAddr1, + PKs[499], // taking the last element from PKs + ) + + require.NoError(err) + + bk.EXPECT().SendCoinsFromAccountToModule(ctx, sdk.AccAddress(valAddr1), gomock.Any(), gomock.Any()).AnyTimes() + _, err = msgServer.RotateConsPubKey(ctx, msg) + require.NoError(err) + + updates := s.applyValidatorSetUpdates(ctx, keeper, 2) + + originalPubKey, err := validators[0].CmtConsPublicKey() + require.NoError(err) + + validator, found := keeper.GetValidator(ctx, valAddr1) + require.True(found) + + newPubKey, err := validator.CmtConsPublicKey() + require.NoError(err) + + require.Equal(int64(0), updates[0].Power) + require.Equal(originalPubKey, updates[0].PubKey) + require.Equal(int64(10), updates[1].Power) + require.Equal(newPubKey, updates[1].PubKey) +} diff --git a/x/staking/simulation/genesis.go b/x/staking/simulation/genesis.go index d4e3a867f98b..2226118a5ea6 100644 --- a/x/staking/simulation/genesis.go +++ b/x/staking/simulation/genesis.go @@ -34,14 +34,26 @@ func getHistEntries(r *rand.Rand) uint32 { return uint32(r.Intn(int(types.DefaultHistoricalEntries + 1))) } +// getConsPubKeyRotationFee returns randomized consPubKeyRotationFee between 10000-100000. +func getConsPubKeyRotationFee(r *rand.Rand) sdk.Coin { + return sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(r.Int63n(types.DefaultConsPubKeyRotationFee.Amount.Int64()-10000)+10000)) +} + +// getMaxConsPubKeyRotations returns randomized maxConsPubKeyRotations between 0-100. +func getMaxConsPubKeyRotations(r *rand.Rand) uint64 { + return uint64(r.Intn(int(types.DefaultMaxConsPubKeyRotations + 1))) +} + // RandomizedGenState generates a random GenesisState for staking func RandomizedGenState(simState *module.SimulationState) { // params var ( - unbondTime time.Duration - maxVals uint32 - histEntries uint32 - minCommissionRate sdk.Dec + unbondTime time.Duration + maxVals uint32 + histEntries uint32 + minCommissionRate sdk.Dec + maxConsPubKeyRotations uint64 + consPubKeyRotationFee sdk.Coin ) simState.AppParams.GetOrGenerate( @@ -59,10 +71,20 @@ func RandomizedGenState(simState *module.SimulationState) { func(r *rand.Rand) { histEntries = getHistEntries(r) }, ) + simState.AppParams.GetOrGenerate( + simState.Cdc, historicalEntries, &histEntries, simState.Rand, + func(r *rand.Rand) { maxConsPubKeyRotations = getMaxConsPubKeyRotations(r) }, + ) + + simState.AppParams.GetOrGenerate( + simState.Cdc, historicalEntries, &histEntries, simState.Rand, + func(r *rand.Rand) { consPubKeyRotationFee = getConsPubKeyRotationFee(r) }, + ) + // NOTE: the slashing module need to be defined after the staking module on the // NewSimulationManager constructor for this to work simState.UnbondTime = unbondTime - params := types.NewParams(simState.UnbondTime, maxVals, 7, histEntries, simState.BondDenom, minCommissionRate, 10, sdk.NewInt64Coin(sdk.DefaultBondDenom, 100000)) // TODO: randomize + params := types.NewParams(simState.UnbondTime, maxVals, 7, histEntries, simState.BondDenom, minCommissionRate, maxConsPubKeyRotations, consPubKeyRotationFee) // validators & delegations var ( diff --git a/x/staking/types/errors.go b/x/staking/types/errors.go index f2cd0e507d1e..e423e0c654e4 100644 --- a/x/staking/types/errors.go +++ b/x/staking/types/errors.go @@ -52,6 +52,6 @@ var ( ErrUnbondingOnHoldRefCountNegative = errors.Register(ModuleName, 42, "cannot un-hold unbonding operation that is not on hold") // consensus key errors - ErrConsensusPubKeyAlreadyUsedForAValidator = errors.Register(ModuleName, 41, "consensus pubkey is already used for a validator") - ErrExceedingMaxConsPubKeyRotations = errors.Register(ModuleName, 42, "exceeding maximum consensus pubkey rotations") + ErrConsensusPubKeyAlreadyUsedForAValidator = errors.Register(ModuleName, 43, "consensus pubkey is already used for a validator") + ErrExceedingMaxConsPubKeyRotations = errors.Register(ModuleName, 44, "exceeding maximum consensus pubkey rotations") ) diff --git a/x/staking/types/params.go b/x/staking/types/params.go index 92eeb6adb803..58ba8e03c765 100644 --- a/x/staking/types/params.go +++ b/x/staking/types/params.go @@ -121,6 +121,14 @@ func (p Params) Validate() error { return err } + if err := validateMaxConsPubkey(p.MaxConsPubkeyRotations); err != nil { + return err + } + + if err := validateConsPubkeyRotationFee(p.ConsPubkeyRotationFee); err != nil { + return err + } + return nil } @@ -220,3 +228,32 @@ func validateMinCommissionRate(i interface{}) error { return nil } + +func validateMaxConsPubkey(i interface{}) error { + v, ok := i.(uint64) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + + if v == 0 { + return fmt.Errorf("max cons pubkey rotations must be positive: %d", v) + } + + return nil +} + +func validateConsPubkeyRotationFee(i interface{}) error { + v, ok := i.(sdk.Coin) + if !ok { + return fmt.Errorf("invalid parameter type: %T", i) + } + + if v.IsNil() { + return fmt.Errorf("cons pubkey rotation fee cannot be nil: %s", v) + } + if v.IsLTE(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(0))) { + return fmt.Errorf("cons pubkey rotation fee cannot be negative or zero: %s", v) + } + + return nil +} diff --git a/x/staking/types/params_test.go b/x/staking/types/params_test.go index a5bf8454358c..1bdeb90908e7 100644 --- a/x/staking/types/params_test.go +++ b/x/staking/types/params_test.go @@ -29,10 +29,21 @@ func TestValidateParams(t *testing.T) { // default params have no error require.NoError(t, params.Validate()) - // validate mincommission + // validate min commission rate params.MinCommissionRate = math.LegacyNewDec(-1) require.Error(t, params.Validate()) params.MinCommissionRate = math.LegacyNewDec(2) require.Error(t, params.Validate()) + + // reset params to default + params = types.DefaultParams() + + // check MaxConsPubKeyRotations + params.MaxConsPubkeyRotations = 0 + require.Error(t, params.Validate()) + + // check ConsPubkeyRotationFee + params.ConsPubkeyRotationFee = coinZero + require.Error(t, params.Validate()) } From a1f364debbc83dc41b2c4eab745a093f2d58a141 Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 2 Mar 2023 14:16:48 +0530 Subject: [PATCH 014/106] fix lint --- x/slashing/keeper/signing_info_test.go | 5 ++--- x/staking/keeper/cons_pubkey.go | 2 +- x/staking/keeper/cons_pubkey_test.go | 5 ++--- x/staking/keeper/validator_test.go | 3 +-- x/staking/types/keys.go | 4 ++-- 5 files changed, 8 insertions(+), 11 deletions(-) diff --git a/x/slashing/keeper/signing_info_test.go b/x/slashing/keeper/signing_info_test.go index a5628396b449..3f2f7892cb59 100644 --- a/x/slashing/keeper/signing_info_test.go +++ b/x/slashing/keeper/signing_info_test.go @@ -7,7 +7,6 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/slashing/testutil" - "github.com/cosmos/cosmos-sdk/x/slashing/types" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" ) @@ -103,8 +102,8 @@ func (s *KeeperTestSuite) TestPerformConsensusPubKeyUpdate() { oldConsAddr := sdk.ConsAddress(pks[0].Address()) newConsAddr := sdk.ConsAddress(pks[1].Address()) - newInfo := types.NewValidatorSigningInfo( - sdk.ConsAddress(oldConsAddr), + newInfo := slashingtypes.NewValidatorSigningInfo( + oldConsAddr, int64(4), int64(3), time.Unix(2, 0).UTC(), diff --git a/x/staking/keeper/cons_pubkey.go b/x/staking/keeper/cons_pubkey.go index d1eeeffec3f3..87db4b7a06a7 100644 --- a/x/staking/keeper/cons_pubkey.go +++ b/x/staking/keeper/cons_pubkey.go @@ -19,7 +19,7 @@ func (k Keeper) SetConsPubKeyRotationHistory(ctx sdk.Context, history types.Cons func (k Keeper) GetValidatorConsPubKeyRotationHistory(ctx sdk.Context, operatorAddress sdk.ValAddress) (historyObjects []types.ConsPubKeyRotationHistory) { store := ctx.KVStore(k.storeKey) - iterator := storetypes.KVStorePrefixIterator(store, types.GetValdiatorConsPubKeyRotationHistoryPrefix(operatorAddress.String())) + iterator := storetypes.KVStorePrefixIterator(store, types.GetValidatorConsPubKeyRotationHistoryPrefix(operatorAddress.String())) defer iterator.Close() for ; iterator.Valid(); iterator.Next() { diff --git a/x/staking/keeper/cons_pubkey_test.go b/x/staking/keeper/cons_pubkey_test.go index 2a9fb3cf3187..68fdafa72a40 100644 --- a/x/staking/keeper/cons_pubkey_test.go +++ b/x/staking/keeper/cons_pubkey_test.go @@ -5,7 +5,6 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" "github.com/cosmos/cosmos-sdk/x/staking/testutil" - "github.com/cosmos/cosmos-sdk/x/staking/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" "github.com/golang/mock/gomock" ) @@ -43,7 +42,7 @@ func (s *KeeperTestSuite) TestConsPubKeyRotationHistory() { newConsPub2, err := codectypes.NewAnyWithValue(PKs[2]) s.Require().NoError(err) - stakingKeeper.SetConsPubKeyRotationHistory(ctx, types.ConsPubKeyRotationHistory{ + stakingKeeper.SetConsPubKeyRotationHistory(ctx, stakingtypes.ConsPubKeyRotationHistory{ OperatorAddress: valAddr.String(), OldConsPubkey: validator.ConsensusPubkey, NewConsPubkey: newConsPub, @@ -56,7 +55,7 @@ func (s *KeeperTestSuite) TestConsPubKeyRotationHistory() { historyObjects = stakingKeeper.GetBlockConsPubKeyRotationHistory(ctx, ctx.BlockHeight()) s.Require().Len(historyObjects, 1) - stakingKeeper.SetConsPubKeyRotationHistory(ctx, types.ConsPubKeyRotationHistory{ + stakingKeeper.SetConsPubKeyRotationHistory(ctx, stakingtypes.ConsPubKeyRotationHistory{ OperatorAddress: valAddr.String(), OldConsPubkey: newConsPub, NewConsPubkey: newConsPub2, diff --git a/x/staking/keeper/validator_test.go b/x/staking/keeper/validator_test.go index caf6000c6914..3b4e059f2dd0 100644 --- a/x/staking/keeper/validator_test.go +++ b/x/staking/keeper/validator_test.go @@ -11,7 +11,6 @@ import ( abci "github.com/cometbft/cometbft/abci/types" stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" "github.com/cosmos/cosmos-sdk/x/staking/testutil" - "github.com/cosmos/cosmos-sdk/x/staking/types" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" ) @@ -449,7 +448,7 @@ func (s *KeeperTestSuite) TestValidatorConsPubKeyUpdate() { valAddr1 := sdk.ValAddress(PKs[0].Address().Bytes()) - msg, err := types.NewMsgRotateConsPubKey( + msg, err := stakingtypes.NewMsgRotateConsPubKey( valAddr1, PKs[499], // taking the last element from PKs ) diff --git a/x/staking/types/keys.go b/x/staking/types/keys.go index a3aea277182e..b31130323636 100644 --- a/x/staking/types/keys.go +++ b/x/staking/types/keys.go @@ -386,7 +386,7 @@ func GetValidatorConsPubKeyRotationHistoryKey(history ConsPubKeyRotationHistory) return append(append( ValidatorConsPubKeyRotationHistoryKey, []byte(history.OperatorAddress)...), - sdk.Uint64ToBigEndian(uint64(history.Height))...) + sdk.Uint64ToBigEndian(history.Height)...) } func GetBlockConsPubKeyRotationHistoryKey(history ConsPubKeyRotationHistory) []byte { @@ -396,7 +396,7 @@ func GetBlockConsPubKeyRotationHistoryKey(history ConsPubKeyRotationHistory) []b []byte(history.OperatorAddress)...) } -func GetValdiatorConsPubKeyRotationHistoryPrefix(operatorAddress string) []byte { +func GetValidatorConsPubKeyRotationHistoryPrefix(operatorAddress string) []byte { return append( ValidatorConsPubKeyRotationHistoryKey, []byte(operatorAddress)...) From f93c237dea8261adfd40f92380d62f36b5a66ad7 Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 2 Mar 2023 14:28:24 +0530 Subject: [PATCH 015/106] lint --- x/staking/types/keys.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/staking/types/keys.go b/x/staking/types/keys.go index b31130323636..850ba2f1f507 100644 --- a/x/staking/types/keys.go +++ b/x/staking/types/keys.go @@ -392,7 +392,7 @@ func GetValidatorConsPubKeyRotationHistoryKey(history ConsPubKeyRotationHistory) func GetBlockConsPubKeyRotationHistoryKey(history ConsPubKeyRotationHistory) []byte { return append(append( BlockConsPubKeyRotationHistoryKey, - sdk.Uint64ToBigEndian(uint64(history.Height))...), + sdk.Uint64ToBigEndian(history.Height)...), []byte(history.OperatorAddress)...) } From 5131524ac37cd287bdead2784544e0181f8eb782 Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 2 Mar 2023 14:30:50 +0530 Subject: [PATCH 016/106] error handling --- x/slashing/keeper/signing_info.go | 4 +++- x/staking/keeper/msg_server.go | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/x/slashing/keeper/signing_info.go b/x/slashing/keeper/signing_info.go index 052b9f7936f3..d80bbbc67533 100644 --- a/x/slashing/keeper/signing_info.go +++ b/x/slashing/keeper/signing_info.go @@ -168,7 +168,9 @@ func (k Keeper) RemoveValidatorSigningInfo(ctx sdk.Context, address sdk.ConsAddr func (k Keeper) PerformConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey cryptotypes.PubKey, newPubKey cryptotypes.PubKey) error { // Connect new consensus address with PubKey - k.AddPubkey(ctx, newPubKey) + if err := k.AddPubkey(ctx, newPubKey); err != nil { + return err + } // Migrate ValidatorSigningInfo from oldPubKey to newPubKey signingInfo, found := k.GetValidatorSigningInfo(ctx, sdk.ConsAddress(oldPubKey.Address())) diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index 4fd48785d56c..01c468edb6c7 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -555,7 +555,10 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC // SetValidatorByConsAddr for NewPubKey oldConsensusPubKey := val.ConsensusPubkey val.ConsensusPubkey = msg.NewPubkey - k.SetValidatorByConsAddr(ctx, val) + if err := k.SetValidatorByConsAddr(ctx, val); err != nil { + return nil, err + } + k.SetValidator(ctx, val) // Add ConsPubKeyRotationHistory for tracking rotation From d1c49d51fcf965ba33e26481875882bbd0807b80 Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 2 Mar 2023 15:27:45 +0530 Subject: [PATCH 017/106] fix non determinism --- x/staking/simulation/genesis.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x/staking/simulation/genesis.go b/x/staking/simulation/genesis.go index 2226118a5ea6..dcdac7485bef 100644 --- a/x/staking/simulation/genesis.go +++ b/x/staking/simulation/genesis.go @@ -34,12 +34,12 @@ func getHistEntries(r *rand.Rand) uint32 { return uint32(r.Intn(int(types.DefaultHistoricalEntries + 1))) } -// getConsPubKeyRotationFee returns randomized consPubKeyRotationFee between 10000-100000. +// getConsPubKeyRotationFee returns randomized consPubKeyRotationFee between 10000-1000000. func getConsPubKeyRotationFee(r *rand.Rand) sdk.Coin { return sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(r.Int63n(types.DefaultConsPubKeyRotationFee.Amount.Int64()-10000)+10000)) } -// getMaxConsPubKeyRotations returns randomized maxConsPubKeyRotations between 0-100. +// getMaxConsPubKeyRotations returns randomized maxConsPubKeyRotations between 1-10. func getMaxConsPubKeyRotations(r *rand.Rand) uint64 { return uint64(r.Intn(int(types.DefaultMaxConsPubKeyRotations + 1))) } From 359a55bf6743e7e5326cbc120cf7765227e29adf Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 2 Mar 2023 16:02:00 +0530 Subject: [PATCH 018/106] fix tests --- tests/e2e/staking/suite.go | 6 +++++- x/staking/simulation/genesis_test.go | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/e2e/staking/suite.go b/tests/e2e/staking/suite.go index ee291910b81c..c57086ef2f5c 100644 --- a/tests/e2e/staking/suite.go +++ b/tests/e2e/staking/suite.go @@ -923,7 +923,11 @@ func (s *E2ETestSuite) TestGetCmdQueryParams() { "with text output", []string{fmt.Sprintf("--%s=text", flags.FlagOutput)}, `bond_denom: stake +cons_pubkey_rotation_fee: + amount: "1000000" + denom: stake historical_entries: 10000 +max_cons_pubkey_rotations: "10" max_entries: 7 max_validators: 100 min_commission_rate: "0.000000000000000000" @@ -932,7 +936,7 @@ unbonding_time: 1814400s`, { "with json output", []string{fmt.Sprintf("--%s=json", flags.FlagOutput)}, - `{"unbonding_time":"1814400s","max_validators":100,"max_entries":7,"historical_entries":10000,"bond_denom":"stake","min_commission_rate":"0.000000000000000000"}`, + `{"unbonding_time":"1814400s","max_validators":100,"max_entries":7,"historical_entries":10000,"bond_denom":"stake","min_commission_rate":"0.000000000000000000","max_cons_pubkey_rotations":"10","cons_pubkey_rotation_fee":{"denom":"stake","amount":"1000000"}}`, }, } for _, tc := range testCases { diff --git a/x/staking/simulation/genesis_test.go b/x/staking/simulation/genesis_test.go index c0c8835a78e0..dc4dd0dcf363 100644 --- a/x/staking/simulation/genesis_test.go +++ b/x/staking/simulation/genesis_test.go @@ -63,9 +63,9 @@ func TestRandomizedGenState(t *testing.T) { require.Equal(t, "BOND_STATUS_UNBONDED", stakingGenesis.Validators[2].Status.String()) require.Equal(t, "1000", stakingGenesis.Validators[2].Tokens.String()) require.Equal(t, "1000.000000000000000000", stakingGenesis.Validators[2].DelegatorShares.String()) - require.Equal(t, "0.292059246265731326", stakingGenesis.Validators[2].Commission.CommissionRates.Rate.String()) - require.Equal(t, "0.330000000000000000", stakingGenesis.Validators[2].Commission.CommissionRates.MaxRate.String()) - require.Equal(t, "0.038337453731274481", stakingGenesis.Validators[2].Commission.CommissionRates.MaxChangeRate.String()) + require.Equal(t, "0.063782604040085599", stakingGenesis.Validators[2].Commission.CommissionRates.Rate.String()) + require.Equal(t, "0.100000000000000000", stakingGenesis.Validators[2].Commission.CommissionRates.MaxRate.String()) + require.Equal(t, "0.000000000000000000", stakingGenesis.Validators[2].Commission.CommissionRates.MaxChangeRate.String()) require.Equal(t, "1", stakingGenesis.Validators[2].MinSelfDelegation.String()) } From b62b19446b46393f5173bb90a2058297f6941598 Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 2 Mar 2023 16:09:41 +0530 Subject: [PATCH 019/106] fix tests --- x/staking/testutil/expected_keepers_mocks.go | 133 +++++++++++-------- 1 file changed, 74 insertions(+), 59 deletions(-) diff --git a/x/staking/testutil/expected_keepers_mocks.go b/x/staking/testutil/expected_keepers_mocks.go index e9a674807016..af63cfb27cd1 100644 --- a/x/staking/testutil/expected_keepers_mocks.go +++ b/x/staking/testutil/expected_keepers_mocks.go @@ -8,8 +8,9 @@ import ( reflect "reflect" math "cosmossdk.io/math" - types "github.com/cosmos/cosmos-sdk/types" - types0 "github.com/cosmos/cosmos-sdk/x/staking/types" + types "github.com/cosmos/cosmos-sdk/crypto/types" + types0 "github.com/cosmos/cosmos-sdk/types" + types1 "github.com/cosmos/cosmos-sdk/x/staking/types" gomock "github.com/golang/mock/gomock" ) @@ -37,10 +38,10 @@ func (m *MockDistributionKeeper) EXPECT() *MockDistributionKeeperMockRecorder { } // GetFeePoolCommunityCoins mocks base method. -func (m *MockDistributionKeeper) GetFeePoolCommunityCoins(ctx types.Context) types.DecCoins { +func (m *MockDistributionKeeper) GetFeePoolCommunityCoins(ctx types0.Context) types0.DecCoins { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GetFeePoolCommunityCoins", ctx) - ret0, _ := ret[0].(types.DecCoins) + ret0, _ := ret[0].(types0.DecCoins) return ret0 } @@ -51,10 +52,10 @@ func (mr *MockDistributionKeeperMockRecorder) GetFeePoolCommunityCoins(ctx inter } // GetValidatorOutstandingRewardsCoins mocks base method. -func (m *MockDistributionKeeper) GetValidatorOutstandingRewardsCoins(ctx types.Context, val types.ValAddress) types.DecCoins { +func (m *MockDistributionKeeper) GetValidatorOutstandingRewardsCoins(ctx types0.Context, val types0.ValAddress) types0.DecCoins { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GetValidatorOutstandingRewardsCoins", ctx, val) - ret0, _ := ret[0].(types.DecCoins) + ret0, _ := ret[0].(types0.DecCoins) return ret0 } @@ -88,10 +89,10 @@ func (m *MockAccountKeeper) EXPECT() *MockAccountKeeperMockRecorder { } // GetAccount mocks base method. -func (m *MockAccountKeeper) GetAccount(ctx types.Context, addr types.AccAddress) types.AccountI { +func (m *MockAccountKeeper) GetAccount(ctx types0.Context, addr types0.AccAddress) types0.AccountI { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GetAccount", ctx, addr) - ret0, _ := ret[0].(types.AccountI) + ret0, _ := ret[0].(types0.AccountI) return ret0 } @@ -102,10 +103,10 @@ func (mr *MockAccountKeeperMockRecorder) GetAccount(ctx, addr interface{}) *gomo } // GetModuleAccount mocks base method. -func (m *MockAccountKeeper) GetModuleAccount(ctx types.Context, moduleName string) types.ModuleAccountI { +func (m *MockAccountKeeper) GetModuleAccount(ctx types0.Context, moduleName string) types0.ModuleAccountI { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GetModuleAccount", ctx, moduleName) - ret0, _ := ret[0].(types.ModuleAccountI) + ret0, _ := ret[0].(types0.ModuleAccountI) return ret0 } @@ -116,10 +117,10 @@ func (mr *MockAccountKeeperMockRecorder) GetModuleAccount(ctx, moduleName interf } // GetModuleAddress mocks base method. -func (m *MockAccountKeeper) GetModuleAddress(name string) types.AccAddress { +func (m *MockAccountKeeper) GetModuleAddress(name string) types0.AccAddress { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GetModuleAddress", name) - ret0, _ := ret[0].(types.AccAddress) + ret0, _ := ret[0].(types0.AccAddress) return ret0 } @@ -130,7 +131,7 @@ func (mr *MockAccountKeeperMockRecorder) GetModuleAddress(name interface{}) *gom } // IterateAccounts mocks base method. -func (m *MockAccountKeeper) IterateAccounts(ctx types.Context, process func(types.AccountI) bool) { +func (m *MockAccountKeeper) IterateAccounts(ctx types0.Context, process func(types0.AccountI) bool) { m.ctrl.T.Helper() m.ctrl.Call(m, "IterateAccounts", ctx, process) } @@ -142,7 +143,7 @@ func (mr *MockAccountKeeperMockRecorder) IterateAccounts(ctx, process interface{ } // SetModuleAccount mocks base method. -func (m *MockAccountKeeper) SetModuleAccount(arg0 types.Context, arg1 types.ModuleAccountI) { +func (m *MockAccountKeeper) SetModuleAccount(arg0 types0.Context, arg1 types0.ModuleAccountI) { m.ctrl.T.Helper() m.ctrl.Call(m, "SetModuleAccount", arg0, arg1) } @@ -177,7 +178,7 @@ func (m *MockBankKeeper) EXPECT() *MockBankKeeperMockRecorder { } // BurnCoins mocks base method. -func (m *MockBankKeeper) BurnCoins(ctx types.Context, name string, amt types.Coins) error { +func (m *MockBankKeeper) BurnCoins(ctx types0.Context, name string, amt types0.Coins) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "BurnCoins", ctx, name, amt) ret0, _ := ret[0].(error) @@ -191,7 +192,7 @@ func (mr *MockBankKeeperMockRecorder) BurnCoins(ctx, name, amt interface{}) *gom } // DelegateCoinsFromAccountToModule mocks base method. -func (m *MockBankKeeper) DelegateCoinsFromAccountToModule(ctx types.Context, senderAddr types.AccAddress, recipientModule string, amt types.Coins) error { +func (m *MockBankKeeper) DelegateCoinsFromAccountToModule(ctx types0.Context, senderAddr types0.AccAddress, recipientModule string, amt types0.Coins) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "DelegateCoinsFromAccountToModule", ctx, senderAddr, recipientModule, amt) ret0, _ := ret[0].(error) @@ -205,10 +206,10 @@ func (mr *MockBankKeeperMockRecorder) DelegateCoinsFromAccountToModule(ctx, send } // GetAllBalances mocks base method. -func (m *MockBankKeeper) GetAllBalances(ctx types.Context, addr types.AccAddress) types.Coins { +func (m *MockBankKeeper) GetAllBalances(ctx types0.Context, addr types0.AccAddress) types0.Coins { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GetAllBalances", ctx, addr) - ret0, _ := ret[0].(types.Coins) + ret0, _ := ret[0].(types0.Coins) return ret0 } @@ -219,10 +220,10 @@ func (mr *MockBankKeeperMockRecorder) GetAllBalances(ctx, addr interface{}) *gom } // GetBalance mocks base method. -func (m *MockBankKeeper) GetBalance(ctx types.Context, addr types.AccAddress, denom string) types.Coin { +func (m *MockBankKeeper) GetBalance(ctx types0.Context, addr types0.AccAddress, denom string) types0.Coin { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GetBalance", ctx, addr, denom) - ret0, _ := ret[0].(types.Coin) + ret0, _ := ret[0].(types0.Coin) return ret0 } @@ -233,10 +234,10 @@ func (mr *MockBankKeeperMockRecorder) GetBalance(ctx, addr, denom interface{}) * } // GetSupply mocks base method. -func (m *MockBankKeeper) GetSupply(ctx types.Context, denom string) types.Coin { +func (m *MockBankKeeper) GetSupply(ctx types0.Context, denom string) types0.Coin { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GetSupply", ctx, denom) - ret0, _ := ret[0].(types.Coin) + ret0, _ := ret[0].(types0.Coin) return ret0 } @@ -247,10 +248,10 @@ func (mr *MockBankKeeperMockRecorder) GetSupply(ctx, denom interface{}) *gomock. } // LockedCoins mocks base method. -func (m *MockBankKeeper) LockedCoins(ctx types.Context, addr types.AccAddress) types.Coins { +func (m *MockBankKeeper) LockedCoins(ctx types0.Context, addr types0.AccAddress) types0.Coins { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LockedCoins", ctx, addr) - ret0, _ := ret[0].(types.Coins) + ret0, _ := ret[0].(types0.Coins) return ret0 } @@ -261,7 +262,7 @@ func (mr *MockBankKeeperMockRecorder) LockedCoins(ctx, addr interface{}) *gomock } // SendCoinsFromAccountToModule mocks base method. -func (m *MockBankKeeper) SendCoinsFromAccountToModule(ctx types.Context, senderAddr types.AccAddress, recipientModule string, amt types.Coins) error { +func (m *MockBankKeeper) SendCoinsFromAccountToModule(ctx types0.Context, senderAddr types0.AccAddress, recipientModule string, amt types0.Coins) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "SendCoinsFromAccountToModule", ctx, senderAddr, recipientModule, amt) ret0, _ := ret[0].(error) @@ -275,7 +276,7 @@ func (mr *MockBankKeeperMockRecorder) SendCoinsFromAccountToModule(ctx, senderAd } // SendCoinsFromModuleToModule mocks base method. -func (m *MockBankKeeper) SendCoinsFromModuleToModule(ctx types.Context, senderPool, recipientPool string, amt types.Coins) error { +func (m *MockBankKeeper) SendCoinsFromModuleToModule(ctx types0.Context, senderPool, recipientPool string, amt types0.Coins) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "SendCoinsFromModuleToModule", ctx, senderPool, recipientPool, amt) ret0, _ := ret[0].(error) @@ -289,10 +290,10 @@ func (mr *MockBankKeeperMockRecorder) SendCoinsFromModuleToModule(ctx, senderPoo } // SpendableCoins mocks base method. -func (m *MockBankKeeper) SpendableCoins(ctx types.Context, addr types.AccAddress) types.Coins { +func (m *MockBankKeeper) SpendableCoins(ctx types0.Context, addr types0.AccAddress) types0.Coins { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "SpendableCoins", ctx, addr) - ret0, _ := ret[0].(types.Coins) + ret0, _ := ret[0].(types0.Coins) return ret0 } @@ -303,7 +304,7 @@ func (mr *MockBankKeeperMockRecorder) SpendableCoins(ctx, addr interface{}) *gom } // UndelegateCoinsFromModuleToAccount mocks base method. -func (m *MockBankKeeper) UndelegateCoinsFromModuleToAccount(ctx types.Context, senderModule string, recipientAddr types.AccAddress, amt types.Coins) error { +func (m *MockBankKeeper) UndelegateCoinsFromModuleToAccount(ctx types0.Context, senderModule string, recipientAddr types0.AccAddress, amt types0.Coins) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "UndelegateCoinsFromModuleToAccount", ctx, senderModule, recipientAddr, amt) ret0, _ := ret[0].(error) @@ -340,10 +341,10 @@ func (m *MockValidatorSet) EXPECT() *MockValidatorSetMockRecorder { } // Delegation mocks base method. -func (m *MockValidatorSet) Delegation(arg0 types.Context, arg1 types.AccAddress, arg2 types.ValAddress) types0.DelegationI { +func (m *MockValidatorSet) Delegation(arg0 types0.Context, arg1 types0.AccAddress, arg2 types0.ValAddress) types1.DelegationI { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Delegation", arg0, arg1, arg2) - ret0, _ := ret[0].(types0.DelegationI) + ret0, _ := ret[0].(types1.DelegationI) return ret0 } @@ -354,7 +355,7 @@ func (mr *MockValidatorSetMockRecorder) Delegation(arg0, arg1, arg2 interface{}) } // IterateBondedValidatorsByPower mocks base method. -func (m *MockValidatorSet) IterateBondedValidatorsByPower(arg0 types.Context, arg1 func(int64, types0.ValidatorI) bool) { +func (m *MockValidatorSet) IterateBondedValidatorsByPower(arg0 types0.Context, arg1 func(int64, types1.ValidatorI) bool) { m.ctrl.T.Helper() m.ctrl.Call(m, "IterateBondedValidatorsByPower", arg0, arg1) } @@ -366,7 +367,7 @@ func (mr *MockValidatorSetMockRecorder) IterateBondedValidatorsByPower(arg0, arg } // IterateLastValidators mocks base method. -func (m *MockValidatorSet) IterateLastValidators(arg0 types.Context, arg1 func(int64, types0.ValidatorI) bool) { +func (m *MockValidatorSet) IterateLastValidators(arg0 types0.Context, arg1 func(int64, types1.ValidatorI) bool) { m.ctrl.T.Helper() m.ctrl.Call(m, "IterateLastValidators", arg0, arg1) } @@ -378,7 +379,7 @@ func (mr *MockValidatorSetMockRecorder) IterateLastValidators(arg0, arg1 interfa } // IterateValidators mocks base method. -func (m *MockValidatorSet) IterateValidators(arg0 types.Context, arg1 func(int64, types0.ValidatorI) bool) { +func (m *MockValidatorSet) IterateValidators(arg0 types0.Context, arg1 func(int64, types1.ValidatorI) bool) { m.ctrl.T.Helper() m.ctrl.Call(m, "IterateValidators", arg0, arg1) } @@ -390,7 +391,7 @@ func (mr *MockValidatorSetMockRecorder) IterateValidators(arg0, arg1 interface{} } // Jail mocks base method. -func (m *MockValidatorSet) Jail(arg0 types.Context, arg1 types.ConsAddress) { +func (m *MockValidatorSet) Jail(arg0 types0.Context, arg1 types0.ConsAddress) { m.ctrl.T.Helper() m.ctrl.Call(m, "Jail", arg0, arg1) } @@ -402,7 +403,7 @@ func (mr *MockValidatorSetMockRecorder) Jail(arg0, arg1 interface{}) *gomock.Cal } // MaxValidators mocks base method. -func (m *MockValidatorSet) MaxValidators(arg0 types.Context) uint32 { +func (m *MockValidatorSet) MaxValidators(arg0 types0.Context) uint32 { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "MaxValidators", arg0) ret0, _ := ret[0].(uint32) @@ -416,7 +417,7 @@ func (mr *MockValidatorSetMockRecorder) MaxValidators(arg0 interface{}) *gomock. } // Slash mocks base method. -func (m *MockValidatorSet) Slash(arg0 types.Context, arg1 types.ConsAddress, arg2, arg3 int64, arg4 types.Dec) math.Int { +func (m *MockValidatorSet) Slash(arg0 types0.Context, arg1 types0.ConsAddress, arg2, arg3 int64, arg4 types0.Dec) math.Int { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Slash", arg0, arg1, arg2, arg3, arg4) ret0, _ := ret[0].(math.Int) @@ -430,7 +431,7 @@ func (mr *MockValidatorSetMockRecorder) Slash(arg0, arg1, arg2, arg3, arg4 inter } // SlashWithInfractionReason mocks base method. -func (m *MockValidatorSet) SlashWithInfractionReason(arg0 types.Context, arg1 types.ConsAddress, arg2, arg3 int64, arg4 types.Dec, arg5 types0.Infraction) math.Int { +func (m *MockValidatorSet) SlashWithInfractionReason(arg0 types0.Context, arg1 types0.ConsAddress, arg2, arg3 int64, arg4 types0.Dec, arg5 types1.Infraction) math.Int { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "SlashWithInfractionReason", arg0, arg1, arg2, arg3, arg4, arg5) ret0, _ := ret[0].(math.Int) @@ -444,7 +445,7 @@ func (mr *MockValidatorSetMockRecorder) SlashWithInfractionReason(arg0, arg1, ar } // StakingTokenSupply mocks base method. -func (m *MockValidatorSet) StakingTokenSupply(arg0 types.Context) math.Int { +func (m *MockValidatorSet) StakingTokenSupply(arg0 types0.Context) math.Int { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "StakingTokenSupply", arg0) ret0, _ := ret[0].(math.Int) @@ -458,7 +459,7 @@ func (mr *MockValidatorSetMockRecorder) StakingTokenSupply(arg0 interface{}) *go } // TotalBondedTokens mocks base method. -func (m *MockValidatorSet) TotalBondedTokens(arg0 types.Context) math.Int { +func (m *MockValidatorSet) TotalBondedTokens(arg0 types0.Context) math.Int { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "TotalBondedTokens", arg0) ret0, _ := ret[0].(math.Int) @@ -472,7 +473,7 @@ func (mr *MockValidatorSetMockRecorder) TotalBondedTokens(arg0 interface{}) *gom } // Unjail mocks base method. -func (m *MockValidatorSet) Unjail(arg0 types.Context, arg1 types.ConsAddress) { +func (m *MockValidatorSet) Unjail(arg0 types0.Context, arg1 types0.ConsAddress) { m.ctrl.T.Helper() m.ctrl.Call(m, "Unjail", arg0, arg1) } @@ -484,10 +485,10 @@ func (mr *MockValidatorSetMockRecorder) Unjail(arg0, arg1 interface{}) *gomock.C } // Validator mocks base method. -func (m *MockValidatorSet) Validator(arg0 types.Context, arg1 types.ValAddress) types0.ValidatorI { +func (m *MockValidatorSet) Validator(arg0 types0.Context, arg1 types0.ValAddress) types1.ValidatorI { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Validator", arg0, arg1) - ret0, _ := ret[0].(types0.ValidatorI) + ret0, _ := ret[0].(types1.ValidatorI) return ret0 } @@ -498,10 +499,10 @@ func (mr *MockValidatorSetMockRecorder) Validator(arg0, arg1 interface{}) *gomoc } // ValidatorByConsAddr mocks base method. -func (m *MockValidatorSet) ValidatorByConsAddr(arg0 types.Context, arg1 types.ConsAddress) types0.ValidatorI { +func (m *MockValidatorSet) ValidatorByConsAddr(arg0 types0.Context, arg1 types0.ConsAddress) types1.ValidatorI { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "ValidatorByConsAddr", arg0, arg1) - ret0, _ := ret[0].(types0.ValidatorI) + ret0, _ := ret[0].(types1.ValidatorI) return ret0 } @@ -535,10 +536,10 @@ func (m *MockDelegationSet) EXPECT() *MockDelegationSetMockRecorder { } // GetValidatorSet mocks base method. -func (m *MockDelegationSet) GetValidatorSet() types0.ValidatorSet { +func (m *MockDelegationSet) GetValidatorSet() types1.ValidatorSet { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GetValidatorSet") - ret0, _ := ret[0].(types0.ValidatorSet) + ret0, _ := ret[0].(types1.ValidatorSet) return ret0 } @@ -549,7 +550,7 @@ func (mr *MockDelegationSetMockRecorder) GetValidatorSet() *gomock.Call { } // IterateDelegations mocks base method. -func (m *MockDelegationSet) IterateDelegations(ctx types.Context, delegator types.AccAddress, fn func(int64, types0.DelegationI) bool) { +func (m *MockDelegationSet) IterateDelegations(ctx types0.Context, delegator types0.AccAddress, fn func(int64, types1.DelegationI) bool) { m.ctrl.T.Helper() m.ctrl.Call(m, "IterateDelegations", ctx, delegator, fn) } @@ -583,8 +584,22 @@ func (m *MockStakingHooks) EXPECT() *MockStakingHooksMockRecorder { return m.recorder } +// AfterConsensusPubKeyUpdate mocks base method. +func (m *MockStakingHooks) AfterConsensusPubKeyUpdate(ctx types0.Context, oldPubKey, newPubKey types.PubKey, rotationFee types0.Coin) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "AfterConsensusPubKeyUpdate", ctx, oldPubKey, newPubKey, rotationFee) + ret0, _ := ret[0].(error) + return ret0 +} + +// AfterConsensusPubKeyUpdate indicates an expected call of AfterConsensusPubKeyUpdate. +func (mr *MockStakingHooksMockRecorder) AfterConsensusPubKeyUpdate(ctx, oldPubKey, newPubKey, rotationFee interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AfterConsensusPubKeyUpdate", reflect.TypeOf((*MockStakingHooks)(nil).AfterConsensusPubKeyUpdate), ctx, oldPubKey, newPubKey, rotationFee) +} + // AfterDelegationModified mocks base method. -func (m *MockStakingHooks) AfterDelegationModified(ctx types.Context, delAddr types.AccAddress, valAddr types.ValAddress) error { +func (m *MockStakingHooks) AfterDelegationModified(ctx types0.Context, delAddr types0.AccAddress, valAddr types0.ValAddress) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "AfterDelegationModified", ctx, delAddr, valAddr) ret0, _ := ret[0].(error) @@ -598,7 +613,7 @@ func (mr *MockStakingHooksMockRecorder) AfterDelegationModified(ctx, delAddr, va } // AfterUnbondingInitiated mocks base method. -func (m *MockStakingHooks) AfterUnbondingInitiated(ctx types.Context, id uint64) error { +func (m *MockStakingHooks) AfterUnbondingInitiated(ctx types0.Context, id uint64) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "AfterUnbondingInitiated", ctx, id) ret0, _ := ret[0].(error) @@ -612,7 +627,7 @@ func (mr *MockStakingHooksMockRecorder) AfterUnbondingInitiated(ctx, id interfac } // AfterValidatorBeginUnbonding mocks base method. -func (m *MockStakingHooks) AfterValidatorBeginUnbonding(ctx types.Context, consAddr types.ConsAddress, valAddr types.ValAddress) error { +func (m *MockStakingHooks) AfterValidatorBeginUnbonding(ctx types0.Context, consAddr types0.ConsAddress, valAddr types0.ValAddress) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "AfterValidatorBeginUnbonding", ctx, consAddr, valAddr) ret0, _ := ret[0].(error) @@ -626,7 +641,7 @@ func (mr *MockStakingHooksMockRecorder) AfterValidatorBeginUnbonding(ctx, consAd } // AfterValidatorBonded mocks base method. -func (m *MockStakingHooks) AfterValidatorBonded(ctx types.Context, consAddr types.ConsAddress, valAddr types.ValAddress) error { +func (m *MockStakingHooks) AfterValidatorBonded(ctx types0.Context, consAddr types0.ConsAddress, valAddr types0.ValAddress) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "AfterValidatorBonded", ctx, consAddr, valAddr) ret0, _ := ret[0].(error) @@ -640,7 +655,7 @@ func (mr *MockStakingHooksMockRecorder) AfterValidatorBonded(ctx, consAddr, valA } // AfterValidatorCreated mocks base method. -func (m *MockStakingHooks) AfterValidatorCreated(ctx types.Context, valAddr types.ValAddress) error { +func (m *MockStakingHooks) AfterValidatorCreated(ctx types0.Context, valAddr types0.ValAddress) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "AfterValidatorCreated", ctx, valAddr) ret0, _ := ret[0].(error) @@ -654,7 +669,7 @@ func (mr *MockStakingHooksMockRecorder) AfterValidatorCreated(ctx, valAddr inter } // AfterValidatorRemoved mocks base method. -func (m *MockStakingHooks) AfterValidatorRemoved(ctx types.Context, consAddr types.ConsAddress, valAddr types.ValAddress) error { +func (m *MockStakingHooks) AfterValidatorRemoved(ctx types0.Context, consAddr types0.ConsAddress, valAddr types0.ValAddress) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "AfterValidatorRemoved", ctx, consAddr, valAddr) ret0, _ := ret[0].(error) @@ -668,7 +683,7 @@ func (mr *MockStakingHooksMockRecorder) AfterValidatorRemoved(ctx, consAddr, val } // BeforeDelegationCreated mocks base method. -func (m *MockStakingHooks) BeforeDelegationCreated(ctx types.Context, delAddr types.AccAddress, valAddr types.ValAddress) error { +func (m *MockStakingHooks) BeforeDelegationCreated(ctx types0.Context, delAddr types0.AccAddress, valAddr types0.ValAddress) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "BeforeDelegationCreated", ctx, delAddr, valAddr) ret0, _ := ret[0].(error) @@ -682,7 +697,7 @@ func (mr *MockStakingHooksMockRecorder) BeforeDelegationCreated(ctx, delAddr, va } // BeforeDelegationRemoved mocks base method. -func (m *MockStakingHooks) BeforeDelegationRemoved(ctx types.Context, delAddr types.AccAddress, valAddr types.ValAddress) error { +func (m *MockStakingHooks) BeforeDelegationRemoved(ctx types0.Context, delAddr types0.AccAddress, valAddr types0.ValAddress) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "BeforeDelegationRemoved", ctx, delAddr, valAddr) ret0, _ := ret[0].(error) @@ -696,7 +711,7 @@ func (mr *MockStakingHooksMockRecorder) BeforeDelegationRemoved(ctx, delAddr, va } // BeforeDelegationSharesModified mocks base method. -func (m *MockStakingHooks) BeforeDelegationSharesModified(ctx types.Context, delAddr types.AccAddress, valAddr types.ValAddress) error { +func (m *MockStakingHooks) BeforeDelegationSharesModified(ctx types0.Context, delAddr types0.AccAddress, valAddr types0.ValAddress) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "BeforeDelegationSharesModified", ctx, delAddr, valAddr) ret0, _ := ret[0].(error) @@ -710,7 +725,7 @@ func (mr *MockStakingHooksMockRecorder) BeforeDelegationSharesModified(ctx, delA } // BeforeValidatorModified mocks base method. -func (m *MockStakingHooks) BeforeValidatorModified(ctx types.Context, valAddr types.ValAddress) error { +func (m *MockStakingHooks) BeforeValidatorModified(ctx types0.Context, valAddr types0.ValAddress) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "BeforeValidatorModified", ctx, valAddr) ret0, _ := ret[0].(error) @@ -724,7 +739,7 @@ func (mr *MockStakingHooksMockRecorder) BeforeValidatorModified(ctx, valAddr int } // BeforeValidatorSlashed mocks base method. -func (m *MockStakingHooks) BeforeValidatorSlashed(ctx types.Context, valAddr types.ValAddress, fraction types.Dec) error { +func (m *MockStakingHooks) BeforeValidatorSlashed(ctx types0.Context, valAddr types0.ValAddress, fraction types0.Dec) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "BeforeValidatorSlashed", ctx, valAddr, fraction) ret0, _ := ret[0].(error) From b990ab5c608cc06e4a2df975e2c7d4e48d509127 Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 2 Mar 2023 16:14:27 +0530 Subject: [PATCH 020/106] fix tests --- x/staking/migrations/v3/json_test.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/x/staking/migrations/v3/json_test.go b/x/staking/migrations/v3/json_test.go index c111f366515e..b20a38414d37 100644 --- a/x/staking/migrations/v3/json_test.go +++ b/x/staking/migrations/v3/json_test.go @@ -42,7 +42,12 @@ func TestMigrateJSON(t *testing.T) { "last_validator_powers": [], "params": { "bond_denom": "stake", + "cons_pubkey_rotation_fee": { + "amount": "1000000", + "denom": "stake" + }, "historical_entries": 10000, + "max_cons_pubkey_rotations": "10", "max_entries": 7, "max_validators": 100, "min_commission_rate": "0.000000000000000000", From 36099de710c03e9aa411d147c55be304f33438f2 Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 8 Mar 2023 19:49:56 +0530 Subject: [PATCH 021/106] fix tests --- tests/e2e/staking/suite.go | 16 +++ .../staking/keeper/msg_server_test.go | 120 +++++++++++++++++- x/staking/keeper/msg_server.go | 2 +- x/staking/types/params.go | 8 +- 4 files changed, 139 insertions(+), 7 deletions(-) diff --git a/tests/e2e/staking/suite.go b/tests/e2e/staking/suite.go index c57086ef2f5c..7d1121224a33 100644 --- a/tests/e2e/staking/suite.go +++ b/tests/e2e/staking/suite.go @@ -1577,3 +1577,19 @@ func (s *E2ETestSuite) TestEditValidatorMoniker() { require.NoError(val.ClientCtx.Codec.UnmarshalJSON(res.Bytes(), &result)) require.Equal(result.GetMoniker(), moniker) } + +func (s *E2ETestSuite) TestRotateConsensusKey() { + val := s.network.Validators[0] + require := s.Require() + + txCmd := cli.NewRotateConsensusKeyCmd() + _, err := clitestutil.ExecTestCLICmd(val.ClientCtx, txCmd, []string{ + val.ValAddress.String(), + fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), + fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), + fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), + fmt.Sprintf("--%s=%s", cli.FlagPubKey, `{"@type":"/cosmos.crypto.ed25519.PubKey","key":"/bjz9vxsyxzyTiGjG289dBn/4G4Bu6U1pI1dL17MbIY="}`), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + }) + require.NoError(err) +} diff --git a/tests/integration/staking/keeper/msg_server_test.go b/tests/integration/staking/keeper/msg_server_test.go index 3ccd554d5bd9..aeb3f711f88b 100644 --- a/tests/integration/staking/keeper/msg_server_test.go +++ b/tests/integration/staking/keeper/msg_server_test.go @@ -5,15 +5,19 @@ import ( "time" cmtproto "github.com/cometbft/cometbft/proto/tendermint/types" + "github.com/stretchr/testify/require" "gotest.tools/v3/assert" + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" "github.com/cosmos/cosmos-sdk/testutil/configurator" simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" - "github.com/cosmos/cosmos-sdk/x/bank/testutil" + banktestutil "github.com/cosmos/cosmos-sdk/x/bank/testutil" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" "github.com/cosmos/cosmos-sdk/x/staking/keeper" + "github.com/cosmos/cosmos-sdk/x/staking/testutil" "github.com/cosmos/cosmos-sdk/x/staking/types" ) @@ -45,7 +49,7 @@ func TestCancelUnbondingDelegation(t *testing.T) { notBondedPool := stakingKeeper.GetNotBondedPool(ctx) startTokens := stakingKeeper.TokensFromConsensusPower(ctx, 5) - assert.NilError(t, testutil.FundModuleAccount(bankKeeper, ctx, notBondedPool.GetName(), sdk.NewCoins(sdk.NewCoin(stakingKeeper.BondDenom(ctx), startTokens)))) + assert.NilError(t, banktestutil.FundModuleAccount(bankKeeper, ctx, notBondedPool.GetName(), sdk.NewCoins(sdk.NewCoin(stakingKeeper.BondDenom(ctx), startTokens)))) accountKeeper.SetModuleAccount(ctx, notBondedPool) moduleBalance := bankKeeper.GetBalance(ctx, notBondedPool.GetAddress(), stakingKeeper.BondDenom(ctx)) @@ -172,3 +176,115 @@ func TestCancelUnbondingDelegation(t *testing.T) { }) } } + +func TestRotateConsPubKey(t *testing.T) { + // setup the app + var ( + stakingKeeper *keeper.Keeper + bankKeeper bankkeeper.Keeper + accountKeeper authkeeper.AccountKeeper + ) + app, err := simtestutil.SetupWithConfiguration( + configurator.NewAppConfig( + configurator.BankModule(), + configurator.TxModule(), + configurator.StakingModule(), + configurator.ParamsModule(), + configurator.ConsensusModule(), + configurator.AuthModule(), + ), + simtestutil.DefaultStartUpConfig(), + &accountKeeper, &bankKeeper, &stakingKeeper) + assert.NilError(t, err) + + ctx := app.BaseApp.NewContext(false, cmtproto.Header{}) + msgServer := keeper.NewMsgServerImpl(stakingKeeper) + bondDenom := stakingKeeper.BondDenom(ctx) + + addrs := simtestutil.AddTestAddrsIncremental(bankKeeper, stakingKeeper, ctx, 5, stakingKeeper.TokensFromConsensusPower(ctx, 300)) + valAddrs := simtestutil.ConvertAddrsToValAddrs(addrs) + pks := []cryptotypes.PubKey{PKs[0], PKs[499]} + + val1 := testutil.NewValidator(t, valAddrs[0], pks[0]) + stakingKeeper.SetValidator(ctx, val1) + stakingKeeper.SetValidatorByConsAddr(ctx, val1) + stakingKeeper.SetNewValidatorByPowerIndex(ctx, val1) + + testCases := []struct { + Name string + Pass bool + sender sdk.AccAddress + validator sdk.ValAddress + newPubKey cryptotypes.PubKey + rotationLimit uint64 + }{ + { + Name: "not existing validator check", + sender: addrs[1], + validator: valAddrs[1], + newPubKey: pks[1], + rotationLimit: 10, + Pass: false, + }, + { + Name: "consensus pubkey rotation limit check", + sender: addrs[0], + validator: val1.GetOperator(), + newPubKey: pks[1], + rotationLimit: 0, + Pass: false, + }, + { + Name: "successful consensus pubkey rotation", + sender: addrs[0], + validator: val1.GetOperator(), + newPubKey: pks[1], + rotationLimit: 10, + Pass: true, + }, + } + + for _, testCase := range testCases { + t.Run(testCase.Name, func(t *testing.T) { + params := stakingKeeper.GetParams(ctx) + params.ConsPubkeyRotationFee = sdk.NewInt64Coin(bondDenom, 1000) + params.MaxConsPubkeyRotations = testCase.rotationLimit + err := stakingKeeper.SetParams(ctx, params) + require.NoError(t, err) + + oldDistrBalance := bankKeeper.GetBalance(ctx, accountKeeper.GetModuleAddress(distrtypes.ModuleName), bondDenom) + msg, err := types.NewMsgRotateConsPubKey( + sdk.ValAddress(testCase.sender), + testCase.newPubKey, + ) + require.NoError(t, err) + + _, err = msgServer.RotateConsPubKey(ctx, msg) + + if testCase.Pass { + + require.NoError(t, err) + + // rotation fee payment from sender to distrtypes + newDistrBalance := bankKeeper.GetBalance(ctx, accountKeeper.GetModuleAddress(distrtypes.ModuleName), bondDenom) + require.Equal(t, newDistrBalance, oldDistrBalance.Add(params.ConsPubkeyRotationFee)) + + // validator consensus pubkey update check + validator, found := stakingKeeper.GetValidator(ctx, testCase.validator) + require.True(t, found) + + consAddr, err := validator.GetConsAddr() + require.NoError(t, err) + require.Equal(t, consAddr.String(), sdk.ConsAddress(testCase.newPubKey.Address()).String()) + + // consensus rotation history set check + historyObjects := stakingKeeper.GetValidatorConsPubKeyRotationHistory(ctx, testCase.validator) + require.Len(t, historyObjects, 1) + historyObjects = stakingKeeper.GetBlockConsPubKeyRotationHistory(ctx, ctx.BlockHeight()) + require.Len(t, historyObjects, 1) + } else { + require.Error(t, err) + } + }) + } +} diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index 01c468edb6c7..31ff487ce966 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -526,7 +526,7 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC rotationFee := k.ConsPubKeyRotationFee(ctx) sender := sdk.AccAddress(valAddr) - err = k.Keeper.bankKeeper.SendCoinsFromAccountToModule(ctx, sender, distrtypes.ModuleName, sdk.Coins{rotationFee}) + err = k.Keeper.bankKeeper.SendCoinsFromAccountToModule(ctx, sender, distrtypes.ModuleName, sdk.NewCoins(rotationFee)) if err != nil { return nil, err } diff --git a/x/staking/types/params.go b/x/staking/types/params.go index 58ba8e03c765..c9505a23c391 100644 --- a/x/staking/types/params.go +++ b/x/staking/types/params.go @@ -230,14 +230,14 @@ func validateMinCommissionRate(i interface{}) error { } func validateMaxConsPubkey(i interface{}) error { - v, ok := i.(uint64) + _, ok := i.(uint64) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } - if v == 0 { - return fmt.Errorf("max cons pubkey rotations must be positive: %d", v) - } + // if v == 0 { + // return fmt.Errorf("max cons pubkey rotations must be positive: %d", v) + // } return nil } From 2598341b44f7fe07528c2d3a4e37183270886980 Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 8 Mar 2023 20:11:34 +0530 Subject: [PATCH 022/106] fix tests --- .../staking/keeper/msg_server_test.go | 82 ++++++++++--------- x/staking/types/params.go | 8 +- 2 files changed, 46 insertions(+), 44 deletions(-) diff --git a/tests/integration/staking/keeper/msg_server_test.go b/tests/integration/staking/keeper/msg_server_test.go index aeb3f711f88b..d672453a7b95 100644 --- a/tests/integration/staking/keeper/msg_server_test.go +++ b/tests/integration/staking/keeper/msg_server_test.go @@ -217,6 +217,7 @@ func TestRotateConsPubKey(t *testing.T) { validator sdk.ValAddress newPubKey cryptotypes.PubKey rotationLimit uint64 + expErrMsg string }{ { Name: "not existing validator check", @@ -225,66 +226,67 @@ func TestRotateConsPubKey(t *testing.T) { newPubKey: pks[1], rotationLimit: 10, Pass: false, + expErrMsg: "validator does not exist", }, { - Name: "consensus pubkey rotation limit check", + Name: "successful consensus pubkey rotation", sender: addrs[0], validator: val1.GetOperator(), newPubKey: pks[1], - rotationLimit: 0, - Pass: false, + rotationLimit: 1, + Pass: true, }, { - Name: "successful consensus pubkey rotation", + Name: "consensus pubkey rotation limit check", sender: addrs[0], validator: val1.GetOperator(), - newPubKey: pks[1], - rotationLimit: 10, - Pass: true, + newPubKey: PKs[498], + rotationLimit: 1, + Pass: false, + expErrMsg: "exceeding maximum consensus pubkey rotations", }, } for _, testCase := range testCases { - t.Run(testCase.Name, func(t *testing.T) { - params := stakingKeeper.GetParams(ctx) - params.ConsPubkeyRotationFee = sdk.NewInt64Coin(bondDenom, 1000) - params.MaxConsPubkeyRotations = testCase.rotationLimit - err := stakingKeeper.SetParams(ctx, params) - require.NoError(t, err) + params := stakingKeeper.GetParams(ctx) + params.ConsPubkeyRotationFee = sdk.NewInt64Coin(bondDenom, 1000) + params.MaxConsPubkeyRotations = testCase.rotationLimit + err := stakingKeeper.SetParams(ctx, params) + require.NoError(t, err) - oldDistrBalance := bankKeeper.GetBalance(ctx, accountKeeper.GetModuleAddress(distrtypes.ModuleName), bondDenom) - msg, err := types.NewMsgRotateConsPubKey( - sdk.ValAddress(testCase.sender), - testCase.newPubKey, - ) - require.NoError(t, err) + oldDistrBalance := bankKeeper.GetBalance(ctx, accountKeeper.GetModuleAddress(distrtypes.ModuleName), bondDenom) + msg, err := types.NewMsgRotateConsPubKey( + sdk.ValAddress(testCase.sender), + testCase.newPubKey, + ) + require.NoError(t, err) - _, err = msgServer.RotateConsPubKey(ctx, msg) + _, err = msgServer.RotateConsPubKey(ctx, msg) - if testCase.Pass { + if testCase.Pass { - require.NoError(t, err) + require.NoError(t, err) - // rotation fee payment from sender to distrtypes - newDistrBalance := bankKeeper.GetBalance(ctx, accountKeeper.GetModuleAddress(distrtypes.ModuleName), bondDenom) - require.Equal(t, newDistrBalance, oldDistrBalance.Add(params.ConsPubkeyRotationFee)) + // rotation fee payment from sender to distrtypes + newDistrBalance := bankKeeper.GetBalance(ctx, accountKeeper.GetModuleAddress(distrtypes.ModuleName), bondDenom) + require.Equal(t, newDistrBalance, oldDistrBalance.Add(params.ConsPubkeyRotationFee)) - // validator consensus pubkey update check - validator, found := stakingKeeper.GetValidator(ctx, testCase.validator) - require.True(t, found) + // validator consensus pubkey update check + validator, found := stakingKeeper.GetValidator(ctx, testCase.validator) + require.True(t, found) - consAddr, err := validator.GetConsAddr() - require.NoError(t, err) - require.Equal(t, consAddr.String(), sdk.ConsAddress(testCase.newPubKey.Address()).String()) + consAddr, err := validator.GetConsAddr() + require.NoError(t, err) + require.Equal(t, consAddr.String(), sdk.ConsAddress(testCase.newPubKey.Address()).String()) - // consensus rotation history set check - historyObjects := stakingKeeper.GetValidatorConsPubKeyRotationHistory(ctx, testCase.validator) - require.Len(t, historyObjects, 1) - historyObjects = stakingKeeper.GetBlockConsPubKeyRotationHistory(ctx, ctx.BlockHeight()) - require.Len(t, historyObjects, 1) - } else { - require.Error(t, err) - } - }) + // consensus rotation history set check + historyObjects := stakingKeeper.GetValidatorConsPubKeyRotationHistory(ctx, testCase.validator) + require.Len(t, historyObjects, 1) + historyObjects = stakingKeeper.GetBlockConsPubKeyRotationHistory(ctx, ctx.BlockHeight()) + require.Len(t, historyObjects, 1) + } else { + require.Error(t, err) + require.Equal(t, err.Error(), testCase.expErrMsg) + } } } diff --git a/x/staking/types/params.go b/x/staking/types/params.go index c9505a23c391..58ba8e03c765 100644 --- a/x/staking/types/params.go +++ b/x/staking/types/params.go @@ -230,14 +230,14 @@ func validateMinCommissionRate(i interface{}) error { } func validateMaxConsPubkey(i interface{}) error { - _, ok := i.(uint64) + v, ok := i.(uint64) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } - // if v == 0 { - // return fmt.Errorf("max cons pubkey rotations must be positive: %d", v) - // } + if v == 0 { + return fmt.Errorf("max cons pubkey rotations must be positive: %d", v) + } return nil } From 9d47d8a67bf142edf9531e4ec8087bd953ed4dfa Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 9 Mar 2023 16:16:00 +0530 Subject: [PATCH 023/106] fix tests --- .../staking/keeper/determinstic_test.go | 38 ++++++++++--------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/tests/integration/staking/keeper/determinstic_test.go b/tests/integration/staking/keeper/determinstic_test.go index 23fb54c81490..f9aad391cbdd 100644 --- a/tests/integration/staking/keeper/determinstic_test.go +++ b/tests/integration/staking/keeper/determinstic_test.go @@ -322,7 +322,7 @@ func TestGRPCValidatorDelegations(t *testing.T) { ValidatorAddr: validator.OperatorAddress, } - testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.ValidatorDelegations, 11985, false) + testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.ValidatorDelegations, 12165, false) } func TestGRPCValidatorUnbondingDelegations(t *testing.T) { @@ -401,7 +401,7 @@ func TestGRPCDelegation(t *testing.T) { DelegatorAddr: delegator1, } - testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.Delegation, 4635, false) + testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.Delegation, 4695, false) } func TestGRPCUnbondingDelegation(t *testing.T) { @@ -474,7 +474,7 @@ func TestGRPCDelegatorDelegations(t *testing.T) { DelegatorAddr: delegator1, } - testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.DelegatorDelegations, 4238, false) + testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.DelegatorDelegations, 4298, false) } func TestGRPCDelegatorValidator(t *testing.T) { @@ -653,7 +653,7 @@ func TestGRPCPool(t *testing.T) { f = initDeterministicFixture(t) // reset getStaticValidator(f, t) - testdata.DeterministicIterations(f.ctx, t, &stakingtypes.QueryPoolRequest{}, f.queryClient.Pool, 6185, false) + testdata.DeterministicIterations(f.ctx, t, &stakingtypes.QueryPoolRequest{}, f.queryClient.Pool, 6245, false) } func TestGRPCRedelegations(t *testing.T) { @@ -727,12 +727,14 @@ func TestGRPCParams(t *testing.T) { rapid.Check(t, func(rt *rapid.T) { params := stakingtypes.Params{ - BondDenom: rapid.StringMatching(sdk.DefaultCoinDenomRegex()).Draw(rt, "bond-denom"), - UnbondingTime: durationGenerator().Draw(rt, "duration"), - MaxValidators: rapid.Uint32Min(1).Draw(rt, "max-validators"), - MaxEntries: rapid.Uint32Min(1).Draw(rt, "max-entries"), - HistoricalEntries: rapid.Uint32Min(1).Draw(rt, "historical-entries"), - MinCommissionRate: sdk.NewDecWithPrec(rapid.Int64Range(0, 100).Draw(rt, "commission"), 2), + BondDenom: rapid.StringMatching(sdk.DefaultCoinDenomRegex()).Draw(rt, "bond-denom"), + UnbondingTime: durationGenerator().Draw(rt, "duration"), + MaxValidators: rapid.Uint32Min(1).Draw(rt, "max-validators"), + MaxEntries: rapid.Uint32Min(1).Draw(rt, "max-entries"), + HistoricalEntries: rapid.Uint32Min(1).Draw(rt, "historical-entries"), + MinCommissionRate: sdk.NewDecWithPrec(rapid.Int64Range(0, 100).Draw(rt, "commission"), 2), + MaxConsPubkeyRotations: rapid.Uint64Range(1, 10).Draw(rt, "max-pubkey-rotations"), + ConsPubkeyRotationFee: sdk.NewCoin(sdk.DefaultBondDenom, math.NewIntFromUint64(rapid.Uint64Range(1000, 1000000).Draw(rt, "cons-pubkey-rotation-fee"))), } err := f.stakingKeeper.SetParams(f.ctx, params) @@ -742,16 +744,18 @@ func TestGRPCParams(t *testing.T) { }) params := stakingtypes.Params{ - BondDenom: "denom", - UnbondingTime: time.Hour, - MaxValidators: 85, - MaxEntries: 5, - HistoricalEntries: 5, - MinCommissionRate: sdk.NewDecWithPrec(5, 2), + BondDenom: "denom", + UnbondingTime: time.Hour, + MaxValidators: 85, + MaxEntries: 5, + HistoricalEntries: 5, + MinCommissionRate: sdk.NewDecWithPrec(5, 2), + MaxConsPubkeyRotations: 5, + ConsPubkeyRotationFee: sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(1000)), } err := f.stakingKeeper.SetParams(f.ctx, params) assert.NilError(t, err) - testdata.DeterministicIterations(f.ctx, t, &stakingtypes.QueryParamsRequest{}, f.queryClient.Params, 1114, false) + testdata.DeterministicIterations(f.ctx, t, &stakingtypes.QueryParamsRequest{}, f.queryClient.Params, 1165, false) } From d15dd71640140bf352526f880418cb6dc0e2c257 Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 9 Mar 2023 17:39:41 +0530 Subject: [PATCH 024/106] add simulation tests --- x/staking/simulation/operations.go | 57 +++++++++++++++++++++++++ x/staking/simulation/operations_test.go | 24 +++++++++++ 2 files changed, 81 insertions(+) diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index 18794553b037..62307a3cbfb4 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -26,6 +26,7 @@ const ( DefaultWeightMsgUndelegate int = 100 DefaultWeightMsgBeginRedelegate int = 100 DefaultWeightMsgCancelUnbondingDelegation int = 100 + DefaultWeightMsgRotateConsPubKey int = 100 OpWeightMsgCreateValidator = "op_weight_msg_create_validator" OpWeightMsgEditValidator = "op_weight_msg_edit_validator" @@ -33,6 +34,7 @@ const ( OpWeightMsgUndelegate = "op_weight_msg_undelegate" OpWeightMsgBeginRedelegate = "op_weight_msg_begin_redelegate" OpWeightMsgCancelUnbondingDelegation = "op_weight_msg_cancel_unbonding_delegation" + OpWeightMsgRotateConsPubKey = "op_weight_msg_rotate_cons_pubkey" ) // WeightedOperations returns all the operations from the module with their respective weights @@ -47,6 +49,7 @@ func WeightedOperations( weightMsgUndelegate int weightMsgBeginRedelegate int weightMsgCancelUnbondingDelegation int + weightMsgRotateConsPubKey int ) appParams.GetOrGenerate(cdc, OpWeightMsgCreateValidator, &weightMsgCreateValidator, nil, @@ -85,6 +88,12 @@ func WeightedOperations( }, ) + appParams.GetOrGenerate(cdc, OpWeightMsgRotateConsPubKey, &weightMsgRotateConsPubKey, nil, + func(_ *rand.Rand) { + weightMsgRotateConsPubKey = DefaultWeightMsgRotateConsPubKey + }, + ) + return simulation.WeightedOperations{ simulation.NewWeightedOperation( weightMsgCreateValidator, @@ -579,3 +588,51 @@ func SimulateMsgBeginRedelegate(ak types.AccountKeeper, bk types.BankKeeper, k * return simulation.GenAndDeliverTxWithRandFees(txCtx) } } + +func SimulateMsgRotateConsPubKey(ak types.AccountKeeper, bk types.BankKeeper, k *keeper.Keeper) simtypes.Operation { + return func( + r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, + ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { + msgType := sdk.MsgTypeURL(&types.MsgRotateConsPubKey{}) + + if len(k.GetAllValidators(ctx)) == 0 { + return simtypes.NoOpMsg(types.ModuleName, msgType, "number of validators equal zero"), nil, nil + } + + val, ok := testutil.RandSliceElem(r, k.GetAllValidators(ctx)) + if !ok { + return simtypes.NoOpMsg(types.ModuleName, msgType, "unable to pick a validator"), nil, nil + } + + address := val.GetOperator() + acc := simtypes.RandomAccounts(r, 1)[0] + + simAccount, found := simtypes.FindAccount(accs, sdk.AccAddress(val.GetOperator())) + if !found { + return simtypes.NoOpMsg(types.ModuleName, msgType, "unable to find account"), nil, fmt.Errorf("validator %s not found", val.GetOperator()) + } + account := ak.GetAccount(ctx, simAccount.Address) + spendable := bk.SpendableCoins(ctx, account.GetAddress()) + + msg, err := types.NewMsgRotateConsPubKey(address, acc.PubKey) + if err != nil { + return simtypes.NoOpMsg(types.ModuleName, msgType, "unable build msg"), nil, err + } + + txCtx := simulation.OperationInput{ + R: r, + App: app, + TxGen: moduletestutil.MakeTestEncodingConfig().TxConfig, + Cdc: nil, + Msg: msg, + Context: ctx, + SimAccount: simAccount, + AccountKeeper: ak, + Bankkeeper: bk, + ModuleName: types.ModuleName, + CoinsSpentInMsg: spendable, + } + + return simulation.GenAndDeliverTxWithRandFees(txCtx) + } +} diff --git a/x/staking/simulation/operations_test.go b/x/staking/simulation/operations_test.go index 2ccfe937d738..16ad40aff7d3 100644 --- a/x/staking/simulation/operations_test.go +++ b/x/staking/simulation/operations_test.go @@ -220,6 +220,30 @@ func (s *SimTestSuite) TestSimulateMsgCancelUnbondingDelegation() { require.Len(futureOperations, 0) } +func (s *SimTestSuite) TestSimulateRotateConsPubKey() { + require := s.Require() + blockTime := time.Now().UTC() + ctx := s.ctx.WithBlockTime(blockTime) + + _ = s.getTestingValidator0(ctx) + + // begin a new block + s.app.BeginBlock(abci.RequestBeginBlock{Header: cmtproto.Header{Height: s.app.LastBlockHeight() + 1, AppHash: s.app.LastCommitID().Hash, Time: blockTime}}) + + // execute operation + op := simulation.SimulateMsgRotateConsPubKey(s.accountKeeper, s.bankKeeper, s.stakingKeeper) + operationMsg, futureOperations, err := op(s.r, s.app.BaseApp, ctx, s.accounts, "") + require.NoError(err) + + var msg types.MsgRotateConsPubKey + types.ModuleCdc.UnmarshalJSON(operationMsg.Msg, &msg) + + require.True(operationMsg.OK) + require.Equal(sdk.MsgTypeURL(&types.MsgRotateConsPubKey{}), sdk.MsgTypeURL(&msg)) + require.Equal("cosmosvaloper1p8wcgrjr4pjju90xg6u9cgq55dxwq8j7epjs3u", msg.ValidatorAddress) + require.Len(futureOperations, 0) +} + // TestSimulateMsgEditValidator tests the normal scenario of a valid message of type TypeMsgEditValidator. // Abonormal scenarios, where the message is created by an errors are not tested here. func (s *SimTestSuite) TestSimulateMsgEditValidator() { From b24266520a0674457e975c50825f427b4682c084 Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 9 Mar 2023 19:06:54 +0530 Subject: [PATCH 025/106] fix sims --- x/staking/simulation/genesis.go | 32 +++++++++++++++++--------------- x/staking/types/params.go | 4 ++-- x/staking/types/params_test.go | 4 ---- 3 files changed, 19 insertions(+), 21 deletions(-) diff --git a/x/staking/simulation/genesis.go b/x/staking/simulation/genesis.go index dcdac7485bef..6c52a9d4e313 100644 --- a/x/staking/simulation/genesis.go +++ b/x/staking/simulation/genesis.go @@ -14,9 +14,11 @@ import ( // Simulation parameter constants const ( - unbondingTime = "unbonding_time" - maxValidators = "max_validators" - historicalEntries = "historical_entries" + unbondingTime = "unbonding_time" + maxValidators = "max_validators" + historicalEntries = "historical_entries" + maxConsPubkeyRotations = "max_cons_pubkey_rotations" + consPubkeyRotationFee = "cons_pubkey_rotation_fee" ) // genUnbondingTime returns randomized UnbondingTime @@ -41,19 +43,19 @@ func getConsPubKeyRotationFee(r *rand.Rand) sdk.Coin { // getMaxConsPubKeyRotations returns randomized maxConsPubKeyRotations between 1-10. func getMaxConsPubKeyRotations(r *rand.Rand) uint64 { - return uint64(r.Intn(int(types.DefaultMaxConsPubKeyRotations + 1))) + return uint64(r.Intn(int(types.DefaultMaxConsPubKeyRotations)) + 1) } // RandomizedGenState generates a random GenesisState for staking func RandomizedGenState(simState *module.SimulationState) { // params var ( - unbondTime time.Duration - maxVals uint32 - histEntries uint32 - minCommissionRate sdk.Dec - maxConsPubKeyRotations uint64 - consPubKeyRotationFee sdk.Coin + unbondTime time.Duration + maxVals uint32 + histEntries uint32 + minCommissionRate sdk.Dec + maxConsKeyRotations uint64 + rotationFee sdk.Coin ) simState.AppParams.GetOrGenerate( @@ -72,19 +74,19 @@ func RandomizedGenState(simState *module.SimulationState) { ) simState.AppParams.GetOrGenerate( - simState.Cdc, historicalEntries, &histEntries, simState.Rand, - func(r *rand.Rand) { maxConsPubKeyRotations = getMaxConsPubKeyRotations(r) }, + simState.Cdc, maxConsPubkeyRotations, &histEntries, simState.Rand, + func(r *rand.Rand) { maxConsKeyRotations = getMaxConsPubKeyRotations(r) }, ) simState.AppParams.GetOrGenerate( - simState.Cdc, historicalEntries, &histEntries, simState.Rand, - func(r *rand.Rand) { consPubKeyRotationFee = getConsPubKeyRotationFee(r) }, + simState.Cdc, consPubkeyRotationFee, &histEntries, simState.Rand, + func(r *rand.Rand) { rotationFee = getConsPubKeyRotationFee(r) }, ) // NOTE: the slashing module need to be defined after the staking module on the // NewSimulationManager constructor for this to work simState.UnbondTime = unbondTime - params := types.NewParams(simState.UnbondTime, maxVals, 7, histEntries, simState.BondDenom, minCommissionRate, maxConsPubKeyRotations, consPubKeyRotationFee) + params := types.NewParams(simState.UnbondTime, maxVals, 7, histEntries, simState.BondDenom, minCommissionRate, maxConsKeyRotations, rotationFee) // validators & delegations var ( diff --git a/x/staking/types/params.go b/x/staking/types/params.go index 58ba8e03c765..0a21cfc111e4 100644 --- a/x/staking/types/params.go +++ b/x/staking/types/params.go @@ -121,7 +121,7 @@ func (p Params) Validate() error { return err } - if err := validateMaxConsPubkey(p.MaxConsPubkeyRotations); err != nil { + if err := validateMaxConsPubkeyRotations(p.MaxConsPubkeyRotations); err != nil { return err } @@ -229,7 +229,7 @@ func validateMinCommissionRate(i interface{}) error { return nil } -func validateMaxConsPubkey(i interface{}) error { +func validateMaxConsPubkeyRotations(i interface{}) error { v, ok := i.(uint64) if !ok { return fmt.Errorf("invalid parameter type: %T", i) diff --git a/x/staking/types/params_test.go b/x/staking/types/params_test.go index 1bdeb90908e7..6270f66530d6 100644 --- a/x/staking/types/params_test.go +++ b/x/staking/types/params_test.go @@ -39,10 +39,6 @@ func TestValidateParams(t *testing.T) { // reset params to default params = types.DefaultParams() - // check MaxConsPubKeyRotations - params.MaxConsPubkeyRotations = 0 - require.Error(t, params.Validate()) - // check ConsPubkeyRotationFee params.ConsPubkeyRotationFee = coinZero require.Error(t, params.Validate()) From e1e507bfb963c4c0581fb6d2279701daa4330733 Mon Sep 17 00:00:00 2001 From: atheesh Date: Fri, 10 Mar 2023 15:58:32 +0530 Subject: [PATCH 026/106] proto --- proto/cosmos/staking/v1beta1/staking.proto | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/proto/cosmos/staking/v1beta1/staking.proto b/proto/cosmos/staking/v1beta1/staking.proto index 575d89520c3d..c3b80eccbf2d 100644 --- a/proto/cosmos/staking/v1beta1/staking.proto +++ b/proto/cosmos/staking/v1beta1/staking.proto @@ -323,7 +323,10 @@ message Params { // max_cons_pubkey_rotations is maximum number of consensus pubkey rotations uint64 max_cons_pubkey_rotations = 7; // cons_pubkey_rotation_fee is fee to be spent when rotating validator's consensus pubkey - cosmos.base.v1beta1.Coin cons_pubkey_rotation_fee = 8 [(gogoproto.nullable) = false]; + cosmos.base.v1beta1.Coin cons_pubkey_rotation_fee = 8 [ + (gogoproto.nullable) = false, + (amino.dont_omitempty) = true, + ]; } // DelegationResponse is equivalent to Delegation except that it contains a From 48de6569787de4eca47c43f04cf97f9b2d4d514a Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Fri, 10 Mar 2023 10:59:28 +0000 Subject: [PATCH 027/106] proto-gen --- api/cosmos/app/v1alpha1/module.pulsar.go | 2 +- api/cosmos/staking/v1beta1/staking.pulsar.go | 244 ++-- api/cosmos/staking/v1beta1/tx_grpc.pb.go | 5 +- proto/cosmos/staking/v1beta1/staking.proto | 2 +- x/staking/types/staking.pb.go | 1375 +++++++++--------- 5 files changed, 814 insertions(+), 814 deletions(-) diff --git a/api/cosmos/app/v1alpha1/module.pulsar.go b/api/cosmos/app/v1alpha1/module.pulsar.go index 914894677e5d..9d17b5460a9e 100644 --- a/api/cosmos/app/v1alpha1/module.pulsar.go +++ b/api/cosmos/app/v1alpha1/module.pulsar.go @@ -1698,7 +1698,7 @@ type PackageReference struct { // // When a new version of a module is released and items are added to existing // .proto files, these definitions should contain comments of the form - // "Since Revision N" where N is an integer revision. + // "Since: Revision N" where N is an integer revision. // // When the module runtime starts up, it will check the pinned proto // image and panic if there are runtime protobuf definitions that are not diff --git a/api/cosmos/staking/v1beta1/staking.pulsar.go b/api/cosmos/staking/v1beta1/staking.pulsar.go index 128fafd8fbd4..5f77573bfd20 100644 --- a/api/cosmos/staking/v1beta1/staking.pulsar.go +++ b/api/cosmos/staking/v1beta1/staking.pulsar.go @@ -15149,7 +15149,7 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, - 0xbc, 0x04, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x75, 0x6e, + 0xc1, 0x04, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0xc8, @@ -15176,131 +15176,131 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x73, 0x50, - 0x75, 0x62, 0x6b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x58, + 0x75, 0x62, 0x6b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, - 0x00, 0x52, 0x15, 0x63, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x52, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x3a, 0x24, 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, - 0xb0, 0x2a, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, - 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xa9, - 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, + 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x15, 0x63, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, + 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x3a, 0x24, 0xe8, + 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, + 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x50, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x64, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0a, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x07, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, + 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, + 0xde, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, + 0x12, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, + 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, - 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, - 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, - 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xde, 0x01, 0x0a, 0x19, 0x52, - 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x12, 0x72, 0x65, 0x64, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, - 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x72, 0x65, 0x64, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x56, 0x0a, - 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, - 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, - 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x07, 0x62, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0xc9, 0x01, 0x0a, 0x14, - 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x07, 0x65, 0x6e, 0x74, - 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x09, 0xc8, - 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, - 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x8e, 0x02, 0x0a, 0x04, 0x50, 0x6f, 0x6f, 0x6c, - 0x12, 0x82, 0x01, 0x0a, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x56, 0xc8, 0xde, - 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, - 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x11, - 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, - 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0f, 0x6e, 0x6f, 0x74, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x77, 0x0a, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x52, 0xc8, 0xde, - 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, - 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x0d, - 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, - 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, - 0x52, 0x0c, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x3a, 0x08, - 0xe8, 0xa0, 0x1f, 0x01, 0xf0, 0xa0, 0x1f, 0x01, 0x22, 0x59, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x07, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, - 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x22, 0xf3, 0x02, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, - 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, - 0x79, 0x12, 0x46, 0x0a, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xf2, 0xde, 0x1f, - 0x17, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x52, 0x0f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x75, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, - 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x37, 0xf2, 0xde, 0x1f, 0x1b, 0x79, 0x61, - 0x6d, 0x6c, 0x3a, 0x22, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, - 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x22, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, - 0x79, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, - 0x12, 0x75, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, - 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, - 0x37, 0xf2, 0xde, 0x1f, 0x1b, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6e, 0x65, 0x77, 0x5f, 0x63, - 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x22, - 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, - 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, - 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x2a, 0xb6, 0x01, 0x0a, 0x0a, 0x42, 0x6f, - 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x17, 0x42, 0x4f, 0x4e, 0x44, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, 0x55, 0x6e, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x14, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, - 0x1a, 0x0c, 0x8a, 0x9d, 0x20, 0x08, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x28, - 0x0a, 0x15, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, - 0x42, 0x4f, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x1a, 0x0d, 0x8a, 0x9d, 0x20, 0x09, 0x55, - 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x12, 0x42, 0x4f, 0x4e, 0x44, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x03, - 0x1a, 0x0a, 0x8a, 0x9d, 0x20, 0x06, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x1a, 0x04, 0x88, 0xa3, - 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, - 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, - 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x46, 0x52, - 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, - 0x02, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, - 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, - 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, - 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, + 0x11, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x56, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x3c, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, + 0x74, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, + 0x22, 0xc9, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x72, 0x65, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, + 0x52, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, + 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, + 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x8e, 0x02, 0x0a, + 0x04, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, + 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x56, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, + 0x74, 0xea, 0xde, 0x1f, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0f, 0x6e, 0x6f, 0x74, 0x42, 0x6f, + 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x77, 0x0a, 0x0d, 0x62, 0x6f, + 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x52, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, + 0x74, 0xea, 0xde, 0x1f, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, + 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x73, 0x3a, 0x08, 0xe8, 0xa0, 0x1f, 0x01, 0xf0, 0xa0, 0x1f, 0x01, 0x22, 0x59, 0x0a, + 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x73, 0x12, 0x45, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, + 0x61, 0x62, 0x63, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, + 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0xf3, 0x02, 0x0a, 0x19, 0x43, 0x6f, 0x6e, + 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x1b, 0xf2, 0xde, 0x1f, 0x17, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x52, 0x0f, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x75, + 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, + 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x37, 0xf2, + 0xde, 0x1f, 0x1b, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, + 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x22, 0xca, 0xb4, + 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, + 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x50, + 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x75, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, + 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x37, 0xf2, 0xde, 0x1f, 0x1b, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, + 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x70, 0x75, + 0x62, 0x6b, 0x65, 0x79, 0x22, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x6e, + 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, + 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x2a, 0xb6, + 0x01, 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, + 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, + 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x14, 0x42, + 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, + 0x44, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, 0x9d, 0x20, 0x08, 0x55, 0x6e, 0x62, 0x6f, 0x6e, + 0x64, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x1a, 0x0d, + 0x8a, 0x9d, 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, + 0x12, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x4e, + 0x44, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, 0x9d, 0x20, 0x06, 0x42, 0x6f, 0x6e, 0x64, 0x65, + 0x64, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, + 0x13, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, + 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, + 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, + 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/api/cosmos/staking/v1beta1/tx_grpc.pb.go b/api/cosmos/staking/v1beta1/tx_grpc.pb.go index 15febdbd1d92..b470a1ab3ed2 100644 --- a/api/cosmos/staking/v1beta1/tx_grpc.pb.go +++ b/api/cosmos/staking/v1beta1/tx_grpc.pb.go @@ -26,6 +26,7 @@ const ( Msg_Undelegate_FullMethodName = "/cosmos.staking.v1beta1.Msg/Undelegate" Msg_CancelUnbondingDelegation_FullMethodName = "/cosmos.staking.v1beta1.Msg/CancelUnbondingDelegation" Msg_UpdateParams_FullMethodName = "/cosmos.staking.v1beta1.Msg/UpdateParams" + Msg_RotateConsPubKey_FullMethodName = "/cosmos.staking.v1beta1.Msg/RotateConsPubKey" ) // MsgClient is the client API for Msg service. @@ -133,7 +134,7 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts func (c *msgClient) RotateConsPubKey(ctx context.Context, in *MsgRotateConsPubKey, opts ...grpc.CallOption) (*MsgRotateConsPubKeyResponse, error) { out := new(MsgRotateConsPubKeyResponse) - err := c.cc.Invoke(ctx, "/cosmos.staking.v1beta1.Msg/RotateConsPubKey", in, out, opts...) + err := c.cc.Invoke(ctx, Msg_RotateConsPubKey_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -350,7 +351,7 @@ func _Msg_RotateConsPubKey_Handler(srv interface{}, ctx context.Context, dec fun } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/cosmos.staking.v1beta1.Msg/RotateConsPubKey", + FullMethod: Msg_RotateConsPubKey_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(MsgServer).RotateConsPubKey(ctx, req.(*MsgRotateConsPubKey)) diff --git a/proto/cosmos/staking/v1beta1/staking.proto b/proto/cosmos/staking/v1beta1/staking.proto index c3b80eccbf2d..5ecf520107ac 100644 --- a/proto/cosmos/staking/v1beta1/staking.proto +++ b/proto/cosmos/staking/v1beta1/staking.proto @@ -325,7 +325,7 @@ message Params { // cons_pubkey_rotation_fee is fee to be spent when rotating validator's consensus pubkey cosmos.base.v1beta1.Coin cons_pubkey_rotation_fee = 8 [ (gogoproto.nullable) = false, - (amino.dont_omitempty) = true, + (amino.dont_omitempty) = true ]; } diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index 55576d1b1c85..48801743d20d 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -1340,36 +1340,36 @@ func init() { } var fileDescriptor_64c30c6cf92913c9 = []byte{ - // 2033 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x3b, 0x6c, 0x23, 0xc7, - 0x19, 0xd6, 0x92, 0x34, 0x25, 0xfd, 0x94, 0x44, 0x6a, 0xee, 0x45, 0x51, 0x89, 0x48, 0xd3, 0x17, - 0x5b, 0x3e, 0xf8, 0xa8, 0x9c, 0x02, 0x24, 0x88, 0x62, 0x24, 0x10, 0x45, 0xc9, 0x47, 0x3f, 0x24, - 0x61, 0x29, 0x29, 0x76, 0x1e, 0x58, 0x0c, 0x77, 0x47, 0xd4, 0x46, 0xdc, 0x59, 0x62, 0x67, 0x78, - 0x27, 0xb6, 0x41, 0x0a, 0x43, 0x45, 0x62, 0x20, 0x4d, 0x9a, 0x03, 0x0e, 0x48, 0xe3, 0x74, 0x2e, - 0x8c, 0xb8, 0x48, 0x52, 0xa4, 0x73, 0x92, 0xe6, 0xe0, 0x2a, 0x48, 0xa1, 0x04, 0x77, 0x85, 0x8d, - 0x54, 0xc1, 0xa5, 0x4a, 0xaa, 0x60, 0x66, 0x67, 0x1f, 0x14, 0x45, 0x3d, 0x0e, 0x8a, 0x61, 0xc0, - 0x8d, 0xc4, 0x99, 0xf9, 0xff, 0x6f, 0xe6, 0x7f, 0xef, 0xff, 0xc3, 0x4d, 0xd3, 0x65, 0x8e, 0xcb, - 0x16, 0x18, 0xc7, 0xfb, 0x36, 0x6d, 0x2d, 0xdc, 0xbb, 0xd3, 0x24, 0x1c, 0xdf, 0x09, 0xd6, 0x95, - 0x8e, 0xe7, 0x72, 0x17, 0x5d, 0xf7, 0xa9, 0x2a, 0xc1, 0xae, 0xa2, 0x2a, 0x5c, 0x6d, 0xb9, 0x2d, - 0x57, 0x92, 0x2c, 0x88, 0x5f, 0x3e, 0x75, 0x61, 0xa6, 0xe5, 0xba, 0xad, 0x36, 0x59, 0x90, 0xab, - 0x66, 0x77, 0x77, 0x01, 0xd3, 0x9e, 0x3a, 0x9a, 0x3b, 0x7e, 0x64, 0x75, 0x3d, 0xcc, 0x6d, 0x97, - 0xaa, 0xf3, 0xe2, 0xf1, 0x73, 0x6e, 0x3b, 0x84, 0x71, 0xec, 0x74, 0x02, 0x6c, 0xff, 0x25, 0x86, - 0x7f, 0xa9, 0x7a, 0x96, 0xc2, 0x56, 0xa2, 0x34, 0x31, 0x23, 0xa1, 0x1c, 0xa6, 0x6b, 0x07, 0xd8, - 0xd3, 0xd8, 0xb1, 0xa9, 0xbb, 0x20, 0xff, 0xaa, 0xad, 0xaf, 0x70, 0x42, 0x2d, 0xe2, 0x39, 0x36, - 0xe5, 0x0b, 0xbc, 0xd7, 0x21, 0xcc, 0xff, 0xab, 0x4e, 0x67, 0x63, 0xa7, 0xb8, 0x69, 0xda, 0xf1, - 0xc3, 0xf2, 0x2f, 0x35, 0x98, 0xba, 0x6b, 0x33, 0xee, 0x7a, 0xb6, 0x89, 0xdb, 0x75, 0xba, 0xeb, - 0xa2, 0xef, 0x40, 0x7a, 0x8f, 0x60, 0x8b, 0x78, 0x79, 0xad, 0xa4, 0xcd, 0x67, 0x16, 0xf3, 0x95, - 0x08, 0xa0, 0xe2, 0xf3, 0xde, 0x95, 0xe7, 0xd5, 0xf1, 0x8f, 0x8f, 0x8a, 0x23, 0xef, 0x7f, 0xfa, - 0xc1, 0x2d, 0x4d, 0x57, 0x2c, 0xa8, 0x06, 0xe9, 0x7b, 0xb8, 0xcd, 0x08, 0xcf, 0x27, 0x4a, 0xc9, - 0xf9, 0xcc, 0xe2, 0xf3, 0x95, 0x93, 0x75, 0x5e, 0xd9, 0xc1, 0x6d, 0xdb, 0xc2, 0xdc, 0xed, 0x47, - 0xf1, 0x79, 0xcb, 0x1f, 0x25, 0x20, 0xbb, 0xe2, 0x3a, 0x8e, 0xcd, 0x98, 0xed, 0x52, 0x1d, 0x73, - 0xc2, 0xd0, 0x36, 0xa4, 0x3c, 0xcc, 0x89, 0x7c, 0xd4, 0x78, 0x75, 0x59, 0x30, 0xfd, 0xed, 0xa8, - 0xf8, 0x62, 0xcb, 0xe6, 0x7b, 0xdd, 0x66, 0xc5, 0x74, 0x1d, 0xa5, 0x46, 0xf5, 0xef, 0x36, 0xb3, - 0xf6, 0x95, 0xa4, 0x35, 0x62, 0x7e, 0xf2, 0xe1, 0x6d, 0x50, 0x0f, 0xa9, 0x11, 0xd3, 0xbf, 0x4c, - 0xc2, 0xa1, 0x1f, 0xc1, 0x98, 0x83, 0x0f, 0x0c, 0x09, 0x9d, 0xb8, 0x2c, 0xe8, 0x51, 0x07, 0x1f, - 0x88, 0x57, 0x23, 0x1b, 0xb2, 0x02, 0xdd, 0xdc, 0xc3, 0xb4, 0x45, 0xfc, 0x4b, 0x92, 0x97, 0x75, - 0xc9, 0xa4, 0x83, 0x0f, 0x56, 0x24, 0xb0, 0xb8, 0x6a, 0x29, 0xf5, 0xd9, 0xc3, 0xa2, 0x56, 0xfe, - 0xa3, 0x06, 0x10, 0x69, 0x0e, 0x61, 0xc8, 0x99, 0xe1, 0x4a, 0xde, 0xcf, 0x94, 0x55, 0x5f, 0x1a, + // 2029 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x3d, 0x6c, 0x23, 0xc7, + 0x15, 0xd6, 0x92, 0x34, 0x25, 0x3d, 0x4a, 0x22, 0x35, 0xf7, 0x47, 0x51, 0x89, 0x48, 0xd3, 0x17, + 0x5b, 0x3e, 0xf8, 0xa8, 0x9c, 0x02, 0x24, 0x88, 0x62, 0x24, 0x10, 0x45, 0xc9, 0x47, 0xff, 0x48, + 0xc2, 0x52, 0x52, 0xe2, 0x24, 0xc6, 0x62, 0xb8, 0x3b, 0xa2, 0x36, 0xe2, 0xce, 0x12, 0x3b, 0xc3, + 0x3b, 0xb1, 0x0d, 0x52, 0x18, 0x2a, 0x12, 0x03, 0x69, 0xd2, 0x1c, 0x70, 0x40, 0x1a, 0xa7, 0x73, + 0x61, 0xc4, 0x45, 0x90, 0xc2, 0x9d, 0x93, 0x34, 0x07, 0x57, 0x41, 0x0a, 0x25, 0xb8, 0x2b, 0x6c, + 0xa4, 0x0a, 0x2e, 0x55, 0x52, 0x05, 0x33, 0x3b, 0xfb, 0x43, 0x51, 0xd4, 0xcf, 0x41, 0x31, 0x0c, + 0xb8, 0x91, 0x38, 0x33, 0xef, 0x7d, 0x33, 0xef, 0x7f, 0xdf, 0x83, 0x9b, 0xa6, 0xcb, 0x1c, 0x97, + 0x2d, 0x30, 0x8e, 0xf7, 0x6d, 0xda, 0x5a, 0xb8, 0x77, 0xa7, 0x49, 0x38, 0xbe, 0x13, 0xac, 0x2b, + 0x1d, 0xcf, 0xe5, 0x2e, 0xba, 0xee, 0x53, 0x55, 0x82, 0x5d, 0x45, 0x55, 0xb8, 0xda, 0x72, 0x5b, + 0xae, 0x24, 0x59, 0x10, 0xbf, 0x7c, 0xea, 0xc2, 0x4c, 0xcb, 0x75, 0x5b, 0x6d, 0xb2, 0x20, 0x57, + 0xcd, 0xee, 0xee, 0x02, 0xa6, 0x3d, 0x75, 0x34, 0x77, 0xfc, 0xc8, 0xea, 0x7a, 0x98, 0xdb, 0x2e, + 0x55, 0xe7, 0xc5, 0xe3, 0xe7, 0xdc, 0x76, 0x08, 0xe3, 0xd8, 0xe9, 0x04, 0xd8, 0xfe, 0x4b, 0x0c, + 0xff, 0x52, 0xf5, 0x2c, 0x85, 0xad, 0x44, 0x69, 0x62, 0x46, 0x42, 0x39, 0x4c, 0xd7, 0x0e, 0xb0, + 0xa7, 0xb1, 0x63, 0x53, 0x77, 0x41, 0xfe, 0x55, 0x5b, 0x5f, 0xe3, 0x84, 0x5a, 0xc4, 0x73, 0x6c, + 0xca, 0x17, 0x78, 0xaf, 0x43, 0x98, 0xff, 0x57, 0x9d, 0xce, 0xc6, 0x4e, 0x71, 0xd3, 0xb4, 0xe3, + 0x87, 0xe5, 0x5f, 0x6b, 0x30, 0x75, 0xd7, 0x66, 0xdc, 0xf5, 0x6c, 0x13, 0xb7, 0xeb, 0x74, 0xd7, + 0x45, 0xdf, 0x83, 0xf4, 0x1e, 0xc1, 0x16, 0xf1, 0xf2, 0x5a, 0x49, 0x9b, 0xcf, 0x2c, 0xe6, 0x2b, + 0x11, 0x40, 0xc5, 0xe7, 0xbd, 0x2b, 0xcf, 0xab, 0xe3, 0x9f, 0x1c, 0x15, 0x47, 0xde, 0xff, 0xec, + 0x83, 0x5b, 0x9a, 0xae, 0x58, 0x50, 0x0d, 0xd2, 0xf7, 0x70, 0x9b, 0x11, 0x9e, 0x4f, 0x94, 0x92, + 0xf3, 0x99, 0xc5, 0xe7, 0x2b, 0x27, 0xeb, 0xbc, 0xb2, 0x83, 0xdb, 0xb6, 0x85, 0xb9, 0xdb, 0x8f, + 0xe2, 0xf3, 0x96, 0x3f, 0x4a, 0x40, 0x76, 0xc5, 0x75, 0x1c, 0x9b, 0x31, 0xdb, 0xa5, 0x3a, 0xe6, + 0x84, 0xa1, 0x6d, 0x48, 0x79, 0x98, 0x13, 0xf9, 0xa8, 0xf1, 0xea, 0xb2, 0x60, 0xfa, 0xdb, 0x51, + 0xf1, 0xc5, 0x96, 0xcd, 0xf7, 0xba, 0xcd, 0x8a, 0xe9, 0x3a, 0x4a, 0x8d, 0xea, 0xdf, 0x6d, 0x66, + 0xed, 0x2b, 0x49, 0x6b, 0xc4, 0xfc, 0xf4, 0xc3, 0xdb, 0xa0, 0x1e, 0x52, 0x23, 0xa6, 0x7f, 0x99, + 0x84, 0x43, 0x3f, 0x85, 0x31, 0x07, 0x1f, 0x18, 0x12, 0x3a, 0x71, 0x59, 0xd0, 0xa3, 0x0e, 0x3e, + 0x10, 0xaf, 0x46, 0x36, 0x64, 0x05, 0xba, 0xb9, 0x87, 0x69, 0x8b, 0xf8, 0x97, 0x24, 0x2f, 0xeb, + 0x92, 0x49, 0x07, 0x1f, 0xac, 0x48, 0x60, 0x71, 0xd5, 0x52, 0xea, 0xf3, 0x87, 0x45, 0xad, 0xfc, + 0xb1, 0x06, 0x10, 0x69, 0x0e, 0x61, 0xc8, 0x99, 0xe1, 0x4a, 0xde, 0xcf, 0x94, 0x55, 0x5f, 0x1a, 0x66, 0x98, 0x63, 0x7a, 0xaf, 0x4e, 0x8a, 0x97, 0x3e, 0x3a, 0x2a, 0x6a, 0xfe, 0xad, 0x59, 0xf3, 0x98, 0x5d, 0x5e, 0x87, 0x4c, 0xb7, 0x63, 0x61, 0x4e, 0x0c, 0xe1, 0xe4, 0x52, 0x87, 0x99, 0xc5, 0x42, 0xc5, 0x8f, 0x80, 0x4a, 0x10, 0x01, 0x95, 0xad, 0x20, 0x02, 0x7c, 0xc0, 0xf7, 0xfe, 0x1e, @@ -1380,11 +1380,11 @@ var fileDescriptor_64c30c6cf92913c9 = []byte{ 0x2e, 0xe5, 0xd8, 0xe4, 0xf9, 0x94, 0x24, 0xc9, 0x06, 0xfb, 0x2b, 0xfe, 0xb6, 0x00, 0xb1, 0x08, 0xc7, 0x76, 0x9b, 0xe5, 0x9f, 0xf3, 0x41, 0xd4, 0x52, 0x3d, 0xf5, 0xa3, 0x51, 0x18, 0x0f, 0x3d, 0x19, 0xad, 0x40, 0xce, 0xed, 0x10, 0x4f, 0xfc, 0x36, 0xb0, 0x65, 0x79, 0x84, 0x31, 0xe5, 0xae, - 0xf9, 0x4f, 0x3e, 0xbc, 0x7d, 0x55, 0x29, 0x7c, 0xd9, 0x3f, 0x69, 0x70, 0xcf, 0xa6, 0x2d, 0x3d, - 0x1b, 0x70, 0xa8, 0x6d, 0xf4, 0x8e, 0x30, 0x19, 0x65, 0x84, 0xb2, 0x2e, 0x33, 0x3a, 0xdd, 0xe6, + 0xf9, 0x4f, 0x3f, 0xbc, 0x7d, 0x55, 0x29, 0x7c, 0xd9, 0x3f, 0x69, 0x70, 0xcf, 0xa6, 0x2d, 0x3d, + 0x1b, 0x70, 0xa8, 0x6d, 0xf4, 0xb6, 0x30, 0x19, 0x65, 0x84, 0xb2, 0x2e, 0x33, 0x3a, 0xdd, 0xe6, 0x3e, 0xe9, 0x29, 0xa5, 0x5e, 0x1d, 0x50, 0xea, 0x32, 0xed, 0x55, 0xf3, 0x7f, 0x8e, 0xa0, 0x4d, 0xaf, 0xd7, 0xe1, 0x6e, 0x65, 0xb3, 0xdb, 0x7c, 0x83, 0xf4, 0x84, 0xa9, 0x14, 0xce, 0xa6, 0x84, - 0x41, 0xd7, 0x21, 0xfd, 0x13, 0x6c, 0xb7, 0x89, 0x25, 0x35, 0x32, 0xa6, 0xab, 0x15, 0x5a, 0x82, + 0x41, 0xd7, 0x21, 0xfd, 0x33, 0x6c, 0xb7, 0x89, 0x25, 0x35, 0x32, 0xa6, 0xab, 0x15, 0x5a, 0x82, 0x34, 0xe3, 0x98, 0x77, 0x99, 0x54, 0xc3, 0xd4, 0x62, 0x79, 0x98, 0x6f, 0x54, 0x5d, 0x6a, 0x35, 0x24, 0xa5, 0xae, 0x38, 0xd0, 0x16, 0xa4, 0xb9, 0xbb, 0x4f, 0xa8, 0x52, 0x50, 0xf5, 0xd5, 0x0b, 0x38, 0x76, 0x9d, 0xf2, 0x98, 0x63, 0xd7, 0x29, 0xd7, 0x15, 0x16, 0x6a, 0x41, 0xce, 0x22, 0x6d, @@ -1399,76 +1399,75 @@ var fileDescriptor_64c30c6cf92913c9 = []byte{ 0x75, 0xb8, 0xd4, 0xd8, 0x73, 0xdb, 0x96, 0xe1, 0x91, 0x5d, 0xc3, 0x74, 0xbb, 0x94, 0xe7, 0x27, 0xa4, 0x12, 0x6f, 0x84, 0x24, 0x1b, 0xf4, 0xae, 0xdb, 0xb6, 0x74, 0xb2, 0xbb, 0x22, 0x8e, 0xd1, 0x0b, 0x10, 0xe9, 0xc2, 0xb0, 0x2d, 0x96, 0x9f, 0x2c, 0x25, 0xe7, 0x53, 0xfa, 0x44, 0xb8, 0x59, - 0xb7, 0xd8, 0xd2, 0xd8, 0xbb, 0x0f, 0x8b, 0x23, 0x9f, 0x3d, 0x2c, 0x8e, 0x94, 0xd7, 0x60, 0x62, - 0x07, 0xb7, 0x55, 0xd0, 0x11, 0x86, 0xbe, 0x09, 0xe3, 0x38, 0x58, 0xe4, 0xb5, 0x52, 0xf2, 0xd4, + 0xb7, 0xd8, 0xd2, 0xd8, 0xbb, 0x0f, 0x8b, 0x23, 0x9f, 0x3f, 0x2c, 0x8e, 0x94, 0xd7, 0x60, 0x62, + 0x07, 0xb7, 0x55, 0xd0, 0x11, 0x86, 0xbe, 0x0d, 0xe3, 0x38, 0x58, 0xe4, 0xb5, 0x52, 0xf2, 0xd4, 0xa0, 0x8d, 0x48, 0xcb, 0x0f, 0x35, 0x48, 0xd7, 0x76, 0x36, 0xb1, 0xed, 0xa1, 0x55, 0x98, 0x8e, 0x9c, 0xf6, 0xbc, 0xf1, 0x1f, 0xf9, 0x79, 0x90, 0x00, 0x56, 0x61, 0xfa, 0x5e, 0x90, 0x52, 0x42, 0x98, 0xc4, 0x59, 0x30, 0x21, 0x8b, 0xda, 0x8f, 0x89, 0xfa, 0x3a, 0x8c, 0xfa, 0x2f, 0x64, 0xe8, - 0x7b, 0xf0, 0x5c, 0x47, 0xfc, 0x90, 0x12, 0x66, 0x16, 0xe7, 0x86, 0x3a, 0xba, 0xa4, 0x8f, 0xbb, + 0x07, 0xf0, 0x5c, 0x47, 0xfc, 0x90, 0x12, 0x66, 0x16, 0xe7, 0x86, 0x3a, 0xba, 0xa4, 0x8f, 0xbb, 0x85, 0xcf, 0x57, 0xfe, 0x8f, 0x06, 0x50, 0xdb, 0xd9, 0xd9, 0xf2, 0xec, 0x4e, 0x9b, 0xf0, 0xcb, 0x12, 0xf9, 0x4d, 0xb8, 0x16, 0x89, 0xcc, 0x3c, 0xf3, 0xdc, 0x62, 0x5f, 0x09, 0xd9, 0x1a, 0x9e, - 0x79, 0x22, 0x9a, 0xc5, 0x78, 0x88, 0x96, 0x3c, 0x37, 0x5a, 0x8d, 0xf1, 0x41, 0x3d, 0xbe, 0x0d, - 0x99, 0x48, 0x74, 0x86, 0xea, 0x30, 0xc6, 0xd5, 0x6f, 0xa5, 0xce, 0xf2, 0x70, 0x75, 0x06, 0x6c, - 0x71, 0x95, 0x86, 0xec, 0xe5, 0xff, 0x0a, 0xad, 0x46, 0x81, 0xf0, 0x85, 0x72, 0x24, 0x91, 0xe1, - 0x55, 0x06, 0x4e, 0x5e, 0x42, 0x06, 0x56, 0x58, 0x31, 0xb5, 0xfe, 0x2c, 0x01, 0x57, 0xb6, 0x83, - 0x20, 0xfd, 0xc2, 0x6a, 0x61, 0x1b, 0x46, 0x09, 0xe5, 0x9e, 0x2d, 0xd5, 0x20, 0x8c, 0xfd, 0xf5, - 0x61, 0xc6, 0x3e, 0x41, 0x96, 0x55, 0xca, 0xbd, 0x5e, 0xdc, 0xf4, 0x01, 0x56, 0x4c, 0x0d, 0x7f, - 0x48, 0x42, 0x7e, 0x18, 0x2b, 0x7a, 0x09, 0xb2, 0xa6, 0x47, 0xe4, 0x46, 0x50, 0x53, 0x34, 0x99, - 0x0e, 0xa7, 0x82, 0x6d, 0x55, 0x52, 0x74, 0x10, 0x1f, 0x68, 0xc2, 0xab, 0x04, 0xe9, 0xb3, 0x7d, - 0x91, 0x4d, 0x45, 0x08, 0xb2, 0xa8, 0x10, 0xc8, 0xda, 0xd4, 0xe6, 0x36, 0x6e, 0x1b, 0x4d, 0xdc, - 0xc6, 0xd4, 0x24, 0xcf, 0xe0, 0x09, 0x83, 0x15, 0x60, 0x4a, 0x81, 0x56, 0x7d, 0x4c, 0xb4, 0x03, - 0xa3, 0x01, 0x7c, 0xea, 0x12, 0xe0, 0x03, 0x30, 0xf4, 0x3c, 0x4c, 0xc4, 0x0b, 0x83, 0xfc, 0x4e, - 0x49, 0xe9, 0x99, 0x58, 0x5d, 0x38, 0xab, 0xf2, 0xa4, 0x4f, 0xad, 0x3c, 0xea, 0x53, 0xf0, 0x77, - 0x49, 0x98, 0xd6, 0x89, 0xf5, 0x25, 0x34, 0xdc, 0x0f, 0x01, 0xfc, 0xa0, 0x16, 0xc9, 0xf6, 0x19, - 0x6c, 0x37, 0x98, 0x24, 0xc6, 0x7d, 0xbc, 0x1a, 0xe3, 0x9f, 0x97, 0xf5, 0xfe, 0x92, 0x80, 0x89, - 0xb8, 0xf5, 0xbe, 0x04, 0x95, 0x0d, 0xad, 0x47, 0x29, 0x2d, 0x25, 0x53, 0xda, 0xcb, 0xc3, 0x52, - 0xda, 0x80, 0x5f, 0x9f, 0x91, 0xcb, 0x7e, 0x9f, 0x82, 0xf4, 0x26, 0xf6, 0xb0, 0xc3, 0xd0, 0xc6, - 0xc0, 0x37, 0xae, 0xdf, 0x7f, 0xce, 0x0c, 0xb8, 0x75, 0x4d, 0xcd, 0x50, 0x7c, 0xaf, 0xfe, 0xd5, - 0xb0, 0x4f, 0xdc, 0xaf, 0xc1, 0x94, 0x68, 0xa9, 0x43, 0x81, 0x7c, 0x55, 0x4e, 0xca, 0x76, 0x38, + 0x79, 0x22, 0x9a, 0xc5, 0x78, 0x88, 0x96, 0x3c, 0x37, 0x5a, 0x8d, 0xf1, 0x41, 0x3d, 0xfe, 0x08, + 0x32, 0x91, 0xe8, 0x0c, 0xd5, 0x61, 0x8c, 0xab, 0xdf, 0x4a, 0x9d, 0xe5, 0xe1, 0xea, 0x0c, 0xd8, + 0xe2, 0x2a, 0x0d, 0xd9, 0xcb, 0xff, 0x15, 0x5a, 0x8d, 0x02, 0xe1, 0x4b, 0xe5, 0x48, 0x22, 0xc3, + 0xab, 0x0c, 0x9c, 0xbc, 0x84, 0x0c, 0xac, 0xb0, 0x62, 0x6a, 0xfd, 0x45, 0x02, 0xae, 0x6c, 0x07, + 0x41, 0xfa, 0xa5, 0xd5, 0xc2, 0x36, 0x8c, 0x12, 0xca, 0x3d, 0x5b, 0xaa, 0x41, 0x18, 0xfb, 0x9b, + 0xc3, 0x8c, 0x7d, 0x82, 0x2c, 0xab, 0x94, 0x7b, 0xbd, 0xb8, 0xe9, 0x03, 0xac, 0x98, 0x1a, 0xfe, + 0x98, 0x84, 0xfc, 0x30, 0x56, 0xf4, 0x12, 0x64, 0x4d, 0x8f, 0xc8, 0x8d, 0xa0, 0xa6, 0x68, 0x32, + 0x1d, 0x4e, 0x05, 0xdb, 0xaa, 0xa4, 0xe8, 0x20, 0x3e, 0xd0, 0x84, 0x57, 0x09, 0xd2, 0x67, 0xfb, + 0x22, 0x9b, 0x8a, 0x10, 0x64, 0x51, 0x21, 0x90, 0xb5, 0xa9, 0xcd, 0x6d, 0xdc, 0x36, 0x9a, 0xb8, + 0x8d, 0xa9, 0x49, 0x9e, 0xc1, 0x13, 0x06, 0x2b, 0xc0, 0x94, 0x02, 0xad, 0xfa, 0x98, 0x68, 0x07, + 0x46, 0x03, 0xf8, 0xd4, 0x25, 0xc0, 0x07, 0x60, 0xe8, 0x79, 0x98, 0x88, 0x17, 0x06, 0xf9, 0x9d, + 0x92, 0xd2, 0x33, 0xb1, 0xba, 0x70, 0x56, 0xe5, 0x49, 0x9f, 0x5a, 0x79, 0xd4, 0xa7, 0xe0, 0x1f, + 0x92, 0x30, 0xad, 0x13, 0xeb, 0x2b, 0x68, 0xb8, 0x9f, 0x00, 0xf8, 0x41, 0x2d, 0x92, 0xed, 0x33, + 0xd8, 0x6e, 0x30, 0x49, 0x8c, 0xfb, 0x78, 0x35, 0xc6, 0xbf, 0x28, 0xeb, 0xfd, 0x25, 0x01, 0x13, + 0x71, 0xeb, 0x7d, 0x05, 0x2a, 0x1b, 0x5a, 0x8f, 0x52, 0x5a, 0x4a, 0xa6, 0xb4, 0x97, 0x87, 0xa5, + 0xb4, 0x01, 0xbf, 0x3e, 0x23, 0x97, 0x7d, 0x9c, 0x82, 0xf4, 0x26, 0xf6, 0xb0, 0xc3, 0xd0, 0xc6, + 0xc0, 0x37, 0xae, 0xdf, 0x7f, 0xce, 0x0c, 0xb8, 0x75, 0x4d, 0xcd, 0x50, 0x7c, 0xaf, 0xfe, 0xcd, + 0xb0, 0x4f, 0xdc, 0x6f, 0xc0, 0x94, 0x68, 0xa9, 0x43, 0x81, 0x7c, 0x55, 0x4e, 0xca, 0x76, 0x38, 0x6c, 0xc5, 0x18, 0x2a, 0x42, 0x46, 0x90, 0x45, 0x39, 0x5b, 0xd0, 0x80, 0x83, 0x0f, 0x56, 0xfd, 0x1d, 0x74, 0x1b, 0xd0, 0x5e, 0x38, 0xf8, 0x30, 0x22, 0x45, 0x08, 0xba, 0xe9, 0xe8, 0x24, 0x20, - 0xff, 0x2a, 0x80, 0x78, 0x85, 0x61, 0x11, 0xea, 0x3a, 0xaa, 0x19, 0x1c, 0x17, 0x3b, 0x35, 0xb1, - 0x81, 0x7e, 0xa1, 0xf9, 0x9f, 0xca, 0xc7, 0xba, 0x6d, 0xd5, 0xb4, 0x18, 0x17, 0x8b, 0x86, 0xa7, + 0xff, 0x3a, 0x80, 0x78, 0x85, 0x61, 0x11, 0xea, 0x3a, 0xaa, 0x19, 0x1c, 0x17, 0x3b, 0x35, 0xb1, + 0x81, 0x7e, 0xa5, 0xf9, 0x9f, 0xca, 0xc7, 0xba, 0x6d, 0xd5, 0xb4, 0x18, 0x17, 0x8b, 0x86, 0xa7, 0x47, 0xc5, 0x42, 0x0f, 0x3b, 0xed, 0xa5, 0xf2, 0x09, 0x90, 0xe5, 0x93, 0x66, 0x01, 0xe2, 0x6b, - 0xba, 0xbf, 0x71, 0x47, 0xdf, 0x86, 0x19, 0x39, 0x7a, 0x70, 0x69, 0xd0, 0x46, 0x1a, 0x9e, 0xcb, + 0xba, 0xbf, 0x71, 0x47, 0xdf, 0x85, 0x19, 0x39, 0x7a, 0x70, 0x69, 0xd0, 0x46, 0x1a, 0x9e, 0xcb, 0xa5, 0x86, 0x99, 0xec, 0x73, 0x52, 0xfa, 0x75, 0x07, 0x1f, 0xac, 0xb8, 0x54, 0xb5, 0x87, 0x7a, - 0x70, 0x8a, 0xde, 0x86, 0xfc, 0x49, 0x6c, 0xc6, 0x2e, 0x21, 0xb2, 0x95, 0x11, 0xd6, 0x53, 0x2f, - 0x68, 0x62, 0x46, 0x62, 0x0d, 0x85, 0x4d, 0xab, 0x29, 0x21, 0xab, 0x7e, 0xcd, 0x1c, 0xc0, 0x5d, - 0x23, 0x64, 0xe9, 0xa6, 0x08, 0xb6, 0xc3, 0x4f, 0x3f, 0xb8, 0x35, 0x1b, 0x93, 0xfb, 0x20, 0x1c, - 0xdb, 0xf9, 0x3e, 0x53, 0xfe, 0x8d, 0x06, 0x28, 0xaa, 0x80, 0x3a, 0x61, 0x1d, 0xd1, 0xc8, 0x8a, - 0xe6, 0x26, 0xd6, 0x84, 0x68, 0xa7, 0x37, 0x37, 0x11, 0x7f, 0x5f, 0x73, 0x13, 0x8b, 0xf0, 0xef, - 0x46, 0xf5, 0x26, 0x71, 0x96, 0x50, 0x71, 0x77, 0x57, 0x4c, 0x32, 0x71, 0x8c, 0x94, 0x8f, 0x34, - 0x98, 0x19, 0x08, 0x8f, 0xf0, 0xc9, 0x26, 0x20, 0x2f, 0x76, 0x28, 0xdd, 0xac, 0xa7, 0x9e, 0xfe, - 0x6c, 0xd1, 0x36, 0xed, 0x0d, 0xd4, 0x98, 0xff, 0x53, 0xe1, 0x54, 0x99, 0xf1, 0x4f, 0x1a, 0x5c, - 0x8d, 0xbf, 0x28, 0x94, 0xad, 0x01, 0x13, 0xf1, 0xb7, 0x28, 0xa9, 0x6e, 0x9e, 0x47, 0xaa, 0xb8, - 0x40, 0x7d, 0x20, 0x42, 0x96, 0x20, 0x14, 0xfd, 0x01, 0xe2, 0x9d, 0x73, 0x6b, 0x29, 0x78, 0xd8, - 0x89, 0xb9, 0xc9, 0x37, 0xd6, 0xcf, 0x13, 0x90, 0xda, 0x74, 0xdd, 0x36, 0xfa, 0xa9, 0x06, 0xd3, - 0xd4, 0xe5, 0x86, 0x08, 0x60, 0x62, 0x19, 0x6a, 0x82, 0xe1, 0xa7, 0xf7, 0x9d, 0x8b, 0x69, 0xef, - 0x9f, 0x47, 0xc5, 0x41, 0xa8, 0x7e, 0x95, 0xaa, 0xc9, 0x19, 0x75, 0x79, 0x55, 0x12, 0x6d, 0xf9, - 0x43, 0x8e, 0xfb, 0x30, 0xd9, 0x7f, 0xbf, 0x5f, 0x13, 0xf4, 0x0b, 0xdf, 0x3f, 0x79, 0xe6, 0xdd, - 0x13, 0xcd, 0xd8, 0xc5, 0x4b, 0x63, 0xc2, 0xb0, 0xff, 0x12, 0xc6, 0x7d, 0x07, 0x72, 0x61, 0xce, - 0xdc, 0x96, 0x73, 0x38, 0xf1, 0xc1, 0x3c, 0xea, 0x8f, 0xe4, 0x82, 0xb6, 0xa6, 0x14, 0x1f, 0x00, - 0xe3, 0xa6, 0x69, 0x57, 0x8e, 0xf1, 0xf4, 0x69, 0x5c, 0xf1, 0x96, 0xff, 0x9d, 0x80, 0x19, 0x95, - 0x5c, 0xde, 0x88, 0x92, 0x80, 0x3f, 0x6b, 0xee, 0xa1, 0xb5, 0xa1, 0xa3, 0xb2, 0xd9, 0xa7, 0x47, - 0xc5, 0x1b, 0x7e, 0xf6, 0x3b, 0x4e, 0x51, 0x1e, 0x9c, 0x96, 0x75, 0x21, 0x2b, 0xaa, 0x7d, 0x2c, - 0x5d, 0x9d, 0x3a, 0x2c, 0xfb, 0xd6, 0xd3, 0xa3, 0xe2, 0xac, 0x02, 0x57, 0x6c, 0xf1, 0x41, 0x5b, - 0x79, 0xe8, 0x2c, 0x6d, 0xd2, 0x6d, 0x5b, 0x51, 0xaa, 0x14, 0xd7, 0x52, 0x72, 0xbf, 0xef, 0xda, - 0xe4, 0xf9, 0xae, 0x0d, 0xd8, 0xce, 0x79, 0x2d, 0x25, 0xf7, 0x63, 0xd7, 0x5e, 0x87, 0xb4, 0xfa, - 0x88, 0x4c, 0xc9, 0x04, 0xae, 0x56, 0x51, 0xe5, 0xbd, 0xf5, 0x5b, 0x0d, 0x20, 0x9a, 0xd2, 0xa1, - 0x57, 0xe0, 0x46, 0x75, 0x63, 0xbd, 0x66, 0x34, 0xb6, 0x96, 0xb7, 0xb6, 0x1b, 0xc6, 0xf6, 0x7a, - 0x63, 0x73, 0x75, 0xa5, 0xbe, 0x56, 0x5f, 0xad, 0xe5, 0x46, 0x0a, 0xd9, 0xc3, 0x07, 0xa5, 0xcc, - 0x36, 0x65, 0x1d, 0x62, 0xda, 0xbb, 0x36, 0xb1, 0xd0, 0x8b, 0x70, 0xb5, 0x9f, 0x5a, 0xac, 0x56, - 0x6b, 0x39, 0xad, 0x30, 0x71, 0xf8, 0xa0, 0x34, 0xe6, 0x77, 0x27, 0xc4, 0x42, 0xf3, 0x70, 0x6d, - 0x90, 0xae, 0xbe, 0xfe, 0x5a, 0x2e, 0x51, 0x98, 0x3c, 0x7c, 0x50, 0x1a, 0x0f, 0xdb, 0x18, 0x54, - 0x06, 0x14, 0xa7, 0x54, 0x78, 0xc9, 0x02, 0x1c, 0x3e, 0x28, 0xa5, 0xfd, 0x60, 0x28, 0xa4, 0xde, - 0xfd, 0xf5, 0xdc, 0xc8, 0xad, 0x1f, 0x03, 0xd4, 0xe9, 0xae, 0x87, 0x4d, 0x99, 0x06, 0x0a, 0x70, - 0xbd, 0xbe, 0xbe, 0xa6, 0x2f, 0xaf, 0x6c, 0xd5, 0x37, 0xd6, 0xfb, 0x9f, 0x7d, 0xec, 0xac, 0xb6, - 0xb1, 0x5d, 0x7d, 0x73, 0xd5, 0x68, 0xd4, 0x5f, 0x5b, 0xcf, 0x69, 0xe8, 0x06, 0x5c, 0xe9, 0x3b, - 0xfb, 0xfe, 0xfa, 0x56, 0xfd, 0xad, 0xd5, 0x5c, 0xa2, 0xba, 0xf6, 0xf1, 0xe3, 0x39, 0xed, 0xd1, - 0xe3, 0x39, 0xed, 0x1f, 0x8f, 0xe7, 0xb4, 0xf7, 0x9e, 0xcc, 0x8d, 0x3c, 0x7a, 0x32, 0x37, 0xf2, - 0xd7, 0x27, 0x73, 0x23, 0x3f, 0x78, 0xe5, 0xd4, 0x30, 0x8b, 0x6a, 0x93, 0x0c, 0xb8, 0x66, 0x5a, - 0xda, 0xf5, 0x1b, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xcf, 0x6e, 0xfa, 0xfd, 0x71, 0x1a, 0x00, - 0x00, + 0x70, 0x8a, 0xde, 0x81, 0xfc, 0x49, 0x6c, 0xc6, 0x2e, 0x21, 0xb2, 0x95, 0x11, 0xd6, 0x53, 0x2f, + 0x68, 0x62, 0x46, 0x62, 0x0d, 0x85, 0xdd, 0xd7, 0x4a, 0x5c, 0x33, 0x07, 0xc0, 0xd7, 0x08, 0x59, + 0xba, 0x29, 0x22, 0xee, 0xf0, 0xb3, 0x0f, 0x6e, 0xcd, 0xc6, 0x84, 0x3f, 0x08, 0x67, 0x77, 0xbe, + 0xe3, 0x94, 0x7f, 0xa7, 0x01, 0x8a, 0xca, 0xa0, 0x4e, 0x58, 0x47, 0x74, 0xb3, 0xa2, 0xc3, 0x89, + 0x75, 0x22, 0xda, 0xe9, 0x1d, 0x4e, 0xc4, 0xdf, 0xd7, 0xe1, 0xc4, 0xc2, 0xfc, 0xfb, 0x51, 0xd1, + 0x49, 0x5c, 0x40, 0xb2, 0x80, 0x49, 0x66, 0x8f, 0x91, 0xf2, 0x91, 0x06, 0x33, 0x03, 0x31, 0x12, + 0x3e, 0xd9, 0x04, 0xe4, 0xc5, 0x0e, 0xa5, 0xaf, 0xf5, 0xd4, 0xd3, 0x9f, 0x2d, 0xe4, 0xa6, 0xbd, + 0x81, 0x42, 0xf3, 0x7f, 0xaa, 0x9e, 0x2a, 0x3d, 0xfe, 0x49, 0x83, 0xab, 0xf1, 0x17, 0x85, 0xb2, + 0x35, 0x60, 0x22, 0xfe, 0x16, 0x25, 0xd5, 0xcd, 0xf3, 0x48, 0x15, 0x17, 0xa8, 0x0f, 0x44, 0xc8, + 0x12, 0xc4, 0xa3, 0x3f, 0x45, 0xbc, 0x73, 0x6e, 0x2d, 0x05, 0x0f, 0x3b, 0x31, 0x41, 0xf9, 0xc6, + 0xfa, 0x65, 0x02, 0x52, 0x9b, 0xae, 0xdb, 0x46, 0x3f, 0xd7, 0x60, 0x9a, 0xba, 0xdc, 0x10, 0x51, + 0x4c, 0x2c, 0x43, 0x8d, 0x31, 0xfc, 0x1c, 0xbf, 0x73, 0x31, 0xed, 0xfd, 0xf3, 0xa8, 0x38, 0x08, + 0xd5, 0xaf, 0x52, 0x35, 0x3e, 0xa3, 0x2e, 0xaf, 0x4a, 0xa2, 0x2d, 0x7f, 0xd2, 0x71, 0x1f, 0x26, + 0xfb, 0xef, 0xf7, 0x0b, 0x83, 0x7e, 0xe1, 0xfb, 0x27, 0xcf, 0xbc, 0x7b, 0xa2, 0x19, 0xbb, 0x78, + 0x69, 0x4c, 0x18, 0xf6, 0x5f, 0xc2, 0xb8, 0x6f, 0x43, 0x2e, 0x4c, 0x9c, 0xdb, 0x72, 0x18, 0x27, + 0xbe, 0x9a, 0x47, 0xfd, 0xb9, 0x5c, 0xd0, 0xdb, 0x94, 0xe2, 0x53, 0x60, 0xdc, 0x34, 0xed, 0xca, + 0x31, 0x9e, 0x3e, 0x8d, 0x2b, 0xde, 0xf2, 0xbf, 0x13, 0x30, 0xa3, 0x32, 0xcc, 0x1b, 0x51, 0x12, + 0xf0, 0x07, 0xce, 0x3d, 0xb4, 0x36, 0x74, 0x5e, 0x36, 0xfb, 0xf4, 0xa8, 0x78, 0xc3, 0x4f, 0x81, + 0xc7, 0x29, 0xca, 0x83, 0x23, 0xb3, 0x2e, 0x64, 0x45, 0xc9, 0x8f, 0xe5, 0xac, 0x53, 0x27, 0x66, + 0xdf, 0x79, 0x7a, 0x54, 0x9c, 0x55, 0xe0, 0x8a, 0x2d, 0x3e, 0x6d, 0x2b, 0x0f, 0x1d, 0xa8, 0x4d, + 0xba, 0x6d, 0x2b, 0xca, 0x97, 0xe2, 0x5a, 0x4a, 0xee, 0xf7, 0x5d, 0x9b, 0x3c, 0xdf, 0xb5, 0x01, + 0xdb, 0x39, 0xaf, 0xa5, 0xe4, 0x7e, 0xec, 0xda, 0xeb, 0x90, 0x56, 0x5f, 0x92, 0x29, 0x99, 0xc5, + 0xd5, 0x2a, 0x2a, 0xbf, 0xb7, 0x7e, 0xaf, 0x01, 0x44, 0xa3, 0x3a, 0xf4, 0x0a, 0xdc, 0xa8, 0x6e, + 0xac, 0xd7, 0x8c, 0xc6, 0xd6, 0xf2, 0xd6, 0x76, 0xc3, 0xd8, 0x5e, 0x6f, 0x6c, 0xae, 0xae, 0xd4, + 0xd7, 0xea, 0xab, 0xb5, 0xdc, 0x48, 0x21, 0x7b, 0xf8, 0xa0, 0x94, 0xd9, 0xa6, 0xac, 0x43, 0x4c, + 0x7b, 0xd7, 0x26, 0x16, 0x7a, 0x11, 0xae, 0xf6, 0x53, 0x8b, 0xd5, 0x6a, 0x2d, 0xa7, 0x15, 0x26, + 0x0e, 0x1f, 0x94, 0xc6, 0xfc, 0x16, 0x85, 0x58, 0x68, 0x1e, 0xae, 0x0d, 0xd2, 0xd5, 0xd7, 0x5f, + 0xcb, 0x25, 0x0a, 0x93, 0x87, 0x0f, 0x4a, 0xe3, 0x61, 0x2f, 0x83, 0xca, 0x80, 0xe2, 0x94, 0x0a, + 0x2f, 0x59, 0x80, 0xc3, 0x07, 0xa5, 0xb4, 0x1f, 0x0c, 0x85, 0xd4, 0xbb, 0xbf, 0x9d, 0x1b, 0xb9, + 0xf5, 0x0e, 0x40, 0x9d, 0xee, 0x7a, 0xd8, 0x94, 0x69, 0xa0, 0x00, 0xd7, 0xeb, 0xeb, 0x6b, 0xfa, + 0xf2, 0xca, 0x56, 0x7d, 0x63, 0xbd, 0xff, 0xd9, 0xc7, 0xce, 0x6a, 0x1b, 0xdb, 0xd5, 0x37, 0x57, + 0x8d, 0x46, 0xfd, 0xb5, 0xf5, 0x9c, 0x86, 0x6e, 0xc0, 0x95, 0xbe, 0xb3, 0x1f, 0xae, 0x6f, 0xd5, + 0xdf, 0x5a, 0xcd, 0x25, 0xaa, 0x6b, 0x9f, 0x3c, 0x9e, 0xd3, 0x1e, 0x3d, 0x9e, 0xd3, 0xfe, 0xf1, + 0x78, 0x4e, 0x7b, 0xef, 0xc9, 0xdc, 0xc8, 0xa3, 0x27, 0x73, 0x23, 0x7f, 0x7d, 0x32, 0x37, 0xf2, + 0xe3, 0x57, 0x4e, 0x0d, 0xb3, 0xa8, 0x36, 0xc9, 0x80, 0x6b, 0xa6, 0xa5, 0x5d, 0xbf, 0xf5, 0xbf, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x12, 0x1d, 0xb3, 0x91, 0x76, 0x1a, 0x00, 0x00, } func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { @@ -1477,543 +1476,543 @@ func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_go func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 10762 bytes of a gzipped FileDescriptorSet + // 10759 bytes of a gzipped FileDescriptorSet 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0xbd, 0x7b, 0x70, 0x24, 0xc7, 0x79, 0x18, 0x8e, 0x7d, 0xef, 0x7e, 0x8b, 0xdd, 0x1d, 0x34, 0xc0, 0x3b, 0xdc, 0x1e, 0x09, 0x80, 0xc3, 0xc7, 0x3d, 0x48, 0xe2, 0xc8, 0x23, 0xef, 0x48, 0xe2, 0x44, 0xd1, 0xbb, 0x8b, 0xbd, 0x3b, - 0xdc, 0xe1, 0xa5, 0x59, 0xe0, 0xf8, 0xb0, 0xad, 0xf1, 0x60, 0xb7, 0x01, 0x0c, 0x6f, 0x77, 0x66, + 0xdc, 0xe1, 0xa5, 0x59, 0xe0, 0xf8, 0xb0, 0xa5, 0xf1, 0x60, 0xb7, 0x01, 0x0c, 0x6f, 0x77, 0x66, 0x34, 0x33, 0x7b, 0x07, 0xb0, 0x7e, 0xf5, 0x2b, 0xda, 0xb2, 0x1d, 0xf9, 0xe2, 0xd8, 0xb2, 0x9d, - 0xb2, 0x65, 0x5b, 0xa7, 0x50, 0x56, 0xac, 0x87, 0xf3, 0x92, 0x2d, 0x45, 0x92, 0xe3, 0xd8, 0x25, - 0xa7, 0xf2, 0x90, 0x9d, 0x54, 0x4a, 0x72, 0xa5, 0x12, 0x57, 0x2a, 0x61, 0x1c, 0x4a, 0x15, 0x29, - 0xb2, 0x1c, 0x5b, 0x12, 0x9d, 0xc4, 0x51, 0xa5, 0x92, 0xea, 0xd7, 0x3c, 0xf6, 0x81, 0x59, 0x9c, - 0x48, 0xda, 0x29, 0xfd, 0x73, 0xb7, 0xdd, 0xfd, 0x7d, 0x5f, 0x77, 0x7f, 0xfd, 0xf5, 0xf7, 0xea, - 0x9e, 0x06, 0x7c, 0xfb, 0x02, 0xcc, 0xed, 0x98, 0xe6, 0x4e, 0x1b, 0x9f, 0xb1, 0x6c, 0xd3, 0x35, - 0xb7, 0xba, 0xdb, 0x67, 0x5a, 0xd8, 0x69, 0xda, 0xba, 0xe5, 0x9a, 0xf6, 0x3c, 0xad, 0x43, 0x25, - 0x06, 0x31, 0x2f, 0x20, 0xe4, 0x15, 0x98, 0xb8, 0xa8, 0xb7, 0xf1, 0xa2, 0x07, 0xd8, 0xc0, 0x2e, - 0x7a, 0x0a, 0x92, 0xdb, 0x7a, 0x1b, 0x4f, 0xc7, 0xe6, 0x12, 0x27, 0xf3, 0x67, 0xef, 0x9f, 0xef, - 0x41, 0x9a, 0x0f, 0x63, 0xac, 0x93, 0x6a, 0x85, 0x62, 0xc8, 0x5f, 0x49, 0xc2, 0xe4, 0x80, 0x56, - 0x84, 0x20, 0x69, 0x68, 0x1d, 0x42, 0x31, 0x76, 0x32, 0xa7, 0xd0, 0xdf, 0x68, 0x1a, 0x32, 0x96, - 0xd6, 0xbc, 0xae, 0xed, 0xe0, 0xe9, 0x38, 0xad, 0x16, 0x45, 0x34, 0x03, 0xd0, 0xc2, 0x16, 0x36, - 0x5a, 0xd8, 0x68, 0xee, 0x4f, 0x27, 0xe6, 0x12, 0x27, 0x73, 0x4a, 0xa0, 0x06, 0x3d, 0x04, 0x13, - 0x56, 0x77, 0xab, 0xad, 0x37, 0xd5, 0x00, 0x18, 0xcc, 0x25, 0x4e, 0xa6, 0x14, 0x89, 0x35, 0x2c, - 0xfa, 0xc0, 0x27, 0xa0, 0x74, 0x13, 0x6b, 0xd7, 0x83, 0xa0, 0x79, 0x0a, 0x5a, 0x24, 0xd5, 0x01, - 0xc0, 0x1a, 0x8c, 0x77, 0xb0, 0xe3, 0x68, 0x3b, 0x58, 0x75, 0xf7, 0x2d, 0x3c, 0x9d, 0xa4, 0xb3, - 0x9f, 0xeb, 0x9b, 0x7d, 0xef, 0xcc, 0xf3, 0x1c, 0x6b, 0x63, 0xdf, 0xc2, 0xa8, 0x02, 0x39, 0x6c, - 0x74, 0x3b, 0x8c, 0x42, 0x6a, 0x08, 0xff, 0xea, 0x46, 0xb7, 0xd3, 0x4b, 0x25, 0x4b, 0xd0, 0x38, - 0x89, 0x8c, 0x83, 0xed, 0x1b, 0x7a, 0x13, 0x4f, 0xa7, 0x29, 0x81, 0x13, 0x7d, 0x04, 0x1a, 0xac, - 0xbd, 0x97, 0x86, 0xc0, 0x43, 0x35, 0xc8, 0xe1, 0x3d, 0x17, 0x1b, 0x8e, 0x6e, 0x1a, 0xd3, 0x19, - 0x4a, 0xe4, 0x81, 0x01, 0xab, 0x88, 0xdb, 0xad, 0x5e, 0x12, 0x3e, 0x1e, 0x3a, 0x0f, 0x19, 0xd3, - 0x72, 0x75, 0xd3, 0x70, 0xa6, 0xb3, 0x73, 0xb1, 0x93, 0xf9, 0xb3, 0x77, 0x0f, 0x14, 0x84, 0x35, - 0x06, 0xa3, 0x08, 0x60, 0xb4, 0x04, 0x92, 0x63, 0x76, 0xed, 0x26, 0x56, 0x9b, 0x66, 0x0b, 0xab, - 0xba, 0xb1, 0x6d, 0x4e, 0xe7, 0x28, 0x81, 0xd9, 0xfe, 0x89, 0x50, 0xc0, 0x9a, 0xd9, 0xc2, 0x4b, - 0xc6, 0xb6, 0xa9, 0x14, 0x9d, 0x50, 0x19, 0x1d, 0x81, 0xb4, 0xb3, 0x6f, 0xb8, 0xda, 0xde, 0xf4, - 0x38, 0x95, 0x10, 0x5e, 0x92, 0x7f, 0x33, 0x0d, 0xa5, 0x51, 0x44, 0xec, 0x02, 0xa4, 0xb6, 0xc9, - 0x2c, 0xa7, 0xe3, 0x87, 0xe1, 0x01, 0xc3, 0x09, 0x33, 0x31, 0x7d, 0x87, 0x4c, 0xac, 0x40, 0xde, - 0xc0, 0x8e, 0x8b, 0x5b, 0x4c, 0x22, 0x12, 0x23, 0xca, 0x14, 0x30, 0xa4, 0x7e, 0x91, 0x4a, 0xde, - 0x91, 0x48, 0x3d, 0x0f, 0x25, 0x6f, 0x48, 0xaa, 0xad, 0x19, 0x3b, 0x42, 0x36, 0xcf, 0x44, 0x8d, - 0x64, 0xbe, 0x2e, 0xf0, 0x14, 0x82, 0xa6, 0x14, 0x71, 0xa8, 0x8c, 0x16, 0x01, 0x4c, 0x03, 0x9b, - 0xdb, 0x6a, 0x0b, 0x37, 0xdb, 0xd3, 0xd9, 0x21, 0x5c, 0x5a, 0x23, 0x20, 0x7d, 0x5c, 0x32, 0x59, - 0x6d, 0xb3, 0x8d, 0x9e, 0xf6, 0x45, 0x2d, 0x33, 0x44, 0x52, 0x56, 0xd8, 0x26, 0xeb, 0x93, 0xb6, - 0x4d, 0x28, 0xda, 0x98, 0xc8, 0x3d, 0x6e, 0xf1, 0x99, 0xe5, 0xe8, 0x20, 0xe6, 0x23, 0x67, 0xa6, - 0x70, 0x34, 0x36, 0xb1, 0x82, 0x1d, 0x2c, 0xa2, 0xfb, 0xc0, 0xab, 0x50, 0xa9, 0x58, 0x01, 0xd5, - 0x42, 0xe3, 0xa2, 0x72, 0x55, 0xeb, 0xe0, 0xf2, 0xcb, 0x50, 0x0c, 0xb3, 0x07, 0x4d, 0x41, 0xca, - 0x71, 0x35, 0xdb, 0xa5, 0x52, 0x98, 0x52, 0x58, 0x01, 0x49, 0x90, 0xc0, 0x46, 0x8b, 0x6a, 0xb9, - 0x94, 0x42, 0x7e, 0xa2, 0xef, 0xf3, 0x27, 0x9c, 0xa0, 0x13, 0x7e, 0xb0, 0x7f, 0x45, 0x43, 0x94, - 0x7b, 0xe7, 0x5d, 0x7e, 0x12, 0x0a, 0xa1, 0x09, 0x8c, 0xda, 0xb5, 0xfc, 0xff, 0xc1, 0x5d, 0x03, - 0x49, 0xa3, 0xe7, 0x61, 0xaa, 0x6b, 0xe8, 0x86, 0x8b, 0x6d, 0xcb, 0xc6, 0x44, 0x62, 0x59, 0x57, - 0xd3, 0x5f, 0xcd, 0x0c, 0x91, 0xb9, 0xcd, 0x20, 0x34, 0xa3, 0xa2, 0x4c, 0x76, 0xfb, 0x2b, 0x4f, - 0xe7, 0xb2, 0x5f, 0xcb, 0x48, 0xaf, 0xbc, 0xf2, 0xca, 0x2b, 0x71, 0xf9, 0x77, 0xd3, 0x30, 0x35, - 0x68, 0xcf, 0x0c, 0xdc, 0xbe, 0x47, 0x20, 0x6d, 0x74, 0x3b, 0x5b, 0xd8, 0xa6, 0x4c, 0x4a, 0x29, - 0xbc, 0x84, 0x2a, 0x90, 0x6a, 0x6b, 0x5b, 0xb8, 0x3d, 0x9d, 0x9c, 0x8b, 0x9d, 0x2c, 0x9e, 0x7d, - 0x68, 0xa4, 0x5d, 0x39, 0xbf, 0x4c, 0x50, 0x14, 0x86, 0x89, 0xde, 0x09, 0x49, 0xae, 0xa2, 0x09, - 0x85, 0xd3, 0xa3, 0x51, 0x20, 0x7b, 0x49, 0xa1, 0x78, 0xe8, 0x38, 0xe4, 0xc8, 0xff, 0x4c, 0x36, - 0xd2, 0x74, 0xcc, 0x59, 0x52, 0x41, 0xe4, 0x02, 0x95, 0x21, 0x4b, 0xb7, 0x49, 0x0b, 0x0b, 0xd3, - 0xe6, 0x95, 0x89, 0x60, 0xb5, 0xf0, 0xb6, 0xd6, 0x6d, 0xbb, 0xea, 0x0d, 0xad, 0xdd, 0xc5, 0x54, - 0xe0, 0x73, 0xca, 0x38, 0xaf, 0xbc, 0x46, 0xea, 0xd0, 0x2c, 0xe4, 0xd9, 0xae, 0xd2, 0x8d, 0x16, - 0xde, 0xa3, 0xda, 0x33, 0xa5, 0xb0, 0x8d, 0xb6, 0x44, 0x6a, 0x48, 0xf7, 0x2f, 0x39, 0xa6, 0x21, - 0x44, 0x93, 0x76, 0x41, 0x2a, 0x68, 0xf7, 0x4f, 0xf6, 0x2a, 0xee, 0x7b, 0x06, 0x4f, 0xaf, 0x6f, - 0x2f, 0x9d, 0x80, 0x12, 0x85, 0x78, 0x9c, 0x2f, 0xbd, 0xd6, 0x9e, 0x9e, 0x98, 0x8b, 0x9d, 0xcc, - 0x2a, 0x45, 0x56, 0xbd, 0xc6, 0x6b, 0xe5, 0xcf, 0xc4, 0x21, 0x49, 0x15, 0x4b, 0x09, 0xf2, 0x1b, - 0x2f, 0xac, 0xd7, 0xd5, 0xc5, 0xb5, 0xcd, 0xea, 0x72, 0x5d, 0x8a, 0xa1, 0x22, 0x00, 0xad, 0xb8, - 0xb8, 0xbc, 0x56, 0xd9, 0x90, 0xe2, 0x5e, 0x79, 0x69, 0x75, 0xe3, 0xfc, 0x13, 0x52, 0xc2, 0x43, - 0xd8, 0x64, 0x15, 0xc9, 0x20, 0xc0, 0xe3, 0x67, 0xa5, 0x14, 0x92, 0x60, 0x9c, 0x11, 0x58, 0x7a, - 0xbe, 0xbe, 0x78, 0xfe, 0x09, 0x29, 0x1d, 0xae, 0x79, 0xfc, 0xac, 0x94, 0x41, 0x05, 0xc8, 0xd1, - 0x9a, 0xea, 0xda, 0xda, 0xb2, 0x94, 0xf5, 0x68, 0x36, 0x36, 0x94, 0xa5, 0xd5, 0x4b, 0x52, 0xce, - 0xa3, 0x79, 0x49, 0x59, 0xdb, 0x5c, 0x97, 0xc0, 0xa3, 0xb0, 0x52, 0x6f, 0x34, 0x2a, 0x97, 0xea, - 0x52, 0xde, 0x83, 0xa8, 0xbe, 0xb0, 0x51, 0x6f, 0x48, 0xe3, 0xa1, 0x61, 0x3d, 0x7e, 0x56, 0x2a, - 0x78, 0x5d, 0xd4, 0x57, 0x37, 0x57, 0xa4, 0x22, 0x9a, 0x80, 0x02, 0xeb, 0x42, 0x0c, 0xa2, 0xd4, - 0x53, 0x75, 0xfe, 0x09, 0x49, 0xf2, 0x07, 0xc2, 0xa8, 0x4c, 0x84, 0x2a, 0xce, 0x3f, 0x21, 0x21, - 0xb9, 0x06, 0x29, 0x2a, 0x86, 0x08, 0x41, 0x71, 0xb9, 0x52, 0xad, 0x2f, 0xab, 0x6b, 0xeb, 0x1b, - 0x4b, 0x6b, 0xab, 0x95, 0x65, 0x29, 0xe6, 0xd7, 0x29, 0xf5, 0x77, 0x6d, 0x2e, 0x29, 0xf5, 0x45, - 0x29, 0x1e, 0xac, 0x5b, 0xaf, 0x57, 0x36, 0xea, 0x8b, 0x52, 0x42, 0x6e, 0xc2, 0xd4, 0x20, 0x85, - 0x3a, 0x70, 0x0b, 0x05, 0x64, 0x21, 0x3e, 0x44, 0x16, 0x28, 0xad, 0x5e, 0x59, 0x90, 0xbf, 0x1c, - 0x87, 0xc9, 0x01, 0x46, 0x65, 0x60, 0x27, 0xcf, 0x42, 0x8a, 0xc9, 0x32, 0x33, 0xb3, 0xa7, 0x06, - 0x5a, 0x27, 0x2a, 0xd9, 0x7d, 0xa6, 0x96, 0xe2, 0x05, 0x5d, 0x8d, 0xc4, 0x10, 0x57, 0x83, 0x90, - 0xe8, 0x13, 0xd8, 0x1f, 0xec, 0x53, 0xfe, 0xcc, 0x3e, 0x9e, 0x1f, 0xc5, 0x3e, 0xd2, 0xba, 0xc3, - 0x19, 0x81, 0xd4, 0x00, 0x23, 0x70, 0x01, 0x26, 0xfa, 0x08, 0x8d, 0xac, 0x8c, 0xdf, 0x1b, 0x83, - 0xe9, 0x61, 0xcc, 0x89, 0x50, 0x89, 0xf1, 0x90, 0x4a, 0xbc, 0xd0, 0xcb, 0xc1, 0x7b, 0x87, 0x2f, - 0x42, 0xdf, 0x5a, 0x7f, 0x2c, 0x06, 0x47, 0x06, 0xbb, 0x94, 0x03, 0xc7, 0xf0, 0x4e, 0x48, 0x77, - 0xb0, 0xbb, 0x6b, 0x0a, 0xb7, 0xea, 0xc1, 0x01, 0xc6, 0x9a, 0x34, 0xf7, 0x2e, 0x36, 0xc7, 0x0a, - 0x5a, 0xfb, 0xc4, 0x30, 0xbf, 0x90, 0x8d, 0xa6, 0x6f, 0xa4, 0x3f, 0x11, 0x87, 0xbb, 0x06, 0x12, - 0x1f, 0x38, 0xd0, 0x7b, 0x00, 0x74, 0xc3, 0xea, 0xba, 0xcc, 0x75, 0x62, 0x9a, 0x38, 0x47, 0x6b, - 0xa8, 0xf2, 0x22, 0x5a, 0xb6, 0xeb, 0x7a, 0xed, 0x09, 0xda, 0x0e, 0xac, 0x8a, 0x02, 0x3c, 0xe5, - 0x0f, 0x34, 0x49, 0x07, 0x3a, 0x33, 0x64, 0xa6, 0x7d, 0x82, 0xf9, 0x28, 0x48, 0xcd, 0xb6, 0x8e, - 0x0d, 0x57, 0x75, 0x5c, 0x1b, 0x6b, 0x1d, 0xdd, 0xd8, 0xa1, 0xa6, 0x26, 0xbb, 0x90, 0xda, 0xd6, - 0xda, 0x0e, 0x56, 0x4a, 0xac, 0xb9, 0x21, 0x5a, 0x09, 0x06, 0x15, 0x20, 0x3b, 0x80, 0x91, 0x0e, - 0x61, 0xb0, 0x66, 0x0f, 0x43, 0xfe, 0x99, 0x1c, 0xe4, 0x03, 0x0e, 0x38, 0xba, 0x17, 0xc6, 0x5f, - 0xd2, 0x6e, 0x68, 0xaa, 0x08, 0xaa, 0x18, 0x27, 0xf2, 0xa4, 0x6e, 0x9d, 0x07, 0x56, 0x8f, 0xc2, - 0x14, 0x05, 0x31, 0xbb, 0x2e, 0xb6, 0xd5, 0x66, 0x5b, 0x73, 0x1c, 0xca, 0xb4, 0x2c, 0x05, 0x45, - 0xa4, 0x6d, 0x8d, 0x34, 0xd5, 0x44, 0x0b, 0x3a, 0x07, 0x93, 0x14, 0xa3, 0xd3, 0x6d, 0xbb, 0xba, - 0xd5, 0xc6, 0x2a, 0x09, 0xf3, 0x1c, 0x6a, 0x72, 0xbc, 0x91, 0x4d, 0x10, 0x88, 0x15, 0x0e, 0x40, - 0x46, 0xe4, 0xa0, 0x45, 0xb8, 0x87, 0xa2, 0xed, 0x60, 0x03, 0xdb, 0x9a, 0x8b, 0x55, 0xfc, 0x9e, - 0xae, 0xd6, 0x76, 0x54, 0xcd, 0x68, 0xa9, 0xbb, 0x9a, 0xb3, 0x3b, 0x3d, 0x45, 0x08, 0x54, 0xe3, - 0xd3, 0x31, 0xe5, 0x18, 0x01, 0xbc, 0xc4, 0xe1, 0xea, 0x14, 0xac, 0x62, 0xb4, 0x2e, 0x6b, 0xce, - 0x2e, 0x5a, 0x80, 0x23, 0x94, 0x8a, 0xe3, 0xda, 0xba, 0xb1, 0xa3, 0x36, 0x77, 0x71, 0xf3, 0xba, - 0xda, 0x75, 0xb7, 0x9f, 0x9a, 0x3e, 0x1e, 0xec, 0x9f, 0x8e, 0xb0, 0x41, 0x61, 0x6a, 0x04, 0x64, - 0xd3, 0xdd, 0x7e, 0x0a, 0x35, 0x60, 0x9c, 0x2c, 0x46, 0x47, 0x7f, 0x19, 0xab, 0xdb, 0xa6, 0x4d, - 0x6d, 0x68, 0x71, 0x80, 0x6a, 0x0a, 0x70, 0x70, 0x7e, 0x8d, 0x23, 0xac, 0x98, 0x2d, 0xbc, 0x90, - 0x6a, 0xac, 0xd7, 0xeb, 0x8b, 0x4a, 0x5e, 0x50, 0xb9, 0x68, 0xda, 0x44, 0xa0, 0x76, 0x4c, 0x8f, - 0xc1, 0x79, 0x26, 0x50, 0x3b, 0xa6, 0x60, 0xef, 0x39, 0x98, 0x6c, 0x36, 0xd9, 0x9c, 0xf5, 0xa6, - 0xca, 0x83, 0x31, 0x67, 0x5a, 0x0a, 0x31, 0xab, 0xd9, 0xbc, 0xc4, 0x00, 0xb8, 0x8c, 0x3b, 0xe8, - 0x69, 0xb8, 0xcb, 0x67, 0x56, 0x10, 0x71, 0xa2, 0x6f, 0x96, 0xbd, 0xa8, 0xe7, 0x60, 0xd2, 0xda, - 0xef, 0x47, 0x44, 0xa1, 0x1e, 0xad, 0xfd, 0x5e, 0xb4, 0x27, 0x61, 0xca, 0xda, 0xb5, 0xfa, 0xf1, - 0x4e, 0x07, 0xf1, 0x90, 0xb5, 0x6b, 0xf5, 0x22, 0x3e, 0x40, 0x23, 0x73, 0x1b, 0x37, 0x35, 0x17, - 0xb7, 0xa6, 0x8f, 0x06, 0xc1, 0x03, 0x0d, 0x68, 0x1e, 0xa4, 0x66, 0x53, 0xc5, 0x86, 0xb6, 0xd5, - 0xc6, 0xaa, 0x66, 0x63, 0x43, 0x73, 0xa6, 0x67, 0x29, 0x70, 0xd2, 0xb5, 0xbb, 0x58, 0x29, 0x36, - 0x9b, 0x75, 0xda, 0x58, 0xa1, 0x6d, 0xe8, 0x34, 0x4c, 0x98, 0x5b, 0x2f, 0x35, 0x99, 0x44, 0xaa, - 0x96, 0x8d, 0xb7, 0xf5, 0xbd, 0xe9, 0xfb, 0x29, 0x7b, 0x4b, 0xa4, 0x81, 0xca, 0xe3, 0x3a, 0xad, - 0x46, 0xa7, 0x40, 0x6a, 0x3a, 0xbb, 0x9a, 0x6d, 0x51, 0x95, 0xec, 0x58, 0x5a, 0x13, 0x4f, 0x3f, - 0xc0, 0x40, 0x59, 0xfd, 0xaa, 0xa8, 0x26, 0x3b, 0xc2, 0xb9, 0xa9, 0x6f, 0xbb, 0x82, 0xe2, 0x09, - 0xb6, 0x23, 0x68, 0x1d, 0xa7, 0x76, 0x12, 0x24, 0xc2, 0x89, 0x50, 0xc7, 0x27, 0x29, 0x58, 0xd1, - 0xda, 0xb5, 0x82, 0xfd, 0xde, 0x07, 0x05, 0x02, 0xe9, 0x77, 0x7a, 0x8a, 0x39, 0x6e, 0xd6, 0x6e, - 0xa0, 0xc7, 0x27, 0xe0, 0x08, 0x01, 0xea, 0x60, 0x57, 0x6b, 0x69, 0xae, 0x16, 0x80, 0x7e, 0x98, - 0x42, 0x13, 0xb6, 0xaf, 0xf0, 0xc6, 0xd0, 0x38, 0xed, 0xee, 0xd6, 0xbe, 0x27, 0x58, 0x8f, 0xb0, - 0x71, 0x92, 0x3a, 0x21, 0x5a, 0x6f, 0x99, 0x73, 0x2e, 0x2f, 0xc0, 0x78, 0x50, 0xee, 0x51, 0x0e, - 0x98, 0xe4, 0x4b, 0x31, 0xe2, 0x04, 0xd5, 0xd6, 0x16, 0x89, 0xfb, 0xf2, 0x62, 0x5d, 0x8a, 0x13, - 0x37, 0x6a, 0x79, 0x69, 0xa3, 0xae, 0x2a, 0x9b, 0xab, 0x1b, 0x4b, 0x2b, 0x75, 0x29, 0x11, 0x70, - 0xec, 0xaf, 0x24, 0xb3, 0x0f, 0x4a, 0x27, 0x88, 0xd7, 0x50, 0x0c, 0x47, 0x6a, 0xe8, 0x1d, 0x70, - 0x54, 0xa4, 0x55, 0x1c, 0xec, 0xaa, 0x37, 0x75, 0x9b, 0x6e, 0xc8, 0x8e, 0xc6, 0x8c, 0xa3, 0x27, - 0x3f, 0x53, 0x1c, 0xaa, 0x81, 0xdd, 0xe7, 0x74, 0x9b, 0x6c, 0xb7, 0x8e, 0xe6, 0xa2, 0x65, 0x98, - 0x35, 0x4c, 0xd5, 0x71, 0x35, 0xa3, 0xa5, 0xd9, 0x2d, 0xd5, 0x4f, 0x68, 0xa9, 0x5a, 0xb3, 0x89, - 0x1d, 0xc7, 0x64, 0x86, 0xd0, 0xa3, 0x72, 0xb7, 0x61, 0x36, 0x38, 0xb0, 0x6f, 0x21, 0x2a, 0x1c, - 0xb4, 0x47, 0x7c, 0x13, 0xc3, 0xc4, 0xf7, 0x38, 0xe4, 0x3a, 0x9a, 0xa5, 0x62, 0xc3, 0xb5, 0xf7, - 0xa9, 0x7f, 0x9e, 0x55, 0xb2, 0x1d, 0xcd, 0xaa, 0x93, 0xf2, 0xdb, 0x12, 0x26, 0x5d, 0x49, 0x66, - 0x93, 0x52, 0xea, 0x4a, 0x32, 0x9b, 0x92, 0xd2, 0x57, 0x92, 0xd9, 0xb4, 0x94, 0xb9, 0x92, 0xcc, - 0x66, 0xa5, 0xdc, 0x95, 0x64, 0x36, 0x27, 0x81, 0xfc, 0xb3, 0x49, 0x18, 0x0f, 0x7a, 0xf0, 0x24, - 0x20, 0x6a, 0x52, 0x1b, 0x16, 0xa3, 0x5a, 0xee, 0xbe, 0x03, 0xfd, 0xfd, 0xf9, 0x1a, 0x31, 0x6e, - 0x0b, 0x69, 0xe6, 0x2e, 0x2b, 0x0c, 0x93, 0x38, 0x16, 0x44, 0xfc, 0x30, 0x73, 0x4f, 0xb2, 0x0a, - 0x2f, 0xa1, 0x4b, 0x90, 0x7e, 0xc9, 0xa1, 0xb4, 0xd3, 0x94, 0xf6, 0xfd, 0x07, 0xd3, 0xbe, 0xd2, - 0xa0, 0xc4, 0x73, 0x57, 0x1a, 0xea, 0xea, 0x9a, 0xb2, 0x52, 0x59, 0x56, 0x38, 0x3a, 0x3a, 0x06, - 0xc9, 0xb6, 0xf6, 0xf2, 0x7e, 0xd8, 0x0c, 0xd2, 0x2a, 0x34, 0x0f, 0xa5, 0xae, 0x71, 0x03, 0xdb, - 0xfa, 0xb6, 0x8e, 0x5b, 0x2a, 0x85, 0x2a, 0x05, 0xa1, 0x8a, 0x7e, 0xeb, 0x32, 0x81, 0x1f, 0x71, - 0x19, 0x8f, 0x41, 0xf2, 0x26, 0xd6, 0xae, 0x87, 0x8d, 0x15, 0xad, 0x7a, 0x0b, 0xb7, 0xd3, 0x19, - 0x48, 0x51, 0xfe, 0x22, 0x00, 0xce, 0x61, 0x69, 0x0c, 0x65, 0x21, 0x59, 0x5b, 0x53, 0xc8, 0x96, - 0x92, 0x60, 0x9c, 0xd5, 0xaa, 0xeb, 0x4b, 0xf5, 0x5a, 0x5d, 0x8a, 0xcb, 0xe7, 0x20, 0xcd, 0x98, - 0x46, 0xb6, 0x9b, 0xc7, 0x36, 0x69, 0x8c, 0x17, 0x39, 0x8d, 0x98, 0x68, 0xdd, 0x5c, 0xa9, 0xd6, - 0x15, 0x29, 0xde, 0x27, 0x2c, 0xb2, 0x03, 0xe3, 0x41, 0x4f, 0xfe, 0xed, 0x09, 0xe7, 0x3f, 0x1f, - 0x83, 0x7c, 0xc0, 0x33, 0x27, 0x2e, 0x95, 0xd6, 0x6e, 0x9b, 0x37, 0x55, 0xad, 0xad, 0x6b, 0x0e, - 0x17, 0x25, 0xa0, 0x55, 0x15, 0x52, 0x33, 0xea, 0xd2, 0xbd, 0x4d, 0x9b, 0x2c, 0x25, 0xa5, 0xe5, - 0x0f, 0xc5, 0x40, 0xea, 0x75, 0x8d, 0x7b, 0x86, 0x19, 0xfb, 0xcb, 0x1c, 0xa6, 0xfc, 0xc1, 0x18, - 0x14, 0xc3, 0xfe, 0x70, 0xcf, 0xf0, 0xee, 0xfd, 0x4b, 0x1d, 0xde, 0x1f, 0xc5, 0xa1, 0x10, 0xf2, - 0x82, 0x47, 0x1d, 0xdd, 0x7b, 0x60, 0x42, 0x6f, 0xe1, 0x8e, 0x65, 0xba, 0xd8, 0x68, 0xee, 0xab, - 0x6d, 0x7c, 0x03, 0xb7, 0xa7, 0x65, 0xaa, 0x64, 0xce, 0x1c, 0xec, 0x67, 0xcf, 0x2f, 0xf9, 0x78, - 0xcb, 0x04, 0x6d, 0x61, 0x72, 0x69, 0xb1, 0xbe, 0xb2, 0xbe, 0xb6, 0x51, 0x5f, 0xad, 0xbd, 0xa0, - 0x6e, 0xae, 0x5e, 0x5d, 0x5d, 0x7b, 0x6e, 0x55, 0x91, 0xf4, 0x1e, 0xb0, 0xb7, 0x70, 0xdb, 0xaf, - 0x83, 0xd4, 0x3b, 0x28, 0x74, 0x14, 0x06, 0x0d, 0x4b, 0x1a, 0x43, 0x93, 0x50, 0x5a, 0x5d, 0x53, - 0x1b, 0x4b, 0x8b, 0x75, 0xb5, 0x7e, 0xf1, 0x62, 0xbd, 0xb6, 0xd1, 0x60, 0x99, 0x13, 0x0f, 0x7a, - 0x23, 0xb4, 0xc1, 0xe5, 0x5f, 0x4a, 0xc0, 0xe4, 0x80, 0x91, 0xa0, 0x0a, 0x8f, 0x79, 0x58, 0x18, - 0xf6, 0xc8, 0x28, 0xa3, 0x9f, 0x27, 0x5e, 0xc7, 0xba, 0x66, 0xbb, 0x3c, 0x44, 0x3a, 0x05, 0x84, - 0x4b, 0x86, 0x4b, 0x94, 0xab, 0xcd, 0x33, 0x52, 0x2c, 0x10, 0x2a, 0xf9, 0xf5, 0x2c, 0x29, 0xf5, - 0x30, 0x20, 0xcb, 0x74, 0x74, 0x57, 0xbf, 0x81, 0x55, 0xdd, 0x10, 0xe9, 0x2b, 0x12, 0x18, 0x25, - 0x15, 0x49, 0xb4, 0x2c, 0x19, 0xae, 0x07, 0x6d, 0xe0, 0x1d, 0xad, 0x07, 0x9a, 0x28, 0xff, 0x84, - 0x22, 0x89, 0x16, 0x0f, 0xfa, 0x5e, 0x18, 0x6f, 0x99, 0x5d, 0xe2, 0x2d, 0x32, 0x38, 0x62, 0x6b, - 0x62, 0x4a, 0x9e, 0xd5, 0x79, 0x20, 0x3c, 0x0e, 0xf0, 0xf3, 0x66, 0xe3, 0x4a, 0x9e, 0xd5, 0x31, - 0x90, 0x13, 0x50, 0xd2, 0x76, 0x76, 0x6c, 0x42, 0x5c, 0x10, 0x62, 0x91, 0x4d, 0xd1, 0xab, 0xa6, - 0x80, 0xe5, 0x2b, 0x90, 0x15, 0x7c, 0x20, 0xc6, 0x9e, 0x70, 0x42, 0xb5, 0x58, 0xb8, 0x1e, 0x3f, - 0x99, 0x53, 0xb2, 0x86, 0x68, 0xbc, 0x17, 0xc6, 0x75, 0x47, 0xf5, 0x8f, 0x01, 0xe2, 0x73, 0xf1, - 0x93, 0x59, 0x25, 0xaf, 0x3b, 0x5e, 0x0a, 0x55, 0xfe, 0x58, 0x1c, 0x8a, 0xe1, 0x63, 0x0c, 0xb4, - 0x08, 0xd9, 0xb6, 0xd9, 0xd4, 0xa8, 0x68, 0xb1, 0x33, 0xb4, 0x93, 0x11, 0x27, 0x1f, 0xf3, 0xcb, - 0x1c, 0x5e, 0xf1, 0x30, 0xcb, 0xff, 0x3a, 0x06, 0x59, 0x51, 0x8d, 0x8e, 0x40, 0xd2, 0xd2, 0xdc, - 0x5d, 0x4a, 0x2e, 0x55, 0x8d, 0x4b, 0x31, 0x85, 0x96, 0x49, 0xbd, 0x63, 0x69, 0x06, 0x15, 0x01, - 0x5e, 0x4f, 0xca, 0x64, 0x5d, 0xdb, 0x58, 0x6b, 0xd1, 0xb0, 0xc9, 0xec, 0x74, 0xb0, 0xe1, 0x3a, - 0x62, 0x5d, 0x79, 0x7d, 0x8d, 0x57, 0xa3, 0x87, 0x60, 0xc2, 0xb5, 0x35, 0xbd, 0x1d, 0x82, 0x4d, - 0x52, 0x58, 0x49, 0x34, 0x78, 0xc0, 0x0b, 0x70, 0x4c, 0xd0, 0x6d, 0x61, 0x57, 0x6b, 0xee, 0xe2, - 0x96, 0x8f, 0x94, 0xa6, 0xe9, 0x91, 0xa3, 0x1c, 0x60, 0x91, 0xb7, 0x0b, 0x5c, 0xf9, 0x4b, 0x31, - 0x98, 0x10, 0x81, 0x5e, 0xcb, 0x63, 0xd6, 0x0a, 0x80, 0x66, 0x18, 0xa6, 0x1b, 0x64, 0x57, 0xbf, - 0x28, 0xf7, 0xe1, 0xcd, 0x57, 0x3c, 0x24, 0x25, 0x40, 0xa0, 0xdc, 0x01, 0xf0, 0x5b, 0x86, 0xb2, - 0x6d, 0x16, 0xf2, 0xfc, 0x8c, 0x8a, 0x1e, 0x74, 0xb2, 0xd4, 0x00, 0xb0, 0x2a, 0x12, 0x11, 0xa2, - 0x29, 0x48, 0x6d, 0xe1, 0x1d, 0xdd, 0xe0, 0x99, 0x67, 0x56, 0x10, 0x09, 0x9c, 0xa4, 0x97, 0xc0, - 0xa9, 0xfe, 0xff, 0x30, 0xd9, 0x34, 0x3b, 0xbd, 0xc3, 0xad, 0x4a, 0x3d, 0xe9, 0x09, 0xe7, 0x72, - 0xec, 0xc5, 0x47, 0x38, 0xd0, 0x8e, 0xd9, 0xd6, 0x8c, 0x9d, 0x79, 0xd3, 0xde, 0xf1, 0x0f, 0x6a, - 0x89, 0x87, 0xe4, 0x04, 0x8e, 0x6b, 0xad, 0xad, 0xff, 0x19, 0x8b, 0xfd, 0x4a, 0x3c, 0x71, 0x69, - 0xbd, 0xfa, 0x6b, 0xf1, 0xf2, 0x25, 0x86, 0xb8, 0x2e, 0x98, 0xa1, 0xe0, 0xed, 0x36, 0x6e, 0x92, - 0x09, 0xc2, 0x9f, 0x3c, 0x04, 0x53, 0x3b, 0xe6, 0x8e, 0x49, 0x29, 0x9d, 0x21, 0xbf, 0xf8, 0x49, - 0x6f, 0xce, 0xab, 0x2d, 0x47, 0x1e, 0x0b, 0x2f, 0xac, 0xc2, 0x24, 0x07, 0x56, 0xe9, 0x51, 0x13, - 0x0b, 0x84, 0xd0, 0x81, 0x59, 0xb8, 0xe9, 0x5f, 0xff, 0x0a, 0x35, 0xdf, 0xca, 0x04, 0x47, 0x25, - 0x6d, 0x2c, 0x56, 0x5a, 0x50, 0xe0, 0xae, 0x10, 0x3d, 0xb6, 0x49, 0xb1, 0x1d, 0x41, 0xf1, 0x9f, - 0x71, 0x8a, 0x93, 0x01, 0x8a, 0x0d, 0x8e, 0xba, 0x50, 0x83, 0xc2, 0x61, 0x68, 0xfd, 0x73, 0x4e, - 0x6b, 0x1c, 0x07, 0x89, 0x5c, 0x82, 0x12, 0x25, 0xd2, 0xec, 0x3a, 0xae, 0xd9, 0xa1, 0x1a, 0xf0, - 0x60, 0x32, 0xff, 0xe2, 0x2b, 0x6c, 0xd7, 0x14, 0x09, 0x5a, 0xcd, 0xc3, 0x5a, 0x58, 0x00, 0x7a, - 0xba, 0xd6, 0xc2, 0xcd, 0x76, 0x04, 0x85, 0x2f, 0xf0, 0x81, 0x78, 0xf0, 0x0b, 0xd7, 0x60, 0x8a, - 0xfc, 0xa6, 0x0a, 0x2a, 0x38, 0x92, 0xe8, 0x94, 0xdd, 0xf4, 0x97, 0xde, 0xcb, 0x36, 0xe6, 0xa4, - 0x47, 0x20, 0x30, 0xa6, 0xc0, 0x2a, 0xee, 0x60, 0xd7, 0xc5, 0xb6, 0xa3, 0x6a, 0xed, 0x41, 0xc3, - 0x0b, 0xe4, 0x3c, 0xa6, 0x7f, 0xf1, 0x1b, 0xe1, 0x55, 0xbc, 0xc4, 0x30, 0x2b, 0xed, 0xf6, 0xc2, - 0x26, 0x1c, 0x1d, 0x20, 0x15, 0x23, 0xd0, 0xfc, 0x25, 0x4e, 0x73, 0xaa, 0x4f, 0x32, 0x08, 0xd9, - 0x75, 0x10, 0xf5, 0xde, 0x5a, 0x8e, 0x40, 0xf3, 0x97, 0x39, 0x4d, 0xc4, 0x71, 0xc5, 0x92, 0x12, - 0x8a, 0x57, 0x60, 0xe2, 0x06, 0xb6, 0xb7, 0x4c, 0x87, 0xe7, 0x99, 0x46, 0x20, 0xf7, 0x41, 0x4e, - 0xae, 0xc4, 0x11, 0x69, 0xe2, 0x89, 0xd0, 0x7a, 0x1a, 0xb2, 0xdb, 0x5a, 0x13, 0x8f, 0x40, 0xe2, - 0x36, 0x27, 0x91, 0x21, 0xf0, 0x04, 0xb5, 0x02, 0xe3, 0x3b, 0x26, 0xb7, 0x51, 0xd1, 0xe8, 0x1f, - 0xe2, 0xe8, 0x79, 0x81, 0xc3, 0x49, 0x58, 0xa6, 0xd5, 0x6d, 0x13, 0x03, 0x16, 0x4d, 0xe2, 0x6f, - 0x09, 0x12, 0x02, 0x87, 0x93, 0x38, 0x04, 0x5b, 0x5f, 0x15, 0x24, 0x9c, 0x00, 0x3f, 0x9f, 0x85, - 0xbc, 0x69, 0xb4, 0xf7, 0x4d, 0x63, 0x94, 0x41, 0x7c, 0x98, 0x53, 0x00, 0x8e, 0x42, 0x08, 0x5c, - 0x80, 0xdc, 0xa8, 0x0b, 0xf1, 0xab, 0xdf, 0x10, 0xdb, 0x43, 0xac, 0xc0, 0x25, 0x28, 0x09, 0x05, - 0xa5, 0x9b, 0xc6, 0x08, 0x24, 0x3e, 0xca, 0x49, 0x14, 0x03, 0x68, 0x7c, 0x1a, 0x2e, 0x76, 0xdc, - 0x1d, 0x3c, 0x0a, 0x91, 0x8f, 0x89, 0x69, 0x70, 0x14, 0xce, 0xca, 0x2d, 0x6c, 0x34, 0x77, 0x47, - 0xa3, 0xf0, 0x71, 0xc1, 0x4a, 0x81, 0x43, 0x48, 0xd4, 0xa0, 0xd0, 0xd1, 0x6c, 0x67, 0x57, 0x6b, - 0x8f, 0xb4, 0x1c, 0x9f, 0xe0, 0x34, 0xc6, 0x3d, 0x24, 0xce, 0x91, 0xae, 0x71, 0x18, 0x32, 0xbf, - 0x26, 0x38, 0x12, 0x40, 0xe3, 0x5b, 0xcf, 0x71, 0x69, 0x52, 0xee, 0x30, 0xd4, 0xfe, 0x8e, 0xd8, - 0x7a, 0x0c, 0x77, 0x25, 0x48, 0xf1, 0x02, 0xe4, 0x1c, 0xfd, 0xe5, 0x91, 0xc8, 0xfc, 0x5d, 0xb1, - 0xd2, 0x14, 0x81, 0x20, 0xbf, 0x00, 0xc7, 0x06, 0x9a, 0x89, 0x11, 0x88, 0xfd, 0x3d, 0x4e, 0xec, - 0xc8, 0x00, 0x53, 0xc1, 0x55, 0xc2, 0x61, 0x49, 0xfe, 0x7d, 0xa1, 0x12, 0x70, 0x0f, 0xad, 0x75, - 0x12, 0x35, 0x38, 0xda, 0xf6, 0xe1, 0xb8, 0xf6, 0x0f, 0x04, 0xd7, 0x18, 0x6e, 0x88, 0x6b, 0x1b, - 0x70, 0x84, 0x53, 0x3c, 0xdc, 0xba, 0x7e, 0x52, 0x28, 0x56, 0x86, 0xbd, 0x19, 0x5e, 0xdd, 0xef, - 0x87, 0xb2, 0xc7, 0x4e, 0xe1, 0x9e, 0x3a, 0x6a, 0x47, 0xb3, 0x46, 0xa0, 0xfc, 0xeb, 0x9c, 0xb2, - 0xd0, 0xf8, 0x9e, 0x7f, 0xeb, 0xac, 0x68, 0x16, 0x21, 0xfe, 0x3c, 0x4c, 0x0b, 0xe2, 0x5d, 0xc3, - 0xc6, 0x4d, 0x73, 0xc7, 0xd0, 0x5f, 0xc6, 0xad, 0x11, 0x48, 0xff, 0x46, 0xcf, 0x52, 0x6d, 0x06, - 0xd0, 0x09, 0xe5, 0x25, 0x90, 0x3c, 0x5f, 0x45, 0xd5, 0x3b, 0x96, 0x69, 0xbb, 0x11, 0x14, 0x3f, - 0x25, 0x56, 0xca, 0xc3, 0x5b, 0xa2, 0x68, 0x0b, 0x75, 0x60, 0x27, 0xd5, 0xa3, 0x8a, 0xe4, 0xa7, - 0x39, 0xa1, 0x82, 0x8f, 0xc5, 0x15, 0x47, 0xd3, 0xec, 0x58, 0x9a, 0x3d, 0x8a, 0xfe, 0xfb, 0x87, - 0x42, 0x71, 0x70, 0x14, 0xae, 0x38, 0x88, 0x47, 0x47, 0xac, 0xfd, 0x08, 0x14, 0x3e, 0x23, 0x14, - 0x87, 0xc0, 0xe1, 0x24, 0x84, 0xc3, 0x30, 0x02, 0x89, 0xcf, 0x0a, 0x12, 0x02, 0x87, 0x90, 0x78, - 0x97, 0x6f, 0x68, 0x6d, 0xbc, 0xa3, 0x3b, 0xae, 0xcd, 0x9c, 0xe2, 0x83, 0x49, 0x7d, 0xee, 0x1b, - 0x61, 0x27, 0x4c, 0x09, 0xa0, 0x12, 0x4d, 0xc4, 0xd3, 0xb4, 0x34, 0x66, 0x8a, 0x1e, 0xd8, 0x6f, - 0x0a, 0x4d, 0x14, 0x40, 0x23, 0x63, 0x0b, 0x78, 0x88, 0x84, 0xed, 0x4d, 0x12, 0x29, 0x8c, 0x40, - 0xee, 0x1f, 0xf5, 0x0c, 0xae, 0x21, 0x70, 0x09, 0xcd, 0x80, 0xff, 0xd3, 0x35, 0xae, 0xe3, 0xfd, - 0x91, 0xa4, 0xf3, 0xb7, 0x7a, 0xfc, 0x9f, 0x4d, 0x86, 0xc9, 0x74, 0x48, 0xa9, 0xc7, 0x9f, 0x42, - 0x51, 0xf7, 0x92, 0xa6, 0x7f, 0xf8, 0x0d, 0x3e, 0xdf, 0xb0, 0x3b, 0xb5, 0xb0, 0x4c, 0x84, 0x3c, - 0xec, 0xf4, 0x44, 0x13, 0x7b, 0xef, 0x1b, 0x9e, 0x9c, 0x87, 0x7c, 0x9e, 0x85, 0x8b, 0x50, 0x08, - 0x39, 0x3c, 0xd1, 0xa4, 0x7e, 0x94, 0x93, 0x1a, 0x0f, 0xfa, 0x3b, 0x0b, 0xe7, 0x20, 0x49, 0x9c, - 0x97, 0x68, 0xf4, 0x1f, 0xe3, 0xe8, 0x14, 0x7c, 0xe1, 0x19, 0xc8, 0x0a, 0xa7, 0x25, 0x1a, 0xf5, - 0xc7, 0x39, 0xaa, 0x87, 0x42, 0xd0, 0x85, 0xc3, 0x12, 0x8d, 0xfe, 0xd7, 0x04, 0xba, 0x40, 0x21, - 0xe8, 0xa3, 0xb3, 0xf0, 0xf3, 0x7f, 0x3d, 0xc9, 0x8d, 0x8e, 0xe0, 0xdd, 0x05, 0xc8, 0x70, 0x4f, - 0x25, 0x1a, 0xfb, 0x27, 0x78, 0xe7, 0x02, 0x63, 0xe1, 0x49, 0x48, 0x8d, 0xc8, 0xf0, 0xbf, 0xc1, - 0x51, 0x19, 0xfc, 0x42, 0x0d, 0xf2, 0x01, 0xef, 0x24, 0x1a, 0xfd, 0xa7, 0x38, 0x7a, 0x10, 0x8b, - 0x0c, 0x9d, 0x7b, 0x27, 0xd1, 0x04, 0x7e, 0x5a, 0x0c, 0x9d, 0x63, 0x10, 0xb6, 0x09, 0xc7, 0x24, - 0x1a, 0xfb, 0xfd, 0x82, 0xeb, 0x02, 0x65, 0xe1, 0x59, 0xc8, 0x79, 0xc6, 0x26, 0x1a, 0xff, 0x67, - 0x38, 0xbe, 0x8f, 0x43, 0x38, 0x10, 0x30, 0x76, 0xd1, 0x24, 0x7e, 0x56, 0x70, 0x20, 0x80, 0x45, - 0xb6, 0x51, 0xaf, 0x03, 0x13, 0x4d, 0xe9, 0xe7, 0xc4, 0x36, 0xea, 0xf1, 0x5f, 0xc8, 0x6a, 0x52, - 0x9d, 0x1f, 0x4d, 0xe2, 0x6f, 0x8a, 0xd5, 0xa4, 0xf0, 0x64, 0x18, 0xbd, 0x1e, 0x41, 0x34, 0x8d, - 0x5f, 0x10, 0xc3, 0xe8, 0x71, 0x08, 0x16, 0xd6, 0x01, 0xf5, 0x7b, 0x03, 0xd1, 0xf4, 0x3e, 0xc0, - 0xe9, 0x4d, 0xf4, 0x39, 0x03, 0x0b, 0xcf, 0xc1, 0x91, 0xc1, 0x9e, 0x40, 0x34, 0xd5, 0x5f, 0x7c, - 0xa3, 0x27, 0x76, 0x0b, 0x3a, 0x02, 0x0b, 0x1b, 0xbe, 0x49, 0x09, 0x7a, 0x01, 0xd1, 0x64, 0x7f, - 0xe9, 0x8d, 0xb0, 0xe2, 0x0e, 0x3a, 0x01, 0x0b, 0x15, 0x00, 0xdf, 0x00, 0x47, 0xd3, 0xfa, 0x20, + 0xb2, 0xe5, 0xc7, 0x29, 0x94, 0x15, 0xeb, 0xe1, 0xbc, 0x64, 0x4b, 0x91, 0xe4, 0xb8, 0xec, 0x92, + 0x52, 0x79, 0xc8, 0x4e, 0x2a, 0x25, 0xb9, 0x52, 0x89, 0x2b, 0x95, 0x30, 0x0e, 0xa5, 0x8a, 0x14, + 0x59, 0x8e, 0x6d, 0x89, 0x76, 0xe2, 0xa8, 0x52, 0x49, 0xf5, 0x6b, 0x1e, 0xfb, 0xc0, 0x2c, 0x4e, + 0x24, 0xed, 0x94, 0xfe, 0xb9, 0xdb, 0xee, 0xfe, 0xbe, 0xaf, 0xbb, 0xbf, 0xfe, 0xfa, 0x7b, 0x75, + 0x4f, 0x03, 0xbe, 0x7d, 0x01, 0xe6, 0x76, 0x4c, 0x73, 0xa7, 0x8d, 0xcf, 0x58, 0xb6, 0xe9, 0x9a, + 0x5b, 0xdd, 0xed, 0x33, 0x2d, 0xec, 0x34, 0x6d, 0xdd, 0x72, 0x4d, 0x7b, 0x9e, 0xd6, 0xa1, 0x12, + 0x83, 0x98, 0x17, 0x10, 0xf2, 0x0a, 0x4c, 0x5c, 0xd4, 0xdb, 0x78, 0xd1, 0x03, 0x6c, 0x60, 0x17, + 0x3d, 0x05, 0xc9, 0x6d, 0xbd, 0x8d, 0xa7, 0x63, 0x73, 0x89, 0x93, 0xf9, 0xb3, 0xf7, 0xcf, 0xf7, + 0x20, 0xcd, 0x87, 0x31, 0xd6, 0x49, 0xb5, 0x42, 0x31, 0xe4, 0xaf, 0x26, 0x61, 0x72, 0x40, 0x2b, + 0x42, 0x90, 0x34, 0xb4, 0x0e, 0xa1, 0x18, 0x3b, 0x99, 0x53, 0xe8, 0x6f, 0x34, 0x0d, 0x19, 0x4b, + 0x6b, 0x5e, 0xd7, 0x76, 0xf0, 0x74, 0x9c, 0x56, 0x8b, 0x22, 0x9a, 0x01, 0x68, 0x61, 0x0b, 0x1b, + 0x2d, 0x6c, 0x34, 0xf7, 0xa7, 0x13, 0x73, 0x89, 0x93, 0x39, 0x25, 0x50, 0x83, 0x1e, 0x82, 0x09, + 0xab, 0xbb, 0xd5, 0xd6, 0x9b, 0x6a, 0x00, 0x0c, 0xe6, 0x12, 0x27, 0x53, 0x8a, 0xc4, 0x1a, 0x16, + 0x7d, 0xe0, 0x13, 0x50, 0xba, 0x89, 0xb5, 0xeb, 0x41, 0xd0, 0x3c, 0x05, 0x2d, 0x92, 0xea, 0x00, + 0x60, 0x0d, 0xc6, 0x3b, 0xd8, 0x71, 0xb4, 0x1d, 0xac, 0xba, 0xfb, 0x16, 0x9e, 0x4e, 0xd2, 0xd9, + 0xcf, 0xf5, 0xcd, 0xbe, 0x77, 0xe6, 0x79, 0x8e, 0xb5, 0xb1, 0x6f, 0x61, 0x54, 0x81, 0x1c, 0x36, + 0xba, 0x1d, 0x46, 0x21, 0x35, 0x84, 0x7f, 0x75, 0xa3, 0xdb, 0xe9, 0xa5, 0x92, 0x25, 0x68, 0x9c, + 0x44, 0xc6, 0xc1, 0xf6, 0x0d, 0xbd, 0x89, 0xa7, 0xd3, 0x94, 0xc0, 0x89, 0x3e, 0x02, 0x0d, 0xd6, + 0xde, 0x4b, 0x43, 0xe0, 0xa1, 0x1a, 0xe4, 0xf0, 0x9e, 0x8b, 0x0d, 0x47, 0x37, 0x8d, 0xe9, 0x0c, + 0x25, 0xf2, 0xc0, 0x80, 0x55, 0xc4, 0xed, 0x56, 0x2f, 0x09, 0x1f, 0x0f, 0x9d, 0x87, 0x8c, 0x69, + 0xb9, 0xba, 0x69, 0x38, 0xd3, 0xd9, 0xb9, 0xd8, 0xc9, 0xfc, 0xd9, 0xbb, 0x07, 0x0a, 0xc2, 0x1a, + 0x83, 0x51, 0x04, 0x30, 0x5a, 0x02, 0xc9, 0x31, 0xbb, 0x76, 0x13, 0xab, 0x4d, 0xb3, 0x85, 0x55, + 0xdd, 0xd8, 0x36, 0xa7, 0x73, 0x94, 0xc0, 0x6c, 0xff, 0x44, 0x28, 0x60, 0xcd, 0x6c, 0xe1, 0x25, + 0x63, 0xdb, 0x54, 0x8a, 0x4e, 0xa8, 0x8c, 0x8e, 0x40, 0xda, 0xd9, 0x37, 0x5c, 0x6d, 0x6f, 0x7a, + 0x9c, 0x4a, 0x08, 0x2f, 0xc9, 0xbf, 0x99, 0x86, 0xd2, 0x28, 0x22, 0x76, 0x01, 0x52, 0xdb, 0x64, + 0x96, 0xd3, 0xf1, 0xc3, 0xf0, 0x80, 0xe1, 0x84, 0x99, 0x98, 0xbe, 0x43, 0x26, 0x56, 0x20, 0x6f, + 0x60, 0xc7, 0xc5, 0x2d, 0x26, 0x11, 0x89, 0x11, 0x65, 0x0a, 0x18, 0x52, 0xbf, 0x48, 0x25, 0xef, + 0x48, 0xa4, 0x9e, 0x87, 0x92, 0x37, 0x24, 0xd5, 0xd6, 0x8c, 0x1d, 0x21, 0x9b, 0x67, 0xa2, 0x46, + 0x32, 0x5f, 0x17, 0x78, 0x0a, 0x41, 0x53, 0x8a, 0x38, 0x54, 0x46, 0x8b, 0x00, 0xa6, 0x81, 0xcd, + 0x6d, 0xb5, 0x85, 0x9b, 0xed, 0xe9, 0xec, 0x10, 0x2e, 0xad, 0x11, 0x90, 0x3e, 0x2e, 0x99, 0xac, + 0xb6, 0xd9, 0x46, 0x4f, 0xfb, 0xa2, 0x96, 0x19, 0x22, 0x29, 0x2b, 0x6c, 0x93, 0xf5, 0x49, 0xdb, + 0x26, 0x14, 0x6d, 0x4c, 0xe4, 0x1e, 0xb7, 0xf8, 0xcc, 0x72, 0x74, 0x10, 0xf3, 0x91, 0x33, 0x53, + 0x38, 0x1a, 0x9b, 0x58, 0xc1, 0x0e, 0x16, 0xd1, 0x7d, 0xe0, 0x55, 0xa8, 0x54, 0xac, 0x80, 0x6a, + 0xa1, 0x71, 0x51, 0xb9, 0xaa, 0x75, 0x70, 0xf9, 0x65, 0x28, 0x86, 0xd9, 0x83, 0xa6, 0x20, 0xe5, + 0xb8, 0x9a, 0xed, 0x52, 0x29, 0x4c, 0x29, 0xac, 0x80, 0x24, 0x48, 0x60, 0xa3, 0x45, 0xb5, 0x5c, + 0x4a, 0x21, 0x3f, 0xd1, 0xf7, 0xf9, 0x13, 0x4e, 0xd0, 0x09, 0x3f, 0xd8, 0xbf, 0xa2, 0x21, 0xca, + 0xbd, 0xf3, 0x2e, 0x3f, 0x09, 0x85, 0xd0, 0x04, 0x46, 0xed, 0x5a, 0xfe, 0xff, 0xe0, 0xae, 0x81, + 0xa4, 0xd1, 0xf3, 0x30, 0xd5, 0x35, 0x74, 0xc3, 0xc5, 0xb6, 0x65, 0x63, 0x22, 0xb1, 0xac, 0xab, + 0xe9, 0xaf, 0x65, 0x86, 0xc8, 0xdc, 0x66, 0x10, 0x9a, 0x51, 0x51, 0x26, 0xbb, 0xfd, 0x95, 0xa7, + 0x73, 0xd9, 0xaf, 0x67, 0xa4, 0x57, 0x5e, 0x79, 0xe5, 0x95, 0xb8, 0xfc, 0x85, 0x34, 0x4c, 0x0d, + 0xda, 0x33, 0x03, 0xb7, 0xef, 0x11, 0x48, 0x1b, 0xdd, 0xce, 0x16, 0xb6, 0x29, 0x93, 0x52, 0x0a, + 0x2f, 0xa1, 0x0a, 0xa4, 0xda, 0xda, 0x16, 0x6e, 0x4f, 0x27, 0xe7, 0x62, 0x27, 0x8b, 0x67, 0x1f, + 0x1a, 0x69, 0x57, 0xce, 0x2f, 0x13, 0x14, 0x85, 0x61, 0xa2, 0x77, 0x42, 0x92, 0xab, 0x68, 0x42, + 0xe1, 0xf4, 0x68, 0x14, 0xc8, 0x5e, 0x52, 0x28, 0x1e, 0x3a, 0x0e, 0x39, 0xf2, 0x3f, 0x93, 0x8d, + 0x34, 0x1d, 0x73, 0x96, 0x54, 0x10, 0xb9, 0x40, 0x65, 0xc8, 0xd2, 0x6d, 0xd2, 0xc2, 0xc2, 0xb4, + 0x79, 0x65, 0x22, 0x58, 0x2d, 0xbc, 0xad, 0x75, 0xdb, 0xae, 0x7a, 0x43, 0x6b, 0x77, 0x31, 0x15, + 0xf8, 0x9c, 0x32, 0xce, 0x2b, 0xaf, 0x91, 0x3a, 0x34, 0x0b, 0x79, 0xb6, 0xab, 0x74, 0xa3, 0x85, + 0xf7, 0xa8, 0xf6, 0x4c, 0x29, 0x6c, 0xa3, 0x2d, 0x91, 0x1a, 0xd2, 0xfd, 0x4b, 0x8e, 0x69, 0x08, + 0xd1, 0xa4, 0x5d, 0x90, 0x0a, 0xda, 0xfd, 0x93, 0xbd, 0x8a, 0xfb, 0x9e, 0xc1, 0xd3, 0xeb, 0xdb, + 0x4b, 0x27, 0xa0, 0x44, 0x21, 0x1e, 0xe7, 0x4b, 0xaf, 0xb5, 0xa7, 0x27, 0xe6, 0x62, 0x27, 0xb3, + 0x4a, 0x91, 0x55, 0xaf, 0xf1, 0x5a, 0xf9, 0x33, 0x71, 0x48, 0x52, 0xc5, 0x52, 0x82, 0xfc, 0xc6, + 0x0b, 0xeb, 0x75, 0x75, 0x71, 0x6d, 0xb3, 0xba, 0x5c, 0x97, 0x62, 0xa8, 0x08, 0x40, 0x2b, 0x2e, + 0x2e, 0xaf, 0x55, 0x36, 0xa4, 0xb8, 0x57, 0x5e, 0x5a, 0xdd, 0x38, 0xff, 0x84, 0x94, 0xf0, 0x10, + 0x36, 0x59, 0x45, 0x32, 0x08, 0xf0, 0xf8, 0x59, 0x29, 0x85, 0x24, 0x18, 0x67, 0x04, 0x96, 0x9e, + 0xaf, 0x2f, 0x9e, 0x7f, 0x42, 0x4a, 0x87, 0x6b, 0x1e, 0x3f, 0x2b, 0x65, 0x50, 0x01, 0x72, 0xb4, + 0xa6, 0xba, 0xb6, 0xb6, 0x2c, 0x65, 0x3d, 0x9a, 0x8d, 0x0d, 0x65, 0x69, 0xf5, 0x92, 0x94, 0xf3, + 0x68, 0x5e, 0x52, 0xd6, 0x36, 0xd7, 0x25, 0xf0, 0x28, 0xac, 0xd4, 0x1b, 0x8d, 0xca, 0xa5, 0xba, + 0x94, 0xf7, 0x20, 0xaa, 0x2f, 0x6c, 0xd4, 0x1b, 0xd2, 0x78, 0x68, 0x58, 0x8f, 0x9f, 0x95, 0x0a, + 0x5e, 0x17, 0xf5, 0xd5, 0xcd, 0x15, 0xa9, 0x88, 0x26, 0xa0, 0xc0, 0xba, 0x10, 0x83, 0x28, 0xf5, + 0x54, 0x9d, 0x7f, 0x42, 0x92, 0xfc, 0x81, 0x30, 0x2a, 0x13, 0xa1, 0x8a, 0xf3, 0x4f, 0x48, 0x48, + 0xae, 0x41, 0x8a, 0x8a, 0x21, 0x42, 0x50, 0x5c, 0xae, 0x54, 0xeb, 0xcb, 0xea, 0xda, 0xfa, 0xc6, + 0xd2, 0xda, 0x6a, 0x65, 0x59, 0x8a, 0xf9, 0x75, 0x4a, 0xfd, 0x5d, 0x9b, 0x4b, 0x4a, 0x7d, 0x51, + 0x8a, 0x07, 0xeb, 0xd6, 0xeb, 0x95, 0x8d, 0xfa, 0xa2, 0x94, 0x90, 0x9b, 0x30, 0x35, 0x48, 0xa1, + 0x0e, 0xdc, 0x42, 0x01, 0x59, 0x88, 0x0f, 0x91, 0x05, 0x4a, 0xab, 0x57, 0x16, 0xe4, 0xaf, 0xc4, + 0x61, 0x72, 0x80, 0x51, 0x19, 0xd8, 0xc9, 0xb3, 0x90, 0x62, 0xb2, 0xcc, 0xcc, 0xec, 0xa9, 0x81, + 0xd6, 0x89, 0x4a, 0x76, 0x9f, 0xa9, 0xa5, 0x78, 0x41, 0x57, 0x23, 0x31, 0xc4, 0xd5, 0x20, 0x24, + 0xfa, 0x04, 0xf6, 0xdd, 0x7d, 0xca, 0x9f, 0xd9, 0xc7, 0xf3, 0xa3, 0xd8, 0x47, 0x5a, 0x77, 0x38, + 0x23, 0x90, 0x1a, 0x60, 0x04, 0x2e, 0xc0, 0x44, 0x1f, 0xa1, 0x91, 0x95, 0xf1, 0xfb, 0x62, 0x30, + 0x3d, 0x8c, 0x39, 0x11, 0x2a, 0x31, 0x1e, 0x52, 0x89, 0x17, 0x7a, 0x39, 0x78, 0xef, 0xf0, 0x45, + 0xe8, 0x5b, 0xeb, 0x8f, 0xc5, 0xe0, 0xc8, 0x60, 0x97, 0x72, 0xe0, 0x18, 0xde, 0x09, 0xe9, 0x0e, + 0x76, 0x77, 0x4d, 0xe1, 0x56, 0x3d, 0x38, 0xc0, 0x58, 0x93, 0xe6, 0xde, 0xc5, 0xe6, 0x58, 0x41, + 0x6b, 0x9f, 0x18, 0xe6, 0x17, 0xb2, 0xd1, 0xf4, 0x8d, 0xf4, 0xc7, 0xe3, 0x70, 0xd7, 0x40, 0xe2, + 0x03, 0x07, 0x7a, 0x0f, 0x80, 0x6e, 0x58, 0x5d, 0x97, 0xb9, 0x4e, 0x4c, 0x13, 0xe7, 0x68, 0x0d, + 0x55, 0x5e, 0x44, 0xcb, 0x76, 0x5d, 0xaf, 0x3d, 0x41, 0xdb, 0x81, 0x55, 0x51, 0x80, 0xa7, 0xfc, + 0x81, 0x26, 0xe9, 0x40, 0x67, 0x86, 0xcc, 0xb4, 0x4f, 0x30, 0x1f, 0x05, 0xa9, 0xd9, 0xd6, 0xb1, + 0xe1, 0xaa, 0x8e, 0x6b, 0x63, 0xad, 0xa3, 0x1b, 0x3b, 0xd4, 0xd4, 0x64, 0x17, 0x52, 0xdb, 0x5a, + 0xdb, 0xc1, 0x4a, 0x89, 0x35, 0x37, 0x44, 0x2b, 0xc1, 0xa0, 0x02, 0x64, 0x07, 0x30, 0xd2, 0x21, + 0x0c, 0xd6, 0xec, 0x61, 0xc8, 0x3f, 0x9d, 0x83, 0x7c, 0xc0, 0x01, 0x47, 0xf7, 0xc2, 0xf8, 0x4b, + 0xda, 0x0d, 0x4d, 0x15, 0x41, 0x15, 0xe3, 0x44, 0x9e, 0xd4, 0xad, 0xf3, 0xc0, 0xea, 0x51, 0x98, + 0xa2, 0x20, 0x66, 0xd7, 0xc5, 0xb6, 0xda, 0x6c, 0x6b, 0x8e, 0x43, 0x99, 0x96, 0xa5, 0xa0, 0x88, + 0xb4, 0xad, 0x91, 0xa6, 0x9a, 0x68, 0x41, 0xe7, 0x60, 0x92, 0x62, 0x74, 0xba, 0x6d, 0x57, 0xb7, + 0xda, 0x58, 0x25, 0x61, 0x9e, 0x43, 0x4d, 0x8e, 0x37, 0xb2, 0x09, 0x02, 0xb1, 0xc2, 0x01, 0xc8, + 0x88, 0x1c, 0xb4, 0x08, 0xf7, 0x50, 0xb4, 0x1d, 0x6c, 0x60, 0x5b, 0x73, 0xb1, 0x8a, 0xdf, 0xdb, + 0xd5, 0xda, 0x8e, 0xaa, 0x19, 0x2d, 0x75, 0x57, 0x73, 0x76, 0xa7, 0xa7, 0x08, 0x81, 0x6a, 0x7c, + 0x3a, 0xa6, 0x1c, 0x23, 0x80, 0x97, 0x38, 0x5c, 0x9d, 0x82, 0x55, 0x8c, 0xd6, 0x65, 0xcd, 0xd9, + 0x45, 0x0b, 0x70, 0x84, 0x52, 0x71, 0x5c, 0x5b, 0x37, 0x76, 0xd4, 0xe6, 0x2e, 0x6e, 0x5e, 0x57, + 0xbb, 0xee, 0xf6, 0x53, 0xd3, 0xc7, 0x83, 0xfd, 0xd3, 0x11, 0x36, 0x28, 0x4c, 0x8d, 0x80, 0x6c, + 0xba, 0xdb, 0x4f, 0xa1, 0x06, 0x8c, 0x93, 0xc5, 0xe8, 0xe8, 0x2f, 0x63, 0x75, 0xdb, 0xb4, 0xa9, + 0x0d, 0x2d, 0x0e, 0x50, 0x4d, 0x01, 0x0e, 0xce, 0xaf, 0x71, 0x84, 0x15, 0xb3, 0x85, 0x17, 0x52, + 0x8d, 0xf5, 0x7a, 0x7d, 0x51, 0xc9, 0x0b, 0x2a, 0x17, 0x4d, 0x9b, 0x08, 0xd4, 0x8e, 0xe9, 0x31, + 0x38, 0xcf, 0x04, 0x6a, 0xc7, 0x14, 0xec, 0x3d, 0x07, 0x93, 0xcd, 0x26, 0x9b, 0xb3, 0xde, 0x54, + 0x79, 0x30, 0xe6, 0x4c, 0x4b, 0x21, 0x66, 0x35, 0x9b, 0x97, 0x18, 0x00, 0x97, 0x71, 0x07, 0x3d, + 0x0d, 0x77, 0xf9, 0xcc, 0x0a, 0x22, 0x4e, 0xf4, 0xcd, 0xb2, 0x17, 0xf5, 0x1c, 0x4c, 0x5a, 0xfb, + 0xfd, 0x88, 0x28, 0xd4, 0xa3, 0xb5, 0xdf, 0x8b, 0xf6, 0x24, 0x4c, 0x59, 0xbb, 0x56, 0x3f, 0xde, + 0xe9, 0x20, 0x1e, 0xb2, 0x76, 0xad, 0x5e, 0xc4, 0x07, 0x68, 0x64, 0x6e, 0xe3, 0xa6, 0xe6, 0xe2, + 0xd6, 0xf4, 0xd1, 0x20, 0x78, 0xa0, 0x01, 0xcd, 0x83, 0xd4, 0x6c, 0xaa, 0xd8, 0xd0, 0xb6, 0xda, + 0x58, 0xd5, 0x6c, 0x6c, 0x68, 0xce, 0xf4, 0x2c, 0x05, 0x4e, 0xba, 0x76, 0x17, 0x2b, 0xc5, 0x66, + 0xb3, 0x4e, 0x1b, 0x2b, 0xb4, 0x0d, 0x9d, 0x86, 0x09, 0x73, 0xeb, 0xa5, 0x26, 0x93, 0x48, 0xd5, + 0xb2, 0xf1, 0xb6, 0xbe, 0x37, 0x7d, 0x3f, 0x65, 0x6f, 0x89, 0x34, 0x50, 0x79, 0x5c, 0xa7, 0xd5, + 0xe8, 0x14, 0x48, 0x4d, 0x67, 0x57, 0xb3, 0x2d, 0xaa, 0x92, 0x1d, 0x4b, 0x6b, 0xe2, 0xe9, 0x07, + 0x18, 0x28, 0xab, 0x5f, 0x15, 0xd5, 0x64, 0x47, 0x38, 0x37, 0xf5, 0x6d, 0x57, 0x50, 0x3c, 0xc1, + 0x76, 0x04, 0xad, 0xe3, 0xd4, 0x4e, 0x82, 0x44, 0x38, 0x11, 0xea, 0xf8, 0x24, 0x05, 0x2b, 0x5a, + 0xbb, 0x56, 0xb0, 0xdf, 0xfb, 0xa0, 0x40, 0x20, 0xfd, 0x4e, 0x4f, 0x31, 0xc7, 0xcd, 0xda, 0x0d, + 0xf4, 0xf8, 0x04, 0x1c, 0x21, 0x40, 0x1d, 0xec, 0x6a, 0x2d, 0xcd, 0xd5, 0x02, 0xd0, 0x0f, 0x53, + 0x68, 0xc2, 0xf6, 0x15, 0xde, 0x18, 0x1a, 0xa7, 0xdd, 0xdd, 0xda, 0xf7, 0x04, 0xeb, 0x11, 0x36, + 0x4e, 0x52, 0x27, 0x44, 0xeb, 0x2d, 0x73, 0xce, 0xe5, 0x05, 0x18, 0x0f, 0xca, 0x3d, 0xca, 0x01, + 0x93, 0x7c, 0x29, 0x46, 0x9c, 0xa0, 0xda, 0xda, 0x22, 0x71, 0x5f, 0x5e, 0xac, 0x4b, 0x71, 0xe2, + 0x46, 0x2d, 0x2f, 0x6d, 0xd4, 0x55, 0x65, 0x73, 0x75, 0x63, 0x69, 0xa5, 0x2e, 0x25, 0x02, 0x8e, + 0xfd, 0x95, 0x64, 0xf6, 0x41, 0xe9, 0x04, 0xf1, 0x1a, 0x8a, 0xe1, 0x48, 0x0d, 0xbd, 0x03, 0x8e, + 0x8a, 0xb4, 0x8a, 0x83, 0x5d, 0xf5, 0xa6, 0x6e, 0xd3, 0x0d, 0xd9, 0xd1, 0x98, 0x71, 0xf4, 0xe4, + 0x67, 0x8a, 0x43, 0x35, 0xb0, 0xfb, 0x9c, 0x6e, 0x93, 0xed, 0xd6, 0xd1, 0x5c, 0xb4, 0x0c, 0xb3, + 0x86, 0xa9, 0x3a, 0xae, 0x66, 0xb4, 0x34, 0xbb, 0xa5, 0xfa, 0x09, 0x2d, 0x55, 0x6b, 0x36, 0xb1, + 0xe3, 0x98, 0xcc, 0x10, 0x7a, 0x54, 0xee, 0x36, 0xcc, 0x06, 0x07, 0xf6, 0x2d, 0x44, 0x85, 0x83, + 0xf6, 0x88, 0x6f, 0x62, 0x98, 0xf8, 0x1e, 0x87, 0x5c, 0x47, 0xb3, 0x54, 0x6c, 0xb8, 0xf6, 0x3e, + 0xf5, 0xcf, 0xb3, 0x4a, 0xb6, 0xa3, 0x59, 0x75, 0x52, 0x7e, 0x5b, 0xc2, 0xa4, 0x2b, 0xc9, 0x6c, + 0x52, 0x4a, 0x5d, 0x49, 0x66, 0x53, 0x52, 0xfa, 0x4a, 0x32, 0x9b, 0x96, 0x32, 0x57, 0x92, 0xd9, + 0xac, 0x94, 0xbb, 0x92, 0xcc, 0xe6, 0x24, 0x90, 0x7f, 0x26, 0x09, 0xe3, 0x41, 0x0f, 0x9e, 0x04, + 0x44, 0x4d, 0x6a, 0xc3, 0x62, 0x54, 0xcb, 0xdd, 0x77, 0xa0, 0xbf, 0x3f, 0x5f, 0x23, 0xc6, 0x6d, + 0x21, 0xcd, 0xdc, 0x65, 0x85, 0x61, 0x12, 0xc7, 0x82, 0x88, 0x1f, 0x66, 0xee, 0x49, 0x56, 0xe1, + 0x25, 0x74, 0x09, 0xd2, 0x2f, 0x39, 0x94, 0x76, 0x9a, 0xd2, 0xbe, 0xff, 0x60, 0xda, 0x57, 0x1a, + 0x94, 0x78, 0xee, 0x4a, 0x43, 0x5d, 0x5d, 0x53, 0x56, 0x2a, 0xcb, 0x0a, 0x47, 0x47, 0xc7, 0x20, + 0xd9, 0xd6, 0x5e, 0xde, 0x0f, 0x9b, 0x41, 0x5a, 0x85, 0xe6, 0xa1, 0xd4, 0x35, 0x6e, 0x60, 0x5b, + 0xdf, 0xd6, 0x71, 0x4b, 0xa5, 0x50, 0xa5, 0x20, 0x54, 0xd1, 0x6f, 0x5d, 0x26, 0xf0, 0x23, 0x2e, + 0xe3, 0x31, 0x48, 0xde, 0xc4, 0xda, 0xf5, 0xb0, 0xb1, 0xa2, 0x55, 0x6f, 0xe1, 0x76, 0x3a, 0x03, + 0x29, 0xca, 0x5f, 0x04, 0xc0, 0x39, 0x2c, 0x8d, 0xa1, 0x2c, 0x24, 0x6b, 0x6b, 0x0a, 0xd9, 0x52, + 0x12, 0x8c, 0xb3, 0x5a, 0x75, 0x7d, 0xa9, 0x5e, 0xab, 0x4b, 0x71, 0xf9, 0x1c, 0xa4, 0x19, 0xd3, + 0xc8, 0x76, 0xf3, 0xd8, 0x26, 0x8d, 0xf1, 0x22, 0xa7, 0x11, 0x13, 0xad, 0x9b, 0x2b, 0xd5, 0xba, + 0x22, 0xc5, 0xfb, 0x84, 0x45, 0x76, 0x60, 0x3c, 0xe8, 0xc9, 0xbf, 0x3d, 0xe1, 0xfc, 0xe7, 0x63, + 0x90, 0x0f, 0x78, 0xe6, 0xc4, 0xa5, 0xd2, 0xda, 0x6d, 0xf3, 0xa6, 0xaa, 0xb5, 0x75, 0xcd, 0xe1, + 0xa2, 0x04, 0xb4, 0xaa, 0x42, 0x6a, 0x46, 0x5d, 0xba, 0xb7, 0x69, 0x93, 0xa5, 0xa4, 0xb4, 0xfc, + 0xa1, 0x18, 0x48, 0xbd, 0xae, 0x71, 0xcf, 0x30, 0x63, 0x7f, 0x95, 0xc3, 0x94, 0x7f, 0x39, 0x06, + 0xc5, 0xb0, 0x3f, 0xdc, 0x33, 0xbc, 0x7b, 0xff, 0x4a, 0x87, 0xf7, 0x87, 0x71, 0x28, 0x84, 0xbc, + 0xe0, 0x51, 0x47, 0xf7, 0x5e, 0x98, 0xd0, 0x5b, 0xb8, 0x63, 0x99, 0x2e, 0x36, 0x9a, 0xfb, 0x6a, + 0x1b, 0xdf, 0xc0, 0xed, 0x69, 0x99, 0x2a, 0x99, 0x33, 0x07, 0xfb, 0xd9, 0xf3, 0x4b, 0x3e, 0xde, + 0x32, 0x41, 0x5b, 0x98, 0x5c, 0x5a, 0xac, 0xaf, 0xac, 0xaf, 0x6d, 0xd4, 0x57, 0x6b, 0x2f, 0xa8, + 0x9b, 0xab, 0x57, 0x57, 0xd7, 0x9e, 0x5b, 0x55, 0x24, 0xbd, 0x07, 0xec, 0x2d, 0xdc, 0xf6, 0xeb, + 0x20, 0xf5, 0x0e, 0x0a, 0x1d, 0x85, 0x41, 0xc3, 0x92, 0xc6, 0xd0, 0x24, 0x94, 0x56, 0xd7, 0xd4, + 0xc6, 0xd2, 0x62, 0x5d, 0xad, 0x5f, 0xbc, 0x58, 0xaf, 0x6d, 0x34, 0x58, 0xe6, 0xc4, 0x83, 0xde, + 0x08, 0x6d, 0x70, 0xf9, 0x17, 0x13, 0x30, 0x39, 0x60, 0x24, 0xa8, 0xc2, 0x63, 0x1e, 0x16, 0x86, + 0x3d, 0x32, 0xca, 0xe8, 0xe7, 0x89, 0xd7, 0xb1, 0xae, 0xd9, 0x2e, 0x0f, 0x91, 0x4e, 0x01, 0xe1, + 0x92, 0xe1, 0x12, 0xe5, 0x6a, 0xf3, 0x8c, 0x14, 0x0b, 0x84, 0x4a, 0x7e, 0x3d, 0x4b, 0x4a, 0x3d, + 0x0c, 0xc8, 0x32, 0x1d, 0xdd, 0xd5, 0x6f, 0x60, 0x55, 0x37, 0x44, 0xfa, 0x8a, 0x04, 0x46, 0x49, + 0x45, 0x12, 0x2d, 0x4b, 0x86, 0xeb, 0x41, 0x1b, 0x78, 0x47, 0xeb, 0x81, 0x26, 0xca, 0x3f, 0xa1, + 0x48, 0xa2, 0xc5, 0x83, 0xbe, 0x17, 0xc6, 0x5b, 0x66, 0x97, 0x78, 0x8b, 0x0c, 0x8e, 0xd8, 0x9a, + 0x98, 0x92, 0x67, 0x75, 0x1e, 0x08, 0x8f, 0x03, 0xfc, 0xbc, 0xd9, 0xb8, 0x92, 0x67, 0x75, 0x0c, + 0xe4, 0x04, 0x94, 0xb4, 0x9d, 0x1d, 0x9b, 0x10, 0x17, 0x84, 0x58, 0x64, 0x53, 0xf4, 0xaa, 0x29, + 0x60, 0xf9, 0x0a, 0x64, 0x05, 0x1f, 0x88, 0xb1, 0x27, 0x9c, 0x50, 0x2d, 0x16, 0xae, 0xc7, 0x4f, + 0xe6, 0x94, 0xac, 0x21, 0x1a, 0xef, 0x85, 0x71, 0xdd, 0x51, 0xfd, 0x63, 0x80, 0xf8, 0x5c, 0xfc, + 0x64, 0x56, 0xc9, 0xeb, 0x8e, 0x97, 0x42, 0x95, 0x3f, 0x16, 0x87, 0x62, 0xf8, 0x18, 0x03, 0x2d, + 0x42, 0xb6, 0x6d, 0x36, 0x35, 0x2a, 0x5a, 0xec, 0x0c, 0xed, 0x64, 0xc4, 0xc9, 0xc7, 0xfc, 0x32, + 0x87, 0x57, 0x3c, 0xcc, 0xf2, 0xbf, 0x89, 0x41, 0x56, 0x54, 0xa3, 0x23, 0x90, 0xb4, 0x34, 0x77, + 0x97, 0x92, 0x4b, 0x55, 0xe3, 0x52, 0x4c, 0xa1, 0x65, 0x52, 0xef, 0x58, 0x9a, 0x41, 0x45, 0x80, + 0xd7, 0x93, 0x32, 0x59, 0xd7, 0x36, 0xd6, 0x5a, 0x34, 0x6c, 0x32, 0x3b, 0x1d, 0x6c, 0xb8, 0x8e, + 0x58, 0x57, 0x5e, 0x5f, 0xe3, 0xd5, 0xe8, 0x21, 0x98, 0x70, 0x6d, 0x4d, 0x6f, 0x87, 0x60, 0x93, + 0x14, 0x56, 0x12, 0x0d, 0x1e, 0xf0, 0x02, 0x1c, 0x13, 0x74, 0x5b, 0xd8, 0xd5, 0x9a, 0xbb, 0xb8, + 0xe5, 0x23, 0xa5, 0x69, 0x7a, 0xe4, 0x28, 0x07, 0x58, 0xe4, 0xed, 0x02, 0x57, 0xfe, 0x72, 0x0c, + 0x26, 0x44, 0xa0, 0xd7, 0xf2, 0x98, 0xb5, 0x02, 0xa0, 0x19, 0x86, 0xe9, 0x06, 0xd9, 0xd5, 0x2f, + 0xca, 0x7d, 0x78, 0xf3, 0x15, 0x0f, 0x49, 0x09, 0x10, 0x28, 0x77, 0x00, 0xfc, 0x96, 0xa1, 0x6c, + 0x9b, 0x85, 0x3c, 0x3f, 0xa3, 0xa2, 0x07, 0x9d, 0x2c, 0x35, 0x00, 0xac, 0x8a, 0x44, 0x84, 0x68, + 0x0a, 0x52, 0x5b, 0x78, 0x47, 0x37, 0x78, 0xe6, 0x99, 0x15, 0x44, 0x02, 0x27, 0xe9, 0x25, 0x70, + 0xaa, 0xff, 0x3f, 0x4c, 0x36, 0xcd, 0x4e, 0xef, 0x70, 0xab, 0x52, 0x4f, 0x7a, 0xc2, 0xb9, 0x1c, + 0x7b, 0xf1, 0x11, 0x0e, 0xb4, 0x63, 0xb6, 0x35, 0x63, 0x67, 0xde, 0xb4, 0x77, 0xfc, 0x83, 0x5a, + 0xe2, 0x21, 0x39, 0x81, 0xe3, 0x5a, 0x6b, 0xeb, 0x7f, 0xc6, 0x62, 0xbf, 0x12, 0x4f, 0x5c, 0x5a, + 0xaf, 0xfe, 0x5a, 0xbc, 0x7c, 0x89, 0x21, 0xae, 0x0b, 0x66, 0x28, 0x78, 0xbb, 0x8d, 0x9b, 0x64, + 0x82, 0xf0, 0xc7, 0x0f, 0xc1, 0xd4, 0x8e, 0xb9, 0x63, 0x52, 0x4a, 0x67, 0xc8, 0x2f, 0x7e, 0xd2, + 0x9b, 0xf3, 0x6a, 0xcb, 0x91, 0xc7, 0xc2, 0x0b, 0xab, 0x30, 0xc9, 0x81, 0x55, 0x7a, 0xd4, 0xc4, + 0x02, 0x21, 0x74, 0x60, 0x16, 0x6e, 0xfa, 0xd7, 0xbf, 0x4a, 0xcd, 0xb7, 0x32, 0xc1, 0x51, 0x49, + 0x1b, 0x8b, 0x95, 0x16, 0x14, 0xb8, 0x2b, 0x44, 0x8f, 0x6d, 0x52, 0x6c, 0x47, 0x50, 0xfc, 0xe7, + 0x9c, 0xe2, 0x64, 0x80, 0x62, 0x83, 0xa3, 0x2e, 0xd4, 0xa0, 0x70, 0x18, 0x5a, 0xff, 0x82, 0xd3, + 0x1a, 0xc7, 0x41, 0x22, 0x97, 0xa0, 0x44, 0x89, 0x34, 0xbb, 0x8e, 0x6b, 0x76, 0xa8, 0x06, 0x3c, + 0x98, 0xcc, 0xbf, 0xfc, 0x2a, 0xdb, 0x35, 0x45, 0x82, 0x56, 0xf3, 0xb0, 0x16, 0x16, 0x80, 0x9e, + 0xae, 0xb5, 0x70, 0xb3, 0x1d, 0x41, 0xe1, 0x8b, 0x7c, 0x20, 0x1e, 0xfc, 0xc2, 0x35, 0x98, 0x22, + 0xbf, 0xa9, 0x82, 0x0a, 0x8e, 0x24, 0x3a, 0x65, 0x37, 0xfd, 0xe5, 0xf7, 0xb1, 0x8d, 0x39, 0xe9, + 0x11, 0x08, 0x8c, 0x29, 0xb0, 0x8a, 0x3b, 0xd8, 0x75, 0xb1, 0xed, 0xa8, 0x5a, 0x7b, 0xd0, 0xf0, + 0x02, 0x39, 0x8f, 0xe9, 0x5f, 0xf8, 0x66, 0x78, 0x15, 0x2f, 0x31, 0xcc, 0x4a, 0xbb, 0xbd, 0xb0, + 0x09, 0x47, 0x07, 0x48, 0xc5, 0x08, 0x34, 0x7f, 0x91, 0xd3, 0x9c, 0xea, 0x93, 0x0c, 0x42, 0x76, + 0x1d, 0x44, 0xbd, 0xb7, 0x96, 0x23, 0xd0, 0xfc, 0x25, 0x4e, 0x13, 0x71, 0x5c, 0xb1, 0xa4, 0x84, + 0xe2, 0x15, 0x98, 0xb8, 0x81, 0xed, 0x2d, 0xd3, 0xe1, 0x79, 0xa6, 0x11, 0xc8, 0xfd, 0x32, 0x27, + 0x57, 0xe2, 0x88, 0x34, 0xf1, 0x44, 0x68, 0x3d, 0x0d, 0xd9, 0x6d, 0xad, 0x89, 0x47, 0x20, 0x71, + 0x9b, 0x93, 0xc8, 0x10, 0x78, 0x82, 0x5a, 0x81, 0xf1, 0x1d, 0x93, 0xdb, 0xa8, 0x68, 0xf4, 0x0f, + 0x71, 0xf4, 0xbc, 0xc0, 0xe1, 0x24, 0x2c, 0xd3, 0xea, 0xb6, 0x89, 0x01, 0x8b, 0x26, 0xf1, 0x77, + 0x04, 0x09, 0x81, 0xc3, 0x49, 0x1c, 0x82, 0xad, 0xaf, 0x0a, 0x12, 0x4e, 0x80, 0x9f, 0xcf, 0x42, + 0xde, 0x34, 0xda, 0xfb, 0xa6, 0x31, 0xca, 0x20, 0x3e, 0xcc, 0x29, 0x00, 0x47, 0x21, 0x04, 0x2e, + 0x40, 0x6e, 0xd4, 0x85, 0xf8, 0xd5, 0x6f, 0x8a, 0xed, 0x21, 0x56, 0xe0, 0x12, 0x94, 0x84, 0x82, + 0xd2, 0x4d, 0x63, 0x04, 0x12, 0x1f, 0xe5, 0x24, 0x8a, 0x01, 0x34, 0x3e, 0x0d, 0x17, 0x3b, 0xee, + 0x0e, 0x1e, 0x85, 0xc8, 0xc7, 0xc4, 0x34, 0x38, 0x0a, 0x67, 0xe5, 0x16, 0x36, 0x9a, 0xbb, 0xa3, + 0x51, 0xf8, 0xb8, 0x60, 0xa5, 0xc0, 0x21, 0x24, 0x6a, 0x50, 0xe8, 0x68, 0xb6, 0xb3, 0xab, 0xb5, + 0x47, 0x5a, 0x8e, 0x4f, 0x70, 0x1a, 0xe3, 0x1e, 0x12, 0xe7, 0x48, 0xd7, 0x38, 0x0c, 0x99, 0x5f, + 0x13, 0x1c, 0x09, 0xa0, 0xf1, 0xad, 0xe7, 0xb8, 0x34, 0x29, 0x77, 0x18, 0x6a, 0x7f, 0x4f, 0x6c, + 0x3d, 0x86, 0xbb, 0x12, 0xa4, 0x78, 0x01, 0x72, 0x8e, 0xfe, 0xf2, 0x48, 0x64, 0xfe, 0xbe, 0x58, + 0x69, 0x8a, 0x40, 0x90, 0x5f, 0x80, 0x63, 0x03, 0xcd, 0xc4, 0x08, 0xc4, 0xfe, 0x01, 0x27, 0x76, + 0x64, 0x80, 0xa9, 0xe0, 0x2a, 0xe1, 0xb0, 0x24, 0xff, 0xa1, 0x50, 0x09, 0xb8, 0x87, 0xd6, 0x3a, + 0x89, 0x1a, 0x1c, 0x6d, 0xfb, 0x70, 0x5c, 0xfb, 0x47, 0x82, 0x6b, 0x0c, 0x37, 0xc4, 0xb5, 0x0d, + 0x38, 0xc2, 0x29, 0x1e, 0x6e, 0x5d, 0x3f, 0x29, 0x14, 0x2b, 0xc3, 0xde, 0x0c, 0xaf, 0xee, 0xf7, + 0x43, 0xd9, 0x63, 0xa7, 0x70, 0x4f, 0x1d, 0xb5, 0xa3, 0x59, 0x23, 0x50, 0xfe, 0x75, 0x4e, 0x59, + 0x68, 0x7c, 0xcf, 0xbf, 0x75, 0x56, 0x34, 0x8b, 0x10, 0x7f, 0x1e, 0xa6, 0x05, 0xf1, 0xae, 0x61, + 0xe3, 0xa6, 0xb9, 0x63, 0xe8, 0x2f, 0xe3, 0xd6, 0x08, 0xa4, 0x7f, 0xa3, 0x67, 0xa9, 0x36, 0x03, + 0xe8, 0x84, 0xf2, 0x12, 0x48, 0x9e, 0xaf, 0xa2, 0xea, 0x1d, 0xcb, 0xb4, 0xdd, 0x08, 0x8a, 0x9f, + 0x12, 0x2b, 0xe5, 0xe1, 0x2d, 0x51, 0xb4, 0x85, 0x3a, 0xb0, 0x93, 0xea, 0x51, 0x45, 0xf2, 0xd3, + 0x9c, 0x50, 0xc1, 0xc7, 0xe2, 0x8a, 0xa3, 0x69, 0x76, 0x2c, 0xcd, 0x1e, 0x45, 0xff, 0xfd, 0x63, + 0xa1, 0x38, 0x38, 0x0a, 0x57, 0x1c, 0xc4, 0xa3, 0x23, 0xd6, 0x7e, 0x04, 0x0a, 0x9f, 0x11, 0x8a, + 0x43, 0xe0, 0x70, 0x12, 0xc2, 0x61, 0x18, 0x81, 0xc4, 0x67, 0x05, 0x09, 0x81, 0x43, 0x48, 0xbc, + 0xcb, 0x37, 0xb4, 0x36, 0xde, 0xd1, 0x1d, 0xd7, 0x66, 0x4e, 0xf1, 0xc1, 0xa4, 0x3e, 0xf7, 0xcd, + 0xb0, 0x13, 0xa6, 0x04, 0x50, 0x89, 0x26, 0xe2, 0x69, 0x5a, 0x1a, 0x33, 0x45, 0x0f, 0xec, 0x37, + 0x85, 0x26, 0x0a, 0xa0, 0x91, 0xb1, 0x05, 0x3c, 0x44, 0xc2, 0xf6, 0x26, 0x89, 0x14, 0x46, 0x20, + 0xf7, 0x4f, 0x7a, 0x06, 0xd7, 0x10, 0xb8, 0x84, 0x66, 0xc0, 0xff, 0xe9, 0x1a, 0xd7, 0xf1, 0xfe, + 0x48, 0xd2, 0xf9, 0x5b, 0x3d, 0xfe, 0xcf, 0x26, 0xc3, 0x64, 0x3a, 0xa4, 0xd4, 0xe3, 0x4f, 0xa1, + 0xa8, 0x7b, 0x49, 0xd3, 0x3f, 0xf4, 0x06, 0x9f, 0x6f, 0xd8, 0x9d, 0x5a, 0x58, 0x26, 0x42, 0x1e, + 0x76, 0x7a, 0xa2, 0x89, 0xbd, 0xef, 0x0d, 0x4f, 0xce, 0x43, 0x3e, 0xcf, 0xc2, 0x45, 0x28, 0x84, + 0x1c, 0x9e, 0x68, 0x52, 0x3f, 0xc2, 0x49, 0x8d, 0x07, 0xfd, 0x9d, 0x85, 0x73, 0x90, 0x24, 0xce, + 0x4b, 0x34, 0xfa, 0x8f, 0x72, 0x74, 0x0a, 0xbe, 0xf0, 0x0c, 0x64, 0x85, 0xd3, 0x12, 0x8d, 0xfa, + 0x63, 0x1c, 0xd5, 0x43, 0x21, 0xe8, 0xc2, 0x61, 0x89, 0x46, 0xff, 0x1b, 0x02, 0x5d, 0xa0, 0x10, + 0xf4, 0xd1, 0x59, 0xf8, 0xf9, 0xbf, 0x99, 0xe4, 0x46, 0x47, 0xf0, 0xee, 0x02, 0x64, 0xb8, 0xa7, + 0x12, 0x8d, 0xfd, 0xe3, 0xbc, 0x73, 0x81, 0xb1, 0xf0, 0x24, 0xa4, 0x46, 0x64, 0xf8, 0xdf, 0xe2, + 0xa8, 0x0c, 0x7e, 0xa1, 0x06, 0xf9, 0x80, 0x77, 0x12, 0x8d, 0xfe, 0x93, 0x1c, 0x3d, 0x88, 0x45, + 0x86, 0xce, 0xbd, 0x93, 0x68, 0x02, 0x3f, 0x25, 0x86, 0xce, 0x31, 0x08, 0xdb, 0x84, 0x63, 0x12, + 0x8d, 0xfd, 0x01, 0xc1, 0x75, 0x81, 0xb2, 0xf0, 0x2c, 0xe4, 0x3c, 0x63, 0x13, 0x8d, 0xff, 0xd3, + 0x1c, 0xdf, 0xc7, 0x21, 0x1c, 0x08, 0x18, 0xbb, 0x68, 0x12, 0x3f, 0x23, 0x38, 0x10, 0xc0, 0x22, + 0xdb, 0xa8, 0xd7, 0x81, 0x89, 0xa6, 0xf4, 0xb3, 0x62, 0x1b, 0xf5, 0xf8, 0x2f, 0x64, 0x35, 0xa9, + 0xce, 0x8f, 0x26, 0xf1, 0xb7, 0xc5, 0x6a, 0x52, 0x78, 0x32, 0x8c, 0x5e, 0x8f, 0x20, 0x9a, 0xc6, + 0xcf, 0x8b, 0x61, 0xf4, 0x38, 0x04, 0x0b, 0xeb, 0x80, 0xfa, 0xbd, 0x81, 0x68, 0x7a, 0x1f, 0xe4, + 0xf4, 0x26, 0xfa, 0x9c, 0x81, 0x85, 0xe7, 0xe0, 0xc8, 0x60, 0x4f, 0x20, 0x9a, 0xea, 0x2f, 0xbc, + 0xd1, 0x13, 0xbb, 0x05, 0x1d, 0x81, 0x85, 0x0d, 0xdf, 0xa4, 0x04, 0xbd, 0x80, 0x68, 0xb2, 0xbf, + 0xf8, 0x46, 0x58, 0x71, 0x07, 0x9d, 0x80, 0x85, 0x0a, 0x80, 0x6f, 0x80, 0xa3, 0x69, 0xfd, 0x32, 0xa7, 0x15, 0x40, 0x22, 0x5b, 0x83, 0xdb, 0xdf, 0x68, 0xfc, 0xdb, 0x62, 0x6b, 0x70, 0x0c, 0xb2, 0x35, 0x84, 0xe9, 0x8d, 0xc6, 0xfe, 0x90, 0xd8, 0x1a, 0x02, 0x85, 0x48, 0x76, 0xc0, 0xba, 0x45, 0x53, 0xf8, 0xb0, 0x90, 0xec, 0x00, 0xd6, 0xc2, 0x2a, 0x4c, 0xf4, 0x19, 0xc4, 0x68, 0x52, 0xbf, 0xc2, 0x49, 0x49, 0xbd, 0xf6, 0x30, 0x68, 0xbc, 0xb8, 0x31, 0x8c, 0xa6, 0xf6, 0x91, 0x1e, 0xe3, 0xc5, 0x6d, 0xe1, 0xc2, 0x05, 0xc8, 0x1a, 0xdd, 0x76, 0x9b, 0x6c, 0x1e, 0x74, 0xf0, 0x5d, 0xc2, - 0xe9, 0xff, 0xfa, 0x1d, 0xce, 0x1d, 0x81, 0xb0, 0x70, 0x0e, 0x52, 0xb8, 0xb3, 0x85, 0x5b, 0x51, - 0x98, 0x5f, 0xff, 0x8e, 0x50, 0x98, 0x04, 0x7a, 0xe1, 0x59, 0x00, 0x96, 0x1a, 0xa1, 0x87, 0x87, - 0x11, 0xb8, 0x7f, 0xfc, 0x1d, 0x7e, 0x79, 0xc7, 0x47, 0xf1, 0x09, 0xb0, 0xab, 0x40, 0x07, 0x13, - 0xf8, 0x46, 0x98, 0x00, 0x5d, 0x91, 0xa7, 0x21, 0xf3, 0x92, 0x63, 0x1a, 0xae, 0xb6, 0x13, 0x85, - 0xfd, 0x27, 0x1c, 0x5b, 0xc0, 0x13, 0x86, 0x75, 0x4c, 0x1b, 0xbb, 0xda, 0x8e, 0x13, 0x85, 0xfb, - 0xdf, 0x38, 0xae, 0x87, 0x40, 0x90, 0x9b, 0x9a, 0xe3, 0x8e, 0x32, 0xef, 0x3f, 0x15, 0xc8, 0x02, - 0x81, 0x0c, 0x9a, 0xfc, 0xbe, 0x8e, 0xf7, 0xa3, 0x70, 0xff, 0x4c, 0x0c, 0x9a, 0xc3, 0x2f, 0x3c, - 0x03, 0x39, 0xf2, 0x93, 0xdd, 0xc8, 0x8b, 0x40, 0xfe, 0x26, 0x47, 0xf6, 0x31, 0x48, 0xcf, 0x8e, - 0xdb, 0x72, 0xf5, 0x68, 0x66, 0x7f, 0x8b, 0xaf, 0xb4, 0x80, 0x5f, 0xa8, 0x40, 0xde, 0x71, 0x5b, - 0xad, 0x2e, 0xf7, 0x4f, 0x23, 0xd0, 0xbf, 0xfd, 0x1d, 0x2f, 0x65, 0xe1, 0xe1, 0x90, 0xd5, 0xbe, - 0x79, 0xdd, 0xb5, 0x4c, 0x7a, 0xe0, 0x11, 0x45, 0xe1, 0x0d, 0x4e, 0x21, 0x80, 0xb2, 0x50, 0x83, - 0x71, 0x32, 0x17, 0x1b, 0x5b, 0x98, 0x9e, 0x4e, 0x45, 0x90, 0xf8, 0x73, 0xce, 0x80, 0x10, 0x52, - 0xf5, 0x87, 0xbe, 0xf0, 0xfa, 0x4c, 0xec, 0x8b, 0xaf, 0xcf, 0xc4, 0xfe, 0xe8, 0xf5, 0x99, 0xd8, - 0xfb, 0xbf, 0x3c, 0x33, 0xf6, 0xc5, 0x2f, 0xcf, 0x8c, 0xfd, 0xe1, 0x97, 0x67, 0xc6, 0x06, 0x67, - 0x89, 0xe1, 0x92, 0x79, 0xc9, 0x64, 0xf9, 0xe1, 0x17, 0x1f, 0xd8, 0xd1, 0xdd, 0xdd, 0xee, 0xd6, - 0x7c, 0xd3, 0xec, 0x9c, 0x69, 0x9a, 0x4e, 0xc7, 0x74, 0xce, 0x84, 0xf3, 0xba, 0xf4, 0x17, 0xfc, - 0xef, 0x18, 0x89, 0x99, 0xc3, 0xe9, 0x5c, 0xcd, 0xd8, 0x1f, 0xf6, 0x79, 0xcf, 0x79, 0x48, 0x54, - 0x8c, 0x7d, 0x74, 0x8c, 0x29, 0x38, 0xb5, 0x6b, 0xb7, 0xf9, 0xb5, 0xb0, 0x0c, 0x29, 0x6f, 0xda, - 0x6d, 0x34, 0xe5, 0xdf, 0xdd, 0x8c, 0x9d, 0x1c, 0xe7, 0x17, 0x32, 0xab, 0x3f, 0x15, 0x3b, 0xdc, - 0x4c, 0xb2, 0x15, 0x63, 0x9f, 0x4e, 0x64, 0x3d, 0xf6, 0xe2, 0xc3, 0x91, 0x79, 0xee, 0xeb, 0x86, - 0x79, 0xd3, 0x20, 0xc3, 0xb6, 0xb6, 0x44, 0x8e, 0x7b, 0xa6, 0x37, 0xc7, 0xfd, 0x1c, 0x6e, 0xb7, - 0xaf, 0x12, 0xb8, 0x0d, 0x82, 0xb2, 0x95, 0x66, 0x37, 0x90, 0xe1, 0xe7, 0xe2, 0x30, 0xd3, 0x97, - 0xce, 0xe6, 0x42, 0x30, 0x8c, 0x09, 0x0b, 0x90, 0x5d, 0x14, 0xb2, 0x35, 0x0d, 0x19, 0x07, 0x37, - 0x4d, 0xa3, 0xe5, 0x50, 0x46, 0x24, 0x14, 0x51, 0x24, 0x8c, 0x30, 0x34, 0xc3, 0x74, 0xf8, 0xc5, - 0x4a, 0x56, 0xa8, 0xfe, 0xf2, 0x21, 0x19, 0x51, 0x10, 0x3d, 0x09, 0x6e, 0x3c, 0x36, 0x22, 0x37, - 0xc4, 0x24, 0x42, 0x99, 0xff, 0x51, 0xb9, 0xf2, 0x0b, 0x71, 0x98, 0xed, 0xe5, 0x0a, 0xd9, 0x59, - 0x8e, 0xab, 0x75, 0xac, 0x61, 0x6c, 0xb9, 0x00, 0xb9, 0x0d, 0x01, 0x73, 0x68, 0xbe, 0xdc, 0x3e, - 0x24, 0x5f, 0x8a, 0x5e, 0x57, 0x82, 0x31, 0x67, 0x47, 0x64, 0x8c, 0x37, 0x8f, 0x3b, 0xe2, 0xcc, - 0x5f, 0xa4, 0xe1, 0x18, 0xdb, 0x4e, 0x2a, 0xdb, 0x4a, 0xac, 0xc0, 0x79, 0x32, 0x1e, 0x6c, 0x8a, - 0x3e, 0x27, 0x91, 0xaf, 0xc2, 0xe4, 0x12, 0xd1, 0x16, 0x24, 0x0a, 0xf2, 0x4f, 0x78, 0x06, 0xde, - 0x3d, 0x9d, 0x0b, 0x39, 0xfc, 0xfc, 0x84, 0x29, 0x58, 0x25, 0xff, 0x70, 0x0c, 0xa4, 0x46, 0x53, - 0x6b, 0x6b, 0xf6, 0x77, 0x4b, 0x0a, 0x3d, 0x09, 0x40, 0xbf, 0x59, 0xf2, 0x3f, 0x32, 0x2a, 0x9e, - 0x9d, 0x9e, 0x0f, 0x4e, 0x6e, 0x9e, 0xf5, 0x44, 0xbf, 0x60, 0xc8, 0x51, 0x58, 0xf2, 0xf3, 0xf4, - 0xf3, 0x00, 0x7e, 0x03, 0x3a, 0x0e, 0x47, 0x1b, 0xb5, 0xca, 0x72, 0x45, 0x51, 0xd9, 0x65, 0xf8, - 0xd5, 0xc6, 0x7a, 0xbd, 0xb6, 0x74, 0x71, 0xa9, 0xbe, 0x28, 0x8d, 0xa1, 0x23, 0x80, 0x82, 0x8d, - 0xde, 0xbd, 0x94, 0xbb, 0x60, 0x22, 0x58, 0xcf, 0x6e, 0xd4, 0xc7, 0x89, 0xa7, 0xa8, 0x77, 0xac, - 0x36, 0xa6, 0x47, 0x7f, 0xaa, 0x2e, 0xb8, 0x16, 0xed, 0x84, 0xfc, 0xde, 0xbf, 0x65, 0xb7, 0xac, - 0x27, 0x7d, 0x74, 0x8f, 0xe7, 0x0b, 0xcb, 0x30, 0xa1, 0x35, 0x9b, 0xd8, 0x0a, 0x91, 0x8c, 0x50, - 0xd5, 0x84, 0x20, 0x3d, 0xcc, 0xe4, 0x98, 0x3e, 0xb5, 0x27, 0x21, 0xed, 0xd0, 0xd9, 0x47, 0x91, - 0xf8, 0x7d, 0x4e, 0x82, 0x83, 0x2f, 0x18, 0x30, 0x41, 0x3c, 0x3f, 0xcd, 0xc6, 0x81, 0x61, 0x1c, - 0x9c, 0x67, 0xf8, 0xed, 0x4f, 0x3d, 0x4a, 0x8f, 0x36, 0xef, 0x0d, 0x2f, 0xcb, 0x00, 0x71, 0x52, - 0x24, 0x4e, 0xdb, 0x1f, 0x28, 0x86, 0xa2, 0xe8, 0x8f, 0x0f, 0xf8, 0xe0, 0xce, 0x7e, 0x87, 0x77, - 0x36, 0x33, 0x48, 0x06, 0x02, 0x3d, 0x15, 0x38, 0x55, 0xd6, 0x50, 0xad, 0x0f, 0xdb, 0xd3, 0x2f, - 0x3e, 0xd4, 0x6f, 0x9d, 0xd8, 0x7f, 0x8f, 0x50, 0xca, 0x17, 0x82, 0xdd, 0x78, 0x7b, 0xef, 0x97, - 0x93, 0x30, 0xa1, 0x75, 0x74, 0xc3, 0x3c, 0x43, 0xff, 0xe5, 0x7b, 0x2e, 0x45, 0x0b, 0x23, 0x1c, - 0x4a, 0x9e, 0x67, 0x5b, 0x21, 0x5a, 0x62, 0xbe, 0xf9, 0x93, 0x1f, 0x4d, 0xf9, 0xdb, 0x65, 0x61, - 0x05, 0x24, 0x71, 0xe1, 0x10, 0x1b, 0x4d, 0xb3, 0x35, 0x52, 0x96, 0xe2, 0x5b, 0x82, 0x86, 0xc8, - 0x6f, 0xd5, 0x39, 0xea, 0xc2, 0x3b, 0x20, 0xeb, 0x91, 0x89, 0xf2, 0x4c, 0x04, 0x11, 0x0f, 0x83, - 0xf8, 0x25, 0x6c, 0x67, 0x8e, 0xe2, 0x85, 0xbe, 0x21, 0xf0, 0xd9, 0x0e, 0x5d, 0x25, 0xb3, 0xb9, - 0x04, 0xc5, 0x96, 0x69, 0xb8, 0xaa, 0xd9, 0xd1, 0x5d, 0xdc, 0xb1, 0xdc, 0x48, 0xbf, 0xee, 0xcf, - 0x19, 0x91, 0xac, 0x52, 0x20, 0x78, 0x6b, 0x02, 0x8d, 0x8c, 0x84, 0x7d, 0x53, 0x34, 0xca, 0x48, - 0xfe, 0xbb, 0x37, 0x12, 0x8a, 0x43, 0x46, 0x72, 0x47, 0xd2, 0xe1, 0xb4, 0xae, 0x73, 0x65, 0xee, - 0xee, 0x31, 0x29, 0xf0, 0xa4, 0xe3, 0x4f, 0x13, 0x30, 0xc3, 0x81, 0xb7, 0x34, 0x07, 0x9f, 0xb9, - 0xf1, 0xd8, 0x16, 0x76, 0xb5, 0xc7, 0xce, 0x34, 0x4d, 0x5d, 0x58, 0xf2, 0x49, 0xae, 0xac, 0x49, - 0xfb, 0x3c, 0x6f, 0x2f, 0x0f, 0x3c, 0xee, 0x2e, 0x0f, 0x57, 0xf2, 0xe5, 0x7e, 0x19, 0x94, 0x5f, - 0x84, 0x64, 0xcd, 0xd4, 0x0d, 0x62, 0xdb, 0x5a, 0xd8, 0x30, 0x3b, 0x5c, 0xdd, 0xb2, 0x02, 0x3a, - 0x0f, 0x69, 0xad, 0x63, 0x76, 0x0d, 0x97, 0xa9, 0xda, 0xea, 0xcc, 0x17, 0x5e, 0x9b, 0x1d, 0xfb, - 0xf7, 0xaf, 0xcd, 0x26, 0x96, 0x0c, 0xf7, 0x0f, 0x3e, 0xfd, 0x08, 0x70, 0xea, 0x4b, 0x86, 0xfb, - 0xf1, 0xaf, 0x7e, 0xf2, 0x74, 0x4c, 0xe1, 0xd0, 0x0b, 0xc9, 0xaf, 0xbd, 0x3a, 0x1b, 0x93, 0x9f, - 0x87, 0xcc, 0x22, 0x6e, 0x1e, 0x40, 0xfe, 0xb1, 0x1e, 0xf2, 0xc7, 0x04, 0xf9, 0x45, 0xdc, 0x0c, - 0x90, 0x5f, 0xc4, 0xcd, 0x1e, 0xca, 0x4f, 0x42, 0x76, 0xc9, 0x70, 0xd9, 0xe7, 0x0e, 0x0f, 0x41, - 0x42, 0x37, 0xd8, 0x0d, 0xda, 0x00, 0x85, 0xbe, 0x01, 0x2a, 0x04, 0x8a, 0x20, 0x2e, 0xe2, 0xa6, - 0x87, 0xd8, 0xc2, 0xcd, 0x5e, 0xc4, 0xfe, 0xae, 0x09, 0x54, 0x75, 0xf1, 0x0f, 0xff, 0xf3, 0xcc, - 0xd8, 0x2b, 0xaf, 0xcf, 0x8c, 0x0d, 0x5d, 0x7a, 0x39, 0x7a, 0xe9, 0xbd, 0x15, 0xff, 0x68, 0x12, - 0xee, 0xa1, 0x5f, 0xc1, 0xd9, 0x1d, 0xdd, 0x70, 0xcf, 0x34, 0xed, 0x7d, 0xcb, 0x35, 0x89, 0x02, - 0x30, 0xb7, 0xf9, 0x82, 0x4f, 0xf8, 0xcd, 0xf3, 0xac, 0x79, 0xf0, 0x72, 0xcb, 0xdb, 0x90, 0x5a, - 0x27, 0x78, 0x84, 0xc5, 0xae, 0xe9, 0x6a, 0x6d, 0xee, 0xb5, 0xb0, 0x02, 0xa9, 0x65, 0x5f, 0xce, - 0xc5, 0x59, 0xad, 0x2e, 0x3e, 0x9a, 0x6b, 0x63, 0x6d, 0x9b, 0x7d, 0x80, 0x90, 0xa0, 0xee, 0x6e, - 0x96, 0x54, 0xd0, 0x6f, 0x0d, 0xa6, 0x20, 0xa5, 0x75, 0xd9, 0xcd, 0x97, 0x04, 0xf1, 0x83, 0x69, - 0x41, 0xbe, 0x0a, 0x19, 0x7e, 0xfe, 0x8e, 0x24, 0x48, 0x5c, 0xc7, 0xfb, 0xb4, 0x9f, 0x71, 0x85, - 0xfc, 0x44, 0xf3, 0x90, 0xa2, 0x83, 0xe7, 0x5f, 0x56, 0x4d, 0xcf, 0xf7, 0x8d, 0x7e, 0x9e, 0x0e, - 0x52, 0x61, 0x60, 0xf2, 0x15, 0xc8, 0x2e, 0x9a, 0x44, 0x0a, 0xc3, 0xd4, 0x72, 0x8c, 0x1a, 0x1d, - 0xb3, 0xd5, 0xe5, 0x52, 0xa1, 0xb0, 0x02, 0x3a, 0x02, 0x69, 0xf6, 0x41, 0x0a, 0xbf, 0xbd, 0xc3, - 0x4b, 0x72, 0x0d, 0x32, 0x94, 0xf6, 0x9a, 0x45, 0x5c, 0x06, 0xef, 0xee, 0x6f, 0x8e, 0x7f, 0x9e, - 0xc8, 0xc9, 0xc7, 0xfd, 0xc1, 0x22, 0x48, 0xb6, 0x34, 0x57, 0xe3, 0xf3, 0xa6, 0xbf, 0xe5, 0x77, - 0x42, 0x96, 0x13, 0x71, 0xd0, 0x59, 0x48, 0x98, 0x96, 0xc3, 0xef, 0xdf, 0x94, 0x87, 0x4d, 0x65, - 0xcd, 0xaa, 0x26, 0x89, 0xcc, 0x28, 0x04, 0xb8, 0xba, 0x3a, 0x54, 0x2c, 0x9e, 0x08, 0x89, 0x45, - 0x07, 0xbb, 0x5b, 0xdb, 0xae, 0xff, 0x83, 0x2d, 0x67, 0x9f, 0x28, 0x78, 0x82, 0x72, 0x3b, 0x0e, - 0x33, 0x81, 0xd6, 0x1b, 0xd8, 0x76, 0x74, 0xd3, 0x60, 0xd2, 0xc4, 0x25, 0x05, 0x05, 0x06, 0xc8, - 0xdb, 0x87, 0x88, 0xca, 0x33, 0x90, 0xa8, 0x58, 0x16, 0x2a, 0x43, 0x96, 0x96, 0x9b, 0x26, 0x93, - 0x95, 0xa4, 0xe2, 0x95, 0x49, 0x9b, 0x63, 0x6e, 0xbb, 0x37, 0x35, 0xdb, 0xfb, 0x5e, 0x53, 0x94, - 0xe5, 0xa7, 0x21, 0x57, 0x33, 0x0d, 0x07, 0x1b, 0x4e, 0x97, 0xfa, 0xc2, 0x5b, 0x6d, 0xb3, 0x79, - 0x9d, 0x53, 0x60, 0x05, 0xc2, 0x6c, 0xcd, 0xb2, 0x28, 0x66, 0x52, 0x21, 0x3f, 0xd9, 0x7e, 0xad, - 0xae, 0x0d, 0x65, 0xcf, 0xb9, 0xc3, 0xb1, 0x87, 0x4f, 0xd0, 0x77, 0x6a, 0x63, 0x70, 0x77, 0xff, - 0x46, 0xba, 0x8e, 0xf7, 0x9d, 0xc3, 0xee, 0xa3, 0xe7, 0x21, 0xb7, 0x4e, 0x1f, 0x4c, 0xb8, 0x8a, - 0xf7, 0x51, 0x19, 0x32, 0xb8, 0x75, 0xf6, 0xdc, 0xb9, 0xc7, 0x9e, 0x66, 0x52, 0x7e, 0x79, 0x4c, - 0x11, 0x15, 0x68, 0x06, 0x72, 0x0e, 0x6e, 0x5a, 0x67, 0xcf, 0x9d, 0xbf, 0xfe, 0x18, 0x13, 0xab, - 0xcb, 0x63, 0x8a, 0x5f, 0xb5, 0x90, 0x25, 0x33, 0xfe, 0xda, 0x87, 0x67, 0x63, 0xd5, 0x14, 0x24, - 0x9c, 0x6e, 0xe7, 0x2d, 0x93, 0x8d, 0x9f, 0x4f, 0xc1, 0x5c, 0xa0, 0x95, 0x19, 0x97, 0x1b, 0x5a, - 0x5b, 0x6f, 0x69, 0xfe, 0x33, 0x17, 0x52, 0x60, 0xfe, 0x14, 0x62, 0x88, 0xd5, 0x38, 0x90, 0x8b, - 0xf2, 0x6f, 0xc4, 0x60, 0xfc, 0x9a, 0xa0, 0xdc, 0xc0, 0x2e, 0xba, 0x00, 0xe0, 0xf5, 0x24, 0xb6, - 0xca, 0xf1, 0xf9, 0xde, 0xbe, 0xe6, 0x3d, 0x1c, 0x25, 0x00, 0x8e, 0x9e, 0xa4, 0x02, 0x68, 0x99, - 0x0e, 0xff, 0x76, 0x2f, 0x02, 0xd5, 0x03, 0x46, 0x0f, 0x03, 0xa2, 0x5a, 0x4d, 0xbd, 0x61, 0xba, - 0xba, 0xb1, 0xa3, 0x5a, 0xe6, 0x4d, 0xfe, 0x45, 0x74, 0x42, 0x91, 0x68, 0xcb, 0x35, 0xda, 0xb0, - 0x4e, 0xea, 0xc9, 0xa0, 0x73, 0x1e, 0x15, 0x12, 0xd6, 0x69, 0xad, 0x96, 0x8d, 0x1d, 0x87, 0x2b, - 0x2e, 0x51, 0x44, 0x17, 0x20, 0x63, 0x75, 0xb7, 0x54, 0xa1, 0x25, 0xf2, 0x67, 0xef, 0x1e, 0xb4, - 0xe7, 0x85, 0x6c, 0xf0, 0x5d, 0x9f, 0xb6, 0xba, 0x5b, 0x44, 0x52, 0xee, 0x85, 0xf1, 0x01, 0x83, - 0xc9, 0xdf, 0xf0, 0xc7, 0x41, 0xdf, 0xe8, 0xe0, 0x33, 0x50, 0x2d, 0x5b, 0x37, 0x6d, 0xdd, 0xdd, - 0xa7, 0x17, 0xe7, 0x12, 0x8a, 0x24, 0x1a, 0xd6, 0x79, 0xbd, 0x7c, 0x1d, 0x4a, 0x0d, 0xea, 0xee, - 0xfb, 0x23, 0x3f, 0xe7, 0x8f, 0x2f, 0x16, 0x3d, 0xbe, 0xa1, 0x23, 0x8b, 0xf7, 0x8d, 0xac, 0xba, - 0x32, 0x54, 0x32, 0x1f, 0x3f, 0x9c, 0x64, 0x86, 0xad, 0xdb, 0x1f, 0x1f, 0x0b, 0x6d, 0x4a, 0xee, - 0xf5, 0x04, 0x54, 0xd6, 0xa8, 0x42, 0x19, 0x15, 0xc9, 0x97, 0x0f, 0x36, 0xa2, 0xe5, 0x08, 0xd5, - 0x59, 0x8e, 0xdc, 0x3e, 0xf2, 0xd3, 0x50, 0x58, 0xd7, 0x6c, 0xb7, 0x81, 0xdd, 0xcb, 0x58, 0x6b, - 0x61, 0x3b, 0x6c, 0x65, 0x0b, 0xc2, 0xca, 0x22, 0x48, 0x52, 0x53, 0xca, 0xac, 0x0c, 0xfd, 0x2d, - 0xef, 0x42, 0x92, 0x5e, 0x9c, 0xf5, 0x2c, 0x30, 0xc7, 0x60, 0x16, 0x98, 0xe8, 0xcf, 0x7d, 0x17, - 0x3b, 0x22, 0xd9, 0x44, 0x0b, 0xe8, 0x09, 0x61, 0x47, 0x13, 0x07, 0xdb, 0x51, 0x2e, 0x84, 0xdc, - 0x9a, 0xb6, 0x21, 0x53, 0x25, 0xea, 0x77, 0x69, 0xd1, 0x1b, 0x48, 0xcc, 0x1f, 0x08, 0x5a, 0x81, - 0x92, 0xa5, 0xd9, 0x2e, 0xfd, 0xe6, 0x68, 0x97, 0xce, 0x82, 0xcb, 0xf9, 0x6c, 0xff, 0xae, 0x0b, - 0x4d, 0x96, 0xf7, 0x52, 0xb0, 0x82, 0x95, 0xf2, 0x7f, 0x49, 0x42, 0x9a, 0x33, 0xe3, 0x19, 0xc8, - 0x70, 0xb6, 0x72, 0xc9, 0xbc, 0x67, 0xbe, 0xdf, 0x18, 0xcd, 0x7b, 0x46, 0x83, 0xd3, 0x13, 0x38, - 0xe8, 0x41, 0xc8, 0x36, 0x77, 0x35, 0xdd, 0x50, 0xf5, 0x16, 0x77, 0x00, 0xf3, 0xaf, 0xbf, 0x36, - 0x9b, 0xa9, 0x91, 0xba, 0xa5, 0x45, 0x25, 0x43, 0x1b, 0x97, 0x5a, 0xc4, 0xf2, 0xef, 0x62, 0x7d, - 0x67, 0xd7, 0xe5, 0xbb, 0x8b, 0x97, 0xd0, 0x53, 0x90, 0x24, 0x02, 0xc1, 0xbf, 0x48, 0x2d, 0xf7, - 0xf9, 0xf1, 0x5e, 0xa2, 0xa5, 0x9a, 0x25, 0x1d, 0xbf, 0xff, 0x3f, 0xcd, 0xc6, 0x14, 0x8a, 0x81, - 0x6a, 0x50, 0x68, 0x6b, 0x8e, 0xab, 0x52, 0xab, 0x45, 0xba, 0x4f, 0x51, 0x12, 0xc7, 0xfa, 0x19, - 0xc2, 0x19, 0xcb, 0x87, 0x9e, 0x27, 0x58, 0xac, 0xaa, 0x85, 0x4e, 0x82, 0x44, 0x89, 0x34, 0xcd, - 0x4e, 0x47, 0x77, 0x99, 0x2f, 0x95, 0xa6, 0x7c, 0x2f, 0x92, 0xfa, 0x1a, 0xad, 0xa6, 0x1e, 0xd5, - 0x71, 0xc8, 0xd1, 0x6f, 0xe0, 0x28, 0x08, 0xbb, 0xad, 0x9d, 0x25, 0x15, 0xb4, 0xf1, 0x04, 0x94, - 0x7c, 0xdd, 0xc8, 0x40, 0xb2, 0x8c, 0x8a, 0x5f, 0x4d, 0x01, 0x1f, 0x85, 0x29, 0x03, 0xef, 0xd1, - 0xfb, 0xe3, 0x21, 0xe8, 0x1c, 0x85, 0x46, 0xa4, 0xed, 0x5a, 0x18, 0xe3, 0x01, 0x28, 0x36, 0x05, - 0xf3, 0x19, 0x2c, 0x50, 0xd8, 0x82, 0x57, 0x4b, 0xc1, 0x8e, 0x41, 0x56, 0xb3, 0x2c, 0x06, 0x90, - 0xe7, 0xba, 0xd1, 0xb2, 0x68, 0xd3, 0x69, 0x98, 0xa0, 0x73, 0xb4, 0xb1, 0xd3, 0x6d, 0xbb, 0x9c, - 0xc8, 0x38, 0x85, 0x29, 0x91, 0x06, 0x85, 0xd5, 0x53, 0xd8, 0xfb, 0xa0, 0x80, 0x6f, 0xe8, 0x2d, - 0x6c, 0x34, 0x31, 0x83, 0x2b, 0x50, 0xb8, 0x71, 0x51, 0x49, 0x81, 0x4e, 0x81, 0xa7, 0xf3, 0x54, - 0xa1, 0x8f, 0x8b, 0x8c, 0x9e, 0xa8, 0xaf, 0xb0, 0x6a, 0x79, 0x1a, 0x92, 0x8b, 0x9a, 0xab, 0x11, - 0xa7, 0xc2, 0xdd, 0x63, 0x46, 0x66, 0x5c, 0x21, 0x3f, 0xe5, 0xaf, 0xc5, 0x21, 0x79, 0xcd, 0x74, - 0x31, 0x7a, 0x3c, 0xe0, 0xf0, 0x15, 0x07, 0xc9, 0x73, 0x43, 0xdf, 0x31, 0x70, 0x6b, 0xc5, 0xd9, - 0x09, 0x3c, 0x58, 0xe1, 0x8b, 0x53, 0x3c, 0x24, 0x4e, 0x53, 0x90, 0xb2, 0xcd, 0xae, 0xd1, 0x12, - 0x17, 0x9d, 0x69, 0x01, 0xd5, 0x21, 0xeb, 0x49, 0x49, 0x32, 0x4a, 0x4a, 0x4a, 0x44, 0x4a, 0x88, - 0x0c, 0xf3, 0x0a, 0x25, 0xb3, 0xc5, 0x85, 0xa5, 0x0a, 0x39, 0x4f, 0x79, 0x71, 0x69, 0x1b, 0x4d, - 0x60, 0x7d, 0x34, 0x62, 0x48, 0xbc, 0xb5, 0xf7, 0x98, 0xc7, 0x24, 0x4e, 0xf2, 0x1a, 0x38, 0xf7, - 0x42, 0x62, 0xc5, 0x1f, 0xcf, 0xc8, 0xd0, 0x79, 0xf9, 0x62, 0xc5, 0x1e, 0xd0, 0xb8, 0x1b, 0x72, - 0x8e, 0xbe, 0x63, 0x68, 0x6e, 0xd7, 0xc6, 0x5c, 0xf2, 0xfc, 0x0a, 0xf9, 0xf3, 0x31, 0x48, 0x33, - 0x49, 0x0e, 0xf0, 0x2d, 0x36, 0x98, 0x6f, 0xf1, 0x61, 0x7c, 0x4b, 0xdc, 0x39, 0xdf, 0x2a, 0x00, - 0xde, 0x60, 0x1c, 0xfe, 0xa6, 0xc1, 0x00, 0x6f, 0x81, 0x0d, 0xb1, 0xa1, 0xef, 0xf0, 0x8d, 0x1a, - 0x40, 0x92, 0xff, 0x63, 0x8c, 0x38, 0xae, 0xbc, 0x1d, 0x55, 0xa0, 0x20, 0xc6, 0xa5, 0x6e, 0xb7, - 0xb5, 0x1d, 0x2e, 0x3b, 0xf7, 0x0c, 0x1d, 0xdc, 0xc5, 0xb6, 0xb6, 0xa3, 0xe4, 0xf9, 0x78, 0x48, - 0x61, 0xf0, 0x3a, 0xc4, 0x87, 0xac, 0x43, 0x68, 0xe1, 0x13, 0x77, 0xb6, 0xf0, 0xa1, 0x25, 0x4a, - 0xf6, 0x2e, 0xd1, 0xa7, 0xe2, 0x34, 0x78, 0xb1, 0x4c, 0x47, 0x6b, 0xbf, 0x1d, 0x3b, 0xe2, 0x38, - 0xe4, 0x2c, 0xb3, 0xad, 0xb2, 0x16, 0xf6, 0x01, 0x40, 0xd6, 0x32, 0xdb, 0x4a, 0xdf, 0xb2, 0xa7, - 0xde, 0xa4, 0xed, 0x92, 0x7e, 0x13, 0xb8, 0x96, 0xe9, 0xe5, 0x9a, 0x0d, 0xe3, 0x8c, 0x15, 0xdc, - 0x96, 0x3d, 0x4a, 0x78, 0x40, 0x8d, 0x63, 0xac, 0xdf, 0xf6, 0xb2, 0x61, 0x33, 0x48, 0x85, 0xc3, - 0x11, 0x0c, 0xa6, 0xfa, 0x07, 0x45, 0xbd, 0x41, 0xb1, 0x54, 0x38, 0x9c, 0xfc, 0xf3, 0x31, 0x80, - 0x65, 0xc2, 0x59, 0x3a, 0x5f, 0x62, 0x85, 0x1c, 0x3a, 0x04, 0x35, 0xd4, 0xf3, 0xcc, 0xb0, 0x45, - 0xe3, 0xfd, 0x8f, 0x3b, 0xc1, 0x71, 0xd7, 0xa0, 0xe0, 0x0b, 0xa3, 0x83, 0xc5, 0x60, 0x66, 0x0e, - 0xf0, 0xa8, 0x1b, 0xd8, 0x55, 0xc6, 0x6f, 0x04, 0x4a, 0xf2, 0x3f, 0x89, 0x41, 0x8e, 0x8e, 0x69, - 0x05, 0xbb, 0x5a, 0x68, 0x0d, 0x63, 0x77, 0xbe, 0x86, 0xf7, 0x00, 0x30, 0x32, 0x8e, 0xfe, 0x32, - 0xe6, 0x92, 0x95, 0xa3, 0x35, 0x0d, 0xfd, 0x65, 0x8c, 0xce, 0x7b, 0x0c, 0x4f, 0x1c, 0xcc, 0x70, - 0xe1, 0x71, 0x73, 0xb6, 0x1f, 0x85, 0x0c, 0x7d, 0x03, 0x6c, 0xcf, 0xe1, 0x4e, 0x74, 0xda, 0xe8, - 0x76, 0x36, 0xf6, 0x1c, 0xf9, 0x25, 0xc8, 0x6c, 0xec, 0xb1, 0x5c, 0xc8, 0x71, 0xc8, 0xd9, 0xa6, - 0xc9, 0x6d, 0x32, 0xf3, 0x85, 0xb2, 0xa4, 0x82, 0x9a, 0x20, 0x11, 0xff, 0xc7, 0xfd, 0xf8, 0xdf, - 0x4f, 0x60, 0x24, 0x46, 0x4a, 0x60, 0x9c, 0xfe, 0x77, 0x31, 0xc8, 0x07, 0xf4, 0x03, 0x7a, 0x0c, - 0xee, 0xaa, 0x2e, 0xaf, 0xd5, 0xae, 0xaa, 0x4b, 0x8b, 0xea, 0xc5, 0xe5, 0xca, 0x25, 0xff, 0x13, - 0xb7, 0xf2, 0x91, 0x5b, 0xb7, 0xe7, 0x50, 0x00, 0x76, 0xd3, 0xa0, 0xa7, 0x39, 0xe8, 0x0c, 0x4c, - 0x85, 0x51, 0x2a, 0xd5, 0x46, 0x7d, 0x75, 0x43, 0x8a, 0x95, 0xef, 0xba, 0x75, 0x7b, 0x6e, 0x22, - 0x80, 0x51, 0xd9, 0x72, 0xb0, 0xe1, 0xf6, 0x23, 0xd4, 0xd6, 0x56, 0x56, 0x96, 0x36, 0xa4, 0x78, - 0x1f, 0x02, 0x57, 0xd8, 0xa7, 0x60, 0x22, 0x8c, 0xb0, 0xba, 0xb4, 0x2c, 0x25, 0xca, 0xe8, 0xd6, - 0xed, 0xb9, 0x62, 0x00, 0x7a, 0x55, 0x6f, 0x97, 0xb3, 0xef, 0xfb, 0xc8, 0xcc, 0xd8, 0xc7, 0xff, - 0xf6, 0x4c, 0x8c, 0xcc, 0xac, 0x10, 0xd2, 0x11, 0xe8, 0x61, 0x38, 0xda, 0x58, 0xba, 0xb4, 0x5a, - 0x5f, 0x54, 0x57, 0x1a, 0x97, 0xc4, 0x79, 0x88, 0x98, 0x5d, 0xe9, 0xd6, 0xed, 0xb9, 0x3c, 0x9f, - 0xd2, 0x30, 0xe8, 0x75, 0xa5, 0x7e, 0x6d, 0x6d, 0xa3, 0x2e, 0xc5, 0x18, 0xf4, 0xba, 0x8d, 0x6f, - 0x98, 0x2e, 0x7b, 0x24, 0xf0, 0x51, 0x38, 0x36, 0x00, 0xda, 0x9b, 0xd8, 0xc4, 0xad, 0xdb, 0x73, - 0x85, 0x75, 0x1b, 0xb3, 0xfd, 0x43, 0x31, 0xe6, 0x61, 0xba, 0x1f, 0x63, 0x6d, 0x7d, 0xad, 0x51, - 0x59, 0x96, 0xe6, 0xca, 0xd2, 0xad, 0xdb, 0x73, 0xe3, 0x42, 0x19, 0x12, 0x78, 0x7f, 0x66, 0x6f, - 0x55, 0xb4, 0xf3, 0xe3, 0x99, 0x50, 0x2e, 0x8f, 0xc5, 0x11, 0x96, 0x66, 0x6b, 0x9d, 0xc3, 0x86, - 0x3b, 0x11, 0xc7, 0xb9, 0xf2, 0x2b, 0x71, 0x28, 0x79, 0xce, 0xf4, 0x3a, 0xed, 0x01, 0x3d, 0x1e, - 0xcc, 0xc3, 0xe4, 0x87, 0x9a, 0x31, 0x06, 0x2d, 0xd2, 0x34, 0xef, 0x80, 0xac, 0x70, 0xca, 0xb8, - 0xba, 0x98, 0xeb, 0xc7, 0xab, 0x73, 0x08, 0x8e, 0xea, 0x61, 0xa0, 0x67, 0x21, 0xe7, 0x29, 0x0f, - 0xef, 0x89, 0x9d, 0xe1, 0xda, 0x86, 0xe3, 0xfb, 0x38, 0xe8, 0x69, 0x3f, 0x6c, 0x48, 0x0e, 0x0b, - 0x44, 0xae, 0x31, 0x00, 0x8e, 0x2c, 0xe0, 0xe5, 0x25, 0xbe, 0xed, 0xf8, 0xec, 0xe9, 0xf3, 0x04, - 0x7b, 0x2a, 0x8b, 0xa4, 0x98, 0x57, 0x92, 0xed, 0x68, 0x7b, 0x55, 0x1a, 0x4c, 0x1d, 0x85, 0x0c, - 0x69, 0xdc, 0xe1, 0x5f, 0x5f, 0x27, 0x94, 0x74, 0x47, 0xdb, 0xbb, 0xa4, 0x39, 0x57, 0x92, 0xd9, - 0x84, 0x94, 0x94, 0x3f, 0x11, 0x83, 0x62, 0x78, 0x8e, 0xe8, 0x21, 0x40, 0x04, 0x43, 0xdb, 0xc1, - 0x2a, 0x51, 0x31, 0x94, 0x59, 0x82, 0x6e, 0xa9, 0xa3, 0xed, 0x55, 0x76, 0xf0, 0x6a, 0xb7, 0x43, - 0x07, 0xe0, 0xa0, 0x15, 0x90, 0x04, 0xb0, 0x58, 0x27, 0xce, 0xcc, 0x63, 0xfd, 0x0f, 0xee, 0x71, - 0x00, 0x66, 0xa8, 0x3e, 0x40, 0x0c, 0x55, 0x91, 0xd1, 0xf3, 0x8e, 0xe3, 0x43, 0x53, 0x49, 0x84, - 0xa7, 0x22, 0x3f, 0x0b, 0xa5, 0x1e, 0x7e, 0x22, 0x19, 0x0a, 0x3c, 0x2b, 0x40, 0x8f, 0x3a, 0x99, - 0x7f, 0x9c, 0x53, 0xf2, 0x2c, 0xfa, 0xa7, 0x47, 0xbf, 0x0b, 0xd9, 0xcf, 0xbd, 0x3a, 0x1b, 0xa3, - 0x09, 0xf3, 0x87, 0xa0, 0x10, 0xe2, 0xa8, 0xc8, 0xd4, 0xc5, 0xfc, 0x4c, 0x9d, 0x0f, 0xfc, 0x22, - 0x8c, 0x13, 0x45, 0x89, 0x5b, 0x1c, 0xf6, 0x41, 0x28, 0x31, 0x45, 0xde, 0xcb, 0x6b, 0xe6, 0x49, - 0xad, 0x08, 0x86, 0xcb, 0xc2, 0xb5, 0x0a, 0xb3, 0x3d, 0x2f, 0xa0, 0x2e, 0x69, 0x4e, 0xf5, 0x5d, - 0x1f, 0x7f, 0x7d, 0x26, 0xf6, 0xd6, 0x6c, 0xc4, 0x2f, 0xbd, 0x0b, 0x8e, 0x07, 0x1a, 0xb5, 0xad, - 0xa6, 0x1e, 0xca, 0x3a, 0x94, 0x02, 0x42, 0x46, 0x1a, 0xa3, 0xb2, 0x07, 0x07, 0xe6, 0x30, 0x0e, - 0x4e, 0x98, 0x95, 0x0f, 0xd6, 0x08, 0xd1, 0x89, 0x8d, 0xc1, 0x39, 0xca, 0xff, 0x93, 0x85, 0x8c, - 0x82, 0xdf, 0xd3, 0xc5, 0x8e, 0x8b, 0xce, 0x42, 0x12, 0x37, 0x77, 0xcd, 0x41, 0x29, 0x21, 0x32, - 0xb9, 0x79, 0x0e, 0x57, 0x6f, 0xee, 0x9a, 0x97, 0xc7, 0x14, 0x0a, 0x8b, 0xce, 0x41, 0x6a, 0xbb, - 0xdd, 0xe5, 0x79, 0x8a, 0x1e, 0x65, 0x11, 0x44, 0xba, 0x48, 0x80, 0x2e, 0x8f, 0x29, 0x0c, 0x9a, - 0x74, 0x45, 0x9f, 0x2e, 0x4d, 0x1c, 0xdc, 0xd5, 0x92, 0xb1, 0x4d, 0xbb, 0x22, 0xb0, 0xa8, 0x0a, - 0xa0, 0x1b, 0xba, 0xab, 0xd2, 0x18, 0x9e, 0x7b, 0x82, 0xf7, 0x0e, 0xc7, 0xd4, 0x5d, 0x1a, 0xf5, - 0x5f, 0x1e, 0x53, 0x72, 0xba, 0x28, 0x90, 0xe1, 0xbe, 0xa7, 0x8b, 0xed, 0x7d, 0xee, 0x00, 0x0e, - 0x1d, 0xee, 0xbb, 0x08, 0x10, 0x19, 0x2e, 0x85, 0x46, 0x75, 0xc8, 0xd3, 0x6f, 0x54, 0xd9, 0xfe, - 0xe5, 0xcf, 0x68, 0xca, 0xc3, 0x90, 0xab, 0x04, 0x94, 0x6e, 0xe9, 0xcb, 0x63, 0x0a, 0x6c, 0x79, - 0x25, 0xa2, 0x24, 0xd9, 0x33, 0x4b, 0xee, 0x1e, 0x7f, 0x3c, 0x70, 0x76, 0x18, 0x0d, 0xfa, 0xd6, - 0xd2, 0xc6, 0xde, 0xe5, 0x31, 0x25, 0xd3, 0x64, 0x3f, 0xc9, 0xfc, 0x5b, 0xb8, 0xad, 0xdf, 0xc0, - 0x36, 0xc1, 0xcf, 0x1d, 0x3c, 0xff, 0x45, 0x06, 0x49, 0x29, 0xe4, 0x5a, 0xa2, 0x40, 0x14, 0x2d, - 0x36, 0x5a, 0x7c, 0x1a, 0xd0, 0xaf, 0xa7, 0x43, 0xeb, 0x6c, 0xb4, 0xc4, 0x24, 0xb2, 0x98, 0xff, - 0x46, 0x4f, 0x79, 0x1e, 0x6a, 0xbe, 0xdf, 0x29, 0x0c, 0x4d, 0x80, 0xe5, 0x2a, 0xc6, 0x84, 0xa7, - 0x8a, 0x56, 0xa1, 0xd8, 0xd6, 0x1d, 0x57, 0x75, 0x0c, 0xcd, 0x72, 0x76, 0x4d, 0xd7, 0xa1, 0x41, - 0x7f, 0xfe, 0xec, 0x03, 0xc3, 0x28, 0x2c, 0xeb, 0x8e, 0xdb, 0x10, 0xc0, 0x97, 0xc7, 0x94, 0x42, - 0x3b, 0x58, 0x41, 0xe8, 0x99, 0xdb, 0xdb, 0xd8, 0xf6, 0x08, 0xd2, 0xe4, 0xc0, 0x01, 0xf4, 0xd6, - 0x08, 0xb4, 0xc0, 0x27, 0xf4, 0xcc, 0x60, 0x05, 0xfa, 0x7e, 0x98, 0x6c, 0x9b, 0x5a, 0xcb, 0x23, - 0xa7, 0x36, 0x77, 0xbb, 0xc6, 0x75, 0x9a, 0x49, 0xc8, 0x9f, 0x3d, 0x35, 0x74, 0x90, 0xa6, 0xd6, - 0x12, 0x24, 0x6a, 0x04, 0xe1, 0xf2, 0x98, 0x32, 0xd1, 0xee, 0xad, 0x44, 0xef, 0x86, 0x29, 0xcd, - 0xb2, 0xda, 0xfb, 0xbd, 0xd4, 0x4b, 0x94, 0xfa, 0xe9, 0x61, 0xd4, 0x2b, 0x04, 0xa7, 0x97, 0x3c, - 0xd2, 0xfa, 0x6a, 0xd1, 0x06, 0x48, 0x96, 0x8d, 0xe9, 0x47, 0x35, 0x16, 0x77, 0x55, 0xe8, 0xcb, - 0x58, 0xf9, 0xb3, 0x27, 0x86, 0xd1, 0x5e, 0x67, 0xf0, 0xc2, 0xb3, 0xb9, 0x3c, 0xa6, 0x94, 0xac, - 0x70, 0x15, 0xa3, 0x6a, 0x36, 0x31, 0x7d, 0xbd, 0x89, 0x53, 0x9d, 0x88, 0xa2, 0x4a, 0xe1, 0xc3, - 0x54, 0x43, 0x55, 0xd5, 0x0c, 0xbf, 0x14, 0xc7, 0x9f, 0x56, 0x39, 0x01, 0xf9, 0x80, 0x62, 0x41, - 0xd3, 0x90, 0xe1, 0x97, 0x04, 0xc4, 0x65, 0x3a, 0x5e, 0x94, 0x8b, 0x30, 0x1e, 0x54, 0x26, 0xf2, - 0xfb, 0x63, 0x1e, 0x26, 0xfd, 0xd6, 0x7d, 0x3a, 0x9c, 0x3a, 0xcc, 0xf9, 0x59, 0xc1, 0xfb, 0x84, - 0x15, 0x11, 0xed, 0xec, 0x34, 0x69, 0x9c, 0x56, 0x72, 0x23, 0x86, 0x66, 0x21, 0x6f, 0x9d, 0xb5, - 0x3c, 0x90, 0x04, 0x05, 0x01, 0xeb, 0xac, 0x25, 0x00, 0xee, 0x85, 0x71, 0x32, 0x53, 0x35, 0xe8, - 0x68, 0xe4, 0x94, 0x3c, 0xa9, 0xe3, 0x20, 0xf2, 0xbf, 0x8a, 0x83, 0xd4, 0xab, 0x80, 0xbc, 0x9c, - 0x62, 0xec, 0xd0, 0x39, 0xc5, 0x63, 0xbd, 0xd9, 0x4c, 0x3f, 0x81, 0xb9, 0x0c, 0x92, 0x9f, 0x87, - 0x63, 0x86, 0x60, 0xb8, 0xe3, 0xd4, 0xe3, 0xe1, 0x29, 0xa5, 0x66, 0x8f, 0xcb, 0x77, 0x31, 0x74, - 0xf6, 0x22, 0xde, 0xe6, 0xee, 0x5d, 0x62, 0xcf, 0x5f, 0xd8, 0xb4, 0x5a, 0x9a, 0x8b, 0x45, 0x5e, - 0x24, 0x70, 0x0c, 0xf3, 0x20, 0x94, 0x34, 0xcb, 0x52, 0x1d, 0x57, 0x73, 0x31, 0x37, 0xeb, 0x29, - 0x96, 0x1e, 0xd4, 0x2c, 0xab, 0x41, 0x6a, 0x99, 0x59, 0x7f, 0x00, 0x8a, 0x44, 0x27, 0xeb, 0x5a, - 0x5b, 0xe5, 0x59, 0x82, 0x34, 0xb3, 0xfe, 0xbc, 0xf6, 0x32, 0xad, 0x94, 0x5b, 0xde, 0x8a, 0x53, - 0x7d, 0xec, 0x85, 0x59, 0xb1, 0x40, 0x98, 0x85, 0xf8, 0x23, 0x04, 0x8c, 0x3f, 0xe2, 0xdd, 0x86, - 0xc1, 0xd9, 0xdd, 0x29, 0x1a, 0x92, 0xdd, 0x60, 0x09, 0x8f, 0xac, 0xc2, 0x0a, 0xf2, 0x7b, 0xe3, - 0x30, 0xd1, 0xa7, 0xb9, 0x07, 0xa6, 0xbd, 0xfd, 0xf8, 0x32, 0x7e, 0xa8, 0xf8, 0xf2, 0x6a, 0x38, - 0xad, 0x1b, 0xb0, 0x7c, 0xc7, 0xfb, 0x98, 0xcc, 0xf4, 0x26, 0x11, 0x68, 0x4e, 0x24, 0x90, 0xf9, - 0xa5, 0x62, 0xbe, 0x09, 0x53, 0x5b, 0xfb, 0x2f, 0x6b, 0x86, 0xab, 0x1b, 0x58, 0xed, 0x5b, 0xb5, - 0x7e, 0x53, 0xba, 0xa2, 0x3b, 0x5b, 0x78, 0x57, 0xbb, 0xa1, 0x9b, 0x62, 0x58, 0x93, 0x1e, 0xbe, - 0x9f, 0xdc, 0x95, 0x15, 0x28, 0x86, 0x4d, 0x0f, 0x2a, 0x42, 0xdc, 0xdd, 0xe3, 0xf3, 0x8f, 0xbb, - 0x7b, 0xe8, 0x51, 0x9e, 0x07, 0x8a, 0xd3, 0x3c, 0x50, 0x7f, 0x47, 0x1c, 0xcf, 0x4f, 0x02, 0xc9, - 0xb2, 0xb7, 0x1b, 0x3c, 0x73, 0xd4, 0x4b, 0x55, 0x3e, 0x05, 0xa5, 0x1e, 0x7b, 0x33, 0x2c, 0x2b, - 0x28, 0x97, 0xa0, 0x10, 0x32, 0x2e, 0xf2, 0x11, 0x98, 0x1a, 0x64, 0x2b, 0xe4, 0x5d, 0xaf, 0x3e, - 0xa4, 0xf3, 0xd1, 0x39, 0xc8, 0x7a, 0xc6, 0x62, 0x40, 0x16, 0x82, 0xce, 0x42, 0x00, 0x2b, 0x1e, - 0x68, 0x28, 0x99, 0x1d, 0x0f, 0x25, 0xb3, 0xe5, 0x1f, 0x82, 0xe9, 0x61, 0x86, 0xa0, 0x67, 0x1a, - 0x49, 0x4f, 0x0a, 0x8f, 0x40, 0x9a, 0x3f, 0xd1, 0x16, 0xa7, 0xc7, 0x37, 0xbc, 0x44, 0xa4, 0x93, - 0x19, 0x85, 0x04, 0x3b, 0xd5, 0xa1, 0x05, 0x59, 0x85, 0x63, 0x43, 0x8d, 0xc1, 0xf0, 0x83, 0x20, - 0x46, 0x88, 0x1f, 0x04, 0x35, 0xc5, 0x70, 0x1c, 0x3a, 0x57, 0x71, 0xd9, 0x81, 0x95, 0xe4, 0x0f, - 0x24, 0xe0, 0xc8, 0x60, 0x93, 0x80, 0xe6, 0x60, 0x9c, 0xf8, 0xdd, 0x6e, 0xd8, 0x45, 0x87, 0x8e, - 0xb6, 0xb7, 0xc1, 0xfd, 0x73, 0x9e, 0x48, 0x8f, 0x7b, 0x89, 0x74, 0xb4, 0x09, 0x13, 0x6d, 0xb3, - 0xa9, 0xb5, 0xd5, 0x80, 0xc4, 0x73, 0x61, 0xbf, 0xaf, 0x8f, 0xd9, 0x75, 0xf6, 0x70, 0x73, 0xab, - 0x4f, 0xe8, 0x4b, 0x94, 0xc6, 0xb2, 0x27, 0xf9, 0x68, 0x11, 0xf2, 0x1d, 0x5f, 0x90, 0x0f, 0x21, - 0xec, 0x41, 0xb4, 0xc0, 0x92, 0xa4, 0x06, 0x1e, 0xfb, 0xa4, 0x0f, 0xad, 0xa2, 0x87, 0x9d, 0xa0, - 0x64, 0x86, 0x9e, 0xa0, 0x0c, 0x3a, 0xae, 0xc8, 0x0e, 0x3e, 0xae, 0x78, 0x5f, 0x70, 0x69, 0x42, - 0x46, 0xb4, 0xff, 0x04, 0x03, 0x35, 0x60, 0x8a, 0xe3, 0xb7, 0x42, 0xbc, 0x8f, 0x8f, 0xaa, 0x68, - 0x90, 0x40, 0x1f, 0xce, 0xf6, 0xc4, 0x9d, 0xb1, 0x5d, 0xe8, 0xd2, 0x64, 0x40, 0x97, 0xfe, 0x3f, - 0xb6, 0x14, 0xff, 0x26, 0x07, 0x59, 0x05, 0x3b, 0x16, 0x31, 0x9c, 0xa8, 0x0a, 0x39, 0xbc, 0xd7, - 0xc4, 0x96, 0xeb, 0x1f, 0x53, 0x0e, 0x0a, 0x06, 0x18, 0x74, 0x5d, 0x40, 0x12, 0x4f, 0xdc, 0x43, - 0x43, 0x8f, 0xf3, 0x60, 0x6b, 0x78, 0xdc, 0xc4, 0xd1, 0x83, 0xd1, 0xd6, 0x79, 0x11, 0x6d, 0x25, - 0x86, 0x3a, 0xdf, 0x0c, 0xab, 0x27, 0xdc, 0x7a, 0x9c, 0x87, 0x5b, 0xc9, 0x88, 0xce, 0x42, 0xf1, - 0x56, 0x2d, 0x14, 0x6f, 0xa5, 0x23, 0xa6, 0x39, 0x24, 0xe0, 0x3a, 0x2f, 0x02, 0xae, 0x4c, 0xc4, - 0x88, 0x7b, 0x22, 0xae, 0x8b, 0xe1, 0x88, 0x2b, 0x3b, 0x44, 0x81, 0x08, 0xec, 0xa1, 0x21, 0xd7, - 0x33, 0x81, 0x90, 0x2b, 0x37, 0x34, 0xde, 0x61, 0x44, 0x06, 0xc4, 0x5c, 0xb5, 0x50, 0xcc, 0x05, - 0x11, 0x3c, 0x18, 0x12, 0x74, 0x7d, 0x5f, 0x30, 0xe8, 0xca, 0x0f, 0x8d, 0xdb, 0xf8, 0x7a, 0x0f, - 0x8a, 0xba, 0x9e, 0xf6, 0xa2, 0xae, 0xf1, 0xa1, 0x61, 0x23, 0x9f, 0x43, 0x6f, 0xd8, 0xb5, 0xd6, - 0x17, 0x76, 0x15, 0xf8, 0xdf, 0x44, 0x18, 0x46, 0x22, 0x22, 0xee, 0x5a, 0xeb, 0x8b, 0xbb, 0x8a, - 0x11, 0x04, 0x23, 0x02, 0xaf, 0x1f, 0x18, 0x1c, 0x78, 0x0d, 0x0f, 0x8d, 0xf8, 0x30, 0x47, 0x8b, - 0xbc, 0xd4, 0x21, 0x91, 0x17, 0x8b, 0x8e, 0x1e, 0x1a, 0x4a, 0x7e, 0xe4, 0xd0, 0x6b, 0x73, 0x40, - 0xe8, 0xc5, 0x82, 0xa4, 0x93, 0x43, 0x89, 0x8f, 0x10, 0x7b, 0x6d, 0x0e, 0x88, 0xbd, 0x50, 0x24, - 0xd9, 0xc3, 0x04, 0x5f, 0x29, 0x29, 0x2d, 0x9f, 0x22, 0xae, 0x6f, 0x8f, 0x9e, 0x22, 0xfe, 0x03, - 0xb6, 0x6d, 0xd3, 0x16, 0x37, 0x6b, 0x69, 0x41, 0x3e, 0x49, 0x9c, 0x71, 0x5f, 0x27, 0x1d, 0x10, - 0xa8, 0x51, 0x3f, 0x2d, 0xa0, 0x87, 0xe4, 0xcf, 0xc5, 0x7c, 0x5c, 0xea, 0xc3, 0x06, 0x1d, 0xf9, - 0x1c, 0x77, 0xe4, 0x03, 0xe1, 0x5b, 0x3c, 0x1c, 0xbe, 0xcd, 0x42, 0x9e, 0xf8, 0x5f, 0x3d, 0x91, - 0x99, 0x66, 0x79, 0x91, 0x99, 0xb8, 0x52, 0xc0, 0x82, 0x3c, 0x6e, 0x56, 0xd8, 0x49, 0x4e, 0xc9, - 0xbb, 0x5e, 0xc1, 0x62, 0x0a, 0xf4, 0x08, 0x4c, 0x06, 0x60, 0x3d, 0xbf, 0x8e, 0x85, 0x29, 0x92, - 0x07, 0x5d, 0xe1, 0x0e, 0xde, 0x3f, 0x8d, 0xf9, 0x1c, 0xf2, 0x43, 0xba, 0x41, 0xd1, 0x57, 0xec, - 0x4d, 0x8a, 0xbe, 0xe2, 0x77, 0x1c, 0x7d, 0x05, 0xfd, 0xd4, 0x44, 0xd8, 0x4f, 0xfd, 0x1f, 0x31, - 0x7f, 0x4d, 0xbc, 0x58, 0xaa, 0x69, 0xb6, 0x30, 0xf7, 0x1c, 0xe9, 0x6f, 0xe2, 0x54, 0xb4, 0xcd, - 0x1d, 0xee, 0x1f, 0x92, 0x9f, 0x04, 0xca, 0x33, 0x1c, 0x39, 0x6e, 0x17, 0x3c, 0xa7, 0x33, 0x15, - 0xbc, 0xff, 0xcb, 0x2f, 0xc5, 0xa6, 0xfd, 0x4b, 0xb1, 0xde, 0xc7, 0x6f, 0x99, 0xc0, 0xc7, 0x6f, - 0xe8, 0x29, 0xc8, 0xd1, 0x8c, 0xa8, 0x6a, 0x5a, 0xe2, 0x2f, 0x68, 0x1c, 0x1f, 0x7e, 0x21, 0xd6, - 0xa1, 0x57, 0xf5, 0xd8, 0x25, 0x5a, 0xdf, 0x63, 0xc8, 0x85, 0x3c, 0x86, 0xbb, 0x21, 0x47, 0x46, - 0xcf, 0x5e, 0x82, 0x06, 0xfe, 0xe5, 0xa4, 0xa8, 0x90, 0xdf, 0x0d, 0xa8, 0xdf, 0x48, 0xa0, 0xcb, - 0x90, 0xc6, 0x37, 0xe8, 0xb3, 0x7a, 0xec, 0xa2, 0xe1, 0x91, 0x7e, 0xd7, 0x94, 0x34, 0x57, 0xa7, - 0x09, 0x93, 0xbf, 0xfe, 0xda, 0xac, 0xc4, 0xa0, 0x1f, 0xf6, 0x3e, 0x14, 0x50, 0x38, 0xbe, 0xfc, - 0x1f, 0xe2, 0x24, 0x80, 0x09, 0x19, 0x90, 0x81, 0xbc, 0x1d, 0x74, 0x44, 0x38, 0x1a, 0xbf, 0x67, - 0x00, 0x76, 0x34, 0x47, 0xbd, 0xa9, 0x19, 0x2e, 0x6e, 0x71, 0xa6, 0x07, 0x6a, 0x50, 0x19, 0xb2, - 0xa4, 0xd4, 0x75, 0x70, 0x8b, 0x87, 0xd1, 0x5e, 0x39, 0x30, 0xcf, 0xcc, 0x77, 0x37, 0xcf, 0x30, - 0x97, 0xb3, 0x3d, 0x5c, 0x0e, 0x04, 0x17, 0xb9, 0x60, 0x70, 0xc1, 0x2e, 0x06, 0xf3, 0xfb, 0x89, - 0xc0, 0xc6, 0x26, 0xca, 0xe8, 0x3e, 0x28, 0x74, 0x70, 0xc7, 0x32, 0xcd, 0xb6, 0xca, 0xd4, 0x0d, - 0x7b, 0xf2, 0x7d, 0x9c, 0x57, 0xd6, 0xa9, 0xd6, 0xf9, 0xb1, 0xb8, 0xbf, 0xff, 0xfc, 0x20, 0xf2, - 0x7b, 0x8e, 0xc1, 0xf2, 0x4f, 0xd2, 0xcc, 0x52, 0xd8, 0x45, 0x40, 0x8d, 0xe0, 0xad, 0x91, 0x2e, - 0x55, 0x0b, 0x42, 0xa0, 0x47, 0xd5, 0x1f, 0xfe, 0xed, 0x12, 0x56, 0xed, 0xa0, 0x17, 0xe0, 0x68, - 0x8f, 0x6e, 0xf3, 0x48, 0xc7, 0x47, 0x55, 0x71, 0x77, 0x85, 0x55, 0x9c, 0x20, 0xed, 0x33, 0x2b, - 0xf1, 0x5d, 0xee, 0xba, 0x25, 0x28, 0x86, 0x3d, 0x9e, 0x81, 0xcb, 0x4f, 0xff, 0xc4, 0x88, 0xab, - 0xe9, 0x86, 0x1a, 0x4a, 0x07, 0x8d, 0xb3, 0x4a, 0x9e, 0x64, 0x5a, 0x87, 0xbb, 0x06, 0x7a, 0x3e, - 0xe8, 0x49, 0xc8, 0xf9, 0x4e, 0x13, 0xe3, 0xea, 0x01, 0xe9, 0x02, 0x1f, 0x56, 0xfe, 0x9d, 0x98, - 0x4f, 0x32, 0x9c, 0x80, 0xa8, 0x43, 0x9a, 0x5d, 0x7b, 0xe3, 0x97, 0x69, 0x1e, 0x19, 0xcd, 0x67, - 0x9a, 0x67, 0x77, 0xe2, 0x14, 0x8e, 0x2c, 0xbf, 0x1b, 0xd2, 0xac, 0x06, 0xe5, 0x21, 0xe3, 0xbf, - 0x7c, 0x0b, 0x90, 0xae, 0xd4, 0x6a, 0xf5, 0xf5, 0x0d, 0x29, 0x86, 0x72, 0x90, 0xaa, 0x54, 0xd7, - 0x94, 0x0d, 0x29, 0x4e, 0xaa, 0x95, 0xfa, 0x95, 0x7a, 0x6d, 0x43, 0x4a, 0xa0, 0x09, 0x28, 0xb0, - 0xdf, 0xea, 0xc5, 0x35, 0x65, 0xa5, 0xb2, 0x21, 0x25, 0x03, 0x55, 0x8d, 0xfa, 0xea, 0x62, 0x5d, - 0x91, 0x52, 0xf2, 0x63, 0x70, 0x6c, 0xa8, 0x97, 0xe5, 0x67, 0x17, 0x62, 0x81, 0xec, 0x82, 0xfc, - 0x81, 0x38, 0x94, 0x87, 0xbb, 0x4e, 0xe8, 0x4a, 0xcf, 0xc4, 0xcf, 0x1e, 0xc2, 0xef, 0xea, 0x99, - 0x3d, 0x7a, 0x00, 0x8a, 0x36, 0xde, 0xc6, 0x6e, 0x73, 0x97, 0xb9, 0x72, 0xcc, 0x64, 0x16, 0x94, - 0x02, 0xaf, 0xa5, 0x48, 0x0e, 0x03, 0x7b, 0x09, 0x37, 0x5d, 0x95, 0xe9, 0x22, 0x87, 0xff, 0xad, - 0xc3, 0x02, 0xab, 0x6d, 0xb0, 0x4a, 0xf9, 0x87, 0x0e, 0xc5, 0xcb, 0x1c, 0xa4, 0x94, 0xfa, 0x86, - 0xf2, 0x82, 0x94, 0x40, 0x08, 0x8a, 0xf4, 0xa7, 0xda, 0x58, 0xad, 0xac, 0x37, 0x2e, 0xaf, 0x11, - 0x5e, 0x4e, 0x42, 0x49, 0xf0, 0x52, 0x54, 0xa6, 0xe4, 0x87, 0xe0, 0xe8, 0x10, 0xbf, 0x6f, 0xc0, - 0x3d, 0xc4, 0x0f, 0xc7, 0x82, 0xd0, 0xe1, 0x98, 0x7f, 0x0d, 0xd2, 0x8e, 0xab, 0xb9, 0x5d, 0x87, - 0x33, 0xf1, 0xc9, 0x51, 0x1d, 0xc1, 0x79, 0xf1, 0xa3, 0x41, 0xd1, 0x15, 0x4e, 0x46, 0x3e, 0x07, - 0xc5, 0x70, 0xcb, 0x70, 0x1e, 0xf8, 0x42, 0x14, 0x97, 0x5f, 0x00, 0x08, 0xe4, 0x23, 0xbd, 0x1b, - 0x5d, 0xb1, 0xe0, 0x8d, 0xae, 0x73, 0x90, 0xba, 0x61, 0x32, 0x9d, 0x31, 0x78, 0xe3, 0x5c, 0x33, - 0x5d, 0x1c, 0x48, 0x3e, 0x30, 0x68, 0x59, 0x07, 0xd4, 0x9f, 0x13, 0x1a, 0xd2, 0xc5, 0x33, 0xe1, - 0x2e, 0xee, 0x1d, 0x9a, 0x5d, 0x1a, 0xdc, 0xd5, 0xcb, 0x90, 0xa2, 0xda, 0x66, 0xe0, 0x27, 0x3e, - 0x3f, 0x08, 0xa0, 0xb9, 0xae, 0xad, 0x6f, 0x75, 0xfd, 0x0e, 0x66, 0x07, 0x6b, 0xab, 0x8a, 0x80, + 0xe9, 0xff, 0xf6, 0x1d, 0xce, 0x1d, 0x81, 0xb0, 0x70, 0x0e, 0x52, 0xb8, 0xb3, 0x85, 0x5b, 0x51, + 0x98, 0xdf, 0xf8, 0x8e, 0x50, 0x98, 0x04, 0x7a, 0xe1, 0x59, 0x00, 0x96, 0x1a, 0xa1, 0x87, 0x87, + 0x11, 0xb8, 0x7f, 0xf4, 0x1d, 0x7e, 0x79, 0xc7, 0x47, 0xf1, 0x09, 0xb0, 0xab, 0x40, 0x07, 0x13, + 0xf8, 0x66, 0x98, 0x00, 0x5d, 0x91, 0xa7, 0x21, 0xf3, 0x92, 0x63, 0x1a, 0xae, 0xb6, 0x13, 0x85, + 0xfd, 0xc7, 0x1c, 0x5b, 0xc0, 0x13, 0x86, 0x75, 0x4c, 0x1b, 0xbb, 0xda, 0x8e, 0x13, 0x85, 0xfb, + 0xdf, 0x39, 0xae, 0x87, 0x40, 0x90, 0x9b, 0x9a, 0xe3, 0x8e, 0x32, 0xef, 0x3f, 0x11, 0xc8, 0x02, + 0x81, 0x0c, 0x9a, 0xfc, 0xbe, 0x8e, 0xf7, 0xa3, 0x70, 0xff, 0x54, 0x0c, 0x9a, 0xc3, 0x2f, 0x3c, + 0x03, 0x39, 0xf2, 0x93, 0xdd, 0xc8, 0x8b, 0x40, 0xfe, 0x33, 0x8e, 0xec, 0x63, 0x90, 0x9e, 0x1d, + 0xb7, 0xe5, 0xea, 0xd1, 0xcc, 0xfe, 0x16, 0x5f, 0x69, 0x01, 0xbf, 0x50, 0x81, 0xbc, 0xe3, 0xb6, + 0x5a, 0x5d, 0xee, 0x9f, 0x46, 0xa0, 0x7f, 0xfb, 0x3b, 0x5e, 0xca, 0xc2, 0xc3, 0x21, 0xab, 0x7d, + 0xf3, 0xba, 0x6b, 0x99, 0xf4, 0xc0, 0x23, 0x8a, 0xc2, 0x1b, 0x9c, 0x42, 0x00, 0x65, 0xa1, 0x06, + 0xe3, 0x64, 0x2e, 0x36, 0xb6, 0x30, 0x3d, 0x9d, 0x8a, 0x20, 0xf1, 0xe7, 0x9c, 0x01, 0x21, 0xa4, + 0xea, 0x0f, 0x7e, 0xf1, 0xf5, 0x99, 0xd8, 0x97, 0x5e, 0x9f, 0x89, 0xfd, 0xe1, 0xeb, 0x33, 0xb1, + 0x0f, 0x7c, 0x65, 0x66, 0xec, 0x4b, 0x5f, 0x99, 0x19, 0xfb, 0x83, 0xaf, 0xcc, 0x8c, 0x0d, 0xce, + 0x12, 0xc3, 0x25, 0xf3, 0x92, 0xc9, 0xf2, 0xc3, 0x2f, 0x3e, 0xb0, 0xa3, 0xbb, 0xbb, 0xdd, 0xad, + 0xf9, 0xa6, 0xd9, 0x39, 0xd3, 0x34, 0x9d, 0x8e, 0xe9, 0x9c, 0x09, 0xe7, 0x75, 0xe9, 0x2f, 0xf8, + 0xdf, 0x31, 0x12, 0x33, 0x87, 0xd3, 0xb9, 0x9a, 0xb1, 0x3f, 0xec, 0xf3, 0x9e, 0xf3, 0x90, 0xa8, + 0x18, 0xfb, 0xe8, 0x18, 0x53, 0x70, 0x6a, 0xd7, 0x6e, 0xf3, 0x6b, 0x61, 0x19, 0x52, 0xde, 0xb4, + 0xdb, 0x68, 0xca, 0xbf, 0xbb, 0x19, 0x3b, 0x39, 0xce, 0x2f, 0x64, 0x56, 0x7f, 0x32, 0x76, 0xb8, + 0x99, 0x64, 0x2b, 0xc6, 0x3e, 0x9d, 0xc8, 0x7a, 0xec, 0xc5, 0x87, 0x23, 0xf3, 0xdc, 0xd7, 0x0d, + 0xf3, 0xa6, 0x41, 0x86, 0x6d, 0x6d, 0x89, 0x1c, 0xf7, 0x4c, 0x6f, 0x8e, 0xfb, 0x39, 0xdc, 0x6e, + 0x5f, 0x25, 0x70, 0x1b, 0x04, 0x65, 0x2b, 0xcd, 0x6e, 0x20, 0xc3, 0xcf, 0xc6, 0x61, 0xa6, 0x2f, + 0x9d, 0xcd, 0x85, 0x60, 0x18, 0x13, 0x16, 0x20, 0xbb, 0x28, 0x64, 0x6b, 0x1a, 0x32, 0x0e, 0x6e, + 0x9a, 0x46, 0xcb, 0xa1, 0x8c, 0x48, 0x28, 0xa2, 0x48, 0x18, 0x61, 0x68, 0x86, 0xe9, 0xf0, 0x8b, + 0x95, 0xac, 0x50, 0xfd, 0xa5, 0x43, 0x32, 0xa2, 0x20, 0x7a, 0x12, 0xdc, 0x78, 0x6c, 0x44, 0x6e, + 0x88, 0x49, 0x84, 0x32, 0xff, 0xa3, 0x72, 0xe5, 0xe7, 0xe3, 0x30, 0xdb, 0xcb, 0x15, 0xb2, 0xb3, + 0x1c, 0x57, 0xeb, 0x58, 0xc3, 0xd8, 0x72, 0x01, 0x72, 0x1b, 0x02, 0xe6, 0xd0, 0x7c, 0xb9, 0x7d, + 0x48, 0xbe, 0x14, 0xbd, 0xae, 0x04, 0x63, 0xce, 0x8e, 0xc8, 0x18, 0x6f, 0x1e, 0x77, 0xc4, 0x99, + 0xbf, 0x4c, 0xc3, 0x31, 0xb6, 0x9d, 0x54, 0xb6, 0x95, 0x58, 0x81, 0xf3, 0x64, 0x3c, 0xd8, 0x14, + 0x7d, 0x4e, 0x22, 0x5f, 0x85, 0xc9, 0x25, 0xa2, 0x2d, 0x48, 0x14, 0xe4, 0x9f, 0xf0, 0x0c, 0xbc, + 0x7b, 0x3a, 0x17, 0x72, 0xf8, 0xf9, 0x09, 0x53, 0xb0, 0x4a, 0xfe, 0xa1, 0x18, 0x48, 0x8d, 0xa6, + 0xd6, 0xd6, 0xec, 0xef, 0x96, 0x14, 0x7a, 0x12, 0x80, 0x7e, 0xb3, 0xe4, 0x7f, 0x64, 0x54, 0x3c, + 0x3b, 0x3d, 0x1f, 0x9c, 0xdc, 0x3c, 0xeb, 0x89, 0x7e, 0xc1, 0x90, 0xa3, 0xb0, 0xe4, 0xe7, 0xe9, + 0xe7, 0x01, 0xfc, 0x06, 0x74, 0x1c, 0x8e, 0x36, 0x6a, 0x95, 0xe5, 0x8a, 0xa2, 0xb2, 0xcb, 0xf0, + 0xab, 0x8d, 0xf5, 0x7a, 0x6d, 0xe9, 0xe2, 0x52, 0x7d, 0x51, 0x1a, 0x43, 0x47, 0x00, 0x05, 0x1b, + 0xbd, 0x7b, 0x29, 0x77, 0xc1, 0x44, 0xb0, 0x9e, 0xdd, 0xa8, 0x8f, 0x13, 0x4f, 0x51, 0xef, 0x58, + 0x6d, 0x4c, 0x8f, 0xfe, 0x54, 0x5d, 0x70, 0x2d, 0xda, 0x09, 0xf9, 0xdd, 0x7f, 0xc7, 0x6e, 0x59, + 0x4f, 0xfa, 0xe8, 0x1e, 0xcf, 0x17, 0x96, 0x61, 0x42, 0x6b, 0x36, 0xb1, 0x15, 0x22, 0x19, 0xa1, + 0xaa, 0x09, 0x41, 0x7a, 0x98, 0xc9, 0x31, 0x7d, 0x6a, 0x4f, 0x42, 0xda, 0xa1, 0xb3, 0x8f, 0x22, + 0xf1, 0x7b, 0x9c, 0x04, 0x07, 0x5f, 0x30, 0x60, 0x82, 0x78, 0x7e, 0x9a, 0x8d, 0x03, 0xc3, 0x38, + 0x38, 0xcf, 0xf0, 0xdb, 0x9f, 0x7a, 0x94, 0x1e, 0x6d, 0xde, 0x1b, 0x5e, 0x96, 0x01, 0xe2, 0xa4, + 0x48, 0x9c, 0xb6, 0x3f, 0x50, 0x0c, 0x45, 0xd1, 0x1f, 0x1f, 0xf0, 0xc1, 0x9d, 0xfd, 0x0e, 0xef, + 0x6c, 0x66, 0x90, 0x0c, 0x04, 0x7a, 0x2a, 0x70, 0xaa, 0xac, 0xa1, 0x5a, 0x1f, 0xb6, 0xa7, 0x5f, + 0x7c, 0xa8, 0xdf, 0x3a, 0xb1, 0xff, 0x1e, 0xa1, 0x94, 0x2f, 0x04, 0xbb, 0xf1, 0xf6, 0xde, 0x2f, + 0x25, 0x61, 0x42, 0xeb, 0xe8, 0x86, 0x79, 0x86, 0xfe, 0xcb, 0xf7, 0x5c, 0x8a, 0x16, 0x46, 0x38, + 0x94, 0x3c, 0xcf, 0xb6, 0x42, 0xb4, 0xc4, 0xfc, 0xd9, 0x4f, 0x7c, 0x34, 0xe5, 0x6f, 0x97, 0x85, + 0x15, 0x90, 0xc4, 0x85, 0x43, 0x6c, 0x34, 0xcd, 0xd6, 0x48, 0x59, 0x8a, 0x6f, 0x09, 0x1a, 0x22, + 0xbf, 0x55, 0xe7, 0xa8, 0x0b, 0xef, 0x80, 0xac, 0x47, 0x26, 0xca, 0x33, 0x11, 0x44, 0x3c, 0x0c, + 0xe2, 0x97, 0xb0, 0x9d, 0x39, 0x8a, 0x17, 0xfa, 0x86, 0xc0, 0x67, 0x3b, 0x74, 0x95, 0xcc, 0xe6, + 0x12, 0x14, 0x5b, 0xa6, 0xe1, 0xaa, 0x66, 0x47, 0x77, 0x71, 0xc7, 0x72, 0x23, 0xfd, 0xba, 0x3f, + 0x67, 0x44, 0xb2, 0x4a, 0x81, 0xe0, 0xad, 0x09, 0x34, 0x32, 0x12, 0xf6, 0x4d, 0xd1, 0x28, 0x23, + 0xf9, 0x0b, 0x6f, 0x24, 0x14, 0x87, 0x8c, 0xe4, 0x8e, 0xa4, 0xc3, 0x69, 0x5d, 0xe7, 0xca, 0xdc, + 0xdd, 0x63, 0x52, 0xe0, 0x49, 0xc7, 0x9f, 0x24, 0x60, 0x86, 0x03, 0x6f, 0x69, 0x0e, 0x3e, 0x73, + 0xe3, 0xb1, 0x2d, 0xec, 0x6a, 0x8f, 0x9d, 0x69, 0x9a, 0xba, 0xb0, 0xe4, 0x93, 0x5c, 0x59, 0x93, + 0xf6, 0x79, 0xde, 0x5e, 0x1e, 0x78, 0xdc, 0x5d, 0x1e, 0xae, 0xe4, 0xcb, 0xfd, 0x32, 0x28, 0xbf, + 0x08, 0xc9, 0x9a, 0xa9, 0x1b, 0xc4, 0xb6, 0xb5, 0xb0, 0x61, 0x76, 0xb8, 0xba, 0x65, 0x05, 0x74, + 0x1e, 0xd2, 0x5a, 0xc7, 0xec, 0x1a, 0x2e, 0x53, 0xb5, 0xd5, 0x99, 0x2f, 0xbe, 0x36, 0x3b, 0xf6, + 0x1f, 0x5e, 0x9b, 0x4d, 0x2c, 0x19, 0xee, 0xef, 0x7f, 0xfa, 0x11, 0xe0, 0xd4, 0x97, 0x0c, 0xf7, + 0xe3, 0x5f, 0xfb, 0xe4, 0xe9, 0x98, 0xc2, 0xa1, 0x17, 0x92, 0x5f, 0x7f, 0x75, 0x36, 0x26, 0x3f, + 0x0f, 0x99, 0x45, 0xdc, 0x3c, 0x80, 0xfc, 0x63, 0x3d, 0xe4, 0x8f, 0x09, 0xf2, 0x8b, 0xb8, 0x19, + 0x20, 0xbf, 0x88, 0x9b, 0x3d, 0x94, 0x9f, 0x84, 0xec, 0x92, 0xe1, 0xb2, 0xcf, 0x1d, 0x1e, 0x82, + 0x84, 0x6e, 0xb0, 0x1b, 0xb4, 0x01, 0x0a, 0x7d, 0x03, 0x54, 0x08, 0x14, 0x41, 0x5c, 0xc4, 0x4d, + 0x0f, 0xb1, 0x85, 0x9b, 0xbd, 0x88, 0xfd, 0x5d, 0x13, 0xa8, 0xea, 0xe2, 0x1f, 0xfc, 0x97, 0x99, + 0xb1, 0x57, 0x5e, 0x9f, 0x19, 0x1b, 0xba, 0xf4, 0x72, 0xf4, 0xd2, 0x7b, 0x2b, 0xfe, 0xd1, 0x24, + 0xdc, 0x43, 0xbf, 0x82, 0xb3, 0x3b, 0xba, 0xe1, 0x9e, 0x69, 0xda, 0xfb, 0x96, 0x6b, 0x12, 0x05, + 0x60, 0x6e, 0xf3, 0x05, 0x9f, 0xf0, 0x9b, 0xe7, 0x59, 0xf3, 0xe0, 0xe5, 0x96, 0xb7, 0x21, 0xb5, + 0x4e, 0xf0, 0x08, 0x8b, 0x5d, 0xd3, 0xd5, 0xda, 0xdc, 0x6b, 0x61, 0x05, 0x52, 0xcb, 0xbe, 0x9c, + 0x8b, 0xb3, 0x5a, 0x5d, 0x7c, 0x34, 0xd7, 0xc6, 0xda, 0x36, 0xfb, 0x00, 0x21, 0x41, 0xdd, 0xdd, + 0x2c, 0xa9, 0xa0, 0xdf, 0x1a, 0x4c, 0x41, 0x4a, 0xeb, 0xb2, 0x9b, 0x2f, 0x09, 0xe2, 0x07, 0xd3, + 0x82, 0x7c, 0x15, 0x32, 0xfc, 0xfc, 0x1d, 0x49, 0x90, 0xb8, 0x8e, 0xf7, 0x69, 0x3f, 0xe3, 0x0a, + 0xf9, 0x89, 0xe6, 0x21, 0x45, 0x07, 0xcf, 0xbf, 0xac, 0x9a, 0x9e, 0xef, 0x1b, 0xfd, 0x3c, 0x1d, + 0xa4, 0xc2, 0xc0, 0xe4, 0x2b, 0x90, 0x5d, 0x34, 0x89, 0x14, 0x86, 0xa9, 0xe5, 0x18, 0x35, 0x3a, + 0x66, 0xab, 0xcb, 0xa5, 0x42, 0x61, 0x05, 0x74, 0x04, 0xd2, 0xec, 0x83, 0x14, 0x7e, 0x7b, 0x87, + 0x97, 0xe4, 0x1a, 0x64, 0x28, 0xed, 0x35, 0x8b, 0xb8, 0x0c, 0xde, 0xdd, 0xdf, 0x1c, 0xff, 0x3c, + 0x91, 0x93, 0x8f, 0xfb, 0x83, 0x45, 0x90, 0x6c, 0x69, 0xae, 0xc6, 0xe7, 0x4d, 0x7f, 0xcb, 0xef, + 0x84, 0x2c, 0x27, 0xe2, 0xa0, 0xb3, 0x90, 0x30, 0x2d, 0x87, 0xdf, 0xbf, 0x29, 0x0f, 0x9b, 0xca, + 0x9a, 0x55, 0x4d, 0x12, 0x99, 0x51, 0x08, 0x70, 0x75, 0x75, 0xa8, 0x58, 0x3c, 0x11, 0x12, 0x8b, + 0x0e, 0x76, 0xb7, 0xb6, 0x5d, 0xff, 0x07, 0x5b, 0xce, 0x3e, 0x51, 0xf0, 0x04, 0xe5, 0x76, 0x1c, + 0x66, 0x02, 0xad, 0x37, 0xb0, 0xed, 0xe8, 0xa6, 0xc1, 0xa4, 0x89, 0x4b, 0x0a, 0x0a, 0x0c, 0x90, + 0xb7, 0x0f, 0x11, 0x95, 0x67, 0x20, 0x51, 0xb1, 0x2c, 0x54, 0x86, 0x2c, 0x2d, 0x37, 0x4d, 0x26, + 0x2b, 0x49, 0xc5, 0x2b, 0x93, 0x36, 0xc7, 0xdc, 0x76, 0x6f, 0x6a, 0xb6, 0xf7, 0xbd, 0xa6, 0x28, + 0xcb, 0x4f, 0x43, 0xae, 0x66, 0x1a, 0x0e, 0x36, 0x9c, 0x2e, 0xf5, 0x85, 0xb7, 0xda, 0x66, 0xf3, + 0x3a, 0xa7, 0xc0, 0x0a, 0x84, 0xd9, 0x9a, 0x65, 0x51, 0xcc, 0xa4, 0x42, 0x7e, 0xb2, 0xfd, 0x5a, + 0x5d, 0x1b, 0xca, 0x9e, 0x73, 0x87, 0x63, 0x0f, 0x9f, 0xa0, 0xef, 0xd4, 0xc6, 0xe0, 0xee, 0xfe, + 0x8d, 0x74, 0x1d, 0xef, 0x3b, 0x87, 0xdd, 0x47, 0xcf, 0x43, 0x6e, 0x9d, 0x3e, 0x98, 0x70, 0x15, + 0xef, 0xa3, 0x32, 0x64, 0x70, 0xeb, 0xec, 0xb9, 0x73, 0x8f, 0x3d, 0xcd, 0xa4, 0xfc, 0xf2, 0x98, + 0x22, 0x2a, 0xd0, 0x0c, 0xe4, 0x1c, 0xdc, 0xb4, 0xce, 0x9e, 0x3b, 0x7f, 0xfd, 0x31, 0x26, 0x56, + 0x97, 0xc7, 0x14, 0xbf, 0x6a, 0x21, 0x4b, 0x66, 0xfc, 0xf5, 0x0f, 0xcf, 0xc6, 0xaa, 0x29, 0x48, + 0x38, 0xdd, 0xce, 0x5b, 0x26, 0x1b, 0x3f, 0x97, 0x82, 0xb9, 0x40, 0x2b, 0x33, 0x2e, 0x37, 0xb4, + 0xb6, 0xde, 0xd2, 0xfc, 0x67, 0x2e, 0xa4, 0xc0, 0xfc, 0x29, 0xc4, 0x10, 0xab, 0x71, 0x20, 0x17, + 0xe5, 0xdf, 0x88, 0xc1, 0xf8, 0x35, 0x41, 0xb9, 0x81, 0x5d, 0x74, 0x01, 0xc0, 0xeb, 0x49, 0x6c, + 0x95, 0xe3, 0xf3, 0xbd, 0x7d, 0xcd, 0x7b, 0x38, 0x4a, 0x00, 0x1c, 0x3d, 0x49, 0x05, 0xd0, 0x32, + 0x1d, 0xfe, 0xed, 0x5e, 0x04, 0xaa, 0x07, 0x8c, 0x1e, 0x06, 0x44, 0xb5, 0x9a, 0x7a, 0xc3, 0x74, + 0x75, 0x63, 0x47, 0xb5, 0xcc, 0x9b, 0xfc, 0x8b, 0xe8, 0x84, 0x22, 0xd1, 0x96, 0x6b, 0xb4, 0x61, + 0x9d, 0xd4, 0x93, 0x41, 0xe7, 0x3c, 0x2a, 0x24, 0xac, 0xd3, 0x5a, 0x2d, 0x1b, 0x3b, 0x0e, 0x57, + 0x5c, 0xa2, 0x88, 0x2e, 0x40, 0xc6, 0xea, 0x6e, 0xa9, 0x42, 0x4b, 0xe4, 0xcf, 0xde, 0x3d, 0x68, + 0xcf, 0x0b, 0xd9, 0xe0, 0xbb, 0x3e, 0x6d, 0x75, 0xb7, 0x88, 0xa4, 0xdc, 0x0b, 0xe3, 0x03, 0x06, + 0x93, 0xbf, 0xe1, 0x8f, 0x83, 0xbe, 0xd1, 0xc1, 0x67, 0xa0, 0x5a, 0xb6, 0x6e, 0xda, 0xba, 0xbb, + 0x4f, 0x2f, 0xce, 0x25, 0x14, 0x49, 0x34, 0xac, 0xf3, 0x7a, 0xf9, 0x3a, 0x94, 0x1a, 0xd4, 0xdd, + 0xf7, 0x47, 0x7e, 0xce, 0x1f, 0x5f, 0x2c, 0x7a, 0x7c, 0x43, 0x47, 0x16, 0xef, 0x1b, 0x59, 0x75, + 0x65, 0xa8, 0x64, 0x3e, 0x7e, 0x38, 0xc9, 0x0c, 0x5b, 0xb7, 0x3f, 0x3a, 0x16, 0xda, 0x94, 0xdc, + 0xeb, 0x09, 0xa8, 0xac, 0x51, 0x85, 0x32, 0x2a, 0x92, 0x2f, 0x1f, 0x6c, 0x44, 0xcb, 0x11, 0xaa, + 0xb3, 0x1c, 0xb9, 0x7d, 0xe4, 0xa7, 0xa1, 0xb0, 0xae, 0xd9, 0x6e, 0x03, 0xbb, 0x97, 0xb1, 0xd6, + 0xc2, 0x76, 0xd8, 0xca, 0x16, 0x84, 0x95, 0x45, 0x90, 0xa4, 0xa6, 0x94, 0x59, 0x19, 0xfa, 0x5b, + 0xde, 0x85, 0x24, 0xbd, 0x38, 0xeb, 0x59, 0x60, 0x8e, 0xc1, 0x2c, 0x30, 0xd1, 0x9f, 0xfb, 0x2e, + 0x76, 0x44, 0xb2, 0x89, 0x16, 0xd0, 0x13, 0xc2, 0x8e, 0x26, 0x0e, 0xb6, 0xa3, 0x5c, 0x08, 0xb9, + 0x35, 0x6d, 0x43, 0xa6, 0x4a, 0xd4, 0xef, 0xd2, 0xa2, 0x37, 0x90, 0x98, 0x3f, 0x10, 0xb4, 0x02, + 0x25, 0x4b, 0xb3, 0x5d, 0xfa, 0xcd, 0xd1, 0x2e, 0x9d, 0x05, 0x97, 0xf3, 0xd9, 0xfe, 0x5d, 0x17, + 0x9a, 0x2c, 0xef, 0xa5, 0x60, 0x05, 0x2b, 0xe5, 0xff, 0x9a, 0x84, 0x34, 0x67, 0xc6, 0x33, 0x90, + 0xe1, 0x6c, 0xe5, 0x92, 0x79, 0xcf, 0x7c, 0xbf, 0x31, 0x9a, 0xf7, 0x8c, 0x06, 0xa7, 0x27, 0x70, + 0xd0, 0x83, 0x90, 0x6d, 0xee, 0x6a, 0xba, 0xa1, 0xea, 0x2d, 0xee, 0x00, 0xe6, 0x5f, 0x7f, 0x6d, + 0x36, 0x53, 0x23, 0x75, 0x4b, 0x8b, 0x4a, 0x86, 0x36, 0x2e, 0xb5, 0x88, 0xe5, 0xdf, 0xc5, 0xfa, + 0xce, 0xae, 0xcb, 0x77, 0x17, 0x2f, 0xa1, 0xa7, 0x20, 0x49, 0x04, 0x82, 0x7f, 0x91, 0x5a, 0xee, + 0xf3, 0xe3, 0xbd, 0x44, 0x4b, 0x35, 0x4b, 0x3a, 0xfe, 0xc0, 0x7f, 0x9e, 0x8d, 0x29, 0x14, 0x03, + 0xd5, 0xa0, 0xd0, 0xd6, 0x1c, 0x57, 0xa5, 0x56, 0x8b, 0x74, 0x9f, 0xa2, 0x24, 0x8e, 0xf5, 0x33, + 0x84, 0x33, 0x96, 0x0f, 0x3d, 0x4f, 0xb0, 0x58, 0x55, 0x0b, 0x9d, 0x04, 0x89, 0x12, 0x69, 0x9a, + 0x9d, 0x8e, 0xee, 0x32, 0x5f, 0x2a, 0x4d, 0xf9, 0x5e, 0x24, 0xf5, 0x35, 0x5a, 0x4d, 0x3d, 0xaa, + 0xe3, 0x90, 0xa3, 0xdf, 0xc0, 0x51, 0x10, 0x76, 0x5b, 0x3b, 0x4b, 0x2a, 0x68, 0xe3, 0x09, 0x28, + 0xf9, 0xba, 0x91, 0x81, 0x64, 0x19, 0x15, 0xbf, 0x9a, 0x02, 0x3e, 0x0a, 0x53, 0x06, 0xde, 0xa3, + 0xf7, 0xc7, 0x43, 0xd0, 0x39, 0x0a, 0x8d, 0x48, 0xdb, 0xb5, 0x30, 0xc6, 0x03, 0x50, 0x6c, 0x0a, + 0xe6, 0x33, 0x58, 0xa0, 0xb0, 0x05, 0xaf, 0x96, 0x82, 0x1d, 0x83, 0xac, 0x66, 0x59, 0x0c, 0x20, + 0xcf, 0x75, 0xa3, 0x65, 0xd1, 0xa6, 0xd3, 0x30, 0x41, 0xe7, 0x68, 0x63, 0xa7, 0xdb, 0x76, 0x39, + 0x91, 0x71, 0x0a, 0x53, 0x22, 0x0d, 0x0a, 0xab, 0xa7, 0xb0, 0xf7, 0x41, 0x01, 0xdf, 0xd0, 0x5b, + 0xd8, 0x68, 0x62, 0x06, 0x57, 0xa0, 0x70, 0xe3, 0xa2, 0x92, 0x02, 0x9d, 0x02, 0x4f, 0xe7, 0xa9, + 0x42, 0x1f, 0x17, 0x19, 0x3d, 0x51, 0x5f, 0x61, 0xd5, 0xf2, 0x34, 0x24, 0x17, 0x35, 0x57, 0x23, + 0x4e, 0x85, 0xbb, 0xc7, 0x8c, 0xcc, 0xb8, 0x42, 0x7e, 0xca, 0x5f, 0x8f, 0x43, 0xf2, 0x9a, 0xe9, + 0x62, 0xf4, 0x78, 0xc0, 0xe1, 0x2b, 0x0e, 0x92, 0xe7, 0x86, 0xbe, 0x63, 0xe0, 0xd6, 0x8a, 0xb3, + 0x13, 0x78, 0xb0, 0xc2, 0x17, 0xa7, 0x78, 0x48, 0x9c, 0xa6, 0x20, 0x65, 0x9b, 0x5d, 0xa3, 0x25, + 0x2e, 0x3a, 0xd3, 0x02, 0xaa, 0x43, 0xd6, 0x93, 0x92, 0x64, 0x94, 0x94, 0x94, 0x88, 0x94, 0x10, + 0x19, 0xe6, 0x15, 0x4a, 0x66, 0x8b, 0x0b, 0x4b, 0x15, 0x72, 0x9e, 0xf2, 0xe2, 0xd2, 0x36, 0x9a, + 0xc0, 0xfa, 0x68, 0xc4, 0x90, 0x78, 0x6b, 0xef, 0x31, 0x8f, 0x49, 0x9c, 0xe4, 0x35, 0x70, 0xee, + 0x85, 0xc4, 0x8a, 0x3f, 0x9e, 0x91, 0xa1, 0xf3, 0xf2, 0xc5, 0x8a, 0x3d, 0xa0, 0x71, 0x37, 0xe4, + 0x1c, 0x7d, 0xc7, 0xd0, 0xdc, 0xae, 0x8d, 0xb9, 0xe4, 0xf9, 0x15, 0xf2, 0xe7, 0x63, 0x90, 0x66, + 0x92, 0x1c, 0xe0, 0x5b, 0x6c, 0x30, 0xdf, 0xe2, 0xc3, 0xf8, 0x96, 0xb8, 0x73, 0xbe, 0x55, 0x00, + 0xbc, 0xc1, 0x38, 0xfc, 0x4d, 0x83, 0x01, 0xde, 0x02, 0x1b, 0x62, 0x43, 0xdf, 0xe1, 0x1b, 0x35, + 0x80, 0x24, 0xff, 0xa7, 0x18, 0x71, 0x5c, 0x79, 0x3b, 0xaa, 0x40, 0x41, 0x8c, 0x4b, 0xdd, 0x6e, + 0x6b, 0x3b, 0x5c, 0x76, 0xee, 0x19, 0x3a, 0xb8, 0x8b, 0x6d, 0x6d, 0x47, 0xc9, 0xf3, 0xf1, 0x90, + 0xc2, 0xe0, 0x75, 0x88, 0x0f, 0x59, 0x87, 0xd0, 0xc2, 0x27, 0xee, 0x6c, 0xe1, 0x43, 0x4b, 0x94, + 0xec, 0x5d, 0xa2, 0x4f, 0xc5, 0x69, 0xf0, 0x62, 0x99, 0x8e, 0xd6, 0x7e, 0x3b, 0x76, 0xc4, 0x71, + 0xc8, 0x59, 0x66, 0x5b, 0x65, 0x2d, 0xec, 0x03, 0x80, 0xac, 0x65, 0xb6, 0x95, 0xbe, 0x65, 0x4f, + 0xbd, 0x49, 0xdb, 0x25, 0xfd, 0x26, 0x70, 0x2d, 0xd3, 0xcb, 0x35, 0x1b, 0xc6, 0x19, 0x2b, 0xb8, + 0x2d, 0x7b, 0x94, 0xf0, 0x80, 0x1a, 0xc7, 0x58, 0xbf, 0xed, 0x65, 0xc3, 0x66, 0x90, 0x0a, 0x87, + 0x23, 0x18, 0x4c, 0xf5, 0x0f, 0x8a, 0x7a, 0x83, 0x62, 0xa9, 0x70, 0x38, 0xf9, 0xe7, 0x62, 0x00, + 0xcb, 0x84, 0xb3, 0x74, 0xbe, 0xc4, 0x0a, 0x39, 0x74, 0x08, 0x6a, 0xa8, 0xe7, 0x99, 0x61, 0x8b, + 0xc6, 0xfb, 0x1f, 0x77, 0x82, 0xe3, 0xae, 0x41, 0xc1, 0x17, 0x46, 0x07, 0x8b, 0xc1, 0xcc, 0x1c, + 0xe0, 0x51, 0x37, 0xb0, 0xab, 0x8c, 0xdf, 0x08, 0x94, 0xe4, 0x7f, 0x1a, 0x83, 0x1c, 0x1d, 0xd3, + 0x0a, 0x76, 0xb5, 0xd0, 0x1a, 0xc6, 0xee, 0x7c, 0x0d, 0xef, 0x01, 0x60, 0x64, 0x1c, 0xfd, 0x65, + 0xcc, 0x25, 0x2b, 0x47, 0x6b, 0x1a, 0xfa, 0xcb, 0x18, 0x9d, 0xf7, 0x18, 0x9e, 0x38, 0x98, 0xe1, + 0xc2, 0xe3, 0xe6, 0x6c, 0x3f, 0x0a, 0x19, 0xfa, 0x06, 0xd8, 0x9e, 0xc3, 0x9d, 0xe8, 0xb4, 0xd1, + 0xed, 0x6c, 0xec, 0x39, 0xf2, 0x4b, 0x90, 0xd9, 0xd8, 0x63, 0xb9, 0x90, 0xe3, 0x90, 0xb3, 0x4d, + 0x93, 0xdb, 0x64, 0xe6, 0x0b, 0x65, 0x49, 0x05, 0x35, 0x41, 0x22, 0xfe, 0x8f, 0xfb, 0xf1, 0xbf, + 0x9f, 0xc0, 0x48, 0x8c, 0x94, 0xc0, 0x38, 0xfd, 0xef, 0x63, 0x90, 0x0f, 0xe8, 0x07, 0xf4, 0x18, + 0xdc, 0x55, 0x5d, 0x5e, 0xab, 0x5d, 0x55, 0x97, 0x16, 0xd5, 0x8b, 0xcb, 0x95, 0x4b, 0xfe, 0x27, + 0x6e, 0xe5, 0x23, 0xb7, 0x6e, 0xcf, 0xa1, 0x00, 0xec, 0xa6, 0x41, 0x4f, 0x73, 0xd0, 0x19, 0x98, + 0x0a, 0xa3, 0x54, 0xaa, 0x8d, 0xfa, 0xea, 0x86, 0x14, 0x2b, 0xdf, 0x75, 0xeb, 0xf6, 0xdc, 0x44, + 0x00, 0xa3, 0xb2, 0xe5, 0x60, 0xc3, 0xed, 0x47, 0xa8, 0xad, 0xad, 0xac, 0x2c, 0x6d, 0x48, 0xf1, + 0x3e, 0x04, 0xae, 0xb0, 0x4f, 0xc1, 0x44, 0x18, 0x61, 0x75, 0x69, 0x59, 0x4a, 0x94, 0xd1, 0xad, + 0xdb, 0x73, 0xc5, 0x00, 0xf4, 0xaa, 0xde, 0x2e, 0x67, 0xdf, 0xff, 0x91, 0x99, 0xb1, 0x8f, 0xff, + 0xdd, 0x99, 0x18, 0x99, 0x59, 0x21, 0xa4, 0x23, 0xd0, 0xc3, 0x70, 0xb4, 0xb1, 0x74, 0x69, 0xb5, + 0xbe, 0xa8, 0xae, 0x34, 0x2e, 0x89, 0xf3, 0x10, 0x31, 0xbb, 0xd2, 0xad, 0xdb, 0x73, 0x79, 0x3e, + 0xa5, 0x61, 0xd0, 0xeb, 0x4a, 0xfd, 0xda, 0xda, 0x46, 0x5d, 0x8a, 0x31, 0xe8, 0x75, 0x1b, 0xdf, + 0x30, 0x5d, 0xf6, 0x48, 0xe0, 0xa3, 0x70, 0x6c, 0x00, 0xb4, 0x37, 0xb1, 0x89, 0x5b, 0xb7, 0xe7, + 0x0a, 0xeb, 0x36, 0x66, 0xfb, 0x87, 0x62, 0xcc, 0xc3, 0x74, 0x3f, 0xc6, 0xda, 0xfa, 0x5a, 0xa3, + 0xb2, 0x2c, 0xcd, 0x95, 0xa5, 0x5b, 0xb7, 0xe7, 0xc6, 0x85, 0x32, 0x24, 0xf0, 0xfe, 0xcc, 0xde, + 0xaa, 0x68, 0xe7, 0xc7, 0x32, 0xa1, 0x5c, 0x1e, 0x8b, 0x23, 0x2c, 0xcd, 0xd6, 0x3a, 0x87, 0x0d, + 0x77, 0x22, 0x8e, 0x73, 0xe5, 0x57, 0xe2, 0x50, 0xf2, 0x9c, 0xe9, 0x75, 0xda, 0x03, 0x7a, 0x3c, + 0x98, 0x87, 0xc9, 0x0f, 0x35, 0x63, 0x0c, 0x5a, 0xa4, 0x69, 0xde, 0x01, 0x59, 0xe1, 0x94, 0x71, + 0x75, 0x31, 0xd7, 0x8f, 0x57, 0xe7, 0x10, 0x1c, 0xd5, 0xc3, 0x40, 0xcf, 0x42, 0xce, 0x53, 0x1e, + 0xde, 0x13, 0x3b, 0xc3, 0xb5, 0x0d, 0xc7, 0xf7, 0x71, 0xd0, 0xd3, 0x7e, 0xd8, 0x90, 0x1c, 0x16, + 0x88, 0x5c, 0x63, 0x00, 0x1c, 0x59, 0xc0, 0xcb, 0x4b, 0x7c, 0xdb, 0xf1, 0xd9, 0xd3, 0xe7, 0x09, + 0xf6, 0x54, 0x16, 0x49, 0x31, 0xaf, 0x24, 0xdb, 0xd1, 0xf6, 0xaa, 0x34, 0x98, 0x3a, 0x0a, 0x19, + 0xd2, 0xb8, 0xc3, 0xbf, 0xbe, 0x4e, 0x28, 0xe9, 0x8e, 0xb6, 0x77, 0x49, 0x73, 0xae, 0x24, 0xb3, + 0x09, 0x29, 0x29, 0x7f, 0x22, 0x06, 0xc5, 0xf0, 0x1c, 0xd1, 0x43, 0x80, 0x08, 0x86, 0xb6, 0x83, + 0x55, 0xa2, 0x62, 0x28, 0xb3, 0x04, 0xdd, 0x52, 0x47, 0xdb, 0xab, 0xec, 0xe0, 0xd5, 0x6e, 0x87, + 0x0e, 0xc0, 0x41, 0x2b, 0x20, 0x09, 0x60, 0xb1, 0x4e, 0x9c, 0x99, 0xc7, 0xfa, 0x1f, 0xdc, 0xe3, + 0x00, 0xcc, 0x50, 0x7d, 0x90, 0x18, 0xaa, 0x22, 0xa3, 0xe7, 0x1d, 0xc7, 0x87, 0xa6, 0x92, 0x08, + 0x4f, 0x45, 0x7e, 0x16, 0x4a, 0x3d, 0xfc, 0x44, 0x32, 0x14, 0x78, 0x56, 0x80, 0x1e, 0x75, 0x32, + 0xff, 0x38, 0xa7, 0xe4, 0x59, 0xf4, 0x4f, 0x8f, 0x7e, 0x17, 0xb2, 0x9f, 0x7b, 0x75, 0x36, 0x46, + 0x13, 0xe6, 0x0f, 0x41, 0x21, 0xc4, 0x51, 0x91, 0xa9, 0x8b, 0xf9, 0x99, 0x3a, 0x1f, 0xf8, 0x45, + 0x18, 0x27, 0x8a, 0x12, 0xb7, 0x38, 0xec, 0x83, 0x50, 0x62, 0x8a, 0xbc, 0x97, 0xd7, 0xcc, 0x93, + 0x5a, 0x11, 0x0c, 0x97, 0x85, 0x6b, 0x15, 0x66, 0x7b, 0x5e, 0x40, 0x5d, 0xd2, 0x9c, 0xea, 0xbb, + 0x3e, 0xfe, 0xfa, 0x4c, 0xec, 0xad, 0xd9, 0x88, 0x5f, 0x7e, 0x17, 0x1c, 0x0f, 0x34, 0x6a, 0x5b, + 0x4d, 0x3d, 0x94, 0x75, 0x28, 0x05, 0x84, 0x8c, 0x34, 0x46, 0x65, 0x0f, 0x0e, 0xcc, 0x61, 0x1c, + 0x9c, 0x30, 0x2b, 0x1f, 0xac, 0x11, 0xa2, 0x13, 0x1b, 0x83, 0x73, 0x94, 0xff, 0x27, 0x0b, 0x19, + 0x05, 0xbf, 0xb7, 0x8b, 0x1d, 0x17, 0x9d, 0x85, 0x24, 0x6e, 0xee, 0x9a, 0x83, 0x52, 0x42, 0x64, + 0x72, 0xf3, 0x1c, 0xae, 0xde, 0xdc, 0x35, 0x2f, 0x8f, 0x29, 0x14, 0x16, 0x9d, 0x83, 0xd4, 0x76, + 0xbb, 0xcb, 0xf3, 0x14, 0x3d, 0xca, 0x22, 0x88, 0x74, 0x91, 0x00, 0x5d, 0x1e, 0x53, 0x18, 0x34, + 0xe9, 0x8a, 0x3e, 0x5d, 0x9a, 0x38, 0xb8, 0xab, 0x25, 0x63, 0x9b, 0x76, 0x45, 0x60, 0x51, 0x15, + 0x40, 0x37, 0x74, 0x57, 0xa5, 0x31, 0x3c, 0xf7, 0x04, 0xef, 0x1d, 0x8e, 0xa9, 0xbb, 0x34, 0xea, + 0xbf, 0x3c, 0xa6, 0xe4, 0x74, 0x51, 0x20, 0xc3, 0x7d, 0x6f, 0x17, 0xdb, 0xfb, 0xdc, 0x01, 0x1c, + 0x3a, 0xdc, 0x77, 0x11, 0x20, 0x32, 0x5c, 0x0a, 0x8d, 0xea, 0x90, 0xa7, 0xdf, 0xa8, 0xb2, 0xfd, + 0xcb, 0x9f, 0xd1, 0x94, 0x87, 0x21, 0x57, 0x09, 0x28, 0xdd, 0xd2, 0x97, 0xc7, 0x14, 0xd8, 0xf2, + 0x4a, 0x44, 0x49, 0xb2, 0x67, 0x96, 0xdc, 0x3d, 0xfe, 0x78, 0xe0, 0xec, 0x30, 0x1a, 0xf4, 0xad, + 0xa5, 0x8d, 0xbd, 0xcb, 0x63, 0x4a, 0xa6, 0xc9, 0x7e, 0x92, 0xf9, 0xb7, 0x70, 0x5b, 0xbf, 0x81, + 0x6d, 0x82, 0x9f, 0x3b, 0x78, 0xfe, 0x8b, 0x0c, 0x92, 0x52, 0xc8, 0xb5, 0x44, 0x81, 0x28, 0x5a, + 0x6c, 0xb4, 0xf8, 0x34, 0xa0, 0x5f, 0x4f, 0x87, 0xd6, 0xd9, 0x68, 0x89, 0x49, 0x64, 0x31, 0xff, + 0x8d, 0x9e, 0xf2, 0x3c, 0xd4, 0x7c, 0xbf, 0x53, 0x18, 0x9a, 0x00, 0xcb, 0x55, 0x8c, 0x09, 0x4f, + 0x15, 0xad, 0x42, 0xb1, 0xad, 0x3b, 0xae, 0xea, 0x18, 0x9a, 0xe5, 0xec, 0x9a, 0xae, 0x43, 0x83, + 0xfe, 0xfc, 0xd9, 0x07, 0x86, 0x51, 0x58, 0xd6, 0x1d, 0xb7, 0x21, 0x80, 0x2f, 0x8f, 0x29, 0x85, + 0x76, 0xb0, 0x82, 0xd0, 0x33, 0xb7, 0xb7, 0xb1, 0xed, 0x11, 0xa4, 0xc9, 0x81, 0x03, 0xe8, 0xad, + 0x11, 0x68, 0x81, 0x4f, 0xe8, 0x99, 0xc1, 0x0a, 0xf4, 0xfd, 0x30, 0xd9, 0x36, 0xb5, 0x96, 0x47, + 0x4e, 0x6d, 0xee, 0x76, 0x8d, 0xeb, 0x34, 0x93, 0x90, 0x3f, 0x7b, 0x6a, 0xe8, 0x20, 0x4d, 0xad, + 0x25, 0x48, 0xd4, 0x08, 0xc2, 0xe5, 0x31, 0x65, 0xa2, 0xdd, 0x5b, 0x89, 0xde, 0x03, 0x53, 0x9a, + 0x65, 0xb5, 0xf7, 0x7b, 0xa9, 0x97, 0x28, 0xf5, 0xd3, 0xc3, 0xa8, 0x57, 0x08, 0x4e, 0x2f, 0x79, + 0xa4, 0xf5, 0xd5, 0xa2, 0x0d, 0x90, 0x2c, 0x1b, 0xd3, 0x8f, 0x6a, 0x2c, 0xee, 0xaa, 0xd0, 0x97, + 0xb1, 0xf2, 0x67, 0x4f, 0x0c, 0xa3, 0xbd, 0xce, 0xe0, 0x85, 0x67, 0x73, 0x79, 0x4c, 0x29, 0x59, + 0xe1, 0x2a, 0x46, 0xd5, 0x6c, 0x62, 0xfa, 0x7a, 0x13, 0xa7, 0x3a, 0x11, 0x45, 0x95, 0xc2, 0x87, + 0xa9, 0x86, 0xaa, 0xaa, 0x19, 0x7e, 0x29, 0x8e, 0x3f, 0xad, 0x72, 0x02, 0xf2, 0x01, 0xc5, 0x82, + 0xa6, 0x21, 0xc3, 0x2f, 0x09, 0x88, 0xcb, 0x74, 0xbc, 0x28, 0x17, 0x61, 0x3c, 0xa8, 0x4c, 0xe4, + 0x0f, 0xc4, 0x3c, 0x4c, 0xfa, 0xad, 0xfb, 0x74, 0x38, 0x75, 0x98, 0xf3, 0xb3, 0x82, 0xf7, 0x09, + 0x2b, 0x22, 0xda, 0xd9, 0x69, 0xd2, 0x38, 0xad, 0xe4, 0x46, 0x0c, 0xcd, 0x42, 0xde, 0x3a, 0x6b, + 0x79, 0x20, 0x09, 0x0a, 0x02, 0xd6, 0x59, 0x4b, 0x00, 0xdc, 0x0b, 0xe3, 0x64, 0xa6, 0x6a, 0xd0, + 0xd1, 0xc8, 0x29, 0x79, 0x52, 0xc7, 0x41, 0xe4, 0x7f, 0x1d, 0x07, 0xa9, 0x57, 0x01, 0x79, 0x39, + 0xc5, 0xd8, 0xa1, 0x73, 0x8a, 0xc7, 0x7a, 0xb3, 0x99, 0x7e, 0x02, 0x73, 0x19, 0x24, 0x3f, 0x0f, + 0xc7, 0x0c, 0xc1, 0x70, 0xc7, 0xa9, 0xc7, 0xc3, 0x53, 0x4a, 0xcd, 0x1e, 0x97, 0xef, 0x62, 0xe8, + 0xec, 0x45, 0xbc, 0xcd, 0xdd, 0xbb, 0xc4, 0x9e, 0xbf, 0xb0, 0x69, 0xb5, 0x34, 0x17, 0x8b, 0xbc, + 0x48, 0xe0, 0x18, 0xe6, 0x41, 0x28, 0x69, 0x96, 0xa5, 0x3a, 0xae, 0xe6, 0x62, 0x6e, 0xd6, 0x53, + 0x2c, 0x3d, 0xa8, 0x59, 0x56, 0x83, 0xd4, 0x32, 0xb3, 0xfe, 0x00, 0x14, 0x89, 0x4e, 0xd6, 0xb5, + 0xb6, 0xca, 0xb3, 0x04, 0x69, 0x66, 0xfd, 0x79, 0xed, 0x65, 0x5a, 0x29, 0xb7, 0xbc, 0x15, 0xa7, + 0xfa, 0xd8, 0x0b, 0xb3, 0x62, 0x81, 0x30, 0x0b, 0xf1, 0x47, 0x08, 0x18, 0x7f, 0xc4, 0xbb, 0x0d, + 0x83, 0xb3, 0xbb, 0x53, 0x34, 0x24, 0xbb, 0xc1, 0x12, 0x1e, 0x59, 0x85, 0x15, 0xe4, 0xf7, 0xc5, + 0x61, 0xa2, 0x4f, 0x73, 0x0f, 0x4c, 0x7b, 0xfb, 0xf1, 0x65, 0xfc, 0x50, 0xf1, 0xe5, 0xd5, 0x70, + 0x5a, 0x37, 0x60, 0xf9, 0x8e, 0xf7, 0x31, 0x99, 0xe9, 0x4d, 0x22, 0xd0, 0x9c, 0x48, 0x20, 0xf3, + 0x4b, 0xc5, 0x7c, 0x13, 0xa6, 0xb6, 0xf6, 0x5f, 0xd6, 0x0c, 0x57, 0x37, 0xb0, 0xda, 0xb7, 0x6a, + 0xfd, 0xa6, 0x74, 0x45, 0x77, 0xb6, 0xf0, 0xae, 0x76, 0x43, 0x37, 0xc5, 0xb0, 0x26, 0x3d, 0x7c, + 0x3f, 0xb9, 0x2b, 0x2b, 0x50, 0x0c, 0x9b, 0x1e, 0x54, 0x84, 0xb8, 0xbb, 0xc7, 0xe7, 0x1f, 0x77, + 0xf7, 0xd0, 0xa3, 0x3c, 0x0f, 0x14, 0xa7, 0x79, 0xa0, 0xfe, 0x8e, 0x38, 0x9e, 0x9f, 0x04, 0x92, + 0x65, 0x6f, 0x37, 0x78, 0xe6, 0xa8, 0x97, 0xaa, 0x7c, 0x0a, 0x4a, 0x3d, 0xf6, 0x66, 0x58, 0x56, + 0x50, 0x2e, 0x41, 0x21, 0x64, 0x5c, 0xe4, 0x23, 0x30, 0x35, 0xc8, 0x56, 0xc8, 0xbb, 0x5e, 0x7d, + 0x48, 0xe7, 0xa3, 0x73, 0x90, 0xf5, 0x8c, 0xc5, 0x80, 0x2c, 0x04, 0x9d, 0x85, 0x00, 0x56, 0x3c, + 0xd0, 0x50, 0x32, 0x3b, 0x1e, 0x4a, 0x66, 0xcb, 0x3f, 0x08, 0xd3, 0xc3, 0x0c, 0x41, 0xcf, 0x34, + 0x92, 0x9e, 0x14, 0x1e, 0x81, 0x34, 0x7f, 0xa2, 0x2d, 0x4e, 0x8f, 0x6f, 0x78, 0x89, 0x48, 0x27, + 0x33, 0x0a, 0x09, 0x76, 0xaa, 0x43, 0x0b, 0xb2, 0x0a, 0xc7, 0x86, 0x1a, 0x83, 0xe1, 0x07, 0x41, + 0x8c, 0x10, 0x3f, 0x08, 0x6a, 0x8a, 0xe1, 0x38, 0x74, 0xae, 0xe2, 0xb2, 0x03, 0x2b, 0xc9, 0x1f, + 0x4c, 0xc0, 0x91, 0xc1, 0x26, 0x01, 0xcd, 0xc1, 0x38, 0xf1, 0xbb, 0xdd, 0xb0, 0x8b, 0x0e, 0x1d, + 0x6d, 0x6f, 0x83, 0xfb, 0xe7, 0x3c, 0x91, 0x1e, 0xf7, 0x12, 0xe9, 0x68, 0x13, 0x26, 0xda, 0x66, + 0x53, 0x6b, 0xab, 0x01, 0x89, 0xe7, 0xc2, 0x7e, 0x5f, 0x1f, 0xb3, 0xeb, 0xec, 0xe1, 0xe6, 0x56, + 0x9f, 0xd0, 0x97, 0x28, 0x8d, 0x65, 0x4f, 0xf2, 0xd1, 0x22, 0xe4, 0x3b, 0xbe, 0x20, 0x1f, 0x42, + 0xd8, 0x83, 0x68, 0x81, 0x25, 0x49, 0x0d, 0x3c, 0xf6, 0x49, 0x1f, 0x5a, 0x45, 0x0f, 0x3b, 0x41, + 0xc9, 0x0c, 0x3d, 0x41, 0x19, 0x74, 0x5c, 0x91, 0x1d, 0x7c, 0x5c, 0xf1, 0xfe, 0xe0, 0xd2, 0x84, + 0x8c, 0x68, 0xff, 0x09, 0x06, 0x6a, 0xc0, 0x14, 0xc7, 0x6f, 0x85, 0x78, 0x1f, 0x1f, 0x55, 0xd1, + 0x20, 0x81, 0x3e, 0x9c, 0xed, 0x89, 0x3b, 0x63, 0xbb, 0xd0, 0xa5, 0xc9, 0x80, 0x2e, 0xfd, 0x7f, + 0x6c, 0x29, 0xfe, 0x6d, 0x0e, 0xb2, 0x0a, 0x76, 0x2c, 0x62, 0x38, 0x51, 0x15, 0x72, 0x78, 0xaf, + 0x89, 0x2d, 0xd7, 0x3f, 0xa6, 0x1c, 0x14, 0x0c, 0x30, 0xe8, 0xba, 0x80, 0x24, 0x9e, 0xb8, 0x87, + 0x86, 0x1e, 0xe7, 0xc1, 0xd6, 0xf0, 0xb8, 0x89, 0xa3, 0x07, 0xa3, 0xad, 0xf3, 0x22, 0xda, 0x4a, + 0x0c, 0x75, 0xbe, 0x19, 0x56, 0x4f, 0xb8, 0xf5, 0x38, 0x0f, 0xb7, 0x92, 0x11, 0x9d, 0x85, 0xe2, + 0xad, 0x5a, 0x28, 0xde, 0x4a, 0x47, 0x4c, 0x73, 0x48, 0xc0, 0x75, 0x5e, 0x04, 0x5c, 0x99, 0x88, + 0x11, 0xf7, 0x44, 0x5c, 0x17, 0xc3, 0x11, 0x57, 0x76, 0x88, 0x02, 0x11, 0xd8, 0x43, 0x43, 0xae, + 0x67, 0x02, 0x21, 0x57, 0x6e, 0x68, 0xbc, 0xc3, 0x88, 0x0c, 0x88, 0xb9, 0x6a, 0xa1, 0x98, 0x0b, + 0x22, 0x78, 0x30, 0x24, 0xe8, 0xfa, 0xbe, 0x60, 0xd0, 0x95, 0x1f, 0x1a, 0xb7, 0xf1, 0xf5, 0x1e, + 0x14, 0x75, 0x3d, 0xed, 0x45, 0x5d, 0xe3, 0x43, 0xc3, 0x46, 0x3e, 0x87, 0xde, 0xb0, 0x6b, 0xad, + 0x2f, 0xec, 0x2a, 0xf0, 0xbf, 0x89, 0x30, 0x8c, 0x44, 0x44, 0xdc, 0xb5, 0xd6, 0x17, 0x77, 0x15, + 0x23, 0x08, 0x46, 0x04, 0x5e, 0x3f, 0x30, 0x38, 0xf0, 0x1a, 0x1e, 0x1a, 0xf1, 0x61, 0x8e, 0x16, + 0x79, 0xa9, 0x43, 0x22, 0x2f, 0x16, 0x1d, 0x3d, 0x34, 0x94, 0xfc, 0xc8, 0xa1, 0xd7, 0xe6, 0x80, + 0xd0, 0x8b, 0x05, 0x49, 0x27, 0x87, 0x12, 0x1f, 0x21, 0xf6, 0xda, 0x1c, 0x10, 0x7b, 0xa1, 0x48, + 0xb2, 0x87, 0x09, 0xbe, 0x52, 0x52, 0x5a, 0x3e, 0x45, 0x5c, 0xdf, 0x1e, 0x3d, 0x45, 0xfc, 0x07, + 0x6c, 0xdb, 0xa6, 0x2d, 0x6e, 0xd6, 0xd2, 0x82, 0x7c, 0x92, 0x38, 0xe3, 0xbe, 0x4e, 0x3a, 0x20, + 0x50, 0xa3, 0x7e, 0x5a, 0x40, 0x0f, 0xc9, 0x9f, 0x8b, 0xf9, 0xb8, 0xd4, 0x87, 0x0d, 0x3a, 0xf2, + 0x39, 0xee, 0xc8, 0x07, 0xc2, 0xb7, 0x78, 0x38, 0x7c, 0x9b, 0x85, 0x3c, 0xf1, 0xbf, 0x7a, 0x22, + 0x33, 0xcd, 0xf2, 0x22, 0x33, 0x71, 0xa5, 0x80, 0x05, 0x79, 0xdc, 0xac, 0xb0, 0x93, 0x9c, 0x92, + 0x77, 0xbd, 0x82, 0xc5, 0x14, 0xe8, 0x11, 0x98, 0x0c, 0xc0, 0x7a, 0x7e, 0x1d, 0x0b, 0x53, 0x24, + 0x0f, 0xba, 0xc2, 0x1d, 0xbc, 0x7f, 0x16, 0xf3, 0x39, 0xe4, 0x87, 0x74, 0x83, 0xa2, 0xaf, 0xd8, + 0x9b, 0x14, 0x7d, 0xc5, 0xef, 0x38, 0xfa, 0x0a, 0xfa, 0xa9, 0x89, 0xb0, 0x9f, 0xfa, 0x3f, 0x62, + 0xfe, 0x9a, 0x78, 0xb1, 0x54, 0xd3, 0x6c, 0x61, 0xee, 0x39, 0xd2, 0xdf, 0xc4, 0xa9, 0x68, 0x9b, + 0x3b, 0xdc, 0x3f, 0x24, 0x3f, 0x09, 0x94, 0x67, 0x38, 0x72, 0xdc, 0x2e, 0x78, 0x4e, 0x67, 0x2a, + 0x78, 0xff, 0x97, 0x5f, 0x8a, 0x4d, 0xfb, 0x97, 0x62, 0xbd, 0x8f, 0xdf, 0x32, 0x81, 0x8f, 0xdf, + 0xd0, 0x53, 0x90, 0xa3, 0x19, 0x51, 0xd5, 0xb4, 0xc4, 0x5f, 0xd0, 0x38, 0x3e, 0xfc, 0x42, 0xac, + 0x43, 0xaf, 0xea, 0xb1, 0x4b, 0xb4, 0xbe, 0xc7, 0x90, 0x0b, 0x79, 0x0c, 0x77, 0x43, 0x8e, 0x8c, + 0x9e, 0xbd, 0x04, 0x0d, 0xfc, 0xcb, 0x49, 0x51, 0x21, 0xbf, 0x07, 0x50, 0xbf, 0x91, 0x40, 0x97, + 0x21, 0x8d, 0x6f, 0xd0, 0x67, 0xf5, 0xd8, 0x45, 0xc3, 0x23, 0xfd, 0xae, 0x29, 0x69, 0xae, 0x4e, + 0x13, 0x26, 0x7f, 0xe3, 0xb5, 0x59, 0x89, 0x41, 0x3f, 0xec, 0x7d, 0x28, 0xa0, 0x70, 0x7c, 0xf9, + 0x3f, 0xc6, 0x49, 0x00, 0x13, 0x32, 0x20, 0x03, 0x79, 0x3b, 0xe8, 0x88, 0x70, 0x34, 0x7e, 0xcf, + 0x00, 0xec, 0x68, 0x8e, 0x7a, 0x53, 0x33, 0x5c, 0xdc, 0xe2, 0x4c, 0x0f, 0xd4, 0xa0, 0x32, 0x64, + 0x49, 0xa9, 0xeb, 0xe0, 0x16, 0x0f, 0xa3, 0xbd, 0x72, 0x60, 0x9e, 0x99, 0xef, 0x6e, 0x9e, 0x61, + 0x2e, 0x67, 0x7b, 0xb8, 0x1c, 0x08, 0x2e, 0x72, 0xc1, 0xe0, 0x82, 0x5d, 0x0c, 0xe6, 0xf7, 0x13, + 0x81, 0x8d, 0x4d, 0x94, 0xd1, 0x7d, 0x50, 0xe8, 0xe0, 0x8e, 0x65, 0x9a, 0x6d, 0x95, 0xa9, 0x1b, + 0xf6, 0xe4, 0xfb, 0x38, 0xaf, 0xac, 0x53, 0xad, 0xf3, 0xa3, 0x71, 0x7f, 0xff, 0xf9, 0x41, 0xe4, + 0xf7, 0x1c, 0x83, 0xe5, 0x9f, 0xa0, 0x99, 0xa5, 0xb0, 0x8b, 0x80, 0x1a, 0xc1, 0x5b, 0x23, 0x5d, + 0xaa, 0x16, 0x84, 0x40, 0x8f, 0xaa, 0x3f, 0xfc, 0xdb, 0x25, 0xac, 0xda, 0x41, 0x2f, 0xc0, 0xd1, + 0x1e, 0xdd, 0xe6, 0x91, 0x8e, 0x8f, 0xaa, 0xe2, 0xee, 0x0a, 0xab, 0x38, 0x41, 0xda, 0x67, 0x56, + 0xe2, 0xbb, 0xdc, 0x75, 0x4b, 0x50, 0x0c, 0x7b, 0x3c, 0x03, 0x97, 0x9f, 0xfe, 0x89, 0x11, 0x57, + 0xd3, 0x0d, 0x35, 0x94, 0x0e, 0x1a, 0x67, 0x95, 0x3c, 0xc9, 0xb4, 0x0e, 0x77, 0x0d, 0xf4, 0x7c, + 0xd0, 0x93, 0x90, 0xf3, 0x9d, 0x26, 0xc6, 0xd5, 0x03, 0xd2, 0x05, 0x3e, 0xac, 0xfc, 0x3b, 0x31, + 0x9f, 0x64, 0x38, 0x01, 0x51, 0x87, 0x34, 0xbb, 0xf6, 0xc6, 0x2f, 0xd3, 0x3c, 0x32, 0x9a, 0xcf, + 0x34, 0xcf, 0xee, 0xc4, 0x29, 0x1c, 0x59, 0x7e, 0x0f, 0xa4, 0x59, 0x0d, 0xca, 0x43, 0xc6, 0x7f, + 0xf9, 0x16, 0x20, 0x5d, 0xa9, 0xd5, 0xea, 0xeb, 0x1b, 0x52, 0x0c, 0xe5, 0x20, 0x55, 0xa9, 0xae, + 0x29, 0x1b, 0x52, 0x9c, 0x54, 0x2b, 0xf5, 0x2b, 0xf5, 0xda, 0x86, 0x94, 0x40, 0x13, 0x50, 0x60, + 0xbf, 0xd5, 0x8b, 0x6b, 0xca, 0x4a, 0x65, 0x43, 0x4a, 0x06, 0xaa, 0x1a, 0xf5, 0xd5, 0xc5, 0xba, + 0x22, 0xa5, 0xe4, 0xc7, 0xe0, 0xd8, 0x50, 0x2f, 0xcb, 0xcf, 0x2e, 0xc4, 0x02, 0xd9, 0x05, 0xf9, + 0x83, 0x71, 0x28, 0x0f, 0x77, 0x9d, 0xd0, 0x95, 0x9e, 0x89, 0x9f, 0x3d, 0x84, 0xdf, 0xd5, 0x33, + 0x7b, 0xf4, 0x00, 0x14, 0x6d, 0xbc, 0x8d, 0xdd, 0xe6, 0x2e, 0x73, 0xe5, 0x98, 0xc9, 0x2c, 0x28, + 0x05, 0x5e, 0x4b, 0x91, 0x1c, 0x06, 0xf6, 0x12, 0x6e, 0xba, 0x2a, 0xd3, 0x45, 0x0e, 0xff, 0x5b, + 0x87, 0x05, 0x56, 0xdb, 0x60, 0x95, 0xf2, 0x0f, 0x1e, 0x8a, 0x97, 0x39, 0x48, 0x29, 0xf5, 0x0d, + 0xe5, 0x05, 0x29, 0x81, 0x10, 0x14, 0xe9, 0x4f, 0xb5, 0xb1, 0x5a, 0x59, 0x6f, 0x5c, 0x5e, 0x23, + 0xbc, 0x9c, 0x84, 0x92, 0xe0, 0xa5, 0xa8, 0x4c, 0xc9, 0x0f, 0xc1, 0xd1, 0x21, 0x7e, 0xdf, 0x80, + 0x7b, 0x88, 0x1f, 0x8e, 0x05, 0xa1, 0xc3, 0x31, 0xff, 0x1a, 0xa4, 0x1d, 0x57, 0x73, 0xbb, 0x0e, + 0x67, 0xe2, 0x93, 0xa3, 0x3a, 0x82, 0xf3, 0xe2, 0x47, 0x83, 0xa2, 0x2b, 0x9c, 0x8c, 0x7c, 0x0e, + 0x8a, 0xe1, 0x96, 0xe1, 0x3c, 0xf0, 0x85, 0x28, 0x2e, 0xbf, 0x00, 0x10, 0xc8, 0x47, 0x7a, 0x37, + 0xba, 0x62, 0xc1, 0x1b, 0x5d, 0xe7, 0x20, 0x75, 0xc3, 0x64, 0x3a, 0x63, 0xf0, 0xc6, 0xb9, 0x66, + 0xba, 0x38, 0x90, 0x7c, 0x60, 0xd0, 0xb2, 0x0e, 0xa8, 0x3f, 0x27, 0x34, 0xa4, 0x8b, 0x67, 0xc2, + 0x5d, 0xdc, 0x3b, 0x34, 0xbb, 0x34, 0xb8, 0xab, 0x97, 0x21, 0x45, 0xb5, 0xcd, 0xc0, 0x4f, 0x7c, + 0xde, 0x0d, 0xa0, 0xb9, 0xae, 0xad, 0x6f, 0x75, 0xfd, 0x0e, 0x66, 0x07, 0x6b, 0xab, 0x8a, 0x80, 0xab, 0xde, 0xcd, 0xd5, 0xd6, 0x94, 0x8f, 0x1a, 0x50, 0x5d, 0x01, 0x82, 0xf2, 0x2a, 0x14, 0xc3, 0xb8, 0x83, 0x3f, 0x59, 0xf2, 0xdf, 0x0e, 0xc8, 0x09, 0xf7, 0xc9, 0x73, 0xbe, 0xf8, 0x7b, 0x1e, 0xb4, 0x20, 0xdf, 0x8a, 0x41, 0x76, 0x63, 0x8f, 0xcb, 0xf1, 0x01, 0x97, 0x2a, 0xfd, 0xef, 0xb6, @@ -2024,9 +2023,9 @@ func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_des 0x66, 0xa8, 0xf1, 0xe4, 0xe4, 0x03, 0x57, 0x4f, 0x4e, 0xc3, 0x04, 0xbf, 0x72, 0xe7, 0xc7, 0x15, 0xfc, 0x6d, 0xfe, 0x12, 0x6b, 0x58, 0x16, 0x41, 0x85, 0xfc, 0xab, 0x31, 0x90, 0x7a, 0xa5, 0xf2, 0xed, 0x1c, 0x00, 0x51, 0x8a, 0x44, 0xfa, 0x03, 0x8f, 0x6e, 0xb3, 0x95, 0x2f, 0x90, 0x5a, 0xff, - 0xd9, 0xed, 0xf7, 0xc6, 0x21, 0x1f, 0xc8, 0xe9, 0xa1, 0x27, 0x42, 0x57, 0x40, 0xe7, 0x0e, 0xca, + 0xd9, 0xed, 0xf7, 0xc5, 0x21, 0x1f, 0xc8, 0xe9, 0xa1, 0x27, 0x42, 0x57, 0x40, 0xe7, 0x0e, 0xca, 0xff, 0x05, 0xee, 0x80, 0x86, 0x26, 0x16, 0x3f, 0xfc, 0xc4, 0xde, 0xfc, 0x4b, 0xfa, 0x83, 0xbf, - 0xf6, 0x49, 0x0d, 0xf9, 0xda, 0xe7, 0x47, 0x62, 0x90, 0xf5, 0x4c, 0xf7, 0x61, 0xb3, 0xf9, 0x47, + 0xf6, 0x49, 0x0d, 0xf9, 0xda, 0xe7, 0x87, 0x63, 0x90, 0xf5, 0x4c, 0xf7, 0x61, 0xb3, 0xf9, 0x47, 0x20, 0xcd, 0xad, 0x13, 0x4b, 0xe7, 0xf3, 0xd2, 0xc0, 0x5c, 0x68, 0x19, 0xb2, 0xe2, 0x8f, 0xda, 0xf0, 0x40, 0xd4, 0x2b, 0x9f, 0x7e, 0x1a, 0xf2, 0x81, 0x83, 0x15, 0xa2, 0x27, 0x56, 0xeb, 0xcf, 0x49, 0x63, 0xe5, 0xcc, 0xad, 0xdb, 0x73, 0x89, 0x55, 0x7c, 0x93, 0xec, 0x30, 0xa5, 0x5e, 0xbb, @@ -2042,26 +2041,26 @@ func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_des 0x39, 0x22, 0xd3, 0x8a, 0x96, 0xbc, 0x4b, 0xf8, 0x11, 0x57, 0x38, 0xca, 0x51, 0xc9, 0x46, 0xc2, 0x34, 0x3f, 0x35, 0x12, 0x7d, 0x23, 0xa7, 0x3c, 0x42, 0x12, 0x19, 0x6d, 0x02, 0x04, 0xc2, 0xf5, 0x11, 0xae, 0xda, 0x94, 0x47, 0x49, 0x0e, 0xa3, 0x35, 0xc8, 0x7a, 0xd1, 0x53, 0xe4, 0xc5, 0x97, - 0x72, 0x74, 0x96, 0x16, 0xbd, 0x1b, 0x0a, 0xe1, 0xa8, 0x61, 0xb4, 0xeb, 0x2c, 0xe5, 0x11, 0xd3, + 0x72, 0x74, 0x96, 0x16, 0xbd, 0x07, 0x0a, 0xe1, 0xa8, 0x61, 0xb4, 0xeb, 0x2c, 0xe5, 0x11, 0xd3, 0xaf, 0x84, 0x7e, 0x38, 0x84, 0x18, 0xed, 0x7a, 0x4b, 0x79, 0xc4, 0x6c, 0x2c, 0x7a, 0x09, 0x26, 0xfa, 0x5d, 0xfc, 0xd1, 0x6f, 0xbb, 0x94, 0x0f, 0x91, 0x9f, 0x45, 0x1d, 0x40, 0x03, 0x42, 0x83, 0x43, 0x5c, 0x7e, 0x29, 0x1f, 0x26, 0x5d, 0x8b, 0x5a, 0x50, 0xea, 0xf5, 0xb7, 0x47, 0xbd, 0x0c, 0x53, 0x1e, 0x39, 0x75, 0xcb, 0x7a, 0x09, 0xfb, 0xe9, 0xa3, 0x5e, 0x8e, 0x29, 0x8f, 0x9c, 0xc9, 0xad, 0x56, 0x86, 0xde, 0x6f, 0x3c, 0x71, 0xe0, 0xfd, 0x46, 0xff, 0xc6, 0xa2, 0x77, 0xa7, 0xf1, - 0x9b, 0x4f, 0xc0, 0xfd, 0xfc, 0x31, 0x01, 0xc7, 0xd5, 0xae, 0xeb, 0xc6, 0x8e, 0xf7, 0x3a, 0x04, - 0x2f, 0xf3, 0xcb, 0x8d, 0x47, 0xf8, 0x83, 0x05, 0xa2, 0x36, 0xe2, 0x8d, 0x88, 0xa1, 0x0f, 0x67, - 0x45, 0x5d, 0x42, 0x8e, 0xbe, 0xba, 0x78, 0xc0, 0xfb, 0x13, 0x11, 0xaf, 0x5c, 0x0c, 0x78, 0x9f, - 0x22, 0xe2, 0x12, 0xe6, 0x41, 0xf7, 0x3d, 0xe5, 0x9f, 0x8b, 0x41, 0xf1, 0xb2, 0xee, 0xb8, 0xa6, - 0xad, 0x37, 0xb5, 0x36, 0xb5, 0x18, 0x17, 0x46, 0xfd, 0xc8, 0xa3, 0x9a, 0x23, 0xce, 0x08, 0x7f, - 0xd4, 0x82, 0x5f, 0x0c, 0x59, 0x84, 0xf4, 0x0d, 0xad, 0xcd, 0x3e, 0xb1, 0x08, 0xbe, 0x5f, 0xd3, - 0xcb, 0xf3, 0x80, 0x97, 0x14, 0xa4, 0xc2, 0x70, 0xe5, 0xcf, 0xd2, 0x4b, 0xdc, 0x9d, 0x8e, 0xee, - 0xb0, 0x3f, 0x3b, 0xed, 0x62, 0x07, 0x6d, 0x42, 0xd2, 0xd6, 0x5c, 0x1e, 0xd4, 0x54, 0x2b, 0xfc, - 0x29, 0x8a, 0x07, 0xa3, 0x1f, 0x94, 0x98, 0xef, 0x7b, 0xad, 0x82, 0x75, 0x46, 0xc9, 0xa1, 0x1f, - 0x80, 0x6c, 0x47, 0xdb, 0x53, 0x29, 0xe9, 0xf8, 0x9b, 0x45, 0x3a, 0xd3, 0xd1, 0xf6, 0xc8, 0xa8, - 0x91, 0x0e, 0x25, 0x42, 0xbd, 0xb9, 0xab, 0x19, 0x3b, 0x98, 0x75, 0x92, 0x78, 0xb3, 0x3a, 0x29, - 0x74, 0xb4, 0xbd, 0x1a, 0x25, 0x4c, 0xba, 0xe2, 0x8f, 0x7e, 0xfc, 0x6e, 0x8c, 0x87, 0xb2, 0x94, + 0x2f, 0x9e, 0x80, 0xfb, 0xf9, 0x63, 0x02, 0x8e, 0xab, 0x5d, 0xd7, 0x8d, 0x1d, 0xef, 0x75, 0x08, + 0x5e, 0xe6, 0x97, 0x1b, 0x8f, 0xf0, 0x07, 0x0b, 0x44, 0x6d, 0xc4, 0x1b, 0x11, 0x43, 0x1f, 0xce, + 0x8a, 0xba, 0x84, 0x1c, 0x7d, 0x75, 0xf1, 0x80, 0xf7, 0x27, 0x22, 0x5e, 0xb9, 0x18, 0xf0, 0x3e, + 0x45, 0xc4, 0x25, 0xcc, 0x83, 0xee, 0x7b, 0xca, 0x3f, 0x1b, 0x83, 0xe2, 0x65, 0xdd, 0x71, 0x4d, + 0x5b, 0x6f, 0x6a, 0x6d, 0x6a, 0x31, 0x2e, 0x8c, 0xfa, 0x91, 0x47, 0x35, 0x47, 0x9c, 0x11, 0xfe, + 0xa8, 0x05, 0xbf, 0x18, 0xb2, 0x08, 0xe9, 0x1b, 0x5a, 0x9b, 0x7d, 0x62, 0x11, 0x7c, 0xbf, 0xa6, + 0x97, 0xe7, 0x01, 0x2f, 0x29, 0x48, 0x85, 0xe1, 0xca, 0x9f, 0xa5, 0x97, 0xb8, 0x3b, 0x1d, 0xdd, + 0x61, 0x7f, 0x76, 0xda, 0xc5, 0x0e, 0xda, 0x84, 0xa4, 0xad, 0xb9, 0x3c, 0xa8, 0xa9, 0x56, 0xf8, + 0x53, 0x14, 0x0f, 0x46, 0x3f, 0x28, 0x31, 0xdf, 0xf7, 0x5a, 0x05, 0xeb, 0x8c, 0x92, 0x43, 0x3f, + 0x00, 0xd9, 0x8e, 0xb6, 0xa7, 0x52, 0xd2, 0xf1, 0x37, 0x8b, 0x74, 0xa6, 0xa3, 0xed, 0x91, 0x51, + 0x23, 0x1d, 0x4a, 0x84, 0x7a, 0x73, 0x57, 0x33, 0x76, 0x30, 0xeb, 0x24, 0xf1, 0x66, 0x75, 0x52, + 0xe8, 0x68, 0x7b, 0x35, 0x4a, 0x98, 0x74, 0xc5, 0x1f, 0xfd, 0xf8, 0x42, 0x8c, 0x87, 0xb2, 0x94, 0x73, 0x48, 0x03, 0xa9, 0xe9, 0x95, 0x68, 0xff, 0x22, 0xad, 0x7f, 0x62, 0xd8, 0xc2, 0xf4, 0xf0, - 0xbd, 0x5a, 0x20, 0x23, 0xfd, 0xe2, 0x6b, 0xb3, 0x31, 0xd6, 0x6b, 0xa9, 0xd9, 0xb3, 0x2e, 0x57, + 0xbd, 0x5a, 0x20, 0x23, 0xfd, 0xd2, 0x6b, 0xb3, 0x31, 0xd6, 0x6b, 0xa9, 0xd9, 0xb3, 0x2e, 0x57, 0x20, 0xcf, 0xb2, 0x69, 0x2a, 0x75, 0x61, 0xe3, 0x91, 0x2e, 0x6c, 0x41, 0xb8, 0xb0, 0x8c, 0x20, 0x30, 0x6c, 0xd2, 0xce, 0xe7, 0xf0, 0xf1, 0x18, 0xe4, 0x17, 0x03, 0xcf, 0x55, 0x4d, 0x43, 0xa6, 0x63, 0x1a, 0xfa, 0x75, 0x6c, 0x7b, 0xe7, 0x32, 0xac, 0x48, 0xdc, 0x4c, 0xf6, 0x67, 0x87, 0xdc, @@ -2069,9 +2068,9 @@ func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_des 0xa7, 0x40, 0x72, 0x70, 0xb3, 0x6b, 0xeb, 0xee, 0xbe, 0xda, 0x34, 0x0d, 0x57, 0x6b, 0xba, 0x3c, 0x7b, 0x5a, 0x12, 0xf5, 0x35, 0x56, 0x4d, 0x88, 0xb4, 0xb0, 0xab, 0xe9, 0x6d, 0x76, 0xed, 0x2b, 0xa7, 0x88, 0x22, 0x1f, 0xea, 0x67, 0x33, 0xc1, 0xd0, 0xb0, 0x06, 0x92, 0x69, 0x61, 0x3b, 0xf4, - 0xc9, 0x1b, 0x13, 0xd7, 0xe9, 0x3f, 0xf8, 0xf4, 0x23, 0x53, 0x9c, 0xe1, 0xfc, 0x00, 0x9e, 0xbd, + 0xc9, 0x1b, 0x13, 0xd7, 0xe9, 0xdf, 0xff, 0xf4, 0x23, 0x53, 0x9c, 0xe1, 0xfc, 0x00, 0x9e, 0xbd, 0xce, 0xac, 0x94, 0x04, 0x86, 0xf8, 0x16, 0xee, 0x85, 0xd0, 0x49, 0x4c, 0x77, 0xcb, 0xff, 0xe4, - 0x7e, 0xaa, 0x8f, 0xa9, 0x15, 0x63, 0xbf, 0x3a, 0xfd, 0xfb, 0x3e, 0x69, 0x3f, 0x74, 0xbc, 0x8a, + 0x7e, 0xaa, 0x8f, 0xa9, 0x15, 0x63, 0xbf, 0x3a, 0xfd, 0x7b, 0x3e, 0x69, 0x3f, 0x74, 0xbc, 0x8a, 0xf7, 0x83, 0xc7, 0x32, 0x94, 0x0c, 0xf1, 0xe0, 0x5f, 0xd2, 0xf4, 0xb6, 0xf8, 0x4b, 0x6a, 0x0a, 0x2f, 0xa1, 0x05, 0x2f, 0x0d, 0xc3, 0xfe, 0x42, 0xba, 0x3c, 0x4c, 0x36, 0xaa, 0xa6, 0xd1, 0x0a, 0x67, 0x5c, 0xd0, 0x06, 0xa4, 0x5d, 0xf3, 0x3a, 0x36, 0x38, 0x83, 0xaa, 0xef, 0x38, 0x84, 0x60, @@ -2086,19 +2085,19 @@ func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_des 0x7a, 0x07, 0x1c, 0xf7, 0xd9, 0x61, 0x1a, 0xea, 0xae, 0xd9, 0x6e, 0xa9, 0x36, 0xde, 0x56, 0x9b, 0xf4, 0xf9, 0xa3, 0x71, 0xca, 0xc4, 0xa3, 0x1e, 0xc8, 0x9a, 0x71, 0xd9, 0x6c, 0xb7, 0x14, 0xbc, 0x5d, 0x23, 0xcd, 0xe8, 0x3e, 0xf0, 0x79, 0xa1, 0xea, 0x2d, 0x67, 0xba, 0x30, 0x97, 0x38, 0x99, - 0x54, 0xc6, 0xbd, 0xca, 0xa5, 0x96, 0xb3, 0x90, 0x7d, 0xdf, 0xab, 0xb3, 0x63, 0x5f, 0x7b, 0x75, + 0x54, 0xc6, 0xbd, 0xca, 0xa5, 0x96, 0xb3, 0x90, 0x7d, 0xff, 0xab, 0xb3, 0x63, 0x5f, 0x7f, 0x75, 0x76, 0x4c, 0xbe, 0x48, 0x1f, 0xeb, 0xe0, 0x9b, 0x0e, 0x3b, 0xe8, 0x3c, 0xe4, 0x34, 0x51, 0x60, 0x9f, 0x89, 0x1c, 0xb0, 0x69, 0x7d, 0x50, 0xf9, 0xd5, 0x18, 0xa4, 0x17, 0xaf, 0xad, 0x6b, 0xba, 0x8d, 0xea, 0x30, 0xe1, 0x0b, 0xed, 0xa8, 0xfb, 0xdf, 0x97, 0x73, 0xa1, 0x00, 0xea, 0xc3, 0xbe, 0x9c, 0x3d, 0x90, 0x4c, 0xef, 0x37, 0xb5, 0x81, 0xa9, 0x5e, 0x81, 0x0c, 0x1b, 0xa1, 0x83, 0x9e, 0x85, 0x94, 0x45, 0x7e, 0xf0, 0xec, 0xff, 0xcc, 0x50, 0x41, 0xa7, 0xf0, 0x41, 0xb1, 0x60, 0x78, - 0xf2, 0x5f, 0xc4, 0x00, 0x16, 0xaf, 0x5d, 0xdb, 0xb0, 0x75, 0xab, 0x8d, 0xdd, 0x37, 0x6b, 0xca, + 0xf2, 0x5f, 0xc6, 0x00, 0x16, 0xaf, 0x5d, 0xdb, 0xb0, 0x75, 0xab, 0x8d, 0xdd, 0x37, 0x6b, 0xca, 0xcb, 0x70, 0x57, 0xe0, 0xfb, 0x4c, 0xbb, 0x39, 0xf2, 0xb4, 0x27, 0xfd, 0x2f, 0x34, 0xed, 0xe6, 0x40, 0x6a, 0x2d, 0xc7, 0xf5, 0xa8, 0x25, 0x46, 0xa6, 0xb6, 0xe8, 0xb8, 0xfd, 0x7c, 0x7c, 0x1e, 0xf2, 0xfe, 0xd4, 0x1d, 0xb4, 0x04, 0x59, 0x97, 0xff, 0xe6, 0xec, 0x94, 0x87, 0xb3, 0x53, 0xa0, - 0x05, 0x59, 0xea, 0xa1, 0xcb, 0xff, 0x8b, 0x70, 0xd5, 0xdf, 0x08, 0x7f, 0xa5, 0x04, 0x89, 0x68, - 0x78, 0xae, 0x81, 0x13, 0x6f, 0x82, 0x06, 0xe6, 0xb4, 0x02, 0x6c, 0xfd, 0xd1, 0x38, 0x4c, 0x6e, - 0x8a, 0x4d, 0xfa, 0x57, 0x96, 0x0b, 0x9b, 0x90, 0xc1, 0x86, 0x6b, 0xeb, 0x58, 0x1c, 0xf5, 0x3d, + 0x05, 0x59, 0xea, 0xa1, 0xcb, 0xff, 0x8b, 0x70, 0xd5, 0xdf, 0x08, 0x7f, 0xad, 0x04, 0x89, 0x68, + 0x78, 0xae, 0x81, 0x13, 0x6f, 0x82, 0x06, 0xe6, 0xb4, 0x02, 0x6c, 0xfd, 0x91, 0x38, 0x4c, 0x6e, + 0x8a, 0x4d, 0xfa, 0xd7, 0x96, 0x0b, 0x9b, 0x90, 0xc1, 0x86, 0x6b, 0xeb, 0x58, 0x1c, 0xf5, 0x3d, 0x3a, 0x6c, 0xb1, 0x07, 0xcc, 0x85, 0xfe, 0x29, 0xe0, 0xe0, 0xd2, 0x0b, 0x5a, 0x01, 0x36, 0xfc, 0x76, 0x02, 0xa6, 0x87, 0xa1, 0xa2, 0x13, 0x50, 0x6a, 0xda, 0x98, 0x56, 0xa8, 0xa1, 0x54, 0x78, 0x51, 0x54, 0x73, 0x93, 0xa2, 0x00, 0x71, 0xd0, 0x88, 0x54, 0x11, 0xd0, 0x3b, 0xf3, 0xc8, 0x8a, @@ -2107,50 +2106,50 @@ func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_des 0x09, 0xe4, 0x05, 0x31, 0x74, 0x2f, 0x8c, 0x07, 0x0d, 0x03, 0xf5, 0x53, 0x92, 0x4a, 0x3e, 0x60, 0x17, 0xa2, 0x2c, 0x4f, 0xfa, 0x40, 0xcb, 0xc3, 0x5d, 0xc1, 0xdf, 0x4a, 0xc0, 0x84, 0x82, 0x5b, 0xdf, 0x83, 0x0b, 0xf7, 0xfd, 0x00, 0x6c, 0x53, 0x13, 0x65, 0x7b, 0x07, 0x6b, 0xd7, 0xaf, 0x24, - 0x72, 0x8c, 0xde, 0xa2, 0xe3, 0xbe, 0x5d, 0xab, 0xf7, 0x2f, 0xe3, 0x30, 0x1e, 0x5c, 0xbd, 0xef, + 0x72, 0x8c, 0xde, 0xa2, 0xe3, 0xbe, 0x5d, 0xab, 0xf7, 0xaf, 0xe2, 0x30, 0x1e, 0x5c, 0xbd, 0xef, 0x01, 0xcb, 0x86, 0x56, 0x7d, 0x95, 0xc6, 0x6e, 0x9f, 0x9f, 0x1a, 0xa6, 0xd2, 0xfa, 0xe4, 0x3a, - 0x42, 0x97, 0xfd, 0xe3, 0x24, 0xa4, 0xf9, 0x55, 0xb0, 0xb5, 0x3e, 0x1f, 0x37, 0x16, 0xf5, 0xfd, - 0x6f, 0x41, 0x7c, 0xff, 0x3b, 0xd0, 0xc5, 0x7d, 0x00, 0x8a, 0x24, 0xa4, 0x0e, 0xdd, 0x2f, 0x8b, - 0x9d, 0x2c, 0xd0, 0x70, 0xd8, 0xbf, 0x0d, 0x8d, 0x66, 0x21, 0x4f, 0xc0, 0x7c, 0x9d, 0x4d, 0x60, - 0xa0, 0xa3, 0xed, 0xd5, 0x59, 0x0d, 0x7a, 0x04, 0xd0, 0xae, 0x97, 0xf8, 0x50, 0x7d, 0x46, 0x10, - 0xb8, 0x09, 0xbf, 0x45, 0x80, 0xdf, 0x03, 0x40, 0x46, 0xa1, 0xb2, 0x17, 0x3a, 0xf9, 0x6b, 0xa7, - 0xa4, 0x66, 0x91, 0xbe, 0xd2, 0xf9, 0xd3, 0x31, 0xe6, 0x2a, 0xf7, 0x44, 0xdb, 0x3c, 0x68, 0x51, - 0x0f, 0xb7, 0x1b, 0xbe, 0xf5, 0xda, 0x6c, 0x79, 0x5f, 0xeb, 0xb4, 0x17, 0xe4, 0x01, 0x24, 0xe5, - 0x41, 0xb9, 0x00, 0xe2, 0x4d, 0x87, 0x03, 0x77, 0xf4, 0x34, 0x1c, 0xa3, 0xa9, 0x07, 0xd3, 0x10, - 0x61, 0xa4, 0x6a, 0xf3, 0xbf, 0x73, 0xea, 0xd0, 0x38, 0x27, 0xa9, 0x1c, 0xe9, 0x68, 0x7b, 0x35, - 0xd3, 0xe0, 0xe1, 0xa1, 0x22, 0x5a, 0xd1, 0xf3, 0x30, 0x3d, 0x08, 0x4d, 0xdd, 0xc6, 0x98, 0x5f, - 0x70, 0x3b, 0x36, 0x3f, 0xe0, 0xad, 0xd5, 0xf9, 0x9a, 0xa9, 0x1b, 0xfc, 0xd0, 0x8b, 0xde, 0x97, - 0x09, 0xd3, 0xbd, 0x88, 0xf1, 0xc2, 0xfd, 0x64, 0xb3, 0xdd, 0xfa, 0xea, 0x27, 0x4f, 0x1f, 0x0f, - 0xcc, 0x7b, 0xcf, 0x4b, 0xdb, 0x31, 0x99, 0x91, 0x3f, 0x11, 0x03, 0xe4, 0x5b, 0x40, 0xef, 0x92, - 0xfa, 0x0a, 0xbd, 0xba, 0x2c, 0x82, 0x90, 0xd8, 0xc1, 0xc1, 0x8d, 0x8f, 0x1f, 0x0a, 0x6e, 0x02, - 0x3b, 0xfc, 0x9d, 0xbe, 0xbd, 0x89, 0x47, 0x4d, 0x2a, 0x28, 0xee, 0x1c, 0x89, 0x2a, 0x8e, 0x31, - 0xf9, 0xb5, 0x18, 0x1c, 0xeb, 0xdb, 0x1e, 0xde, 0x90, 0x9b, 0x80, 0xec, 0x40, 0x23, 0x15, 0x33, - 0x71, 0xe8, 0x7b, 0x67, 0xbb, 0x6d, 0xc2, 0xee, 0xb3, 0x31, 0x6f, 0x91, 0xe1, 0xe4, 0x9a, 0xf1, - 0xf7, 0x62, 0x30, 0x15, 0x1c, 0x91, 0x37, 0xb7, 0x06, 0x8c, 0x07, 0xc7, 0xc2, 0x67, 0x75, 0xff, - 0x28, 0xb3, 0x0a, 0x4e, 0x28, 0x44, 0x84, 0xcc, 0x45, 0x6c, 0x45, 0x96, 0x40, 0x7c, 0x6c, 0x64, - 0x2e, 0x79, 0x87, 0x23, 0x83, 0x74, 0x13, 0x5b, 0xac, 0x9f, 0x8a, 0x43, 0x72, 0xdd, 0x34, 0xdb, - 0xe8, 0x47, 0x62, 0x30, 0x61, 0x98, 0xae, 0x4a, 0x36, 0x30, 0x6e, 0xa9, 0x3c, 0x83, 0xc1, 0xd4, - 0xfb, 0xb5, 0xc3, 0x71, 0xef, 0xeb, 0xaf, 0xcd, 0xf6, 0x93, 0x1a, 0xf4, 0xee, 0x6f, 0xc9, 0x30, - 0xdd, 0x2a, 0x05, 0xda, 0x60, 0x49, 0x8e, 0x9b, 0x50, 0x08, 0xf7, 0xcf, 0x6c, 0x82, 0x72, 0xe8, - 0xfe, 0x0b, 0x91, 0x7d, 0x8f, 0x6f, 0x05, 0x3a, 0x66, 0xaf, 0x6f, 0xfe, 0x19, 0x59, 0xdc, 0x17, - 0x40, 0xba, 0xd6, 0x7b, 0x5d, 0xae, 0x0e, 0x99, 0xc3, 0xde, 0xbc, 0x0b, 0x72, 0x9c, 0xe3, 0xca, - 0xdf, 0x8e, 0xc3, 0x31, 0xae, 0x5c, 0xae, 0xfa, 0x4a, 0x80, 0xe5, 0x9a, 0xf7, 0xd1, 0xc5, 0xa1, - 0xa9, 0xb2, 0xe3, 0xdf, 0x7a, 0x6d, 0xf6, 0x28, 0xd3, 0x7e, 0xbd, 0x10, 0x72, 0x7f, 0xb6, 0xac, - 0x0b, 0x25, 0x62, 0xed, 0x03, 0xea, 0xea, 0xc0, 0x64, 0xd9, 0x93, 0xdf, 0x7a, 0x6d, 0xf6, 0x38, - 0x27, 0xce, 0xd1, 0x82, 0x89, 0x36, 0x79, 0x68, 0x2e, 0xad, 0x60, 0xb6, 0x5b, 0xbe, 0xaa, 0x24, - 0xdd, 0x1a, 0xf8, 0x66, 0xa8, 0xdb, 0xc4, 0x68, 0xdd, 0x0a, 0xb4, 0x11, 0xbb, 0x35, 0xf0, 0xcd, - 0x40, 0xb7, 0xfe, 0x91, 0x7d, 0x32, 0x78, 0x64, 0xef, 0x5b, 0xde, 0xd3, 0x9f, 0x89, 0x01, 0xf8, - 0x59, 0x3a, 0xf4, 0x30, 0x1c, 0xad, 0xae, 0xad, 0x2e, 0xaa, 0x8d, 0x8d, 0xca, 0xc6, 0x66, 0x23, - 0xfc, 0x44, 0xbf, 0x78, 0x96, 0xc6, 0xb1, 0x70, 0x53, 0xdf, 0xd6, 0x71, 0x0b, 0x3d, 0x08, 0x53, - 0x61, 0x68, 0x52, 0xaa, 0x2f, 0x4a, 0xb1, 0xf2, 0xf8, 0xad, 0xdb, 0x73, 0x59, 0x16, 0x9d, 0xe0, - 0x16, 0x3a, 0x09, 0x77, 0xf5, 0xc3, 0x2d, 0xad, 0x5e, 0x92, 0xe2, 0xe5, 0xc2, 0xad, 0xdb, 0x73, - 0x39, 0x2f, 0x8c, 0x41, 0x32, 0xa0, 0x20, 0x24, 0xa7, 0x97, 0x28, 0xc3, 0xad, 0xdb, 0x73, 0x69, - 0xb6, 0x19, 0xca, 0xc9, 0xf7, 0x7d, 0x64, 0x66, 0xec, 0xf4, 0x0f, 0x02, 0x2c, 0x19, 0xdb, 0xb6, - 0x46, 0xff, 0x4e, 0x35, 0x2a, 0xc3, 0x91, 0xa5, 0xd5, 0x8b, 0x4a, 0xa5, 0xb6, 0xb1, 0xb4, 0xb6, - 0xda, 0xf3, 0x97, 0x05, 0xc2, 0x6d, 0x8b, 0x6b, 0x9b, 0xd5, 0xe5, 0xba, 0xda, 0x58, 0xba, 0xb4, - 0xca, 0x0e, 0xfb, 0x43, 0x6d, 0xcf, 0xad, 0x6e, 0x2c, 0xad, 0xd4, 0xa5, 0x78, 0xf5, 0xe2, 0xd0, - 0xe3, 0xa6, 0x87, 0x0f, 0xdc, 0x66, 0xbe, 0x6d, 0x0a, 0x9d, 0x39, 0xfd, 0xdf, 0x00, 0x00, 0x00, - 0xff, 0xff, 0x70, 0x0a, 0x83, 0xb1, 0x3f, 0x99, 0x00, 0x00, + 0x42, 0x97, 0x7d, 0x21, 0x09, 0x69, 0x7e, 0x15, 0x6c, 0xad, 0xcf, 0xc7, 0x8d, 0x45, 0x7d, 0xff, + 0x5b, 0x10, 0xdf, 0xff, 0x0e, 0x74, 0x71, 0x1f, 0x80, 0x22, 0x09, 0xa9, 0x43, 0xf7, 0xcb, 0x62, + 0x27, 0x0b, 0x34, 0x1c, 0xf6, 0x6f, 0x43, 0xa3, 0x59, 0xc8, 0x13, 0x30, 0x5f, 0x67, 0x13, 0x18, + 0xe8, 0x68, 0x7b, 0x75, 0x56, 0x83, 0x1e, 0x01, 0xb4, 0xeb, 0x25, 0x3e, 0x54, 0x9f, 0x11, 0x04, + 0x6e, 0xc2, 0x6f, 0x11, 0xe0, 0xf7, 0x00, 0x90, 0x51, 0xa8, 0xec, 0x85, 0x4e, 0xfe, 0xda, 0x29, + 0xa9, 0x59, 0xa4, 0xaf, 0x74, 0xfe, 0x54, 0x8c, 0xb9, 0xca, 0x3d, 0xd1, 0x36, 0x0f, 0x5a, 0xd4, + 0xc3, 0xed, 0x86, 0x6f, 0xbd, 0x36, 0x5b, 0xde, 0xd7, 0x3a, 0xed, 0x05, 0x79, 0x00, 0x49, 0x79, + 0x50, 0x2e, 0x80, 0x78, 0xd3, 0xe1, 0xc0, 0x1d, 0x3d, 0x0d, 0xc7, 0x68, 0xea, 0xc1, 0x34, 0x44, + 0x18, 0xa9, 0xda, 0xfc, 0xef, 0x9c, 0x3a, 0x34, 0xce, 0x49, 0x2a, 0x47, 0x3a, 0xda, 0x5e, 0xcd, + 0x34, 0x78, 0x78, 0xa8, 0x88, 0x56, 0xf4, 0x6e, 0x98, 0x1e, 0x84, 0xa6, 0x6e, 0x63, 0xcc, 0x2f, + 0xb8, 0x1d, 0x9b, 0x1f, 0xf0, 0xd6, 0xea, 0x7c, 0xcd, 0xd4, 0x43, 0xa1, 0x04, 0xbd, 0x34, 0x13, + 0x26, 0x7e, 0x11, 0xe3, 0x85, 0xfb, 0xc9, 0x8e, 0xbb, 0xf5, 0xb5, 0x4f, 0x9e, 0x3e, 0x1e, 0x98, + 0xfc, 0x9e, 0x97, 0xbb, 0x63, 0x82, 0x23, 0x7f, 0x22, 0x06, 0xc8, 0x37, 0x83, 0xde, 0x4d, 0xf5, + 0x15, 0x7a, 0x7f, 0x59, 0x44, 0x22, 0xb1, 0x83, 0x23, 0x1c, 0x1f, 0x3f, 0x14, 0xe1, 0x04, 0xb6, + 0xf9, 0x3b, 0x7d, 0xa3, 0x13, 0x3f, 0xc4, 0xcc, 0x04, 0x12, 0xd5, 0x1e, 0x63, 0xf2, 0x6b, 0x31, + 0x38, 0xd6, 0xb7, 0x47, 0xbc, 0x21, 0x37, 0x01, 0xd9, 0x81, 0x46, 0x2a, 0x6b, 0xe2, 0xe4, 0xf7, + 0xce, 0xb6, 0xdc, 0x84, 0xdd, 0x67, 0x68, 0xde, 0x22, 0xeb, 0xc9, 0xd5, 0xe3, 0xef, 0xc6, 0x60, + 0x2a, 0x38, 0x22, 0x6f, 0x6e, 0x0d, 0x18, 0x0f, 0x8e, 0x85, 0xcf, 0xea, 0xfe, 0x51, 0x66, 0x15, + 0x9c, 0x50, 0x88, 0x08, 0x99, 0x8b, 0xd8, 0x8f, 0x2c, 0x8b, 0xf8, 0xd8, 0xc8, 0x5c, 0xf2, 0x4e, + 0x48, 0x06, 0x29, 0x28, 0xb6, 0x58, 0x3f, 0x19, 0x87, 0xe4, 0xba, 0x69, 0xb6, 0xd1, 0x0f, 0xc7, + 0x60, 0xc2, 0x30, 0x5d, 0x95, 0xec, 0x62, 0xdc, 0x52, 0x79, 0x1a, 0x83, 0xe9, 0xf8, 0x6b, 0x87, + 0xe3, 0xde, 0x37, 0x5e, 0x9b, 0xed, 0x27, 0x35, 0xe8, 0xf1, 0xdf, 0x92, 0x61, 0xba, 0x55, 0x0a, + 0xb4, 0xc1, 0x32, 0x1d, 0x37, 0xa1, 0x10, 0xee, 0x9f, 0x19, 0x06, 0xe5, 0xd0, 0xfd, 0x17, 0x22, + 0xfb, 0x1e, 0xdf, 0x0a, 0x74, 0xcc, 0x9e, 0xe0, 0xfc, 0x53, 0xb2, 0xb8, 0x2f, 0x80, 0x74, 0xad, + 0xf7, 0xce, 0x5c, 0x1d, 0x32, 0x87, 0xbd, 0x7e, 0x17, 0xe4, 0x38, 0xc7, 0x95, 0xbf, 0x1d, 0x87, + 0x63, 0x5c, 0xc3, 0x5c, 0xf5, 0x95, 0x00, 0x4b, 0x38, 0xef, 0xa3, 0x8b, 0x43, 0xf3, 0x65, 0xc7, + 0xbf, 0xf5, 0xda, 0xec, 0x51, 0xa6, 0x02, 0x7b, 0x21, 0xe4, 0xfe, 0x94, 0x59, 0x17, 0x4a, 0xc4, + 0xe4, 0x07, 0x74, 0xd6, 0x81, 0x19, 0xb3, 0x27, 0xbf, 0xf5, 0xda, 0xec, 0x71, 0x4e, 0x9c, 0xa3, + 0x05, 0xb3, 0x6d, 0xf2, 0xd0, 0x84, 0x5a, 0xc1, 0x6c, 0xb7, 0x7c, 0x7d, 0x49, 0xba, 0x35, 0xf0, + 0xcd, 0x50, 0xb7, 0x89, 0xd1, 0xba, 0x15, 0x68, 0x23, 0x76, 0x6b, 0xe0, 0x9b, 0x81, 0x6e, 0xfd, + 0x73, 0xfb, 0x64, 0xf0, 0xdc, 0xde, 0x37, 0xbf, 0xa7, 0x3f, 0x13, 0x03, 0xf0, 0x53, 0x75, 0xe8, + 0x61, 0x38, 0x5a, 0x5d, 0x5b, 0x5d, 0x54, 0x1b, 0x1b, 0x95, 0x8d, 0xcd, 0x46, 0xf8, 0x9d, 0x7e, + 0xf1, 0x36, 0x8d, 0x63, 0xe1, 0xa6, 0xbe, 0xad, 0xe3, 0x16, 0x7a, 0x10, 0xa6, 0xc2, 0xd0, 0xa4, + 0x54, 0x5f, 0x94, 0x62, 0xe5, 0xf1, 0x5b, 0xb7, 0xe7, 0xb2, 0x2c, 0x44, 0xc1, 0x2d, 0x74, 0x12, + 0xee, 0xea, 0x87, 0x5b, 0x5a, 0xbd, 0x24, 0xc5, 0xcb, 0x85, 0x5b, 0xb7, 0xe7, 0x72, 0x5e, 0x2c, + 0x83, 0x64, 0x40, 0x41, 0x48, 0x4e, 0x2f, 0x51, 0x86, 0x5b, 0xb7, 0xe7, 0xd2, 0x6c, 0x33, 0x94, + 0x93, 0xef, 0xff, 0xc8, 0xcc, 0xd8, 0xe9, 0x77, 0x03, 0x2c, 0x19, 0xdb, 0xb6, 0x46, 0xff, 0x58, + 0x35, 0x2a, 0xc3, 0x91, 0xa5, 0xd5, 0x8b, 0x4a, 0xa5, 0xb6, 0xb1, 0xb4, 0xb6, 0xda, 0xf3, 0xe7, + 0x05, 0xc2, 0x6d, 0x8b, 0x6b, 0x9b, 0xd5, 0xe5, 0xba, 0xda, 0x58, 0xba, 0xb4, 0xca, 0x4e, 0xfc, + 0x43, 0x6d, 0xcf, 0xad, 0x6e, 0x2c, 0xad, 0xd4, 0xa5, 0x78, 0xf5, 0xe2, 0xd0, 0x33, 0xa7, 0x87, + 0x0f, 0xdc, 0x66, 0xbe, 0x6d, 0x0a, 0x1d, 0x3c, 0xfd, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd6, + 0x51, 0xb9, 0x10, 0x44, 0x99, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) From 7ce91d20a39d525e6fc7783d8543e045d815199d Mon Sep 17 00:00:00 2001 From: Matt Kocubinski Date: Wed, 15 Mar 2023 23:30:14 -0500 Subject: [PATCH 028/106] fix: address failing test (#15390) --- tests/go.mod | 1 + tests/integration/aminojson/aminojson_test.go | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/tests/go.mod b/tests/go.mod index a0b1943ef7c5..4a2e2818039e 100644 --- a/tests/go.mod +++ b/tests/go.mod @@ -190,6 +190,7 @@ replace ( cosmossdk.io/x/feegrant => ../x/feegrant cosmossdk.io/x/nft => ../x/nft cosmossdk.io/x/upgrade => ../x/upgrade + cosmossdk.io/api => ../api ) // Below are the long-lived replace for tests. diff --git a/tests/integration/aminojson/aminojson_test.go b/tests/integration/aminojson/aminojson_test.go index ad8168a0fec3..8be756c5429c 100644 --- a/tests/integration/aminojson/aminojson_test.go +++ b/tests/integration/aminojson/aminojson_test.go @@ -527,6 +527,18 @@ func TestAminoJSON_LegacyParity(t *testing.T) { MinSignedPerWindow: dec10bz, }, }, + "staking/msg_update_params": { + gogo: &stakingtypes.MsgUpdateParams{ + Params: stakingtypes.Params{ + UnbondingTime: 0, + ConsPubkeyRotationFee: types.Coin{}, + }}, + pulsar: &stakingapi.MsgUpdateParams{ + Params: &stakingapi.Params{ + UnbondingTime: &durationpb.Duration{Seconds: 0}, + ConsPubkeyRotationFee: &v1beta1.Coin{}, + }}, + }, "staking/create_validator": { gogo: &stakingtypes.MsgCreateValidator{Pubkey: pubkeyAny}, pulsar: &stakingapi.MsgCreateValidator{ From 4ac89bcb7283d64f370ed60dac65ae5b3e80bfd2 Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Thu, 16 Mar 2023 10:13:58 +0530 Subject: [PATCH 029/106] Update x/staking/keeper/msg_server.go Co-authored-by: Marko --- x/staking/keeper/msg_server.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index 31ff487ce966..18897e99ed93 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -494,7 +494,7 @@ func (k msgServer) UpdateParams(goCtx context.Context, msg *types.MsgUpdateParam func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateConsPubKey) (res *types.MsgRotateConsPubKeyResponse, err error) { ctx := sdk.UnwrapSDKContext(goCtx) // Implementation is based on this ADR - // https://docs.cosmos.network/master/architecture/adr-016-validator-consensus-key-rotation.html + // https://docs.cosmos.network/main/architecture/adr-016-validator-consensus-key-rotation pk, ok := msg.NewPubkey.GetCachedValue().(cryptotypes.PubKey) if !ok { From b84a993b84869088b82f29d02a288144d3ef890d Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 16 Mar 2023 17:52:16 +0530 Subject: [PATCH 030/106] proto --- proto/cosmos/staking/v1beta1/staking.proto | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/proto/cosmos/staking/v1beta1/staking.proto b/proto/cosmos/staking/v1beta1/staking.proto index 5ecf520107ac..8a2f742f3562 100644 --- a/proto/cosmos/staking/v1beta1/staking.proto +++ b/proto/cosmos/staking/v1beta1/staking.proto @@ -320,13 +320,13 @@ message Params { (amino.dont_omitempty) = true, (cosmos_proto.scalar) = "cosmos.Dec" ]; - // max_cons_pubkey_rotations is maximum number of consensus pubkey rotations - uint64 max_cons_pubkey_rotations = 7; - // cons_pubkey_rotation_fee is fee to be spent when rotating validator's consensus pubkey - cosmos.base.v1beta1.Coin cons_pubkey_rotation_fee = 8 [ + // key_rotation_fee is fee to be spent when rotating validator's consensus pubkey + cosmos.base.v1beta1.Coin key_rotation_fee = 7 [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; + // max_cons_pubkey_rotations is maximum number of consensus pubkey rotations + uint64 max_cons_pubkey_rotations = 8; } // DelegationResponse is equivalent to Delegation except that it contains a @@ -408,15 +408,9 @@ message ConsPubKeyRotationHistory { // operator_address defines the address of the validator's operator; bech encoded in JSON. string operator_address = 1 [(gogoproto.moretags) = "yaml:\"operator_address\""]; // old_cons_pubkey is the old consensus public key of the validator, as a Protobuf Any. - google.protobuf.Any old_cons_pubkey = 2 [ - (cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey", - (gogoproto.moretags) = "yaml:\"old_consensus_pubkey\"" - ]; + google.protobuf.Any old_cons_pubkey = 2 [(cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey"]; // new_cons_pubkey is the new consensus public key of the validator, as a Protobuf Any. - google.protobuf.Any new_cons_pubkey = 3 [ - (cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey", - (gogoproto.moretags) = "yaml:\"new_consensus_pubkey\"" - ]; + google.protobuf.Any new_cons_pubkey = 3 [(cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey"]; // height defines the block height at which the rotation event occured. uint64 height = 4; } From 07a4fb77567751ca10998489fdca6adcf11952f1 Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Thu, 16 Mar 2023 12:34:21 +0000 Subject: [PATCH 031/106] proto-gen --- api/cosmos/staking/v1beta1/staking.pulsar.go | 388 ++-- proto/cosmos/staking/v1beta1/staking.proto | 3 +- x/staking/types/staking.pb.go | 1657 +++++++++--------- 3 files changed, 1022 insertions(+), 1026 deletions(-) diff --git a/api/cosmos/staking/v1beta1/staking.pulsar.go b/api/cosmos/staking/v1beta1/staking.pulsar.go index 5f77573bfd20..9d60dbab5031 100644 --- a/api/cosmos/staking/v1beta1/staking.pulsar.go +++ b/api/cosmos/staking/v1beta1/staking.pulsar.go @@ -9416,8 +9416,8 @@ var ( fd_Params_historical_entries protoreflect.FieldDescriptor fd_Params_bond_denom protoreflect.FieldDescriptor fd_Params_min_commission_rate protoreflect.FieldDescriptor + fd_Params_key_rotation_fee protoreflect.FieldDescriptor fd_Params_max_cons_pubkey_rotations protoreflect.FieldDescriptor - fd_Params_cons_pubkey_rotation_fee protoreflect.FieldDescriptor ) func init() { @@ -9429,8 +9429,8 @@ func init() { fd_Params_historical_entries = md_Params.Fields().ByName("historical_entries") fd_Params_bond_denom = md_Params.Fields().ByName("bond_denom") fd_Params_min_commission_rate = md_Params.Fields().ByName("min_commission_rate") + fd_Params_key_rotation_fee = md_Params.Fields().ByName("key_rotation_fee") fd_Params_max_cons_pubkey_rotations = md_Params.Fields().ByName("max_cons_pubkey_rotations") - fd_Params_cons_pubkey_rotation_fee = md_Params.Fields().ByName("cons_pubkey_rotation_fee") } var _ protoreflect.Message = (*fastReflection_Params)(nil) @@ -9534,15 +9534,15 @@ func (x *fastReflection_Params) Range(f func(protoreflect.FieldDescriptor, proto return } } - if x.MaxConsPubkeyRotations != uint64(0) { - value := protoreflect.ValueOfUint64(x.MaxConsPubkeyRotations) - if !f(fd_Params_max_cons_pubkey_rotations, value) { + if x.KeyRotationFee != nil { + value := protoreflect.ValueOfMessage(x.KeyRotationFee.ProtoReflect()) + if !f(fd_Params_key_rotation_fee, value) { return } } - if x.ConsPubkeyRotationFee != nil { - value := protoreflect.ValueOfMessage(x.ConsPubkeyRotationFee.ProtoReflect()) - if !f(fd_Params_cons_pubkey_rotation_fee, value) { + if x.MaxConsPubkeyRotations != uint64(0) { + value := protoreflect.ValueOfUint64(x.MaxConsPubkeyRotations) + if !f(fd_Params_max_cons_pubkey_rotations, value) { return } } @@ -9573,10 +9573,10 @@ func (x *fastReflection_Params) Has(fd protoreflect.FieldDescriptor) bool { return x.BondDenom != "" case "cosmos.staking.v1beta1.Params.min_commission_rate": return x.MinCommissionRate != "" + case "cosmos.staking.v1beta1.Params.key_rotation_fee": + return x.KeyRotationFee != nil case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": return x.MaxConsPubkeyRotations != uint64(0) - case "cosmos.staking.v1beta1.Params.cons_pubkey_rotation_fee": - return x.ConsPubkeyRotationFee != nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9605,10 +9605,10 @@ func (x *fastReflection_Params) Clear(fd protoreflect.FieldDescriptor) { x.BondDenom = "" case "cosmos.staking.v1beta1.Params.min_commission_rate": x.MinCommissionRate = "" + case "cosmos.staking.v1beta1.Params.key_rotation_fee": + x.KeyRotationFee = nil case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": x.MaxConsPubkeyRotations = uint64(0) - case "cosmos.staking.v1beta1.Params.cons_pubkey_rotation_fee": - x.ConsPubkeyRotationFee = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9643,12 +9643,12 @@ func (x *fastReflection_Params) Get(descriptor protoreflect.FieldDescriptor) pro case "cosmos.staking.v1beta1.Params.min_commission_rate": value := x.MinCommissionRate return protoreflect.ValueOfString(value) + case "cosmos.staking.v1beta1.Params.key_rotation_fee": + value := x.KeyRotationFee + return protoreflect.ValueOfMessage(value.ProtoReflect()) case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": value := x.MaxConsPubkeyRotations return protoreflect.ValueOfUint64(value) - case "cosmos.staking.v1beta1.Params.cons_pubkey_rotation_fee": - value := x.ConsPubkeyRotationFee - return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9681,10 +9681,10 @@ func (x *fastReflection_Params) Set(fd protoreflect.FieldDescriptor, value proto x.BondDenom = value.Interface().(string) case "cosmos.staking.v1beta1.Params.min_commission_rate": x.MinCommissionRate = value.Interface().(string) + case "cosmos.staking.v1beta1.Params.key_rotation_fee": + x.KeyRotationFee = value.Message().Interface().(*v1beta1.Coin) case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": x.MaxConsPubkeyRotations = value.Uint() - case "cosmos.staking.v1beta1.Params.cons_pubkey_rotation_fee": - x.ConsPubkeyRotationFee = value.Message().Interface().(*v1beta1.Coin) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9710,11 +9710,11 @@ func (x *fastReflection_Params) Mutable(fd protoreflect.FieldDescriptor) protore x.UnbondingTime = new(durationpb.Duration) } return protoreflect.ValueOfMessage(x.UnbondingTime.ProtoReflect()) - case "cosmos.staking.v1beta1.Params.cons_pubkey_rotation_fee": - if x.ConsPubkeyRotationFee == nil { - x.ConsPubkeyRotationFee = new(v1beta1.Coin) + case "cosmos.staking.v1beta1.Params.key_rotation_fee": + if x.KeyRotationFee == nil { + x.KeyRotationFee = new(v1beta1.Coin) } - return protoreflect.ValueOfMessage(x.ConsPubkeyRotationFee.ProtoReflect()) + return protoreflect.ValueOfMessage(x.KeyRotationFee.ProtoReflect()) case "cosmos.staking.v1beta1.Params.max_validators": panic(fmt.Errorf("field max_validators of message cosmos.staking.v1beta1.Params is not mutable")) case "cosmos.staking.v1beta1.Params.max_entries": @@ -9753,11 +9753,11 @@ func (x *fastReflection_Params) NewField(fd protoreflect.FieldDescriptor) protor return protoreflect.ValueOfString("") case "cosmos.staking.v1beta1.Params.min_commission_rate": return protoreflect.ValueOfString("") - case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": - return protoreflect.ValueOfUint64(uint64(0)) - case "cosmos.staking.v1beta1.Params.cons_pubkey_rotation_fee": + case "cosmos.staking.v1beta1.Params.key_rotation_fee": m := new(v1beta1.Coin) return protoreflect.ValueOfMessage(m.ProtoReflect()) + case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": + return protoreflect.ValueOfUint64(uint64(0)) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9848,13 +9848,13 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { if l > 0 { n += 1 + l + runtime.Sov(uint64(l)) } + if x.KeyRotationFee != nil { + l = options.Size(x.KeyRotationFee) + n += 1 + l + runtime.Sov(uint64(l)) + } if x.MaxConsPubkeyRotations != 0 { n += 1 + runtime.Sov(uint64(x.MaxConsPubkeyRotations)) } - if x.ConsPubkeyRotationFee != nil { - l = options.Size(x.ConsPubkeyRotationFee) - n += 1 + l + runtime.Sov(uint64(l)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -9884,8 +9884,13 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.ConsPubkeyRotationFee != nil { - encoded, err := options.Marshal(x.ConsPubkeyRotationFee) + if x.MaxConsPubkeyRotations != 0 { + i = runtime.EncodeVarint(dAtA, i, uint64(x.MaxConsPubkeyRotations)) + i-- + dAtA[i] = 0x40 + } + if x.KeyRotationFee != nil { + encoded, err := options.Marshal(x.KeyRotationFee) if err != nil { return protoiface.MarshalOutput{ NoUnkeyedLiterals: input.NoUnkeyedLiterals, @@ -9896,12 +9901,7 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { copy(dAtA[i:], encoded) i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) i-- - dAtA[i] = 0x42 - } - if x.MaxConsPubkeyRotations != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.MaxConsPubkeyRotations)) - i-- - dAtA[i] = 0x38 + dAtA[i] = 0x3a } if len(x.MinCommissionRate) > 0 { i -= len(x.MinCommissionRate) @@ -10153,27 +10153,8 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { x.MinCommissionRate = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 7: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxConsPubkeyRotations", wireType) - } - x.MaxConsPubkeyRotations = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.MaxConsPubkeyRotations |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 8: if wireType != 2 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field ConsPubkeyRotationFee", wireType) + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field KeyRotationFee", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -10200,13 +10181,32 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { if postIndex > l { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF } - if x.ConsPubkeyRotationFee == nil { - x.ConsPubkeyRotationFee = &v1beta1.Coin{} + if x.KeyRotationFee == nil { + x.KeyRotationFee = &v1beta1.Coin{} } - if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.ConsPubkeyRotationFee); err != nil { + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.KeyRotationFee); err != nil { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex + case 8: + if wireType != 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxConsPubkeyRotations", wireType) + } + x.MaxConsPubkeyRotations = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + x.MaxConsPubkeyRotations |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -14500,10 +14500,11 @@ type Params struct { BondDenom string `protobuf:"bytes,5,opt,name=bond_denom,json=bondDenom,proto3" json:"bond_denom,omitempty"` // min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators MinCommissionRate string `protobuf:"bytes,6,opt,name=min_commission_rate,json=minCommissionRate,proto3" json:"min_commission_rate,omitempty"` + // key_rotation_fee is fee to be spent when rotating validator's key + // (either consensus pubkey or operator key) + KeyRotationFee *v1beta1.Coin `protobuf:"bytes,7,opt,name=key_rotation_fee,json=keyRotationFee,proto3" json:"key_rotation_fee,omitempty"` // max_cons_pubkey_rotations is maximum number of consensus pubkey rotations - MaxConsPubkeyRotations uint64 `protobuf:"varint,7,opt,name=max_cons_pubkey_rotations,json=maxConsPubkeyRotations,proto3" json:"max_cons_pubkey_rotations,omitempty"` - // cons_pubkey_rotation_fee is fee to be spent when rotating validator's consensus pubkey - ConsPubkeyRotationFee *v1beta1.Coin `protobuf:"bytes,8,opt,name=cons_pubkey_rotation_fee,json=consPubkeyRotationFee,proto3" json:"cons_pubkey_rotation_fee,omitempty"` + MaxConsPubkeyRotations uint64 `protobuf:"varint,8,opt,name=max_cons_pubkey_rotations,json=maxConsPubkeyRotations,proto3" json:"max_cons_pubkey_rotations,omitempty"` } func (x *Params) Reset() { @@ -14568,18 +14569,18 @@ func (x *Params) GetMinCommissionRate() string { return "" } -func (x *Params) GetMaxConsPubkeyRotations() uint64 { +func (x *Params) GetKeyRotationFee() *v1beta1.Coin { if x != nil { - return x.MaxConsPubkeyRotations + return x.KeyRotationFee } - return 0 + return nil } -func (x *Params) GetConsPubkeyRotationFee() *v1beta1.Coin { +func (x *Params) GetMaxConsPubkeyRotations() uint64 { if x != nil { - return x.ConsPubkeyRotationFee + return x.MaxConsPubkeyRotations } - return nil + return 0 } // DelegationResponse is equivalent to Delegation except that it contains a @@ -15149,7 +15150,7 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, - 0xc1, 0x04, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x75, 0x6e, + 0xb2, 0x04, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0xc8, @@ -15173,134 +15174,129 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x22, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x44, 0x65, 0x63, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, + 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, + 0xb0, 0x2a, 0x01, 0x52, 0x0e, 0x6b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x46, 0x65, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x73, 0x50, - 0x75, 0x62, 0x6b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5d, - 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, - 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x15, 0x63, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, - 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x3a, 0x24, 0xe8, - 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, - 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x64, 0x65, - 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, - 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0a, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x07, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, - 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, - 0xde, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, - 0x12, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, - 0x11, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x56, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x3c, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, - 0x74, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, - 0x22, 0xc9, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x72, 0x65, 0x64, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x73, 0x50, + 0x75, 0x62, 0x6b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x24, + 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, + 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, - 0x52, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, - 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, - 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x8e, 0x02, 0x0a, - 0x04, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, - 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x56, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, - 0x74, 0xea, 0xde, 0x1f, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0f, 0x6e, 0x6f, 0x74, 0x42, 0x6f, - 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x77, 0x0a, 0x0d, 0x62, 0x6f, - 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x52, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, - 0x74, 0xea, 0xde, 0x1f, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, - 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x73, 0x3a, 0x08, 0xe8, 0xa0, 0x1f, 0x01, 0xf0, 0xa0, 0x1f, 0x01, 0x22, 0x59, 0x0a, - 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x73, 0x12, 0x45, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, - 0x61, 0x62, 0x63, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, - 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0xf3, 0x02, 0x0a, 0x19, 0x43, 0x6f, 0x6e, - 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x1b, 0xf2, 0xde, 0x1f, 0x17, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x52, 0x0f, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x75, - 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x37, 0xf2, - 0xde, 0x1f, 0x1b, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, - 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x22, 0xca, 0xb4, - 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, - 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x50, - 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x75, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, - 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x37, 0xf2, 0xde, 0x1f, 0x1b, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, - 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x5f, 0x70, 0x75, - 0x62, 0x6b, 0x65, 0x79, 0x22, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x6e, - 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, - 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x2a, 0xb6, - 0x01, 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, - 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, - 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x14, 0x42, - 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, - 0x44, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, 0x9d, 0x20, 0x08, 0x55, 0x6e, 0x62, 0x6f, 0x6e, - 0x64, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x1a, 0x0d, - 0x8a, 0x9d, 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, - 0x12, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x4e, - 0x44, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, 0x9d, 0x20, 0x06, 0x42, 0x6f, 0x6e, 0x64, 0x65, - 0x64, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, - 0x13, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, - 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, - 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, - 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0a, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x07, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, + 0x01, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, + 0x22, 0xde, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, + 0x0a, 0x12, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, + 0x52, 0x11, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x56, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, + 0x6e, 0x74, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, + 0x01, 0x22, 0xc9, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x72, 0x65, + 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, + 0x01, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x56, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, + 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, + 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x8e, 0x02, + 0x0a, 0x04, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, + 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x56, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, + 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0f, 0x6e, 0x6f, 0x74, 0x42, + 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x77, 0x0a, 0x0d, 0x62, + 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x52, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, + 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, + 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x73, 0x3a, 0x08, 0xe8, 0xa0, 0x1f, 0x01, 0xf0, 0xa0, 0x1f, 0x01, 0x22, 0x59, + 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x73, 0x12, 0x45, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, + 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, + 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0xb5, 0x02, 0x0a, 0x19, 0x43, 0x6f, + 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x1b, 0xf2, 0xde, 0x1f, 0x17, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x52, 0x0f, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x56, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, + 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x18, + 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, + 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x56, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x63, + 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x18, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, + 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, + 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, + 0x00, 0x2a, 0xb6, 0x01, 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x2c, 0x0a, 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x0f, 0x8a, + 0x9d, 0x20, 0x0b, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x26, + 0x0a, 0x14, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, + 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, 0x9d, 0x20, 0x08, 0x55, 0x6e, + 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, + 0x02, 0x1a, 0x0d, 0x8a, 0x9d, 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x12, 0x22, 0x0a, 0x12, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, 0x9d, 0x20, 0x06, 0x42, 0x6f, + 0x6e, 0x64, 0x65, 0x64, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x0a, 0x49, 0x6e, + 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, + 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, + 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, + 0x4f, 0x57, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, + 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, + 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -15366,7 +15362,7 @@ var file_cosmos_staking_v1beta1_staking_proto_depIdxs = []int32{ 25, // 13: cosmos.staking.v1beta1.RedelegationEntry.completion_time:type_name -> google.protobuf.Timestamp 15, // 14: cosmos.staking.v1beta1.Redelegation.entries:type_name -> cosmos.staking.v1beta1.RedelegationEntry 27, // 15: cosmos.staking.v1beta1.Params.unbonding_time:type_name -> google.protobuf.Duration - 28, // 16: cosmos.staking.v1beta1.Params.cons_pubkey_rotation_fee:type_name -> cosmos.base.v1beta1.Coin + 28, // 16: cosmos.staking.v1beta1.Params.key_rotation_fee:type_name -> cosmos.base.v1beta1.Coin 12, // 17: cosmos.staking.v1beta1.DelegationResponse.delegation:type_name -> cosmos.staking.v1beta1.Delegation 28, // 18: cosmos.staking.v1beta1.DelegationResponse.balance:type_name -> cosmos.base.v1beta1.Coin 15, // 19: cosmos.staking.v1beta1.RedelegationEntryResponse.redelegation_entry:type_name -> cosmos.staking.v1beta1.RedelegationEntry diff --git a/proto/cosmos/staking/v1beta1/staking.proto b/proto/cosmos/staking/v1beta1/staking.proto index 8a2f742f3562..6a0a35dfbf9f 100644 --- a/proto/cosmos/staking/v1beta1/staking.proto +++ b/proto/cosmos/staking/v1beta1/staking.proto @@ -320,7 +320,8 @@ message Params { (amino.dont_omitempty) = true, (cosmos_proto.scalar) = "cosmos.Dec" ]; - // key_rotation_fee is fee to be spent when rotating validator's consensus pubkey + // key_rotation_fee is fee to be spent when rotating validator's key + // (either consensus pubkey or operator key) cosmos.base.v1beta1.Coin key_rotation_fee = 7 [ (gogoproto.nullable) = false, (amino.dont_omitempty) = true diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index 48801743d20d..7a89941a94c6 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -932,10 +932,11 @@ type Params struct { BondDenom string `protobuf:"bytes,5,opt,name=bond_denom,json=bondDenom,proto3" json:"bond_denom,omitempty"` // min_commission_rate is the chain-wide minimum commission rate that a validator can charge their delegators MinCommissionRate github_com_cosmos_cosmos_sdk_types.Dec `protobuf:"bytes,6,opt,name=min_commission_rate,json=minCommissionRate,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Dec" json:"min_commission_rate" yaml:"min_commission_rate"` + // key_rotation_fee is fee to be spent when rotating validator's key + // (either consensus pubkey or operator key) + KeyRotationFee types2.Coin `protobuf:"bytes,7,opt,name=key_rotation_fee,json=keyRotationFee,proto3" json:"key_rotation_fee"` // max_cons_pubkey_rotations is maximum number of consensus pubkey rotations - MaxConsPubkeyRotations uint64 `protobuf:"varint,7,opt,name=max_cons_pubkey_rotations,json=maxConsPubkeyRotations,proto3" json:"max_cons_pubkey_rotations,omitempty"` - // cons_pubkey_rotation_fee is fee to be spent when rotating validator's consensus pubkey - ConsPubkeyRotationFee types2.Coin `protobuf:"bytes,8,opt,name=cons_pubkey_rotation_fee,json=consPubkeyRotationFee,proto3" json:"cons_pubkey_rotation_fee"` + MaxConsPubkeyRotations uint64 `protobuf:"varint,8,opt,name=max_cons_pubkey_rotations,json=maxConsPubkeyRotations,proto3" json:"max_cons_pubkey_rotations,omitempty"` } func (m *Params) Reset() { *m = Params{} } @@ -1006,18 +1007,18 @@ func (m *Params) GetBondDenom() string { return "" } -func (m *Params) GetMaxConsPubkeyRotations() uint64 { +func (m *Params) GetKeyRotationFee() types2.Coin { if m != nil { - return m.MaxConsPubkeyRotations + return m.KeyRotationFee } - return 0 + return types2.Coin{} } -func (m *Params) GetConsPubkeyRotationFee() types2.Coin { +func (m *Params) GetMaxConsPubkeyRotations() uint64 { if m != nil { - return m.ConsPubkeyRotationFee + return m.MaxConsPubkeyRotations } - return types2.Coin{} + return 0 } // DelegationResponse is equivalent to Delegation except that it contains a @@ -1268,9 +1269,9 @@ type ConsPubKeyRotationHistory struct { // operator_address defines the address of the validator's operator; bech encoded in JSON. OperatorAddress string `protobuf:"bytes,1,opt,name=operator_address,json=operatorAddress,proto3" json:"operator_address,omitempty" yaml:"operator_address"` // old_cons_pubkey is the old consensus public key of the validator, as a Protobuf Any. - OldConsPubkey *types1.Any `protobuf:"bytes,2,opt,name=old_cons_pubkey,json=oldConsPubkey,proto3" json:"old_cons_pubkey,omitempty" yaml:"old_consensus_pubkey"` + OldConsPubkey *types1.Any `protobuf:"bytes,2,opt,name=old_cons_pubkey,json=oldConsPubkey,proto3" json:"old_cons_pubkey,omitempty"` // new_cons_pubkey is the new consensus public key of the validator, as a Protobuf Any. - NewConsPubkey *types1.Any `protobuf:"bytes,3,opt,name=new_cons_pubkey,json=newConsPubkey,proto3" json:"new_cons_pubkey,omitempty" yaml:"new_consensus_pubkey"` + NewConsPubkey *types1.Any `protobuf:"bytes,3,opt,name=new_cons_pubkey,json=newConsPubkey,proto3" json:"new_cons_pubkey,omitempty"` // height defines the block height at which the rotation event occured. Height uint64 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"` } @@ -1340,134 +1341,133 @@ func init() { } var fileDescriptor_64c30c6cf92913c9 = []byte{ - // 2029 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x3d, 0x6c, 0x23, 0xc7, - 0x15, 0xd6, 0x92, 0x34, 0x25, 0x3d, 0x4a, 0x22, 0x35, 0xf7, 0x47, 0x51, 0x89, 0x48, 0xd3, 0x17, - 0x5b, 0x3e, 0xf8, 0xa8, 0x9c, 0x02, 0x24, 0x88, 0x62, 0x24, 0x10, 0x45, 0xc9, 0x47, 0xff, 0x48, - 0xc2, 0x52, 0x52, 0xe2, 0x24, 0xc6, 0x62, 0xb8, 0x3b, 0xa2, 0x36, 0xe2, 0xce, 0x12, 0x3b, 0xc3, - 0x3b, 0xb1, 0x0d, 0x52, 0x18, 0x2a, 0x12, 0x03, 0x69, 0xd2, 0x1c, 0x70, 0x40, 0x1a, 0xa7, 0x73, - 0x61, 0xc4, 0x45, 0x90, 0xc2, 0x9d, 0x93, 0x34, 0x07, 0x57, 0x41, 0x0a, 0x25, 0xb8, 0x2b, 0x6c, - 0xa4, 0x0a, 0x2e, 0x55, 0x52, 0x05, 0x33, 0x3b, 0xfb, 0x43, 0x51, 0xd4, 0xcf, 0x41, 0x31, 0x0c, - 0xb8, 0x91, 0x38, 0x33, 0xef, 0x7d, 0x33, 0xef, 0x7f, 0xdf, 0x83, 0x9b, 0xa6, 0xcb, 0x1c, 0x97, - 0x2d, 0x30, 0x8e, 0xf7, 0x6d, 0xda, 0x5a, 0xb8, 0x77, 0xa7, 0x49, 0x38, 0xbe, 0x13, 0xac, 0x2b, - 0x1d, 0xcf, 0xe5, 0x2e, 0xba, 0xee, 0x53, 0x55, 0x82, 0x5d, 0x45, 0x55, 0xb8, 0xda, 0x72, 0x5b, - 0xae, 0x24, 0x59, 0x10, 0xbf, 0x7c, 0xea, 0xc2, 0x4c, 0xcb, 0x75, 0x5b, 0x6d, 0xb2, 0x20, 0x57, - 0xcd, 0xee, 0xee, 0x02, 0xa6, 0x3d, 0x75, 0x34, 0x77, 0xfc, 0xc8, 0xea, 0x7a, 0x98, 0xdb, 0x2e, - 0x55, 0xe7, 0xc5, 0xe3, 0xe7, 0xdc, 0x76, 0x08, 0xe3, 0xd8, 0xe9, 0x04, 0xd8, 0xfe, 0x4b, 0x0c, - 0xff, 0x52, 0xf5, 0x2c, 0x85, 0xad, 0x44, 0x69, 0x62, 0x46, 0x42, 0x39, 0x4c, 0xd7, 0x0e, 0xb0, - 0xa7, 0xb1, 0x63, 0x53, 0x77, 0x41, 0xfe, 0x55, 0x5b, 0x5f, 0xe3, 0x84, 0x5a, 0xc4, 0x73, 0x6c, - 0xca, 0x17, 0x78, 0xaf, 0x43, 0x98, 0xff, 0x57, 0x9d, 0xce, 0xc6, 0x4e, 0x71, 0xd3, 0xb4, 0xe3, - 0x87, 0xe5, 0x5f, 0x6b, 0x30, 0x75, 0xd7, 0x66, 0xdc, 0xf5, 0x6c, 0x13, 0xb7, 0xeb, 0x74, 0xd7, - 0x45, 0xdf, 0x83, 0xf4, 0x1e, 0xc1, 0x16, 0xf1, 0xf2, 0x5a, 0x49, 0x9b, 0xcf, 0x2c, 0xe6, 0x2b, - 0x11, 0x40, 0xc5, 0xe7, 0xbd, 0x2b, 0xcf, 0xab, 0xe3, 0x9f, 0x1c, 0x15, 0x47, 0xde, 0xff, 0xec, - 0x83, 0x5b, 0x9a, 0xae, 0x58, 0x50, 0x0d, 0xd2, 0xf7, 0x70, 0x9b, 0x11, 0x9e, 0x4f, 0x94, 0x92, - 0xf3, 0x99, 0xc5, 0xe7, 0x2b, 0x27, 0xeb, 0xbc, 0xb2, 0x83, 0xdb, 0xb6, 0x85, 0xb9, 0xdb, 0x8f, - 0xe2, 0xf3, 0x96, 0x3f, 0x4a, 0x40, 0x76, 0xc5, 0x75, 0x1c, 0x9b, 0x31, 0xdb, 0xa5, 0x3a, 0xe6, - 0x84, 0xa1, 0x6d, 0x48, 0x79, 0x98, 0x13, 0xf9, 0xa8, 0xf1, 0xea, 0xb2, 0x60, 0xfa, 0xdb, 0x51, - 0xf1, 0xc5, 0x96, 0xcd, 0xf7, 0xba, 0xcd, 0x8a, 0xe9, 0x3a, 0x4a, 0x8d, 0xea, 0xdf, 0x6d, 0x66, - 0xed, 0x2b, 0x49, 0x6b, 0xc4, 0xfc, 0xf4, 0xc3, 0xdb, 0xa0, 0x1e, 0x52, 0x23, 0xa6, 0x7f, 0x99, - 0x84, 0x43, 0x3f, 0x85, 0x31, 0x07, 0x1f, 0x18, 0x12, 0x3a, 0x71, 0x59, 0xd0, 0xa3, 0x0e, 0x3e, - 0x10, 0xaf, 0x46, 0x36, 0x64, 0x05, 0xba, 0xb9, 0x87, 0x69, 0x8b, 0xf8, 0x97, 0x24, 0x2f, 0xeb, - 0x92, 0x49, 0x07, 0x1f, 0xac, 0x48, 0x60, 0x71, 0xd5, 0x52, 0xea, 0xf3, 0x87, 0x45, 0xad, 0xfc, - 0xb1, 0x06, 0x10, 0x69, 0x0e, 0x61, 0xc8, 0x99, 0xe1, 0x4a, 0xde, 0xcf, 0x94, 0x55, 0x5f, 0x1a, - 0x66, 0x98, 0x63, 0x7a, 0xaf, 0x4e, 0x8a, 0x97, 0x3e, 0x3a, 0x2a, 0x6a, 0xfe, 0xad, 0x59, 0xf3, - 0x98, 0x5d, 0x5e, 0x87, 0x4c, 0xb7, 0x63, 0x61, 0x4e, 0x0c, 0xe1, 0xe4, 0x52, 0x87, 0x99, 0xc5, - 0x42, 0xc5, 0x8f, 0x80, 0x4a, 0x10, 0x01, 0x95, 0xad, 0x20, 0x02, 0x7c, 0xc0, 0xf7, 0xfe, 0x1e, - 0x00, 0x82, 0xcf, 0x2d, 0xce, 0x95, 0x0c, 0xef, 0x6b, 0x90, 0xa9, 0x11, 0x66, 0x7a, 0x76, 0x47, - 0xc4, 0x14, 0xca, 0xc3, 0xa8, 0xe3, 0x52, 0x7b, 0x5f, 0x79, 0xe4, 0xb8, 0x1e, 0x2c, 0x51, 0x01, - 0xc6, 0x6c, 0x8b, 0x50, 0x6e, 0xf3, 0x9e, 0x6f, 0x3c, 0x3d, 0x5c, 0x0b, 0xae, 0xfb, 0xa4, 0xc9, - 0xec, 0x40, 0xe5, 0x7a, 0xb0, 0x44, 0x2f, 0x43, 0x8e, 0x11, 0xb3, 0xeb, 0xd9, 0xbc, 0x67, 0x98, - 0x2e, 0xe5, 0xd8, 0xe4, 0xf9, 0x94, 0x24, 0xc9, 0x06, 0xfb, 0x2b, 0xfe, 0xb6, 0x00, 0xb1, 0x08, - 0xc7, 0x76, 0x9b, 0xe5, 0x9f, 0xf3, 0x41, 0xd4, 0x52, 0x3d, 0xf5, 0xa3, 0x51, 0x18, 0x0f, 0x3d, - 0x19, 0xad, 0x40, 0xce, 0xed, 0x10, 0x4f, 0xfc, 0x36, 0xb0, 0x65, 0x79, 0x84, 0x31, 0xe5, 0xae, - 0xf9, 0x4f, 0x3f, 0xbc, 0x7d, 0x55, 0x29, 0x7c, 0xd9, 0x3f, 0x69, 0x70, 0xcf, 0xa6, 0x2d, 0x3d, - 0x1b, 0x70, 0xa8, 0x6d, 0xf4, 0xb6, 0x30, 0x19, 0x65, 0x84, 0xb2, 0x2e, 0x33, 0x3a, 0xdd, 0xe6, - 0x3e, 0xe9, 0x29, 0xa5, 0x5e, 0x1d, 0x50, 0xea, 0x32, 0xed, 0x55, 0xf3, 0x7f, 0x8e, 0xa0, 0x4d, - 0xaf, 0xd7, 0xe1, 0x6e, 0x65, 0xb3, 0xdb, 0x7c, 0x83, 0xf4, 0x84, 0xa9, 0x14, 0xce, 0xa6, 0x84, - 0x41, 0xd7, 0x21, 0xfd, 0x33, 0x6c, 0xb7, 0x89, 0x25, 0x35, 0x32, 0xa6, 0xab, 0x15, 0x5a, 0x82, - 0x34, 0xe3, 0x98, 0x77, 0x99, 0x54, 0xc3, 0xd4, 0x62, 0x79, 0x98, 0x6f, 0x54, 0x5d, 0x6a, 0x35, - 0x24, 0xa5, 0xae, 0x38, 0xd0, 0x16, 0xa4, 0xb9, 0xbb, 0x4f, 0xa8, 0x52, 0x50, 0xf5, 0xd5, 0x0b, - 0x38, 0x76, 0x9d, 0xf2, 0x98, 0x63, 0xd7, 0x29, 0xd7, 0x15, 0x16, 0x6a, 0x41, 0xce, 0x22, 0x6d, - 0xd2, 0x92, 0xaa, 0x64, 0x7b, 0xd8, 0x23, 0x2c, 0x9f, 0xbe, 0x30, 0xfe, 0x40, 0xe0, 0xe8, 0xd9, - 0x10, 0xb5, 0x21, 0x41, 0xd1, 0x26, 0x64, 0xac, 0xc8, 0xd5, 0xf2, 0xa3, 0x52, 0xd1, 0x2f, 0x0c, - 0x93, 0x3f, 0xe6, 0x95, 0xf1, 0xb4, 0x15, 0x87, 0x10, 0xde, 0xd5, 0xa5, 0x4d, 0x97, 0x5a, 0x36, - 0x6d, 0x19, 0x7b, 0xc4, 0x6e, 0xed, 0xf1, 0xfc, 0x58, 0x49, 0x9b, 0x4f, 0xea, 0xd9, 0x70, 0xff, - 0xae, 0xdc, 0x46, 0x9b, 0x30, 0x15, 0x91, 0xca, 0xe8, 0x19, 0xbf, 0x68, 0xf4, 0x4c, 0x86, 0x00, - 0x82, 0x04, 0xbd, 0x05, 0x10, 0xc5, 0x67, 0x1e, 0x24, 0x5a, 0xf9, 0xec, 0x48, 0x8f, 0x0b, 0x13, - 0x03, 0x40, 0x6d, 0xb8, 0xe2, 0xd8, 0xd4, 0x60, 0xa4, 0xbd, 0x6b, 0x28, 0xcd, 0x09, 0xdc, 0xcc, - 0x25, 0x58, 0x7a, 0xda, 0xb1, 0x69, 0x83, 0xb4, 0x77, 0x6b, 0x21, 0x2c, 0x7a, 0x15, 0x66, 0x23, - 0x75, 0xb8, 0xd4, 0xd8, 0x73, 0xdb, 0x96, 0xe1, 0x91, 0x5d, 0xc3, 0x74, 0xbb, 0x94, 0xe7, 0x27, - 0xa4, 0x12, 0x6f, 0x84, 0x24, 0x1b, 0xf4, 0xae, 0xdb, 0xb6, 0x74, 0xb2, 0xbb, 0x22, 0x8e, 0xd1, - 0x0b, 0x10, 0xe9, 0xc2, 0xb0, 0x2d, 0x96, 0x9f, 0x2c, 0x25, 0xe7, 0x53, 0xfa, 0x44, 0xb8, 0x59, - 0xb7, 0xd8, 0xd2, 0xd8, 0xbb, 0x0f, 0x8b, 0x23, 0x9f, 0x3f, 0x2c, 0x8e, 0x94, 0xd7, 0x60, 0x62, - 0x07, 0xb7, 0x55, 0xd0, 0x11, 0x86, 0xbe, 0x0d, 0xe3, 0x38, 0x58, 0xe4, 0xb5, 0x52, 0xf2, 0xd4, - 0xa0, 0x8d, 0x48, 0xcb, 0x0f, 0x35, 0x48, 0xd7, 0x76, 0x36, 0xb1, 0xed, 0xa1, 0x55, 0x98, 0x8e, - 0x9c, 0xf6, 0xbc, 0xf1, 0x1f, 0xf9, 0x79, 0x90, 0x00, 0x56, 0x61, 0xfa, 0x5e, 0x90, 0x52, 0x42, - 0x98, 0xc4, 0x59, 0x30, 0x21, 0x8b, 0xda, 0x8f, 0x89, 0xfa, 0x3a, 0x8c, 0xfa, 0x2f, 0x64, 0xe8, - 0x07, 0xf0, 0x5c, 0x47, 0xfc, 0x90, 0x12, 0x66, 0x16, 0xe7, 0x86, 0x3a, 0xba, 0xa4, 0x8f, 0xbb, - 0x85, 0xcf, 0x57, 0xfe, 0x8f, 0x06, 0x50, 0xdb, 0xd9, 0xd9, 0xf2, 0xec, 0x4e, 0x9b, 0xf0, 0xcb, - 0x12, 0xf9, 0x4d, 0xb8, 0x16, 0x89, 0xcc, 0x3c, 0xf3, 0xdc, 0x62, 0x5f, 0x09, 0xd9, 0x1a, 0x9e, - 0x79, 0x22, 0x9a, 0xc5, 0x78, 0x88, 0x96, 0x3c, 0x37, 0x5a, 0x8d, 0xf1, 0x41, 0x3d, 0xfe, 0x08, - 0x32, 0x91, 0xe8, 0x0c, 0xd5, 0x61, 0x8c, 0xab, 0xdf, 0x4a, 0x9d, 0xe5, 0xe1, 0xea, 0x0c, 0xd8, - 0xe2, 0x2a, 0x0d, 0xd9, 0xcb, 0xff, 0x15, 0x5a, 0x8d, 0x02, 0xe1, 0x4b, 0xe5, 0x48, 0x22, 0xc3, - 0xab, 0x0c, 0x9c, 0xbc, 0x84, 0x0c, 0xac, 0xb0, 0x62, 0x6a, 0xfd, 0x45, 0x02, 0xae, 0x6c, 0x07, - 0x41, 0xfa, 0xa5, 0xd5, 0xc2, 0x36, 0x8c, 0x12, 0xca, 0x3d, 0x5b, 0xaa, 0x41, 0x18, 0xfb, 0x9b, - 0xc3, 0x8c, 0x7d, 0x82, 0x2c, 0xab, 0x94, 0x7b, 0xbd, 0xb8, 0xe9, 0x03, 0xac, 0x98, 0x1a, 0xfe, - 0x98, 0x84, 0xfc, 0x30, 0x56, 0xf4, 0x12, 0x64, 0x4d, 0x8f, 0xc8, 0x8d, 0xa0, 0xa6, 0x68, 0x32, - 0x1d, 0x4e, 0x05, 0xdb, 0xaa, 0xa4, 0xe8, 0x20, 0x3e, 0xd0, 0x84, 0x57, 0x09, 0xd2, 0x67, 0xfb, - 0x22, 0x9b, 0x8a, 0x10, 0x64, 0x51, 0x21, 0x90, 0xb5, 0xa9, 0xcd, 0x6d, 0xdc, 0x36, 0x9a, 0xb8, - 0x8d, 0xa9, 0x49, 0x9e, 0xc1, 0x13, 0x06, 0x2b, 0xc0, 0x94, 0x02, 0xad, 0xfa, 0x98, 0x68, 0x07, - 0x46, 0x03, 0xf8, 0xd4, 0x25, 0xc0, 0x07, 0x60, 0xe8, 0x79, 0x98, 0x88, 0x17, 0x06, 0xf9, 0x9d, - 0x92, 0xd2, 0x33, 0xb1, 0xba, 0x70, 0x56, 0xe5, 0x49, 0x9f, 0x5a, 0x79, 0xd4, 0xa7, 0xe0, 0x1f, - 0x92, 0x30, 0xad, 0x13, 0xeb, 0x2b, 0x68, 0xb8, 0x9f, 0x00, 0xf8, 0x41, 0x2d, 0x92, 0xed, 0x33, - 0xd8, 0x6e, 0x30, 0x49, 0x8c, 0xfb, 0x78, 0x35, 0xc6, 0xbf, 0x28, 0xeb, 0xfd, 0x25, 0x01, 0x13, - 0x71, 0xeb, 0x7d, 0x05, 0x2a, 0x1b, 0x5a, 0x8f, 0x52, 0x5a, 0x4a, 0xa6, 0xb4, 0x97, 0x87, 0xa5, - 0xb4, 0x01, 0xbf, 0x3e, 0x23, 0x97, 0x7d, 0x9c, 0x82, 0xf4, 0x26, 0xf6, 0xb0, 0xc3, 0xd0, 0xc6, - 0xc0, 0x37, 0xae, 0xdf, 0x7f, 0xce, 0x0c, 0xb8, 0x75, 0x4d, 0xcd, 0x50, 0x7c, 0xaf, 0xfe, 0xcd, - 0xb0, 0x4f, 0xdc, 0x6f, 0xc0, 0x94, 0x68, 0xa9, 0x43, 0x81, 0x7c, 0x55, 0x4e, 0xca, 0x76, 0x38, - 0x6c, 0xc5, 0x18, 0x2a, 0x42, 0x46, 0x90, 0x45, 0x39, 0x5b, 0xd0, 0x80, 0x83, 0x0f, 0x56, 0xfd, - 0x1d, 0x74, 0x1b, 0xd0, 0x5e, 0x38, 0xf8, 0x30, 0x22, 0x45, 0x08, 0xba, 0xe9, 0xe8, 0x24, 0x20, - 0xff, 0x3a, 0x80, 0x78, 0x85, 0x61, 0x11, 0xea, 0x3a, 0xaa, 0x19, 0x1c, 0x17, 0x3b, 0x35, 0xb1, - 0x81, 0x7e, 0xa5, 0xf9, 0x9f, 0xca, 0xc7, 0xba, 0x6d, 0xd5, 0xb4, 0x18, 0x17, 0x8b, 0x86, 0xa7, - 0x47, 0xc5, 0x42, 0x0f, 0x3b, 0xed, 0xa5, 0xf2, 0x09, 0x90, 0xe5, 0x93, 0x66, 0x01, 0xe2, 0x6b, - 0xba, 0xbf, 0x71, 0x47, 0xdf, 0x85, 0x19, 0x39, 0x7a, 0x70, 0x69, 0xd0, 0x46, 0x1a, 0x9e, 0xcb, - 0xa5, 0x86, 0x99, 0xec, 0x73, 0x52, 0xfa, 0x75, 0x07, 0x1f, 0xac, 0xb8, 0x54, 0xb5, 0x87, 0x7a, - 0x70, 0x8a, 0xde, 0x81, 0xfc, 0x49, 0x6c, 0xc6, 0x2e, 0x21, 0xb2, 0x95, 0x11, 0xd6, 0x53, 0x2f, - 0x68, 0x62, 0x46, 0x62, 0x0d, 0x85, 0xdd, 0xd7, 0x4a, 0x5c, 0x33, 0x07, 0xc0, 0xd7, 0x08, 0x59, - 0xba, 0x29, 0x22, 0xee, 0xf0, 0xb3, 0x0f, 0x6e, 0xcd, 0xc6, 0x84, 0x3f, 0x08, 0x67, 0x77, 0xbe, - 0xe3, 0x94, 0x7f, 0xa7, 0x01, 0x8a, 0xca, 0xa0, 0x4e, 0x58, 0x47, 0x74, 0xb3, 0xa2, 0xc3, 0x89, - 0x75, 0x22, 0xda, 0xe9, 0x1d, 0x4e, 0xc4, 0xdf, 0xd7, 0xe1, 0xc4, 0xc2, 0xfc, 0xfb, 0x51, 0xd1, - 0x49, 0x5c, 0x40, 0xb2, 0x80, 0x49, 0x66, 0x8f, 0x91, 0xf2, 0x91, 0x06, 0x33, 0x03, 0x31, 0x12, - 0x3e, 0xd9, 0x04, 0xe4, 0xc5, 0x0e, 0xa5, 0xaf, 0xf5, 0xd4, 0xd3, 0x9f, 0x2d, 0xe4, 0xa6, 0xbd, - 0x81, 0x42, 0xf3, 0x7f, 0xaa, 0x9e, 0x2a, 0x3d, 0xfe, 0x49, 0x83, 0xab, 0xf1, 0x17, 0x85, 0xb2, - 0x35, 0x60, 0x22, 0xfe, 0x16, 0x25, 0xd5, 0xcd, 0xf3, 0x48, 0x15, 0x17, 0xa8, 0x0f, 0x44, 0xc8, - 0x12, 0xc4, 0xa3, 0x3f, 0x45, 0xbc, 0x73, 0x6e, 0x2d, 0x05, 0x0f, 0x3b, 0x31, 0x41, 0xf9, 0xc6, - 0xfa, 0x65, 0x02, 0x52, 0x9b, 0xae, 0xdb, 0x46, 0x3f, 0xd7, 0x60, 0x9a, 0xba, 0xdc, 0x10, 0x51, - 0x4c, 0x2c, 0x43, 0x8d, 0x31, 0xfc, 0x1c, 0xbf, 0x73, 0x31, 0xed, 0xfd, 0xf3, 0xa8, 0x38, 0x08, - 0xd5, 0xaf, 0x52, 0x35, 0x3e, 0xa3, 0x2e, 0xaf, 0x4a, 0xa2, 0x2d, 0x7f, 0xd2, 0x71, 0x1f, 0x26, - 0xfb, 0xef, 0xf7, 0x0b, 0x83, 0x7e, 0xe1, 0xfb, 0x27, 0xcf, 0xbc, 0x7b, 0xa2, 0x19, 0xbb, 0x78, - 0x69, 0x4c, 0x18, 0xf6, 0x5f, 0xc2, 0xb8, 0x6f, 0x43, 0x2e, 0x4c, 0x9c, 0xdb, 0x72, 0x18, 0x27, - 0xbe, 0x9a, 0x47, 0xfd, 0xb9, 0x5c, 0xd0, 0xdb, 0x94, 0xe2, 0x53, 0x60, 0xdc, 0x34, 0xed, 0xca, - 0x31, 0x9e, 0x3e, 0x8d, 0x2b, 0xde, 0xf2, 0xbf, 0x13, 0x30, 0xa3, 0x32, 0xcc, 0x1b, 0x51, 0x12, - 0xf0, 0x07, 0xce, 0x3d, 0xb4, 0x36, 0x74, 0x5e, 0x36, 0xfb, 0xf4, 0xa8, 0x78, 0xc3, 0x4f, 0x81, - 0xc7, 0x29, 0xca, 0x83, 0x23, 0xb3, 0x2e, 0x64, 0x45, 0xc9, 0x8f, 0xe5, 0xac, 0x53, 0x27, 0x66, - 0xdf, 0x79, 0x7a, 0x54, 0x9c, 0x55, 0xe0, 0x8a, 0x2d, 0x3e, 0x6d, 0x2b, 0x0f, 0x1d, 0xa8, 0x4d, - 0xba, 0x6d, 0x2b, 0xca, 0x97, 0xe2, 0x5a, 0x4a, 0xee, 0xf7, 0x5d, 0x9b, 0x3c, 0xdf, 0xb5, 0x01, - 0xdb, 0x39, 0xaf, 0xa5, 0xe4, 0x7e, 0xec, 0xda, 0xeb, 0x90, 0x56, 0x5f, 0x92, 0x29, 0x99, 0xc5, - 0xd5, 0x2a, 0x2a, 0xbf, 0xb7, 0x7e, 0xaf, 0x01, 0x44, 0xa3, 0x3a, 0xf4, 0x0a, 0xdc, 0xa8, 0x6e, - 0xac, 0xd7, 0x8c, 0xc6, 0xd6, 0xf2, 0xd6, 0x76, 0xc3, 0xd8, 0x5e, 0x6f, 0x6c, 0xae, 0xae, 0xd4, - 0xd7, 0xea, 0xab, 0xb5, 0xdc, 0x48, 0x21, 0x7b, 0xf8, 0xa0, 0x94, 0xd9, 0xa6, 0xac, 0x43, 0x4c, - 0x7b, 0xd7, 0x26, 0x16, 0x7a, 0x11, 0xae, 0xf6, 0x53, 0x8b, 0xd5, 0x6a, 0x2d, 0xa7, 0x15, 0x26, - 0x0e, 0x1f, 0x94, 0xc6, 0xfc, 0x16, 0x85, 0x58, 0x68, 0x1e, 0xae, 0x0d, 0xd2, 0xd5, 0xd7, 0x5f, - 0xcb, 0x25, 0x0a, 0x93, 0x87, 0x0f, 0x4a, 0xe3, 0x61, 0x2f, 0x83, 0xca, 0x80, 0xe2, 0x94, 0x0a, - 0x2f, 0x59, 0x80, 0xc3, 0x07, 0xa5, 0xb4, 0x1f, 0x0c, 0x85, 0xd4, 0xbb, 0xbf, 0x9d, 0x1b, 0xb9, - 0xf5, 0x0e, 0x40, 0x9d, 0xee, 0x7a, 0xd8, 0x94, 0x69, 0xa0, 0x00, 0xd7, 0xeb, 0xeb, 0x6b, 0xfa, - 0xf2, 0xca, 0x56, 0x7d, 0x63, 0xbd, 0xff, 0xd9, 0xc7, 0xce, 0x6a, 0x1b, 0xdb, 0xd5, 0x37, 0x57, - 0x8d, 0x46, 0xfd, 0xb5, 0xf5, 0x9c, 0x86, 0x6e, 0xc0, 0x95, 0xbe, 0xb3, 0x1f, 0xae, 0x6f, 0xd5, - 0xdf, 0x5a, 0xcd, 0x25, 0xaa, 0x6b, 0x9f, 0x3c, 0x9e, 0xd3, 0x1e, 0x3d, 0x9e, 0xd3, 0xfe, 0xf1, - 0x78, 0x4e, 0x7b, 0xef, 0xc9, 0xdc, 0xc8, 0xa3, 0x27, 0x73, 0x23, 0x7f, 0x7d, 0x32, 0x37, 0xf2, - 0xe3, 0x57, 0x4e, 0x0d, 0xb3, 0xa8, 0x36, 0xc9, 0x80, 0x6b, 0xa6, 0xa5, 0x5d, 0xbf, 0xf5, 0xbf, - 0x00, 0x00, 0x00, 0xff, 0xff, 0x12, 0x1d, 0xb3, 0x91, 0x76, 0x1a, 0x00, 0x00, + // 2014 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x4b, 0x6c, 0x1b, 0xc7, + 0xf9, 0xd7, 0x92, 0x0c, 0x25, 0x7d, 0x94, 0x44, 0x6a, 0xec, 0xd8, 0x14, 0xfd, 0xff, 0x8b, 0x0c, + 0xe3, 0x26, 0x8e, 0x11, 0x53, 0xb5, 0x0a, 0x14, 0xa8, 0x1a, 0xb4, 0x10, 0x45, 0x29, 0x66, 0x1e, + 0x92, 0xb0, 0x94, 0xd4, 0xa6, 0x0f, 0x2c, 0x86, 0xbb, 0x23, 0x6a, 0x2b, 0x72, 0x96, 0xd8, 0x19, + 0xda, 0xe2, 0xb5, 0xe8, 0x21, 0xd0, 0xa1, 0x0d, 0xd0, 0x4b, 0x2f, 0x06, 0x0c, 0xf4, 0x92, 0xde, + 0x82, 0x22, 0x6d, 0x0e, 0x45, 0x0f, 0xbd, 0xa5, 0xed, 0xc5, 0xc8, 0xa9, 0xe8, 0x41, 0x2d, 0xec, + 0x43, 0x82, 0x9e, 0x8a, 0xdc, 0xda, 0x53, 0x31, 0x8f, 0x7d, 0x50, 0x14, 0xad, 0x07, 0xd4, 0x22, + 0x40, 0x2e, 0x12, 0x67, 0xe6, 0xfb, 0x7e, 0x33, 0xdf, 0xef, 0x7b, 0xcc, 0x7e, 0x03, 0x37, 0x6d, + 0x8f, 0x75, 0x3c, 0xb6, 0xc0, 0x38, 0xde, 0x77, 0x69, 0x6b, 0xe1, 0xfe, 0xdd, 0x26, 0xe1, 0xf8, + 0x6e, 0x30, 0xae, 0x74, 0x7d, 0x8f, 0x7b, 0xe8, 0x9a, 0x92, 0xaa, 0x04, 0xb3, 0x5a, 0xaa, 0x70, + 0xb5, 0xe5, 0xb5, 0x3c, 0x29, 0xb2, 0x20, 0x7e, 0x29, 0xe9, 0xc2, 0x5c, 0xcb, 0xf3, 0x5a, 0x6d, + 0xb2, 0x20, 0x47, 0xcd, 0xde, 0xee, 0x02, 0xa6, 0x7d, 0xbd, 0x34, 0x7f, 0x7c, 0xc9, 0xe9, 0xf9, + 0x98, 0xbb, 0x1e, 0xd5, 0xeb, 0xc5, 0xe3, 0xeb, 0xdc, 0xed, 0x10, 0xc6, 0x71, 0xa7, 0x1b, 0x60, + 0xab, 0x93, 0x58, 0x6a, 0x53, 0x7d, 0x2c, 0x8d, 0xad, 0x4d, 0x69, 0x62, 0x46, 0x42, 0x3b, 0x6c, + 0xcf, 0x0d, 0xb0, 0x67, 0x71, 0xc7, 0xa5, 0xde, 0x82, 0xfc, 0xab, 0xa7, 0xfe, 0x8f, 0x13, 0xea, + 0x10, 0xbf, 0xe3, 0x52, 0xbe, 0xc0, 0xfb, 0x5d, 0xc2, 0xd4, 0x5f, 0xbd, 0x7a, 0x23, 0xb6, 0x8a, + 0x9b, 0xb6, 0x1b, 0x5f, 0x2c, 0xff, 0xdc, 0x80, 0x99, 0x7b, 0x2e, 0xe3, 0x9e, 0xef, 0xda, 0xb8, + 0x5d, 0xa7, 0xbb, 0x1e, 0xfa, 0x26, 0xa4, 0xf7, 0x08, 0x76, 0x88, 0x9f, 0x37, 0x4a, 0xc6, 0xad, + 0xcc, 0x62, 0xbe, 0x12, 0x01, 0x54, 0x94, 0xee, 0x3d, 0xb9, 0x5e, 0x9d, 0xfc, 0xf8, 0xa8, 0x38, + 0xf6, 0xfe, 0xa7, 0x1f, 0xdc, 0x36, 0x4c, 0xad, 0x82, 0x6a, 0x90, 0xbe, 0x8f, 0xdb, 0x8c, 0xf0, + 0x7c, 0xa2, 0x94, 0xbc, 0x95, 0x59, 0x7c, 0xa1, 0x72, 0x32, 0xe7, 0x95, 0x1d, 0xdc, 0x76, 0x1d, + 0xcc, 0xbd, 0x41, 0x14, 0xa5, 0x5b, 0xfe, 0x28, 0x01, 0xd9, 0x15, 0xaf, 0xd3, 0x71, 0x19, 0x73, + 0x3d, 0x6a, 0x62, 0x4e, 0x18, 0xda, 0x86, 0x94, 0x8f, 0x39, 0x91, 0x87, 0x9a, 0xac, 0x2e, 0x0b, + 0xa5, 0xbf, 0x1e, 0x15, 0x5f, 0x6a, 0xb9, 0x7c, 0xaf, 0xd7, 0xac, 0xd8, 0x5e, 0x47, 0xd3, 0xa8, + 0xff, 0xdd, 0x61, 0xce, 0xbe, 0xb6, 0xb4, 0x46, 0xec, 0x4f, 0x3e, 0xbc, 0x03, 0xfa, 0x20, 0x35, + 0x62, 0xab, 0xcd, 0x24, 0x1c, 0xfa, 0x01, 0x4c, 0x74, 0xf0, 0x81, 0x25, 0xa1, 0x13, 0x97, 0x05, + 0x3d, 0xde, 0xc1, 0x07, 0xe2, 0xd4, 0xc8, 0x85, 0xac, 0x40, 0xb7, 0xf7, 0x30, 0x6d, 0x11, 0xb5, + 0x49, 0xf2, 0xb2, 0x36, 0x99, 0xee, 0xe0, 0x83, 0x15, 0x09, 0x2c, 0xb6, 0x5a, 0x4a, 0x7d, 0xf6, + 0xa8, 0x68, 0x94, 0xff, 0x60, 0x00, 0x44, 0xcc, 0x21, 0x0c, 0x39, 0x3b, 0x1c, 0xc9, 0xfd, 0x99, + 0xf6, 0xea, 0xcb, 0xa3, 0x1c, 0x73, 0x8c, 0xf7, 0xea, 0xb4, 0x38, 0xe9, 0xe3, 0xa3, 0xa2, 0xa1, + 0x76, 0xcd, 0xda, 0xc7, 0xfc, 0xf2, 0x06, 0x64, 0x7a, 0x5d, 0x07, 0x73, 0x62, 0x89, 0x20, 0x97, + 0x1c, 0x66, 0x16, 0x0b, 0x15, 0x95, 0x01, 0x95, 0x20, 0x03, 0x2a, 0x5b, 0x41, 0x06, 0x28, 0xc0, + 0xf7, 0xfe, 0x16, 0x00, 0x82, 0xd2, 0x16, 0xeb, 0xda, 0x86, 0xf7, 0x0d, 0xc8, 0xd4, 0x08, 0xb3, + 0x7d, 0xb7, 0x2b, 0x72, 0x0a, 0xe5, 0x61, 0xbc, 0xe3, 0x51, 0x77, 0x5f, 0x47, 0xe4, 0xa4, 0x19, + 0x0c, 0x51, 0x01, 0x26, 0x5c, 0x87, 0x50, 0xee, 0xf2, 0xbe, 0x72, 0x9e, 0x19, 0x8e, 0x85, 0xd6, + 0x03, 0xd2, 0x64, 0x6e, 0x40, 0xb9, 0x19, 0x0c, 0xd1, 0x2b, 0x90, 0x63, 0xc4, 0xee, 0xf9, 0x2e, + 0xef, 0x5b, 0xb6, 0x47, 0x39, 0xb6, 0x79, 0x3e, 0x25, 0x45, 0xb2, 0xc1, 0xfc, 0x8a, 0x9a, 0x16, + 0x20, 0x0e, 0xe1, 0xd8, 0x6d, 0xb3, 0xfc, 0x73, 0x0a, 0x44, 0x0f, 0xf5, 0x51, 0x3f, 0x1a, 0x87, + 0xc9, 0x30, 0x92, 0xd1, 0x0a, 0xe4, 0xbc, 0x2e, 0xf1, 0xc5, 0x6f, 0x0b, 0x3b, 0x8e, 0x4f, 0x18, + 0xd3, 0xe1, 0x9a, 0xff, 0xe4, 0xc3, 0x3b, 0x57, 0x35, 0xe1, 0xcb, 0x6a, 0xa5, 0xc1, 0x7d, 0x97, + 0xb6, 0xcc, 0x6c, 0xa0, 0xa1, 0xa7, 0xd1, 0x3b, 0xc2, 0x65, 0x94, 0x11, 0xca, 0x7a, 0xcc, 0xea, + 0xf6, 0x9a, 0xfb, 0xa4, 0xaf, 0x49, 0xbd, 0x3a, 0x44, 0xea, 0x32, 0xed, 0x57, 0xf3, 0x7f, 0x8a, + 0xa0, 0x6d, 0xbf, 0xdf, 0xe5, 0x5e, 0x65, 0xb3, 0xd7, 0x7c, 0x93, 0xf4, 0x85, 0xab, 0x34, 0xce, + 0xa6, 0x84, 0x41, 0xd7, 0x20, 0xfd, 0x23, 0xec, 0xb6, 0x89, 0x23, 0x19, 0x99, 0x30, 0xf5, 0x08, + 0x2d, 0x41, 0x9a, 0x71, 0xcc, 0x7b, 0x4c, 0xd2, 0x30, 0xb3, 0x58, 0x1e, 0x15, 0x1b, 0x55, 0x8f, + 0x3a, 0x0d, 0x29, 0x69, 0x6a, 0x0d, 0xb4, 0x05, 0x69, 0xee, 0xed, 0x13, 0xaa, 0x09, 0xaa, 0xbe, + 0x76, 0x8e, 0xc0, 0xae, 0x53, 0x1e, 0x0b, 0xec, 0x3a, 0xe5, 0xa6, 0xc6, 0x42, 0x2d, 0xc8, 0x39, + 0xa4, 0x4d, 0x5a, 0x92, 0x4a, 0xb6, 0x87, 0x7d, 0xc2, 0xf2, 0xe9, 0x73, 0xe3, 0x0f, 0x25, 0x8e, + 0x99, 0x0d, 0x51, 0x1b, 0x12, 0x14, 0x6d, 0x42, 0xc6, 0x89, 0x42, 0x2d, 0x3f, 0x2e, 0x89, 0x7e, + 0x71, 0x94, 0xfd, 0xb1, 0xa8, 0x8c, 0x97, 0xad, 0x38, 0x84, 0x88, 0xae, 0x1e, 0x6d, 0x7a, 0xd4, + 0x71, 0x69, 0xcb, 0xda, 0x23, 0x6e, 0x6b, 0x8f, 0xe7, 0x27, 0x4a, 0xc6, 0xad, 0xa4, 0x99, 0x0d, + 0xe7, 0xef, 0xc9, 0x69, 0xb4, 0x09, 0x33, 0x91, 0xa8, 0xcc, 0x9e, 0xc9, 0xf3, 0x66, 0xcf, 0x74, + 0x08, 0x20, 0x44, 0xd0, 0xdb, 0x00, 0x51, 0x7e, 0xe6, 0x41, 0xa2, 0x95, 0x4f, 0xcf, 0xf4, 0xb8, + 0x31, 0x31, 0x00, 0xd4, 0x86, 0x2b, 0x1d, 0x97, 0x5a, 0x8c, 0xb4, 0x77, 0x2d, 0xcd, 0x9c, 0xc0, + 0xcd, 0x5c, 0x82, 0xa7, 0x67, 0x3b, 0x2e, 0x6d, 0x90, 0xf6, 0x6e, 0x2d, 0x84, 0x45, 0xaf, 0xc1, + 0x8d, 0x88, 0x0e, 0x8f, 0x5a, 0x7b, 0x5e, 0xdb, 0xb1, 0x7c, 0xb2, 0x6b, 0xd9, 0x5e, 0x8f, 0xf2, + 0xfc, 0x94, 0x24, 0xf1, 0x7a, 0x28, 0xb2, 0x41, 0xef, 0x79, 0x6d, 0xc7, 0x24, 0xbb, 0x2b, 0x62, + 0x19, 0xbd, 0x08, 0x11, 0x17, 0x96, 0xeb, 0xb0, 0xfc, 0x74, 0x29, 0x79, 0x2b, 0x65, 0x4e, 0x85, + 0x93, 0x75, 0x87, 0x2d, 0x4d, 0xbc, 0xfb, 0xa8, 0x38, 0xf6, 0xd9, 0xa3, 0xe2, 0x58, 0x79, 0x0d, + 0xa6, 0x76, 0x70, 0x5b, 0x27, 0x1d, 0x61, 0xe8, 0xeb, 0x30, 0x89, 0x83, 0x41, 0xde, 0x28, 0x25, + 0x9f, 0x99, 0xb4, 0x91, 0x68, 0xf9, 0x91, 0x01, 0xe9, 0xda, 0xce, 0x26, 0x76, 0x7d, 0xb4, 0x0a, + 0xb3, 0x51, 0xd0, 0x9e, 0x35, 0xff, 0xa3, 0x38, 0x0f, 0x0a, 0xc0, 0x2a, 0xcc, 0xde, 0x0f, 0x4a, + 0x4a, 0x08, 0x93, 0x38, 0x0d, 0x26, 0x54, 0xd1, 0xf3, 0x31, 0x53, 0xdf, 0x80, 0x71, 0x75, 0x42, + 0x86, 0xbe, 0x0d, 0xcf, 0x75, 0xc5, 0x0f, 0x69, 0x61, 0x66, 0x71, 0x7e, 0x64, 0xa0, 0x4b, 0xf9, + 0x78, 0x58, 0x28, 0xbd, 0xf2, 0xbf, 0x0c, 0x80, 0xda, 0xce, 0xce, 0x96, 0xef, 0x76, 0xdb, 0x84, + 0x5f, 0x96, 0xc9, 0x6f, 0xc1, 0xf3, 0x91, 0xc9, 0xcc, 0xb7, 0xcf, 0x6c, 0xf6, 0x95, 0x50, 0xad, + 0xe1, 0xdb, 0x27, 0xa2, 0x39, 0x8c, 0x87, 0x68, 0xc9, 0x33, 0xa3, 0xd5, 0x18, 0x1f, 0xe6, 0xf1, + 0xbb, 0x90, 0x89, 0x4c, 0x67, 0xa8, 0x0e, 0x13, 0x5c, 0xff, 0xd6, 0x74, 0x96, 0x47, 0xd3, 0x19, + 0xa8, 0xc5, 0x29, 0x0d, 0xd5, 0xcb, 0xff, 0x16, 0xac, 0x46, 0x89, 0xf0, 0x85, 0x0a, 0x24, 0x51, + 0xe1, 0x75, 0x05, 0x4e, 0x5e, 0x42, 0x05, 0xd6, 0x58, 0x31, 0x5a, 0x7f, 0x92, 0x80, 0x2b, 0xdb, + 0x41, 0x92, 0x7e, 0x61, 0x59, 0xd8, 0x86, 0x71, 0x42, 0xb9, 0xef, 0x4a, 0x1a, 0x84, 0xb3, 0xbf, + 0x3a, 0xca, 0xd9, 0x27, 0xd8, 0xb2, 0x4a, 0xb9, 0xdf, 0x8f, 0xbb, 0x3e, 0xc0, 0x8a, 0xd1, 0xf0, + 0xfb, 0x24, 0xe4, 0x47, 0xa9, 0xa2, 0x97, 0x21, 0x6b, 0xfb, 0x44, 0x4e, 0x04, 0x77, 0x8a, 0x21, + 0xcb, 0xe1, 0x4c, 0x30, 0xad, 0xaf, 0x14, 0x13, 0xc4, 0x07, 0x9a, 0x88, 0x2a, 0x21, 0x7a, 0xb1, + 0x2f, 0xb2, 0x99, 0x08, 0x41, 0x5e, 0x2a, 0x04, 0xb2, 0x2e, 0x75, 0xb9, 0x8b, 0xdb, 0x56, 0x13, + 0xb7, 0x31, 0xb5, 0xc9, 0x05, 0x22, 0x61, 0xf8, 0x06, 0x98, 0xd1, 0xa0, 0x55, 0x85, 0x89, 0x76, + 0x60, 0x3c, 0x80, 0x4f, 0x5d, 0x02, 0x7c, 0x00, 0x86, 0x5e, 0x80, 0xa9, 0xf8, 0xc5, 0x20, 0xbf, + 0x53, 0x52, 0x66, 0x26, 0x76, 0x2f, 0x9c, 0x76, 0xf3, 0xa4, 0x9f, 0x79, 0xf3, 0xe8, 0x4f, 0xc1, + 0xdf, 0x25, 0x61, 0xd6, 0x24, 0xce, 0x97, 0xd0, 0x71, 0xdf, 0x07, 0x50, 0x49, 0x2d, 0x8a, 0xed, + 0x05, 0x7c, 0x37, 0x5c, 0x24, 0x26, 0x15, 0x5e, 0x8d, 0xf1, 0xff, 0x95, 0xf7, 0xfe, 0x9c, 0x80, + 0xa9, 0xb8, 0xf7, 0xbe, 0x04, 0x37, 0x1b, 0x5a, 0x8f, 0x4a, 0x5a, 0x4a, 0x96, 0xb4, 0x57, 0x46, + 0x95, 0xb4, 0xa1, 0xb8, 0x3e, 0xa5, 0x96, 0xfd, 0x3a, 0x05, 0xe9, 0x4d, 0xec, 0xe3, 0x0e, 0x43, + 0x1b, 0x43, 0xdf, 0xb8, 0xaa, 0xff, 0x9c, 0x1b, 0x0a, 0xeb, 0x9a, 0x7e, 0x43, 0x51, 0x51, 0xfd, + 0x8b, 0x51, 0x9f, 0xb8, 0x5f, 0x81, 0x19, 0xd1, 0x52, 0x87, 0x06, 0x29, 0x2a, 0xa7, 0x65, 0x3b, + 0x1c, 0xb6, 0x62, 0x0c, 0x15, 0x21, 0x23, 0xc4, 0xa2, 0x9a, 0x2d, 0x64, 0xa0, 0x83, 0x0f, 0x56, + 0xd5, 0x0c, 0xba, 0x03, 0x68, 0x2f, 0x7c, 0xf8, 0xb0, 0x22, 0x22, 0x84, 0xdc, 0x6c, 0xb4, 0x12, + 0x88, 0xff, 0x3f, 0x80, 0x38, 0x85, 0xe5, 0x10, 0xea, 0x75, 0x74, 0x33, 0x38, 0x29, 0x66, 0x6a, + 0x62, 0x02, 0xfd, 0xcc, 0x50, 0x9f, 0xca, 0xc7, 0xba, 0x6d, 0xdd, 0xb4, 0x58, 0xe7, 0xcb, 0x86, + 0xcf, 0x8f, 0x8a, 0x85, 0x3e, 0xee, 0xb4, 0x97, 0xca, 0x27, 0x40, 0x96, 0x4f, 0x7a, 0x0b, 0x10, + 0x5f, 0xd3, 0x83, 0x8d, 0x3b, 0x5a, 0x87, 0xdc, 0x3e, 0xe9, 0x5b, 0xbe, 0xc7, 0x55, 0xf5, 0xd9, + 0x25, 0x44, 0xb7, 0x37, 0x73, 0x81, 0x9b, 0x9b, 0x98, 0x91, 0x58, 0x37, 0xe0, 0x0e, 0xf4, 0x01, + 0x33, 0xfb, 0xa4, 0x6f, 0x6a, 0xe5, 0x35, 0x42, 0xd0, 0x37, 0x60, 0x4e, 0x3e, 0x65, 0x78, 0x34, + 0x68, 0x4b, 0x43, 0x6c, 0x26, 0x1b, 0x9c, 0x94, 0x79, 0xad, 0x83, 0x0f, 0x56, 0x3c, 0xaa, 0xdb, + 0xcd, 0x40, 0x99, 0x2d, 0xdd, 0x14, 0x29, 0x76, 0xf8, 0xe9, 0x07, 0xb7, 0x6f, 0xc4, 0xac, 0x3d, + 0x08, 0x1f, 0xeb, 0x54, 0xa4, 0x94, 0x7f, 0x65, 0x00, 0x8a, 0xee, 0x3d, 0x93, 0xb0, 0xae, 0x68, + 0x5f, 0x45, 0x4b, 0x13, 0x6b, 0x3d, 0x8c, 0x67, 0xb7, 0x34, 0x91, 0xfe, 0x40, 0x4b, 0x13, 0xcb, + 0xeb, 0x6f, 0x45, 0xb7, 0x4c, 0xe2, 0x1c, 0x6c, 0x04, 0x4a, 0xb2, 0x5c, 0x8c, 0x95, 0x8f, 0x0c, + 0x98, 0x1b, 0x4a, 0x8a, 0xf0, 0xc8, 0x36, 0x20, 0x3f, 0xb6, 0x28, 0x83, 0xab, 0xaf, 0x8f, 0x7e, + 0xb1, 0x1c, 0x9b, 0xf5, 0x87, 0x6e, 0x96, 0xff, 0xd2, 0x75, 0xa9, 0xeb, 0xe1, 0x1f, 0x0d, 0xb8, + 0x1a, 0x3f, 0x51, 0x68, 0x5b, 0x03, 0xa6, 0xe2, 0x67, 0xd1, 0x56, 0xdd, 0x3c, 0x8b, 0x55, 0x71, + 0x83, 0x06, 0x40, 0x84, 0x2d, 0x41, 0x02, 0xaa, 0x67, 0xc3, 0xbb, 0x67, 0x66, 0x29, 0x38, 0xd8, + 0x89, 0x15, 0x49, 0x39, 0xeb, 0xa7, 0x09, 0x48, 0x6d, 0x7a, 0x5e, 0x1b, 0xfd, 0xd8, 0x80, 0x59, + 0xea, 0x71, 0x4b, 0xa4, 0x2d, 0x71, 0x2c, 0xfd, 0x6e, 0xa1, 0x8a, 0xfa, 0xce, 0xf9, 0xd8, 0xfb, + 0xc7, 0x51, 0x71, 0x18, 0x6a, 0x90, 0x52, 0xfd, 0x5e, 0x46, 0x3d, 0x5e, 0x95, 0x42, 0x5b, 0xea, + 0x69, 0xe3, 0x01, 0x4c, 0x0f, 0xee, 0xaf, 0x6e, 0x02, 0xf3, 0xdc, 0xfb, 0x4f, 0x9f, 0xba, 0xf7, + 0x54, 0x33, 0xb6, 0xf1, 0xd2, 0x84, 0x70, 0xec, 0x3f, 0x85, 0x73, 0xdf, 0x81, 0x5c, 0x58, 0x29, + 0xb7, 0xe5, 0xeb, 0x9b, 0xf8, 0x4c, 0x1e, 0x57, 0x0f, 0x71, 0x41, 0x33, 0x53, 0x8a, 0x3f, 0xfb, + 0xe2, 0xa6, 0xed, 0x56, 0x8e, 0xe9, 0x0c, 0x30, 0xae, 0x75, 0xcb, 0xbf, 0x49, 0xc0, 0x9c, 0x2e, + 0x01, 0x6f, 0x46, 0x25, 0x40, 0xbd, 0x30, 0xf7, 0xd1, 0xda, 0xc8, 0x07, 0xb2, 0x1b, 0x9f, 0x1f, + 0x15, 0xaf, 0xab, 0x9a, 0x77, 0x5c, 0xa2, 0x3c, 0xfc, 0x46, 0xb6, 0x03, 0x59, 0x71, 0xc7, 0xc7, + 0x6a, 0xd1, 0x05, 0x9f, 0xc8, 0xa6, 0xbd, 0xb6, 0x13, 0x55, 0x2c, 0x81, 0x4b, 0xc9, 0x83, 0x01, + 0xdc, 0xe4, 0xc5, 0x70, 0x29, 0x79, 0x10, 0xc3, 0xbd, 0x06, 0x69, 0xfd, 0xf1, 0x97, 0x92, 0x85, + 0x52, 0x8f, 0xa2, 0x1b, 0xf3, 0xf6, 0x6f, 0x0d, 0x80, 0xe8, 0x75, 0x0d, 0xbd, 0x0a, 0xd7, 0xab, + 0x1b, 0xeb, 0x35, 0xab, 0xb1, 0xb5, 0xbc, 0xb5, 0xdd, 0xb0, 0xb6, 0xd7, 0x1b, 0x9b, 0xab, 0x2b, + 0xf5, 0xb5, 0xfa, 0x6a, 0x2d, 0x37, 0x56, 0xc8, 0x1e, 0x3e, 0x2c, 0x65, 0xb6, 0x29, 0xeb, 0x12, + 0xdb, 0xdd, 0x75, 0x89, 0x83, 0x5e, 0x82, 0xab, 0x83, 0xd2, 0x62, 0xb4, 0x5a, 0xcb, 0x19, 0x85, + 0xa9, 0xc3, 0x87, 0xa5, 0x09, 0xd5, 0x55, 0x10, 0x07, 0xdd, 0x82, 0xe7, 0x87, 0xe5, 0xea, 0xeb, + 0xaf, 0xe7, 0x12, 0x85, 0xe9, 0xc3, 0x87, 0xa5, 0xc9, 0xb0, 0xfd, 0x40, 0x65, 0x40, 0x71, 0x49, + 0x8d, 0x97, 0x2c, 0xc0, 0xe1, 0xc3, 0x52, 0x5a, 0x85, 0x73, 0x21, 0xf5, 0xee, 0x2f, 0xe7, 0xc7, + 0x6e, 0xff, 0x10, 0xa0, 0x4e, 0x77, 0x7d, 0x6c, 0xcb, 0x44, 0x2e, 0xc0, 0xb5, 0xfa, 0xfa, 0x9a, + 0xb9, 0xbc, 0xb2, 0x55, 0xdf, 0x58, 0x1f, 0x3c, 0xf6, 0xb1, 0xb5, 0xda, 0xc6, 0x76, 0xf5, 0xad, + 0x55, 0xab, 0x51, 0x7f, 0x7d, 0x3d, 0x67, 0xa0, 0xeb, 0x70, 0x65, 0x60, 0xed, 0x3b, 0xeb, 0x5b, + 0xf5, 0xb7, 0x57, 0x73, 0x89, 0xea, 0xda, 0xc7, 0x4f, 0xe6, 0x8d, 0xc7, 0x4f, 0xe6, 0x8d, 0xbf, + 0x3f, 0x99, 0x37, 0xde, 0x7b, 0x3a, 0x3f, 0xf6, 0xf8, 0xe9, 0xfc, 0xd8, 0x5f, 0x9e, 0xce, 0x8f, + 0x7d, 0xef, 0xd5, 0x67, 0x26, 0x4a, 0x74, 0xbb, 0xc8, 0x94, 0x69, 0xa6, 0xa5, 0xe3, 0xbe, 0xf6, + 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb1, 0xe6, 0x39, 0x49, 0x29, 0x1a, 0x00, 0x00, } func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { @@ -1476,680 +1476,679 @@ func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_go func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 10759 bytes of a gzipped FileDescriptorSet + // 10741 bytes of a gzipped FileDescriptorSet 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0xbd, 0x7b, 0x70, 0x24, 0xc7, 0x79, 0x18, 0x8e, 0x7d, 0xef, 0x7e, 0x8b, 0xdd, 0x1d, 0x34, 0xc0, 0x3b, 0xdc, 0x1e, 0x09, 0x80, 0xc3, 0xc7, 0x3d, 0x48, 0xe2, 0xc8, 0x23, 0xef, 0x48, 0xe2, 0x44, 0xd1, 0xbb, 0x8b, 0xbd, 0x3b, - 0xdc, 0xe1, 0xa5, 0x59, 0xe0, 0xf8, 0xb0, 0xa5, 0xf1, 0x60, 0xb7, 0x01, 0x0c, 0x6f, 0x77, 0x66, + 0xdc, 0xe1, 0xa5, 0x59, 0xe0, 0xf8, 0xb0, 0xad, 0xf1, 0x60, 0xb7, 0x01, 0x0c, 0x6f, 0x77, 0x66, 0x34, 0x33, 0x7b, 0x07, 0xb0, 0x7e, 0xf5, 0x2b, 0xda, 0xb2, 0x1d, 0xf9, 0xe2, 0xd8, 0xb2, 0x9d, - 0xb2, 0xe5, 0xc7, 0x29, 0x94, 0x15, 0xeb, 0xe1, 0xbc, 0x64, 0x4b, 0x91, 0xe4, 0xb8, 0xec, 0x92, - 0x52, 0x79, 0xc8, 0x4e, 0x2a, 0x25, 0xb9, 0x52, 0x89, 0x2b, 0x95, 0x30, 0x0e, 0xa5, 0x8a, 0x14, - 0x59, 0x8e, 0x6d, 0x89, 0x76, 0xe2, 0xa8, 0x52, 0x49, 0xf5, 0x6b, 0x1e, 0xfb, 0xc0, 0x2c, 0x4e, - 0x24, 0xed, 0x94, 0xfe, 0xb9, 0xdb, 0xee, 0xfe, 0xbe, 0xaf, 0xbb, 0xbf, 0xfe, 0xfa, 0x7b, 0x75, - 0x4f, 0x03, 0xbe, 0x7d, 0x01, 0xe6, 0x76, 0x4c, 0x73, 0xa7, 0x8d, 0xcf, 0x58, 0xb6, 0xe9, 0x9a, - 0x5b, 0xdd, 0xed, 0x33, 0x2d, 0xec, 0x34, 0x6d, 0xdd, 0x72, 0x4d, 0x7b, 0x9e, 0xd6, 0xa1, 0x12, - 0x83, 0x98, 0x17, 0x10, 0xf2, 0x0a, 0x4c, 0x5c, 0xd4, 0xdb, 0x78, 0xd1, 0x03, 0x6c, 0x60, 0x17, - 0x3d, 0x05, 0xc9, 0x6d, 0xbd, 0x8d, 0xa7, 0x63, 0x73, 0x89, 0x93, 0xf9, 0xb3, 0xf7, 0xcf, 0xf7, - 0x20, 0xcd, 0x87, 0x31, 0xd6, 0x49, 0xb5, 0x42, 0x31, 0xe4, 0xaf, 0x26, 0x61, 0x72, 0x40, 0x2b, - 0x42, 0x90, 0x34, 0xb4, 0x0e, 0xa1, 0x18, 0x3b, 0x99, 0x53, 0xe8, 0x6f, 0x34, 0x0d, 0x19, 0x4b, - 0x6b, 0x5e, 0xd7, 0x76, 0xf0, 0x74, 0x9c, 0x56, 0x8b, 0x22, 0x9a, 0x01, 0x68, 0x61, 0x0b, 0x1b, - 0x2d, 0x6c, 0x34, 0xf7, 0xa7, 0x13, 0x73, 0x89, 0x93, 0x39, 0x25, 0x50, 0x83, 0x1e, 0x82, 0x09, - 0xab, 0xbb, 0xd5, 0xd6, 0x9b, 0x6a, 0x00, 0x0c, 0xe6, 0x12, 0x27, 0x53, 0x8a, 0xc4, 0x1a, 0x16, - 0x7d, 0xe0, 0x13, 0x50, 0xba, 0x89, 0xb5, 0xeb, 0x41, 0xd0, 0x3c, 0x05, 0x2d, 0x92, 0xea, 0x00, - 0x60, 0x0d, 0xc6, 0x3b, 0xd8, 0x71, 0xb4, 0x1d, 0xac, 0xba, 0xfb, 0x16, 0x9e, 0x4e, 0xd2, 0xd9, - 0xcf, 0xf5, 0xcd, 0xbe, 0x77, 0xe6, 0x79, 0x8e, 0xb5, 0xb1, 0x6f, 0x61, 0x54, 0x81, 0x1c, 0x36, - 0xba, 0x1d, 0x46, 0x21, 0x35, 0x84, 0x7f, 0x75, 0xa3, 0xdb, 0xe9, 0xa5, 0x92, 0x25, 0x68, 0x9c, - 0x44, 0xc6, 0xc1, 0xf6, 0x0d, 0xbd, 0x89, 0xa7, 0xd3, 0x94, 0xc0, 0x89, 0x3e, 0x02, 0x0d, 0xd6, - 0xde, 0x4b, 0x43, 0xe0, 0xa1, 0x1a, 0xe4, 0xf0, 0x9e, 0x8b, 0x0d, 0x47, 0x37, 0x8d, 0xe9, 0x0c, - 0x25, 0xf2, 0xc0, 0x80, 0x55, 0xc4, 0xed, 0x56, 0x2f, 0x09, 0x1f, 0x0f, 0x9d, 0x87, 0x8c, 0x69, - 0xb9, 0xba, 0x69, 0x38, 0xd3, 0xd9, 0xb9, 0xd8, 0xc9, 0xfc, 0xd9, 0xbb, 0x07, 0x0a, 0xc2, 0x1a, - 0x83, 0x51, 0x04, 0x30, 0x5a, 0x02, 0xc9, 0x31, 0xbb, 0x76, 0x13, 0xab, 0x4d, 0xb3, 0x85, 0x55, - 0xdd, 0xd8, 0x36, 0xa7, 0x73, 0x94, 0xc0, 0x6c, 0xff, 0x44, 0x28, 0x60, 0xcd, 0x6c, 0xe1, 0x25, - 0x63, 0xdb, 0x54, 0x8a, 0x4e, 0xa8, 0x8c, 0x8e, 0x40, 0xda, 0xd9, 0x37, 0x5c, 0x6d, 0x6f, 0x7a, - 0x9c, 0x4a, 0x08, 0x2f, 0xc9, 0xbf, 0x99, 0x86, 0xd2, 0x28, 0x22, 0x76, 0x01, 0x52, 0xdb, 0x64, - 0x96, 0xd3, 0xf1, 0xc3, 0xf0, 0x80, 0xe1, 0x84, 0x99, 0x98, 0xbe, 0x43, 0x26, 0x56, 0x20, 0x6f, - 0x60, 0xc7, 0xc5, 0x2d, 0x26, 0x11, 0x89, 0x11, 0x65, 0x0a, 0x18, 0x52, 0xbf, 0x48, 0x25, 0xef, - 0x48, 0xa4, 0x9e, 0x87, 0x92, 0x37, 0x24, 0xd5, 0xd6, 0x8c, 0x1d, 0x21, 0x9b, 0x67, 0xa2, 0x46, - 0x32, 0x5f, 0x17, 0x78, 0x0a, 0x41, 0x53, 0x8a, 0x38, 0x54, 0x46, 0x8b, 0x00, 0xa6, 0x81, 0xcd, - 0x6d, 0xb5, 0x85, 0x9b, 0xed, 0xe9, 0xec, 0x10, 0x2e, 0xad, 0x11, 0x90, 0x3e, 0x2e, 0x99, 0xac, - 0xb6, 0xd9, 0x46, 0x4f, 0xfb, 0xa2, 0x96, 0x19, 0x22, 0x29, 0x2b, 0x6c, 0x93, 0xf5, 0x49, 0xdb, - 0x26, 0x14, 0x6d, 0x4c, 0xe4, 0x1e, 0xb7, 0xf8, 0xcc, 0x72, 0x74, 0x10, 0xf3, 0x91, 0x33, 0x53, - 0x38, 0x1a, 0x9b, 0x58, 0xc1, 0x0e, 0x16, 0xd1, 0x7d, 0xe0, 0x55, 0xa8, 0x54, 0xac, 0x80, 0x6a, - 0xa1, 0x71, 0x51, 0xb9, 0xaa, 0x75, 0x70, 0xf9, 0x65, 0x28, 0x86, 0xd9, 0x83, 0xa6, 0x20, 0xe5, - 0xb8, 0x9a, 0xed, 0x52, 0x29, 0x4c, 0x29, 0xac, 0x80, 0x24, 0x48, 0x60, 0xa3, 0x45, 0xb5, 0x5c, - 0x4a, 0x21, 0x3f, 0xd1, 0xf7, 0xf9, 0x13, 0x4e, 0xd0, 0x09, 0x3f, 0xd8, 0xbf, 0xa2, 0x21, 0xca, - 0xbd, 0xf3, 0x2e, 0x3f, 0x09, 0x85, 0xd0, 0x04, 0x46, 0xed, 0x5a, 0xfe, 0xff, 0xe0, 0xae, 0x81, - 0xa4, 0xd1, 0xf3, 0x30, 0xd5, 0x35, 0x74, 0xc3, 0xc5, 0xb6, 0x65, 0x63, 0x22, 0xb1, 0xac, 0xab, - 0xe9, 0xaf, 0x65, 0x86, 0xc8, 0xdc, 0x66, 0x10, 0x9a, 0x51, 0x51, 0x26, 0xbb, 0xfd, 0x95, 0xa7, - 0x73, 0xd9, 0xaf, 0x67, 0xa4, 0x57, 0x5e, 0x79, 0xe5, 0x95, 0xb8, 0xfc, 0x85, 0x34, 0x4c, 0x0d, - 0xda, 0x33, 0x03, 0xb7, 0xef, 0x11, 0x48, 0x1b, 0xdd, 0xce, 0x16, 0xb6, 0x29, 0x93, 0x52, 0x0a, - 0x2f, 0xa1, 0x0a, 0xa4, 0xda, 0xda, 0x16, 0x6e, 0x4f, 0x27, 0xe7, 0x62, 0x27, 0x8b, 0x67, 0x1f, - 0x1a, 0x69, 0x57, 0xce, 0x2f, 0x13, 0x14, 0x85, 0x61, 0xa2, 0x77, 0x42, 0x92, 0xab, 0x68, 0x42, - 0xe1, 0xf4, 0x68, 0x14, 0xc8, 0x5e, 0x52, 0x28, 0x1e, 0x3a, 0x0e, 0x39, 0xf2, 0x3f, 0x93, 0x8d, - 0x34, 0x1d, 0x73, 0x96, 0x54, 0x10, 0xb9, 0x40, 0x65, 0xc8, 0xd2, 0x6d, 0xd2, 0xc2, 0xc2, 0xb4, - 0x79, 0x65, 0x22, 0x58, 0x2d, 0xbc, 0xad, 0x75, 0xdb, 0xae, 0x7a, 0x43, 0x6b, 0x77, 0x31, 0x15, - 0xf8, 0x9c, 0x32, 0xce, 0x2b, 0xaf, 0x91, 0x3a, 0x34, 0x0b, 0x79, 0xb6, 0xab, 0x74, 0xa3, 0x85, - 0xf7, 0xa8, 0xf6, 0x4c, 0x29, 0x6c, 0xa3, 0x2d, 0x91, 0x1a, 0xd2, 0xfd, 0x4b, 0x8e, 0x69, 0x08, - 0xd1, 0xa4, 0x5d, 0x90, 0x0a, 0xda, 0xfd, 0x93, 0xbd, 0x8a, 0xfb, 0x9e, 0xc1, 0xd3, 0xeb, 0xdb, - 0x4b, 0x27, 0xa0, 0x44, 0x21, 0x1e, 0xe7, 0x4b, 0xaf, 0xb5, 0xa7, 0x27, 0xe6, 0x62, 0x27, 0xb3, - 0x4a, 0x91, 0x55, 0xaf, 0xf1, 0x5a, 0xf9, 0x33, 0x71, 0x48, 0x52, 0xc5, 0x52, 0x82, 0xfc, 0xc6, - 0x0b, 0xeb, 0x75, 0x75, 0x71, 0x6d, 0xb3, 0xba, 0x5c, 0x97, 0x62, 0xa8, 0x08, 0x40, 0x2b, 0x2e, - 0x2e, 0xaf, 0x55, 0x36, 0xa4, 0xb8, 0x57, 0x5e, 0x5a, 0xdd, 0x38, 0xff, 0x84, 0x94, 0xf0, 0x10, - 0x36, 0x59, 0x45, 0x32, 0x08, 0xf0, 0xf8, 0x59, 0x29, 0x85, 0x24, 0x18, 0x67, 0x04, 0x96, 0x9e, - 0xaf, 0x2f, 0x9e, 0x7f, 0x42, 0x4a, 0x87, 0x6b, 0x1e, 0x3f, 0x2b, 0x65, 0x50, 0x01, 0x72, 0xb4, - 0xa6, 0xba, 0xb6, 0xb6, 0x2c, 0x65, 0x3d, 0x9a, 0x8d, 0x0d, 0x65, 0x69, 0xf5, 0x92, 0x94, 0xf3, - 0x68, 0x5e, 0x52, 0xd6, 0x36, 0xd7, 0x25, 0xf0, 0x28, 0xac, 0xd4, 0x1b, 0x8d, 0xca, 0xa5, 0xba, - 0x94, 0xf7, 0x20, 0xaa, 0x2f, 0x6c, 0xd4, 0x1b, 0xd2, 0x78, 0x68, 0x58, 0x8f, 0x9f, 0x95, 0x0a, - 0x5e, 0x17, 0xf5, 0xd5, 0xcd, 0x15, 0xa9, 0x88, 0x26, 0xa0, 0xc0, 0xba, 0x10, 0x83, 0x28, 0xf5, - 0x54, 0x9d, 0x7f, 0x42, 0x92, 0xfc, 0x81, 0x30, 0x2a, 0x13, 0xa1, 0x8a, 0xf3, 0x4f, 0x48, 0x48, - 0xae, 0x41, 0x8a, 0x8a, 0x21, 0x42, 0x50, 0x5c, 0xae, 0x54, 0xeb, 0xcb, 0xea, 0xda, 0xfa, 0xc6, - 0xd2, 0xda, 0x6a, 0x65, 0x59, 0x8a, 0xf9, 0x75, 0x4a, 0xfd, 0x5d, 0x9b, 0x4b, 0x4a, 0x7d, 0x51, - 0x8a, 0x07, 0xeb, 0xd6, 0xeb, 0x95, 0x8d, 0xfa, 0xa2, 0x94, 0x90, 0x9b, 0x30, 0x35, 0x48, 0xa1, - 0x0e, 0xdc, 0x42, 0x01, 0x59, 0x88, 0x0f, 0x91, 0x05, 0x4a, 0xab, 0x57, 0x16, 0xe4, 0xaf, 0xc4, - 0x61, 0x72, 0x80, 0x51, 0x19, 0xd8, 0xc9, 0xb3, 0x90, 0x62, 0xb2, 0xcc, 0xcc, 0xec, 0xa9, 0x81, - 0xd6, 0x89, 0x4a, 0x76, 0x9f, 0xa9, 0xa5, 0x78, 0x41, 0x57, 0x23, 0x31, 0xc4, 0xd5, 0x20, 0x24, - 0xfa, 0x04, 0xf6, 0xdd, 0x7d, 0xca, 0x9f, 0xd9, 0xc7, 0xf3, 0xa3, 0xd8, 0x47, 0x5a, 0x77, 0x38, - 0x23, 0x90, 0x1a, 0x60, 0x04, 0x2e, 0xc0, 0x44, 0x1f, 0xa1, 0x91, 0x95, 0xf1, 0xfb, 0x62, 0x30, - 0x3d, 0x8c, 0x39, 0x11, 0x2a, 0x31, 0x1e, 0x52, 0x89, 0x17, 0x7a, 0x39, 0x78, 0xef, 0xf0, 0x45, - 0xe8, 0x5b, 0xeb, 0x8f, 0xc5, 0xe0, 0xc8, 0x60, 0x97, 0x72, 0xe0, 0x18, 0xde, 0x09, 0xe9, 0x0e, - 0x76, 0x77, 0x4d, 0xe1, 0x56, 0x3d, 0x38, 0xc0, 0x58, 0x93, 0xe6, 0xde, 0xc5, 0xe6, 0x58, 0x41, - 0x6b, 0x9f, 0x18, 0xe6, 0x17, 0xb2, 0xd1, 0xf4, 0x8d, 0xf4, 0xc7, 0xe3, 0x70, 0xd7, 0x40, 0xe2, - 0x03, 0x07, 0x7a, 0x0f, 0x80, 0x6e, 0x58, 0x5d, 0x97, 0xb9, 0x4e, 0x4c, 0x13, 0xe7, 0x68, 0x0d, - 0x55, 0x5e, 0x44, 0xcb, 0x76, 0x5d, 0xaf, 0x3d, 0x41, 0xdb, 0x81, 0x55, 0x51, 0x80, 0xa7, 0xfc, - 0x81, 0x26, 0xe9, 0x40, 0x67, 0x86, 0xcc, 0xb4, 0x4f, 0x30, 0x1f, 0x05, 0xa9, 0xd9, 0xd6, 0xb1, - 0xe1, 0xaa, 0x8e, 0x6b, 0x63, 0xad, 0xa3, 0x1b, 0x3b, 0xd4, 0xd4, 0x64, 0x17, 0x52, 0xdb, 0x5a, - 0xdb, 0xc1, 0x4a, 0x89, 0x35, 0x37, 0x44, 0x2b, 0xc1, 0xa0, 0x02, 0x64, 0x07, 0x30, 0xd2, 0x21, - 0x0c, 0xd6, 0xec, 0x61, 0xc8, 0x3f, 0x9d, 0x83, 0x7c, 0xc0, 0x01, 0x47, 0xf7, 0xc2, 0xf8, 0x4b, - 0xda, 0x0d, 0x4d, 0x15, 0x41, 0x15, 0xe3, 0x44, 0x9e, 0xd4, 0xad, 0xf3, 0xc0, 0xea, 0x51, 0x98, - 0xa2, 0x20, 0x66, 0xd7, 0xc5, 0xb6, 0xda, 0x6c, 0x6b, 0x8e, 0x43, 0x99, 0x96, 0xa5, 0xa0, 0x88, - 0xb4, 0xad, 0x91, 0xa6, 0x9a, 0x68, 0x41, 0xe7, 0x60, 0x92, 0x62, 0x74, 0xba, 0x6d, 0x57, 0xb7, - 0xda, 0x58, 0x25, 0x61, 0x9e, 0x43, 0x4d, 0x8e, 0x37, 0xb2, 0x09, 0x02, 0xb1, 0xc2, 0x01, 0xc8, - 0x88, 0x1c, 0xb4, 0x08, 0xf7, 0x50, 0xb4, 0x1d, 0x6c, 0x60, 0x5b, 0x73, 0xb1, 0x8a, 0xdf, 0xdb, - 0xd5, 0xda, 0x8e, 0xaa, 0x19, 0x2d, 0x75, 0x57, 0x73, 0x76, 0xa7, 0xa7, 0x08, 0x81, 0x6a, 0x7c, - 0x3a, 0xa6, 0x1c, 0x23, 0x80, 0x97, 0x38, 0x5c, 0x9d, 0x82, 0x55, 0x8c, 0xd6, 0x65, 0xcd, 0xd9, - 0x45, 0x0b, 0x70, 0x84, 0x52, 0x71, 0x5c, 0x5b, 0x37, 0x76, 0xd4, 0xe6, 0x2e, 0x6e, 0x5e, 0x57, - 0xbb, 0xee, 0xf6, 0x53, 0xd3, 0xc7, 0x83, 0xfd, 0xd3, 0x11, 0x36, 0x28, 0x4c, 0x8d, 0x80, 0x6c, - 0xba, 0xdb, 0x4f, 0xa1, 0x06, 0x8c, 0x93, 0xc5, 0xe8, 0xe8, 0x2f, 0x63, 0x75, 0xdb, 0xb4, 0xa9, - 0x0d, 0x2d, 0x0e, 0x50, 0x4d, 0x01, 0x0e, 0xce, 0xaf, 0x71, 0x84, 0x15, 0xb3, 0x85, 0x17, 0x52, - 0x8d, 0xf5, 0x7a, 0x7d, 0x51, 0xc9, 0x0b, 0x2a, 0x17, 0x4d, 0x9b, 0x08, 0xd4, 0x8e, 0xe9, 0x31, - 0x38, 0xcf, 0x04, 0x6a, 0xc7, 0x14, 0xec, 0x3d, 0x07, 0x93, 0xcd, 0x26, 0x9b, 0xb3, 0xde, 0x54, - 0x79, 0x30, 0xe6, 0x4c, 0x4b, 0x21, 0x66, 0x35, 0x9b, 0x97, 0x18, 0x00, 0x97, 0x71, 0x07, 0x3d, - 0x0d, 0x77, 0xf9, 0xcc, 0x0a, 0x22, 0x4e, 0xf4, 0xcd, 0xb2, 0x17, 0xf5, 0x1c, 0x4c, 0x5a, 0xfb, - 0xfd, 0x88, 0x28, 0xd4, 0xa3, 0xb5, 0xdf, 0x8b, 0xf6, 0x24, 0x4c, 0x59, 0xbb, 0x56, 0x3f, 0xde, - 0xe9, 0x20, 0x1e, 0xb2, 0x76, 0xad, 0x5e, 0xc4, 0x07, 0x68, 0x64, 0x6e, 0xe3, 0xa6, 0xe6, 0xe2, - 0xd6, 0xf4, 0xd1, 0x20, 0x78, 0xa0, 0x01, 0xcd, 0x83, 0xd4, 0x6c, 0xaa, 0xd8, 0xd0, 0xb6, 0xda, - 0x58, 0xd5, 0x6c, 0x6c, 0x68, 0xce, 0xf4, 0x2c, 0x05, 0x4e, 0xba, 0x76, 0x17, 0x2b, 0xc5, 0x66, - 0xb3, 0x4e, 0x1b, 0x2b, 0xb4, 0x0d, 0x9d, 0x86, 0x09, 0x73, 0xeb, 0xa5, 0x26, 0x93, 0x48, 0xd5, - 0xb2, 0xf1, 0xb6, 0xbe, 0x37, 0x7d, 0x3f, 0x65, 0x6f, 0x89, 0x34, 0x50, 0x79, 0x5c, 0xa7, 0xd5, - 0xe8, 0x14, 0x48, 0x4d, 0x67, 0x57, 0xb3, 0x2d, 0xaa, 0x92, 0x1d, 0x4b, 0x6b, 0xe2, 0xe9, 0x07, - 0x18, 0x28, 0xab, 0x5f, 0x15, 0xd5, 0x64, 0x47, 0x38, 0x37, 0xf5, 0x6d, 0x57, 0x50, 0x3c, 0xc1, - 0x76, 0x04, 0xad, 0xe3, 0xd4, 0x4e, 0x82, 0x44, 0x38, 0x11, 0xea, 0xf8, 0x24, 0x05, 0x2b, 0x5a, - 0xbb, 0x56, 0xb0, 0xdf, 0xfb, 0xa0, 0x40, 0x20, 0xfd, 0x4e, 0x4f, 0x31, 0xc7, 0xcd, 0xda, 0x0d, - 0xf4, 0xf8, 0x04, 0x1c, 0x21, 0x40, 0x1d, 0xec, 0x6a, 0x2d, 0xcd, 0xd5, 0x02, 0xd0, 0x0f, 0x53, - 0x68, 0xc2, 0xf6, 0x15, 0xde, 0x18, 0x1a, 0xa7, 0xdd, 0xdd, 0xda, 0xf7, 0x04, 0xeb, 0x11, 0x36, - 0x4e, 0x52, 0x27, 0x44, 0xeb, 0x2d, 0x73, 0xce, 0xe5, 0x05, 0x18, 0x0f, 0xca, 0x3d, 0xca, 0x01, - 0x93, 0x7c, 0x29, 0x46, 0x9c, 0xa0, 0xda, 0xda, 0x22, 0x71, 0x5f, 0x5e, 0xac, 0x4b, 0x71, 0xe2, - 0x46, 0x2d, 0x2f, 0x6d, 0xd4, 0x55, 0x65, 0x73, 0x75, 0x63, 0x69, 0xa5, 0x2e, 0x25, 0x02, 0x8e, - 0xfd, 0x95, 0x64, 0xf6, 0x41, 0xe9, 0x04, 0xf1, 0x1a, 0x8a, 0xe1, 0x48, 0x0d, 0xbd, 0x03, 0x8e, - 0x8a, 0xb4, 0x8a, 0x83, 0x5d, 0xf5, 0xa6, 0x6e, 0xd3, 0x0d, 0xd9, 0xd1, 0x98, 0x71, 0xf4, 0xe4, - 0x67, 0x8a, 0x43, 0x35, 0xb0, 0xfb, 0x9c, 0x6e, 0x93, 0xed, 0xd6, 0xd1, 0x5c, 0xb4, 0x0c, 0xb3, - 0x86, 0xa9, 0x3a, 0xae, 0x66, 0xb4, 0x34, 0xbb, 0xa5, 0xfa, 0x09, 0x2d, 0x55, 0x6b, 0x36, 0xb1, - 0xe3, 0x98, 0xcc, 0x10, 0x7a, 0x54, 0xee, 0x36, 0xcc, 0x06, 0x07, 0xf6, 0x2d, 0x44, 0x85, 0x83, - 0xf6, 0x88, 0x6f, 0x62, 0x98, 0xf8, 0x1e, 0x87, 0x5c, 0x47, 0xb3, 0x54, 0x6c, 0xb8, 0xf6, 0x3e, - 0xf5, 0xcf, 0xb3, 0x4a, 0xb6, 0xa3, 0x59, 0x75, 0x52, 0x7e, 0x5b, 0xc2, 0xa4, 0x2b, 0xc9, 0x6c, - 0x52, 0x4a, 0x5d, 0x49, 0x66, 0x53, 0x52, 0xfa, 0x4a, 0x32, 0x9b, 0x96, 0x32, 0x57, 0x92, 0xd9, - 0xac, 0x94, 0xbb, 0x92, 0xcc, 0xe6, 0x24, 0x90, 0x7f, 0x26, 0x09, 0xe3, 0x41, 0x0f, 0x9e, 0x04, - 0x44, 0x4d, 0x6a, 0xc3, 0x62, 0x54, 0xcb, 0xdd, 0x77, 0xa0, 0xbf, 0x3f, 0x5f, 0x23, 0xc6, 0x6d, - 0x21, 0xcd, 0xdc, 0x65, 0x85, 0x61, 0x12, 0xc7, 0x82, 0x88, 0x1f, 0x66, 0xee, 0x49, 0x56, 0xe1, - 0x25, 0x74, 0x09, 0xd2, 0x2f, 0x39, 0x94, 0x76, 0x9a, 0xd2, 0xbe, 0xff, 0x60, 0xda, 0x57, 0x1a, - 0x94, 0x78, 0xee, 0x4a, 0x43, 0x5d, 0x5d, 0x53, 0x56, 0x2a, 0xcb, 0x0a, 0x47, 0x47, 0xc7, 0x20, - 0xd9, 0xd6, 0x5e, 0xde, 0x0f, 0x9b, 0x41, 0x5a, 0x85, 0xe6, 0xa1, 0xd4, 0x35, 0x6e, 0x60, 0x5b, - 0xdf, 0xd6, 0x71, 0x4b, 0xa5, 0x50, 0xa5, 0x20, 0x54, 0xd1, 0x6f, 0x5d, 0x26, 0xf0, 0x23, 0x2e, - 0xe3, 0x31, 0x48, 0xde, 0xc4, 0xda, 0xf5, 0xb0, 0xb1, 0xa2, 0x55, 0x6f, 0xe1, 0x76, 0x3a, 0x03, - 0x29, 0xca, 0x5f, 0x04, 0xc0, 0x39, 0x2c, 0x8d, 0xa1, 0x2c, 0x24, 0x6b, 0x6b, 0x0a, 0xd9, 0x52, - 0x12, 0x8c, 0xb3, 0x5a, 0x75, 0x7d, 0xa9, 0x5e, 0xab, 0x4b, 0x71, 0xf9, 0x1c, 0xa4, 0x19, 0xd3, - 0xc8, 0x76, 0xf3, 0xd8, 0x26, 0x8d, 0xf1, 0x22, 0xa7, 0x11, 0x13, 0xad, 0x9b, 0x2b, 0xd5, 0xba, - 0x22, 0xc5, 0xfb, 0x84, 0x45, 0x76, 0x60, 0x3c, 0xe8, 0xc9, 0xbf, 0x3d, 0xe1, 0xfc, 0xe7, 0x63, - 0x90, 0x0f, 0x78, 0xe6, 0xc4, 0xa5, 0xd2, 0xda, 0x6d, 0xf3, 0xa6, 0xaa, 0xb5, 0x75, 0xcd, 0xe1, - 0xa2, 0x04, 0xb4, 0xaa, 0x42, 0x6a, 0x46, 0x5d, 0xba, 0xb7, 0x69, 0x93, 0xa5, 0xa4, 0xb4, 0xfc, - 0xa1, 0x18, 0x48, 0xbd, 0xae, 0x71, 0xcf, 0x30, 0x63, 0x7f, 0x95, 0xc3, 0x94, 0x7f, 0x39, 0x06, - 0xc5, 0xb0, 0x3f, 0xdc, 0x33, 0xbc, 0x7b, 0xff, 0x4a, 0x87, 0xf7, 0x87, 0x71, 0x28, 0x84, 0xbc, - 0xe0, 0x51, 0x47, 0xf7, 0x5e, 0x98, 0xd0, 0x5b, 0xb8, 0x63, 0x99, 0x2e, 0x36, 0x9a, 0xfb, 0x6a, - 0x1b, 0xdf, 0xc0, 0xed, 0x69, 0x99, 0x2a, 0x99, 0x33, 0x07, 0xfb, 0xd9, 0xf3, 0x4b, 0x3e, 0xde, - 0x32, 0x41, 0x5b, 0x98, 0x5c, 0x5a, 0xac, 0xaf, 0xac, 0xaf, 0x6d, 0xd4, 0x57, 0x6b, 0x2f, 0xa8, - 0x9b, 0xab, 0x57, 0x57, 0xd7, 0x9e, 0x5b, 0x55, 0x24, 0xbd, 0x07, 0xec, 0x2d, 0xdc, 0xf6, 0xeb, - 0x20, 0xf5, 0x0e, 0x0a, 0x1d, 0x85, 0x41, 0xc3, 0x92, 0xc6, 0xd0, 0x24, 0x94, 0x56, 0xd7, 0xd4, - 0xc6, 0xd2, 0x62, 0x5d, 0xad, 0x5f, 0xbc, 0x58, 0xaf, 0x6d, 0x34, 0x58, 0xe6, 0xc4, 0x83, 0xde, - 0x08, 0x6d, 0x70, 0xf9, 0x17, 0x13, 0x30, 0x39, 0x60, 0x24, 0xa8, 0xc2, 0x63, 0x1e, 0x16, 0x86, - 0x3d, 0x32, 0xca, 0xe8, 0xe7, 0x89, 0xd7, 0xb1, 0xae, 0xd9, 0x2e, 0x0f, 0x91, 0x4e, 0x01, 0xe1, - 0x92, 0xe1, 0x12, 0xe5, 0x6a, 0xf3, 0x8c, 0x14, 0x0b, 0x84, 0x4a, 0x7e, 0x3d, 0x4b, 0x4a, 0x3d, - 0x0c, 0xc8, 0x32, 0x1d, 0xdd, 0xd5, 0x6f, 0x60, 0x55, 0x37, 0x44, 0xfa, 0x8a, 0x04, 0x46, 0x49, - 0x45, 0x12, 0x2d, 0x4b, 0x86, 0xeb, 0x41, 0x1b, 0x78, 0x47, 0xeb, 0x81, 0x26, 0xca, 0x3f, 0xa1, - 0x48, 0xa2, 0xc5, 0x83, 0xbe, 0x17, 0xc6, 0x5b, 0x66, 0x97, 0x78, 0x8b, 0x0c, 0x8e, 0xd8, 0x9a, - 0x98, 0x92, 0x67, 0x75, 0x1e, 0x08, 0x8f, 0x03, 0xfc, 0xbc, 0xd9, 0xb8, 0x92, 0x67, 0x75, 0x0c, - 0xe4, 0x04, 0x94, 0xb4, 0x9d, 0x1d, 0x9b, 0x10, 0x17, 0x84, 0x58, 0x64, 0x53, 0xf4, 0xaa, 0x29, - 0x60, 0xf9, 0x0a, 0x64, 0x05, 0x1f, 0x88, 0xb1, 0x27, 0x9c, 0x50, 0x2d, 0x16, 0xae, 0xc7, 0x4f, - 0xe6, 0x94, 0xac, 0x21, 0x1a, 0xef, 0x85, 0x71, 0xdd, 0x51, 0xfd, 0x63, 0x80, 0xf8, 0x5c, 0xfc, - 0x64, 0x56, 0xc9, 0xeb, 0x8e, 0x97, 0x42, 0x95, 0x3f, 0x16, 0x87, 0x62, 0xf8, 0x18, 0x03, 0x2d, - 0x42, 0xb6, 0x6d, 0x36, 0x35, 0x2a, 0x5a, 0xec, 0x0c, 0xed, 0x64, 0xc4, 0xc9, 0xc7, 0xfc, 0x32, - 0x87, 0x57, 0x3c, 0xcc, 0xf2, 0xbf, 0x89, 0x41, 0x56, 0x54, 0xa3, 0x23, 0x90, 0xb4, 0x34, 0x77, - 0x97, 0x92, 0x4b, 0x55, 0xe3, 0x52, 0x4c, 0xa1, 0x65, 0x52, 0xef, 0x58, 0x9a, 0x41, 0x45, 0x80, - 0xd7, 0x93, 0x32, 0x59, 0xd7, 0x36, 0xd6, 0x5a, 0x34, 0x6c, 0x32, 0x3b, 0x1d, 0x6c, 0xb8, 0x8e, - 0x58, 0x57, 0x5e, 0x5f, 0xe3, 0xd5, 0xe8, 0x21, 0x98, 0x70, 0x6d, 0x4d, 0x6f, 0x87, 0x60, 0x93, - 0x14, 0x56, 0x12, 0x0d, 0x1e, 0xf0, 0x02, 0x1c, 0x13, 0x74, 0x5b, 0xd8, 0xd5, 0x9a, 0xbb, 0xb8, - 0xe5, 0x23, 0xa5, 0x69, 0x7a, 0xe4, 0x28, 0x07, 0x58, 0xe4, 0xed, 0x02, 0x57, 0xfe, 0x72, 0x0c, - 0x26, 0x44, 0xa0, 0xd7, 0xf2, 0x98, 0xb5, 0x02, 0xa0, 0x19, 0x86, 0xe9, 0x06, 0xd9, 0xd5, 0x2f, - 0xca, 0x7d, 0x78, 0xf3, 0x15, 0x0f, 0x49, 0x09, 0x10, 0x28, 0x77, 0x00, 0xfc, 0x96, 0xa1, 0x6c, - 0x9b, 0x85, 0x3c, 0x3f, 0xa3, 0xa2, 0x07, 0x9d, 0x2c, 0x35, 0x00, 0xac, 0x8a, 0x44, 0x84, 0x68, - 0x0a, 0x52, 0x5b, 0x78, 0x47, 0x37, 0x78, 0xe6, 0x99, 0x15, 0x44, 0x02, 0x27, 0xe9, 0x25, 0x70, - 0xaa, 0xff, 0x3f, 0x4c, 0x36, 0xcd, 0x4e, 0xef, 0x70, 0xab, 0x52, 0x4f, 0x7a, 0xc2, 0xb9, 0x1c, - 0x7b, 0xf1, 0x11, 0x0e, 0xb4, 0x63, 0xb6, 0x35, 0x63, 0x67, 0xde, 0xb4, 0x77, 0xfc, 0x83, 0x5a, - 0xe2, 0x21, 0x39, 0x81, 0xe3, 0x5a, 0x6b, 0xeb, 0x7f, 0xc6, 0x62, 0xbf, 0x12, 0x4f, 0x5c, 0x5a, - 0xaf, 0xfe, 0x5a, 0xbc, 0x7c, 0x89, 0x21, 0xae, 0x0b, 0x66, 0x28, 0x78, 0xbb, 0x8d, 0x9b, 0x64, - 0x82, 0xf0, 0xc7, 0x0f, 0xc1, 0xd4, 0x8e, 0xb9, 0x63, 0x52, 0x4a, 0x67, 0xc8, 0x2f, 0x7e, 0xd2, - 0x9b, 0xf3, 0x6a, 0xcb, 0x91, 0xc7, 0xc2, 0x0b, 0xab, 0x30, 0xc9, 0x81, 0x55, 0x7a, 0xd4, 0xc4, - 0x02, 0x21, 0x74, 0x60, 0x16, 0x6e, 0xfa, 0xd7, 0xbf, 0x4a, 0xcd, 0xb7, 0x32, 0xc1, 0x51, 0x49, - 0x1b, 0x8b, 0x95, 0x16, 0x14, 0xb8, 0x2b, 0x44, 0x8f, 0x6d, 0x52, 0x6c, 0x47, 0x50, 0xfc, 0xe7, - 0x9c, 0xe2, 0x64, 0x80, 0x62, 0x83, 0xa3, 0x2e, 0xd4, 0xa0, 0x70, 0x18, 0x5a, 0xff, 0x82, 0xd3, - 0x1a, 0xc7, 0x41, 0x22, 0x97, 0xa0, 0x44, 0x89, 0x34, 0xbb, 0x8e, 0x6b, 0x76, 0xa8, 0x06, 0x3c, - 0x98, 0xcc, 0xbf, 0xfc, 0x2a, 0xdb, 0x35, 0x45, 0x82, 0x56, 0xf3, 0xb0, 0x16, 0x16, 0x80, 0x9e, - 0xae, 0xb5, 0x70, 0xb3, 0x1d, 0x41, 0xe1, 0x8b, 0x7c, 0x20, 0x1e, 0xfc, 0xc2, 0x35, 0x98, 0x22, - 0xbf, 0xa9, 0x82, 0x0a, 0x8e, 0x24, 0x3a, 0x65, 0x37, 0xfd, 0xe5, 0xf7, 0xb1, 0x8d, 0x39, 0xe9, - 0x11, 0x08, 0x8c, 0x29, 0xb0, 0x8a, 0x3b, 0xd8, 0x75, 0xb1, 0xed, 0xa8, 0x5a, 0x7b, 0xd0, 0xf0, - 0x02, 0x39, 0x8f, 0xe9, 0x5f, 0xf8, 0x66, 0x78, 0x15, 0x2f, 0x31, 0xcc, 0x4a, 0xbb, 0xbd, 0xb0, - 0x09, 0x47, 0x07, 0x48, 0xc5, 0x08, 0x34, 0x7f, 0x91, 0xd3, 0x9c, 0xea, 0x93, 0x0c, 0x42, 0x76, - 0x1d, 0x44, 0xbd, 0xb7, 0x96, 0x23, 0xd0, 0xfc, 0x25, 0x4e, 0x13, 0x71, 0x5c, 0xb1, 0xa4, 0x84, - 0xe2, 0x15, 0x98, 0xb8, 0x81, 0xed, 0x2d, 0xd3, 0xe1, 0x79, 0xa6, 0x11, 0xc8, 0xfd, 0x32, 0x27, - 0x57, 0xe2, 0x88, 0x34, 0xf1, 0x44, 0x68, 0x3d, 0x0d, 0xd9, 0x6d, 0xad, 0x89, 0x47, 0x20, 0x71, - 0x9b, 0x93, 0xc8, 0x10, 0x78, 0x82, 0x5a, 0x81, 0xf1, 0x1d, 0x93, 0xdb, 0xa8, 0x68, 0xf4, 0x0f, - 0x71, 0xf4, 0xbc, 0xc0, 0xe1, 0x24, 0x2c, 0xd3, 0xea, 0xb6, 0x89, 0x01, 0x8b, 0x26, 0xf1, 0x77, - 0x04, 0x09, 0x81, 0xc3, 0x49, 0x1c, 0x82, 0xad, 0xaf, 0x0a, 0x12, 0x4e, 0x80, 0x9f, 0xcf, 0x42, - 0xde, 0x34, 0xda, 0xfb, 0xa6, 0x31, 0xca, 0x20, 0x3e, 0xcc, 0x29, 0x00, 0x47, 0x21, 0x04, 0x2e, - 0x40, 0x6e, 0xd4, 0x85, 0xf8, 0xd5, 0x6f, 0x8a, 0xed, 0x21, 0x56, 0xe0, 0x12, 0x94, 0x84, 0x82, - 0xd2, 0x4d, 0x63, 0x04, 0x12, 0x1f, 0xe5, 0x24, 0x8a, 0x01, 0x34, 0x3e, 0x0d, 0x17, 0x3b, 0xee, - 0x0e, 0x1e, 0x85, 0xc8, 0xc7, 0xc4, 0x34, 0x38, 0x0a, 0x67, 0xe5, 0x16, 0x36, 0x9a, 0xbb, 0xa3, - 0x51, 0xf8, 0xb8, 0x60, 0xa5, 0xc0, 0x21, 0x24, 0x6a, 0x50, 0xe8, 0x68, 0xb6, 0xb3, 0xab, 0xb5, - 0x47, 0x5a, 0x8e, 0x4f, 0x70, 0x1a, 0xe3, 0x1e, 0x12, 0xe7, 0x48, 0xd7, 0x38, 0x0c, 0x99, 0x5f, - 0x13, 0x1c, 0x09, 0xa0, 0xf1, 0xad, 0xe7, 0xb8, 0x34, 0x29, 0x77, 0x18, 0x6a, 0x7f, 0x4f, 0x6c, - 0x3d, 0x86, 0xbb, 0x12, 0xa4, 0x78, 0x01, 0x72, 0x8e, 0xfe, 0xf2, 0x48, 0x64, 0xfe, 0xbe, 0x58, - 0x69, 0x8a, 0x40, 0x90, 0x5f, 0x80, 0x63, 0x03, 0xcd, 0xc4, 0x08, 0xc4, 0xfe, 0x01, 0x27, 0x76, - 0x64, 0x80, 0xa9, 0xe0, 0x2a, 0xe1, 0xb0, 0x24, 0xff, 0xa1, 0x50, 0x09, 0xb8, 0x87, 0xd6, 0x3a, - 0x89, 0x1a, 0x1c, 0x6d, 0xfb, 0x70, 0x5c, 0xfb, 0x47, 0x82, 0x6b, 0x0c, 0x37, 0xc4, 0xb5, 0x0d, - 0x38, 0xc2, 0x29, 0x1e, 0x6e, 0x5d, 0x3f, 0x29, 0x14, 0x2b, 0xc3, 0xde, 0x0c, 0xaf, 0xee, 0xf7, - 0x43, 0xd9, 0x63, 0xa7, 0x70, 0x4f, 0x1d, 0xb5, 0xa3, 0x59, 0x23, 0x50, 0xfe, 0x75, 0x4e, 0x59, - 0x68, 0x7c, 0xcf, 0xbf, 0x75, 0x56, 0x34, 0x8b, 0x10, 0x7f, 0x1e, 0xa6, 0x05, 0xf1, 0xae, 0x61, - 0xe3, 0xa6, 0xb9, 0x63, 0xe8, 0x2f, 0xe3, 0xd6, 0x08, 0xa4, 0x7f, 0xa3, 0x67, 0xa9, 0x36, 0x03, - 0xe8, 0x84, 0xf2, 0x12, 0x48, 0x9e, 0xaf, 0xa2, 0xea, 0x1d, 0xcb, 0xb4, 0xdd, 0x08, 0x8a, 0x9f, - 0x12, 0x2b, 0xe5, 0xe1, 0x2d, 0x51, 0xb4, 0x85, 0x3a, 0xb0, 0x93, 0xea, 0x51, 0x45, 0xf2, 0xd3, - 0x9c, 0x50, 0xc1, 0xc7, 0xe2, 0x8a, 0xa3, 0x69, 0x76, 0x2c, 0xcd, 0x1e, 0x45, 0xff, 0xfd, 0x63, - 0xa1, 0x38, 0x38, 0x0a, 0x57, 0x1c, 0xc4, 0xa3, 0x23, 0xd6, 0x7e, 0x04, 0x0a, 0x9f, 0x11, 0x8a, - 0x43, 0xe0, 0x70, 0x12, 0xc2, 0x61, 0x18, 0x81, 0xc4, 0x67, 0x05, 0x09, 0x81, 0x43, 0x48, 0xbc, - 0xcb, 0x37, 0xb4, 0x36, 0xde, 0xd1, 0x1d, 0xd7, 0x66, 0x4e, 0xf1, 0xc1, 0xa4, 0x3e, 0xf7, 0xcd, + 0xb2, 0x65, 0x4b, 0xa7, 0x50, 0x56, 0xac, 0x87, 0xf3, 0x92, 0x25, 0x59, 0x92, 0xe3, 0xb2, 0x4b, + 0x4e, 0xe5, 0x21, 0x3b, 0xa9, 0x94, 0xe4, 0x4a, 0x25, 0xae, 0x54, 0xc2, 0x38, 0x94, 0x2a, 0x52, + 0x64, 0x39, 0xb6, 0x65, 0x3a, 0x89, 0xa3, 0x4a, 0x25, 0xd5, 0xaf, 0x79, 0xec, 0x03, 0xb3, 0x38, + 0x91, 0xb4, 0x53, 0xfa, 0xe7, 0x6e, 0xbb, 0xfb, 0xfb, 0xbe, 0xee, 0xfe, 0xfa, 0xeb, 0xef, 0xd5, + 0x3d, 0x0d, 0xf8, 0xf3, 0x0b, 0x30, 0xb7, 0x63, 0x9a, 0x3b, 0x6d, 0x7c, 0xc6, 0xb2, 0x4d, 0xd7, + 0xdc, 0xea, 0x6e, 0x9f, 0x69, 0x61, 0xa7, 0x69, 0xeb, 0x96, 0x6b, 0xda, 0xf3, 0xb4, 0x0e, 0x95, + 0x18, 0xc4, 0xbc, 0x80, 0x90, 0x57, 0x60, 0xe2, 0xa2, 0xde, 0xc6, 0x8b, 0x1e, 0x60, 0x03, 0xbb, + 0xe8, 0x29, 0x48, 0x6e, 0xeb, 0x6d, 0x3c, 0x1d, 0x9b, 0x4b, 0x9c, 0xcc, 0x9f, 0xbd, 0x7f, 0xbe, + 0x07, 0x69, 0x3e, 0x8c, 0xb1, 0x4e, 0xaa, 0x15, 0x8a, 0x21, 0x7f, 0x2d, 0x09, 0x93, 0x03, 0x5a, + 0x11, 0x82, 0xa4, 0xa1, 0x75, 0x08, 0xc5, 0xd8, 0xc9, 0x9c, 0x42, 0x7f, 0xa3, 0x69, 0xc8, 0x58, + 0x5a, 0xf3, 0xba, 0xb6, 0x83, 0xa7, 0xe3, 0xb4, 0x5a, 0x14, 0xd1, 0x0c, 0x40, 0x0b, 0x5b, 0xd8, + 0x68, 0x61, 0xa3, 0xb9, 0x3f, 0x9d, 0x98, 0x4b, 0x9c, 0xcc, 0x29, 0x81, 0x1a, 0xf4, 0x10, 0x4c, + 0x58, 0xdd, 0xad, 0xb6, 0xde, 0x54, 0x03, 0x60, 0x30, 0x97, 0x38, 0x99, 0x52, 0x24, 0xd6, 0xb0, + 0xe8, 0x03, 0x9f, 0x80, 0xd2, 0x4d, 0xac, 0x5d, 0x0f, 0x82, 0xe6, 0x29, 0x68, 0x91, 0x54, 0x07, + 0x00, 0x6b, 0x30, 0xde, 0xc1, 0x8e, 0xa3, 0xed, 0x60, 0xd5, 0xdd, 0xb7, 0xf0, 0x74, 0x92, 0xce, + 0x7e, 0xae, 0x6f, 0xf6, 0xbd, 0x33, 0xcf, 0x73, 0xac, 0x8d, 0x7d, 0x0b, 0xa3, 0x0a, 0xe4, 0xb0, + 0xd1, 0xed, 0x30, 0x0a, 0xa9, 0x21, 0xfc, 0xab, 0x1b, 0xdd, 0x4e, 0x2f, 0x95, 0x2c, 0x41, 0xe3, + 0x24, 0x32, 0x0e, 0xb6, 0x6f, 0xe8, 0x4d, 0x3c, 0x9d, 0xa6, 0x04, 0x4e, 0xf4, 0x11, 0x68, 0xb0, + 0xf6, 0x5e, 0x1a, 0x02, 0x0f, 0xd5, 0x20, 0x87, 0xf7, 0x5c, 0x6c, 0x38, 0xba, 0x69, 0x4c, 0x67, + 0x28, 0x91, 0x07, 0x06, 0xac, 0x22, 0x6e, 0xb7, 0x7a, 0x49, 0xf8, 0x78, 0xe8, 0x3c, 0x64, 0x4c, + 0xcb, 0xd5, 0x4d, 0xc3, 0x99, 0xce, 0xce, 0xc5, 0x4e, 0xe6, 0xcf, 0xde, 0x3d, 0x50, 0x10, 0xd6, + 0x18, 0x8c, 0x22, 0x80, 0xd1, 0x12, 0x48, 0x8e, 0xd9, 0xb5, 0x9b, 0x58, 0x6d, 0x9a, 0x2d, 0xac, + 0xea, 0xc6, 0xb6, 0x39, 0x9d, 0xa3, 0x04, 0x66, 0xfb, 0x27, 0x42, 0x01, 0x6b, 0x66, 0x0b, 0x2f, + 0x19, 0xdb, 0xa6, 0x52, 0x74, 0x42, 0x65, 0x74, 0x04, 0xd2, 0xce, 0xbe, 0xe1, 0x6a, 0x7b, 0xd3, + 0xe3, 0x54, 0x42, 0x78, 0x49, 0xfe, 0x8d, 0x34, 0x94, 0x46, 0x11, 0xb1, 0x0b, 0x90, 0xda, 0x26, + 0xb3, 0x9c, 0x8e, 0x1f, 0x86, 0x07, 0x0c, 0x27, 0xcc, 0xc4, 0xf4, 0x1d, 0x32, 0xb1, 0x02, 0x79, + 0x03, 0x3b, 0x2e, 0x6e, 0x31, 0x89, 0x48, 0x8c, 0x28, 0x53, 0xc0, 0x90, 0xfa, 0x45, 0x2a, 0x79, + 0x47, 0x22, 0xf5, 0x3c, 0x94, 0xbc, 0x21, 0xa9, 0xb6, 0x66, 0xec, 0x08, 0xd9, 0x3c, 0x13, 0x35, + 0x92, 0xf9, 0xba, 0xc0, 0x53, 0x08, 0x9a, 0x52, 0xc4, 0xa1, 0x32, 0x5a, 0x04, 0x30, 0x0d, 0x6c, + 0x6e, 0xab, 0x2d, 0xdc, 0x6c, 0x4f, 0x67, 0x87, 0x70, 0x69, 0x8d, 0x80, 0xf4, 0x71, 0xc9, 0x64, + 0xb5, 0xcd, 0x36, 0x7a, 0xda, 0x17, 0xb5, 0xcc, 0x10, 0x49, 0x59, 0x61, 0x9b, 0xac, 0x4f, 0xda, + 0x36, 0xa1, 0x68, 0x63, 0x22, 0xf7, 0xb8, 0xc5, 0x67, 0x96, 0xa3, 0x83, 0x98, 0x8f, 0x9c, 0x99, + 0xc2, 0xd1, 0xd8, 0xc4, 0x0a, 0x76, 0xb0, 0x88, 0xee, 0x03, 0xaf, 0x42, 0xa5, 0x62, 0x05, 0x54, + 0x0b, 0x8d, 0x8b, 0xca, 0x55, 0xad, 0x83, 0xcb, 0x2f, 0x43, 0x31, 0xcc, 0x1e, 0x34, 0x05, 0x29, + 0xc7, 0xd5, 0x6c, 0x97, 0x4a, 0x61, 0x4a, 0x61, 0x05, 0x24, 0x41, 0x02, 0x1b, 0x2d, 0xaa, 0xe5, + 0x52, 0x0a, 0xf9, 0x89, 0xbe, 0xcf, 0x9f, 0x70, 0x82, 0x4e, 0xf8, 0xc1, 0xfe, 0x15, 0x0d, 0x51, + 0xee, 0x9d, 0x77, 0xf9, 0x49, 0x28, 0x84, 0x26, 0x30, 0x6a, 0xd7, 0xf2, 0xff, 0x07, 0x77, 0x0d, + 0x24, 0x8d, 0x9e, 0x87, 0xa9, 0xae, 0xa1, 0x1b, 0x2e, 0xb6, 0x2d, 0x1b, 0x13, 0x89, 0x65, 0x5d, + 0x4d, 0x7f, 0x3d, 0x33, 0x44, 0xe6, 0x36, 0x83, 0xd0, 0x8c, 0x8a, 0x32, 0xd9, 0xed, 0xaf, 0x3c, + 0x9d, 0xcb, 0x7e, 0x23, 0x23, 0xbd, 0xf2, 0xca, 0x2b, 0xaf, 0xc4, 0xe5, 0xdf, 0x49, 0xc3, 0xd4, + 0xa0, 0x3d, 0x33, 0x70, 0xfb, 0x1e, 0x81, 0xb4, 0xd1, 0xed, 0x6c, 0x61, 0x9b, 0x32, 0x29, 0xa5, + 0xf0, 0x12, 0xaa, 0x40, 0xaa, 0xad, 0x6d, 0xe1, 0xf6, 0x74, 0x72, 0x2e, 0x76, 0xb2, 0x78, 0xf6, + 0xa1, 0x91, 0x76, 0xe5, 0xfc, 0x32, 0x41, 0x51, 0x18, 0x26, 0x7a, 0x27, 0x24, 0xb9, 0x8a, 0x26, + 0x14, 0x4e, 0x8f, 0x46, 0x81, 0xec, 0x25, 0x85, 0xe2, 0xa1, 0xe3, 0x90, 0x23, 0xff, 0x33, 0xd9, + 0x48, 0xd3, 0x31, 0x67, 0x49, 0x05, 0x91, 0x0b, 0x54, 0x86, 0x2c, 0xdd, 0x26, 0x2d, 0x2c, 0x4c, + 0x9b, 0x57, 0x26, 0x82, 0xd5, 0xc2, 0xdb, 0x5a, 0xb7, 0xed, 0xaa, 0x37, 0xb4, 0x76, 0x17, 0x53, + 0x81, 0xcf, 0x29, 0xe3, 0xbc, 0xf2, 0x1a, 0xa9, 0x43, 0xb3, 0x90, 0x67, 0xbb, 0x4a, 0x37, 0x5a, + 0x78, 0x8f, 0x6a, 0xcf, 0x94, 0xc2, 0x36, 0xda, 0x12, 0xa9, 0x21, 0xdd, 0xbf, 0xe4, 0x98, 0x86, + 0x10, 0x4d, 0xda, 0x05, 0xa9, 0xa0, 0xdd, 0x3f, 0xd9, 0xab, 0xb8, 0xef, 0x19, 0x3c, 0xbd, 0xbe, + 0xbd, 0x74, 0x02, 0x4a, 0x14, 0xe2, 0x71, 0xbe, 0xf4, 0x5a, 0x7b, 0x7a, 0x62, 0x2e, 0x76, 0x32, + 0xab, 0x14, 0x59, 0xf5, 0x1a, 0xaf, 0x95, 0x3f, 0x17, 0x87, 0x24, 0x55, 0x2c, 0x25, 0xc8, 0x6f, + 0xbc, 0xb0, 0x5e, 0x57, 0x17, 0xd7, 0x36, 0xab, 0xcb, 0x75, 0x29, 0x86, 0x8a, 0x00, 0xb4, 0xe2, + 0xe2, 0xf2, 0x5a, 0x65, 0x43, 0x8a, 0x7b, 0xe5, 0xa5, 0xd5, 0x8d, 0xf3, 0x4f, 0x48, 0x09, 0x0f, + 0x61, 0x93, 0x55, 0x24, 0x83, 0x00, 0x8f, 0x9f, 0x95, 0x52, 0x48, 0x82, 0x71, 0x46, 0x60, 0xe9, + 0xf9, 0xfa, 0xe2, 0xf9, 0x27, 0xa4, 0x74, 0xb8, 0xe6, 0xf1, 0xb3, 0x52, 0x06, 0x15, 0x20, 0x47, + 0x6b, 0xaa, 0x6b, 0x6b, 0xcb, 0x52, 0xd6, 0xa3, 0xd9, 0xd8, 0x50, 0x96, 0x56, 0x2f, 0x49, 0x39, + 0x8f, 0xe6, 0x25, 0x65, 0x6d, 0x73, 0x5d, 0x02, 0x8f, 0xc2, 0x4a, 0xbd, 0xd1, 0xa8, 0x5c, 0xaa, + 0x4b, 0x79, 0x0f, 0xa2, 0xfa, 0xc2, 0x46, 0xbd, 0x21, 0x8d, 0x87, 0x86, 0xf5, 0xf8, 0x59, 0xa9, + 0xe0, 0x75, 0x51, 0x5f, 0xdd, 0x5c, 0x91, 0x8a, 0x68, 0x02, 0x0a, 0xac, 0x0b, 0x31, 0x88, 0x52, + 0x4f, 0xd5, 0xf9, 0x27, 0x24, 0xc9, 0x1f, 0x08, 0xa3, 0x32, 0x11, 0xaa, 0x38, 0xff, 0x84, 0x84, + 0xe4, 0x1a, 0xa4, 0xa8, 0x18, 0x22, 0x04, 0xc5, 0xe5, 0x4a, 0xb5, 0xbe, 0xac, 0xae, 0xad, 0x6f, + 0x2c, 0xad, 0xad, 0x56, 0x96, 0xa5, 0x98, 0x5f, 0xa7, 0xd4, 0xdf, 0xb5, 0xb9, 0xa4, 0xd4, 0x17, + 0xa5, 0x78, 0xb0, 0x6e, 0xbd, 0x5e, 0xd9, 0xa8, 0x2f, 0x4a, 0x09, 0xb9, 0x09, 0x53, 0x83, 0x14, + 0xea, 0xc0, 0x2d, 0x14, 0x90, 0x85, 0xf8, 0x10, 0x59, 0xa0, 0xb4, 0x7a, 0x65, 0x41, 0xfe, 0x6a, + 0x1c, 0x26, 0x07, 0x18, 0x95, 0x81, 0x9d, 0x3c, 0x0b, 0x29, 0x26, 0xcb, 0xcc, 0xcc, 0x9e, 0x1a, + 0x68, 0x9d, 0xa8, 0x64, 0xf7, 0x99, 0x5a, 0x8a, 0x17, 0x74, 0x35, 0x12, 0x43, 0x5c, 0x0d, 0x42, + 0xa2, 0x4f, 0x60, 0x7f, 0xb0, 0x4f, 0xf9, 0x33, 0xfb, 0x78, 0x7e, 0x14, 0xfb, 0x48, 0xeb, 0x0e, + 0x67, 0x04, 0x52, 0x03, 0x8c, 0xc0, 0x05, 0x98, 0xe8, 0x23, 0x34, 0xb2, 0x32, 0x7e, 0x6f, 0x0c, + 0xa6, 0x87, 0x31, 0x27, 0x42, 0x25, 0xc6, 0x43, 0x2a, 0xf1, 0x42, 0x2f, 0x07, 0xef, 0x1d, 0xbe, + 0x08, 0x7d, 0x6b, 0xfd, 0xf1, 0x18, 0x1c, 0x19, 0xec, 0x52, 0x0e, 0x1c, 0xc3, 0x3b, 0x21, 0xdd, + 0xc1, 0xee, 0xae, 0x29, 0xdc, 0xaa, 0x07, 0x07, 0x18, 0x6b, 0xd2, 0xdc, 0xbb, 0xd8, 0x1c, 0x2b, + 0x68, 0xed, 0x13, 0xc3, 0xfc, 0x42, 0x36, 0x9a, 0xbe, 0x91, 0xfe, 0x44, 0x1c, 0xee, 0x1a, 0x48, + 0x7c, 0xe0, 0x40, 0xef, 0x01, 0xd0, 0x0d, 0xab, 0xeb, 0x32, 0xd7, 0x89, 0x69, 0xe2, 0x1c, 0xad, + 0xa1, 0xca, 0x8b, 0x68, 0xd9, 0xae, 0xeb, 0xb5, 0x27, 0x68, 0x3b, 0xb0, 0x2a, 0x0a, 0xf0, 0x94, + 0x3f, 0xd0, 0x24, 0x1d, 0xe8, 0xcc, 0x90, 0x99, 0xf6, 0x09, 0xe6, 0xa3, 0x20, 0x35, 0xdb, 0x3a, + 0x36, 0x5c, 0xd5, 0x71, 0x6d, 0xac, 0x75, 0x74, 0x63, 0x87, 0x9a, 0x9a, 0xec, 0x42, 0x6a, 0x5b, + 0x6b, 0x3b, 0x58, 0x29, 0xb1, 0xe6, 0x86, 0x68, 0x25, 0x18, 0x54, 0x80, 0xec, 0x00, 0x46, 0x3a, + 0x84, 0xc1, 0x9a, 0x3d, 0x0c, 0xf9, 0x67, 0x72, 0x90, 0x0f, 0x38, 0xe0, 0xe8, 0x5e, 0x18, 0x7f, + 0x49, 0xbb, 0xa1, 0xa9, 0x22, 0xa8, 0x62, 0x9c, 0xc8, 0x93, 0xba, 0x75, 0x1e, 0x58, 0x3d, 0x0a, + 0x53, 0x14, 0xc4, 0xec, 0xba, 0xd8, 0x56, 0x9b, 0x6d, 0xcd, 0x71, 0x28, 0xd3, 0xb2, 0x14, 0x14, + 0x91, 0xb6, 0x35, 0xd2, 0x54, 0x13, 0x2d, 0xe8, 0x1c, 0x4c, 0x52, 0x8c, 0x4e, 0xb7, 0xed, 0xea, + 0x56, 0x1b, 0xab, 0x24, 0xcc, 0x73, 0xa8, 0xc9, 0xf1, 0x46, 0x36, 0x41, 0x20, 0x56, 0x38, 0x00, + 0x19, 0x91, 0x83, 0x16, 0xe1, 0x1e, 0x8a, 0xb6, 0x83, 0x0d, 0x6c, 0x6b, 0x2e, 0x56, 0xf1, 0x7b, + 0xba, 0x5a, 0xdb, 0x51, 0x35, 0xa3, 0xa5, 0xee, 0x6a, 0xce, 0xee, 0xf4, 0x14, 0x21, 0x50, 0x8d, + 0x4f, 0xc7, 0x94, 0x63, 0x04, 0xf0, 0x12, 0x87, 0xab, 0x53, 0xb0, 0x8a, 0xd1, 0xba, 0xac, 0x39, + 0xbb, 0x68, 0x01, 0x8e, 0x50, 0x2a, 0x8e, 0x6b, 0xeb, 0xc6, 0x8e, 0xda, 0xdc, 0xc5, 0xcd, 0xeb, + 0x6a, 0xd7, 0xdd, 0x7e, 0x6a, 0xfa, 0x78, 0xb0, 0x7f, 0x3a, 0xc2, 0x06, 0x85, 0xa9, 0x11, 0x90, + 0x4d, 0x77, 0xfb, 0x29, 0xd4, 0x80, 0x71, 0xb2, 0x18, 0x1d, 0xfd, 0x65, 0xac, 0x6e, 0x9b, 0x36, + 0xb5, 0xa1, 0xc5, 0x01, 0xaa, 0x29, 0xc0, 0xc1, 0xf9, 0x35, 0x8e, 0xb0, 0x62, 0xb6, 0xf0, 0x42, + 0xaa, 0xb1, 0x5e, 0xaf, 0x2f, 0x2a, 0x79, 0x41, 0xe5, 0xa2, 0x69, 0x13, 0x81, 0xda, 0x31, 0x3d, + 0x06, 0xe7, 0x99, 0x40, 0xed, 0x98, 0x82, 0xbd, 0xe7, 0x60, 0xb2, 0xd9, 0x64, 0x73, 0xd6, 0x9b, + 0x2a, 0x0f, 0xc6, 0x9c, 0x69, 0x29, 0xc4, 0xac, 0x66, 0xf3, 0x12, 0x03, 0xe0, 0x32, 0xee, 0xa0, + 0xa7, 0xe1, 0x2e, 0x9f, 0x59, 0x41, 0xc4, 0x89, 0xbe, 0x59, 0xf6, 0xa2, 0x9e, 0x83, 0x49, 0x6b, + 0xbf, 0x1f, 0x11, 0x85, 0x7a, 0xb4, 0xf6, 0x7b, 0xd1, 0x9e, 0x84, 0x29, 0x6b, 0xd7, 0xea, 0xc7, + 0x3b, 0x1d, 0xc4, 0x43, 0xd6, 0xae, 0xd5, 0x8b, 0xf8, 0x00, 0x8d, 0xcc, 0x6d, 0xdc, 0xd4, 0x5c, + 0xdc, 0x9a, 0x3e, 0x1a, 0x04, 0x0f, 0x34, 0xa0, 0x79, 0x90, 0x9a, 0x4d, 0x15, 0x1b, 0xda, 0x56, + 0x1b, 0xab, 0x9a, 0x8d, 0x0d, 0xcd, 0x99, 0x9e, 0xa5, 0xc0, 0x49, 0xd7, 0xee, 0x62, 0xa5, 0xd8, + 0x6c, 0xd6, 0x69, 0x63, 0x85, 0xb6, 0xa1, 0xd3, 0x30, 0x61, 0x6e, 0xbd, 0xd4, 0x64, 0x12, 0xa9, + 0x5a, 0x36, 0xde, 0xd6, 0xf7, 0xa6, 0xef, 0xa7, 0xec, 0x2d, 0x91, 0x06, 0x2a, 0x8f, 0xeb, 0xb4, + 0x1a, 0x9d, 0x02, 0xa9, 0xe9, 0xec, 0x6a, 0xb6, 0x45, 0x55, 0xb2, 0x63, 0x69, 0x4d, 0x3c, 0xfd, + 0x00, 0x03, 0x65, 0xf5, 0xab, 0xa2, 0x9a, 0xec, 0x08, 0xe7, 0xa6, 0xbe, 0xed, 0x0a, 0x8a, 0x27, + 0xd8, 0x8e, 0xa0, 0x75, 0x9c, 0xda, 0x49, 0x90, 0x08, 0x27, 0x42, 0x1d, 0x9f, 0xa4, 0x60, 0x45, + 0x6b, 0xd7, 0x0a, 0xf6, 0x7b, 0x1f, 0x14, 0x08, 0xa4, 0xdf, 0xe9, 0x29, 0xe6, 0xb8, 0x59, 0xbb, + 0x81, 0x1e, 0x9f, 0x80, 0x23, 0x04, 0xa8, 0x83, 0x5d, 0xad, 0xa5, 0xb9, 0x5a, 0x00, 0xfa, 0x61, + 0x0a, 0x4d, 0xd8, 0xbe, 0xc2, 0x1b, 0x43, 0xe3, 0xb4, 0xbb, 0x5b, 0xfb, 0x9e, 0x60, 0x3d, 0xc2, + 0xc6, 0x49, 0xea, 0x84, 0x68, 0xbd, 0x65, 0xce, 0xb9, 0xbc, 0x00, 0xe3, 0x41, 0xb9, 0x47, 0x39, + 0x60, 0x92, 0x2f, 0xc5, 0x88, 0x13, 0x54, 0x5b, 0x5b, 0x24, 0xee, 0xcb, 0x8b, 0x75, 0x29, 0x4e, + 0xdc, 0xa8, 0xe5, 0xa5, 0x8d, 0xba, 0xaa, 0x6c, 0xae, 0x6e, 0x2c, 0xad, 0xd4, 0xa5, 0x44, 0xc0, + 0xb1, 0xbf, 0x92, 0xcc, 0x3e, 0x28, 0x9d, 0x20, 0x5e, 0x43, 0x31, 0x1c, 0xa9, 0xa1, 0x77, 0xc0, + 0x51, 0x91, 0x56, 0x71, 0xb0, 0xab, 0xde, 0xd4, 0x6d, 0xba, 0x21, 0x3b, 0x1a, 0x33, 0x8e, 0x9e, + 0xfc, 0x4c, 0x71, 0xa8, 0x06, 0x76, 0x9f, 0xd3, 0x6d, 0xb2, 0xdd, 0x3a, 0x9a, 0x8b, 0x96, 0x61, + 0xd6, 0x30, 0x55, 0xc7, 0xd5, 0x8c, 0x96, 0x66, 0xb7, 0x54, 0x3f, 0xa1, 0xa5, 0x6a, 0xcd, 0x26, + 0x76, 0x1c, 0x93, 0x19, 0x42, 0x8f, 0xca, 0xdd, 0x86, 0xd9, 0xe0, 0xc0, 0xbe, 0x85, 0xa8, 0x70, + 0xd0, 0x1e, 0xf1, 0x4d, 0x0c, 0x13, 0xdf, 0xe3, 0x90, 0xeb, 0x68, 0x96, 0x8a, 0x0d, 0xd7, 0xde, + 0xa7, 0xfe, 0x79, 0x56, 0xc9, 0x76, 0x34, 0xab, 0x4e, 0xca, 0x6f, 0x4b, 0x98, 0x74, 0x25, 0x99, + 0x4d, 0x4a, 0xa9, 0x2b, 0xc9, 0x6c, 0x4a, 0x4a, 0x5f, 0x49, 0x66, 0xd3, 0x52, 0xe6, 0x4a, 0x32, + 0x9b, 0x95, 0x72, 0x57, 0x92, 0xd9, 0x9c, 0x04, 0xf2, 0xcf, 0x26, 0x61, 0x3c, 0xe8, 0xc1, 0x93, + 0x80, 0xa8, 0x49, 0x6d, 0x58, 0x8c, 0x6a, 0xb9, 0xfb, 0x0e, 0xf4, 0xf7, 0xe7, 0x6b, 0xc4, 0xb8, + 0x2d, 0xa4, 0x99, 0xbb, 0xac, 0x30, 0x4c, 0xe2, 0x58, 0x10, 0xf1, 0xc3, 0xcc, 0x3d, 0xc9, 0x2a, + 0xbc, 0x84, 0x2e, 0x41, 0xfa, 0x25, 0x87, 0xd2, 0x4e, 0x53, 0xda, 0xf7, 0x1f, 0x4c, 0xfb, 0x4a, + 0x83, 0x12, 0xcf, 0x5d, 0x69, 0xa8, 0xab, 0x6b, 0xca, 0x4a, 0x65, 0x59, 0xe1, 0xe8, 0xe8, 0x18, + 0x24, 0xdb, 0xda, 0xcb, 0xfb, 0x61, 0x33, 0x48, 0xab, 0xd0, 0x3c, 0x94, 0xba, 0xc6, 0x0d, 0x6c, + 0xeb, 0xdb, 0x3a, 0x6e, 0xa9, 0x14, 0xaa, 0x14, 0x84, 0x2a, 0xfa, 0xad, 0xcb, 0x04, 0x7e, 0xc4, + 0x65, 0x3c, 0x06, 0xc9, 0x9b, 0x58, 0xbb, 0x1e, 0x36, 0x56, 0xb4, 0xea, 0x2d, 0xdc, 0x4e, 0x67, + 0x20, 0x45, 0xf9, 0x8b, 0x00, 0x38, 0x87, 0xa5, 0x31, 0x94, 0x85, 0x64, 0x6d, 0x4d, 0x21, 0x5b, + 0x4a, 0x82, 0x71, 0x56, 0xab, 0xae, 0x2f, 0xd5, 0x6b, 0x75, 0x29, 0x2e, 0x9f, 0x83, 0x34, 0x63, + 0x1a, 0xd9, 0x6e, 0x1e, 0xdb, 0xa4, 0x31, 0x5e, 0xe4, 0x34, 0x62, 0xa2, 0x75, 0x73, 0xa5, 0x5a, + 0x57, 0xa4, 0x78, 0x9f, 0xb0, 0xc8, 0x0e, 0x8c, 0x07, 0x3d, 0xf9, 0xb7, 0x27, 0x9c, 0xff, 0x62, + 0x0c, 0xf2, 0x01, 0xcf, 0x9c, 0xb8, 0x54, 0x5a, 0xbb, 0x6d, 0xde, 0x54, 0xb5, 0xb6, 0xae, 0x39, + 0x5c, 0x94, 0x80, 0x56, 0x55, 0x48, 0xcd, 0xa8, 0x4b, 0xf7, 0x36, 0x6d, 0xb2, 0x94, 0x94, 0x96, + 0x3f, 0x1c, 0x03, 0xa9, 0xd7, 0x35, 0xee, 0x19, 0x66, 0xec, 0xaf, 0x72, 0x98, 0xf2, 0x87, 0x62, + 0x50, 0x0c, 0xfb, 0xc3, 0x3d, 0xc3, 0xbb, 0xf7, 0xaf, 0x74, 0x78, 0x7f, 0x18, 0x87, 0x42, 0xc8, + 0x0b, 0x1e, 0x75, 0x74, 0xef, 0x81, 0x09, 0xbd, 0x85, 0x3b, 0x96, 0xe9, 0x62, 0xa3, 0xb9, 0xaf, + 0xb6, 0xf1, 0x0d, 0xdc, 0x9e, 0x96, 0xa9, 0x92, 0x39, 0x73, 0xb0, 0x9f, 0x3d, 0xbf, 0xe4, 0xe3, + 0x2d, 0x13, 0xb4, 0x85, 0xc9, 0xa5, 0xc5, 0xfa, 0xca, 0xfa, 0xda, 0x46, 0x7d, 0xb5, 0xf6, 0x82, + 0xba, 0xb9, 0x7a, 0x75, 0x75, 0xed, 0xb9, 0x55, 0x45, 0xd2, 0x7b, 0xc0, 0xde, 0xc2, 0x6d, 0xbf, + 0x0e, 0x52, 0xef, 0xa0, 0xd0, 0x51, 0x18, 0x34, 0x2c, 0x69, 0x0c, 0x4d, 0x42, 0x69, 0x75, 0x4d, + 0x6d, 0x2c, 0x2d, 0xd6, 0xd5, 0xfa, 0xc5, 0x8b, 0xf5, 0xda, 0x46, 0x83, 0x65, 0x4e, 0x3c, 0xe8, + 0x8d, 0xd0, 0x06, 0x97, 0x7f, 0x29, 0x01, 0x93, 0x03, 0x46, 0x82, 0x2a, 0x3c, 0xe6, 0x61, 0x61, + 0xd8, 0x23, 0xa3, 0x8c, 0x7e, 0x9e, 0x78, 0x1d, 0xeb, 0x9a, 0xed, 0xf2, 0x10, 0xe9, 0x14, 0x10, + 0x2e, 0x19, 0x2e, 0x51, 0xae, 0x36, 0xcf, 0x48, 0xb1, 0x40, 0xa8, 0xe4, 0xd7, 0xb3, 0xa4, 0xd4, + 0xc3, 0x80, 0x2c, 0xd3, 0xd1, 0x5d, 0xfd, 0x06, 0x56, 0x75, 0x43, 0xa4, 0xaf, 0x48, 0x60, 0x94, + 0x54, 0x24, 0xd1, 0xb2, 0x64, 0xb8, 0x1e, 0xb4, 0x81, 0x77, 0xb4, 0x1e, 0x68, 0xa2, 0xfc, 0x13, + 0x8a, 0x24, 0x5a, 0x3c, 0xe8, 0x7b, 0x61, 0xbc, 0x65, 0x76, 0x89, 0xb7, 0xc8, 0xe0, 0x88, 0xad, + 0x89, 0x29, 0x79, 0x56, 0xe7, 0x81, 0xf0, 0x38, 0xc0, 0xcf, 0x9b, 0x8d, 0x2b, 0x79, 0x56, 0xc7, + 0x40, 0x4e, 0x40, 0x49, 0xdb, 0xd9, 0xb1, 0x09, 0x71, 0x41, 0x88, 0x45, 0x36, 0x45, 0xaf, 0x9a, + 0x02, 0x96, 0xaf, 0x40, 0x56, 0xf0, 0x81, 0x18, 0x7b, 0xc2, 0x09, 0xd5, 0x62, 0xe1, 0x7a, 0xfc, + 0x64, 0x4e, 0xc9, 0x1a, 0xa2, 0xf1, 0x5e, 0x18, 0xd7, 0x1d, 0xd5, 0x3f, 0x06, 0x88, 0xcf, 0xc5, + 0x4f, 0x66, 0x95, 0xbc, 0xee, 0x78, 0x29, 0x54, 0xf9, 0xe3, 0x71, 0x28, 0x86, 0x8f, 0x31, 0xd0, + 0x22, 0x64, 0xdb, 0x66, 0x53, 0xa3, 0xa2, 0xc5, 0xce, 0xd0, 0x4e, 0x46, 0x9c, 0x7c, 0xcc, 0x2f, + 0x73, 0x78, 0xc5, 0xc3, 0x2c, 0xff, 0xeb, 0x18, 0x64, 0x45, 0x35, 0x3a, 0x02, 0x49, 0x4b, 0x73, + 0x77, 0x29, 0xb9, 0x54, 0x35, 0x2e, 0xc5, 0x14, 0x5a, 0x26, 0xf5, 0x8e, 0xa5, 0x19, 0x54, 0x04, + 0x78, 0x3d, 0x29, 0x93, 0x75, 0x6d, 0x63, 0xad, 0x45, 0xc3, 0x26, 0xb3, 0xd3, 0xc1, 0x86, 0xeb, + 0x88, 0x75, 0xe5, 0xf5, 0x35, 0x5e, 0x8d, 0x1e, 0x82, 0x09, 0xd7, 0xd6, 0xf4, 0x76, 0x08, 0x36, + 0x49, 0x61, 0x25, 0xd1, 0xe0, 0x01, 0x2f, 0xc0, 0x31, 0x41, 0xb7, 0x85, 0x5d, 0xad, 0xb9, 0x8b, + 0x5b, 0x3e, 0x52, 0x9a, 0xa6, 0x47, 0x8e, 0x72, 0x80, 0x45, 0xde, 0x2e, 0x70, 0xe5, 0xaf, 0xc4, + 0x60, 0x42, 0x04, 0x7a, 0x2d, 0x8f, 0x59, 0x2b, 0x00, 0x9a, 0x61, 0x98, 0x6e, 0x90, 0x5d, 0xfd, + 0xa2, 0xdc, 0x87, 0x37, 0x5f, 0xf1, 0x90, 0x94, 0x00, 0x81, 0x72, 0x07, 0xc0, 0x6f, 0x19, 0xca, + 0xb6, 0x59, 0xc8, 0xf3, 0x33, 0x2a, 0x7a, 0xd0, 0xc9, 0x52, 0x03, 0xc0, 0xaa, 0x48, 0x44, 0x88, + 0xa6, 0x20, 0xb5, 0x85, 0x77, 0x74, 0x83, 0x67, 0x9e, 0x59, 0x41, 0x24, 0x70, 0x92, 0x5e, 0x02, + 0xa7, 0xfa, 0xff, 0xc3, 0x64, 0xd3, 0xec, 0xf4, 0x0e, 0xb7, 0x2a, 0xf5, 0xa4, 0x27, 0x9c, 0xcb, + 0xb1, 0x17, 0x1f, 0xe1, 0x40, 0x3b, 0x66, 0x5b, 0x33, 0x76, 0xe6, 0x4d, 0x7b, 0xc7, 0x3f, 0xa8, + 0x25, 0x1e, 0x92, 0x13, 0x38, 0xae, 0xb5, 0xb6, 0xfe, 0x67, 0x2c, 0xf6, 0xcb, 0xf1, 0xc4, 0xa5, + 0xf5, 0xea, 0xaf, 0xc6, 0xcb, 0x97, 0x18, 0xe2, 0xba, 0x60, 0x86, 0x82, 0xb7, 0xdb, 0xb8, 0x49, + 0x26, 0x08, 0x7f, 0xfc, 0x10, 0x4c, 0xed, 0x98, 0x3b, 0x26, 0xa5, 0x74, 0x86, 0xfc, 0xe2, 0x27, + 0xbd, 0x39, 0xaf, 0xb6, 0x1c, 0x79, 0x2c, 0xbc, 0xb0, 0x0a, 0x93, 0x1c, 0x58, 0xa5, 0x47, 0x4d, + 0x2c, 0x10, 0x42, 0x07, 0x66, 0xe1, 0xa6, 0x7f, 0xed, 0x6b, 0xd4, 0x7c, 0x2b, 0x13, 0x1c, 0x95, + 0xb4, 0xb1, 0x58, 0x69, 0x41, 0x81, 0xbb, 0x42, 0xf4, 0xd8, 0x26, 0xc5, 0x76, 0x04, 0xc5, 0x7f, + 0xc6, 0x29, 0x4e, 0x06, 0x28, 0x36, 0x38, 0xea, 0x42, 0x0d, 0x0a, 0x87, 0xa1, 0xf5, 0xcf, 0x39, + 0xad, 0x71, 0x1c, 0x24, 0x72, 0x09, 0x4a, 0x94, 0x48, 0xb3, 0xeb, 0xb8, 0x66, 0x87, 0x6a, 0xc0, + 0x83, 0xc9, 0xfc, 0x8b, 0xaf, 0xb1, 0x5d, 0x53, 0x24, 0x68, 0x35, 0x0f, 0x6b, 0x61, 0x01, 0xe8, + 0xe9, 0x5a, 0x0b, 0x37, 0xdb, 0x11, 0x14, 0xbe, 0xc4, 0x07, 0xe2, 0xc1, 0x2f, 0x5c, 0x83, 0x29, + 0xf2, 0x9b, 0x2a, 0xa8, 0xe0, 0x48, 0xa2, 0x53, 0x76, 0xd3, 0x5f, 0x79, 0x2f, 0xdb, 0x98, 0x93, + 0x1e, 0x81, 0xc0, 0x98, 0x02, 0xab, 0xb8, 0x83, 0x5d, 0x17, 0xdb, 0x8e, 0xaa, 0xb5, 0x07, 0x0d, + 0x2f, 0x90, 0xf3, 0x98, 0xfe, 0xc5, 0x6f, 0x85, 0x57, 0xf1, 0x12, 0xc3, 0xac, 0xb4, 0xdb, 0x0b, + 0x9b, 0x70, 0x74, 0x80, 0x54, 0x8c, 0x40, 0xf3, 0x97, 0x38, 0xcd, 0xa9, 0x3e, 0xc9, 0x20, 0x64, + 0xd7, 0x41, 0xd4, 0x7b, 0x6b, 0x39, 0x02, 0xcd, 0x0f, 0x72, 0x9a, 0x88, 0xe3, 0x8a, 0x25, 0x25, + 0x14, 0xaf, 0xc0, 0xc4, 0x0d, 0x6c, 0x6f, 0x99, 0x0e, 0xcf, 0x33, 0x8d, 0x40, 0xee, 0x43, 0x9c, + 0x5c, 0x89, 0x23, 0xd2, 0xc4, 0x13, 0xa1, 0xf5, 0x34, 0x64, 0xb7, 0xb5, 0x26, 0x1e, 0x81, 0xc4, + 0x6d, 0x4e, 0x22, 0x43, 0xe0, 0x09, 0x6a, 0x05, 0xc6, 0x77, 0x4c, 0x6e, 0xa3, 0xa2, 0xd1, 0x3f, + 0xcc, 0xd1, 0xf3, 0x02, 0x87, 0x93, 0xb0, 0x4c, 0xab, 0xdb, 0x26, 0x06, 0x2c, 0x9a, 0xc4, 0xdf, + 0x11, 0x24, 0x04, 0x0e, 0x27, 0x71, 0x08, 0xb6, 0xbe, 0x2a, 0x48, 0x38, 0x01, 0x7e, 0x3e, 0x0b, + 0x79, 0xd3, 0x68, 0xef, 0x9b, 0xc6, 0x28, 0x83, 0xf8, 0x08, 0xa7, 0x00, 0x1c, 0x85, 0x10, 0xb8, + 0x00, 0xb9, 0x51, 0x17, 0xe2, 0x57, 0xbe, 0x25, 0xb6, 0x87, 0x58, 0x81, 0x4b, 0x50, 0x12, 0x0a, + 0x4a, 0x37, 0x8d, 0x11, 0x48, 0x7c, 0x8c, 0x93, 0x28, 0x06, 0xd0, 0xf8, 0x34, 0x5c, 0xec, 0xb8, + 0x3b, 0x78, 0x14, 0x22, 0x1f, 0x17, 0xd3, 0xe0, 0x28, 0x9c, 0x95, 0x5b, 0xd8, 0x68, 0xee, 0x8e, + 0x46, 0xe1, 0x13, 0x82, 0x95, 0x02, 0x87, 0x90, 0xa8, 0x41, 0xa1, 0xa3, 0xd9, 0xce, 0xae, 0xd6, + 0x1e, 0x69, 0x39, 0x3e, 0xc9, 0x69, 0x8c, 0x7b, 0x48, 0x9c, 0x23, 0x5d, 0xe3, 0x30, 0x64, 0x7e, + 0x55, 0x70, 0x24, 0x80, 0xc6, 0xb7, 0x9e, 0xe3, 0xd2, 0xa4, 0xdc, 0x61, 0xa8, 0xfd, 0x3d, 0xb1, + 0xf5, 0x18, 0xee, 0x4a, 0x90, 0xe2, 0x05, 0xc8, 0x39, 0xfa, 0xcb, 0x23, 0x91, 0xf9, 0xfb, 0x62, + 0xa5, 0x29, 0x02, 0x41, 0x7e, 0x01, 0x8e, 0x0d, 0x34, 0x13, 0x23, 0x10, 0xfb, 0x07, 0x9c, 0xd8, + 0x91, 0x01, 0xa6, 0x82, 0xab, 0x84, 0xc3, 0x92, 0xfc, 0x87, 0x42, 0x25, 0xe0, 0x1e, 0x5a, 0xeb, + 0x24, 0x6a, 0x70, 0xb4, 0xed, 0xc3, 0x71, 0xed, 0x1f, 0x09, 0xae, 0x31, 0xdc, 0x10, 0xd7, 0x36, + 0xe0, 0x08, 0xa7, 0x78, 0xb8, 0x75, 0xfd, 0x94, 0x50, 0xac, 0x0c, 0x7b, 0x33, 0xbc, 0xba, 0xdf, + 0x0f, 0x65, 0x8f, 0x9d, 0xc2, 0x3d, 0x75, 0xd4, 0x8e, 0x66, 0x8d, 0x40, 0xf9, 0xd7, 0x38, 0x65, + 0xa1, 0xf1, 0x3d, 0xff, 0xd6, 0x59, 0xd1, 0x2c, 0x42, 0xfc, 0x79, 0x98, 0x16, 0xc4, 0xbb, 0x86, + 0x8d, 0x9b, 0xe6, 0x8e, 0xa1, 0xbf, 0x8c, 0x5b, 0x23, 0x90, 0xfe, 0x74, 0xcf, 0x52, 0x6d, 0x06, + 0xd0, 0x09, 0xe5, 0x25, 0x90, 0x3c, 0x5f, 0x45, 0xd5, 0x3b, 0x96, 0x69, 0xbb, 0x11, 0x14, 0x3f, + 0x23, 0x56, 0xca, 0xc3, 0x5b, 0xa2, 0x68, 0x0b, 0x75, 0x60, 0x27, 0xd5, 0xa3, 0x8a, 0xe4, 0x67, + 0x39, 0xa1, 0x82, 0x8f, 0xc5, 0x15, 0x47, 0xd3, 0xec, 0x58, 0x9a, 0x3d, 0x8a, 0xfe, 0xfb, 0x75, + 0xa1, 0x38, 0x38, 0x0a, 0x57, 0x1c, 0xc4, 0xa3, 0x23, 0xd6, 0x7e, 0x04, 0x0a, 0x9f, 0x13, 0x8a, + 0x43, 0xe0, 0x70, 0x12, 0xc2, 0x61, 0x18, 0x81, 0xc4, 0xe7, 0x05, 0x09, 0x81, 0x43, 0x48, 0xbc, + 0xcb, 0x37, 0xb4, 0x36, 0xde, 0xd1, 0x1d, 0xd7, 0x66, 0x4e, 0xf1, 0xc1, 0xa4, 0xbe, 0xf0, 0xad, 0xb0, 0x13, 0xa6, 0x04, 0x50, 0x89, 0x26, 0xe2, 0x69, 0x5a, 0x1a, 0x33, 0x45, 0x0f, 0xec, 0x37, - 0x85, 0x26, 0x0a, 0xa0, 0x91, 0xb1, 0x05, 0x3c, 0x44, 0xc2, 0xf6, 0x26, 0x89, 0x14, 0x46, 0x20, - 0xf7, 0x4f, 0x7a, 0x06, 0xd7, 0x10, 0xb8, 0x84, 0x66, 0xc0, 0xff, 0xe9, 0x1a, 0xd7, 0xf1, 0xfe, - 0x48, 0xd2, 0xf9, 0x5b, 0x3d, 0xfe, 0xcf, 0x26, 0xc3, 0x64, 0x3a, 0xa4, 0xd4, 0xe3, 0x4f, 0xa1, - 0xa8, 0x7b, 0x49, 0xd3, 0x3f, 0xf4, 0x06, 0x9f, 0x6f, 0xd8, 0x9d, 0x5a, 0x58, 0x26, 0x42, 0x1e, - 0x76, 0x7a, 0xa2, 0x89, 0xbd, 0xef, 0x0d, 0x4f, 0xce, 0x43, 0x3e, 0xcf, 0xc2, 0x45, 0x28, 0x84, - 0x1c, 0x9e, 0x68, 0x52, 0x3f, 0xc2, 0x49, 0x8d, 0x07, 0xfd, 0x9d, 0x85, 0x73, 0x90, 0x24, 0xce, - 0x4b, 0x34, 0xfa, 0x8f, 0x72, 0x74, 0x0a, 0xbe, 0xf0, 0x0c, 0x64, 0x85, 0xd3, 0x12, 0x8d, 0xfa, - 0x63, 0x1c, 0xd5, 0x43, 0x21, 0xe8, 0xc2, 0x61, 0x89, 0x46, 0xff, 0x1b, 0x02, 0x5d, 0xa0, 0x10, - 0xf4, 0xd1, 0x59, 0xf8, 0xf9, 0xbf, 0x99, 0xe4, 0x46, 0x47, 0xf0, 0xee, 0x02, 0x64, 0xb8, 0xa7, - 0x12, 0x8d, 0xfd, 0xe3, 0xbc, 0x73, 0x81, 0xb1, 0xf0, 0x24, 0xa4, 0x46, 0x64, 0xf8, 0xdf, 0xe2, - 0xa8, 0x0c, 0x7e, 0xa1, 0x06, 0xf9, 0x80, 0x77, 0x12, 0x8d, 0xfe, 0x93, 0x1c, 0x3d, 0x88, 0x45, - 0x86, 0xce, 0xbd, 0x93, 0x68, 0x02, 0x3f, 0x25, 0x86, 0xce, 0x31, 0x08, 0xdb, 0x84, 0x63, 0x12, - 0x8d, 0xfd, 0x01, 0xc1, 0x75, 0x81, 0xb2, 0xf0, 0x2c, 0xe4, 0x3c, 0x63, 0x13, 0x8d, 0xff, 0xd3, - 0x1c, 0xdf, 0xc7, 0x21, 0x1c, 0x08, 0x18, 0xbb, 0x68, 0x12, 0x3f, 0x23, 0x38, 0x10, 0xc0, 0x22, - 0xdb, 0xa8, 0xd7, 0x81, 0x89, 0xa6, 0xf4, 0xb3, 0x62, 0x1b, 0xf5, 0xf8, 0x2f, 0x64, 0x35, 0xa9, + 0x84, 0x26, 0x0a, 0xa0, 0x91, 0xb1, 0x05, 0x3c, 0x44, 0xc2, 0xf6, 0x26, 0x89, 0x14, 0x46, 0x20, + 0xf7, 0x8f, 0x7b, 0x06, 0xd7, 0x10, 0xb8, 0x84, 0x66, 0xc0, 0xff, 0xe9, 0x1a, 0xd7, 0xf1, 0xfe, + 0x48, 0xd2, 0xf9, 0x9b, 0x3d, 0xfe, 0xcf, 0x26, 0xc3, 0x64, 0x3a, 0xa4, 0xd4, 0xe3, 0x4f, 0xa1, + 0xa8, 0x7b, 0x49, 0xd3, 0x3f, 0xfc, 0x06, 0x9f, 0x6f, 0xd8, 0x9d, 0x5a, 0x58, 0x26, 0x42, 0x1e, + 0x76, 0x7a, 0xa2, 0x89, 0xbd, 0xf7, 0x0d, 0x4f, 0xce, 0x43, 0x3e, 0xcf, 0xc2, 0x45, 0x28, 0x84, + 0x1c, 0x9e, 0x68, 0x52, 0x3f, 0xca, 0x49, 0x8d, 0x07, 0xfd, 0x9d, 0x85, 0x73, 0x90, 0x24, 0xce, + 0x4b, 0x34, 0xfa, 0x8f, 0x71, 0x74, 0x0a, 0xbe, 0xf0, 0x0c, 0x64, 0x85, 0xd3, 0x12, 0x8d, 0xfa, + 0xe3, 0x1c, 0xd5, 0x43, 0x21, 0xe8, 0xc2, 0x61, 0x89, 0x46, 0xff, 0x1b, 0x02, 0x5d, 0xa0, 0x10, + 0xf4, 0xd1, 0x59, 0xf8, 0xc5, 0xbf, 0x99, 0xe4, 0x46, 0x47, 0xf0, 0xee, 0x02, 0x64, 0xb8, 0xa7, + 0x12, 0x8d, 0xfd, 0x13, 0xbc, 0x73, 0x81, 0xb1, 0xf0, 0x24, 0xa4, 0x46, 0x64, 0xf8, 0xdf, 0xe2, + 0xa8, 0x0c, 0x7e, 0xa1, 0x06, 0xf9, 0x80, 0x77, 0x12, 0x8d, 0xfe, 0x53, 0x1c, 0x3d, 0x88, 0x45, + 0x86, 0xce, 0xbd, 0x93, 0x68, 0x02, 0x3f, 0x2d, 0x86, 0xce, 0x31, 0x08, 0xdb, 0x84, 0x63, 0x12, + 0x8d, 0xfd, 0x7e, 0xc1, 0x75, 0x81, 0xb2, 0xf0, 0x2c, 0xe4, 0x3c, 0x63, 0x13, 0x8d, 0xff, 0x33, + 0x1c, 0xdf, 0xc7, 0x21, 0x1c, 0x08, 0x18, 0xbb, 0x68, 0x12, 0x3f, 0x2b, 0x38, 0x10, 0xc0, 0x22, + 0xdb, 0xa8, 0xd7, 0x81, 0x89, 0xa6, 0xf4, 0x73, 0x62, 0x1b, 0xf5, 0xf8, 0x2f, 0x64, 0x35, 0xa9, 0xce, 0x8f, 0x26, 0xf1, 0xb7, 0xc5, 0x6a, 0x52, 0x78, 0x32, 0x8c, 0x5e, 0x8f, 0x20, 0x9a, 0xc6, - 0xcf, 0x8b, 0x61, 0xf4, 0x38, 0x04, 0x0b, 0xeb, 0x80, 0xfa, 0xbd, 0x81, 0x68, 0x7a, 0x1f, 0xe4, - 0xf4, 0x26, 0xfa, 0x9c, 0x81, 0x85, 0xe7, 0xe0, 0xc8, 0x60, 0x4f, 0x20, 0x9a, 0xea, 0x2f, 0xbc, + 0x2f, 0x88, 0x61, 0xf4, 0x38, 0x04, 0x0b, 0xeb, 0x80, 0xfa, 0xbd, 0x81, 0x68, 0x7a, 0x1f, 0xe0, + 0xf4, 0x26, 0xfa, 0x9c, 0x81, 0x85, 0xe7, 0xe0, 0xc8, 0x60, 0x4f, 0x20, 0x9a, 0xea, 0x2f, 0xbe, 0xd1, 0x13, 0xbb, 0x05, 0x1d, 0x81, 0x85, 0x0d, 0xdf, 0xa4, 0x04, 0xbd, 0x80, 0x68, 0xb2, 0xbf, - 0xf8, 0x46, 0x58, 0x71, 0x07, 0x9d, 0x80, 0x85, 0x0a, 0x80, 0x6f, 0x80, 0xa3, 0x69, 0xfd, 0x32, - 0xa7, 0x15, 0x40, 0x22, 0x5b, 0x83, 0xdb, 0xdf, 0x68, 0xfc, 0xdb, 0x62, 0x6b, 0x70, 0x0c, 0xb2, - 0x35, 0x84, 0xe9, 0x8d, 0xc6, 0xfe, 0x90, 0xd8, 0x1a, 0x02, 0x85, 0x48, 0x76, 0xc0, 0xba, 0x45, - 0x53, 0xf8, 0xb0, 0x90, 0xec, 0x00, 0xd6, 0xc2, 0x2a, 0x4c, 0xf4, 0x19, 0xc4, 0x68, 0x52, 0xbf, - 0xc2, 0x49, 0x49, 0xbd, 0xf6, 0x30, 0x68, 0xbc, 0xb8, 0x31, 0x8c, 0xa6, 0xf6, 0x91, 0x1e, 0xe3, - 0xc5, 0x6d, 0xe1, 0xc2, 0x05, 0xc8, 0x1a, 0xdd, 0x76, 0x9b, 0x6c, 0x1e, 0x74, 0xf0, 0x5d, 0xc2, - 0xe9, 0xff, 0xf6, 0x1d, 0xce, 0x1d, 0x81, 0xb0, 0x70, 0x0e, 0x52, 0xb8, 0xb3, 0x85, 0x5b, 0x51, - 0x98, 0xdf, 0xf8, 0x8e, 0x50, 0x98, 0x04, 0x7a, 0xe1, 0x59, 0x00, 0x96, 0x1a, 0xa1, 0x87, 0x87, - 0x11, 0xb8, 0x7f, 0xf4, 0x1d, 0x7e, 0x79, 0xc7, 0x47, 0xf1, 0x09, 0xb0, 0xab, 0x40, 0x07, 0x13, - 0xf8, 0x66, 0x98, 0x00, 0x5d, 0x91, 0xa7, 0x21, 0xf3, 0x92, 0x63, 0x1a, 0xae, 0xb6, 0x13, 0x85, - 0xfd, 0xc7, 0x1c, 0x5b, 0xc0, 0x13, 0x86, 0x75, 0x4c, 0x1b, 0xbb, 0xda, 0x8e, 0x13, 0x85, 0xfb, - 0xdf, 0x39, 0xae, 0x87, 0x40, 0x90, 0x9b, 0x9a, 0xe3, 0x8e, 0x32, 0xef, 0x3f, 0x11, 0xc8, 0x02, - 0x81, 0x0c, 0x9a, 0xfc, 0xbe, 0x8e, 0xf7, 0xa3, 0x70, 0xff, 0x54, 0x0c, 0x9a, 0xc3, 0x2f, 0x3c, - 0x03, 0x39, 0xf2, 0x93, 0xdd, 0xc8, 0x8b, 0x40, 0xfe, 0x33, 0x8e, 0xec, 0x63, 0x90, 0x9e, 0x1d, - 0xb7, 0xe5, 0xea, 0xd1, 0xcc, 0xfe, 0x16, 0x5f, 0x69, 0x01, 0xbf, 0x50, 0x81, 0xbc, 0xe3, 0xb6, - 0x5a, 0x5d, 0xee, 0x9f, 0x46, 0xa0, 0x7f, 0xfb, 0x3b, 0x5e, 0xca, 0xc2, 0xc3, 0x21, 0xab, 0x7d, + 0xf4, 0x46, 0x58, 0x71, 0x07, 0x9d, 0x80, 0x85, 0x0a, 0x80, 0x6f, 0x80, 0xa3, 0x69, 0x7d, 0x88, + 0xd3, 0x0a, 0x20, 0x91, 0xad, 0xc1, 0xed, 0x6f, 0x34, 0xfe, 0x6d, 0xb1, 0x35, 0x38, 0x06, 0xd9, + 0x1a, 0xc2, 0xf4, 0x46, 0x63, 0x7f, 0x58, 0x6c, 0x0d, 0x81, 0x42, 0x24, 0x3b, 0x60, 0xdd, 0xa2, + 0x29, 0x7c, 0x44, 0x48, 0x76, 0x00, 0x6b, 0x61, 0x15, 0x26, 0xfa, 0x0c, 0x62, 0x34, 0xa9, 0x5f, + 0xe6, 0xa4, 0xa4, 0x5e, 0x7b, 0x18, 0x34, 0x5e, 0xdc, 0x18, 0x46, 0x53, 0xfb, 0x68, 0x8f, 0xf1, + 0xe2, 0xb6, 0x70, 0xe1, 0x02, 0x64, 0x8d, 0x6e, 0xbb, 0x4d, 0x36, 0x0f, 0x3a, 0xf8, 0x2e, 0xe1, + 0xf4, 0x7f, 0xfd, 0x0e, 0xe7, 0x8e, 0x40, 0x58, 0x38, 0x07, 0x29, 0xdc, 0xd9, 0xc2, 0xad, 0x28, + 0xcc, 0x6f, 0x7e, 0x47, 0x28, 0x4c, 0x02, 0xbd, 0xf0, 0x2c, 0x00, 0x4b, 0x8d, 0xd0, 0xc3, 0xc3, + 0x08, 0xdc, 0x3f, 0xfa, 0x0e, 0xbf, 0xbc, 0xe3, 0xa3, 0xf8, 0x04, 0xd8, 0x55, 0xa0, 0x83, 0x09, + 0x7c, 0x2b, 0x4c, 0x80, 0xae, 0xc8, 0xd3, 0x90, 0x79, 0xc9, 0x31, 0x0d, 0x57, 0xdb, 0x89, 0xc2, + 0xfe, 0x63, 0x8e, 0x2d, 0xe0, 0x09, 0xc3, 0x3a, 0xa6, 0x8d, 0x5d, 0x6d, 0xc7, 0x89, 0xc2, 0xfd, + 0x6f, 0x1c, 0xd7, 0x43, 0x20, 0xc8, 0x4d, 0xcd, 0x71, 0x47, 0x99, 0xf7, 0x9f, 0x08, 0x64, 0x81, + 0x40, 0x06, 0x4d, 0x7e, 0x5f, 0xc7, 0xfb, 0x51, 0xb8, 0x7f, 0x2a, 0x06, 0xcd, 0xe1, 0x17, 0x9e, + 0x81, 0x1c, 0xf9, 0xc9, 0x6e, 0xe4, 0x45, 0x20, 0xff, 0x19, 0x47, 0xf6, 0x31, 0x48, 0xcf, 0x8e, + 0xdb, 0x72, 0xf5, 0x68, 0x66, 0x7f, 0x9b, 0xaf, 0xb4, 0x80, 0x5f, 0xa8, 0x40, 0xde, 0x71, 0x5b, + 0xad, 0x2e, 0xf7, 0x4f, 0x23, 0xd0, 0xff, 0xfc, 0x3b, 0x5e, 0xca, 0xc2, 0xc3, 0x21, 0xab, 0x7d, 0xf3, 0xba, 0x6b, 0x99, 0xf4, 0xc0, 0x23, 0x8a, 0xc2, 0x1b, 0x9c, 0x42, 0x00, 0x65, 0xa1, 0x06, - 0xe3, 0x64, 0x2e, 0x36, 0xb6, 0x30, 0x3d, 0x9d, 0x8a, 0x20, 0xf1, 0xe7, 0x9c, 0x01, 0x21, 0xa4, - 0xea, 0x0f, 0x7e, 0xf1, 0xf5, 0x99, 0xd8, 0x97, 0x5e, 0x9f, 0x89, 0xfd, 0xe1, 0xeb, 0x33, 0xb1, - 0x0f, 0x7c, 0x65, 0x66, 0xec, 0x4b, 0x5f, 0x99, 0x19, 0xfb, 0x83, 0xaf, 0xcc, 0x8c, 0x0d, 0xce, + 0xe3, 0x64, 0x2e, 0x36, 0xb6, 0x30, 0x3d, 0x9d, 0x8a, 0x20, 0xf1, 0x17, 0x9c, 0x01, 0x21, 0xa4, + 0xea, 0x0f, 0x7d, 0xe9, 0xf5, 0x99, 0xd8, 0x97, 0x5f, 0x9f, 0x89, 0xfd, 0xe1, 0xeb, 0x33, 0xb1, + 0xf7, 0x7f, 0x75, 0x66, 0xec, 0xcb, 0x5f, 0x9d, 0x19, 0xfb, 0x83, 0xaf, 0xce, 0x8c, 0x0d, 0xce, 0x12, 0xc3, 0x25, 0xf3, 0x92, 0xc9, 0xf2, 0xc3, 0x2f, 0x3e, 0xb0, 0xa3, 0xbb, 0xbb, 0xdd, 0xad, 0xf9, 0xa6, 0xd9, 0x39, 0xd3, 0x34, 0x9d, 0x8e, 0xe9, 0x9c, 0x09, 0xe7, 0x75, 0xe9, 0x2f, 0xf8, 0xdf, 0x31, 0x12, 0x33, 0x87, 0xd3, 0xb9, 0x9a, 0xb1, 0x3f, 0xec, 0xf3, 0x9e, 0xf3, 0x90, 0xa8, 0x18, 0xfb, 0xe8, 0x18, 0x53, 0x70, 0x6a, 0xd7, 0x6e, 0xf3, 0x6b, 0x61, 0x19, 0x52, 0xde, 0xb4, - 0xdb, 0x68, 0xca, 0xbf, 0xbb, 0x19, 0x3b, 0x39, 0xce, 0x2f, 0x64, 0x56, 0x7f, 0x32, 0x76, 0xb8, + 0xdb, 0x68, 0xca, 0xbf, 0xbb, 0x19, 0x3b, 0x39, 0xce, 0x2f, 0x64, 0x56, 0x7f, 0x2a, 0x76, 0xb8, 0x99, 0x64, 0x2b, 0xc6, 0x3e, 0x9d, 0xc8, 0x7a, 0xec, 0xc5, 0x87, 0x23, 0xf3, 0xdc, 0xd7, 0x0d, 0xf3, 0xa6, 0x41, 0x86, 0x6d, 0x6d, 0x89, 0x1c, 0xf7, 0x4c, 0x6f, 0x8e, 0xfb, 0x39, 0xdc, 0x6e, - 0x5f, 0x25, 0x70, 0x1b, 0x04, 0x65, 0x2b, 0xcd, 0x6e, 0x20, 0xc3, 0xcf, 0xc6, 0x61, 0xa6, 0x2f, + 0x5f, 0x25, 0x70, 0x1b, 0x04, 0x65, 0x2b, 0xcd, 0x6e, 0x20, 0xc3, 0xcf, 0xc5, 0x61, 0xa6, 0x2f, 0x9d, 0xcd, 0x85, 0x60, 0x18, 0x13, 0x16, 0x20, 0xbb, 0x28, 0x64, 0x6b, 0x1a, 0x32, 0x0e, 0x6e, 0x9a, 0x46, 0xcb, 0xa1, 0x8c, 0x48, 0x28, 0xa2, 0x48, 0x18, 0x61, 0x68, 0x86, 0xe9, 0xf0, 0x8b, - 0x95, 0xac, 0x50, 0xfd, 0xa5, 0x43, 0x32, 0xa2, 0x20, 0x7a, 0x12, 0xdc, 0x78, 0x6c, 0x44, 0x6e, - 0x88, 0x49, 0x84, 0x32, 0xff, 0xa3, 0x72, 0xe5, 0xe7, 0xe3, 0x30, 0xdb, 0xcb, 0x15, 0xb2, 0xb3, - 0x1c, 0x57, 0xeb, 0x58, 0xc3, 0xd8, 0x72, 0x01, 0x72, 0x1b, 0x02, 0xe6, 0xd0, 0x7c, 0xb9, 0x7d, - 0x48, 0xbe, 0x14, 0xbd, 0xae, 0x04, 0x63, 0xce, 0x8e, 0xc8, 0x18, 0x6f, 0x1e, 0x77, 0xc4, 0x99, - 0xbf, 0x4c, 0xc3, 0x31, 0xb6, 0x9d, 0x54, 0xb6, 0x95, 0x58, 0x81, 0xf3, 0x64, 0x3c, 0xd8, 0x14, - 0x7d, 0x4e, 0x22, 0x5f, 0x85, 0xc9, 0x25, 0xa2, 0x2d, 0x48, 0x14, 0xe4, 0x9f, 0xf0, 0x0c, 0xbc, - 0x7b, 0x3a, 0x17, 0x72, 0xf8, 0xf9, 0x09, 0x53, 0xb0, 0x4a, 0xfe, 0xa1, 0x18, 0x48, 0x8d, 0xa6, - 0xd6, 0xd6, 0xec, 0xef, 0x96, 0x14, 0x7a, 0x12, 0x80, 0x7e, 0xb3, 0xe4, 0x7f, 0x64, 0x54, 0x3c, - 0x3b, 0x3d, 0x1f, 0x9c, 0xdc, 0x3c, 0xeb, 0x89, 0x7e, 0xc1, 0x90, 0xa3, 0xb0, 0xe4, 0xe7, 0xe9, - 0xe7, 0x01, 0xfc, 0x06, 0x74, 0x1c, 0x8e, 0x36, 0x6a, 0x95, 0xe5, 0x8a, 0xa2, 0xb2, 0xcb, 0xf0, - 0xab, 0x8d, 0xf5, 0x7a, 0x6d, 0xe9, 0xe2, 0x52, 0x7d, 0x51, 0x1a, 0x43, 0x47, 0x00, 0x05, 0x1b, - 0xbd, 0x7b, 0x29, 0x77, 0xc1, 0x44, 0xb0, 0x9e, 0xdd, 0xa8, 0x8f, 0x13, 0x4f, 0x51, 0xef, 0x58, - 0x6d, 0x4c, 0x8f, 0xfe, 0x54, 0x5d, 0x70, 0x2d, 0xda, 0x09, 0xf9, 0xdd, 0x7f, 0xc7, 0x6e, 0x59, - 0x4f, 0xfa, 0xe8, 0x1e, 0xcf, 0x17, 0x96, 0x61, 0x42, 0x6b, 0x36, 0xb1, 0x15, 0x22, 0x19, 0xa1, - 0xaa, 0x09, 0x41, 0x7a, 0x98, 0xc9, 0x31, 0x7d, 0x6a, 0x4f, 0x42, 0xda, 0xa1, 0xb3, 0x8f, 0x22, - 0xf1, 0x7b, 0x9c, 0x04, 0x07, 0x5f, 0x30, 0x60, 0x82, 0x78, 0x7e, 0x9a, 0x8d, 0x03, 0xc3, 0x38, - 0x38, 0xcf, 0xf0, 0xdb, 0x9f, 0x7a, 0x94, 0x1e, 0x6d, 0xde, 0x1b, 0x5e, 0x96, 0x01, 0xe2, 0xa4, - 0x48, 0x9c, 0xb6, 0x3f, 0x50, 0x0c, 0x45, 0xd1, 0x1f, 0x1f, 0xf0, 0xc1, 0x9d, 0xfd, 0x0e, 0xef, - 0x6c, 0x66, 0x90, 0x0c, 0x04, 0x7a, 0x2a, 0x70, 0xaa, 0xac, 0xa1, 0x5a, 0x1f, 0xb6, 0xa7, 0x5f, - 0x7c, 0xa8, 0xdf, 0x3a, 0xb1, 0xff, 0x1e, 0xa1, 0x94, 0x2f, 0x04, 0xbb, 0xf1, 0xf6, 0xde, 0x2f, - 0x25, 0x61, 0x42, 0xeb, 0xe8, 0x86, 0x79, 0x86, 0xfe, 0xcb, 0xf7, 0x5c, 0x8a, 0x16, 0x46, 0x38, - 0x94, 0x3c, 0xcf, 0xb6, 0x42, 0xb4, 0xc4, 0xfc, 0xd9, 0x4f, 0x7c, 0x34, 0xe5, 0x6f, 0x97, 0x85, - 0x15, 0x90, 0xc4, 0x85, 0x43, 0x6c, 0x34, 0xcd, 0xd6, 0x48, 0x59, 0x8a, 0x6f, 0x09, 0x1a, 0x22, - 0xbf, 0x55, 0xe7, 0xa8, 0x0b, 0xef, 0x80, 0xac, 0x47, 0x26, 0xca, 0x33, 0x11, 0x44, 0x3c, 0x0c, - 0xe2, 0x97, 0xb0, 0x9d, 0x39, 0x8a, 0x17, 0xfa, 0x86, 0xc0, 0x67, 0x3b, 0x74, 0x95, 0xcc, 0xe6, - 0x12, 0x14, 0x5b, 0xa6, 0xe1, 0xaa, 0x66, 0x47, 0x77, 0x71, 0xc7, 0x72, 0x23, 0xfd, 0xba, 0x3f, - 0x67, 0x44, 0xb2, 0x4a, 0x81, 0xe0, 0xad, 0x09, 0x34, 0x32, 0x12, 0xf6, 0x4d, 0xd1, 0x28, 0x23, - 0xf9, 0x0b, 0x6f, 0x24, 0x14, 0x87, 0x8c, 0xe4, 0x8e, 0xa4, 0xc3, 0x69, 0x5d, 0xe7, 0xca, 0xdc, - 0xdd, 0x63, 0x52, 0xe0, 0x49, 0xc7, 0x9f, 0x24, 0x60, 0x86, 0x03, 0x6f, 0x69, 0x0e, 0x3e, 0x73, - 0xe3, 0xb1, 0x2d, 0xec, 0x6a, 0x8f, 0x9d, 0x69, 0x9a, 0xba, 0xb0, 0xe4, 0x93, 0x5c, 0x59, 0x93, - 0xf6, 0x79, 0xde, 0x5e, 0x1e, 0x78, 0xdc, 0x5d, 0x1e, 0xae, 0xe4, 0xcb, 0xfd, 0x32, 0x28, 0xbf, - 0x08, 0xc9, 0x9a, 0xa9, 0x1b, 0xc4, 0xb6, 0xb5, 0xb0, 0x61, 0x76, 0xb8, 0xba, 0x65, 0x05, 0x74, - 0x1e, 0xd2, 0x5a, 0xc7, 0xec, 0x1a, 0x2e, 0x53, 0xb5, 0xd5, 0x99, 0x2f, 0xbe, 0x36, 0x3b, 0xf6, - 0x1f, 0x5e, 0x9b, 0x4d, 0x2c, 0x19, 0xee, 0xef, 0x7f, 0xfa, 0x11, 0xe0, 0xd4, 0x97, 0x0c, 0xf7, - 0xe3, 0x5f, 0xfb, 0xe4, 0xe9, 0x98, 0xc2, 0xa1, 0x17, 0x92, 0x5f, 0x7f, 0x75, 0x36, 0x26, 0x3f, - 0x0f, 0x99, 0x45, 0xdc, 0x3c, 0x80, 0xfc, 0x63, 0x3d, 0xe4, 0x8f, 0x09, 0xf2, 0x8b, 0xb8, 0x19, - 0x20, 0xbf, 0x88, 0x9b, 0x3d, 0x94, 0x9f, 0x84, 0xec, 0x92, 0xe1, 0xb2, 0xcf, 0x1d, 0x1e, 0x82, - 0x84, 0x6e, 0xb0, 0x1b, 0xb4, 0x01, 0x0a, 0x7d, 0x03, 0x54, 0x08, 0x14, 0x41, 0x5c, 0xc4, 0x4d, - 0x0f, 0xb1, 0x85, 0x9b, 0xbd, 0x88, 0xfd, 0x5d, 0x13, 0xa8, 0xea, 0xe2, 0x1f, 0xfc, 0x97, 0x99, - 0xb1, 0x57, 0x5e, 0x9f, 0x19, 0x1b, 0xba, 0xf4, 0x72, 0xf4, 0xd2, 0x7b, 0x2b, 0xfe, 0xd1, 0x24, - 0xdc, 0x43, 0xbf, 0x82, 0xb3, 0x3b, 0xba, 0xe1, 0x9e, 0x69, 0xda, 0xfb, 0x96, 0x6b, 0x12, 0x05, - 0x60, 0x6e, 0xf3, 0x05, 0x9f, 0xf0, 0x9b, 0xe7, 0x59, 0xf3, 0xe0, 0xe5, 0x96, 0xb7, 0x21, 0xb5, - 0x4e, 0xf0, 0x08, 0x8b, 0x5d, 0xd3, 0xd5, 0xda, 0xdc, 0x6b, 0x61, 0x05, 0x52, 0xcb, 0xbe, 0x9c, - 0x8b, 0xb3, 0x5a, 0x5d, 0x7c, 0x34, 0xd7, 0xc6, 0xda, 0x36, 0xfb, 0x00, 0x21, 0x41, 0xdd, 0xdd, - 0x2c, 0xa9, 0xa0, 0xdf, 0x1a, 0x4c, 0x41, 0x4a, 0xeb, 0xb2, 0x9b, 0x2f, 0x09, 0xe2, 0x07, 0xd3, - 0x82, 0x7c, 0x15, 0x32, 0xfc, 0xfc, 0x1d, 0x49, 0x90, 0xb8, 0x8e, 0xf7, 0x69, 0x3f, 0xe3, 0x0a, - 0xf9, 0x89, 0xe6, 0x21, 0x45, 0x07, 0xcf, 0xbf, 0xac, 0x9a, 0x9e, 0xef, 0x1b, 0xfd, 0x3c, 0x1d, - 0xa4, 0xc2, 0xc0, 0xe4, 0x2b, 0x90, 0x5d, 0x34, 0x89, 0x14, 0x86, 0xa9, 0xe5, 0x18, 0x35, 0x3a, - 0x66, 0xab, 0xcb, 0xa5, 0x42, 0x61, 0x05, 0x74, 0x04, 0xd2, 0xec, 0x83, 0x14, 0x7e, 0x7b, 0x87, - 0x97, 0xe4, 0x1a, 0x64, 0x28, 0xed, 0x35, 0x8b, 0xb8, 0x0c, 0xde, 0xdd, 0xdf, 0x1c, 0xff, 0x3c, - 0x91, 0x93, 0x8f, 0xfb, 0x83, 0x45, 0x90, 0x6c, 0x69, 0xae, 0xc6, 0xe7, 0x4d, 0x7f, 0xcb, 0xef, - 0x84, 0x2c, 0x27, 0xe2, 0xa0, 0xb3, 0x90, 0x30, 0x2d, 0x87, 0xdf, 0xbf, 0x29, 0x0f, 0x9b, 0xca, - 0x9a, 0x55, 0x4d, 0x12, 0x99, 0x51, 0x08, 0x70, 0x75, 0x75, 0xa8, 0x58, 0x3c, 0x11, 0x12, 0x8b, - 0x0e, 0x76, 0xb7, 0xb6, 0x5d, 0xff, 0x07, 0x5b, 0xce, 0x3e, 0x51, 0xf0, 0x04, 0xe5, 0x76, 0x1c, - 0x66, 0x02, 0xad, 0x37, 0xb0, 0xed, 0xe8, 0xa6, 0xc1, 0xa4, 0x89, 0x4b, 0x0a, 0x0a, 0x0c, 0x90, - 0xb7, 0x0f, 0x11, 0x95, 0x67, 0x20, 0x51, 0xb1, 0x2c, 0x54, 0x86, 0x2c, 0x2d, 0x37, 0x4d, 0x26, - 0x2b, 0x49, 0xc5, 0x2b, 0x93, 0x36, 0xc7, 0xdc, 0x76, 0x6f, 0x6a, 0xb6, 0xf7, 0xbd, 0xa6, 0x28, - 0xcb, 0x4f, 0x43, 0xae, 0x66, 0x1a, 0x0e, 0x36, 0x9c, 0x2e, 0xf5, 0x85, 0xb7, 0xda, 0x66, 0xf3, - 0x3a, 0xa7, 0xc0, 0x0a, 0x84, 0xd9, 0x9a, 0x65, 0x51, 0xcc, 0xa4, 0x42, 0x7e, 0xb2, 0xfd, 0x5a, - 0x5d, 0x1b, 0xca, 0x9e, 0x73, 0x87, 0x63, 0x0f, 0x9f, 0xa0, 0xef, 0xd4, 0xc6, 0xe0, 0xee, 0xfe, - 0x8d, 0x74, 0x1d, 0xef, 0x3b, 0x87, 0xdd, 0x47, 0xcf, 0x43, 0x6e, 0x9d, 0x3e, 0x98, 0x70, 0x15, - 0xef, 0xa3, 0x32, 0x64, 0x70, 0xeb, 0xec, 0xb9, 0x73, 0x8f, 0x3d, 0xcd, 0xa4, 0xfc, 0xf2, 0x98, - 0x22, 0x2a, 0xd0, 0x0c, 0xe4, 0x1c, 0xdc, 0xb4, 0xce, 0x9e, 0x3b, 0x7f, 0xfd, 0x31, 0x26, 0x56, - 0x97, 0xc7, 0x14, 0xbf, 0x6a, 0x21, 0x4b, 0x66, 0xfc, 0xf5, 0x0f, 0xcf, 0xc6, 0xaa, 0x29, 0x48, - 0x38, 0xdd, 0xce, 0x5b, 0x26, 0x1b, 0x3f, 0x97, 0x82, 0xb9, 0x40, 0x2b, 0x33, 0x2e, 0x37, 0xb4, - 0xb6, 0xde, 0xd2, 0xfc, 0x67, 0x2e, 0xa4, 0xc0, 0xfc, 0x29, 0xc4, 0x10, 0xab, 0x71, 0x20, 0x17, - 0xe5, 0xdf, 0x88, 0xc1, 0xf8, 0x35, 0x41, 0xb9, 0x81, 0x5d, 0x74, 0x01, 0xc0, 0xeb, 0x49, 0x6c, - 0x95, 0xe3, 0xf3, 0xbd, 0x7d, 0xcd, 0x7b, 0x38, 0x4a, 0x00, 0x1c, 0x3d, 0x49, 0x05, 0xd0, 0x32, - 0x1d, 0xfe, 0xed, 0x5e, 0x04, 0xaa, 0x07, 0x8c, 0x1e, 0x06, 0x44, 0xb5, 0x9a, 0x7a, 0xc3, 0x74, - 0x75, 0x63, 0x47, 0xb5, 0xcc, 0x9b, 0xfc, 0x8b, 0xe8, 0x84, 0x22, 0xd1, 0x96, 0x6b, 0xb4, 0x61, - 0x9d, 0xd4, 0x93, 0x41, 0xe7, 0x3c, 0x2a, 0x24, 0xac, 0xd3, 0x5a, 0x2d, 0x1b, 0x3b, 0x0e, 0x57, - 0x5c, 0xa2, 0x88, 0x2e, 0x40, 0xc6, 0xea, 0x6e, 0xa9, 0x42, 0x4b, 0xe4, 0xcf, 0xde, 0x3d, 0x68, - 0xcf, 0x0b, 0xd9, 0xe0, 0xbb, 0x3e, 0x6d, 0x75, 0xb7, 0x88, 0xa4, 0xdc, 0x0b, 0xe3, 0x03, 0x06, - 0x93, 0xbf, 0xe1, 0x8f, 0x83, 0xbe, 0xd1, 0xc1, 0x67, 0xa0, 0x5a, 0xb6, 0x6e, 0xda, 0xba, 0xbb, - 0x4f, 0x2f, 0xce, 0x25, 0x14, 0x49, 0x34, 0xac, 0xf3, 0x7a, 0xf9, 0x3a, 0x94, 0x1a, 0xd4, 0xdd, - 0xf7, 0x47, 0x7e, 0xce, 0x1f, 0x5f, 0x2c, 0x7a, 0x7c, 0x43, 0x47, 0x16, 0xef, 0x1b, 0x59, 0x75, - 0x65, 0xa8, 0x64, 0x3e, 0x7e, 0x38, 0xc9, 0x0c, 0x5b, 0xb7, 0x3f, 0x3a, 0x16, 0xda, 0x94, 0xdc, - 0xeb, 0x09, 0xa8, 0xac, 0x51, 0x85, 0x32, 0x2a, 0x92, 0x2f, 0x1f, 0x6c, 0x44, 0xcb, 0x11, 0xaa, - 0xb3, 0x1c, 0xb9, 0x7d, 0xe4, 0xa7, 0xa1, 0xb0, 0xae, 0xd9, 0x6e, 0x03, 0xbb, 0x97, 0xb1, 0xd6, - 0xc2, 0x76, 0xd8, 0xca, 0x16, 0x84, 0x95, 0x45, 0x90, 0xa4, 0xa6, 0x94, 0x59, 0x19, 0xfa, 0x5b, - 0xde, 0x85, 0x24, 0xbd, 0x38, 0xeb, 0x59, 0x60, 0x8e, 0xc1, 0x2c, 0x30, 0xd1, 0x9f, 0xfb, 0x2e, - 0x76, 0x44, 0xb2, 0x89, 0x16, 0xd0, 0x13, 0xc2, 0x8e, 0x26, 0x0e, 0xb6, 0xa3, 0x5c, 0x08, 0xb9, - 0x35, 0x6d, 0x43, 0xa6, 0x4a, 0xd4, 0xef, 0xd2, 0xa2, 0x37, 0x90, 0x98, 0x3f, 0x10, 0xb4, 0x02, - 0x25, 0x4b, 0xb3, 0x5d, 0xfa, 0xcd, 0xd1, 0x2e, 0x9d, 0x05, 0x97, 0xf3, 0xd9, 0xfe, 0x5d, 0x17, - 0x9a, 0x2c, 0xef, 0xa5, 0x60, 0x05, 0x2b, 0xe5, 0xff, 0x9a, 0x84, 0x34, 0x67, 0xc6, 0x33, 0x90, - 0xe1, 0x6c, 0xe5, 0x92, 0x79, 0xcf, 0x7c, 0xbf, 0x31, 0x9a, 0xf7, 0x8c, 0x06, 0xa7, 0x27, 0x70, - 0xd0, 0x83, 0x90, 0x6d, 0xee, 0x6a, 0xba, 0xa1, 0xea, 0x2d, 0xee, 0x00, 0xe6, 0x5f, 0x7f, 0x6d, - 0x36, 0x53, 0x23, 0x75, 0x4b, 0x8b, 0x4a, 0x86, 0x36, 0x2e, 0xb5, 0x88, 0xe5, 0xdf, 0xc5, 0xfa, - 0xce, 0xae, 0xcb, 0x77, 0x17, 0x2f, 0xa1, 0xa7, 0x20, 0x49, 0x04, 0x82, 0x7f, 0x91, 0x5a, 0xee, - 0xf3, 0xe3, 0xbd, 0x44, 0x4b, 0x35, 0x4b, 0x3a, 0xfe, 0xc0, 0x7f, 0x9e, 0x8d, 0x29, 0x14, 0x03, - 0xd5, 0xa0, 0xd0, 0xd6, 0x1c, 0x57, 0xa5, 0x56, 0x8b, 0x74, 0x9f, 0xa2, 0x24, 0x8e, 0xf5, 0x33, - 0x84, 0x33, 0x96, 0x0f, 0x3d, 0x4f, 0xb0, 0x58, 0x55, 0x0b, 0x9d, 0x04, 0x89, 0x12, 0x69, 0x9a, - 0x9d, 0x8e, 0xee, 0x32, 0x5f, 0x2a, 0x4d, 0xf9, 0x5e, 0x24, 0xf5, 0x35, 0x5a, 0x4d, 0x3d, 0xaa, - 0xe3, 0x90, 0xa3, 0xdf, 0xc0, 0x51, 0x10, 0x76, 0x5b, 0x3b, 0x4b, 0x2a, 0x68, 0xe3, 0x09, 0x28, - 0xf9, 0xba, 0x91, 0x81, 0x64, 0x19, 0x15, 0xbf, 0x9a, 0x02, 0x3e, 0x0a, 0x53, 0x06, 0xde, 0xa3, - 0xf7, 0xc7, 0x43, 0xd0, 0x39, 0x0a, 0x8d, 0x48, 0xdb, 0xb5, 0x30, 0xc6, 0x03, 0x50, 0x6c, 0x0a, - 0xe6, 0x33, 0x58, 0xa0, 0xb0, 0x05, 0xaf, 0x96, 0x82, 0x1d, 0x83, 0xac, 0x66, 0x59, 0x0c, 0x20, - 0xcf, 0x75, 0xa3, 0x65, 0xd1, 0xa6, 0xd3, 0x30, 0x41, 0xe7, 0x68, 0x63, 0xa7, 0xdb, 0x76, 0x39, - 0x91, 0x71, 0x0a, 0x53, 0x22, 0x0d, 0x0a, 0xab, 0xa7, 0xb0, 0xf7, 0x41, 0x01, 0xdf, 0xd0, 0x5b, - 0xd8, 0x68, 0x62, 0x06, 0x57, 0xa0, 0x70, 0xe3, 0xa2, 0x92, 0x02, 0x9d, 0x02, 0x4f, 0xe7, 0xa9, - 0x42, 0x1f, 0x17, 0x19, 0x3d, 0x51, 0x5f, 0x61, 0xd5, 0xf2, 0x34, 0x24, 0x17, 0x35, 0x57, 0x23, - 0x4e, 0x85, 0xbb, 0xc7, 0x8c, 0xcc, 0xb8, 0x42, 0x7e, 0xca, 0x5f, 0x8f, 0x43, 0xf2, 0x9a, 0xe9, - 0x62, 0xf4, 0x78, 0xc0, 0xe1, 0x2b, 0x0e, 0x92, 0xe7, 0x86, 0xbe, 0x63, 0xe0, 0xd6, 0x8a, 0xb3, - 0x13, 0x78, 0xb0, 0xc2, 0x17, 0xa7, 0x78, 0x48, 0x9c, 0xa6, 0x20, 0x65, 0x9b, 0x5d, 0xa3, 0x25, - 0x2e, 0x3a, 0xd3, 0x02, 0xaa, 0x43, 0xd6, 0x93, 0x92, 0x64, 0x94, 0x94, 0x94, 0x88, 0x94, 0x10, - 0x19, 0xe6, 0x15, 0x4a, 0x66, 0x8b, 0x0b, 0x4b, 0x15, 0x72, 0x9e, 0xf2, 0xe2, 0xd2, 0x36, 0x9a, - 0xc0, 0xfa, 0x68, 0xc4, 0x90, 0x78, 0x6b, 0xef, 0x31, 0x8f, 0x49, 0x9c, 0xe4, 0x35, 0x70, 0xee, - 0x85, 0xc4, 0x8a, 0x3f, 0x9e, 0x91, 0xa1, 0xf3, 0xf2, 0xc5, 0x8a, 0x3d, 0xa0, 0x71, 0x37, 0xe4, - 0x1c, 0x7d, 0xc7, 0xd0, 0xdc, 0xae, 0x8d, 0xb9, 0xe4, 0xf9, 0x15, 0xf2, 0xe7, 0x63, 0x90, 0x66, - 0x92, 0x1c, 0xe0, 0x5b, 0x6c, 0x30, 0xdf, 0xe2, 0xc3, 0xf8, 0x96, 0xb8, 0x73, 0xbe, 0x55, 0x00, - 0xbc, 0xc1, 0x38, 0xfc, 0x4d, 0x83, 0x01, 0xde, 0x02, 0x1b, 0x62, 0x43, 0xdf, 0xe1, 0x1b, 0x35, - 0x80, 0x24, 0xff, 0xa7, 0x18, 0x71, 0x5c, 0x79, 0x3b, 0xaa, 0x40, 0x41, 0x8c, 0x4b, 0xdd, 0x6e, - 0x6b, 0x3b, 0x5c, 0x76, 0xee, 0x19, 0x3a, 0xb8, 0x8b, 0x6d, 0x6d, 0x47, 0xc9, 0xf3, 0xf1, 0x90, - 0xc2, 0xe0, 0x75, 0x88, 0x0f, 0x59, 0x87, 0xd0, 0xc2, 0x27, 0xee, 0x6c, 0xe1, 0x43, 0x4b, 0x94, - 0xec, 0x5d, 0xa2, 0x4f, 0xc5, 0x69, 0xf0, 0x62, 0x99, 0x8e, 0xd6, 0x7e, 0x3b, 0x76, 0xc4, 0x71, - 0xc8, 0x59, 0x66, 0x5b, 0x65, 0x2d, 0xec, 0x03, 0x80, 0xac, 0x65, 0xb6, 0x95, 0xbe, 0x65, 0x4f, - 0xbd, 0x49, 0xdb, 0x25, 0xfd, 0x26, 0x70, 0x2d, 0xd3, 0xcb, 0x35, 0x1b, 0xc6, 0x19, 0x2b, 0xb8, - 0x2d, 0x7b, 0x94, 0xf0, 0x80, 0x1a, 0xc7, 0x58, 0xbf, 0xed, 0x65, 0xc3, 0x66, 0x90, 0x0a, 0x87, - 0x23, 0x18, 0x4c, 0xf5, 0x0f, 0x8a, 0x7a, 0x83, 0x62, 0xa9, 0x70, 0x38, 0xf9, 0xe7, 0x62, 0x00, - 0xcb, 0x84, 0xb3, 0x74, 0xbe, 0xc4, 0x0a, 0x39, 0x74, 0x08, 0x6a, 0xa8, 0xe7, 0x99, 0x61, 0x8b, - 0xc6, 0xfb, 0x1f, 0x77, 0x82, 0xe3, 0xae, 0x41, 0xc1, 0x17, 0x46, 0x07, 0x8b, 0xc1, 0xcc, 0x1c, - 0xe0, 0x51, 0x37, 0xb0, 0xab, 0x8c, 0xdf, 0x08, 0x94, 0xe4, 0x7f, 0x1a, 0x83, 0x1c, 0x1d, 0xd3, - 0x0a, 0x76, 0xb5, 0xd0, 0x1a, 0xc6, 0xee, 0x7c, 0x0d, 0xef, 0x01, 0x60, 0x64, 0x1c, 0xfd, 0x65, - 0xcc, 0x25, 0x2b, 0x47, 0x6b, 0x1a, 0xfa, 0xcb, 0x18, 0x9d, 0xf7, 0x18, 0x9e, 0x38, 0x98, 0xe1, - 0xc2, 0xe3, 0xe6, 0x6c, 0x3f, 0x0a, 0x19, 0xfa, 0x06, 0xd8, 0x9e, 0xc3, 0x9d, 0xe8, 0xb4, 0xd1, - 0xed, 0x6c, 0xec, 0x39, 0xf2, 0x4b, 0x90, 0xd9, 0xd8, 0x63, 0xb9, 0x90, 0xe3, 0x90, 0xb3, 0x4d, - 0x93, 0xdb, 0x64, 0xe6, 0x0b, 0x65, 0x49, 0x05, 0x35, 0x41, 0x22, 0xfe, 0x8f, 0xfb, 0xf1, 0xbf, - 0x9f, 0xc0, 0x48, 0x8c, 0x94, 0xc0, 0x38, 0xfd, 0xef, 0x63, 0x90, 0x0f, 0xe8, 0x07, 0xf4, 0x18, - 0xdc, 0x55, 0x5d, 0x5e, 0xab, 0x5d, 0x55, 0x97, 0x16, 0xd5, 0x8b, 0xcb, 0x95, 0x4b, 0xfe, 0x27, - 0x6e, 0xe5, 0x23, 0xb7, 0x6e, 0xcf, 0xa1, 0x00, 0xec, 0xa6, 0x41, 0x4f, 0x73, 0xd0, 0x19, 0x98, - 0x0a, 0xa3, 0x54, 0xaa, 0x8d, 0xfa, 0xea, 0x86, 0x14, 0x2b, 0xdf, 0x75, 0xeb, 0xf6, 0xdc, 0x44, - 0x00, 0xa3, 0xb2, 0xe5, 0x60, 0xc3, 0xed, 0x47, 0xa8, 0xad, 0xad, 0xac, 0x2c, 0x6d, 0x48, 0xf1, - 0x3e, 0x04, 0xae, 0xb0, 0x4f, 0xc1, 0x44, 0x18, 0x61, 0x75, 0x69, 0x59, 0x4a, 0x94, 0xd1, 0xad, - 0xdb, 0x73, 0xc5, 0x00, 0xf4, 0xaa, 0xde, 0x2e, 0x67, 0xdf, 0xff, 0x91, 0x99, 0xb1, 0x8f, 0xff, - 0xdd, 0x99, 0x18, 0x99, 0x59, 0x21, 0xa4, 0x23, 0xd0, 0xc3, 0x70, 0xb4, 0xb1, 0x74, 0x69, 0xb5, - 0xbe, 0xa8, 0xae, 0x34, 0x2e, 0x89, 0xf3, 0x10, 0x31, 0xbb, 0xd2, 0xad, 0xdb, 0x73, 0x79, 0x3e, - 0xa5, 0x61, 0xd0, 0xeb, 0x4a, 0xfd, 0xda, 0xda, 0x46, 0x5d, 0x8a, 0x31, 0xe8, 0x75, 0x1b, 0xdf, - 0x30, 0x5d, 0xf6, 0x48, 0xe0, 0xa3, 0x70, 0x6c, 0x00, 0xb4, 0x37, 0xb1, 0x89, 0x5b, 0xb7, 0xe7, - 0x0a, 0xeb, 0x36, 0x66, 0xfb, 0x87, 0x62, 0xcc, 0xc3, 0x74, 0x3f, 0xc6, 0xda, 0xfa, 0x5a, 0xa3, - 0xb2, 0x2c, 0xcd, 0x95, 0xa5, 0x5b, 0xb7, 0xe7, 0xc6, 0x85, 0x32, 0x24, 0xf0, 0xfe, 0xcc, 0xde, - 0xaa, 0x68, 0xe7, 0xc7, 0x32, 0xa1, 0x5c, 0x1e, 0x8b, 0x23, 0x2c, 0xcd, 0xd6, 0x3a, 0x87, 0x0d, - 0x77, 0x22, 0x8e, 0x73, 0xe5, 0x57, 0xe2, 0x50, 0xf2, 0x9c, 0xe9, 0x75, 0xda, 0x03, 0x7a, 0x3c, - 0x98, 0x87, 0xc9, 0x0f, 0x35, 0x63, 0x0c, 0x5a, 0xa4, 0x69, 0xde, 0x01, 0x59, 0xe1, 0x94, 0x71, - 0x75, 0x31, 0xd7, 0x8f, 0x57, 0xe7, 0x10, 0x1c, 0xd5, 0xc3, 0x40, 0xcf, 0x42, 0xce, 0x53, 0x1e, - 0xde, 0x13, 0x3b, 0xc3, 0xb5, 0x0d, 0xc7, 0xf7, 0x71, 0xd0, 0xd3, 0x7e, 0xd8, 0x90, 0x1c, 0x16, - 0x88, 0x5c, 0x63, 0x00, 0x1c, 0x59, 0xc0, 0xcb, 0x4b, 0x7c, 0xdb, 0xf1, 0xd9, 0xd3, 0xe7, 0x09, - 0xf6, 0x54, 0x16, 0x49, 0x31, 0xaf, 0x24, 0xdb, 0xd1, 0xf6, 0xaa, 0x34, 0x98, 0x3a, 0x0a, 0x19, - 0xd2, 0xb8, 0xc3, 0xbf, 0xbe, 0x4e, 0x28, 0xe9, 0x8e, 0xb6, 0x77, 0x49, 0x73, 0xae, 0x24, 0xb3, - 0x09, 0x29, 0x29, 0x7f, 0x22, 0x06, 0xc5, 0xf0, 0x1c, 0xd1, 0x43, 0x80, 0x08, 0x86, 0xb6, 0x83, - 0x55, 0xa2, 0x62, 0x28, 0xb3, 0x04, 0xdd, 0x52, 0x47, 0xdb, 0xab, 0xec, 0xe0, 0xd5, 0x6e, 0x87, - 0x0e, 0xc0, 0x41, 0x2b, 0x20, 0x09, 0x60, 0xb1, 0x4e, 0x9c, 0x99, 0xc7, 0xfa, 0x1f, 0xdc, 0xe3, - 0x00, 0xcc, 0x50, 0x7d, 0x90, 0x18, 0xaa, 0x22, 0xa3, 0xe7, 0x1d, 0xc7, 0x87, 0xa6, 0x92, 0x08, - 0x4f, 0x45, 0x7e, 0x16, 0x4a, 0x3d, 0xfc, 0x44, 0x32, 0x14, 0x78, 0x56, 0x80, 0x1e, 0x75, 0x32, - 0xff, 0x38, 0xa7, 0xe4, 0x59, 0xf4, 0x4f, 0x8f, 0x7e, 0x17, 0xb2, 0x9f, 0x7b, 0x75, 0x36, 0x46, - 0x13, 0xe6, 0x0f, 0x41, 0x21, 0xc4, 0x51, 0x91, 0xa9, 0x8b, 0xf9, 0x99, 0x3a, 0x1f, 0xf8, 0x45, - 0x18, 0x27, 0x8a, 0x12, 0xb7, 0x38, 0xec, 0x83, 0x50, 0x62, 0x8a, 0xbc, 0x97, 0xd7, 0xcc, 0x93, - 0x5a, 0x11, 0x0c, 0x97, 0x85, 0x6b, 0x15, 0x66, 0x7b, 0x5e, 0x40, 0x5d, 0xd2, 0x9c, 0xea, 0xbb, - 0x3e, 0xfe, 0xfa, 0x4c, 0xec, 0xad, 0xd9, 0x88, 0x5f, 0x7e, 0x17, 0x1c, 0x0f, 0x34, 0x6a, 0x5b, - 0x4d, 0x3d, 0x94, 0x75, 0x28, 0x05, 0x84, 0x8c, 0x34, 0x46, 0x65, 0x0f, 0x0e, 0xcc, 0x61, 0x1c, - 0x9c, 0x30, 0x2b, 0x1f, 0xac, 0x11, 0xa2, 0x13, 0x1b, 0x83, 0x73, 0x94, 0xff, 0x27, 0x0b, 0x19, - 0x05, 0xbf, 0xb7, 0x8b, 0x1d, 0x17, 0x9d, 0x85, 0x24, 0x6e, 0xee, 0x9a, 0x83, 0x52, 0x42, 0x64, - 0x72, 0xf3, 0x1c, 0xae, 0xde, 0xdc, 0x35, 0x2f, 0x8f, 0x29, 0x14, 0x16, 0x9d, 0x83, 0xd4, 0x76, - 0xbb, 0xcb, 0xf3, 0x14, 0x3d, 0xca, 0x22, 0x88, 0x74, 0x91, 0x00, 0x5d, 0x1e, 0x53, 0x18, 0x34, - 0xe9, 0x8a, 0x3e, 0x5d, 0x9a, 0x38, 0xb8, 0xab, 0x25, 0x63, 0x9b, 0x76, 0x45, 0x60, 0x51, 0x15, - 0x40, 0x37, 0x74, 0x57, 0xa5, 0x31, 0x3c, 0xf7, 0x04, 0xef, 0x1d, 0x8e, 0xa9, 0xbb, 0x34, 0xea, - 0xbf, 0x3c, 0xa6, 0xe4, 0x74, 0x51, 0x20, 0xc3, 0x7d, 0x6f, 0x17, 0xdb, 0xfb, 0xdc, 0x01, 0x1c, - 0x3a, 0xdc, 0x77, 0x11, 0x20, 0x32, 0x5c, 0x0a, 0x8d, 0xea, 0x90, 0xa7, 0xdf, 0xa8, 0xb2, 0xfd, - 0xcb, 0x9f, 0xd1, 0x94, 0x87, 0x21, 0x57, 0x09, 0x28, 0xdd, 0xd2, 0x97, 0xc7, 0x14, 0xd8, 0xf2, - 0x4a, 0x44, 0x49, 0xb2, 0x67, 0x96, 0xdc, 0x3d, 0xfe, 0x78, 0xe0, 0xec, 0x30, 0x1a, 0xf4, 0xad, - 0xa5, 0x8d, 0xbd, 0xcb, 0x63, 0x4a, 0xa6, 0xc9, 0x7e, 0x92, 0xf9, 0xb7, 0x70, 0x5b, 0xbf, 0x81, - 0x6d, 0x82, 0x9f, 0x3b, 0x78, 0xfe, 0x8b, 0x0c, 0x92, 0x52, 0xc8, 0xb5, 0x44, 0x81, 0x28, 0x5a, - 0x6c, 0xb4, 0xf8, 0x34, 0xa0, 0x5f, 0x4f, 0x87, 0xd6, 0xd9, 0x68, 0x89, 0x49, 0x64, 0x31, 0xff, - 0x8d, 0x9e, 0xf2, 0x3c, 0xd4, 0x7c, 0xbf, 0x53, 0x18, 0x9a, 0x00, 0xcb, 0x55, 0x8c, 0x09, 0x4f, - 0x15, 0xad, 0x42, 0xb1, 0xad, 0x3b, 0xae, 0xea, 0x18, 0x9a, 0xe5, 0xec, 0x9a, 0xae, 0x43, 0x83, - 0xfe, 0xfc, 0xd9, 0x07, 0x86, 0x51, 0x58, 0xd6, 0x1d, 0xb7, 0x21, 0x80, 0x2f, 0x8f, 0x29, 0x85, - 0x76, 0xb0, 0x82, 0xd0, 0x33, 0xb7, 0xb7, 0xb1, 0xed, 0x11, 0xa4, 0xc9, 0x81, 0x03, 0xe8, 0xad, - 0x11, 0x68, 0x81, 0x4f, 0xe8, 0x99, 0xc1, 0x0a, 0xf4, 0xfd, 0x30, 0xd9, 0x36, 0xb5, 0x96, 0x47, - 0x4e, 0x6d, 0xee, 0x76, 0x8d, 0xeb, 0x34, 0x93, 0x90, 0x3f, 0x7b, 0x6a, 0xe8, 0x20, 0x4d, 0xad, - 0x25, 0x48, 0xd4, 0x08, 0xc2, 0xe5, 0x31, 0x65, 0xa2, 0xdd, 0x5b, 0x89, 0xde, 0x03, 0x53, 0x9a, - 0x65, 0xb5, 0xf7, 0x7b, 0xa9, 0x97, 0x28, 0xf5, 0xd3, 0xc3, 0xa8, 0x57, 0x08, 0x4e, 0x2f, 0x79, - 0xa4, 0xf5, 0xd5, 0xa2, 0x0d, 0x90, 0x2c, 0x1b, 0xd3, 0x8f, 0x6a, 0x2c, 0xee, 0xaa, 0xd0, 0x97, - 0xb1, 0xf2, 0x67, 0x4f, 0x0c, 0xa3, 0xbd, 0xce, 0xe0, 0x85, 0x67, 0x73, 0x79, 0x4c, 0x29, 0x59, - 0xe1, 0x2a, 0x46, 0xd5, 0x6c, 0x62, 0xfa, 0x7a, 0x13, 0xa7, 0x3a, 0x11, 0x45, 0x95, 0xc2, 0x87, - 0xa9, 0x86, 0xaa, 0xaa, 0x19, 0x7e, 0x29, 0x8e, 0x3f, 0xad, 0x72, 0x02, 0xf2, 0x01, 0xc5, 0x82, - 0xa6, 0x21, 0xc3, 0x2f, 0x09, 0x88, 0xcb, 0x74, 0xbc, 0x28, 0x17, 0x61, 0x3c, 0xa8, 0x4c, 0xe4, - 0x0f, 0xc4, 0x3c, 0x4c, 0xfa, 0xad, 0xfb, 0x74, 0x38, 0x75, 0x98, 0xf3, 0xb3, 0x82, 0xf7, 0x09, - 0x2b, 0x22, 0xda, 0xd9, 0x69, 0xd2, 0x38, 0xad, 0xe4, 0x46, 0x0c, 0xcd, 0x42, 0xde, 0x3a, 0x6b, - 0x79, 0x20, 0x09, 0x0a, 0x02, 0xd6, 0x59, 0x4b, 0x00, 0xdc, 0x0b, 0xe3, 0x64, 0xa6, 0x6a, 0xd0, - 0xd1, 0xc8, 0x29, 0x79, 0x52, 0xc7, 0x41, 0xe4, 0x7f, 0x1d, 0x07, 0xa9, 0x57, 0x01, 0x79, 0x39, - 0xc5, 0xd8, 0xa1, 0x73, 0x8a, 0xc7, 0x7a, 0xb3, 0x99, 0x7e, 0x02, 0x73, 0x19, 0x24, 0x3f, 0x0f, - 0xc7, 0x0c, 0xc1, 0x70, 0xc7, 0xa9, 0xc7, 0xc3, 0x53, 0x4a, 0xcd, 0x1e, 0x97, 0xef, 0x62, 0xe8, - 0xec, 0x45, 0xbc, 0xcd, 0xdd, 0xbb, 0xc4, 0x9e, 0xbf, 0xb0, 0x69, 0xb5, 0x34, 0x17, 0x8b, 0xbc, - 0x48, 0xe0, 0x18, 0xe6, 0x41, 0x28, 0x69, 0x96, 0xa5, 0x3a, 0xae, 0xe6, 0x62, 0x6e, 0xd6, 0x53, - 0x2c, 0x3d, 0xa8, 0x59, 0x56, 0x83, 0xd4, 0x32, 0xb3, 0xfe, 0x00, 0x14, 0x89, 0x4e, 0xd6, 0xb5, - 0xb6, 0xca, 0xb3, 0x04, 0x69, 0x66, 0xfd, 0x79, 0xed, 0x65, 0x5a, 0x29, 0xb7, 0xbc, 0x15, 0xa7, - 0xfa, 0xd8, 0x0b, 0xb3, 0x62, 0x81, 0x30, 0x0b, 0xf1, 0x47, 0x08, 0x18, 0x7f, 0xc4, 0xbb, 0x0d, - 0x83, 0xb3, 0xbb, 0x53, 0x34, 0x24, 0xbb, 0xc1, 0x12, 0x1e, 0x59, 0x85, 0x15, 0xe4, 0xf7, 0xc5, - 0x61, 0xa2, 0x4f, 0x73, 0x0f, 0x4c, 0x7b, 0xfb, 0xf1, 0x65, 0xfc, 0x50, 0xf1, 0xe5, 0xd5, 0x70, - 0x5a, 0x37, 0x60, 0xf9, 0x8e, 0xf7, 0x31, 0x99, 0xe9, 0x4d, 0x22, 0xd0, 0x9c, 0x48, 0x20, 0xf3, - 0x4b, 0xc5, 0x7c, 0x13, 0xa6, 0xb6, 0xf6, 0x5f, 0xd6, 0x0c, 0x57, 0x37, 0xb0, 0xda, 0xb7, 0x6a, - 0xfd, 0xa6, 0x74, 0x45, 0x77, 0xb6, 0xf0, 0xae, 0x76, 0x43, 0x37, 0xc5, 0xb0, 0x26, 0x3d, 0x7c, - 0x3f, 0xb9, 0x2b, 0x2b, 0x50, 0x0c, 0x9b, 0x1e, 0x54, 0x84, 0xb8, 0xbb, 0xc7, 0xe7, 0x1f, 0x77, - 0xf7, 0xd0, 0xa3, 0x3c, 0x0f, 0x14, 0xa7, 0x79, 0xa0, 0xfe, 0x8e, 0x38, 0x9e, 0x9f, 0x04, 0x92, - 0x65, 0x6f, 0x37, 0x78, 0xe6, 0xa8, 0x97, 0xaa, 0x7c, 0x0a, 0x4a, 0x3d, 0xf6, 0x66, 0x58, 0x56, - 0x50, 0x2e, 0x41, 0x21, 0x64, 0x5c, 0xe4, 0x23, 0x30, 0x35, 0xc8, 0x56, 0xc8, 0xbb, 0x5e, 0x7d, - 0x48, 0xe7, 0xa3, 0x73, 0x90, 0xf5, 0x8c, 0xc5, 0x80, 0x2c, 0x04, 0x9d, 0x85, 0x00, 0x56, 0x3c, - 0xd0, 0x50, 0x32, 0x3b, 0x1e, 0x4a, 0x66, 0xcb, 0x3f, 0x08, 0xd3, 0xc3, 0x0c, 0x41, 0xcf, 0x34, - 0x92, 0x9e, 0x14, 0x1e, 0x81, 0x34, 0x7f, 0xa2, 0x2d, 0x4e, 0x8f, 0x6f, 0x78, 0x89, 0x48, 0x27, - 0x33, 0x0a, 0x09, 0x76, 0xaa, 0x43, 0x0b, 0xb2, 0x0a, 0xc7, 0x86, 0x1a, 0x83, 0xe1, 0x07, 0x41, - 0x8c, 0x10, 0x3f, 0x08, 0x6a, 0x8a, 0xe1, 0x38, 0x74, 0xae, 0xe2, 0xb2, 0x03, 0x2b, 0xc9, 0x1f, - 0x4c, 0xc0, 0x91, 0xc1, 0x26, 0x01, 0xcd, 0xc1, 0x38, 0xf1, 0xbb, 0xdd, 0xb0, 0x8b, 0x0e, 0x1d, - 0x6d, 0x6f, 0x83, 0xfb, 0xe7, 0x3c, 0x91, 0x1e, 0xf7, 0x12, 0xe9, 0x68, 0x13, 0x26, 0xda, 0x66, - 0x53, 0x6b, 0xab, 0x01, 0x89, 0xe7, 0xc2, 0x7e, 0x5f, 0x1f, 0xb3, 0xeb, 0xec, 0xe1, 0xe6, 0x56, - 0x9f, 0xd0, 0x97, 0x28, 0x8d, 0x65, 0x4f, 0xf2, 0xd1, 0x22, 0xe4, 0x3b, 0xbe, 0x20, 0x1f, 0x42, - 0xd8, 0x83, 0x68, 0x81, 0x25, 0x49, 0x0d, 0x3c, 0xf6, 0x49, 0x1f, 0x5a, 0x45, 0x0f, 0x3b, 0x41, - 0xc9, 0x0c, 0x3d, 0x41, 0x19, 0x74, 0x5c, 0x91, 0x1d, 0x7c, 0x5c, 0xf1, 0xfe, 0xe0, 0xd2, 0x84, - 0x8c, 0x68, 0xff, 0x09, 0x06, 0x6a, 0xc0, 0x14, 0xc7, 0x6f, 0x85, 0x78, 0x1f, 0x1f, 0x55, 0xd1, - 0x20, 0x81, 0x3e, 0x9c, 0xed, 0x89, 0x3b, 0x63, 0xbb, 0xd0, 0xa5, 0xc9, 0x80, 0x2e, 0xfd, 0x7f, - 0x6c, 0x29, 0xfe, 0x6d, 0x0e, 0xb2, 0x0a, 0x76, 0x2c, 0x62, 0x38, 0x51, 0x15, 0x72, 0x78, 0xaf, - 0x89, 0x2d, 0xd7, 0x3f, 0xa6, 0x1c, 0x14, 0x0c, 0x30, 0xe8, 0xba, 0x80, 0x24, 0x9e, 0xb8, 0x87, - 0x86, 0x1e, 0xe7, 0xc1, 0xd6, 0xf0, 0xb8, 0x89, 0xa3, 0x07, 0xa3, 0xad, 0xf3, 0x22, 0xda, 0x4a, - 0x0c, 0x75, 0xbe, 0x19, 0x56, 0x4f, 0xb8, 0xf5, 0x38, 0x0f, 0xb7, 0x92, 0x11, 0x9d, 0x85, 0xe2, - 0xad, 0x5a, 0x28, 0xde, 0x4a, 0x47, 0x4c, 0x73, 0x48, 0xc0, 0x75, 0x5e, 0x04, 0x5c, 0x99, 0x88, - 0x11, 0xf7, 0x44, 0x5c, 0x17, 0xc3, 0x11, 0x57, 0x76, 0x88, 0x02, 0x11, 0xd8, 0x43, 0x43, 0xae, - 0x67, 0x02, 0x21, 0x57, 0x6e, 0x68, 0xbc, 0xc3, 0x88, 0x0c, 0x88, 0xb9, 0x6a, 0xa1, 0x98, 0x0b, - 0x22, 0x78, 0x30, 0x24, 0xe8, 0xfa, 0xbe, 0x60, 0xd0, 0x95, 0x1f, 0x1a, 0xb7, 0xf1, 0xf5, 0x1e, - 0x14, 0x75, 0x3d, 0xed, 0x45, 0x5d, 0xe3, 0x43, 0xc3, 0x46, 0x3e, 0x87, 0xde, 0xb0, 0x6b, 0xad, - 0x2f, 0xec, 0x2a, 0xf0, 0xbf, 0x89, 0x30, 0x8c, 0x44, 0x44, 0xdc, 0xb5, 0xd6, 0x17, 0x77, 0x15, - 0x23, 0x08, 0x46, 0x04, 0x5e, 0x3f, 0x30, 0x38, 0xf0, 0x1a, 0x1e, 0x1a, 0xf1, 0x61, 0x8e, 0x16, - 0x79, 0xa9, 0x43, 0x22, 0x2f, 0x16, 0x1d, 0x3d, 0x34, 0x94, 0xfc, 0xc8, 0xa1, 0xd7, 0xe6, 0x80, - 0xd0, 0x8b, 0x05, 0x49, 0x27, 0x87, 0x12, 0x1f, 0x21, 0xf6, 0xda, 0x1c, 0x10, 0x7b, 0xa1, 0x48, - 0xb2, 0x87, 0x09, 0xbe, 0x52, 0x52, 0x5a, 0x3e, 0x45, 0x5c, 0xdf, 0x1e, 0x3d, 0x45, 0xfc, 0x07, - 0x6c, 0xdb, 0xa6, 0x2d, 0x6e, 0xd6, 0xd2, 0x82, 0x7c, 0x92, 0x38, 0xe3, 0xbe, 0x4e, 0x3a, 0x20, - 0x50, 0xa3, 0x7e, 0x5a, 0x40, 0x0f, 0xc9, 0x9f, 0x8b, 0xf9, 0xb8, 0xd4, 0x87, 0x0d, 0x3a, 0xf2, - 0x39, 0xee, 0xc8, 0x07, 0xc2, 0xb7, 0x78, 0x38, 0x7c, 0x9b, 0x85, 0x3c, 0xf1, 0xbf, 0x7a, 0x22, - 0x33, 0xcd, 0xf2, 0x22, 0x33, 0x71, 0xa5, 0x80, 0x05, 0x79, 0xdc, 0xac, 0xb0, 0x93, 0x9c, 0x92, - 0x77, 0xbd, 0x82, 0xc5, 0x14, 0xe8, 0x11, 0x98, 0x0c, 0xc0, 0x7a, 0x7e, 0x1d, 0x0b, 0x53, 0x24, - 0x0f, 0xba, 0xc2, 0x1d, 0xbc, 0x7f, 0x16, 0xf3, 0x39, 0xe4, 0x87, 0x74, 0x83, 0xa2, 0xaf, 0xd8, - 0x9b, 0x14, 0x7d, 0xc5, 0xef, 0x38, 0xfa, 0x0a, 0xfa, 0xa9, 0x89, 0xb0, 0x9f, 0xfa, 0x3f, 0x62, - 0xfe, 0x9a, 0x78, 0xb1, 0x54, 0xd3, 0x6c, 0x61, 0xee, 0x39, 0xd2, 0xdf, 0xc4, 0xa9, 0x68, 0x9b, - 0x3b, 0xdc, 0x3f, 0x24, 0x3f, 0x09, 0x94, 0x67, 0x38, 0x72, 0xdc, 0x2e, 0x78, 0x4e, 0x67, 0x2a, - 0x78, 0xff, 0x97, 0x5f, 0x8a, 0x4d, 0xfb, 0x97, 0x62, 0xbd, 0x8f, 0xdf, 0x32, 0x81, 0x8f, 0xdf, - 0xd0, 0x53, 0x90, 0xa3, 0x19, 0x51, 0xd5, 0xb4, 0xc4, 0x5f, 0xd0, 0x38, 0x3e, 0xfc, 0x42, 0xac, - 0x43, 0xaf, 0xea, 0xb1, 0x4b, 0xb4, 0xbe, 0xc7, 0x90, 0x0b, 0x79, 0x0c, 0x77, 0x43, 0x8e, 0x8c, - 0x9e, 0xbd, 0x04, 0x0d, 0xfc, 0xcb, 0x49, 0x51, 0x21, 0xbf, 0x07, 0x50, 0xbf, 0x91, 0x40, 0x97, - 0x21, 0x8d, 0x6f, 0xd0, 0x67, 0xf5, 0xd8, 0x45, 0xc3, 0x23, 0xfd, 0xae, 0x29, 0x69, 0xae, 0x4e, - 0x13, 0x26, 0x7f, 0xe3, 0xb5, 0x59, 0x89, 0x41, 0x3f, 0xec, 0x7d, 0x28, 0xa0, 0x70, 0x7c, 0xf9, - 0x3f, 0xc6, 0x49, 0x00, 0x13, 0x32, 0x20, 0x03, 0x79, 0x3b, 0xe8, 0x88, 0x70, 0x34, 0x7e, 0xcf, - 0x00, 0xec, 0x68, 0x8e, 0x7a, 0x53, 0x33, 0x5c, 0xdc, 0xe2, 0x4c, 0x0f, 0xd4, 0xa0, 0x32, 0x64, - 0x49, 0xa9, 0xeb, 0xe0, 0x16, 0x0f, 0xa3, 0xbd, 0x72, 0x60, 0x9e, 0x99, 0xef, 0x6e, 0x9e, 0x61, - 0x2e, 0x67, 0x7b, 0xb8, 0x1c, 0x08, 0x2e, 0x72, 0xc1, 0xe0, 0x82, 0x5d, 0x0c, 0xe6, 0xf7, 0x13, - 0x81, 0x8d, 0x4d, 0x94, 0xd1, 0x7d, 0x50, 0xe8, 0xe0, 0x8e, 0x65, 0x9a, 0x6d, 0x95, 0xa9, 0x1b, - 0xf6, 0xe4, 0xfb, 0x38, 0xaf, 0xac, 0x53, 0xad, 0xf3, 0xa3, 0x71, 0x7f, 0xff, 0xf9, 0x41, 0xe4, - 0xf7, 0x1c, 0x83, 0xe5, 0x9f, 0xa0, 0x99, 0xa5, 0xb0, 0x8b, 0x80, 0x1a, 0xc1, 0x5b, 0x23, 0x5d, - 0xaa, 0x16, 0x84, 0x40, 0x8f, 0xaa, 0x3f, 0xfc, 0xdb, 0x25, 0xac, 0xda, 0x41, 0x2f, 0xc0, 0xd1, - 0x1e, 0xdd, 0xe6, 0x91, 0x8e, 0x8f, 0xaa, 0xe2, 0xee, 0x0a, 0xab, 0x38, 0x41, 0xda, 0x67, 0x56, - 0xe2, 0xbb, 0xdc, 0x75, 0x4b, 0x50, 0x0c, 0x7b, 0x3c, 0x03, 0x97, 0x9f, 0xfe, 0x89, 0x11, 0x57, - 0xd3, 0x0d, 0x35, 0x94, 0x0e, 0x1a, 0x67, 0x95, 0x3c, 0xc9, 0xb4, 0x0e, 0x77, 0x0d, 0xf4, 0x7c, - 0xd0, 0x93, 0x90, 0xf3, 0x9d, 0x26, 0xc6, 0xd5, 0x03, 0xd2, 0x05, 0x3e, 0xac, 0xfc, 0x3b, 0x31, - 0x9f, 0x64, 0x38, 0x01, 0x51, 0x87, 0x34, 0xbb, 0xf6, 0xc6, 0x2f, 0xd3, 0x3c, 0x32, 0x9a, 0xcf, - 0x34, 0xcf, 0xee, 0xc4, 0x29, 0x1c, 0x59, 0x7e, 0x0f, 0xa4, 0x59, 0x0d, 0xca, 0x43, 0xc6, 0x7f, - 0xf9, 0x16, 0x20, 0x5d, 0xa9, 0xd5, 0xea, 0xeb, 0x1b, 0x52, 0x0c, 0xe5, 0x20, 0x55, 0xa9, 0xae, - 0x29, 0x1b, 0x52, 0x9c, 0x54, 0x2b, 0xf5, 0x2b, 0xf5, 0xda, 0x86, 0x94, 0x40, 0x13, 0x50, 0x60, - 0xbf, 0xd5, 0x8b, 0x6b, 0xca, 0x4a, 0x65, 0x43, 0x4a, 0x06, 0xaa, 0x1a, 0xf5, 0xd5, 0xc5, 0xba, - 0x22, 0xa5, 0xe4, 0xc7, 0xe0, 0xd8, 0x50, 0x2f, 0xcb, 0xcf, 0x2e, 0xc4, 0x02, 0xd9, 0x05, 0xf9, - 0x83, 0x71, 0x28, 0x0f, 0x77, 0x9d, 0xd0, 0x95, 0x9e, 0x89, 0x9f, 0x3d, 0x84, 0xdf, 0xd5, 0x33, - 0x7b, 0xf4, 0x00, 0x14, 0x6d, 0xbc, 0x8d, 0xdd, 0xe6, 0x2e, 0x73, 0xe5, 0x98, 0xc9, 0x2c, 0x28, - 0x05, 0x5e, 0x4b, 0x91, 0x1c, 0x06, 0xf6, 0x12, 0x6e, 0xba, 0x2a, 0xd3, 0x45, 0x0e, 0xff, 0x5b, - 0x87, 0x05, 0x56, 0xdb, 0x60, 0x95, 0xf2, 0x0f, 0x1e, 0x8a, 0x97, 0x39, 0x48, 0x29, 0xf5, 0x0d, - 0xe5, 0x05, 0x29, 0x81, 0x10, 0x14, 0xe9, 0x4f, 0xb5, 0xb1, 0x5a, 0x59, 0x6f, 0x5c, 0x5e, 0x23, - 0xbc, 0x9c, 0x84, 0x92, 0xe0, 0xa5, 0xa8, 0x4c, 0xc9, 0x0f, 0xc1, 0xd1, 0x21, 0x7e, 0xdf, 0x80, - 0x7b, 0x88, 0x1f, 0x8e, 0x05, 0xa1, 0xc3, 0x31, 0xff, 0x1a, 0xa4, 0x1d, 0x57, 0x73, 0xbb, 0x0e, - 0x67, 0xe2, 0x93, 0xa3, 0x3a, 0x82, 0xf3, 0xe2, 0x47, 0x83, 0xa2, 0x2b, 0x9c, 0x8c, 0x7c, 0x0e, - 0x8a, 0xe1, 0x96, 0xe1, 0x3c, 0xf0, 0x85, 0x28, 0x2e, 0xbf, 0x00, 0x10, 0xc8, 0x47, 0x7a, 0x37, - 0xba, 0x62, 0xc1, 0x1b, 0x5d, 0xe7, 0x20, 0x75, 0xc3, 0x64, 0x3a, 0x63, 0xf0, 0xc6, 0xb9, 0x66, - 0xba, 0x38, 0x90, 0x7c, 0x60, 0xd0, 0xb2, 0x0e, 0xa8, 0x3f, 0x27, 0x34, 0xa4, 0x8b, 0x67, 0xc2, - 0x5d, 0xdc, 0x3b, 0x34, 0xbb, 0x34, 0xb8, 0xab, 0x97, 0x21, 0x45, 0xb5, 0xcd, 0xc0, 0x4f, 0x7c, - 0xde, 0x0d, 0xa0, 0xb9, 0xae, 0xad, 0x6f, 0x75, 0xfd, 0x0e, 0x66, 0x07, 0x6b, 0xab, 0x8a, 0x80, - 0xab, 0xde, 0xcd, 0xd5, 0xd6, 0x94, 0x8f, 0x1a, 0x50, 0x5d, 0x01, 0x82, 0xf2, 0x2a, 0x14, 0xc3, - 0xb8, 0x83, 0x3f, 0x59, 0xf2, 0xdf, 0x0e, 0xc8, 0x09, 0xf7, 0xc9, 0x73, 0xbe, 0xf8, 0x7b, 0x1e, - 0xb4, 0x20, 0xdf, 0x8a, 0x41, 0x76, 0x63, 0x8f, 0xcb, 0xf1, 0x01, 0x97, 0x2a, 0xfd, 0xef, 0xb6, - 0xbc, 0x64, 0x21, 0xcb, 0xc7, 0x26, 0xbc, 0x2c, 0xef, 0xf7, 0x79, 0x3b, 0x35, 0x39, 0x6a, 0xb4, - 0x2b, 0xb2, 0xdd, 0x5c, 0x3b, 0x5d, 0x18, 0xed, 0x1b, 0x89, 0x29, 0x48, 0x05, 0xbf, 0x6f, 0x60, - 0x05, 0xb9, 0x15, 0xb8, 0x96, 0xc0, 0xcc, 0x46, 0xf0, 0x63, 0x8a, 0xd8, 0xa1, 0x3f, 0xa6, 0xf0, - 0x7a, 0x89, 0x07, 0x7b, 0xb9, 0x01, 0x59, 0x21, 0x14, 0xe8, 0x9d, 0xc1, 0xbb, 0x27, 0xe2, 0x8c, - 0x66, 0xa8, 0xf1, 0xe4, 0xe4, 0x03, 0x57, 0x4f, 0x4e, 0xc3, 0x04, 0xbf, 0x72, 0xe7, 0xc7, 0x15, - 0xfc, 0x6d, 0xfe, 0x12, 0x6b, 0x58, 0x16, 0x41, 0x85, 0xfc, 0xab, 0x31, 0x90, 0x7a, 0xa5, 0xf2, - 0xed, 0x1c, 0x00, 0x51, 0x8a, 0x44, 0xfa, 0x03, 0x8f, 0x6e, 0xb3, 0x95, 0x2f, 0x90, 0x5a, 0xff, - 0xd9, 0xed, 0xf7, 0xc5, 0x21, 0x1f, 0xc8, 0xe9, 0xa1, 0x27, 0x42, 0x57, 0x40, 0xe7, 0x0e, 0xca, - 0xff, 0x05, 0xee, 0x80, 0x86, 0x26, 0x16, 0x3f, 0xfc, 0xc4, 0xde, 0xfc, 0x4b, 0xfa, 0x83, 0xbf, - 0xf6, 0x49, 0x0d, 0xf9, 0xda, 0xe7, 0x87, 0x63, 0x90, 0xf5, 0x4c, 0xf7, 0x61, 0xb3, 0xf9, 0x47, - 0x20, 0xcd, 0xad, 0x13, 0x4b, 0xe7, 0xf3, 0xd2, 0xc0, 0x5c, 0x68, 0x19, 0xb2, 0xe2, 0x8f, 0xda, - 0xf0, 0x40, 0xd4, 0x2b, 0x9f, 0x7e, 0x1a, 0xf2, 0x81, 0x83, 0x15, 0xa2, 0x27, 0x56, 0xeb, 0xcf, - 0x49, 0x63, 0xe5, 0xcc, 0xad, 0xdb, 0x73, 0x89, 0x55, 0x7c, 0x93, 0xec, 0x30, 0xa5, 0x5e, 0xbb, - 0x5c, 0xaf, 0x5d, 0x95, 0x62, 0xe5, 0xfc, 0xad, 0xdb, 0x73, 0x19, 0x05, 0xd3, 0xf4, 0xd5, 0xe9, - 0xab, 0x50, 0xea, 0x59, 0x98, 0xb0, 0x7e, 0x47, 0x50, 0x5c, 0xdc, 0x5c, 0x5f, 0x5e, 0xaa, 0x55, - 0x36, 0xea, 0x2a, 0xbb, 0x4e, 0x87, 0x8e, 0xc2, 0xe4, 0xf2, 0xd2, 0xa5, 0xcb, 0x1b, 0x6a, 0x6d, - 0x79, 0xa9, 0xbe, 0xba, 0xa1, 0x56, 0x36, 0x36, 0x2a, 0xb5, 0xab, 0x52, 0xfc, 0xec, 0x77, 0x00, - 0x4a, 0x95, 0x6a, 0x6d, 0x89, 0xd8, 0x67, 0x9d, 0xbf, 0x9b, 0x5e, 0x83, 0x24, 0x4d, 0x05, 0x1c, - 0x78, 0x55, 0xa4, 0x7c, 0x70, 0x6e, 0x13, 0x5d, 0x84, 0x14, 0xcd, 0x12, 0xa0, 0x83, 0xef, 0x8e, - 0x94, 0x23, 0x92, 0x9d, 0x64, 0x30, 0x74, 0x3b, 0x1d, 0x78, 0x99, 0xa4, 0x7c, 0x70, 0xee, 0x13, - 0x29, 0x90, 0xf3, 0xa3, 0x8c, 0xe8, 0xcb, 0x15, 0xe5, 0x11, 0xb4, 0x23, 0x5a, 0x86, 0x8c, 0x08, - 0x0c, 0xa3, 0xae, 0x7b, 0x94, 0x23, 0x93, 0x93, 0x84, 0x5d, 0x2c, 0x80, 0x3f, 0xf8, 0xee, 0x4a, - 0x39, 0x22, 0xd3, 0x8a, 0x96, 0xbc, 0x4b, 0xf8, 0x11, 0x57, 0x38, 0xca, 0x51, 0xc9, 0x46, 0xc2, - 0x34, 0x3f, 0x35, 0x12, 0x7d, 0x23, 0xa7, 0x3c, 0x42, 0x12, 0x19, 0x6d, 0x02, 0x04, 0xc2, 0xf5, - 0x11, 0xae, 0xda, 0x94, 0x47, 0x49, 0x0e, 0xa3, 0x35, 0xc8, 0x7a, 0xd1, 0x53, 0xe4, 0xc5, 0x97, - 0x72, 0x74, 0x96, 0x16, 0xbd, 0x07, 0x0a, 0xe1, 0xa8, 0x61, 0xb4, 0xeb, 0x2c, 0xe5, 0x11, 0xd3, - 0xaf, 0x84, 0x7e, 0x38, 0x84, 0x18, 0xed, 0x7a, 0x4b, 0x79, 0xc4, 0x6c, 0x2c, 0x7a, 0x09, 0x26, - 0xfa, 0x5d, 0xfc, 0xd1, 0x6f, 0xbb, 0x94, 0x0f, 0x91, 0x9f, 0x45, 0x1d, 0x40, 0x03, 0x42, 0x83, - 0x43, 0x5c, 0x7e, 0x29, 0x1f, 0x26, 0x5d, 0x8b, 0x5a, 0x50, 0xea, 0xf5, 0xb7, 0x47, 0xbd, 0x0c, - 0x53, 0x1e, 0x39, 0x75, 0xcb, 0x7a, 0x09, 0xfb, 0xe9, 0xa3, 0x5e, 0x8e, 0x29, 0x8f, 0x9c, 0xc9, - 0xad, 0x56, 0x86, 0xde, 0x6f, 0x3c, 0x71, 0xe0, 0xfd, 0x46, 0xff, 0xc6, 0xa2, 0x77, 0xa7, 0xf1, - 0x2f, 0x9e, 0x80, 0xfb, 0xf9, 0x63, 0x02, 0x8e, 0xab, 0x5d, 0xd7, 0x8d, 0x1d, 0xef, 0x75, 0x08, - 0x5e, 0xe6, 0x97, 0x1b, 0x8f, 0xf0, 0x07, 0x0b, 0x44, 0x6d, 0xc4, 0x1b, 0x11, 0x43, 0x1f, 0xce, - 0x8a, 0xba, 0x84, 0x1c, 0x7d, 0x75, 0xf1, 0x80, 0xf7, 0x27, 0x22, 0x5e, 0xb9, 0x18, 0xf0, 0x3e, - 0x45, 0xc4, 0x25, 0xcc, 0x83, 0xee, 0x7b, 0xca, 0x3f, 0x1b, 0x83, 0xe2, 0x65, 0xdd, 0x71, 0x4d, - 0x5b, 0x6f, 0x6a, 0x6d, 0x6a, 0x31, 0x2e, 0x8c, 0xfa, 0x91, 0x47, 0x35, 0x47, 0x9c, 0x11, 0xfe, - 0xa8, 0x05, 0xbf, 0x18, 0xb2, 0x08, 0xe9, 0x1b, 0x5a, 0x9b, 0x7d, 0x62, 0x11, 0x7c, 0xbf, 0xa6, - 0x97, 0xe7, 0x01, 0x2f, 0x29, 0x48, 0x85, 0xe1, 0xca, 0x9f, 0xa5, 0x97, 0xb8, 0x3b, 0x1d, 0xdd, - 0x61, 0x7f, 0x76, 0xda, 0xc5, 0x0e, 0xda, 0x84, 0xa4, 0xad, 0xb9, 0x3c, 0xa8, 0xa9, 0x56, 0xf8, - 0x53, 0x14, 0x0f, 0x46, 0x3f, 0x28, 0x31, 0xdf, 0xf7, 0x5a, 0x05, 0xeb, 0x8c, 0x92, 0x43, 0x3f, - 0x00, 0xd9, 0x8e, 0xb6, 0xa7, 0x52, 0xd2, 0xf1, 0x37, 0x8b, 0x74, 0xa6, 0xa3, 0xed, 0x91, 0x51, - 0x23, 0x1d, 0x4a, 0x84, 0x7a, 0x73, 0x57, 0x33, 0x76, 0x30, 0xeb, 0x24, 0xf1, 0x66, 0x75, 0x52, - 0xe8, 0x68, 0x7b, 0x35, 0x4a, 0x98, 0x74, 0xc5, 0x1f, 0xfd, 0xf8, 0x42, 0x8c, 0x87, 0xb2, 0x94, - 0x73, 0x48, 0x03, 0xa9, 0xe9, 0x95, 0x68, 0xff, 0x22, 0xad, 0x7f, 0x62, 0xd8, 0xc2, 0xf4, 0xf0, - 0xbd, 0x5a, 0x20, 0x23, 0xfd, 0xd2, 0x6b, 0xb3, 0x31, 0xd6, 0x6b, 0xa9, 0xd9, 0xb3, 0x2e, 0x57, - 0x20, 0xcf, 0xb2, 0x69, 0x2a, 0x75, 0x61, 0xe3, 0x91, 0x2e, 0x6c, 0x41, 0xb8, 0xb0, 0x8c, 0x20, - 0x30, 0x6c, 0xd2, 0xce, 0xe7, 0xf0, 0xf1, 0x18, 0xe4, 0x17, 0x03, 0xcf, 0x55, 0x4d, 0x43, 0xa6, - 0x63, 0x1a, 0xfa, 0x75, 0x6c, 0x7b, 0xe7, 0x32, 0xac, 0x48, 0xdc, 0x4c, 0xf6, 0x67, 0x87, 0xdc, - 0x7d, 0xf1, 0x12, 0x83, 0x28, 0x13, 0xac, 0x9b, 0x78, 0xcb, 0xd1, 0x05, 0xcb, 0x15, 0x51, 0x44, - 0xa7, 0x40, 0x72, 0x70, 0xb3, 0x6b, 0xeb, 0xee, 0xbe, 0xda, 0x34, 0x0d, 0x57, 0x6b, 0xba, 0x3c, - 0x7b, 0x5a, 0x12, 0xf5, 0x35, 0x56, 0x4d, 0x88, 0xb4, 0xb0, 0xab, 0xe9, 0x6d, 0x76, 0xed, 0x2b, - 0xa7, 0x88, 0x22, 0x1f, 0xea, 0x67, 0x33, 0xc1, 0xd0, 0xb0, 0x06, 0x92, 0x69, 0x61, 0x3b, 0xf4, - 0xc9, 0x1b, 0x13, 0xd7, 0xe9, 0xdf, 0xff, 0xf4, 0x23, 0x53, 0x9c, 0xe1, 0xfc, 0x00, 0x9e, 0xbd, - 0xce, 0xac, 0x94, 0x04, 0x86, 0xf8, 0x16, 0xee, 0x85, 0xd0, 0x49, 0x4c, 0x77, 0xcb, 0xff, 0xe4, - 0x7e, 0xaa, 0x8f, 0xa9, 0x15, 0x63, 0xbf, 0x3a, 0xfd, 0x7b, 0x3e, 0x69, 0x3f, 0x74, 0xbc, 0x8a, - 0xf7, 0x83, 0xc7, 0x32, 0x94, 0x0c, 0xf1, 0xe0, 0x5f, 0xd2, 0xf4, 0xb6, 0xf8, 0x4b, 0x6a, 0x0a, - 0x2f, 0xa1, 0x05, 0x2f, 0x0d, 0xc3, 0xfe, 0x42, 0xba, 0x3c, 0x4c, 0x36, 0xaa, 0xa6, 0xd1, 0x0a, - 0x67, 0x5c, 0xd0, 0x06, 0xa4, 0x5d, 0xf3, 0x3a, 0x36, 0x38, 0x83, 0xaa, 0xef, 0x38, 0x84, 0x60, - 0xf7, 0xbf, 0x3f, 0xc3, 0x69, 0xa1, 0x1d, 0x90, 0x5a, 0xb8, 0x8d, 0x77, 0xd8, 0x07, 0x5b, 0xbb, - 0x9a, 0x8d, 0xd9, 0x47, 0x9c, 0x87, 0xa3, 0xdf, 0xff, 0x4c, 0x4d, 0xc9, 0xa3, 0xda, 0xa0, 0x44, - 0xd1, 0x7a, 0xf8, 0xb1, 0xb4, 0x0c, 0x3f, 0x95, 0x1f, 0x32, 0xff, 0x80, 0x54, 0x06, 0xd5, 0x56, - 0xe8, 0x71, 0xb5, 0x53, 0x20, 0x75, 0x8d, 0x2d, 0xd3, 0xa0, 0x7f, 0xf4, 0x88, 0x07, 0x58, 0x59, - 0x76, 0x72, 0xe7, 0xd5, 0xf3, 0x93, 0xbb, 0x75, 0x28, 0xfa, 0xa0, 0x74, 0xf7, 0xe4, 0x0e, 0xbb, - 0x7b, 0x0a, 0x1e, 0x01, 0x02, 0x82, 0x56, 0x00, 0xfc, 0xfd, 0xe9, 0x9d, 0xee, 0x47, 0xee, 0xf4, - 0xe0, 0x64, 0x02, 0x04, 0x50, 0x1b, 0x26, 0x3b, 0xba, 0xa1, 0x3a, 0xb8, 0xbd, 0xad, 0x72, 0xce, - 0x11, 0xba, 0xf9, 0x37, 0x61, 0xa5, 0x27, 0x3a, 0xba, 0xd1, 0xc0, 0xed, 0xed, 0x45, 0x8f, 0x2c, - 0x7a, 0x07, 0x1c, 0xf7, 0xd9, 0x61, 0x1a, 0xea, 0xae, 0xd9, 0x6e, 0xa9, 0x36, 0xde, 0x56, 0x9b, - 0xf4, 0xf9, 0xa3, 0x71, 0xca, 0xc4, 0xa3, 0x1e, 0xc8, 0x9a, 0x71, 0xd9, 0x6c, 0xb7, 0x14, 0xbc, - 0x5d, 0x23, 0xcd, 0xe8, 0x3e, 0xf0, 0x79, 0xa1, 0xea, 0x2d, 0x67, 0xba, 0x30, 0x97, 0x38, 0x99, - 0x54, 0xc6, 0xbd, 0xca, 0xa5, 0x96, 0xb3, 0x90, 0x7d, 0xff, 0xab, 0xb3, 0x63, 0x5f, 0x7f, 0x75, - 0x76, 0x4c, 0xbe, 0x48, 0x1f, 0xeb, 0xe0, 0x9b, 0x0e, 0x3b, 0xe8, 0x3c, 0xe4, 0x34, 0x51, 0x60, - 0x9f, 0x89, 0x1c, 0xb0, 0x69, 0x7d, 0x50, 0xf9, 0xd5, 0x18, 0xa4, 0x17, 0xaf, 0xad, 0x6b, 0xba, - 0x8d, 0xea, 0x30, 0xe1, 0x0b, 0xed, 0xa8, 0xfb, 0xdf, 0x97, 0x73, 0xa1, 0x00, 0xea, 0xc3, 0xbe, - 0x9c, 0x3d, 0x90, 0x4c, 0xef, 0x37, 0xb5, 0x81, 0xa9, 0x5e, 0x81, 0x0c, 0x1b, 0xa1, 0x83, 0x9e, - 0x85, 0x94, 0x45, 0x7e, 0xf0, 0xec, 0xff, 0xcc, 0x50, 0x41, 0xa7, 0xf0, 0x41, 0xb1, 0x60, 0x78, - 0xf2, 0x5f, 0xc6, 0x00, 0x16, 0xaf, 0x5d, 0xdb, 0xb0, 0x75, 0xab, 0x8d, 0xdd, 0x37, 0x6b, 0xca, - 0xcb, 0x70, 0x57, 0xe0, 0xfb, 0x4c, 0xbb, 0x39, 0xf2, 0xb4, 0x27, 0xfd, 0x2f, 0x34, 0xed, 0xe6, - 0x40, 0x6a, 0x2d, 0xc7, 0xf5, 0xa8, 0x25, 0x46, 0xa6, 0xb6, 0xe8, 0xb8, 0xfd, 0x7c, 0x7c, 0x1e, - 0xf2, 0xfe, 0xd4, 0x1d, 0xb4, 0x04, 0x59, 0x97, 0xff, 0xe6, 0xec, 0x94, 0x87, 0xb3, 0x53, 0xa0, - 0x05, 0x59, 0xea, 0xa1, 0xcb, 0xff, 0x8b, 0x70, 0xd5, 0xdf, 0x08, 0x7f, 0xad, 0x04, 0x89, 0x68, - 0x78, 0xae, 0x81, 0x13, 0x6f, 0x82, 0x06, 0xe6, 0xb4, 0x02, 0x6c, 0xfd, 0x91, 0x38, 0x4c, 0x6e, - 0x8a, 0x4d, 0xfa, 0xd7, 0x96, 0x0b, 0x9b, 0x90, 0xc1, 0x86, 0x6b, 0xeb, 0x58, 0x1c, 0xf5, 0x3d, - 0x3a, 0x6c, 0xb1, 0x07, 0xcc, 0x85, 0xfe, 0x29, 0xe0, 0xe0, 0xd2, 0x0b, 0x5a, 0x01, 0x36, 0xfc, - 0x76, 0x02, 0xa6, 0x87, 0xa1, 0xa2, 0x13, 0x50, 0x6a, 0xda, 0x98, 0x56, 0xa8, 0xa1, 0x54, 0x78, - 0x51, 0x54, 0x73, 0x93, 0xa2, 0x00, 0x71, 0xd0, 0x88, 0x54, 0x11, 0xd0, 0x3b, 0xf3, 0xc8, 0x8a, - 0x3e, 0x05, 0x6a, 0x54, 0x30, 0x94, 0xc4, 0xdd, 0xf6, 0x2d, 0xad, 0xad, 0x19, 0x4d, 0x7c, 0x07, - 0x92, 0xd0, 0x6f, 0x01, 0xc4, 0x85, 0xf9, 0x2a, 0xa3, 0x89, 0xae, 0x41, 0x46, 0x90, 0x4f, 0xbe, - 0x09, 0xe4, 0x05, 0x31, 0x74, 0x2f, 0x8c, 0x07, 0x0d, 0x03, 0xf5, 0x53, 0x92, 0x4a, 0x3e, 0x60, - 0x17, 0xa2, 0x2c, 0x4f, 0xfa, 0x40, 0xcb, 0xc3, 0x5d, 0xc1, 0xdf, 0x4a, 0xc0, 0x84, 0x82, 0x5b, - 0xdf, 0x83, 0x0b, 0xf7, 0xfd, 0x00, 0x6c, 0x53, 0x13, 0x65, 0x7b, 0x07, 0x6b, 0xd7, 0xaf, 0x24, - 0x72, 0x8c, 0xde, 0xa2, 0xe3, 0xbe, 0x5d, 0xab, 0xf7, 0xaf, 0xe2, 0x30, 0x1e, 0x5c, 0xbd, 0xef, - 0x01, 0xcb, 0x86, 0x56, 0x7d, 0x95, 0xc6, 0x6e, 0x9f, 0x9f, 0x1a, 0xa6, 0xd2, 0xfa, 0xe4, 0x3a, - 0x42, 0x97, 0x7d, 0x21, 0x09, 0x69, 0x7e, 0x15, 0x6c, 0xad, 0xcf, 0xc7, 0x8d, 0x45, 0x7d, 0xff, - 0x5b, 0x10, 0xdf, 0xff, 0x0e, 0x74, 0x71, 0x1f, 0x80, 0x22, 0x09, 0xa9, 0x43, 0xf7, 0xcb, 0x62, - 0x27, 0x0b, 0x34, 0x1c, 0xf6, 0x6f, 0x43, 0xa3, 0x59, 0xc8, 0x13, 0x30, 0x5f, 0x67, 0x13, 0x18, - 0xe8, 0x68, 0x7b, 0x75, 0x56, 0x83, 0x1e, 0x01, 0xb4, 0xeb, 0x25, 0x3e, 0x54, 0x9f, 0x11, 0x04, - 0x6e, 0xc2, 0x6f, 0x11, 0xe0, 0xf7, 0x00, 0x90, 0x51, 0xa8, 0xec, 0x85, 0x4e, 0xfe, 0xda, 0x29, - 0xa9, 0x59, 0xa4, 0xaf, 0x74, 0xfe, 0x54, 0x8c, 0xb9, 0xca, 0x3d, 0xd1, 0x36, 0x0f, 0x5a, 0xd4, - 0xc3, 0xed, 0x86, 0x6f, 0xbd, 0x36, 0x5b, 0xde, 0xd7, 0x3a, 0xed, 0x05, 0x79, 0x00, 0x49, 0x79, - 0x50, 0x2e, 0x80, 0x78, 0xd3, 0xe1, 0xc0, 0x1d, 0x3d, 0x0d, 0xc7, 0x68, 0xea, 0xc1, 0x34, 0x44, - 0x18, 0xa9, 0xda, 0xfc, 0xef, 0x9c, 0x3a, 0x34, 0xce, 0x49, 0x2a, 0x47, 0x3a, 0xda, 0x5e, 0xcd, - 0x34, 0x78, 0x78, 0xa8, 0x88, 0x56, 0xf4, 0x6e, 0x98, 0x1e, 0x84, 0xa6, 0x6e, 0x63, 0xcc, 0x2f, - 0xb8, 0x1d, 0x9b, 0x1f, 0xf0, 0xd6, 0xea, 0x7c, 0xcd, 0xd4, 0x43, 0xa1, 0x04, 0xbd, 0x34, 0x13, - 0x26, 0x7e, 0x11, 0xe3, 0x85, 0xfb, 0xc9, 0x8e, 0xbb, 0xf5, 0xb5, 0x4f, 0x9e, 0x3e, 0x1e, 0x98, - 0xfc, 0x9e, 0x97, 0xbb, 0x63, 0x82, 0x23, 0x7f, 0x22, 0x06, 0xc8, 0x37, 0x83, 0xde, 0x4d, 0xf5, - 0x15, 0x7a, 0x7f, 0x59, 0x44, 0x22, 0xb1, 0x83, 0x23, 0x1c, 0x1f, 0x3f, 0x14, 0xe1, 0x04, 0xb6, - 0xf9, 0x3b, 0x7d, 0xa3, 0x13, 0x3f, 0xc4, 0xcc, 0x04, 0x12, 0xd5, 0x1e, 0x63, 0xf2, 0x6b, 0x31, - 0x38, 0xd6, 0xb7, 0x47, 0xbc, 0x21, 0x37, 0x01, 0xd9, 0x81, 0x46, 0x2a, 0x6b, 0xe2, 0xe4, 0xf7, - 0xce, 0xb6, 0xdc, 0x84, 0xdd, 0x67, 0x68, 0xde, 0x22, 0xeb, 0xc9, 0xd5, 0xe3, 0xef, 0xc6, 0x60, - 0x2a, 0x38, 0x22, 0x6f, 0x6e, 0x0d, 0x18, 0x0f, 0x8e, 0x85, 0xcf, 0xea, 0xfe, 0x51, 0x66, 0x15, - 0x9c, 0x50, 0x88, 0x08, 0x99, 0x8b, 0xd8, 0x8f, 0x2c, 0x8b, 0xf8, 0xd8, 0xc8, 0x5c, 0xf2, 0x4e, - 0x48, 0x06, 0x29, 0x28, 0xb6, 0x58, 0x3f, 0x19, 0x87, 0xe4, 0xba, 0x69, 0xb6, 0xd1, 0x0f, 0xc7, - 0x60, 0xc2, 0x30, 0x5d, 0x95, 0xec, 0x62, 0xdc, 0x52, 0x79, 0x1a, 0x83, 0xe9, 0xf8, 0x6b, 0x87, - 0xe3, 0xde, 0x37, 0x5e, 0x9b, 0xed, 0x27, 0x35, 0xe8, 0xf1, 0xdf, 0x92, 0x61, 0xba, 0x55, 0x0a, - 0xb4, 0xc1, 0x32, 0x1d, 0x37, 0xa1, 0x10, 0xee, 0x9f, 0x19, 0x06, 0xe5, 0xd0, 0xfd, 0x17, 0x22, - 0xfb, 0x1e, 0xdf, 0x0a, 0x74, 0xcc, 0x9e, 0xe0, 0xfc, 0x53, 0xb2, 0xb8, 0x2f, 0x80, 0x74, 0xad, - 0xf7, 0xce, 0x5c, 0x1d, 0x32, 0x87, 0xbd, 0x7e, 0x17, 0xe4, 0x38, 0xc7, 0x95, 0xbf, 0x1d, 0x87, - 0x63, 0x5c, 0xc3, 0x5c, 0xf5, 0x95, 0x00, 0x4b, 0x38, 0xef, 0xa3, 0x8b, 0x43, 0xf3, 0x65, 0xc7, - 0xbf, 0xf5, 0xda, 0xec, 0x51, 0xa6, 0x02, 0x7b, 0x21, 0xe4, 0xfe, 0x94, 0x59, 0x17, 0x4a, 0xc4, - 0xe4, 0x07, 0x74, 0xd6, 0x81, 0x19, 0xb3, 0x27, 0xbf, 0xf5, 0xda, 0xec, 0x71, 0x4e, 0x9c, 0xa3, - 0x05, 0xb3, 0x6d, 0xf2, 0xd0, 0x84, 0x5a, 0xc1, 0x6c, 0xb7, 0x7c, 0x7d, 0x49, 0xba, 0x35, 0xf0, - 0xcd, 0x50, 0xb7, 0x89, 0xd1, 0xba, 0x15, 0x68, 0x23, 0x76, 0x6b, 0xe0, 0x9b, 0x81, 0x6e, 0xfd, - 0x73, 0xfb, 0x64, 0xf0, 0xdc, 0xde, 0x37, 0xbf, 0xa7, 0x3f, 0x13, 0x03, 0xf0, 0x53, 0x75, 0xe8, - 0x61, 0x38, 0x5a, 0x5d, 0x5b, 0x5d, 0x54, 0x1b, 0x1b, 0x95, 0x8d, 0xcd, 0x46, 0xf8, 0x9d, 0x7e, - 0xf1, 0x36, 0x8d, 0x63, 0xe1, 0xa6, 0xbe, 0xad, 0xe3, 0x16, 0x7a, 0x10, 0xa6, 0xc2, 0xd0, 0xa4, - 0x54, 0x5f, 0x94, 0x62, 0xe5, 0xf1, 0x5b, 0xb7, 0xe7, 0xb2, 0x2c, 0x44, 0xc1, 0x2d, 0x74, 0x12, - 0xee, 0xea, 0x87, 0x5b, 0x5a, 0xbd, 0x24, 0xc5, 0xcb, 0x85, 0x5b, 0xb7, 0xe7, 0x72, 0x5e, 0x2c, - 0x83, 0x64, 0x40, 0x41, 0x48, 0x4e, 0x2f, 0x51, 0x86, 0x5b, 0xb7, 0xe7, 0xd2, 0x6c, 0x33, 0x94, - 0x93, 0xef, 0xff, 0xc8, 0xcc, 0xd8, 0xe9, 0x77, 0x03, 0x2c, 0x19, 0xdb, 0xb6, 0x46, 0xff, 0x58, - 0x35, 0x2a, 0xc3, 0x91, 0xa5, 0xd5, 0x8b, 0x4a, 0xa5, 0xb6, 0xb1, 0xb4, 0xb6, 0xda, 0xf3, 0xe7, - 0x05, 0xc2, 0x6d, 0x8b, 0x6b, 0x9b, 0xd5, 0xe5, 0xba, 0xda, 0x58, 0xba, 0xb4, 0xca, 0x4e, 0xfc, - 0x43, 0x6d, 0xcf, 0xad, 0x6e, 0x2c, 0xad, 0xd4, 0xa5, 0x78, 0xf5, 0xe2, 0xd0, 0x33, 0xa7, 0x87, - 0x0f, 0xdc, 0x66, 0xbe, 0x6d, 0x0a, 0x1d, 0x3c, 0xfd, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xd6, - 0x51, 0xb9, 0x10, 0x44, 0x99, 0x00, 0x00, + 0x95, 0xac, 0x50, 0xfd, 0xe0, 0x21, 0x19, 0x51, 0x10, 0x3d, 0x09, 0x6e, 0x3c, 0x36, 0x22, 0x37, + 0xc4, 0x24, 0x42, 0x99, 0xff, 0x51, 0xb9, 0xf2, 0x0b, 0x71, 0x98, 0xed, 0xe5, 0x0a, 0xd9, 0x59, + 0x8e, 0xab, 0x75, 0xac, 0x61, 0x6c, 0xb9, 0x00, 0xb9, 0x0d, 0x01, 0x73, 0x68, 0xbe, 0xdc, 0x3e, + 0x24, 0x5f, 0x8a, 0x5e, 0x57, 0x82, 0x31, 0x67, 0x47, 0x64, 0x8c, 0x37, 0x8f, 0x3b, 0xe2, 0xcc, + 0x5f, 0xa6, 0xe1, 0x18, 0xdb, 0x4e, 0x2a, 0xdb, 0x4a, 0xac, 0xc0, 0x79, 0x32, 0x1e, 0x6c, 0x8a, + 0x3e, 0x27, 0x91, 0xaf, 0xc2, 0xe4, 0x12, 0xd1, 0x16, 0x24, 0x0a, 0xf2, 0x4f, 0x78, 0x06, 0xde, + 0x3d, 0x9d, 0x0b, 0x39, 0xfc, 0xfc, 0x84, 0x29, 0x58, 0x25, 0xff, 0x70, 0x0c, 0xa4, 0x46, 0x53, + 0x6b, 0x6b, 0xf6, 0x77, 0x4b, 0x0a, 0x3d, 0x09, 0x40, 0xbf, 0x59, 0xf2, 0x3f, 0x32, 0x2a, 0x9e, + 0x9d, 0x9e, 0x0f, 0x4e, 0x6e, 0x9e, 0xf5, 0x44, 0xbf, 0x60, 0xc8, 0x51, 0x58, 0xf2, 0xf3, 0xf4, + 0xf3, 0x00, 0x7e, 0x03, 0x3a, 0x0e, 0x47, 0x1b, 0xb5, 0xca, 0x72, 0x45, 0x51, 0xd9, 0x65, 0xf8, + 0xd5, 0xc6, 0x7a, 0xbd, 0xb6, 0x74, 0x71, 0xa9, 0xbe, 0x28, 0x8d, 0xa1, 0x23, 0x80, 0x82, 0x8d, + 0xde, 0xbd, 0x94, 0xbb, 0x60, 0x22, 0x58, 0xcf, 0x6e, 0xd4, 0xc7, 0x89, 0xa7, 0xa8, 0x77, 0xac, + 0x36, 0xa6, 0x47, 0x7f, 0xaa, 0x2e, 0xb8, 0x16, 0xed, 0x84, 0xfc, 0xee, 0xbf, 0x65, 0xb7, 0xac, + 0x27, 0x7d, 0x74, 0x8f, 0xe7, 0x0b, 0xcb, 0x30, 0xa1, 0x35, 0x9b, 0xd8, 0x0a, 0x91, 0x8c, 0x50, + 0xd5, 0x84, 0x20, 0x3d, 0xcc, 0xe4, 0x98, 0x3e, 0xb5, 0x27, 0x21, 0xed, 0xd0, 0xd9, 0x47, 0x91, + 0xf8, 0x3d, 0x4e, 0x82, 0x83, 0x2f, 0x18, 0x30, 0x41, 0x3c, 0x3f, 0xcd, 0xc6, 0x81, 0x61, 0x1c, + 0x9c, 0x67, 0xf8, 0xad, 0xcf, 0x3c, 0x4a, 0x8f, 0x36, 0xef, 0x0d, 0x2f, 0xcb, 0x00, 0x71, 0x52, + 0x24, 0x4e, 0xdb, 0x1f, 0x28, 0x86, 0xa2, 0xe8, 0x8f, 0x0f, 0xf8, 0xe0, 0xce, 0x7e, 0x9b, 0x77, + 0x36, 0x33, 0x48, 0x06, 0x02, 0x3d, 0x15, 0x38, 0x55, 0xd6, 0x50, 0xad, 0x0f, 0xdb, 0xd3, 0x2f, + 0x3e, 0xd4, 0x6f, 0x9d, 0xd8, 0x7f, 0x8f, 0x50, 0xca, 0x17, 0x82, 0xdd, 0x78, 0x7b, 0xef, 0x83, + 0x49, 0x98, 0xd0, 0x3a, 0xba, 0x61, 0x9e, 0xa1, 0xff, 0xf2, 0x3d, 0x97, 0xa2, 0x85, 0x11, 0x0e, + 0x25, 0xcf, 0xb3, 0xad, 0x10, 0x2d, 0x31, 0x7f, 0xf6, 0x93, 0x1f, 0x4b, 0xf9, 0xdb, 0x65, 0x61, + 0x05, 0x24, 0x71, 0xe1, 0x10, 0x1b, 0x4d, 0xb3, 0x35, 0x52, 0x96, 0xe2, 0xdb, 0x82, 0x86, 0xc8, + 0x6f, 0xd5, 0x39, 0xea, 0xc2, 0x3b, 0x20, 0xeb, 0x91, 0x89, 0xf2, 0x4c, 0x04, 0x11, 0x0f, 0x83, + 0xf8, 0x25, 0x6c, 0x67, 0x8e, 0xe2, 0x85, 0xbe, 0x21, 0xf0, 0xd9, 0x0e, 0x5d, 0x25, 0xb3, 0xb9, + 0x04, 0xc5, 0x96, 0x69, 0xb8, 0xaa, 0xd9, 0xd1, 0x5d, 0xdc, 0xb1, 0xdc, 0x48, 0xbf, 0xee, 0x2f, + 0x18, 0x91, 0xac, 0x52, 0x20, 0x78, 0x6b, 0x02, 0x8d, 0x8c, 0x84, 0x7d, 0x53, 0x34, 0xca, 0x48, + 0xfe, 0xbb, 0x37, 0x12, 0x8a, 0x43, 0x46, 0x72, 0x47, 0xd2, 0xe1, 0xb4, 0xae, 0x73, 0x65, 0xee, + 0xee, 0x31, 0x29, 0xf0, 0xa4, 0xe3, 0x4f, 0x12, 0x30, 0xc3, 0x81, 0xb7, 0x34, 0x07, 0x9f, 0xb9, + 0xf1, 0xd8, 0x16, 0x76, 0xb5, 0xc7, 0xce, 0x34, 0x4d, 0x5d, 0x58, 0xf2, 0x49, 0xae, 0xac, 0x49, + 0xfb, 0x3c, 0x6f, 0x2f, 0x0f, 0x3c, 0xee, 0x2e, 0x0f, 0x57, 0xf2, 0xe5, 0x7e, 0x19, 0x94, 0x5f, + 0x84, 0x64, 0xcd, 0xd4, 0x0d, 0x62, 0xdb, 0x5a, 0xd8, 0x30, 0x3b, 0x5c, 0xdd, 0xb2, 0x02, 0x3a, + 0x0f, 0x69, 0xad, 0x63, 0x76, 0x0d, 0x97, 0xa9, 0xda, 0xea, 0xcc, 0x97, 0x5e, 0x9b, 0x1d, 0xfb, + 0xf7, 0xaf, 0xcd, 0x26, 0x96, 0x0c, 0xf7, 0xf7, 0x3f, 0xfb, 0x08, 0x70, 0xea, 0x4b, 0x86, 0xfb, + 0x89, 0xaf, 0x7f, 0xea, 0x74, 0x4c, 0xe1, 0xd0, 0x0b, 0xc9, 0x6f, 0xbc, 0x3a, 0x1b, 0x93, 0x9f, + 0x87, 0xcc, 0x22, 0x6e, 0x1e, 0x40, 0xfe, 0xb1, 0x1e, 0xf2, 0xc7, 0x04, 0xf9, 0x45, 0xdc, 0x0c, + 0x90, 0x5f, 0xc4, 0xcd, 0x1e, 0xca, 0x4f, 0x42, 0x76, 0xc9, 0x70, 0xd9, 0xe7, 0x0e, 0x0f, 0x41, + 0x42, 0x37, 0xd8, 0x0d, 0xda, 0x00, 0x85, 0xbe, 0x01, 0x2a, 0x04, 0x8a, 0x20, 0x2e, 0xe2, 0xa6, + 0x87, 0xd8, 0xc2, 0xcd, 0x5e, 0xc4, 0xfe, 0xae, 0x09, 0x54, 0x75, 0xf1, 0x0f, 0xfe, 0xf3, 0xcc, + 0xd8, 0x2b, 0xaf, 0xcf, 0x8c, 0x0d, 0x5d, 0x7a, 0x39, 0x7a, 0xe9, 0xbd, 0x15, 0xff, 0x58, 0x12, + 0xee, 0xa1, 0x5f, 0xc1, 0xd9, 0x1d, 0xdd, 0x70, 0xcf, 0x34, 0xed, 0x7d, 0xcb, 0x35, 0x89, 0x02, + 0x30, 0xb7, 0xf9, 0x82, 0x4f, 0xf8, 0xcd, 0xf3, 0xac, 0x79, 0xf0, 0x72, 0xcb, 0xdb, 0x90, 0x5a, + 0x27, 0x78, 0x84, 0xc5, 0xae, 0xe9, 0x6a, 0x6d, 0xee, 0xb5, 0xb0, 0x02, 0xa9, 0x65, 0x5f, 0xce, + 0xc5, 0x59, 0xad, 0x2e, 0x3e, 0x9a, 0x6b, 0x63, 0x6d, 0x9b, 0x7d, 0x80, 0x90, 0xa0, 0xee, 0x6e, + 0x96, 0x54, 0xd0, 0x6f, 0x0d, 0xa6, 0x20, 0xa5, 0x75, 0xd9, 0xcd, 0x97, 0x04, 0xf1, 0x83, 0x69, + 0x41, 0xbe, 0x0a, 0x19, 0x7e, 0xfe, 0x8e, 0x24, 0x48, 0x5c, 0xc7, 0xfb, 0xb4, 0x9f, 0x71, 0x85, + 0xfc, 0x44, 0xf3, 0x90, 0xa2, 0x83, 0xe7, 0x5f, 0x56, 0x4d, 0xcf, 0xf7, 0x8d, 0x7e, 0x9e, 0x0e, + 0x52, 0x61, 0x60, 0xf2, 0x15, 0xc8, 0x2e, 0x9a, 0x44, 0x0a, 0xc3, 0xd4, 0x72, 0x8c, 0x1a, 0x1d, + 0xb3, 0xd5, 0xe5, 0x52, 0xa1, 0xb0, 0x02, 0x3a, 0x02, 0x69, 0xf6, 0x41, 0x0a, 0xbf, 0xbd, 0xc3, + 0x4b, 0x72, 0x0d, 0x32, 0x94, 0xf6, 0x9a, 0x45, 0x5c, 0x06, 0xef, 0xee, 0x6f, 0x8e, 0x7f, 0x9e, + 0xc8, 0xc9, 0xc7, 0xfd, 0xc1, 0x22, 0x48, 0xb6, 0x34, 0x57, 0xe3, 0xf3, 0xa6, 0xbf, 0xe5, 0x77, + 0x42, 0x96, 0x13, 0x71, 0xd0, 0x59, 0x48, 0x98, 0x96, 0xc3, 0xef, 0xdf, 0x94, 0x87, 0x4d, 0x65, + 0xcd, 0xaa, 0x26, 0x89, 0xcc, 0x28, 0x04, 0xb8, 0xba, 0x3a, 0x54, 0x2c, 0x9e, 0x08, 0x89, 0x45, + 0x07, 0xbb, 0x5b, 0xdb, 0xae, 0xff, 0x83, 0x2d, 0x67, 0x9f, 0x28, 0x78, 0x82, 0x72, 0x3b, 0x0e, + 0x33, 0x81, 0xd6, 0x1b, 0xd8, 0x76, 0x74, 0xd3, 0x60, 0xd2, 0xc4, 0x25, 0x05, 0x05, 0x06, 0xc8, + 0xdb, 0x87, 0x88, 0xca, 0x33, 0x90, 0xa8, 0x58, 0x16, 0x2a, 0x43, 0x96, 0x96, 0x9b, 0x26, 0x93, + 0x95, 0xa4, 0xe2, 0x95, 0x49, 0x9b, 0x63, 0x6e, 0xbb, 0x37, 0x35, 0xdb, 0xfb, 0x5e, 0x53, 0x94, + 0xe5, 0xa7, 0x21, 0x57, 0x33, 0x0d, 0x07, 0x1b, 0x4e, 0x97, 0xfa, 0xc2, 0x5b, 0x6d, 0xb3, 0x79, + 0x9d, 0x53, 0x60, 0x05, 0xc2, 0x6c, 0xcd, 0xb2, 0x28, 0x66, 0x52, 0x21, 0x3f, 0xd9, 0x7e, 0xad, + 0xae, 0x0d, 0x65, 0xcf, 0xb9, 0xc3, 0xb1, 0x87, 0x4f, 0xd0, 0x77, 0x6a, 0x63, 0x70, 0x77, 0xff, + 0x46, 0xba, 0x8e, 0xf7, 0x9d, 0xc3, 0xee, 0xa3, 0xe7, 0x21, 0xb7, 0x4e, 0x1f, 0x4c, 0xb8, 0x8a, + 0xf7, 0x51, 0x19, 0x32, 0xb8, 0x75, 0xf6, 0xdc, 0xb9, 0xc7, 0x9e, 0x66, 0x52, 0x7e, 0x79, 0x4c, + 0x11, 0x15, 0x68, 0x06, 0x72, 0x0e, 0x6e, 0x5a, 0x67, 0xcf, 0x9d, 0xbf, 0xfe, 0x18, 0x13, 0xab, + 0xcb, 0x63, 0x8a, 0x5f, 0xb5, 0x90, 0x25, 0x33, 0xfe, 0xc6, 0x47, 0x66, 0x63, 0xd5, 0x14, 0x24, + 0x9c, 0x6e, 0xe7, 0x2d, 0x93, 0x8d, 0x9f, 0x4f, 0xc1, 0x5c, 0xa0, 0x95, 0x19, 0x97, 0x1b, 0x5a, + 0x5b, 0x6f, 0x69, 0xfe, 0x33, 0x17, 0x52, 0x60, 0xfe, 0x14, 0x62, 0x88, 0xd5, 0x38, 0x90, 0x8b, + 0xf2, 0xa7, 0x63, 0x30, 0x7e, 0x4d, 0x50, 0x6e, 0x60, 0x17, 0x5d, 0x00, 0xf0, 0x7a, 0x12, 0x5b, + 0xe5, 0xf8, 0x7c, 0x6f, 0x5f, 0xf3, 0x1e, 0x8e, 0x12, 0x00, 0x47, 0x4f, 0x52, 0x01, 0xb4, 0x4c, + 0x87, 0x7f, 0xbb, 0x17, 0x81, 0xea, 0x01, 0xa3, 0x87, 0x01, 0x51, 0xad, 0xa6, 0xde, 0x30, 0x5d, + 0xdd, 0xd8, 0x51, 0x2d, 0xf3, 0x26, 0xff, 0x22, 0x3a, 0xa1, 0x48, 0xb4, 0xe5, 0x1a, 0x6d, 0x58, + 0x27, 0xf5, 0x64, 0xd0, 0x39, 0x8f, 0x0a, 0x09, 0xeb, 0xb4, 0x56, 0xcb, 0xc6, 0x8e, 0xc3, 0x15, + 0x97, 0x28, 0xa2, 0x0b, 0x90, 0xb1, 0xba, 0x5b, 0xaa, 0xd0, 0x12, 0xf9, 0xb3, 0x77, 0x0f, 0xda, + 0xf3, 0x42, 0x36, 0xf8, 0xae, 0x4f, 0x5b, 0xdd, 0x2d, 0x22, 0x29, 0xf7, 0xc2, 0xf8, 0x80, 0xc1, + 0xe4, 0x6f, 0xf8, 0xe3, 0xa0, 0x6f, 0x74, 0xf0, 0x19, 0xa8, 0x96, 0xad, 0x9b, 0xb6, 0xee, 0xee, + 0xd3, 0x8b, 0x73, 0x09, 0x45, 0x12, 0x0d, 0xeb, 0xbc, 0x5e, 0xbe, 0x0e, 0xa5, 0x06, 0x75, 0xf7, + 0xfd, 0x91, 0x9f, 0xf3, 0xc7, 0x17, 0x8b, 0x1e, 0xdf, 0xd0, 0x91, 0xc5, 0xfb, 0x46, 0x56, 0x5d, + 0x19, 0x2a, 0x99, 0x8f, 0x1f, 0x4e, 0x32, 0xc3, 0xd6, 0xed, 0x8f, 0x8e, 0x85, 0x36, 0x25, 0xf7, + 0x7a, 0x02, 0x2a, 0x6b, 0x54, 0xa1, 0x8c, 0x8a, 0xe4, 0xcb, 0x07, 0x1b, 0xd1, 0x72, 0x84, 0xea, + 0x2c, 0x47, 0x6e, 0x1f, 0xf9, 0x69, 0x28, 0xac, 0x6b, 0xb6, 0xdb, 0xc0, 0xee, 0x65, 0xac, 0xb5, + 0xb0, 0x1d, 0xb6, 0xb2, 0x05, 0x61, 0x65, 0x11, 0x24, 0xa9, 0x29, 0x65, 0x56, 0x86, 0xfe, 0x96, + 0x77, 0x21, 0x49, 0x2f, 0xce, 0x7a, 0x16, 0x98, 0x63, 0x30, 0x0b, 0x4c, 0xf4, 0xe7, 0xbe, 0x8b, + 0x1d, 0x91, 0x6c, 0xa2, 0x05, 0xf4, 0x84, 0xb0, 0xa3, 0x89, 0x83, 0xed, 0x28, 0x17, 0x42, 0x6e, + 0x4d, 0xdb, 0x90, 0xa9, 0x12, 0xf5, 0xbb, 0xb4, 0xe8, 0x0d, 0x24, 0xe6, 0x0f, 0x04, 0xad, 0x40, + 0xc9, 0xd2, 0x6c, 0x97, 0x7e, 0x73, 0xb4, 0x4b, 0x67, 0xc1, 0xe5, 0x7c, 0xb6, 0x7f, 0xd7, 0x85, + 0x26, 0xcb, 0x7b, 0x29, 0x58, 0xc1, 0x4a, 0xf9, 0xbf, 0x24, 0x21, 0xcd, 0x99, 0xf1, 0x0c, 0x64, + 0x38, 0x5b, 0xb9, 0x64, 0xde, 0x33, 0xdf, 0x6f, 0x8c, 0xe6, 0x3d, 0xa3, 0xc1, 0xe9, 0x09, 0x1c, + 0xf4, 0x20, 0x64, 0x9b, 0xbb, 0x9a, 0x6e, 0xa8, 0x7a, 0x8b, 0x3b, 0x80, 0xf9, 0xd7, 0x5f, 0x9b, + 0xcd, 0xd4, 0x48, 0xdd, 0xd2, 0xa2, 0x92, 0xa1, 0x8d, 0x4b, 0x2d, 0x62, 0xf9, 0x77, 0xb1, 0xbe, + 0xb3, 0xeb, 0xf2, 0xdd, 0xc5, 0x4b, 0xe8, 0x29, 0x48, 0x12, 0x81, 0xe0, 0x5f, 0xa4, 0x96, 0xfb, + 0xfc, 0x78, 0x2f, 0xd1, 0x52, 0xcd, 0x92, 0x8e, 0xdf, 0xff, 0x9f, 0x66, 0x63, 0x0a, 0xc5, 0x40, + 0x35, 0x28, 0xb4, 0x35, 0xc7, 0x55, 0xa9, 0xd5, 0x22, 0xdd, 0xa7, 0x28, 0x89, 0x63, 0xfd, 0x0c, + 0xe1, 0x8c, 0xe5, 0x43, 0xcf, 0x13, 0x2c, 0x56, 0xd5, 0x42, 0x27, 0x41, 0xa2, 0x44, 0x9a, 0x66, + 0xa7, 0xa3, 0xbb, 0xcc, 0x97, 0x4a, 0x53, 0xbe, 0x17, 0x49, 0x7d, 0x8d, 0x56, 0x53, 0x8f, 0xea, + 0x38, 0xe4, 0xe8, 0x37, 0x70, 0x14, 0x84, 0xdd, 0xd6, 0xce, 0x92, 0x0a, 0xda, 0x78, 0x02, 0x4a, + 0xbe, 0x6e, 0x64, 0x20, 0x59, 0x46, 0xc5, 0xaf, 0xa6, 0x80, 0x8f, 0xc2, 0x94, 0x81, 0xf7, 0xe8, + 0xfd, 0xf1, 0x10, 0x74, 0x8e, 0x42, 0x23, 0xd2, 0x76, 0x2d, 0x8c, 0xf1, 0x00, 0x14, 0x9b, 0x82, + 0xf9, 0x0c, 0x16, 0x28, 0x6c, 0xc1, 0xab, 0xa5, 0x60, 0xc7, 0x20, 0xab, 0x59, 0x16, 0x03, 0xc8, + 0x73, 0xdd, 0x68, 0x59, 0xb4, 0xe9, 0x34, 0x4c, 0xd0, 0x39, 0xda, 0xd8, 0xe9, 0xb6, 0x5d, 0x4e, + 0x64, 0x9c, 0xc2, 0x94, 0x48, 0x83, 0xc2, 0xea, 0x29, 0xec, 0x7d, 0x50, 0xc0, 0x37, 0xf4, 0x16, + 0x36, 0x9a, 0x98, 0xc1, 0x15, 0x28, 0xdc, 0xb8, 0xa8, 0xa4, 0x40, 0xa7, 0xc0, 0xd3, 0x79, 0xaa, + 0xd0, 0xc7, 0x45, 0x46, 0x4f, 0xd4, 0x57, 0x58, 0xb5, 0x3c, 0x0d, 0xc9, 0x45, 0xcd, 0xd5, 0x88, + 0x53, 0xe1, 0xee, 0x31, 0x23, 0x33, 0xae, 0x90, 0x9f, 0xf2, 0x37, 0xe2, 0x90, 0xbc, 0x66, 0xba, + 0x18, 0x3d, 0x1e, 0x70, 0xf8, 0x8a, 0x83, 0xe4, 0xb9, 0xa1, 0xef, 0x18, 0xb8, 0xb5, 0xe2, 0xec, + 0x04, 0x1e, 0xac, 0xf0, 0xc5, 0x29, 0x1e, 0x12, 0xa7, 0x29, 0x48, 0xd9, 0x66, 0xd7, 0x68, 0x89, + 0x8b, 0xce, 0xb4, 0x80, 0xea, 0x90, 0xf5, 0xa4, 0x24, 0x19, 0x25, 0x25, 0x25, 0x22, 0x25, 0x44, + 0x86, 0x79, 0x85, 0x92, 0xd9, 0xe2, 0xc2, 0x52, 0x85, 0x9c, 0xa7, 0xbc, 0xb8, 0xb4, 0x8d, 0x26, + 0xb0, 0x3e, 0x1a, 0x31, 0x24, 0xde, 0xda, 0x7b, 0xcc, 0x63, 0x12, 0x27, 0x79, 0x0d, 0x9c, 0x7b, + 0x21, 0xb1, 0xe2, 0x8f, 0x67, 0x64, 0xe8, 0xbc, 0x7c, 0xb1, 0x62, 0x0f, 0x68, 0xdc, 0x0d, 0x39, + 0x47, 0xdf, 0x31, 0x34, 0xb7, 0x6b, 0x63, 0x2e, 0x79, 0x7e, 0x85, 0xfc, 0xc5, 0x18, 0xa4, 0x99, + 0x24, 0x07, 0xf8, 0x16, 0x1b, 0xcc, 0xb7, 0xf8, 0x30, 0xbe, 0x25, 0xee, 0x9c, 0x6f, 0x15, 0x00, + 0x6f, 0x30, 0x0e, 0x7f, 0xd3, 0x60, 0x80, 0xb7, 0xc0, 0x86, 0xd8, 0xd0, 0x77, 0xf8, 0x46, 0x0d, + 0x20, 0xc9, 0xff, 0x31, 0x46, 0x1c, 0x57, 0xde, 0x8e, 0x2a, 0x50, 0x10, 0xe3, 0x52, 0xb7, 0xdb, + 0xda, 0x0e, 0x97, 0x9d, 0x7b, 0x86, 0x0e, 0xee, 0x62, 0x5b, 0xdb, 0x51, 0xf2, 0x7c, 0x3c, 0xa4, + 0x30, 0x78, 0x1d, 0xe2, 0x43, 0xd6, 0x21, 0xb4, 0xf0, 0x89, 0x3b, 0x5b, 0xf8, 0xd0, 0x12, 0x25, + 0x7b, 0x97, 0xe8, 0x33, 0x71, 0x1a, 0xbc, 0x58, 0xa6, 0xa3, 0xb5, 0xdf, 0x8e, 0x1d, 0x71, 0x1c, + 0x72, 0x96, 0xd9, 0x56, 0x59, 0x0b, 0xfb, 0x00, 0x20, 0x6b, 0x99, 0x6d, 0xa5, 0x6f, 0xd9, 0x53, + 0x6f, 0xd2, 0x76, 0x49, 0xbf, 0x09, 0x5c, 0xcb, 0xf4, 0x72, 0xcd, 0x86, 0x71, 0xc6, 0x0a, 0x6e, + 0xcb, 0x1e, 0x25, 0x3c, 0xa0, 0xc6, 0x31, 0xd6, 0x6f, 0x7b, 0xd9, 0xb0, 0x19, 0xa4, 0xc2, 0xe1, + 0x08, 0x06, 0x53, 0xfd, 0x83, 0xa2, 0xde, 0xa0, 0x58, 0x2a, 0x1c, 0x4e, 0xfe, 0xf9, 0x18, 0xc0, + 0x32, 0xe1, 0x2c, 0x9d, 0x2f, 0xb1, 0x42, 0x0e, 0x1d, 0x82, 0x1a, 0xea, 0x79, 0x66, 0xd8, 0xa2, + 0xf1, 0xfe, 0xc7, 0x9d, 0xe0, 0xb8, 0x6b, 0x50, 0xf0, 0x85, 0xd1, 0xc1, 0x62, 0x30, 0x33, 0x07, + 0x78, 0xd4, 0x0d, 0xec, 0x2a, 0xe3, 0x37, 0x02, 0x25, 0xf9, 0x9f, 0xc4, 0x20, 0x47, 0xc7, 0xb4, + 0x82, 0x5d, 0x2d, 0xb4, 0x86, 0xb1, 0x3b, 0x5f, 0xc3, 0x7b, 0x00, 0x18, 0x19, 0x47, 0x7f, 0x19, + 0x73, 0xc9, 0xca, 0xd1, 0x9a, 0x86, 0xfe, 0x32, 0x46, 0xe7, 0x3d, 0x86, 0x27, 0x0e, 0x66, 0xb8, + 0xf0, 0xb8, 0x39, 0xdb, 0x8f, 0x42, 0x86, 0xbe, 0x01, 0xb6, 0xe7, 0x70, 0x27, 0x3a, 0x6d, 0x74, + 0x3b, 0x1b, 0x7b, 0x8e, 0xfc, 0x12, 0x64, 0x36, 0xf6, 0x58, 0x2e, 0xe4, 0x38, 0xe4, 0x6c, 0xd3, + 0xe4, 0x36, 0x99, 0xf9, 0x42, 0x59, 0x52, 0x41, 0x4d, 0x90, 0x88, 0xff, 0xe3, 0x7e, 0xfc, 0xef, + 0x27, 0x30, 0x12, 0x23, 0x25, 0x30, 0x4e, 0xff, 0xbb, 0x18, 0xe4, 0x03, 0xfa, 0x01, 0x3d, 0x06, + 0x77, 0x55, 0x97, 0xd7, 0x6a, 0x57, 0xd5, 0xa5, 0x45, 0xf5, 0xe2, 0x72, 0xe5, 0x92, 0xff, 0x89, + 0x5b, 0xf9, 0xc8, 0xad, 0xdb, 0x73, 0x28, 0x00, 0xbb, 0x69, 0xd0, 0xd3, 0x1c, 0x74, 0x06, 0xa6, + 0xc2, 0x28, 0x95, 0x6a, 0xa3, 0xbe, 0xba, 0x21, 0xc5, 0xca, 0x77, 0xdd, 0xba, 0x3d, 0x37, 0x11, + 0xc0, 0xa8, 0x6c, 0x39, 0xd8, 0x70, 0xfb, 0x11, 0x6a, 0x6b, 0x2b, 0x2b, 0x4b, 0x1b, 0x52, 0xbc, + 0x0f, 0x81, 0x2b, 0xec, 0x53, 0x30, 0x11, 0x46, 0x58, 0x5d, 0x5a, 0x96, 0x12, 0x65, 0x74, 0xeb, + 0xf6, 0x5c, 0x31, 0x00, 0xbd, 0xaa, 0xb7, 0xcb, 0xd9, 0xf7, 0x7d, 0x74, 0x66, 0xec, 0x13, 0x7f, + 0x77, 0x26, 0x46, 0x66, 0x56, 0x08, 0xe9, 0x08, 0xf4, 0x30, 0x1c, 0x6d, 0x2c, 0x5d, 0x5a, 0xad, + 0x2f, 0xaa, 0x2b, 0x8d, 0x4b, 0xe2, 0x3c, 0x44, 0xcc, 0xae, 0x74, 0xeb, 0xf6, 0x5c, 0x9e, 0x4f, + 0x69, 0x18, 0xf4, 0xba, 0x52, 0xbf, 0xb6, 0xb6, 0x51, 0x97, 0x62, 0x0c, 0x7a, 0xdd, 0xc6, 0x37, + 0x4c, 0x97, 0x3d, 0x12, 0xf8, 0x28, 0x1c, 0x1b, 0x00, 0xed, 0x4d, 0x6c, 0xe2, 0xd6, 0xed, 0xb9, + 0xc2, 0xba, 0x8d, 0xd9, 0xfe, 0xa1, 0x18, 0xf3, 0x30, 0xdd, 0x8f, 0xb1, 0xb6, 0xbe, 0xd6, 0xa8, + 0x2c, 0x4b, 0x73, 0x65, 0xe9, 0xd6, 0xed, 0xb9, 0x71, 0xa1, 0x0c, 0x09, 0xbc, 0x3f, 0xb3, 0xb7, + 0x2a, 0xda, 0xf9, 0xf1, 0x4c, 0x28, 0x97, 0xc7, 0xe2, 0x08, 0x4b, 0xb3, 0xb5, 0xce, 0x61, 0xc3, + 0x9d, 0x88, 0xe3, 0x5c, 0xf9, 0x95, 0x38, 0x94, 0x3c, 0x67, 0x7a, 0x9d, 0xf6, 0x80, 0x1e, 0x0f, + 0xe6, 0x61, 0xf2, 0x43, 0xcd, 0x18, 0x83, 0x16, 0x69, 0x9a, 0x77, 0x40, 0x56, 0x38, 0x65, 0x5c, + 0x5d, 0xcc, 0xf5, 0xe3, 0xd5, 0x39, 0x04, 0x47, 0xf5, 0x30, 0xd0, 0xb3, 0x90, 0xf3, 0x94, 0x87, + 0xf7, 0xc4, 0xce, 0x70, 0x6d, 0xc3, 0xf1, 0x7d, 0x1c, 0xf4, 0xb4, 0x1f, 0x36, 0x24, 0x87, 0x05, + 0x22, 0xd7, 0x18, 0x00, 0x47, 0x16, 0xf0, 0xf2, 0x12, 0xdf, 0x76, 0x7c, 0xf6, 0xf4, 0x79, 0x82, + 0x3d, 0x95, 0x45, 0x52, 0xcc, 0x2b, 0xc9, 0x76, 0xb4, 0xbd, 0x2a, 0x0d, 0xa6, 0x8e, 0x42, 0x86, + 0x34, 0xee, 0xf0, 0xaf, 0xaf, 0x13, 0x4a, 0xba, 0xa3, 0xed, 0x5d, 0xd2, 0x9c, 0x2b, 0xc9, 0x6c, + 0x42, 0x4a, 0xca, 0x9f, 0x8c, 0x41, 0x31, 0x3c, 0x47, 0xf4, 0x10, 0x20, 0x82, 0xa1, 0xed, 0x60, + 0x95, 0xa8, 0x18, 0xca, 0x2c, 0x41, 0xb7, 0xd4, 0xd1, 0xf6, 0x2a, 0x3b, 0x78, 0xb5, 0xdb, 0xa1, + 0x03, 0x70, 0xd0, 0x0a, 0x48, 0x02, 0x58, 0xac, 0x13, 0x67, 0xe6, 0xb1, 0xfe, 0x07, 0xf7, 0x38, + 0x00, 0x33, 0x54, 0x1f, 0x20, 0x86, 0xaa, 0xc8, 0xe8, 0x79, 0xc7, 0xf1, 0xa1, 0xa9, 0x24, 0xc2, + 0x53, 0x91, 0x9f, 0x85, 0x52, 0x0f, 0x3f, 0x91, 0x0c, 0x05, 0x9e, 0x15, 0xa0, 0x47, 0x9d, 0xcc, + 0x3f, 0xce, 0x29, 0x79, 0x16, 0xfd, 0xd3, 0xa3, 0xdf, 0x85, 0xec, 0x17, 0x5e, 0x9d, 0x8d, 0xd1, + 0x84, 0xf9, 0x43, 0x50, 0x08, 0x71, 0x54, 0x64, 0xea, 0x62, 0x7e, 0xa6, 0xce, 0x07, 0x7e, 0x11, + 0xc6, 0x89, 0xa2, 0xc4, 0x2d, 0x0e, 0xfb, 0x20, 0x94, 0x98, 0x22, 0xef, 0xe5, 0x35, 0xf3, 0xa4, + 0x56, 0x04, 0xc3, 0x65, 0xe1, 0x5a, 0x85, 0xd9, 0x9e, 0x17, 0x50, 0x97, 0x34, 0xa7, 0xfa, 0xae, + 0x4f, 0xbc, 0x3e, 0x13, 0x7b, 0x6b, 0x36, 0xe2, 0x57, 0xde, 0x05, 0xc7, 0x03, 0x8d, 0xda, 0x56, + 0x53, 0x0f, 0x65, 0x1d, 0x4a, 0x01, 0x21, 0x23, 0x8d, 0x51, 0xd9, 0x83, 0x03, 0x73, 0x18, 0x07, + 0x27, 0xcc, 0xca, 0x07, 0x6b, 0x84, 0xe8, 0xc4, 0xc6, 0xe0, 0x1c, 0xe5, 0xff, 0xc9, 0x42, 0x46, + 0xc1, 0xef, 0xe9, 0x62, 0xc7, 0x45, 0x67, 0x21, 0x89, 0x9b, 0xbb, 0xe6, 0xa0, 0x94, 0x10, 0x99, + 0xdc, 0x3c, 0x87, 0xab, 0x37, 0x77, 0xcd, 0xcb, 0x63, 0x0a, 0x85, 0x45, 0xe7, 0x20, 0xb5, 0xdd, + 0xee, 0xf2, 0x3c, 0x45, 0x8f, 0xb2, 0x08, 0x22, 0x5d, 0x24, 0x40, 0x97, 0xc7, 0x14, 0x06, 0x4d, + 0xba, 0xa2, 0x4f, 0x97, 0x26, 0x0e, 0xee, 0x6a, 0xc9, 0xd8, 0xa6, 0x5d, 0x11, 0x58, 0x54, 0x05, + 0xd0, 0x0d, 0xdd, 0x55, 0x69, 0x0c, 0xcf, 0x3d, 0xc1, 0x7b, 0x87, 0x63, 0xea, 0x2e, 0x8d, 0xfa, + 0x2f, 0x8f, 0x29, 0x39, 0x5d, 0x14, 0xc8, 0x70, 0xdf, 0xd3, 0xc5, 0xf6, 0x3e, 0x77, 0x00, 0x87, + 0x0e, 0xf7, 0x5d, 0x04, 0x88, 0x0c, 0x97, 0x42, 0xa3, 0x3a, 0xe4, 0xe9, 0x37, 0xaa, 0x6c, 0xff, + 0xf2, 0x67, 0x34, 0xe5, 0x61, 0xc8, 0x55, 0x02, 0x4a, 0xb7, 0xf4, 0xe5, 0x31, 0x05, 0xb6, 0xbc, + 0x12, 0x51, 0x92, 0xec, 0x99, 0x25, 0x77, 0x8f, 0x3f, 0x1e, 0x38, 0x3b, 0x8c, 0x06, 0x7d, 0x6b, + 0x69, 0x63, 0xef, 0xf2, 0x98, 0x92, 0x69, 0xb2, 0x9f, 0x64, 0xfe, 0x2d, 0xdc, 0xd6, 0x6f, 0x60, + 0x9b, 0xe0, 0xe7, 0x0e, 0x9e, 0xff, 0x22, 0x83, 0xa4, 0x14, 0x72, 0x2d, 0x51, 0x20, 0x8a, 0x16, + 0x1b, 0x2d, 0x3e, 0x0d, 0xe8, 0xd7, 0xd3, 0xa1, 0x75, 0x36, 0x5a, 0x62, 0x12, 0x59, 0xcc, 0x7f, + 0xa3, 0xa7, 0x3c, 0x0f, 0x35, 0xdf, 0xef, 0x14, 0x86, 0x26, 0xc0, 0x72, 0x15, 0x63, 0xc2, 0x53, + 0x45, 0xab, 0x50, 0x6c, 0xeb, 0x8e, 0xab, 0x3a, 0x86, 0x66, 0x39, 0xbb, 0xa6, 0xeb, 0xd0, 0xa0, + 0x3f, 0x7f, 0xf6, 0x81, 0x61, 0x14, 0x96, 0x75, 0xc7, 0x6d, 0x08, 0xe0, 0xcb, 0x63, 0x4a, 0xa1, + 0x1d, 0xac, 0x20, 0xf4, 0xcc, 0xed, 0x6d, 0x6c, 0x7b, 0x04, 0x69, 0x72, 0xe0, 0x00, 0x7a, 0x6b, + 0x04, 0x5a, 0xe0, 0x13, 0x7a, 0x66, 0xb0, 0x02, 0x7d, 0x3f, 0x4c, 0xb6, 0x4d, 0xad, 0xe5, 0x91, + 0x53, 0x9b, 0xbb, 0x5d, 0xe3, 0x3a, 0xcd, 0x24, 0xe4, 0xcf, 0x9e, 0x1a, 0x3a, 0x48, 0x53, 0x6b, + 0x09, 0x12, 0x35, 0x82, 0x70, 0x79, 0x4c, 0x99, 0x68, 0xf7, 0x56, 0xa2, 0x77, 0xc3, 0x94, 0x66, + 0x59, 0xed, 0xfd, 0x5e, 0xea, 0x25, 0x4a, 0xfd, 0xf4, 0x30, 0xea, 0x15, 0x82, 0xd3, 0x4b, 0x1e, + 0x69, 0x7d, 0xb5, 0x68, 0x03, 0x24, 0xcb, 0xc6, 0xf4, 0xa3, 0x1a, 0x8b, 0xbb, 0x2a, 0xf4, 0x65, + 0xac, 0xfc, 0xd9, 0x13, 0xc3, 0x68, 0xaf, 0x33, 0x78, 0xe1, 0xd9, 0x5c, 0x1e, 0x53, 0x4a, 0x56, + 0xb8, 0x8a, 0x51, 0x35, 0x9b, 0x98, 0xbe, 0xde, 0xc4, 0xa9, 0x4e, 0x44, 0x51, 0xa5, 0xf0, 0x61, + 0xaa, 0xa1, 0xaa, 0x6a, 0x86, 0x5f, 0x8a, 0xe3, 0x4f, 0xab, 0x9c, 0x80, 0x7c, 0x40, 0xb1, 0xa0, + 0x69, 0xc8, 0xf0, 0x4b, 0x02, 0xe2, 0x32, 0x1d, 0x2f, 0xca, 0x45, 0x18, 0x0f, 0x2a, 0x13, 0xf9, + 0xfd, 0x31, 0x0f, 0x93, 0x7e, 0xeb, 0x3e, 0x1d, 0x4e, 0x1d, 0xe6, 0xfc, 0xac, 0xe0, 0x7d, 0xc2, + 0x8a, 0x88, 0x76, 0x76, 0x9a, 0x34, 0x4e, 0x2b, 0xb9, 0x11, 0x43, 0xb3, 0x90, 0xb7, 0xce, 0x5a, + 0x1e, 0x48, 0x82, 0x82, 0x80, 0x75, 0xd6, 0x12, 0x00, 0xf7, 0xc2, 0x38, 0x99, 0xa9, 0x1a, 0x74, + 0x34, 0x72, 0x4a, 0x9e, 0xd4, 0x71, 0x10, 0xf9, 0x5f, 0xc5, 0x41, 0xea, 0x55, 0x40, 0x5e, 0x4e, + 0x31, 0x76, 0xe8, 0x9c, 0xe2, 0xb1, 0xde, 0x6c, 0xa6, 0x9f, 0xc0, 0x5c, 0x06, 0xc9, 0xcf, 0xc3, + 0x31, 0x43, 0x30, 0xdc, 0x71, 0xea, 0xf1, 0xf0, 0x94, 0x52, 0xb3, 0xc7, 0xe5, 0xbb, 0x18, 0x3a, + 0x7b, 0x11, 0x6f, 0x73, 0xf7, 0x2e, 0xb1, 0xe7, 0x2f, 0x6c, 0x5a, 0x2d, 0xcd, 0xc5, 0x22, 0x2f, + 0x12, 0x38, 0x86, 0x79, 0x10, 0x4a, 0x9a, 0x65, 0xa9, 0x8e, 0xab, 0xb9, 0x98, 0x9b, 0xf5, 0x14, + 0x4b, 0x0f, 0x6a, 0x96, 0xd5, 0x20, 0xb5, 0xcc, 0xac, 0x3f, 0x00, 0x45, 0xa2, 0x93, 0x75, 0xad, + 0xad, 0xf2, 0x2c, 0x41, 0x9a, 0x59, 0x7f, 0x5e, 0x7b, 0x99, 0x56, 0xca, 0x2d, 0x6f, 0xc5, 0xa9, + 0x3e, 0xf6, 0xc2, 0xac, 0x58, 0x20, 0xcc, 0x42, 0xfc, 0x11, 0x02, 0xc6, 0x1f, 0xf1, 0x6e, 0xc3, + 0xe0, 0xec, 0xee, 0x14, 0x0d, 0xc9, 0x6e, 0xb0, 0x84, 0x47, 0x56, 0x61, 0x05, 0xf9, 0xbd, 0x71, + 0x98, 0xe8, 0xd3, 0xdc, 0x03, 0xd3, 0xde, 0x7e, 0x7c, 0x19, 0x3f, 0x54, 0x7c, 0x79, 0x35, 0x9c, + 0xd6, 0x0d, 0x58, 0xbe, 0xe3, 0x7d, 0x4c, 0x66, 0x7a, 0x93, 0x08, 0x34, 0x27, 0x12, 0xc8, 0xfc, + 0x52, 0x31, 0xdf, 0x84, 0xa9, 0xad, 0xfd, 0x97, 0x35, 0xc3, 0xd5, 0x0d, 0xac, 0xf6, 0xad, 0x5a, + 0xbf, 0x29, 0x5d, 0xd1, 0x9d, 0x2d, 0xbc, 0xab, 0xdd, 0xd0, 0x4d, 0x31, 0xac, 0x49, 0x0f, 0xdf, + 0x4f, 0xee, 0xca, 0x0a, 0x14, 0xc3, 0xa6, 0x07, 0x15, 0x21, 0xee, 0xee, 0xf1, 0xf9, 0xc7, 0xdd, + 0x3d, 0xf4, 0x28, 0xcf, 0x03, 0xc5, 0x69, 0x1e, 0xa8, 0xbf, 0x23, 0x8e, 0xe7, 0x27, 0x81, 0x64, + 0xd9, 0xdb, 0x0d, 0x9e, 0x39, 0xea, 0xa5, 0x2a, 0x9f, 0x82, 0x52, 0x8f, 0xbd, 0x19, 0x96, 0x15, + 0x94, 0x4b, 0x50, 0x08, 0x19, 0x17, 0xf9, 0x08, 0x4c, 0x0d, 0xb2, 0x15, 0xf2, 0xae, 0x57, 0x1f, + 0xd2, 0xf9, 0xe8, 0x1c, 0x64, 0x3d, 0x63, 0x31, 0x20, 0x0b, 0x41, 0x67, 0x21, 0x80, 0x15, 0x0f, + 0x34, 0x94, 0xcc, 0x8e, 0x87, 0x92, 0xd9, 0xf2, 0x0f, 0xc1, 0xf4, 0x30, 0x43, 0xd0, 0x33, 0x8d, + 0xa4, 0x27, 0x85, 0x47, 0x20, 0xcd, 0x9f, 0x68, 0x8b, 0xd3, 0xe3, 0x1b, 0x5e, 0x22, 0xd2, 0xc9, + 0x8c, 0x42, 0x82, 0x9d, 0xea, 0xd0, 0x82, 0xac, 0xc2, 0xb1, 0xa1, 0xc6, 0x60, 0xf8, 0x41, 0x10, + 0x23, 0xc4, 0x0f, 0x82, 0x9a, 0x62, 0x38, 0x0e, 0x9d, 0xab, 0xb8, 0xec, 0xc0, 0x4a, 0xf2, 0x07, + 0x12, 0x70, 0x64, 0xb0, 0x49, 0x40, 0x73, 0x30, 0x4e, 0xfc, 0x6e, 0x37, 0xec, 0xa2, 0x43, 0x47, + 0xdb, 0xdb, 0xe0, 0xfe, 0x39, 0x4f, 0xa4, 0xc7, 0xbd, 0x44, 0x3a, 0xda, 0x84, 0x89, 0xb6, 0xd9, + 0xd4, 0xda, 0x6a, 0x40, 0xe2, 0xb9, 0xb0, 0xdf, 0xd7, 0xc7, 0xec, 0x3a, 0x7b, 0xb8, 0xb9, 0xd5, + 0x27, 0xf4, 0x25, 0x4a, 0x63, 0xd9, 0x93, 0x7c, 0xb4, 0x08, 0xf9, 0x8e, 0x2f, 0xc8, 0x87, 0x10, + 0xf6, 0x20, 0x5a, 0x60, 0x49, 0x52, 0x03, 0x8f, 0x7d, 0xd2, 0x87, 0x56, 0xd1, 0xc3, 0x4e, 0x50, + 0x32, 0x43, 0x4f, 0x50, 0x06, 0x1d, 0x57, 0x64, 0x07, 0x1f, 0x57, 0xbc, 0x2f, 0xb8, 0x34, 0x21, + 0x23, 0xda, 0x7f, 0x82, 0x81, 0x1a, 0x30, 0xc5, 0xf1, 0x5b, 0x21, 0xde, 0xc7, 0x47, 0x55, 0x34, + 0x48, 0xa0, 0x0f, 0x67, 0x7b, 0xe2, 0xce, 0xd8, 0x2e, 0x74, 0x69, 0x32, 0xa0, 0x4b, 0xff, 0x1f, + 0x5b, 0x8a, 0x7f, 0x93, 0x83, 0xac, 0x82, 0x1d, 0x8b, 0x18, 0x4e, 0x54, 0x85, 0x1c, 0xde, 0x6b, + 0x62, 0xcb, 0xf5, 0x8f, 0x29, 0x07, 0x05, 0x03, 0x0c, 0xba, 0x2e, 0x20, 0x89, 0x27, 0xee, 0xa1, + 0xa1, 0xc7, 0x79, 0xb0, 0x35, 0x3c, 0x6e, 0xe2, 0xe8, 0xc1, 0x68, 0xeb, 0xbc, 0x88, 0xb6, 0x12, + 0x43, 0x9d, 0x6f, 0x86, 0xd5, 0x13, 0x6e, 0x3d, 0xce, 0xc3, 0xad, 0x64, 0x44, 0x67, 0xa1, 0x78, + 0xab, 0x16, 0x8a, 0xb7, 0xd2, 0x11, 0xd3, 0x1c, 0x12, 0x70, 0x9d, 0x17, 0x01, 0x57, 0x26, 0x62, + 0xc4, 0x3d, 0x11, 0xd7, 0xc5, 0x70, 0xc4, 0x95, 0x1d, 0xa2, 0x40, 0x04, 0xf6, 0xd0, 0x90, 0xeb, + 0x99, 0x40, 0xc8, 0x95, 0x1b, 0x1a, 0xef, 0x30, 0x22, 0x03, 0x62, 0xae, 0x5a, 0x28, 0xe6, 0x82, + 0x08, 0x1e, 0x0c, 0x09, 0xba, 0xbe, 0x2f, 0x18, 0x74, 0xe5, 0x87, 0xc6, 0x6d, 0x7c, 0xbd, 0x07, + 0x45, 0x5d, 0x4f, 0x7b, 0x51, 0xd7, 0xf8, 0xd0, 0xb0, 0x91, 0xcf, 0xa1, 0x37, 0xec, 0x5a, 0xeb, + 0x0b, 0xbb, 0x0a, 0xfc, 0x6f, 0x22, 0x0c, 0x23, 0x11, 0x11, 0x77, 0xad, 0xf5, 0xc5, 0x5d, 0xc5, + 0x08, 0x82, 0x11, 0x81, 0xd7, 0x0f, 0x0c, 0x0e, 0xbc, 0x86, 0x87, 0x46, 0x7c, 0x98, 0xa3, 0x45, + 0x5e, 0xea, 0x90, 0xc8, 0x8b, 0x45, 0x47, 0x0f, 0x0d, 0x25, 0x3f, 0x72, 0xe8, 0xb5, 0x39, 0x20, + 0xf4, 0x62, 0x41, 0xd2, 0xc9, 0xa1, 0xc4, 0x47, 0x88, 0xbd, 0x36, 0x07, 0xc4, 0x5e, 0x28, 0x92, + 0xec, 0x61, 0x82, 0xaf, 0x94, 0x94, 0x96, 0x4f, 0x11, 0xd7, 0xb7, 0x47, 0x4f, 0x11, 0xff, 0x01, + 0xdb, 0xb6, 0x69, 0x8b, 0x9b, 0xb5, 0xb4, 0x20, 0x9f, 0x24, 0xce, 0xb8, 0xaf, 0x93, 0x0e, 0x08, + 0xd4, 0xa8, 0x9f, 0x16, 0xd0, 0x43, 0xf2, 0x17, 0x62, 0x3e, 0x2e, 0xf5, 0x61, 0x83, 0x8e, 0x7c, + 0x8e, 0x3b, 0xf2, 0x81, 0xf0, 0x2d, 0x1e, 0x0e, 0xdf, 0x66, 0x21, 0x4f, 0xfc, 0xaf, 0x9e, 0xc8, + 0x4c, 0xb3, 0xbc, 0xc8, 0x4c, 0x5c, 0x29, 0x60, 0x41, 0x1e, 0x37, 0x2b, 0xec, 0x24, 0xa7, 0xe4, + 0x5d, 0xaf, 0x60, 0x31, 0x05, 0x7a, 0x04, 0x26, 0x03, 0xb0, 0x9e, 0x5f, 0xc7, 0xc2, 0x14, 0xc9, + 0x83, 0xae, 0x70, 0x07, 0xef, 0x9f, 0xc6, 0x7c, 0x0e, 0xf9, 0x21, 0xdd, 0xa0, 0xe8, 0x2b, 0xf6, + 0x26, 0x45, 0x5f, 0xf1, 0x3b, 0x8e, 0xbe, 0x82, 0x7e, 0x6a, 0x22, 0xec, 0xa7, 0xfe, 0x8f, 0x98, + 0xbf, 0x26, 0x5e, 0x2c, 0xd5, 0x34, 0x5b, 0x98, 0x7b, 0x8e, 0xf4, 0x37, 0x71, 0x2a, 0xda, 0xe6, + 0x0e, 0xf7, 0x0f, 0xc9, 0x4f, 0x02, 0xe5, 0x19, 0x8e, 0x1c, 0xb7, 0x0b, 0x9e, 0xd3, 0x99, 0x0a, + 0xde, 0xff, 0xe5, 0x97, 0x62, 0xd3, 0xfe, 0xa5, 0x58, 0xef, 0xe3, 0xb7, 0x4c, 0xe0, 0xe3, 0x37, + 0xf4, 0x14, 0xe4, 0x68, 0x46, 0x54, 0x35, 0x2d, 0xf1, 0x17, 0x34, 0x8e, 0x0f, 0xbf, 0x10, 0xeb, + 0xd0, 0xab, 0x7a, 0xec, 0x12, 0xad, 0xef, 0x31, 0xe4, 0x42, 0x1e, 0xc3, 0xdd, 0x90, 0x23, 0xa3, + 0x67, 0x2f, 0x41, 0x03, 0xff, 0x72, 0x52, 0x54, 0xc8, 0xef, 0x06, 0xd4, 0x6f, 0x24, 0xd0, 0x65, + 0x48, 0xe3, 0x1b, 0xf4, 0x59, 0x3d, 0x76, 0xd1, 0xf0, 0x48, 0xbf, 0x6b, 0x4a, 0x9a, 0xab, 0xd3, + 0x84, 0xc9, 0xdf, 0x7c, 0x6d, 0x56, 0x62, 0xd0, 0x0f, 0x7b, 0x1f, 0x0a, 0x28, 0x1c, 0x5f, 0xfe, + 0x0f, 0x71, 0x12, 0xc0, 0x84, 0x0c, 0xc8, 0x40, 0xde, 0x0e, 0x3a, 0x22, 0x1c, 0x8d, 0xdf, 0x33, + 0x00, 0x3b, 0x9a, 0xa3, 0xde, 0xd4, 0x0c, 0x17, 0xb7, 0x38, 0xd3, 0x03, 0x35, 0xa8, 0x0c, 0x59, + 0x52, 0xea, 0x3a, 0xb8, 0xc5, 0xc3, 0x68, 0xaf, 0x1c, 0x98, 0x67, 0xe6, 0xbb, 0x9b, 0x67, 0x98, + 0xcb, 0xd9, 0x1e, 0x2e, 0x07, 0x82, 0x8b, 0x5c, 0x30, 0xb8, 0x60, 0x17, 0x83, 0xf9, 0xfd, 0x44, + 0x60, 0x63, 0x13, 0x65, 0x74, 0x1f, 0x14, 0x3a, 0xb8, 0x63, 0x99, 0x66, 0x5b, 0x65, 0xea, 0x86, + 0x3d, 0xf9, 0x3e, 0xce, 0x2b, 0xeb, 0x54, 0xeb, 0xfc, 0x58, 0xdc, 0xdf, 0x7f, 0x7e, 0x10, 0xf9, + 0x3d, 0xc7, 0x60, 0xf9, 0x27, 0x69, 0x66, 0x29, 0xec, 0x22, 0xa0, 0x46, 0xf0, 0xd6, 0x48, 0x97, + 0xaa, 0x05, 0x21, 0xd0, 0xa3, 0xea, 0x0f, 0xff, 0x76, 0x09, 0xab, 0x76, 0xd0, 0x0b, 0x70, 0xb4, + 0x47, 0xb7, 0x79, 0xa4, 0xe3, 0xa3, 0xaa, 0xb8, 0xbb, 0xc2, 0x2a, 0x4e, 0x90, 0xf6, 0x99, 0x95, + 0xf8, 0x2e, 0x77, 0xdd, 0x12, 0x14, 0xc3, 0x1e, 0xcf, 0xc0, 0xe5, 0xa7, 0x7f, 0x62, 0xc4, 0xd5, + 0x74, 0x43, 0x0d, 0xa5, 0x83, 0xc6, 0x59, 0x25, 0x4f, 0x32, 0xad, 0xc3, 0x5d, 0x03, 0x3d, 0x1f, + 0xf4, 0x24, 0xe4, 0x7c, 0xa7, 0x89, 0x71, 0xf5, 0x80, 0x74, 0x81, 0x0f, 0x2b, 0xff, 0x76, 0xcc, + 0x27, 0x19, 0x4e, 0x40, 0xd4, 0x21, 0xcd, 0xae, 0xbd, 0xf1, 0xcb, 0x34, 0x8f, 0x8c, 0xe6, 0x33, + 0xcd, 0xb3, 0x3b, 0x71, 0x0a, 0x47, 0x96, 0xdf, 0x0d, 0x69, 0x56, 0x83, 0xf2, 0x90, 0xf1, 0x5f, + 0xbe, 0x05, 0x48, 0x57, 0x6a, 0xb5, 0xfa, 0xfa, 0x86, 0x14, 0x43, 0x39, 0x48, 0x55, 0xaa, 0x6b, + 0xca, 0x86, 0x14, 0x27, 0xd5, 0x4a, 0xfd, 0x4a, 0xbd, 0xb6, 0x21, 0x25, 0xd0, 0x04, 0x14, 0xd8, + 0x6f, 0xf5, 0xe2, 0x9a, 0xb2, 0x52, 0xd9, 0x90, 0x92, 0x81, 0xaa, 0x46, 0x7d, 0x75, 0xb1, 0xae, + 0x48, 0x29, 0xf9, 0x31, 0x38, 0x36, 0xd4, 0xcb, 0xf2, 0xb3, 0x0b, 0xb1, 0x40, 0x76, 0x41, 0xfe, + 0x40, 0x1c, 0xca, 0xc3, 0x5d, 0x27, 0x74, 0xa5, 0x67, 0xe2, 0x67, 0x0f, 0xe1, 0x77, 0xf5, 0xcc, + 0x1e, 0x3d, 0x00, 0x45, 0x1b, 0x6f, 0x63, 0xb7, 0xb9, 0xcb, 0x5c, 0x39, 0x66, 0x32, 0x0b, 0x4a, + 0x81, 0xd7, 0x52, 0x24, 0x87, 0x81, 0xbd, 0x84, 0x9b, 0xae, 0xca, 0x74, 0x91, 0xc3, 0xff, 0xd6, + 0x61, 0x81, 0xd5, 0x36, 0x58, 0xa5, 0xfc, 0x43, 0x87, 0xe2, 0x65, 0x0e, 0x52, 0x4a, 0x7d, 0x43, + 0x79, 0x41, 0x4a, 0x20, 0x04, 0x45, 0xfa, 0x53, 0x6d, 0xac, 0x56, 0xd6, 0x1b, 0x97, 0xd7, 0x08, + 0x2f, 0x27, 0xa1, 0x24, 0x78, 0x29, 0x2a, 0x53, 0xf2, 0x43, 0x70, 0x74, 0x88, 0xdf, 0x37, 0xe0, + 0x1e, 0xe2, 0x47, 0x62, 0x41, 0xe8, 0x70, 0xcc, 0xbf, 0x06, 0x69, 0xc7, 0xd5, 0xdc, 0xae, 0xc3, + 0x99, 0xf8, 0xe4, 0xa8, 0x8e, 0xe0, 0xbc, 0xf8, 0xd1, 0xa0, 0xe8, 0x0a, 0x27, 0x23, 0x9f, 0x83, + 0x62, 0xb8, 0x65, 0x38, 0x0f, 0x7c, 0x21, 0x8a, 0xcb, 0x2f, 0x00, 0x04, 0xf2, 0x91, 0xde, 0x8d, + 0xae, 0x58, 0xf0, 0x46, 0xd7, 0x39, 0x48, 0xdd, 0x30, 0x99, 0xce, 0x18, 0xbc, 0x71, 0xae, 0x99, + 0x2e, 0x0e, 0x24, 0x1f, 0x18, 0xb4, 0xac, 0x03, 0xea, 0xcf, 0x09, 0x0d, 0xe9, 0xe2, 0x99, 0x70, + 0x17, 0xf7, 0x0e, 0xcd, 0x2e, 0x0d, 0xee, 0xea, 0x65, 0x48, 0x51, 0x6d, 0x33, 0xf0, 0x13, 0x9f, + 0x1f, 0x04, 0xd0, 0x5c, 0xd7, 0xd6, 0xb7, 0xba, 0x7e, 0x07, 0xb3, 0x83, 0xb5, 0x55, 0x45, 0xc0, + 0x55, 0xef, 0xe6, 0x6a, 0x6b, 0xca, 0x47, 0x0d, 0xa8, 0xae, 0x00, 0x41, 0x79, 0x15, 0x8a, 0x61, + 0xdc, 0xc1, 0x9f, 0x2c, 0xf9, 0x6f, 0x07, 0xe4, 0x84, 0xfb, 0xe4, 0x39, 0x5f, 0xfc, 0x3d, 0x0f, + 0x5a, 0x90, 0x6f, 0xc5, 0x20, 0xbb, 0xb1, 0xc7, 0xe5, 0xf8, 0x80, 0x4b, 0x95, 0xfe, 0x77, 0x5b, + 0x5e, 0xb2, 0x90, 0xe5, 0x63, 0x13, 0x5e, 0x96, 0xf7, 0xfb, 0xbc, 0x9d, 0x9a, 0x1c, 0x35, 0xda, + 0x15, 0xd9, 0x6e, 0xae, 0x9d, 0x2e, 0x8c, 0xf6, 0x8d, 0xc4, 0x14, 0xa4, 0x82, 0xdf, 0x37, 0xb0, + 0x82, 0xdc, 0x0a, 0x5c, 0x4b, 0x60, 0x66, 0x23, 0xf8, 0x31, 0x45, 0xec, 0xd0, 0x1f, 0x53, 0x78, + 0xbd, 0xc4, 0x83, 0xbd, 0xdc, 0x80, 0xac, 0x10, 0x0a, 0xf4, 0xce, 0xe0, 0xdd, 0x13, 0x71, 0x46, + 0x33, 0xd4, 0x78, 0x72, 0xf2, 0x81, 0xab, 0x27, 0xa7, 0x61, 0x82, 0x5f, 0xb9, 0xf3, 0xe3, 0x0a, + 0xfe, 0x36, 0x7f, 0x89, 0x35, 0x2c, 0x8b, 0xa0, 0x42, 0xfe, 0x95, 0x18, 0x48, 0xbd, 0x52, 0xf9, + 0x76, 0x0e, 0x80, 0x28, 0x45, 0x22, 0xfd, 0x81, 0x47, 0xb7, 0xd9, 0xca, 0x17, 0x48, 0xad, 0xff, + 0xec, 0xf6, 0x7b, 0xe3, 0x90, 0x0f, 0xe4, 0xf4, 0xd0, 0x13, 0xa1, 0x2b, 0xa0, 0x73, 0x07, 0xe5, + 0xff, 0x02, 0x77, 0x40, 0x43, 0x13, 0x8b, 0x1f, 0x7e, 0x62, 0x6f, 0xfe, 0x25, 0xfd, 0xc1, 0x5f, + 0xfb, 0xa4, 0x86, 0x7c, 0xed, 0xf3, 0x23, 0x31, 0xc8, 0x7a, 0xa6, 0xfb, 0xb0, 0xd9, 0xfc, 0x23, + 0x90, 0xe6, 0xd6, 0x89, 0xa5, 0xf3, 0x79, 0x69, 0x60, 0x2e, 0xb4, 0x0c, 0x59, 0xf1, 0x47, 0x6d, + 0x78, 0x20, 0xea, 0x95, 0x4f, 0x3f, 0x0d, 0xf9, 0xc0, 0xc1, 0x0a, 0xd1, 0x13, 0xab, 0xf5, 0xe7, + 0xa4, 0xb1, 0x72, 0xe6, 0xd6, 0xed, 0xb9, 0xc4, 0x2a, 0xbe, 0x49, 0x76, 0x98, 0x52, 0xaf, 0x5d, + 0xae, 0xd7, 0xae, 0x4a, 0xb1, 0x72, 0xfe, 0xd6, 0xed, 0xb9, 0x8c, 0x82, 0x69, 0xfa, 0xea, 0xf4, + 0x55, 0x28, 0xf5, 0x2c, 0x4c, 0x58, 0xbf, 0x23, 0x28, 0x2e, 0x6e, 0xae, 0x2f, 0x2f, 0xd5, 0x2a, + 0x1b, 0x75, 0x95, 0x5d, 0xa7, 0x43, 0x47, 0x61, 0x72, 0x79, 0xe9, 0xd2, 0xe5, 0x0d, 0xb5, 0xb6, + 0xbc, 0x54, 0x5f, 0xdd, 0x50, 0x2b, 0x1b, 0x1b, 0x95, 0xda, 0x55, 0x29, 0x7e, 0xf6, 0x3b, 0x00, + 0xa5, 0x4a, 0xb5, 0xb6, 0x44, 0xec, 0xb3, 0xce, 0xdf, 0x4d, 0xaf, 0x41, 0x92, 0xa6, 0x02, 0x0e, + 0xbc, 0x2a, 0x52, 0x3e, 0x38, 0xb7, 0x89, 0x2e, 0x42, 0x8a, 0x66, 0x09, 0xd0, 0xc1, 0x77, 0x47, + 0xca, 0x11, 0xc9, 0x4e, 0x32, 0x18, 0xba, 0x9d, 0x0e, 0xbc, 0x4c, 0x52, 0x3e, 0x38, 0xf7, 0x89, + 0x14, 0xc8, 0xf9, 0x51, 0x46, 0xf4, 0xe5, 0x8a, 0xf2, 0x08, 0xda, 0x11, 0x2d, 0x43, 0x46, 0x04, + 0x86, 0x51, 0xd7, 0x3d, 0xca, 0x91, 0xc9, 0x49, 0xc2, 0x2e, 0x16, 0xc0, 0x1f, 0x7c, 0x77, 0xa5, + 0x1c, 0x91, 0x69, 0x45, 0x4b, 0xde, 0x25, 0xfc, 0x88, 0x2b, 0x1c, 0xe5, 0xa8, 0x64, 0x23, 0x61, + 0x9a, 0x9f, 0x1a, 0x89, 0xbe, 0x91, 0x53, 0x1e, 0x21, 0x89, 0x8c, 0x36, 0x01, 0x02, 0xe1, 0xfa, + 0x08, 0x57, 0x6d, 0xca, 0xa3, 0x24, 0x87, 0xd1, 0x1a, 0x64, 0xbd, 0xe8, 0x29, 0xf2, 0xe2, 0x4b, + 0x39, 0x3a, 0x4b, 0x8b, 0xde, 0x0d, 0x85, 0x70, 0xd4, 0x30, 0xda, 0x75, 0x96, 0xf2, 0x88, 0xe9, + 0x57, 0x42, 0x3f, 0x1c, 0x42, 0x8c, 0x76, 0xbd, 0xa5, 0x3c, 0x62, 0x36, 0x16, 0xbd, 0x04, 0x13, + 0xfd, 0x2e, 0xfe, 0xe8, 0xb7, 0x5d, 0xca, 0x87, 0xc8, 0xcf, 0xa2, 0x0e, 0xa0, 0x01, 0xa1, 0xc1, + 0x21, 0x2e, 0xbf, 0x94, 0x0f, 0x93, 0xae, 0x45, 0x2d, 0x28, 0xf5, 0xfa, 0xdb, 0xa3, 0x5e, 0x86, + 0x29, 0x8f, 0x9c, 0xba, 0x65, 0xbd, 0x84, 0xfd, 0xf4, 0x51, 0x2f, 0xc7, 0x94, 0x47, 0xce, 0xe4, + 0x56, 0x2b, 0x43, 0xef, 0x37, 0x9e, 0x38, 0xf0, 0x7e, 0xa3, 0x7f, 0x63, 0xd1, 0xbb, 0xd3, 0xf8, + 0xc9, 0x27, 0xe0, 0x7e, 0xfe, 0x98, 0x80, 0xe3, 0x6a, 0xd7, 0x75, 0x63, 0xc7, 0x7b, 0x1d, 0x82, + 0x97, 0xf9, 0xe5, 0xc6, 0x23, 0xfc, 0xc1, 0x02, 0x51, 0x1b, 0xf1, 0x46, 0xc4, 0xd0, 0x87, 0xb3, + 0xa2, 0x2e, 0x21, 0x47, 0x5f, 0x5d, 0x3c, 0xe0, 0xfd, 0x89, 0x88, 0x57, 0x2e, 0x06, 0xbc, 0x4f, + 0x11, 0x71, 0x09, 0xf3, 0xa0, 0xfb, 0x9e, 0xf2, 0xcf, 0xc5, 0xa0, 0x78, 0x59, 0x77, 0x5c, 0xd3, + 0xd6, 0x9b, 0x5a, 0x9b, 0x5a, 0x8c, 0x0b, 0xa3, 0x7e, 0xe4, 0x51, 0xcd, 0x11, 0x67, 0x84, 0x3f, + 0x6a, 0xc1, 0x2f, 0x86, 0x2c, 0x42, 0xfa, 0x86, 0xd6, 0x66, 0x9f, 0x58, 0x04, 0xdf, 0xaf, 0xe9, + 0xe5, 0x79, 0xc0, 0x4b, 0x0a, 0x52, 0x61, 0xb8, 0xf2, 0xe7, 0xe9, 0x25, 0xee, 0x4e, 0x47, 0x77, + 0xd8, 0x9f, 0x9d, 0x76, 0xb1, 0x83, 0x36, 0x21, 0x69, 0x6b, 0x2e, 0x0f, 0x6a, 0xaa, 0x15, 0xfe, + 0x14, 0xc5, 0x83, 0xd1, 0x0f, 0x4a, 0xcc, 0xf7, 0xbd, 0x56, 0xc1, 0x3a, 0xa3, 0xe4, 0xd0, 0x0f, + 0x40, 0xb6, 0xa3, 0xed, 0xa9, 0x94, 0x74, 0xfc, 0xcd, 0x22, 0x9d, 0xe9, 0x68, 0x7b, 0x64, 0xd4, + 0x48, 0x87, 0x12, 0xa1, 0xde, 0xdc, 0xd5, 0x8c, 0x1d, 0xcc, 0x3a, 0x49, 0xbc, 0x59, 0x9d, 0x14, + 0x3a, 0xda, 0x5e, 0x8d, 0x12, 0x26, 0x5d, 0xf1, 0x47, 0x3f, 0x7e, 0x27, 0xc6, 0x43, 0x59, 0xca, + 0x39, 0xa4, 0x81, 0xd4, 0xf4, 0x4a, 0xb4, 0x7f, 0x91, 0xd6, 0x3f, 0x31, 0x6c, 0x61, 0x7a, 0xf8, + 0x5e, 0x2d, 0x90, 0x91, 0x7e, 0xf9, 0xb5, 0xd9, 0x18, 0xeb, 0xb5, 0xd4, 0xec, 0x59, 0x97, 0x2b, + 0x90, 0x67, 0xd9, 0x34, 0x95, 0xba, 0xb0, 0xf1, 0x48, 0x17, 0xb6, 0x20, 0x5c, 0x58, 0x46, 0x10, + 0x18, 0x36, 0x69, 0xe7, 0x73, 0xf8, 0x44, 0x0c, 0xf2, 0x8b, 0x81, 0xe7, 0xaa, 0xa6, 0x21, 0xd3, + 0x31, 0x0d, 0xfd, 0x3a, 0xb6, 0xbd, 0x73, 0x19, 0x56, 0x24, 0x6e, 0x26, 0xfb, 0xb3, 0x43, 0xee, + 0xbe, 0x78, 0x89, 0x41, 0x94, 0x09, 0xd6, 0x4d, 0xbc, 0xe5, 0xe8, 0x82, 0xe5, 0x8a, 0x28, 0xa2, + 0x53, 0x20, 0x39, 0xb8, 0xd9, 0xb5, 0x75, 0x77, 0x5f, 0x6d, 0x9a, 0x86, 0xab, 0x35, 0x5d, 0x9e, + 0x3d, 0x2d, 0x89, 0xfa, 0x1a, 0xab, 0x26, 0x44, 0x5a, 0xd8, 0xd5, 0xf4, 0x36, 0xbb, 0xf6, 0x95, + 0x53, 0x44, 0x91, 0x0f, 0xf5, 0xf3, 0x99, 0x60, 0x68, 0x58, 0x03, 0xc9, 0xb4, 0xb0, 0x1d, 0xfa, + 0xe4, 0x8d, 0x89, 0xeb, 0xf4, 0xef, 0x7f, 0xf6, 0x91, 0x29, 0xce, 0x70, 0x7e, 0x00, 0xcf, 0x5e, + 0x67, 0x56, 0x4a, 0x02, 0x43, 0x7c, 0x0b, 0xf7, 0x42, 0xe8, 0x24, 0xa6, 0xbb, 0xe5, 0x7f, 0x72, + 0x3f, 0xd5, 0xc7, 0xd4, 0x8a, 0xb1, 0x5f, 0x9d, 0xfe, 0x3d, 0x9f, 0xb4, 0x1f, 0x3a, 0x5e, 0xc5, + 0xfb, 0xc1, 0x63, 0x19, 0x4a, 0x86, 0x78, 0xf0, 0x2f, 0x69, 0x7a, 0x5b, 0xfc, 0x25, 0x35, 0x85, + 0x97, 0xd0, 0x82, 0x97, 0x86, 0x61, 0x7f, 0x21, 0x5d, 0x1e, 0x26, 0x1b, 0x55, 0xd3, 0x68, 0x85, + 0x33, 0x2e, 0x68, 0x03, 0xd2, 0xae, 0x79, 0x1d, 0x1b, 0x9c, 0x41, 0xd5, 0x77, 0x1c, 0x42, 0xb0, + 0xfb, 0xdf, 0x9f, 0xe1, 0xb4, 0xd0, 0x0e, 0x48, 0x2d, 0xdc, 0xc6, 0x3b, 0xec, 0x83, 0xad, 0x5d, + 0xcd, 0xc6, 0xec, 0x23, 0xce, 0xc3, 0xd1, 0xef, 0x7f, 0xa6, 0xa6, 0xe4, 0x51, 0x6d, 0x50, 0xa2, + 0x68, 0x3d, 0xfc, 0x58, 0x5a, 0x86, 0x9f, 0xca, 0x0f, 0x99, 0x7f, 0x40, 0x2a, 0x83, 0x6a, 0x2b, + 0xf4, 0xb8, 0xda, 0x29, 0x90, 0xba, 0xc6, 0x96, 0x69, 0xd0, 0x3f, 0x7a, 0xc4, 0x03, 0xac, 0x2c, + 0x3b, 0xb9, 0xf3, 0xea, 0xf9, 0xc9, 0xdd, 0x3a, 0x14, 0x7d, 0x50, 0xba, 0x7b, 0x72, 0x87, 0xdd, + 0x3d, 0x05, 0x8f, 0x00, 0x01, 0x41, 0x2b, 0x00, 0xfe, 0xfe, 0xf4, 0x4e, 0xf7, 0x23, 0x77, 0x7a, + 0x70, 0x32, 0x01, 0x02, 0xa8, 0x0d, 0x93, 0x1d, 0xdd, 0x50, 0x1d, 0xdc, 0xde, 0x56, 0x39, 0xe7, + 0x08, 0xdd, 0xfc, 0x9b, 0xb0, 0xd2, 0x13, 0x1d, 0xdd, 0x68, 0xe0, 0xf6, 0xf6, 0xa2, 0x47, 0x16, + 0xbd, 0x03, 0x8e, 0xfb, 0xec, 0x30, 0x0d, 0x75, 0xd7, 0x6c, 0xb7, 0x54, 0x1b, 0x6f, 0xab, 0x4d, + 0xfa, 0xfc, 0xd1, 0x38, 0x65, 0xe2, 0x51, 0x0f, 0x64, 0xcd, 0xb8, 0x6c, 0xb6, 0x5b, 0x0a, 0xde, + 0xae, 0x91, 0x66, 0x74, 0x1f, 0xf8, 0xbc, 0x50, 0xf5, 0x96, 0x33, 0x5d, 0x98, 0x4b, 0x9c, 0x4c, + 0x2a, 0xe3, 0x5e, 0xe5, 0x52, 0xcb, 0x59, 0xc8, 0xbe, 0xef, 0xd5, 0xd9, 0xb1, 0x6f, 0xbc, 0x3a, + 0x3b, 0x26, 0x5f, 0xa4, 0x8f, 0x75, 0xf0, 0x4d, 0x87, 0x1d, 0x74, 0x1e, 0x72, 0x9a, 0x28, 0xb0, + 0xcf, 0x44, 0x0e, 0xd8, 0xb4, 0x3e, 0xa8, 0xfc, 0x6a, 0x0c, 0xd2, 0x8b, 0xd7, 0xd6, 0x35, 0xdd, + 0x46, 0x75, 0x98, 0xf0, 0x85, 0x76, 0xd4, 0xfd, 0xef, 0xcb, 0xb9, 0x50, 0x00, 0xf5, 0x61, 0x5f, + 0xce, 0x1e, 0x48, 0xa6, 0xf7, 0x9b, 0xda, 0xc0, 0x54, 0xaf, 0x40, 0x86, 0x8d, 0xd0, 0x41, 0xcf, + 0x42, 0xca, 0x22, 0x3f, 0x78, 0xf6, 0x7f, 0x66, 0xa8, 0xa0, 0x53, 0xf8, 0xa0, 0x58, 0x30, 0x3c, + 0xf9, 0x2f, 0x63, 0x00, 0x8b, 0xd7, 0xae, 0x6d, 0xd8, 0xba, 0xd5, 0xc6, 0xee, 0x9b, 0x35, 0xe5, + 0x65, 0xb8, 0x2b, 0xf0, 0x7d, 0xa6, 0xdd, 0x1c, 0x79, 0xda, 0x93, 0xfe, 0x17, 0x9a, 0x76, 0x73, + 0x20, 0xb5, 0x96, 0xe3, 0x7a, 0xd4, 0x12, 0x23, 0x53, 0x5b, 0x74, 0xdc, 0x7e, 0x3e, 0x3e, 0x0f, + 0x79, 0x7f, 0xea, 0x0e, 0x5a, 0x82, 0xac, 0xcb, 0x7f, 0x73, 0x76, 0xca, 0xc3, 0xd9, 0x29, 0xd0, + 0x82, 0x2c, 0xf5, 0xd0, 0xe5, 0xff, 0x45, 0xb8, 0xea, 0x6f, 0x84, 0xbf, 0x56, 0x82, 0x44, 0x34, + 0x3c, 0xd7, 0xc0, 0x89, 0x37, 0x41, 0x03, 0x73, 0x5a, 0x01, 0xb6, 0xfe, 0x68, 0x1c, 0x26, 0x37, + 0xc5, 0x26, 0xfd, 0x6b, 0xcb, 0x85, 0x4d, 0xc8, 0x60, 0xc3, 0xb5, 0x75, 0x2c, 0x8e, 0xfa, 0x1e, + 0x1d, 0xb6, 0xd8, 0x03, 0xe6, 0x42, 0xff, 0x14, 0x70, 0x70, 0xe9, 0x05, 0xad, 0x00, 0x1b, 0x7e, + 0x2b, 0x01, 0xd3, 0xc3, 0x50, 0xd1, 0x09, 0x28, 0x35, 0x6d, 0x4c, 0x2b, 0xd4, 0x50, 0x2a, 0xbc, + 0x28, 0xaa, 0xb9, 0x49, 0x51, 0x80, 0x38, 0x68, 0x44, 0xaa, 0x08, 0xe8, 0x9d, 0x79, 0x64, 0x45, + 0x9f, 0x02, 0x35, 0x2a, 0x18, 0x4a, 0xe2, 0x6e, 0xfb, 0x96, 0xd6, 0xd6, 0x8c, 0x26, 0xbe, 0x03, + 0x49, 0xe8, 0xb7, 0x00, 0xe2, 0xc2, 0x7c, 0x95, 0xd1, 0x44, 0xd7, 0x20, 0x23, 0xc8, 0x27, 0xdf, + 0x04, 0xf2, 0x82, 0x18, 0xba, 0x17, 0xc6, 0x83, 0x86, 0x81, 0xfa, 0x29, 0x49, 0x25, 0x1f, 0xb0, + 0x0b, 0x51, 0x96, 0x27, 0x7d, 0xa0, 0xe5, 0xe1, 0xae, 0xe0, 0x6f, 0x26, 0x60, 0x42, 0xc1, 0xad, + 0xef, 0xc1, 0x85, 0xfb, 0x7e, 0x00, 0xb6, 0xa9, 0x89, 0xb2, 0xbd, 0x83, 0xb5, 0xeb, 0x57, 0x12, + 0x39, 0x46, 0x6f, 0xd1, 0x71, 0xdf, 0xae, 0xd5, 0xfb, 0x97, 0x71, 0x18, 0x0f, 0xae, 0xde, 0xf7, + 0x80, 0x65, 0x43, 0xab, 0xbe, 0x4a, 0x63, 0xb7, 0xcf, 0x4f, 0x0d, 0x53, 0x69, 0x7d, 0x72, 0x1d, + 0xa1, 0xcb, 0x3e, 0x9d, 0x84, 0x34, 0xbf, 0x0a, 0xb6, 0xd6, 0xe7, 0xe3, 0xc6, 0xa2, 0xbe, 0xff, + 0x2d, 0x88, 0xef, 0x7f, 0x07, 0xba, 0xb8, 0x0f, 0x40, 0x91, 0x84, 0xd4, 0xa1, 0xfb, 0x65, 0xb1, + 0x93, 0x05, 0x1a, 0x0e, 0xfb, 0xb7, 0xa1, 0xd1, 0x2c, 0xe4, 0x09, 0x98, 0xaf, 0xb3, 0x09, 0x0c, + 0x74, 0xb4, 0xbd, 0x3a, 0xab, 0x41, 0x8f, 0x00, 0xda, 0xf5, 0x12, 0x1f, 0xaa, 0xcf, 0x08, 0x02, + 0x37, 0xe1, 0xb7, 0x08, 0xf0, 0x7b, 0x00, 0xc8, 0x28, 0x54, 0xf6, 0x42, 0x27, 0x7f, 0xed, 0x94, + 0xd4, 0x2c, 0xd2, 0x57, 0x3a, 0x7f, 0x3a, 0xc6, 0x5c, 0xe5, 0x9e, 0x68, 0x9b, 0x07, 0x2d, 0xea, + 0xe1, 0x76, 0xc3, 0xb7, 0x5f, 0x9b, 0x2d, 0xef, 0x6b, 0x9d, 0xf6, 0x82, 0x3c, 0x80, 0xa4, 0x3c, + 0x28, 0x17, 0x40, 0xbc, 0xe9, 0x70, 0xe0, 0x8e, 0x56, 0x41, 0xba, 0x8e, 0xf7, 0x55, 0x9b, 0xff, + 0x6d, 0x53, 0x75, 0x1b, 0x63, 0x1e, 0xde, 0x1c, 0x9b, 0x1f, 0xf0, 0x50, 0xea, 0x7c, 0xcd, 0xd4, + 0x43, 0x71, 0x40, 0xf1, 0x3a, 0xde, 0x57, 0x38, 0xf2, 0x45, 0x8c, 0xd1, 0xd3, 0x70, 0x8c, 0xa6, + 0x32, 0x4c, 0x43, 0x84, 0xa5, 0x1e, 0x6d, 0x76, 0xed, 0x2d, 0xa9, 0x1c, 0xe9, 0x68, 0x7b, 0x35, + 0xd3, 0xe0, 0xe1, 0xa6, 0x40, 0x76, 0x16, 0xee, 0x27, 0x5b, 0xec, 0xd6, 0xd7, 0x3f, 0x75, 0xfa, + 0x78, 0x60, 0xb6, 0x7b, 0x5e, 0xb2, 0x8e, 0x49, 0x8a, 0xfc, 0xc9, 0x18, 0x20, 0xdf, 0xee, 0x79, + 0x57, 0xd3, 0x57, 0xe8, 0x85, 0x65, 0x11, 0x7a, 0xc4, 0x0e, 0x0e, 0x69, 0x7c, 0xfc, 0x50, 0x48, + 0x13, 0xd8, 0xd7, 0xef, 0xf4, 0xad, 0x4c, 0xfc, 0x10, 0xdc, 0x10, 0x48, 0x54, 0x5d, 0x8c, 0xc9, + 0xaf, 0xc5, 0xe0, 0x58, 0xdf, 0xa6, 0xf0, 0x86, 0xdc, 0x04, 0x64, 0x07, 0x1a, 0xa9, 0x70, 0x89, + 0xa3, 0xde, 0x3b, 0xdb, 0x63, 0x13, 0x76, 0x9f, 0x65, 0x79, 0x8b, 0xcc, 0x25, 0xd7, 0x87, 0xbf, + 0x1b, 0x83, 0xa9, 0xe0, 0x88, 0xbc, 0xb9, 0x35, 0x60, 0x3c, 0x38, 0x16, 0x3e, 0xab, 0xfb, 0x47, + 0x99, 0x55, 0x70, 0x42, 0x21, 0x22, 0x64, 0x2e, 0x62, 0x03, 0xb2, 0xb4, 0xe1, 0x63, 0x23, 0x73, + 0xc9, 0x3b, 0x12, 0x19, 0xa4, 0x91, 0xd8, 0x62, 0xfd, 0x54, 0x1c, 0x92, 0xeb, 0xa6, 0xd9, 0x46, + 0x3f, 0x12, 0x83, 0x09, 0xc3, 0x74, 0x55, 0xb2, 0x6d, 0x71, 0x4b, 0xe5, 0x79, 0x0b, 0xa6, 0xd4, + 0xaf, 0x1d, 0x8e, 0x7b, 0xdf, 0x7c, 0x6d, 0xb6, 0x9f, 0xd4, 0xa0, 0xd7, 0x7e, 0x4b, 0x86, 0xe9, + 0x56, 0x29, 0xd0, 0x06, 0x4b, 0x6d, 0xdc, 0x84, 0x42, 0xb8, 0x7f, 0x66, 0x09, 0x94, 0x43, 0xf7, + 0x5f, 0x88, 0xec, 0x7b, 0x7c, 0x2b, 0xd0, 0x31, 0x7b, 0x73, 0xf3, 0x4f, 0xc9, 0xe2, 0xbe, 0x00, + 0xd2, 0xb5, 0xde, 0x4b, 0x72, 0x75, 0xc8, 0x1c, 0xf6, 0xbe, 0x5d, 0x90, 0xe3, 0x1c, 0x57, 0xfe, + 0xf5, 0x38, 0x1c, 0xe3, 0x2a, 0xe0, 0xaa, 0xaf, 0x02, 0x58, 0x86, 0x79, 0x1f, 0x5d, 0x1c, 0x9a, + 0x20, 0x3b, 0xfe, 0xed, 0xd7, 0x66, 0x8f, 0x32, 0x9d, 0xd7, 0x0b, 0x21, 0xf7, 0xe7, 0xc8, 0xae, + 0x41, 0x89, 0xd8, 0xf8, 0x80, 0x2e, 0xba, 0xc3, 0x14, 0x59, 0xc1, 0x6c, 0xb7, 0x7c, 0x8d, 0x45, + 0xe8, 0x1a, 0xf8, 0x66, 0x88, 0x6e, 0xe2, 0xce, 0xe8, 0x1a, 0xf8, 0x66, 0x80, 0xae, 0x7f, 0xd4, + 0x9e, 0x0c, 0x1e, 0xb5, 0xfb, 0x16, 0xf3, 0xf4, 0xe7, 0x62, 0x00, 0x7e, 0x76, 0x0d, 0x3d, 0x0c, + 0x47, 0xab, 0x6b, 0xab, 0x8b, 0x6a, 0x63, 0xa3, 0xb2, 0xb1, 0xd9, 0x08, 0x3f, 0xad, 0x2f, 0x9e, + 0x93, 0x71, 0x2c, 0xdc, 0xd4, 0xb7, 0x75, 0xdc, 0x42, 0x0f, 0xc2, 0x54, 0x18, 0x9a, 0x94, 0xea, + 0x8b, 0x52, 0xac, 0x3c, 0x7e, 0xeb, 0xf6, 0x5c, 0x96, 0x45, 0x15, 0xb8, 0x85, 0x4e, 0xc2, 0x5d, + 0xfd, 0x70, 0x4b, 0xab, 0x97, 0xa4, 0x78, 0xb9, 0x70, 0xeb, 0xf6, 0x5c, 0xce, 0x0b, 0x3f, 0x90, + 0x0c, 0x28, 0x08, 0xc9, 0xe9, 0x25, 0xca, 0x70, 0xeb, 0xf6, 0x5c, 0x9a, 0x89, 0x73, 0x39, 0xf9, + 0xbe, 0x8f, 0xce, 0x8c, 0x9d, 0xfe, 0x41, 0x80, 0x25, 0x63, 0xdb, 0xd6, 0xe8, 0xdf, 0x97, 0x46, + 0x65, 0x38, 0xb2, 0xb4, 0x7a, 0x51, 0xa9, 0xd4, 0x36, 0x96, 0xd6, 0x56, 0x7b, 0xfe, 0x22, 0x40, + 0xb8, 0x6d, 0x71, 0x6d, 0xb3, 0xba, 0x5c, 0x57, 0x1b, 0x4b, 0x97, 0x56, 0xd9, 0x21, 0x7d, 0xa8, + 0xed, 0xb9, 0xd5, 0x8d, 0xa5, 0x95, 0xba, 0x14, 0xaf, 0x5e, 0x1c, 0x7a, 0x4c, 0xf4, 0xf0, 0x81, + 0x1b, 0xc5, 0xb7, 0x2e, 0xa1, 0xb3, 0xa2, 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x3f, 0x1e, 0xcf, + 0x1f, 0xf7, 0x98, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -2373,10 +2372,10 @@ func (this *Params) Equal(that interface{}) bool { if !this.MinCommissionRate.Equal(that1.MinCommissionRate) { return false } - if this.MaxConsPubkeyRotations != that1.MaxConsPubkeyRotations { + if !this.KeyRotationFee.Equal(&that1.KeyRotationFee) { return false } - if !this.ConsPubkeyRotationFee.Equal(&that1.ConsPubkeyRotationFee) { + if this.MaxConsPubkeyRotations != that1.MaxConsPubkeyRotations { return false } return true @@ -3272,8 +3271,13 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.MaxConsPubkeyRotations != 0 { + i = encodeVarintStaking(dAtA, i, uint64(m.MaxConsPubkeyRotations)) + i-- + dAtA[i] = 0x40 + } { - size, err := m.ConsPubkeyRotationFee.MarshalToSizedBuffer(dAtA[:i]) + size, err := m.KeyRotationFee.MarshalToSizedBuffer(dAtA[:i]) if err != nil { return 0, err } @@ -3281,12 +3285,7 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { i = encodeVarintStaking(dAtA, i, uint64(size)) } i-- - dAtA[i] = 0x42 - if m.MaxConsPubkeyRotations != 0 { - i = encodeVarintStaking(dAtA, i, uint64(m.MaxConsPubkeyRotations)) - i-- - dAtA[i] = 0x38 - } + dAtA[i] = 0x3a { size := m.MinCommissionRate.Size() i -= size @@ -3958,11 +3957,11 @@ func (m *Params) Size() (n int) { } l = m.MinCommissionRate.Size() n += 1 + l + sovStaking(uint64(l)) + l = m.KeyRotationFee.Size() + n += 1 + l + sovStaking(uint64(l)) if m.MaxConsPubkeyRotations != 0 { n += 1 + sovStaking(uint64(m.MaxConsPubkeyRotations)) } - l = m.ConsPubkeyRotationFee.Size() - n += 1 + l + sovStaking(uint64(l)) return n } @@ -6722,27 +6721,8 @@ func (m *Params) Unmarshal(dAtA []byte) error { } iNdEx = postIndex case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field MaxConsPubkeyRotations", wireType) - } - m.MaxConsPubkeyRotations = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowStaking - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.MaxConsPubkeyRotations |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ConsPubkeyRotationFee", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field KeyRotationFee", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -6769,10 +6749,29 @@ func (m *Params) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.ConsPubkeyRotationFee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.KeyRotationFee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + case 8: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field MaxConsPubkeyRotations", wireType) + } + m.MaxConsPubkeyRotations = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.MaxConsPubkeyRotations |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := skipStaking(dAtA[iNdEx:]) From ef3081a250ab7f250c631fade06da27492fa24fb Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 16 Mar 2023 18:19:52 +0530 Subject: [PATCH 032/106] fix failing tests --- tests/integration/aminojson/aminojson_test.go | 8 ++++---- .../staking/keeper/determinstic_test.go | 4 ++-- .../integration/staking/keeper/msg_server_test.go | 4 ++-- x/staking/keeper/msg_server.go | 2 +- x/staking/keeper/params.go | 4 ++-- x/staking/keeper/val_state_change.go | 2 +- x/staking/keeper/validator_test.go | 2 +- x/staking/simulation/genesis.go | 12 ++++++------ x/staking/types/params.go | 14 +++++++------- x/staking/types/params_test.go | 4 ++-- 10 files changed, 28 insertions(+), 28 deletions(-) diff --git a/tests/integration/aminojson/aminojson_test.go b/tests/integration/aminojson/aminojson_test.go index 8be756c5429c..b4e5448c42ee 100644 --- a/tests/integration/aminojson/aminojson_test.go +++ b/tests/integration/aminojson/aminojson_test.go @@ -530,13 +530,13 @@ func TestAminoJSON_LegacyParity(t *testing.T) { "staking/msg_update_params": { gogo: &stakingtypes.MsgUpdateParams{ Params: stakingtypes.Params{ - UnbondingTime: 0, - ConsPubkeyRotationFee: types.Coin{}, + UnbondingTime: 0, + KeyRotationFee: types.Coin{}, }}, pulsar: &stakingapi.MsgUpdateParams{ Params: &stakingapi.Params{ - UnbondingTime: &durationpb.Duration{Seconds: 0}, - ConsPubkeyRotationFee: &v1beta1.Coin{}, + UnbondingTime: &durationpb.Duration{Seconds: 0}, + KeyRotationFee: &v1beta1.Coin{}, }}, }, "staking/create_validator": { diff --git a/tests/integration/staking/keeper/determinstic_test.go b/tests/integration/staking/keeper/determinstic_test.go index f9aad391cbdd..66dfa55be375 100644 --- a/tests/integration/staking/keeper/determinstic_test.go +++ b/tests/integration/staking/keeper/determinstic_test.go @@ -734,7 +734,7 @@ func TestGRPCParams(t *testing.T) { HistoricalEntries: rapid.Uint32Min(1).Draw(rt, "historical-entries"), MinCommissionRate: sdk.NewDecWithPrec(rapid.Int64Range(0, 100).Draw(rt, "commission"), 2), MaxConsPubkeyRotations: rapid.Uint64Range(1, 10).Draw(rt, "max-pubkey-rotations"), - ConsPubkeyRotationFee: sdk.NewCoin(sdk.DefaultBondDenom, math.NewIntFromUint64(rapid.Uint64Range(1000, 1000000).Draw(rt, "cons-pubkey-rotation-fee"))), + KeyRotationFee: sdk.NewCoin(sdk.DefaultBondDenom, math.NewIntFromUint64(rapid.Uint64Range(1000, 1000000).Draw(rt, "cons-pubkey-rotation-fee"))), } err := f.stakingKeeper.SetParams(f.ctx, params) @@ -751,7 +751,7 @@ func TestGRPCParams(t *testing.T) { HistoricalEntries: 5, MinCommissionRate: sdk.NewDecWithPrec(5, 2), MaxConsPubkeyRotations: 5, - ConsPubkeyRotationFee: sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(1000)), + KeyRotationFee: sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(1000)), } err := f.stakingKeeper.SetParams(f.ctx, params) diff --git a/tests/integration/staking/keeper/msg_server_test.go b/tests/integration/staking/keeper/msg_server_test.go index d672453a7b95..3b414c620acc 100644 --- a/tests/integration/staking/keeper/msg_server_test.go +++ b/tests/integration/staking/keeper/msg_server_test.go @@ -249,7 +249,7 @@ func TestRotateConsPubKey(t *testing.T) { for _, testCase := range testCases { params := stakingKeeper.GetParams(ctx) - params.ConsPubkeyRotationFee = sdk.NewInt64Coin(bondDenom, 1000) + params.KeyRotationFee = sdk.NewInt64Coin(bondDenom, 1000) params.MaxConsPubkeyRotations = testCase.rotationLimit err := stakingKeeper.SetParams(ctx, params) require.NoError(t, err) @@ -269,7 +269,7 @@ func TestRotateConsPubKey(t *testing.T) { // rotation fee payment from sender to distrtypes newDistrBalance := bankKeeper.GetBalance(ctx, accountKeeper.GetModuleAddress(distrtypes.ModuleName), bondDenom) - require.Equal(t, newDistrBalance, oldDistrBalance.Add(params.ConsPubkeyRotationFee)) + require.Equal(t, newDistrBalance, oldDistrBalance.Add(params.KeyRotationFee)) // validator consensus pubkey update check validator, found := stakingKeeper.GetValidator(ctx, testCase.validator) diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index 18897e99ed93..04fe8e1214d6 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -523,7 +523,7 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC // checks if the signing account has enough balance to pay KeyRotationFee // pays KeyRotationFee to community fund - rotationFee := k.ConsPubKeyRotationFee(ctx) + rotationFee := k.KeyRotationFee(ctx) sender := sdk.AccAddress(valAddr) err = k.Keeper.bankKeeper.SendCoinsFromAccountToModule(ctx, sender, distrtypes.ModuleName, sdk.NewCoins(rotationFee)) diff --git a/x/staking/keeper/params.go b/x/staking/keeper/params.go index 282dc1517df7..1d1e4d310004 100644 --- a/x/staking/keeper/params.go +++ b/x/staking/keeper/params.go @@ -82,6 +82,6 @@ func (k Keeper) MaxConsPubKeyRotations(ctx sdk.Context) (res uint64) { return k.GetParams(ctx).MaxConsPubkeyRotations } -func (k Keeper) ConsPubKeyRotationFee(ctx sdk.Context) (res sdk.Coin) { - return k.GetParams(ctx).ConsPubkeyRotationFee +func (k Keeper) KeyRotationFee(ctx sdk.Context) (res sdk.Coin) { + return k.GetParams(ctx).KeyRotationFee } diff --git a/x/staking/keeper/val_state_change.go b/x/staking/keeper/val_state_change.go index 8e68dacaf169..74a491fd89a1 100644 --- a/x/staking/keeper/val_state_change.go +++ b/x/staking/keeper/val_state_change.go @@ -202,7 +202,7 @@ func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx sdk.Context) (updates []ab updates = append(updates, validator.ABCIValidatorUpdateZero()) } - rotationFee := k.ConsPubKeyRotationFee(ctx) + rotationFee := k.KeyRotationFee(ctx) // ApplyAndReturnValidatorSetUpdates checks if there is ConsPubKeyRotationHistory // with ConsPubKeyRotationHistory.RotatedHeight == ctx.BlockHeight() and if so, generates 2 ValidatorUpdate, // one for a remove validator and one for create new validator diff --git a/x/staking/keeper/validator_test.go b/x/staking/keeper/validator_test.go index 3b4e059f2dd0..e32fac187651 100644 --- a/x/staking/keeper/validator_test.go +++ b/x/staking/keeper/validator_test.go @@ -443,7 +443,7 @@ func (s *KeeperTestSuite) TestValidatorConsPubKeyUpdate() { } params := keeper.GetParams(ctx) - params.ConsPubkeyRotationFee = sdk.NewInt64Coin(sdk.DefaultBondDenom, 1000) + params.KeyRotationFee = sdk.NewInt64Coin(sdk.DefaultBondDenom, 1000) keeper.SetParams(ctx, params) valAddr1 := sdk.ValAddress(PKs[0].Address().Bytes()) diff --git a/x/staking/simulation/genesis.go b/x/staking/simulation/genesis.go index 6c52a9d4e313..6e15fe53f7c6 100644 --- a/x/staking/simulation/genesis.go +++ b/x/staking/simulation/genesis.go @@ -18,7 +18,7 @@ const ( maxValidators = "max_validators" historicalEntries = "historical_entries" maxConsPubkeyRotations = "max_cons_pubkey_rotations" - consPubkeyRotationFee = "cons_pubkey_rotation_fee" + keyRotationFee = "cons_pubkey_rotation_fee" ) // genUnbondingTime returns randomized UnbondingTime @@ -36,9 +36,9 @@ func getHistEntries(r *rand.Rand) uint32 { return uint32(r.Intn(int(types.DefaultHistoricalEntries + 1))) } -// getConsPubKeyRotationFee returns randomized consPubKeyRotationFee between 10000-1000000. -func getConsPubKeyRotationFee(r *rand.Rand) sdk.Coin { - return sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(r.Int63n(types.DefaultConsPubKeyRotationFee.Amount.Int64()-10000)+10000)) +// getKeyRotationFee returns randomized keyRotationFee between 10000-1000000. +func getKeyRotationFee(r *rand.Rand) sdk.Coin { + return sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(r.Int63n(types.DefaultKeyRotationFee.Amount.Int64()-10000)+10000)) } // getMaxConsPubKeyRotations returns randomized maxConsPubKeyRotations between 1-10. @@ -79,8 +79,8 @@ func RandomizedGenState(simState *module.SimulationState) { ) simState.AppParams.GetOrGenerate( - simState.Cdc, consPubkeyRotationFee, &histEntries, simState.Rand, - func(r *rand.Rand) { rotationFee = getConsPubKeyRotationFee(r) }, + simState.Cdc, keyRotationFee, &histEntries, simState.Rand, + func(r *rand.Rand) { rotationFee = getKeyRotationFee(r) }, ) // NOTE: the slashing module need to be defined after the staking module on the diff --git a/x/staking/types/params.go b/x/staking/types/params.go index 0a21cfc111e4..f299b0a40358 100644 --- a/x/staking/types/params.go +++ b/x/staking/types/params.go @@ -39,15 +39,15 @@ var ( // DefaultMinCommissionRate is set to 0% DefaultMinCommissionRate = math.LegacyZeroDec() - // DefaultConsPubKeyRotationFee is fees used to rotate the ConsPubkey - DefaultConsPubKeyRotationFee = sdk.NewInt64Coin(sdk.DefaultBondDenom, 1000000) + // DefaultKeyRotationFee is fees used to rotate the ConsPubkey or Operator key + DefaultKeyRotationFee = sdk.NewInt64Coin(sdk.DefaultBondDenom, 1000000) ) // NewParams creates a new Params instance func NewParams(unbondingTime time.Duration, maxValidators, maxEntries, historicalEntries uint32, bondDenom string, minCommissionRate sdk.Dec, - maxConsPubKeyRotations uint64, consPubKeyRotationFee sdk.Coin) Params { + maxConsPubKeyRotations uint64, keyRotationFee sdk.Coin) Params { return Params{ UnbondingTime: unbondingTime, @@ -57,7 +57,7 @@ func NewParams(unbondingTime time.Duration, BondDenom: bondDenom, MinCommissionRate: minCommissionRate, MaxConsPubkeyRotations: maxConsPubKeyRotations, - ConsPubkeyRotationFee: consPubKeyRotationFee, + KeyRotationFee: keyRotationFee, } } @@ -71,7 +71,7 @@ func DefaultParams() Params { sdk.DefaultBondDenom, DefaultMinCommissionRate, DefaultMaxConsPubKeyRotations, - DefaultConsPubKeyRotationFee, + DefaultKeyRotationFee, ) } @@ -125,7 +125,7 @@ func (p Params) Validate() error { return err } - if err := validateConsPubkeyRotationFee(p.ConsPubkeyRotationFee); err != nil { + if err := validateKeyRotationFee(p.KeyRotationFee); err != nil { return err } @@ -242,7 +242,7 @@ func validateMaxConsPubkeyRotations(i interface{}) error { return nil } -func validateConsPubkeyRotationFee(i interface{}) error { +func validateKeyRotationFee(i interface{}) error { v, ok := i.(sdk.Coin) if !ok { return fmt.Errorf("invalid parameter type: %T", i) diff --git a/x/staking/types/params_test.go b/x/staking/types/params_test.go index 6270f66530d6..3faab8e49659 100644 --- a/x/staking/types/params_test.go +++ b/x/staking/types/params_test.go @@ -39,7 +39,7 @@ func TestValidateParams(t *testing.T) { // reset params to default params = types.DefaultParams() - // check ConsPubkeyRotationFee - params.ConsPubkeyRotationFee = coinZero + // check keyRotationFee + params.KeyRotationFee = coinZero require.Error(t, params.Validate()) } From ad3ceee98e65e4ebad07351c3a350b4f227f023a Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 16 Mar 2023 20:03:56 +0530 Subject: [PATCH 033/106] fix CLI --- tests/e2e/staking/suite.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/e2e/staking/suite.go b/tests/e2e/staking/suite.go index 7d1121224a33..21afde61d737 100644 --- a/tests/e2e/staking/suite.go +++ b/tests/e2e/staking/suite.go @@ -923,10 +923,10 @@ func (s *E2ETestSuite) TestGetCmdQueryParams() { "with text output", []string{fmt.Sprintf("--%s=text", flags.FlagOutput)}, `bond_denom: stake -cons_pubkey_rotation_fee: +historical_entries: 10000 +key_rotation_fee: amount: "1000000" denom: stake -historical_entries: 10000 max_cons_pubkey_rotations: "10" max_entries: 7 max_validators: 100 @@ -936,7 +936,7 @@ unbonding_time: 1814400s`, { "with json output", []string{fmt.Sprintf("--%s=json", flags.FlagOutput)}, - `{"unbonding_time":"1814400s","max_validators":100,"max_entries":7,"historical_entries":10000,"bond_denom":"stake","min_commission_rate":"0.000000000000000000","max_cons_pubkey_rotations":"10","cons_pubkey_rotation_fee":{"denom":"stake","amount":"1000000"}}`, + `{"unbonding_time":"1814400s","max_validators":100,"max_entries":7,"historical_entries":10000,"bond_denom":"stake","min_commission_rate":"0.000000000000000000","key_rotation_fee":{"denom":"stake","amount":"1000000"},"max_cons_pubkey_rotations":"10"}`, }, } for _, tc := range testCases { From 40365933e24f617be7c90c368c58f0af1b837a33 Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 16 Mar 2023 20:05:22 +0530 Subject: [PATCH 034/106] fix test --- x/staking/migrations/v3/json_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x/staking/migrations/v3/json_test.go b/x/staking/migrations/v3/json_test.go index b20a38414d37..8e4643e687e4 100644 --- a/x/staking/migrations/v3/json_test.go +++ b/x/staking/migrations/v3/json_test.go @@ -42,11 +42,11 @@ func TestMigrateJSON(t *testing.T) { "last_validator_powers": [], "params": { "bond_denom": "stake", - "cons_pubkey_rotation_fee": { + "historical_entries": 10000, + "key_rotation_fee": { "amount": "1000000", "denom": "stake" }, - "historical_entries": 10000, "max_cons_pubkey_rotations": "10", "max_entries": 7, "max_validators": 100, From 34d2829272e62d9285bebc558704a17ac8931bbb Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 27 Mar 2023 13:41:46 +0530 Subject: [PATCH 035/106] proto --- proto/cosmos/staking/v1beta1/staking.proto | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/proto/cosmos/staking/v1beta1/staking.proto b/proto/cosmos/staking/v1beta1/staking.proto index 6a0a35dfbf9f..916c254cd0e8 100644 --- a/proto/cosmos/staking/v1beta1/staking.proto +++ b/proto/cosmos/staking/v1beta1/staking.proto @@ -415,3 +415,9 @@ message ConsPubKeyRotationHistory { // height defines the block height at which the rotation event occured. uint64 height = 4; } + +// ValAddrsOfRotatedConsKeys contains the array of validator addresses which rotated their keys +// This is to block the validator's next rotation till unbonding period. +message ValAddrsOfRotatedConsKeys { + repeated string addresses = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; +} From fdc081c79a1da6579374391eee7a7ec0756c50ab Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Mon, 27 Mar 2023 08:16:06 +0000 Subject: [PATCH 036/106] proto-gen --- api/cosmos/staking/v1beta1/staking.pulsar.go | 640 ++++++- x/staking/types/staking.pb.go | 1778 ++++++++++-------- 2 files changed, 1566 insertions(+), 852 deletions(-) diff --git a/api/cosmos/staking/v1beta1/staking.pulsar.go b/api/cosmos/staking/v1beta1/staking.pulsar.go index 9d60dbab5031..2d394058e154 100644 --- a/api/cosmos/staking/v1beta1/staking.pulsar.go +++ b/api/cosmos/staking/v1beta1/staking.pulsar.go @@ -13432,6 +13432,486 @@ func (x *fastReflection_ConsPubKeyRotationHistory) ProtoMethods() *protoiface.Me } } +var _ protoreflect.List = (*_ValAddrsOfRotatedConsKeys_1_list)(nil) + +type _ValAddrsOfRotatedConsKeys_1_list struct { + list *[]string +} + +func (x *_ValAddrsOfRotatedConsKeys_1_list) Len() int { + if x.list == nil { + return 0 + } + return len(*x.list) +} + +func (x *_ValAddrsOfRotatedConsKeys_1_list) Get(i int) protoreflect.Value { + return protoreflect.ValueOfString((*x.list)[i]) +} + +func (x *_ValAddrsOfRotatedConsKeys_1_list) Set(i int, value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + (*x.list)[i] = concreteValue +} + +func (x *_ValAddrsOfRotatedConsKeys_1_list) Append(value protoreflect.Value) { + valueUnwrapped := value.String() + concreteValue := valueUnwrapped + *x.list = append(*x.list, concreteValue) +} + +func (x *_ValAddrsOfRotatedConsKeys_1_list) AppendMutable() protoreflect.Value { + panic(fmt.Errorf("AppendMutable can not be called on message ValAddrsOfRotatedConsKeys at list field Addresses as it is not of Message kind")) +} + +func (x *_ValAddrsOfRotatedConsKeys_1_list) Truncate(n int) { + *x.list = (*x.list)[:n] +} + +func (x *_ValAddrsOfRotatedConsKeys_1_list) NewElement() protoreflect.Value { + v := "" + return protoreflect.ValueOfString(v) +} + +func (x *_ValAddrsOfRotatedConsKeys_1_list) IsValid() bool { + return x.list != nil +} + +var ( + md_ValAddrsOfRotatedConsKeys protoreflect.MessageDescriptor + fd_ValAddrsOfRotatedConsKeys_addresses protoreflect.FieldDescriptor +) + +func init() { + file_cosmos_staking_v1beta1_staking_proto_init() + md_ValAddrsOfRotatedConsKeys = File_cosmos_staking_v1beta1_staking_proto.Messages().ByName("ValAddrsOfRotatedConsKeys") + fd_ValAddrsOfRotatedConsKeys_addresses = md_ValAddrsOfRotatedConsKeys.Fields().ByName("addresses") +} + +var _ protoreflect.Message = (*fastReflection_ValAddrsOfRotatedConsKeys)(nil) + +type fastReflection_ValAddrsOfRotatedConsKeys ValAddrsOfRotatedConsKeys + +func (x *ValAddrsOfRotatedConsKeys) ProtoReflect() protoreflect.Message { + return (*fastReflection_ValAddrsOfRotatedConsKeys)(x) +} + +func (x *ValAddrsOfRotatedConsKeys) slowProtoReflect() protoreflect.Message { + mi := &file_cosmos_staking_v1beta1_staking_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +var _fastReflection_ValAddrsOfRotatedConsKeys_messageType fastReflection_ValAddrsOfRotatedConsKeys_messageType +var _ protoreflect.MessageType = fastReflection_ValAddrsOfRotatedConsKeys_messageType{} + +type fastReflection_ValAddrsOfRotatedConsKeys_messageType struct{} + +func (x fastReflection_ValAddrsOfRotatedConsKeys_messageType) Zero() protoreflect.Message { + return (*fastReflection_ValAddrsOfRotatedConsKeys)(nil) +} +func (x fastReflection_ValAddrsOfRotatedConsKeys_messageType) New() protoreflect.Message { + return new(fastReflection_ValAddrsOfRotatedConsKeys) +} +func (x fastReflection_ValAddrsOfRotatedConsKeys_messageType) Descriptor() protoreflect.MessageDescriptor { + return md_ValAddrsOfRotatedConsKeys +} + +// Descriptor returns message descriptor, which contains only the protobuf +// type information for the message. +func (x *fastReflection_ValAddrsOfRotatedConsKeys) Descriptor() protoreflect.MessageDescriptor { + return md_ValAddrsOfRotatedConsKeys +} + +// Type returns the message type, which encapsulates both Go and protobuf +// type information. If the Go type information is not needed, +// it is recommended that the message descriptor be used instead. +func (x *fastReflection_ValAddrsOfRotatedConsKeys) Type() protoreflect.MessageType { + return _fastReflection_ValAddrsOfRotatedConsKeys_messageType +} + +// New returns a newly allocated and mutable empty message. +func (x *fastReflection_ValAddrsOfRotatedConsKeys) New() protoreflect.Message { + return new(fastReflection_ValAddrsOfRotatedConsKeys) +} + +// Interface unwraps the message reflection interface and +// returns the underlying ProtoMessage interface. +func (x *fastReflection_ValAddrsOfRotatedConsKeys) Interface() protoreflect.ProtoMessage { + return (*ValAddrsOfRotatedConsKeys)(x) +} + +// Range iterates over every populated field in an undefined order, +// calling f for each field descriptor and value encountered. +// Range returns immediately if f returns false. +// While iterating, mutating operations may only be performed +// on the current field descriptor. +func (x *fastReflection_ValAddrsOfRotatedConsKeys) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + if len(x.Addresses) != 0 { + value := protoreflect.ValueOfList(&_ValAddrsOfRotatedConsKeys_1_list{list: &x.Addresses}) + if !f(fd_ValAddrsOfRotatedConsKeys_addresses, value) { + return + } + } +} + +// Has reports whether a field is populated. +// +// Some fields have the property of nullability where it is possible to +// distinguish between the default value of a field and whether the field +// was explicitly populated with the default value. Singular message fields, +// member fields of a oneof, and proto2 scalar fields are nullable. Such +// fields are populated only if explicitly set. +// +// In other cases (aside from the nullable cases above), +// a proto3 scalar field is populated if it contains a non-zero value, and +// a repeated field is populated if it is non-empty. +func (x *fastReflection_ValAddrsOfRotatedConsKeys) Has(fd protoreflect.FieldDescriptor) bool { + switch fd.FullName() { + case "cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys.addresses": + return len(x.Addresses) != 0 + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys does not contain field %s", fd.FullName())) + } +} + +// Clear clears the field such that a subsequent Has call reports false. +// +// Clearing an extension field clears both the extension type and value +// associated with the given field number. +// +// Clear is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ValAddrsOfRotatedConsKeys) Clear(fd protoreflect.FieldDescriptor) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys.addresses": + x.Addresses = nil + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys does not contain field %s", fd.FullName())) + } +} + +// Get retrieves the value for a field. +// +// For unpopulated scalars, it returns the default value, where +// the default value of a bytes scalar is guaranteed to be a copy. +// For unpopulated composite types, it returns an empty, read-only view +// of the value; to obtain a mutable reference, use Mutable. +func (x *fastReflection_ValAddrsOfRotatedConsKeys) Get(descriptor protoreflect.FieldDescriptor) protoreflect.Value { + switch descriptor.FullName() { + case "cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys.addresses": + if len(x.Addresses) == 0 { + return protoreflect.ValueOfList(&_ValAddrsOfRotatedConsKeys_1_list{}) + } + listValue := &_ValAddrsOfRotatedConsKeys_1_list{list: &x.Addresses} + return protoreflect.ValueOfList(listValue) + default: + if descriptor.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys does not contain field %s", descriptor.FullName())) + } +} + +// Set stores the value for a field. +// +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType. +// When setting a composite type, it is unspecified whether the stored value +// aliases the source's memory in any way. If the composite value is an +// empty, read-only value, then it panics. +// +// Set is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ValAddrsOfRotatedConsKeys) Set(fd protoreflect.FieldDescriptor, value protoreflect.Value) { + switch fd.FullName() { + case "cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys.addresses": + lv := value.List() + clv := lv.(*_ValAddrsOfRotatedConsKeys_1_list) + x.Addresses = *clv.list + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys does not contain field %s", fd.FullName())) + } +} + +// Mutable returns a mutable reference to a composite type. +// +// If the field is unpopulated, it may allocate a composite value. +// For a field belonging to a oneof, it implicitly clears any other field +// that may be currently set within the same oneof. +// For extension fields, it implicitly stores the provided ExtensionType +// if not already stored. +// It panics if the field does not contain a composite type. +// +// Mutable is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ValAddrsOfRotatedConsKeys) Mutable(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys.addresses": + if x.Addresses == nil { + x.Addresses = []string{} + } + value := &_ValAddrsOfRotatedConsKeys_1_list{list: &x.Addresses} + return protoreflect.ValueOfList(value) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys does not contain field %s", fd.FullName())) + } +} + +// NewField returns a new value that is assignable to the field +// for the given descriptor. For scalars, this returns the default value. +// For lists, maps, and messages, this returns a new, empty, mutable value. +func (x *fastReflection_ValAddrsOfRotatedConsKeys) NewField(fd protoreflect.FieldDescriptor) protoreflect.Value { + switch fd.FullName() { + case "cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys.addresses": + list := []string{} + return protoreflect.ValueOfList(&_ValAddrsOfRotatedConsKeys_1_list{list: &list}) + default: + if fd.IsExtension() { + panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys")) + } + panic(fmt.Errorf("message cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys does not contain field %s", fd.FullName())) + } +} + +// WhichOneof reports which field within the oneof is populated, +// returning nil if none are populated. +// It panics if the oneof descriptor does not belong to this message. +func (x *fastReflection_ValAddrsOfRotatedConsKeys) WhichOneof(d protoreflect.OneofDescriptor) protoreflect.FieldDescriptor { + switch d.FullName() { + default: + panic(fmt.Errorf("%s is not a oneof field in cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys", d.FullName())) + } + panic("unreachable") +} + +// GetUnknown retrieves the entire list of unknown fields. +// The caller may only mutate the contents of the RawFields +// if the mutated bytes are stored back into the message with SetUnknown. +func (x *fastReflection_ValAddrsOfRotatedConsKeys) GetUnknown() protoreflect.RawFields { + return x.unknownFields +} + +// SetUnknown stores an entire list of unknown fields. +// The raw fields must be syntactically valid according to the wire format. +// An implementation may panic if this is not the case. +// Once stored, the caller must not mutate the content of the RawFields. +// An empty RawFields may be passed to clear the fields. +// +// SetUnknown is a mutating operation and unsafe for concurrent use. +func (x *fastReflection_ValAddrsOfRotatedConsKeys) SetUnknown(fields protoreflect.RawFields) { + x.unknownFields = fields +} + +// IsValid reports whether the message is valid. +// +// An invalid message is an empty, read-only value. +// +// An invalid message often corresponds to a nil pointer of the concrete +// message type, but the details are implementation dependent. +// Validity is not part of the protobuf data model, and may not +// be preserved in marshaling or other operations. +func (x *fastReflection_ValAddrsOfRotatedConsKeys) IsValid() bool { + return x != nil +} + +// ProtoMethods returns optional fastReflectionFeature-path implementations of various operations. +// This method may return nil. +// +// The returned methods type is identical to +// "google.golang.org/protobuf/runtime/protoiface".Methods. +// Consult the protoiface package documentation for details. +func (x *fastReflection_ValAddrsOfRotatedConsKeys) ProtoMethods() *protoiface.Methods { + size := func(input protoiface.SizeInput) protoiface.SizeOutput { + x := input.Message.Interface().(*ValAddrsOfRotatedConsKeys) + if x == nil { + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: 0, + } + } + options := runtime.SizeInputToOptions(input) + _ = options + var n int + var l int + _ = l + if len(x.Addresses) > 0 { + for _, s := range x.Addresses { + l = len(s) + n += 1 + l + runtime.Sov(uint64(l)) + } + } + if x.unknownFields != nil { + n += len(x.unknownFields) + } + return protoiface.SizeOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Size: n, + } + } + + marshal := func(input protoiface.MarshalInput) (protoiface.MarshalOutput, error) { + x := input.Message.Interface().(*ValAddrsOfRotatedConsKeys) + if x == nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + options := runtime.MarshalInputToOptions(input) + _ = options + size := options.Size(x) + dAtA := make([]byte, size) + i := len(dAtA) + _ = i + var l int + _ = l + if x.unknownFields != nil { + i -= len(x.unknownFields) + copy(dAtA[i:], x.unknownFields) + } + if len(x.Addresses) > 0 { + for iNdEx := len(x.Addresses) - 1; iNdEx >= 0; iNdEx-- { + i -= len(x.Addresses[iNdEx]) + copy(dAtA[i:], x.Addresses[iNdEx]) + i = runtime.EncodeVarint(dAtA, i, uint64(len(x.Addresses[iNdEx]))) + i-- + dAtA[i] = 0xa + } + } + if input.Buf != nil { + input.Buf = append(input.Buf, dAtA...) + } else { + input.Buf = dAtA + } + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, nil + } + unmarshal := func(input protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) { + x := input.Message.Interface().(*ValAddrsOfRotatedConsKeys) + if x == nil { + return protoiface.UnmarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Flags: input.Flags, + }, nil + } + options := runtime.UnmarshalInputToOptions(input) + _ = options + dAtA := input.Buf + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, 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 protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ValAddrsOfRotatedConsKeys: wiretype end group for non-group") + } + if fieldNum <= 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: ValAddrsOfRotatedConsKeys: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Addresses", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + x.Addresses = append(x.Addresses, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := runtime.Skip(dAtA[iNdEx:]) + if err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if !options.DiscardUnknown { + x.unknownFields = append(x.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + } + iNdEx += skippy + } + } + + if iNdEx > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, nil + } + return &protoiface.Methods{ + NoUnkeyedLiterals: struct{}{}, + Flags: protoiface.SupportMarshalDeterministic | protoiface.SupportUnmarshalDiscardUnknown, + Size: size, + Marshal: marshal, + Unmarshal: unmarshal, + Merge: nil, + CheckInitialized: nil, + } +} + // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.27.0 @@ -14866,6 +15346,43 @@ func (x *ConsPubKeyRotationHistory) GetHeight() uint64 { return 0 } +// ValAddrsOfRotatedConsKeys contains the array of validator addresses which rotated their keys +// This is to block the validator's next rotation till unbonding period. +type ValAddrsOfRotatedConsKeys struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"` +} + +func (x *ValAddrsOfRotatedConsKeys) Reset() { + *x = ValAddrsOfRotatedConsKeys{} + if protoimpl.UnsafeEnabled { + mi := &file_cosmos_staking_v1beta1_staking_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ValAddrsOfRotatedConsKeys) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValAddrsOfRotatedConsKeys) ProtoMessage() {} + +// Deprecated: Use ValAddrsOfRotatedConsKeys.ProtoReflect.Descriptor instead. +func (*ValAddrsOfRotatedConsKeys) Descriptor() ([]byte, []int) { + return file_cosmos_staking_v1beta1_staking_proto_rawDescGZIP(), []int{22} +} + +func (x *ValAddrsOfRotatedConsKeys) GetAddresses() []string { + if x != nil { + return x.Addresses + } + return nil +} + var File_cosmos_staking_v1beta1_staking_proto protoreflect.FileDescriptor var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ @@ -15265,38 +15782,44 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, - 0x00, 0x2a, 0xb6, 0x01, 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x2c, 0x0a, 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x0f, 0x8a, - 0x9d, 0x20, 0x0b, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x26, - 0x0a, 0x14, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, - 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, 0x9d, 0x20, 0x08, 0x55, 0x6e, - 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, - 0x02, 0x1a, 0x0d, 0x8a, 0x9d, 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x12, 0x22, 0x0a, 0x12, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, - 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, 0x9d, 0x20, 0x06, 0x42, 0x6f, - 0x6e, 0x64, 0x65, 0x64, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x0a, 0x49, 0x6e, - 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, - 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, - 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, - 0x4f, 0x57, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, - 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, - 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, - 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x00, 0x22, 0x53, 0x0a, 0x19, 0x56, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x73, 0x4f, 0x66, 0x52, + 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x36, + 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x2a, 0xb6, 0x01, 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x14, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, + 0x9d, 0x20, 0x08, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, + 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, + 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x1a, 0x0d, 0x8a, 0x9d, 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x12, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, + 0x9d, 0x20, 0x06, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, + 0x5d, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, + 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, + 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, + 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x42, 0xdc, + 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, + 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -15312,7 +15835,7 @@ func file_cosmos_staking_v1beta1_staking_proto_rawDescGZIP() []byte { } var file_cosmos_staking_v1beta1_staking_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_cosmos_staking_v1beta1_staking_proto_msgTypes = make([]protoimpl.MessageInfo, 22) +var file_cosmos_staking_v1beta1_staking_proto_msgTypes = make([]protoimpl.MessageInfo, 23) var file_cosmos_staking_v1beta1_staking_proto_goTypes = []interface{}{ (BondStatus)(0), // 0: cosmos.staking.v1beta1.BondStatus (Infraction)(0), // 1: cosmos.staking.v1beta1.Infraction @@ -15338,39 +15861,40 @@ var file_cosmos_staking_v1beta1_staking_proto_goTypes = []interface{}{ (*Pool)(nil), // 21: cosmos.staking.v1beta1.Pool (*ValidatorUpdates)(nil), // 22: cosmos.staking.v1beta1.ValidatorUpdates (*ConsPubKeyRotationHistory)(nil), // 23: cosmos.staking.v1beta1.ConsPubKeyRotationHistory - (*types.Header)(nil), // 24: tendermint.types.Header - (*timestamppb.Timestamp)(nil), // 25: google.protobuf.Timestamp - (*anypb.Any)(nil), // 26: google.protobuf.Any - (*durationpb.Duration)(nil), // 27: google.protobuf.Duration - (*v1beta1.Coin)(nil), // 28: cosmos.base.v1beta1.Coin - (*abci.ValidatorUpdate)(nil), // 29: tendermint.abci.ValidatorUpdate + (*ValAddrsOfRotatedConsKeys)(nil), // 24: cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys + (*types.Header)(nil), // 25: tendermint.types.Header + (*timestamppb.Timestamp)(nil), // 26: google.protobuf.Timestamp + (*anypb.Any)(nil), // 27: google.protobuf.Any + (*durationpb.Duration)(nil), // 28: google.protobuf.Duration + (*v1beta1.Coin)(nil), // 29: cosmos.base.v1beta1.Coin + (*abci.ValidatorUpdate)(nil), // 30: tendermint.abci.ValidatorUpdate } var file_cosmos_staking_v1beta1_staking_proto_depIdxs = []int32{ - 24, // 0: cosmos.staking.v1beta1.HistoricalInfo.header:type_name -> tendermint.types.Header + 25, // 0: cosmos.staking.v1beta1.HistoricalInfo.header:type_name -> tendermint.types.Header 6, // 1: cosmos.staking.v1beta1.HistoricalInfo.valset:type_name -> cosmos.staking.v1beta1.Validator 3, // 2: cosmos.staking.v1beta1.Commission.commission_rates:type_name -> cosmos.staking.v1beta1.CommissionRates - 25, // 3: cosmos.staking.v1beta1.Commission.update_time:type_name -> google.protobuf.Timestamp - 26, // 4: cosmos.staking.v1beta1.Validator.consensus_pubkey:type_name -> google.protobuf.Any + 26, // 3: cosmos.staking.v1beta1.Commission.update_time:type_name -> google.protobuf.Timestamp + 27, // 4: cosmos.staking.v1beta1.Validator.consensus_pubkey:type_name -> google.protobuf.Any 0, // 5: cosmos.staking.v1beta1.Validator.status:type_name -> cosmos.staking.v1beta1.BondStatus 5, // 6: cosmos.staking.v1beta1.Validator.description:type_name -> cosmos.staking.v1beta1.Description - 25, // 7: cosmos.staking.v1beta1.Validator.unbonding_time:type_name -> google.protobuf.Timestamp + 26, // 7: cosmos.staking.v1beta1.Validator.unbonding_time:type_name -> google.protobuf.Timestamp 4, // 8: cosmos.staking.v1beta1.Validator.commission:type_name -> cosmos.staking.v1beta1.Commission 8, // 9: cosmos.staking.v1beta1.DVPairs.pairs:type_name -> cosmos.staking.v1beta1.DVPair 10, // 10: cosmos.staking.v1beta1.DVVTriplets.triplets:type_name -> cosmos.staking.v1beta1.DVVTriplet 14, // 11: cosmos.staking.v1beta1.UnbondingDelegation.entries:type_name -> cosmos.staking.v1beta1.UnbondingDelegationEntry - 25, // 12: cosmos.staking.v1beta1.UnbondingDelegationEntry.completion_time:type_name -> google.protobuf.Timestamp - 25, // 13: cosmos.staking.v1beta1.RedelegationEntry.completion_time:type_name -> google.protobuf.Timestamp + 26, // 12: cosmos.staking.v1beta1.UnbondingDelegationEntry.completion_time:type_name -> google.protobuf.Timestamp + 26, // 13: cosmos.staking.v1beta1.RedelegationEntry.completion_time:type_name -> google.protobuf.Timestamp 15, // 14: cosmos.staking.v1beta1.Redelegation.entries:type_name -> cosmos.staking.v1beta1.RedelegationEntry - 27, // 15: cosmos.staking.v1beta1.Params.unbonding_time:type_name -> google.protobuf.Duration - 28, // 16: cosmos.staking.v1beta1.Params.key_rotation_fee:type_name -> cosmos.base.v1beta1.Coin + 28, // 15: cosmos.staking.v1beta1.Params.unbonding_time:type_name -> google.protobuf.Duration + 29, // 16: cosmos.staking.v1beta1.Params.key_rotation_fee:type_name -> cosmos.base.v1beta1.Coin 12, // 17: cosmos.staking.v1beta1.DelegationResponse.delegation:type_name -> cosmos.staking.v1beta1.Delegation - 28, // 18: cosmos.staking.v1beta1.DelegationResponse.balance:type_name -> cosmos.base.v1beta1.Coin + 29, // 18: cosmos.staking.v1beta1.DelegationResponse.balance:type_name -> cosmos.base.v1beta1.Coin 15, // 19: cosmos.staking.v1beta1.RedelegationEntryResponse.redelegation_entry:type_name -> cosmos.staking.v1beta1.RedelegationEntry 16, // 20: cosmos.staking.v1beta1.RedelegationResponse.redelegation:type_name -> cosmos.staking.v1beta1.Redelegation 19, // 21: cosmos.staking.v1beta1.RedelegationResponse.entries:type_name -> cosmos.staking.v1beta1.RedelegationEntryResponse - 29, // 22: cosmos.staking.v1beta1.ValidatorUpdates.updates:type_name -> tendermint.abci.ValidatorUpdate - 26, // 23: cosmos.staking.v1beta1.ConsPubKeyRotationHistory.old_cons_pubkey:type_name -> google.protobuf.Any - 26, // 24: cosmos.staking.v1beta1.ConsPubKeyRotationHistory.new_cons_pubkey:type_name -> google.protobuf.Any + 30, // 22: cosmos.staking.v1beta1.ValidatorUpdates.updates:type_name -> tendermint.abci.ValidatorUpdate + 27, // 23: cosmos.staking.v1beta1.ConsPubKeyRotationHistory.old_cons_pubkey:type_name -> google.protobuf.Any + 27, // 24: cosmos.staking.v1beta1.ConsPubKeyRotationHistory.new_cons_pubkey:type_name -> google.protobuf.Any 25, // [25:25] is the sub-list for method output_type 25, // [25:25] is the sub-list for method input_type 25, // [25:25] is the sub-list for extension type_name @@ -15648,6 +16172,18 @@ func file_cosmos_staking_v1beta1_staking_proto_init() { return nil } } + file_cosmos_staking_v1beta1_staking_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ValAddrsOfRotatedConsKeys); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -15655,7 +16191,7 @@ func file_cosmos_staking_v1beta1_staking_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cosmos_staking_v1beta1_staking_proto_rawDesc, NumEnums: 2, - NumMessages: 22, + NumMessages: 23, NumExtensions: 0, NumServices: 0, }, diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index 7a89941a94c6..817fb257761c 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -1309,6 +1309,52 @@ func (m *ConsPubKeyRotationHistory) XXX_DiscardUnknown() { var xxx_messageInfo_ConsPubKeyRotationHistory proto.InternalMessageInfo +// ValAddrsOfRotatedConsKeys contains the array of validator addresses which rotated their keys +// This is to block the validator's next rotation till unbonding period. +type ValAddrsOfRotatedConsKeys struct { + Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"` +} + +func (m *ValAddrsOfRotatedConsKeys) Reset() { *m = ValAddrsOfRotatedConsKeys{} } +func (m *ValAddrsOfRotatedConsKeys) String() string { return proto.CompactTextString(m) } +func (*ValAddrsOfRotatedConsKeys) ProtoMessage() {} +func (*ValAddrsOfRotatedConsKeys) Descriptor() ([]byte, []int) { + return fileDescriptor_64c30c6cf92913c9, []int{22} +} +func (m *ValAddrsOfRotatedConsKeys) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *ValAddrsOfRotatedConsKeys) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_ValAddrsOfRotatedConsKeys.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *ValAddrsOfRotatedConsKeys) XXX_Merge(src proto.Message) { + xxx_messageInfo_ValAddrsOfRotatedConsKeys.Merge(m, src) +} +func (m *ValAddrsOfRotatedConsKeys) XXX_Size() int { + return m.Size() +} +func (m *ValAddrsOfRotatedConsKeys) XXX_DiscardUnknown() { + xxx_messageInfo_ValAddrsOfRotatedConsKeys.DiscardUnknown(m) +} + +var xxx_messageInfo_ValAddrsOfRotatedConsKeys proto.InternalMessageInfo + +func (m *ValAddrsOfRotatedConsKeys) GetAddresses() []string { + if m != nil { + return m.Addresses + } + return nil +} + func init() { proto.RegisterEnum("cosmos.staking.v1beta1.BondStatus", BondStatus_name, BondStatus_value) proto.RegisterEnum("cosmos.staking.v1beta1.Infraction", Infraction_name, Infraction_value) @@ -1334,6 +1380,7 @@ func init() { proto.RegisterType((*Pool)(nil), "cosmos.staking.v1beta1.Pool") proto.RegisterType((*ValidatorUpdates)(nil), "cosmos.staking.v1beta1.ValidatorUpdates") proto.RegisterType((*ConsPubKeyRotationHistory)(nil), "cosmos.staking.v1beta1.ConsPubKeyRotationHistory") + proto.RegisterType((*ValAddrsOfRotatedConsKeys)(nil), "cosmos.staking.v1beta1.ValAddrsOfRotatedConsKeys") } func init() { @@ -1341,133 +1388,134 @@ func init() { } var fileDescriptor_64c30c6cf92913c9 = []byte{ - // 2014 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x4b, 0x6c, 0x1b, 0xc7, - 0xf9, 0xd7, 0x92, 0x0c, 0x25, 0x7d, 0x94, 0x44, 0x6a, 0xec, 0xd8, 0x14, 0xfd, 0xff, 0x8b, 0x0c, - 0xe3, 0x26, 0x8e, 0x11, 0x53, 0xb5, 0x0a, 0x14, 0xa8, 0x1a, 0xb4, 0x10, 0x45, 0x29, 0x66, 0x1e, - 0x92, 0xb0, 0x94, 0xd4, 0xa6, 0x0f, 0x2c, 0x86, 0xbb, 0x23, 0x6a, 0x2b, 0x72, 0x96, 0xd8, 0x19, - 0xda, 0xe2, 0xb5, 0xe8, 0x21, 0xd0, 0xa1, 0x0d, 0xd0, 0x4b, 0x2f, 0x06, 0x0c, 0xf4, 0x92, 0xde, - 0x82, 0x22, 0x6d, 0x0e, 0x45, 0x0f, 0xbd, 0xa5, 0xed, 0xc5, 0xc8, 0xa9, 0xe8, 0x41, 0x2d, 0xec, - 0x43, 0x82, 0x9e, 0x8a, 0xdc, 0xda, 0x53, 0x31, 0x8f, 0x7d, 0x50, 0x14, 0xad, 0x07, 0xd4, 0x22, - 0x40, 0x2e, 0x12, 0x67, 0xe6, 0xfb, 0x7e, 0x33, 0xdf, 0xef, 0x7b, 0xcc, 0x7e, 0x03, 0x37, 0x6d, - 0x8f, 0x75, 0x3c, 0xb6, 0xc0, 0x38, 0xde, 0x77, 0x69, 0x6b, 0xe1, 0xfe, 0xdd, 0x26, 0xe1, 0xf8, - 0x6e, 0x30, 0xae, 0x74, 0x7d, 0x8f, 0x7b, 0xe8, 0x9a, 0x92, 0xaa, 0x04, 0xb3, 0x5a, 0xaa, 0x70, - 0xb5, 0xe5, 0xb5, 0x3c, 0x29, 0xb2, 0x20, 0x7e, 0x29, 0xe9, 0xc2, 0x5c, 0xcb, 0xf3, 0x5a, 0x6d, - 0xb2, 0x20, 0x47, 0xcd, 0xde, 0xee, 0x02, 0xa6, 0x7d, 0xbd, 0x34, 0x7f, 0x7c, 0xc9, 0xe9, 0xf9, - 0x98, 0xbb, 0x1e, 0xd5, 0xeb, 0xc5, 0xe3, 0xeb, 0xdc, 0xed, 0x10, 0xc6, 0x71, 0xa7, 0x1b, 0x60, - 0xab, 0x93, 0x58, 0x6a, 0x53, 0x7d, 0x2c, 0x8d, 0xad, 0x4d, 0x69, 0x62, 0x46, 0x42, 0x3b, 0x6c, - 0xcf, 0x0d, 0xb0, 0x67, 0x71, 0xc7, 0xa5, 0xde, 0x82, 0xfc, 0xab, 0xa7, 0xfe, 0x8f, 0x13, 0xea, - 0x10, 0xbf, 0xe3, 0x52, 0xbe, 0xc0, 0xfb, 0x5d, 0xc2, 0xd4, 0x5f, 0xbd, 0x7a, 0x23, 0xb6, 0x8a, - 0x9b, 0xb6, 0x1b, 0x5f, 0x2c, 0xff, 0xdc, 0x80, 0x99, 0x7b, 0x2e, 0xe3, 0x9e, 0xef, 0xda, 0xb8, - 0x5d, 0xa7, 0xbb, 0x1e, 0xfa, 0x26, 0xa4, 0xf7, 0x08, 0x76, 0x88, 0x9f, 0x37, 0x4a, 0xc6, 0xad, - 0xcc, 0x62, 0xbe, 0x12, 0x01, 0x54, 0x94, 0xee, 0x3d, 0xb9, 0x5e, 0x9d, 0xfc, 0xf8, 0xa8, 0x38, - 0xf6, 0xfe, 0xa7, 0x1f, 0xdc, 0x36, 0x4c, 0xad, 0x82, 0x6a, 0x90, 0xbe, 0x8f, 0xdb, 0x8c, 0xf0, - 0x7c, 0xa2, 0x94, 0xbc, 0x95, 0x59, 0x7c, 0xa1, 0x72, 0x32, 0xe7, 0x95, 0x1d, 0xdc, 0x76, 0x1d, - 0xcc, 0xbd, 0x41, 0x14, 0xa5, 0x5b, 0xfe, 0x28, 0x01, 0xd9, 0x15, 0xaf, 0xd3, 0x71, 0x19, 0x73, - 0x3d, 0x6a, 0x62, 0x4e, 0x18, 0xda, 0x86, 0x94, 0x8f, 0x39, 0x91, 0x87, 0x9a, 0xac, 0x2e, 0x0b, - 0xa5, 0xbf, 0x1e, 0x15, 0x5f, 0x6a, 0xb9, 0x7c, 0xaf, 0xd7, 0xac, 0xd8, 0x5e, 0x47, 0xd3, 0xa8, - 0xff, 0xdd, 0x61, 0xce, 0xbe, 0xb6, 0xb4, 0x46, 0xec, 0x4f, 0x3e, 0xbc, 0x03, 0xfa, 0x20, 0x35, - 0x62, 0xab, 0xcd, 0x24, 0x1c, 0xfa, 0x01, 0x4c, 0x74, 0xf0, 0x81, 0x25, 0xa1, 0x13, 0x97, 0x05, - 0x3d, 0xde, 0xc1, 0x07, 0xe2, 0xd4, 0xc8, 0x85, 0xac, 0x40, 0xb7, 0xf7, 0x30, 0x6d, 0x11, 0xb5, - 0x49, 0xf2, 0xb2, 0x36, 0x99, 0xee, 0xe0, 0x83, 0x15, 0x09, 0x2c, 0xb6, 0x5a, 0x4a, 0x7d, 0xf6, - 0xa8, 0x68, 0x94, 0xff, 0x60, 0x00, 0x44, 0xcc, 0x21, 0x0c, 0x39, 0x3b, 0x1c, 0xc9, 0xfd, 0x99, - 0xf6, 0xea, 0xcb, 0xa3, 0x1c, 0x73, 0x8c, 0xf7, 0xea, 0xb4, 0x38, 0xe9, 0xe3, 0xa3, 0xa2, 0xa1, - 0x76, 0xcd, 0xda, 0xc7, 0xfc, 0xf2, 0x06, 0x64, 0x7a, 0x5d, 0x07, 0x73, 0x62, 0x89, 0x20, 0x97, - 0x1c, 0x66, 0x16, 0x0b, 0x15, 0x95, 0x01, 0x95, 0x20, 0x03, 0x2a, 0x5b, 0x41, 0x06, 0x28, 0xc0, - 0xf7, 0xfe, 0x16, 0x00, 0x82, 0xd2, 0x16, 0xeb, 0xda, 0x86, 0xf7, 0x0d, 0xc8, 0xd4, 0x08, 0xb3, - 0x7d, 0xb7, 0x2b, 0x72, 0x0a, 0xe5, 0x61, 0xbc, 0xe3, 0x51, 0x77, 0x5f, 0x47, 0xe4, 0xa4, 0x19, - 0x0c, 0x51, 0x01, 0x26, 0x5c, 0x87, 0x50, 0xee, 0xf2, 0xbe, 0x72, 0x9e, 0x19, 0x8e, 0x85, 0xd6, - 0x03, 0xd2, 0x64, 0x6e, 0x40, 0xb9, 0x19, 0x0c, 0xd1, 0x2b, 0x90, 0x63, 0xc4, 0xee, 0xf9, 0x2e, - 0xef, 0x5b, 0xb6, 0x47, 0x39, 0xb6, 0x79, 0x3e, 0x25, 0x45, 0xb2, 0xc1, 0xfc, 0x8a, 0x9a, 0x16, - 0x20, 0x0e, 0xe1, 0xd8, 0x6d, 0xb3, 0xfc, 0x73, 0x0a, 0x44, 0x0f, 0xf5, 0x51, 0x3f, 0x1a, 0x87, - 0xc9, 0x30, 0x92, 0xd1, 0x0a, 0xe4, 0xbc, 0x2e, 0xf1, 0xc5, 0x6f, 0x0b, 0x3b, 0x8e, 0x4f, 0x18, - 0xd3, 0xe1, 0x9a, 0xff, 0xe4, 0xc3, 0x3b, 0x57, 0x35, 0xe1, 0xcb, 0x6a, 0xa5, 0xc1, 0x7d, 0x97, - 0xb6, 0xcc, 0x6c, 0xa0, 0xa1, 0xa7, 0xd1, 0x3b, 0xc2, 0x65, 0x94, 0x11, 0xca, 0x7a, 0xcc, 0xea, - 0xf6, 0x9a, 0xfb, 0xa4, 0xaf, 0x49, 0xbd, 0x3a, 0x44, 0xea, 0x32, 0xed, 0x57, 0xf3, 0x7f, 0x8a, - 0xa0, 0x6d, 0xbf, 0xdf, 0xe5, 0x5e, 0x65, 0xb3, 0xd7, 0x7c, 0x93, 0xf4, 0x85, 0xab, 0x34, 0xce, - 0xa6, 0x84, 0x41, 0xd7, 0x20, 0xfd, 0x23, 0xec, 0xb6, 0x89, 0x23, 0x19, 0x99, 0x30, 0xf5, 0x08, - 0x2d, 0x41, 0x9a, 0x71, 0xcc, 0x7b, 0x4c, 0xd2, 0x30, 0xb3, 0x58, 0x1e, 0x15, 0x1b, 0x55, 0x8f, - 0x3a, 0x0d, 0x29, 0x69, 0x6a, 0x0d, 0xb4, 0x05, 0x69, 0xee, 0xed, 0x13, 0xaa, 0x09, 0xaa, 0xbe, - 0x76, 0x8e, 0xc0, 0xae, 0x53, 0x1e, 0x0b, 0xec, 0x3a, 0xe5, 0xa6, 0xc6, 0x42, 0x2d, 0xc8, 0x39, - 0xa4, 0x4d, 0x5a, 0x92, 0x4a, 0xb6, 0x87, 0x7d, 0xc2, 0xf2, 0xe9, 0x73, 0xe3, 0x0f, 0x25, 0x8e, - 0x99, 0x0d, 0x51, 0x1b, 0x12, 0x14, 0x6d, 0x42, 0xc6, 0x89, 0x42, 0x2d, 0x3f, 0x2e, 0x89, 0x7e, - 0x71, 0x94, 0xfd, 0xb1, 0xa8, 0x8c, 0x97, 0xad, 0x38, 0x84, 0x88, 0xae, 0x1e, 0x6d, 0x7a, 0xd4, - 0x71, 0x69, 0xcb, 0xda, 0x23, 0x6e, 0x6b, 0x8f, 0xe7, 0x27, 0x4a, 0xc6, 0xad, 0xa4, 0x99, 0x0d, - 0xe7, 0xef, 0xc9, 0x69, 0xb4, 0x09, 0x33, 0x91, 0xa8, 0xcc, 0x9e, 0xc9, 0xf3, 0x66, 0xcf, 0x74, - 0x08, 0x20, 0x44, 0xd0, 0xdb, 0x00, 0x51, 0x7e, 0xe6, 0x41, 0xa2, 0x95, 0x4f, 0xcf, 0xf4, 0xb8, - 0x31, 0x31, 0x00, 0xd4, 0x86, 0x2b, 0x1d, 0x97, 0x5a, 0x8c, 0xb4, 0x77, 0x2d, 0xcd, 0x9c, 0xc0, - 0xcd, 0x5c, 0x82, 0xa7, 0x67, 0x3b, 0x2e, 0x6d, 0x90, 0xf6, 0x6e, 0x2d, 0x84, 0x45, 0xaf, 0xc1, - 0x8d, 0x88, 0x0e, 0x8f, 0x5a, 0x7b, 0x5e, 0xdb, 0xb1, 0x7c, 0xb2, 0x6b, 0xd9, 0x5e, 0x8f, 0xf2, - 0xfc, 0x94, 0x24, 0xf1, 0x7a, 0x28, 0xb2, 0x41, 0xef, 0x79, 0x6d, 0xc7, 0x24, 0xbb, 0x2b, 0x62, - 0x19, 0xbd, 0x08, 0x11, 0x17, 0x96, 0xeb, 0xb0, 0xfc, 0x74, 0x29, 0x79, 0x2b, 0x65, 0x4e, 0x85, - 0x93, 0x75, 0x87, 0x2d, 0x4d, 0xbc, 0xfb, 0xa8, 0x38, 0xf6, 0xd9, 0xa3, 0xe2, 0x58, 0x79, 0x0d, - 0xa6, 0x76, 0x70, 0x5b, 0x27, 0x1d, 0x61, 0xe8, 0xeb, 0x30, 0x89, 0x83, 0x41, 0xde, 0x28, 0x25, - 0x9f, 0x99, 0xb4, 0x91, 0x68, 0xf9, 0x91, 0x01, 0xe9, 0xda, 0xce, 0x26, 0x76, 0x7d, 0xb4, 0x0a, - 0xb3, 0x51, 0xd0, 0x9e, 0x35, 0xff, 0xa3, 0x38, 0x0f, 0x0a, 0xc0, 0x2a, 0xcc, 0xde, 0x0f, 0x4a, - 0x4a, 0x08, 0x93, 0x38, 0x0d, 0x26, 0x54, 0xd1, 0xf3, 0x31, 0x53, 0xdf, 0x80, 0x71, 0x75, 0x42, - 0x86, 0xbe, 0x0d, 0xcf, 0x75, 0xc5, 0x0f, 0x69, 0x61, 0x66, 0x71, 0x7e, 0x64, 0xa0, 0x4b, 0xf9, - 0x78, 0x58, 0x28, 0xbd, 0xf2, 0xbf, 0x0c, 0x80, 0xda, 0xce, 0xce, 0x96, 0xef, 0x76, 0xdb, 0x84, - 0x5f, 0x96, 0xc9, 0x6f, 0xc1, 0xf3, 0x91, 0xc9, 0xcc, 0xb7, 0xcf, 0x6c, 0xf6, 0x95, 0x50, 0xad, - 0xe1, 0xdb, 0x27, 0xa2, 0x39, 0x8c, 0x87, 0x68, 0xc9, 0x33, 0xa3, 0xd5, 0x18, 0x1f, 0xe6, 0xf1, - 0xbb, 0x90, 0x89, 0x4c, 0x67, 0xa8, 0x0e, 0x13, 0x5c, 0xff, 0xd6, 0x74, 0x96, 0x47, 0xd3, 0x19, - 0xa8, 0xc5, 0x29, 0x0d, 0xd5, 0xcb, 0xff, 0x16, 0xac, 0x46, 0x89, 0xf0, 0x85, 0x0a, 0x24, 0x51, - 0xe1, 0x75, 0x05, 0x4e, 0x5e, 0x42, 0x05, 0xd6, 0x58, 0x31, 0x5a, 0x7f, 0x92, 0x80, 0x2b, 0xdb, - 0x41, 0x92, 0x7e, 0x61, 0x59, 0xd8, 0x86, 0x71, 0x42, 0xb9, 0xef, 0x4a, 0x1a, 0x84, 0xb3, 0xbf, - 0x3a, 0xca, 0xd9, 0x27, 0xd8, 0xb2, 0x4a, 0xb9, 0xdf, 0x8f, 0xbb, 0x3e, 0xc0, 0x8a, 0xd1, 0xf0, - 0xfb, 0x24, 0xe4, 0x47, 0xa9, 0xa2, 0x97, 0x21, 0x6b, 0xfb, 0x44, 0x4e, 0x04, 0x77, 0x8a, 0x21, - 0xcb, 0xe1, 0x4c, 0x30, 0xad, 0xaf, 0x14, 0x13, 0xc4, 0x07, 0x9a, 0x88, 0x2a, 0x21, 0x7a, 0xb1, - 0x2f, 0xb2, 0x99, 0x08, 0x41, 0x5e, 0x2a, 0x04, 0xb2, 0x2e, 0x75, 0xb9, 0x8b, 0xdb, 0x56, 0x13, - 0xb7, 0x31, 0xb5, 0xc9, 0x05, 0x22, 0x61, 0xf8, 0x06, 0x98, 0xd1, 0xa0, 0x55, 0x85, 0x89, 0x76, - 0x60, 0x3c, 0x80, 0x4f, 0x5d, 0x02, 0x7c, 0x00, 0x86, 0x5e, 0x80, 0xa9, 0xf8, 0xc5, 0x20, 0xbf, - 0x53, 0x52, 0x66, 0x26, 0x76, 0x2f, 0x9c, 0x76, 0xf3, 0xa4, 0x9f, 0x79, 0xf3, 0xe8, 0x4f, 0xc1, - 0xdf, 0x25, 0x61, 0xd6, 0x24, 0xce, 0x97, 0xd0, 0x71, 0xdf, 0x07, 0x50, 0x49, 0x2d, 0x8a, 0xed, - 0x05, 0x7c, 0x37, 0x5c, 0x24, 0x26, 0x15, 0x5e, 0x8d, 0xf1, 0xff, 0x95, 0xf7, 0xfe, 0x9c, 0x80, - 0xa9, 0xb8, 0xf7, 0xbe, 0x04, 0x37, 0x1b, 0x5a, 0x8f, 0x4a, 0x5a, 0x4a, 0x96, 0xb4, 0x57, 0x46, - 0x95, 0xb4, 0xa1, 0xb8, 0x3e, 0xa5, 0x96, 0xfd, 0x3a, 0x05, 0xe9, 0x4d, 0xec, 0xe3, 0x0e, 0x43, - 0x1b, 0x43, 0xdf, 0xb8, 0xaa, 0xff, 0x9c, 0x1b, 0x0a, 0xeb, 0x9a, 0x7e, 0x43, 0x51, 0x51, 0xfd, - 0x8b, 0x51, 0x9f, 0xb8, 0x5f, 0x81, 0x19, 0xd1, 0x52, 0x87, 0x06, 0x29, 0x2a, 0xa7, 0x65, 0x3b, - 0x1c, 0xb6, 0x62, 0x0c, 0x15, 0x21, 0x23, 0xc4, 0xa2, 0x9a, 0x2d, 0x64, 0xa0, 0x83, 0x0f, 0x56, - 0xd5, 0x0c, 0xba, 0x03, 0x68, 0x2f, 0x7c, 0xf8, 0xb0, 0x22, 0x22, 0x84, 0xdc, 0x6c, 0xb4, 0x12, - 0x88, 0xff, 0x3f, 0x80, 0x38, 0x85, 0xe5, 0x10, 0xea, 0x75, 0x74, 0x33, 0x38, 0x29, 0x66, 0x6a, - 0x62, 0x02, 0xfd, 0xcc, 0x50, 0x9f, 0xca, 0xc7, 0xba, 0x6d, 0xdd, 0xb4, 0x58, 0xe7, 0xcb, 0x86, - 0xcf, 0x8f, 0x8a, 0x85, 0x3e, 0xee, 0xb4, 0x97, 0xca, 0x27, 0x40, 0x96, 0x4f, 0x7a, 0x0b, 0x10, - 0x5f, 0xd3, 0x83, 0x8d, 0x3b, 0x5a, 0x87, 0xdc, 0x3e, 0xe9, 0x5b, 0xbe, 0xc7, 0x55, 0xf5, 0xd9, - 0x25, 0x44, 0xb7, 0x37, 0x73, 0x81, 0x9b, 0x9b, 0x98, 0x91, 0x58, 0x37, 0xe0, 0x0e, 0xf4, 0x01, - 0x33, 0xfb, 0xa4, 0x6f, 0x6a, 0xe5, 0x35, 0x42, 0xd0, 0x37, 0x60, 0x4e, 0x3e, 0x65, 0x78, 0x34, - 0x68, 0x4b, 0x43, 0x6c, 0x26, 0x1b, 0x9c, 0x94, 0x79, 0xad, 0x83, 0x0f, 0x56, 0x3c, 0xaa, 0xdb, - 0xcd, 0x40, 0x99, 0x2d, 0xdd, 0x14, 0x29, 0x76, 0xf8, 0xe9, 0x07, 0xb7, 0x6f, 0xc4, 0xac, 0x3d, - 0x08, 0x1f, 0xeb, 0x54, 0xa4, 0x94, 0x7f, 0x65, 0x00, 0x8a, 0xee, 0x3d, 0x93, 0xb0, 0xae, 0x68, - 0x5f, 0x45, 0x4b, 0x13, 0x6b, 0x3d, 0x8c, 0x67, 0xb7, 0x34, 0x91, 0xfe, 0x40, 0x4b, 0x13, 0xcb, - 0xeb, 0x6f, 0x45, 0xb7, 0x4c, 0xe2, 0x1c, 0x6c, 0x04, 0x4a, 0xb2, 0x5c, 0x8c, 0x95, 0x8f, 0x0c, - 0x98, 0x1b, 0x4a, 0x8a, 0xf0, 0xc8, 0x36, 0x20, 0x3f, 0xb6, 0x28, 0x83, 0xab, 0xaf, 0x8f, 0x7e, - 0xb1, 0x1c, 0x9b, 0xf5, 0x87, 0x6e, 0x96, 0xff, 0xd2, 0x75, 0xa9, 0xeb, 0xe1, 0x1f, 0x0d, 0xb8, - 0x1a, 0x3f, 0x51, 0x68, 0x5b, 0x03, 0xa6, 0xe2, 0x67, 0xd1, 0x56, 0xdd, 0x3c, 0x8b, 0x55, 0x71, - 0x83, 0x06, 0x40, 0x84, 0x2d, 0x41, 0x02, 0xaa, 0x67, 0xc3, 0xbb, 0x67, 0x66, 0x29, 0x38, 0xd8, - 0x89, 0x15, 0x49, 0x39, 0xeb, 0xa7, 0x09, 0x48, 0x6d, 0x7a, 0x5e, 0x1b, 0xfd, 0xd8, 0x80, 0x59, - 0xea, 0x71, 0x4b, 0xa4, 0x2d, 0x71, 0x2c, 0xfd, 0x6e, 0xa1, 0x8a, 0xfa, 0xce, 0xf9, 0xd8, 0xfb, - 0xc7, 0x51, 0x71, 0x18, 0x6a, 0x90, 0x52, 0xfd, 0x5e, 0x46, 0x3d, 0x5e, 0x95, 0x42, 0x5b, 0xea, - 0x69, 0xe3, 0x01, 0x4c, 0x0f, 0xee, 0xaf, 0x6e, 0x02, 0xf3, 0xdc, 0xfb, 0x4f, 0x9f, 0xba, 0xf7, - 0x54, 0x33, 0xb6, 0xf1, 0xd2, 0x84, 0x70, 0xec, 0x3f, 0x85, 0x73, 0xdf, 0x81, 0x5c, 0x58, 0x29, - 0xb7, 0xe5, 0xeb, 0x9b, 0xf8, 0x4c, 0x1e, 0x57, 0x0f, 0x71, 0x41, 0x33, 0x53, 0x8a, 0x3f, 0xfb, - 0xe2, 0xa6, 0xed, 0x56, 0x8e, 0xe9, 0x0c, 0x30, 0xae, 0x75, 0xcb, 0xbf, 0x49, 0xc0, 0x9c, 0x2e, - 0x01, 0x6f, 0x46, 0x25, 0x40, 0xbd, 0x30, 0xf7, 0xd1, 0xda, 0xc8, 0x07, 0xb2, 0x1b, 0x9f, 0x1f, - 0x15, 0xaf, 0xab, 0x9a, 0x77, 0x5c, 0xa2, 0x3c, 0xfc, 0x46, 0xb6, 0x03, 0x59, 0x71, 0xc7, 0xc7, - 0x6a, 0xd1, 0x05, 0x9f, 0xc8, 0xa6, 0xbd, 0xb6, 0x13, 0x55, 0x2c, 0x81, 0x4b, 0xc9, 0x83, 0x01, - 0xdc, 0xe4, 0xc5, 0x70, 0x29, 0x79, 0x10, 0xc3, 0xbd, 0x06, 0x69, 0xfd, 0xf1, 0x97, 0x92, 0x85, - 0x52, 0x8f, 0xa2, 0x1b, 0xf3, 0xf6, 0x6f, 0x0d, 0x80, 0xe8, 0x75, 0x0d, 0xbd, 0x0a, 0xd7, 0xab, - 0x1b, 0xeb, 0x35, 0xab, 0xb1, 0xb5, 0xbc, 0xb5, 0xdd, 0xb0, 0xb6, 0xd7, 0x1b, 0x9b, 0xab, 0x2b, - 0xf5, 0xb5, 0xfa, 0x6a, 0x2d, 0x37, 0x56, 0xc8, 0x1e, 0x3e, 0x2c, 0x65, 0xb6, 0x29, 0xeb, 0x12, - 0xdb, 0xdd, 0x75, 0x89, 0x83, 0x5e, 0x82, 0xab, 0x83, 0xd2, 0x62, 0xb4, 0x5a, 0xcb, 0x19, 0x85, - 0xa9, 0xc3, 0x87, 0xa5, 0x09, 0xd5, 0x55, 0x10, 0x07, 0xdd, 0x82, 0xe7, 0x87, 0xe5, 0xea, 0xeb, - 0xaf, 0xe7, 0x12, 0x85, 0xe9, 0xc3, 0x87, 0xa5, 0xc9, 0xb0, 0xfd, 0x40, 0x65, 0x40, 0x71, 0x49, - 0x8d, 0x97, 0x2c, 0xc0, 0xe1, 0xc3, 0x52, 0x5a, 0x85, 0x73, 0x21, 0xf5, 0xee, 0x2f, 0xe7, 0xc7, - 0x6e, 0xff, 0x10, 0xa0, 0x4e, 0x77, 0x7d, 0x6c, 0xcb, 0x44, 0x2e, 0xc0, 0xb5, 0xfa, 0xfa, 0x9a, - 0xb9, 0xbc, 0xb2, 0x55, 0xdf, 0x58, 0x1f, 0x3c, 0xf6, 0xb1, 0xb5, 0xda, 0xc6, 0x76, 0xf5, 0xad, - 0x55, 0xab, 0x51, 0x7f, 0x7d, 0x3d, 0x67, 0xa0, 0xeb, 0x70, 0x65, 0x60, 0xed, 0x3b, 0xeb, 0x5b, - 0xf5, 0xb7, 0x57, 0x73, 0x89, 0xea, 0xda, 0xc7, 0x4f, 0xe6, 0x8d, 0xc7, 0x4f, 0xe6, 0x8d, 0xbf, - 0x3f, 0x99, 0x37, 0xde, 0x7b, 0x3a, 0x3f, 0xf6, 0xf8, 0xe9, 0xfc, 0xd8, 0x5f, 0x9e, 0xce, 0x8f, - 0x7d, 0xef, 0xd5, 0x67, 0x26, 0x4a, 0x74, 0xbb, 0xc8, 0x94, 0x69, 0xa6, 0xa5, 0xe3, 0xbe, 0xf6, - 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xb1, 0xe6, 0x39, 0x49, 0x29, 0x1a, 0x00, 0x00, + // 2032 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x4d, 0x6c, 0x1b, 0xc7, + 0x15, 0xd6, 0x92, 0x0c, 0x25, 0x3d, 0x4a, 0x22, 0x35, 0x76, 0x6c, 0x8a, 0x6e, 0x45, 0x86, 0x71, + 0x13, 0xc7, 0x88, 0xa9, 0xda, 0x05, 0x0a, 0x54, 0x0d, 0x5a, 0x98, 0xa2, 0x14, 0x33, 0x4e, 0x24, + 0x61, 0x29, 0xa9, 0x4d, 0x7f, 0xb0, 0x18, 0xee, 0x0e, 0xa9, 0xad, 0xc8, 0x59, 0x62, 0x67, 0x68, + 0x8b, 0xd7, 0xa2, 0x87, 0xc0, 0x87, 0x36, 0x40, 0x2f, 0xbd, 0x18, 0x30, 0xd0, 0x4b, 0x7a, 0x0b, + 0x8a, 0xb4, 0x39, 0x14, 0x3d, 0xf4, 0x96, 0xb6, 0x17, 0x23, 0xa7, 0xa2, 0x07, 0xb5, 0xb0, 0x0f, + 0x09, 0x7a, 0x2a, 0x72, 0x6b, 0x4f, 0xc5, 0xfc, 0xec, 0x0f, 0x45, 0xd1, 0xfa, 0x81, 0x1a, 0x04, + 0xc8, 0x45, 0xe2, 0xcc, 0xbc, 0xf7, 0xcd, 0xbc, 0x6f, 0xde, 0x7b, 0xb3, 0xef, 0xc1, 0x55, 0xdb, + 0x63, 0x5d, 0x8f, 0x2d, 0x31, 0x8e, 0xf7, 0x5c, 0xda, 0x5e, 0xba, 0x77, 0xb3, 0x49, 0x38, 0xbe, + 0x19, 0x8c, 0x2b, 0x3d, 0xdf, 0xe3, 0x1e, 0xba, 0xa4, 0xa4, 0x2a, 0xc1, 0xac, 0x96, 0x2a, 0x5c, + 0x6c, 0x7b, 0x6d, 0x4f, 0x8a, 0x2c, 0x89, 0x5f, 0x4a, 0xba, 0xb0, 0xd0, 0xf6, 0xbc, 0x76, 0x87, + 0x2c, 0xc9, 0x51, 0xb3, 0xdf, 0x5a, 0xc2, 0x74, 0xa0, 0x97, 0x16, 0x0f, 0x2f, 0x39, 0x7d, 0x1f, + 0x73, 0xd7, 0xa3, 0x7a, 0xbd, 0x78, 0x78, 0x9d, 0xbb, 0x5d, 0xc2, 0x38, 0xee, 0xf6, 0x02, 0x6c, + 0x75, 0x12, 0x4b, 0x6d, 0xaa, 0x8f, 0xa5, 0xb1, 0xb5, 0x29, 0x4d, 0xcc, 0x48, 0x68, 0x87, 0xed, + 0xb9, 0x01, 0xf6, 0x3c, 0xee, 0xba, 0xd4, 0x5b, 0x92, 0x7f, 0xf5, 0xd4, 0x57, 0x38, 0xa1, 0x0e, + 0xf1, 0xbb, 0x2e, 0xe5, 0x4b, 0x7c, 0xd0, 0x23, 0x4c, 0xfd, 0xd5, 0xab, 0x57, 0x62, 0xab, 0xb8, + 0x69, 0xbb, 0xf1, 0xc5, 0xf2, 0x2f, 0x0d, 0x98, 0xbb, 0xe3, 0x32, 0xee, 0xf9, 0xae, 0x8d, 0x3b, + 0x75, 0xda, 0xf2, 0xd0, 0xb7, 0x21, 0xbd, 0x4b, 0xb0, 0x43, 0xfc, 0xbc, 0x51, 0x32, 0xae, 0x65, + 0x6e, 0xe5, 0x2b, 0x11, 0x40, 0x45, 0xe9, 0xde, 0x91, 0xeb, 0xd5, 0xe9, 0x8f, 0x0e, 0x8a, 0x13, + 0xef, 0x7d, 0xf2, 0xfe, 0x75, 0xc3, 0xd4, 0x2a, 0xa8, 0x06, 0xe9, 0x7b, 0xb8, 0xc3, 0x08, 0xcf, + 0x27, 0x4a, 0xc9, 0x6b, 0x99, 0x5b, 0x2f, 0x54, 0x8e, 0xe6, 0xbc, 0xb2, 0x83, 0x3b, 0xae, 0x83, + 0xb9, 0x37, 0x8c, 0xa2, 0x74, 0xcb, 0x1f, 0x26, 0x20, 0xbb, 0xe2, 0x75, 0xbb, 0x2e, 0x63, 0xae, + 0x47, 0x4d, 0xcc, 0x09, 0x43, 0xdb, 0x90, 0xf2, 0x31, 0x27, 0xf2, 0x50, 0xd3, 0xd5, 0xdb, 0x42, + 0xe9, 0xef, 0x07, 0xc5, 0x97, 0xda, 0x2e, 0xdf, 0xed, 0x37, 0x2b, 0xb6, 0xd7, 0xd5, 0x34, 0xea, + 0x7f, 0x37, 0x98, 0xb3, 0xa7, 0x2d, 0xad, 0x11, 0xfb, 0xe3, 0x0f, 0x6e, 0x80, 0x3e, 0x48, 0x8d, + 0xd8, 0x6a, 0x33, 0x09, 0x87, 0x7e, 0x04, 0x53, 0x5d, 0xbc, 0x6f, 0x49, 0xe8, 0xc4, 0x79, 0x41, + 0x4f, 0x76, 0xf1, 0xbe, 0x38, 0x35, 0x72, 0x21, 0x2b, 0xd0, 0xed, 0x5d, 0x4c, 0xdb, 0x44, 0x6d, + 0x92, 0x3c, 0xaf, 0x4d, 0x66, 0xbb, 0x78, 0x7f, 0x45, 0x02, 0x8b, 0xad, 0x96, 0x53, 0x9f, 0x3e, + 0x2a, 0x1a, 0xe5, 0x3f, 0x19, 0x00, 0x11, 0x73, 0x08, 0x43, 0xce, 0x0e, 0x47, 0x72, 0x7f, 0xa6, + 0x6f, 0xf5, 0xe5, 0x71, 0x17, 0x73, 0x88, 0xf7, 0xea, 0xac, 0x38, 0xe9, 0xe3, 0x83, 0xa2, 0xa1, + 0x76, 0xcd, 0xda, 0x87, 0xee, 0xe5, 0x0d, 0xc8, 0xf4, 0x7b, 0x0e, 0xe6, 0xc4, 0x12, 0x4e, 0x2e, + 0x39, 0xcc, 0xdc, 0x2a, 0x54, 0x54, 0x04, 0x54, 0x82, 0x08, 0xa8, 0x6c, 0x05, 0x11, 0xa0, 0x00, + 0xdf, 0xfd, 0x47, 0x00, 0x08, 0x4a, 0x5b, 0xac, 0x6b, 0x1b, 0xde, 0x33, 0x20, 0x53, 0x23, 0xcc, + 0xf6, 0xdd, 0x9e, 0x88, 0x29, 0x94, 0x87, 0xc9, 0xae, 0x47, 0xdd, 0x3d, 0xed, 0x91, 0xd3, 0x66, + 0x30, 0x44, 0x05, 0x98, 0x72, 0x1d, 0x42, 0xb9, 0xcb, 0x07, 0xea, 0xf2, 0xcc, 0x70, 0x2c, 0xb4, + 0xee, 0x93, 0x26, 0x73, 0x03, 0xca, 0xcd, 0x60, 0x88, 0x5e, 0x81, 0x1c, 0x23, 0x76, 0xdf, 0x77, + 0xf9, 0xc0, 0xb2, 0x3d, 0xca, 0xb1, 0xcd, 0xf3, 0x29, 0x29, 0x92, 0x0d, 0xe6, 0x57, 0xd4, 0xb4, + 0x00, 0x71, 0x08, 0xc7, 0x6e, 0x87, 0xe5, 0x9f, 0x53, 0x20, 0x7a, 0xa8, 0x8f, 0xfa, 0xe1, 0x24, + 0x4c, 0x87, 0x9e, 0x8c, 0x56, 0x20, 0xe7, 0xf5, 0x88, 0x2f, 0x7e, 0x5b, 0xd8, 0x71, 0x7c, 0xc2, + 0x98, 0x76, 0xd7, 0xfc, 0xc7, 0x1f, 0xdc, 0xb8, 0xa8, 0x09, 0xbf, 0xad, 0x56, 0x1a, 0xdc, 0x77, + 0x69, 0xdb, 0xcc, 0x06, 0x1a, 0x7a, 0x1a, 0xbd, 0x2d, 0xae, 0x8c, 0x32, 0x42, 0x59, 0x9f, 0x59, + 0xbd, 0x7e, 0x73, 0x8f, 0x0c, 0x34, 0xa9, 0x17, 0x47, 0x48, 0xbd, 0x4d, 0x07, 0xd5, 0xfc, 0x5f, + 0x22, 0x68, 0xdb, 0x1f, 0xf4, 0xb8, 0x57, 0xd9, 0xec, 0x37, 0xef, 0x92, 0x81, 0xb8, 0x2a, 0x8d, + 0xb3, 0x29, 0x61, 0xd0, 0x25, 0x48, 0xff, 0x04, 0xbb, 0x1d, 0xe2, 0x48, 0x46, 0xa6, 0x4c, 0x3d, + 0x42, 0xcb, 0x90, 0x66, 0x1c, 0xf3, 0x3e, 0x93, 0x34, 0xcc, 0xdd, 0x2a, 0x8f, 0xf3, 0x8d, 0xaa, + 0x47, 0x9d, 0x86, 0x94, 0x34, 0xb5, 0x06, 0xda, 0x82, 0x34, 0xf7, 0xf6, 0x08, 0xd5, 0x04, 0x55, + 0x5f, 0x3b, 0x85, 0x63, 0xd7, 0x29, 0x8f, 0x39, 0x76, 0x9d, 0x72, 0x53, 0x63, 0xa1, 0x36, 0xe4, + 0x1c, 0xd2, 0x21, 0x6d, 0x49, 0x25, 0xdb, 0xc5, 0x3e, 0x61, 0xf9, 0xf4, 0xa9, 0xf1, 0x47, 0x02, + 0xc7, 0xcc, 0x86, 0xa8, 0x0d, 0x09, 0x8a, 0x36, 0x21, 0xe3, 0x44, 0xae, 0x96, 0x9f, 0x94, 0x44, + 0xbf, 0x38, 0xce, 0xfe, 0x98, 0x57, 0xc6, 0xd3, 0x56, 0x1c, 0x42, 0x78, 0x57, 0x9f, 0x36, 0x3d, + 0xea, 0xb8, 0xb4, 0x6d, 0xed, 0x12, 0xb7, 0xbd, 0xcb, 0xf3, 0x53, 0x25, 0xe3, 0x5a, 0xd2, 0xcc, + 0x86, 0xf3, 0x77, 0xe4, 0x34, 0xda, 0x84, 0xb9, 0x48, 0x54, 0x46, 0xcf, 0xf4, 0x69, 0xa3, 0x67, + 0x36, 0x04, 0x10, 0x22, 0xe8, 0x2d, 0x80, 0x28, 0x3e, 0xf3, 0x20, 0xd1, 0xca, 0xc7, 0x47, 0x7a, + 0xdc, 0x98, 0x18, 0x00, 0xea, 0xc0, 0x85, 0xae, 0x4b, 0x2d, 0x46, 0x3a, 0x2d, 0x4b, 0x33, 0x27, + 0x70, 0x33, 0xe7, 0x70, 0xd3, 0xf3, 0x5d, 0x97, 0x36, 0x48, 0xa7, 0x55, 0x0b, 0x61, 0xd1, 0x6b, + 0x70, 0x25, 0xa2, 0xc3, 0xa3, 0xd6, 0xae, 0xd7, 0x71, 0x2c, 0x9f, 0xb4, 0x2c, 0xdb, 0xeb, 0x53, + 0x9e, 0x9f, 0x91, 0x24, 0x5e, 0x0e, 0x45, 0x36, 0xe8, 0x1d, 0xaf, 0xe3, 0x98, 0xa4, 0xb5, 0x22, + 0x96, 0xd1, 0x8b, 0x10, 0x71, 0x61, 0xb9, 0x0e, 0xcb, 0xcf, 0x96, 0x92, 0xd7, 0x52, 0xe6, 0x4c, + 0x38, 0x59, 0x77, 0xd8, 0xf2, 0xd4, 0x3b, 0x8f, 0x8a, 0x13, 0x9f, 0x3e, 0x2a, 0x4e, 0x94, 0xd7, + 0x60, 0x66, 0x07, 0x77, 0x74, 0xd0, 0x11, 0x86, 0xbe, 0x09, 0xd3, 0x38, 0x18, 0xe4, 0x8d, 0x52, + 0xf2, 0x99, 0x41, 0x1b, 0x89, 0x96, 0x1f, 0x19, 0x90, 0xae, 0xed, 0x6c, 0x62, 0xd7, 0x47, 0xab, + 0x30, 0x1f, 0x39, 0xed, 0x49, 0xe3, 0x3f, 0xf2, 0xf3, 0x20, 0x01, 0xac, 0xc2, 0xfc, 0xbd, 0x20, + 0xa5, 0x84, 0x30, 0x89, 0xe3, 0x60, 0x42, 0x15, 0x3d, 0x1f, 0x33, 0xf5, 0x0d, 0x98, 0x54, 0x27, + 0x64, 0xe8, 0xbb, 0xf0, 0x5c, 0x4f, 0xfc, 0x90, 0x16, 0x66, 0x6e, 0x2d, 0x8e, 0x75, 0x74, 0x29, + 0x1f, 0x77, 0x0b, 0xa5, 0x57, 0xfe, 0x8f, 0x01, 0x50, 0xdb, 0xd9, 0xd9, 0xf2, 0xdd, 0x5e, 0x87, + 0xf0, 0xf3, 0x32, 0xf9, 0x4d, 0x78, 0x3e, 0x32, 0x99, 0xf9, 0xf6, 0x89, 0xcd, 0xbe, 0x10, 0xaa, + 0x35, 0x7c, 0xfb, 0x48, 0x34, 0x87, 0xf1, 0x10, 0x2d, 0x79, 0x62, 0xb4, 0x1a, 0xe3, 0xa3, 0x3c, + 0x7e, 0x1f, 0x32, 0x91, 0xe9, 0x0c, 0xd5, 0x61, 0x8a, 0xeb, 0xdf, 0x9a, 0xce, 0xf2, 0x78, 0x3a, + 0x03, 0xb5, 0x38, 0xa5, 0xa1, 0x7a, 0xf9, 0xbf, 0x82, 0xd5, 0x28, 0x10, 0xbe, 0x50, 0x8e, 0x24, + 0x32, 0xbc, 0xce, 0xc0, 0xc9, 0x73, 0xc8, 0xc0, 0x1a, 0x2b, 0x46, 0xeb, 0xcf, 0x12, 0x70, 0x61, + 0x3b, 0x08, 0xd2, 0x2f, 0x2c, 0x0b, 0xdb, 0x30, 0x49, 0x28, 0xf7, 0x5d, 0x49, 0x83, 0xb8, 0xec, + 0xaf, 0x8f, 0xbb, 0xec, 0x23, 0x6c, 0x59, 0xa5, 0xdc, 0x1f, 0xc4, 0xaf, 0x3e, 0xc0, 0x8a, 0xd1, + 0xf0, 0xc7, 0x24, 0xe4, 0xc7, 0xa9, 0xa2, 0x97, 0x21, 0x6b, 0xfb, 0x44, 0x4e, 0x04, 0x6f, 0x8a, + 0x21, 0xd3, 0xe1, 0x5c, 0x30, 0xad, 0x9f, 0x14, 0x13, 0xc4, 0x07, 0x9a, 0xf0, 0x2a, 0x21, 0x7a, + 0xb6, 0x2f, 0xb2, 0xb9, 0x08, 0x41, 0x3e, 0x2a, 0x04, 0xb2, 0x2e, 0x75, 0xb9, 0x8b, 0x3b, 0x56, + 0x13, 0x77, 0x30, 0xb5, 0xc9, 0x19, 0x3c, 0x61, 0xf4, 0x05, 0x98, 0xd3, 0xa0, 0x55, 0x85, 0x89, + 0x76, 0x60, 0x32, 0x80, 0x4f, 0x9d, 0x03, 0x7c, 0x00, 0x86, 0x5e, 0x80, 0x99, 0xf8, 0xc3, 0x20, + 0xbf, 0x53, 0x52, 0x66, 0x26, 0xf6, 0x2e, 0x1c, 0xf7, 0xf2, 0xa4, 0x9f, 0xf9, 0xf2, 0xe8, 0x4f, + 0xc1, 0x3f, 0x24, 0x61, 0xde, 0x24, 0xce, 0x97, 0xf0, 0xe2, 0x7e, 0x08, 0xa0, 0x82, 0x5a, 0x24, + 0xdb, 0x33, 0xdc, 0xdd, 0x68, 0x92, 0x98, 0x56, 0x78, 0x35, 0xc6, 0x3f, 0xaf, 0xdb, 0xfb, 0x6b, + 0x02, 0x66, 0xe2, 0xb7, 0xf7, 0x25, 0x78, 0xd9, 0xd0, 0x7a, 0x94, 0xd2, 0x52, 0x32, 0xa5, 0xbd, + 0x32, 0x2e, 0xa5, 0x8d, 0xf8, 0xf5, 0x31, 0xb9, 0xec, 0xb7, 0x29, 0x48, 0x6f, 0x62, 0x1f, 0x77, + 0x19, 0xda, 0x18, 0xf9, 0xc6, 0x55, 0xf5, 0xe7, 0xc2, 0x88, 0x5b, 0xd7, 0x74, 0x0f, 0x45, 0x79, + 0xf5, 0xaf, 0xc6, 0x7d, 0xe2, 0x7e, 0x0d, 0xe6, 0x44, 0x49, 0x1d, 0x1a, 0xa4, 0xa8, 0x9c, 0x95, + 0xe5, 0x70, 0x58, 0x8a, 0x31, 0x54, 0x84, 0x8c, 0x10, 0x8b, 0x72, 0xb6, 0x90, 0x81, 0x2e, 0xde, + 0x5f, 0x55, 0x33, 0xe8, 0x06, 0xa0, 0xdd, 0xb0, 0xf1, 0x61, 0x45, 0x44, 0x08, 0xb9, 0xf9, 0x68, + 0x25, 0x10, 0xff, 0x2a, 0x80, 0x38, 0x85, 0xe5, 0x10, 0xea, 0x75, 0x75, 0x31, 0x38, 0x2d, 0x66, + 0x6a, 0x62, 0x02, 0xfd, 0xc2, 0x50, 0x9f, 0xca, 0x87, 0xaa, 0x6d, 0x5d, 0xb4, 0x58, 0xa7, 0x8b, + 0x86, 0xcf, 0x0e, 0x8a, 0x85, 0x01, 0xee, 0x76, 0x96, 0xcb, 0x47, 0x40, 0x96, 0x8f, 0xea, 0x05, + 0x88, 0xaf, 0xe9, 0xe1, 0xc2, 0x1d, 0xad, 0x43, 0x6e, 0x8f, 0x0c, 0x2c, 0xdf, 0xe3, 0x2a, 0xfb, + 0xb4, 0x08, 0xd1, 0xe5, 0xcd, 0x42, 0x70, 0xcd, 0x4d, 0xcc, 0x48, 0xac, 0x1a, 0x70, 0x87, 0xea, + 0x80, 0xb9, 0x3d, 0x32, 0x30, 0xb5, 0xf2, 0x1a, 0x21, 0xe8, 0x5b, 0xb0, 0x20, 0x5b, 0x19, 0x1e, + 0x0d, 0xca, 0xd2, 0x10, 0x9b, 0xc9, 0x02, 0x27, 0x65, 0x5e, 0xea, 0xe2, 0xfd, 0x15, 0x8f, 0xea, + 0x72, 0x33, 0x50, 0x66, 0xcb, 0x57, 0x45, 0x88, 0x3d, 0xf8, 0xe4, 0xfd, 0xeb, 0x57, 0x62, 0xd6, + 0xee, 0x87, 0xcd, 0x3a, 0xe5, 0x29, 0xe5, 0xdf, 0x18, 0x80, 0xa2, 0x77, 0xcf, 0x24, 0xac, 0x27, + 0xca, 0x57, 0x51, 0xd2, 0xc4, 0x4a, 0x0f, 0xe3, 0xd9, 0x25, 0x4d, 0xa4, 0x3f, 0x54, 0xd2, 0xc4, + 0xe2, 0xfa, 0x3b, 0xd1, 0x2b, 0x93, 0x38, 0x05, 0x1b, 0x81, 0x92, 0x4c, 0x17, 0x13, 0xe5, 0x03, + 0x03, 0x16, 0x46, 0x82, 0x22, 0x3c, 0xb2, 0x0d, 0xc8, 0x8f, 0x2d, 0x4a, 0xe7, 0x1a, 0xe8, 0xa3, + 0x9f, 0x2d, 0xc6, 0xe6, 0xfd, 0x91, 0x97, 0xe5, 0xff, 0xf4, 0x5c, 0xea, 0x7c, 0xf8, 0x67, 0x03, + 0x2e, 0xc6, 0x4f, 0x14, 0xda, 0xd6, 0x80, 0x99, 0xf8, 0x59, 0xb4, 0x55, 0x57, 0x4f, 0x62, 0x55, + 0xdc, 0xa0, 0x21, 0x10, 0x61, 0x4b, 0x10, 0x80, 0xaa, 0x6d, 0x78, 0xf3, 0xc4, 0x2c, 0x05, 0x07, + 0x3b, 0x32, 0x23, 0xa9, 0xcb, 0xfa, 0x79, 0x02, 0x52, 0x9b, 0x9e, 0xd7, 0x41, 0x3f, 0x35, 0x60, + 0x9e, 0x7a, 0xdc, 0x12, 0x61, 0x4b, 0x1c, 0x4b, 0xf7, 0x2d, 0x54, 0x52, 0xdf, 0x39, 0x1d, 0x7b, + 0xff, 0x3a, 0x28, 0x8e, 0x42, 0x0d, 0x53, 0xaa, 0xfb, 0x65, 0xd4, 0xe3, 0x55, 0x29, 0xb4, 0xa5, + 0x5a, 0x1b, 0xf7, 0x61, 0x76, 0x78, 0x7f, 0xf5, 0x12, 0x98, 0xa7, 0xde, 0x7f, 0xf6, 0xd8, 0xbd, + 0x67, 0x9a, 0xb1, 0x8d, 0x97, 0xa7, 0xc4, 0xc5, 0xfe, 0x5b, 0x5c, 0xee, 0xdb, 0x90, 0x0b, 0x33, + 0xe5, 0xb6, 0xec, 0xbe, 0x89, 0xcf, 0xe4, 0x49, 0xd5, 0x88, 0x0b, 0x8a, 0x99, 0x52, 0xbc, 0xed, + 0x8b, 0x9b, 0xb6, 0x5b, 0x39, 0xa4, 0x33, 0xc4, 0xb8, 0xd6, 0x2d, 0xff, 0x2e, 0x01, 0x0b, 0x3a, + 0x05, 0xdc, 0x8d, 0x52, 0x80, 0xea, 0x30, 0x0f, 0xd0, 0xda, 0xd8, 0x06, 0xd9, 0x95, 0xcf, 0x0e, + 0x8a, 0x97, 0x55, 0xce, 0x3b, 0x2c, 0x51, 0x1e, 0xed, 0x91, 0xed, 0x40, 0x56, 0xbc, 0xf1, 0xb1, + 0x5c, 0x74, 0xc6, 0x16, 0xd9, 0xac, 0xd7, 0x71, 0xa2, 0x8c, 0x25, 0x70, 0x29, 0xb9, 0x3f, 0x84, + 0x9b, 0x3c, 0x1b, 0x2e, 0x25, 0xf7, 0x63, 0xb8, 0x97, 0x20, 0xad, 0x3f, 0xfe, 0x52, 0x32, 0x51, + 0xea, 0x51, 0xec, 0xc5, 0x6c, 0xc0, 0x82, 0x6e, 0x47, 0xb0, 0x8d, 0x96, 0xa4, 0x8d, 0xc8, 0x83, + 0xdd, 0x25, 0x83, 0x33, 0xf7, 0x26, 0xae, 0xff, 0xde, 0x00, 0x88, 0x5a, 0x76, 0xe8, 0x55, 0xb8, + 0x5c, 0xdd, 0x58, 0xaf, 0x59, 0x8d, 0xad, 0xdb, 0x5b, 0xdb, 0x0d, 0x6b, 0x7b, 0xbd, 0xb1, 0xb9, + 0xba, 0x52, 0x5f, 0xab, 0xaf, 0xd6, 0x72, 0x13, 0x85, 0xec, 0x83, 0x87, 0xa5, 0xcc, 0x36, 0x65, + 0x3d, 0x62, 0xbb, 0x2d, 0x97, 0x38, 0xe8, 0x25, 0xb8, 0x38, 0x2c, 0x2d, 0x46, 0xab, 0xb5, 0x9c, + 0x51, 0x98, 0x79, 0xf0, 0xb0, 0x34, 0xa5, 0x4a, 0x15, 0xe2, 0xa0, 0x6b, 0xf0, 0xfc, 0xa8, 0x5c, + 0x7d, 0xfd, 0xf5, 0x5c, 0xa2, 0x30, 0xfb, 0xe0, 0x61, 0x69, 0x3a, 0xac, 0x69, 0x50, 0x19, 0x50, + 0x5c, 0x52, 0xe3, 0x25, 0x0b, 0xf0, 0xe0, 0x61, 0x29, 0xad, 0x62, 0xa4, 0x90, 0x7a, 0xe7, 0xd7, + 0x8b, 0x13, 0xd7, 0x7f, 0x0c, 0x50, 0xa7, 0x2d, 0x1f, 0xdb, 0x32, 0x3b, 0x14, 0xe0, 0x52, 0x7d, + 0x7d, 0xcd, 0xbc, 0xbd, 0xb2, 0x55, 0xdf, 0x58, 0x1f, 0x3e, 0xf6, 0xa1, 0xb5, 0xda, 0xc6, 0x76, + 0xf5, 0xcd, 0x55, 0xab, 0x51, 0x7f, 0x7d, 0x3d, 0x67, 0xa0, 0xcb, 0x70, 0x61, 0x68, 0xed, 0x7b, + 0xeb, 0x5b, 0xf5, 0xb7, 0x56, 0x73, 0x89, 0xea, 0xda, 0x47, 0x4f, 0x16, 0x8d, 0xc7, 0x4f, 0x16, + 0x8d, 0x7f, 0x3e, 0x59, 0x34, 0xde, 0x7d, 0xba, 0x38, 0xf1, 0xf8, 0xe9, 0xe2, 0xc4, 0xdf, 0x9e, + 0x2e, 0x4e, 0xfc, 0xe0, 0xd5, 0x67, 0x46, 0x5f, 0xf4, 0x64, 0xc9, 0x38, 0x6c, 0xa6, 0xa5, 0x37, + 0x7c, 0xe3, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x2e, 0x31, 0x9d, 0x54, 0x7e, 0x1a, 0x00, 0x00, } func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { @@ -1476,679 +1524,680 @@ func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_go func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 10741 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0xbd, 0x7b, 0x70, 0x24, 0xc7, - 0x79, 0x18, 0x8e, 0x7d, 0xef, 0x7e, 0x8b, 0xdd, 0x1d, 0x34, 0xc0, 0x3b, 0xdc, 0x1e, 0x09, 0x80, - 0xc3, 0xc7, 0x3d, 0x48, 0xe2, 0xc8, 0x23, 0xef, 0x48, 0xe2, 0x44, 0xd1, 0xbb, 0x8b, 0xbd, 0x3b, - 0xdc, 0xe1, 0xa5, 0x59, 0xe0, 0xf8, 0xb0, 0xad, 0xf1, 0x60, 0xb7, 0x01, 0x0c, 0x6f, 0x77, 0x66, - 0x34, 0x33, 0x7b, 0x07, 0xb0, 0x7e, 0xf5, 0x2b, 0xda, 0xb2, 0x1d, 0xf9, 0xe2, 0xd8, 0xb2, 0x9d, - 0xb2, 0x65, 0x4b, 0xa7, 0x50, 0x56, 0xac, 0x87, 0xf3, 0x92, 0x25, 0x59, 0x92, 0xe3, 0xb2, 0x4b, - 0x4e, 0xe5, 0x21, 0x3b, 0xa9, 0x94, 0xe4, 0x4a, 0x25, 0xae, 0x54, 0xc2, 0x38, 0x94, 0x2a, 0x52, - 0x64, 0x39, 0xb6, 0x65, 0x3a, 0x89, 0xa3, 0x4a, 0x25, 0xd5, 0xaf, 0x79, 0xec, 0x03, 0xb3, 0x38, - 0x91, 0xb4, 0x53, 0xfa, 0xe7, 0x6e, 0xbb, 0xfb, 0xfb, 0xbe, 0xee, 0xfe, 0xfa, 0xeb, 0xef, 0xd5, - 0x3d, 0x0d, 0xf8, 0xf3, 0x0b, 0x30, 0xb7, 0x63, 0x9a, 0x3b, 0x6d, 0x7c, 0xc6, 0xb2, 0x4d, 0xd7, - 0xdc, 0xea, 0x6e, 0x9f, 0x69, 0x61, 0xa7, 0x69, 0xeb, 0x96, 0x6b, 0xda, 0xf3, 0xb4, 0x0e, 0x95, - 0x18, 0xc4, 0xbc, 0x80, 0x90, 0x57, 0x60, 0xe2, 0xa2, 0xde, 0xc6, 0x8b, 0x1e, 0x60, 0x03, 0xbb, - 0xe8, 0x29, 0x48, 0x6e, 0xeb, 0x6d, 0x3c, 0x1d, 0x9b, 0x4b, 0x9c, 0xcc, 0x9f, 0xbd, 0x7f, 0xbe, - 0x07, 0x69, 0x3e, 0x8c, 0xb1, 0x4e, 0xaa, 0x15, 0x8a, 0x21, 0x7f, 0x2d, 0x09, 0x93, 0x03, 0x5a, - 0x11, 0x82, 0xa4, 0xa1, 0x75, 0x08, 0xc5, 0xd8, 0xc9, 0x9c, 0x42, 0x7f, 0xa3, 0x69, 0xc8, 0x58, - 0x5a, 0xf3, 0xba, 0xb6, 0x83, 0xa7, 0xe3, 0xb4, 0x5a, 0x14, 0xd1, 0x0c, 0x40, 0x0b, 0x5b, 0xd8, - 0x68, 0x61, 0xa3, 0xb9, 0x3f, 0x9d, 0x98, 0x4b, 0x9c, 0xcc, 0x29, 0x81, 0x1a, 0xf4, 0x10, 0x4c, - 0x58, 0xdd, 0xad, 0xb6, 0xde, 0x54, 0x03, 0x60, 0x30, 0x97, 0x38, 0x99, 0x52, 0x24, 0xd6, 0xb0, - 0xe8, 0x03, 0x9f, 0x80, 0xd2, 0x4d, 0xac, 0x5d, 0x0f, 0x82, 0xe6, 0x29, 0x68, 0x91, 0x54, 0x07, - 0x00, 0x6b, 0x30, 0xde, 0xc1, 0x8e, 0xa3, 0xed, 0x60, 0xd5, 0xdd, 0xb7, 0xf0, 0x74, 0x92, 0xce, - 0x7e, 0xae, 0x6f, 0xf6, 0xbd, 0x33, 0xcf, 0x73, 0xac, 0x8d, 0x7d, 0x0b, 0xa3, 0x0a, 0xe4, 0xb0, - 0xd1, 0xed, 0x30, 0x0a, 0xa9, 0x21, 0xfc, 0xab, 0x1b, 0xdd, 0x4e, 0x2f, 0x95, 0x2c, 0x41, 0xe3, - 0x24, 0x32, 0x0e, 0xb6, 0x6f, 0xe8, 0x4d, 0x3c, 0x9d, 0xa6, 0x04, 0x4e, 0xf4, 0x11, 0x68, 0xb0, - 0xf6, 0x5e, 0x1a, 0x02, 0x0f, 0xd5, 0x20, 0x87, 0xf7, 0x5c, 0x6c, 0x38, 0xba, 0x69, 0x4c, 0x67, - 0x28, 0x91, 0x07, 0x06, 0xac, 0x22, 0x6e, 0xb7, 0x7a, 0x49, 0xf8, 0x78, 0xe8, 0x3c, 0x64, 0x4c, - 0xcb, 0xd5, 0x4d, 0xc3, 0x99, 0xce, 0xce, 0xc5, 0x4e, 0xe6, 0xcf, 0xde, 0x3d, 0x50, 0x10, 0xd6, - 0x18, 0x8c, 0x22, 0x80, 0xd1, 0x12, 0x48, 0x8e, 0xd9, 0xb5, 0x9b, 0x58, 0x6d, 0x9a, 0x2d, 0xac, - 0xea, 0xc6, 0xb6, 0x39, 0x9d, 0xa3, 0x04, 0x66, 0xfb, 0x27, 0x42, 0x01, 0x6b, 0x66, 0x0b, 0x2f, - 0x19, 0xdb, 0xa6, 0x52, 0x74, 0x42, 0x65, 0x74, 0x04, 0xd2, 0xce, 0xbe, 0xe1, 0x6a, 0x7b, 0xd3, - 0xe3, 0x54, 0x42, 0x78, 0x49, 0xfe, 0x8d, 0x34, 0x94, 0x46, 0x11, 0xb1, 0x0b, 0x90, 0xda, 0x26, - 0xb3, 0x9c, 0x8e, 0x1f, 0x86, 0x07, 0x0c, 0x27, 0xcc, 0xc4, 0xf4, 0x1d, 0x32, 0xb1, 0x02, 0x79, - 0x03, 0x3b, 0x2e, 0x6e, 0x31, 0x89, 0x48, 0x8c, 0x28, 0x53, 0xc0, 0x90, 0xfa, 0x45, 0x2a, 0x79, - 0x47, 0x22, 0xf5, 0x3c, 0x94, 0xbc, 0x21, 0xa9, 0xb6, 0x66, 0xec, 0x08, 0xd9, 0x3c, 0x13, 0x35, - 0x92, 0xf9, 0xba, 0xc0, 0x53, 0x08, 0x9a, 0x52, 0xc4, 0xa1, 0x32, 0x5a, 0x04, 0x30, 0x0d, 0x6c, - 0x6e, 0xab, 0x2d, 0xdc, 0x6c, 0x4f, 0x67, 0x87, 0x70, 0x69, 0x8d, 0x80, 0xf4, 0x71, 0xc9, 0x64, - 0xb5, 0xcd, 0x36, 0x7a, 0xda, 0x17, 0xb5, 0xcc, 0x10, 0x49, 0x59, 0x61, 0x9b, 0xac, 0x4f, 0xda, - 0x36, 0xa1, 0x68, 0x63, 0x22, 0xf7, 0xb8, 0xc5, 0x67, 0x96, 0xa3, 0x83, 0x98, 0x8f, 0x9c, 0x99, - 0xc2, 0xd1, 0xd8, 0xc4, 0x0a, 0x76, 0xb0, 0x88, 0xee, 0x03, 0xaf, 0x42, 0xa5, 0x62, 0x05, 0x54, - 0x0b, 0x8d, 0x8b, 0xca, 0x55, 0xad, 0x83, 0xcb, 0x2f, 0x43, 0x31, 0xcc, 0x1e, 0x34, 0x05, 0x29, - 0xc7, 0xd5, 0x6c, 0x97, 0x4a, 0x61, 0x4a, 0x61, 0x05, 0x24, 0x41, 0x02, 0x1b, 0x2d, 0xaa, 0xe5, - 0x52, 0x0a, 0xf9, 0x89, 0xbe, 0xcf, 0x9f, 0x70, 0x82, 0x4e, 0xf8, 0xc1, 0xfe, 0x15, 0x0d, 0x51, - 0xee, 0x9d, 0x77, 0xf9, 0x49, 0x28, 0x84, 0x26, 0x30, 0x6a, 0xd7, 0xf2, 0xff, 0x07, 0x77, 0x0d, - 0x24, 0x8d, 0x9e, 0x87, 0xa9, 0xae, 0xa1, 0x1b, 0x2e, 0xb6, 0x2d, 0x1b, 0x13, 0x89, 0x65, 0x5d, - 0x4d, 0x7f, 0x3d, 0x33, 0x44, 0xe6, 0x36, 0x83, 0xd0, 0x8c, 0x8a, 0x32, 0xd9, 0xed, 0xaf, 0x3c, - 0x9d, 0xcb, 0x7e, 0x23, 0x23, 0xbd, 0xf2, 0xca, 0x2b, 0xaf, 0xc4, 0xe5, 0xdf, 0x49, 0xc3, 0xd4, - 0xa0, 0x3d, 0x33, 0x70, 0xfb, 0x1e, 0x81, 0xb4, 0xd1, 0xed, 0x6c, 0x61, 0x9b, 0x32, 0x29, 0xa5, - 0xf0, 0x12, 0xaa, 0x40, 0xaa, 0xad, 0x6d, 0xe1, 0xf6, 0x74, 0x72, 0x2e, 0x76, 0xb2, 0x78, 0xf6, - 0xa1, 0x91, 0x76, 0xe5, 0xfc, 0x32, 0x41, 0x51, 0x18, 0x26, 0x7a, 0x27, 0x24, 0xb9, 0x8a, 0x26, - 0x14, 0x4e, 0x8f, 0x46, 0x81, 0xec, 0x25, 0x85, 0xe2, 0xa1, 0xe3, 0x90, 0x23, 0xff, 0x33, 0xd9, - 0x48, 0xd3, 0x31, 0x67, 0x49, 0x05, 0x91, 0x0b, 0x54, 0x86, 0x2c, 0xdd, 0x26, 0x2d, 0x2c, 0x4c, - 0x9b, 0x57, 0x26, 0x82, 0xd5, 0xc2, 0xdb, 0x5a, 0xb7, 0xed, 0xaa, 0x37, 0xb4, 0x76, 0x17, 0x53, - 0x81, 0xcf, 0x29, 0xe3, 0xbc, 0xf2, 0x1a, 0xa9, 0x43, 0xb3, 0x90, 0x67, 0xbb, 0x4a, 0x37, 0x5a, - 0x78, 0x8f, 0x6a, 0xcf, 0x94, 0xc2, 0x36, 0xda, 0x12, 0xa9, 0x21, 0xdd, 0xbf, 0xe4, 0x98, 0x86, - 0x10, 0x4d, 0xda, 0x05, 0xa9, 0xa0, 0xdd, 0x3f, 0xd9, 0xab, 0xb8, 0xef, 0x19, 0x3c, 0xbd, 0xbe, - 0xbd, 0x74, 0x02, 0x4a, 0x14, 0xe2, 0x71, 0xbe, 0xf4, 0x5a, 0x7b, 0x7a, 0x62, 0x2e, 0x76, 0x32, - 0xab, 0x14, 0x59, 0xf5, 0x1a, 0xaf, 0x95, 0x3f, 0x17, 0x87, 0x24, 0x55, 0x2c, 0x25, 0xc8, 0x6f, - 0xbc, 0xb0, 0x5e, 0x57, 0x17, 0xd7, 0x36, 0xab, 0xcb, 0x75, 0x29, 0x86, 0x8a, 0x00, 0xb4, 0xe2, - 0xe2, 0xf2, 0x5a, 0x65, 0x43, 0x8a, 0x7b, 0xe5, 0xa5, 0xd5, 0x8d, 0xf3, 0x4f, 0x48, 0x09, 0x0f, - 0x61, 0x93, 0x55, 0x24, 0x83, 0x00, 0x8f, 0x9f, 0x95, 0x52, 0x48, 0x82, 0x71, 0x46, 0x60, 0xe9, - 0xf9, 0xfa, 0xe2, 0xf9, 0x27, 0xa4, 0x74, 0xb8, 0xe6, 0xf1, 0xb3, 0x52, 0x06, 0x15, 0x20, 0x47, - 0x6b, 0xaa, 0x6b, 0x6b, 0xcb, 0x52, 0xd6, 0xa3, 0xd9, 0xd8, 0x50, 0x96, 0x56, 0x2f, 0x49, 0x39, - 0x8f, 0xe6, 0x25, 0x65, 0x6d, 0x73, 0x5d, 0x02, 0x8f, 0xc2, 0x4a, 0xbd, 0xd1, 0xa8, 0x5c, 0xaa, - 0x4b, 0x79, 0x0f, 0xa2, 0xfa, 0xc2, 0x46, 0xbd, 0x21, 0x8d, 0x87, 0x86, 0xf5, 0xf8, 0x59, 0xa9, - 0xe0, 0x75, 0x51, 0x5f, 0xdd, 0x5c, 0x91, 0x8a, 0x68, 0x02, 0x0a, 0xac, 0x0b, 0x31, 0x88, 0x52, - 0x4f, 0xd5, 0xf9, 0x27, 0x24, 0xc9, 0x1f, 0x08, 0xa3, 0x32, 0x11, 0xaa, 0x38, 0xff, 0x84, 0x84, - 0xe4, 0x1a, 0xa4, 0xa8, 0x18, 0x22, 0x04, 0xc5, 0xe5, 0x4a, 0xb5, 0xbe, 0xac, 0xae, 0xad, 0x6f, - 0x2c, 0xad, 0xad, 0x56, 0x96, 0xa5, 0x98, 0x5f, 0xa7, 0xd4, 0xdf, 0xb5, 0xb9, 0xa4, 0xd4, 0x17, - 0xa5, 0x78, 0xb0, 0x6e, 0xbd, 0x5e, 0xd9, 0xa8, 0x2f, 0x4a, 0x09, 0xb9, 0x09, 0x53, 0x83, 0x14, - 0xea, 0xc0, 0x2d, 0x14, 0x90, 0x85, 0xf8, 0x10, 0x59, 0xa0, 0xb4, 0x7a, 0x65, 0x41, 0xfe, 0x6a, - 0x1c, 0x26, 0x07, 0x18, 0x95, 0x81, 0x9d, 0x3c, 0x0b, 0x29, 0x26, 0xcb, 0xcc, 0xcc, 0x9e, 0x1a, - 0x68, 0x9d, 0xa8, 0x64, 0xf7, 0x99, 0x5a, 0x8a, 0x17, 0x74, 0x35, 0x12, 0x43, 0x5c, 0x0d, 0x42, - 0xa2, 0x4f, 0x60, 0x7f, 0xb0, 0x4f, 0xf9, 0x33, 0xfb, 0x78, 0x7e, 0x14, 0xfb, 0x48, 0xeb, 0x0e, - 0x67, 0x04, 0x52, 0x03, 0x8c, 0xc0, 0x05, 0x98, 0xe8, 0x23, 0x34, 0xb2, 0x32, 0x7e, 0x6f, 0x0c, - 0xa6, 0x87, 0x31, 0x27, 0x42, 0x25, 0xc6, 0x43, 0x2a, 0xf1, 0x42, 0x2f, 0x07, 0xef, 0x1d, 0xbe, - 0x08, 0x7d, 0x6b, 0xfd, 0xf1, 0x18, 0x1c, 0x19, 0xec, 0x52, 0x0e, 0x1c, 0xc3, 0x3b, 0x21, 0xdd, - 0xc1, 0xee, 0xae, 0x29, 0xdc, 0xaa, 0x07, 0x07, 0x18, 0x6b, 0xd2, 0xdc, 0xbb, 0xd8, 0x1c, 0x2b, - 0x68, 0xed, 0x13, 0xc3, 0xfc, 0x42, 0x36, 0x9a, 0xbe, 0x91, 0xfe, 0x44, 0x1c, 0xee, 0x1a, 0x48, - 0x7c, 0xe0, 0x40, 0xef, 0x01, 0xd0, 0x0d, 0xab, 0xeb, 0x32, 0xd7, 0x89, 0x69, 0xe2, 0x1c, 0xad, - 0xa1, 0xca, 0x8b, 0x68, 0xd9, 0xae, 0xeb, 0xb5, 0x27, 0x68, 0x3b, 0xb0, 0x2a, 0x0a, 0xf0, 0x94, - 0x3f, 0xd0, 0x24, 0x1d, 0xe8, 0xcc, 0x90, 0x99, 0xf6, 0x09, 0xe6, 0xa3, 0x20, 0x35, 0xdb, 0x3a, - 0x36, 0x5c, 0xd5, 0x71, 0x6d, 0xac, 0x75, 0x74, 0x63, 0x87, 0x9a, 0x9a, 0xec, 0x42, 0x6a, 0x5b, - 0x6b, 0x3b, 0x58, 0x29, 0xb1, 0xe6, 0x86, 0x68, 0x25, 0x18, 0x54, 0x80, 0xec, 0x00, 0x46, 0x3a, - 0x84, 0xc1, 0x9a, 0x3d, 0x0c, 0xf9, 0x67, 0x72, 0x90, 0x0f, 0x38, 0xe0, 0xe8, 0x5e, 0x18, 0x7f, - 0x49, 0xbb, 0xa1, 0xa9, 0x22, 0xa8, 0x62, 0x9c, 0xc8, 0x93, 0xba, 0x75, 0x1e, 0x58, 0x3d, 0x0a, - 0x53, 0x14, 0xc4, 0xec, 0xba, 0xd8, 0x56, 0x9b, 0x6d, 0xcd, 0x71, 0x28, 0xd3, 0xb2, 0x14, 0x14, - 0x91, 0xb6, 0x35, 0xd2, 0x54, 0x13, 0x2d, 0xe8, 0x1c, 0x4c, 0x52, 0x8c, 0x4e, 0xb7, 0xed, 0xea, - 0x56, 0x1b, 0xab, 0x24, 0xcc, 0x73, 0xa8, 0xc9, 0xf1, 0x46, 0x36, 0x41, 0x20, 0x56, 0x38, 0x00, - 0x19, 0x91, 0x83, 0x16, 0xe1, 0x1e, 0x8a, 0xb6, 0x83, 0x0d, 0x6c, 0x6b, 0x2e, 0x56, 0xf1, 0x7b, - 0xba, 0x5a, 0xdb, 0x51, 0x35, 0xa3, 0xa5, 0xee, 0x6a, 0xce, 0xee, 0xf4, 0x14, 0x21, 0x50, 0x8d, - 0x4f, 0xc7, 0x94, 0x63, 0x04, 0xf0, 0x12, 0x87, 0xab, 0x53, 0xb0, 0x8a, 0xd1, 0xba, 0xac, 0x39, - 0xbb, 0x68, 0x01, 0x8e, 0x50, 0x2a, 0x8e, 0x6b, 0xeb, 0xc6, 0x8e, 0xda, 0xdc, 0xc5, 0xcd, 0xeb, - 0x6a, 0xd7, 0xdd, 0x7e, 0x6a, 0xfa, 0x78, 0xb0, 0x7f, 0x3a, 0xc2, 0x06, 0x85, 0xa9, 0x11, 0x90, - 0x4d, 0x77, 0xfb, 0x29, 0xd4, 0x80, 0x71, 0xb2, 0x18, 0x1d, 0xfd, 0x65, 0xac, 0x6e, 0x9b, 0x36, - 0xb5, 0xa1, 0xc5, 0x01, 0xaa, 0x29, 0xc0, 0xc1, 0xf9, 0x35, 0x8e, 0xb0, 0x62, 0xb6, 0xf0, 0x42, - 0xaa, 0xb1, 0x5e, 0xaf, 0x2f, 0x2a, 0x79, 0x41, 0xe5, 0xa2, 0x69, 0x13, 0x81, 0xda, 0x31, 0x3d, - 0x06, 0xe7, 0x99, 0x40, 0xed, 0x98, 0x82, 0xbd, 0xe7, 0x60, 0xb2, 0xd9, 0x64, 0x73, 0xd6, 0x9b, - 0x2a, 0x0f, 0xc6, 0x9c, 0x69, 0x29, 0xc4, 0xac, 0x66, 0xf3, 0x12, 0x03, 0xe0, 0x32, 0xee, 0xa0, - 0xa7, 0xe1, 0x2e, 0x9f, 0x59, 0x41, 0xc4, 0x89, 0xbe, 0x59, 0xf6, 0xa2, 0x9e, 0x83, 0x49, 0x6b, - 0xbf, 0x1f, 0x11, 0x85, 0x7a, 0xb4, 0xf6, 0x7b, 0xd1, 0x9e, 0x84, 0x29, 0x6b, 0xd7, 0xea, 0xc7, - 0x3b, 0x1d, 0xc4, 0x43, 0xd6, 0xae, 0xd5, 0x8b, 0xf8, 0x00, 0x8d, 0xcc, 0x6d, 0xdc, 0xd4, 0x5c, - 0xdc, 0x9a, 0x3e, 0x1a, 0x04, 0x0f, 0x34, 0xa0, 0x79, 0x90, 0x9a, 0x4d, 0x15, 0x1b, 0xda, 0x56, - 0x1b, 0xab, 0x9a, 0x8d, 0x0d, 0xcd, 0x99, 0x9e, 0xa5, 0xc0, 0x49, 0xd7, 0xee, 0x62, 0xa5, 0xd8, - 0x6c, 0xd6, 0x69, 0x63, 0x85, 0xb6, 0xa1, 0xd3, 0x30, 0x61, 0x6e, 0xbd, 0xd4, 0x64, 0x12, 0xa9, - 0x5a, 0x36, 0xde, 0xd6, 0xf7, 0xa6, 0xef, 0xa7, 0xec, 0x2d, 0x91, 0x06, 0x2a, 0x8f, 0xeb, 0xb4, - 0x1a, 0x9d, 0x02, 0xa9, 0xe9, 0xec, 0x6a, 0xb6, 0x45, 0x55, 0xb2, 0x63, 0x69, 0x4d, 0x3c, 0xfd, - 0x00, 0x03, 0x65, 0xf5, 0xab, 0xa2, 0x9a, 0xec, 0x08, 0xe7, 0xa6, 0xbe, 0xed, 0x0a, 0x8a, 0x27, - 0xd8, 0x8e, 0xa0, 0x75, 0x9c, 0xda, 0x49, 0x90, 0x08, 0x27, 0x42, 0x1d, 0x9f, 0xa4, 0x60, 0x45, - 0x6b, 0xd7, 0x0a, 0xf6, 0x7b, 0x1f, 0x14, 0x08, 0xa4, 0xdf, 0xe9, 0x29, 0xe6, 0xb8, 0x59, 0xbb, - 0x81, 0x1e, 0x9f, 0x80, 0x23, 0x04, 0xa8, 0x83, 0x5d, 0xad, 0xa5, 0xb9, 0x5a, 0x00, 0xfa, 0x61, - 0x0a, 0x4d, 0xd8, 0xbe, 0xc2, 0x1b, 0x43, 0xe3, 0xb4, 0xbb, 0x5b, 0xfb, 0x9e, 0x60, 0x3d, 0xc2, - 0xc6, 0x49, 0xea, 0x84, 0x68, 0xbd, 0x65, 0xce, 0xb9, 0xbc, 0x00, 0xe3, 0x41, 0xb9, 0x47, 0x39, - 0x60, 0x92, 0x2f, 0xc5, 0x88, 0x13, 0x54, 0x5b, 0x5b, 0x24, 0xee, 0xcb, 0x8b, 0x75, 0x29, 0x4e, - 0xdc, 0xa8, 0xe5, 0xa5, 0x8d, 0xba, 0xaa, 0x6c, 0xae, 0x6e, 0x2c, 0xad, 0xd4, 0xa5, 0x44, 0xc0, - 0xb1, 0xbf, 0x92, 0xcc, 0x3e, 0x28, 0x9d, 0x20, 0x5e, 0x43, 0x31, 0x1c, 0xa9, 0xa1, 0x77, 0xc0, - 0x51, 0x91, 0x56, 0x71, 0xb0, 0xab, 0xde, 0xd4, 0x6d, 0xba, 0x21, 0x3b, 0x1a, 0x33, 0x8e, 0x9e, - 0xfc, 0x4c, 0x71, 0xa8, 0x06, 0x76, 0x9f, 0xd3, 0x6d, 0xb2, 0xdd, 0x3a, 0x9a, 0x8b, 0x96, 0x61, - 0xd6, 0x30, 0x55, 0xc7, 0xd5, 0x8c, 0x96, 0x66, 0xb7, 0x54, 0x3f, 0xa1, 0xa5, 0x6a, 0xcd, 0x26, - 0x76, 0x1c, 0x93, 0x19, 0x42, 0x8f, 0xca, 0xdd, 0x86, 0xd9, 0xe0, 0xc0, 0xbe, 0x85, 0xa8, 0x70, - 0xd0, 0x1e, 0xf1, 0x4d, 0x0c, 0x13, 0xdf, 0xe3, 0x90, 0xeb, 0x68, 0x96, 0x8a, 0x0d, 0xd7, 0xde, - 0xa7, 0xfe, 0x79, 0x56, 0xc9, 0x76, 0x34, 0xab, 0x4e, 0xca, 0x6f, 0x4b, 0x98, 0x74, 0x25, 0x99, - 0x4d, 0x4a, 0xa9, 0x2b, 0xc9, 0x6c, 0x4a, 0x4a, 0x5f, 0x49, 0x66, 0xd3, 0x52, 0xe6, 0x4a, 0x32, - 0x9b, 0x95, 0x72, 0x57, 0x92, 0xd9, 0x9c, 0x04, 0xf2, 0xcf, 0x26, 0x61, 0x3c, 0xe8, 0xc1, 0x93, - 0x80, 0xa8, 0x49, 0x6d, 0x58, 0x8c, 0x6a, 0xb9, 0xfb, 0x0e, 0xf4, 0xf7, 0xe7, 0x6b, 0xc4, 0xb8, - 0x2d, 0xa4, 0x99, 0xbb, 0xac, 0x30, 0x4c, 0xe2, 0x58, 0x10, 0xf1, 0xc3, 0xcc, 0x3d, 0xc9, 0x2a, - 0xbc, 0x84, 0x2e, 0x41, 0xfa, 0x25, 0x87, 0xd2, 0x4e, 0x53, 0xda, 0xf7, 0x1f, 0x4c, 0xfb, 0x4a, - 0x83, 0x12, 0xcf, 0x5d, 0x69, 0xa8, 0xab, 0x6b, 0xca, 0x4a, 0x65, 0x59, 0xe1, 0xe8, 0xe8, 0x18, - 0x24, 0xdb, 0xda, 0xcb, 0xfb, 0x61, 0x33, 0x48, 0xab, 0xd0, 0x3c, 0x94, 0xba, 0xc6, 0x0d, 0x6c, - 0xeb, 0xdb, 0x3a, 0x6e, 0xa9, 0x14, 0xaa, 0x14, 0x84, 0x2a, 0xfa, 0xad, 0xcb, 0x04, 0x7e, 0xc4, - 0x65, 0x3c, 0x06, 0xc9, 0x9b, 0x58, 0xbb, 0x1e, 0x36, 0x56, 0xb4, 0xea, 0x2d, 0xdc, 0x4e, 0x67, - 0x20, 0x45, 0xf9, 0x8b, 0x00, 0x38, 0x87, 0xa5, 0x31, 0x94, 0x85, 0x64, 0x6d, 0x4d, 0x21, 0x5b, - 0x4a, 0x82, 0x71, 0x56, 0xab, 0xae, 0x2f, 0xd5, 0x6b, 0x75, 0x29, 0x2e, 0x9f, 0x83, 0x34, 0x63, - 0x1a, 0xd9, 0x6e, 0x1e, 0xdb, 0xa4, 0x31, 0x5e, 0xe4, 0x34, 0x62, 0xa2, 0x75, 0x73, 0xa5, 0x5a, - 0x57, 0xa4, 0x78, 0x9f, 0xb0, 0xc8, 0x0e, 0x8c, 0x07, 0x3d, 0xf9, 0xb7, 0x27, 0x9c, 0xff, 0x62, - 0x0c, 0xf2, 0x01, 0xcf, 0x9c, 0xb8, 0x54, 0x5a, 0xbb, 0x6d, 0xde, 0x54, 0xb5, 0xb6, 0xae, 0x39, - 0x5c, 0x94, 0x80, 0x56, 0x55, 0x48, 0xcd, 0xa8, 0x4b, 0xf7, 0x36, 0x6d, 0xb2, 0x94, 0x94, 0x96, - 0x3f, 0x1c, 0x03, 0xa9, 0xd7, 0x35, 0xee, 0x19, 0x66, 0xec, 0xaf, 0x72, 0x98, 0xf2, 0x87, 0x62, - 0x50, 0x0c, 0xfb, 0xc3, 0x3d, 0xc3, 0xbb, 0xf7, 0xaf, 0x74, 0x78, 0x7f, 0x18, 0x87, 0x42, 0xc8, - 0x0b, 0x1e, 0x75, 0x74, 0xef, 0x81, 0x09, 0xbd, 0x85, 0x3b, 0x96, 0xe9, 0x62, 0xa3, 0xb9, 0xaf, - 0xb6, 0xf1, 0x0d, 0xdc, 0x9e, 0x96, 0xa9, 0x92, 0x39, 0x73, 0xb0, 0x9f, 0x3d, 0xbf, 0xe4, 0xe3, - 0x2d, 0x13, 0xb4, 0x85, 0xc9, 0xa5, 0xc5, 0xfa, 0xca, 0xfa, 0xda, 0x46, 0x7d, 0xb5, 0xf6, 0x82, - 0xba, 0xb9, 0x7a, 0x75, 0x75, 0xed, 0xb9, 0x55, 0x45, 0xd2, 0x7b, 0xc0, 0xde, 0xc2, 0x6d, 0xbf, - 0x0e, 0x52, 0xef, 0xa0, 0xd0, 0x51, 0x18, 0x34, 0x2c, 0x69, 0x0c, 0x4d, 0x42, 0x69, 0x75, 0x4d, - 0x6d, 0x2c, 0x2d, 0xd6, 0xd5, 0xfa, 0xc5, 0x8b, 0xf5, 0xda, 0x46, 0x83, 0x65, 0x4e, 0x3c, 0xe8, - 0x8d, 0xd0, 0x06, 0x97, 0x7f, 0x29, 0x01, 0x93, 0x03, 0x46, 0x82, 0x2a, 0x3c, 0xe6, 0x61, 0x61, - 0xd8, 0x23, 0xa3, 0x8c, 0x7e, 0x9e, 0x78, 0x1d, 0xeb, 0x9a, 0xed, 0xf2, 0x10, 0xe9, 0x14, 0x10, - 0x2e, 0x19, 0x2e, 0x51, 0xae, 0x36, 0xcf, 0x48, 0xb1, 0x40, 0xa8, 0xe4, 0xd7, 0xb3, 0xa4, 0xd4, - 0xc3, 0x80, 0x2c, 0xd3, 0xd1, 0x5d, 0xfd, 0x06, 0x56, 0x75, 0x43, 0xa4, 0xaf, 0x48, 0x60, 0x94, - 0x54, 0x24, 0xd1, 0xb2, 0x64, 0xb8, 0x1e, 0xb4, 0x81, 0x77, 0xb4, 0x1e, 0x68, 0xa2, 0xfc, 0x13, - 0x8a, 0x24, 0x5a, 0x3c, 0xe8, 0x7b, 0x61, 0xbc, 0x65, 0x76, 0x89, 0xb7, 0xc8, 0xe0, 0x88, 0xad, - 0x89, 0x29, 0x79, 0x56, 0xe7, 0x81, 0xf0, 0x38, 0xc0, 0xcf, 0x9b, 0x8d, 0x2b, 0x79, 0x56, 0xc7, - 0x40, 0x4e, 0x40, 0x49, 0xdb, 0xd9, 0xb1, 0x09, 0x71, 0x41, 0x88, 0x45, 0x36, 0x45, 0xaf, 0x9a, - 0x02, 0x96, 0xaf, 0x40, 0x56, 0xf0, 0x81, 0x18, 0x7b, 0xc2, 0x09, 0xd5, 0x62, 0xe1, 0x7a, 0xfc, - 0x64, 0x4e, 0xc9, 0x1a, 0xa2, 0xf1, 0x5e, 0x18, 0xd7, 0x1d, 0xd5, 0x3f, 0x06, 0x88, 0xcf, 0xc5, - 0x4f, 0x66, 0x95, 0xbc, 0xee, 0x78, 0x29, 0x54, 0xf9, 0xe3, 0x71, 0x28, 0x86, 0x8f, 0x31, 0xd0, - 0x22, 0x64, 0xdb, 0x66, 0x53, 0xa3, 0xa2, 0xc5, 0xce, 0xd0, 0x4e, 0x46, 0x9c, 0x7c, 0xcc, 0x2f, - 0x73, 0x78, 0xc5, 0xc3, 0x2c, 0xff, 0xeb, 0x18, 0x64, 0x45, 0x35, 0x3a, 0x02, 0x49, 0x4b, 0x73, - 0x77, 0x29, 0xb9, 0x54, 0x35, 0x2e, 0xc5, 0x14, 0x5a, 0x26, 0xf5, 0x8e, 0xa5, 0x19, 0x54, 0x04, - 0x78, 0x3d, 0x29, 0x93, 0x75, 0x6d, 0x63, 0xad, 0x45, 0xc3, 0x26, 0xb3, 0xd3, 0xc1, 0x86, 0xeb, - 0x88, 0x75, 0xe5, 0xf5, 0x35, 0x5e, 0x8d, 0x1e, 0x82, 0x09, 0xd7, 0xd6, 0xf4, 0x76, 0x08, 0x36, - 0x49, 0x61, 0x25, 0xd1, 0xe0, 0x01, 0x2f, 0xc0, 0x31, 0x41, 0xb7, 0x85, 0x5d, 0xad, 0xb9, 0x8b, - 0x5b, 0x3e, 0x52, 0x9a, 0xa6, 0x47, 0x8e, 0x72, 0x80, 0x45, 0xde, 0x2e, 0x70, 0xe5, 0xaf, 0xc4, - 0x60, 0x42, 0x04, 0x7a, 0x2d, 0x8f, 0x59, 0x2b, 0x00, 0x9a, 0x61, 0x98, 0x6e, 0x90, 0x5d, 0xfd, - 0xa2, 0xdc, 0x87, 0x37, 0x5f, 0xf1, 0x90, 0x94, 0x00, 0x81, 0x72, 0x07, 0xc0, 0x6f, 0x19, 0xca, - 0xb6, 0x59, 0xc8, 0xf3, 0x33, 0x2a, 0x7a, 0xd0, 0xc9, 0x52, 0x03, 0xc0, 0xaa, 0x48, 0x44, 0x88, - 0xa6, 0x20, 0xb5, 0x85, 0x77, 0x74, 0x83, 0x67, 0x9e, 0x59, 0x41, 0x24, 0x70, 0x92, 0x5e, 0x02, - 0xa7, 0xfa, 0xff, 0xc3, 0x64, 0xd3, 0xec, 0xf4, 0x0e, 0xb7, 0x2a, 0xf5, 0xa4, 0x27, 0x9c, 0xcb, - 0xb1, 0x17, 0x1f, 0xe1, 0x40, 0x3b, 0x66, 0x5b, 0x33, 0x76, 0xe6, 0x4d, 0x7b, 0xc7, 0x3f, 0xa8, - 0x25, 0x1e, 0x92, 0x13, 0x38, 0xae, 0xb5, 0xb6, 0xfe, 0x67, 0x2c, 0xf6, 0xcb, 0xf1, 0xc4, 0xa5, - 0xf5, 0xea, 0xaf, 0xc6, 0xcb, 0x97, 0x18, 0xe2, 0xba, 0x60, 0x86, 0x82, 0xb7, 0xdb, 0xb8, 0x49, - 0x26, 0x08, 0x7f, 0xfc, 0x10, 0x4c, 0xed, 0x98, 0x3b, 0x26, 0xa5, 0x74, 0x86, 0xfc, 0xe2, 0x27, - 0xbd, 0x39, 0xaf, 0xb6, 0x1c, 0x79, 0x2c, 0xbc, 0xb0, 0x0a, 0x93, 0x1c, 0x58, 0xa5, 0x47, 0x4d, - 0x2c, 0x10, 0x42, 0x07, 0x66, 0xe1, 0xa6, 0x7f, 0xed, 0x6b, 0xd4, 0x7c, 0x2b, 0x13, 0x1c, 0x95, - 0xb4, 0xb1, 0x58, 0x69, 0x41, 0x81, 0xbb, 0x42, 0xf4, 0xd8, 0x26, 0xc5, 0x76, 0x04, 0xc5, 0x7f, - 0xc6, 0x29, 0x4e, 0x06, 0x28, 0x36, 0x38, 0xea, 0x42, 0x0d, 0x0a, 0x87, 0xa1, 0xf5, 0xcf, 0x39, - 0xad, 0x71, 0x1c, 0x24, 0x72, 0x09, 0x4a, 0x94, 0x48, 0xb3, 0xeb, 0xb8, 0x66, 0x87, 0x6a, 0xc0, - 0x83, 0xc9, 0xfc, 0x8b, 0xaf, 0xb1, 0x5d, 0x53, 0x24, 0x68, 0x35, 0x0f, 0x6b, 0x61, 0x01, 0xe8, - 0xe9, 0x5a, 0x0b, 0x37, 0xdb, 0x11, 0x14, 0xbe, 0xc4, 0x07, 0xe2, 0xc1, 0x2f, 0x5c, 0x83, 0x29, - 0xf2, 0x9b, 0x2a, 0xa8, 0xe0, 0x48, 0xa2, 0x53, 0x76, 0xd3, 0x5f, 0x79, 0x2f, 0xdb, 0x98, 0x93, - 0x1e, 0x81, 0xc0, 0x98, 0x02, 0xab, 0xb8, 0x83, 0x5d, 0x17, 0xdb, 0x8e, 0xaa, 0xb5, 0x07, 0x0d, - 0x2f, 0x90, 0xf3, 0x98, 0xfe, 0xc5, 0x6f, 0x85, 0x57, 0xf1, 0x12, 0xc3, 0xac, 0xb4, 0xdb, 0x0b, - 0x9b, 0x70, 0x74, 0x80, 0x54, 0x8c, 0x40, 0xf3, 0x97, 0x38, 0xcd, 0xa9, 0x3e, 0xc9, 0x20, 0x64, - 0xd7, 0x41, 0xd4, 0x7b, 0x6b, 0x39, 0x02, 0xcd, 0x0f, 0x72, 0x9a, 0x88, 0xe3, 0x8a, 0x25, 0x25, - 0x14, 0xaf, 0xc0, 0xc4, 0x0d, 0x6c, 0x6f, 0x99, 0x0e, 0xcf, 0x33, 0x8d, 0x40, 0xee, 0x43, 0x9c, - 0x5c, 0x89, 0x23, 0xd2, 0xc4, 0x13, 0xa1, 0xf5, 0x34, 0x64, 0xb7, 0xb5, 0x26, 0x1e, 0x81, 0xc4, - 0x6d, 0x4e, 0x22, 0x43, 0xe0, 0x09, 0x6a, 0x05, 0xc6, 0x77, 0x4c, 0x6e, 0xa3, 0xa2, 0xd1, 0x3f, - 0xcc, 0xd1, 0xf3, 0x02, 0x87, 0x93, 0xb0, 0x4c, 0xab, 0xdb, 0x26, 0x06, 0x2c, 0x9a, 0xc4, 0xdf, - 0x11, 0x24, 0x04, 0x0e, 0x27, 0x71, 0x08, 0xb6, 0xbe, 0x2a, 0x48, 0x38, 0x01, 0x7e, 0x3e, 0x0b, - 0x79, 0xd3, 0x68, 0xef, 0x9b, 0xc6, 0x28, 0x83, 0xf8, 0x08, 0xa7, 0x00, 0x1c, 0x85, 0x10, 0xb8, - 0x00, 0xb9, 0x51, 0x17, 0xe2, 0x57, 0xbe, 0x25, 0xb6, 0x87, 0x58, 0x81, 0x4b, 0x50, 0x12, 0x0a, - 0x4a, 0x37, 0x8d, 0x11, 0x48, 0x7c, 0x8c, 0x93, 0x28, 0x06, 0xd0, 0xf8, 0x34, 0x5c, 0xec, 0xb8, - 0x3b, 0x78, 0x14, 0x22, 0x1f, 0x17, 0xd3, 0xe0, 0x28, 0x9c, 0x95, 0x5b, 0xd8, 0x68, 0xee, 0x8e, - 0x46, 0xe1, 0x13, 0x82, 0x95, 0x02, 0x87, 0x90, 0xa8, 0x41, 0xa1, 0xa3, 0xd9, 0xce, 0xae, 0xd6, - 0x1e, 0x69, 0x39, 0x3e, 0xc9, 0x69, 0x8c, 0x7b, 0x48, 0x9c, 0x23, 0x5d, 0xe3, 0x30, 0x64, 0x7e, - 0x55, 0x70, 0x24, 0x80, 0xc6, 0xb7, 0x9e, 0xe3, 0xd2, 0xa4, 0xdc, 0x61, 0xa8, 0xfd, 0x3d, 0xb1, - 0xf5, 0x18, 0xee, 0x4a, 0x90, 0xe2, 0x05, 0xc8, 0x39, 0xfa, 0xcb, 0x23, 0x91, 0xf9, 0xfb, 0x62, - 0xa5, 0x29, 0x02, 0x41, 0x7e, 0x01, 0x8e, 0x0d, 0x34, 0x13, 0x23, 0x10, 0xfb, 0x07, 0x9c, 0xd8, - 0x91, 0x01, 0xa6, 0x82, 0xab, 0x84, 0xc3, 0x92, 0xfc, 0x87, 0x42, 0x25, 0xe0, 0x1e, 0x5a, 0xeb, - 0x24, 0x6a, 0x70, 0xb4, 0xed, 0xc3, 0x71, 0xed, 0x1f, 0x09, 0xae, 0x31, 0xdc, 0x10, 0xd7, 0x36, - 0xe0, 0x08, 0xa7, 0x78, 0xb8, 0x75, 0xfd, 0x94, 0x50, 0xac, 0x0c, 0x7b, 0x33, 0xbc, 0xba, 0xdf, - 0x0f, 0x65, 0x8f, 0x9d, 0xc2, 0x3d, 0x75, 0xd4, 0x8e, 0x66, 0x8d, 0x40, 0xf9, 0xd7, 0x38, 0x65, - 0xa1, 0xf1, 0x3d, 0xff, 0xd6, 0x59, 0xd1, 0x2c, 0x42, 0xfc, 0x79, 0x98, 0x16, 0xc4, 0xbb, 0x86, - 0x8d, 0x9b, 0xe6, 0x8e, 0xa1, 0xbf, 0x8c, 0x5b, 0x23, 0x90, 0xfe, 0x74, 0xcf, 0x52, 0x6d, 0x06, - 0xd0, 0x09, 0xe5, 0x25, 0x90, 0x3c, 0x5f, 0x45, 0xd5, 0x3b, 0x96, 0x69, 0xbb, 0x11, 0x14, 0x3f, - 0x23, 0x56, 0xca, 0xc3, 0x5b, 0xa2, 0x68, 0x0b, 0x75, 0x60, 0x27, 0xd5, 0xa3, 0x8a, 0xe4, 0x67, - 0x39, 0xa1, 0x82, 0x8f, 0xc5, 0x15, 0x47, 0xd3, 0xec, 0x58, 0x9a, 0x3d, 0x8a, 0xfe, 0xfb, 0x75, - 0xa1, 0x38, 0x38, 0x0a, 0x57, 0x1c, 0xc4, 0xa3, 0x23, 0xd6, 0x7e, 0x04, 0x0a, 0x9f, 0x13, 0x8a, - 0x43, 0xe0, 0x70, 0x12, 0xc2, 0x61, 0x18, 0x81, 0xc4, 0xe7, 0x05, 0x09, 0x81, 0x43, 0x48, 0xbc, - 0xcb, 0x37, 0xb4, 0x36, 0xde, 0xd1, 0x1d, 0xd7, 0x66, 0x4e, 0xf1, 0xc1, 0xa4, 0xbe, 0xf0, 0xad, - 0xb0, 0x13, 0xa6, 0x04, 0x50, 0x89, 0x26, 0xe2, 0x69, 0x5a, 0x1a, 0x33, 0x45, 0x0f, 0xec, 0x37, - 0x84, 0x26, 0x0a, 0xa0, 0x91, 0xb1, 0x05, 0x3c, 0x44, 0xc2, 0xf6, 0x26, 0x89, 0x14, 0x46, 0x20, - 0xf7, 0x8f, 0x7b, 0x06, 0xd7, 0x10, 0xb8, 0x84, 0x66, 0xc0, 0xff, 0xe9, 0x1a, 0xd7, 0xf1, 0xfe, - 0x48, 0xd2, 0xf9, 0x9b, 0x3d, 0xfe, 0xcf, 0x26, 0xc3, 0x64, 0x3a, 0xa4, 0xd4, 0xe3, 0x4f, 0xa1, - 0xa8, 0x7b, 0x49, 0xd3, 0x3f, 0xfc, 0x06, 0x9f, 0x6f, 0xd8, 0x9d, 0x5a, 0x58, 0x26, 0x42, 0x1e, - 0x76, 0x7a, 0xa2, 0x89, 0xbd, 0xf7, 0x0d, 0x4f, 0xce, 0x43, 0x3e, 0xcf, 0xc2, 0x45, 0x28, 0x84, - 0x1c, 0x9e, 0x68, 0x52, 0x3f, 0xca, 0x49, 0x8d, 0x07, 0xfd, 0x9d, 0x85, 0x73, 0x90, 0x24, 0xce, - 0x4b, 0x34, 0xfa, 0x8f, 0x71, 0x74, 0x0a, 0xbe, 0xf0, 0x0c, 0x64, 0x85, 0xd3, 0x12, 0x8d, 0xfa, - 0xe3, 0x1c, 0xd5, 0x43, 0x21, 0xe8, 0xc2, 0x61, 0x89, 0x46, 0xff, 0x1b, 0x02, 0x5d, 0xa0, 0x10, - 0xf4, 0xd1, 0x59, 0xf8, 0xc5, 0xbf, 0x99, 0xe4, 0x46, 0x47, 0xf0, 0xee, 0x02, 0x64, 0xb8, 0xa7, - 0x12, 0x8d, 0xfd, 0x13, 0xbc, 0x73, 0x81, 0xb1, 0xf0, 0x24, 0xa4, 0x46, 0x64, 0xf8, 0xdf, 0xe2, - 0xa8, 0x0c, 0x7e, 0xa1, 0x06, 0xf9, 0x80, 0x77, 0x12, 0x8d, 0xfe, 0x53, 0x1c, 0x3d, 0x88, 0x45, - 0x86, 0xce, 0xbd, 0x93, 0x68, 0x02, 0x3f, 0x2d, 0x86, 0xce, 0x31, 0x08, 0xdb, 0x84, 0x63, 0x12, - 0x8d, 0xfd, 0x7e, 0xc1, 0x75, 0x81, 0xb2, 0xf0, 0x2c, 0xe4, 0x3c, 0x63, 0x13, 0x8d, 0xff, 0x33, - 0x1c, 0xdf, 0xc7, 0x21, 0x1c, 0x08, 0x18, 0xbb, 0x68, 0x12, 0x3f, 0x2b, 0x38, 0x10, 0xc0, 0x22, - 0xdb, 0xa8, 0xd7, 0x81, 0x89, 0xa6, 0xf4, 0x73, 0x62, 0x1b, 0xf5, 0xf8, 0x2f, 0x64, 0x35, 0xa9, - 0xce, 0x8f, 0x26, 0xf1, 0xb7, 0xc5, 0x6a, 0x52, 0x78, 0x32, 0x8c, 0x5e, 0x8f, 0x20, 0x9a, 0xc6, - 0x2f, 0x88, 0x61, 0xf4, 0x38, 0x04, 0x0b, 0xeb, 0x80, 0xfa, 0xbd, 0x81, 0x68, 0x7a, 0x1f, 0xe0, - 0xf4, 0x26, 0xfa, 0x9c, 0x81, 0x85, 0xe7, 0xe0, 0xc8, 0x60, 0x4f, 0x20, 0x9a, 0xea, 0x2f, 0xbe, - 0xd1, 0x13, 0xbb, 0x05, 0x1d, 0x81, 0x85, 0x0d, 0xdf, 0xa4, 0x04, 0xbd, 0x80, 0x68, 0xb2, 0xbf, - 0xf4, 0x46, 0x58, 0x71, 0x07, 0x9d, 0x80, 0x85, 0x0a, 0x80, 0x6f, 0x80, 0xa3, 0x69, 0x7d, 0x88, - 0xd3, 0x0a, 0x20, 0x91, 0xad, 0xc1, 0xed, 0x6f, 0x34, 0xfe, 0x6d, 0xb1, 0x35, 0x38, 0x06, 0xd9, - 0x1a, 0xc2, 0xf4, 0x46, 0x63, 0x7f, 0x58, 0x6c, 0x0d, 0x81, 0x42, 0x24, 0x3b, 0x60, 0xdd, 0xa2, - 0x29, 0x7c, 0x44, 0x48, 0x76, 0x00, 0x6b, 0x61, 0x15, 0x26, 0xfa, 0x0c, 0x62, 0x34, 0xa9, 0x5f, - 0xe6, 0xa4, 0xa4, 0x5e, 0x7b, 0x18, 0x34, 0x5e, 0xdc, 0x18, 0x46, 0x53, 0xfb, 0x68, 0x8f, 0xf1, - 0xe2, 0xb6, 0x70, 0xe1, 0x02, 0x64, 0x8d, 0x6e, 0xbb, 0x4d, 0x36, 0x0f, 0x3a, 0xf8, 0x2e, 0xe1, - 0xf4, 0x7f, 0xfd, 0x0e, 0xe7, 0x8e, 0x40, 0x58, 0x38, 0x07, 0x29, 0xdc, 0xd9, 0xc2, 0xad, 0x28, - 0xcc, 0x6f, 0x7e, 0x47, 0x28, 0x4c, 0x02, 0xbd, 0xf0, 0x2c, 0x00, 0x4b, 0x8d, 0xd0, 0xc3, 0xc3, - 0x08, 0xdc, 0x3f, 0xfa, 0x0e, 0xbf, 0xbc, 0xe3, 0xa3, 0xf8, 0x04, 0xd8, 0x55, 0xa0, 0x83, 0x09, - 0x7c, 0x2b, 0x4c, 0x80, 0xae, 0xc8, 0xd3, 0x90, 0x79, 0xc9, 0x31, 0x0d, 0x57, 0xdb, 0x89, 0xc2, - 0xfe, 0x63, 0x8e, 0x2d, 0xe0, 0x09, 0xc3, 0x3a, 0xa6, 0x8d, 0x5d, 0x6d, 0xc7, 0x89, 0xc2, 0xfd, - 0x6f, 0x1c, 0xd7, 0x43, 0x20, 0xc8, 0x4d, 0xcd, 0x71, 0x47, 0x99, 0xf7, 0x9f, 0x08, 0x64, 0x81, - 0x40, 0x06, 0x4d, 0x7e, 0x5f, 0xc7, 0xfb, 0x51, 0xb8, 0x7f, 0x2a, 0x06, 0xcd, 0xe1, 0x17, 0x9e, - 0x81, 0x1c, 0xf9, 0xc9, 0x6e, 0xe4, 0x45, 0x20, 0xff, 0x19, 0x47, 0xf6, 0x31, 0x48, 0xcf, 0x8e, - 0xdb, 0x72, 0xf5, 0x68, 0x66, 0x7f, 0x9b, 0xaf, 0xb4, 0x80, 0x5f, 0xa8, 0x40, 0xde, 0x71, 0x5b, - 0xad, 0x2e, 0xf7, 0x4f, 0x23, 0xd0, 0xff, 0xfc, 0x3b, 0x5e, 0xca, 0xc2, 0xc3, 0x21, 0xab, 0x7d, - 0xf3, 0xba, 0x6b, 0x99, 0xf4, 0xc0, 0x23, 0x8a, 0xc2, 0x1b, 0x9c, 0x42, 0x00, 0x65, 0xa1, 0x06, - 0xe3, 0x64, 0x2e, 0x36, 0xb6, 0x30, 0x3d, 0x9d, 0x8a, 0x20, 0xf1, 0x17, 0x9c, 0x01, 0x21, 0xa4, - 0xea, 0x0f, 0x7d, 0xe9, 0xf5, 0x99, 0xd8, 0x97, 0x5f, 0x9f, 0x89, 0xfd, 0xe1, 0xeb, 0x33, 0xb1, - 0xf7, 0x7f, 0x75, 0x66, 0xec, 0xcb, 0x5f, 0x9d, 0x19, 0xfb, 0x83, 0xaf, 0xce, 0x8c, 0x0d, 0xce, - 0x12, 0xc3, 0x25, 0xf3, 0x92, 0xc9, 0xf2, 0xc3, 0x2f, 0x3e, 0xb0, 0xa3, 0xbb, 0xbb, 0xdd, 0xad, - 0xf9, 0xa6, 0xd9, 0x39, 0xd3, 0x34, 0x9d, 0x8e, 0xe9, 0x9c, 0x09, 0xe7, 0x75, 0xe9, 0x2f, 0xf8, - 0xdf, 0x31, 0x12, 0x33, 0x87, 0xd3, 0xb9, 0x9a, 0xb1, 0x3f, 0xec, 0xf3, 0x9e, 0xf3, 0x90, 0xa8, - 0x18, 0xfb, 0xe8, 0x18, 0x53, 0x70, 0x6a, 0xd7, 0x6e, 0xf3, 0x6b, 0x61, 0x19, 0x52, 0xde, 0xb4, - 0xdb, 0x68, 0xca, 0xbf, 0xbb, 0x19, 0x3b, 0x39, 0xce, 0x2f, 0x64, 0x56, 0x7f, 0x2a, 0x76, 0xb8, - 0x99, 0x64, 0x2b, 0xc6, 0x3e, 0x9d, 0xc8, 0x7a, 0xec, 0xc5, 0x87, 0x23, 0xf3, 0xdc, 0xd7, 0x0d, - 0xf3, 0xa6, 0x41, 0x86, 0x6d, 0x6d, 0x89, 0x1c, 0xf7, 0x4c, 0x6f, 0x8e, 0xfb, 0x39, 0xdc, 0x6e, - 0x5f, 0x25, 0x70, 0x1b, 0x04, 0x65, 0x2b, 0xcd, 0x6e, 0x20, 0xc3, 0xcf, 0xc5, 0x61, 0xa6, 0x2f, - 0x9d, 0xcd, 0x85, 0x60, 0x18, 0x13, 0x16, 0x20, 0xbb, 0x28, 0x64, 0x6b, 0x1a, 0x32, 0x0e, 0x6e, - 0x9a, 0x46, 0xcb, 0xa1, 0x8c, 0x48, 0x28, 0xa2, 0x48, 0x18, 0x61, 0x68, 0x86, 0xe9, 0xf0, 0x8b, - 0x95, 0xac, 0x50, 0xfd, 0xe0, 0x21, 0x19, 0x51, 0x10, 0x3d, 0x09, 0x6e, 0x3c, 0x36, 0x22, 0x37, - 0xc4, 0x24, 0x42, 0x99, 0xff, 0x51, 0xb9, 0xf2, 0x0b, 0x71, 0x98, 0xed, 0xe5, 0x0a, 0xd9, 0x59, - 0x8e, 0xab, 0x75, 0xac, 0x61, 0x6c, 0xb9, 0x00, 0xb9, 0x0d, 0x01, 0x73, 0x68, 0xbe, 0xdc, 0x3e, - 0x24, 0x5f, 0x8a, 0x5e, 0x57, 0x82, 0x31, 0x67, 0x47, 0x64, 0x8c, 0x37, 0x8f, 0x3b, 0xe2, 0xcc, - 0x5f, 0xa6, 0xe1, 0x18, 0xdb, 0x4e, 0x2a, 0xdb, 0x4a, 0xac, 0xc0, 0x79, 0x32, 0x1e, 0x6c, 0x8a, - 0x3e, 0x27, 0x91, 0xaf, 0xc2, 0xe4, 0x12, 0xd1, 0x16, 0x24, 0x0a, 0xf2, 0x4f, 0x78, 0x06, 0xde, - 0x3d, 0x9d, 0x0b, 0x39, 0xfc, 0xfc, 0x84, 0x29, 0x58, 0x25, 0xff, 0x70, 0x0c, 0xa4, 0x46, 0x53, - 0x6b, 0x6b, 0xf6, 0x77, 0x4b, 0x0a, 0x3d, 0x09, 0x40, 0xbf, 0x59, 0xf2, 0x3f, 0x32, 0x2a, 0x9e, - 0x9d, 0x9e, 0x0f, 0x4e, 0x6e, 0x9e, 0xf5, 0x44, 0xbf, 0x60, 0xc8, 0x51, 0x58, 0xf2, 0xf3, 0xf4, - 0xf3, 0x00, 0x7e, 0x03, 0x3a, 0x0e, 0x47, 0x1b, 0xb5, 0xca, 0x72, 0x45, 0x51, 0xd9, 0x65, 0xf8, - 0xd5, 0xc6, 0x7a, 0xbd, 0xb6, 0x74, 0x71, 0xa9, 0xbe, 0x28, 0x8d, 0xa1, 0x23, 0x80, 0x82, 0x8d, - 0xde, 0xbd, 0x94, 0xbb, 0x60, 0x22, 0x58, 0xcf, 0x6e, 0xd4, 0xc7, 0x89, 0xa7, 0xa8, 0x77, 0xac, - 0x36, 0xa6, 0x47, 0x7f, 0xaa, 0x2e, 0xb8, 0x16, 0xed, 0x84, 0xfc, 0xee, 0xbf, 0x65, 0xb7, 0xac, - 0x27, 0x7d, 0x74, 0x8f, 0xe7, 0x0b, 0xcb, 0x30, 0xa1, 0x35, 0x9b, 0xd8, 0x0a, 0x91, 0x8c, 0x50, - 0xd5, 0x84, 0x20, 0x3d, 0xcc, 0xe4, 0x98, 0x3e, 0xb5, 0x27, 0x21, 0xed, 0xd0, 0xd9, 0x47, 0x91, - 0xf8, 0x3d, 0x4e, 0x82, 0x83, 0x2f, 0x18, 0x30, 0x41, 0x3c, 0x3f, 0xcd, 0xc6, 0x81, 0x61, 0x1c, - 0x9c, 0x67, 0xf8, 0xad, 0xcf, 0x3c, 0x4a, 0x8f, 0x36, 0xef, 0x0d, 0x2f, 0xcb, 0x00, 0x71, 0x52, - 0x24, 0x4e, 0xdb, 0x1f, 0x28, 0x86, 0xa2, 0xe8, 0x8f, 0x0f, 0xf8, 0xe0, 0xce, 0x7e, 0x9b, 0x77, - 0x36, 0x33, 0x48, 0x06, 0x02, 0x3d, 0x15, 0x38, 0x55, 0xd6, 0x50, 0xad, 0x0f, 0xdb, 0xd3, 0x2f, - 0x3e, 0xd4, 0x6f, 0x9d, 0xd8, 0x7f, 0x8f, 0x50, 0xca, 0x17, 0x82, 0xdd, 0x78, 0x7b, 0xef, 0x83, - 0x49, 0x98, 0xd0, 0x3a, 0xba, 0x61, 0x9e, 0xa1, 0xff, 0xf2, 0x3d, 0x97, 0xa2, 0x85, 0x11, 0x0e, - 0x25, 0xcf, 0xb3, 0xad, 0x10, 0x2d, 0x31, 0x7f, 0xf6, 0x93, 0x1f, 0x4b, 0xf9, 0xdb, 0x65, 0x61, - 0x05, 0x24, 0x71, 0xe1, 0x10, 0x1b, 0x4d, 0xb3, 0x35, 0x52, 0x96, 0xe2, 0xdb, 0x82, 0x86, 0xc8, - 0x6f, 0xd5, 0x39, 0xea, 0xc2, 0x3b, 0x20, 0xeb, 0x91, 0x89, 0xf2, 0x4c, 0x04, 0x11, 0x0f, 0x83, - 0xf8, 0x25, 0x6c, 0x67, 0x8e, 0xe2, 0x85, 0xbe, 0x21, 0xf0, 0xd9, 0x0e, 0x5d, 0x25, 0xb3, 0xb9, - 0x04, 0xc5, 0x96, 0x69, 0xb8, 0xaa, 0xd9, 0xd1, 0x5d, 0xdc, 0xb1, 0xdc, 0x48, 0xbf, 0xee, 0x2f, - 0x18, 0x91, 0xac, 0x52, 0x20, 0x78, 0x6b, 0x02, 0x8d, 0x8c, 0x84, 0x7d, 0x53, 0x34, 0xca, 0x48, - 0xfe, 0xbb, 0x37, 0x12, 0x8a, 0x43, 0x46, 0x72, 0x47, 0xd2, 0xe1, 0xb4, 0xae, 0x73, 0x65, 0xee, - 0xee, 0x31, 0x29, 0xf0, 0xa4, 0xe3, 0x4f, 0x12, 0x30, 0xc3, 0x81, 0xb7, 0x34, 0x07, 0x9f, 0xb9, - 0xf1, 0xd8, 0x16, 0x76, 0xb5, 0xc7, 0xce, 0x34, 0x4d, 0x5d, 0x58, 0xf2, 0x49, 0xae, 0xac, 0x49, - 0xfb, 0x3c, 0x6f, 0x2f, 0x0f, 0x3c, 0xee, 0x2e, 0x0f, 0x57, 0xf2, 0xe5, 0x7e, 0x19, 0x94, 0x5f, - 0x84, 0x64, 0xcd, 0xd4, 0x0d, 0x62, 0xdb, 0x5a, 0xd8, 0x30, 0x3b, 0x5c, 0xdd, 0xb2, 0x02, 0x3a, - 0x0f, 0x69, 0xad, 0x63, 0x76, 0x0d, 0x97, 0xa9, 0xda, 0xea, 0xcc, 0x97, 0x5e, 0x9b, 0x1d, 0xfb, - 0xf7, 0xaf, 0xcd, 0x26, 0x96, 0x0c, 0xf7, 0xf7, 0x3f, 0xfb, 0x08, 0x70, 0xea, 0x4b, 0x86, 0xfb, - 0x89, 0xaf, 0x7f, 0xea, 0x74, 0x4c, 0xe1, 0xd0, 0x0b, 0xc9, 0x6f, 0xbc, 0x3a, 0x1b, 0x93, 0x9f, - 0x87, 0xcc, 0x22, 0x6e, 0x1e, 0x40, 0xfe, 0xb1, 0x1e, 0xf2, 0xc7, 0x04, 0xf9, 0x45, 0xdc, 0x0c, - 0x90, 0x5f, 0xc4, 0xcd, 0x1e, 0xca, 0x4f, 0x42, 0x76, 0xc9, 0x70, 0xd9, 0xe7, 0x0e, 0x0f, 0x41, - 0x42, 0x37, 0xd8, 0x0d, 0xda, 0x00, 0x85, 0xbe, 0x01, 0x2a, 0x04, 0x8a, 0x20, 0x2e, 0xe2, 0xa6, - 0x87, 0xd8, 0xc2, 0xcd, 0x5e, 0xc4, 0xfe, 0xae, 0x09, 0x54, 0x75, 0xf1, 0x0f, 0xfe, 0xf3, 0xcc, - 0xd8, 0x2b, 0xaf, 0xcf, 0x8c, 0x0d, 0x5d, 0x7a, 0x39, 0x7a, 0xe9, 0xbd, 0x15, 0xff, 0x58, 0x12, - 0xee, 0xa1, 0x5f, 0xc1, 0xd9, 0x1d, 0xdd, 0x70, 0xcf, 0x34, 0xed, 0x7d, 0xcb, 0x35, 0x89, 0x02, - 0x30, 0xb7, 0xf9, 0x82, 0x4f, 0xf8, 0xcd, 0xf3, 0xac, 0x79, 0xf0, 0x72, 0xcb, 0xdb, 0x90, 0x5a, - 0x27, 0x78, 0x84, 0xc5, 0xae, 0xe9, 0x6a, 0x6d, 0xee, 0xb5, 0xb0, 0x02, 0xa9, 0x65, 0x5f, 0xce, - 0xc5, 0x59, 0xad, 0x2e, 0x3e, 0x9a, 0x6b, 0x63, 0x6d, 0x9b, 0x7d, 0x80, 0x90, 0xa0, 0xee, 0x6e, - 0x96, 0x54, 0xd0, 0x6f, 0x0d, 0xa6, 0x20, 0xa5, 0x75, 0xd9, 0xcd, 0x97, 0x04, 0xf1, 0x83, 0x69, - 0x41, 0xbe, 0x0a, 0x19, 0x7e, 0xfe, 0x8e, 0x24, 0x48, 0x5c, 0xc7, 0xfb, 0xb4, 0x9f, 0x71, 0x85, - 0xfc, 0x44, 0xf3, 0x90, 0xa2, 0x83, 0xe7, 0x5f, 0x56, 0x4d, 0xcf, 0xf7, 0x8d, 0x7e, 0x9e, 0x0e, - 0x52, 0x61, 0x60, 0xf2, 0x15, 0xc8, 0x2e, 0x9a, 0x44, 0x0a, 0xc3, 0xd4, 0x72, 0x8c, 0x1a, 0x1d, - 0xb3, 0xd5, 0xe5, 0x52, 0xa1, 0xb0, 0x02, 0x3a, 0x02, 0x69, 0xf6, 0x41, 0x0a, 0xbf, 0xbd, 0xc3, - 0x4b, 0x72, 0x0d, 0x32, 0x94, 0xf6, 0x9a, 0x45, 0x5c, 0x06, 0xef, 0xee, 0x6f, 0x8e, 0x7f, 0x9e, - 0xc8, 0xc9, 0xc7, 0xfd, 0xc1, 0x22, 0x48, 0xb6, 0x34, 0x57, 0xe3, 0xf3, 0xa6, 0xbf, 0xe5, 0x77, - 0x42, 0x96, 0x13, 0x71, 0xd0, 0x59, 0x48, 0x98, 0x96, 0xc3, 0xef, 0xdf, 0x94, 0x87, 0x4d, 0x65, - 0xcd, 0xaa, 0x26, 0x89, 0xcc, 0x28, 0x04, 0xb8, 0xba, 0x3a, 0x54, 0x2c, 0x9e, 0x08, 0x89, 0x45, - 0x07, 0xbb, 0x5b, 0xdb, 0xae, 0xff, 0x83, 0x2d, 0x67, 0x9f, 0x28, 0x78, 0x82, 0x72, 0x3b, 0x0e, - 0x33, 0x81, 0xd6, 0x1b, 0xd8, 0x76, 0x74, 0xd3, 0x60, 0xd2, 0xc4, 0x25, 0x05, 0x05, 0x06, 0xc8, - 0xdb, 0x87, 0x88, 0xca, 0x33, 0x90, 0xa8, 0x58, 0x16, 0x2a, 0x43, 0x96, 0x96, 0x9b, 0x26, 0x93, - 0x95, 0xa4, 0xe2, 0x95, 0x49, 0x9b, 0x63, 0x6e, 0xbb, 0x37, 0x35, 0xdb, 0xfb, 0x5e, 0x53, 0x94, - 0xe5, 0xa7, 0x21, 0x57, 0x33, 0x0d, 0x07, 0x1b, 0x4e, 0x97, 0xfa, 0xc2, 0x5b, 0x6d, 0xb3, 0x79, - 0x9d, 0x53, 0x60, 0x05, 0xc2, 0x6c, 0xcd, 0xb2, 0x28, 0x66, 0x52, 0x21, 0x3f, 0xd9, 0x7e, 0xad, - 0xae, 0x0d, 0x65, 0xcf, 0xb9, 0xc3, 0xb1, 0x87, 0x4f, 0xd0, 0x77, 0x6a, 0x63, 0x70, 0x77, 0xff, - 0x46, 0xba, 0x8e, 0xf7, 0x9d, 0xc3, 0xee, 0xa3, 0xe7, 0x21, 0xb7, 0x4e, 0x1f, 0x4c, 0xb8, 0x8a, - 0xf7, 0x51, 0x19, 0x32, 0xb8, 0x75, 0xf6, 0xdc, 0xb9, 0xc7, 0x9e, 0x66, 0x52, 0x7e, 0x79, 0x4c, - 0x11, 0x15, 0x68, 0x06, 0x72, 0x0e, 0x6e, 0x5a, 0x67, 0xcf, 0x9d, 0xbf, 0xfe, 0x18, 0x13, 0xab, - 0xcb, 0x63, 0x8a, 0x5f, 0xb5, 0x90, 0x25, 0x33, 0xfe, 0xc6, 0x47, 0x66, 0x63, 0xd5, 0x14, 0x24, - 0x9c, 0x6e, 0xe7, 0x2d, 0x93, 0x8d, 0x9f, 0x4f, 0xc1, 0x5c, 0xa0, 0x95, 0x19, 0x97, 0x1b, 0x5a, - 0x5b, 0x6f, 0x69, 0xfe, 0x33, 0x17, 0x52, 0x60, 0xfe, 0x14, 0x62, 0x88, 0xd5, 0x38, 0x90, 0x8b, - 0xf2, 0xa7, 0x63, 0x30, 0x7e, 0x4d, 0x50, 0x6e, 0x60, 0x17, 0x5d, 0x00, 0xf0, 0x7a, 0x12, 0x5b, - 0xe5, 0xf8, 0x7c, 0x6f, 0x5f, 0xf3, 0x1e, 0x8e, 0x12, 0x00, 0x47, 0x4f, 0x52, 0x01, 0xb4, 0x4c, - 0x87, 0x7f, 0xbb, 0x17, 0x81, 0xea, 0x01, 0xa3, 0x87, 0x01, 0x51, 0xad, 0xa6, 0xde, 0x30, 0x5d, - 0xdd, 0xd8, 0x51, 0x2d, 0xf3, 0x26, 0xff, 0x22, 0x3a, 0xa1, 0x48, 0xb4, 0xe5, 0x1a, 0x6d, 0x58, - 0x27, 0xf5, 0x64, 0xd0, 0x39, 0x8f, 0x0a, 0x09, 0xeb, 0xb4, 0x56, 0xcb, 0xc6, 0x8e, 0xc3, 0x15, - 0x97, 0x28, 0xa2, 0x0b, 0x90, 0xb1, 0xba, 0x5b, 0xaa, 0xd0, 0x12, 0xf9, 0xb3, 0x77, 0x0f, 0xda, - 0xf3, 0x42, 0x36, 0xf8, 0xae, 0x4f, 0x5b, 0xdd, 0x2d, 0x22, 0x29, 0xf7, 0xc2, 0xf8, 0x80, 0xc1, - 0xe4, 0x6f, 0xf8, 0xe3, 0xa0, 0x6f, 0x74, 0xf0, 0x19, 0xa8, 0x96, 0xad, 0x9b, 0xb6, 0xee, 0xee, - 0xd3, 0x8b, 0x73, 0x09, 0x45, 0x12, 0x0d, 0xeb, 0xbc, 0x5e, 0xbe, 0x0e, 0xa5, 0x06, 0x75, 0xf7, - 0xfd, 0x91, 0x9f, 0xf3, 0xc7, 0x17, 0x8b, 0x1e, 0xdf, 0xd0, 0x91, 0xc5, 0xfb, 0x46, 0x56, 0x5d, - 0x19, 0x2a, 0x99, 0x8f, 0x1f, 0x4e, 0x32, 0xc3, 0xd6, 0xed, 0x8f, 0x8e, 0x85, 0x36, 0x25, 0xf7, - 0x7a, 0x02, 0x2a, 0x6b, 0x54, 0xa1, 0x8c, 0x8a, 0xe4, 0xcb, 0x07, 0x1b, 0xd1, 0x72, 0x84, 0xea, - 0x2c, 0x47, 0x6e, 0x1f, 0xf9, 0x69, 0x28, 0xac, 0x6b, 0xb6, 0xdb, 0xc0, 0xee, 0x65, 0xac, 0xb5, - 0xb0, 0x1d, 0xb6, 0xb2, 0x05, 0x61, 0x65, 0x11, 0x24, 0xa9, 0x29, 0x65, 0x56, 0x86, 0xfe, 0x96, - 0x77, 0x21, 0x49, 0x2f, 0xce, 0x7a, 0x16, 0x98, 0x63, 0x30, 0x0b, 0x4c, 0xf4, 0xe7, 0xbe, 0x8b, - 0x1d, 0x91, 0x6c, 0xa2, 0x05, 0xf4, 0x84, 0xb0, 0xa3, 0x89, 0x83, 0xed, 0x28, 0x17, 0x42, 0x6e, - 0x4d, 0xdb, 0x90, 0xa9, 0x12, 0xf5, 0xbb, 0xb4, 0xe8, 0x0d, 0x24, 0xe6, 0x0f, 0x04, 0xad, 0x40, - 0xc9, 0xd2, 0x6c, 0x97, 0x7e, 0x73, 0xb4, 0x4b, 0x67, 0xc1, 0xe5, 0x7c, 0xb6, 0x7f, 0xd7, 0x85, - 0x26, 0xcb, 0x7b, 0x29, 0x58, 0xc1, 0x4a, 0xf9, 0xbf, 0x24, 0x21, 0xcd, 0x99, 0xf1, 0x0c, 0x64, - 0x38, 0x5b, 0xb9, 0x64, 0xde, 0x33, 0xdf, 0x6f, 0x8c, 0xe6, 0x3d, 0xa3, 0xc1, 0xe9, 0x09, 0x1c, - 0xf4, 0x20, 0x64, 0x9b, 0xbb, 0x9a, 0x6e, 0xa8, 0x7a, 0x8b, 0x3b, 0x80, 0xf9, 0xd7, 0x5f, 0x9b, - 0xcd, 0xd4, 0x48, 0xdd, 0xd2, 0xa2, 0x92, 0xa1, 0x8d, 0x4b, 0x2d, 0x62, 0xf9, 0x77, 0xb1, 0xbe, - 0xb3, 0xeb, 0xf2, 0xdd, 0xc5, 0x4b, 0xe8, 0x29, 0x48, 0x12, 0x81, 0xe0, 0x5f, 0xa4, 0x96, 0xfb, - 0xfc, 0x78, 0x2f, 0xd1, 0x52, 0xcd, 0x92, 0x8e, 0xdf, 0xff, 0x9f, 0x66, 0x63, 0x0a, 0xc5, 0x40, - 0x35, 0x28, 0xb4, 0x35, 0xc7, 0x55, 0xa9, 0xd5, 0x22, 0xdd, 0xa7, 0x28, 0x89, 0x63, 0xfd, 0x0c, - 0xe1, 0x8c, 0xe5, 0x43, 0xcf, 0x13, 0x2c, 0x56, 0xd5, 0x42, 0x27, 0x41, 0xa2, 0x44, 0x9a, 0x66, - 0xa7, 0xa3, 0xbb, 0xcc, 0x97, 0x4a, 0x53, 0xbe, 0x17, 0x49, 0x7d, 0x8d, 0x56, 0x53, 0x8f, 0xea, - 0x38, 0xe4, 0xe8, 0x37, 0x70, 0x14, 0x84, 0xdd, 0xd6, 0xce, 0x92, 0x0a, 0xda, 0x78, 0x02, 0x4a, - 0xbe, 0x6e, 0x64, 0x20, 0x59, 0x46, 0xc5, 0xaf, 0xa6, 0x80, 0x8f, 0xc2, 0x94, 0x81, 0xf7, 0xe8, - 0xfd, 0xf1, 0x10, 0x74, 0x8e, 0x42, 0x23, 0xd2, 0x76, 0x2d, 0x8c, 0xf1, 0x00, 0x14, 0x9b, 0x82, - 0xf9, 0x0c, 0x16, 0x28, 0x6c, 0xc1, 0xab, 0xa5, 0x60, 0xc7, 0x20, 0xab, 0x59, 0x16, 0x03, 0xc8, - 0x73, 0xdd, 0x68, 0x59, 0xb4, 0xe9, 0x34, 0x4c, 0xd0, 0x39, 0xda, 0xd8, 0xe9, 0xb6, 0x5d, 0x4e, - 0x64, 0x9c, 0xc2, 0x94, 0x48, 0x83, 0xc2, 0xea, 0x29, 0xec, 0x7d, 0x50, 0xc0, 0x37, 0xf4, 0x16, - 0x36, 0x9a, 0x98, 0xc1, 0x15, 0x28, 0xdc, 0xb8, 0xa8, 0xa4, 0x40, 0xa7, 0xc0, 0xd3, 0x79, 0xaa, - 0xd0, 0xc7, 0x45, 0x46, 0x4f, 0xd4, 0x57, 0x58, 0xb5, 0x3c, 0x0d, 0xc9, 0x45, 0xcd, 0xd5, 0x88, - 0x53, 0xe1, 0xee, 0x31, 0x23, 0x33, 0xae, 0x90, 0x9f, 0xf2, 0x37, 0xe2, 0x90, 0xbc, 0x66, 0xba, - 0x18, 0x3d, 0x1e, 0x70, 0xf8, 0x8a, 0x83, 0xe4, 0xb9, 0xa1, 0xef, 0x18, 0xb8, 0xb5, 0xe2, 0xec, - 0x04, 0x1e, 0xac, 0xf0, 0xc5, 0x29, 0x1e, 0x12, 0xa7, 0x29, 0x48, 0xd9, 0x66, 0xd7, 0x68, 0x89, - 0x8b, 0xce, 0xb4, 0x80, 0xea, 0x90, 0xf5, 0xa4, 0x24, 0x19, 0x25, 0x25, 0x25, 0x22, 0x25, 0x44, - 0x86, 0x79, 0x85, 0x92, 0xd9, 0xe2, 0xc2, 0x52, 0x85, 0x9c, 0xa7, 0xbc, 0xb8, 0xb4, 0x8d, 0x26, - 0xb0, 0x3e, 0x1a, 0x31, 0x24, 0xde, 0xda, 0x7b, 0xcc, 0x63, 0x12, 0x27, 0x79, 0x0d, 0x9c, 0x7b, - 0x21, 0xb1, 0xe2, 0x8f, 0x67, 0x64, 0xe8, 0xbc, 0x7c, 0xb1, 0x62, 0x0f, 0x68, 0xdc, 0x0d, 0x39, - 0x47, 0xdf, 0x31, 0x34, 0xb7, 0x6b, 0x63, 0x2e, 0x79, 0x7e, 0x85, 0xfc, 0xc5, 0x18, 0xa4, 0x99, - 0x24, 0x07, 0xf8, 0x16, 0x1b, 0xcc, 0xb7, 0xf8, 0x30, 0xbe, 0x25, 0xee, 0x9c, 0x6f, 0x15, 0x00, - 0x6f, 0x30, 0x0e, 0x7f, 0xd3, 0x60, 0x80, 0xb7, 0xc0, 0x86, 0xd8, 0xd0, 0x77, 0xf8, 0x46, 0x0d, - 0x20, 0xc9, 0xff, 0x31, 0x46, 0x1c, 0x57, 0xde, 0x8e, 0x2a, 0x50, 0x10, 0xe3, 0x52, 0xb7, 0xdb, - 0xda, 0x0e, 0x97, 0x9d, 0x7b, 0x86, 0x0e, 0xee, 0x62, 0x5b, 0xdb, 0x51, 0xf2, 0x7c, 0x3c, 0xa4, - 0x30, 0x78, 0x1d, 0xe2, 0x43, 0xd6, 0x21, 0xb4, 0xf0, 0x89, 0x3b, 0x5b, 0xf8, 0xd0, 0x12, 0x25, - 0x7b, 0x97, 0xe8, 0x33, 0x71, 0x1a, 0xbc, 0x58, 0xa6, 0xa3, 0xb5, 0xdf, 0x8e, 0x1d, 0x71, 0x1c, - 0x72, 0x96, 0xd9, 0x56, 0x59, 0x0b, 0xfb, 0x00, 0x20, 0x6b, 0x99, 0x6d, 0xa5, 0x6f, 0xd9, 0x53, - 0x6f, 0xd2, 0x76, 0x49, 0xbf, 0x09, 0x5c, 0xcb, 0xf4, 0x72, 0xcd, 0x86, 0x71, 0xc6, 0x0a, 0x6e, - 0xcb, 0x1e, 0x25, 0x3c, 0xa0, 0xc6, 0x31, 0xd6, 0x6f, 0x7b, 0xd9, 0xb0, 0x19, 0xa4, 0xc2, 0xe1, - 0x08, 0x06, 0x53, 0xfd, 0x83, 0xa2, 0xde, 0xa0, 0x58, 0x2a, 0x1c, 0x4e, 0xfe, 0xf9, 0x18, 0xc0, - 0x32, 0xe1, 0x2c, 0x9d, 0x2f, 0xb1, 0x42, 0x0e, 0x1d, 0x82, 0x1a, 0xea, 0x79, 0x66, 0xd8, 0xa2, - 0xf1, 0xfe, 0xc7, 0x9d, 0xe0, 0xb8, 0x6b, 0x50, 0xf0, 0x85, 0xd1, 0xc1, 0x62, 0x30, 0x33, 0x07, - 0x78, 0xd4, 0x0d, 0xec, 0x2a, 0xe3, 0x37, 0x02, 0x25, 0xf9, 0x9f, 0xc4, 0x20, 0x47, 0xc7, 0xb4, - 0x82, 0x5d, 0x2d, 0xb4, 0x86, 0xb1, 0x3b, 0x5f, 0xc3, 0x7b, 0x00, 0x18, 0x19, 0x47, 0x7f, 0x19, - 0x73, 0xc9, 0xca, 0xd1, 0x9a, 0x86, 0xfe, 0x32, 0x46, 0xe7, 0x3d, 0x86, 0x27, 0x0e, 0x66, 0xb8, - 0xf0, 0xb8, 0x39, 0xdb, 0x8f, 0x42, 0x86, 0xbe, 0x01, 0xb6, 0xe7, 0x70, 0x27, 0x3a, 0x6d, 0x74, - 0x3b, 0x1b, 0x7b, 0x8e, 0xfc, 0x12, 0x64, 0x36, 0xf6, 0x58, 0x2e, 0xe4, 0x38, 0xe4, 0x6c, 0xd3, - 0xe4, 0x36, 0x99, 0xf9, 0x42, 0x59, 0x52, 0x41, 0x4d, 0x90, 0x88, 0xff, 0xe3, 0x7e, 0xfc, 0xef, - 0x27, 0x30, 0x12, 0x23, 0x25, 0x30, 0x4e, 0xff, 0xbb, 0x18, 0xe4, 0x03, 0xfa, 0x01, 0x3d, 0x06, - 0x77, 0x55, 0x97, 0xd7, 0x6a, 0x57, 0xd5, 0xa5, 0x45, 0xf5, 0xe2, 0x72, 0xe5, 0x92, 0xff, 0x89, - 0x5b, 0xf9, 0xc8, 0xad, 0xdb, 0x73, 0x28, 0x00, 0xbb, 0x69, 0xd0, 0xd3, 0x1c, 0x74, 0x06, 0xa6, - 0xc2, 0x28, 0x95, 0x6a, 0xa3, 0xbe, 0xba, 0x21, 0xc5, 0xca, 0x77, 0xdd, 0xba, 0x3d, 0x37, 0x11, - 0xc0, 0xa8, 0x6c, 0x39, 0xd8, 0x70, 0xfb, 0x11, 0x6a, 0x6b, 0x2b, 0x2b, 0x4b, 0x1b, 0x52, 0xbc, - 0x0f, 0x81, 0x2b, 0xec, 0x53, 0x30, 0x11, 0x46, 0x58, 0x5d, 0x5a, 0x96, 0x12, 0x65, 0x74, 0xeb, - 0xf6, 0x5c, 0x31, 0x00, 0xbd, 0xaa, 0xb7, 0xcb, 0xd9, 0xf7, 0x7d, 0x74, 0x66, 0xec, 0x13, 0x7f, - 0x77, 0x26, 0x46, 0x66, 0x56, 0x08, 0xe9, 0x08, 0xf4, 0x30, 0x1c, 0x6d, 0x2c, 0x5d, 0x5a, 0xad, - 0x2f, 0xaa, 0x2b, 0x8d, 0x4b, 0xe2, 0x3c, 0x44, 0xcc, 0xae, 0x74, 0xeb, 0xf6, 0x5c, 0x9e, 0x4f, - 0x69, 0x18, 0xf4, 0xba, 0x52, 0xbf, 0xb6, 0xb6, 0x51, 0x97, 0x62, 0x0c, 0x7a, 0xdd, 0xc6, 0x37, - 0x4c, 0x97, 0x3d, 0x12, 0xf8, 0x28, 0x1c, 0x1b, 0x00, 0xed, 0x4d, 0x6c, 0xe2, 0xd6, 0xed, 0xb9, - 0xc2, 0xba, 0x8d, 0xd9, 0xfe, 0xa1, 0x18, 0xf3, 0x30, 0xdd, 0x8f, 0xb1, 0xb6, 0xbe, 0xd6, 0xa8, - 0x2c, 0x4b, 0x73, 0x65, 0xe9, 0xd6, 0xed, 0xb9, 0x71, 0xa1, 0x0c, 0x09, 0xbc, 0x3f, 0xb3, 0xb7, - 0x2a, 0xda, 0xf9, 0xf1, 0x4c, 0x28, 0x97, 0xc7, 0xe2, 0x08, 0x4b, 0xb3, 0xb5, 0xce, 0x61, 0xc3, - 0x9d, 0x88, 0xe3, 0x5c, 0xf9, 0x95, 0x38, 0x94, 0x3c, 0x67, 0x7a, 0x9d, 0xf6, 0x80, 0x1e, 0x0f, - 0xe6, 0x61, 0xf2, 0x43, 0xcd, 0x18, 0x83, 0x16, 0x69, 0x9a, 0x77, 0x40, 0x56, 0x38, 0x65, 0x5c, - 0x5d, 0xcc, 0xf5, 0xe3, 0xd5, 0x39, 0x04, 0x47, 0xf5, 0x30, 0xd0, 0xb3, 0x90, 0xf3, 0x94, 0x87, - 0xf7, 0xc4, 0xce, 0x70, 0x6d, 0xc3, 0xf1, 0x7d, 0x1c, 0xf4, 0xb4, 0x1f, 0x36, 0x24, 0x87, 0x05, - 0x22, 0xd7, 0x18, 0x00, 0x47, 0x16, 0xf0, 0xf2, 0x12, 0xdf, 0x76, 0x7c, 0xf6, 0xf4, 0x79, 0x82, - 0x3d, 0x95, 0x45, 0x52, 0xcc, 0x2b, 0xc9, 0x76, 0xb4, 0xbd, 0x2a, 0x0d, 0xa6, 0x8e, 0x42, 0x86, - 0x34, 0xee, 0xf0, 0xaf, 0xaf, 0x13, 0x4a, 0xba, 0xa3, 0xed, 0x5d, 0xd2, 0x9c, 0x2b, 0xc9, 0x6c, - 0x42, 0x4a, 0xca, 0x9f, 0x8c, 0x41, 0x31, 0x3c, 0x47, 0xf4, 0x10, 0x20, 0x82, 0xa1, 0xed, 0x60, - 0x95, 0xa8, 0x18, 0xca, 0x2c, 0x41, 0xb7, 0xd4, 0xd1, 0xf6, 0x2a, 0x3b, 0x78, 0xb5, 0xdb, 0xa1, - 0x03, 0x70, 0xd0, 0x0a, 0x48, 0x02, 0x58, 0xac, 0x13, 0x67, 0xe6, 0xb1, 0xfe, 0x07, 0xf7, 0x38, - 0x00, 0x33, 0x54, 0x1f, 0x20, 0x86, 0xaa, 0xc8, 0xe8, 0x79, 0xc7, 0xf1, 0xa1, 0xa9, 0x24, 0xc2, - 0x53, 0x91, 0x9f, 0x85, 0x52, 0x0f, 0x3f, 0x91, 0x0c, 0x05, 0x9e, 0x15, 0xa0, 0x47, 0x9d, 0xcc, - 0x3f, 0xce, 0x29, 0x79, 0x16, 0xfd, 0xd3, 0xa3, 0xdf, 0x85, 0xec, 0x17, 0x5e, 0x9d, 0x8d, 0xd1, - 0x84, 0xf9, 0x43, 0x50, 0x08, 0x71, 0x54, 0x64, 0xea, 0x62, 0x7e, 0xa6, 0xce, 0x07, 0x7e, 0x11, - 0xc6, 0x89, 0xa2, 0xc4, 0x2d, 0x0e, 0xfb, 0x20, 0x94, 0x98, 0x22, 0xef, 0xe5, 0x35, 0xf3, 0xa4, - 0x56, 0x04, 0xc3, 0x65, 0xe1, 0x5a, 0x85, 0xd9, 0x9e, 0x17, 0x50, 0x97, 0x34, 0xa7, 0xfa, 0xae, - 0x4f, 0xbc, 0x3e, 0x13, 0x7b, 0x6b, 0x36, 0xe2, 0x57, 0xde, 0x05, 0xc7, 0x03, 0x8d, 0xda, 0x56, - 0x53, 0x0f, 0x65, 0x1d, 0x4a, 0x01, 0x21, 0x23, 0x8d, 0x51, 0xd9, 0x83, 0x03, 0x73, 0x18, 0x07, - 0x27, 0xcc, 0xca, 0x07, 0x6b, 0x84, 0xe8, 0xc4, 0xc6, 0xe0, 0x1c, 0xe5, 0xff, 0xc9, 0x42, 0x46, - 0xc1, 0xef, 0xe9, 0x62, 0xc7, 0x45, 0x67, 0x21, 0x89, 0x9b, 0xbb, 0xe6, 0xa0, 0x94, 0x10, 0x99, - 0xdc, 0x3c, 0x87, 0xab, 0x37, 0x77, 0xcd, 0xcb, 0x63, 0x0a, 0x85, 0x45, 0xe7, 0x20, 0xb5, 0xdd, - 0xee, 0xf2, 0x3c, 0x45, 0x8f, 0xb2, 0x08, 0x22, 0x5d, 0x24, 0x40, 0x97, 0xc7, 0x14, 0x06, 0x4d, - 0xba, 0xa2, 0x4f, 0x97, 0x26, 0x0e, 0xee, 0x6a, 0xc9, 0xd8, 0xa6, 0x5d, 0x11, 0x58, 0x54, 0x05, - 0xd0, 0x0d, 0xdd, 0x55, 0x69, 0x0c, 0xcf, 0x3d, 0xc1, 0x7b, 0x87, 0x63, 0xea, 0x2e, 0x8d, 0xfa, - 0x2f, 0x8f, 0x29, 0x39, 0x5d, 0x14, 0xc8, 0x70, 0xdf, 0xd3, 0xc5, 0xf6, 0x3e, 0x77, 0x00, 0x87, - 0x0e, 0xf7, 0x5d, 0x04, 0x88, 0x0c, 0x97, 0x42, 0xa3, 0x3a, 0xe4, 0xe9, 0x37, 0xaa, 0x6c, 0xff, - 0xf2, 0x67, 0x34, 0xe5, 0x61, 0xc8, 0x55, 0x02, 0x4a, 0xb7, 0xf4, 0xe5, 0x31, 0x05, 0xb6, 0xbc, - 0x12, 0x51, 0x92, 0xec, 0x99, 0x25, 0x77, 0x8f, 0x3f, 0x1e, 0x38, 0x3b, 0x8c, 0x06, 0x7d, 0x6b, - 0x69, 0x63, 0xef, 0xf2, 0x98, 0x92, 0x69, 0xb2, 0x9f, 0x64, 0xfe, 0x2d, 0xdc, 0xd6, 0x6f, 0x60, - 0x9b, 0xe0, 0xe7, 0x0e, 0x9e, 0xff, 0x22, 0x83, 0xa4, 0x14, 0x72, 0x2d, 0x51, 0x20, 0x8a, 0x16, - 0x1b, 0x2d, 0x3e, 0x0d, 0xe8, 0xd7, 0xd3, 0xa1, 0x75, 0x36, 0x5a, 0x62, 0x12, 0x59, 0xcc, 0x7f, - 0xa3, 0xa7, 0x3c, 0x0f, 0x35, 0xdf, 0xef, 0x14, 0x86, 0x26, 0xc0, 0x72, 0x15, 0x63, 0xc2, 0x53, - 0x45, 0xab, 0x50, 0x6c, 0xeb, 0x8e, 0xab, 0x3a, 0x86, 0x66, 0x39, 0xbb, 0xa6, 0xeb, 0xd0, 0xa0, - 0x3f, 0x7f, 0xf6, 0x81, 0x61, 0x14, 0x96, 0x75, 0xc7, 0x6d, 0x08, 0xe0, 0xcb, 0x63, 0x4a, 0xa1, - 0x1d, 0xac, 0x20, 0xf4, 0xcc, 0xed, 0x6d, 0x6c, 0x7b, 0x04, 0x69, 0x72, 0xe0, 0x00, 0x7a, 0x6b, - 0x04, 0x5a, 0xe0, 0x13, 0x7a, 0x66, 0xb0, 0x02, 0x7d, 0x3f, 0x4c, 0xb6, 0x4d, 0xad, 0xe5, 0x91, - 0x53, 0x9b, 0xbb, 0x5d, 0xe3, 0x3a, 0xcd, 0x24, 0xe4, 0xcf, 0x9e, 0x1a, 0x3a, 0x48, 0x53, 0x6b, - 0x09, 0x12, 0x35, 0x82, 0x70, 0x79, 0x4c, 0x99, 0x68, 0xf7, 0x56, 0xa2, 0x77, 0xc3, 0x94, 0x66, - 0x59, 0xed, 0xfd, 0x5e, 0xea, 0x25, 0x4a, 0xfd, 0xf4, 0x30, 0xea, 0x15, 0x82, 0xd3, 0x4b, 0x1e, - 0x69, 0x7d, 0xb5, 0x68, 0x03, 0x24, 0xcb, 0xc6, 0xf4, 0xa3, 0x1a, 0x8b, 0xbb, 0x2a, 0xf4, 0x65, - 0xac, 0xfc, 0xd9, 0x13, 0xc3, 0x68, 0xaf, 0x33, 0x78, 0xe1, 0xd9, 0x5c, 0x1e, 0x53, 0x4a, 0x56, - 0xb8, 0x8a, 0x51, 0x35, 0x9b, 0x98, 0xbe, 0xde, 0xc4, 0xa9, 0x4e, 0x44, 0x51, 0xa5, 0xf0, 0x61, - 0xaa, 0xa1, 0xaa, 0x6a, 0x86, 0x5f, 0x8a, 0xe3, 0x4f, 0xab, 0x9c, 0x80, 0x7c, 0x40, 0xb1, 0xa0, - 0x69, 0xc8, 0xf0, 0x4b, 0x02, 0xe2, 0x32, 0x1d, 0x2f, 0xca, 0x45, 0x18, 0x0f, 0x2a, 0x13, 0xf9, - 0xfd, 0x31, 0x0f, 0x93, 0x7e, 0xeb, 0x3e, 0x1d, 0x4e, 0x1d, 0xe6, 0xfc, 0xac, 0xe0, 0x7d, 0xc2, - 0x8a, 0x88, 0x76, 0x76, 0x9a, 0x34, 0x4e, 0x2b, 0xb9, 0x11, 0x43, 0xb3, 0x90, 0xb7, 0xce, 0x5a, - 0x1e, 0x48, 0x82, 0x82, 0x80, 0x75, 0xd6, 0x12, 0x00, 0xf7, 0xc2, 0x38, 0x99, 0xa9, 0x1a, 0x74, - 0x34, 0x72, 0x4a, 0x9e, 0xd4, 0x71, 0x10, 0xf9, 0x5f, 0xc5, 0x41, 0xea, 0x55, 0x40, 0x5e, 0x4e, - 0x31, 0x76, 0xe8, 0x9c, 0xe2, 0xb1, 0xde, 0x6c, 0xa6, 0x9f, 0xc0, 0x5c, 0x06, 0xc9, 0xcf, 0xc3, - 0x31, 0x43, 0x30, 0xdc, 0x71, 0xea, 0xf1, 0xf0, 0x94, 0x52, 0xb3, 0xc7, 0xe5, 0xbb, 0x18, 0x3a, - 0x7b, 0x11, 0x6f, 0x73, 0xf7, 0x2e, 0xb1, 0xe7, 0x2f, 0x6c, 0x5a, 0x2d, 0xcd, 0xc5, 0x22, 0x2f, - 0x12, 0x38, 0x86, 0x79, 0x10, 0x4a, 0x9a, 0x65, 0xa9, 0x8e, 0xab, 0xb9, 0x98, 0x9b, 0xf5, 0x14, - 0x4b, 0x0f, 0x6a, 0x96, 0xd5, 0x20, 0xb5, 0xcc, 0xac, 0x3f, 0x00, 0x45, 0xa2, 0x93, 0x75, 0xad, - 0xad, 0xf2, 0x2c, 0x41, 0x9a, 0x59, 0x7f, 0x5e, 0x7b, 0x99, 0x56, 0xca, 0x2d, 0x6f, 0xc5, 0xa9, - 0x3e, 0xf6, 0xc2, 0xac, 0x58, 0x20, 0xcc, 0x42, 0xfc, 0x11, 0x02, 0xc6, 0x1f, 0xf1, 0x6e, 0xc3, - 0xe0, 0xec, 0xee, 0x14, 0x0d, 0xc9, 0x6e, 0xb0, 0x84, 0x47, 0x56, 0x61, 0x05, 0xf9, 0xbd, 0x71, - 0x98, 0xe8, 0xd3, 0xdc, 0x03, 0xd3, 0xde, 0x7e, 0x7c, 0x19, 0x3f, 0x54, 0x7c, 0x79, 0x35, 0x9c, - 0xd6, 0x0d, 0x58, 0xbe, 0xe3, 0x7d, 0x4c, 0x66, 0x7a, 0x93, 0x08, 0x34, 0x27, 0x12, 0xc8, 0xfc, - 0x52, 0x31, 0xdf, 0x84, 0xa9, 0xad, 0xfd, 0x97, 0x35, 0xc3, 0xd5, 0x0d, 0xac, 0xf6, 0xad, 0x5a, - 0xbf, 0x29, 0x5d, 0xd1, 0x9d, 0x2d, 0xbc, 0xab, 0xdd, 0xd0, 0x4d, 0x31, 0xac, 0x49, 0x0f, 0xdf, - 0x4f, 0xee, 0xca, 0x0a, 0x14, 0xc3, 0xa6, 0x07, 0x15, 0x21, 0xee, 0xee, 0xf1, 0xf9, 0xc7, 0xdd, - 0x3d, 0xf4, 0x28, 0xcf, 0x03, 0xc5, 0x69, 0x1e, 0xa8, 0xbf, 0x23, 0x8e, 0xe7, 0x27, 0x81, 0x64, - 0xd9, 0xdb, 0x0d, 0x9e, 0x39, 0xea, 0xa5, 0x2a, 0x9f, 0x82, 0x52, 0x8f, 0xbd, 0x19, 0x96, 0x15, - 0x94, 0x4b, 0x50, 0x08, 0x19, 0x17, 0xf9, 0x08, 0x4c, 0x0d, 0xb2, 0x15, 0xf2, 0xae, 0x57, 0x1f, - 0xd2, 0xf9, 0xe8, 0x1c, 0x64, 0x3d, 0x63, 0x31, 0x20, 0x0b, 0x41, 0x67, 0x21, 0x80, 0x15, 0x0f, - 0x34, 0x94, 0xcc, 0x8e, 0x87, 0x92, 0xd9, 0xf2, 0x0f, 0xc1, 0xf4, 0x30, 0x43, 0xd0, 0x33, 0x8d, - 0xa4, 0x27, 0x85, 0x47, 0x20, 0xcd, 0x9f, 0x68, 0x8b, 0xd3, 0xe3, 0x1b, 0x5e, 0x22, 0xd2, 0xc9, - 0x8c, 0x42, 0x82, 0x9d, 0xea, 0xd0, 0x82, 0xac, 0xc2, 0xb1, 0xa1, 0xc6, 0x60, 0xf8, 0x41, 0x10, - 0x23, 0xc4, 0x0f, 0x82, 0x9a, 0x62, 0x38, 0x0e, 0x9d, 0xab, 0xb8, 0xec, 0xc0, 0x4a, 0xf2, 0x07, - 0x12, 0x70, 0x64, 0xb0, 0x49, 0x40, 0x73, 0x30, 0x4e, 0xfc, 0x6e, 0x37, 0xec, 0xa2, 0x43, 0x47, - 0xdb, 0xdb, 0xe0, 0xfe, 0x39, 0x4f, 0xa4, 0xc7, 0xbd, 0x44, 0x3a, 0xda, 0x84, 0x89, 0xb6, 0xd9, - 0xd4, 0xda, 0x6a, 0x40, 0xe2, 0xb9, 0xb0, 0xdf, 0xd7, 0xc7, 0xec, 0x3a, 0x7b, 0xb8, 0xb9, 0xd5, - 0x27, 0xf4, 0x25, 0x4a, 0x63, 0xd9, 0x93, 0x7c, 0xb4, 0x08, 0xf9, 0x8e, 0x2f, 0xc8, 0x87, 0x10, - 0xf6, 0x20, 0x5a, 0x60, 0x49, 0x52, 0x03, 0x8f, 0x7d, 0xd2, 0x87, 0x56, 0xd1, 0xc3, 0x4e, 0x50, - 0x32, 0x43, 0x4f, 0x50, 0x06, 0x1d, 0x57, 0x64, 0x07, 0x1f, 0x57, 0xbc, 0x2f, 0xb8, 0x34, 0x21, - 0x23, 0xda, 0x7f, 0x82, 0x81, 0x1a, 0x30, 0xc5, 0xf1, 0x5b, 0x21, 0xde, 0xc7, 0x47, 0x55, 0x34, - 0x48, 0xa0, 0x0f, 0x67, 0x7b, 0xe2, 0xce, 0xd8, 0x2e, 0x74, 0x69, 0x32, 0xa0, 0x4b, 0xff, 0x1f, - 0x5b, 0x8a, 0x7f, 0x93, 0x83, 0xac, 0x82, 0x1d, 0x8b, 0x18, 0x4e, 0x54, 0x85, 0x1c, 0xde, 0x6b, - 0x62, 0xcb, 0xf5, 0x8f, 0x29, 0x07, 0x05, 0x03, 0x0c, 0xba, 0x2e, 0x20, 0x89, 0x27, 0xee, 0xa1, - 0xa1, 0xc7, 0x79, 0xb0, 0x35, 0x3c, 0x6e, 0xe2, 0xe8, 0xc1, 0x68, 0xeb, 0xbc, 0x88, 0xb6, 0x12, - 0x43, 0x9d, 0x6f, 0x86, 0xd5, 0x13, 0x6e, 0x3d, 0xce, 0xc3, 0xad, 0x64, 0x44, 0x67, 0xa1, 0x78, - 0xab, 0x16, 0x8a, 0xb7, 0xd2, 0x11, 0xd3, 0x1c, 0x12, 0x70, 0x9d, 0x17, 0x01, 0x57, 0x26, 0x62, - 0xc4, 0x3d, 0x11, 0xd7, 0xc5, 0x70, 0xc4, 0x95, 0x1d, 0xa2, 0x40, 0x04, 0xf6, 0xd0, 0x90, 0xeb, - 0x99, 0x40, 0xc8, 0x95, 0x1b, 0x1a, 0xef, 0x30, 0x22, 0x03, 0x62, 0xae, 0x5a, 0x28, 0xe6, 0x82, - 0x08, 0x1e, 0x0c, 0x09, 0xba, 0xbe, 0x2f, 0x18, 0x74, 0xe5, 0x87, 0xc6, 0x6d, 0x7c, 0xbd, 0x07, - 0x45, 0x5d, 0x4f, 0x7b, 0x51, 0xd7, 0xf8, 0xd0, 0xb0, 0x91, 0xcf, 0xa1, 0x37, 0xec, 0x5a, 0xeb, - 0x0b, 0xbb, 0x0a, 0xfc, 0x6f, 0x22, 0x0c, 0x23, 0x11, 0x11, 0x77, 0xad, 0xf5, 0xc5, 0x5d, 0xc5, - 0x08, 0x82, 0x11, 0x81, 0xd7, 0x0f, 0x0c, 0x0e, 0xbc, 0x86, 0x87, 0x46, 0x7c, 0x98, 0xa3, 0x45, - 0x5e, 0xea, 0x90, 0xc8, 0x8b, 0x45, 0x47, 0x0f, 0x0d, 0x25, 0x3f, 0x72, 0xe8, 0xb5, 0x39, 0x20, - 0xf4, 0x62, 0x41, 0xd2, 0xc9, 0xa1, 0xc4, 0x47, 0x88, 0xbd, 0x36, 0x07, 0xc4, 0x5e, 0x28, 0x92, - 0xec, 0x61, 0x82, 0xaf, 0x94, 0x94, 0x96, 0x4f, 0x11, 0xd7, 0xb7, 0x47, 0x4f, 0x11, 0xff, 0x01, - 0xdb, 0xb6, 0x69, 0x8b, 0x9b, 0xb5, 0xb4, 0x20, 0x9f, 0x24, 0xce, 0xb8, 0xaf, 0x93, 0x0e, 0x08, - 0xd4, 0xa8, 0x9f, 0x16, 0xd0, 0x43, 0xf2, 0x17, 0x62, 0x3e, 0x2e, 0xf5, 0x61, 0x83, 0x8e, 0x7c, - 0x8e, 0x3b, 0xf2, 0x81, 0xf0, 0x2d, 0x1e, 0x0e, 0xdf, 0x66, 0x21, 0x4f, 0xfc, 0xaf, 0x9e, 0xc8, - 0x4c, 0xb3, 0xbc, 0xc8, 0x4c, 0x5c, 0x29, 0x60, 0x41, 0x1e, 0x37, 0x2b, 0xec, 0x24, 0xa7, 0xe4, - 0x5d, 0xaf, 0x60, 0x31, 0x05, 0x7a, 0x04, 0x26, 0x03, 0xb0, 0x9e, 0x5f, 0xc7, 0xc2, 0x14, 0xc9, - 0x83, 0xae, 0x70, 0x07, 0xef, 0x9f, 0xc6, 0x7c, 0x0e, 0xf9, 0x21, 0xdd, 0xa0, 0xe8, 0x2b, 0xf6, - 0x26, 0x45, 0x5f, 0xf1, 0x3b, 0x8e, 0xbe, 0x82, 0x7e, 0x6a, 0x22, 0xec, 0xa7, 0xfe, 0x8f, 0x98, - 0xbf, 0x26, 0x5e, 0x2c, 0xd5, 0x34, 0x5b, 0x98, 0x7b, 0x8e, 0xf4, 0x37, 0x71, 0x2a, 0xda, 0xe6, - 0x0e, 0xf7, 0x0f, 0xc9, 0x4f, 0x02, 0xe5, 0x19, 0x8e, 0x1c, 0xb7, 0x0b, 0x9e, 0xd3, 0x99, 0x0a, - 0xde, 0xff, 0xe5, 0x97, 0x62, 0xd3, 0xfe, 0xa5, 0x58, 0xef, 0xe3, 0xb7, 0x4c, 0xe0, 0xe3, 0x37, - 0xf4, 0x14, 0xe4, 0x68, 0x46, 0x54, 0x35, 0x2d, 0xf1, 0x17, 0x34, 0x8e, 0x0f, 0xbf, 0x10, 0xeb, - 0xd0, 0xab, 0x7a, 0xec, 0x12, 0xad, 0xef, 0x31, 0xe4, 0x42, 0x1e, 0xc3, 0xdd, 0x90, 0x23, 0xa3, - 0x67, 0x2f, 0x41, 0x03, 0xff, 0x72, 0x52, 0x54, 0xc8, 0xef, 0x06, 0xd4, 0x6f, 0x24, 0xd0, 0x65, - 0x48, 0xe3, 0x1b, 0xf4, 0x59, 0x3d, 0x76, 0xd1, 0xf0, 0x48, 0xbf, 0x6b, 0x4a, 0x9a, 0xab, 0xd3, - 0x84, 0xc9, 0xdf, 0x7c, 0x6d, 0x56, 0x62, 0xd0, 0x0f, 0x7b, 0x1f, 0x0a, 0x28, 0x1c, 0x5f, 0xfe, - 0x0f, 0x71, 0x12, 0xc0, 0x84, 0x0c, 0xc8, 0x40, 0xde, 0x0e, 0x3a, 0x22, 0x1c, 0x8d, 0xdf, 0x33, - 0x00, 0x3b, 0x9a, 0xa3, 0xde, 0xd4, 0x0c, 0x17, 0xb7, 0x38, 0xd3, 0x03, 0x35, 0xa8, 0x0c, 0x59, - 0x52, 0xea, 0x3a, 0xb8, 0xc5, 0xc3, 0x68, 0xaf, 0x1c, 0x98, 0x67, 0xe6, 0xbb, 0x9b, 0x67, 0x98, - 0xcb, 0xd9, 0x1e, 0x2e, 0x07, 0x82, 0x8b, 0x5c, 0x30, 0xb8, 0x60, 0x17, 0x83, 0xf9, 0xfd, 0x44, - 0x60, 0x63, 0x13, 0x65, 0x74, 0x1f, 0x14, 0x3a, 0xb8, 0x63, 0x99, 0x66, 0x5b, 0x65, 0xea, 0x86, - 0x3d, 0xf9, 0x3e, 0xce, 0x2b, 0xeb, 0x54, 0xeb, 0xfc, 0x58, 0xdc, 0xdf, 0x7f, 0x7e, 0x10, 0xf9, - 0x3d, 0xc7, 0x60, 0xf9, 0x27, 0x69, 0x66, 0x29, 0xec, 0x22, 0xa0, 0x46, 0xf0, 0xd6, 0x48, 0x97, - 0xaa, 0x05, 0x21, 0xd0, 0xa3, 0xea, 0x0f, 0xff, 0x76, 0x09, 0xab, 0x76, 0xd0, 0x0b, 0x70, 0xb4, - 0x47, 0xb7, 0x79, 0xa4, 0xe3, 0xa3, 0xaa, 0xb8, 0xbb, 0xc2, 0x2a, 0x4e, 0x90, 0xf6, 0x99, 0x95, - 0xf8, 0x2e, 0x77, 0xdd, 0x12, 0x14, 0xc3, 0x1e, 0xcf, 0xc0, 0xe5, 0xa7, 0x7f, 0x62, 0xc4, 0xd5, - 0x74, 0x43, 0x0d, 0xa5, 0x83, 0xc6, 0x59, 0x25, 0x4f, 0x32, 0xad, 0xc3, 0x5d, 0x03, 0x3d, 0x1f, - 0xf4, 0x24, 0xe4, 0x7c, 0xa7, 0x89, 0x71, 0xf5, 0x80, 0x74, 0x81, 0x0f, 0x2b, 0xff, 0x76, 0xcc, - 0x27, 0x19, 0x4e, 0x40, 0xd4, 0x21, 0xcd, 0xae, 0xbd, 0xf1, 0xcb, 0x34, 0x8f, 0x8c, 0xe6, 0x33, - 0xcd, 0xb3, 0x3b, 0x71, 0x0a, 0x47, 0x96, 0xdf, 0x0d, 0x69, 0x56, 0x83, 0xf2, 0x90, 0xf1, 0x5f, - 0xbe, 0x05, 0x48, 0x57, 0x6a, 0xb5, 0xfa, 0xfa, 0x86, 0x14, 0x43, 0x39, 0x48, 0x55, 0xaa, 0x6b, - 0xca, 0x86, 0x14, 0x27, 0xd5, 0x4a, 0xfd, 0x4a, 0xbd, 0xb6, 0x21, 0x25, 0xd0, 0x04, 0x14, 0xd8, - 0x6f, 0xf5, 0xe2, 0x9a, 0xb2, 0x52, 0xd9, 0x90, 0x92, 0x81, 0xaa, 0x46, 0x7d, 0x75, 0xb1, 0xae, - 0x48, 0x29, 0xf9, 0x31, 0x38, 0x36, 0xd4, 0xcb, 0xf2, 0xb3, 0x0b, 0xb1, 0x40, 0x76, 0x41, 0xfe, - 0x40, 0x1c, 0xca, 0xc3, 0x5d, 0x27, 0x74, 0xa5, 0x67, 0xe2, 0x67, 0x0f, 0xe1, 0x77, 0xf5, 0xcc, - 0x1e, 0x3d, 0x00, 0x45, 0x1b, 0x6f, 0x63, 0xb7, 0xb9, 0xcb, 0x5c, 0x39, 0x66, 0x32, 0x0b, 0x4a, - 0x81, 0xd7, 0x52, 0x24, 0x87, 0x81, 0xbd, 0x84, 0x9b, 0xae, 0xca, 0x74, 0x91, 0xc3, 0xff, 0xd6, - 0x61, 0x81, 0xd5, 0x36, 0x58, 0xa5, 0xfc, 0x43, 0x87, 0xe2, 0x65, 0x0e, 0x52, 0x4a, 0x7d, 0x43, - 0x79, 0x41, 0x4a, 0x20, 0x04, 0x45, 0xfa, 0x53, 0x6d, 0xac, 0x56, 0xd6, 0x1b, 0x97, 0xd7, 0x08, - 0x2f, 0x27, 0xa1, 0x24, 0x78, 0x29, 0x2a, 0x53, 0xf2, 0x43, 0x70, 0x74, 0x88, 0xdf, 0x37, 0xe0, - 0x1e, 0xe2, 0x47, 0x62, 0x41, 0xe8, 0x70, 0xcc, 0xbf, 0x06, 0x69, 0xc7, 0xd5, 0xdc, 0xae, 0xc3, - 0x99, 0xf8, 0xe4, 0xa8, 0x8e, 0xe0, 0xbc, 0xf8, 0xd1, 0xa0, 0xe8, 0x0a, 0x27, 0x23, 0x9f, 0x83, - 0x62, 0xb8, 0x65, 0x38, 0x0f, 0x7c, 0x21, 0x8a, 0xcb, 0x2f, 0x00, 0x04, 0xf2, 0x91, 0xde, 0x8d, - 0xae, 0x58, 0xf0, 0x46, 0xd7, 0x39, 0x48, 0xdd, 0x30, 0x99, 0xce, 0x18, 0xbc, 0x71, 0xae, 0x99, - 0x2e, 0x0e, 0x24, 0x1f, 0x18, 0xb4, 0xac, 0x03, 0xea, 0xcf, 0x09, 0x0d, 0xe9, 0xe2, 0x99, 0x70, - 0x17, 0xf7, 0x0e, 0xcd, 0x2e, 0x0d, 0xee, 0xea, 0x65, 0x48, 0x51, 0x6d, 0x33, 0xf0, 0x13, 0x9f, - 0x1f, 0x04, 0xd0, 0x5c, 0xd7, 0xd6, 0xb7, 0xba, 0x7e, 0x07, 0xb3, 0x83, 0xb5, 0x55, 0x45, 0xc0, - 0x55, 0xef, 0xe6, 0x6a, 0x6b, 0xca, 0x47, 0x0d, 0xa8, 0xae, 0x00, 0x41, 0x79, 0x15, 0x8a, 0x61, - 0xdc, 0xc1, 0x9f, 0x2c, 0xf9, 0x6f, 0x07, 0xe4, 0x84, 0xfb, 0xe4, 0x39, 0x5f, 0xfc, 0x3d, 0x0f, - 0x5a, 0x90, 0x6f, 0xc5, 0x20, 0xbb, 0xb1, 0xc7, 0xe5, 0xf8, 0x80, 0x4b, 0x95, 0xfe, 0x77, 0x5b, - 0x5e, 0xb2, 0x90, 0xe5, 0x63, 0x13, 0x5e, 0x96, 0xf7, 0xfb, 0xbc, 0x9d, 0x9a, 0x1c, 0x35, 0xda, - 0x15, 0xd9, 0x6e, 0xae, 0x9d, 0x2e, 0x8c, 0xf6, 0x8d, 0xc4, 0x14, 0xa4, 0x82, 0xdf, 0x37, 0xb0, - 0x82, 0xdc, 0x0a, 0x5c, 0x4b, 0x60, 0x66, 0x23, 0xf8, 0x31, 0x45, 0xec, 0xd0, 0x1f, 0x53, 0x78, - 0xbd, 0xc4, 0x83, 0xbd, 0xdc, 0x80, 0xac, 0x10, 0x0a, 0xf4, 0xce, 0xe0, 0xdd, 0x13, 0x71, 0x46, - 0x33, 0xd4, 0x78, 0x72, 0xf2, 0x81, 0xab, 0x27, 0xa7, 0x61, 0x82, 0x5f, 0xb9, 0xf3, 0xe3, 0x0a, - 0xfe, 0x36, 0x7f, 0x89, 0x35, 0x2c, 0x8b, 0xa0, 0x42, 0xfe, 0x95, 0x18, 0x48, 0xbd, 0x52, 0xf9, - 0x76, 0x0e, 0x80, 0x28, 0x45, 0x22, 0xfd, 0x81, 0x47, 0xb7, 0xd9, 0xca, 0x17, 0x48, 0xad, 0xff, - 0xec, 0xf6, 0x7b, 0xe3, 0x90, 0x0f, 0xe4, 0xf4, 0xd0, 0x13, 0xa1, 0x2b, 0xa0, 0x73, 0x07, 0xe5, - 0xff, 0x02, 0x77, 0x40, 0x43, 0x13, 0x8b, 0x1f, 0x7e, 0x62, 0x6f, 0xfe, 0x25, 0xfd, 0xc1, 0x5f, - 0xfb, 0xa4, 0x86, 0x7c, 0xed, 0xf3, 0x23, 0x31, 0xc8, 0x7a, 0xa6, 0xfb, 0xb0, 0xd9, 0xfc, 0x23, - 0x90, 0xe6, 0xd6, 0x89, 0xa5, 0xf3, 0x79, 0x69, 0x60, 0x2e, 0xb4, 0x0c, 0x59, 0xf1, 0x47, 0x6d, - 0x78, 0x20, 0xea, 0x95, 0x4f, 0x3f, 0x0d, 0xf9, 0xc0, 0xc1, 0x0a, 0xd1, 0x13, 0xab, 0xf5, 0xe7, - 0xa4, 0xb1, 0x72, 0xe6, 0xd6, 0xed, 0xb9, 0xc4, 0x2a, 0xbe, 0x49, 0x76, 0x98, 0x52, 0xaf, 0x5d, - 0xae, 0xd7, 0xae, 0x4a, 0xb1, 0x72, 0xfe, 0xd6, 0xed, 0xb9, 0x8c, 0x82, 0x69, 0xfa, 0xea, 0xf4, - 0x55, 0x28, 0xf5, 0x2c, 0x4c, 0x58, 0xbf, 0x23, 0x28, 0x2e, 0x6e, 0xae, 0x2f, 0x2f, 0xd5, 0x2a, - 0x1b, 0x75, 0x95, 0x5d, 0xa7, 0x43, 0x47, 0x61, 0x72, 0x79, 0xe9, 0xd2, 0xe5, 0x0d, 0xb5, 0xb6, - 0xbc, 0x54, 0x5f, 0xdd, 0x50, 0x2b, 0x1b, 0x1b, 0x95, 0xda, 0x55, 0x29, 0x7e, 0xf6, 0x3b, 0x00, - 0xa5, 0x4a, 0xb5, 0xb6, 0x44, 0xec, 0xb3, 0xce, 0xdf, 0x4d, 0xaf, 0x41, 0x92, 0xa6, 0x02, 0x0e, - 0xbc, 0x2a, 0x52, 0x3e, 0x38, 0xb7, 0x89, 0x2e, 0x42, 0x8a, 0x66, 0x09, 0xd0, 0xc1, 0x77, 0x47, - 0xca, 0x11, 0xc9, 0x4e, 0x32, 0x18, 0xba, 0x9d, 0x0e, 0xbc, 0x4c, 0x52, 0x3e, 0x38, 0xf7, 0x89, - 0x14, 0xc8, 0xf9, 0x51, 0x46, 0xf4, 0xe5, 0x8a, 0xf2, 0x08, 0xda, 0x11, 0x2d, 0x43, 0x46, 0x04, - 0x86, 0x51, 0xd7, 0x3d, 0xca, 0x91, 0xc9, 0x49, 0xc2, 0x2e, 0x16, 0xc0, 0x1f, 0x7c, 0x77, 0xa5, - 0x1c, 0x91, 0x69, 0x45, 0x4b, 0xde, 0x25, 0xfc, 0x88, 0x2b, 0x1c, 0xe5, 0xa8, 0x64, 0x23, 0x61, - 0x9a, 0x9f, 0x1a, 0x89, 0xbe, 0x91, 0x53, 0x1e, 0x21, 0x89, 0x8c, 0x36, 0x01, 0x02, 0xe1, 0xfa, - 0x08, 0x57, 0x6d, 0xca, 0xa3, 0x24, 0x87, 0xd1, 0x1a, 0x64, 0xbd, 0xe8, 0x29, 0xf2, 0xe2, 0x4b, - 0x39, 0x3a, 0x4b, 0x8b, 0xde, 0x0d, 0x85, 0x70, 0xd4, 0x30, 0xda, 0x75, 0x96, 0xf2, 0x88, 0xe9, - 0x57, 0x42, 0x3f, 0x1c, 0x42, 0x8c, 0x76, 0xbd, 0xa5, 0x3c, 0x62, 0x36, 0x16, 0xbd, 0x04, 0x13, - 0xfd, 0x2e, 0xfe, 0xe8, 0xb7, 0x5d, 0xca, 0x87, 0xc8, 0xcf, 0xa2, 0x0e, 0xa0, 0x01, 0xa1, 0xc1, - 0x21, 0x2e, 0xbf, 0x94, 0x0f, 0x93, 0xae, 0x45, 0x2d, 0x28, 0xf5, 0xfa, 0xdb, 0xa3, 0x5e, 0x86, - 0x29, 0x8f, 0x9c, 0xba, 0x65, 0xbd, 0x84, 0xfd, 0xf4, 0x51, 0x2f, 0xc7, 0x94, 0x47, 0xce, 0xe4, - 0x56, 0x2b, 0x43, 0xef, 0x37, 0x9e, 0x38, 0xf0, 0x7e, 0xa3, 0x7f, 0x63, 0xd1, 0xbb, 0xd3, 0xf8, - 0xc9, 0x27, 0xe0, 0x7e, 0xfe, 0x98, 0x80, 0xe3, 0x6a, 0xd7, 0x75, 0x63, 0xc7, 0x7b, 0x1d, 0x82, - 0x97, 0xf9, 0xe5, 0xc6, 0x23, 0xfc, 0xc1, 0x02, 0x51, 0x1b, 0xf1, 0x46, 0xc4, 0xd0, 0x87, 0xb3, - 0xa2, 0x2e, 0x21, 0x47, 0x5f, 0x5d, 0x3c, 0xe0, 0xfd, 0x89, 0x88, 0x57, 0x2e, 0x06, 0xbc, 0x4f, - 0x11, 0x71, 0x09, 0xf3, 0xa0, 0xfb, 0x9e, 0xf2, 0xcf, 0xc5, 0xa0, 0x78, 0x59, 0x77, 0x5c, 0xd3, - 0xd6, 0x9b, 0x5a, 0x9b, 0x5a, 0x8c, 0x0b, 0xa3, 0x7e, 0xe4, 0x51, 0xcd, 0x11, 0x67, 0x84, 0x3f, - 0x6a, 0xc1, 0x2f, 0x86, 0x2c, 0x42, 0xfa, 0x86, 0xd6, 0x66, 0x9f, 0x58, 0x04, 0xdf, 0xaf, 0xe9, - 0xe5, 0x79, 0xc0, 0x4b, 0x0a, 0x52, 0x61, 0xb8, 0xf2, 0xe7, 0xe9, 0x25, 0xee, 0x4e, 0x47, 0x77, - 0xd8, 0x9f, 0x9d, 0x76, 0xb1, 0x83, 0x36, 0x21, 0x69, 0x6b, 0x2e, 0x0f, 0x6a, 0xaa, 0x15, 0xfe, - 0x14, 0xc5, 0x83, 0xd1, 0x0f, 0x4a, 0xcc, 0xf7, 0xbd, 0x56, 0xc1, 0x3a, 0xa3, 0xe4, 0xd0, 0x0f, - 0x40, 0xb6, 0xa3, 0xed, 0xa9, 0x94, 0x74, 0xfc, 0xcd, 0x22, 0x9d, 0xe9, 0x68, 0x7b, 0x64, 0xd4, - 0x48, 0x87, 0x12, 0xa1, 0xde, 0xdc, 0xd5, 0x8c, 0x1d, 0xcc, 0x3a, 0x49, 0xbc, 0x59, 0x9d, 0x14, - 0x3a, 0xda, 0x5e, 0x8d, 0x12, 0x26, 0x5d, 0xf1, 0x47, 0x3f, 0x7e, 0x27, 0xc6, 0x43, 0x59, 0xca, - 0x39, 0xa4, 0x81, 0xd4, 0xf4, 0x4a, 0xb4, 0x7f, 0x91, 0xd6, 0x3f, 0x31, 0x6c, 0x61, 0x7a, 0xf8, - 0x5e, 0x2d, 0x90, 0x91, 0x7e, 0xf9, 0xb5, 0xd9, 0x18, 0xeb, 0xb5, 0xd4, 0xec, 0x59, 0x97, 0x2b, - 0x90, 0x67, 0xd9, 0x34, 0x95, 0xba, 0xb0, 0xf1, 0x48, 0x17, 0xb6, 0x20, 0x5c, 0x58, 0x46, 0x10, - 0x18, 0x36, 0x69, 0xe7, 0x73, 0xf8, 0x44, 0x0c, 0xf2, 0x8b, 0x81, 0xe7, 0xaa, 0xa6, 0x21, 0xd3, - 0x31, 0x0d, 0xfd, 0x3a, 0xb6, 0xbd, 0x73, 0x19, 0x56, 0x24, 0x6e, 0x26, 0xfb, 0xb3, 0x43, 0xee, - 0xbe, 0x78, 0x89, 0x41, 0x94, 0x09, 0xd6, 0x4d, 0xbc, 0xe5, 0xe8, 0x82, 0xe5, 0x8a, 0x28, 0xa2, - 0x53, 0x20, 0x39, 0xb8, 0xd9, 0xb5, 0x75, 0x77, 0x5f, 0x6d, 0x9a, 0x86, 0xab, 0x35, 0x5d, 0x9e, - 0x3d, 0x2d, 0x89, 0xfa, 0x1a, 0xab, 0x26, 0x44, 0x5a, 0xd8, 0xd5, 0xf4, 0x36, 0xbb, 0xf6, 0x95, - 0x53, 0x44, 0x91, 0x0f, 0xf5, 0xf3, 0x99, 0x60, 0x68, 0x58, 0x03, 0xc9, 0xb4, 0xb0, 0x1d, 0xfa, - 0xe4, 0x8d, 0x89, 0xeb, 0xf4, 0xef, 0x7f, 0xf6, 0x91, 0x29, 0xce, 0x70, 0x7e, 0x00, 0xcf, 0x5e, - 0x67, 0x56, 0x4a, 0x02, 0x43, 0x7c, 0x0b, 0xf7, 0x42, 0xe8, 0x24, 0xa6, 0xbb, 0xe5, 0x7f, 0x72, - 0x3f, 0xd5, 0xc7, 0xd4, 0x8a, 0xb1, 0x5f, 0x9d, 0xfe, 0x3d, 0x9f, 0xb4, 0x1f, 0x3a, 0x5e, 0xc5, - 0xfb, 0xc1, 0x63, 0x19, 0x4a, 0x86, 0x78, 0xf0, 0x2f, 0x69, 0x7a, 0x5b, 0xfc, 0x25, 0x35, 0x85, - 0x97, 0xd0, 0x82, 0x97, 0x86, 0x61, 0x7f, 0x21, 0x5d, 0x1e, 0x26, 0x1b, 0x55, 0xd3, 0x68, 0x85, - 0x33, 0x2e, 0x68, 0x03, 0xd2, 0xae, 0x79, 0x1d, 0x1b, 0x9c, 0x41, 0xd5, 0x77, 0x1c, 0x42, 0xb0, - 0xfb, 0xdf, 0x9f, 0xe1, 0xb4, 0xd0, 0x0e, 0x48, 0x2d, 0xdc, 0xc6, 0x3b, 0xec, 0x83, 0xad, 0x5d, - 0xcd, 0xc6, 0xec, 0x23, 0xce, 0xc3, 0xd1, 0xef, 0x7f, 0xa6, 0xa6, 0xe4, 0x51, 0x6d, 0x50, 0xa2, - 0x68, 0x3d, 0xfc, 0x58, 0x5a, 0x86, 0x9f, 0xca, 0x0f, 0x99, 0x7f, 0x40, 0x2a, 0x83, 0x6a, 0x2b, - 0xf4, 0xb8, 0xda, 0x29, 0x90, 0xba, 0xc6, 0x96, 0x69, 0xd0, 0x3f, 0x7a, 0xc4, 0x03, 0xac, 0x2c, - 0x3b, 0xb9, 0xf3, 0xea, 0xf9, 0xc9, 0xdd, 0x3a, 0x14, 0x7d, 0x50, 0xba, 0x7b, 0x72, 0x87, 0xdd, - 0x3d, 0x05, 0x8f, 0x00, 0x01, 0x41, 0x2b, 0x00, 0xfe, 0xfe, 0xf4, 0x4e, 0xf7, 0x23, 0x77, 0x7a, - 0x70, 0x32, 0x01, 0x02, 0xa8, 0x0d, 0x93, 0x1d, 0xdd, 0x50, 0x1d, 0xdc, 0xde, 0x56, 0x39, 0xe7, - 0x08, 0xdd, 0xfc, 0x9b, 0xb0, 0xd2, 0x13, 0x1d, 0xdd, 0x68, 0xe0, 0xf6, 0xf6, 0xa2, 0x47, 0x16, - 0xbd, 0x03, 0x8e, 0xfb, 0xec, 0x30, 0x0d, 0x75, 0xd7, 0x6c, 0xb7, 0x54, 0x1b, 0x6f, 0xab, 0x4d, - 0xfa, 0xfc, 0xd1, 0x38, 0x65, 0xe2, 0x51, 0x0f, 0x64, 0xcd, 0xb8, 0x6c, 0xb6, 0x5b, 0x0a, 0xde, - 0xae, 0x91, 0x66, 0x74, 0x1f, 0xf8, 0xbc, 0x50, 0xf5, 0x96, 0x33, 0x5d, 0x98, 0x4b, 0x9c, 0x4c, - 0x2a, 0xe3, 0x5e, 0xe5, 0x52, 0xcb, 0x59, 0xc8, 0xbe, 0xef, 0xd5, 0xd9, 0xb1, 0x6f, 0xbc, 0x3a, - 0x3b, 0x26, 0x5f, 0xa4, 0x8f, 0x75, 0xf0, 0x4d, 0x87, 0x1d, 0x74, 0x1e, 0x72, 0x9a, 0x28, 0xb0, - 0xcf, 0x44, 0x0e, 0xd8, 0xb4, 0x3e, 0xa8, 0xfc, 0x6a, 0x0c, 0xd2, 0x8b, 0xd7, 0xd6, 0x35, 0xdd, - 0x46, 0x75, 0x98, 0xf0, 0x85, 0x76, 0xd4, 0xfd, 0xef, 0xcb, 0xb9, 0x50, 0x00, 0xf5, 0x61, 0x5f, - 0xce, 0x1e, 0x48, 0xa6, 0xf7, 0x9b, 0xda, 0xc0, 0x54, 0xaf, 0x40, 0x86, 0x8d, 0xd0, 0x41, 0xcf, - 0x42, 0xca, 0x22, 0x3f, 0x78, 0xf6, 0x7f, 0x66, 0xa8, 0xa0, 0x53, 0xf8, 0xa0, 0x58, 0x30, 0x3c, - 0xf9, 0x2f, 0x63, 0x00, 0x8b, 0xd7, 0xae, 0x6d, 0xd8, 0xba, 0xd5, 0xc6, 0xee, 0x9b, 0x35, 0xe5, - 0x65, 0xb8, 0x2b, 0xf0, 0x7d, 0xa6, 0xdd, 0x1c, 0x79, 0xda, 0x93, 0xfe, 0x17, 0x9a, 0x76, 0x73, - 0x20, 0xb5, 0x96, 0xe3, 0x7a, 0xd4, 0x12, 0x23, 0x53, 0x5b, 0x74, 0xdc, 0x7e, 0x3e, 0x3e, 0x0f, - 0x79, 0x7f, 0xea, 0x0e, 0x5a, 0x82, 0xac, 0xcb, 0x7f, 0x73, 0x76, 0xca, 0xc3, 0xd9, 0x29, 0xd0, - 0x82, 0x2c, 0xf5, 0xd0, 0xe5, 0xff, 0x45, 0xb8, 0xea, 0x6f, 0x84, 0xbf, 0x56, 0x82, 0x44, 0x34, - 0x3c, 0xd7, 0xc0, 0x89, 0x37, 0x41, 0x03, 0x73, 0x5a, 0x01, 0xb6, 0xfe, 0x68, 0x1c, 0x26, 0x37, - 0xc5, 0x26, 0xfd, 0x6b, 0xcb, 0x85, 0x4d, 0xc8, 0x60, 0xc3, 0xb5, 0x75, 0x2c, 0x8e, 0xfa, 0x1e, - 0x1d, 0xb6, 0xd8, 0x03, 0xe6, 0x42, 0xff, 0x14, 0x70, 0x70, 0xe9, 0x05, 0xad, 0x00, 0x1b, 0x7e, - 0x2b, 0x01, 0xd3, 0xc3, 0x50, 0xd1, 0x09, 0x28, 0x35, 0x6d, 0x4c, 0x2b, 0xd4, 0x50, 0x2a, 0xbc, - 0x28, 0xaa, 0xb9, 0x49, 0x51, 0x80, 0x38, 0x68, 0x44, 0xaa, 0x08, 0xe8, 0x9d, 0x79, 0x64, 0x45, - 0x9f, 0x02, 0x35, 0x2a, 0x18, 0x4a, 0xe2, 0x6e, 0xfb, 0x96, 0xd6, 0xd6, 0x8c, 0x26, 0xbe, 0x03, - 0x49, 0xe8, 0xb7, 0x00, 0xe2, 0xc2, 0x7c, 0x95, 0xd1, 0x44, 0xd7, 0x20, 0x23, 0xc8, 0x27, 0xdf, - 0x04, 0xf2, 0x82, 0x18, 0xba, 0x17, 0xc6, 0x83, 0x86, 0x81, 0xfa, 0x29, 0x49, 0x25, 0x1f, 0xb0, - 0x0b, 0x51, 0x96, 0x27, 0x7d, 0xa0, 0xe5, 0xe1, 0xae, 0xe0, 0x6f, 0x26, 0x60, 0x42, 0xc1, 0xad, - 0xef, 0xc1, 0x85, 0xfb, 0x7e, 0x00, 0xb6, 0xa9, 0x89, 0xb2, 0xbd, 0x83, 0xb5, 0xeb, 0x57, 0x12, - 0x39, 0x46, 0x6f, 0xd1, 0x71, 0xdf, 0xae, 0xd5, 0xfb, 0x97, 0x71, 0x18, 0x0f, 0xae, 0xde, 0xf7, - 0x80, 0x65, 0x43, 0xab, 0xbe, 0x4a, 0x63, 0xb7, 0xcf, 0x4f, 0x0d, 0x53, 0x69, 0x7d, 0x72, 0x1d, - 0xa1, 0xcb, 0x3e, 0x9d, 0x84, 0x34, 0xbf, 0x0a, 0xb6, 0xd6, 0xe7, 0xe3, 0xc6, 0xa2, 0xbe, 0xff, - 0x2d, 0x88, 0xef, 0x7f, 0x07, 0xba, 0xb8, 0x0f, 0x40, 0x91, 0x84, 0xd4, 0xa1, 0xfb, 0x65, 0xb1, - 0x93, 0x05, 0x1a, 0x0e, 0xfb, 0xb7, 0xa1, 0xd1, 0x2c, 0xe4, 0x09, 0x98, 0xaf, 0xb3, 0x09, 0x0c, - 0x74, 0xb4, 0xbd, 0x3a, 0xab, 0x41, 0x8f, 0x00, 0xda, 0xf5, 0x12, 0x1f, 0xaa, 0xcf, 0x08, 0x02, - 0x37, 0xe1, 0xb7, 0x08, 0xf0, 0x7b, 0x00, 0xc8, 0x28, 0x54, 0xf6, 0x42, 0x27, 0x7f, 0xed, 0x94, - 0xd4, 0x2c, 0xd2, 0x57, 0x3a, 0x7f, 0x3a, 0xc6, 0x5c, 0xe5, 0x9e, 0x68, 0x9b, 0x07, 0x2d, 0xea, - 0xe1, 0x76, 0xc3, 0xb7, 0x5f, 0x9b, 0x2d, 0xef, 0x6b, 0x9d, 0xf6, 0x82, 0x3c, 0x80, 0xa4, 0x3c, - 0x28, 0x17, 0x40, 0xbc, 0xe9, 0x70, 0xe0, 0x8e, 0x56, 0x41, 0xba, 0x8e, 0xf7, 0x55, 0x9b, 0xff, - 0x6d, 0x53, 0x75, 0x1b, 0x63, 0x1e, 0xde, 0x1c, 0x9b, 0x1f, 0xf0, 0x50, 0xea, 0x7c, 0xcd, 0xd4, - 0x43, 0x71, 0x40, 0xf1, 0x3a, 0xde, 0x57, 0x38, 0xf2, 0x45, 0x8c, 0xd1, 0xd3, 0x70, 0x8c, 0xa6, - 0x32, 0x4c, 0x43, 0x84, 0xa5, 0x1e, 0x6d, 0x76, 0xed, 0x2d, 0xa9, 0x1c, 0xe9, 0x68, 0x7b, 0x35, - 0xd3, 0xe0, 0xe1, 0xa6, 0x40, 0x76, 0x16, 0xee, 0x27, 0x5b, 0xec, 0xd6, 0xd7, 0x3f, 0x75, 0xfa, - 0x78, 0x60, 0xb6, 0x7b, 0x5e, 0xb2, 0x8e, 0x49, 0x8a, 0xfc, 0xc9, 0x18, 0x20, 0xdf, 0xee, 0x79, - 0x57, 0xd3, 0x57, 0xe8, 0x85, 0x65, 0x11, 0x7a, 0xc4, 0x0e, 0x0e, 0x69, 0x7c, 0xfc, 0x50, 0x48, - 0x13, 0xd8, 0xd7, 0xef, 0xf4, 0xad, 0x4c, 0xfc, 0x10, 0xdc, 0x10, 0x48, 0x54, 0x5d, 0x8c, 0xc9, - 0xaf, 0xc5, 0xe0, 0x58, 0xdf, 0xa6, 0xf0, 0x86, 0xdc, 0x04, 0x64, 0x07, 0x1a, 0xa9, 0x70, 0x89, - 0xa3, 0xde, 0x3b, 0xdb, 0x63, 0x13, 0x76, 0x9f, 0x65, 0x79, 0x8b, 0xcc, 0x25, 0xd7, 0x87, 0xbf, - 0x1b, 0x83, 0xa9, 0xe0, 0x88, 0xbc, 0xb9, 0x35, 0x60, 0x3c, 0x38, 0x16, 0x3e, 0xab, 0xfb, 0x47, - 0x99, 0x55, 0x70, 0x42, 0x21, 0x22, 0x64, 0x2e, 0x62, 0x03, 0xb2, 0xb4, 0xe1, 0x63, 0x23, 0x73, - 0xc9, 0x3b, 0x12, 0x19, 0xa4, 0x91, 0xd8, 0x62, 0xfd, 0x54, 0x1c, 0x92, 0xeb, 0xa6, 0xd9, 0x46, - 0x3f, 0x12, 0x83, 0x09, 0xc3, 0x74, 0x55, 0xb2, 0x6d, 0x71, 0x4b, 0xe5, 0x79, 0x0b, 0xa6, 0xd4, - 0xaf, 0x1d, 0x8e, 0x7b, 0xdf, 0x7c, 0x6d, 0xb6, 0x9f, 0xd4, 0xa0, 0xd7, 0x7e, 0x4b, 0x86, 0xe9, - 0x56, 0x29, 0xd0, 0x06, 0x4b, 0x6d, 0xdc, 0x84, 0x42, 0xb8, 0x7f, 0x66, 0x09, 0x94, 0x43, 0xf7, - 0x5f, 0x88, 0xec, 0x7b, 0x7c, 0x2b, 0xd0, 0x31, 0x7b, 0x73, 0xf3, 0x4f, 0xc9, 0xe2, 0xbe, 0x00, - 0xd2, 0xb5, 0xde, 0x4b, 0x72, 0x75, 0xc8, 0x1c, 0xf6, 0xbe, 0x5d, 0x90, 0xe3, 0x1c, 0x57, 0xfe, - 0xf5, 0x38, 0x1c, 0xe3, 0x2a, 0xe0, 0xaa, 0xaf, 0x02, 0x58, 0x86, 0x79, 0x1f, 0x5d, 0x1c, 0x9a, - 0x20, 0x3b, 0xfe, 0xed, 0xd7, 0x66, 0x8f, 0x32, 0x9d, 0xd7, 0x0b, 0x21, 0xf7, 0xe7, 0xc8, 0xae, - 0x41, 0x89, 0xd8, 0xf8, 0x80, 0x2e, 0xba, 0xc3, 0x14, 0x59, 0xc1, 0x6c, 0xb7, 0x7c, 0x8d, 0x45, - 0xe8, 0x1a, 0xf8, 0x66, 0x88, 0x6e, 0xe2, 0xce, 0xe8, 0x1a, 0xf8, 0x66, 0x80, 0xae, 0x7f, 0xd4, - 0x9e, 0x0c, 0x1e, 0xb5, 0xfb, 0x16, 0xf3, 0xf4, 0xe7, 0x62, 0x00, 0x7e, 0x76, 0x0d, 0x3d, 0x0c, - 0x47, 0xab, 0x6b, 0xab, 0x8b, 0x6a, 0x63, 0xa3, 0xb2, 0xb1, 0xd9, 0x08, 0x3f, 0xad, 0x2f, 0x9e, - 0x93, 0x71, 0x2c, 0xdc, 0xd4, 0xb7, 0x75, 0xdc, 0x42, 0x0f, 0xc2, 0x54, 0x18, 0x9a, 0x94, 0xea, - 0x8b, 0x52, 0xac, 0x3c, 0x7e, 0xeb, 0xf6, 0x5c, 0x96, 0x45, 0x15, 0xb8, 0x85, 0x4e, 0xc2, 0x5d, - 0xfd, 0x70, 0x4b, 0xab, 0x97, 0xa4, 0x78, 0xb9, 0x70, 0xeb, 0xf6, 0x5c, 0xce, 0x0b, 0x3f, 0x90, - 0x0c, 0x28, 0x08, 0xc9, 0xe9, 0x25, 0xca, 0x70, 0xeb, 0xf6, 0x5c, 0x9a, 0x89, 0x73, 0x39, 0xf9, - 0xbe, 0x8f, 0xce, 0x8c, 0x9d, 0xfe, 0x41, 0x80, 0x25, 0x63, 0xdb, 0xd6, 0xe8, 0xdf, 0x97, 0x46, - 0x65, 0x38, 0xb2, 0xb4, 0x7a, 0x51, 0xa9, 0xd4, 0x36, 0x96, 0xd6, 0x56, 0x7b, 0xfe, 0x22, 0x40, - 0xb8, 0x6d, 0x71, 0x6d, 0xb3, 0xba, 0x5c, 0x57, 0x1b, 0x4b, 0x97, 0x56, 0xd9, 0x21, 0x7d, 0xa8, - 0xed, 0xb9, 0xd5, 0x8d, 0xa5, 0x95, 0xba, 0x14, 0xaf, 0x5e, 0x1c, 0x7a, 0x4c, 0xf4, 0xf0, 0x81, - 0x1b, 0xc5, 0xb7, 0x2e, 0xa1, 0xb3, 0xa2, 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x3f, 0x1e, 0xcf, - 0x1f, 0xf7, 0x98, 0x00, 0x00, + // 10758 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7d, 0x6b, 0x70, 0x24, 0xc7, + 0x79, 0x18, 0xf6, 0xbd, 0xfb, 0x2d, 0x76, 0x77, 0xd0, 0x00, 0xef, 0x70, 0x7b, 0x24, 0x00, 0x0e, + 0x1f, 0xf7, 0x20, 0x89, 0x23, 0x8f, 0xbc, 0x23, 0x89, 0x13, 0x45, 0xef, 0x2e, 0xf6, 0xee, 0x70, + 0x87, 0x97, 0x66, 0x81, 0xe3, 0xc3, 0xb6, 0xc6, 0x83, 0xdd, 0x06, 0x30, 0xbc, 0xdd, 0x99, 0xd1, + 0xcc, 0xec, 0x1d, 0xc0, 0x4a, 0xa5, 0x68, 0xcb, 0x76, 0xe4, 0x8b, 0x63, 0xcb, 0x76, 0xca, 0x96, + 0x6d, 0x9d, 0x42, 0x59, 0xb1, 0x1e, 0xce, 0x4b, 0x96, 0x64, 0x49, 0x8e, 0xcb, 0x2e, 0x39, 0x95, + 0x87, 0xec, 0xa4, 0x52, 0x92, 0x2b, 0x95, 0xb8, 0x52, 0x09, 0xe3, 0x50, 0xaa, 0x48, 0x91, 0xe5, + 0xd8, 0x96, 0xe9, 0x24, 0x8e, 0x2a, 0x8f, 0xea, 0xd7, 0x3c, 0xf6, 0x81, 0x59, 0x9c, 0x48, 0xda, + 0x29, 0xfd, 0xb9, 0xdb, 0xee, 0xfe, 0xbe, 0xaf, 0xbb, 0xbf, 0xfe, 0xfa, 0x7b, 0x75, 0x4f, 0x03, + 0xfe, 0xec, 0x02, 0xcc, 0xed, 0x98, 0xe6, 0x4e, 0x1b, 0x9f, 0xb1, 0x6c, 0xd3, 0x35, 0xb7, 0xba, + 0xdb, 0x67, 0x5a, 0xd8, 0x69, 0xda, 0xba, 0xe5, 0x9a, 0xf6, 0x3c, 0xad, 0x43, 0x25, 0x06, 0x31, + 0x2f, 0x20, 0xe4, 0x15, 0x98, 0xb8, 0xa8, 0xb7, 0xf1, 0xa2, 0x07, 0xd8, 0xc0, 0x2e, 0x7a, 0x0a, + 0x92, 0xdb, 0x7a, 0x1b, 0x4f, 0xc7, 0xe6, 0x12, 0x27, 0xf3, 0x67, 0xef, 0x9f, 0xef, 0x41, 0x9a, + 0x0f, 0x63, 0xac, 0x93, 0x6a, 0x85, 0x62, 0xc8, 0x5f, 0x4d, 0xc2, 0xe4, 0x80, 0x56, 0x84, 0x20, + 0x69, 0x68, 0x1d, 0x42, 0x31, 0x76, 0x32, 0xa7, 0xd0, 0xdf, 0x68, 0x1a, 0x32, 0x96, 0xd6, 0xbc, + 0xae, 0xed, 0xe0, 0xe9, 0x38, 0xad, 0x16, 0x45, 0x34, 0x03, 0xd0, 0xc2, 0x16, 0x36, 0x5a, 0xd8, + 0x68, 0xee, 0x4f, 0x27, 0xe6, 0x12, 0x27, 0x73, 0x4a, 0xa0, 0x06, 0x3d, 0x04, 0x13, 0x56, 0x77, + 0xab, 0xad, 0x37, 0xd5, 0x00, 0x18, 0xcc, 0x25, 0x4e, 0xa6, 0x14, 0x89, 0x35, 0x2c, 0xfa, 0xc0, + 0x27, 0xa0, 0x74, 0x13, 0x6b, 0xd7, 0x83, 0xa0, 0x79, 0x0a, 0x5a, 0x24, 0xd5, 0x01, 0xc0, 0x1a, + 0x8c, 0x77, 0xb0, 0xe3, 0x68, 0x3b, 0x58, 0x75, 0xf7, 0x2d, 0x3c, 0x9d, 0xa4, 0xb3, 0x9f, 0xeb, + 0x9b, 0x7d, 0xef, 0xcc, 0xf3, 0x1c, 0x6b, 0x63, 0xdf, 0xc2, 0xa8, 0x02, 0x39, 0x6c, 0x74, 0x3b, + 0x8c, 0x42, 0x6a, 0x08, 0xff, 0xea, 0x46, 0xb7, 0xd3, 0x4b, 0x25, 0x4b, 0xd0, 0x38, 0x89, 0x8c, + 0x83, 0xed, 0x1b, 0x7a, 0x13, 0x4f, 0xa7, 0x29, 0x81, 0x13, 0x7d, 0x04, 0x1a, 0xac, 0xbd, 0x97, + 0x86, 0xc0, 0x43, 0x35, 0xc8, 0xe1, 0x3d, 0x17, 0x1b, 0x8e, 0x6e, 0x1a, 0xd3, 0x19, 0x4a, 0xe4, + 0x81, 0x01, 0xab, 0x88, 0xdb, 0xad, 0x5e, 0x12, 0x3e, 0x1e, 0x3a, 0x0f, 0x19, 0xd3, 0x72, 0x75, + 0xd3, 0x70, 0xa6, 0xb3, 0x73, 0xb1, 0x93, 0xf9, 0xb3, 0x77, 0x0f, 0x14, 0x84, 0x35, 0x06, 0xa3, + 0x08, 0x60, 0xb4, 0x04, 0x92, 0x63, 0x76, 0xed, 0x26, 0x56, 0x9b, 0x66, 0x0b, 0xab, 0xba, 0xb1, + 0x6d, 0x4e, 0xe7, 0x28, 0x81, 0xd9, 0xfe, 0x89, 0x50, 0xc0, 0x9a, 0xd9, 0xc2, 0x4b, 0xc6, 0xb6, + 0xa9, 0x14, 0x9d, 0x50, 0x19, 0x1d, 0x81, 0xb4, 0xb3, 0x6f, 0xb8, 0xda, 0xde, 0xf4, 0x38, 0x95, + 0x10, 0x5e, 0x92, 0x7f, 0x3d, 0x0d, 0xa5, 0x51, 0x44, 0xec, 0x02, 0xa4, 0xb6, 0xc9, 0x2c, 0xa7, + 0xe3, 0x87, 0xe1, 0x01, 0xc3, 0x09, 0x33, 0x31, 0x7d, 0x87, 0x4c, 0xac, 0x40, 0xde, 0xc0, 0x8e, + 0x8b, 0x5b, 0x4c, 0x22, 0x12, 0x23, 0xca, 0x14, 0x30, 0xa4, 0x7e, 0x91, 0x4a, 0xde, 0x91, 0x48, + 0x3d, 0x0f, 0x25, 0x6f, 0x48, 0xaa, 0xad, 0x19, 0x3b, 0x42, 0x36, 0xcf, 0x44, 0x8d, 0x64, 0xbe, + 0x2e, 0xf0, 0x14, 0x82, 0xa6, 0x14, 0x71, 0xa8, 0x8c, 0x16, 0x01, 0x4c, 0x03, 0x9b, 0xdb, 0x6a, + 0x0b, 0x37, 0xdb, 0xd3, 0xd9, 0x21, 0x5c, 0x5a, 0x23, 0x20, 0x7d, 0x5c, 0x32, 0x59, 0x6d, 0xb3, + 0x8d, 0x9e, 0xf6, 0x45, 0x2d, 0x33, 0x44, 0x52, 0x56, 0xd8, 0x26, 0xeb, 0x93, 0xb6, 0x4d, 0x28, + 0xda, 0x98, 0xc8, 0x3d, 0x6e, 0xf1, 0x99, 0xe5, 0xe8, 0x20, 0xe6, 0x23, 0x67, 0xa6, 0x70, 0x34, + 0x36, 0xb1, 0x82, 0x1d, 0x2c, 0xa2, 0xfb, 0xc0, 0xab, 0x50, 0xa9, 0x58, 0x01, 0xd5, 0x42, 0xe3, + 0xa2, 0x72, 0x55, 0xeb, 0xe0, 0xf2, 0xcb, 0x50, 0x0c, 0xb3, 0x07, 0x4d, 0x41, 0xca, 0x71, 0x35, + 0xdb, 0xa5, 0x52, 0x98, 0x52, 0x58, 0x01, 0x49, 0x90, 0xc0, 0x46, 0x8b, 0x6a, 0xb9, 0x94, 0x42, + 0x7e, 0xa2, 0xef, 0xf1, 0x27, 0x9c, 0xa0, 0x13, 0x7e, 0xb0, 0x7f, 0x45, 0x43, 0x94, 0x7b, 0xe7, + 0x5d, 0x7e, 0x12, 0x0a, 0xa1, 0x09, 0x8c, 0xda, 0xb5, 0xfc, 0xd7, 0xe0, 0xae, 0x81, 0xa4, 0xd1, + 0xf3, 0x30, 0xd5, 0x35, 0x74, 0xc3, 0xc5, 0xb6, 0x65, 0x63, 0x22, 0xb1, 0xac, 0xab, 0xe9, 0xaf, + 0x65, 0x86, 0xc8, 0xdc, 0x66, 0x10, 0x9a, 0x51, 0x51, 0x26, 0xbb, 0xfd, 0x95, 0xa7, 0x73, 0xd9, + 0xaf, 0x67, 0xa4, 0x57, 0x5e, 0x79, 0xe5, 0x95, 0xb8, 0xfc, 0xdb, 0x69, 0x98, 0x1a, 0xb4, 0x67, + 0x06, 0x6e, 0xdf, 0x23, 0x90, 0x36, 0xba, 0x9d, 0x2d, 0x6c, 0x53, 0x26, 0xa5, 0x14, 0x5e, 0x42, + 0x15, 0x48, 0xb5, 0xb5, 0x2d, 0xdc, 0x9e, 0x4e, 0xce, 0xc5, 0x4e, 0x16, 0xcf, 0x3e, 0x34, 0xd2, + 0xae, 0x9c, 0x5f, 0x26, 0x28, 0x0a, 0xc3, 0x44, 0xef, 0x84, 0x24, 0x57, 0xd1, 0x84, 0xc2, 0xe9, + 0xd1, 0x28, 0x90, 0xbd, 0xa4, 0x50, 0x3c, 0x74, 0x1c, 0x72, 0xe4, 0x7f, 0x26, 0x1b, 0x69, 0x3a, + 0xe6, 0x2c, 0xa9, 0x20, 0x72, 0x81, 0xca, 0x90, 0xa5, 0xdb, 0xa4, 0x85, 0x85, 0x69, 0xf3, 0xca, + 0x44, 0xb0, 0x5a, 0x78, 0x5b, 0xeb, 0xb6, 0x5d, 0xf5, 0x86, 0xd6, 0xee, 0x62, 0x2a, 0xf0, 0x39, + 0x65, 0x9c, 0x57, 0x5e, 0x23, 0x75, 0x68, 0x16, 0xf2, 0x6c, 0x57, 0xe9, 0x46, 0x0b, 0xef, 0x51, + 0xed, 0x99, 0x52, 0xd8, 0x46, 0x5b, 0x22, 0x35, 0xa4, 0xfb, 0x97, 0x1c, 0xd3, 0x10, 0xa2, 0x49, + 0xbb, 0x20, 0x15, 0xb4, 0xfb, 0x27, 0x7b, 0x15, 0xf7, 0x3d, 0x83, 0xa7, 0xd7, 0xb7, 0x97, 0x4e, + 0x40, 0x89, 0x42, 0x3c, 0xce, 0x97, 0x5e, 0x6b, 0x4f, 0x4f, 0xcc, 0xc5, 0x4e, 0x66, 0x95, 0x22, + 0xab, 0x5e, 0xe3, 0xb5, 0xf2, 0x67, 0xe3, 0x90, 0xa4, 0x8a, 0xa5, 0x04, 0xf9, 0x8d, 0x17, 0xd6, + 0xeb, 0xea, 0xe2, 0xda, 0x66, 0x75, 0xb9, 0x2e, 0xc5, 0x50, 0x11, 0x80, 0x56, 0x5c, 0x5c, 0x5e, + 0xab, 0x6c, 0x48, 0x71, 0xaf, 0xbc, 0xb4, 0xba, 0x71, 0xfe, 0x09, 0x29, 0xe1, 0x21, 0x6c, 0xb2, + 0x8a, 0x64, 0x10, 0xe0, 0xf1, 0xb3, 0x52, 0x0a, 0x49, 0x30, 0xce, 0x08, 0x2c, 0x3d, 0x5f, 0x5f, + 0x3c, 0xff, 0x84, 0x94, 0x0e, 0xd7, 0x3c, 0x7e, 0x56, 0xca, 0xa0, 0x02, 0xe4, 0x68, 0x4d, 0x75, + 0x6d, 0x6d, 0x59, 0xca, 0x7a, 0x34, 0x1b, 0x1b, 0xca, 0xd2, 0xea, 0x25, 0x29, 0xe7, 0xd1, 0xbc, + 0xa4, 0xac, 0x6d, 0xae, 0x4b, 0xe0, 0x51, 0x58, 0xa9, 0x37, 0x1a, 0x95, 0x4b, 0x75, 0x29, 0xef, + 0x41, 0x54, 0x5f, 0xd8, 0xa8, 0x37, 0xa4, 0xf1, 0xd0, 0xb0, 0x1e, 0x3f, 0x2b, 0x15, 0xbc, 0x2e, + 0xea, 0xab, 0x9b, 0x2b, 0x52, 0x11, 0x4d, 0x40, 0x81, 0x75, 0x21, 0x06, 0x51, 0xea, 0xa9, 0x3a, + 0xff, 0x84, 0x24, 0xf9, 0x03, 0x61, 0x54, 0x26, 0x42, 0x15, 0xe7, 0x9f, 0x90, 0x90, 0x5c, 0x83, + 0x14, 0x15, 0x43, 0x84, 0xa0, 0xb8, 0x5c, 0xa9, 0xd6, 0x97, 0xd5, 0xb5, 0xf5, 0x8d, 0xa5, 0xb5, + 0xd5, 0xca, 0xb2, 0x14, 0xf3, 0xeb, 0x94, 0xfa, 0xbb, 0x36, 0x97, 0x94, 0xfa, 0xa2, 0x14, 0x0f, + 0xd6, 0xad, 0xd7, 0x2b, 0x1b, 0xf5, 0x45, 0x29, 0x21, 0x37, 0x61, 0x6a, 0x90, 0x42, 0x1d, 0xb8, + 0x85, 0x02, 0xb2, 0x10, 0x1f, 0x22, 0x0b, 0x94, 0x56, 0xaf, 0x2c, 0xc8, 0x5f, 0x89, 0xc3, 0xe4, + 0x00, 0xa3, 0x32, 0xb0, 0x93, 0x67, 0x21, 0xc5, 0x64, 0x99, 0x99, 0xd9, 0x53, 0x03, 0xad, 0x13, + 0x95, 0xec, 0x3e, 0x53, 0x4b, 0xf1, 0x82, 0xae, 0x46, 0x62, 0x88, 0xab, 0x41, 0x48, 0xf4, 0x09, + 0xec, 0xf7, 0xf7, 0x29, 0x7f, 0x66, 0x1f, 0xcf, 0x8f, 0x62, 0x1f, 0x69, 0xdd, 0xe1, 0x8c, 0x40, + 0x6a, 0x80, 0x11, 0xb8, 0x00, 0x13, 0x7d, 0x84, 0x46, 0x56, 0xc6, 0xef, 0x8d, 0xc1, 0xf4, 0x30, + 0xe6, 0x44, 0xa8, 0xc4, 0x78, 0x48, 0x25, 0x5e, 0xe8, 0xe5, 0xe0, 0xbd, 0xc3, 0x17, 0xa1, 0x6f, + 0xad, 0x3f, 0x16, 0x83, 0x23, 0x83, 0x5d, 0xca, 0x81, 0x63, 0x78, 0x27, 0xa4, 0x3b, 0xd8, 0xdd, + 0x35, 0x85, 0x5b, 0xf5, 0xe0, 0x00, 0x63, 0x4d, 0x9a, 0x7b, 0x17, 0x9b, 0x63, 0x05, 0xad, 0x7d, + 0x62, 0x98, 0x5f, 0xc8, 0x46, 0xd3, 0x37, 0xd2, 0x1f, 0x8b, 0xc3, 0x5d, 0x03, 0x89, 0x0f, 0x1c, + 0xe8, 0x3d, 0x00, 0xba, 0x61, 0x75, 0x5d, 0xe6, 0x3a, 0x31, 0x4d, 0x9c, 0xa3, 0x35, 0x54, 0x79, + 0x11, 0x2d, 0xdb, 0x75, 0xbd, 0xf6, 0x04, 0x6d, 0x07, 0x56, 0x45, 0x01, 0x9e, 0xf2, 0x07, 0x9a, + 0xa4, 0x03, 0x9d, 0x19, 0x32, 0xd3, 0x3e, 0xc1, 0x7c, 0x14, 0xa4, 0x66, 0x5b, 0xc7, 0x86, 0xab, + 0x3a, 0xae, 0x8d, 0xb5, 0x8e, 0x6e, 0xec, 0x50, 0x53, 0x93, 0x5d, 0x48, 0x6d, 0x6b, 0x6d, 0x07, + 0x2b, 0x25, 0xd6, 0xdc, 0x10, 0xad, 0x04, 0x83, 0x0a, 0x90, 0x1d, 0xc0, 0x48, 0x87, 0x30, 0x58, + 0xb3, 0x87, 0x21, 0xff, 0x54, 0x0e, 0xf2, 0x01, 0x07, 0x1c, 0xdd, 0x0b, 0xe3, 0x2f, 0x69, 0x37, + 0x34, 0x55, 0x04, 0x55, 0x8c, 0x13, 0x79, 0x52, 0xb7, 0xce, 0x03, 0xab, 0x47, 0x61, 0x8a, 0x82, + 0x98, 0x5d, 0x17, 0xdb, 0x6a, 0xb3, 0xad, 0x39, 0x0e, 0x65, 0x5a, 0x96, 0x82, 0x22, 0xd2, 0xb6, + 0x46, 0x9a, 0x6a, 0xa2, 0x05, 0x9d, 0x83, 0x49, 0x8a, 0xd1, 0xe9, 0xb6, 0x5d, 0xdd, 0x6a, 0x63, + 0x95, 0x84, 0x79, 0x0e, 0x35, 0x39, 0xde, 0xc8, 0x26, 0x08, 0xc4, 0x0a, 0x07, 0x20, 0x23, 0x72, + 0xd0, 0x22, 0xdc, 0x43, 0xd1, 0x76, 0xb0, 0x81, 0x6d, 0xcd, 0xc5, 0x2a, 0x7e, 0x4f, 0x57, 0x6b, + 0x3b, 0xaa, 0x66, 0xb4, 0xd4, 0x5d, 0xcd, 0xd9, 0x9d, 0x9e, 0x22, 0x04, 0xaa, 0xf1, 0xe9, 0x98, + 0x72, 0x8c, 0x00, 0x5e, 0xe2, 0x70, 0x75, 0x0a, 0x56, 0x31, 0x5a, 0x97, 0x35, 0x67, 0x17, 0x2d, + 0xc0, 0x11, 0x4a, 0xc5, 0x71, 0x6d, 0xdd, 0xd8, 0x51, 0x9b, 0xbb, 0xb8, 0x79, 0x5d, 0xed, 0xba, + 0xdb, 0x4f, 0x4d, 0x1f, 0x0f, 0xf6, 0x4f, 0x47, 0xd8, 0xa0, 0x30, 0x35, 0x02, 0xb2, 0xe9, 0x6e, + 0x3f, 0x85, 0x1a, 0x30, 0x4e, 0x16, 0xa3, 0xa3, 0xbf, 0x8c, 0xd5, 0x6d, 0xd3, 0xa6, 0x36, 0xb4, + 0x38, 0x40, 0x35, 0x05, 0x38, 0x38, 0xbf, 0xc6, 0x11, 0x56, 0xcc, 0x16, 0x5e, 0x48, 0x35, 0xd6, + 0xeb, 0xf5, 0x45, 0x25, 0x2f, 0xa8, 0x5c, 0x34, 0x6d, 0x22, 0x50, 0x3b, 0xa6, 0xc7, 0xe0, 0x3c, + 0x13, 0xa8, 0x1d, 0x53, 0xb0, 0xf7, 0x1c, 0x4c, 0x36, 0x9b, 0x6c, 0xce, 0x7a, 0x53, 0xe5, 0xc1, + 0x98, 0x33, 0x2d, 0x85, 0x98, 0xd5, 0x6c, 0x5e, 0x62, 0x00, 0x5c, 0xc6, 0x1d, 0xf4, 0x34, 0xdc, + 0xe5, 0x33, 0x2b, 0x88, 0x38, 0xd1, 0x37, 0xcb, 0x5e, 0xd4, 0x73, 0x30, 0x69, 0xed, 0xf7, 0x23, + 0xa2, 0x50, 0x8f, 0xd6, 0x7e, 0x2f, 0xda, 0x93, 0x30, 0x65, 0xed, 0x5a, 0xfd, 0x78, 0xa7, 0x83, + 0x78, 0xc8, 0xda, 0xb5, 0x7a, 0x11, 0x1f, 0xa0, 0x91, 0xb9, 0x8d, 0x9b, 0x9a, 0x8b, 0x5b, 0xd3, + 0x47, 0x83, 0xe0, 0x81, 0x06, 0x34, 0x0f, 0x52, 0xb3, 0xa9, 0x62, 0x43, 0xdb, 0x6a, 0x63, 0x55, + 0xb3, 0xb1, 0xa1, 0x39, 0xd3, 0xb3, 0x14, 0x38, 0xe9, 0xda, 0x5d, 0xac, 0x14, 0x9b, 0xcd, 0x3a, + 0x6d, 0xac, 0xd0, 0x36, 0x74, 0x1a, 0x26, 0xcc, 0xad, 0x97, 0x9a, 0x4c, 0x22, 0x55, 0xcb, 0xc6, + 0xdb, 0xfa, 0xde, 0xf4, 0xfd, 0x94, 0xbd, 0x25, 0xd2, 0x40, 0xe5, 0x71, 0x9d, 0x56, 0xa3, 0x53, + 0x20, 0x35, 0x9d, 0x5d, 0xcd, 0xb6, 0xa8, 0x4a, 0x76, 0x2c, 0xad, 0x89, 0xa7, 0x1f, 0x60, 0xa0, + 0xac, 0x7e, 0x55, 0x54, 0x93, 0x1d, 0xe1, 0xdc, 0xd4, 0xb7, 0x5d, 0x41, 0xf1, 0x04, 0xdb, 0x11, + 0xb4, 0x8e, 0x53, 0x3b, 0x09, 0x12, 0xe1, 0x44, 0xa8, 0xe3, 0x93, 0x14, 0xac, 0x68, 0xed, 0x5a, + 0xc1, 0x7e, 0xef, 0x83, 0x02, 0x81, 0xf4, 0x3b, 0x3d, 0xc5, 0x1c, 0x37, 0x6b, 0x37, 0xd0, 0xe3, + 0x13, 0x70, 0x84, 0x00, 0x75, 0xb0, 0xab, 0xb5, 0x34, 0x57, 0x0b, 0x40, 0x3f, 0x4c, 0xa1, 0x09, + 0xdb, 0x57, 0x78, 0x63, 0x68, 0x9c, 0x76, 0x77, 0x6b, 0xdf, 0x13, 0xac, 0x47, 0xd8, 0x38, 0x49, + 0x9d, 0x10, 0xad, 0xb7, 0xcc, 0x39, 0x97, 0x17, 0x60, 0x3c, 0x28, 0xf7, 0x28, 0x07, 0x4c, 0xf2, + 0xa5, 0x18, 0x71, 0x82, 0x6a, 0x6b, 0x8b, 0xc4, 0x7d, 0x79, 0xb1, 0x2e, 0xc5, 0x89, 0x1b, 0xb5, + 0xbc, 0xb4, 0x51, 0x57, 0x95, 0xcd, 0xd5, 0x8d, 0xa5, 0x95, 0xba, 0x94, 0x08, 0x38, 0xf6, 0x57, + 0x92, 0xd9, 0x07, 0xa5, 0x13, 0xc4, 0x6b, 0x28, 0x86, 0x23, 0x35, 0xf4, 0x0e, 0x38, 0x2a, 0xd2, + 0x2a, 0x0e, 0x76, 0xd5, 0x9b, 0xba, 0x4d, 0x37, 0x64, 0x47, 0x63, 0xc6, 0xd1, 0x93, 0x9f, 0x29, + 0x0e, 0xd5, 0xc0, 0xee, 0x73, 0xba, 0x4d, 0xb6, 0x5b, 0x47, 0x73, 0xd1, 0x32, 0xcc, 0x1a, 0xa6, + 0xea, 0xb8, 0x9a, 0xd1, 0xd2, 0xec, 0x96, 0xea, 0x27, 0xb4, 0x54, 0xad, 0xd9, 0xc4, 0x8e, 0x63, + 0x32, 0x43, 0xe8, 0x51, 0xb9, 0xdb, 0x30, 0x1b, 0x1c, 0xd8, 0xb7, 0x10, 0x15, 0x0e, 0xda, 0x23, + 0xbe, 0x89, 0x61, 0xe2, 0x7b, 0x1c, 0x72, 0x1d, 0xcd, 0x52, 0xb1, 0xe1, 0xda, 0xfb, 0xd4, 0x3f, + 0xcf, 0x2a, 0xd9, 0x8e, 0x66, 0xd5, 0x49, 0xf9, 0x6d, 0x09, 0x93, 0xae, 0x24, 0xb3, 0x49, 0x29, + 0x75, 0x25, 0x99, 0x4d, 0x49, 0xe9, 0x2b, 0xc9, 0x6c, 0x5a, 0xca, 0x5c, 0x49, 0x66, 0xb3, 0x52, + 0xee, 0x4a, 0x32, 0x9b, 0x93, 0x40, 0xfe, 0xe9, 0x24, 0x8c, 0x07, 0x3d, 0x78, 0x12, 0x10, 0x35, + 0xa9, 0x0d, 0x8b, 0x51, 0x2d, 0x77, 0xdf, 0x81, 0xfe, 0xfe, 0x7c, 0x8d, 0x18, 0xb7, 0x85, 0x34, + 0x73, 0x97, 0x15, 0x86, 0x49, 0x1c, 0x0b, 0x22, 0x7e, 0x98, 0xb9, 0x27, 0x59, 0x85, 0x97, 0xd0, + 0x25, 0x48, 0xbf, 0xe4, 0x50, 0xda, 0x69, 0x4a, 0xfb, 0xfe, 0x83, 0x69, 0x5f, 0x69, 0x50, 0xe2, + 0xb9, 0x2b, 0x0d, 0x75, 0x75, 0x4d, 0x59, 0xa9, 0x2c, 0x2b, 0x1c, 0x1d, 0x1d, 0x83, 0x64, 0x5b, + 0x7b, 0x79, 0x3f, 0x6c, 0x06, 0x69, 0x15, 0x9a, 0x87, 0x52, 0xd7, 0xb8, 0x81, 0x6d, 0x7d, 0x5b, + 0xc7, 0x2d, 0x95, 0x42, 0x95, 0x82, 0x50, 0x45, 0xbf, 0x75, 0x99, 0xc0, 0x8f, 0xb8, 0x8c, 0xc7, + 0x20, 0x79, 0x13, 0x6b, 0xd7, 0xc3, 0xc6, 0x8a, 0x56, 0xbd, 0x85, 0xdb, 0xe9, 0x0c, 0xa4, 0x28, + 0x7f, 0x11, 0x00, 0xe7, 0xb0, 0x34, 0x86, 0xb2, 0x90, 0xac, 0xad, 0x29, 0x64, 0x4b, 0x49, 0x30, + 0xce, 0x6a, 0xd5, 0xf5, 0xa5, 0x7a, 0xad, 0x2e, 0xc5, 0xe5, 0x73, 0x90, 0x66, 0x4c, 0x23, 0xdb, + 0xcd, 0x63, 0x9b, 0x34, 0xc6, 0x8b, 0x9c, 0x46, 0x4c, 0xb4, 0x6e, 0xae, 0x54, 0xeb, 0x8a, 0x14, + 0xef, 0x13, 0x16, 0xd9, 0x81, 0xf1, 0xa0, 0x27, 0xff, 0xf6, 0x84, 0xf3, 0x5f, 0x88, 0x41, 0x3e, + 0xe0, 0x99, 0x13, 0x97, 0x4a, 0x6b, 0xb7, 0xcd, 0x9b, 0xaa, 0xd6, 0xd6, 0x35, 0x87, 0x8b, 0x12, + 0xd0, 0xaa, 0x0a, 0xa9, 0x19, 0x75, 0xe9, 0xde, 0xa6, 0x4d, 0x96, 0x92, 0xd2, 0xf2, 0x87, 0x62, + 0x20, 0xf5, 0xba, 0xc6, 0x3d, 0xc3, 0x8c, 0xfd, 0x65, 0x0e, 0x53, 0xfe, 0x60, 0x0c, 0x8a, 0x61, + 0x7f, 0xb8, 0x67, 0x78, 0xf7, 0xfe, 0xa5, 0x0e, 0xef, 0x0f, 0xe2, 0x50, 0x08, 0x79, 0xc1, 0xa3, + 0x8e, 0xee, 0x3d, 0x30, 0xa1, 0xb7, 0x70, 0xc7, 0x32, 0x5d, 0x6c, 0x34, 0xf7, 0xd5, 0x36, 0xbe, + 0x81, 0xdb, 0xd3, 0x32, 0x55, 0x32, 0x67, 0x0e, 0xf6, 0xb3, 0xe7, 0x97, 0x7c, 0xbc, 0x65, 0x82, + 0xb6, 0x30, 0xb9, 0xb4, 0x58, 0x5f, 0x59, 0x5f, 0xdb, 0xa8, 0xaf, 0xd6, 0x5e, 0x50, 0x37, 0x57, + 0xaf, 0xae, 0xae, 0x3d, 0xb7, 0xaa, 0x48, 0x7a, 0x0f, 0xd8, 0x5b, 0xb8, 0xed, 0xd7, 0x41, 0xea, + 0x1d, 0x14, 0x3a, 0x0a, 0x83, 0x86, 0x25, 0x8d, 0xa1, 0x49, 0x28, 0xad, 0xae, 0xa9, 0x8d, 0xa5, + 0xc5, 0xba, 0x5a, 0xbf, 0x78, 0xb1, 0x5e, 0xdb, 0x68, 0xb0, 0xcc, 0x89, 0x07, 0xbd, 0x11, 0xda, + 0xe0, 0xf2, 0x2f, 0x24, 0x60, 0x72, 0xc0, 0x48, 0x50, 0x85, 0xc7, 0x3c, 0x2c, 0x0c, 0x7b, 0x64, + 0x94, 0xd1, 0xcf, 0x13, 0xaf, 0x63, 0x5d, 0xb3, 0x5d, 0x1e, 0x22, 0x9d, 0x02, 0xc2, 0x25, 0xc3, + 0x25, 0xca, 0xd5, 0xe6, 0x19, 0x29, 0x16, 0x08, 0x95, 0xfc, 0x7a, 0x96, 0x94, 0x7a, 0x18, 0x90, + 0x65, 0x3a, 0xba, 0xab, 0xdf, 0xc0, 0xaa, 0x6e, 0x88, 0xf4, 0x15, 0x09, 0x8c, 0x92, 0x8a, 0x24, + 0x5a, 0x96, 0x0c, 0xd7, 0x83, 0x36, 0xf0, 0x8e, 0xd6, 0x03, 0x4d, 0x94, 0x7f, 0x42, 0x91, 0x44, + 0x8b, 0x07, 0x7d, 0x2f, 0x8c, 0xb7, 0xcc, 0x2e, 0xf1, 0x16, 0x19, 0x1c, 0xb1, 0x35, 0x31, 0x25, + 0xcf, 0xea, 0x3c, 0x10, 0x1e, 0x07, 0xf8, 0x79, 0xb3, 0x71, 0x25, 0xcf, 0xea, 0x18, 0xc8, 0x09, + 0x28, 0x69, 0x3b, 0x3b, 0x36, 0x21, 0x2e, 0x08, 0xb1, 0xc8, 0xa6, 0xe8, 0x55, 0x53, 0xc0, 0xf2, + 0x15, 0xc8, 0x0a, 0x3e, 0x10, 0x63, 0x4f, 0x38, 0xa1, 0x5a, 0x2c, 0x5c, 0x8f, 0x9f, 0xcc, 0x29, + 0x59, 0x43, 0x34, 0xde, 0x0b, 0xe3, 0xba, 0xa3, 0xfa, 0xc7, 0x00, 0xf1, 0xb9, 0xf8, 0xc9, 0xac, + 0x92, 0xd7, 0x1d, 0x2f, 0x85, 0x2a, 0x7f, 0x2c, 0x0e, 0xc5, 0xf0, 0x31, 0x06, 0x5a, 0x84, 0x6c, + 0xdb, 0x6c, 0x6a, 0x54, 0xb4, 0xd8, 0x19, 0xda, 0xc9, 0x88, 0x93, 0x8f, 0xf9, 0x65, 0x0e, 0xaf, + 0x78, 0x98, 0xe5, 0x7f, 0x1d, 0x83, 0xac, 0xa8, 0x46, 0x47, 0x20, 0x69, 0x69, 0xee, 0x2e, 0x25, + 0x97, 0xaa, 0xc6, 0xa5, 0x98, 0x42, 0xcb, 0xa4, 0xde, 0xb1, 0x34, 0x83, 0x8a, 0x00, 0xaf, 0x27, + 0x65, 0xb2, 0xae, 0x6d, 0xac, 0xb5, 0x68, 0xd8, 0x64, 0x76, 0x3a, 0xd8, 0x70, 0x1d, 0xb1, 0xae, + 0xbc, 0xbe, 0xc6, 0xab, 0xd1, 0x43, 0x30, 0xe1, 0xda, 0x9a, 0xde, 0x0e, 0xc1, 0x26, 0x29, 0xac, + 0x24, 0x1a, 0x3c, 0xe0, 0x05, 0x38, 0x26, 0xe8, 0xb6, 0xb0, 0xab, 0x35, 0x77, 0x71, 0xcb, 0x47, + 0x4a, 0xd3, 0xf4, 0xc8, 0x51, 0x0e, 0xb0, 0xc8, 0xdb, 0x05, 0xae, 0xfc, 0xe5, 0x18, 0x4c, 0x88, + 0x40, 0xaf, 0xe5, 0x31, 0x6b, 0x05, 0x40, 0x33, 0x0c, 0xd3, 0x0d, 0xb2, 0xab, 0x5f, 0x94, 0xfb, + 0xf0, 0xe6, 0x2b, 0x1e, 0x92, 0x12, 0x20, 0x50, 0xee, 0x00, 0xf8, 0x2d, 0x43, 0xd9, 0x36, 0x0b, + 0x79, 0x7e, 0x46, 0x45, 0x0f, 0x3a, 0x59, 0x6a, 0x00, 0x58, 0x15, 0x89, 0x08, 0xd1, 0x14, 0xa4, + 0xb6, 0xf0, 0x8e, 0x6e, 0xf0, 0xcc, 0x33, 0x2b, 0x88, 0x04, 0x4e, 0xd2, 0x4b, 0xe0, 0x54, 0xff, + 0x3a, 0x4c, 0x36, 0xcd, 0x4e, 0xef, 0x70, 0xab, 0x52, 0x4f, 0x7a, 0xc2, 0xb9, 0x1c, 0x7b, 0xf1, + 0x11, 0x0e, 0xb4, 0x63, 0xb6, 0x35, 0x63, 0x67, 0xde, 0xb4, 0x77, 0xfc, 0x83, 0x5a, 0xe2, 0x21, + 0x39, 0x81, 0xe3, 0x5a, 0x6b, 0xeb, 0x7f, 0xc6, 0x62, 0xbf, 0x14, 0x4f, 0x5c, 0x5a, 0xaf, 0xfe, + 0x4a, 0xbc, 0x7c, 0x89, 0x21, 0xae, 0x0b, 0x66, 0x28, 0x78, 0xbb, 0x8d, 0x9b, 0x64, 0x82, 0xf0, + 0x47, 0x0f, 0xc1, 0xd4, 0x8e, 0xb9, 0x63, 0x52, 0x4a, 0x67, 0xc8, 0x2f, 0x7e, 0xd2, 0x9b, 0xf3, + 0x6a, 0xcb, 0x91, 0xc7, 0xc2, 0x0b, 0xab, 0x30, 0xc9, 0x81, 0x55, 0x7a, 0xd4, 0xc4, 0x02, 0x21, + 0x74, 0x60, 0x16, 0x6e, 0xfa, 0x57, 0xbf, 0x4a, 0xcd, 0xb7, 0x32, 0xc1, 0x51, 0x49, 0x1b, 0x8b, + 0x95, 0x16, 0x14, 0xb8, 0x2b, 0x44, 0x8f, 0x6d, 0x52, 0x6c, 0x47, 0x50, 0xfc, 0x67, 0x9c, 0xe2, + 0x64, 0x80, 0x62, 0x83, 0xa3, 0x2e, 0xd4, 0xa0, 0x70, 0x18, 0x5a, 0xff, 0x9c, 0xd3, 0x1a, 0xc7, + 0x41, 0x22, 0x97, 0xa0, 0x44, 0x89, 0x34, 0xbb, 0x8e, 0x6b, 0x76, 0xa8, 0x06, 0x3c, 0x98, 0xcc, + 0xbf, 0xf8, 0x2a, 0xdb, 0x35, 0x45, 0x82, 0x56, 0xf3, 0xb0, 0x16, 0x16, 0x80, 0x9e, 0xae, 0xb5, + 0x70, 0xb3, 0x1d, 0x41, 0xe1, 0x8b, 0x7c, 0x20, 0x1e, 0xfc, 0xc2, 0x35, 0x98, 0x22, 0xbf, 0xa9, + 0x82, 0x0a, 0x8e, 0x24, 0x3a, 0x65, 0x37, 0xfd, 0xe5, 0xf7, 0xb2, 0x8d, 0x39, 0xe9, 0x11, 0x08, + 0x8c, 0x29, 0xb0, 0x8a, 0x3b, 0xd8, 0x75, 0xb1, 0xed, 0xa8, 0x5a, 0x7b, 0xd0, 0xf0, 0x02, 0x39, + 0x8f, 0xe9, 0x9f, 0xff, 0x66, 0x78, 0x15, 0x2f, 0x31, 0xcc, 0x4a, 0xbb, 0xbd, 0xb0, 0x09, 0x47, + 0x07, 0x48, 0xc5, 0x08, 0x34, 0x7f, 0x81, 0xd3, 0x9c, 0xea, 0x93, 0x0c, 0x42, 0x76, 0x1d, 0x44, + 0xbd, 0xb7, 0x96, 0x23, 0xd0, 0xfc, 0x45, 0x4e, 0x13, 0x71, 0x5c, 0xb1, 0xa4, 0x84, 0xe2, 0x15, + 0x98, 0xb8, 0x81, 0xed, 0x2d, 0xd3, 0xe1, 0x79, 0xa6, 0x11, 0xc8, 0x7d, 0x90, 0x93, 0x2b, 0x71, + 0x44, 0x9a, 0x78, 0x22, 0xb4, 0x9e, 0x86, 0xec, 0xb6, 0xd6, 0xc4, 0x23, 0x90, 0xb8, 0xcd, 0x49, + 0x64, 0x08, 0x3c, 0x41, 0xad, 0xc0, 0xf8, 0x8e, 0xc9, 0x6d, 0x54, 0x34, 0xfa, 0x87, 0x38, 0x7a, + 0x5e, 0xe0, 0x70, 0x12, 0x96, 0x69, 0x75, 0xdb, 0xc4, 0x80, 0x45, 0x93, 0xf8, 0x3b, 0x82, 0x84, + 0xc0, 0xe1, 0x24, 0x0e, 0xc1, 0xd6, 0x57, 0x05, 0x09, 0x27, 0xc0, 0xcf, 0x67, 0x21, 0x6f, 0x1a, + 0xed, 0x7d, 0xd3, 0x18, 0x65, 0x10, 0x1f, 0xe6, 0x14, 0x80, 0xa3, 0x10, 0x02, 0x17, 0x20, 0x37, + 0xea, 0x42, 0xfc, 0xf2, 0x37, 0xc5, 0xf6, 0x10, 0x2b, 0x70, 0x09, 0x4a, 0x42, 0x41, 0xe9, 0xa6, + 0x31, 0x02, 0x89, 0x8f, 0x72, 0x12, 0xc5, 0x00, 0x1a, 0x9f, 0x86, 0x8b, 0x1d, 0x77, 0x07, 0x8f, + 0x42, 0xe4, 0x63, 0x62, 0x1a, 0x1c, 0x85, 0xb3, 0x72, 0x0b, 0x1b, 0xcd, 0xdd, 0xd1, 0x28, 0x7c, + 0x5c, 0xb0, 0x52, 0xe0, 0x10, 0x12, 0x35, 0x28, 0x74, 0x34, 0xdb, 0xd9, 0xd5, 0xda, 0x23, 0x2d, + 0xc7, 0x27, 0x38, 0x8d, 0x71, 0x0f, 0x89, 0x73, 0xa4, 0x6b, 0x1c, 0x86, 0xcc, 0xaf, 0x08, 0x8e, + 0x04, 0xd0, 0xf8, 0xd6, 0x73, 0x5c, 0x9a, 0x94, 0x3b, 0x0c, 0xb5, 0xbf, 0x27, 0xb6, 0x1e, 0xc3, + 0x5d, 0x09, 0x52, 0xbc, 0x00, 0x39, 0x47, 0x7f, 0x79, 0x24, 0x32, 0x7f, 0x5f, 0xac, 0x34, 0x45, + 0x20, 0xc8, 0x2f, 0xc0, 0xb1, 0x81, 0x66, 0x62, 0x04, 0x62, 0xff, 0x80, 0x13, 0x3b, 0x32, 0xc0, + 0x54, 0x70, 0x95, 0x70, 0x58, 0x92, 0xff, 0x50, 0xa8, 0x04, 0xdc, 0x43, 0x6b, 0x9d, 0x44, 0x0d, + 0x8e, 0xb6, 0x7d, 0x38, 0xae, 0xfd, 0x23, 0xc1, 0x35, 0x86, 0x1b, 0xe2, 0xda, 0x06, 0x1c, 0xe1, + 0x14, 0x0f, 0xb7, 0xae, 0x9f, 0x14, 0x8a, 0x95, 0x61, 0x6f, 0x86, 0x57, 0xf7, 0x7b, 0xa1, 0xec, + 0xb1, 0x53, 0xb8, 0xa7, 0x8e, 0xda, 0xd1, 0xac, 0x11, 0x28, 0xff, 0x2a, 0xa7, 0x2c, 0x34, 0xbe, + 0xe7, 0xdf, 0x3a, 0x2b, 0x9a, 0x45, 0x88, 0x3f, 0x0f, 0xd3, 0x82, 0x78, 0xd7, 0xb0, 0x71, 0xd3, + 0xdc, 0x31, 0xf4, 0x97, 0x71, 0x6b, 0x04, 0xd2, 0x9f, 0xea, 0x59, 0xaa, 0xcd, 0x00, 0x3a, 0xa1, + 0xbc, 0x04, 0x92, 0xe7, 0xab, 0xa8, 0x7a, 0xc7, 0x32, 0x6d, 0x37, 0x82, 0xe2, 0xa7, 0xc5, 0x4a, + 0x79, 0x78, 0x4b, 0x14, 0x6d, 0xa1, 0x0e, 0xec, 0xa4, 0x7a, 0x54, 0x91, 0xfc, 0x0c, 0x27, 0x54, + 0xf0, 0xb1, 0xb8, 0xe2, 0x68, 0x9a, 0x1d, 0x4b, 0xb3, 0x47, 0xd1, 0x7f, 0xbf, 0x26, 0x14, 0x07, + 0x47, 0xe1, 0x8a, 0x83, 0x78, 0x74, 0xc4, 0xda, 0x8f, 0x40, 0xe1, 0xb3, 0x42, 0x71, 0x08, 0x1c, + 0x4e, 0x42, 0x38, 0x0c, 0x23, 0x90, 0xf8, 0x9c, 0x20, 0x21, 0x70, 0x08, 0x89, 0x77, 0xf9, 0x86, + 0xd6, 0xc6, 0x3b, 0xba, 0xe3, 0xda, 0xcc, 0x29, 0x3e, 0x98, 0xd4, 0xe7, 0xbf, 0x19, 0x76, 0xc2, + 0x94, 0x00, 0x2a, 0xd1, 0x44, 0x3c, 0x4d, 0x4b, 0x63, 0xa6, 0xe8, 0x81, 0xfd, 0xba, 0xd0, 0x44, + 0x01, 0x34, 0x32, 0xb6, 0x80, 0x87, 0x48, 0xd8, 0xde, 0x24, 0x91, 0xc2, 0x08, 0xe4, 0xfe, 0x71, + 0xcf, 0xe0, 0x1a, 0x02, 0x97, 0xd0, 0x0c, 0xf8, 0x3f, 0x5d, 0xe3, 0x3a, 0xde, 0x1f, 0x49, 0x3a, + 0x7f, 0xa3, 0xc7, 0xff, 0xd9, 0x64, 0x98, 0x4c, 0x87, 0x94, 0x7a, 0xfc, 0x29, 0x14, 0x75, 0x2f, + 0x69, 0xfa, 0x07, 0xdf, 0xe0, 0xf3, 0x0d, 0xbb, 0x53, 0x0b, 0xcb, 0x44, 0xc8, 0xc3, 0x4e, 0x4f, + 0x34, 0xb1, 0xf7, 0xbe, 0xe1, 0xc9, 0x79, 0xc8, 0xe7, 0x59, 0xb8, 0x08, 0x85, 0x90, 0xc3, 0x13, + 0x4d, 0xea, 0x87, 0x39, 0xa9, 0xf1, 0xa0, 0xbf, 0xb3, 0x70, 0x0e, 0x92, 0xc4, 0x79, 0x89, 0x46, + 0xff, 0x11, 0x8e, 0x4e, 0xc1, 0x17, 0x9e, 0x81, 0xac, 0x70, 0x5a, 0xa2, 0x51, 0x7f, 0x94, 0xa3, + 0x7a, 0x28, 0x04, 0x5d, 0x38, 0x2c, 0xd1, 0xe8, 0x7f, 0x43, 0xa0, 0x0b, 0x14, 0x82, 0x3e, 0x3a, + 0x0b, 0xbf, 0xf0, 0x37, 0x93, 0xdc, 0xe8, 0x08, 0xde, 0x5d, 0x80, 0x0c, 0xf7, 0x54, 0xa2, 0xb1, + 0x7f, 0x8c, 0x77, 0x2e, 0x30, 0x16, 0x9e, 0x84, 0xd4, 0x88, 0x0c, 0xff, 0x5b, 0x1c, 0x95, 0xc1, + 0x2f, 0xd4, 0x20, 0x1f, 0xf0, 0x4e, 0xa2, 0xd1, 0x7f, 0x82, 0xa3, 0x07, 0xb1, 0xc8, 0xd0, 0xb9, + 0x77, 0x12, 0x4d, 0xe0, 0x27, 0xc5, 0xd0, 0x39, 0x06, 0x61, 0x9b, 0x70, 0x4c, 0xa2, 0xb1, 0xdf, + 0x2f, 0xb8, 0x2e, 0x50, 0x16, 0x9e, 0x85, 0x9c, 0x67, 0x6c, 0xa2, 0xf1, 0x7f, 0x8a, 0xe3, 0xfb, + 0x38, 0x84, 0x03, 0x01, 0x63, 0x17, 0x4d, 0xe2, 0xa7, 0x05, 0x07, 0x02, 0x58, 0x64, 0x1b, 0xf5, + 0x3a, 0x30, 0xd1, 0x94, 0x7e, 0x46, 0x6c, 0xa3, 0x1e, 0xff, 0x85, 0xac, 0x26, 0xd5, 0xf9, 0xd1, + 0x24, 0xfe, 0xb6, 0x58, 0x4d, 0x0a, 0x4f, 0x86, 0xd1, 0xeb, 0x11, 0x44, 0xd3, 0xf8, 0x39, 0x31, + 0x8c, 0x1e, 0x87, 0x60, 0x61, 0x1d, 0x50, 0xbf, 0x37, 0x10, 0x4d, 0xef, 0x03, 0x9c, 0xde, 0x44, + 0x9f, 0x33, 0xb0, 0xf0, 0x1c, 0x1c, 0x19, 0xec, 0x09, 0x44, 0x53, 0xfd, 0xf9, 0x37, 0x7a, 0x62, + 0xb7, 0xa0, 0x23, 0xb0, 0xb0, 0xe1, 0x9b, 0x94, 0xa0, 0x17, 0x10, 0x4d, 0xf6, 0x17, 0xde, 0x08, + 0x2b, 0xee, 0xa0, 0x13, 0xb0, 0x50, 0x01, 0xf0, 0x0d, 0x70, 0x34, 0xad, 0x0f, 0x72, 0x5a, 0x01, + 0x24, 0xb2, 0x35, 0xb8, 0xfd, 0x8d, 0xc6, 0xbf, 0x2d, 0xb6, 0x06, 0xc7, 0x20, 0x5b, 0x43, 0x98, + 0xde, 0x68, 0xec, 0x0f, 0x89, 0xad, 0x21, 0x50, 0x88, 0x64, 0x07, 0xac, 0x5b, 0x34, 0x85, 0x0f, + 0x0b, 0xc9, 0x0e, 0x60, 0x2d, 0xac, 0xc2, 0x44, 0x9f, 0x41, 0x8c, 0x26, 0xf5, 0x4b, 0x9c, 0x94, + 0xd4, 0x6b, 0x0f, 0x83, 0xc6, 0x8b, 0x1b, 0xc3, 0x68, 0x6a, 0x1f, 0xe9, 0x31, 0x5e, 0xdc, 0x16, + 0x2e, 0x5c, 0x80, 0xac, 0xd1, 0x6d, 0xb7, 0xc9, 0xe6, 0x41, 0x07, 0xdf, 0x25, 0x9c, 0xfe, 0xaf, + 0xdf, 0xe6, 0xdc, 0x11, 0x08, 0x0b, 0xe7, 0x20, 0x85, 0x3b, 0x5b, 0xb8, 0x15, 0x85, 0xf9, 0x8d, + 0x6f, 0x0b, 0x85, 0x49, 0xa0, 0x17, 0x9e, 0x05, 0x60, 0xa9, 0x11, 0x7a, 0x78, 0x18, 0x81, 0xfb, + 0x87, 0xdf, 0xe6, 0x97, 0x77, 0x7c, 0x14, 0x9f, 0x00, 0xbb, 0x0a, 0x74, 0x30, 0x81, 0x6f, 0x86, + 0x09, 0xd0, 0x15, 0x79, 0x1a, 0x32, 0x2f, 0x39, 0xa6, 0xe1, 0x6a, 0x3b, 0x51, 0xd8, 0x7f, 0xc4, + 0xb1, 0x05, 0x3c, 0x61, 0x58, 0xc7, 0xb4, 0xb1, 0xab, 0xed, 0x38, 0x51, 0xb8, 0xff, 0x8d, 0xe3, + 0x7a, 0x08, 0x04, 0xb9, 0xa9, 0x39, 0xee, 0x28, 0xf3, 0xfe, 0x63, 0x81, 0x2c, 0x10, 0xc8, 0xa0, + 0xc9, 0xef, 0xeb, 0x78, 0x3f, 0x0a, 0xf7, 0x4f, 0xc4, 0xa0, 0x39, 0xfc, 0xc2, 0x33, 0x90, 0x23, + 0x3f, 0xd9, 0x8d, 0xbc, 0x08, 0xe4, 0x3f, 0xe5, 0xc8, 0x3e, 0x06, 0xe9, 0xd9, 0x71, 0x5b, 0xae, + 0x1e, 0xcd, 0xec, 0x6f, 0xf1, 0x95, 0x16, 0xf0, 0x0b, 0x15, 0xc8, 0x3b, 0x6e, 0xab, 0xd5, 0xe5, + 0xfe, 0x69, 0x04, 0xfa, 0x9f, 0x7d, 0xdb, 0x4b, 0x59, 0x78, 0x38, 0x64, 0xb5, 0x6f, 0x5e, 0x77, + 0x2d, 0x93, 0x1e, 0x78, 0x44, 0x51, 0x78, 0x83, 0x53, 0x08, 0xa0, 0x2c, 0xd4, 0x60, 0x9c, 0xcc, + 0xc5, 0xc6, 0x16, 0xa6, 0xa7, 0x53, 0x11, 0x24, 0xfe, 0x9c, 0x33, 0x20, 0x84, 0x54, 0xfd, 0x81, + 0x2f, 0xbe, 0x3e, 0x13, 0xfb, 0xd2, 0xeb, 0x33, 0xb1, 0x3f, 0x78, 0x7d, 0x26, 0xf6, 0xfe, 0xaf, + 0xcc, 0x8c, 0x7d, 0xe9, 0x2b, 0x33, 0x63, 0xbf, 0xff, 0x95, 0x99, 0xb1, 0xc1, 0x59, 0x62, 0xb8, + 0x64, 0x5e, 0x32, 0x59, 0x7e, 0xf8, 0xc5, 0x07, 0x76, 0x74, 0x77, 0xb7, 0xbb, 0x35, 0xdf, 0x34, + 0x3b, 0x67, 0x9a, 0xa6, 0xd3, 0x31, 0x9d, 0x33, 0xe1, 0xbc, 0x2e, 0xfd, 0x05, 0xff, 0x3b, 0x46, + 0x62, 0xe6, 0x70, 0x3a, 0x57, 0x33, 0xf6, 0x87, 0x7d, 0xde, 0x73, 0x1e, 0x12, 0x15, 0x63, 0x1f, + 0x1d, 0x63, 0x0a, 0x4e, 0xed, 0xda, 0x6d, 0x7e, 0x2d, 0x2c, 0x43, 0xca, 0x9b, 0x76, 0x1b, 0x4d, + 0xf9, 0x77, 0x37, 0x63, 0x27, 0xc7, 0xf9, 0x85, 0xcc, 0xea, 0x4f, 0xc4, 0x0e, 0x37, 0x93, 0x6c, + 0xc5, 0xd8, 0xa7, 0x13, 0x59, 0x8f, 0xbd, 0xf8, 0x70, 0x64, 0x9e, 0xfb, 0xba, 0x61, 0xde, 0x34, + 0xc8, 0xb0, 0xad, 0x2d, 0x91, 0xe3, 0x9e, 0xe9, 0xcd, 0x71, 0x3f, 0x87, 0xdb, 0xed, 0xab, 0x04, + 0x6e, 0x83, 0xa0, 0x6c, 0xa5, 0xd9, 0x0d, 0x64, 0xf8, 0x99, 0x38, 0xcc, 0xf4, 0xa5, 0xb3, 0xb9, + 0x10, 0x0c, 0x63, 0xc2, 0x02, 0x64, 0x17, 0x85, 0x6c, 0x4d, 0x43, 0xc6, 0xc1, 0x4d, 0xd3, 0x68, + 0x39, 0x94, 0x11, 0x09, 0x45, 0x14, 0x09, 0x23, 0x0c, 0xcd, 0x30, 0x1d, 0x7e, 0xb1, 0x92, 0x15, + 0xaa, 0xbf, 0x78, 0x48, 0x46, 0x14, 0x44, 0x4f, 0x82, 0x1b, 0x8f, 0x8d, 0xc8, 0x0d, 0x31, 0x89, + 0x50, 0xe6, 0x7f, 0x54, 0xae, 0xfc, 0x5c, 0x1c, 0x66, 0x7b, 0xb9, 0x42, 0x76, 0x96, 0xe3, 0x6a, + 0x1d, 0x6b, 0x18, 0x5b, 0x2e, 0x40, 0x6e, 0x43, 0xc0, 0x1c, 0x9a, 0x2f, 0xb7, 0x0f, 0xc9, 0x97, + 0xa2, 0xd7, 0x95, 0x60, 0xcc, 0xd9, 0x11, 0x19, 0xe3, 0xcd, 0xe3, 0x8e, 0x38, 0xf3, 0x17, 0x69, + 0x38, 0xc6, 0xb6, 0x93, 0xca, 0xb6, 0x12, 0x2b, 0x70, 0x9e, 0x8c, 0x07, 0x9b, 0xa2, 0xcf, 0x49, + 0xe4, 0xab, 0x30, 0xb9, 0x44, 0xb4, 0x05, 0x89, 0x82, 0xfc, 0x13, 0x9e, 0x81, 0x77, 0x4f, 0xe7, + 0x42, 0x0e, 0x3f, 0x3f, 0x61, 0x0a, 0x56, 0xc9, 0x3f, 0x18, 0x03, 0xa9, 0xd1, 0xd4, 0xda, 0x9a, + 0xfd, 0x9d, 0x92, 0x42, 0x4f, 0x02, 0xd0, 0x6f, 0x96, 0xfc, 0x8f, 0x8c, 0x8a, 0x67, 0xa7, 0xe7, + 0x83, 0x93, 0x9b, 0x67, 0x3d, 0xd1, 0x2f, 0x18, 0x72, 0x14, 0x96, 0xfc, 0x3c, 0xfd, 0x3c, 0x80, + 0xdf, 0x80, 0x8e, 0xc3, 0xd1, 0x46, 0xad, 0xb2, 0x5c, 0x51, 0x54, 0x76, 0x19, 0x7e, 0xb5, 0xb1, + 0x5e, 0xaf, 0x2d, 0x5d, 0x5c, 0xaa, 0x2f, 0x4a, 0x63, 0xe8, 0x08, 0xa0, 0x60, 0xa3, 0x77, 0x2f, + 0xe5, 0x2e, 0x98, 0x08, 0xd6, 0xb3, 0x1b, 0xf5, 0x71, 0xe2, 0x29, 0xea, 0x1d, 0xab, 0x8d, 0xe9, + 0xd1, 0x9f, 0xaa, 0x0b, 0xae, 0x45, 0x3b, 0x21, 0xbf, 0xf3, 0x6f, 0xd9, 0x2d, 0xeb, 0x49, 0x1f, + 0xdd, 0xe3, 0xf9, 0xc2, 0x32, 0x4c, 0x68, 0xcd, 0x26, 0xb6, 0x42, 0x24, 0x23, 0x54, 0x35, 0x21, + 0x48, 0x0f, 0x33, 0x39, 0xa6, 0x4f, 0xed, 0x49, 0x48, 0x3b, 0x74, 0xf6, 0x51, 0x24, 0x7e, 0x97, + 0x93, 0xe0, 0xe0, 0x0b, 0x06, 0x4c, 0x10, 0xcf, 0x4f, 0xb3, 0x71, 0x60, 0x18, 0x07, 0xe7, 0x19, + 0x7e, 0xf3, 0xd3, 0x8f, 0xd2, 0xa3, 0xcd, 0x7b, 0xc3, 0xcb, 0x32, 0x40, 0x9c, 0x14, 0x89, 0xd3, + 0xf6, 0x07, 0x8a, 0xa1, 0x28, 0xfa, 0xe3, 0x03, 0x3e, 0xb8, 0xb3, 0xdf, 0xe2, 0x9d, 0xcd, 0x0c, + 0x92, 0x81, 0x40, 0x4f, 0x05, 0x4e, 0x95, 0x35, 0x54, 0xeb, 0xc3, 0xf6, 0xf4, 0x8b, 0x0f, 0xf5, + 0x5b, 0x27, 0xf6, 0xdf, 0x23, 0x94, 0xf2, 0x85, 0x60, 0x37, 0xde, 0xde, 0xfb, 0xc5, 0x24, 0x4c, + 0x68, 0x1d, 0xdd, 0x30, 0xcf, 0xd0, 0x7f, 0xf9, 0x9e, 0x4b, 0xd1, 0xc2, 0x08, 0x87, 0x92, 0xe7, + 0xd9, 0x56, 0x88, 0x96, 0x98, 0x3f, 0xfd, 0xf1, 0x8f, 0xa6, 0xfc, 0xed, 0xb2, 0xb0, 0x02, 0x92, + 0xb8, 0x70, 0x88, 0x8d, 0xa6, 0xd9, 0x1a, 0x29, 0x4b, 0xf1, 0x2d, 0x41, 0x43, 0xe4, 0xb7, 0xea, + 0x1c, 0x75, 0xe1, 0x1d, 0x90, 0xf5, 0xc8, 0x44, 0x79, 0x26, 0x82, 0x88, 0x87, 0x41, 0xfc, 0x12, + 0xb6, 0x33, 0x47, 0xf1, 0x42, 0xdf, 0x10, 0xf8, 0x6c, 0x87, 0xae, 0x92, 0xd9, 0x5c, 0x82, 0x62, + 0xcb, 0x34, 0x5c, 0xd5, 0xec, 0xe8, 0x2e, 0xee, 0x58, 0x6e, 0xa4, 0x5f, 0xf7, 0xe7, 0x8c, 0x48, + 0x56, 0x29, 0x10, 0xbc, 0x35, 0x81, 0x46, 0x46, 0xc2, 0xbe, 0x29, 0x1a, 0x65, 0x24, 0xff, 0xdd, + 0x1b, 0x09, 0xc5, 0x21, 0x23, 0xb9, 0x23, 0xe9, 0x70, 0x5a, 0xd7, 0xb9, 0x32, 0x77, 0xf7, 0x98, + 0x14, 0x78, 0xd2, 0xf1, 0xc7, 0x09, 0x98, 0xe1, 0xc0, 0x5b, 0x9a, 0x83, 0xcf, 0xdc, 0x78, 0x6c, + 0x0b, 0xbb, 0xda, 0x63, 0x67, 0x9a, 0xa6, 0x2e, 0x2c, 0xf9, 0x24, 0x57, 0xd6, 0xa4, 0x7d, 0x9e, + 0xb7, 0x97, 0x07, 0x1e, 0x77, 0x97, 0x87, 0x2b, 0xf9, 0x72, 0xbf, 0x0c, 0xca, 0x2f, 0x42, 0xb2, + 0x66, 0xea, 0x06, 0xb1, 0x6d, 0x2d, 0x6c, 0x98, 0x1d, 0xae, 0x6e, 0x59, 0x01, 0x9d, 0x87, 0xb4, + 0xd6, 0x31, 0xbb, 0x86, 0xcb, 0x54, 0x6d, 0x75, 0xe6, 0x8b, 0xaf, 0xcd, 0x8e, 0xfd, 0xfb, 0xd7, + 0x66, 0x13, 0x4b, 0x86, 0xfb, 0x7b, 0x9f, 0x79, 0x04, 0x38, 0xf5, 0x25, 0xc3, 0xfd, 0xf8, 0xd7, + 0x3e, 0x79, 0x3a, 0xa6, 0x70, 0xe8, 0x85, 0xe4, 0xd7, 0x5f, 0x9d, 0x8d, 0xc9, 0xcf, 0x43, 0x66, + 0x11, 0x37, 0x0f, 0x20, 0xff, 0x58, 0x0f, 0xf9, 0x63, 0x82, 0xfc, 0x22, 0x6e, 0x06, 0xc8, 0x2f, + 0xe2, 0x66, 0x0f, 0xe5, 0x27, 0x21, 0xbb, 0x64, 0xb8, 0xec, 0x73, 0x87, 0x87, 0x20, 0xa1, 0x1b, + 0xec, 0x06, 0x6d, 0x80, 0x42, 0xdf, 0x00, 0x15, 0x02, 0x45, 0x10, 0x17, 0x71, 0xd3, 0x43, 0x6c, + 0xe1, 0x66, 0x2f, 0x62, 0x7f, 0xd7, 0x04, 0xaa, 0xba, 0xf8, 0xfb, 0xff, 0x79, 0x66, 0xec, 0x95, + 0xd7, 0x67, 0xc6, 0x86, 0x2e, 0xbd, 0x1c, 0xbd, 0xf4, 0xde, 0x8a, 0x7f, 0x34, 0x09, 0xf7, 0xd0, + 0xaf, 0xe0, 0xec, 0x8e, 0x6e, 0xb8, 0x67, 0x9a, 0xf6, 0xbe, 0xe5, 0x9a, 0x44, 0x01, 0x98, 0xdb, + 0x7c, 0xc1, 0x27, 0xfc, 0xe6, 0x79, 0xd6, 0x3c, 0x78, 0xb9, 0xe5, 0x6d, 0x48, 0xad, 0x13, 0x3c, + 0xc2, 0x62, 0xd7, 0x74, 0xb5, 0x36, 0xf7, 0x5a, 0x58, 0x81, 0xd4, 0xb2, 0x2f, 0xe7, 0xe2, 0xac, + 0x56, 0x17, 0x1f, 0xcd, 0xb5, 0xb1, 0xb6, 0xcd, 0x3e, 0x40, 0x48, 0x50, 0x77, 0x37, 0x4b, 0x2a, + 0xe8, 0xb7, 0x06, 0x53, 0x90, 0xd2, 0xba, 0xec, 0xe6, 0x4b, 0x82, 0xf8, 0xc1, 0xb4, 0x20, 0x5f, + 0x85, 0x0c, 0x3f, 0x7f, 0x47, 0x12, 0x24, 0xae, 0xe3, 0x7d, 0xda, 0xcf, 0xb8, 0x42, 0x7e, 0xa2, + 0x79, 0x48, 0xd1, 0xc1, 0xf3, 0x2f, 0xab, 0xa6, 0xe7, 0xfb, 0x46, 0x3f, 0x4f, 0x07, 0xa9, 0x30, + 0x30, 0xf9, 0x0a, 0x64, 0x17, 0x4d, 0x22, 0x85, 0x61, 0x6a, 0x39, 0x46, 0x8d, 0x8e, 0xd9, 0xea, + 0x72, 0xa9, 0x50, 0x58, 0x01, 0x1d, 0x81, 0x34, 0xfb, 0x20, 0x85, 0xdf, 0xde, 0xe1, 0x25, 0xb9, + 0x06, 0x19, 0x4a, 0x7b, 0xcd, 0x22, 0x2e, 0x83, 0x77, 0xf7, 0x37, 0xc7, 0x3f, 0x4f, 0xe4, 0xe4, + 0xe3, 0xfe, 0x60, 0x11, 0x24, 0x5b, 0x9a, 0xab, 0xf1, 0x79, 0xd3, 0xdf, 0xf2, 0x3b, 0x21, 0xcb, + 0x89, 0x38, 0xe8, 0x2c, 0x24, 0x4c, 0xcb, 0xe1, 0xf7, 0x6f, 0xca, 0xc3, 0xa6, 0xb2, 0x66, 0x55, + 0x93, 0x44, 0x66, 0x14, 0x02, 0x5c, 0x5d, 0x1d, 0x2a, 0x16, 0x4f, 0x84, 0xc4, 0xa2, 0x83, 0xdd, + 0xad, 0x6d, 0xd7, 0xff, 0xc1, 0x96, 0xb3, 0x4f, 0x14, 0x3c, 0x41, 0xb9, 0x1d, 0x87, 0x99, 0x40, + 0xeb, 0x0d, 0x6c, 0x3b, 0xba, 0x69, 0x30, 0x69, 0xe2, 0x92, 0x82, 0x02, 0x03, 0xe4, 0xed, 0x43, + 0x44, 0xe5, 0x19, 0x48, 0x54, 0x2c, 0x0b, 0x95, 0x21, 0x4b, 0xcb, 0x4d, 0x93, 0xc9, 0x4a, 0x52, + 0xf1, 0xca, 0xa4, 0xcd, 0x31, 0xb7, 0xdd, 0x9b, 0x9a, 0xed, 0x7d, 0xaf, 0x29, 0xca, 0xf2, 0xd3, + 0x90, 0xab, 0x99, 0x86, 0x83, 0x0d, 0xa7, 0x4b, 0x7d, 0xe1, 0xad, 0xb6, 0xd9, 0xbc, 0xce, 0x29, + 0xb0, 0x02, 0x61, 0xb6, 0x66, 0x59, 0x14, 0x33, 0xa9, 0x90, 0x9f, 0x6c, 0xbf, 0x56, 0xd7, 0x86, + 0xb2, 0xe7, 0xdc, 0xe1, 0xd8, 0xc3, 0x27, 0xe8, 0x3b, 0xb5, 0x31, 0xb8, 0xbb, 0x7f, 0x23, 0x5d, + 0xc7, 0xfb, 0xce, 0x61, 0xf7, 0xd1, 0xf3, 0x90, 0x5b, 0xa7, 0x0f, 0x26, 0x5c, 0xc5, 0xfb, 0xa8, + 0x0c, 0x19, 0xdc, 0x3a, 0x7b, 0xee, 0xdc, 0x63, 0x4f, 0x33, 0x29, 0xbf, 0x3c, 0xa6, 0x88, 0x0a, + 0x34, 0x03, 0x39, 0x07, 0x37, 0xad, 0xb3, 0xe7, 0xce, 0x5f, 0x7f, 0x8c, 0x89, 0xd5, 0xe5, 0x31, + 0xc5, 0xaf, 0x5a, 0xc8, 0x92, 0x19, 0x7f, 0xfd, 0xc3, 0xb3, 0xb1, 0x6a, 0x0a, 0x12, 0x4e, 0xb7, + 0xf3, 0x96, 0xc9, 0xc6, 0xcf, 0xa6, 0x60, 0x2e, 0xd0, 0xca, 0x8c, 0xcb, 0x0d, 0xad, 0xad, 0xb7, + 0x34, 0xff, 0x99, 0x0b, 0x29, 0x30, 0x7f, 0x0a, 0x31, 0xc4, 0x6a, 0x1c, 0xc8, 0x45, 0xf9, 0x53, + 0x31, 0x18, 0xbf, 0x26, 0x28, 0x37, 0xb0, 0x8b, 0x2e, 0x00, 0x78, 0x3d, 0x89, 0xad, 0x72, 0x7c, + 0xbe, 0xb7, 0xaf, 0x79, 0x0f, 0x47, 0x09, 0x80, 0xa3, 0x27, 0xa9, 0x00, 0x5a, 0xa6, 0xc3, 0xbf, + 0xdd, 0x8b, 0x40, 0xf5, 0x80, 0xd1, 0xc3, 0x80, 0xa8, 0x56, 0x53, 0x6f, 0x98, 0xae, 0x6e, 0xec, + 0xa8, 0x96, 0x79, 0x93, 0x7f, 0x11, 0x9d, 0x50, 0x24, 0xda, 0x72, 0x8d, 0x36, 0xac, 0x93, 0x7a, + 0x32, 0xe8, 0x9c, 0x47, 0x85, 0x84, 0x75, 0x5a, 0xab, 0x65, 0x63, 0xc7, 0xe1, 0x8a, 0x4b, 0x14, + 0xd1, 0x05, 0xc8, 0x58, 0xdd, 0x2d, 0x55, 0x68, 0x89, 0xfc, 0xd9, 0xbb, 0x07, 0xed, 0x79, 0x21, + 0x1b, 0x7c, 0xd7, 0xa7, 0xad, 0xee, 0x16, 0x91, 0x94, 0x7b, 0x61, 0x7c, 0xc0, 0x60, 0xf2, 0x37, + 0xfc, 0x71, 0xd0, 0x37, 0x3a, 0xf8, 0x0c, 0x54, 0xcb, 0xd6, 0x4d, 0x5b, 0x77, 0xf7, 0xe9, 0xc5, + 0xb9, 0x84, 0x22, 0x89, 0x86, 0x75, 0x5e, 0x2f, 0x5f, 0x87, 0x52, 0x83, 0xba, 0xfb, 0xfe, 0xc8, + 0xcf, 0xf9, 0xe3, 0x8b, 0x45, 0x8f, 0x6f, 0xe8, 0xc8, 0xe2, 0x7d, 0x23, 0xab, 0xae, 0x0c, 0x95, + 0xcc, 0xc7, 0x0f, 0x27, 0x99, 0x61, 0xeb, 0xf6, 0x87, 0xc7, 0x42, 0x9b, 0x92, 0x7b, 0x3d, 0x01, + 0x95, 0x35, 0xaa, 0x50, 0x46, 0x45, 0xf2, 0xe5, 0x83, 0x8d, 0x68, 0x39, 0x42, 0x75, 0x96, 0x23, + 0xb7, 0x8f, 0xfc, 0x34, 0x14, 0xd6, 0x35, 0xdb, 0x6d, 0x60, 0xf7, 0x32, 0xd6, 0x5a, 0xd8, 0x0e, + 0x5b, 0xd9, 0x82, 0xb0, 0xb2, 0x08, 0x92, 0xd4, 0x94, 0x32, 0x2b, 0x43, 0x7f, 0xcb, 0xbb, 0x90, + 0xa4, 0x17, 0x67, 0x3d, 0x0b, 0xcc, 0x31, 0x98, 0x05, 0x26, 0xfa, 0x73, 0xdf, 0xc5, 0x8e, 0x48, + 0x36, 0xd1, 0x02, 0x7a, 0x42, 0xd8, 0xd1, 0xc4, 0xc1, 0x76, 0x94, 0x0b, 0x21, 0xb7, 0xa6, 0x6d, + 0xc8, 0x54, 0x89, 0xfa, 0x5d, 0x5a, 0xf4, 0x06, 0x12, 0xf3, 0x07, 0x82, 0x56, 0xa0, 0x64, 0x69, + 0xb6, 0x4b, 0xbf, 0x39, 0xda, 0xa5, 0xb3, 0xe0, 0x72, 0x3e, 0xdb, 0xbf, 0xeb, 0x42, 0x93, 0xe5, + 0xbd, 0x14, 0xac, 0x60, 0xa5, 0xfc, 0x5f, 0x92, 0x90, 0xe6, 0xcc, 0x78, 0x06, 0x32, 0x9c, 0xad, + 0x5c, 0x32, 0xef, 0x99, 0xef, 0x37, 0x46, 0xf3, 0x9e, 0xd1, 0xe0, 0xf4, 0x04, 0x0e, 0x7a, 0x10, + 0xb2, 0xcd, 0x5d, 0x4d, 0x37, 0x54, 0xbd, 0xc5, 0x1d, 0xc0, 0xfc, 0xeb, 0xaf, 0xcd, 0x66, 0x6a, + 0xa4, 0x6e, 0x69, 0x51, 0xc9, 0xd0, 0xc6, 0xa5, 0x16, 0xb1, 0xfc, 0xbb, 0x58, 0xdf, 0xd9, 0x75, + 0xf9, 0xee, 0xe2, 0x25, 0xf4, 0x14, 0x24, 0x89, 0x40, 0xf0, 0x2f, 0x52, 0xcb, 0x7d, 0x7e, 0xbc, + 0x97, 0x68, 0xa9, 0x66, 0x49, 0xc7, 0xef, 0xff, 0x4f, 0xb3, 0x31, 0x85, 0x62, 0xa0, 0x1a, 0x14, + 0xda, 0x9a, 0xe3, 0xaa, 0xd4, 0x6a, 0x91, 0xee, 0x53, 0x94, 0xc4, 0xb1, 0x7e, 0x86, 0x70, 0xc6, + 0xf2, 0xa1, 0xe7, 0x09, 0x16, 0xab, 0x6a, 0xa1, 0x93, 0x20, 0x51, 0x22, 0x4d, 0xb3, 0xd3, 0xd1, + 0x5d, 0xe6, 0x4b, 0xa5, 0x29, 0xdf, 0x8b, 0xa4, 0xbe, 0x46, 0xab, 0xa9, 0x47, 0x75, 0x1c, 0x72, + 0xf4, 0x1b, 0x38, 0x0a, 0xc2, 0x6e, 0x6b, 0x67, 0x49, 0x05, 0x6d, 0x3c, 0x01, 0x25, 0x5f, 0x37, + 0x32, 0x90, 0x2c, 0xa3, 0xe2, 0x57, 0x53, 0xc0, 0x47, 0x61, 0xca, 0xc0, 0x7b, 0xf4, 0xfe, 0x78, + 0x08, 0x3a, 0x47, 0xa1, 0x11, 0x69, 0xbb, 0x16, 0xc6, 0x78, 0x00, 0x8a, 0x4d, 0xc1, 0x7c, 0x06, + 0x0b, 0x14, 0xb6, 0xe0, 0xd5, 0x52, 0xb0, 0x63, 0x90, 0xd5, 0x2c, 0x8b, 0x01, 0xe4, 0xb9, 0x6e, + 0xb4, 0x2c, 0xda, 0x74, 0x1a, 0x26, 0xe8, 0x1c, 0x6d, 0xec, 0x74, 0xdb, 0x2e, 0x27, 0x32, 0x4e, + 0x61, 0x4a, 0xa4, 0x41, 0x61, 0xf5, 0x14, 0xf6, 0x3e, 0x28, 0xe0, 0x1b, 0x7a, 0x0b, 0x1b, 0x4d, + 0xcc, 0xe0, 0x0a, 0x14, 0x6e, 0x5c, 0x54, 0x52, 0xa0, 0x53, 0xe0, 0xe9, 0x3c, 0x55, 0xe8, 0xe3, + 0x22, 0xa3, 0x27, 0xea, 0x2b, 0xac, 0x5a, 0x9e, 0x86, 0xe4, 0xa2, 0xe6, 0x6a, 0xc4, 0xa9, 0x70, + 0xf7, 0x98, 0x91, 0x19, 0x57, 0xc8, 0x4f, 0xf9, 0xeb, 0x71, 0x48, 0x5e, 0x33, 0x5d, 0x8c, 0x1e, + 0x0f, 0x38, 0x7c, 0xc5, 0x41, 0xf2, 0xdc, 0xd0, 0x77, 0x0c, 0xdc, 0x5a, 0x71, 0x76, 0x02, 0x0f, + 0x56, 0xf8, 0xe2, 0x14, 0x0f, 0x89, 0xd3, 0x14, 0xa4, 0x6c, 0xb3, 0x6b, 0xb4, 0xc4, 0x45, 0x67, + 0x5a, 0x40, 0x75, 0xc8, 0x7a, 0x52, 0x92, 0x8c, 0x92, 0x92, 0x12, 0x91, 0x12, 0x22, 0xc3, 0xbc, + 0x42, 0xc9, 0x6c, 0x71, 0x61, 0xa9, 0x42, 0xce, 0x53, 0x5e, 0x5c, 0xda, 0x46, 0x13, 0x58, 0x1f, + 0x8d, 0x18, 0x12, 0x6f, 0xed, 0x3d, 0xe6, 0x31, 0x89, 0x93, 0xbc, 0x06, 0xce, 0xbd, 0x90, 0x58, + 0xf1, 0xc7, 0x33, 0x32, 0x74, 0x5e, 0xbe, 0x58, 0xb1, 0x07, 0x34, 0xee, 0x86, 0x9c, 0xa3, 0xef, + 0x18, 0x9a, 0xdb, 0xb5, 0x31, 0x97, 0x3c, 0xbf, 0x42, 0xfe, 0x42, 0x0c, 0xd2, 0x4c, 0x92, 0x03, + 0x7c, 0x8b, 0x0d, 0xe6, 0x5b, 0x7c, 0x18, 0xdf, 0x12, 0x77, 0xce, 0xb7, 0x0a, 0x80, 0x37, 0x18, + 0x87, 0xbf, 0x69, 0x30, 0xc0, 0x5b, 0x60, 0x43, 0x6c, 0xe8, 0x3b, 0x7c, 0xa3, 0x06, 0x90, 0xe4, + 0xff, 0x18, 0x23, 0x8e, 0x2b, 0x6f, 0x47, 0x15, 0x28, 0x88, 0x71, 0xa9, 0xdb, 0x6d, 0x6d, 0x87, + 0xcb, 0xce, 0x3d, 0x43, 0x07, 0x77, 0xb1, 0xad, 0xed, 0x28, 0x79, 0x3e, 0x1e, 0x52, 0x18, 0xbc, + 0x0e, 0xf1, 0x21, 0xeb, 0x10, 0x5a, 0xf8, 0xc4, 0x9d, 0x2d, 0x7c, 0x68, 0x89, 0x92, 0xbd, 0x4b, + 0xf4, 0xe9, 0x38, 0x0d, 0x5e, 0x2c, 0xd3, 0xd1, 0xda, 0x6f, 0xc7, 0x8e, 0x38, 0x0e, 0x39, 0xcb, + 0x6c, 0xab, 0xac, 0x85, 0x7d, 0x00, 0x90, 0xb5, 0xcc, 0xb6, 0xd2, 0xb7, 0xec, 0xa9, 0x37, 0x69, + 0xbb, 0xa4, 0xdf, 0x04, 0xae, 0x65, 0x7a, 0xb9, 0x66, 0xc3, 0x38, 0x63, 0x05, 0xb7, 0x65, 0x8f, + 0x12, 0x1e, 0x50, 0xe3, 0x18, 0xeb, 0xb7, 0xbd, 0x6c, 0xd8, 0x0c, 0x52, 0xe1, 0x70, 0x04, 0x83, + 0xa9, 0xfe, 0x41, 0x51, 0x6f, 0x50, 0x2c, 0x15, 0x0e, 0x27, 0xff, 0x6c, 0x0c, 0x60, 0x99, 0x70, + 0x96, 0xce, 0x97, 0x58, 0x21, 0x87, 0x0e, 0x41, 0x0d, 0xf5, 0x3c, 0x33, 0x6c, 0xd1, 0x78, 0xff, + 0xe3, 0x4e, 0x70, 0xdc, 0x35, 0x28, 0xf8, 0xc2, 0xe8, 0x60, 0x31, 0x98, 0x99, 0x03, 0x3c, 0xea, + 0x06, 0x76, 0x95, 0xf1, 0x1b, 0x81, 0x92, 0xfc, 0x4f, 0x62, 0x90, 0xa3, 0x63, 0x5a, 0xc1, 0xae, + 0x16, 0x5a, 0xc3, 0xd8, 0x9d, 0xaf, 0xe1, 0x3d, 0x00, 0x8c, 0x8c, 0xa3, 0xbf, 0x8c, 0xb9, 0x64, + 0xe5, 0x68, 0x4d, 0x43, 0x7f, 0x19, 0xa3, 0xf3, 0x1e, 0xc3, 0x13, 0x07, 0x33, 0x5c, 0x78, 0xdc, + 0x9c, 0xed, 0x47, 0x21, 0x43, 0xdf, 0x00, 0xdb, 0x73, 0xb8, 0x13, 0x9d, 0x36, 0xba, 0x9d, 0x8d, + 0x3d, 0x47, 0x7e, 0x09, 0x32, 0x1b, 0x7b, 0x2c, 0x17, 0x72, 0x1c, 0x72, 0xb6, 0x69, 0x72, 0x9b, + 0xcc, 0x7c, 0xa1, 0x2c, 0xa9, 0xa0, 0x26, 0x48, 0xc4, 0xff, 0x71, 0x3f, 0xfe, 0xf7, 0x13, 0x18, + 0x89, 0x91, 0x12, 0x18, 0xa7, 0xff, 0x5d, 0x0c, 0xf2, 0x01, 0xfd, 0x80, 0x1e, 0x83, 0xbb, 0xaa, + 0xcb, 0x6b, 0xb5, 0xab, 0xea, 0xd2, 0xa2, 0x7a, 0x71, 0xb9, 0x72, 0xc9, 0xff, 0xc4, 0xad, 0x7c, + 0xe4, 0xd6, 0xed, 0x39, 0x14, 0x80, 0xdd, 0x34, 0xe8, 0x69, 0x0e, 0x3a, 0x03, 0x53, 0x61, 0x94, + 0x4a, 0xb5, 0x51, 0x5f, 0xdd, 0x90, 0x62, 0xe5, 0xbb, 0x6e, 0xdd, 0x9e, 0x9b, 0x08, 0x60, 0x54, + 0xb6, 0x1c, 0x6c, 0xb8, 0xfd, 0x08, 0xb5, 0xb5, 0x95, 0x95, 0xa5, 0x0d, 0x29, 0xde, 0x87, 0xc0, + 0x15, 0xf6, 0x29, 0x98, 0x08, 0x23, 0xac, 0x2e, 0x2d, 0x4b, 0x89, 0x32, 0xba, 0x75, 0x7b, 0xae, + 0x18, 0x80, 0x5e, 0xd5, 0xdb, 0xe5, 0xec, 0xfb, 0x3e, 0x32, 0x33, 0xf6, 0xf1, 0xbf, 0x3b, 0x13, + 0x23, 0x33, 0x2b, 0x84, 0x74, 0x04, 0x7a, 0x18, 0x8e, 0x36, 0x96, 0x2e, 0xad, 0xd6, 0x17, 0xd5, + 0x95, 0xc6, 0x25, 0x71, 0x1e, 0x22, 0x66, 0x57, 0xba, 0x75, 0x7b, 0x2e, 0xcf, 0xa7, 0x34, 0x0c, + 0x7a, 0x5d, 0xa9, 0x5f, 0x5b, 0xdb, 0xa8, 0x4b, 0x31, 0x06, 0xbd, 0x6e, 0xe3, 0x1b, 0xa6, 0xcb, + 0x1e, 0x09, 0x7c, 0x14, 0x8e, 0x0d, 0x80, 0xf6, 0x26, 0x36, 0x71, 0xeb, 0xf6, 0x5c, 0x61, 0xdd, + 0xc6, 0x6c, 0xff, 0x50, 0x8c, 0x79, 0x98, 0xee, 0xc7, 0x58, 0x5b, 0x5f, 0x6b, 0x54, 0x96, 0xa5, + 0xb9, 0xb2, 0x74, 0xeb, 0xf6, 0xdc, 0xb8, 0x50, 0x86, 0x04, 0xde, 0x9f, 0xd9, 0x5b, 0x15, 0xed, + 0xfc, 0x68, 0x26, 0x94, 0xcb, 0x63, 0x71, 0x84, 0xa5, 0xd9, 0x5a, 0xe7, 0xb0, 0xe1, 0x4e, 0xc4, + 0x71, 0xae, 0xfc, 0x4a, 0x1c, 0x4a, 0x9e, 0x33, 0xbd, 0x4e, 0x7b, 0x40, 0x8f, 0x07, 0xf3, 0x30, + 0xf9, 0xa1, 0x66, 0x8c, 0x41, 0x8b, 0x34, 0xcd, 0x3b, 0x20, 0x2b, 0x9c, 0x32, 0xae, 0x2e, 0xe6, + 0xfa, 0xf1, 0xea, 0x1c, 0x82, 0xa3, 0x7a, 0x18, 0xe8, 0x59, 0xc8, 0x79, 0xca, 0xc3, 0x7b, 0x62, + 0x67, 0xb8, 0xb6, 0xe1, 0xf8, 0x3e, 0x0e, 0x7a, 0xda, 0x0f, 0x1b, 0x92, 0xc3, 0x02, 0x91, 0x6b, + 0x0c, 0x80, 0x23, 0x0b, 0x78, 0x79, 0x89, 0x6f, 0x3b, 0x3e, 0x7b, 0xfa, 0x3c, 0xc1, 0x9e, 0xca, + 0x22, 0x29, 0xe6, 0x95, 0x64, 0x3b, 0xda, 0x5e, 0x95, 0x06, 0x53, 0x47, 0x21, 0x43, 0x1a, 0x77, + 0xf8, 0xd7, 0xd7, 0x09, 0x25, 0xdd, 0xd1, 0xf6, 0x2e, 0x69, 0xce, 0x95, 0x64, 0x36, 0x21, 0x25, + 0xe5, 0x4f, 0xc4, 0xa0, 0x18, 0x9e, 0x23, 0x7a, 0x08, 0x10, 0xc1, 0xd0, 0x76, 0xb0, 0x4a, 0x54, + 0x0c, 0x65, 0x96, 0xa0, 0x5b, 0xea, 0x68, 0x7b, 0x95, 0x1d, 0xbc, 0xda, 0xed, 0xd0, 0x01, 0x38, + 0x68, 0x05, 0x24, 0x01, 0x2c, 0xd6, 0x89, 0x33, 0xf3, 0x58, 0xff, 0x83, 0x7b, 0x1c, 0x80, 0x19, + 0xaa, 0x0f, 0x10, 0x43, 0x55, 0x64, 0xf4, 0xbc, 0xe3, 0xf8, 0xd0, 0x54, 0x12, 0xe1, 0xa9, 0xc8, + 0xcf, 0x42, 0xa9, 0x87, 0x9f, 0x48, 0x86, 0x02, 0xcf, 0x0a, 0xd0, 0xa3, 0x4e, 0xe6, 0x1f, 0xe7, + 0x94, 0x3c, 0x8b, 0xfe, 0xe9, 0xd1, 0xef, 0x42, 0xf6, 0xf3, 0xaf, 0xce, 0xc6, 0x68, 0xc2, 0xfc, + 0x21, 0x28, 0x84, 0x38, 0x2a, 0x32, 0x75, 0x31, 0x3f, 0x53, 0xe7, 0x03, 0xbf, 0x08, 0xe3, 0x44, + 0x51, 0xe2, 0x16, 0x87, 0x7d, 0x10, 0x4a, 0x4c, 0x91, 0xf7, 0xf2, 0x9a, 0x79, 0x52, 0x2b, 0x82, + 0xe1, 0xb2, 0x70, 0xad, 0xc2, 0x6c, 0xcf, 0x0b, 0xa8, 0x4b, 0x9a, 0x53, 0x7d, 0xd7, 0xc7, 0x5f, + 0x9f, 0x89, 0xbd, 0x35, 0x1b, 0xf1, 0xcb, 0xef, 0x82, 0xe3, 0x81, 0x46, 0x6d, 0xab, 0xa9, 0x87, + 0xb2, 0x0e, 0xa5, 0x80, 0x90, 0x91, 0xc6, 0xa8, 0xec, 0xc1, 0x81, 0x39, 0x8c, 0x83, 0x13, 0x66, + 0xe5, 0x83, 0x35, 0x42, 0x74, 0x62, 0x63, 0x70, 0x8e, 0xf2, 0xff, 0x66, 0x21, 0xa3, 0xe0, 0xf7, + 0x74, 0xb1, 0xe3, 0xa2, 0xb3, 0x90, 0xc4, 0xcd, 0x5d, 0x73, 0x50, 0x4a, 0x88, 0x4c, 0x6e, 0x9e, + 0xc3, 0xd5, 0x9b, 0xbb, 0xe6, 0xe5, 0x31, 0x85, 0xc2, 0xa2, 0x73, 0x90, 0xda, 0x6e, 0x77, 0x79, + 0x9e, 0xa2, 0x47, 0x59, 0x04, 0x91, 0x2e, 0x12, 0xa0, 0xcb, 0x63, 0x0a, 0x83, 0x26, 0x5d, 0xd1, + 0xa7, 0x4b, 0x13, 0x07, 0x77, 0xb5, 0x64, 0x6c, 0xd3, 0xae, 0x08, 0x2c, 0xaa, 0x02, 0xe8, 0x86, + 0xee, 0xaa, 0x34, 0x86, 0xe7, 0x9e, 0xe0, 0xbd, 0xc3, 0x31, 0x75, 0x97, 0x46, 0xfd, 0x97, 0xc7, + 0x94, 0x9c, 0x2e, 0x0a, 0x64, 0xb8, 0xef, 0xe9, 0x62, 0x7b, 0x9f, 0x3b, 0x80, 0x43, 0x87, 0xfb, + 0x2e, 0x02, 0x44, 0x86, 0x4b, 0xa1, 0x51, 0x1d, 0xf2, 0xf4, 0x1b, 0x55, 0xb6, 0x7f, 0xf9, 0x33, + 0x9a, 0xf2, 0x30, 0xe4, 0x2a, 0x01, 0xa5, 0x5b, 0xfa, 0xf2, 0x98, 0x02, 0x5b, 0x5e, 0x89, 0x28, + 0x49, 0xf6, 0xcc, 0x92, 0xbb, 0xc7, 0x1f, 0x0f, 0x9c, 0x1d, 0x46, 0x83, 0xbe, 0xb5, 0xb4, 0xb1, + 0x77, 0x79, 0x4c, 0xc9, 0x34, 0xd9, 0x4f, 0x32, 0xff, 0x16, 0x6e, 0xeb, 0x37, 0xb0, 0x4d, 0xf0, + 0x73, 0x07, 0xcf, 0x7f, 0x91, 0x41, 0x52, 0x0a, 0xb9, 0x96, 0x28, 0x10, 0x45, 0x8b, 0x8d, 0x16, + 0x9f, 0x06, 0xf4, 0xeb, 0xe9, 0xd0, 0x3a, 0x1b, 0x2d, 0x31, 0x89, 0x2c, 0xe6, 0xbf, 0xd1, 0x53, + 0x9e, 0x87, 0x9a, 0xef, 0x77, 0x0a, 0x43, 0x13, 0x60, 0xb9, 0x8a, 0x31, 0xe1, 0xa9, 0xa2, 0x55, + 0x28, 0xb6, 0x75, 0xc7, 0x55, 0x1d, 0x43, 0xb3, 0x9c, 0x5d, 0xd3, 0x75, 0x68, 0xd0, 0x9f, 0x3f, + 0xfb, 0xc0, 0x30, 0x0a, 0xcb, 0xba, 0xe3, 0x36, 0x04, 0xf0, 0xe5, 0x31, 0xa5, 0xd0, 0x0e, 0x56, + 0x10, 0x7a, 0xe6, 0xf6, 0x36, 0xb6, 0x3d, 0x82, 0x34, 0x39, 0x70, 0x00, 0xbd, 0x35, 0x02, 0x2d, + 0xf0, 0x09, 0x3d, 0x33, 0x58, 0x81, 0xbe, 0x17, 0x26, 0xdb, 0xa6, 0xd6, 0xf2, 0xc8, 0xa9, 0xcd, + 0xdd, 0xae, 0x71, 0x9d, 0x66, 0x12, 0xf2, 0x67, 0x4f, 0x0d, 0x1d, 0xa4, 0xa9, 0xb5, 0x04, 0x89, + 0x1a, 0x41, 0xb8, 0x3c, 0xa6, 0x4c, 0xb4, 0x7b, 0x2b, 0xd1, 0xbb, 0x61, 0x4a, 0xb3, 0xac, 0xf6, + 0x7e, 0x2f, 0xf5, 0x12, 0xa5, 0x7e, 0x7a, 0x18, 0xf5, 0x0a, 0xc1, 0xe9, 0x25, 0x8f, 0xb4, 0xbe, + 0x5a, 0xb4, 0x01, 0x92, 0x65, 0x63, 0xfa, 0x51, 0x8d, 0xc5, 0x5d, 0x15, 0xfa, 0x32, 0x56, 0xfe, + 0xec, 0x89, 0x61, 0xb4, 0xd7, 0x19, 0xbc, 0xf0, 0x6c, 0x2e, 0x8f, 0x29, 0x25, 0x2b, 0x5c, 0xc5, + 0xa8, 0x9a, 0x4d, 0x4c, 0x5f, 0x6f, 0xe2, 0x54, 0x27, 0xa2, 0xa8, 0x52, 0xf8, 0x30, 0xd5, 0x50, + 0x55, 0x35, 0xc3, 0x2f, 0xc5, 0xf1, 0xa7, 0x55, 0x4e, 0x40, 0x3e, 0xa0, 0x58, 0xd0, 0x34, 0x64, + 0xf8, 0x25, 0x01, 0x71, 0x99, 0x8e, 0x17, 0xe5, 0x22, 0x8c, 0x07, 0x95, 0x89, 0xfc, 0xfe, 0x98, + 0x87, 0x49, 0xbf, 0x75, 0x9f, 0x0e, 0xa7, 0x0e, 0x73, 0x7e, 0x56, 0xf0, 0x3e, 0x61, 0x45, 0x44, + 0x3b, 0x3b, 0x4d, 0x1a, 0xa7, 0x95, 0xdc, 0x88, 0xa1, 0x59, 0xc8, 0x5b, 0x67, 0x2d, 0x0f, 0x24, + 0x41, 0x41, 0xc0, 0x3a, 0x6b, 0x09, 0x80, 0x7b, 0x61, 0x9c, 0xcc, 0x54, 0x0d, 0x3a, 0x1a, 0x39, + 0x25, 0x4f, 0xea, 0x38, 0x88, 0xfc, 0xaf, 0xe2, 0x20, 0xf5, 0x2a, 0x20, 0x2f, 0xa7, 0x18, 0x3b, + 0x74, 0x4e, 0xf1, 0x58, 0x6f, 0x36, 0xd3, 0x4f, 0x60, 0x2e, 0x83, 0xe4, 0xe7, 0xe1, 0x98, 0x21, + 0x18, 0xee, 0x38, 0xf5, 0x78, 0x78, 0x4a, 0xa9, 0xd9, 0xe3, 0xf2, 0x5d, 0x0c, 0x9d, 0xbd, 0x88, + 0xb7, 0xb9, 0x7b, 0x97, 0xd8, 0xf3, 0x17, 0x36, 0xad, 0x96, 0xe6, 0x62, 0x91, 0x17, 0x09, 0x1c, + 0xc3, 0x3c, 0x08, 0x25, 0xcd, 0xb2, 0x54, 0xc7, 0xd5, 0x5c, 0xcc, 0xcd, 0x7a, 0x8a, 0xa5, 0x07, + 0x35, 0xcb, 0x6a, 0x90, 0x5a, 0x66, 0xd6, 0x1f, 0x80, 0x22, 0xd1, 0xc9, 0xba, 0xd6, 0x56, 0x79, + 0x96, 0x20, 0xcd, 0xac, 0x3f, 0xaf, 0xbd, 0x4c, 0x2b, 0xe5, 0x96, 0xb7, 0xe2, 0x54, 0x1f, 0x7b, + 0x61, 0x56, 0x2c, 0x10, 0x66, 0x21, 0xfe, 0x08, 0x01, 0xe3, 0x8f, 0x78, 0xb7, 0x61, 0x70, 0x76, + 0x77, 0x8a, 0x86, 0x64, 0x37, 0x58, 0xc2, 0x23, 0xab, 0xb0, 0x82, 0xfc, 0xde, 0x38, 0x4c, 0xf4, + 0x69, 0xee, 0x81, 0x69, 0x6f, 0x3f, 0xbe, 0x8c, 0x1f, 0x2a, 0xbe, 0xbc, 0x1a, 0x4e, 0xeb, 0x06, + 0x2c, 0xdf, 0xf1, 0x3e, 0x26, 0x33, 0xbd, 0x49, 0x04, 0x9a, 0x13, 0x09, 0x64, 0x7e, 0xa9, 0x98, + 0x6f, 0xc2, 0xd4, 0xd6, 0xfe, 0xcb, 0x9a, 0xe1, 0xea, 0x06, 0x56, 0xfb, 0x56, 0xad, 0xdf, 0x94, + 0xae, 0xe8, 0xce, 0x16, 0xde, 0xd5, 0x6e, 0xe8, 0xa6, 0x18, 0xd6, 0xa4, 0x87, 0xef, 0x27, 0x77, + 0x65, 0x05, 0x8a, 0x61, 0xd3, 0x83, 0x8a, 0x10, 0x77, 0xf7, 0xf8, 0xfc, 0xe3, 0xee, 0x1e, 0x7a, + 0x94, 0xe7, 0x81, 0xe2, 0x34, 0x0f, 0xd4, 0xdf, 0x11, 0xc7, 0xf3, 0x93, 0x40, 0xb2, 0xec, 0xed, + 0x06, 0xcf, 0x1c, 0xf5, 0x52, 0x95, 0x4f, 0x41, 0xa9, 0xc7, 0xde, 0x0c, 0xcb, 0x0a, 0xca, 0x25, + 0x28, 0x84, 0x8c, 0x8b, 0x7c, 0x04, 0xa6, 0x06, 0xd9, 0x0a, 0x79, 0xd7, 0xab, 0x0f, 0xe9, 0x7c, + 0x74, 0x0e, 0xb2, 0x9e, 0xb1, 0x18, 0x90, 0x85, 0xa0, 0xb3, 0x10, 0xc0, 0x8a, 0x07, 0x1a, 0x4a, + 0x66, 0xc7, 0x43, 0xc9, 0x6c, 0xf9, 0x07, 0x60, 0x7a, 0x98, 0x21, 0xe8, 0x99, 0x46, 0xd2, 0x93, + 0xc2, 0x23, 0x90, 0xe6, 0x4f, 0xb4, 0xc5, 0xe9, 0xf1, 0x0d, 0x2f, 0x11, 0xe9, 0x64, 0x46, 0x21, + 0xc1, 0x4e, 0x75, 0x68, 0x41, 0x56, 0xe1, 0xd8, 0x50, 0x63, 0x30, 0xfc, 0x20, 0x88, 0x11, 0xe2, + 0x07, 0x41, 0x4d, 0x31, 0x1c, 0x87, 0xce, 0x55, 0x5c, 0x76, 0x60, 0x25, 0xf9, 0x03, 0x09, 0x38, + 0x32, 0xd8, 0x24, 0xa0, 0x39, 0x18, 0x27, 0x7e, 0xb7, 0x1b, 0x76, 0xd1, 0xa1, 0xa3, 0xed, 0x6d, + 0x70, 0xff, 0x9c, 0x27, 0xd2, 0xe3, 0x5e, 0x22, 0x1d, 0x6d, 0xc2, 0x44, 0xdb, 0x6c, 0x6a, 0x6d, + 0x35, 0x20, 0xf1, 0x5c, 0xd8, 0xef, 0xeb, 0x63, 0x76, 0x9d, 0x3d, 0xdc, 0xdc, 0xea, 0x13, 0xfa, + 0x12, 0xa5, 0xb1, 0xec, 0x49, 0x3e, 0x5a, 0x84, 0x7c, 0xc7, 0x17, 0xe4, 0x43, 0x08, 0x7b, 0x10, + 0x2d, 0xb0, 0x24, 0xa9, 0x81, 0xc7, 0x3e, 0xe9, 0x43, 0xab, 0xe8, 0x61, 0x27, 0x28, 0x99, 0xa1, + 0x27, 0x28, 0x83, 0x8e, 0x2b, 0xb2, 0x83, 0x8f, 0x2b, 0xde, 0x17, 0x5c, 0x9a, 0x90, 0x11, 0xed, + 0x3f, 0xc1, 0x40, 0x0d, 0x98, 0xe2, 0xf8, 0xad, 0x10, 0xef, 0xe3, 0xa3, 0x2a, 0x1a, 0x24, 0xd0, + 0x87, 0xb3, 0x3d, 0x71, 0x67, 0x6c, 0x17, 0xba, 0x34, 0x19, 0xd0, 0xa5, 0xff, 0x9f, 0x2d, 0xc5, + 0xbf, 0xc9, 0x41, 0x56, 0xc1, 0x8e, 0x45, 0x0c, 0x27, 0xaa, 0x42, 0x0e, 0xef, 0x35, 0xb1, 0xe5, + 0xfa, 0xc7, 0x94, 0x83, 0x82, 0x01, 0x06, 0x5d, 0x17, 0x90, 0xc4, 0x13, 0xf7, 0xd0, 0xd0, 0xe3, + 0x3c, 0xd8, 0x1a, 0x1e, 0x37, 0x71, 0xf4, 0x60, 0xb4, 0x75, 0x5e, 0x44, 0x5b, 0x89, 0xa1, 0xce, + 0x37, 0xc3, 0xea, 0x09, 0xb7, 0x1e, 0xe7, 0xe1, 0x56, 0x32, 0xa2, 0xb3, 0x50, 0xbc, 0x55, 0x0b, + 0xc5, 0x5b, 0xe9, 0x88, 0x69, 0x0e, 0x09, 0xb8, 0xce, 0x8b, 0x80, 0x2b, 0x13, 0x31, 0xe2, 0x9e, + 0x88, 0xeb, 0x62, 0x38, 0xe2, 0xca, 0x0e, 0x51, 0x20, 0x02, 0x7b, 0x68, 0xc8, 0xf5, 0x4c, 0x20, + 0xe4, 0xca, 0x0d, 0x8d, 0x77, 0x18, 0x91, 0x01, 0x31, 0x57, 0x2d, 0x14, 0x73, 0x41, 0x04, 0x0f, + 0x86, 0x04, 0x5d, 0xdf, 0x13, 0x0c, 0xba, 0xf2, 0x43, 0xe3, 0x36, 0xbe, 0xde, 0x83, 0xa2, 0xae, + 0xa7, 0xbd, 0xa8, 0x6b, 0x7c, 0x68, 0xd8, 0xc8, 0xe7, 0xd0, 0x1b, 0x76, 0xad, 0xf5, 0x85, 0x5d, + 0x05, 0xfe, 0x37, 0x11, 0x86, 0x91, 0x88, 0x88, 0xbb, 0xd6, 0xfa, 0xe2, 0xae, 0x62, 0x04, 0xc1, + 0x88, 0xc0, 0xeb, 0xfb, 0x06, 0x07, 0x5e, 0xc3, 0x43, 0x23, 0x3e, 0xcc, 0xd1, 0x22, 0x2f, 0x75, + 0x48, 0xe4, 0xc5, 0xa2, 0xa3, 0x87, 0x86, 0x92, 0x1f, 0x39, 0xf4, 0xda, 0x1c, 0x10, 0x7a, 0xb1, + 0x20, 0xe9, 0xe4, 0x50, 0xe2, 0x23, 0xc4, 0x5e, 0x9b, 0x03, 0x62, 0x2f, 0x14, 0x49, 0xf6, 0x30, + 0xc1, 0x57, 0x4a, 0x4a, 0xcb, 0xa7, 0x88, 0xeb, 0xdb, 0xa3, 0xa7, 0x88, 0xff, 0x80, 0x6d, 0xdb, + 0xb4, 0xc5, 0xcd, 0x5a, 0x5a, 0x90, 0x4f, 0x12, 0x67, 0xdc, 0xd7, 0x49, 0x07, 0x04, 0x6a, 0xd4, + 0x4f, 0x0b, 0xe8, 0x21, 0xf9, 0xf3, 0x31, 0x1f, 0x97, 0xfa, 0xb0, 0x41, 0x47, 0x3e, 0xc7, 0x1d, + 0xf9, 0x40, 0xf8, 0x16, 0x0f, 0x87, 0x6f, 0xb3, 0x90, 0x27, 0xfe, 0x57, 0x4f, 0x64, 0xa6, 0x59, + 0x5e, 0x64, 0x26, 0xae, 0x14, 0xb0, 0x20, 0x8f, 0x9b, 0x15, 0x76, 0x92, 0x53, 0xf2, 0xae, 0x57, + 0xb0, 0x98, 0x02, 0x3d, 0x02, 0x93, 0x01, 0x58, 0xcf, 0xaf, 0x63, 0x61, 0x8a, 0xe4, 0x41, 0x57, + 0xb8, 0x83, 0xf7, 0x4f, 0x63, 0x3e, 0x87, 0xfc, 0x90, 0x6e, 0x50, 0xf4, 0x15, 0x7b, 0x93, 0xa2, + 0xaf, 0xf8, 0x1d, 0x47, 0x5f, 0x41, 0x3f, 0x35, 0x11, 0xf6, 0x53, 0xff, 0x47, 0xcc, 0x5f, 0x13, + 0x2f, 0x96, 0x6a, 0x9a, 0x2d, 0xcc, 0x3d, 0x47, 0xfa, 0x9b, 0x38, 0x15, 0x6d, 0x73, 0x87, 0xfb, + 0x87, 0xe4, 0x27, 0x81, 0xf2, 0x0c, 0x47, 0x8e, 0xdb, 0x05, 0xcf, 0xe9, 0x4c, 0x05, 0xef, 0xff, + 0xf2, 0x4b, 0xb1, 0x69, 0xff, 0x52, 0xac, 0xf7, 0xf1, 0x5b, 0x26, 0xf0, 0xf1, 0x1b, 0x7a, 0x0a, + 0x72, 0x34, 0x23, 0xaa, 0x9a, 0x96, 0xf8, 0x0b, 0x1a, 0xc7, 0x87, 0x5f, 0x88, 0x75, 0xe8, 0x55, + 0x3d, 0x76, 0x89, 0xd6, 0xf7, 0x18, 0x72, 0x21, 0x8f, 0xe1, 0x6e, 0xc8, 0x91, 0xd1, 0xb3, 0x97, + 0xa0, 0x81, 0x7f, 0x39, 0x29, 0x2a, 0xe4, 0x77, 0x03, 0xea, 0x37, 0x12, 0xe8, 0x32, 0xa4, 0xf1, + 0x0d, 0xfa, 0xac, 0x1e, 0xbb, 0x68, 0x78, 0xa4, 0xdf, 0x35, 0x25, 0xcd, 0xd5, 0x69, 0xc2, 0xe4, + 0x6f, 0xbc, 0x36, 0x2b, 0x31, 0xe8, 0x87, 0xbd, 0x0f, 0x05, 0x14, 0x8e, 0x2f, 0xff, 0x87, 0x38, + 0x09, 0x60, 0x42, 0x06, 0x64, 0x20, 0x6f, 0x07, 0x1d, 0x11, 0x8e, 0xc6, 0xef, 0x19, 0x80, 0x1d, + 0xcd, 0x51, 0x6f, 0x6a, 0x86, 0x8b, 0x5b, 0x9c, 0xe9, 0x81, 0x1a, 0x54, 0x86, 0x2c, 0x29, 0x75, + 0x1d, 0xdc, 0xe2, 0x61, 0xb4, 0x57, 0x0e, 0xcc, 0x33, 0xf3, 0x9d, 0xcd, 0x33, 0xcc, 0xe5, 0x6c, + 0x0f, 0x97, 0x03, 0xc1, 0x45, 0x2e, 0x18, 0x5c, 0xb0, 0x8b, 0xc1, 0xfc, 0x7e, 0x22, 0xb0, 0xb1, + 0x89, 0x32, 0xba, 0x0f, 0x0a, 0x1d, 0xdc, 0xb1, 0x4c, 0xb3, 0xad, 0x32, 0x75, 0xc3, 0x9e, 0x7c, + 0x1f, 0xe7, 0x95, 0x75, 0xaa, 0x75, 0x7e, 0x24, 0xee, 0xef, 0x3f, 0x3f, 0x88, 0xfc, 0xae, 0x63, + 0xb0, 0xfc, 0xe3, 0x34, 0xb3, 0x14, 0x76, 0x11, 0x50, 0x23, 0x78, 0x6b, 0xa4, 0x4b, 0xd5, 0x82, + 0x10, 0xe8, 0x51, 0xf5, 0x87, 0x7f, 0xbb, 0x84, 0x55, 0x3b, 0xe8, 0x05, 0x38, 0xda, 0xa3, 0xdb, + 0x3c, 0xd2, 0xf1, 0x51, 0x55, 0xdc, 0x5d, 0x61, 0x15, 0x27, 0x48, 0xfb, 0xcc, 0x4a, 0x7c, 0x87, + 0xbb, 0x6e, 0x09, 0x8a, 0x61, 0x8f, 0x67, 0xe0, 0xf2, 0xd3, 0x3f, 0x31, 0xe2, 0x6a, 0xba, 0xa1, + 0x86, 0xd2, 0x41, 0xe3, 0xac, 0x92, 0x27, 0x99, 0xd6, 0xe1, 0xae, 0x81, 0x9e, 0x0f, 0x7a, 0x12, + 0x72, 0xbe, 0xd3, 0xc4, 0xb8, 0x7a, 0x40, 0xba, 0xc0, 0x87, 0x95, 0x7f, 0x2b, 0xe6, 0x93, 0x0c, + 0x27, 0x20, 0xea, 0x90, 0x66, 0xd7, 0xde, 0xf8, 0x65, 0x9a, 0x47, 0x46, 0xf3, 0x99, 0xe6, 0xd9, + 0x9d, 0x38, 0x85, 0x23, 0xcb, 0xef, 0x86, 0x34, 0xab, 0x41, 0x79, 0xc8, 0xf8, 0x2f, 0xdf, 0x02, + 0xa4, 0x2b, 0xb5, 0x5a, 0x7d, 0x7d, 0x43, 0x8a, 0xa1, 0x1c, 0xa4, 0x2a, 0xd5, 0x35, 0x65, 0x43, + 0x8a, 0x93, 0x6a, 0xa5, 0x7e, 0xa5, 0x5e, 0xdb, 0x90, 0x12, 0x68, 0x02, 0x0a, 0xec, 0xb7, 0x7a, + 0x71, 0x4d, 0x59, 0xa9, 0x6c, 0x48, 0xc9, 0x40, 0x55, 0xa3, 0xbe, 0xba, 0x58, 0x57, 0xa4, 0x94, + 0xfc, 0x18, 0x1c, 0x1b, 0xea, 0x65, 0xf9, 0xd9, 0x85, 0x58, 0x20, 0xbb, 0x20, 0x7f, 0x20, 0x0e, + 0xe5, 0xe1, 0xae, 0x13, 0xba, 0xd2, 0x33, 0xf1, 0xb3, 0x87, 0xf0, 0xbb, 0x7a, 0x66, 0x8f, 0x1e, + 0x80, 0xa2, 0x8d, 0xb7, 0xb1, 0xdb, 0xdc, 0x65, 0xae, 0x1c, 0x33, 0x99, 0x05, 0xa5, 0xc0, 0x6b, + 0x29, 0x92, 0xc3, 0xc0, 0x5e, 0xc2, 0x4d, 0x57, 0x65, 0xba, 0xc8, 0xe1, 0x7f, 0xeb, 0xb0, 0xc0, + 0x6a, 0x1b, 0xac, 0x52, 0xfe, 0x81, 0x43, 0xf1, 0x32, 0x07, 0x29, 0xa5, 0xbe, 0xa1, 0xbc, 0x20, + 0x25, 0x10, 0x82, 0x22, 0xfd, 0xa9, 0x36, 0x56, 0x2b, 0xeb, 0x8d, 0xcb, 0x6b, 0x84, 0x97, 0x93, + 0x50, 0x12, 0xbc, 0x14, 0x95, 0x29, 0xf9, 0x21, 0x38, 0x3a, 0xc4, 0xef, 0x1b, 0x70, 0x0f, 0xf1, + 0xc3, 0xb1, 0x20, 0x74, 0x38, 0xe6, 0x5f, 0x83, 0xb4, 0xe3, 0x6a, 0x6e, 0xd7, 0xe1, 0x4c, 0x7c, + 0x72, 0x54, 0x47, 0x70, 0x5e, 0xfc, 0x68, 0x50, 0x74, 0x85, 0x93, 0x91, 0xcf, 0x41, 0x31, 0xdc, + 0x32, 0x9c, 0x07, 0xbe, 0x10, 0xc5, 0xe5, 0x17, 0x00, 0x02, 0xf9, 0x48, 0xef, 0x46, 0x57, 0x2c, + 0x78, 0xa3, 0xeb, 0x1c, 0xa4, 0x6e, 0x98, 0x4c, 0x67, 0x0c, 0xde, 0x38, 0xd7, 0x4c, 0x17, 0x07, + 0x92, 0x0f, 0x0c, 0x5a, 0xd6, 0x01, 0xf5, 0xe7, 0x84, 0x86, 0x74, 0xf1, 0x4c, 0xb8, 0x8b, 0x7b, + 0x87, 0x66, 0x97, 0x06, 0x77, 0xf5, 0x32, 0xa4, 0xa8, 0xb6, 0x19, 0xf8, 0x89, 0xcf, 0xf7, 0x03, + 0x68, 0xae, 0x6b, 0xeb, 0x5b, 0x5d, 0xbf, 0x83, 0xd9, 0xc1, 0xda, 0xaa, 0x22, 0xe0, 0xaa, 0x77, + 0x73, 0xb5, 0x35, 0xe5, 0xa3, 0x06, 0x54, 0x57, 0x80, 0xa0, 0xbc, 0x0a, 0xc5, 0x30, 0xee, 0xe0, + 0x4f, 0x96, 0xfc, 0xb7, 0x03, 0x72, 0xc2, 0x7d, 0xf2, 0x9c, 0x2f, 0xfe, 0x9e, 0x07, 0x2d, 0xc8, + 0xb7, 0x62, 0x90, 0xdd, 0xd8, 0xe3, 0x72, 0x7c, 0xc0, 0xa5, 0x4a, 0xff, 0xbb, 0x2d, 0x2f, 0x59, + 0xc8, 0xf2, 0xb1, 0x09, 0x2f, 0xcb, 0xfb, 0x3d, 0xde, 0x4e, 0x4d, 0x8e, 0x1a, 0xed, 0x8a, 0x6c, + 0x37, 0xd7, 0x4e, 0x17, 0x46, 0xfb, 0x46, 0x62, 0x0a, 0x52, 0xc1, 0xef, 0x1b, 0x58, 0x41, 0x6e, + 0x05, 0xae, 0x25, 0x30, 0xb3, 0x11, 0xfc, 0x98, 0x22, 0x76, 0xe8, 0x8f, 0x29, 0xbc, 0x5e, 0xe2, + 0xc1, 0x5e, 0x6e, 0x40, 0x56, 0x08, 0x05, 0x7a, 0x67, 0xf0, 0xee, 0x89, 0x38, 0xa3, 0x19, 0x6a, + 0x3c, 0x39, 0xf9, 0xc0, 0xd5, 0x93, 0xd3, 0x30, 0xc1, 0xaf, 0xdc, 0xf9, 0x71, 0x05, 0x7f, 0x9b, + 0xbf, 0xc4, 0x1a, 0x96, 0x45, 0x50, 0x21, 0xff, 0x72, 0x0c, 0xa4, 0x5e, 0xa9, 0x7c, 0x3b, 0x07, + 0x40, 0x94, 0x22, 0x91, 0xfe, 0xc0, 0xa3, 0xdb, 0x6c, 0xe5, 0x0b, 0xa4, 0xd6, 0x7f, 0x76, 0xfb, + 0xbd, 0x71, 0xc8, 0x07, 0x72, 0x7a, 0xe8, 0x89, 0xd0, 0x15, 0xd0, 0xb9, 0x83, 0xf2, 0x7f, 0x81, + 0x3b, 0xa0, 0xa1, 0x89, 0xc5, 0x0f, 0x3f, 0xb1, 0x37, 0xff, 0x92, 0xfe, 0xe0, 0xaf, 0x7d, 0x52, + 0x43, 0xbe, 0xf6, 0xf9, 0xa1, 0x18, 0x64, 0x3d, 0xd3, 0x7d, 0xd8, 0x6c, 0xfe, 0x11, 0x48, 0x73, + 0xeb, 0xc4, 0xd2, 0xf9, 0xbc, 0x34, 0x30, 0x17, 0x5a, 0x86, 0xac, 0xf8, 0xa3, 0x36, 0x3c, 0x10, + 0xf5, 0xca, 0xa7, 0x9f, 0x86, 0x7c, 0xe0, 0x60, 0x85, 0xe8, 0x89, 0xd5, 0xfa, 0x73, 0xd2, 0x58, + 0x39, 0x73, 0xeb, 0xf6, 0x5c, 0x62, 0x15, 0xdf, 0x24, 0x3b, 0x4c, 0xa9, 0xd7, 0x2e, 0xd7, 0x6b, + 0x57, 0xa5, 0x58, 0x39, 0x7f, 0xeb, 0xf6, 0x5c, 0x46, 0xc1, 0x34, 0x7d, 0x75, 0xfa, 0x2a, 0x94, + 0x7a, 0x16, 0x26, 0xac, 0xdf, 0x11, 0x14, 0x17, 0x37, 0xd7, 0x97, 0x97, 0x6a, 0x95, 0x8d, 0xba, + 0xca, 0xae, 0xd3, 0xa1, 0xa3, 0x30, 0xb9, 0xbc, 0x74, 0xe9, 0xf2, 0x86, 0x5a, 0x5b, 0x5e, 0xaa, + 0xaf, 0x6e, 0xa8, 0x95, 0x8d, 0x8d, 0x4a, 0xed, 0xaa, 0x14, 0x3f, 0xfb, 0x6d, 0x80, 0x52, 0xa5, + 0x5a, 0x5b, 0x22, 0xf6, 0x59, 0xe7, 0xef, 0xa6, 0xd7, 0x20, 0x49, 0x53, 0x01, 0x07, 0x5e, 0x15, + 0x29, 0x1f, 0x9c, 0xdb, 0x44, 0x17, 0x21, 0x45, 0xb3, 0x04, 0xe8, 0xe0, 0xbb, 0x23, 0xe5, 0x88, + 0x64, 0x27, 0x19, 0x0c, 0xdd, 0x4e, 0x07, 0x5e, 0x26, 0x29, 0x1f, 0x9c, 0xfb, 0x44, 0x0a, 0xe4, + 0xfc, 0x28, 0x23, 0xfa, 0x72, 0x45, 0x79, 0x04, 0xed, 0x88, 0x96, 0x21, 0x23, 0x02, 0xc3, 0xa8, + 0xeb, 0x1e, 0xe5, 0xc8, 0xe4, 0x24, 0x61, 0x17, 0x0b, 0xe0, 0x0f, 0xbe, 0xbb, 0x52, 0x8e, 0xc8, + 0xb4, 0xa2, 0x25, 0xef, 0x12, 0x7e, 0xc4, 0x15, 0x8e, 0x72, 0x54, 0xb2, 0x91, 0x30, 0xcd, 0x4f, + 0x8d, 0x44, 0xdf, 0xc8, 0x29, 0x8f, 0x90, 0x44, 0x46, 0x9b, 0x00, 0x81, 0x70, 0x7d, 0x84, 0xab, + 0x36, 0xe5, 0x51, 0x92, 0xc3, 0x68, 0x0d, 0xb2, 0x5e, 0xf4, 0x14, 0x79, 0xf1, 0xa5, 0x1c, 0x9d, + 0xa5, 0x45, 0xef, 0x86, 0x42, 0x38, 0x6a, 0x18, 0xed, 0x3a, 0x4b, 0x79, 0xc4, 0xf4, 0x2b, 0xa1, + 0x1f, 0x0e, 0x21, 0x46, 0xbb, 0xde, 0x52, 0x1e, 0x31, 0x1b, 0x8b, 0x5e, 0x82, 0x89, 0x7e, 0x17, + 0x7f, 0xf4, 0xdb, 0x2e, 0xe5, 0x43, 0xe4, 0x67, 0x51, 0x07, 0xd0, 0x80, 0xd0, 0xe0, 0x10, 0x97, + 0x5f, 0xca, 0x87, 0x49, 0xd7, 0xa2, 0x16, 0x94, 0x7a, 0xfd, 0xed, 0x51, 0x2f, 0xc3, 0x94, 0x47, + 0x4e, 0xdd, 0xb2, 0x5e, 0xc2, 0x7e, 0xfa, 0xa8, 0x97, 0x63, 0xca, 0x23, 0x67, 0x72, 0xab, 0x95, + 0xa1, 0xf7, 0x1b, 0x4f, 0x1c, 0x78, 0xbf, 0xd1, 0xbf, 0xb1, 0xe8, 0xdd, 0x69, 0xfc, 0x3f, 0x4f, + 0xc0, 0xfd, 0xfc, 0x31, 0x01, 0xc7, 0xd5, 0xae, 0xeb, 0xc6, 0x8e, 0xf7, 0x3a, 0x04, 0x2f, 0xf3, + 0xcb, 0x8d, 0x47, 0xf8, 0x83, 0x05, 0xa2, 0x36, 0xe2, 0x8d, 0x88, 0xa1, 0x0f, 0x67, 0x45, 0x5d, + 0x42, 0x8e, 0xbe, 0xba, 0x78, 0xc0, 0xfb, 0x13, 0x11, 0xaf, 0x5c, 0x0c, 0x78, 0x9f, 0x22, 0xe2, + 0x12, 0xe6, 0x41, 0xf7, 0x3d, 0xe5, 0x9f, 0x89, 0x41, 0xf1, 0xb2, 0xee, 0xb8, 0xa6, 0xad, 0x37, + 0xb5, 0x36, 0xb5, 0x18, 0x17, 0x46, 0xfd, 0xc8, 0xa3, 0x9a, 0x23, 0xce, 0x08, 0x7f, 0xd4, 0x82, + 0x5f, 0x0c, 0x59, 0x84, 0xf4, 0x0d, 0xad, 0xcd, 0x3e, 0xb1, 0x08, 0xbe, 0x5f, 0xd3, 0xcb, 0xf3, + 0x80, 0x97, 0x14, 0xa4, 0xc2, 0x70, 0xe5, 0xcf, 0xd1, 0x4b, 0xdc, 0x9d, 0x8e, 0xee, 0xb0, 0x3f, + 0x3b, 0xed, 0x62, 0x07, 0x6d, 0x42, 0xd2, 0xd6, 0x5c, 0x1e, 0xd4, 0x54, 0x2b, 0xfc, 0x29, 0x8a, + 0x07, 0xa3, 0x1f, 0x94, 0x98, 0xef, 0x7b, 0xad, 0x82, 0x75, 0x46, 0xc9, 0xa1, 0xef, 0x83, 0x6c, + 0x47, 0xdb, 0x53, 0x29, 0xe9, 0xf8, 0x9b, 0x45, 0x3a, 0xd3, 0xd1, 0xf6, 0xc8, 0xa8, 0x91, 0x0e, + 0x25, 0x42, 0xbd, 0xb9, 0xab, 0x19, 0x3b, 0x98, 0x75, 0x92, 0x78, 0xb3, 0x3a, 0x29, 0x74, 0xb4, + 0xbd, 0x1a, 0x25, 0x4c, 0xba, 0xe2, 0x8f, 0x7e, 0xfc, 0x76, 0x8c, 0x87, 0xb2, 0x94, 0x73, 0x48, + 0x03, 0xa9, 0xe9, 0x95, 0x68, 0xff, 0x22, 0xad, 0x7f, 0x62, 0xd8, 0xc2, 0xf4, 0xf0, 0xbd, 0x5a, + 0x20, 0x23, 0xfd, 0xd2, 0x6b, 0xb3, 0x31, 0xd6, 0x6b, 0xa9, 0xd9, 0xb3, 0x2e, 0x57, 0x20, 0xcf, + 0xb2, 0x69, 0x2a, 0x75, 0x61, 0xe3, 0x91, 0x2e, 0x6c, 0x41, 0xb8, 0xb0, 0x8c, 0x20, 0x30, 0x6c, + 0xd2, 0xce, 0xe7, 0xf0, 0xf1, 0x18, 0xe4, 0x17, 0x03, 0xcf, 0x55, 0x4d, 0x43, 0xa6, 0x63, 0x1a, + 0xfa, 0x75, 0x6c, 0x7b, 0xe7, 0x32, 0xac, 0x48, 0xdc, 0x4c, 0xf6, 0x67, 0x87, 0xdc, 0x7d, 0xf1, + 0x12, 0x83, 0x28, 0x13, 0xac, 0x9b, 0x78, 0xcb, 0xd1, 0x05, 0xcb, 0x15, 0x51, 0x44, 0xa7, 0x40, + 0x72, 0x70, 0xb3, 0x6b, 0xeb, 0xee, 0xbe, 0xda, 0x34, 0x0d, 0x57, 0x6b, 0xba, 0x3c, 0x7b, 0x5a, + 0x12, 0xf5, 0x35, 0x56, 0x4d, 0x88, 0xb4, 0xb0, 0xab, 0xe9, 0x6d, 0x76, 0xed, 0x2b, 0xa7, 0x88, + 0x22, 0x1f, 0xea, 0xe7, 0x32, 0xc1, 0xd0, 0xb0, 0x06, 0x92, 0x69, 0x61, 0x3b, 0xf4, 0xc9, 0x1b, + 0x13, 0xd7, 0xe9, 0xdf, 0xfb, 0xcc, 0x23, 0x53, 0x9c, 0xe1, 0xfc, 0x00, 0x9e, 0xbd, 0xce, 0xac, + 0x94, 0x04, 0x86, 0xf8, 0x16, 0xee, 0x85, 0xd0, 0x49, 0x4c, 0x77, 0xcb, 0xff, 0xe4, 0x7e, 0xaa, + 0x8f, 0xa9, 0x15, 0x63, 0xbf, 0x3a, 0xfd, 0xbb, 0x3e, 0x69, 0x3f, 0x74, 0xbc, 0x8a, 0xf7, 0x83, + 0xc7, 0x32, 0x94, 0x0c, 0xf1, 0xe0, 0x5f, 0xd2, 0xf4, 0xb6, 0xf8, 0x4b, 0x6a, 0x0a, 0x2f, 0xa1, + 0x05, 0x2f, 0x0d, 0xc3, 0xfe, 0x42, 0xba, 0x3c, 0x4c, 0x36, 0xaa, 0xa6, 0xd1, 0x0a, 0x67, 0x5c, + 0xd0, 0x06, 0xa4, 0x5d, 0xf3, 0x3a, 0x36, 0x38, 0x83, 0xaa, 0xef, 0x38, 0x84, 0x60, 0xf7, 0xbf, + 0x3f, 0xc3, 0x69, 0xa1, 0x1d, 0x90, 0x5a, 0xb8, 0x8d, 0x77, 0xd8, 0x07, 0x5b, 0xbb, 0x9a, 0x8d, + 0xd9, 0x47, 0x9c, 0x87, 0xa3, 0xdf, 0xff, 0x4c, 0x4d, 0xc9, 0xa3, 0xda, 0xa0, 0x44, 0xd1, 0x7a, + 0xf8, 0xb1, 0xb4, 0x0c, 0x3f, 0x95, 0x1f, 0x32, 0xff, 0x80, 0x54, 0x06, 0xd5, 0x56, 0xe8, 0x71, + 0xb5, 0x53, 0x20, 0x75, 0x8d, 0x2d, 0xd3, 0xa0, 0x7f, 0xf4, 0x88, 0x07, 0x58, 0x59, 0x76, 0x72, + 0xe7, 0xd5, 0xf3, 0x93, 0xbb, 0x75, 0x28, 0xfa, 0xa0, 0x74, 0xf7, 0xe4, 0x0e, 0xbb, 0x7b, 0x0a, + 0x1e, 0x01, 0x02, 0x82, 0x56, 0x00, 0xfc, 0xfd, 0xe9, 0x9d, 0xee, 0x47, 0xee, 0xf4, 0xe0, 0x64, + 0x02, 0x04, 0x50, 0x1b, 0x26, 0x3b, 0xba, 0xa1, 0x3a, 0xb8, 0xbd, 0xad, 0x72, 0xce, 0x11, 0xba, + 0xf9, 0x37, 0x61, 0xa5, 0x27, 0x3a, 0xba, 0xd1, 0xc0, 0xed, 0xed, 0x45, 0x8f, 0x2c, 0x7a, 0x07, + 0x1c, 0xf7, 0xd9, 0x61, 0x1a, 0xea, 0xae, 0xd9, 0x6e, 0xa9, 0x36, 0xde, 0x56, 0x9b, 0xf4, 0xf9, + 0xa3, 0x71, 0xca, 0xc4, 0xa3, 0x1e, 0xc8, 0x9a, 0x71, 0xd9, 0x6c, 0xb7, 0x14, 0xbc, 0x5d, 0x23, + 0xcd, 0xe8, 0x3e, 0xf0, 0x79, 0xa1, 0xea, 0x2d, 0x67, 0xba, 0x30, 0x97, 0x38, 0x99, 0x54, 0xc6, + 0xbd, 0xca, 0xa5, 0x96, 0xb3, 0x90, 0x7d, 0xdf, 0xab, 0xb3, 0x63, 0x5f, 0x7f, 0x75, 0x76, 0x4c, + 0xbe, 0x48, 0x1f, 0xeb, 0xe0, 0x9b, 0x0e, 0x3b, 0xe8, 0x3c, 0xe4, 0x34, 0x51, 0x60, 0x9f, 0x89, + 0x1c, 0xb0, 0x69, 0x7d, 0x50, 0xf9, 0xd5, 0x18, 0xa4, 0x17, 0xaf, 0xad, 0x6b, 0xba, 0x8d, 0xea, + 0x30, 0xe1, 0x0b, 0xed, 0xa8, 0xfb, 0xdf, 0x97, 0x73, 0xa1, 0x00, 0xea, 0xc3, 0xbe, 0x9c, 0x3d, + 0x90, 0x4c, 0xef, 0x37, 0xb5, 0x81, 0xa9, 0x5e, 0x81, 0x0c, 0x1b, 0xa1, 0x83, 0x9e, 0x85, 0x94, + 0x45, 0x7e, 0xf0, 0xec, 0xff, 0xcc, 0x50, 0x41, 0xa7, 0xf0, 0x41, 0xb1, 0x60, 0x78, 0xf2, 0x5f, + 0xc4, 0x00, 0x16, 0xaf, 0x5d, 0xdb, 0xb0, 0x75, 0xab, 0x8d, 0xdd, 0x37, 0x6b, 0xca, 0xcb, 0x70, + 0x57, 0xe0, 0xfb, 0x4c, 0xbb, 0x39, 0xf2, 0xb4, 0x27, 0xfd, 0x2f, 0x34, 0xed, 0xe6, 0x40, 0x6a, + 0x2d, 0xc7, 0xf5, 0xa8, 0x25, 0x46, 0xa6, 0xb6, 0xe8, 0xb8, 0xfd, 0x7c, 0x7c, 0x1e, 0xf2, 0xfe, + 0xd4, 0x1d, 0xb4, 0x04, 0x59, 0x97, 0xff, 0xe6, 0xec, 0x94, 0x87, 0xb3, 0x53, 0xa0, 0x05, 0x59, + 0xea, 0xa1, 0xcb, 0xff, 0x8b, 0x70, 0xd5, 0xdf, 0x08, 0x7f, 0xa5, 0x04, 0x89, 0x68, 0x78, 0xae, + 0x81, 0x13, 0x6f, 0x82, 0x06, 0xe6, 0xb4, 0x02, 0x6c, 0xfd, 0xe1, 0x38, 0x4c, 0x6e, 0x8a, 0x4d, + 0xfa, 0x57, 0x96, 0x0b, 0x9b, 0x90, 0xc1, 0x86, 0x6b, 0xeb, 0x58, 0x1c, 0xf5, 0x3d, 0x3a, 0x6c, + 0xb1, 0x07, 0xcc, 0x85, 0xfe, 0x29, 0xe0, 0xe0, 0xd2, 0x0b, 0x5a, 0x01, 0x36, 0xfc, 0x66, 0x02, + 0xa6, 0x87, 0xa1, 0xa2, 0x13, 0x50, 0x6a, 0xda, 0x98, 0x56, 0xa8, 0xa1, 0x54, 0x78, 0x51, 0x54, + 0x73, 0x93, 0xa2, 0x00, 0x71, 0xd0, 0x88, 0x54, 0x11, 0xd0, 0x3b, 0xf3, 0xc8, 0x8a, 0x3e, 0x05, + 0x6a, 0x54, 0x30, 0x94, 0xc4, 0xdd, 0xf6, 0x2d, 0xad, 0xad, 0x19, 0x4d, 0x7c, 0x07, 0x92, 0xd0, + 0x6f, 0x01, 0xc4, 0x85, 0xf9, 0x2a, 0xa3, 0x89, 0xae, 0x41, 0x46, 0x90, 0x4f, 0xbe, 0x09, 0xe4, + 0x05, 0x31, 0x74, 0x2f, 0x8c, 0x07, 0x0d, 0x03, 0xf5, 0x53, 0x92, 0x4a, 0x3e, 0x60, 0x17, 0xa2, + 0x2c, 0x4f, 0xfa, 0x40, 0xcb, 0xc3, 0x5d, 0xc1, 0xdf, 0x48, 0xc0, 0x84, 0x82, 0x5b, 0xdf, 0x85, + 0x0b, 0xf7, 0xbd, 0x00, 0x6c, 0x53, 0x13, 0x65, 0x7b, 0x07, 0x6b, 0xd7, 0xaf, 0x24, 0x72, 0x8c, + 0xde, 0xa2, 0xe3, 0xbe, 0x5d, 0xab, 0xf7, 0x2f, 0xe3, 0x30, 0x1e, 0x5c, 0xbd, 0xef, 0x02, 0xcb, + 0x86, 0x56, 0x7d, 0x95, 0xc6, 0x6e, 0x9f, 0x9f, 0x1a, 0xa6, 0xd2, 0xfa, 0xe4, 0x3a, 0x42, 0x97, + 0x7d, 0x2a, 0x09, 0x69, 0x7e, 0x15, 0x6c, 0xad, 0xcf, 0xc7, 0x8d, 0x45, 0x7d, 0xff, 0x5b, 0x10, + 0xdf, 0xff, 0x0e, 0x74, 0x71, 0x1f, 0x80, 0x22, 0x09, 0xa9, 0x43, 0xf7, 0xcb, 0x62, 0x27, 0x0b, + 0x34, 0x1c, 0xf6, 0x6f, 0x43, 0xa3, 0x59, 0xc8, 0x13, 0x30, 0x5f, 0x67, 0x13, 0x18, 0xe8, 0x68, + 0x7b, 0x75, 0x56, 0x83, 0x1e, 0x01, 0xb4, 0xeb, 0x25, 0x3e, 0x54, 0x9f, 0x11, 0x04, 0x6e, 0xc2, + 0x6f, 0x11, 0xe0, 0xf7, 0x00, 0x90, 0x51, 0xa8, 0xec, 0x85, 0x4e, 0xfe, 0xda, 0x29, 0xa9, 0x59, + 0xa4, 0xaf, 0x74, 0xfe, 0x64, 0x8c, 0xb9, 0xca, 0x3d, 0xd1, 0x36, 0x0f, 0x5a, 0xd4, 0xc3, 0xed, + 0x86, 0x6f, 0xbd, 0x36, 0x5b, 0xde, 0xd7, 0x3a, 0xed, 0x05, 0x79, 0x00, 0x49, 0x79, 0x50, 0x2e, + 0x80, 0x78, 0xd3, 0xe1, 0xc0, 0x1d, 0xad, 0x82, 0x74, 0x1d, 0xef, 0xab, 0x36, 0xff, 0xdb, 0xa6, + 0xea, 0x36, 0xc6, 0x3c, 0xbc, 0x39, 0x36, 0x3f, 0xe0, 0xa1, 0xd4, 0xf9, 0x9a, 0xa9, 0x87, 0xe2, + 0x80, 0xe2, 0x75, 0xbc, 0xaf, 0x70, 0xe4, 0x8b, 0x18, 0xa3, 0xa7, 0xe1, 0x18, 0x4d, 0x65, 0x98, + 0x86, 0x08, 0x4b, 0x3d, 0xda, 0xec, 0xda, 0x5b, 0x52, 0x39, 0xd2, 0xd1, 0xf6, 0x6a, 0xa6, 0xc1, + 0xc3, 0x4d, 0x81, 0xec, 0x2c, 0xdc, 0x4f, 0xb6, 0xd8, 0xad, 0xaf, 0x7d, 0xf2, 0xf4, 0xf1, 0xc0, + 0x6c, 0xf7, 0xbc, 0x64, 0x1d, 0x93, 0x14, 0xf9, 0x13, 0x31, 0x40, 0xbe, 0xdd, 0xf3, 0xae, 0xa6, + 0xaf, 0xd0, 0x0b, 0xcb, 0x22, 0xf4, 0x88, 0x1d, 0x1c, 0xd2, 0xf8, 0xf8, 0xa1, 0x90, 0x26, 0xb0, + 0xaf, 0xdf, 0xe9, 0x5b, 0x99, 0xf8, 0x21, 0xb8, 0x21, 0x90, 0xa8, 0xba, 0x18, 0x93, 0x5f, 0x8b, + 0xc1, 0xb1, 0xbe, 0x4d, 0xe1, 0x0d, 0xb9, 0x09, 0xc8, 0x0e, 0x34, 0x52, 0xe1, 0x12, 0x47, 0xbd, + 0x77, 0xb6, 0xc7, 0x26, 0xec, 0x3e, 0xcb, 0xf2, 0x16, 0x99, 0x4b, 0xae, 0x0f, 0x7f, 0x27, 0x06, + 0x53, 0xc1, 0x11, 0x79, 0x73, 0x6b, 0xc0, 0x78, 0x70, 0x2c, 0x7c, 0x56, 0xf7, 0x8f, 0x32, 0xab, + 0xe0, 0x84, 0x42, 0x44, 0xc8, 0x5c, 0xc4, 0x06, 0x64, 0x69, 0xc3, 0xc7, 0x46, 0xe6, 0x92, 0x77, + 0x24, 0x32, 0x48, 0x23, 0xb1, 0xc5, 0xfa, 0x89, 0x38, 0x24, 0xd7, 0x4d, 0xb3, 0x8d, 0x7e, 0x28, + 0x06, 0x13, 0x86, 0xe9, 0xaa, 0x64, 0xdb, 0xe2, 0x96, 0xca, 0xf3, 0x16, 0x4c, 0xa9, 0x5f, 0x3b, + 0x1c, 0xf7, 0xbe, 0xf1, 0xda, 0x6c, 0x3f, 0xa9, 0x41, 0xaf, 0xfd, 0x96, 0x0c, 0xd3, 0xad, 0x52, + 0xa0, 0x0d, 0x96, 0xda, 0xb8, 0x09, 0x85, 0x70, 0xff, 0xcc, 0x12, 0x28, 0x87, 0xee, 0xbf, 0x10, + 0xd9, 0xf7, 0xf8, 0x56, 0xa0, 0x63, 0xf6, 0xe6, 0xe6, 0x9f, 0x90, 0xc5, 0x7d, 0x01, 0xa4, 0x6b, + 0xbd, 0x97, 0xe4, 0xea, 0x90, 0x39, 0xec, 0x7d, 0xbb, 0x20, 0xc7, 0x39, 0xae, 0xfc, 0x6b, 0x71, + 0x38, 0xc6, 0x55, 0xc0, 0x55, 0x5f, 0x05, 0xb0, 0x0c, 0xf3, 0x3e, 0xba, 0x38, 0x34, 0x41, 0x76, + 0xfc, 0x5b, 0xaf, 0xcd, 0x1e, 0x65, 0x3a, 0xaf, 0x17, 0x42, 0xee, 0xcf, 0x91, 0x5d, 0x83, 0x12, + 0xb1, 0xf1, 0x01, 0x5d, 0x74, 0x87, 0x29, 0xb2, 0x82, 0xd9, 0x6e, 0xf9, 0x1a, 0x8b, 0xd0, 0x35, + 0xf0, 0xcd, 0x10, 0xdd, 0xc4, 0x9d, 0xd1, 0x35, 0xf0, 0xcd, 0x00, 0x5d, 0xff, 0xa8, 0x3d, 0x19, + 0x3c, 0x6a, 0x0f, 0x58, 0xcc, 0x06, 0x1c, 0xe3, 0xe9, 0x08, 0x67, 0x6d, 0x9b, 0xb2, 0x0d, 0xd3, + 0x81, 0x5d, 0xc5, 0xfb, 0x77, 0x9c, 0x9b, 0x38, 0xfd, 0xd9, 0x18, 0x80, 0x9f, 0xb2, 0x43, 0x0f, + 0xc3, 0xd1, 0xea, 0xda, 0xea, 0xa2, 0xda, 0xd8, 0xa8, 0x6c, 0x6c, 0x36, 0xc2, 0xef, 0xf5, 0x8b, + 0x37, 0x6a, 0x1c, 0x0b, 0x37, 0xf5, 0x6d, 0x1d, 0xb7, 0xd0, 0x83, 0x30, 0x15, 0x86, 0x26, 0xa5, + 0xfa, 0xa2, 0x14, 0x2b, 0x8f, 0xdf, 0xba, 0x3d, 0x97, 0x65, 0xa1, 0x0a, 0x6e, 0xa1, 0x93, 0x70, + 0x57, 0x3f, 0xdc, 0xd2, 0xea, 0x25, 0x29, 0x5e, 0x2e, 0xdc, 0xba, 0x3d, 0x97, 0xf3, 0x62, 0x1a, + 0x24, 0x03, 0x0a, 0x42, 0x72, 0x7a, 0x89, 0x32, 0xdc, 0xba, 0x3d, 0x97, 0x66, 0x7b, 0xa4, 0x9c, + 0x7c, 0xdf, 0x47, 0x66, 0xc6, 0x4e, 0x7f, 0x3f, 0xc0, 0x92, 0xb1, 0x6d, 0x6b, 0xf4, 0x8f, 0x56, + 0xa3, 0x32, 0x1c, 0x59, 0x5a, 0xbd, 0xa8, 0x54, 0x6a, 0x1b, 0x4b, 0x6b, 0xab, 0x3d, 0x7f, 0x66, + 0x20, 0xdc, 0xb6, 0xb8, 0xb6, 0x59, 0x5d, 0xae, 0xab, 0x8d, 0xa5, 0x4b, 0xab, 0xec, 0xe4, 0x3f, + 0xd4, 0xf6, 0xdc, 0xea, 0xc6, 0xd2, 0x4a, 0x5d, 0x8a, 0x57, 0x2f, 0x0e, 0x3d, 0x7b, 0x7a, 0xf8, + 0xc0, 0xdd, 0xe7, 0x9b, 0xac, 0xd0, 0x01, 0xd4, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x16, 0xcc, + 0x50, 0x3a, 0x4c, 0x99, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -3601,6 +3650,38 @@ func (m *ConsPubKeyRotationHistory) MarshalToSizedBuffer(dAtA []byte) (int, erro return len(dAtA) - i, nil } +func (m *ValAddrsOfRotatedConsKeys) 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 *ValAddrsOfRotatedConsKeys) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *ValAddrsOfRotatedConsKeys) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if len(m.Addresses) > 0 { + for iNdEx := len(m.Addresses) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Addresses[iNdEx]) + copy(dAtA[i:], m.Addresses[iNdEx]) + i = encodeVarintStaking(dAtA, i, uint64(len(m.Addresses[iNdEx]))) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + func encodeVarintStaking(dAtA []byte, offset int, v uint64) int { offset -= sovStaking(v) base := offset @@ -4060,6 +4141,21 @@ func (m *ConsPubKeyRotationHistory) Size() (n int) { return n } +func (m *ValAddrsOfRotatedConsKeys) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Addresses) > 0 { + for _, s := range m.Addresses { + l = len(s) + n += 1 + l + sovStaking(uint64(l)) + } + } + return n +} + func sovStaking(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -7518,6 +7614,88 @@ func (m *ConsPubKeyRotationHistory) Unmarshal(dAtA []byte) error { } return nil } +func (m *ValAddrsOfRotatedConsKeys) 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 ErrIntOverflowStaking + } + 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: ValAddrsOfRotatedConsKeys: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ValAddrsOfRotatedConsKeys: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Addresses", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthStaking + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthStaking + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Addresses = append(m.Addresses, string(dAtA[iNdEx:postIndex])) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipStaking(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthStaking + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipStaking(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 From acae606bd3ec16905dfa263d8ee7f4aa1130398b Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 27 Mar 2023 19:39:11 +0530 Subject: [PATCH 037/106] implement waiting period for rotations after limit --- x/staking/keeper/cons_pubkey.go | 85 ++++++++++++++++++++++++++++ x/staking/keeper/msg_server.go | 30 ++++++++-- x/staking/keeper/val_state_change.go | 12 ++-- x/staking/types/errors.go | 2 +- x/staking/types/keys.go | 21 ++++++- 5 files changed, 137 insertions(+), 13 deletions(-) diff --git a/x/staking/keeper/cons_pubkey.go b/x/staking/keeper/cons_pubkey.go index 87db4b7a06a7..c1c70c1ae033 100644 --- a/x/staking/keeper/cons_pubkey.go +++ b/x/staking/keeper/cons_pubkey.go @@ -1,6 +1,8 @@ package keeper import ( + "time" + storetypes "cosmossdk.io/store/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/staking/types" @@ -45,3 +47,86 @@ func (k Keeper) GetBlockConsPubKeyRotationHistory(ctx sdk.Context, height int64) } return } + +func (k Keeper) GetConsKeyQueue(ctx sdk.Context, ts time.Time) types.ValAddrsOfRotatedConsKeys { + var valAddrs types.ValAddrsOfRotatedConsKeys + store := ctx.KVStore(k.storeKey) + key := types.GetConsKeyRotationTimeKey(ts) + bz := store.Get(key) + if bz == nil { + return valAddrs + } + k.cdc.MustUnmarshal(bz, &valAddrs) + return valAddrs +} + +func (k Keeper) SetConsKeyQueue(ctx sdk.Context, ts time.Time, valAddr sdk.ValAddress) { + operKeys := k.GetConsKeyQueue(ctx, ts) + operKeys.Addresses = append(operKeys.Addresses, valAddr.String()) + key := types.GetConsKeyRotationTimeKey(ts) + store := ctx.KVStore(k.storeKey) + bz := k.cdc.MustMarshal(&operKeys) + store.Set(key, bz) +} + +func (k Keeper) SetConsKeyIndex(ctx sdk.Context, valAddr sdk.ValAddress, ts time.Time) { + store := ctx.KVStore(k.storeKey) + key := types.GetConsKeyIndexKey(valAddr, ts) + store.Set(key, []byte{}) +} + +func (k Keeper) GetConsKeyIndex(ctx sdk.Context, valAddr sdk.ValAddress, ts time.Time) bool { + store := ctx.KVStore(k.storeKey) + key := types.GetConsKeyIndexKey(valAddr, ts) + bz := store.Get(key) + return bz != nil +} + +func (k Keeper) UpdateAllMaturedConsKeyRotatedKeys(ctx sdk.Context, maturedTime time.Time) { + maturedRotatedValAddrs := k.GetAllMaturedRotatedKeys(ctx, maturedTime) + for _, valAddrStr := range maturedRotatedValAddrs { + valAddr, err := sdk.ValAddressFromBech32(valAddrStr) + if err != nil { + panic(err) + } + + k.deleteConsKeyIndexKey(ctx, valAddr, maturedTime) + } +} + +func (k Keeper) GetAllMaturedRotatedKeys(ctx sdk.Context, matureTime time.Time) []string { + store := ctx.KVStore(k.storeKey) + var ValAddresses []string + prefixIterator := storetypes.KVStorePrefixIterator(store, storetypes.InclusiveEndBytes(types.GetConsKeyRotationTimeKey(matureTime))) + + for ; prefixIterator.Valid(); prefixIterator.Next() { + var operKey types.ValAddrsOfRotatedConsKeys + k.cdc.MustUnmarshal(prefixIterator.Value(), &operKey) + ValAddresses = append(ValAddresses, operKey.Addresses...) + store.Delete(prefixIterator.Key()) + } + + return ValAddresses +} + +func (k Keeper) deleteConsKeyIndexKey(ctx sdk.Context, valAddr sdk.ValAddress, ts time.Time) { + store := ctx.KVStore(k.storeKey) + key := types.GetConsKeyIndexKey(valAddr, ts) + prefixIterator := storetypes.KVStorePrefixIterator(store, storetypes.InclusiveEndBytes(key)) + for ; prefixIterator.Valid(); prefixIterator.Next() { + store.Delete(prefixIterator.Key()) + } +} + +func (k Keeper) CheckLimitOfMaxRotationsExceed(ctx sdk.Context, valAddr sdk.ValAddress) (bool, uint64) { + store := ctx.KVStore(k.storeKey) + key := append(types.ValidatorConsensusKeyRotationRecordIndexKey, sdk.AppendLengthPrefixedBytes(valAddr)...) + prefixIterator := storetypes.KVStorePrefixIterator(store, key) + + count := uint64(0) + for ; prefixIterator.Valid(); prefixIterator.Next() { + count += 1 + } + + return count >= k.MaxConsPubKeyRotations(ctx), count +} diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index 04fe8e1214d6..f4a9166816f5 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -2,6 +2,7 @@ package keeper import ( "context" + "math/big" "strconv" "time" @@ -10,6 +11,7 @@ import ( "google.golang.org/grpc/status" errorsmod "cosmossdk.io/errors" + "cosmossdk.io/math" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" "github.com/cosmos/cosmos-sdk/telemetry" @@ -509,21 +511,21 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC return nil, types.ErrConsensusPubKeyAlreadyUsedForAValidator } - // checks if the validator is exceeding parameter MaxConsPubKeyRotations by iterating ConsPubKeyRotationHistory - maxConsPubKeyRotations := k.MaxConsPubKeyRotations(ctx) + // checks if the validator is exceeding parameter MaxConsPubKeyRotations within the + // unbonding period by iterating ConsPubKeyRotationHistory valAddr, err := sdk.ValAddressFromBech32(msg.ValidatorAddress) if err != nil { return nil, err } - historyObjects := k.GetValidatorConsPubKeyRotationHistory(ctx, valAddr) - if len(historyObjects) >= int(maxConsPubKeyRotations) { + isExceedingLimit, rotationsMade := k.CheckLimitOfMaxRotationsExceed(ctx, valAddr) + if isExceedingLimit { return nil, types.ErrExceedingMaxConsPubKeyRotations } // checks if the signing account has enough balance to pay KeyRotationFee // pays KeyRotationFee to community fund - rotationFee := k.KeyRotationFee(ctx) + rotationFee := k.getRotationFee(ctx, validator.GetBondedTokens(), rotationsMade) sender := sdk.AccAddress(valAddr) err = k.Keeper.bankKeeper.SendCoinsFromAccountToModule(ctx, sender, distrtypes.ModuleName, sdk.NewCoins(rotationFee)) @@ -571,3 +573,21 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC return res, err } + +// getRotationFee calculates and returns the fee for rotation based on the previous rotations +// KeyRotationFee = (max(VotingPowerPercentage 100, 1) InitialKeyRotationFee) * 2^(number ofrotations in ConsPubKeyRotationHistory in recent unbonding period) +func (k msgServer) getRotationFee(ctx sdk.Context, valBondedTokens math.Int, rotationsMade uint64) sdk.Coin { + totalBondedTokens := k.TotalBondedTokens(ctx) + + valBondedPercent := (valBondedTokens.Quo(totalBondedTokens)).Mul(math.NewInt(100)) + + defaultMultiplier := sdk.NewInt(1) + if valBondedPercent.GT(defaultMultiplier) { + defaultMultiplier = valBondedPercent + } + + fee := defaultMultiplier.Mul(k.KeyRotationFee(ctx).Amount) + rotationsMultiplier := sdk.NewIntFromBigInt(new(big.Int).Exp(big.NewInt(2), big.NewInt(int64(rotationsMade)), nil)) + fee = fee.Mul(rotationsMultiplier) + return sdk.NewCoin(sdk.DefaultBondDenom, fee) +} diff --git a/x/staking/keeper/val_state_change.go b/x/staking/keeper/val_state_change.go index 74a491fd89a1..0f4740ada575 100644 --- a/x/staking/keeper/val_state_change.go +++ b/x/staking/keeper/val_state_change.go @@ -94,6 +94,8 @@ func (k Keeper) BlockValidatorUpdates(ctx sdk.Context) []abci.ValidatorUpdate { ) } + k.UpdateAllMaturedConsKeyRotatedKeys(ctx, ctx.BlockHeader().Time) + return validatorUpdates } @@ -202,7 +204,7 @@ func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx sdk.Context) (updates []ab updates = append(updates, validator.ABCIValidatorUpdateZero()) } - rotationFee := k.KeyRotationFee(ctx) + // rotationFee := k.KeyRotationFee(ctx) // ApplyAndReturnValidatorSetUpdates checks if there is ConsPubKeyRotationHistory // with ConsPubKeyRotationHistory.RotatedHeight == ctx.BlockHeight() and if so, generates 2 ValidatorUpdate, // one for a remove validator and one for create new validator @@ -238,10 +240,10 @@ func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx sdk.Context) (updates []ab Power: validator.ConsensusPower(powerReduction), }) - err = k.Hooks().AfterConsensusPubKeyUpdate(ctx, oldPk, newPk, rotationFee) - if err != nil { - return nil, err - } + // err = k.Hooks().AfterConsensusPubKeyUpdate(ctx, oldPk, newPk, rotationFee) + // if err != nil { + // return nil, err + // } } // TODO: at previousVotes Iteration logic of AllocateTokens, previousVote using OldConsPubKey diff --git a/x/staking/types/errors.go b/x/staking/types/errors.go index e423e0c654e4..cae422989dd2 100644 --- a/x/staking/types/errors.go +++ b/x/staking/types/errors.go @@ -53,5 +53,5 @@ var ( // consensus key errors ErrConsensusPubKeyAlreadyUsedForAValidator = errors.Register(ModuleName, 43, "consensus pubkey is already used for a validator") - ErrExceedingMaxConsPubKeyRotations = errors.Register(ModuleName, 44, "exceeding maximum consensus pubkey rotations") + ErrExceedingMaxConsPubKeyRotations = errors.Register(ModuleName, 44, "exceeding maximum consensus pubkey rotations within unbonding period") ) diff --git a/x/staking/types/keys.go b/x/staking/types/keys.go index 850ba2f1f507..1fedef695da9 100644 --- a/x/staking/types/keys.go +++ b/x/staking/types/keys.go @@ -55,8 +55,10 @@ var ( ParamsKey = []byte{0x51} // prefix for parameters for module x/staking - ValidatorConsPubKeyRotationHistoryKey = []byte{0x70} // prefix for consPubkey rotation history by validator - BlockConsPubKeyRotationHistoryKey = []byte{0x71} // prefix for consPubkey rotation history by height + ValidatorConsPubKeyRotationHistoryKey = []byte{0x70} // prefix for consPubkey rotation history by validator + BlockConsPubKeyRotationHistoryKey = []byte{0x71} // prefix for consPubkey rotation history by height + ValidatorConsensusKeyRotationRecordQueueKey = []byte{0x72} // this key is used to set the unbonding period time on each rotation + ValidatorConsensusKeyRotationRecordIndexKey = []byte{0x73} // this key is used to restrict the validator next rotation within waiting (unbonding) period ) // UnbondingType defines the type of unbonding operation @@ -407,3 +409,18 @@ func GetBlockConsPubKeyRotationHistoryPrefix(height int64) []byte { BlockConsPubKeyRotationHistoryKey, sdk.Uint64ToBigEndian(uint64(height))...) } + +func GetConsKeyRotationHistoryKey(valAddr sdk.ValAddress, height uint64) []byte { + key := append(ValidatorConsPubKeyRotationHistoryKey, address.MustLengthPrefix(valAddr)...) + return append(key, []byte(sdk.Uint64ToBigEndian(height))...) +} + +func GetConsKeyRotationTimeKey(timestamp time.Time) []byte { + bz := sdk.FormatTimeBytes(timestamp) + return append(ValidatorConsensusKeyRotationRecordQueueKey, bz...) +} + +func GetConsKeyIndexKey(valAddr sdk.ValAddress, timestamp time.Time) []byte { + key := append(ValidatorConsensusKeyRotationRecordIndexKey, address.MustLengthPrefix(valAddr)...) + return append(key, sdk.FormatTimeBytes(timestamp)...) +} From f9b1404e4a086e918fa9e295a47d4c402ee56676 Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 29 Mar 2023 15:49:06 +0530 Subject: [PATCH 038/106] add tests --- .../staking/keeper/msg_server_test.go | 4 +- x/staking/keeper/cons_pubkey.go | 41 ++-- x/staking/keeper/cons_pubkey_test.go | 205 ++++++++++++++++-- x/staking/keeper/msg_server.go | 29 +-- x/staking/keeper/validator_test.go | 7 +- 5 files changed, 238 insertions(+), 48 deletions(-) diff --git a/tests/integration/staking/keeper/msg_server_test.go b/tests/integration/staking/keeper/msg_server_test.go index 3b414c620acc..3325e0bbceea 100644 --- a/tests/integration/staking/keeper/msg_server_test.go +++ b/tests/integration/staking/keeper/msg_server_test.go @@ -220,7 +220,7 @@ func TestRotateConsPubKey(t *testing.T) { expErrMsg string }{ { - Name: "not existing validator check", + Name: "non existing validator check", sender: addrs[1], validator: valAddrs[1], newPubKey: pks[1], @@ -243,7 +243,7 @@ func TestRotateConsPubKey(t *testing.T) { newPubKey: PKs[498], rotationLimit: 1, Pass: false, - expErrMsg: "exceeding maximum consensus pubkey rotations", + expErrMsg: "exceeding maximum consensus pubkey rotations within unbonding period", }, } diff --git a/x/staking/keeper/cons_pubkey.go b/x/staking/keeper/cons_pubkey.go index c1c70c1ae033..302336430140 100644 --- a/x/staking/keeper/cons_pubkey.go +++ b/x/staking/keeper/cons_pubkey.go @@ -4,11 +4,19 @@ import ( "time" storetypes "cosmossdk.io/store/types" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/types/address" "github.com/cosmos/cosmos-sdk/x/staking/types" ) -func (k Keeper) SetConsPubKeyRotationHistory(ctx sdk.Context, history types.ConsPubKeyRotationHistory) { +func (k Keeper) SetConsPubKeyRotationHistory(ctx sdk.Context, valAddr sdk.ValAddress, oldPubKey, newPubKey *codectypes.Any, height uint64) { + history := types.ConsPubKeyRotationHistory{ + OperatorAddress: valAddr.String(), + OldConsPubkey: oldPubKey, + NewConsPubkey: newPubKey, + Height: height, + } store := ctx.KVStore(k.storeKey) key := types.GetValidatorConsPubKeyRotationHistoryKey(history) historyBytes := k.cdc.MustMarshal(&history) @@ -16,6 +24,10 @@ func (k Keeper) SetConsPubKeyRotationHistory(ctx sdk.Context, history types.Cons key = types.GetBlockConsPubKeyRotationHistoryKey(history) store.Set(key, historyBytes) + queueTime := ctx.BlockHeader().Time.Add(k.UnbondingTime(ctx)) + + k.SetConsKeyQueue(ctx, queueTime, valAddr) + k.SetConsKeyIndex(ctx, valAddr, queueTime) } func (k Keeper) GetValidatorConsPubKeyRotationHistory(ctx sdk.Context, operatorAddress sdk.ValAddress) (historyObjects []types.ConsPubKeyRotationHistory) { @@ -75,13 +87,6 @@ func (k Keeper) SetConsKeyIndex(ctx sdk.Context, valAddr sdk.ValAddress, ts time store.Set(key, []byte{}) } -func (k Keeper) GetConsKeyIndex(ctx sdk.Context, valAddr sdk.ValAddress, ts time.Time) bool { - store := ctx.KVStore(k.storeKey) - key := types.GetConsKeyIndexKey(valAddr, ts) - bz := store.Get(key) - return bz != nil -} - func (k Keeper) UpdateAllMaturedConsKeyRotatedKeys(ctx sdk.Context, maturedTime time.Time) { maturedRotatedValAddrs := k.GetAllMaturedRotatedKeys(ctx, maturedTime) for _, valAddrStr := range maturedRotatedValAddrs { @@ -97,13 +102,14 @@ func (k Keeper) UpdateAllMaturedConsKeyRotatedKeys(ctx sdk.Context, maturedTime func (k Keeper) GetAllMaturedRotatedKeys(ctx sdk.Context, matureTime time.Time) []string { store := ctx.KVStore(k.storeKey) var ValAddresses []string - prefixIterator := storetypes.KVStorePrefixIterator(store, storetypes.InclusiveEndBytes(types.GetConsKeyRotationTimeKey(matureTime))) + iterator := store.Iterator(types.ValidatorConsensusKeyRotationRecordQueueKey, storetypes.InclusiveEndBytes(types.GetConsKeyRotationTimeKey(matureTime))) + defer iterator.Close() - for ; prefixIterator.Valid(); prefixIterator.Next() { + for ; iterator.Valid(); iterator.Next() { var operKey types.ValAddrsOfRotatedConsKeys - k.cdc.MustUnmarshal(prefixIterator.Value(), &operKey) + k.cdc.MustUnmarshal(iterator.Value(), &operKey) ValAddresses = append(ValAddresses, operKey.Addresses...) - store.Delete(prefixIterator.Key()) + store.Delete(iterator.Key()) } return ValAddresses @@ -112,16 +118,19 @@ func (k Keeper) GetAllMaturedRotatedKeys(ctx sdk.Context, matureTime time.Time) func (k Keeper) deleteConsKeyIndexKey(ctx sdk.Context, valAddr sdk.ValAddress, ts time.Time) { store := ctx.KVStore(k.storeKey) key := types.GetConsKeyIndexKey(valAddr, ts) - prefixIterator := storetypes.KVStorePrefixIterator(store, storetypes.InclusiveEndBytes(key)) - for ; prefixIterator.Valid(); prefixIterator.Next() { - store.Delete(prefixIterator.Key()) + iterator := store.Iterator(types.ValidatorConsensusKeyRotationRecordIndexKey, storetypes.InclusiveEndBytes(key)) + defer iterator.Close() + + for ; iterator.Valid(); iterator.Next() { + store.Delete(iterator.Key()) } } func (k Keeper) CheckLimitOfMaxRotationsExceed(ctx sdk.Context, valAddr sdk.ValAddress) (bool, uint64) { store := ctx.KVStore(k.storeKey) - key := append(types.ValidatorConsensusKeyRotationRecordIndexKey, sdk.AppendLengthPrefixedBytes(valAddr)...) + key := append(types.ValidatorConsensusKeyRotationRecordIndexKey, address.MustLengthPrefix(valAddr)...) prefixIterator := storetypes.KVStorePrefixIterator(store, key) + defer prefixIterator.Close() count := uint64(0) for ; prefixIterator.Valid(); prefixIterator.Next() { diff --git a/x/staking/keeper/cons_pubkey_test.go b/x/staking/keeper/cons_pubkey_test.go index 68fdafa72a40..06a520d1abbf 100644 --- a/x/staking/keeper/cons_pubkey_test.go +++ b/x/staking/keeper/cons_pubkey_test.go @@ -1,11 +1,15 @@ package keeper_test import ( + "testing" + codectypes "github.com/cosmos/cosmos-sdk/codec/types" + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdk "github.com/cosmos/cosmos-sdk/types" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" "github.com/cosmos/cosmos-sdk/x/staking/testutil" - stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + "github.com/cosmos/cosmos-sdk/x/staking/types" "github.com/golang/mock/gomock" ) @@ -20,10 +24,10 @@ func (s *KeeperTestSuite) TestConsPubKeyRotationHistory() { val, issuedShares := val.AddTokensFromDel(valTokens) s.Require().Equal(valTokens, issuedShares.RoundInt()) - s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(gomock.Any(), stakingtypes.NotBondedPoolName, stakingtypes.BondedPoolName, gomock.Any()) + s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(gomock.Any(), types.NotBondedPoolName, types.BondedPoolName, gomock.Any()) _ = stakingkeeper.TestingUpdateValidator(stakingKeeper, ctx, val, true) val0AccAddr := sdk.AccAddress(addrVals[0].Bytes()) - selfDelegation := stakingtypes.NewDelegation(val0AccAddr, addrVals[0], issuedShares) + selfDelegation := types.NewDelegation(val0AccAddr, addrVals[0], issuedShares) stakingKeeper.SetDelegation(ctx, selfDelegation) validators := stakingKeeper.GetAllValidators(ctx) @@ -42,12 +46,12 @@ func (s *KeeperTestSuite) TestConsPubKeyRotationHistory() { newConsPub2, err := codectypes.NewAnyWithValue(PKs[2]) s.Require().NoError(err) - stakingKeeper.SetConsPubKeyRotationHistory(ctx, stakingtypes.ConsPubKeyRotationHistory{ - OperatorAddress: valAddr.String(), - OldConsPubkey: validator.ConsensusPubkey, - NewConsPubkey: newConsPub, - Height: uint64(ctx.BlockHeight()), - }) + stakingKeeper.SetConsPubKeyRotationHistory(ctx, + valAddr, + validator.ConsensusPubkey, + newConsPub, + uint64(ctx.BlockHeight()), + ) historyObjects = stakingKeeper.GetValidatorConsPubKeyRotationHistory(ctx, valAddr) s.Require().Len(historyObjects, 1) @@ -55,12 +59,12 @@ func (s *KeeperTestSuite) TestConsPubKeyRotationHistory() { historyObjects = stakingKeeper.GetBlockConsPubKeyRotationHistory(ctx, ctx.BlockHeight()) s.Require().Len(historyObjects, 1) - stakingKeeper.SetConsPubKeyRotationHistory(ctx, stakingtypes.ConsPubKeyRotationHistory{ - OperatorAddress: valAddr.String(), - OldConsPubkey: newConsPub, - NewConsPubkey: newConsPub2, - Height: uint64(ctx.BlockHeight()) + 1, - }) + stakingKeeper.SetConsPubKeyRotationHistory(ctx, + valAddr, + newConsPub, + newConsPub2, + uint64(ctx.BlockHeight())+1, + ) historyObjects = stakingKeeper.GetValidatorConsPubKeyRotationHistory(ctx, valAddr) s.Require().Len(historyObjects, 2) @@ -68,3 +72,174 @@ func (s *KeeperTestSuite) TestConsPubKeyRotationHistory() { historyObjects = stakingKeeper.GetBlockConsPubKeyRotationHistory(ctx, ctx.BlockHeight()) s.Require().Len(historyObjects, 1) } + +func (s *KeeperTestSuite) TestConsKeyRotn() { + stakingKeeper, ctx, accountKeeper, bankKeeper := s.stakingKeeper, s.ctx, s.accountKeeper, s.bankKeeper + + msgServer := stakingkeeper.NewMsgServerImpl(stakingKeeper) + s.setValidators(4) + validators := stakingKeeper.GetAllValidators(ctx) + s.Require().Len(validators, 4) + + existingPubkey, ok := validators[1].ConsensusPubkey.GetCachedValue().(cryptotypes.PubKey) + s.Require().True(ok) + + bonedPool := authtypes.NewEmptyModuleAccount(types.BondedPoolName) + accountKeeper.EXPECT().GetModuleAccount(gomock.Any(), types.BondedPoolName).Return(bonedPool).AnyTimes() + bankKeeper.EXPECT().GetBalance(gomock.Any(), bonedPool.GetAddress(), sdk.DefaultBondDenom).Return(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(1000000))).AnyTimes() + + testCases := []struct { + name string + malleate func() sdk.Context + validator sdk.ValAddress + newPubKey cryptotypes.PubKey + isErr bool + errMsg string + }{ + { + name: "1st iteration no error", + malleate: func() sdk.Context { + bankKeeper.EXPECT().SendCoinsFromAccountToModule(gomock.Any(), sdk.AccAddress(validators[0].GetOperator()), gomock.Any(), gomock.Any()).Return(nil).AnyTimes() + return ctx + }, + isErr: false, + errMsg: "", + newPubKey: PKs[499], + validator: validators[0].GetOperator(), + }, + { + name: "pubkey already associated with another validator", + malleate: func() sdk.Context { return ctx }, + isErr: true, + errMsg: "consensus pubkey is already used for a validator", + newPubKey: existingPubkey, + validator: validators[0].GetOperator(), + }, + { + name: "non existing validator", + malleate: func() sdk.Context { return ctx }, + isErr: true, + errMsg: "validator does not exist", + newPubKey: PKs[498], + validator: sdk.ValAddress("non_existing_val"), + }, + { + name: "two continuous rotations", + malleate: func() sdk.Context { + bankKeeper.EXPECT().SendCoinsFromAccountToModule(gomock.Any(), sdk.AccAddress(validators[1].GetOperator()), gomock.Any(), gomock.Any()).Return(nil).AnyTimes() + + req, err := types.NewMsgRotateConsPubKey(validators[1].GetOperator(), PKs[497]) + s.Require().NoError(err) + _, err = msgServer.RotateConsPubKey(ctx, req) + s.Require().NoError(err) + + return ctx + }, + isErr: false, + errMsg: "validator does not exist", + newPubKey: PKs[496], + validator: validators[1].GetOperator(), + }, + { + name: "limit exceeding", + malleate: func() sdk.Context { + params := stakingKeeper.GetParams(ctx) + params.MaxConsPubkeyRotations = 1 + stakingKeeper.SetParams(ctx, params) + + bankKeeper.EXPECT().SendCoinsFromAccountToModule(gomock.Any(), sdk.AccAddress(validators[2].GetOperator()), gomock.Any(), gomock.Any()).Return(nil).AnyTimes() + + req, err := types.NewMsgRotateConsPubKey(validators[2].GetOperator(), PKs[495]) + s.Require().NoError(err) + _, err = msgServer.RotateConsPubKey(ctx, req) + s.Require().NoError(err) + + return ctx + }, + isErr: true, + errMsg: "exceeding maximum consensus pubkey rotations within unbonding period", + newPubKey: PKs[494], + validator: validators[2].GetOperator(), + }, + { + name: "limit exceeding, but it should rotate after unbonding period", + malleate: func() sdk.Context { + params := stakingKeeper.GetParams(ctx) + params.MaxConsPubkeyRotations = 1 + stakingKeeper.SetParams(ctx, params) + + bankKeeper.EXPECT().SendCoinsFromAccountToModule(gomock.Any(), sdk.AccAddress(validators[3].GetOperator()), gomock.Any(), gomock.Any()).Return(nil).AnyTimes() + + // 1st rotation should pass, since limit is 1 + req, err := types.NewMsgRotateConsPubKey(validators[3].GetOperator(), PKs[494]) + s.Require().NoError(err) + _, err = msgServer.RotateConsPubKey(ctx, req) + s.Require().NoError(err) + + // this shouldn't mature the recent rotation since unbonding period isn't reached + stakingKeeper.UpdateAllMaturedConsKeyRotatedKeys(ctx, ctx.BlockHeader().Time) + + // 2nd rotation should fail since limit exceeding + req, err = types.NewMsgRotateConsPubKey(validators[3].GetOperator(), PKs[493]) + s.Require().NoError(err) + _, err = msgServer.RotateConsPubKey(ctx, req) + s.Require().Error(err, "exceeding maximum consensus pubkey rotations within unbonding period") + + // This should remove the keys from queue + // after setting the blocktime to reach the unbonding period + newCtx := ctx.WithBlockTime(ctx.BlockHeader().Time.Add(params.UnbondingTime)) + stakingKeeper.UpdateAllMaturedConsKeyRotatedKeys(newCtx, newCtx.BlockHeader().Time) + return newCtx + }, + isErr: false, + newPubKey: PKs[493], + validator: validators[3].GetOperator(), + }, + } + + for _, tc := range testCases { + s.T().Run(tc.name, func(t *testing.T) { + newCtx := tc.malleate() + + req, err := types.NewMsgRotateConsPubKey(tc.validator, tc.newPubKey) + s.Require().NoError(err) + + _, err = msgServer.RotateConsPubKey(newCtx, req) + if tc.isErr { + s.Require().Error(err) + s.Require().Contains(err.Error(), tc.errMsg) + } else { + s.Require().NoError(err) + valInfo, found := stakingKeeper.GetValidator(newCtx, tc.validator) + s.Require().True(found) + s.Require().Equal(valInfo.ConsensusPubkey, req.NewPubkey) + } + }) + } +} + +func (s *KeeperTestSuite) setValidators(n int) { + stakingKeeper, ctx := s.stakingKeeper, s.ctx + + _, addrVals := createValAddrs(n) + + for i := 0; i < n; i++ { + val := testutil.NewValidator(s.T(), addrVals[i], PKs[i]) + valTokens := stakingKeeper.TokensFromConsensusPower(ctx, 10) + val, issuedShares := val.AddTokensFromDel(valTokens) + s.Require().Equal(valTokens, issuedShares.RoundInt()) + + s.bankKeeper.EXPECT().SendCoinsFromModuleToModule(gomock.Any(), types.NotBondedPoolName, types.BondedPoolName, gomock.Any()) + _ = stakingkeeper.TestingUpdateValidator(stakingKeeper, ctx, val, true) + val0AccAddr := sdk.AccAddress(addrVals[i].Bytes()) + selfDelegation := types.NewDelegation(val0AccAddr, addrVals[i], issuedShares) + stakingKeeper.SetDelegation(ctx, selfDelegation) + } + + validators := stakingKeeper.GetAllValidators(ctx) + s.Require().Len(validators, n) + + for i := 0; i < n; i++ { + stakingKeeper.SetValidatorByConsAddr(ctx, validators[i]) + } +} diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index f4a9166816f5..b96b49105e37 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -511,13 +511,18 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC return nil, types.ErrConsensusPubKeyAlreadyUsedForAValidator } - // checks if the validator is exceeding parameter MaxConsPubKeyRotations within the - // unbonding period by iterating ConsPubKeyRotationHistory valAddr, err := sdk.ValAddressFromBech32(msg.ValidatorAddress) if err != nil { return nil, err } + validator, found := k.Keeper.GetValidator(ctx, valAddr) + if !found { + return nil, types.ErrNoValidatorFound + } + + // checks if the validator is exceeding parameter MaxConsPubKeyRotations within the + // unbonding period by iterating ConsPubKeyRotationHistory isExceedingLimit, rotationsMade := k.CheckLimitOfMaxRotationsExceed(ctx, valAddr) if isExceedingLimit { return nil, types.ErrExceedingMaxConsPubKeyRotations @@ -533,11 +538,6 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC return nil, err } - validator, found := k.Keeper.GetValidator(ctx, valAddr) - if !found { - return nil, types.ErrNoValidatorFound - } - if sdk.AccAddress(validator.GetOperator()).String() != sender.String() { return nil, sdkerrors.ErrorInvalidSigner } @@ -564,12 +564,13 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC k.SetValidator(ctx, val) // Add ConsPubKeyRotationHistory for tracking rotation - k.SetConsPubKeyRotationHistory(ctx, types.ConsPubKeyRotationHistory{ - OperatorAddress: validator.GetOperator().String(), - OldConsPubkey: oldConsensusPubKey, - NewConsPubkey: msg.NewPubkey, - Height: uint64(ctx.BlockHeight()), - }) + k.SetConsPubKeyRotationHistory( + ctx, + validator.GetOperator(), + oldConsensusPubKey, + msg.NewPubkey, + uint64(ctx.BlockHeight()), + ) return res, err } @@ -585,9 +586,9 @@ func (k msgServer) getRotationFee(ctx sdk.Context, valBondedTokens math.Int, rot if valBondedPercent.GT(defaultMultiplier) { defaultMultiplier = valBondedPercent } - fee := defaultMultiplier.Mul(k.KeyRotationFee(ctx).Amount) rotationsMultiplier := sdk.NewIntFromBigInt(new(big.Int).Exp(big.NewInt(2), big.NewInt(int64(rotationsMade)), nil)) fee = fee.Mul(rotationsMultiplier) + return sdk.NewCoin(sdk.DefaultBondDenom, fee) } diff --git a/x/staking/keeper/validator_test.go b/x/staking/keeper/validator_test.go index e32fac187651..3764b70c361c 100644 --- a/x/staking/keeper/validator_test.go +++ b/x/staking/keeper/validator_test.go @@ -9,6 +9,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" abci "github.com/cometbft/cometbft/abci/types" + authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" "github.com/cosmos/cosmos-sdk/x/staking/testutil" stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" @@ -419,12 +420,16 @@ func (s *KeeperTestSuite) TestUnbondingValidator() { } func (s *KeeperTestSuite) TestValidatorConsPubKeyUpdate() { - ctx, keeper, msgServer, bk := s.ctx, s.stakingKeeper, s.msgServer, s.bankKeeper + ctx, keeper, msgServer, bk, ak := s.ctx, s.stakingKeeper, s.msgServer, s.bankKeeper, s.accountKeeper require := s.Require() powers := []int64{10, 20} var validators [2]stakingtypes.Validator + bonedPool := authtypes.NewEmptyModuleAccount(stakingtypes.BondedPoolName) + ak.EXPECT().GetModuleAccount(gomock.Any(), stakingtypes.BondedPoolName).Return(bonedPool).AnyTimes() + bk.EXPECT().GetBalance(gomock.Any(), bonedPool.GetAddress(), sdk.DefaultBondDenom).Return(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(1000000))).AnyTimes() + for i, power := range powers { valAddr := sdk.ValAddress(PKs[i].Address().Bytes()) validators[i] = testutil.NewValidator(s.T(), valAddr, PKs[i]) From 814312d69f5885b66a2c021653d43a04d3f7b7af Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 29 Mar 2023 16:55:47 +0530 Subject: [PATCH 039/106] proto --- proto/cosmos/staking/v1beta1/staking.proto | 2 ++ 1 file changed, 2 insertions(+) diff --git a/proto/cosmos/staking/v1beta1/staking.proto b/proto/cosmos/staking/v1beta1/staking.proto index 916c254cd0e8..0e6f3f0e037f 100644 --- a/proto/cosmos/staking/v1beta1/staking.proto +++ b/proto/cosmos/staking/v1beta1/staking.proto @@ -414,6 +414,8 @@ message ConsPubKeyRotationHistory { google.protobuf.Any new_cons_pubkey = 3 [(cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey"]; // height defines the block height at which the rotation event occured. uint64 height = 4; + // fee holds the amount of fee deduced for the rotation. + cosmos.base.v1beta1.Coin fee = 5 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true]; } // ValAddrsOfRotatedConsKeys contains the array of validator addresses which rotated their keys From 76741c4625ad380deb624fc27f8680964fa052b4 Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Wed, 29 Mar 2023 11:31:24 +0000 Subject: [PATCH 040/106] proto-gen --- api/cosmos/staking/v1beta1/staking.pulsar.go | 180 +- x/staking/types/staking.pb.go | 1634 +++++++++--------- 2 files changed, 977 insertions(+), 837 deletions(-) diff --git a/api/cosmos/staking/v1beta1/staking.pulsar.go b/api/cosmos/staking/v1beta1/staking.pulsar.go index 2d394058e154..e18be98c4604 100644 --- a/api/cosmos/staking/v1beta1/staking.pulsar.go +++ b/api/cosmos/staking/v1beta1/staking.pulsar.go @@ -12812,6 +12812,7 @@ var ( fd_ConsPubKeyRotationHistory_old_cons_pubkey protoreflect.FieldDescriptor fd_ConsPubKeyRotationHistory_new_cons_pubkey protoreflect.FieldDescriptor fd_ConsPubKeyRotationHistory_height protoreflect.FieldDescriptor + fd_ConsPubKeyRotationHistory_fee protoreflect.FieldDescriptor ) func init() { @@ -12821,6 +12822,7 @@ func init() { fd_ConsPubKeyRotationHistory_old_cons_pubkey = md_ConsPubKeyRotationHistory.Fields().ByName("old_cons_pubkey") fd_ConsPubKeyRotationHistory_new_cons_pubkey = md_ConsPubKeyRotationHistory.Fields().ByName("new_cons_pubkey") fd_ConsPubKeyRotationHistory_height = md_ConsPubKeyRotationHistory.Fields().ByName("height") + fd_ConsPubKeyRotationHistory_fee = md_ConsPubKeyRotationHistory.Fields().ByName("fee") } var _ protoreflect.Message = (*fastReflection_ConsPubKeyRotationHistory)(nil) @@ -12912,6 +12914,12 @@ func (x *fastReflection_ConsPubKeyRotationHistory) Range(f func(protoreflect.Fie return } } + if x.Fee != nil { + value := protoreflect.ValueOfMessage(x.Fee.ProtoReflect()) + if !f(fd_ConsPubKeyRotationHistory_fee, value) { + return + } + } } // Has reports whether a field is populated. @@ -12935,6 +12943,8 @@ func (x *fastReflection_ConsPubKeyRotationHistory) Has(fd protoreflect.FieldDesc return x.NewConsPubkey != nil case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.height": return x.Height != uint64(0) + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.fee": + return x.Fee != nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.ConsPubKeyRotationHistory")) @@ -12959,6 +12969,8 @@ func (x *fastReflection_ConsPubKeyRotationHistory) Clear(fd protoreflect.FieldDe x.NewConsPubkey = nil case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.height": x.Height = uint64(0) + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.fee": + x.Fee = nil default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.ConsPubKeyRotationHistory")) @@ -12987,6 +12999,9 @@ func (x *fastReflection_ConsPubKeyRotationHistory) Get(descriptor protoreflect.F case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.height": value := x.Height return protoreflect.ValueOfUint64(value) + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.fee": + value := x.Fee + return protoreflect.ValueOfMessage(value.ProtoReflect()) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.ConsPubKeyRotationHistory")) @@ -13015,6 +13030,8 @@ func (x *fastReflection_ConsPubKeyRotationHistory) Set(fd protoreflect.FieldDesc x.NewConsPubkey = value.Message().Interface().(*anypb.Any) case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.height": x.Height = value.Uint() + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.fee": + x.Fee = value.Message().Interface().(*v1beta1.Coin) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.ConsPubKeyRotationHistory")) @@ -13045,6 +13062,11 @@ func (x *fastReflection_ConsPubKeyRotationHistory) Mutable(fd protoreflect.Field x.NewConsPubkey = new(anypb.Any) } return protoreflect.ValueOfMessage(x.NewConsPubkey.ProtoReflect()) + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.fee": + if x.Fee == nil { + x.Fee = new(v1beta1.Coin) + } + return protoreflect.ValueOfMessage(x.Fee.ProtoReflect()) case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.operator_address": panic(fmt.Errorf("field operator_address of message cosmos.staking.v1beta1.ConsPubKeyRotationHistory is not mutable")) case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.height": @@ -13072,6 +13094,9 @@ func (x *fastReflection_ConsPubKeyRotationHistory) NewField(fd protoreflect.Fiel return protoreflect.ValueOfMessage(m.ProtoReflect()) case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.height": return protoreflect.ValueOfUint64(uint64(0)) + case "cosmos.staking.v1beta1.ConsPubKeyRotationHistory.fee": + m := new(v1beta1.Coin) + return protoreflect.ValueOfMessage(m.ProtoReflect()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.ConsPubKeyRotationHistory")) @@ -13156,6 +13181,10 @@ func (x *fastReflection_ConsPubKeyRotationHistory) ProtoMethods() *protoiface.Me if x.Height != 0 { n += 1 + runtime.Sov(uint64(x.Height)) } + if x.Fee != nil { + l = options.Size(x.Fee) + n += 1 + l + runtime.Sov(uint64(l)) + } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -13185,6 +13214,20 @@ func (x *fastReflection_ConsPubKeyRotationHistory) ProtoMethods() *protoiface.Me i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } + if x.Fee != nil { + encoded, err := options.Marshal(x.Fee) + if err != nil { + return protoiface.MarshalOutput{ + NoUnkeyedLiterals: input.NoUnkeyedLiterals, + Buf: input.Buf, + }, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = runtime.EncodeVarint(dAtA, i, uint64(len(encoded))) + i-- + dAtA[i] = 0x2a + } if x.Height != 0 { i = runtime.EncodeVarint(dAtA, i, uint64(x.Height)) i-- @@ -13397,6 +13440,42 @@ func (x *fastReflection_ConsPubKeyRotationHistory) ProtoMethods() *protoiface.Me break } } + case 5: + if wireType != 2 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow + } + if iNdEx >= l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrInvalidLength + } + if postIndex > l { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF + } + if x.Fee == nil { + x.Fee = &v1beta1.Coin{} + } + if err := options.Unmarshal(dAtA[iNdEx:postIndex], x.Fee); err != nil { + return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -15296,6 +15375,8 @@ type ConsPubKeyRotationHistory struct { NewConsPubkey *anypb.Any `protobuf:"bytes,3,opt,name=new_cons_pubkey,json=newConsPubkey,proto3" json:"new_cons_pubkey,omitempty"` // height defines the block height at which the rotation event occured. Height uint64 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"` + // fee holds the amount of fee deduced for the rotation. + Fee *v1beta1.Coin `protobuf:"bytes,5,opt,name=fee,proto3" json:"fee,omitempty"` } func (x *ConsPubKeyRotationHistory) Reset() { @@ -15346,6 +15427,13 @@ func (x *ConsPubKeyRotationHistory) GetHeight() uint64 { return 0 } +func (x *ConsPubKeyRotationHistory) GetFee() *v1beta1.Coin { + if x != nil { + return x.Fee + } + return nil +} + // ValAddrsOfRotatedConsKeys contains the array of validator addresses which rotated their keys // This is to block the validator's next rotation till unbonding period. type ValAddrsOfRotatedConsKeys struct { @@ -15762,7 +15850,7 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, - 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0xb5, 0x02, 0x0a, 0x19, 0x43, 0x6f, + 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0xed, 0x02, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, @@ -15781,45 +15869,48 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, - 0x00, 0x22, 0x53, 0x0a, 0x19, 0x56, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x73, 0x4f, 0x66, 0x52, - 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x36, - 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x2a, 0xb6, 0x01, 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x14, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, - 0x9d, 0x20, 0x08, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, + 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x36, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, + 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, + 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x03, 0x66, 0x65, 0x65, 0x3a, + 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x53, 0x0a, 0x19, 0x56, 0x61, 0x6c, + 0x41, 0x64, 0x64, 0x72, 0x73, 0x4f, 0x66, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, + 0x6e, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x2a, 0xb6, + 0x01, 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, + 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, + 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x14, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, - 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x1a, 0x0d, 0x8a, 0x9d, 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x12, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, - 0x9d, 0x20, 0x06, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, - 0x5d, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, - 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, - 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, - 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x42, 0xdc, - 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, - 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, - 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x44, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, 0x9d, 0x20, 0x08, 0x55, 0x6e, 0x62, 0x6f, 0x6e, + 0x64, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x1a, 0x0d, + 0x8a, 0x9d, 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, + 0x12, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x4e, + 0x44, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, 0x9d, 0x20, 0x06, 0x42, 0x6f, 0x6e, 0x64, 0x65, + 0x64, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, + 0x13, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, + 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, + 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, + 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -15895,11 +15986,12 @@ var file_cosmos_staking_v1beta1_staking_proto_depIdxs = []int32{ 30, // 22: cosmos.staking.v1beta1.ValidatorUpdates.updates:type_name -> tendermint.abci.ValidatorUpdate 27, // 23: cosmos.staking.v1beta1.ConsPubKeyRotationHistory.old_cons_pubkey:type_name -> google.protobuf.Any 27, // 24: cosmos.staking.v1beta1.ConsPubKeyRotationHistory.new_cons_pubkey:type_name -> google.protobuf.Any - 25, // [25:25] is the sub-list for method output_type - 25, // [25:25] is the sub-list for method input_type - 25, // [25:25] is the sub-list for extension type_name - 25, // [25:25] is the sub-list for extension extendee - 0, // [0:25] is the sub-list for field type_name + 29, // 25: cosmos.staking.v1beta1.ConsPubKeyRotationHistory.fee:type_name -> cosmos.base.v1beta1.Coin + 26, // [26:26] is the sub-list for method output_type + 26, // [26:26] is the sub-list for method input_type + 26, // [26:26] is the sub-list for extension type_name + 26, // [26:26] is the sub-list for extension extendee + 0, // [0:26] is the sub-list for field type_name } func init() { file_cosmos_staking_v1beta1_staking_proto_init() } diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index 817fb257761c..97643a0973ed 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -1274,6 +1274,8 @@ type ConsPubKeyRotationHistory struct { NewConsPubkey *types1.Any `protobuf:"bytes,3,opt,name=new_cons_pubkey,json=newConsPubkey,proto3" json:"new_cons_pubkey,omitempty"` // height defines the block height at which the rotation event occured. Height uint64 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"` + // fee holds the amount of fee deduced for the rotation. + Fee types2.Coin `protobuf:"bytes,5,opt,name=fee,proto3" json:"fee"` } func (m *ConsPubKeyRotationHistory) Reset() { *m = ConsPubKeyRotationHistory{} } @@ -1388,134 +1390,135 @@ func init() { } var fileDescriptor_64c30c6cf92913c9 = []byte{ - // 2032 bytes of a gzipped FileDescriptorProto + // 2044 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x4d, 0x6c, 0x1b, 0xc7, 0x15, 0xd6, 0x92, 0x0c, 0x25, 0x3d, 0x4a, 0x22, 0x35, 0x76, 0x6c, 0x8a, 0x6e, 0x45, 0x86, 0x71, - 0x13, 0xc7, 0x88, 0xa9, 0xda, 0x05, 0x0a, 0x54, 0x0d, 0x5a, 0x98, 0xa2, 0x14, 0x33, 0x4e, 0x24, + 0x13, 0xc7, 0x88, 0xa9, 0xda, 0x05, 0x02, 0x54, 0x0d, 0x5a, 0x98, 0xa2, 0x14, 0x33, 0x4e, 0x24, 0x61, 0x29, 0xa9, 0x4d, 0x7f, 0xb0, 0x18, 0xee, 0x0e, 0xa9, 0xad, 0xc8, 0x59, 0x62, 0x67, 0x68, 0x8b, 0xd7, 0xa2, 0x87, 0xc0, 0x87, 0x36, 0x40, 0x2f, 0xbd, 0x18, 0x30, 0xd0, 0x4b, 0x7a, 0x0b, - 0x8a, 0xb4, 0x39, 0x14, 0x3d, 0xf4, 0x96, 0xb6, 0x17, 0x23, 0xa7, 0xa2, 0x07, 0xb5, 0xb0, 0x0f, - 0x09, 0x7a, 0x2a, 0x72, 0x6b, 0x4f, 0xc5, 0xfc, 0xec, 0x0f, 0x45, 0xd1, 0xfa, 0x81, 0x1a, 0x04, - 0xc8, 0x45, 0xe2, 0xcc, 0xbc, 0xf7, 0xcd, 0xbc, 0x6f, 0xde, 0x7b, 0xb3, 0xef, 0xc1, 0x55, 0xdb, - 0x63, 0x5d, 0x8f, 0x2d, 0x31, 0x8e, 0xf7, 0x5c, 0xda, 0x5e, 0xba, 0x77, 0xb3, 0x49, 0x38, 0xbe, - 0x19, 0x8c, 0x2b, 0x3d, 0xdf, 0xe3, 0x1e, 0xba, 0xa4, 0xa4, 0x2a, 0xc1, 0xac, 0x96, 0x2a, 0x5c, - 0x6c, 0x7b, 0x6d, 0x4f, 0x8a, 0x2c, 0x89, 0x5f, 0x4a, 0xba, 0xb0, 0xd0, 0xf6, 0xbc, 0x76, 0x87, - 0x2c, 0xc9, 0x51, 0xb3, 0xdf, 0x5a, 0xc2, 0x74, 0xa0, 0x97, 0x16, 0x0f, 0x2f, 0x39, 0x7d, 0x1f, - 0x73, 0xd7, 0xa3, 0x7a, 0xbd, 0x78, 0x78, 0x9d, 0xbb, 0x5d, 0xc2, 0x38, 0xee, 0xf6, 0x02, 0x6c, - 0x75, 0x12, 0x4b, 0x6d, 0xaa, 0x8f, 0xa5, 0xb1, 0xb5, 0x29, 0x4d, 0xcc, 0x48, 0x68, 0x87, 0xed, - 0xb9, 0x01, 0xf6, 0x3c, 0xee, 0xba, 0xd4, 0x5b, 0x92, 0x7f, 0xf5, 0xd4, 0x57, 0x38, 0xa1, 0x0e, - 0xf1, 0xbb, 0x2e, 0xe5, 0x4b, 0x7c, 0xd0, 0x23, 0x4c, 0xfd, 0xd5, 0xab, 0x57, 0x62, 0xab, 0xb8, - 0x69, 0xbb, 0xf1, 0xc5, 0xf2, 0x2f, 0x0d, 0x98, 0xbb, 0xe3, 0x32, 0xee, 0xf9, 0xae, 0x8d, 0x3b, - 0x75, 0xda, 0xf2, 0xd0, 0xb7, 0x21, 0xbd, 0x4b, 0xb0, 0x43, 0xfc, 0xbc, 0x51, 0x32, 0xae, 0x65, - 0x6e, 0xe5, 0x2b, 0x11, 0x40, 0x45, 0xe9, 0xde, 0x91, 0xeb, 0xd5, 0xe9, 0x8f, 0x0e, 0x8a, 0x13, - 0xef, 0x7d, 0xf2, 0xfe, 0x75, 0xc3, 0xd4, 0x2a, 0xa8, 0x06, 0xe9, 0x7b, 0xb8, 0xc3, 0x08, 0xcf, - 0x27, 0x4a, 0xc9, 0x6b, 0x99, 0x5b, 0x2f, 0x54, 0x8e, 0xe6, 0xbc, 0xb2, 0x83, 0x3b, 0xae, 0x83, - 0xb9, 0x37, 0x8c, 0xa2, 0x74, 0xcb, 0x1f, 0x26, 0x20, 0xbb, 0xe2, 0x75, 0xbb, 0x2e, 0x63, 0xae, - 0x47, 0x4d, 0xcc, 0x09, 0x43, 0xdb, 0x90, 0xf2, 0x31, 0x27, 0xf2, 0x50, 0xd3, 0xd5, 0xdb, 0x42, - 0xe9, 0xef, 0x07, 0xc5, 0x97, 0xda, 0x2e, 0xdf, 0xed, 0x37, 0x2b, 0xb6, 0xd7, 0xd5, 0x34, 0xea, - 0x7f, 0x37, 0x98, 0xb3, 0xa7, 0x2d, 0xad, 0x11, 0xfb, 0xe3, 0x0f, 0x6e, 0x80, 0x3e, 0x48, 0x8d, - 0xd8, 0x6a, 0x33, 0x09, 0x87, 0x7e, 0x04, 0x53, 0x5d, 0xbc, 0x6f, 0x49, 0xe8, 0xc4, 0x79, 0x41, - 0x4f, 0x76, 0xf1, 0xbe, 0x38, 0x35, 0x72, 0x21, 0x2b, 0xd0, 0xed, 0x5d, 0x4c, 0xdb, 0x44, 0x6d, - 0x92, 0x3c, 0xaf, 0x4d, 0x66, 0xbb, 0x78, 0x7f, 0x45, 0x02, 0x8b, 0xad, 0x96, 0x53, 0x9f, 0x3e, - 0x2a, 0x1a, 0xe5, 0x3f, 0x19, 0x00, 0x11, 0x73, 0x08, 0x43, 0xce, 0x0e, 0x47, 0x72, 0x7f, 0xa6, - 0x6f, 0xf5, 0xe5, 0x71, 0x17, 0x73, 0x88, 0xf7, 0xea, 0xac, 0x38, 0xe9, 0xe3, 0x83, 0xa2, 0xa1, - 0x76, 0xcd, 0xda, 0x87, 0xee, 0xe5, 0x0d, 0xc8, 0xf4, 0x7b, 0x0e, 0xe6, 0xc4, 0x12, 0x4e, 0x2e, - 0x39, 0xcc, 0xdc, 0x2a, 0x54, 0x54, 0x04, 0x54, 0x82, 0x08, 0xa8, 0x6c, 0x05, 0x11, 0xa0, 0x00, - 0xdf, 0xfd, 0x47, 0x00, 0x08, 0x4a, 0x5b, 0xac, 0x6b, 0x1b, 0xde, 0x33, 0x20, 0x53, 0x23, 0xcc, - 0xf6, 0xdd, 0x9e, 0x88, 0x29, 0x94, 0x87, 0xc9, 0xae, 0x47, 0xdd, 0x3d, 0xed, 0x91, 0xd3, 0x66, - 0x30, 0x44, 0x05, 0x98, 0x72, 0x1d, 0x42, 0xb9, 0xcb, 0x07, 0xea, 0xf2, 0xcc, 0x70, 0x2c, 0xb4, - 0xee, 0x93, 0x26, 0x73, 0x03, 0xca, 0xcd, 0x60, 0x88, 0x5e, 0x81, 0x1c, 0x23, 0x76, 0xdf, 0x77, - 0xf9, 0xc0, 0xb2, 0x3d, 0xca, 0xb1, 0xcd, 0xf3, 0x29, 0x29, 0x92, 0x0d, 0xe6, 0x57, 0xd4, 0xb4, - 0x00, 0x71, 0x08, 0xc7, 0x6e, 0x87, 0xe5, 0x9f, 0x53, 0x20, 0x7a, 0xa8, 0x8f, 0xfa, 0xe1, 0x24, - 0x4c, 0x87, 0x9e, 0x8c, 0x56, 0x20, 0xe7, 0xf5, 0x88, 0x2f, 0x7e, 0x5b, 0xd8, 0x71, 0x7c, 0xc2, - 0x98, 0x76, 0xd7, 0xfc, 0xc7, 0x1f, 0xdc, 0xb8, 0xa8, 0x09, 0xbf, 0xad, 0x56, 0x1a, 0xdc, 0x77, - 0x69, 0xdb, 0xcc, 0x06, 0x1a, 0x7a, 0x1a, 0xbd, 0x2d, 0xae, 0x8c, 0x32, 0x42, 0x59, 0x9f, 0x59, - 0xbd, 0x7e, 0x73, 0x8f, 0x0c, 0x34, 0xa9, 0x17, 0x47, 0x48, 0xbd, 0x4d, 0x07, 0xd5, 0xfc, 0x5f, - 0x22, 0x68, 0xdb, 0x1f, 0xf4, 0xb8, 0x57, 0xd9, 0xec, 0x37, 0xef, 0x92, 0x81, 0xb8, 0x2a, 0x8d, - 0xb3, 0x29, 0x61, 0xd0, 0x25, 0x48, 0xff, 0x04, 0xbb, 0x1d, 0xe2, 0x48, 0x46, 0xa6, 0x4c, 0x3d, - 0x42, 0xcb, 0x90, 0x66, 0x1c, 0xf3, 0x3e, 0x93, 0x34, 0xcc, 0xdd, 0x2a, 0x8f, 0xf3, 0x8d, 0xaa, - 0x47, 0x9d, 0x86, 0x94, 0x34, 0xb5, 0x06, 0xda, 0x82, 0x34, 0xf7, 0xf6, 0x08, 0xd5, 0x04, 0x55, - 0x5f, 0x3b, 0x85, 0x63, 0xd7, 0x29, 0x8f, 0x39, 0x76, 0x9d, 0x72, 0x53, 0x63, 0xa1, 0x36, 0xe4, - 0x1c, 0xd2, 0x21, 0x6d, 0x49, 0x25, 0xdb, 0xc5, 0x3e, 0x61, 0xf9, 0xf4, 0xa9, 0xf1, 0x47, 0x02, - 0xc7, 0xcc, 0x86, 0xa8, 0x0d, 0x09, 0x8a, 0x36, 0x21, 0xe3, 0x44, 0xae, 0x96, 0x9f, 0x94, 0x44, - 0xbf, 0x38, 0xce, 0xfe, 0x98, 0x57, 0xc6, 0xd3, 0x56, 0x1c, 0x42, 0x78, 0x57, 0x9f, 0x36, 0x3d, - 0xea, 0xb8, 0xb4, 0x6d, 0xed, 0x12, 0xb7, 0xbd, 0xcb, 0xf3, 0x53, 0x25, 0xe3, 0x5a, 0xd2, 0xcc, - 0x86, 0xf3, 0x77, 0xe4, 0x34, 0xda, 0x84, 0xb9, 0x48, 0x54, 0x46, 0xcf, 0xf4, 0x69, 0xa3, 0x67, - 0x36, 0x04, 0x10, 0x22, 0xe8, 0x2d, 0x80, 0x28, 0x3e, 0xf3, 0x20, 0xd1, 0xca, 0xc7, 0x47, 0x7a, - 0xdc, 0x98, 0x18, 0x00, 0xea, 0xc0, 0x85, 0xae, 0x4b, 0x2d, 0x46, 0x3a, 0x2d, 0x4b, 0x33, 0x27, - 0x70, 0x33, 0xe7, 0x70, 0xd3, 0xf3, 0x5d, 0x97, 0x36, 0x48, 0xa7, 0x55, 0x0b, 0x61, 0xd1, 0x6b, - 0x70, 0x25, 0xa2, 0xc3, 0xa3, 0xd6, 0xae, 0xd7, 0x71, 0x2c, 0x9f, 0xb4, 0x2c, 0xdb, 0xeb, 0x53, - 0x9e, 0x9f, 0x91, 0x24, 0x5e, 0x0e, 0x45, 0x36, 0xe8, 0x1d, 0xaf, 0xe3, 0x98, 0xa4, 0xb5, 0x22, - 0x96, 0xd1, 0x8b, 0x10, 0x71, 0x61, 0xb9, 0x0e, 0xcb, 0xcf, 0x96, 0x92, 0xd7, 0x52, 0xe6, 0x4c, - 0x38, 0x59, 0x77, 0xd8, 0xf2, 0xd4, 0x3b, 0x8f, 0x8a, 0x13, 0x9f, 0x3e, 0x2a, 0x4e, 0x94, 0xd7, - 0x60, 0x66, 0x07, 0x77, 0x74, 0xd0, 0x11, 0x86, 0xbe, 0x09, 0xd3, 0x38, 0x18, 0xe4, 0x8d, 0x52, - 0xf2, 0x99, 0x41, 0x1b, 0x89, 0x96, 0x1f, 0x19, 0x90, 0xae, 0xed, 0x6c, 0x62, 0xd7, 0x47, 0xab, - 0x30, 0x1f, 0x39, 0xed, 0x49, 0xe3, 0x3f, 0xf2, 0xf3, 0x20, 0x01, 0xac, 0xc2, 0xfc, 0xbd, 0x20, - 0xa5, 0x84, 0x30, 0x89, 0xe3, 0x60, 0x42, 0x15, 0x3d, 0x1f, 0x33, 0xf5, 0x0d, 0x98, 0x54, 0x27, - 0x64, 0xe8, 0xbb, 0xf0, 0x5c, 0x4f, 0xfc, 0x90, 0x16, 0x66, 0x6e, 0x2d, 0x8e, 0x75, 0x74, 0x29, - 0x1f, 0x77, 0x0b, 0xa5, 0x57, 0xfe, 0x8f, 0x01, 0x50, 0xdb, 0xd9, 0xd9, 0xf2, 0xdd, 0x5e, 0x87, - 0xf0, 0xf3, 0x32, 0xf9, 0x4d, 0x78, 0x3e, 0x32, 0x99, 0xf9, 0xf6, 0x89, 0xcd, 0xbe, 0x10, 0xaa, - 0x35, 0x7c, 0xfb, 0x48, 0x34, 0x87, 0xf1, 0x10, 0x2d, 0x79, 0x62, 0xb4, 0x1a, 0xe3, 0xa3, 0x3c, - 0x7e, 0x1f, 0x32, 0x91, 0xe9, 0x0c, 0xd5, 0x61, 0x8a, 0xeb, 0xdf, 0x9a, 0xce, 0xf2, 0x78, 0x3a, - 0x03, 0xb5, 0x38, 0xa5, 0xa1, 0x7a, 0xf9, 0xbf, 0x82, 0xd5, 0x28, 0x10, 0xbe, 0x50, 0x8e, 0x24, - 0x32, 0xbc, 0xce, 0xc0, 0xc9, 0x73, 0xc8, 0xc0, 0x1a, 0x2b, 0x46, 0xeb, 0xcf, 0x12, 0x70, 0x61, - 0x3b, 0x08, 0xd2, 0x2f, 0x2c, 0x0b, 0xdb, 0x30, 0x49, 0x28, 0xf7, 0x5d, 0x49, 0x83, 0xb8, 0xec, - 0xaf, 0x8f, 0xbb, 0xec, 0x23, 0x6c, 0x59, 0xa5, 0xdc, 0x1f, 0xc4, 0xaf, 0x3e, 0xc0, 0x8a, 0xd1, - 0xf0, 0xc7, 0x24, 0xe4, 0xc7, 0xa9, 0xa2, 0x97, 0x21, 0x6b, 0xfb, 0x44, 0x4e, 0x04, 0x6f, 0x8a, - 0x21, 0xd3, 0xe1, 0x5c, 0x30, 0xad, 0x9f, 0x14, 0x13, 0xc4, 0x07, 0x9a, 0xf0, 0x2a, 0x21, 0x7a, - 0xb6, 0x2f, 0xb2, 0xb9, 0x08, 0x41, 0x3e, 0x2a, 0x04, 0xb2, 0x2e, 0x75, 0xb9, 0x8b, 0x3b, 0x56, - 0x13, 0x77, 0x30, 0xb5, 0xc9, 0x19, 0x3c, 0x61, 0xf4, 0x05, 0x98, 0xd3, 0xa0, 0x55, 0x85, 0x89, - 0x76, 0x60, 0x32, 0x80, 0x4f, 0x9d, 0x03, 0x7c, 0x00, 0x86, 0x5e, 0x80, 0x99, 0xf8, 0xc3, 0x20, - 0xbf, 0x53, 0x52, 0x66, 0x26, 0xf6, 0x2e, 0x1c, 0xf7, 0xf2, 0xa4, 0x9f, 0xf9, 0xf2, 0xe8, 0x4f, - 0xc1, 0x3f, 0x24, 0x61, 0xde, 0x24, 0xce, 0x97, 0xf0, 0xe2, 0x7e, 0x08, 0xa0, 0x82, 0x5a, 0x24, - 0xdb, 0x33, 0xdc, 0xdd, 0x68, 0x92, 0x98, 0x56, 0x78, 0x35, 0xc6, 0x3f, 0xaf, 0xdb, 0xfb, 0x6b, - 0x02, 0x66, 0xe2, 0xb7, 0xf7, 0x25, 0x78, 0xd9, 0xd0, 0x7a, 0x94, 0xd2, 0x52, 0x32, 0xa5, 0xbd, - 0x32, 0x2e, 0xa5, 0x8d, 0xf8, 0xf5, 0x31, 0xb9, 0xec, 0xb7, 0x29, 0x48, 0x6f, 0x62, 0x1f, 0x77, - 0x19, 0xda, 0x18, 0xf9, 0xc6, 0x55, 0xf5, 0xe7, 0xc2, 0x88, 0x5b, 0xd7, 0x74, 0x0f, 0x45, 0x79, - 0xf5, 0xaf, 0xc6, 0x7d, 0xe2, 0x7e, 0x0d, 0xe6, 0x44, 0x49, 0x1d, 0x1a, 0xa4, 0xa8, 0x9c, 0x95, - 0xe5, 0x70, 0x58, 0x8a, 0x31, 0x54, 0x84, 0x8c, 0x10, 0x8b, 0x72, 0xb6, 0x90, 0x81, 0x2e, 0xde, - 0x5f, 0x55, 0x33, 0xe8, 0x06, 0xa0, 0xdd, 0xb0, 0xf1, 0x61, 0x45, 0x44, 0x08, 0xb9, 0xf9, 0x68, - 0x25, 0x10, 0xff, 0x2a, 0x80, 0x38, 0x85, 0xe5, 0x10, 0xea, 0x75, 0x75, 0x31, 0x38, 0x2d, 0x66, - 0x6a, 0x62, 0x02, 0xfd, 0xc2, 0x50, 0x9f, 0xca, 0x87, 0xaa, 0x6d, 0x5d, 0xb4, 0x58, 0xa7, 0x8b, - 0x86, 0xcf, 0x0e, 0x8a, 0x85, 0x01, 0xee, 0x76, 0x96, 0xcb, 0x47, 0x40, 0x96, 0x8f, 0xea, 0x05, - 0x88, 0xaf, 0xe9, 0xe1, 0xc2, 0x1d, 0xad, 0x43, 0x6e, 0x8f, 0x0c, 0x2c, 0xdf, 0xe3, 0x2a, 0xfb, - 0xb4, 0x08, 0xd1, 0xe5, 0xcd, 0x42, 0x70, 0xcd, 0x4d, 0xcc, 0x48, 0xac, 0x1a, 0x70, 0x87, 0xea, - 0x80, 0xb9, 0x3d, 0x32, 0x30, 0xb5, 0xf2, 0x1a, 0x21, 0xe8, 0x5b, 0xb0, 0x20, 0x5b, 0x19, 0x1e, - 0x0d, 0xca, 0xd2, 0x10, 0x9b, 0xc9, 0x02, 0x27, 0x65, 0x5e, 0xea, 0xe2, 0xfd, 0x15, 0x8f, 0xea, - 0x72, 0x33, 0x50, 0x66, 0xcb, 0x57, 0x45, 0x88, 0x3d, 0xf8, 0xe4, 0xfd, 0xeb, 0x57, 0x62, 0xd6, - 0xee, 0x87, 0xcd, 0x3a, 0xe5, 0x29, 0xe5, 0xdf, 0x18, 0x80, 0xa2, 0x77, 0xcf, 0x24, 0xac, 0x27, - 0xca, 0x57, 0x51, 0xd2, 0xc4, 0x4a, 0x0f, 0xe3, 0xd9, 0x25, 0x4d, 0xa4, 0x3f, 0x54, 0xd2, 0xc4, - 0xe2, 0xfa, 0x3b, 0xd1, 0x2b, 0x93, 0x38, 0x05, 0x1b, 0x81, 0x92, 0x4c, 0x17, 0x13, 0xe5, 0x03, - 0x03, 0x16, 0x46, 0x82, 0x22, 0x3c, 0xb2, 0x0d, 0xc8, 0x8f, 0x2d, 0x4a, 0xe7, 0x1a, 0xe8, 0xa3, - 0x9f, 0x2d, 0xc6, 0xe6, 0xfd, 0x91, 0x97, 0xe5, 0xff, 0xf4, 0x5c, 0xea, 0x7c, 0xf8, 0x67, 0x03, - 0x2e, 0xc6, 0x4f, 0x14, 0xda, 0xd6, 0x80, 0x99, 0xf8, 0x59, 0xb4, 0x55, 0x57, 0x4f, 0x62, 0x55, - 0xdc, 0xa0, 0x21, 0x10, 0x61, 0x4b, 0x10, 0x80, 0xaa, 0x6d, 0x78, 0xf3, 0xc4, 0x2c, 0x05, 0x07, - 0x3b, 0x32, 0x23, 0xa9, 0xcb, 0xfa, 0x79, 0x02, 0x52, 0x9b, 0x9e, 0xd7, 0x41, 0x3f, 0x35, 0x60, - 0x9e, 0x7a, 0xdc, 0x12, 0x61, 0x4b, 0x1c, 0x4b, 0xf7, 0x2d, 0x54, 0x52, 0xdf, 0x39, 0x1d, 0x7b, - 0xff, 0x3a, 0x28, 0x8e, 0x42, 0x0d, 0x53, 0xaa, 0xfb, 0x65, 0xd4, 0xe3, 0x55, 0x29, 0xb4, 0xa5, - 0x5a, 0x1b, 0xf7, 0x61, 0x76, 0x78, 0x7f, 0xf5, 0x12, 0x98, 0xa7, 0xde, 0x7f, 0xf6, 0xd8, 0xbd, - 0x67, 0x9a, 0xb1, 0x8d, 0x97, 0xa7, 0xc4, 0xc5, 0xfe, 0x5b, 0x5c, 0xee, 0xdb, 0x90, 0x0b, 0x33, - 0xe5, 0xb6, 0xec, 0xbe, 0x89, 0xcf, 0xe4, 0x49, 0xd5, 0x88, 0x0b, 0x8a, 0x99, 0x52, 0xbc, 0xed, - 0x8b, 0x9b, 0xb6, 0x5b, 0x39, 0xa4, 0x33, 0xc4, 0xb8, 0xd6, 0x2d, 0xff, 0x2e, 0x01, 0x0b, 0x3a, - 0x05, 0xdc, 0x8d, 0x52, 0x80, 0xea, 0x30, 0x0f, 0xd0, 0xda, 0xd8, 0x06, 0xd9, 0x95, 0xcf, 0x0e, - 0x8a, 0x97, 0x55, 0xce, 0x3b, 0x2c, 0x51, 0x1e, 0xed, 0x91, 0xed, 0x40, 0x56, 0xbc, 0xf1, 0xb1, - 0x5c, 0x74, 0xc6, 0x16, 0xd9, 0xac, 0xd7, 0x71, 0xa2, 0x8c, 0x25, 0x70, 0x29, 0xb9, 0x3f, 0x84, - 0x9b, 0x3c, 0x1b, 0x2e, 0x25, 0xf7, 0x63, 0xb8, 0x97, 0x20, 0xad, 0x3f, 0xfe, 0x52, 0x32, 0x51, - 0xea, 0x51, 0xec, 0xc5, 0x6c, 0xc0, 0x82, 0x6e, 0x47, 0xb0, 0x8d, 0x96, 0xa4, 0x8d, 0xc8, 0x83, - 0xdd, 0x25, 0x83, 0x33, 0xf7, 0x26, 0xae, 0xff, 0xde, 0x00, 0x88, 0x5a, 0x76, 0xe8, 0x55, 0xb8, - 0x5c, 0xdd, 0x58, 0xaf, 0x59, 0x8d, 0xad, 0xdb, 0x5b, 0xdb, 0x0d, 0x6b, 0x7b, 0xbd, 0xb1, 0xb9, - 0xba, 0x52, 0x5f, 0xab, 0xaf, 0xd6, 0x72, 0x13, 0x85, 0xec, 0x83, 0x87, 0xa5, 0xcc, 0x36, 0x65, - 0x3d, 0x62, 0xbb, 0x2d, 0x97, 0x38, 0xe8, 0x25, 0xb8, 0x38, 0x2c, 0x2d, 0x46, 0xab, 0xb5, 0x9c, - 0x51, 0x98, 0x79, 0xf0, 0xb0, 0x34, 0xa5, 0x4a, 0x15, 0xe2, 0xa0, 0x6b, 0xf0, 0xfc, 0xa8, 0x5c, - 0x7d, 0xfd, 0xf5, 0x5c, 0xa2, 0x30, 0xfb, 0xe0, 0x61, 0x69, 0x3a, 0xac, 0x69, 0x50, 0x19, 0x50, - 0x5c, 0x52, 0xe3, 0x25, 0x0b, 0xf0, 0xe0, 0x61, 0x29, 0xad, 0x62, 0xa4, 0x90, 0x7a, 0xe7, 0xd7, - 0x8b, 0x13, 0xd7, 0x7f, 0x0c, 0x50, 0xa7, 0x2d, 0x1f, 0xdb, 0x32, 0x3b, 0x14, 0xe0, 0x52, 0x7d, - 0x7d, 0xcd, 0xbc, 0xbd, 0xb2, 0x55, 0xdf, 0x58, 0x1f, 0x3e, 0xf6, 0xa1, 0xb5, 0xda, 0xc6, 0x76, - 0xf5, 0xcd, 0x55, 0xab, 0x51, 0x7f, 0x7d, 0x3d, 0x67, 0xa0, 0xcb, 0x70, 0x61, 0x68, 0xed, 0x7b, - 0xeb, 0x5b, 0xf5, 0xb7, 0x56, 0x73, 0x89, 0xea, 0xda, 0x47, 0x4f, 0x16, 0x8d, 0xc7, 0x4f, 0x16, - 0x8d, 0x7f, 0x3e, 0x59, 0x34, 0xde, 0x7d, 0xba, 0x38, 0xf1, 0xf8, 0xe9, 0xe2, 0xc4, 0xdf, 0x9e, - 0x2e, 0x4e, 0xfc, 0xe0, 0xd5, 0x67, 0x46, 0x5f, 0xf4, 0x64, 0xc9, 0x38, 0x6c, 0xa6, 0xa5, 0x37, - 0x7c, 0xe3, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x2e, 0x31, 0x9d, 0x54, 0x7e, 0x1a, 0x00, 0x00, + 0x8a, 0xa0, 0x39, 0x14, 0x3d, 0xf4, 0x96, 0xb6, 0x17, 0x23, 0xa7, 0xa2, 0x07, 0xb5, 0xb0, 0x0f, + 0x09, 0x0a, 0x14, 0x28, 0x72, 0x6b, 0x4f, 0xc5, 0xfc, 0xec, 0x0f, 0x45, 0xd1, 0xfa, 0x81, 0x5a, + 0x04, 0xc8, 0x45, 0xe2, 0xcc, 0xbc, 0xf7, 0xcd, 0xbc, 0x6f, 0xde, 0x7b, 0xb3, 0xef, 0xc1, 0x55, + 0xdb, 0x63, 0x5d, 0x8f, 0x2d, 0x31, 0x8e, 0xf7, 0x5c, 0xda, 0x5e, 0xba, 0x77, 0xb3, 0x49, 0x38, + 0xbe, 0x19, 0x8c, 0x2b, 0x3d, 0xdf, 0xe3, 0x1e, 0xba, 0xa4, 0xa4, 0x2a, 0xc1, 0xac, 0x96, 0x2a, + 0x5c, 0x6c, 0x7b, 0x6d, 0x4f, 0x8a, 0x2c, 0x89, 0x5f, 0x4a, 0xba, 0xb0, 0xd0, 0xf6, 0xbc, 0x76, + 0x87, 0x2c, 0xc9, 0x51, 0xb3, 0xdf, 0x5a, 0xc2, 0x74, 0xa0, 0x97, 0x16, 0x0f, 0x2f, 0x39, 0x7d, + 0x1f, 0x73, 0xd7, 0xa3, 0x7a, 0xbd, 0x78, 0x78, 0x9d, 0xbb, 0x5d, 0xc2, 0x38, 0xee, 0xf6, 0x02, + 0x6c, 0x75, 0x12, 0x4b, 0x6d, 0xaa, 0x8f, 0xa5, 0xb1, 0xb5, 0x29, 0x4d, 0xcc, 0x48, 0x68, 0x87, + 0xed, 0xb9, 0x01, 0xf6, 0x3c, 0xee, 0xba, 0xd4, 0x5b, 0x92, 0x7f, 0xf5, 0xd4, 0x57, 0x38, 0xa1, + 0x0e, 0xf1, 0xbb, 0x2e, 0xe5, 0x4b, 0x7c, 0xd0, 0x23, 0x4c, 0xfd, 0xd5, 0xab, 0x57, 0x62, 0xab, + 0xb8, 0x69, 0xbb, 0xf1, 0xc5, 0xf2, 0x2f, 0x0c, 0x98, 0xbb, 0xe3, 0x32, 0xee, 0xf9, 0xae, 0x8d, + 0x3b, 0x75, 0xda, 0xf2, 0xd0, 0xb7, 0x20, 0xbd, 0x4b, 0xb0, 0x43, 0xfc, 0xbc, 0x51, 0x32, 0xae, + 0x65, 0x6e, 0xe5, 0x2b, 0x11, 0x40, 0x45, 0xe9, 0xde, 0x91, 0xeb, 0xd5, 0xe9, 0x8f, 0x0f, 0x8a, + 0x13, 0xef, 0x7f, 0xfa, 0xc1, 0x75, 0xc3, 0xd4, 0x2a, 0xa8, 0x06, 0xe9, 0x7b, 0xb8, 0xc3, 0x08, + 0xcf, 0x27, 0x4a, 0xc9, 0x6b, 0x99, 0x5b, 0x2f, 0x54, 0x8e, 0xe6, 0xbc, 0xb2, 0x83, 0x3b, 0xae, + 0x83, 0xb9, 0x37, 0x8c, 0xa2, 0x74, 0xcb, 0x1f, 0x25, 0x20, 0xbb, 0xe2, 0x75, 0xbb, 0x2e, 0x63, + 0xae, 0x47, 0x4d, 0xcc, 0x09, 0x43, 0xdb, 0x90, 0xf2, 0x31, 0x27, 0xf2, 0x50, 0xd3, 0xd5, 0xdb, + 0x42, 0xe9, 0xaf, 0x07, 0xc5, 0x97, 0xda, 0x2e, 0xdf, 0xed, 0x37, 0x2b, 0xb6, 0xd7, 0xd5, 0x34, + 0xea, 0x7f, 0x37, 0x98, 0xb3, 0xa7, 0x2d, 0xad, 0x11, 0xfb, 0x93, 0x0f, 0x6f, 0x80, 0x3e, 0x48, + 0x8d, 0xd8, 0x6a, 0x33, 0x09, 0x87, 0x7e, 0x08, 0x53, 0x5d, 0xbc, 0x6f, 0x49, 0xe8, 0xc4, 0x79, + 0x41, 0x4f, 0x76, 0xf1, 0xbe, 0x38, 0x35, 0x72, 0x21, 0x2b, 0xd0, 0xed, 0x5d, 0x4c, 0xdb, 0x44, + 0x6d, 0x92, 0x3c, 0xaf, 0x4d, 0x66, 0xbb, 0x78, 0x7f, 0x45, 0x02, 0x8b, 0xad, 0x96, 0x53, 0x9f, + 0x3d, 0x2a, 0x1a, 0xe5, 0x3f, 0x18, 0x00, 0x11, 0x73, 0x08, 0x43, 0xce, 0x0e, 0x47, 0x72, 0x7f, + 0xa6, 0x6f, 0xf5, 0xe5, 0x71, 0x17, 0x73, 0x88, 0xf7, 0xea, 0xac, 0x38, 0xe9, 0xe3, 0x83, 0xa2, + 0xa1, 0x76, 0xcd, 0xda, 0x87, 0xee, 0xe5, 0x4d, 0xc8, 0xf4, 0x7b, 0x0e, 0xe6, 0xc4, 0x12, 0x4e, + 0x2e, 0x39, 0xcc, 0xdc, 0x2a, 0x54, 0x54, 0x04, 0x54, 0x82, 0x08, 0xa8, 0x6c, 0x05, 0x11, 0xa0, + 0x00, 0xdf, 0xfb, 0x5b, 0x00, 0x08, 0x4a, 0x5b, 0xac, 0x6b, 0x1b, 0xde, 0x37, 0x20, 0x53, 0x23, + 0xcc, 0xf6, 0xdd, 0x9e, 0x88, 0x29, 0x94, 0x87, 0xc9, 0xae, 0x47, 0xdd, 0x3d, 0xed, 0x91, 0xd3, + 0x66, 0x30, 0x44, 0x05, 0x98, 0x72, 0x1d, 0x42, 0xb9, 0xcb, 0x07, 0xea, 0xf2, 0xcc, 0x70, 0x2c, + 0xb4, 0xee, 0x93, 0x26, 0x73, 0x03, 0xca, 0xcd, 0x60, 0x88, 0x5e, 0x81, 0x1c, 0x23, 0x76, 0xdf, + 0x77, 0xf9, 0xc0, 0xb2, 0x3d, 0xca, 0xb1, 0xcd, 0xf3, 0x29, 0x29, 0x92, 0x0d, 0xe6, 0x57, 0xd4, + 0xb4, 0x00, 0x71, 0x08, 0xc7, 0x6e, 0x87, 0xe5, 0x9f, 0x53, 0x20, 0x7a, 0xa8, 0x8f, 0xfa, 0xd1, + 0x24, 0x4c, 0x87, 0x9e, 0x8c, 0x56, 0x20, 0xe7, 0xf5, 0x88, 0x2f, 0x7e, 0x5b, 0xd8, 0x71, 0x7c, + 0xc2, 0x98, 0x76, 0xd7, 0xfc, 0x27, 0x1f, 0xde, 0xb8, 0xa8, 0x09, 0xbf, 0xad, 0x56, 0x1a, 0xdc, + 0x77, 0x69, 0xdb, 0xcc, 0x06, 0x1a, 0x7a, 0x1a, 0xbd, 0x23, 0xae, 0x8c, 0x32, 0x42, 0x59, 0x9f, + 0x59, 0xbd, 0x7e, 0x73, 0x8f, 0x0c, 0x34, 0xa9, 0x17, 0x47, 0x48, 0xbd, 0x4d, 0x07, 0xd5, 0xfc, + 0x9f, 0x22, 0x68, 0xdb, 0x1f, 0xf4, 0xb8, 0x57, 0xd9, 0xec, 0x37, 0xef, 0x92, 0x81, 0xb8, 0x2a, + 0x8d, 0xb3, 0x29, 0x61, 0xd0, 0x25, 0x48, 0xff, 0x18, 0xbb, 0x1d, 0xe2, 0x48, 0x46, 0xa6, 0x4c, + 0x3d, 0x42, 0xcb, 0x90, 0x66, 0x1c, 0xf3, 0x3e, 0x93, 0x34, 0xcc, 0xdd, 0x2a, 0x8f, 0xf3, 0x8d, + 0xaa, 0x47, 0x9d, 0x86, 0x94, 0x34, 0xb5, 0x06, 0xda, 0x82, 0x34, 0xf7, 0xf6, 0x08, 0xd5, 0x04, + 0x55, 0x5f, 0x3f, 0x85, 0x63, 0xd7, 0x29, 0x8f, 0x39, 0x76, 0x9d, 0x72, 0x53, 0x63, 0xa1, 0x36, + 0xe4, 0x1c, 0xd2, 0x21, 0x6d, 0x49, 0x25, 0xdb, 0xc5, 0x3e, 0x61, 0xf9, 0xf4, 0xa9, 0xf1, 0x47, + 0x02, 0xc7, 0xcc, 0x86, 0xa8, 0x0d, 0x09, 0x8a, 0x36, 0x21, 0xe3, 0x44, 0xae, 0x96, 0x9f, 0x94, + 0x44, 0xbf, 0x38, 0xce, 0xfe, 0x98, 0x57, 0xc6, 0xd3, 0x56, 0x1c, 0x42, 0x78, 0x57, 0x9f, 0x36, + 0x3d, 0xea, 0xb8, 0xb4, 0x6d, 0xed, 0x12, 0xb7, 0xbd, 0xcb, 0xf3, 0x53, 0x25, 0xe3, 0x5a, 0xd2, + 0xcc, 0x86, 0xf3, 0x77, 0xe4, 0x34, 0xda, 0x84, 0xb9, 0x48, 0x54, 0x46, 0xcf, 0xf4, 0x69, 0xa3, + 0x67, 0x36, 0x04, 0x10, 0x22, 0xe8, 0x6d, 0x80, 0x28, 0x3e, 0xf3, 0x20, 0xd1, 0xca, 0xc7, 0x47, + 0x7a, 0xdc, 0x98, 0x18, 0x00, 0xea, 0xc0, 0x85, 0xae, 0x4b, 0x2d, 0x46, 0x3a, 0x2d, 0x4b, 0x33, + 0x27, 0x70, 0x33, 0xe7, 0x70, 0xd3, 0xf3, 0x5d, 0x97, 0x36, 0x48, 0xa7, 0x55, 0x0b, 0x61, 0xd1, + 0xeb, 0x70, 0x25, 0xa2, 0xc3, 0xa3, 0xd6, 0xae, 0xd7, 0x71, 0x2c, 0x9f, 0xb4, 0x2c, 0xdb, 0xeb, + 0x53, 0x9e, 0x9f, 0x91, 0x24, 0x5e, 0x0e, 0x45, 0x36, 0xe8, 0x1d, 0xaf, 0xe3, 0x98, 0xa4, 0xb5, + 0x22, 0x96, 0xd1, 0x8b, 0x10, 0x71, 0x61, 0xb9, 0x0e, 0xcb, 0xcf, 0x96, 0x92, 0xd7, 0x52, 0xe6, + 0x4c, 0x38, 0x59, 0x77, 0xd8, 0xf2, 0xd4, 0xbb, 0x8f, 0x8a, 0x13, 0x9f, 0x3d, 0x2a, 0x4e, 0x94, + 0xd7, 0x60, 0x66, 0x07, 0x77, 0x74, 0xd0, 0x11, 0x86, 0x5e, 0x83, 0x69, 0x1c, 0x0c, 0xf2, 0x46, + 0x29, 0xf9, 0xcc, 0xa0, 0x8d, 0x44, 0xcb, 0x8f, 0x0c, 0x48, 0xd7, 0x76, 0x36, 0xb1, 0xeb, 0xa3, + 0x55, 0x98, 0x8f, 0x9c, 0xf6, 0xa4, 0xf1, 0x1f, 0xf9, 0x79, 0x90, 0x00, 0x56, 0x61, 0xfe, 0x5e, + 0x90, 0x52, 0x42, 0x98, 0xc4, 0x71, 0x30, 0xa1, 0x8a, 0x9e, 0x8f, 0x99, 0xfa, 0x26, 0x4c, 0xaa, + 0x13, 0x32, 0xf4, 0x1d, 0x78, 0xae, 0x27, 0x7e, 0x48, 0x0b, 0x33, 0xb7, 0x16, 0xc7, 0x3a, 0xba, + 0x94, 0x8f, 0xbb, 0x85, 0xd2, 0x2b, 0xff, 0xdb, 0x00, 0xa8, 0xed, 0xec, 0x6c, 0xf9, 0x6e, 0xaf, + 0x43, 0xf8, 0x79, 0x99, 0xfc, 0x16, 0x3c, 0x1f, 0x99, 0xcc, 0x7c, 0xfb, 0xc4, 0x66, 0x5f, 0x08, + 0xd5, 0x1a, 0xbe, 0x7d, 0x24, 0x9a, 0xc3, 0x78, 0x88, 0x96, 0x3c, 0x31, 0x5a, 0x8d, 0xf1, 0x51, + 0x1e, 0xbf, 0x07, 0x99, 0xc8, 0x74, 0x86, 0xea, 0x30, 0xc5, 0xf5, 0x6f, 0x4d, 0x67, 0x79, 0x3c, + 0x9d, 0x81, 0x5a, 0x9c, 0xd2, 0x50, 0xbd, 0xfc, 0x1f, 0xc1, 0x6a, 0x14, 0x08, 0x5f, 0x28, 0x47, + 0x12, 0x19, 0x5e, 0x67, 0xe0, 0xe4, 0x39, 0x64, 0x60, 0x8d, 0x15, 0xa3, 0xf5, 0xa7, 0x09, 0xb8, + 0xb0, 0x1d, 0x04, 0xe9, 0x17, 0x96, 0x85, 0x6d, 0x98, 0x24, 0x94, 0xfb, 0xae, 0xa4, 0x41, 0x5c, + 0xf6, 0xd7, 0xc7, 0x5d, 0xf6, 0x11, 0xb6, 0xac, 0x52, 0xee, 0x0f, 0xe2, 0x57, 0x1f, 0x60, 0xc5, + 0x68, 0xf8, 0x7d, 0x12, 0xf2, 0xe3, 0x54, 0xd1, 0xcb, 0x90, 0xb5, 0x7d, 0x22, 0x27, 0x82, 0x37, + 0xc5, 0x90, 0xe9, 0x70, 0x2e, 0x98, 0xd6, 0x4f, 0x8a, 0x09, 0xe2, 0x03, 0x4d, 0x78, 0x95, 0x10, + 0x3d, 0xdb, 0x17, 0xd9, 0x5c, 0x84, 0x20, 0x1f, 0x15, 0x02, 0x59, 0x97, 0xba, 0xdc, 0xc5, 0x1d, + 0xab, 0x89, 0x3b, 0x98, 0xda, 0xe4, 0x0c, 0x9e, 0x30, 0xfa, 0x02, 0xcc, 0x69, 0xd0, 0xaa, 0xc2, + 0x44, 0x3b, 0x30, 0x19, 0xc0, 0xa7, 0xce, 0x01, 0x3e, 0x00, 0x43, 0x2f, 0xc0, 0x4c, 0xfc, 0x61, + 0x90, 0xdf, 0x29, 0x29, 0x33, 0x13, 0x7b, 0x17, 0x8e, 0x7b, 0x79, 0xd2, 0xcf, 0x7c, 0x79, 0xf4, + 0xa7, 0xe0, 0xef, 0x92, 0x30, 0x6f, 0x12, 0xe7, 0x4b, 0x78, 0x71, 0x3f, 0x00, 0x50, 0x41, 0x2d, + 0x92, 0xed, 0x19, 0xee, 0x6e, 0x34, 0x49, 0x4c, 0x2b, 0xbc, 0x1a, 0xe3, 0xff, 0xaf, 0xdb, 0xfb, + 0x73, 0x02, 0x66, 0xe2, 0xb7, 0xf7, 0x25, 0x78, 0xd9, 0xd0, 0x7a, 0x94, 0xd2, 0x52, 0x32, 0xa5, + 0xbd, 0x32, 0x2e, 0xa5, 0x8d, 0xf8, 0xf5, 0x31, 0xb9, 0xec, 0x37, 0x29, 0x48, 0x6f, 0x62, 0x1f, + 0x77, 0x19, 0xda, 0x18, 0xf9, 0xc6, 0x55, 0xf5, 0xe7, 0xc2, 0x88, 0x5b, 0xd7, 0x74, 0x0f, 0x45, + 0x79, 0xf5, 0x2f, 0xc7, 0x7d, 0xe2, 0x7e, 0x0d, 0xe6, 0x44, 0x49, 0x1d, 0x1a, 0xa4, 0xa8, 0x9c, + 0x95, 0xe5, 0x70, 0x58, 0x8a, 0x31, 0x54, 0x84, 0x8c, 0x10, 0x8b, 0x72, 0xb6, 0x90, 0x81, 0x2e, + 0xde, 0x5f, 0x55, 0x33, 0xe8, 0x06, 0xa0, 0xdd, 0xb0, 0xf1, 0x61, 0x45, 0x44, 0x08, 0xb9, 0xf9, + 0x68, 0x25, 0x10, 0xff, 0x2a, 0x80, 0x38, 0x85, 0xe5, 0x10, 0xea, 0x75, 0x75, 0x31, 0x38, 0x2d, + 0x66, 0x6a, 0x62, 0x02, 0xfd, 0xdc, 0x50, 0x9f, 0xca, 0x87, 0xaa, 0x6d, 0x5d, 0xb4, 0x58, 0xa7, + 0x8b, 0x86, 0xcf, 0x0f, 0x8a, 0x85, 0x01, 0xee, 0x76, 0x96, 0xcb, 0x47, 0x40, 0x96, 0x8f, 0xea, + 0x05, 0x88, 0xaf, 0xe9, 0xe1, 0xc2, 0x1d, 0xad, 0x43, 0x6e, 0x8f, 0x0c, 0x2c, 0xdf, 0xe3, 0x2a, + 0xfb, 0xb4, 0x08, 0xd1, 0xe5, 0xcd, 0x42, 0x70, 0xcd, 0x4d, 0xcc, 0x48, 0xac, 0x1a, 0x70, 0x87, + 0xea, 0x80, 0xb9, 0x3d, 0x32, 0x30, 0xb5, 0xf2, 0x1a, 0x21, 0xe8, 0x9b, 0xb0, 0x20, 0x5b, 0x19, + 0x1e, 0x0d, 0xca, 0xd2, 0x10, 0x9b, 0xc9, 0x02, 0x27, 0x65, 0x5e, 0xea, 0xe2, 0xfd, 0x15, 0x8f, + 0xea, 0x72, 0x33, 0x50, 0x66, 0xcb, 0x57, 0x45, 0x88, 0x3d, 0xf8, 0xf4, 0x83, 0xeb, 0x57, 0x62, + 0xd6, 0xee, 0x87, 0xcd, 0x3a, 0xe5, 0x29, 0xe5, 0x5f, 0x1b, 0x80, 0xa2, 0x77, 0xcf, 0x24, 0xac, + 0x27, 0xca, 0x57, 0x51, 0xd2, 0xc4, 0x4a, 0x0f, 0xe3, 0xd9, 0x25, 0x4d, 0xa4, 0x3f, 0x54, 0xd2, + 0xc4, 0xe2, 0xfa, 0xdb, 0xd1, 0x2b, 0x93, 0x38, 0x05, 0x1b, 0x81, 0x92, 0x4c, 0x17, 0x13, 0xe5, + 0x03, 0x03, 0x16, 0x46, 0x82, 0x22, 0x3c, 0xb2, 0x0d, 0xc8, 0x8f, 0x2d, 0x4a, 0xe7, 0x1a, 0xe8, + 0xa3, 0x9f, 0x2d, 0xc6, 0xe6, 0xfd, 0x91, 0x97, 0xe5, 0x7f, 0xf4, 0x5c, 0xea, 0x7c, 0xf8, 0x47, + 0x03, 0x2e, 0xc6, 0x4f, 0x14, 0xda, 0xd6, 0x80, 0x99, 0xf8, 0x59, 0xb4, 0x55, 0x57, 0x4f, 0x62, + 0x55, 0xdc, 0xa0, 0x21, 0x10, 0x61, 0x4b, 0x10, 0x80, 0xaa, 0x6d, 0x78, 0xf3, 0xc4, 0x2c, 0x05, + 0x07, 0x3b, 0x32, 0x23, 0xa9, 0xcb, 0xfa, 0x59, 0x02, 0x52, 0x9b, 0x9e, 0xd7, 0x41, 0x3f, 0x31, + 0x60, 0x9e, 0x7a, 0xdc, 0x12, 0x61, 0x4b, 0x1c, 0x4b, 0xf7, 0x2d, 0x54, 0x52, 0xdf, 0x39, 0x1d, + 0x7b, 0xff, 0x38, 0x28, 0x8e, 0x42, 0x0d, 0x53, 0xaa, 0xfb, 0x65, 0xd4, 0xe3, 0x55, 0x29, 0xb4, + 0xa5, 0x5a, 0x1b, 0xf7, 0x61, 0x76, 0x78, 0x7f, 0xf5, 0x12, 0x98, 0xa7, 0xde, 0x7f, 0xf6, 0xd8, + 0xbd, 0x67, 0x9a, 0xb1, 0x8d, 0x97, 0xa7, 0xc4, 0xc5, 0xfe, 0x4b, 0x5c, 0xee, 0x3b, 0x90, 0x0b, + 0x33, 0xe5, 0xb6, 0xec, 0xbe, 0x89, 0xcf, 0xe4, 0x49, 0xd5, 0x88, 0x0b, 0x8a, 0x99, 0x52, 0xbc, + 0xed, 0x8b, 0x9b, 0xb6, 0x5b, 0x39, 0xa4, 0x33, 0xc4, 0xb8, 0xd6, 0x2d, 0xff, 0x33, 0x01, 0x0b, + 0x3a, 0x05, 0xdc, 0x8d, 0x52, 0x80, 0xea, 0x30, 0x0f, 0xd0, 0xda, 0xd8, 0x06, 0xd9, 0x95, 0xcf, + 0x0f, 0x8a, 0x97, 0x55, 0xce, 0x3b, 0x2c, 0x51, 0x1e, 0xed, 0x91, 0xed, 0x40, 0x56, 0xbc, 0xf1, + 0xb1, 0x5c, 0x74, 0xc6, 0x16, 0xd9, 0xac, 0xd7, 0x71, 0xa2, 0x8c, 0x25, 0x70, 0x29, 0xb9, 0x3f, + 0x84, 0x9b, 0x3c, 0x1b, 0x2e, 0x25, 0xf7, 0x63, 0xb8, 0x97, 0x20, 0xad, 0x3f, 0xfe, 0x52, 0x32, + 0x51, 0xea, 0x11, 0x7a, 0x0d, 0x92, 0x22, 0x2d, 0x3f, 0x77, 0x8a, 0x44, 0x24, 0x14, 0x62, 0x2f, + 0x6d, 0x03, 0x16, 0x74, 0x1b, 0x83, 0x6d, 0xb4, 0x24, 0xdd, 0x44, 0x1a, 0x74, 0x97, 0x0c, 0xce, + 0xdc, 0xd3, 0xb8, 0xfe, 0x5b, 0x03, 0x20, 0x6a, 0xf5, 0xa1, 0x57, 0xe1, 0x72, 0x75, 0x63, 0xbd, + 0x66, 0x35, 0xb6, 0x6e, 0x6f, 0x6d, 0x37, 0xac, 0xed, 0xf5, 0xc6, 0xe6, 0xea, 0x4a, 0x7d, 0xad, + 0xbe, 0x5a, 0xcb, 0x4d, 0x14, 0xb2, 0x0f, 0x1e, 0x96, 0x32, 0xdb, 0x94, 0xf5, 0x88, 0xed, 0xb6, + 0x5c, 0xe2, 0xa0, 0x97, 0xe0, 0xe2, 0xb0, 0xb4, 0x18, 0xad, 0xd6, 0x72, 0x46, 0x61, 0xe6, 0xc1, + 0xc3, 0xd2, 0x94, 0x2a, 0x71, 0x88, 0x83, 0xae, 0xc1, 0xf3, 0xa3, 0x72, 0xf5, 0xf5, 0x37, 0x72, + 0x89, 0xc2, 0xec, 0x83, 0x87, 0xa5, 0xe9, 0xb0, 0x16, 0x42, 0x65, 0x40, 0x71, 0x49, 0x8d, 0x97, + 0x2c, 0xc0, 0x83, 0x87, 0xa5, 0xb4, 0x8a, 0xad, 0x42, 0xea, 0xdd, 0x5f, 0x2d, 0x4e, 0x5c, 0xff, + 0x11, 0x40, 0x9d, 0xb6, 0x7c, 0x6c, 0xcb, 0xac, 0x52, 0x80, 0x4b, 0xf5, 0xf5, 0x35, 0xf3, 0xf6, + 0xca, 0x56, 0x7d, 0x63, 0x7d, 0xf8, 0xd8, 0x87, 0xd6, 0x6a, 0x1b, 0xdb, 0xd5, 0xb7, 0x56, 0xad, + 0x46, 0xfd, 0x8d, 0xf5, 0x9c, 0x81, 0x2e, 0xc3, 0x85, 0xa1, 0xb5, 0xef, 0xae, 0x6f, 0xd5, 0xdf, + 0x5e, 0xcd, 0x25, 0xaa, 0x6b, 0x1f, 0x3f, 0x59, 0x34, 0x1e, 0x3f, 0x59, 0x34, 0xfe, 0xfe, 0x64, + 0xd1, 0x78, 0xef, 0xe9, 0xe2, 0xc4, 0xe3, 0xa7, 0x8b, 0x13, 0x7f, 0x79, 0xba, 0x38, 0xf1, 0xfd, + 0x57, 0x9f, 0x19, 0xb5, 0xd1, 0x53, 0x27, 0xe3, 0xb7, 0x99, 0x96, 0x5e, 0xf4, 0x8d, 0xff, 0x06, + 0x00, 0x00, 0xff, 0xff, 0xb7, 0xfb, 0x1b, 0xda, 0xb6, 0x1a, 0x00, 0x00, } func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { @@ -1524,680 +1527,680 @@ func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_go func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 10758 bytes of a gzipped FileDescriptorSet + // 10768 bytes of a gzipped FileDescriptorSet 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7d, 0x6b, 0x70, 0x24, 0xc7, 0x79, 0x18, 0xf6, 0xbd, 0xfb, 0x2d, 0x76, 0x77, 0xd0, 0x00, 0xef, 0x70, 0x7b, 0x24, 0x00, 0x0e, 0x1f, 0xf7, 0x20, 0x89, 0x23, 0x8f, 0xbc, 0x23, 0x89, 0x13, 0x45, 0xef, 0x2e, 0xf6, 0xee, 0x70, 0x87, 0x97, 0x66, 0x81, 0xe3, 0xc3, 0xb6, 0xc6, 0x83, 0xdd, 0x06, 0x30, 0xbc, 0xdd, 0x99, 0xd1, 0xcc, 0xec, 0x1d, 0xc0, 0x4a, 0xa5, 0x68, 0xcb, 0x76, 0xe4, 0x8b, 0x63, 0xcb, 0x76, 0xca, 0x96, - 0x6d, 0x9d, 0x42, 0x59, 0xb1, 0x1e, 0xce, 0x4b, 0x96, 0x64, 0x49, 0x8e, 0xcb, 0x2e, 0x39, 0x95, - 0x87, 0xec, 0xa4, 0x52, 0x92, 0x2b, 0x95, 0xb8, 0x52, 0x09, 0xe3, 0x50, 0xaa, 0x48, 0x91, 0xe5, - 0xd8, 0x96, 0xe9, 0x24, 0x8e, 0x2a, 0x8f, 0xea, 0xd7, 0x3c, 0xf6, 0x81, 0x59, 0x9c, 0x48, 0xda, - 0x29, 0xfd, 0xb9, 0xdb, 0xee, 0xfe, 0xbe, 0xaf, 0xbb, 0xbf, 0xfe, 0xfa, 0x7b, 0x75, 0x4f, 0x03, - 0xfe, 0xec, 0x02, 0xcc, 0xed, 0x98, 0xe6, 0x4e, 0x1b, 0x9f, 0xb1, 0x6c, 0xd3, 0x35, 0xb7, 0xba, - 0xdb, 0x67, 0x5a, 0xd8, 0x69, 0xda, 0xba, 0xe5, 0x9a, 0xf6, 0x3c, 0xad, 0x43, 0x25, 0x06, 0x31, - 0x2f, 0x20, 0xe4, 0x15, 0x98, 0xb8, 0xa8, 0xb7, 0xf1, 0xa2, 0x07, 0xd8, 0xc0, 0x2e, 0x7a, 0x0a, - 0x92, 0xdb, 0x7a, 0x1b, 0x4f, 0xc7, 0xe6, 0x12, 0x27, 0xf3, 0x67, 0xef, 0x9f, 0xef, 0x41, 0x9a, - 0x0f, 0x63, 0xac, 0x93, 0x6a, 0x85, 0x62, 0xc8, 0x5f, 0x4d, 0xc2, 0xe4, 0x80, 0x56, 0x84, 0x20, - 0x69, 0x68, 0x1d, 0x42, 0x31, 0x76, 0x32, 0xa7, 0xd0, 0xdf, 0x68, 0x1a, 0x32, 0x96, 0xd6, 0xbc, - 0xae, 0xed, 0xe0, 0xe9, 0x38, 0xad, 0x16, 0x45, 0x34, 0x03, 0xd0, 0xc2, 0x16, 0x36, 0x5a, 0xd8, - 0x68, 0xee, 0x4f, 0x27, 0xe6, 0x12, 0x27, 0x73, 0x4a, 0xa0, 0x06, 0x3d, 0x04, 0x13, 0x56, 0x77, - 0xab, 0xad, 0x37, 0xd5, 0x00, 0x18, 0xcc, 0x25, 0x4e, 0xa6, 0x14, 0x89, 0x35, 0x2c, 0xfa, 0xc0, - 0x27, 0xa0, 0x74, 0x13, 0x6b, 0xd7, 0x83, 0xa0, 0x79, 0x0a, 0x5a, 0x24, 0xd5, 0x01, 0xc0, 0x1a, - 0x8c, 0x77, 0xb0, 0xe3, 0x68, 0x3b, 0x58, 0x75, 0xf7, 0x2d, 0x3c, 0x9d, 0xa4, 0xb3, 0x9f, 0xeb, - 0x9b, 0x7d, 0xef, 0xcc, 0xf3, 0x1c, 0x6b, 0x63, 0xdf, 0xc2, 0xa8, 0x02, 0x39, 0x6c, 0x74, 0x3b, - 0x8c, 0x42, 0x6a, 0x08, 0xff, 0xea, 0x46, 0xb7, 0xd3, 0x4b, 0x25, 0x4b, 0xd0, 0x38, 0x89, 0x8c, - 0x83, 0xed, 0x1b, 0x7a, 0x13, 0x4f, 0xa7, 0x29, 0x81, 0x13, 0x7d, 0x04, 0x1a, 0xac, 0xbd, 0x97, - 0x86, 0xc0, 0x43, 0x35, 0xc8, 0xe1, 0x3d, 0x17, 0x1b, 0x8e, 0x6e, 0x1a, 0xd3, 0x19, 0x4a, 0xe4, - 0x81, 0x01, 0xab, 0x88, 0xdb, 0xad, 0x5e, 0x12, 0x3e, 0x1e, 0x3a, 0x0f, 0x19, 0xd3, 0x72, 0x75, - 0xd3, 0x70, 0xa6, 0xb3, 0x73, 0xb1, 0x93, 0xf9, 0xb3, 0x77, 0x0f, 0x14, 0x84, 0x35, 0x06, 0xa3, - 0x08, 0x60, 0xb4, 0x04, 0x92, 0x63, 0x76, 0xed, 0x26, 0x56, 0x9b, 0x66, 0x0b, 0xab, 0xba, 0xb1, - 0x6d, 0x4e, 0xe7, 0x28, 0x81, 0xd9, 0xfe, 0x89, 0x50, 0xc0, 0x9a, 0xd9, 0xc2, 0x4b, 0xc6, 0xb6, - 0xa9, 0x14, 0x9d, 0x50, 0x19, 0x1d, 0x81, 0xb4, 0xb3, 0x6f, 0xb8, 0xda, 0xde, 0xf4, 0x38, 0x95, - 0x10, 0x5e, 0x92, 0x7f, 0x3d, 0x0d, 0xa5, 0x51, 0x44, 0xec, 0x02, 0xa4, 0xb6, 0xc9, 0x2c, 0xa7, - 0xe3, 0x87, 0xe1, 0x01, 0xc3, 0x09, 0x33, 0x31, 0x7d, 0x87, 0x4c, 0xac, 0x40, 0xde, 0xc0, 0x8e, - 0x8b, 0x5b, 0x4c, 0x22, 0x12, 0x23, 0xca, 0x14, 0x30, 0xa4, 0x7e, 0x91, 0x4a, 0xde, 0x91, 0x48, - 0x3d, 0x0f, 0x25, 0x6f, 0x48, 0xaa, 0xad, 0x19, 0x3b, 0x42, 0x36, 0xcf, 0x44, 0x8d, 0x64, 0xbe, - 0x2e, 0xf0, 0x14, 0x82, 0xa6, 0x14, 0x71, 0xa8, 0x8c, 0x16, 0x01, 0x4c, 0x03, 0x9b, 0xdb, 0x6a, - 0x0b, 0x37, 0xdb, 0xd3, 0xd9, 0x21, 0x5c, 0x5a, 0x23, 0x20, 0x7d, 0x5c, 0x32, 0x59, 0x6d, 0xb3, - 0x8d, 0x9e, 0xf6, 0x45, 0x2d, 0x33, 0x44, 0x52, 0x56, 0xd8, 0x26, 0xeb, 0x93, 0xb6, 0x4d, 0x28, - 0xda, 0x98, 0xc8, 0x3d, 0x6e, 0xf1, 0x99, 0xe5, 0xe8, 0x20, 0xe6, 0x23, 0x67, 0xa6, 0x70, 0x34, - 0x36, 0xb1, 0x82, 0x1d, 0x2c, 0xa2, 0xfb, 0xc0, 0xab, 0x50, 0xa9, 0x58, 0x01, 0xd5, 0x42, 0xe3, - 0xa2, 0x72, 0x55, 0xeb, 0xe0, 0xf2, 0xcb, 0x50, 0x0c, 0xb3, 0x07, 0x4d, 0x41, 0xca, 0x71, 0x35, - 0xdb, 0xa5, 0x52, 0x98, 0x52, 0x58, 0x01, 0x49, 0x90, 0xc0, 0x46, 0x8b, 0x6a, 0xb9, 0x94, 0x42, - 0x7e, 0xa2, 0xef, 0xf1, 0x27, 0x9c, 0xa0, 0x13, 0x7e, 0xb0, 0x7f, 0x45, 0x43, 0x94, 0x7b, 0xe7, - 0x5d, 0x7e, 0x12, 0x0a, 0xa1, 0x09, 0x8c, 0xda, 0xb5, 0xfc, 0xd7, 0xe0, 0xae, 0x81, 0xa4, 0xd1, - 0xf3, 0x30, 0xd5, 0x35, 0x74, 0xc3, 0xc5, 0xb6, 0x65, 0x63, 0x22, 0xb1, 0xac, 0xab, 0xe9, 0xaf, - 0x65, 0x86, 0xc8, 0xdc, 0x66, 0x10, 0x9a, 0x51, 0x51, 0x26, 0xbb, 0xfd, 0x95, 0xa7, 0x73, 0xd9, - 0xaf, 0x67, 0xa4, 0x57, 0x5e, 0x79, 0xe5, 0x95, 0xb8, 0xfc, 0xdb, 0x69, 0x98, 0x1a, 0xb4, 0x67, - 0x06, 0x6e, 0xdf, 0x23, 0x90, 0x36, 0xba, 0x9d, 0x2d, 0x6c, 0x53, 0x26, 0xa5, 0x14, 0x5e, 0x42, - 0x15, 0x48, 0xb5, 0xb5, 0x2d, 0xdc, 0x9e, 0x4e, 0xce, 0xc5, 0x4e, 0x16, 0xcf, 0x3e, 0x34, 0xd2, - 0xae, 0x9c, 0x5f, 0x26, 0x28, 0x0a, 0xc3, 0x44, 0xef, 0x84, 0x24, 0x57, 0xd1, 0x84, 0xc2, 0xe9, - 0xd1, 0x28, 0x90, 0xbd, 0xa4, 0x50, 0x3c, 0x74, 0x1c, 0x72, 0xe4, 0x7f, 0x26, 0x1b, 0x69, 0x3a, - 0xe6, 0x2c, 0xa9, 0x20, 0x72, 0x81, 0xca, 0x90, 0xa5, 0xdb, 0xa4, 0x85, 0x85, 0x69, 0xf3, 0xca, - 0x44, 0xb0, 0x5a, 0x78, 0x5b, 0xeb, 0xb6, 0x5d, 0xf5, 0x86, 0xd6, 0xee, 0x62, 0x2a, 0xf0, 0x39, - 0x65, 0x9c, 0x57, 0x5e, 0x23, 0x75, 0x68, 0x16, 0xf2, 0x6c, 0x57, 0xe9, 0x46, 0x0b, 0xef, 0x51, - 0xed, 0x99, 0x52, 0xd8, 0x46, 0x5b, 0x22, 0x35, 0xa4, 0xfb, 0x97, 0x1c, 0xd3, 0x10, 0xa2, 0x49, - 0xbb, 0x20, 0x15, 0xb4, 0xfb, 0x27, 0x7b, 0x15, 0xf7, 0x3d, 0x83, 0xa7, 0xd7, 0xb7, 0x97, 0x4e, - 0x40, 0x89, 0x42, 0x3c, 0xce, 0x97, 0x5e, 0x6b, 0x4f, 0x4f, 0xcc, 0xc5, 0x4e, 0x66, 0x95, 0x22, - 0xab, 0x5e, 0xe3, 0xb5, 0xf2, 0x67, 0xe3, 0x90, 0xa4, 0x8a, 0xa5, 0x04, 0xf9, 0x8d, 0x17, 0xd6, - 0xeb, 0xea, 0xe2, 0xda, 0x66, 0x75, 0xb9, 0x2e, 0xc5, 0x50, 0x11, 0x80, 0x56, 0x5c, 0x5c, 0x5e, - 0xab, 0x6c, 0x48, 0x71, 0xaf, 0xbc, 0xb4, 0xba, 0x71, 0xfe, 0x09, 0x29, 0xe1, 0x21, 0x6c, 0xb2, - 0x8a, 0x64, 0x10, 0xe0, 0xf1, 0xb3, 0x52, 0x0a, 0x49, 0x30, 0xce, 0x08, 0x2c, 0x3d, 0x5f, 0x5f, - 0x3c, 0xff, 0x84, 0x94, 0x0e, 0xd7, 0x3c, 0x7e, 0x56, 0xca, 0xa0, 0x02, 0xe4, 0x68, 0x4d, 0x75, - 0x6d, 0x6d, 0x59, 0xca, 0x7a, 0x34, 0x1b, 0x1b, 0xca, 0xd2, 0xea, 0x25, 0x29, 0xe7, 0xd1, 0xbc, - 0xa4, 0xac, 0x6d, 0xae, 0x4b, 0xe0, 0x51, 0x58, 0xa9, 0x37, 0x1a, 0x95, 0x4b, 0x75, 0x29, 0xef, - 0x41, 0x54, 0x5f, 0xd8, 0xa8, 0x37, 0xa4, 0xf1, 0xd0, 0xb0, 0x1e, 0x3f, 0x2b, 0x15, 0xbc, 0x2e, - 0xea, 0xab, 0x9b, 0x2b, 0x52, 0x11, 0x4d, 0x40, 0x81, 0x75, 0x21, 0x06, 0x51, 0xea, 0xa9, 0x3a, - 0xff, 0x84, 0x24, 0xf9, 0x03, 0x61, 0x54, 0x26, 0x42, 0x15, 0xe7, 0x9f, 0x90, 0x90, 0x5c, 0x83, - 0x14, 0x15, 0x43, 0x84, 0xa0, 0xb8, 0x5c, 0xa9, 0xd6, 0x97, 0xd5, 0xb5, 0xf5, 0x8d, 0xa5, 0xb5, - 0xd5, 0xca, 0xb2, 0x14, 0xf3, 0xeb, 0x94, 0xfa, 0xbb, 0x36, 0x97, 0x94, 0xfa, 0xa2, 0x14, 0x0f, - 0xd6, 0xad, 0xd7, 0x2b, 0x1b, 0xf5, 0x45, 0x29, 0x21, 0x37, 0x61, 0x6a, 0x90, 0x42, 0x1d, 0xb8, - 0x85, 0x02, 0xb2, 0x10, 0x1f, 0x22, 0x0b, 0x94, 0x56, 0xaf, 0x2c, 0xc8, 0x5f, 0x89, 0xc3, 0xe4, - 0x00, 0xa3, 0x32, 0xb0, 0x93, 0x67, 0x21, 0xc5, 0x64, 0x99, 0x99, 0xd9, 0x53, 0x03, 0xad, 0x13, - 0x95, 0xec, 0x3e, 0x53, 0x4b, 0xf1, 0x82, 0xae, 0x46, 0x62, 0x88, 0xab, 0x41, 0x48, 0xf4, 0x09, - 0xec, 0xf7, 0xf7, 0x29, 0x7f, 0x66, 0x1f, 0xcf, 0x8f, 0x62, 0x1f, 0x69, 0xdd, 0xe1, 0x8c, 0x40, - 0x6a, 0x80, 0x11, 0xb8, 0x00, 0x13, 0x7d, 0x84, 0x46, 0x56, 0xc6, 0xef, 0x8d, 0xc1, 0xf4, 0x30, - 0xe6, 0x44, 0xa8, 0xc4, 0x78, 0x48, 0x25, 0x5e, 0xe8, 0xe5, 0xe0, 0xbd, 0xc3, 0x17, 0xa1, 0x6f, - 0xad, 0x3f, 0x16, 0x83, 0x23, 0x83, 0x5d, 0xca, 0x81, 0x63, 0x78, 0x27, 0xa4, 0x3b, 0xd8, 0xdd, - 0x35, 0x85, 0x5b, 0xf5, 0xe0, 0x00, 0x63, 0x4d, 0x9a, 0x7b, 0x17, 0x9b, 0x63, 0x05, 0xad, 0x7d, - 0x62, 0x98, 0x5f, 0xc8, 0x46, 0xd3, 0x37, 0xd2, 0x1f, 0x8b, 0xc3, 0x5d, 0x03, 0x89, 0x0f, 0x1c, - 0xe8, 0x3d, 0x00, 0xba, 0x61, 0x75, 0x5d, 0xe6, 0x3a, 0x31, 0x4d, 0x9c, 0xa3, 0x35, 0x54, 0x79, - 0x11, 0x2d, 0xdb, 0x75, 0xbd, 0xf6, 0x04, 0x6d, 0x07, 0x56, 0x45, 0x01, 0x9e, 0xf2, 0x07, 0x9a, - 0xa4, 0x03, 0x9d, 0x19, 0x32, 0xd3, 0x3e, 0xc1, 0x7c, 0x14, 0xa4, 0x66, 0x5b, 0xc7, 0x86, 0xab, - 0x3a, 0xae, 0x8d, 0xb5, 0x8e, 0x6e, 0xec, 0x50, 0x53, 0x93, 0x5d, 0x48, 0x6d, 0x6b, 0x6d, 0x07, - 0x2b, 0x25, 0xd6, 0xdc, 0x10, 0xad, 0x04, 0x83, 0x0a, 0x90, 0x1d, 0xc0, 0x48, 0x87, 0x30, 0x58, - 0xb3, 0x87, 0x21, 0xff, 0x54, 0x0e, 0xf2, 0x01, 0x07, 0x1c, 0xdd, 0x0b, 0xe3, 0x2f, 0x69, 0x37, - 0x34, 0x55, 0x04, 0x55, 0x8c, 0x13, 0x79, 0x52, 0xb7, 0xce, 0x03, 0xab, 0x47, 0x61, 0x8a, 0x82, - 0x98, 0x5d, 0x17, 0xdb, 0x6a, 0xb3, 0xad, 0x39, 0x0e, 0x65, 0x5a, 0x96, 0x82, 0x22, 0xd2, 0xb6, - 0x46, 0x9a, 0x6a, 0xa2, 0x05, 0x9d, 0x83, 0x49, 0x8a, 0xd1, 0xe9, 0xb6, 0x5d, 0xdd, 0x6a, 0x63, - 0x95, 0x84, 0x79, 0x0e, 0x35, 0x39, 0xde, 0xc8, 0x26, 0x08, 0xc4, 0x0a, 0x07, 0x20, 0x23, 0x72, - 0xd0, 0x22, 0xdc, 0x43, 0xd1, 0x76, 0xb0, 0x81, 0x6d, 0xcd, 0xc5, 0x2a, 0x7e, 0x4f, 0x57, 0x6b, - 0x3b, 0xaa, 0x66, 0xb4, 0xd4, 0x5d, 0xcd, 0xd9, 0x9d, 0x9e, 0x22, 0x04, 0xaa, 0xf1, 0xe9, 0x98, - 0x72, 0x8c, 0x00, 0x5e, 0xe2, 0x70, 0x75, 0x0a, 0x56, 0x31, 0x5a, 0x97, 0x35, 0x67, 0x17, 0x2d, - 0xc0, 0x11, 0x4a, 0xc5, 0x71, 0x6d, 0xdd, 0xd8, 0x51, 0x9b, 0xbb, 0xb8, 0x79, 0x5d, 0xed, 0xba, - 0xdb, 0x4f, 0x4d, 0x1f, 0x0f, 0xf6, 0x4f, 0x47, 0xd8, 0xa0, 0x30, 0x35, 0x02, 0xb2, 0xe9, 0x6e, - 0x3f, 0x85, 0x1a, 0x30, 0x4e, 0x16, 0xa3, 0xa3, 0xbf, 0x8c, 0xd5, 0x6d, 0xd3, 0xa6, 0x36, 0xb4, - 0x38, 0x40, 0x35, 0x05, 0x38, 0x38, 0xbf, 0xc6, 0x11, 0x56, 0xcc, 0x16, 0x5e, 0x48, 0x35, 0xd6, - 0xeb, 0xf5, 0x45, 0x25, 0x2f, 0xa8, 0x5c, 0x34, 0x6d, 0x22, 0x50, 0x3b, 0xa6, 0xc7, 0xe0, 0x3c, - 0x13, 0xa8, 0x1d, 0x53, 0xb0, 0xf7, 0x1c, 0x4c, 0x36, 0x9b, 0x6c, 0xce, 0x7a, 0x53, 0xe5, 0xc1, - 0x98, 0x33, 0x2d, 0x85, 0x98, 0xd5, 0x6c, 0x5e, 0x62, 0x00, 0x5c, 0xc6, 0x1d, 0xf4, 0x34, 0xdc, - 0xe5, 0x33, 0x2b, 0x88, 0x38, 0xd1, 0x37, 0xcb, 0x5e, 0xd4, 0x73, 0x30, 0x69, 0xed, 0xf7, 0x23, - 0xa2, 0x50, 0x8f, 0xd6, 0x7e, 0x2f, 0xda, 0x93, 0x30, 0x65, 0xed, 0x5a, 0xfd, 0x78, 0xa7, 0x83, - 0x78, 0xc8, 0xda, 0xb5, 0x7a, 0x11, 0x1f, 0xa0, 0x91, 0xb9, 0x8d, 0x9b, 0x9a, 0x8b, 0x5b, 0xd3, - 0x47, 0x83, 0xe0, 0x81, 0x06, 0x34, 0x0f, 0x52, 0xb3, 0xa9, 0x62, 0x43, 0xdb, 0x6a, 0x63, 0x55, - 0xb3, 0xb1, 0xa1, 0x39, 0xd3, 0xb3, 0x14, 0x38, 0xe9, 0xda, 0x5d, 0xac, 0x14, 0x9b, 0xcd, 0x3a, - 0x6d, 0xac, 0xd0, 0x36, 0x74, 0x1a, 0x26, 0xcc, 0xad, 0x97, 0x9a, 0x4c, 0x22, 0x55, 0xcb, 0xc6, - 0xdb, 0xfa, 0xde, 0xf4, 0xfd, 0x94, 0xbd, 0x25, 0xd2, 0x40, 0xe5, 0x71, 0x9d, 0x56, 0xa3, 0x53, - 0x20, 0x35, 0x9d, 0x5d, 0xcd, 0xb6, 0xa8, 0x4a, 0x76, 0x2c, 0xad, 0x89, 0xa7, 0x1f, 0x60, 0xa0, - 0xac, 0x7e, 0x55, 0x54, 0x93, 0x1d, 0xe1, 0xdc, 0xd4, 0xb7, 0x5d, 0x41, 0xf1, 0x04, 0xdb, 0x11, - 0xb4, 0x8e, 0x53, 0x3b, 0x09, 0x12, 0xe1, 0x44, 0xa8, 0xe3, 0x93, 0x14, 0xac, 0x68, 0xed, 0x5a, - 0xc1, 0x7e, 0xef, 0x83, 0x02, 0x81, 0xf4, 0x3b, 0x3d, 0xc5, 0x1c, 0x37, 0x6b, 0x37, 0xd0, 0xe3, - 0x13, 0x70, 0x84, 0x00, 0x75, 0xb0, 0xab, 0xb5, 0x34, 0x57, 0x0b, 0x40, 0x3f, 0x4c, 0xa1, 0x09, - 0xdb, 0x57, 0x78, 0x63, 0x68, 0x9c, 0x76, 0x77, 0x6b, 0xdf, 0x13, 0xac, 0x47, 0xd8, 0x38, 0x49, - 0x9d, 0x10, 0xad, 0xb7, 0xcc, 0x39, 0x97, 0x17, 0x60, 0x3c, 0x28, 0xf7, 0x28, 0x07, 0x4c, 0xf2, - 0xa5, 0x18, 0x71, 0x82, 0x6a, 0x6b, 0x8b, 0xc4, 0x7d, 0x79, 0xb1, 0x2e, 0xc5, 0x89, 0x1b, 0xb5, - 0xbc, 0xb4, 0x51, 0x57, 0x95, 0xcd, 0xd5, 0x8d, 0xa5, 0x95, 0xba, 0x94, 0x08, 0x38, 0xf6, 0x57, - 0x92, 0xd9, 0x07, 0xa5, 0x13, 0xc4, 0x6b, 0x28, 0x86, 0x23, 0x35, 0xf4, 0x0e, 0x38, 0x2a, 0xd2, - 0x2a, 0x0e, 0x76, 0xd5, 0x9b, 0xba, 0x4d, 0x37, 0x64, 0x47, 0x63, 0xc6, 0xd1, 0x93, 0x9f, 0x29, - 0x0e, 0xd5, 0xc0, 0xee, 0x73, 0xba, 0x4d, 0xb6, 0x5b, 0x47, 0x73, 0xd1, 0x32, 0xcc, 0x1a, 0xa6, - 0xea, 0xb8, 0x9a, 0xd1, 0xd2, 0xec, 0x96, 0xea, 0x27, 0xb4, 0x54, 0xad, 0xd9, 0xc4, 0x8e, 0x63, - 0x32, 0x43, 0xe8, 0x51, 0xb9, 0xdb, 0x30, 0x1b, 0x1c, 0xd8, 0xb7, 0x10, 0x15, 0x0e, 0xda, 0x23, - 0xbe, 0x89, 0x61, 0xe2, 0x7b, 0x1c, 0x72, 0x1d, 0xcd, 0x52, 0xb1, 0xe1, 0xda, 0xfb, 0xd4, 0x3f, - 0xcf, 0x2a, 0xd9, 0x8e, 0x66, 0xd5, 0x49, 0xf9, 0x6d, 0x09, 0x93, 0xae, 0x24, 0xb3, 0x49, 0x29, - 0x75, 0x25, 0x99, 0x4d, 0x49, 0xe9, 0x2b, 0xc9, 0x6c, 0x5a, 0xca, 0x5c, 0x49, 0x66, 0xb3, 0x52, - 0xee, 0x4a, 0x32, 0x9b, 0x93, 0x40, 0xfe, 0xe9, 0x24, 0x8c, 0x07, 0x3d, 0x78, 0x12, 0x10, 0x35, - 0xa9, 0x0d, 0x8b, 0x51, 0x2d, 0x77, 0xdf, 0x81, 0xfe, 0xfe, 0x7c, 0x8d, 0x18, 0xb7, 0x85, 0x34, - 0x73, 0x97, 0x15, 0x86, 0x49, 0x1c, 0x0b, 0x22, 0x7e, 0x98, 0xb9, 0x27, 0x59, 0x85, 0x97, 0xd0, - 0x25, 0x48, 0xbf, 0xe4, 0x50, 0xda, 0x69, 0x4a, 0xfb, 0xfe, 0x83, 0x69, 0x5f, 0x69, 0x50, 0xe2, - 0xb9, 0x2b, 0x0d, 0x75, 0x75, 0x4d, 0x59, 0xa9, 0x2c, 0x2b, 0x1c, 0x1d, 0x1d, 0x83, 0x64, 0x5b, - 0x7b, 0x79, 0x3f, 0x6c, 0x06, 0x69, 0x15, 0x9a, 0x87, 0x52, 0xd7, 0xb8, 0x81, 0x6d, 0x7d, 0x5b, - 0xc7, 0x2d, 0x95, 0x42, 0x95, 0x82, 0x50, 0x45, 0xbf, 0x75, 0x99, 0xc0, 0x8f, 0xb8, 0x8c, 0xc7, - 0x20, 0x79, 0x13, 0x6b, 0xd7, 0xc3, 0xc6, 0x8a, 0x56, 0xbd, 0x85, 0xdb, 0xe9, 0x0c, 0xa4, 0x28, - 0x7f, 0x11, 0x00, 0xe7, 0xb0, 0x34, 0x86, 0xb2, 0x90, 0xac, 0xad, 0x29, 0x64, 0x4b, 0x49, 0x30, - 0xce, 0x6a, 0xd5, 0xf5, 0xa5, 0x7a, 0xad, 0x2e, 0xc5, 0xe5, 0x73, 0x90, 0x66, 0x4c, 0x23, 0xdb, - 0xcd, 0x63, 0x9b, 0x34, 0xc6, 0x8b, 0x9c, 0x46, 0x4c, 0xb4, 0x6e, 0xae, 0x54, 0xeb, 0x8a, 0x14, - 0xef, 0x13, 0x16, 0xd9, 0x81, 0xf1, 0xa0, 0x27, 0xff, 0xf6, 0x84, 0xf3, 0x5f, 0x88, 0x41, 0x3e, - 0xe0, 0x99, 0x13, 0x97, 0x4a, 0x6b, 0xb7, 0xcd, 0x9b, 0xaa, 0xd6, 0xd6, 0x35, 0x87, 0x8b, 0x12, - 0xd0, 0xaa, 0x0a, 0xa9, 0x19, 0x75, 0xe9, 0xde, 0xa6, 0x4d, 0x96, 0x92, 0xd2, 0xf2, 0x87, 0x62, - 0x20, 0xf5, 0xba, 0xc6, 0x3d, 0xc3, 0x8c, 0xfd, 0x65, 0x0e, 0x53, 0xfe, 0x60, 0x0c, 0x8a, 0x61, - 0x7f, 0xb8, 0x67, 0x78, 0xf7, 0xfe, 0xa5, 0x0e, 0xef, 0x0f, 0xe2, 0x50, 0x08, 0x79, 0xc1, 0xa3, - 0x8e, 0xee, 0x3d, 0x30, 0xa1, 0xb7, 0x70, 0xc7, 0x32, 0x5d, 0x6c, 0x34, 0xf7, 0xd5, 0x36, 0xbe, - 0x81, 0xdb, 0xd3, 0x32, 0x55, 0x32, 0x67, 0x0e, 0xf6, 0xb3, 0xe7, 0x97, 0x7c, 0xbc, 0x65, 0x82, - 0xb6, 0x30, 0xb9, 0xb4, 0x58, 0x5f, 0x59, 0x5f, 0xdb, 0xa8, 0xaf, 0xd6, 0x5e, 0x50, 0x37, 0x57, - 0xaf, 0xae, 0xae, 0x3d, 0xb7, 0xaa, 0x48, 0x7a, 0x0f, 0xd8, 0x5b, 0xb8, 0xed, 0xd7, 0x41, 0xea, - 0x1d, 0x14, 0x3a, 0x0a, 0x83, 0x86, 0x25, 0x8d, 0xa1, 0x49, 0x28, 0xad, 0xae, 0xa9, 0x8d, 0xa5, - 0xc5, 0xba, 0x5a, 0xbf, 0x78, 0xb1, 0x5e, 0xdb, 0x68, 0xb0, 0xcc, 0x89, 0x07, 0xbd, 0x11, 0xda, - 0xe0, 0xf2, 0x2f, 0x24, 0x60, 0x72, 0xc0, 0x48, 0x50, 0x85, 0xc7, 0x3c, 0x2c, 0x0c, 0x7b, 0x64, - 0x94, 0xd1, 0xcf, 0x13, 0xaf, 0x63, 0x5d, 0xb3, 0x5d, 0x1e, 0x22, 0x9d, 0x02, 0xc2, 0x25, 0xc3, - 0x25, 0xca, 0xd5, 0xe6, 0x19, 0x29, 0x16, 0x08, 0x95, 0xfc, 0x7a, 0x96, 0x94, 0x7a, 0x18, 0x90, - 0x65, 0x3a, 0xba, 0xab, 0xdf, 0xc0, 0xaa, 0x6e, 0x88, 0xf4, 0x15, 0x09, 0x8c, 0x92, 0x8a, 0x24, - 0x5a, 0x96, 0x0c, 0xd7, 0x83, 0x36, 0xf0, 0x8e, 0xd6, 0x03, 0x4d, 0x94, 0x7f, 0x42, 0x91, 0x44, - 0x8b, 0x07, 0x7d, 0x2f, 0x8c, 0xb7, 0xcc, 0x2e, 0xf1, 0x16, 0x19, 0x1c, 0xb1, 0x35, 0x31, 0x25, - 0xcf, 0xea, 0x3c, 0x10, 0x1e, 0x07, 0xf8, 0x79, 0xb3, 0x71, 0x25, 0xcf, 0xea, 0x18, 0xc8, 0x09, - 0x28, 0x69, 0x3b, 0x3b, 0x36, 0x21, 0x2e, 0x08, 0xb1, 0xc8, 0xa6, 0xe8, 0x55, 0x53, 0xc0, 0xf2, - 0x15, 0xc8, 0x0a, 0x3e, 0x10, 0x63, 0x4f, 0x38, 0xa1, 0x5a, 0x2c, 0x5c, 0x8f, 0x9f, 0xcc, 0x29, - 0x59, 0x43, 0x34, 0xde, 0x0b, 0xe3, 0xba, 0xa3, 0xfa, 0xc7, 0x00, 0xf1, 0xb9, 0xf8, 0xc9, 0xac, - 0x92, 0xd7, 0x1d, 0x2f, 0x85, 0x2a, 0x7f, 0x2c, 0x0e, 0xc5, 0xf0, 0x31, 0x06, 0x5a, 0x84, 0x6c, - 0xdb, 0x6c, 0x6a, 0x54, 0xb4, 0xd8, 0x19, 0xda, 0xc9, 0x88, 0x93, 0x8f, 0xf9, 0x65, 0x0e, 0xaf, - 0x78, 0x98, 0xe5, 0x7f, 0x1d, 0x83, 0xac, 0xa8, 0x46, 0x47, 0x20, 0x69, 0x69, 0xee, 0x2e, 0x25, - 0x97, 0xaa, 0xc6, 0xa5, 0x98, 0x42, 0xcb, 0xa4, 0xde, 0xb1, 0x34, 0x83, 0x8a, 0x00, 0xaf, 0x27, - 0x65, 0xb2, 0xae, 0x6d, 0xac, 0xb5, 0x68, 0xd8, 0x64, 0x76, 0x3a, 0xd8, 0x70, 0x1d, 0xb1, 0xae, - 0xbc, 0xbe, 0xc6, 0xab, 0xd1, 0x43, 0x30, 0xe1, 0xda, 0x9a, 0xde, 0x0e, 0xc1, 0x26, 0x29, 0xac, - 0x24, 0x1a, 0x3c, 0xe0, 0x05, 0x38, 0x26, 0xe8, 0xb6, 0xb0, 0xab, 0x35, 0x77, 0x71, 0xcb, 0x47, - 0x4a, 0xd3, 0xf4, 0xc8, 0x51, 0x0e, 0xb0, 0xc8, 0xdb, 0x05, 0xae, 0xfc, 0xe5, 0x18, 0x4c, 0x88, - 0x40, 0xaf, 0xe5, 0x31, 0x6b, 0x05, 0x40, 0x33, 0x0c, 0xd3, 0x0d, 0xb2, 0xab, 0x5f, 0x94, 0xfb, - 0xf0, 0xe6, 0x2b, 0x1e, 0x92, 0x12, 0x20, 0x50, 0xee, 0x00, 0xf8, 0x2d, 0x43, 0xd9, 0x36, 0x0b, - 0x79, 0x7e, 0x46, 0x45, 0x0f, 0x3a, 0x59, 0x6a, 0x00, 0x58, 0x15, 0x89, 0x08, 0xd1, 0x14, 0xa4, - 0xb6, 0xf0, 0x8e, 0x6e, 0xf0, 0xcc, 0x33, 0x2b, 0x88, 0x04, 0x4e, 0xd2, 0x4b, 0xe0, 0x54, 0xff, - 0x3a, 0x4c, 0x36, 0xcd, 0x4e, 0xef, 0x70, 0xab, 0x52, 0x4f, 0x7a, 0xc2, 0xb9, 0x1c, 0x7b, 0xf1, - 0x11, 0x0e, 0xb4, 0x63, 0xb6, 0x35, 0x63, 0x67, 0xde, 0xb4, 0x77, 0xfc, 0x83, 0x5a, 0xe2, 0x21, - 0x39, 0x81, 0xe3, 0x5a, 0x6b, 0xeb, 0x7f, 0xc6, 0x62, 0xbf, 0x14, 0x4f, 0x5c, 0x5a, 0xaf, 0xfe, - 0x4a, 0xbc, 0x7c, 0x89, 0x21, 0xae, 0x0b, 0x66, 0x28, 0x78, 0xbb, 0x8d, 0x9b, 0x64, 0x82, 0xf0, - 0x47, 0x0f, 0xc1, 0xd4, 0x8e, 0xb9, 0x63, 0x52, 0x4a, 0x67, 0xc8, 0x2f, 0x7e, 0xd2, 0x9b, 0xf3, - 0x6a, 0xcb, 0x91, 0xc7, 0xc2, 0x0b, 0xab, 0x30, 0xc9, 0x81, 0x55, 0x7a, 0xd4, 0xc4, 0x02, 0x21, - 0x74, 0x60, 0x16, 0x6e, 0xfa, 0x57, 0xbf, 0x4a, 0xcd, 0xb7, 0x32, 0xc1, 0x51, 0x49, 0x1b, 0x8b, - 0x95, 0x16, 0x14, 0xb8, 0x2b, 0x44, 0x8f, 0x6d, 0x52, 0x6c, 0x47, 0x50, 0xfc, 0x67, 0x9c, 0xe2, - 0x64, 0x80, 0x62, 0x83, 0xa3, 0x2e, 0xd4, 0xa0, 0x70, 0x18, 0x5a, 0xff, 0x9c, 0xd3, 0x1a, 0xc7, - 0x41, 0x22, 0x97, 0xa0, 0x44, 0x89, 0x34, 0xbb, 0x8e, 0x6b, 0x76, 0xa8, 0x06, 0x3c, 0x98, 0xcc, - 0xbf, 0xf8, 0x2a, 0xdb, 0x35, 0x45, 0x82, 0x56, 0xf3, 0xb0, 0x16, 0x16, 0x80, 0x9e, 0xae, 0xb5, - 0x70, 0xb3, 0x1d, 0x41, 0xe1, 0x8b, 0x7c, 0x20, 0x1e, 0xfc, 0xc2, 0x35, 0x98, 0x22, 0xbf, 0xa9, - 0x82, 0x0a, 0x8e, 0x24, 0x3a, 0x65, 0x37, 0xfd, 0xe5, 0xf7, 0xb2, 0x8d, 0x39, 0xe9, 0x11, 0x08, - 0x8c, 0x29, 0xb0, 0x8a, 0x3b, 0xd8, 0x75, 0xb1, 0xed, 0xa8, 0x5a, 0x7b, 0xd0, 0xf0, 0x02, 0x39, - 0x8f, 0xe9, 0x9f, 0xff, 0x66, 0x78, 0x15, 0x2f, 0x31, 0xcc, 0x4a, 0xbb, 0xbd, 0xb0, 0x09, 0x47, - 0x07, 0x48, 0xc5, 0x08, 0x34, 0x7f, 0x81, 0xd3, 0x9c, 0xea, 0x93, 0x0c, 0x42, 0x76, 0x1d, 0x44, - 0xbd, 0xb7, 0x96, 0x23, 0xd0, 0xfc, 0x45, 0x4e, 0x13, 0x71, 0x5c, 0xb1, 0xa4, 0x84, 0xe2, 0x15, - 0x98, 0xb8, 0x81, 0xed, 0x2d, 0xd3, 0xe1, 0x79, 0xa6, 0x11, 0xc8, 0x7d, 0x90, 0x93, 0x2b, 0x71, - 0x44, 0x9a, 0x78, 0x22, 0xb4, 0x9e, 0x86, 0xec, 0xb6, 0xd6, 0xc4, 0x23, 0x90, 0xb8, 0xcd, 0x49, - 0x64, 0x08, 0x3c, 0x41, 0xad, 0xc0, 0xf8, 0x8e, 0xc9, 0x6d, 0x54, 0x34, 0xfa, 0x87, 0x38, 0x7a, - 0x5e, 0xe0, 0x70, 0x12, 0x96, 0x69, 0x75, 0xdb, 0xc4, 0x80, 0x45, 0x93, 0xf8, 0x3b, 0x82, 0x84, - 0xc0, 0xe1, 0x24, 0x0e, 0xc1, 0xd6, 0x57, 0x05, 0x09, 0x27, 0xc0, 0xcf, 0x67, 0x21, 0x6f, 0x1a, - 0xed, 0x7d, 0xd3, 0x18, 0x65, 0x10, 0x1f, 0xe6, 0x14, 0x80, 0xa3, 0x10, 0x02, 0x17, 0x20, 0x37, - 0xea, 0x42, 0xfc, 0xf2, 0x37, 0xc5, 0xf6, 0x10, 0x2b, 0x70, 0x09, 0x4a, 0x42, 0x41, 0xe9, 0xa6, - 0x31, 0x02, 0x89, 0x8f, 0x72, 0x12, 0xc5, 0x00, 0x1a, 0x9f, 0x86, 0x8b, 0x1d, 0x77, 0x07, 0x8f, - 0x42, 0xe4, 0x63, 0x62, 0x1a, 0x1c, 0x85, 0xb3, 0x72, 0x0b, 0x1b, 0xcd, 0xdd, 0xd1, 0x28, 0x7c, - 0x5c, 0xb0, 0x52, 0xe0, 0x10, 0x12, 0x35, 0x28, 0x74, 0x34, 0xdb, 0xd9, 0xd5, 0xda, 0x23, 0x2d, - 0xc7, 0x27, 0x38, 0x8d, 0x71, 0x0f, 0x89, 0x73, 0xa4, 0x6b, 0x1c, 0x86, 0xcc, 0xaf, 0x08, 0x8e, - 0x04, 0xd0, 0xf8, 0xd6, 0x73, 0x5c, 0x9a, 0x94, 0x3b, 0x0c, 0xb5, 0xbf, 0x27, 0xb6, 0x1e, 0xc3, - 0x5d, 0x09, 0x52, 0xbc, 0x00, 0x39, 0x47, 0x7f, 0x79, 0x24, 0x32, 0x7f, 0x5f, 0xac, 0x34, 0x45, - 0x20, 0xc8, 0x2f, 0xc0, 0xb1, 0x81, 0x66, 0x62, 0x04, 0x62, 0xff, 0x80, 0x13, 0x3b, 0x32, 0xc0, - 0x54, 0x70, 0x95, 0x70, 0x58, 0x92, 0xff, 0x50, 0xa8, 0x04, 0xdc, 0x43, 0x6b, 0x9d, 0x44, 0x0d, - 0x8e, 0xb6, 0x7d, 0x38, 0xae, 0xfd, 0x23, 0xc1, 0x35, 0x86, 0x1b, 0xe2, 0xda, 0x06, 0x1c, 0xe1, - 0x14, 0x0f, 0xb7, 0xae, 0x9f, 0x14, 0x8a, 0x95, 0x61, 0x6f, 0x86, 0x57, 0xf7, 0x7b, 0xa1, 0xec, - 0xb1, 0x53, 0xb8, 0xa7, 0x8e, 0xda, 0xd1, 0xac, 0x11, 0x28, 0xff, 0x2a, 0xa7, 0x2c, 0x34, 0xbe, - 0xe7, 0xdf, 0x3a, 0x2b, 0x9a, 0x45, 0x88, 0x3f, 0x0f, 0xd3, 0x82, 0x78, 0xd7, 0xb0, 0x71, 0xd3, - 0xdc, 0x31, 0xf4, 0x97, 0x71, 0x6b, 0x04, 0xd2, 0x9f, 0xea, 0x59, 0xaa, 0xcd, 0x00, 0x3a, 0xa1, - 0xbc, 0x04, 0x92, 0xe7, 0xab, 0xa8, 0x7a, 0xc7, 0x32, 0x6d, 0x37, 0x82, 0xe2, 0xa7, 0xc5, 0x4a, - 0x79, 0x78, 0x4b, 0x14, 0x6d, 0xa1, 0x0e, 0xec, 0xa4, 0x7a, 0x54, 0x91, 0xfc, 0x0c, 0x27, 0x54, - 0xf0, 0xb1, 0xb8, 0xe2, 0x68, 0x9a, 0x1d, 0x4b, 0xb3, 0x47, 0xd1, 0x7f, 0xbf, 0x26, 0x14, 0x07, - 0x47, 0xe1, 0x8a, 0x83, 0x78, 0x74, 0xc4, 0xda, 0x8f, 0x40, 0xe1, 0xb3, 0x42, 0x71, 0x08, 0x1c, - 0x4e, 0x42, 0x38, 0x0c, 0x23, 0x90, 0xf8, 0x9c, 0x20, 0x21, 0x70, 0x08, 0x89, 0x77, 0xf9, 0x86, - 0xd6, 0xc6, 0x3b, 0xba, 0xe3, 0xda, 0xcc, 0x29, 0x3e, 0x98, 0xd4, 0xe7, 0xbf, 0x19, 0x76, 0xc2, - 0x94, 0x00, 0x2a, 0xd1, 0x44, 0x3c, 0x4d, 0x4b, 0x63, 0xa6, 0xe8, 0x81, 0xfd, 0xba, 0xd0, 0x44, - 0x01, 0x34, 0x32, 0xb6, 0x80, 0x87, 0x48, 0xd8, 0xde, 0x24, 0x91, 0xc2, 0x08, 0xe4, 0xfe, 0x71, - 0xcf, 0xe0, 0x1a, 0x02, 0x97, 0xd0, 0x0c, 0xf8, 0x3f, 0x5d, 0xe3, 0x3a, 0xde, 0x1f, 0x49, 0x3a, - 0x7f, 0xa3, 0xc7, 0xff, 0xd9, 0x64, 0x98, 0x4c, 0x87, 0x94, 0x7a, 0xfc, 0x29, 0x14, 0x75, 0x2f, - 0x69, 0xfa, 0x07, 0xdf, 0xe0, 0xf3, 0x0d, 0xbb, 0x53, 0x0b, 0xcb, 0x44, 0xc8, 0xc3, 0x4e, 0x4f, - 0x34, 0xb1, 0xf7, 0xbe, 0xe1, 0xc9, 0x79, 0xc8, 0xe7, 0x59, 0xb8, 0x08, 0x85, 0x90, 0xc3, 0x13, - 0x4d, 0xea, 0x87, 0x39, 0xa9, 0xf1, 0xa0, 0xbf, 0xb3, 0x70, 0x0e, 0x92, 0xc4, 0x79, 0x89, 0x46, - 0xff, 0x11, 0x8e, 0x4e, 0xc1, 0x17, 0x9e, 0x81, 0xac, 0x70, 0x5a, 0xa2, 0x51, 0x7f, 0x94, 0xa3, - 0x7a, 0x28, 0x04, 0x5d, 0x38, 0x2c, 0xd1, 0xe8, 0x7f, 0x43, 0xa0, 0x0b, 0x14, 0x82, 0x3e, 0x3a, - 0x0b, 0xbf, 0xf0, 0x37, 0x93, 0xdc, 0xe8, 0x08, 0xde, 0x5d, 0x80, 0x0c, 0xf7, 0x54, 0xa2, 0xb1, - 0x7f, 0x8c, 0x77, 0x2e, 0x30, 0x16, 0x9e, 0x84, 0xd4, 0x88, 0x0c, 0xff, 0x5b, 0x1c, 0x95, 0xc1, - 0x2f, 0xd4, 0x20, 0x1f, 0xf0, 0x4e, 0xa2, 0xd1, 0x7f, 0x82, 0xa3, 0x07, 0xb1, 0xc8, 0xd0, 0xb9, - 0x77, 0x12, 0x4d, 0xe0, 0x27, 0xc5, 0xd0, 0x39, 0x06, 0x61, 0x9b, 0x70, 0x4c, 0xa2, 0xb1, 0xdf, - 0x2f, 0xb8, 0x2e, 0x50, 0x16, 0x9e, 0x85, 0x9c, 0x67, 0x6c, 0xa2, 0xf1, 0x7f, 0x8a, 0xe3, 0xfb, - 0x38, 0x84, 0x03, 0x01, 0x63, 0x17, 0x4d, 0xe2, 0xa7, 0x05, 0x07, 0x02, 0x58, 0x64, 0x1b, 0xf5, - 0x3a, 0x30, 0xd1, 0x94, 0x7e, 0x46, 0x6c, 0xa3, 0x1e, 0xff, 0x85, 0xac, 0x26, 0xd5, 0xf9, 0xd1, - 0x24, 0xfe, 0xb6, 0x58, 0x4d, 0x0a, 0x4f, 0x86, 0xd1, 0xeb, 0x11, 0x44, 0xd3, 0xf8, 0x39, 0x31, - 0x8c, 0x1e, 0x87, 0x60, 0x61, 0x1d, 0x50, 0xbf, 0x37, 0x10, 0x4d, 0xef, 0x03, 0x9c, 0xde, 0x44, - 0x9f, 0x33, 0xb0, 0xf0, 0x1c, 0x1c, 0x19, 0xec, 0x09, 0x44, 0x53, 0xfd, 0xf9, 0x37, 0x7a, 0x62, - 0xb7, 0xa0, 0x23, 0xb0, 0xb0, 0xe1, 0x9b, 0x94, 0xa0, 0x17, 0x10, 0x4d, 0xf6, 0x17, 0xde, 0x08, - 0x2b, 0xee, 0xa0, 0x13, 0xb0, 0x50, 0x01, 0xf0, 0x0d, 0x70, 0x34, 0xad, 0x0f, 0x72, 0x5a, 0x01, - 0x24, 0xb2, 0x35, 0xb8, 0xfd, 0x8d, 0xc6, 0xbf, 0x2d, 0xb6, 0x06, 0xc7, 0x20, 0x5b, 0x43, 0x98, - 0xde, 0x68, 0xec, 0x0f, 0x89, 0xad, 0x21, 0x50, 0x88, 0x64, 0x07, 0xac, 0x5b, 0x34, 0x85, 0x0f, - 0x0b, 0xc9, 0x0e, 0x60, 0x2d, 0xac, 0xc2, 0x44, 0x9f, 0x41, 0x8c, 0x26, 0xf5, 0x4b, 0x9c, 0x94, - 0xd4, 0x6b, 0x0f, 0x83, 0xc6, 0x8b, 0x1b, 0xc3, 0x68, 0x6a, 0x1f, 0xe9, 0x31, 0x5e, 0xdc, 0x16, - 0x2e, 0x5c, 0x80, 0xac, 0xd1, 0x6d, 0xb7, 0xc9, 0xe6, 0x41, 0x07, 0xdf, 0x25, 0x9c, 0xfe, 0xaf, - 0xdf, 0xe6, 0xdc, 0x11, 0x08, 0x0b, 0xe7, 0x20, 0x85, 0x3b, 0x5b, 0xb8, 0x15, 0x85, 0xf9, 0x8d, - 0x6f, 0x0b, 0x85, 0x49, 0xa0, 0x17, 0x9e, 0x05, 0x60, 0xa9, 0x11, 0x7a, 0x78, 0x18, 0x81, 0xfb, - 0x87, 0xdf, 0xe6, 0x97, 0x77, 0x7c, 0x14, 0x9f, 0x00, 0xbb, 0x0a, 0x74, 0x30, 0x81, 0x6f, 0x86, - 0x09, 0xd0, 0x15, 0x79, 0x1a, 0x32, 0x2f, 0x39, 0xa6, 0xe1, 0x6a, 0x3b, 0x51, 0xd8, 0x7f, 0xc4, - 0xb1, 0x05, 0x3c, 0x61, 0x58, 0xc7, 0xb4, 0xb1, 0xab, 0xed, 0x38, 0x51, 0xb8, 0xff, 0x8d, 0xe3, - 0x7a, 0x08, 0x04, 0xb9, 0xa9, 0x39, 0xee, 0x28, 0xf3, 0xfe, 0x63, 0x81, 0x2c, 0x10, 0xc8, 0xa0, - 0xc9, 0xef, 0xeb, 0x78, 0x3f, 0x0a, 0xf7, 0x4f, 0xc4, 0xa0, 0x39, 0xfc, 0xc2, 0x33, 0x90, 0x23, - 0x3f, 0xd9, 0x8d, 0xbc, 0x08, 0xe4, 0x3f, 0xe5, 0xc8, 0x3e, 0x06, 0xe9, 0xd9, 0x71, 0x5b, 0xae, - 0x1e, 0xcd, 0xec, 0x6f, 0xf1, 0x95, 0x16, 0xf0, 0x0b, 0x15, 0xc8, 0x3b, 0x6e, 0xab, 0xd5, 0xe5, - 0xfe, 0x69, 0x04, 0xfa, 0x9f, 0x7d, 0xdb, 0x4b, 0x59, 0x78, 0x38, 0x64, 0xb5, 0x6f, 0x5e, 0x77, - 0x2d, 0x93, 0x1e, 0x78, 0x44, 0x51, 0x78, 0x83, 0x53, 0x08, 0xa0, 0x2c, 0xd4, 0x60, 0x9c, 0xcc, - 0xc5, 0xc6, 0x16, 0xa6, 0xa7, 0x53, 0x11, 0x24, 0xfe, 0x9c, 0x33, 0x20, 0x84, 0x54, 0xfd, 0x81, - 0x2f, 0xbe, 0x3e, 0x13, 0xfb, 0xd2, 0xeb, 0x33, 0xb1, 0x3f, 0x78, 0x7d, 0x26, 0xf6, 0xfe, 0xaf, - 0xcc, 0x8c, 0x7d, 0xe9, 0x2b, 0x33, 0x63, 0xbf, 0xff, 0x95, 0x99, 0xb1, 0xc1, 0x59, 0x62, 0xb8, - 0x64, 0x5e, 0x32, 0x59, 0x7e, 0xf8, 0xc5, 0x07, 0x76, 0x74, 0x77, 0xb7, 0xbb, 0x35, 0xdf, 0x34, - 0x3b, 0x67, 0x9a, 0xa6, 0xd3, 0x31, 0x9d, 0x33, 0xe1, 0xbc, 0x2e, 0xfd, 0x05, 0xff, 0x3b, 0x46, - 0x62, 0xe6, 0x70, 0x3a, 0x57, 0x33, 0xf6, 0x87, 0x7d, 0xde, 0x73, 0x1e, 0x12, 0x15, 0x63, 0x1f, - 0x1d, 0x63, 0x0a, 0x4e, 0xed, 0xda, 0x6d, 0x7e, 0x2d, 0x2c, 0x43, 0xca, 0x9b, 0x76, 0x1b, 0x4d, - 0xf9, 0x77, 0x37, 0x63, 0x27, 0xc7, 0xf9, 0x85, 0xcc, 0xea, 0x4f, 0xc4, 0x0e, 0x37, 0x93, 0x6c, - 0xc5, 0xd8, 0xa7, 0x13, 0x59, 0x8f, 0xbd, 0xf8, 0x70, 0x64, 0x9e, 0xfb, 0xba, 0x61, 0xde, 0x34, - 0xc8, 0xb0, 0xad, 0x2d, 0x91, 0xe3, 0x9e, 0xe9, 0xcd, 0x71, 0x3f, 0x87, 0xdb, 0xed, 0xab, 0x04, - 0x6e, 0x83, 0xa0, 0x6c, 0xa5, 0xd9, 0x0d, 0x64, 0xf8, 0x99, 0x38, 0xcc, 0xf4, 0xa5, 0xb3, 0xb9, - 0x10, 0x0c, 0x63, 0xc2, 0x02, 0x64, 0x17, 0x85, 0x6c, 0x4d, 0x43, 0xc6, 0xc1, 0x4d, 0xd3, 0x68, - 0x39, 0x94, 0x11, 0x09, 0x45, 0x14, 0x09, 0x23, 0x0c, 0xcd, 0x30, 0x1d, 0x7e, 0xb1, 0x92, 0x15, - 0xaa, 0xbf, 0x78, 0x48, 0x46, 0x14, 0x44, 0x4f, 0x82, 0x1b, 0x8f, 0x8d, 0xc8, 0x0d, 0x31, 0x89, - 0x50, 0xe6, 0x7f, 0x54, 0xae, 0xfc, 0x5c, 0x1c, 0x66, 0x7b, 0xb9, 0x42, 0x76, 0x96, 0xe3, 0x6a, - 0x1d, 0x6b, 0x18, 0x5b, 0x2e, 0x40, 0x6e, 0x43, 0xc0, 0x1c, 0x9a, 0x2f, 0xb7, 0x0f, 0xc9, 0x97, - 0xa2, 0xd7, 0x95, 0x60, 0xcc, 0xd9, 0x11, 0x19, 0xe3, 0xcd, 0xe3, 0x8e, 0x38, 0xf3, 0x17, 0x69, - 0x38, 0xc6, 0xb6, 0x93, 0xca, 0xb6, 0x12, 0x2b, 0x70, 0x9e, 0x8c, 0x07, 0x9b, 0xa2, 0xcf, 0x49, - 0xe4, 0xab, 0x30, 0xb9, 0x44, 0xb4, 0x05, 0x89, 0x82, 0xfc, 0x13, 0x9e, 0x81, 0x77, 0x4f, 0xe7, - 0x42, 0x0e, 0x3f, 0x3f, 0x61, 0x0a, 0x56, 0xc9, 0x3f, 0x18, 0x03, 0xa9, 0xd1, 0xd4, 0xda, 0x9a, - 0xfd, 0x9d, 0x92, 0x42, 0x4f, 0x02, 0xd0, 0x6f, 0x96, 0xfc, 0x8f, 0x8c, 0x8a, 0x67, 0xa7, 0xe7, - 0x83, 0x93, 0x9b, 0x67, 0x3d, 0xd1, 0x2f, 0x18, 0x72, 0x14, 0x96, 0xfc, 0x3c, 0xfd, 0x3c, 0x80, - 0xdf, 0x80, 0x8e, 0xc3, 0xd1, 0x46, 0xad, 0xb2, 0x5c, 0x51, 0x54, 0x76, 0x19, 0x7e, 0xb5, 0xb1, - 0x5e, 0xaf, 0x2d, 0x5d, 0x5c, 0xaa, 0x2f, 0x4a, 0x63, 0xe8, 0x08, 0xa0, 0x60, 0xa3, 0x77, 0x2f, - 0xe5, 0x2e, 0x98, 0x08, 0xd6, 0xb3, 0x1b, 0xf5, 0x71, 0xe2, 0x29, 0xea, 0x1d, 0xab, 0x8d, 0xe9, - 0xd1, 0x9f, 0xaa, 0x0b, 0xae, 0x45, 0x3b, 0x21, 0xbf, 0xf3, 0x6f, 0xd9, 0x2d, 0xeb, 0x49, 0x1f, - 0xdd, 0xe3, 0xf9, 0xc2, 0x32, 0x4c, 0x68, 0xcd, 0x26, 0xb6, 0x42, 0x24, 0x23, 0x54, 0x35, 0x21, - 0x48, 0x0f, 0x33, 0x39, 0xa6, 0x4f, 0xed, 0x49, 0x48, 0x3b, 0x74, 0xf6, 0x51, 0x24, 0x7e, 0x97, - 0x93, 0xe0, 0xe0, 0x0b, 0x06, 0x4c, 0x10, 0xcf, 0x4f, 0xb3, 0x71, 0x60, 0x18, 0x07, 0xe7, 0x19, - 0x7e, 0xf3, 0xd3, 0x8f, 0xd2, 0xa3, 0xcd, 0x7b, 0xc3, 0xcb, 0x32, 0x40, 0x9c, 0x14, 0x89, 0xd3, - 0xf6, 0x07, 0x8a, 0xa1, 0x28, 0xfa, 0xe3, 0x03, 0x3e, 0xb8, 0xb3, 0xdf, 0xe2, 0x9d, 0xcd, 0x0c, - 0x92, 0x81, 0x40, 0x4f, 0x05, 0x4e, 0x95, 0x35, 0x54, 0xeb, 0xc3, 0xf6, 0xf4, 0x8b, 0x0f, 0xf5, - 0x5b, 0x27, 0xf6, 0xdf, 0x23, 0x94, 0xf2, 0x85, 0x60, 0x37, 0xde, 0xde, 0xfb, 0xc5, 0x24, 0x4c, - 0x68, 0x1d, 0xdd, 0x30, 0xcf, 0xd0, 0x7f, 0xf9, 0x9e, 0x4b, 0xd1, 0xc2, 0x08, 0x87, 0x92, 0xe7, - 0xd9, 0x56, 0x88, 0x96, 0x98, 0x3f, 0xfd, 0xf1, 0x8f, 0xa6, 0xfc, 0xed, 0xb2, 0xb0, 0x02, 0x92, - 0xb8, 0x70, 0x88, 0x8d, 0xa6, 0xd9, 0x1a, 0x29, 0x4b, 0xf1, 0x2d, 0x41, 0x43, 0xe4, 0xb7, 0xea, - 0x1c, 0x75, 0xe1, 0x1d, 0x90, 0xf5, 0xc8, 0x44, 0x79, 0x26, 0x82, 0x88, 0x87, 0x41, 0xfc, 0x12, - 0xb6, 0x33, 0x47, 0xf1, 0x42, 0xdf, 0x10, 0xf8, 0x6c, 0x87, 0xae, 0x92, 0xd9, 0x5c, 0x82, 0x62, - 0xcb, 0x34, 0x5c, 0xd5, 0xec, 0xe8, 0x2e, 0xee, 0x58, 0x6e, 0xa4, 0x5f, 0xf7, 0xe7, 0x8c, 0x48, - 0x56, 0x29, 0x10, 0xbc, 0x35, 0x81, 0x46, 0x46, 0xc2, 0xbe, 0x29, 0x1a, 0x65, 0x24, 0xff, 0xdd, - 0x1b, 0x09, 0xc5, 0x21, 0x23, 0xb9, 0x23, 0xe9, 0x70, 0x5a, 0xd7, 0xb9, 0x32, 0x77, 0xf7, 0x98, - 0x14, 0x78, 0xd2, 0xf1, 0xc7, 0x09, 0x98, 0xe1, 0xc0, 0x5b, 0x9a, 0x83, 0xcf, 0xdc, 0x78, 0x6c, - 0x0b, 0xbb, 0xda, 0x63, 0x67, 0x9a, 0xa6, 0x2e, 0x2c, 0xf9, 0x24, 0x57, 0xd6, 0xa4, 0x7d, 0x9e, - 0xb7, 0x97, 0x07, 0x1e, 0x77, 0x97, 0x87, 0x2b, 0xf9, 0x72, 0xbf, 0x0c, 0xca, 0x2f, 0x42, 0xb2, - 0x66, 0xea, 0x06, 0xb1, 0x6d, 0x2d, 0x6c, 0x98, 0x1d, 0xae, 0x6e, 0x59, 0x01, 0x9d, 0x87, 0xb4, - 0xd6, 0x31, 0xbb, 0x86, 0xcb, 0x54, 0x6d, 0x75, 0xe6, 0x8b, 0xaf, 0xcd, 0x8e, 0xfd, 0xfb, 0xd7, - 0x66, 0x13, 0x4b, 0x86, 0xfb, 0x7b, 0x9f, 0x79, 0x04, 0x38, 0xf5, 0x25, 0xc3, 0xfd, 0xf8, 0xd7, - 0x3e, 0x79, 0x3a, 0xa6, 0x70, 0xe8, 0x85, 0xe4, 0xd7, 0x5f, 0x9d, 0x8d, 0xc9, 0xcf, 0x43, 0x66, - 0x11, 0x37, 0x0f, 0x20, 0xff, 0x58, 0x0f, 0xf9, 0x63, 0x82, 0xfc, 0x22, 0x6e, 0x06, 0xc8, 0x2f, - 0xe2, 0x66, 0x0f, 0xe5, 0x27, 0x21, 0xbb, 0x64, 0xb8, 0xec, 0x73, 0x87, 0x87, 0x20, 0xa1, 0x1b, - 0xec, 0x06, 0x6d, 0x80, 0x42, 0xdf, 0x00, 0x15, 0x02, 0x45, 0x10, 0x17, 0x71, 0xd3, 0x43, 0x6c, - 0xe1, 0x66, 0x2f, 0x62, 0x7f, 0xd7, 0x04, 0xaa, 0xba, 0xf8, 0xfb, 0xff, 0x79, 0x66, 0xec, 0x95, - 0xd7, 0x67, 0xc6, 0x86, 0x2e, 0xbd, 0x1c, 0xbd, 0xf4, 0xde, 0x8a, 0x7f, 0x34, 0x09, 0xf7, 0xd0, - 0xaf, 0xe0, 0xec, 0x8e, 0x6e, 0xb8, 0x67, 0x9a, 0xf6, 0xbe, 0xe5, 0x9a, 0x44, 0x01, 0x98, 0xdb, - 0x7c, 0xc1, 0x27, 0xfc, 0xe6, 0x79, 0xd6, 0x3c, 0x78, 0xb9, 0xe5, 0x6d, 0x48, 0xad, 0x13, 0x3c, - 0xc2, 0x62, 0xd7, 0x74, 0xb5, 0x36, 0xf7, 0x5a, 0x58, 0x81, 0xd4, 0xb2, 0x2f, 0xe7, 0xe2, 0xac, - 0x56, 0x17, 0x1f, 0xcd, 0xb5, 0xb1, 0xb6, 0xcd, 0x3e, 0x40, 0x48, 0x50, 0x77, 0x37, 0x4b, 0x2a, - 0xe8, 0xb7, 0x06, 0x53, 0x90, 0xd2, 0xba, 0xec, 0xe6, 0x4b, 0x82, 0xf8, 0xc1, 0xb4, 0x20, 0x5f, - 0x85, 0x0c, 0x3f, 0x7f, 0x47, 0x12, 0x24, 0xae, 0xe3, 0x7d, 0xda, 0xcf, 0xb8, 0x42, 0x7e, 0xa2, - 0x79, 0x48, 0xd1, 0xc1, 0xf3, 0x2f, 0xab, 0xa6, 0xe7, 0xfb, 0x46, 0x3f, 0x4f, 0x07, 0xa9, 0x30, - 0x30, 0xf9, 0x0a, 0x64, 0x17, 0x4d, 0x22, 0x85, 0x61, 0x6a, 0x39, 0x46, 0x8d, 0x8e, 0xd9, 0xea, - 0x72, 0xa9, 0x50, 0x58, 0x01, 0x1d, 0x81, 0x34, 0xfb, 0x20, 0x85, 0xdf, 0xde, 0xe1, 0x25, 0xb9, - 0x06, 0x19, 0x4a, 0x7b, 0xcd, 0x22, 0x2e, 0x83, 0x77, 0xf7, 0x37, 0xc7, 0x3f, 0x4f, 0xe4, 0xe4, - 0xe3, 0xfe, 0x60, 0x11, 0x24, 0x5b, 0x9a, 0xab, 0xf1, 0x79, 0xd3, 0xdf, 0xf2, 0x3b, 0x21, 0xcb, - 0x89, 0x38, 0xe8, 0x2c, 0x24, 0x4c, 0xcb, 0xe1, 0xf7, 0x6f, 0xca, 0xc3, 0xa6, 0xb2, 0x66, 0x55, - 0x93, 0x44, 0x66, 0x14, 0x02, 0x5c, 0x5d, 0x1d, 0x2a, 0x16, 0x4f, 0x84, 0xc4, 0xa2, 0x83, 0xdd, - 0xad, 0x6d, 0xd7, 0xff, 0xc1, 0x96, 0xb3, 0x4f, 0x14, 0x3c, 0x41, 0xb9, 0x1d, 0x87, 0x99, 0x40, - 0xeb, 0x0d, 0x6c, 0x3b, 0xba, 0x69, 0x30, 0x69, 0xe2, 0x92, 0x82, 0x02, 0x03, 0xe4, 0xed, 0x43, - 0x44, 0xe5, 0x19, 0x48, 0x54, 0x2c, 0x0b, 0x95, 0x21, 0x4b, 0xcb, 0x4d, 0x93, 0xc9, 0x4a, 0x52, - 0xf1, 0xca, 0xa4, 0xcd, 0x31, 0xb7, 0xdd, 0x9b, 0x9a, 0xed, 0x7d, 0xaf, 0x29, 0xca, 0xf2, 0xd3, - 0x90, 0xab, 0x99, 0x86, 0x83, 0x0d, 0xa7, 0x4b, 0x7d, 0xe1, 0xad, 0xb6, 0xd9, 0xbc, 0xce, 0x29, - 0xb0, 0x02, 0x61, 0xb6, 0x66, 0x59, 0x14, 0x33, 0xa9, 0x90, 0x9f, 0x6c, 0xbf, 0x56, 0xd7, 0x86, - 0xb2, 0xe7, 0xdc, 0xe1, 0xd8, 0xc3, 0x27, 0xe8, 0x3b, 0xb5, 0x31, 0xb8, 0xbb, 0x7f, 0x23, 0x5d, - 0xc7, 0xfb, 0xce, 0x61, 0xf7, 0xd1, 0xf3, 0x90, 0x5b, 0xa7, 0x0f, 0x26, 0x5c, 0xc5, 0xfb, 0xa8, - 0x0c, 0x19, 0xdc, 0x3a, 0x7b, 0xee, 0xdc, 0x63, 0x4f, 0x33, 0x29, 0xbf, 0x3c, 0xa6, 0x88, 0x0a, - 0x34, 0x03, 0x39, 0x07, 0x37, 0xad, 0xb3, 0xe7, 0xce, 0x5f, 0x7f, 0x8c, 0x89, 0xd5, 0xe5, 0x31, - 0xc5, 0xaf, 0x5a, 0xc8, 0x92, 0x19, 0x7f, 0xfd, 0xc3, 0xb3, 0xb1, 0x6a, 0x0a, 0x12, 0x4e, 0xb7, - 0xf3, 0x96, 0xc9, 0xc6, 0xcf, 0xa6, 0x60, 0x2e, 0xd0, 0xca, 0x8c, 0xcb, 0x0d, 0xad, 0xad, 0xb7, - 0x34, 0xff, 0x99, 0x0b, 0x29, 0x30, 0x7f, 0x0a, 0x31, 0xc4, 0x6a, 0x1c, 0xc8, 0x45, 0xf9, 0x53, - 0x31, 0x18, 0xbf, 0x26, 0x28, 0x37, 0xb0, 0x8b, 0x2e, 0x00, 0x78, 0x3d, 0x89, 0xad, 0x72, 0x7c, - 0xbe, 0xb7, 0xaf, 0x79, 0x0f, 0x47, 0x09, 0x80, 0xa3, 0x27, 0xa9, 0x00, 0x5a, 0xa6, 0xc3, 0xbf, - 0xdd, 0x8b, 0x40, 0xf5, 0x80, 0xd1, 0xc3, 0x80, 0xa8, 0x56, 0x53, 0x6f, 0x98, 0xae, 0x6e, 0xec, - 0xa8, 0x96, 0x79, 0x93, 0x7f, 0x11, 0x9d, 0x50, 0x24, 0xda, 0x72, 0x8d, 0x36, 0xac, 0x93, 0x7a, - 0x32, 0xe8, 0x9c, 0x47, 0x85, 0x84, 0x75, 0x5a, 0xab, 0x65, 0x63, 0xc7, 0xe1, 0x8a, 0x4b, 0x14, - 0xd1, 0x05, 0xc8, 0x58, 0xdd, 0x2d, 0x55, 0x68, 0x89, 0xfc, 0xd9, 0xbb, 0x07, 0xed, 0x79, 0x21, - 0x1b, 0x7c, 0xd7, 0xa7, 0xad, 0xee, 0x16, 0x91, 0x94, 0x7b, 0x61, 0x7c, 0xc0, 0x60, 0xf2, 0x37, - 0xfc, 0x71, 0xd0, 0x37, 0x3a, 0xf8, 0x0c, 0x54, 0xcb, 0xd6, 0x4d, 0x5b, 0x77, 0xf7, 0xe9, 0xc5, - 0xb9, 0x84, 0x22, 0x89, 0x86, 0x75, 0x5e, 0x2f, 0x5f, 0x87, 0x52, 0x83, 0xba, 0xfb, 0xfe, 0xc8, - 0xcf, 0xf9, 0xe3, 0x8b, 0x45, 0x8f, 0x6f, 0xe8, 0xc8, 0xe2, 0x7d, 0x23, 0xab, 0xae, 0x0c, 0x95, - 0xcc, 0xc7, 0x0f, 0x27, 0x99, 0x61, 0xeb, 0xf6, 0x87, 0xc7, 0x42, 0x9b, 0x92, 0x7b, 0x3d, 0x01, - 0x95, 0x35, 0xaa, 0x50, 0x46, 0x45, 0xf2, 0xe5, 0x83, 0x8d, 0x68, 0x39, 0x42, 0x75, 0x96, 0x23, - 0xb7, 0x8f, 0xfc, 0x34, 0x14, 0xd6, 0x35, 0xdb, 0x6d, 0x60, 0xf7, 0x32, 0xd6, 0x5a, 0xd8, 0x0e, - 0x5b, 0xd9, 0x82, 0xb0, 0xb2, 0x08, 0x92, 0xd4, 0x94, 0x32, 0x2b, 0x43, 0x7f, 0xcb, 0xbb, 0x90, - 0xa4, 0x17, 0x67, 0x3d, 0x0b, 0xcc, 0x31, 0x98, 0x05, 0x26, 0xfa, 0x73, 0xdf, 0xc5, 0x8e, 0x48, - 0x36, 0xd1, 0x02, 0x7a, 0x42, 0xd8, 0xd1, 0xc4, 0xc1, 0x76, 0x94, 0x0b, 0x21, 0xb7, 0xa6, 0x6d, - 0xc8, 0x54, 0x89, 0xfa, 0x5d, 0x5a, 0xf4, 0x06, 0x12, 0xf3, 0x07, 0x82, 0x56, 0xa0, 0x64, 0x69, - 0xb6, 0x4b, 0xbf, 0x39, 0xda, 0xa5, 0xb3, 0xe0, 0x72, 0x3e, 0xdb, 0xbf, 0xeb, 0x42, 0x93, 0xe5, - 0xbd, 0x14, 0xac, 0x60, 0xa5, 0xfc, 0x5f, 0x92, 0x90, 0xe6, 0xcc, 0x78, 0x06, 0x32, 0x9c, 0xad, - 0x5c, 0x32, 0xef, 0x99, 0xef, 0x37, 0x46, 0xf3, 0x9e, 0xd1, 0xe0, 0xf4, 0x04, 0x0e, 0x7a, 0x10, - 0xb2, 0xcd, 0x5d, 0x4d, 0x37, 0x54, 0xbd, 0xc5, 0x1d, 0xc0, 0xfc, 0xeb, 0xaf, 0xcd, 0x66, 0x6a, - 0xa4, 0x6e, 0x69, 0x51, 0xc9, 0xd0, 0xc6, 0xa5, 0x16, 0xb1, 0xfc, 0xbb, 0x58, 0xdf, 0xd9, 0x75, - 0xf9, 0xee, 0xe2, 0x25, 0xf4, 0x14, 0x24, 0x89, 0x40, 0xf0, 0x2f, 0x52, 0xcb, 0x7d, 0x7e, 0xbc, - 0x97, 0x68, 0xa9, 0x66, 0x49, 0xc7, 0xef, 0xff, 0x4f, 0xb3, 0x31, 0x85, 0x62, 0xa0, 0x1a, 0x14, - 0xda, 0x9a, 0xe3, 0xaa, 0xd4, 0x6a, 0x91, 0xee, 0x53, 0x94, 0xc4, 0xb1, 0x7e, 0x86, 0x70, 0xc6, - 0xf2, 0xa1, 0xe7, 0x09, 0x16, 0xab, 0x6a, 0xa1, 0x93, 0x20, 0x51, 0x22, 0x4d, 0xb3, 0xd3, 0xd1, - 0x5d, 0xe6, 0x4b, 0xa5, 0x29, 0xdf, 0x8b, 0xa4, 0xbe, 0x46, 0xab, 0xa9, 0x47, 0x75, 0x1c, 0x72, - 0xf4, 0x1b, 0x38, 0x0a, 0xc2, 0x6e, 0x6b, 0x67, 0x49, 0x05, 0x6d, 0x3c, 0x01, 0x25, 0x5f, 0x37, - 0x32, 0x90, 0x2c, 0xa3, 0xe2, 0x57, 0x53, 0xc0, 0x47, 0x61, 0xca, 0xc0, 0x7b, 0xf4, 0xfe, 0x78, - 0x08, 0x3a, 0x47, 0xa1, 0x11, 0x69, 0xbb, 0x16, 0xc6, 0x78, 0x00, 0x8a, 0x4d, 0xc1, 0x7c, 0x06, - 0x0b, 0x14, 0xb6, 0xe0, 0xd5, 0x52, 0xb0, 0x63, 0x90, 0xd5, 0x2c, 0x8b, 0x01, 0xe4, 0xb9, 0x6e, - 0xb4, 0x2c, 0xda, 0x74, 0x1a, 0x26, 0xe8, 0x1c, 0x6d, 0xec, 0x74, 0xdb, 0x2e, 0x27, 0x32, 0x4e, - 0x61, 0x4a, 0xa4, 0x41, 0x61, 0xf5, 0x14, 0xf6, 0x3e, 0x28, 0xe0, 0x1b, 0x7a, 0x0b, 0x1b, 0x4d, - 0xcc, 0xe0, 0x0a, 0x14, 0x6e, 0x5c, 0x54, 0x52, 0xa0, 0x53, 0xe0, 0xe9, 0x3c, 0x55, 0xe8, 0xe3, - 0x22, 0xa3, 0x27, 0xea, 0x2b, 0xac, 0x5a, 0x9e, 0x86, 0xe4, 0xa2, 0xe6, 0x6a, 0xc4, 0xa9, 0x70, - 0xf7, 0x98, 0x91, 0x19, 0x57, 0xc8, 0x4f, 0xf9, 0xeb, 0x71, 0x48, 0x5e, 0x33, 0x5d, 0x8c, 0x1e, - 0x0f, 0x38, 0x7c, 0xc5, 0x41, 0xf2, 0xdc, 0xd0, 0x77, 0x0c, 0xdc, 0x5a, 0x71, 0x76, 0x02, 0x0f, - 0x56, 0xf8, 0xe2, 0x14, 0x0f, 0x89, 0xd3, 0x14, 0xa4, 0x6c, 0xb3, 0x6b, 0xb4, 0xc4, 0x45, 0x67, - 0x5a, 0x40, 0x75, 0xc8, 0x7a, 0x52, 0x92, 0x8c, 0x92, 0x92, 0x12, 0x91, 0x12, 0x22, 0xc3, 0xbc, - 0x42, 0xc9, 0x6c, 0x71, 0x61, 0xa9, 0x42, 0xce, 0x53, 0x5e, 0x5c, 0xda, 0x46, 0x13, 0x58, 0x1f, - 0x8d, 0x18, 0x12, 0x6f, 0xed, 0x3d, 0xe6, 0x31, 0x89, 0x93, 0xbc, 0x06, 0xce, 0xbd, 0x90, 0x58, - 0xf1, 0xc7, 0x33, 0x32, 0x74, 0x5e, 0xbe, 0x58, 0xb1, 0x07, 0x34, 0xee, 0x86, 0x9c, 0xa3, 0xef, - 0x18, 0x9a, 0xdb, 0xb5, 0x31, 0x97, 0x3c, 0xbf, 0x42, 0xfe, 0x42, 0x0c, 0xd2, 0x4c, 0x92, 0x03, - 0x7c, 0x8b, 0x0d, 0xe6, 0x5b, 0x7c, 0x18, 0xdf, 0x12, 0x77, 0xce, 0xb7, 0x0a, 0x80, 0x37, 0x18, - 0x87, 0xbf, 0x69, 0x30, 0xc0, 0x5b, 0x60, 0x43, 0x6c, 0xe8, 0x3b, 0x7c, 0xa3, 0x06, 0x90, 0xe4, - 0xff, 0x18, 0x23, 0x8e, 0x2b, 0x6f, 0x47, 0x15, 0x28, 0x88, 0x71, 0xa9, 0xdb, 0x6d, 0x6d, 0x87, - 0xcb, 0xce, 0x3d, 0x43, 0x07, 0x77, 0xb1, 0xad, 0xed, 0x28, 0x79, 0x3e, 0x1e, 0x52, 0x18, 0xbc, - 0x0e, 0xf1, 0x21, 0xeb, 0x10, 0x5a, 0xf8, 0xc4, 0x9d, 0x2d, 0x7c, 0x68, 0x89, 0x92, 0xbd, 0x4b, - 0xf4, 0xe9, 0x38, 0x0d, 0x5e, 0x2c, 0xd3, 0xd1, 0xda, 0x6f, 0xc7, 0x8e, 0x38, 0x0e, 0x39, 0xcb, - 0x6c, 0xab, 0xac, 0x85, 0x7d, 0x00, 0x90, 0xb5, 0xcc, 0xb6, 0xd2, 0xb7, 0xec, 0xa9, 0x37, 0x69, - 0xbb, 0xa4, 0xdf, 0x04, 0xae, 0x65, 0x7a, 0xb9, 0x66, 0xc3, 0x38, 0x63, 0x05, 0xb7, 0x65, 0x8f, - 0x12, 0x1e, 0x50, 0xe3, 0x18, 0xeb, 0xb7, 0xbd, 0x6c, 0xd8, 0x0c, 0x52, 0xe1, 0x70, 0x04, 0x83, - 0xa9, 0xfe, 0x41, 0x51, 0x6f, 0x50, 0x2c, 0x15, 0x0e, 0x27, 0xff, 0x6c, 0x0c, 0x60, 0x99, 0x70, - 0x96, 0xce, 0x97, 0x58, 0x21, 0x87, 0x0e, 0x41, 0x0d, 0xf5, 0x3c, 0x33, 0x6c, 0xd1, 0x78, 0xff, - 0xe3, 0x4e, 0x70, 0xdc, 0x35, 0x28, 0xf8, 0xc2, 0xe8, 0x60, 0x31, 0x98, 0x99, 0x03, 0x3c, 0xea, - 0x06, 0x76, 0x95, 0xf1, 0x1b, 0x81, 0x92, 0xfc, 0x4f, 0x62, 0x90, 0xa3, 0x63, 0x5a, 0xc1, 0xae, - 0x16, 0x5a, 0xc3, 0xd8, 0x9d, 0xaf, 0xe1, 0x3d, 0x00, 0x8c, 0x8c, 0xa3, 0xbf, 0x8c, 0xb9, 0x64, - 0xe5, 0x68, 0x4d, 0x43, 0x7f, 0x19, 0xa3, 0xf3, 0x1e, 0xc3, 0x13, 0x07, 0x33, 0x5c, 0x78, 0xdc, - 0x9c, 0xed, 0x47, 0x21, 0x43, 0xdf, 0x00, 0xdb, 0x73, 0xb8, 0x13, 0x9d, 0x36, 0xba, 0x9d, 0x8d, - 0x3d, 0x47, 0x7e, 0x09, 0x32, 0x1b, 0x7b, 0x2c, 0x17, 0x72, 0x1c, 0x72, 0xb6, 0x69, 0x72, 0x9b, - 0xcc, 0x7c, 0xa1, 0x2c, 0xa9, 0xa0, 0x26, 0x48, 0xc4, 0xff, 0x71, 0x3f, 0xfe, 0xf7, 0x13, 0x18, - 0x89, 0x91, 0x12, 0x18, 0xa7, 0xff, 0x5d, 0x0c, 0xf2, 0x01, 0xfd, 0x80, 0x1e, 0x83, 0xbb, 0xaa, - 0xcb, 0x6b, 0xb5, 0xab, 0xea, 0xd2, 0xa2, 0x7a, 0x71, 0xb9, 0x72, 0xc9, 0xff, 0xc4, 0xad, 0x7c, - 0xe4, 0xd6, 0xed, 0x39, 0x14, 0x80, 0xdd, 0x34, 0xe8, 0x69, 0x0e, 0x3a, 0x03, 0x53, 0x61, 0x94, - 0x4a, 0xb5, 0x51, 0x5f, 0xdd, 0x90, 0x62, 0xe5, 0xbb, 0x6e, 0xdd, 0x9e, 0x9b, 0x08, 0x60, 0x54, - 0xb6, 0x1c, 0x6c, 0xb8, 0xfd, 0x08, 0xb5, 0xb5, 0x95, 0x95, 0xa5, 0x0d, 0x29, 0xde, 0x87, 0xc0, - 0x15, 0xf6, 0x29, 0x98, 0x08, 0x23, 0xac, 0x2e, 0x2d, 0x4b, 0x89, 0x32, 0xba, 0x75, 0x7b, 0xae, - 0x18, 0x80, 0x5e, 0xd5, 0xdb, 0xe5, 0xec, 0xfb, 0x3e, 0x32, 0x33, 0xf6, 0xf1, 0xbf, 0x3b, 0x13, - 0x23, 0x33, 0x2b, 0x84, 0x74, 0x04, 0x7a, 0x18, 0x8e, 0x36, 0x96, 0x2e, 0xad, 0xd6, 0x17, 0xd5, - 0x95, 0xc6, 0x25, 0x71, 0x1e, 0x22, 0x66, 0x57, 0xba, 0x75, 0x7b, 0x2e, 0xcf, 0xa7, 0x34, 0x0c, - 0x7a, 0x5d, 0xa9, 0x5f, 0x5b, 0xdb, 0xa8, 0x4b, 0x31, 0x06, 0xbd, 0x6e, 0xe3, 0x1b, 0xa6, 0xcb, - 0x1e, 0x09, 0x7c, 0x14, 0x8e, 0x0d, 0x80, 0xf6, 0x26, 0x36, 0x71, 0xeb, 0xf6, 0x5c, 0x61, 0xdd, - 0xc6, 0x6c, 0xff, 0x50, 0x8c, 0x79, 0x98, 0xee, 0xc7, 0x58, 0x5b, 0x5f, 0x6b, 0x54, 0x96, 0xa5, - 0xb9, 0xb2, 0x74, 0xeb, 0xf6, 0xdc, 0xb8, 0x50, 0x86, 0x04, 0xde, 0x9f, 0xd9, 0x5b, 0x15, 0xed, - 0xfc, 0x68, 0x26, 0x94, 0xcb, 0x63, 0x71, 0x84, 0xa5, 0xd9, 0x5a, 0xe7, 0xb0, 0xe1, 0x4e, 0xc4, - 0x71, 0xae, 0xfc, 0x4a, 0x1c, 0x4a, 0x9e, 0x33, 0xbd, 0x4e, 0x7b, 0x40, 0x8f, 0x07, 0xf3, 0x30, - 0xf9, 0xa1, 0x66, 0x8c, 0x41, 0x8b, 0x34, 0xcd, 0x3b, 0x20, 0x2b, 0x9c, 0x32, 0xae, 0x2e, 0xe6, - 0xfa, 0xf1, 0xea, 0x1c, 0x82, 0xa3, 0x7a, 0x18, 0xe8, 0x59, 0xc8, 0x79, 0xca, 0xc3, 0x7b, 0x62, - 0x67, 0xb8, 0xb6, 0xe1, 0xf8, 0x3e, 0x0e, 0x7a, 0xda, 0x0f, 0x1b, 0x92, 0xc3, 0x02, 0x91, 0x6b, - 0x0c, 0x80, 0x23, 0x0b, 0x78, 0x79, 0x89, 0x6f, 0x3b, 0x3e, 0x7b, 0xfa, 0x3c, 0xc1, 0x9e, 0xca, - 0x22, 0x29, 0xe6, 0x95, 0x64, 0x3b, 0xda, 0x5e, 0x95, 0x06, 0x53, 0x47, 0x21, 0x43, 0x1a, 0x77, - 0xf8, 0xd7, 0xd7, 0x09, 0x25, 0xdd, 0xd1, 0xf6, 0x2e, 0x69, 0xce, 0x95, 0x64, 0x36, 0x21, 0x25, - 0xe5, 0x4f, 0xc4, 0xa0, 0x18, 0x9e, 0x23, 0x7a, 0x08, 0x10, 0xc1, 0xd0, 0x76, 0xb0, 0x4a, 0x54, - 0x0c, 0x65, 0x96, 0xa0, 0x5b, 0xea, 0x68, 0x7b, 0x95, 0x1d, 0xbc, 0xda, 0xed, 0xd0, 0x01, 0x38, - 0x68, 0x05, 0x24, 0x01, 0x2c, 0xd6, 0x89, 0x33, 0xf3, 0x58, 0xff, 0x83, 0x7b, 0x1c, 0x80, 0x19, - 0xaa, 0x0f, 0x10, 0x43, 0x55, 0x64, 0xf4, 0xbc, 0xe3, 0xf8, 0xd0, 0x54, 0x12, 0xe1, 0xa9, 0xc8, - 0xcf, 0x42, 0xa9, 0x87, 0x9f, 0x48, 0x86, 0x02, 0xcf, 0x0a, 0xd0, 0xa3, 0x4e, 0xe6, 0x1f, 0xe7, - 0x94, 0x3c, 0x8b, 0xfe, 0xe9, 0xd1, 0xef, 0x42, 0xf6, 0xf3, 0xaf, 0xce, 0xc6, 0x68, 0xc2, 0xfc, - 0x21, 0x28, 0x84, 0x38, 0x2a, 0x32, 0x75, 0x31, 0x3f, 0x53, 0xe7, 0x03, 0xbf, 0x08, 0xe3, 0x44, - 0x51, 0xe2, 0x16, 0x87, 0x7d, 0x10, 0x4a, 0x4c, 0x91, 0xf7, 0xf2, 0x9a, 0x79, 0x52, 0x2b, 0x82, - 0xe1, 0xb2, 0x70, 0xad, 0xc2, 0x6c, 0xcf, 0x0b, 0xa8, 0x4b, 0x9a, 0x53, 0x7d, 0xd7, 0xc7, 0x5f, - 0x9f, 0x89, 0xbd, 0x35, 0x1b, 0xf1, 0xcb, 0xef, 0x82, 0xe3, 0x81, 0x46, 0x6d, 0xab, 0xa9, 0x87, - 0xb2, 0x0e, 0xa5, 0x80, 0x90, 0x91, 0xc6, 0xa8, 0xec, 0xc1, 0x81, 0x39, 0x8c, 0x83, 0x13, 0x66, - 0xe5, 0x83, 0x35, 0x42, 0x74, 0x62, 0x63, 0x70, 0x8e, 0xf2, 0xff, 0x66, 0x21, 0xa3, 0xe0, 0xf7, - 0x74, 0xb1, 0xe3, 0xa2, 0xb3, 0x90, 0xc4, 0xcd, 0x5d, 0x73, 0x50, 0x4a, 0x88, 0x4c, 0x6e, 0x9e, - 0xc3, 0xd5, 0x9b, 0xbb, 0xe6, 0xe5, 0x31, 0x85, 0xc2, 0xa2, 0x73, 0x90, 0xda, 0x6e, 0x77, 0x79, - 0x9e, 0xa2, 0x47, 0x59, 0x04, 0x91, 0x2e, 0x12, 0xa0, 0xcb, 0x63, 0x0a, 0x83, 0x26, 0x5d, 0xd1, - 0xa7, 0x4b, 0x13, 0x07, 0x77, 0xb5, 0x64, 0x6c, 0xd3, 0xae, 0x08, 0x2c, 0xaa, 0x02, 0xe8, 0x86, - 0xee, 0xaa, 0x34, 0x86, 0xe7, 0x9e, 0xe0, 0xbd, 0xc3, 0x31, 0x75, 0x97, 0x46, 0xfd, 0x97, 0xc7, - 0x94, 0x9c, 0x2e, 0x0a, 0x64, 0xb8, 0xef, 0xe9, 0x62, 0x7b, 0x9f, 0x3b, 0x80, 0x43, 0x87, 0xfb, - 0x2e, 0x02, 0x44, 0x86, 0x4b, 0xa1, 0x51, 0x1d, 0xf2, 0xf4, 0x1b, 0x55, 0xb6, 0x7f, 0xf9, 0x33, - 0x9a, 0xf2, 0x30, 0xe4, 0x2a, 0x01, 0xa5, 0x5b, 0xfa, 0xf2, 0x98, 0x02, 0x5b, 0x5e, 0x89, 0x28, - 0x49, 0xf6, 0xcc, 0x92, 0xbb, 0xc7, 0x1f, 0x0f, 0x9c, 0x1d, 0x46, 0x83, 0xbe, 0xb5, 0xb4, 0xb1, - 0x77, 0x79, 0x4c, 0xc9, 0x34, 0xd9, 0x4f, 0x32, 0xff, 0x16, 0x6e, 0xeb, 0x37, 0xb0, 0x4d, 0xf0, - 0x73, 0x07, 0xcf, 0x7f, 0x91, 0x41, 0x52, 0x0a, 0xb9, 0x96, 0x28, 0x10, 0x45, 0x8b, 0x8d, 0x16, - 0x9f, 0x06, 0xf4, 0xeb, 0xe9, 0xd0, 0x3a, 0x1b, 0x2d, 0x31, 0x89, 0x2c, 0xe6, 0xbf, 0xd1, 0x53, - 0x9e, 0x87, 0x9a, 0xef, 0x77, 0x0a, 0x43, 0x13, 0x60, 0xb9, 0x8a, 0x31, 0xe1, 0xa9, 0xa2, 0x55, - 0x28, 0xb6, 0x75, 0xc7, 0x55, 0x1d, 0x43, 0xb3, 0x9c, 0x5d, 0xd3, 0x75, 0x68, 0xd0, 0x9f, 0x3f, - 0xfb, 0xc0, 0x30, 0x0a, 0xcb, 0xba, 0xe3, 0x36, 0x04, 0xf0, 0xe5, 0x31, 0xa5, 0xd0, 0x0e, 0x56, - 0x10, 0x7a, 0xe6, 0xf6, 0x36, 0xb6, 0x3d, 0x82, 0x34, 0x39, 0x70, 0x00, 0xbd, 0x35, 0x02, 0x2d, - 0xf0, 0x09, 0x3d, 0x33, 0x58, 0x81, 0xbe, 0x17, 0x26, 0xdb, 0xa6, 0xd6, 0xf2, 0xc8, 0xa9, 0xcd, - 0xdd, 0xae, 0x71, 0x9d, 0x66, 0x12, 0xf2, 0x67, 0x4f, 0x0d, 0x1d, 0xa4, 0xa9, 0xb5, 0x04, 0x89, - 0x1a, 0x41, 0xb8, 0x3c, 0xa6, 0x4c, 0xb4, 0x7b, 0x2b, 0xd1, 0xbb, 0x61, 0x4a, 0xb3, 0xac, 0xf6, - 0x7e, 0x2f, 0xf5, 0x12, 0xa5, 0x7e, 0x7a, 0x18, 0xf5, 0x0a, 0xc1, 0xe9, 0x25, 0x8f, 0xb4, 0xbe, - 0x5a, 0xb4, 0x01, 0x92, 0x65, 0x63, 0xfa, 0x51, 0x8d, 0xc5, 0x5d, 0x15, 0xfa, 0x32, 0x56, 0xfe, - 0xec, 0x89, 0x61, 0xb4, 0xd7, 0x19, 0xbc, 0xf0, 0x6c, 0x2e, 0x8f, 0x29, 0x25, 0x2b, 0x5c, 0xc5, - 0xa8, 0x9a, 0x4d, 0x4c, 0x5f, 0x6f, 0xe2, 0x54, 0x27, 0xa2, 0xa8, 0x52, 0xf8, 0x30, 0xd5, 0x50, - 0x55, 0x35, 0xc3, 0x2f, 0xc5, 0xf1, 0xa7, 0x55, 0x4e, 0x40, 0x3e, 0xa0, 0x58, 0xd0, 0x34, 0x64, - 0xf8, 0x25, 0x01, 0x71, 0x99, 0x8e, 0x17, 0xe5, 0x22, 0x8c, 0x07, 0x95, 0x89, 0xfc, 0xfe, 0x98, - 0x87, 0x49, 0xbf, 0x75, 0x9f, 0x0e, 0xa7, 0x0e, 0x73, 0x7e, 0x56, 0xf0, 0x3e, 0x61, 0x45, 0x44, - 0x3b, 0x3b, 0x4d, 0x1a, 0xa7, 0x95, 0xdc, 0x88, 0xa1, 0x59, 0xc8, 0x5b, 0x67, 0x2d, 0x0f, 0x24, - 0x41, 0x41, 0xc0, 0x3a, 0x6b, 0x09, 0x80, 0x7b, 0x61, 0x9c, 0xcc, 0x54, 0x0d, 0x3a, 0x1a, 0x39, - 0x25, 0x4f, 0xea, 0x38, 0x88, 0xfc, 0xaf, 0xe2, 0x20, 0xf5, 0x2a, 0x20, 0x2f, 0xa7, 0x18, 0x3b, - 0x74, 0x4e, 0xf1, 0x58, 0x6f, 0x36, 0xd3, 0x4f, 0x60, 0x2e, 0x83, 0xe4, 0xe7, 0xe1, 0x98, 0x21, - 0x18, 0xee, 0x38, 0xf5, 0x78, 0x78, 0x4a, 0xa9, 0xd9, 0xe3, 0xf2, 0x5d, 0x0c, 0x9d, 0xbd, 0x88, - 0xb7, 0xb9, 0x7b, 0x97, 0xd8, 0xf3, 0x17, 0x36, 0xad, 0x96, 0xe6, 0x62, 0x91, 0x17, 0x09, 0x1c, - 0xc3, 0x3c, 0x08, 0x25, 0xcd, 0xb2, 0x54, 0xc7, 0xd5, 0x5c, 0xcc, 0xcd, 0x7a, 0x8a, 0xa5, 0x07, - 0x35, 0xcb, 0x6a, 0x90, 0x5a, 0x66, 0xd6, 0x1f, 0x80, 0x22, 0xd1, 0xc9, 0xba, 0xd6, 0x56, 0x79, - 0x96, 0x20, 0xcd, 0xac, 0x3f, 0xaf, 0xbd, 0x4c, 0x2b, 0xe5, 0x96, 0xb7, 0xe2, 0x54, 0x1f, 0x7b, - 0x61, 0x56, 0x2c, 0x10, 0x66, 0x21, 0xfe, 0x08, 0x01, 0xe3, 0x8f, 0x78, 0xb7, 0x61, 0x70, 0x76, - 0x77, 0x8a, 0x86, 0x64, 0x37, 0x58, 0xc2, 0x23, 0xab, 0xb0, 0x82, 0xfc, 0xde, 0x38, 0x4c, 0xf4, - 0x69, 0xee, 0x81, 0x69, 0x6f, 0x3f, 0xbe, 0x8c, 0x1f, 0x2a, 0xbe, 0xbc, 0x1a, 0x4e, 0xeb, 0x06, - 0x2c, 0xdf, 0xf1, 0x3e, 0x26, 0x33, 0xbd, 0x49, 0x04, 0x9a, 0x13, 0x09, 0x64, 0x7e, 0xa9, 0x98, - 0x6f, 0xc2, 0xd4, 0xd6, 0xfe, 0xcb, 0x9a, 0xe1, 0xea, 0x06, 0x56, 0xfb, 0x56, 0xad, 0xdf, 0x94, - 0xae, 0xe8, 0xce, 0x16, 0xde, 0xd5, 0x6e, 0xe8, 0xa6, 0x18, 0xd6, 0xa4, 0x87, 0xef, 0x27, 0x77, - 0x65, 0x05, 0x8a, 0x61, 0xd3, 0x83, 0x8a, 0x10, 0x77, 0xf7, 0xf8, 0xfc, 0xe3, 0xee, 0x1e, 0x7a, - 0x94, 0xe7, 0x81, 0xe2, 0x34, 0x0f, 0xd4, 0xdf, 0x11, 0xc7, 0xf3, 0x93, 0x40, 0xb2, 0xec, 0xed, - 0x06, 0xcf, 0x1c, 0xf5, 0x52, 0x95, 0x4f, 0x41, 0xa9, 0xc7, 0xde, 0x0c, 0xcb, 0x0a, 0xca, 0x25, - 0x28, 0x84, 0x8c, 0x8b, 0x7c, 0x04, 0xa6, 0x06, 0xd9, 0x0a, 0x79, 0xd7, 0xab, 0x0f, 0xe9, 0x7c, - 0x74, 0x0e, 0xb2, 0x9e, 0xb1, 0x18, 0x90, 0x85, 0xa0, 0xb3, 0x10, 0xc0, 0x8a, 0x07, 0x1a, 0x4a, - 0x66, 0xc7, 0x43, 0xc9, 0x6c, 0xf9, 0x07, 0x60, 0x7a, 0x98, 0x21, 0xe8, 0x99, 0x46, 0xd2, 0x93, - 0xc2, 0x23, 0x90, 0xe6, 0x4f, 0xb4, 0xc5, 0xe9, 0xf1, 0x0d, 0x2f, 0x11, 0xe9, 0x64, 0x46, 0x21, - 0xc1, 0x4e, 0x75, 0x68, 0x41, 0x56, 0xe1, 0xd8, 0x50, 0x63, 0x30, 0xfc, 0x20, 0x88, 0x11, 0xe2, - 0x07, 0x41, 0x4d, 0x31, 0x1c, 0x87, 0xce, 0x55, 0x5c, 0x76, 0x60, 0x25, 0xf9, 0x03, 0x09, 0x38, - 0x32, 0xd8, 0x24, 0xa0, 0x39, 0x18, 0x27, 0x7e, 0xb7, 0x1b, 0x76, 0xd1, 0xa1, 0xa3, 0xed, 0x6d, - 0x70, 0xff, 0x9c, 0x27, 0xd2, 0xe3, 0x5e, 0x22, 0x1d, 0x6d, 0xc2, 0x44, 0xdb, 0x6c, 0x6a, 0x6d, - 0x35, 0x20, 0xf1, 0x5c, 0xd8, 0xef, 0xeb, 0x63, 0x76, 0x9d, 0x3d, 0xdc, 0xdc, 0xea, 0x13, 0xfa, - 0x12, 0xa5, 0xb1, 0xec, 0x49, 0x3e, 0x5a, 0x84, 0x7c, 0xc7, 0x17, 0xe4, 0x43, 0x08, 0x7b, 0x10, - 0x2d, 0xb0, 0x24, 0xa9, 0x81, 0xc7, 0x3e, 0xe9, 0x43, 0xab, 0xe8, 0x61, 0x27, 0x28, 0x99, 0xa1, - 0x27, 0x28, 0x83, 0x8e, 0x2b, 0xb2, 0x83, 0x8f, 0x2b, 0xde, 0x17, 0x5c, 0x9a, 0x90, 0x11, 0xed, - 0x3f, 0xc1, 0x40, 0x0d, 0x98, 0xe2, 0xf8, 0xad, 0x10, 0xef, 0xe3, 0xa3, 0x2a, 0x1a, 0x24, 0xd0, - 0x87, 0xb3, 0x3d, 0x71, 0x67, 0x6c, 0x17, 0xba, 0x34, 0x19, 0xd0, 0xa5, 0xff, 0x9f, 0x2d, 0xc5, - 0xbf, 0xc9, 0x41, 0x56, 0xc1, 0x8e, 0x45, 0x0c, 0x27, 0xaa, 0x42, 0x0e, 0xef, 0x35, 0xb1, 0xe5, - 0xfa, 0xc7, 0x94, 0x83, 0x82, 0x01, 0x06, 0x5d, 0x17, 0x90, 0xc4, 0x13, 0xf7, 0xd0, 0xd0, 0xe3, - 0x3c, 0xd8, 0x1a, 0x1e, 0x37, 0x71, 0xf4, 0x60, 0xb4, 0x75, 0x5e, 0x44, 0x5b, 0x89, 0xa1, 0xce, - 0x37, 0xc3, 0xea, 0x09, 0xb7, 0x1e, 0xe7, 0xe1, 0x56, 0x32, 0xa2, 0xb3, 0x50, 0xbc, 0x55, 0x0b, - 0xc5, 0x5b, 0xe9, 0x88, 0x69, 0x0e, 0x09, 0xb8, 0xce, 0x8b, 0x80, 0x2b, 0x13, 0x31, 0xe2, 0x9e, - 0x88, 0xeb, 0x62, 0x38, 0xe2, 0xca, 0x0e, 0x51, 0x20, 0x02, 0x7b, 0x68, 0xc8, 0xf5, 0x4c, 0x20, - 0xe4, 0xca, 0x0d, 0x8d, 0x77, 0x18, 0x91, 0x01, 0x31, 0x57, 0x2d, 0x14, 0x73, 0x41, 0x04, 0x0f, - 0x86, 0x04, 0x5d, 0xdf, 0x13, 0x0c, 0xba, 0xf2, 0x43, 0xe3, 0x36, 0xbe, 0xde, 0x83, 0xa2, 0xae, - 0xa7, 0xbd, 0xa8, 0x6b, 0x7c, 0x68, 0xd8, 0xc8, 0xe7, 0xd0, 0x1b, 0x76, 0xad, 0xf5, 0x85, 0x5d, - 0x05, 0xfe, 0x37, 0x11, 0x86, 0x91, 0x88, 0x88, 0xbb, 0xd6, 0xfa, 0xe2, 0xae, 0x62, 0x04, 0xc1, - 0x88, 0xc0, 0xeb, 0xfb, 0x06, 0x07, 0x5e, 0xc3, 0x43, 0x23, 0x3e, 0xcc, 0xd1, 0x22, 0x2f, 0x75, - 0x48, 0xe4, 0xc5, 0xa2, 0xa3, 0x87, 0x86, 0x92, 0x1f, 0x39, 0xf4, 0xda, 0x1c, 0x10, 0x7a, 0xb1, - 0x20, 0xe9, 0xe4, 0x50, 0xe2, 0x23, 0xc4, 0x5e, 0x9b, 0x03, 0x62, 0x2f, 0x14, 0x49, 0xf6, 0x30, - 0xc1, 0x57, 0x4a, 0x4a, 0xcb, 0xa7, 0x88, 0xeb, 0xdb, 0xa3, 0xa7, 0x88, 0xff, 0x80, 0x6d, 0xdb, - 0xb4, 0xc5, 0xcd, 0x5a, 0x5a, 0x90, 0x4f, 0x12, 0x67, 0xdc, 0xd7, 0x49, 0x07, 0x04, 0x6a, 0xd4, - 0x4f, 0x0b, 0xe8, 0x21, 0xf9, 0xf3, 0x31, 0x1f, 0x97, 0xfa, 0xb0, 0x41, 0x47, 0x3e, 0xc7, 0x1d, - 0xf9, 0x40, 0xf8, 0x16, 0x0f, 0x87, 0x6f, 0xb3, 0x90, 0x27, 0xfe, 0x57, 0x4f, 0x64, 0xa6, 0x59, - 0x5e, 0x64, 0x26, 0xae, 0x14, 0xb0, 0x20, 0x8f, 0x9b, 0x15, 0x76, 0x92, 0x53, 0xf2, 0xae, 0x57, - 0xb0, 0x98, 0x02, 0x3d, 0x02, 0x93, 0x01, 0x58, 0xcf, 0xaf, 0x63, 0x61, 0x8a, 0xe4, 0x41, 0x57, - 0xb8, 0x83, 0xf7, 0x4f, 0x63, 0x3e, 0x87, 0xfc, 0x90, 0x6e, 0x50, 0xf4, 0x15, 0x7b, 0x93, 0xa2, - 0xaf, 0xf8, 0x1d, 0x47, 0x5f, 0x41, 0x3f, 0x35, 0x11, 0xf6, 0x53, 0xff, 0x47, 0xcc, 0x5f, 0x13, - 0x2f, 0x96, 0x6a, 0x9a, 0x2d, 0xcc, 0x3d, 0x47, 0xfa, 0x9b, 0x38, 0x15, 0x6d, 0x73, 0x87, 0xfb, - 0x87, 0xe4, 0x27, 0x81, 0xf2, 0x0c, 0x47, 0x8e, 0xdb, 0x05, 0xcf, 0xe9, 0x4c, 0x05, 0xef, 0xff, - 0xf2, 0x4b, 0xb1, 0x69, 0xff, 0x52, 0xac, 0xf7, 0xf1, 0x5b, 0x26, 0xf0, 0xf1, 0x1b, 0x7a, 0x0a, - 0x72, 0x34, 0x23, 0xaa, 0x9a, 0x96, 0xf8, 0x0b, 0x1a, 0xc7, 0x87, 0x5f, 0x88, 0x75, 0xe8, 0x55, - 0x3d, 0x76, 0x89, 0xd6, 0xf7, 0x18, 0x72, 0x21, 0x8f, 0xe1, 0x6e, 0xc8, 0x91, 0xd1, 0xb3, 0x97, - 0xa0, 0x81, 0x7f, 0x39, 0x29, 0x2a, 0xe4, 0x77, 0x03, 0xea, 0x37, 0x12, 0xe8, 0x32, 0xa4, 0xf1, - 0x0d, 0xfa, 0xac, 0x1e, 0xbb, 0x68, 0x78, 0xa4, 0xdf, 0x35, 0x25, 0xcd, 0xd5, 0x69, 0xc2, 0xe4, - 0x6f, 0xbc, 0x36, 0x2b, 0x31, 0xe8, 0x87, 0xbd, 0x0f, 0x05, 0x14, 0x8e, 0x2f, 0xff, 0x87, 0x38, - 0x09, 0x60, 0x42, 0x06, 0x64, 0x20, 0x6f, 0x07, 0x1d, 0x11, 0x8e, 0xc6, 0xef, 0x19, 0x80, 0x1d, - 0xcd, 0x51, 0x6f, 0x6a, 0x86, 0x8b, 0x5b, 0x9c, 0xe9, 0x81, 0x1a, 0x54, 0x86, 0x2c, 0x29, 0x75, - 0x1d, 0xdc, 0xe2, 0x61, 0xb4, 0x57, 0x0e, 0xcc, 0x33, 0xf3, 0x9d, 0xcd, 0x33, 0xcc, 0xe5, 0x6c, - 0x0f, 0x97, 0x03, 0xc1, 0x45, 0x2e, 0x18, 0x5c, 0xb0, 0x8b, 0xc1, 0xfc, 0x7e, 0x22, 0xb0, 0xb1, - 0x89, 0x32, 0xba, 0x0f, 0x0a, 0x1d, 0xdc, 0xb1, 0x4c, 0xb3, 0xad, 0x32, 0x75, 0xc3, 0x9e, 0x7c, - 0x1f, 0xe7, 0x95, 0x75, 0xaa, 0x75, 0x7e, 0x24, 0xee, 0xef, 0x3f, 0x3f, 0x88, 0xfc, 0xae, 0x63, - 0xb0, 0xfc, 0xe3, 0x34, 0xb3, 0x14, 0x76, 0x11, 0x50, 0x23, 0x78, 0x6b, 0xa4, 0x4b, 0xd5, 0x82, - 0x10, 0xe8, 0x51, 0xf5, 0x87, 0x7f, 0xbb, 0x84, 0x55, 0x3b, 0xe8, 0x05, 0x38, 0xda, 0xa3, 0xdb, - 0x3c, 0xd2, 0xf1, 0x51, 0x55, 0xdc, 0x5d, 0x61, 0x15, 0x27, 0x48, 0xfb, 0xcc, 0x4a, 0x7c, 0x87, - 0xbb, 0x6e, 0x09, 0x8a, 0x61, 0x8f, 0x67, 0xe0, 0xf2, 0xd3, 0x3f, 0x31, 0xe2, 0x6a, 0xba, 0xa1, - 0x86, 0xd2, 0x41, 0xe3, 0xac, 0x92, 0x27, 0x99, 0xd6, 0xe1, 0xae, 0x81, 0x9e, 0x0f, 0x7a, 0x12, - 0x72, 0xbe, 0xd3, 0xc4, 0xb8, 0x7a, 0x40, 0xba, 0xc0, 0x87, 0x95, 0x7f, 0x2b, 0xe6, 0x93, 0x0c, - 0x27, 0x20, 0xea, 0x90, 0x66, 0xd7, 0xde, 0xf8, 0x65, 0x9a, 0x47, 0x46, 0xf3, 0x99, 0xe6, 0xd9, - 0x9d, 0x38, 0x85, 0x23, 0xcb, 0xef, 0x86, 0x34, 0xab, 0x41, 0x79, 0xc8, 0xf8, 0x2f, 0xdf, 0x02, - 0xa4, 0x2b, 0xb5, 0x5a, 0x7d, 0x7d, 0x43, 0x8a, 0xa1, 0x1c, 0xa4, 0x2a, 0xd5, 0x35, 0x65, 0x43, - 0x8a, 0x93, 0x6a, 0xa5, 0x7e, 0xa5, 0x5e, 0xdb, 0x90, 0x12, 0x68, 0x02, 0x0a, 0xec, 0xb7, 0x7a, - 0x71, 0x4d, 0x59, 0xa9, 0x6c, 0x48, 0xc9, 0x40, 0x55, 0xa3, 0xbe, 0xba, 0x58, 0x57, 0xa4, 0x94, - 0xfc, 0x18, 0x1c, 0x1b, 0xea, 0x65, 0xf9, 0xd9, 0x85, 0x58, 0x20, 0xbb, 0x20, 0x7f, 0x20, 0x0e, - 0xe5, 0xe1, 0xae, 0x13, 0xba, 0xd2, 0x33, 0xf1, 0xb3, 0x87, 0xf0, 0xbb, 0x7a, 0x66, 0x8f, 0x1e, - 0x80, 0xa2, 0x8d, 0xb7, 0xb1, 0xdb, 0xdc, 0x65, 0xae, 0x1c, 0x33, 0x99, 0x05, 0xa5, 0xc0, 0x6b, - 0x29, 0x92, 0xc3, 0xc0, 0x5e, 0xc2, 0x4d, 0x57, 0x65, 0xba, 0xc8, 0xe1, 0x7f, 0xeb, 0xb0, 0xc0, - 0x6a, 0x1b, 0xac, 0x52, 0xfe, 0x81, 0x43, 0xf1, 0x32, 0x07, 0x29, 0xa5, 0xbe, 0xa1, 0xbc, 0x20, - 0x25, 0x10, 0x82, 0x22, 0xfd, 0xa9, 0x36, 0x56, 0x2b, 0xeb, 0x8d, 0xcb, 0x6b, 0x84, 0x97, 0x93, - 0x50, 0x12, 0xbc, 0x14, 0x95, 0x29, 0xf9, 0x21, 0x38, 0x3a, 0xc4, 0xef, 0x1b, 0x70, 0x0f, 0xf1, - 0xc3, 0xb1, 0x20, 0x74, 0x38, 0xe6, 0x5f, 0x83, 0xb4, 0xe3, 0x6a, 0x6e, 0xd7, 0xe1, 0x4c, 0x7c, - 0x72, 0x54, 0x47, 0x70, 0x5e, 0xfc, 0x68, 0x50, 0x74, 0x85, 0x93, 0x91, 0xcf, 0x41, 0x31, 0xdc, - 0x32, 0x9c, 0x07, 0xbe, 0x10, 0xc5, 0xe5, 0x17, 0x00, 0x02, 0xf9, 0x48, 0xef, 0x46, 0x57, 0x2c, - 0x78, 0xa3, 0xeb, 0x1c, 0xa4, 0x6e, 0x98, 0x4c, 0x67, 0x0c, 0xde, 0x38, 0xd7, 0x4c, 0x17, 0x07, - 0x92, 0x0f, 0x0c, 0x5a, 0xd6, 0x01, 0xf5, 0xe7, 0x84, 0x86, 0x74, 0xf1, 0x4c, 0xb8, 0x8b, 0x7b, - 0x87, 0x66, 0x97, 0x06, 0x77, 0xf5, 0x32, 0xa4, 0xa8, 0xb6, 0x19, 0xf8, 0x89, 0xcf, 0xf7, 0x03, - 0x68, 0xae, 0x6b, 0xeb, 0x5b, 0x5d, 0xbf, 0x83, 0xd9, 0xc1, 0xda, 0xaa, 0x22, 0xe0, 0xaa, 0x77, - 0x73, 0xb5, 0x35, 0xe5, 0xa3, 0x06, 0x54, 0x57, 0x80, 0xa0, 0xbc, 0x0a, 0xc5, 0x30, 0xee, 0xe0, - 0x4f, 0x96, 0xfc, 0xb7, 0x03, 0x72, 0xc2, 0x7d, 0xf2, 0x9c, 0x2f, 0xfe, 0x9e, 0x07, 0x2d, 0xc8, - 0xb7, 0x62, 0x90, 0xdd, 0xd8, 0xe3, 0x72, 0x7c, 0xc0, 0xa5, 0x4a, 0xff, 0xbb, 0x2d, 0x2f, 0x59, - 0xc8, 0xf2, 0xb1, 0x09, 0x2f, 0xcb, 0xfb, 0x3d, 0xde, 0x4e, 0x4d, 0x8e, 0x1a, 0xed, 0x8a, 0x6c, - 0x37, 0xd7, 0x4e, 0x17, 0x46, 0xfb, 0x46, 0x62, 0x0a, 0x52, 0xc1, 0xef, 0x1b, 0x58, 0x41, 0x6e, - 0x05, 0xae, 0x25, 0x30, 0xb3, 0x11, 0xfc, 0x98, 0x22, 0x76, 0xe8, 0x8f, 0x29, 0xbc, 0x5e, 0xe2, - 0xc1, 0x5e, 0x6e, 0x40, 0x56, 0x08, 0x05, 0x7a, 0x67, 0xf0, 0xee, 0x89, 0x38, 0xa3, 0x19, 0x6a, - 0x3c, 0x39, 0xf9, 0xc0, 0xd5, 0x93, 0xd3, 0x30, 0xc1, 0xaf, 0xdc, 0xf9, 0x71, 0x05, 0x7f, 0x9b, - 0xbf, 0xc4, 0x1a, 0x96, 0x45, 0x50, 0x21, 0xff, 0x72, 0x0c, 0xa4, 0x5e, 0xa9, 0x7c, 0x3b, 0x07, - 0x40, 0x94, 0x22, 0x91, 0xfe, 0xc0, 0xa3, 0xdb, 0x6c, 0xe5, 0x0b, 0xa4, 0xd6, 0x7f, 0x76, 0xfb, - 0xbd, 0x71, 0xc8, 0x07, 0x72, 0x7a, 0xe8, 0x89, 0xd0, 0x15, 0xd0, 0xb9, 0x83, 0xf2, 0x7f, 0x81, - 0x3b, 0xa0, 0xa1, 0x89, 0xc5, 0x0f, 0x3f, 0xb1, 0x37, 0xff, 0x92, 0xfe, 0xe0, 0xaf, 0x7d, 0x52, - 0x43, 0xbe, 0xf6, 0xf9, 0xa1, 0x18, 0x64, 0x3d, 0xd3, 0x7d, 0xd8, 0x6c, 0xfe, 0x11, 0x48, 0x73, - 0xeb, 0xc4, 0xd2, 0xf9, 0xbc, 0x34, 0x30, 0x17, 0x5a, 0x86, 0xac, 0xf8, 0xa3, 0x36, 0x3c, 0x10, - 0xf5, 0xca, 0xa7, 0x9f, 0x86, 0x7c, 0xe0, 0x60, 0x85, 0xe8, 0x89, 0xd5, 0xfa, 0x73, 0xd2, 0x58, - 0x39, 0x73, 0xeb, 0xf6, 0x5c, 0x62, 0x15, 0xdf, 0x24, 0x3b, 0x4c, 0xa9, 0xd7, 0x2e, 0xd7, 0x6b, - 0x57, 0xa5, 0x58, 0x39, 0x7f, 0xeb, 0xf6, 0x5c, 0x46, 0xc1, 0x34, 0x7d, 0x75, 0xfa, 0x2a, 0x94, - 0x7a, 0x16, 0x26, 0xac, 0xdf, 0x11, 0x14, 0x17, 0x37, 0xd7, 0x97, 0x97, 0x6a, 0x95, 0x8d, 0xba, - 0xca, 0xae, 0xd3, 0xa1, 0xa3, 0x30, 0xb9, 0xbc, 0x74, 0xe9, 0xf2, 0x86, 0x5a, 0x5b, 0x5e, 0xaa, - 0xaf, 0x6e, 0xa8, 0x95, 0x8d, 0x8d, 0x4a, 0xed, 0xaa, 0x14, 0x3f, 0xfb, 0x6d, 0x80, 0x52, 0xa5, - 0x5a, 0x5b, 0x22, 0xf6, 0x59, 0xe7, 0xef, 0xa6, 0xd7, 0x20, 0x49, 0x53, 0x01, 0x07, 0x5e, 0x15, - 0x29, 0x1f, 0x9c, 0xdb, 0x44, 0x17, 0x21, 0x45, 0xb3, 0x04, 0xe8, 0xe0, 0xbb, 0x23, 0xe5, 0x88, - 0x64, 0x27, 0x19, 0x0c, 0xdd, 0x4e, 0x07, 0x5e, 0x26, 0x29, 0x1f, 0x9c, 0xfb, 0x44, 0x0a, 0xe4, - 0xfc, 0x28, 0x23, 0xfa, 0x72, 0x45, 0x79, 0x04, 0xed, 0x88, 0x96, 0x21, 0x23, 0x02, 0xc3, 0xa8, - 0xeb, 0x1e, 0xe5, 0xc8, 0xe4, 0x24, 0x61, 0x17, 0x0b, 0xe0, 0x0f, 0xbe, 0xbb, 0x52, 0x8e, 0xc8, - 0xb4, 0xa2, 0x25, 0xef, 0x12, 0x7e, 0xc4, 0x15, 0x8e, 0x72, 0x54, 0xb2, 0x91, 0x30, 0xcd, 0x4f, - 0x8d, 0x44, 0xdf, 0xc8, 0x29, 0x8f, 0x90, 0x44, 0x46, 0x9b, 0x00, 0x81, 0x70, 0x7d, 0x84, 0xab, - 0x36, 0xe5, 0x51, 0x92, 0xc3, 0x68, 0x0d, 0xb2, 0x5e, 0xf4, 0x14, 0x79, 0xf1, 0xa5, 0x1c, 0x9d, - 0xa5, 0x45, 0xef, 0x86, 0x42, 0x38, 0x6a, 0x18, 0xed, 0x3a, 0x4b, 0x79, 0xc4, 0xf4, 0x2b, 0xa1, - 0x1f, 0x0e, 0x21, 0x46, 0xbb, 0xde, 0x52, 0x1e, 0x31, 0x1b, 0x8b, 0x5e, 0x82, 0x89, 0x7e, 0x17, - 0x7f, 0xf4, 0xdb, 0x2e, 0xe5, 0x43, 0xe4, 0x67, 0x51, 0x07, 0xd0, 0x80, 0xd0, 0xe0, 0x10, 0x97, - 0x5f, 0xca, 0x87, 0x49, 0xd7, 0xa2, 0x16, 0x94, 0x7a, 0xfd, 0xed, 0x51, 0x2f, 0xc3, 0x94, 0x47, - 0x4e, 0xdd, 0xb2, 0x5e, 0xc2, 0x7e, 0xfa, 0xa8, 0x97, 0x63, 0xca, 0x23, 0x67, 0x72, 0xab, 0x95, - 0xa1, 0xf7, 0x1b, 0x4f, 0x1c, 0x78, 0xbf, 0xd1, 0xbf, 0xb1, 0xe8, 0xdd, 0x69, 0xfc, 0x3f, 0x4f, - 0xc0, 0xfd, 0xfc, 0x31, 0x01, 0xc7, 0xd5, 0xae, 0xeb, 0xc6, 0x8e, 0xf7, 0x3a, 0x04, 0x2f, 0xf3, - 0xcb, 0x8d, 0x47, 0xf8, 0x83, 0x05, 0xa2, 0x36, 0xe2, 0x8d, 0x88, 0xa1, 0x0f, 0x67, 0x45, 0x5d, - 0x42, 0x8e, 0xbe, 0xba, 0x78, 0xc0, 0xfb, 0x13, 0x11, 0xaf, 0x5c, 0x0c, 0x78, 0x9f, 0x22, 0xe2, - 0x12, 0xe6, 0x41, 0xf7, 0x3d, 0xe5, 0x9f, 0x89, 0x41, 0xf1, 0xb2, 0xee, 0xb8, 0xa6, 0xad, 0x37, - 0xb5, 0x36, 0xb5, 0x18, 0x17, 0x46, 0xfd, 0xc8, 0xa3, 0x9a, 0x23, 0xce, 0x08, 0x7f, 0xd4, 0x82, - 0x5f, 0x0c, 0x59, 0x84, 0xf4, 0x0d, 0xad, 0xcd, 0x3e, 0xb1, 0x08, 0xbe, 0x5f, 0xd3, 0xcb, 0xf3, - 0x80, 0x97, 0x14, 0xa4, 0xc2, 0x70, 0xe5, 0xcf, 0xd1, 0x4b, 0xdc, 0x9d, 0x8e, 0xee, 0xb0, 0x3f, - 0x3b, 0xed, 0x62, 0x07, 0x6d, 0x42, 0xd2, 0xd6, 0x5c, 0x1e, 0xd4, 0x54, 0x2b, 0xfc, 0x29, 0x8a, - 0x07, 0xa3, 0x1f, 0x94, 0x98, 0xef, 0x7b, 0xad, 0x82, 0x75, 0x46, 0xc9, 0xa1, 0xef, 0x83, 0x6c, - 0x47, 0xdb, 0x53, 0x29, 0xe9, 0xf8, 0x9b, 0x45, 0x3a, 0xd3, 0xd1, 0xf6, 0xc8, 0xa8, 0x91, 0x0e, - 0x25, 0x42, 0xbd, 0xb9, 0xab, 0x19, 0x3b, 0x98, 0x75, 0x92, 0x78, 0xb3, 0x3a, 0x29, 0x74, 0xb4, - 0xbd, 0x1a, 0x25, 0x4c, 0xba, 0xe2, 0x8f, 0x7e, 0xfc, 0x76, 0x8c, 0x87, 0xb2, 0x94, 0x73, 0x48, - 0x03, 0xa9, 0xe9, 0x95, 0x68, 0xff, 0x22, 0xad, 0x7f, 0x62, 0xd8, 0xc2, 0xf4, 0xf0, 0xbd, 0x5a, - 0x20, 0x23, 0xfd, 0xd2, 0x6b, 0xb3, 0x31, 0xd6, 0x6b, 0xa9, 0xd9, 0xb3, 0x2e, 0x57, 0x20, 0xcf, - 0xb2, 0x69, 0x2a, 0x75, 0x61, 0xe3, 0x91, 0x2e, 0x6c, 0x41, 0xb8, 0xb0, 0x8c, 0x20, 0x30, 0x6c, - 0xd2, 0xce, 0xe7, 0xf0, 0xf1, 0x18, 0xe4, 0x17, 0x03, 0xcf, 0x55, 0x4d, 0x43, 0xa6, 0x63, 0x1a, - 0xfa, 0x75, 0x6c, 0x7b, 0xe7, 0x32, 0xac, 0x48, 0xdc, 0x4c, 0xf6, 0x67, 0x87, 0xdc, 0x7d, 0xf1, - 0x12, 0x83, 0x28, 0x13, 0xac, 0x9b, 0x78, 0xcb, 0xd1, 0x05, 0xcb, 0x15, 0x51, 0x44, 0xa7, 0x40, - 0x72, 0x70, 0xb3, 0x6b, 0xeb, 0xee, 0xbe, 0xda, 0x34, 0x0d, 0x57, 0x6b, 0xba, 0x3c, 0x7b, 0x5a, - 0x12, 0xf5, 0x35, 0x56, 0x4d, 0x88, 0xb4, 0xb0, 0xab, 0xe9, 0x6d, 0x76, 0xed, 0x2b, 0xa7, 0x88, - 0x22, 0x1f, 0xea, 0xe7, 0x32, 0xc1, 0xd0, 0xb0, 0x06, 0x92, 0x69, 0x61, 0x3b, 0xf4, 0xc9, 0x1b, - 0x13, 0xd7, 0xe9, 0xdf, 0xfb, 0xcc, 0x23, 0x53, 0x9c, 0xe1, 0xfc, 0x00, 0x9e, 0xbd, 0xce, 0xac, - 0x94, 0x04, 0x86, 0xf8, 0x16, 0xee, 0x85, 0xd0, 0x49, 0x4c, 0x77, 0xcb, 0xff, 0xe4, 0x7e, 0xaa, - 0x8f, 0xa9, 0x15, 0x63, 0xbf, 0x3a, 0xfd, 0xbb, 0x3e, 0x69, 0x3f, 0x74, 0xbc, 0x8a, 0xf7, 0x83, - 0xc7, 0x32, 0x94, 0x0c, 0xf1, 0xe0, 0x5f, 0xd2, 0xf4, 0xb6, 0xf8, 0x4b, 0x6a, 0x0a, 0x2f, 0xa1, - 0x05, 0x2f, 0x0d, 0xc3, 0xfe, 0x42, 0xba, 0x3c, 0x4c, 0x36, 0xaa, 0xa6, 0xd1, 0x0a, 0x67, 0x5c, - 0xd0, 0x06, 0xa4, 0x5d, 0xf3, 0x3a, 0x36, 0x38, 0x83, 0xaa, 0xef, 0x38, 0x84, 0x60, 0xf7, 0xbf, - 0x3f, 0xc3, 0x69, 0xa1, 0x1d, 0x90, 0x5a, 0xb8, 0x8d, 0x77, 0xd8, 0x07, 0x5b, 0xbb, 0x9a, 0x8d, - 0xd9, 0x47, 0x9c, 0x87, 0xa3, 0xdf, 0xff, 0x4c, 0x4d, 0xc9, 0xa3, 0xda, 0xa0, 0x44, 0xd1, 0x7a, - 0xf8, 0xb1, 0xb4, 0x0c, 0x3f, 0x95, 0x1f, 0x32, 0xff, 0x80, 0x54, 0x06, 0xd5, 0x56, 0xe8, 0x71, - 0xb5, 0x53, 0x20, 0x75, 0x8d, 0x2d, 0xd3, 0xa0, 0x7f, 0xf4, 0x88, 0x07, 0x58, 0x59, 0x76, 0x72, - 0xe7, 0xd5, 0xf3, 0x93, 0xbb, 0x75, 0x28, 0xfa, 0xa0, 0x74, 0xf7, 0xe4, 0x0e, 0xbb, 0x7b, 0x0a, - 0x1e, 0x01, 0x02, 0x82, 0x56, 0x00, 0xfc, 0xfd, 0xe9, 0x9d, 0xee, 0x47, 0xee, 0xf4, 0xe0, 0x64, - 0x02, 0x04, 0x50, 0x1b, 0x26, 0x3b, 0xba, 0xa1, 0x3a, 0xb8, 0xbd, 0xad, 0x72, 0xce, 0x11, 0xba, - 0xf9, 0x37, 0x61, 0xa5, 0x27, 0x3a, 0xba, 0xd1, 0xc0, 0xed, 0xed, 0x45, 0x8f, 0x2c, 0x7a, 0x07, - 0x1c, 0xf7, 0xd9, 0x61, 0x1a, 0xea, 0xae, 0xd9, 0x6e, 0xa9, 0x36, 0xde, 0x56, 0x9b, 0xf4, 0xf9, - 0xa3, 0x71, 0xca, 0xc4, 0xa3, 0x1e, 0xc8, 0x9a, 0x71, 0xd9, 0x6c, 0xb7, 0x14, 0xbc, 0x5d, 0x23, - 0xcd, 0xe8, 0x3e, 0xf0, 0x79, 0xa1, 0xea, 0x2d, 0x67, 0xba, 0x30, 0x97, 0x38, 0x99, 0x54, 0xc6, - 0xbd, 0xca, 0xa5, 0x96, 0xb3, 0x90, 0x7d, 0xdf, 0xab, 0xb3, 0x63, 0x5f, 0x7f, 0x75, 0x76, 0x4c, - 0xbe, 0x48, 0x1f, 0xeb, 0xe0, 0x9b, 0x0e, 0x3b, 0xe8, 0x3c, 0xe4, 0x34, 0x51, 0x60, 0x9f, 0x89, - 0x1c, 0xb0, 0x69, 0x7d, 0x50, 0xf9, 0xd5, 0x18, 0xa4, 0x17, 0xaf, 0xad, 0x6b, 0xba, 0x8d, 0xea, - 0x30, 0xe1, 0x0b, 0xed, 0xa8, 0xfb, 0xdf, 0x97, 0x73, 0xa1, 0x00, 0xea, 0xc3, 0xbe, 0x9c, 0x3d, - 0x90, 0x4c, 0xef, 0x37, 0xb5, 0x81, 0xa9, 0x5e, 0x81, 0x0c, 0x1b, 0xa1, 0x83, 0x9e, 0x85, 0x94, - 0x45, 0x7e, 0xf0, 0xec, 0xff, 0xcc, 0x50, 0x41, 0xa7, 0xf0, 0x41, 0xb1, 0x60, 0x78, 0xf2, 0x5f, - 0xc4, 0x00, 0x16, 0xaf, 0x5d, 0xdb, 0xb0, 0x75, 0xab, 0x8d, 0xdd, 0x37, 0x6b, 0xca, 0xcb, 0x70, - 0x57, 0xe0, 0xfb, 0x4c, 0xbb, 0x39, 0xf2, 0xb4, 0x27, 0xfd, 0x2f, 0x34, 0xed, 0xe6, 0x40, 0x6a, - 0x2d, 0xc7, 0xf5, 0xa8, 0x25, 0x46, 0xa6, 0xb6, 0xe8, 0xb8, 0xfd, 0x7c, 0x7c, 0x1e, 0xf2, 0xfe, - 0xd4, 0x1d, 0xb4, 0x04, 0x59, 0x97, 0xff, 0xe6, 0xec, 0x94, 0x87, 0xb3, 0x53, 0xa0, 0x05, 0x59, - 0xea, 0xa1, 0xcb, 0xff, 0x8b, 0x70, 0xd5, 0xdf, 0x08, 0x7f, 0xa5, 0x04, 0x89, 0x68, 0x78, 0xae, - 0x81, 0x13, 0x6f, 0x82, 0x06, 0xe6, 0xb4, 0x02, 0x6c, 0xfd, 0xe1, 0x38, 0x4c, 0x6e, 0x8a, 0x4d, - 0xfa, 0x57, 0x96, 0x0b, 0x9b, 0x90, 0xc1, 0x86, 0x6b, 0xeb, 0x58, 0x1c, 0xf5, 0x3d, 0x3a, 0x6c, - 0xb1, 0x07, 0xcc, 0x85, 0xfe, 0x29, 0xe0, 0xe0, 0xd2, 0x0b, 0x5a, 0x01, 0x36, 0xfc, 0x66, 0x02, - 0xa6, 0x87, 0xa1, 0xa2, 0x13, 0x50, 0x6a, 0xda, 0x98, 0x56, 0xa8, 0xa1, 0x54, 0x78, 0x51, 0x54, - 0x73, 0x93, 0xa2, 0x00, 0x71, 0xd0, 0x88, 0x54, 0x11, 0xd0, 0x3b, 0xf3, 0xc8, 0x8a, 0x3e, 0x05, - 0x6a, 0x54, 0x30, 0x94, 0xc4, 0xdd, 0xf6, 0x2d, 0xad, 0xad, 0x19, 0x4d, 0x7c, 0x07, 0x92, 0xd0, - 0x6f, 0x01, 0xc4, 0x85, 0xf9, 0x2a, 0xa3, 0x89, 0xae, 0x41, 0x46, 0x90, 0x4f, 0xbe, 0x09, 0xe4, - 0x05, 0x31, 0x74, 0x2f, 0x8c, 0x07, 0x0d, 0x03, 0xf5, 0x53, 0x92, 0x4a, 0x3e, 0x60, 0x17, 0xa2, - 0x2c, 0x4f, 0xfa, 0x40, 0xcb, 0xc3, 0x5d, 0xc1, 0xdf, 0x48, 0xc0, 0x84, 0x82, 0x5b, 0xdf, 0x85, - 0x0b, 0xf7, 0xbd, 0x00, 0x6c, 0x53, 0x13, 0x65, 0x7b, 0x07, 0x6b, 0xd7, 0xaf, 0x24, 0x72, 0x8c, - 0xde, 0xa2, 0xe3, 0xbe, 0x5d, 0xab, 0xf7, 0x2f, 0xe3, 0x30, 0x1e, 0x5c, 0xbd, 0xef, 0x02, 0xcb, - 0x86, 0x56, 0x7d, 0x95, 0xc6, 0x6e, 0x9f, 0x9f, 0x1a, 0xa6, 0xd2, 0xfa, 0xe4, 0x3a, 0x42, 0x97, - 0x7d, 0x2a, 0x09, 0x69, 0x7e, 0x15, 0x6c, 0xad, 0xcf, 0xc7, 0x8d, 0x45, 0x7d, 0xff, 0x5b, 0x10, - 0xdf, 0xff, 0x0e, 0x74, 0x71, 0x1f, 0x80, 0x22, 0x09, 0xa9, 0x43, 0xf7, 0xcb, 0x62, 0x27, 0x0b, - 0x34, 0x1c, 0xf6, 0x6f, 0x43, 0xa3, 0x59, 0xc8, 0x13, 0x30, 0x5f, 0x67, 0x13, 0x18, 0xe8, 0x68, - 0x7b, 0x75, 0x56, 0x83, 0x1e, 0x01, 0xb4, 0xeb, 0x25, 0x3e, 0x54, 0x9f, 0x11, 0x04, 0x6e, 0xc2, - 0x6f, 0x11, 0xe0, 0xf7, 0x00, 0x90, 0x51, 0xa8, 0xec, 0x85, 0x4e, 0xfe, 0xda, 0x29, 0xa9, 0x59, - 0xa4, 0xaf, 0x74, 0xfe, 0x64, 0x8c, 0xb9, 0xca, 0x3d, 0xd1, 0x36, 0x0f, 0x5a, 0xd4, 0xc3, 0xed, - 0x86, 0x6f, 0xbd, 0x36, 0x5b, 0xde, 0xd7, 0x3a, 0xed, 0x05, 0x79, 0x00, 0x49, 0x79, 0x50, 0x2e, - 0x80, 0x78, 0xd3, 0xe1, 0xc0, 0x1d, 0xad, 0x82, 0x74, 0x1d, 0xef, 0xab, 0x36, 0xff, 0xdb, 0xa6, - 0xea, 0x36, 0xc6, 0x3c, 0xbc, 0x39, 0x36, 0x3f, 0xe0, 0xa1, 0xd4, 0xf9, 0x9a, 0xa9, 0x87, 0xe2, - 0x80, 0xe2, 0x75, 0xbc, 0xaf, 0x70, 0xe4, 0x8b, 0x18, 0xa3, 0xa7, 0xe1, 0x18, 0x4d, 0x65, 0x98, - 0x86, 0x08, 0x4b, 0x3d, 0xda, 0xec, 0xda, 0x5b, 0x52, 0x39, 0xd2, 0xd1, 0xf6, 0x6a, 0xa6, 0xc1, - 0xc3, 0x4d, 0x81, 0xec, 0x2c, 0xdc, 0x4f, 0xb6, 0xd8, 0xad, 0xaf, 0x7d, 0xf2, 0xf4, 0xf1, 0xc0, - 0x6c, 0xf7, 0xbc, 0x64, 0x1d, 0x93, 0x14, 0xf9, 0x13, 0x31, 0x40, 0xbe, 0xdd, 0xf3, 0xae, 0xa6, - 0xaf, 0xd0, 0x0b, 0xcb, 0x22, 0xf4, 0x88, 0x1d, 0x1c, 0xd2, 0xf8, 0xf8, 0xa1, 0x90, 0x26, 0xb0, - 0xaf, 0xdf, 0xe9, 0x5b, 0x99, 0xf8, 0x21, 0xb8, 0x21, 0x90, 0xa8, 0xba, 0x18, 0x93, 0x5f, 0x8b, - 0xc1, 0xb1, 0xbe, 0x4d, 0xe1, 0x0d, 0xb9, 0x09, 0xc8, 0x0e, 0x34, 0x52, 0xe1, 0x12, 0x47, 0xbd, - 0x77, 0xb6, 0xc7, 0x26, 0xec, 0x3e, 0xcb, 0xf2, 0x16, 0x99, 0x4b, 0xae, 0x0f, 0x7f, 0x27, 0x06, - 0x53, 0xc1, 0x11, 0x79, 0x73, 0x6b, 0xc0, 0x78, 0x70, 0x2c, 0x7c, 0x56, 0xf7, 0x8f, 0x32, 0xab, - 0xe0, 0x84, 0x42, 0x44, 0xc8, 0x5c, 0xc4, 0x06, 0x64, 0x69, 0xc3, 0xc7, 0x46, 0xe6, 0x92, 0x77, - 0x24, 0x32, 0x48, 0x23, 0xb1, 0xc5, 0xfa, 0x89, 0x38, 0x24, 0xd7, 0x4d, 0xb3, 0x8d, 0x7e, 0x28, - 0x06, 0x13, 0x86, 0xe9, 0xaa, 0x64, 0xdb, 0xe2, 0x96, 0xca, 0xf3, 0x16, 0x4c, 0xa9, 0x5f, 0x3b, - 0x1c, 0xf7, 0xbe, 0xf1, 0xda, 0x6c, 0x3f, 0xa9, 0x41, 0xaf, 0xfd, 0x96, 0x0c, 0xd3, 0xad, 0x52, - 0xa0, 0x0d, 0x96, 0xda, 0xb8, 0x09, 0x85, 0x70, 0xff, 0xcc, 0x12, 0x28, 0x87, 0xee, 0xbf, 0x10, - 0xd9, 0xf7, 0xf8, 0x56, 0xa0, 0x63, 0xf6, 0xe6, 0xe6, 0x9f, 0x90, 0xc5, 0x7d, 0x01, 0xa4, 0x6b, - 0xbd, 0x97, 0xe4, 0xea, 0x90, 0x39, 0xec, 0x7d, 0xbb, 0x20, 0xc7, 0x39, 0xae, 0xfc, 0x6b, 0x71, - 0x38, 0xc6, 0x55, 0xc0, 0x55, 0x5f, 0x05, 0xb0, 0x0c, 0xf3, 0x3e, 0xba, 0x38, 0x34, 0x41, 0x76, - 0xfc, 0x5b, 0xaf, 0xcd, 0x1e, 0x65, 0x3a, 0xaf, 0x17, 0x42, 0xee, 0xcf, 0x91, 0x5d, 0x83, 0x12, - 0xb1, 0xf1, 0x01, 0x5d, 0x74, 0x87, 0x29, 0xb2, 0x82, 0xd9, 0x6e, 0xf9, 0x1a, 0x8b, 0xd0, 0x35, - 0xf0, 0xcd, 0x10, 0xdd, 0xc4, 0x9d, 0xd1, 0x35, 0xf0, 0xcd, 0x00, 0x5d, 0xff, 0xa8, 0x3d, 0x19, - 0x3c, 0x6a, 0x0f, 0x58, 0xcc, 0x06, 0x1c, 0xe3, 0xe9, 0x08, 0x67, 0x6d, 0x9b, 0xb2, 0x0d, 0xd3, - 0x81, 0x5d, 0xc5, 0xfb, 0x77, 0x9c, 0x9b, 0x38, 0xfd, 0xd9, 0x18, 0x80, 0x9f, 0xb2, 0x43, 0x0f, - 0xc3, 0xd1, 0xea, 0xda, 0xea, 0xa2, 0xda, 0xd8, 0xa8, 0x6c, 0x6c, 0x36, 0xc2, 0xef, 0xf5, 0x8b, - 0x37, 0x6a, 0x1c, 0x0b, 0x37, 0xf5, 0x6d, 0x1d, 0xb7, 0xd0, 0x83, 0x30, 0x15, 0x86, 0x26, 0xa5, - 0xfa, 0xa2, 0x14, 0x2b, 0x8f, 0xdf, 0xba, 0x3d, 0x97, 0x65, 0xa1, 0x0a, 0x6e, 0xa1, 0x93, 0x70, - 0x57, 0x3f, 0xdc, 0xd2, 0xea, 0x25, 0x29, 0x5e, 0x2e, 0xdc, 0xba, 0x3d, 0x97, 0xf3, 0x62, 0x1a, - 0x24, 0x03, 0x0a, 0x42, 0x72, 0x7a, 0x89, 0x32, 0xdc, 0xba, 0x3d, 0x97, 0x66, 0x7b, 0xa4, 0x9c, - 0x7c, 0xdf, 0x47, 0x66, 0xc6, 0x4e, 0x7f, 0x3f, 0xc0, 0x92, 0xb1, 0x6d, 0x6b, 0xf4, 0x8f, 0x56, - 0xa3, 0x32, 0x1c, 0x59, 0x5a, 0xbd, 0xa8, 0x54, 0x6a, 0x1b, 0x4b, 0x6b, 0xab, 0x3d, 0x7f, 0x66, - 0x20, 0xdc, 0xb6, 0xb8, 0xb6, 0x59, 0x5d, 0xae, 0xab, 0x8d, 0xa5, 0x4b, 0xab, 0xec, 0xe4, 0x3f, - 0xd4, 0xf6, 0xdc, 0xea, 0xc6, 0xd2, 0x4a, 0x5d, 0x8a, 0x57, 0x2f, 0x0e, 0x3d, 0x7b, 0x7a, 0xf8, - 0xc0, 0xdd, 0xe7, 0x9b, 0xac, 0xd0, 0x01, 0xd4, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x16, 0xcc, - 0x50, 0x3a, 0x4c, 0x99, 0x00, 0x00, + 0x6d, 0x9d, 0x42, 0x59, 0xb1, 0x1e, 0xce, 0x4b, 0x96, 0x14, 0x49, 0x8e, 0xcb, 0x2e, 0x39, 0x95, + 0x87, 0xec, 0xa4, 0x52, 0x92, 0x2b, 0x95, 0xb8, 0x52, 0x09, 0xe3, 0x50, 0xaa, 0x48, 0x91, 0xa5, + 0xd8, 0x96, 0xe9, 0x24, 0x8e, 0x2a, 0x95, 0x54, 0xbf, 0xe6, 0xb1, 0x0f, 0xcc, 0xe2, 0x44, 0xd2, + 0x4e, 0xe9, 0xcf, 0xdd, 0x76, 0xf7, 0xf7, 0x7d, 0xdd, 0xfd, 0xf5, 0xd7, 0xdf, 0xab, 0x7b, 0x1a, + 0xf0, 0x67, 0x17, 0x60, 0x6e, 0xc7, 0x34, 0x77, 0xda, 0xf8, 0x8c, 0x65, 0x9b, 0xae, 0xb9, 0xd5, + 0xdd, 0x3e, 0xd3, 0xc2, 0x4e, 0xd3, 0xd6, 0x2d, 0xd7, 0xb4, 0xe7, 0x69, 0x1d, 0x2a, 0x31, 0x88, + 0x79, 0x01, 0x21, 0xaf, 0xc0, 0xc4, 0x45, 0xbd, 0x8d, 0x17, 0x3d, 0xc0, 0x06, 0x76, 0xd1, 0x53, + 0x90, 0xdc, 0xd6, 0xdb, 0x78, 0x3a, 0x36, 0x97, 0x38, 0x99, 0x3f, 0x7b, 0xff, 0x7c, 0x0f, 0xd2, + 0x7c, 0x18, 0x63, 0x9d, 0x54, 0x2b, 0x14, 0x43, 0xfe, 0x6a, 0x12, 0x26, 0x07, 0xb4, 0x22, 0x04, + 0x49, 0x43, 0xeb, 0x10, 0x8a, 0xb1, 0x93, 0x39, 0x85, 0xfe, 0x46, 0xd3, 0x90, 0xb1, 0xb4, 0xe6, + 0x75, 0x6d, 0x07, 0x4f, 0xc7, 0x69, 0xb5, 0x28, 0xa2, 0x19, 0x80, 0x16, 0xb6, 0xb0, 0xd1, 0xc2, + 0x46, 0x73, 0x7f, 0x3a, 0x31, 0x97, 0x38, 0x99, 0x53, 0x02, 0x35, 0xe8, 0x21, 0x98, 0xb0, 0xba, + 0x5b, 0x6d, 0xbd, 0xa9, 0x06, 0xc0, 0x60, 0x2e, 0x71, 0x32, 0xa5, 0x48, 0xac, 0x61, 0xd1, 0x07, + 0x3e, 0x01, 0xa5, 0x9b, 0x58, 0xbb, 0x1e, 0x04, 0xcd, 0x53, 0xd0, 0x22, 0xa9, 0x0e, 0x00, 0xd6, + 0x60, 0xbc, 0x83, 0x1d, 0x47, 0xdb, 0xc1, 0xaa, 0xbb, 0x6f, 0xe1, 0xe9, 0x24, 0x9d, 0xfd, 0x5c, + 0xdf, 0xec, 0x7b, 0x67, 0x9e, 0xe7, 0x58, 0x1b, 0xfb, 0x16, 0x46, 0x15, 0xc8, 0x61, 0xa3, 0xdb, + 0x61, 0x14, 0x52, 0x43, 0xf8, 0x57, 0x37, 0xba, 0x9d, 0x5e, 0x2a, 0x59, 0x82, 0xc6, 0x49, 0x64, + 0x1c, 0x6c, 0xdf, 0xd0, 0x9b, 0x78, 0x3a, 0x4d, 0x09, 0x9c, 0xe8, 0x23, 0xd0, 0x60, 0xed, 0xbd, + 0x34, 0x04, 0x1e, 0xaa, 0x41, 0x0e, 0xef, 0xb9, 0xd8, 0x70, 0x74, 0xd3, 0x98, 0xce, 0x50, 0x22, + 0x0f, 0x0c, 0x58, 0x45, 0xdc, 0x6e, 0xf5, 0x92, 0xf0, 0xf1, 0xd0, 0x79, 0xc8, 0x98, 0x96, 0xab, + 0x9b, 0x86, 0x33, 0x9d, 0x9d, 0x8b, 0x9d, 0xcc, 0x9f, 0xbd, 0x7b, 0xa0, 0x20, 0xac, 0x31, 0x18, + 0x45, 0x00, 0xa3, 0x25, 0x90, 0x1c, 0xb3, 0x6b, 0x37, 0xb1, 0xda, 0x34, 0x5b, 0x58, 0xd5, 0x8d, + 0x6d, 0x73, 0x3a, 0x47, 0x09, 0xcc, 0xf6, 0x4f, 0x84, 0x02, 0xd6, 0xcc, 0x16, 0x5e, 0x32, 0xb6, + 0x4d, 0xa5, 0xe8, 0x84, 0xca, 0xe8, 0x08, 0xa4, 0x9d, 0x7d, 0xc3, 0xd5, 0xf6, 0xa6, 0xc7, 0xa9, + 0x84, 0xf0, 0x92, 0xfc, 0x1b, 0x69, 0x28, 0x8d, 0x22, 0x62, 0x17, 0x20, 0xb5, 0x4d, 0x66, 0x39, + 0x1d, 0x3f, 0x0c, 0x0f, 0x18, 0x4e, 0x98, 0x89, 0xe9, 0x3b, 0x64, 0x62, 0x05, 0xf2, 0x06, 0x76, + 0x5c, 0xdc, 0x62, 0x12, 0x91, 0x18, 0x51, 0xa6, 0x80, 0x21, 0xf5, 0x8b, 0x54, 0xf2, 0x8e, 0x44, + 0xea, 0x79, 0x28, 0x79, 0x43, 0x52, 0x6d, 0xcd, 0xd8, 0x11, 0xb2, 0x79, 0x26, 0x6a, 0x24, 0xf3, + 0x75, 0x81, 0xa7, 0x10, 0x34, 0xa5, 0x88, 0x43, 0x65, 0xb4, 0x08, 0x60, 0x1a, 0xd8, 0xdc, 0x56, + 0x5b, 0xb8, 0xd9, 0x9e, 0xce, 0x0e, 0xe1, 0xd2, 0x1a, 0x01, 0xe9, 0xe3, 0x92, 0xc9, 0x6a, 0x9b, + 0x6d, 0xf4, 0xb4, 0x2f, 0x6a, 0x99, 0x21, 0x92, 0xb2, 0xc2, 0x36, 0x59, 0x9f, 0xb4, 0x6d, 0x42, + 0xd1, 0xc6, 0x44, 0xee, 0x71, 0x8b, 0xcf, 0x2c, 0x47, 0x07, 0x31, 0x1f, 0x39, 0x33, 0x85, 0xa3, + 0xb1, 0x89, 0x15, 0xec, 0x60, 0x11, 0xdd, 0x07, 0x5e, 0x85, 0x4a, 0xc5, 0x0a, 0xa8, 0x16, 0x1a, + 0x17, 0x95, 0xab, 0x5a, 0x07, 0x97, 0x5f, 0x86, 0x62, 0x98, 0x3d, 0x68, 0x0a, 0x52, 0x8e, 0xab, + 0xd9, 0x2e, 0x95, 0xc2, 0x94, 0xc2, 0x0a, 0x48, 0x82, 0x04, 0x36, 0x5a, 0x54, 0xcb, 0xa5, 0x14, + 0xf2, 0x13, 0x7d, 0x9f, 0x3f, 0xe1, 0x04, 0x9d, 0xf0, 0x83, 0xfd, 0x2b, 0x1a, 0xa2, 0xdc, 0x3b, + 0xef, 0xf2, 0x93, 0x50, 0x08, 0x4d, 0x60, 0xd4, 0xae, 0xe5, 0xbf, 0x06, 0x77, 0x0d, 0x24, 0x8d, + 0x9e, 0x87, 0xa9, 0xae, 0xa1, 0x1b, 0x2e, 0xb6, 0x2d, 0x1b, 0x13, 0x89, 0x65, 0x5d, 0x4d, 0x7f, + 0x2d, 0x33, 0x44, 0xe6, 0x36, 0x83, 0xd0, 0x8c, 0x8a, 0x32, 0xd9, 0xed, 0xaf, 0x3c, 0x9d, 0xcb, + 0x7e, 0x3d, 0x23, 0xbd, 0xf2, 0xca, 0x2b, 0xaf, 0xc4, 0xe5, 0xdf, 0x49, 0xc3, 0xd4, 0xa0, 0x3d, + 0x33, 0x70, 0xfb, 0x1e, 0x81, 0xb4, 0xd1, 0xed, 0x6c, 0x61, 0x9b, 0x32, 0x29, 0xa5, 0xf0, 0x12, + 0xaa, 0x40, 0xaa, 0xad, 0x6d, 0xe1, 0xf6, 0x74, 0x72, 0x2e, 0x76, 0xb2, 0x78, 0xf6, 0xa1, 0x91, + 0x76, 0xe5, 0xfc, 0x32, 0x41, 0x51, 0x18, 0x26, 0x7a, 0x27, 0x24, 0xb9, 0x8a, 0x26, 0x14, 0x4e, + 0x8f, 0x46, 0x81, 0xec, 0x25, 0x85, 0xe2, 0xa1, 0xe3, 0x90, 0x23, 0xff, 0x33, 0xd9, 0x48, 0xd3, + 0x31, 0x67, 0x49, 0x05, 0x91, 0x0b, 0x54, 0x86, 0x2c, 0xdd, 0x26, 0x2d, 0x2c, 0x4c, 0x9b, 0x57, + 0x26, 0x82, 0xd5, 0xc2, 0xdb, 0x5a, 0xb7, 0xed, 0xaa, 0x37, 0xb4, 0x76, 0x17, 0x53, 0x81, 0xcf, + 0x29, 0xe3, 0xbc, 0xf2, 0x1a, 0xa9, 0x43, 0xb3, 0x90, 0x67, 0xbb, 0x4a, 0x37, 0x5a, 0x78, 0x8f, + 0x6a, 0xcf, 0x94, 0xc2, 0x36, 0xda, 0x12, 0xa9, 0x21, 0xdd, 0xbf, 0xe4, 0x98, 0x86, 0x10, 0x4d, + 0xda, 0x05, 0xa9, 0xa0, 0xdd, 0x3f, 0xd9, 0xab, 0xb8, 0xef, 0x19, 0x3c, 0xbd, 0xbe, 0xbd, 0x74, + 0x02, 0x4a, 0x14, 0xe2, 0x71, 0xbe, 0xf4, 0x5a, 0x7b, 0x7a, 0x62, 0x2e, 0x76, 0x32, 0xab, 0x14, + 0x59, 0xf5, 0x1a, 0xaf, 0x95, 0x3f, 0x1b, 0x87, 0x24, 0x55, 0x2c, 0x25, 0xc8, 0x6f, 0xbc, 0xb0, + 0x5e, 0x57, 0x17, 0xd7, 0x36, 0xab, 0xcb, 0x75, 0x29, 0x86, 0x8a, 0x00, 0xb4, 0xe2, 0xe2, 0xf2, + 0x5a, 0x65, 0x43, 0x8a, 0x7b, 0xe5, 0xa5, 0xd5, 0x8d, 0xf3, 0x4f, 0x48, 0x09, 0x0f, 0x61, 0x93, + 0x55, 0x24, 0x83, 0x00, 0x8f, 0x9f, 0x95, 0x52, 0x48, 0x82, 0x71, 0x46, 0x60, 0xe9, 0xf9, 0xfa, + 0xe2, 0xf9, 0x27, 0xa4, 0x74, 0xb8, 0xe6, 0xf1, 0xb3, 0x52, 0x06, 0x15, 0x20, 0x47, 0x6b, 0xaa, + 0x6b, 0x6b, 0xcb, 0x52, 0xd6, 0xa3, 0xd9, 0xd8, 0x50, 0x96, 0x56, 0x2f, 0x49, 0x39, 0x8f, 0xe6, + 0x25, 0x65, 0x6d, 0x73, 0x5d, 0x02, 0x8f, 0xc2, 0x4a, 0xbd, 0xd1, 0xa8, 0x5c, 0xaa, 0x4b, 0x79, + 0x0f, 0xa2, 0xfa, 0xc2, 0x46, 0xbd, 0x21, 0x8d, 0x87, 0x86, 0xf5, 0xf8, 0x59, 0xa9, 0xe0, 0x75, + 0x51, 0x5f, 0xdd, 0x5c, 0x91, 0x8a, 0x68, 0x02, 0x0a, 0xac, 0x0b, 0x31, 0x88, 0x52, 0x4f, 0xd5, + 0xf9, 0x27, 0x24, 0xc9, 0x1f, 0x08, 0xa3, 0x32, 0x11, 0xaa, 0x38, 0xff, 0x84, 0x84, 0xe4, 0x1a, + 0xa4, 0xa8, 0x18, 0x22, 0x04, 0xc5, 0xe5, 0x4a, 0xb5, 0xbe, 0xac, 0xae, 0xad, 0x6f, 0x2c, 0xad, + 0xad, 0x56, 0x96, 0xa5, 0x98, 0x5f, 0xa7, 0xd4, 0xdf, 0xb5, 0xb9, 0xa4, 0xd4, 0x17, 0xa5, 0x78, + 0xb0, 0x6e, 0xbd, 0x5e, 0xd9, 0xa8, 0x2f, 0x4a, 0x09, 0xb9, 0x09, 0x53, 0x83, 0x14, 0xea, 0xc0, + 0x2d, 0x14, 0x90, 0x85, 0xf8, 0x10, 0x59, 0xa0, 0xb4, 0x7a, 0x65, 0x41, 0xfe, 0x4a, 0x1c, 0x26, + 0x07, 0x18, 0x95, 0x81, 0x9d, 0x3c, 0x0b, 0x29, 0x26, 0xcb, 0xcc, 0xcc, 0x9e, 0x1a, 0x68, 0x9d, + 0xa8, 0x64, 0xf7, 0x99, 0x5a, 0x8a, 0x17, 0x74, 0x35, 0x12, 0x43, 0x5c, 0x0d, 0x42, 0xa2, 0x4f, + 0x60, 0x7f, 0xb0, 0x4f, 0xf9, 0x33, 0xfb, 0x78, 0x7e, 0x14, 0xfb, 0x48, 0xeb, 0x0e, 0x67, 0x04, + 0x52, 0x03, 0x8c, 0xc0, 0x05, 0x98, 0xe8, 0x23, 0x34, 0xb2, 0x32, 0x7e, 0x6f, 0x0c, 0xa6, 0x87, + 0x31, 0x27, 0x42, 0x25, 0xc6, 0x43, 0x2a, 0xf1, 0x42, 0x2f, 0x07, 0xef, 0x1d, 0xbe, 0x08, 0x7d, + 0x6b, 0xfd, 0xb1, 0x18, 0x1c, 0x19, 0xec, 0x52, 0x0e, 0x1c, 0xc3, 0x3b, 0x21, 0xdd, 0xc1, 0xee, + 0xae, 0x29, 0xdc, 0xaa, 0x07, 0x07, 0x18, 0x6b, 0xd2, 0xdc, 0xbb, 0xd8, 0x1c, 0x2b, 0x68, 0xed, + 0x13, 0xc3, 0xfc, 0x42, 0x36, 0x9a, 0xbe, 0x91, 0xfe, 0x44, 0x1c, 0xee, 0x1a, 0x48, 0x7c, 0xe0, + 0x40, 0xef, 0x01, 0xd0, 0x0d, 0xab, 0xeb, 0x32, 0xd7, 0x89, 0x69, 0xe2, 0x1c, 0xad, 0xa1, 0xca, + 0x8b, 0x68, 0xd9, 0xae, 0xeb, 0xb5, 0x27, 0x68, 0x3b, 0xb0, 0x2a, 0x0a, 0xf0, 0x94, 0x3f, 0xd0, + 0x24, 0x1d, 0xe8, 0xcc, 0x90, 0x99, 0xf6, 0x09, 0xe6, 0xa3, 0x20, 0x35, 0xdb, 0x3a, 0x36, 0x5c, + 0xd5, 0x71, 0x6d, 0xac, 0x75, 0x74, 0x63, 0x87, 0x9a, 0x9a, 0xec, 0x42, 0x6a, 0x5b, 0x6b, 0x3b, + 0x58, 0x29, 0xb1, 0xe6, 0x86, 0x68, 0x25, 0x18, 0x54, 0x80, 0xec, 0x00, 0x46, 0x3a, 0x84, 0xc1, + 0x9a, 0x3d, 0x0c, 0xf9, 0x67, 0x72, 0x90, 0x0f, 0x38, 0xe0, 0xe8, 0x5e, 0x18, 0x7f, 0x49, 0xbb, + 0xa1, 0xa9, 0x22, 0xa8, 0x62, 0x9c, 0xc8, 0x93, 0xba, 0x75, 0x1e, 0x58, 0x3d, 0x0a, 0x53, 0x14, + 0xc4, 0xec, 0xba, 0xd8, 0x56, 0x9b, 0x6d, 0xcd, 0x71, 0x28, 0xd3, 0xb2, 0x14, 0x14, 0x91, 0xb6, + 0x35, 0xd2, 0x54, 0x13, 0x2d, 0xe8, 0x1c, 0x4c, 0x52, 0x8c, 0x4e, 0xb7, 0xed, 0xea, 0x56, 0x1b, + 0xab, 0x24, 0xcc, 0x73, 0xa8, 0xc9, 0xf1, 0x46, 0x36, 0x41, 0x20, 0x56, 0x38, 0x00, 0x19, 0x91, + 0x83, 0x16, 0xe1, 0x1e, 0x8a, 0xb6, 0x83, 0x0d, 0x6c, 0x6b, 0x2e, 0x56, 0xf1, 0x7b, 0xba, 0x5a, + 0xdb, 0x51, 0x35, 0xa3, 0xa5, 0xee, 0x6a, 0xce, 0xee, 0xf4, 0x14, 0x21, 0x50, 0x8d, 0x4f, 0xc7, + 0x94, 0x63, 0x04, 0xf0, 0x12, 0x87, 0xab, 0x53, 0xb0, 0x8a, 0xd1, 0xba, 0xac, 0x39, 0xbb, 0x68, + 0x01, 0x8e, 0x50, 0x2a, 0x8e, 0x6b, 0xeb, 0xc6, 0x8e, 0xda, 0xdc, 0xc5, 0xcd, 0xeb, 0x6a, 0xd7, + 0xdd, 0x7e, 0x6a, 0xfa, 0x78, 0xb0, 0x7f, 0x3a, 0xc2, 0x06, 0x85, 0xa9, 0x11, 0x90, 0x4d, 0x77, + 0xfb, 0x29, 0xd4, 0x80, 0x71, 0xb2, 0x18, 0x1d, 0xfd, 0x65, 0xac, 0x6e, 0x9b, 0x36, 0xb5, 0xa1, + 0xc5, 0x01, 0xaa, 0x29, 0xc0, 0xc1, 0xf9, 0x35, 0x8e, 0xb0, 0x62, 0xb6, 0xf0, 0x42, 0xaa, 0xb1, + 0x5e, 0xaf, 0x2f, 0x2a, 0x79, 0x41, 0xe5, 0xa2, 0x69, 0x13, 0x81, 0xda, 0x31, 0x3d, 0x06, 0xe7, + 0x99, 0x40, 0xed, 0x98, 0x82, 0xbd, 0xe7, 0x60, 0xb2, 0xd9, 0x64, 0x73, 0xd6, 0x9b, 0x2a, 0x0f, + 0xc6, 0x9c, 0x69, 0x29, 0xc4, 0xac, 0x66, 0xf3, 0x12, 0x03, 0xe0, 0x32, 0xee, 0xa0, 0xa7, 0xe1, + 0x2e, 0x9f, 0x59, 0x41, 0xc4, 0x89, 0xbe, 0x59, 0xf6, 0xa2, 0x9e, 0x83, 0x49, 0x6b, 0xbf, 0x1f, + 0x11, 0x85, 0x7a, 0xb4, 0xf6, 0x7b, 0xd1, 0x9e, 0x84, 0x29, 0x6b, 0xd7, 0xea, 0xc7, 0x3b, 0x1d, + 0xc4, 0x43, 0xd6, 0xae, 0xd5, 0x8b, 0xf8, 0x00, 0x8d, 0xcc, 0x6d, 0xdc, 0xd4, 0x5c, 0xdc, 0x9a, + 0x3e, 0x1a, 0x04, 0x0f, 0x34, 0xa0, 0x79, 0x90, 0x9a, 0x4d, 0x15, 0x1b, 0xda, 0x56, 0x1b, 0xab, + 0x9a, 0x8d, 0x0d, 0xcd, 0x99, 0x9e, 0xa5, 0xc0, 0x49, 0xd7, 0xee, 0x62, 0xa5, 0xd8, 0x6c, 0xd6, + 0x69, 0x63, 0x85, 0xb6, 0xa1, 0xd3, 0x30, 0x61, 0x6e, 0xbd, 0xd4, 0x64, 0x12, 0xa9, 0x5a, 0x36, + 0xde, 0xd6, 0xf7, 0xa6, 0xef, 0xa7, 0xec, 0x2d, 0x91, 0x06, 0x2a, 0x8f, 0xeb, 0xb4, 0x1a, 0x9d, + 0x02, 0xa9, 0xe9, 0xec, 0x6a, 0xb6, 0x45, 0x55, 0xb2, 0x63, 0x69, 0x4d, 0x3c, 0xfd, 0x00, 0x03, + 0x65, 0xf5, 0xab, 0xa2, 0x9a, 0xec, 0x08, 0xe7, 0xa6, 0xbe, 0xed, 0x0a, 0x8a, 0x27, 0xd8, 0x8e, + 0xa0, 0x75, 0x9c, 0xda, 0x49, 0x90, 0x08, 0x27, 0x42, 0x1d, 0x9f, 0xa4, 0x60, 0x45, 0x6b, 0xd7, + 0x0a, 0xf6, 0x7b, 0x1f, 0x14, 0x08, 0xa4, 0xdf, 0xe9, 0x29, 0xe6, 0xb8, 0x59, 0xbb, 0x81, 0x1e, + 0x9f, 0x80, 0x23, 0x04, 0xa8, 0x83, 0x5d, 0xad, 0xa5, 0xb9, 0x5a, 0x00, 0xfa, 0x61, 0x0a, 0x4d, + 0xd8, 0xbe, 0xc2, 0x1b, 0x43, 0xe3, 0xb4, 0xbb, 0x5b, 0xfb, 0x9e, 0x60, 0x3d, 0xc2, 0xc6, 0x49, + 0xea, 0x84, 0x68, 0xbd, 0x65, 0xce, 0xb9, 0xbc, 0x00, 0xe3, 0x41, 0xb9, 0x47, 0x39, 0x60, 0x92, + 0x2f, 0xc5, 0x88, 0x13, 0x54, 0x5b, 0x5b, 0x24, 0xee, 0xcb, 0x8b, 0x75, 0x29, 0x4e, 0xdc, 0xa8, + 0xe5, 0xa5, 0x8d, 0xba, 0xaa, 0x6c, 0xae, 0x6e, 0x2c, 0xad, 0xd4, 0xa5, 0x44, 0xc0, 0xb1, 0xbf, + 0x92, 0xcc, 0x3e, 0x28, 0x9d, 0x20, 0x5e, 0x43, 0x31, 0x1c, 0xa9, 0xa1, 0x77, 0xc0, 0x51, 0x91, + 0x56, 0x71, 0xb0, 0xab, 0xde, 0xd4, 0x6d, 0xba, 0x21, 0x3b, 0x1a, 0x33, 0x8e, 0x9e, 0xfc, 0x4c, + 0x71, 0xa8, 0x06, 0x76, 0x9f, 0xd3, 0x6d, 0xb2, 0xdd, 0x3a, 0x9a, 0x8b, 0x96, 0x61, 0xd6, 0x30, + 0x55, 0xc7, 0xd5, 0x8c, 0x96, 0x66, 0xb7, 0x54, 0x3f, 0xa1, 0xa5, 0x6a, 0xcd, 0x26, 0x76, 0x1c, + 0x93, 0x19, 0x42, 0x8f, 0xca, 0xdd, 0x86, 0xd9, 0xe0, 0xc0, 0xbe, 0x85, 0xa8, 0x70, 0xd0, 0x1e, + 0xf1, 0x4d, 0x0c, 0x13, 0xdf, 0xe3, 0x90, 0xeb, 0x68, 0x96, 0x8a, 0x0d, 0xd7, 0xde, 0xa7, 0xfe, + 0x79, 0x56, 0xc9, 0x76, 0x34, 0xab, 0x4e, 0xca, 0x6f, 0x4b, 0x98, 0x74, 0x25, 0x99, 0x4d, 0x4a, + 0xa9, 0x2b, 0xc9, 0x6c, 0x4a, 0x4a, 0x5f, 0x49, 0x66, 0xd3, 0x52, 0xe6, 0x4a, 0x32, 0x9b, 0x95, + 0x72, 0x57, 0x92, 0xd9, 0x9c, 0x04, 0xf2, 0xcf, 0x26, 0x61, 0x3c, 0xe8, 0xc1, 0x93, 0x80, 0xa8, + 0x49, 0x6d, 0x58, 0x8c, 0x6a, 0xb9, 0xfb, 0x0e, 0xf4, 0xf7, 0xe7, 0x6b, 0xc4, 0xb8, 0x2d, 0xa4, + 0x99, 0xbb, 0xac, 0x30, 0x4c, 0xe2, 0x58, 0x10, 0xf1, 0xc3, 0xcc, 0x3d, 0xc9, 0x2a, 0xbc, 0x84, + 0x2e, 0x41, 0xfa, 0x25, 0x87, 0xd2, 0x4e, 0x53, 0xda, 0xf7, 0x1f, 0x4c, 0xfb, 0x4a, 0x83, 0x12, + 0xcf, 0x5d, 0x69, 0xa8, 0xab, 0x6b, 0xca, 0x4a, 0x65, 0x59, 0xe1, 0xe8, 0xe8, 0x18, 0x24, 0xdb, + 0xda, 0xcb, 0xfb, 0x61, 0x33, 0x48, 0xab, 0xd0, 0x3c, 0x94, 0xba, 0xc6, 0x0d, 0x6c, 0xeb, 0xdb, + 0x3a, 0x6e, 0xa9, 0x14, 0xaa, 0x14, 0x84, 0x2a, 0xfa, 0xad, 0xcb, 0x04, 0x7e, 0xc4, 0x65, 0x3c, + 0x06, 0xc9, 0x9b, 0x58, 0xbb, 0x1e, 0x36, 0x56, 0xb4, 0xea, 0x2d, 0xdc, 0x4e, 0x67, 0x20, 0x45, + 0xf9, 0x8b, 0x00, 0x38, 0x87, 0xa5, 0x31, 0x94, 0x85, 0x64, 0x6d, 0x4d, 0x21, 0x5b, 0x4a, 0x82, + 0x71, 0x56, 0xab, 0xae, 0x2f, 0xd5, 0x6b, 0x75, 0x29, 0x2e, 0x9f, 0x83, 0x34, 0x63, 0x1a, 0xd9, + 0x6e, 0x1e, 0xdb, 0xa4, 0x31, 0x5e, 0xe4, 0x34, 0x62, 0xa2, 0x75, 0x73, 0xa5, 0x5a, 0x57, 0xa4, + 0x78, 0x9f, 0xb0, 0xc8, 0x0e, 0x8c, 0x07, 0x3d, 0xf9, 0xb7, 0x27, 0x9c, 0xff, 0x42, 0x0c, 0xf2, + 0x01, 0xcf, 0x9c, 0xb8, 0x54, 0x5a, 0xbb, 0x6d, 0xde, 0x54, 0xb5, 0xb6, 0xae, 0x39, 0x5c, 0x94, + 0x80, 0x56, 0x55, 0x48, 0xcd, 0xa8, 0x4b, 0xf7, 0x36, 0x6d, 0xb2, 0x94, 0x94, 0x96, 0x3f, 0x14, + 0x03, 0xa9, 0xd7, 0x35, 0xee, 0x19, 0x66, 0xec, 0x2f, 0x73, 0x98, 0xf2, 0x07, 0x63, 0x50, 0x0c, + 0xfb, 0xc3, 0x3d, 0xc3, 0xbb, 0xf7, 0x2f, 0x75, 0x78, 0x7f, 0x18, 0x87, 0x42, 0xc8, 0x0b, 0x1e, + 0x75, 0x74, 0xef, 0x81, 0x09, 0xbd, 0x85, 0x3b, 0x96, 0xe9, 0x62, 0xa3, 0xb9, 0xaf, 0xb6, 0xf1, + 0x0d, 0xdc, 0x9e, 0x96, 0xa9, 0x92, 0x39, 0x73, 0xb0, 0x9f, 0x3d, 0xbf, 0xe4, 0xe3, 0x2d, 0x13, + 0xb4, 0x85, 0xc9, 0xa5, 0xc5, 0xfa, 0xca, 0xfa, 0xda, 0x46, 0x7d, 0xb5, 0xf6, 0x82, 0xba, 0xb9, + 0x7a, 0x75, 0x75, 0xed, 0xb9, 0x55, 0x45, 0xd2, 0x7b, 0xc0, 0xde, 0xc2, 0x6d, 0xbf, 0x0e, 0x52, + 0xef, 0xa0, 0xd0, 0x51, 0x18, 0x34, 0x2c, 0x69, 0x0c, 0x4d, 0x42, 0x69, 0x75, 0x4d, 0x6d, 0x2c, + 0x2d, 0xd6, 0xd5, 0xfa, 0xc5, 0x8b, 0xf5, 0xda, 0x46, 0x83, 0x65, 0x4e, 0x3c, 0xe8, 0x8d, 0xd0, + 0x06, 0x97, 0x7f, 0x29, 0x01, 0x93, 0x03, 0x46, 0x82, 0x2a, 0x3c, 0xe6, 0x61, 0x61, 0xd8, 0x23, + 0xa3, 0x8c, 0x7e, 0x9e, 0x78, 0x1d, 0xeb, 0x9a, 0xed, 0xf2, 0x10, 0xe9, 0x14, 0x10, 0x2e, 0x19, + 0x2e, 0x51, 0xae, 0x36, 0xcf, 0x48, 0xb1, 0x40, 0xa8, 0xe4, 0xd7, 0xb3, 0xa4, 0xd4, 0xc3, 0x80, + 0x2c, 0xd3, 0xd1, 0x5d, 0xfd, 0x06, 0x56, 0x75, 0x43, 0xa4, 0xaf, 0x48, 0x60, 0x94, 0x54, 0x24, + 0xd1, 0xb2, 0x64, 0xb8, 0x1e, 0xb4, 0x81, 0x77, 0xb4, 0x1e, 0x68, 0xa2, 0xfc, 0x13, 0x8a, 0x24, + 0x5a, 0x3c, 0xe8, 0x7b, 0x61, 0xbc, 0x65, 0x76, 0x89, 0xb7, 0xc8, 0xe0, 0x88, 0xad, 0x89, 0x29, + 0x79, 0x56, 0xe7, 0x81, 0xf0, 0x38, 0xc0, 0xcf, 0x9b, 0x8d, 0x2b, 0x79, 0x56, 0xc7, 0x40, 0x4e, + 0x40, 0x49, 0xdb, 0xd9, 0xb1, 0x09, 0x71, 0x41, 0x88, 0x45, 0x36, 0x45, 0xaf, 0x9a, 0x02, 0x96, + 0xaf, 0x40, 0x56, 0xf0, 0x81, 0x18, 0x7b, 0xc2, 0x09, 0xd5, 0x62, 0xe1, 0x7a, 0xfc, 0x64, 0x4e, + 0xc9, 0x1a, 0xa2, 0xf1, 0x5e, 0x18, 0xd7, 0x1d, 0xd5, 0x3f, 0x06, 0x88, 0xcf, 0xc5, 0x4f, 0x66, + 0x95, 0xbc, 0xee, 0x78, 0x29, 0x54, 0xf9, 0x63, 0x71, 0x28, 0x86, 0x8f, 0x31, 0xd0, 0x22, 0x64, + 0xdb, 0x66, 0x53, 0xa3, 0xa2, 0xc5, 0xce, 0xd0, 0x4e, 0x46, 0x9c, 0x7c, 0xcc, 0x2f, 0x73, 0x78, + 0xc5, 0xc3, 0x2c, 0xff, 0x9b, 0x18, 0x64, 0x45, 0x35, 0x3a, 0x02, 0x49, 0x4b, 0x73, 0x77, 0x29, + 0xb9, 0x54, 0x35, 0x2e, 0xc5, 0x14, 0x5a, 0x26, 0xf5, 0x8e, 0xa5, 0x19, 0x54, 0x04, 0x78, 0x3d, + 0x29, 0x93, 0x75, 0x6d, 0x63, 0xad, 0x45, 0xc3, 0x26, 0xb3, 0xd3, 0xc1, 0x86, 0xeb, 0x88, 0x75, + 0xe5, 0xf5, 0x35, 0x5e, 0x8d, 0x1e, 0x82, 0x09, 0xd7, 0xd6, 0xf4, 0x76, 0x08, 0x36, 0x49, 0x61, + 0x25, 0xd1, 0xe0, 0x01, 0x2f, 0xc0, 0x31, 0x41, 0xb7, 0x85, 0x5d, 0xad, 0xb9, 0x8b, 0x5b, 0x3e, + 0x52, 0x9a, 0xa6, 0x47, 0x8e, 0x72, 0x80, 0x45, 0xde, 0x2e, 0x70, 0xe5, 0x2f, 0xc7, 0x60, 0x42, + 0x04, 0x7a, 0x2d, 0x8f, 0x59, 0x2b, 0x00, 0x9a, 0x61, 0x98, 0x6e, 0x90, 0x5d, 0xfd, 0xa2, 0xdc, + 0x87, 0x37, 0x5f, 0xf1, 0x90, 0x94, 0x00, 0x81, 0x72, 0x07, 0xc0, 0x6f, 0x19, 0xca, 0xb6, 0x59, + 0xc8, 0xf3, 0x33, 0x2a, 0x7a, 0xd0, 0xc9, 0x52, 0x03, 0xc0, 0xaa, 0x48, 0x44, 0x88, 0xa6, 0x20, + 0xb5, 0x85, 0x77, 0x74, 0x83, 0x67, 0x9e, 0x59, 0x41, 0x24, 0x70, 0x92, 0x5e, 0x02, 0xa7, 0xfa, + 0xd7, 0x61, 0xb2, 0x69, 0x76, 0x7a, 0x87, 0x5b, 0x95, 0x7a, 0xd2, 0x13, 0xce, 0xe5, 0xd8, 0x8b, + 0x8f, 0x70, 0xa0, 0x1d, 0xb3, 0xad, 0x19, 0x3b, 0xf3, 0xa6, 0xbd, 0xe3, 0x1f, 0xd4, 0x12, 0x0f, + 0xc9, 0x09, 0x1c, 0xd7, 0x5a, 0x5b, 0xff, 0x2b, 0x16, 0xfb, 0x95, 0x78, 0xe2, 0xd2, 0x7a, 0xf5, + 0xd7, 0xe2, 0xe5, 0x4b, 0x0c, 0x71, 0x5d, 0x30, 0x43, 0xc1, 0xdb, 0x6d, 0xdc, 0x24, 0x13, 0x84, + 0x6f, 0x3d, 0x04, 0x53, 0x3b, 0xe6, 0x8e, 0x49, 0x29, 0x9d, 0x21, 0xbf, 0xf8, 0x49, 0x6f, 0xce, + 0xab, 0x2d, 0x47, 0x1e, 0x0b, 0x2f, 0xac, 0xc2, 0x24, 0x07, 0x56, 0xe9, 0x51, 0x13, 0x0b, 0x84, + 0xd0, 0x81, 0x59, 0xb8, 0xe9, 0x5f, 0xff, 0x2a, 0x35, 0xdf, 0xca, 0x04, 0x47, 0x25, 0x6d, 0x2c, + 0x56, 0x5a, 0x50, 0xe0, 0xae, 0x10, 0x3d, 0xb6, 0x49, 0xb1, 0x1d, 0x41, 0xf1, 0x9f, 0x73, 0x8a, + 0x93, 0x01, 0x8a, 0x0d, 0x8e, 0xba, 0x50, 0x83, 0xc2, 0x61, 0x68, 0xfd, 0x0b, 0x4e, 0x6b, 0x1c, + 0x07, 0x89, 0x5c, 0x82, 0x12, 0x25, 0xd2, 0xec, 0x3a, 0xae, 0xd9, 0xa1, 0x1a, 0xf0, 0x60, 0x32, + 0xff, 0xf2, 0xab, 0x6c, 0xd7, 0x14, 0x09, 0x5a, 0xcd, 0xc3, 0x5a, 0x58, 0x00, 0x7a, 0xba, 0xd6, + 0xc2, 0xcd, 0x76, 0x04, 0x85, 0x2f, 0xf2, 0x81, 0x78, 0xf0, 0x0b, 0xd7, 0x60, 0x8a, 0xfc, 0xa6, + 0x0a, 0x2a, 0x38, 0x92, 0xe8, 0x94, 0xdd, 0xf4, 0x97, 0xdf, 0xcb, 0x36, 0xe6, 0xa4, 0x47, 0x20, + 0x30, 0xa6, 0xc0, 0x2a, 0xee, 0x60, 0xd7, 0xc5, 0xb6, 0xa3, 0x6a, 0xed, 0x41, 0xc3, 0x0b, 0xe4, + 0x3c, 0xa6, 0x7f, 0xf1, 0x9b, 0xe1, 0x55, 0xbc, 0xc4, 0x30, 0x2b, 0xed, 0xf6, 0xc2, 0x26, 0x1c, + 0x1d, 0x20, 0x15, 0x23, 0xd0, 0xfc, 0x25, 0x4e, 0x73, 0xaa, 0x4f, 0x32, 0x08, 0xd9, 0x75, 0x10, + 0xf5, 0xde, 0x5a, 0x8e, 0x40, 0xf3, 0x97, 0x39, 0x4d, 0xc4, 0x71, 0xc5, 0x92, 0x12, 0x8a, 0x57, + 0x60, 0xe2, 0x06, 0xb6, 0xb7, 0x4c, 0x87, 0xe7, 0x99, 0x46, 0x20, 0xf7, 0x41, 0x4e, 0xae, 0xc4, + 0x11, 0x69, 0xe2, 0x89, 0xd0, 0x7a, 0x1a, 0xb2, 0xdb, 0x5a, 0x13, 0x8f, 0x40, 0xe2, 0x36, 0x27, + 0x91, 0x21, 0xf0, 0x04, 0xb5, 0x02, 0xe3, 0x3b, 0x26, 0xb7, 0x51, 0xd1, 0xe8, 0x1f, 0xe2, 0xe8, + 0x79, 0x81, 0xc3, 0x49, 0x58, 0xa6, 0xd5, 0x6d, 0x13, 0x03, 0x16, 0x4d, 0xe2, 0xef, 0x08, 0x12, + 0x02, 0x87, 0x93, 0x38, 0x04, 0x5b, 0x5f, 0x15, 0x24, 0x9c, 0x00, 0x3f, 0x9f, 0x85, 0xbc, 0x69, + 0xb4, 0xf7, 0x4d, 0x63, 0x94, 0x41, 0x7c, 0x98, 0x53, 0x00, 0x8e, 0x42, 0x08, 0x5c, 0x80, 0xdc, + 0xa8, 0x0b, 0xf1, 0xab, 0xdf, 0x14, 0xdb, 0x43, 0xac, 0xc0, 0x25, 0x28, 0x09, 0x05, 0xa5, 0x9b, + 0xc6, 0x08, 0x24, 0x3e, 0xca, 0x49, 0x14, 0x03, 0x68, 0x7c, 0x1a, 0x2e, 0x76, 0xdc, 0x1d, 0x3c, + 0x0a, 0x91, 0x8f, 0x89, 0x69, 0x70, 0x14, 0xce, 0xca, 0x2d, 0x6c, 0x34, 0x77, 0x47, 0xa3, 0xf0, + 0x71, 0xc1, 0x4a, 0x81, 0x43, 0x48, 0xd4, 0xa0, 0xd0, 0xd1, 0x6c, 0x67, 0x57, 0x6b, 0x8f, 0xb4, + 0x1c, 0x9f, 0xe0, 0x34, 0xc6, 0x3d, 0x24, 0xce, 0x91, 0xae, 0x71, 0x18, 0x32, 0xbf, 0x26, 0x38, + 0x12, 0x40, 0xe3, 0x5b, 0xcf, 0x71, 0x69, 0x52, 0xee, 0x30, 0xd4, 0xfe, 0x9e, 0xd8, 0x7a, 0x0c, + 0x77, 0x25, 0x48, 0xf1, 0x02, 0xe4, 0x1c, 0xfd, 0xe5, 0x91, 0xc8, 0xfc, 0x7d, 0xb1, 0xd2, 0x14, + 0x81, 0x20, 0xbf, 0x00, 0xc7, 0x06, 0x9a, 0x89, 0x11, 0x88, 0xfd, 0x03, 0x4e, 0xec, 0xc8, 0x00, + 0x53, 0xc1, 0x55, 0xc2, 0x61, 0x49, 0xfe, 0x43, 0xa1, 0x12, 0x70, 0x0f, 0xad, 0x75, 0x12, 0x35, + 0x38, 0xda, 0xf6, 0xe1, 0xb8, 0xf6, 0x8f, 0x04, 0xd7, 0x18, 0x6e, 0x88, 0x6b, 0x1b, 0x70, 0x84, + 0x53, 0x3c, 0xdc, 0xba, 0x7e, 0x52, 0x28, 0x56, 0x86, 0xbd, 0x19, 0x5e, 0xdd, 0xef, 0x87, 0xb2, + 0xc7, 0x4e, 0xe1, 0x9e, 0x3a, 0x6a, 0x47, 0xb3, 0x46, 0xa0, 0xfc, 0xeb, 0x9c, 0xb2, 0xd0, 0xf8, + 0x9e, 0x7f, 0xeb, 0xac, 0x68, 0x16, 0x21, 0xfe, 0x3c, 0x4c, 0x0b, 0xe2, 0x5d, 0xc3, 0xc6, 0x4d, + 0x73, 0xc7, 0xd0, 0x5f, 0xc6, 0xad, 0x11, 0x48, 0x7f, 0xaa, 0x67, 0xa9, 0x36, 0x03, 0xe8, 0x84, + 0xf2, 0x12, 0x48, 0x9e, 0xaf, 0xa2, 0xea, 0x1d, 0xcb, 0xb4, 0xdd, 0x08, 0x8a, 0x9f, 0x16, 0x2b, + 0xe5, 0xe1, 0x2d, 0x51, 0xb4, 0x85, 0x3a, 0xb0, 0x93, 0xea, 0x51, 0x45, 0xf2, 0x33, 0x9c, 0x50, + 0xc1, 0xc7, 0xe2, 0x8a, 0xa3, 0x69, 0x76, 0x2c, 0xcd, 0x1e, 0x45, 0xff, 0xfd, 0x63, 0xa1, 0x38, + 0x38, 0x0a, 0x57, 0x1c, 0xc4, 0xa3, 0x23, 0xd6, 0x7e, 0x04, 0x0a, 0x9f, 0x15, 0x8a, 0x43, 0xe0, + 0x70, 0x12, 0xc2, 0x61, 0x18, 0x81, 0xc4, 0xe7, 0x04, 0x09, 0x81, 0x43, 0x48, 0xbc, 0xcb, 0x37, + 0xb4, 0x36, 0xde, 0xd1, 0x1d, 0xd7, 0x66, 0x4e, 0xf1, 0xc1, 0xa4, 0x3e, 0xff, 0xcd, 0xb0, 0x13, + 0xa6, 0x04, 0x50, 0x89, 0x26, 0xe2, 0x69, 0x5a, 0x1a, 0x33, 0x45, 0x0f, 0xec, 0x37, 0x84, 0x26, + 0x0a, 0xa0, 0x91, 0xb1, 0x05, 0x3c, 0x44, 0xc2, 0xf6, 0x26, 0x89, 0x14, 0x46, 0x20, 0xf7, 0x4f, + 0x7a, 0x06, 0xd7, 0x10, 0xb8, 0x84, 0x66, 0xc0, 0xff, 0xe9, 0x1a, 0xd7, 0xf1, 0xfe, 0x48, 0xd2, + 0xf9, 0x9b, 0x3d, 0xfe, 0xcf, 0x26, 0xc3, 0x64, 0x3a, 0xa4, 0xd4, 0xe3, 0x4f, 0xa1, 0xa8, 0x7b, + 0x49, 0xd3, 0x3f, 0xfc, 0x06, 0x9f, 0x6f, 0xd8, 0x9d, 0x5a, 0x58, 0x26, 0x42, 0x1e, 0x76, 0x7a, + 0xa2, 0x89, 0xbd, 0xf7, 0x0d, 0x4f, 0xce, 0x43, 0x3e, 0xcf, 0xc2, 0x45, 0x28, 0x84, 0x1c, 0x9e, + 0x68, 0x52, 0x3f, 0xca, 0x49, 0x8d, 0x07, 0xfd, 0x9d, 0x85, 0x73, 0x90, 0x24, 0xce, 0x4b, 0x34, + 0xfa, 0x8f, 0x71, 0x74, 0x0a, 0xbe, 0xf0, 0x0c, 0x64, 0x85, 0xd3, 0x12, 0x8d, 0xfa, 0xe3, 0x1c, + 0xd5, 0x43, 0x21, 0xe8, 0xc2, 0x61, 0x89, 0x46, 0xff, 0x1b, 0x02, 0x5d, 0xa0, 0x10, 0xf4, 0xd1, + 0x59, 0xf8, 0x85, 0xbf, 0x99, 0xe4, 0x46, 0x47, 0xf0, 0xee, 0x02, 0x64, 0xb8, 0xa7, 0x12, 0x8d, + 0xfd, 0x13, 0xbc, 0x73, 0x81, 0xb1, 0xf0, 0x24, 0xa4, 0x46, 0x64, 0xf8, 0xdf, 0xe2, 0xa8, 0x0c, + 0x7e, 0xa1, 0x06, 0xf9, 0x80, 0x77, 0x12, 0x8d, 0xfe, 0x53, 0x1c, 0x3d, 0x88, 0x45, 0x86, 0xce, + 0xbd, 0x93, 0x68, 0x02, 0x3f, 0x2d, 0x86, 0xce, 0x31, 0x08, 0xdb, 0x84, 0x63, 0x12, 0x8d, 0xfd, + 0x7e, 0xc1, 0x75, 0x81, 0xb2, 0xf0, 0x2c, 0xe4, 0x3c, 0x63, 0x13, 0x8d, 0xff, 0x33, 0x1c, 0xdf, + 0xc7, 0x21, 0x1c, 0x08, 0x18, 0xbb, 0x68, 0x12, 0x3f, 0x2b, 0x38, 0x10, 0xc0, 0x22, 0xdb, 0xa8, + 0xd7, 0x81, 0x89, 0xa6, 0xf4, 0x73, 0x62, 0x1b, 0xf5, 0xf8, 0x2f, 0x64, 0x35, 0xa9, 0xce, 0x8f, + 0x26, 0xf1, 0xb7, 0xc5, 0x6a, 0x52, 0x78, 0x32, 0x8c, 0x5e, 0x8f, 0x20, 0x9a, 0xc6, 0x2f, 0x88, + 0x61, 0xf4, 0x38, 0x04, 0x0b, 0xeb, 0x80, 0xfa, 0xbd, 0x81, 0x68, 0x7a, 0x1f, 0xe0, 0xf4, 0x26, + 0xfa, 0x9c, 0x81, 0x85, 0xe7, 0xe0, 0xc8, 0x60, 0x4f, 0x20, 0x9a, 0xea, 0x2f, 0xbe, 0xd1, 0x13, + 0xbb, 0x05, 0x1d, 0x81, 0x85, 0x0d, 0xdf, 0xa4, 0x04, 0xbd, 0x80, 0x68, 0xb2, 0xbf, 0xf4, 0x46, + 0x58, 0x71, 0x07, 0x9d, 0x80, 0x85, 0x0a, 0x80, 0x6f, 0x80, 0xa3, 0x69, 0x7d, 0x90, 0xd3, 0x0a, + 0x20, 0x91, 0xad, 0xc1, 0xed, 0x6f, 0x34, 0xfe, 0x6d, 0xb1, 0x35, 0x38, 0x06, 0xd9, 0x1a, 0xc2, + 0xf4, 0x46, 0x63, 0x7f, 0x48, 0x6c, 0x0d, 0x81, 0x42, 0x24, 0x3b, 0x60, 0xdd, 0xa2, 0x29, 0x7c, + 0x58, 0x48, 0x76, 0x00, 0x6b, 0x61, 0x15, 0x26, 0xfa, 0x0c, 0x62, 0x34, 0xa9, 0x5f, 0xe1, 0xa4, + 0xa4, 0x5e, 0x7b, 0x18, 0x34, 0x5e, 0xdc, 0x18, 0x46, 0x53, 0xfb, 0x48, 0x8f, 0xf1, 0xe2, 0xb6, + 0x70, 0xe1, 0x02, 0x64, 0x8d, 0x6e, 0xbb, 0x4d, 0x36, 0x0f, 0x3a, 0xf8, 0x2e, 0xe1, 0xf4, 0x7f, + 0xfb, 0x0e, 0xe7, 0x8e, 0x40, 0x58, 0x38, 0x07, 0x29, 0xdc, 0xd9, 0xc2, 0xad, 0x28, 0xcc, 0x6f, + 0x7c, 0x47, 0x28, 0x4c, 0x02, 0xbd, 0xf0, 0x2c, 0x00, 0x4b, 0x8d, 0xd0, 0xc3, 0xc3, 0x08, 0xdc, + 0x3f, 0xfa, 0x0e, 0xbf, 0xbc, 0xe3, 0xa3, 0xf8, 0x04, 0xd8, 0x55, 0xa0, 0x83, 0x09, 0x7c, 0x33, + 0x4c, 0x80, 0xae, 0xc8, 0xd3, 0x90, 0x79, 0xc9, 0x31, 0x0d, 0x57, 0xdb, 0x89, 0xc2, 0xfe, 0x16, + 0xc7, 0x16, 0xf0, 0x84, 0x61, 0x1d, 0xd3, 0xc6, 0xae, 0xb6, 0xe3, 0x44, 0xe1, 0xfe, 0x77, 0x8e, + 0xeb, 0x21, 0x10, 0xe4, 0xa6, 0xe6, 0xb8, 0xa3, 0xcc, 0xfb, 0x8f, 0x05, 0xb2, 0x40, 0x20, 0x83, + 0x26, 0xbf, 0xaf, 0xe3, 0xfd, 0x28, 0xdc, 0x3f, 0x11, 0x83, 0xe6, 0xf0, 0x0b, 0xcf, 0x40, 0x8e, + 0xfc, 0x64, 0x37, 0xf2, 0x22, 0x90, 0xff, 0x94, 0x23, 0xfb, 0x18, 0xa4, 0x67, 0xc7, 0x6d, 0xb9, + 0x7a, 0x34, 0xb3, 0xbf, 0xcd, 0x57, 0x5a, 0xc0, 0x2f, 0x54, 0x20, 0xef, 0xb8, 0xad, 0x56, 0x97, + 0xfb, 0xa7, 0x11, 0xe8, 0x7f, 0xf6, 0x1d, 0x2f, 0x65, 0xe1, 0xe1, 0x90, 0xd5, 0xbe, 0x79, 0xdd, + 0xb5, 0x4c, 0x7a, 0xe0, 0x11, 0x45, 0xe1, 0x0d, 0x4e, 0x21, 0x80, 0xb2, 0x50, 0x83, 0x71, 0x32, + 0x17, 0x1b, 0x5b, 0x98, 0x9e, 0x4e, 0x45, 0x90, 0xf8, 0x73, 0xce, 0x80, 0x10, 0x52, 0xf5, 0x87, + 0xbe, 0xf8, 0xfa, 0x4c, 0xec, 0x4b, 0xaf, 0xcf, 0xc4, 0xfe, 0xf0, 0xf5, 0x99, 0xd8, 0xfb, 0xbf, + 0x32, 0x33, 0xf6, 0xa5, 0xaf, 0xcc, 0x8c, 0xfd, 0xc1, 0x57, 0x66, 0xc6, 0x06, 0x67, 0x89, 0xe1, + 0x92, 0x79, 0xc9, 0x64, 0xf9, 0xe1, 0x17, 0x1f, 0xd8, 0xd1, 0xdd, 0xdd, 0xee, 0xd6, 0x7c, 0xd3, + 0xec, 0x9c, 0x69, 0x9a, 0x4e, 0xc7, 0x74, 0xce, 0x84, 0xf3, 0xba, 0xf4, 0x17, 0xfc, 0x9f, 0x18, + 0x89, 0x99, 0xc3, 0xe9, 0x5c, 0xcd, 0xd8, 0x1f, 0xf6, 0x79, 0xcf, 0x79, 0x48, 0x54, 0x8c, 0x7d, + 0x74, 0x8c, 0x29, 0x38, 0xb5, 0x6b, 0xb7, 0xf9, 0xb5, 0xb0, 0x0c, 0x29, 0x6f, 0xda, 0x6d, 0x34, + 0xe5, 0xdf, 0xdd, 0x8c, 0x9d, 0x1c, 0xe7, 0x17, 0x32, 0xab, 0x3f, 0x15, 0x3b, 0xdc, 0x4c, 0xb2, + 0x15, 0x63, 0x9f, 0x4e, 0x64, 0x3d, 0xf6, 0xe2, 0xc3, 0x91, 0x79, 0xee, 0xeb, 0x86, 0x79, 0xd3, + 0x20, 0xc3, 0xb6, 0xb6, 0x44, 0x8e, 0x7b, 0xa6, 0x37, 0xc7, 0xfd, 0x1c, 0x6e, 0xb7, 0xaf, 0x12, + 0xb8, 0x0d, 0x82, 0xb2, 0x95, 0x66, 0x37, 0x90, 0xe1, 0xe7, 0xe2, 0x30, 0xd3, 0x97, 0xce, 0xe6, + 0x42, 0x30, 0x8c, 0x09, 0x0b, 0x90, 0x5d, 0x14, 0xb2, 0x35, 0x0d, 0x19, 0x07, 0x37, 0x4d, 0xa3, + 0xe5, 0x50, 0x46, 0x24, 0x14, 0x51, 0x24, 0x8c, 0x30, 0x34, 0xc3, 0x74, 0xf8, 0xc5, 0x4a, 0x56, + 0xa8, 0xfe, 0xf2, 0x21, 0x19, 0x51, 0x10, 0x3d, 0x09, 0x6e, 0x3c, 0x36, 0x22, 0x37, 0xc4, 0x24, + 0x42, 0x99, 0xff, 0x51, 0xb9, 0xf2, 0x0b, 0x71, 0x98, 0xed, 0xe5, 0x0a, 0xd9, 0x59, 0x8e, 0xab, + 0x75, 0xac, 0x61, 0x6c, 0xb9, 0x00, 0xb9, 0x0d, 0x01, 0x73, 0x68, 0xbe, 0xdc, 0x3e, 0x24, 0x5f, + 0x8a, 0x5e, 0x57, 0x82, 0x31, 0x67, 0x47, 0x64, 0x8c, 0x37, 0x8f, 0x3b, 0xe2, 0xcc, 0x5f, 0xa4, + 0xe1, 0x18, 0xdb, 0x4e, 0x2a, 0xdb, 0x4a, 0xac, 0xc0, 0x79, 0x32, 0x1e, 0x6c, 0x8a, 0x3e, 0x27, + 0x91, 0xaf, 0xc2, 0xe4, 0x12, 0xd1, 0x16, 0x24, 0x0a, 0xf2, 0x4f, 0x78, 0x06, 0xde, 0x3d, 0x9d, + 0x0b, 0x39, 0xfc, 0xfc, 0x84, 0x29, 0x58, 0x25, 0xff, 0x70, 0x0c, 0xa4, 0x46, 0x53, 0x6b, 0x6b, + 0xf6, 0x77, 0x4b, 0x0a, 0x3d, 0x09, 0x40, 0xbf, 0x59, 0xf2, 0x3f, 0x32, 0x2a, 0x9e, 0x9d, 0x9e, + 0x0f, 0x4e, 0x6e, 0x9e, 0xf5, 0x44, 0xbf, 0x60, 0xc8, 0x51, 0x58, 0xf2, 0xf3, 0xf4, 0xf3, 0x00, + 0x7e, 0x03, 0x3a, 0x0e, 0x47, 0x1b, 0xb5, 0xca, 0x72, 0x45, 0x51, 0xd9, 0x65, 0xf8, 0xd5, 0xc6, + 0x7a, 0xbd, 0xb6, 0x74, 0x71, 0xa9, 0xbe, 0x28, 0x8d, 0xa1, 0x23, 0x80, 0x82, 0x8d, 0xde, 0xbd, + 0x94, 0xbb, 0x60, 0x22, 0x58, 0xcf, 0x6e, 0xd4, 0xc7, 0x89, 0xa7, 0xa8, 0x77, 0xac, 0x36, 0xa6, + 0x47, 0x7f, 0xaa, 0x2e, 0xb8, 0x16, 0xed, 0x84, 0xfc, 0xee, 0xbf, 0x63, 0xb7, 0xac, 0x27, 0x7d, + 0x74, 0x8f, 0xe7, 0x0b, 0xcb, 0x30, 0xa1, 0x35, 0x9b, 0xd8, 0x0a, 0x91, 0x8c, 0x50, 0xd5, 0x84, + 0x20, 0x3d, 0xcc, 0xe4, 0x98, 0x3e, 0xb5, 0x27, 0x21, 0xed, 0xd0, 0xd9, 0x47, 0x91, 0xf8, 0x3d, + 0x4e, 0x82, 0x83, 0x2f, 0x18, 0x30, 0x41, 0x3c, 0x3f, 0xcd, 0xc6, 0x81, 0x61, 0x1c, 0x9c, 0x67, + 0xf8, 0xad, 0x4f, 0x3f, 0x4a, 0x8f, 0x36, 0xef, 0x0d, 0x2f, 0xcb, 0x00, 0x71, 0x52, 0x24, 0x4e, + 0xdb, 0x1f, 0x28, 0x86, 0xa2, 0xe8, 0x8f, 0x0f, 0xf8, 0xe0, 0xce, 0x7e, 0x9b, 0x77, 0x36, 0x33, + 0x48, 0x06, 0x02, 0x3d, 0x15, 0x38, 0x55, 0xd6, 0x50, 0xad, 0x0f, 0xdb, 0xd3, 0x2f, 0x3e, 0xd4, + 0x6f, 0x9d, 0xd8, 0x7f, 0x8f, 0x50, 0xca, 0x17, 0x82, 0xdd, 0x78, 0x7b, 0xef, 0x97, 0x93, 0x30, + 0xa1, 0x75, 0x74, 0xc3, 0x3c, 0x43, 0xff, 0xe5, 0x7b, 0x2e, 0x45, 0x0b, 0x23, 0x1c, 0x4a, 0x9e, + 0x67, 0x5b, 0x21, 0x5a, 0x62, 0xfe, 0xf4, 0x27, 0x3f, 0x9a, 0xf2, 0xb7, 0xcb, 0xc2, 0x0a, 0x48, + 0xe2, 0xc2, 0x21, 0x36, 0x9a, 0x66, 0x6b, 0xa4, 0x2c, 0xc5, 0xb7, 0x05, 0x0d, 0x91, 0xdf, 0xaa, + 0x73, 0xd4, 0x85, 0x77, 0x40, 0xd6, 0x23, 0x13, 0xe5, 0x99, 0x08, 0x22, 0x1e, 0x06, 0xf1, 0x4b, + 0xd8, 0xce, 0x1c, 0xc5, 0x0b, 0x7d, 0x43, 0xe0, 0xb3, 0x1d, 0xba, 0x4a, 0x66, 0x73, 0x09, 0x8a, + 0x2d, 0xd3, 0x70, 0x55, 0xb3, 0xa3, 0xbb, 0xb8, 0x63, 0xb9, 0x91, 0x7e, 0xdd, 0x9f, 0x33, 0x22, + 0x59, 0xa5, 0x40, 0xf0, 0xd6, 0x04, 0x1a, 0x19, 0x09, 0xfb, 0xa6, 0x68, 0x94, 0x91, 0xfc, 0x0f, + 0x6f, 0x24, 0x14, 0x87, 0x8c, 0xe4, 0x8e, 0xa4, 0xc3, 0x69, 0x5d, 0xe7, 0xca, 0xdc, 0xdd, 0x63, + 0x52, 0xe0, 0x49, 0xc7, 0x1f, 0x27, 0x60, 0x86, 0x03, 0x6f, 0x69, 0x0e, 0x3e, 0x73, 0xe3, 0xb1, + 0x2d, 0xec, 0x6a, 0x8f, 0x9d, 0x69, 0x9a, 0xba, 0xb0, 0xe4, 0x93, 0x5c, 0x59, 0x93, 0xf6, 0x79, + 0xde, 0x5e, 0x1e, 0x78, 0xdc, 0x5d, 0x1e, 0xae, 0xe4, 0xcb, 0xfd, 0x32, 0x28, 0xbf, 0x08, 0xc9, + 0x9a, 0xa9, 0x1b, 0xc4, 0xb6, 0xb5, 0xb0, 0x61, 0x76, 0xb8, 0xba, 0x65, 0x05, 0x74, 0x1e, 0xd2, + 0x5a, 0xc7, 0xec, 0x1a, 0x2e, 0x53, 0xb5, 0xd5, 0x99, 0x2f, 0xbe, 0x36, 0x3b, 0xf6, 0x1f, 0x5e, + 0x9b, 0x4d, 0x2c, 0x19, 0xee, 0xef, 0x7f, 0xe6, 0x11, 0xe0, 0xd4, 0x97, 0x0c, 0xf7, 0xe3, 0x5f, + 0xfb, 0xe4, 0xe9, 0x98, 0xc2, 0xa1, 0x17, 0x92, 0x5f, 0x7f, 0x75, 0x36, 0x26, 0x3f, 0x0f, 0x99, + 0x45, 0xdc, 0x3c, 0x80, 0xfc, 0x63, 0x3d, 0xe4, 0x8f, 0x09, 0xf2, 0x8b, 0xb8, 0x19, 0x20, 0xbf, + 0x88, 0x9b, 0x3d, 0x94, 0x9f, 0x84, 0xec, 0x92, 0xe1, 0xb2, 0xcf, 0x1d, 0x1e, 0x82, 0x84, 0x6e, + 0xb0, 0x1b, 0xb4, 0x01, 0x0a, 0x7d, 0x03, 0x54, 0x08, 0x14, 0x41, 0x5c, 0xc4, 0x4d, 0x0f, 0xb1, + 0x85, 0x9b, 0xbd, 0x88, 0xfd, 0x5d, 0x13, 0xa8, 0xea, 0xe2, 0x1f, 0xfc, 0x97, 0x99, 0xb1, 0x57, + 0x5e, 0x9f, 0x19, 0x1b, 0xba, 0xf4, 0x72, 0xf4, 0xd2, 0x7b, 0x2b, 0xfe, 0xd1, 0x24, 0xdc, 0x43, + 0xbf, 0x82, 0xb3, 0x3b, 0xba, 0xe1, 0x9e, 0x69, 0xda, 0xfb, 0x96, 0x6b, 0x12, 0x05, 0x60, 0x6e, + 0xf3, 0x05, 0x9f, 0xf0, 0x9b, 0xe7, 0x59, 0xf3, 0xe0, 0xe5, 0x96, 0xb7, 0x21, 0xb5, 0x4e, 0xf0, + 0x08, 0x8b, 0x5d, 0xd3, 0xd5, 0xda, 0xdc, 0x6b, 0x61, 0x05, 0x52, 0xcb, 0xbe, 0x9c, 0x8b, 0xb3, + 0x5a, 0x5d, 0x7c, 0x34, 0xd7, 0xc6, 0xda, 0x36, 0xfb, 0x00, 0x21, 0x41, 0xdd, 0xdd, 0x2c, 0xa9, + 0xa0, 0xdf, 0x1a, 0x4c, 0x41, 0x4a, 0xeb, 0xb2, 0x9b, 0x2f, 0x09, 0xe2, 0x07, 0xd3, 0x82, 0x7c, + 0x15, 0x32, 0xfc, 0xfc, 0x1d, 0x49, 0x90, 0xb8, 0x8e, 0xf7, 0x69, 0x3f, 0xe3, 0x0a, 0xf9, 0x89, + 0xe6, 0x21, 0x45, 0x07, 0xcf, 0xbf, 0xac, 0x9a, 0x9e, 0xef, 0x1b, 0xfd, 0x3c, 0x1d, 0xa4, 0xc2, + 0xc0, 0xe4, 0x2b, 0x90, 0x5d, 0x34, 0x89, 0x14, 0x86, 0xa9, 0xe5, 0x18, 0x35, 0x3a, 0x66, 0xab, + 0xcb, 0xa5, 0x42, 0x61, 0x05, 0x74, 0x04, 0xd2, 0xec, 0x83, 0x14, 0x7e, 0x7b, 0x87, 0x97, 0xe4, + 0x1a, 0x64, 0x28, 0xed, 0x35, 0x8b, 0xb8, 0x0c, 0xde, 0xdd, 0xdf, 0x1c, 0xff, 0x3c, 0x91, 0x93, + 0x8f, 0xfb, 0x83, 0x45, 0x90, 0x6c, 0x69, 0xae, 0xc6, 0xe7, 0x4d, 0x7f, 0xcb, 0xef, 0x84, 0x2c, + 0x27, 0xe2, 0xa0, 0xb3, 0x90, 0x30, 0x2d, 0x87, 0xdf, 0xbf, 0x29, 0x0f, 0x9b, 0xca, 0x9a, 0x55, + 0x4d, 0x12, 0x99, 0x51, 0x08, 0x70, 0x75, 0x75, 0xa8, 0x58, 0x3c, 0x11, 0x12, 0x8b, 0x0e, 0x76, + 0xb7, 0xb6, 0x5d, 0xff, 0x07, 0x5b, 0xce, 0x3e, 0x51, 0xf0, 0x04, 0xe5, 0x76, 0x1c, 0x66, 0x02, + 0xad, 0x37, 0xb0, 0xed, 0xe8, 0xa6, 0xc1, 0xa4, 0x89, 0x4b, 0x0a, 0x0a, 0x0c, 0x90, 0xb7, 0x0f, + 0x11, 0x95, 0x67, 0x20, 0x51, 0xb1, 0x2c, 0x54, 0x86, 0x2c, 0x2d, 0x37, 0x4d, 0x26, 0x2b, 0x49, + 0xc5, 0x2b, 0x93, 0x36, 0xc7, 0xdc, 0x76, 0x6f, 0x6a, 0xb6, 0xf7, 0xbd, 0xa6, 0x28, 0xcb, 0x4f, + 0x43, 0xae, 0x66, 0x1a, 0x0e, 0x36, 0x9c, 0x2e, 0xf5, 0x85, 0xb7, 0xda, 0x66, 0xf3, 0x3a, 0xa7, + 0xc0, 0x0a, 0x84, 0xd9, 0x9a, 0x65, 0x51, 0xcc, 0xa4, 0x42, 0x7e, 0xb2, 0xfd, 0x5a, 0x5d, 0x1b, + 0xca, 0x9e, 0x73, 0x87, 0x63, 0x0f, 0x9f, 0xa0, 0xef, 0xd4, 0xc6, 0xe0, 0xee, 0xfe, 0x8d, 0x74, + 0x1d, 0xef, 0x3b, 0x87, 0xdd, 0x47, 0xcf, 0x43, 0x6e, 0x9d, 0x3e, 0x98, 0x70, 0x15, 0xef, 0xa3, + 0x32, 0x64, 0x70, 0xeb, 0xec, 0xb9, 0x73, 0x8f, 0x3d, 0xcd, 0xa4, 0xfc, 0xf2, 0x98, 0x22, 0x2a, + 0xd0, 0x0c, 0xe4, 0x1c, 0xdc, 0xb4, 0xce, 0x9e, 0x3b, 0x7f, 0xfd, 0x31, 0x26, 0x56, 0x97, 0xc7, + 0x14, 0xbf, 0x6a, 0x21, 0x4b, 0x66, 0xfc, 0xf5, 0x0f, 0xcf, 0xc6, 0xaa, 0x29, 0x48, 0x38, 0xdd, + 0xce, 0x5b, 0x26, 0x1b, 0x3f, 0x9f, 0x82, 0xb9, 0x40, 0x2b, 0x33, 0x2e, 0x37, 0xb4, 0xb6, 0xde, + 0xd2, 0xfc, 0x67, 0x2e, 0xa4, 0xc0, 0xfc, 0x29, 0xc4, 0x10, 0xab, 0x71, 0x20, 0x17, 0xe5, 0x4f, + 0xc5, 0x60, 0xfc, 0x9a, 0xa0, 0xdc, 0xc0, 0x2e, 0xba, 0x00, 0xe0, 0xf5, 0x24, 0xb6, 0xca, 0xf1, + 0xf9, 0xde, 0xbe, 0xe6, 0x3d, 0x1c, 0x25, 0x00, 0x8e, 0x9e, 0xa4, 0x02, 0x68, 0x99, 0x0e, 0xff, + 0x76, 0x2f, 0x02, 0xd5, 0x03, 0x46, 0x0f, 0x03, 0xa2, 0x5a, 0x4d, 0xbd, 0x61, 0xba, 0xba, 0xb1, + 0xa3, 0x5a, 0xe6, 0x4d, 0xfe, 0x45, 0x74, 0x42, 0x91, 0x68, 0xcb, 0x35, 0xda, 0xb0, 0x4e, 0xea, + 0xc9, 0xa0, 0x73, 0x1e, 0x15, 0x12, 0xd6, 0x69, 0xad, 0x96, 0x8d, 0x1d, 0x87, 0x2b, 0x2e, 0x51, + 0x44, 0x17, 0x20, 0x63, 0x75, 0xb7, 0x54, 0xa1, 0x25, 0xf2, 0x67, 0xef, 0x1e, 0xb4, 0xe7, 0x85, + 0x6c, 0xf0, 0x5d, 0x9f, 0xb6, 0xba, 0x5b, 0x44, 0x52, 0xee, 0x85, 0xf1, 0x01, 0x83, 0xc9, 0xdf, + 0xf0, 0xc7, 0x41, 0xdf, 0xe8, 0xe0, 0x33, 0x50, 0x2d, 0x5b, 0x37, 0x6d, 0xdd, 0xdd, 0xa7, 0x17, + 0xe7, 0x12, 0x8a, 0x24, 0x1a, 0xd6, 0x79, 0xbd, 0x7c, 0x1d, 0x4a, 0x0d, 0xea, 0xee, 0xfb, 0x23, + 0x3f, 0xe7, 0x8f, 0x2f, 0x16, 0x3d, 0xbe, 0xa1, 0x23, 0x8b, 0xf7, 0x8d, 0xac, 0xba, 0x32, 0x54, + 0x32, 0x1f, 0x3f, 0x9c, 0x64, 0x86, 0xad, 0xdb, 0x1f, 0x1d, 0x0b, 0x6d, 0x4a, 0xee, 0xf5, 0x04, + 0x54, 0xd6, 0xa8, 0x42, 0x19, 0x15, 0xc9, 0x97, 0x0f, 0x36, 0xa2, 0xe5, 0x08, 0xd5, 0x59, 0x8e, + 0xdc, 0x3e, 0xf2, 0xd3, 0x50, 0x58, 0xd7, 0x6c, 0xb7, 0x81, 0xdd, 0xcb, 0x58, 0x6b, 0x61, 0x3b, + 0x6c, 0x65, 0x0b, 0xc2, 0xca, 0x22, 0x48, 0x52, 0x53, 0xca, 0xac, 0x0c, 0xfd, 0x2d, 0xef, 0x42, + 0x92, 0x5e, 0x9c, 0xf5, 0x2c, 0x30, 0xc7, 0x60, 0x16, 0x98, 0xe8, 0xcf, 0x7d, 0x17, 0x3b, 0x22, + 0xd9, 0x44, 0x0b, 0xe8, 0x09, 0x61, 0x47, 0x13, 0x07, 0xdb, 0x51, 0x2e, 0x84, 0xdc, 0x9a, 0xb6, + 0x21, 0x53, 0x25, 0xea, 0x77, 0x69, 0xd1, 0x1b, 0x48, 0xcc, 0x1f, 0x08, 0x5a, 0x81, 0x92, 0xa5, + 0xd9, 0x2e, 0xfd, 0xe6, 0x68, 0x97, 0xce, 0x82, 0xcb, 0xf9, 0x6c, 0xff, 0xae, 0x0b, 0x4d, 0x96, + 0xf7, 0x52, 0xb0, 0x82, 0x95, 0xf2, 0x7f, 0x4d, 0x42, 0x9a, 0x33, 0xe3, 0x19, 0xc8, 0x70, 0xb6, + 0x72, 0xc9, 0xbc, 0x67, 0xbe, 0xdf, 0x18, 0xcd, 0x7b, 0x46, 0x83, 0xd3, 0x13, 0x38, 0xe8, 0x41, + 0xc8, 0x36, 0x77, 0x35, 0xdd, 0x50, 0xf5, 0x16, 0x77, 0x00, 0xf3, 0xaf, 0xbf, 0x36, 0x9b, 0xa9, + 0x91, 0xba, 0xa5, 0x45, 0x25, 0x43, 0x1b, 0x97, 0x5a, 0xc4, 0xf2, 0xef, 0x62, 0x7d, 0x67, 0xd7, + 0xe5, 0xbb, 0x8b, 0x97, 0xd0, 0x53, 0x90, 0x24, 0x02, 0xc1, 0xbf, 0x48, 0x2d, 0xf7, 0xf9, 0xf1, + 0x5e, 0xa2, 0xa5, 0x9a, 0x25, 0x1d, 0xbf, 0xff, 0x3f, 0xcf, 0xc6, 0x14, 0x8a, 0x81, 0x6a, 0x50, + 0x68, 0x6b, 0x8e, 0xab, 0x52, 0xab, 0x45, 0xba, 0x4f, 0x51, 0x12, 0xc7, 0xfa, 0x19, 0xc2, 0x19, + 0xcb, 0x87, 0x9e, 0x27, 0x58, 0xac, 0xaa, 0x85, 0x4e, 0x82, 0x44, 0x89, 0x34, 0xcd, 0x4e, 0x47, + 0x77, 0x99, 0x2f, 0x95, 0xa6, 0x7c, 0x2f, 0x92, 0xfa, 0x1a, 0xad, 0xa6, 0x1e, 0xd5, 0x71, 0xc8, + 0xd1, 0x6f, 0xe0, 0x28, 0x08, 0xbb, 0xad, 0x9d, 0x25, 0x15, 0xb4, 0xf1, 0x04, 0x94, 0x7c, 0xdd, + 0xc8, 0x40, 0xb2, 0x8c, 0x8a, 0x5f, 0x4d, 0x01, 0x1f, 0x85, 0x29, 0x03, 0xef, 0xd1, 0xfb, 0xe3, + 0x21, 0xe8, 0x1c, 0x85, 0x46, 0xa4, 0xed, 0x5a, 0x18, 0xe3, 0x01, 0x28, 0x36, 0x05, 0xf3, 0x19, + 0x2c, 0x50, 0xd8, 0x82, 0x57, 0x4b, 0xc1, 0x8e, 0x41, 0x56, 0xb3, 0x2c, 0x06, 0x90, 0xe7, 0xba, + 0xd1, 0xb2, 0x68, 0xd3, 0x69, 0x98, 0xa0, 0x73, 0xb4, 0xb1, 0xd3, 0x6d, 0xbb, 0x9c, 0xc8, 0x38, + 0x85, 0x29, 0x91, 0x06, 0x85, 0xd5, 0x53, 0xd8, 0xfb, 0xa0, 0x80, 0x6f, 0xe8, 0x2d, 0x6c, 0x34, + 0x31, 0x83, 0x2b, 0x50, 0xb8, 0x71, 0x51, 0x49, 0x81, 0x4e, 0x81, 0xa7, 0xf3, 0x54, 0xa1, 0x8f, + 0x8b, 0x8c, 0x9e, 0xa8, 0xaf, 0xb0, 0x6a, 0x79, 0x1a, 0x92, 0x8b, 0x9a, 0xab, 0x11, 0xa7, 0xc2, + 0xdd, 0x63, 0x46, 0x66, 0x5c, 0x21, 0x3f, 0xe5, 0xaf, 0xc7, 0x21, 0x79, 0xcd, 0x74, 0x31, 0x7a, + 0x3c, 0xe0, 0xf0, 0x15, 0x07, 0xc9, 0x73, 0x43, 0xdf, 0x31, 0x70, 0x6b, 0xc5, 0xd9, 0x09, 0x3c, + 0x58, 0xe1, 0x8b, 0x53, 0x3c, 0x24, 0x4e, 0x53, 0x90, 0xb2, 0xcd, 0xae, 0xd1, 0x12, 0x17, 0x9d, + 0x69, 0x01, 0xd5, 0x21, 0xeb, 0x49, 0x49, 0x32, 0x4a, 0x4a, 0x4a, 0x44, 0x4a, 0x88, 0x0c, 0xf3, + 0x0a, 0x25, 0xb3, 0xc5, 0x85, 0xa5, 0x0a, 0x39, 0x4f, 0x79, 0x71, 0x69, 0x1b, 0x4d, 0x60, 0x7d, + 0x34, 0x62, 0x48, 0xbc, 0xb5, 0xf7, 0x98, 0xc7, 0x24, 0x4e, 0xf2, 0x1a, 0x38, 0xf7, 0x42, 0x62, + 0xc5, 0x1f, 0xcf, 0xc8, 0xd0, 0x79, 0xf9, 0x62, 0xc5, 0x1e, 0xd0, 0xb8, 0x1b, 0x72, 0x8e, 0xbe, + 0x63, 0x68, 0x6e, 0xd7, 0xc6, 0x5c, 0xf2, 0xfc, 0x0a, 0xf9, 0x0b, 0x31, 0x48, 0x33, 0x49, 0x0e, + 0xf0, 0x2d, 0x36, 0x98, 0x6f, 0xf1, 0x61, 0x7c, 0x4b, 0xdc, 0x39, 0xdf, 0x2a, 0x00, 0xde, 0x60, + 0x1c, 0xfe, 0xa6, 0xc1, 0x00, 0x6f, 0x81, 0x0d, 0xb1, 0xa1, 0xef, 0xf0, 0x8d, 0x1a, 0x40, 0x92, + 0xff, 0x53, 0x8c, 0x38, 0xae, 0xbc, 0x1d, 0x55, 0xa0, 0x20, 0xc6, 0xa5, 0x6e, 0xb7, 0xb5, 0x1d, + 0x2e, 0x3b, 0xf7, 0x0c, 0x1d, 0xdc, 0xc5, 0xb6, 0xb6, 0xa3, 0xe4, 0xf9, 0x78, 0x48, 0x61, 0xf0, + 0x3a, 0xc4, 0x87, 0xac, 0x43, 0x68, 0xe1, 0x13, 0x77, 0xb6, 0xf0, 0xa1, 0x25, 0x4a, 0xf6, 0x2e, + 0xd1, 0xa7, 0xe3, 0x34, 0x78, 0xb1, 0x4c, 0x47, 0x6b, 0xbf, 0x1d, 0x3b, 0xe2, 0x38, 0xe4, 0x2c, + 0xb3, 0xad, 0xb2, 0x16, 0xf6, 0x01, 0x40, 0xd6, 0x32, 0xdb, 0x4a, 0xdf, 0xb2, 0xa7, 0xde, 0xa4, + 0xed, 0x92, 0x7e, 0x13, 0xb8, 0x96, 0xe9, 0xe5, 0x9a, 0x0d, 0xe3, 0x8c, 0x15, 0xdc, 0x96, 0x3d, + 0x4a, 0x78, 0x40, 0x8d, 0x63, 0xac, 0xdf, 0xf6, 0xb2, 0x61, 0x33, 0x48, 0x85, 0xc3, 0x11, 0x0c, + 0xa6, 0xfa, 0x07, 0x45, 0xbd, 0x41, 0xb1, 0x54, 0x38, 0x9c, 0xfc, 0xf3, 0x31, 0x80, 0x65, 0xc2, + 0x59, 0x3a, 0x5f, 0x62, 0x85, 0x1c, 0x3a, 0x04, 0x35, 0xd4, 0xf3, 0xcc, 0xb0, 0x45, 0xe3, 0xfd, + 0x8f, 0x3b, 0xc1, 0x71, 0xd7, 0xa0, 0xe0, 0x0b, 0xa3, 0x83, 0xc5, 0x60, 0x66, 0x0e, 0xf0, 0xa8, + 0x1b, 0xd8, 0x55, 0xc6, 0x6f, 0x04, 0x4a, 0xf2, 0x3f, 0x8d, 0x41, 0x8e, 0x8e, 0x69, 0x05, 0xbb, + 0x5a, 0x68, 0x0d, 0x63, 0x77, 0xbe, 0x86, 0xf7, 0x00, 0x30, 0x32, 0x8e, 0xfe, 0x32, 0xe6, 0x92, + 0x95, 0xa3, 0x35, 0x0d, 0xfd, 0x65, 0x8c, 0xce, 0x7b, 0x0c, 0x4f, 0x1c, 0xcc, 0x70, 0xe1, 0x71, + 0x73, 0xb6, 0x1f, 0x85, 0x0c, 0x7d, 0x03, 0x6c, 0xcf, 0xe1, 0x4e, 0x74, 0xda, 0xe8, 0x76, 0x36, + 0xf6, 0x1c, 0xf9, 0x25, 0xc8, 0x6c, 0xec, 0xb1, 0x5c, 0xc8, 0x71, 0xc8, 0xd9, 0xa6, 0xc9, 0x6d, + 0x32, 0xf3, 0x85, 0xb2, 0xa4, 0x82, 0x9a, 0x20, 0x11, 0xff, 0xc7, 0xfd, 0xf8, 0xdf, 0x4f, 0x60, + 0x24, 0x46, 0x4a, 0x60, 0x9c, 0xfe, 0xf7, 0x31, 0xc8, 0x07, 0xf4, 0x03, 0x7a, 0x0c, 0xee, 0xaa, + 0x2e, 0xaf, 0xd5, 0xae, 0xaa, 0x4b, 0x8b, 0xea, 0xc5, 0xe5, 0xca, 0x25, 0xff, 0x13, 0xb7, 0xf2, + 0x91, 0x5b, 0xb7, 0xe7, 0x50, 0x00, 0x76, 0xd3, 0xa0, 0xa7, 0x39, 0xe8, 0x0c, 0x4c, 0x85, 0x51, + 0x2a, 0xd5, 0x46, 0x7d, 0x75, 0x43, 0x8a, 0x95, 0xef, 0xba, 0x75, 0x7b, 0x6e, 0x22, 0x80, 0x51, + 0xd9, 0x72, 0xb0, 0xe1, 0xf6, 0x23, 0xd4, 0xd6, 0x56, 0x56, 0x96, 0x36, 0xa4, 0x78, 0x1f, 0x02, + 0x57, 0xd8, 0xa7, 0x60, 0x22, 0x8c, 0xb0, 0xba, 0xb4, 0x2c, 0x25, 0xca, 0xe8, 0xd6, 0xed, 0xb9, + 0x62, 0x00, 0x7a, 0x55, 0x6f, 0x97, 0xb3, 0xef, 0xfb, 0xc8, 0xcc, 0xd8, 0xc7, 0xff, 0xee, 0x4c, + 0x8c, 0xcc, 0xac, 0x10, 0xd2, 0x11, 0xe8, 0x61, 0x38, 0xda, 0x58, 0xba, 0xb4, 0x5a, 0x5f, 0x54, + 0x57, 0x1a, 0x97, 0xc4, 0x79, 0x88, 0x98, 0x5d, 0xe9, 0xd6, 0xed, 0xb9, 0x3c, 0x9f, 0xd2, 0x30, + 0xe8, 0x75, 0xa5, 0x7e, 0x6d, 0x6d, 0xa3, 0x2e, 0xc5, 0x18, 0xf4, 0xba, 0x8d, 0x6f, 0x98, 0x2e, + 0x7b, 0x24, 0xf0, 0x51, 0x38, 0x36, 0x00, 0xda, 0x9b, 0xd8, 0xc4, 0xad, 0xdb, 0x73, 0x85, 0x75, + 0x1b, 0xb3, 0xfd, 0x43, 0x31, 0xe6, 0x61, 0xba, 0x1f, 0x63, 0x6d, 0x7d, 0xad, 0x51, 0x59, 0x96, + 0xe6, 0xca, 0xd2, 0xad, 0xdb, 0x73, 0xe3, 0x42, 0x19, 0x12, 0x78, 0x7f, 0x66, 0x6f, 0x55, 0xb4, + 0xf3, 0xe3, 0x99, 0x50, 0x2e, 0x8f, 0xc5, 0x11, 0x96, 0x66, 0x6b, 0x9d, 0xc3, 0x86, 0x3b, 0x11, + 0xc7, 0xb9, 0xf2, 0x2b, 0x71, 0x28, 0x79, 0xce, 0xf4, 0x3a, 0xed, 0x01, 0x3d, 0x1e, 0xcc, 0xc3, + 0xe4, 0x87, 0x9a, 0x31, 0x06, 0x2d, 0xd2, 0x34, 0xef, 0x80, 0xac, 0x70, 0xca, 0xb8, 0xba, 0x98, + 0xeb, 0xc7, 0xab, 0x73, 0x08, 0x8e, 0xea, 0x61, 0xa0, 0x67, 0x21, 0xe7, 0x29, 0x0f, 0xef, 0x89, + 0x9d, 0xe1, 0xda, 0x86, 0xe3, 0xfb, 0x38, 0xe8, 0x69, 0x3f, 0x6c, 0x48, 0x0e, 0x0b, 0x44, 0xae, + 0x31, 0x00, 0x8e, 0x2c, 0xe0, 0xe5, 0x25, 0xbe, 0xed, 0xf8, 0xec, 0xe9, 0xf3, 0x04, 0x7b, 0x2a, + 0x8b, 0xa4, 0x98, 0x57, 0x92, 0xed, 0x68, 0x7b, 0x55, 0x1a, 0x4c, 0x1d, 0x85, 0x0c, 0x69, 0xdc, + 0xe1, 0x5f, 0x5f, 0x27, 0x94, 0x74, 0x47, 0xdb, 0xbb, 0xa4, 0x39, 0x57, 0x92, 0xd9, 0x84, 0x94, + 0x94, 0x3f, 0x11, 0x83, 0x62, 0x78, 0x8e, 0xe8, 0x21, 0x40, 0x04, 0x43, 0xdb, 0xc1, 0x2a, 0x51, + 0x31, 0x94, 0x59, 0x82, 0x6e, 0xa9, 0xa3, 0xed, 0x55, 0x76, 0xf0, 0x6a, 0xb7, 0x43, 0x07, 0xe0, + 0xa0, 0x15, 0x90, 0x04, 0xb0, 0x58, 0x27, 0xce, 0xcc, 0x63, 0xfd, 0x0f, 0xee, 0x71, 0x00, 0x66, + 0xa8, 0x3e, 0x40, 0x0c, 0x55, 0x91, 0xd1, 0xf3, 0x8e, 0xe3, 0x43, 0x53, 0x49, 0x84, 0xa7, 0x22, + 0x3f, 0x0b, 0xa5, 0x1e, 0x7e, 0x22, 0x19, 0x0a, 0x3c, 0x2b, 0x40, 0x8f, 0x3a, 0x99, 0x7f, 0x9c, + 0x53, 0xf2, 0x2c, 0xfa, 0xa7, 0x47, 0xbf, 0x0b, 0xd9, 0xcf, 0xbf, 0x3a, 0x1b, 0xa3, 0x09, 0xf3, + 0x87, 0xa0, 0x10, 0xe2, 0xa8, 0xc8, 0xd4, 0xc5, 0xfc, 0x4c, 0x9d, 0x0f, 0xfc, 0x22, 0x8c, 0x13, + 0x45, 0x89, 0x5b, 0x1c, 0xf6, 0x41, 0x28, 0x31, 0x45, 0xde, 0xcb, 0x6b, 0xe6, 0x49, 0xad, 0x08, + 0x86, 0xcb, 0xc2, 0xb5, 0x0a, 0xb3, 0x3d, 0x2f, 0xa0, 0x2e, 0x69, 0x4e, 0xf5, 0x5d, 0x1f, 0x7f, + 0x7d, 0x26, 0xf6, 0xd6, 0x6c, 0xc4, 0x2f, 0xbf, 0x0b, 0x8e, 0x07, 0x1a, 0xb5, 0xad, 0xa6, 0x1e, + 0xca, 0x3a, 0x94, 0x02, 0x42, 0x46, 0x1a, 0xa3, 0xb2, 0x07, 0x07, 0xe6, 0x30, 0x0e, 0x4e, 0x98, + 0x95, 0x0f, 0xd6, 0x08, 0xd1, 0x89, 0x8d, 0xc1, 0x39, 0xca, 0xff, 0x9b, 0x85, 0x8c, 0x82, 0xdf, + 0xd3, 0xc5, 0x8e, 0x8b, 0xce, 0x42, 0x12, 0x37, 0x77, 0xcd, 0x41, 0x29, 0x21, 0x32, 0xb9, 0x79, + 0x0e, 0x57, 0x6f, 0xee, 0x9a, 0x97, 0xc7, 0x14, 0x0a, 0x8b, 0xce, 0x41, 0x6a, 0xbb, 0xdd, 0xe5, + 0x79, 0x8a, 0x1e, 0x65, 0x11, 0x44, 0xba, 0x48, 0x80, 0x2e, 0x8f, 0x29, 0x0c, 0x9a, 0x74, 0x45, + 0x9f, 0x2e, 0x4d, 0x1c, 0xdc, 0xd5, 0x92, 0xb1, 0x4d, 0xbb, 0x22, 0xb0, 0xa8, 0x0a, 0xa0, 0x1b, + 0xba, 0xab, 0xd2, 0x18, 0x9e, 0x7b, 0x82, 0xf7, 0x0e, 0xc7, 0xd4, 0x5d, 0x1a, 0xf5, 0x5f, 0x1e, + 0x53, 0x72, 0xba, 0x28, 0x90, 0xe1, 0xbe, 0xa7, 0x8b, 0xed, 0x7d, 0xee, 0x00, 0x0e, 0x1d, 0xee, + 0xbb, 0x08, 0x10, 0x19, 0x2e, 0x85, 0x46, 0x75, 0xc8, 0xd3, 0x6f, 0x54, 0xd9, 0xfe, 0xe5, 0xcf, + 0x68, 0xca, 0xc3, 0x90, 0xab, 0x04, 0x94, 0x6e, 0xe9, 0xcb, 0x63, 0x0a, 0x6c, 0x79, 0x25, 0xa2, + 0x24, 0xd9, 0x33, 0x4b, 0xee, 0x1e, 0x7f, 0x3c, 0x70, 0x76, 0x18, 0x0d, 0xfa, 0xd6, 0xd2, 0xc6, + 0xde, 0xe5, 0x31, 0x25, 0xd3, 0x64, 0x3f, 0xc9, 0xfc, 0x5b, 0xb8, 0xad, 0xdf, 0xc0, 0x36, 0xc1, + 0xcf, 0x1d, 0x3c, 0xff, 0x45, 0x06, 0x49, 0x29, 0xe4, 0x5a, 0xa2, 0x40, 0x14, 0x2d, 0x36, 0x5a, + 0x7c, 0x1a, 0xd0, 0xaf, 0xa7, 0x43, 0xeb, 0x6c, 0xb4, 0xc4, 0x24, 0xb2, 0x98, 0xff, 0x46, 0x4f, + 0x79, 0x1e, 0x6a, 0xbe, 0xdf, 0x29, 0x0c, 0x4d, 0x80, 0xe5, 0x2a, 0xc6, 0x84, 0xa7, 0x8a, 0x56, + 0xa1, 0xd8, 0xd6, 0x1d, 0x57, 0x75, 0x0c, 0xcd, 0x72, 0x76, 0x4d, 0xd7, 0xa1, 0x41, 0x7f, 0xfe, + 0xec, 0x03, 0xc3, 0x28, 0x2c, 0xeb, 0x8e, 0xdb, 0x10, 0xc0, 0x97, 0xc7, 0x94, 0x42, 0x3b, 0x58, + 0x41, 0xe8, 0x99, 0xdb, 0xdb, 0xd8, 0xf6, 0x08, 0xd2, 0xe4, 0xc0, 0x01, 0xf4, 0xd6, 0x08, 0xb4, + 0xc0, 0x27, 0xf4, 0xcc, 0x60, 0x05, 0xfa, 0x7e, 0x98, 0x6c, 0x9b, 0x5a, 0xcb, 0x23, 0xa7, 0x36, + 0x77, 0xbb, 0xc6, 0x75, 0x9a, 0x49, 0xc8, 0x9f, 0x3d, 0x35, 0x74, 0x90, 0xa6, 0xd6, 0x12, 0x24, + 0x6a, 0x04, 0xe1, 0xf2, 0x98, 0x32, 0xd1, 0xee, 0xad, 0x44, 0xef, 0x86, 0x29, 0xcd, 0xb2, 0xda, + 0xfb, 0xbd, 0xd4, 0x4b, 0x94, 0xfa, 0xe9, 0x61, 0xd4, 0x2b, 0x04, 0xa7, 0x97, 0x3c, 0xd2, 0xfa, + 0x6a, 0xd1, 0x06, 0x48, 0x96, 0x8d, 0xe9, 0x47, 0x35, 0x16, 0x77, 0x55, 0xe8, 0xcb, 0x58, 0xf9, + 0xb3, 0x27, 0x86, 0xd1, 0x5e, 0x67, 0xf0, 0xc2, 0xb3, 0xb9, 0x3c, 0xa6, 0x94, 0xac, 0x70, 0x15, + 0xa3, 0x6a, 0x36, 0x31, 0x7d, 0xbd, 0x89, 0x53, 0x9d, 0x88, 0xa2, 0x4a, 0xe1, 0xc3, 0x54, 0x43, + 0x55, 0xd5, 0x0c, 0xbf, 0x14, 0xc7, 0x9f, 0x56, 0x39, 0x01, 0xf9, 0x80, 0x62, 0x41, 0xd3, 0x90, + 0xe1, 0x97, 0x04, 0xc4, 0x65, 0x3a, 0x5e, 0x94, 0x8b, 0x30, 0x1e, 0x54, 0x26, 0xf2, 0xfb, 0x63, + 0x1e, 0x26, 0xfd, 0xd6, 0x7d, 0x3a, 0x9c, 0x3a, 0xcc, 0xf9, 0x59, 0xc1, 0xfb, 0x84, 0x15, 0x11, + 0xed, 0xec, 0x34, 0x69, 0x9c, 0x56, 0x72, 0x23, 0x86, 0x66, 0x21, 0x6f, 0x9d, 0xb5, 0x3c, 0x90, + 0x04, 0x05, 0x01, 0xeb, 0xac, 0x25, 0x00, 0xee, 0x85, 0x71, 0x32, 0x53, 0x35, 0xe8, 0x68, 0xe4, + 0x94, 0x3c, 0xa9, 0xe3, 0x20, 0xf2, 0xbf, 0x8e, 0x83, 0xd4, 0xab, 0x80, 0xbc, 0x9c, 0x62, 0xec, + 0xd0, 0x39, 0xc5, 0x63, 0xbd, 0xd9, 0x4c, 0x3f, 0x81, 0xb9, 0x0c, 0x92, 0x9f, 0x87, 0x63, 0x86, + 0x60, 0xb8, 0xe3, 0xd4, 0xe3, 0xe1, 0x29, 0xa5, 0x66, 0x8f, 0xcb, 0x77, 0x31, 0x74, 0xf6, 0x22, + 0xde, 0xe6, 0xee, 0x5d, 0x62, 0xcf, 0x5f, 0xd8, 0xb4, 0x5a, 0x9a, 0x8b, 0x45, 0x5e, 0x24, 0x70, + 0x0c, 0xf3, 0x20, 0x94, 0x34, 0xcb, 0x52, 0x1d, 0x57, 0x73, 0x31, 0x37, 0xeb, 0x29, 0x96, 0x1e, + 0xd4, 0x2c, 0xab, 0x41, 0x6a, 0x99, 0x59, 0x7f, 0x00, 0x8a, 0x44, 0x27, 0xeb, 0x5a, 0x5b, 0xe5, + 0x59, 0x82, 0x34, 0xb3, 0xfe, 0xbc, 0xf6, 0x32, 0xad, 0x94, 0x5b, 0xde, 0x8a, 0x53, 0x7d, 0xec, + 0x85, 0x59, 0xb1, 0x40, 0x98, 0x85, 0xf8, 0x23, 0x04, 0x8c, 0x3f, 0xe2, 0xdd, 0x86, 0xc1, 0xd9, + 0xdd, 0x29, 0x1a, 0x92, 0xdd, 0x60, 0x09, 0x8f, 0xac, 0xc2, 0x0a, 0xf2, 0x7b, 0xe3, 0x30, 0xd1, + 0xa7, 0xb9, 0x07, 0xa6, 0xbd, 0xfd, 0xf8, 0x32, 0x7e, 0xa8, 0xf8, 0xf2, 0x6a, 0x38, 0xad, 0x1b, + 0xb0, 0x7c, 0xc7, 0xfb, 0x98, 0xcc, 0xf4, 0x26, 0x11, 0x68, 0x4e, 0x24, 0x90, 0xf9, 0xa5, 0x62, + 0xbe, 0x09, 0x53, 0x5b, 0xfb, 0x2f, 0x6b, 0x86, 0xab, 0x1b, 0x58, 0xed, 0x5b, 0xb5, 0x7e, 0x53, + 0xba, 0xa2, 0x3b, 0x5b, 0x78, 0x57, 0xbb, 0xa1, 0x9b, 0x62, 0x58, 0x93, 0x1e, 0xbe, 0x9f, 0xdc, + 0x95, 0x15, 0x28, 0x86, 0x4d, 0x0f, 0x2a, 0x42, 0xdc, 0xdd, 0xe3, 0xf3, 0x8f, 0xbb, 0x7b, 0xe8, + 0x51, 0x9e, 0x07, 0x8a, 0xd3, 0x3c, 0x50, 0x7f, 0x47, 0x1c, 0xcf, 0x4f, 0x02, 0xc9, 0xb2, 0xb7, + 0x1b, 0x3c, 0x73, 0xd4, 0x4b, 0x55, 0x3e, 0x05, 0xa5, 0x1e, 0x7b, 0x33, 0x2c, 0x2b, 0x28, 0x97, + 0xa0, 0x10, 0x32, 0x2e, 0xf2, 0x11, 0x98, 0x1a, 0x64, 0x2b, 0xe4, 0x5d, 0xaf, 0x3e, 0xa4, 0xf3, + 0xd1, 0x39, 0xc8, 0x7a, 0xc6, 0x62, 0x40, 0x16, 0x82, 0xce, 0x42, 0x00, 0x2b, 0x1e, 0x68, 0x28, + 0x99, 0x1d, 0x0f, 0x25, 0xb3, 0xe5, 0x1f, 0x82, 0xe9, 0x61, 0x86, 0xa0, 0x67, 0x1a, 0x49, 0x4f, + 0x0a, 0x8f, 0x40, 0x9a, 0x3f, 0xd1, 0x16, 0xa7, 0xc7, 0x37, 0xbc, 0x44, 0xa4, 0x93, 0x19, 0x85, + 0x04, 0x3b, 0xd5, 0xa1, 0x05, 0x59, 0x85, 0x63, 0x43, 0x8d, 0xc1, 0xf0, 0x83, 0x20, 0x46, 0x88, + 0x1f, 0x04, 0x35, 0xc5, 0x70, 0x1c, 0x3a, 0x57, 0x71, 0xd9, 0x81, 0x95, 0xe4, 0x0f, 0x24, 0xe0, + 0xc8, 0x60, 0x93, 0x80, 0xe6, 0x60, 0x9c, 0xf8, 0xdd, 0x6e, 0xd8, 0x45, 0x87, 0x8e, 0xb6, 0xb7, + 0xc1, 0xfd, 0x73, 0x9e, 0x48, 0x8f, 0x7b, 0x89, 0x74, 0xb4, 0x09, 0x13, 0x6d, 0xb3, 0xa9, 0xb5, + 0xd5, 0x80, 0xc4, 0x73, 0x61, 0xbf, 0xaf, 0x8f, 0xd9, 0x75, 0xf6, 0x70, 0x73, 0xab, 0x4f, 0xe8, + 0x4b, 0x94, 0xc6, 0xb2, 0x27, 0xf9, 0x68, 0x11, 0xf2, 0x1d, 0x5f, 0x90, 0x0f, 0x21, 0xec, 0x41, + 0xb4, 0xc0, 0x92, 0xa4, 0x06, 0x1e, 0xfb, 0xa4, 0x0f, 0xad, 0xa2, 0x87, 0x9d, 0xa0, 0x64, 0x86, + 0x9e, 0xa0, 0x0c, 0x3a, 0xae, 0xc8, 0x0e, 0x3e, 0xae, 0x78, 0x5f, 0x70, 0x69, 0x42, 0x46, 0xb4, + 0xff, 0x04, 0x03, 0x35, 0x60, 0x8a, 0xe3, 0xb7, 0x42, 0xbc, 0x8f, 0x8f, 0xaa, 0x68, 0x90, 0x40, + 0x1f, 0xce, 0xf6, 0xc4, 0x9d, 0xb1, 0x5d, 0xe8, 0xd2, 0x64, 0x40, 0x97, 0xfe, 0x7f, 0xb6, 0x14, + 0xff, 0x36, 0x07, 0x59, 0x05, 0x3b, 0x16, 0x31, 0x9c, 0xa8, 0x0a, 0x39, 0xbc, 0xd7, 0xc4, 0x96, + 0xeb, 0x1f, 0x53, 0x0e, 0x0a, 0x06, 0x18, 0x74, 0x5d, 0x40, 0x12, 0x4f, 0xdc, 0x43, 0x43, 0x8f, + 0xf3, 0x60, 0x6b, 0x78, 0xdc, 0xc4, 0xd1, 0x83, 0xd1, 0xd6, 0x79, 0x11, 0x6d, 0x25, 0x86, 0x3a, + 0xdf, 0x0c, 0xab, 0x27, 0xdc, 0x7a, 0x9c, 0x87, 0x5b, 0xc9, 0x88, 0xce, 0x42, 0xf1, 0x56, 0x2d, + 0x14, 0x6f, 0xa5, 0x23, 0xa6, 0x39, 0x24, 0xe0, 0x3a, 0x2f, 0x02, 0xae, 0x4c, 0xc4, 0x88, 0x7b, + 0x22, 0xae, 0x8b, 0xe1, 0x88, 0x2b, 0x3b, 0x44, 0x81, 0x08, 0xec, 0xa1, 0x21, 0xd7, 0x33, 0x81, + 0x90, 0x2b, 0x37, 0x34, 0xde, 0x61, 0x44, 0x06, 0xc4, 0x5c, 0xb5, 0x50, 0xcc, 0x05, 0x11, 0x3c, + 0x18, 0x12, 0x74, 0x7d, 0x5f, 0x30, 0xe8, 0xca, 0x0f, 0x8d, 0xdb, 0xf8, 0x7a, 0x0f, 0x8a, 0xba, + 0x9e, 0xf6, 0xa2, 0xae, 0xf1, 0xa1, 0x61, 0x23, 0x9f, 0x43, 0x6f, 0xd8, 0xb5, 0xd6, 0x17, 0x76, + 0x15, 0xf8, 0xdf, 0x44, 0x18, 0x46, 0x22, 0x22, 0xee, 0x5a, 0xeb, 0x8b, 0xbb, 0x8a, 0x11, 0x04, + 0x23, 0x02, 0xaf, 0x1f, 0x18, 0x1c, 0x78, 0x0d, 0x0f, 0x8d, 0xf8, 0x30, 0x47, 0x8b, 0xbc, 0xd4, + 0x21, 0x91, 0x17, 0x8b, 0x8e, 0x1e, 0x1a, 0x4a, 0x7e, 0xe4, 0xd0, 0x6b, 0x73, 0x40, 0xe8, 0xc5, + 0x82, 0xa4, 0x93, 0x43, 0x89, 0x8f, 0x10, 0x7b, 0x6d, 0x0e, 0x88, 0xbd, 0x50, 0x24, 0xd9, 0xc3, + 0x04, 0x5f, 0x29, 0x29, 0x2d, 0x9f, 0x22, 0xae, 0x6f, 0x8f, 0x9e, 0x22, 0xfe, 0x03, 0xb6, 0x6d, + 0xd3, 0x16, 0x37, 0x6b, 0x69, 0x41, 0x3e, 0x49, 0x9c, 0x71, 0x5f, 0x27, 0x1d, 0x10, 0xa8, 0x51, + 0x3f, 0x2d, 0xa0, 0x87, 0xe4, 0xcf, 0xc7, 0x7c, 0x5c, 0xea, 0xc3, 0x06, 0x1d, 0xf9, 0x1c, 0x77, + 0xe4, 0x03, 0xe1, 0x5b, 0x3c, 0x1c, 0xbe, 0xcd, 0x42, 0x9e, 0xf8, 0x5f, 0x3d, 0x91, 0x99, 0x66, + 0x79, 0x91, 0x99, 0xb8, 0x52, 0xc0, 0x82, 0x3c, 0x6e, 0x56, 0xd8, 0x49, 0x4e, 0xc9, 0xbb, 0x5e, + 0xc1, 0x62, 0x0a, 0xf4, 0x08, 0x4c, 0x06, 0x60, 0x3d, 0xbf, 0x8e, 0x85, 0x29, 0x92, 0x07, 0x5d, + 0xe1, 0x0e, 0xde, 0x3f, 0x8b, 0xf9, 0x1c, 0xf2, 0x43, 0xba, 0x41, 0xd1, 0x57, 0xec, 0x4d, 0x8a, + 0xbe, 0xe2, 0x77, 0x1c, 0x7d, 0x05, 0xfd, 0xd4, 0x44, 0xd8, 0x4f, 0xfd, 0x9f, 0x31, 0x7f, 0x4d, + 0xbc, 0x58, 0xaa, 0x69, 0xb6, 0x30, 0xf7, 0x1c, 0xe9, 0x6f, 0xe2, 0x54, 0xb4, 0xcd, 0x1d, 0xee, + 0x1f, 0x92, 0x9f, 0x04, 0xca, 0x33, 0x1c, 0x39, 0x6e, 0x17, 0x3c, 0xa7, 0x33, 0x15, 0xbc, 0xff, + 0xcb, 0x2f, 0xc5, 0xa6, 0xfd, 0x4b, 0xb1, 0xde, 0xc7, 0x6f, 0x99, 0xc0, 0xc7, 0x6f, 0xe8, 0x29, + 0xc8, 0xd1, 0x8c, 0xa8, 0x6a, 0x5a, 0xe2, 0x2f, 0x68, 0x1c, 0x1f, 0x7e, 0x21, 0xd6, 0xa1, 0x57, + 0xf5, 0xd8, 0x25, 0x5a, 0xdf, 0x63, 0xc8, 0x85, 0x3c, 0x86, 0xbb, 0x21, 0x47, 0x46, 0xcf, 0x5e, + 0x82, 0x06, 0xfe, 0xe5, 0xa4, 0xa8, 0x90, 0xdf, 0x0d, 0xa8, 0xdf, 0x48, 0xa0, 0xcb, 0x90, 0xc6, + 0x37, 0xe8, 0xb3, 0x7a, 0xec, 0xa2, 0xe1, 0x91, 0x7e, 0xd7, 0x94, 0x34, 0x57, 0xa7, 0x09, 0x93, + 0xbf, 0xf1, 0xda, 0xac, 0xc4, 0xa0, 0x1f, 0xf6, 0x3e, 0x14, 0x50, 0x38, 0xbe, 0xfc, 0x1f, 0xe3, + 0x24, 0x80, 0x09, 0x19, 0x90, 0x81, 0xbc, 0x1d, 0x74, 0x44, 0x38, 0x1a, 0xbf, 0x67, 0x00, 0x76, + 0x34, 0x47, 0xbd, 0xa9, 0x19, 0x2e, 0x6e, 0x71, 0xa6, 0x07, 0x6a, 0x50, 0x19, 0xb2, 0xa4, 0xd4, + 0x75, 0x70, 0x8b, 0x87, 0xd1, 0x5e, 0x39, 0x30, 0xcf, 0xcc, 0x77, 0x37, 0xcf, 0x30, 0x97, 0xb3, + 0x3d, 0x5c, 0x0e, 0x04, 0x17, 0xb9, 0x60, 0x70, 0xc1, 0x2e, 0x06, 0xf3, 0xfb, 0x89, 0xc0, 0xc6, + 0x26, 0xca, 0xe8, 0x3e, 0x28, 0x74, 0x70, 0xc7, 0x32, 0xcd, 0xb6, 0xca, 0xd4, 0x0d, 0x7b, 0xf2, + 0x7d, 0x9c, 0x57, 0xd6, 0xa9, 0xd6, 0xf9, 0xb1, 0xb8, 0xbf, 0xff, 0xfc, 0x20, 0xf2, 0x7b, 0x8e, + 0xc1, 0xf2, 0x4f, 0xd2, 0xcc, 0x52, 0xd8, 0x45, 0x40, 0x8d, 0xe0, 0xad, 0x91, 0x2e, 0x55, 0x0b, + 0x42, 0xa0, 0x47, 0xd5, 0x1f, 0xfe, 0xed, 0x12, 0x56, 0xed, 0xa0, 0x17, 0xe0, 0x68, 0x8f, 0x6e, + 0xf3, 0x48, 0xc7, 0x47, 0x55, 0x71, 0x77, 0x85, 0x55, 0x9c, 0x20, 0xed, 0x33, 0x2b, 0xf1, 0x5d, + 0xee, 0xba, 0x25, 0x28, 0x86, 0x3d, 0x9e, 0x81, 0xcb, 0x4f, 0xff, 0xc4, 0x88, 0xab, 0xe9, 0x86, + 0x1a, 0x4a, 0x07, 0x8d, 0xb3, 0x4a, 0x9e, 0x64, 0x5a, 0x87, 0xbb, 0x06, 0x7a, 0x3e, 0xe8, 0x49, + 0xc8, 0xf9, 0x4e, 0x13, 0xe3, 0xea, 0x01, 0xe9, 0x02, 0x1f, 0x56, 0xfe, 0xed, 0x98, 0x4f, 0x32, + 0x9c, 0x80, 0xa8, 0x43, 0x9a, 0x5d, 0x7b, 0xe3, 0x97, 0x69, 0x1e, 0x19, 0xcd, 0x67, 0x9a, 0x67, + 0x77, 0xe2, 0x14, 0x8e, 0x2c, 0xbf, 0x1b, 0xd2, 0xac, 0x06, 0xe5, 0x21, 0xe3, 0xbf, 0x7c, 0x0b, + 0x90, 0xae, 0xd4, 0x6a, 0xf5, 0xf5, 0x0d, 0x29, 0x86, 0x72, 0x90, 0xaa, 0x54, 0xd7, 0x94, 0x0d, + 0x29, 0x4e, 0xaa, 0x95, 0xfa, 0x95, 0x7a, 0x6d, 0x43, 0x4a, 0xa0, 0x09, 0x28, 0xb0, 0xdf, 0xea, + 0xc5, 0x35, 0x65, 0xa5, 0xb2, 0x21, 0x25, 0x03, 0x55, 0x8d, 0xfa, 0xea, 0x62, 0x5d, 0x91, 0x52, + 0xf2, 0x63, 0x70, 0x6c, 0xa8, 0x97, 0xe5, 0x67, 0x17, 0x62, 0x81, 0xec, 0x82, 0xfc, 0x81, 0x38, + 0x94, 0x87, 0xbb, 0x4e, 0xe8, 0x4a, 0xcf, 0xc4, 0xcf, 0x1e, 0xc2, 0xef, 0xea, 0x99, 0x3d, 0x7a, + 0x00, 0x8a, 0x36, 0xde, 0xc6, 0x6e, 0x73, 0x97, 0xb9, 0x72, 0xcc, 0x64, 0x16, 0x94, 0x02, 0xaf, + 0xa5, 0x48, 0x0e, 0x03, 0x7b, 0x09, 0x37, 0x5d, 0x95, 0xe9, 0x22, 0x87, 0xff, 0xad, 0xc3, 0x02, + 0xab, 0x6d, 0xb0, 0x4a, 0xf9, 0x87, 0x0e, 0xc5, 0xcb, 0x1c, 0xa4, 0x94, 0xfa, 0x86, 0xf2, 0x82, + 0x94, 0x40, 0x08, 0x8a, 0xf4, 0xa7, 0xda, 0x58, 0xad, 0xac, 0x37, 0x2e, 0xaf, 0x11, 0x5e, 0x4e, + 0x42, 0x49, 0xf0, 0x52, 0x54, 0xa6, 0xe4, 0x87, 0xe0, 0xe8, 0x10, 0xbf, 0x6f, 0xc0, 0x3d, 0xc4, + 0x0f, 0xc7, 0x82, 0xd0, 0xe1, 0x98, 0x7f, 0x0d, 0xd2, 0x8e, 0xab, 0xb9, 0x5d, 0x87, 0x33, 0xf1, + 0xc9, 0x51, 0x1d, 0xc1, 0x79, 0xf1, 0xa3, 0x41, 0xd1, 0x15, 0x4e, 0x46, 0x3e, 0x07, 0xc5, 0x70, + 0xcb, 0x70, 0x1e, 0xf8, 0x42, 0x14, 0x97, 0x5f, 0x00, 0x08, 0xe4, 0x23, 0xbd, 0x1b, 0x5d, 0xb1, + 0xe0, 0x8d, 0xae, 0x73, 0x90, 0xba, 0x61, 0x32, 0x9d, 0x31, 0x78, 0xe3, 0x5c, 0x33, 0x5d, 0x1c, + 0x48, 0x3e, 0x30, 0x68, 0x59, 0x07, 0xd4, 0x9f, 0x13, 0x1a, 0xd2, 0xc5, 0x33, 0xe1, 0x2e, 0xee, + 0x1d, 0x9a, 0x5d, 0x1a, 0xdc, 0xd5, 0xcb, 0x90, 0xa2, 0xda, 0x66, 0xe0, 0x27, 0x3e, 0x3f, 0x08, + 0xa0, 0xb9, 0xae, 0xad, 0x6f, 0x75, 0xfd, 0x0e, 0x66, 0x07, 0x6b, 0xab, 0x8a, 0x80, 0xab, 0xde, + 0xcd, 0xd5, 0xd6, 0x94, 0x8f, 0x1a, 0x50, 0x5d, 0x01, 0x82, 0xf2, 0x2a, 0x14, 0xc3, 0xb8, 0x83, + 0x3f, 0x59, 0xf2, 0xdf, 0x0e, 0xc8, 0x09, 0xf7, 0xc9, 0x73, 0xbe, 0xf8, 0x7b, 0x1e, 0xb4, 0x20, + 0xdf, 0x8a, 0x41, 0x76, 0x63, 0x8f, 0xcb, 0xf1, 0x01, 0x97, 0x2a, 0xfd, 0xef, 0xb6, 0xbc, 0x64, + 0x21, 0xcb, 0xc7, 0x26, 0xbc, 0x2c, 0xef, 0xf7, 0x79, 0x3b, 0x35, 0x39, 0x6a, 0xb4, 0x2b, 0xb2, + 0xdd, 0x5c, 0x3b, 0x5d, 0x18, 0xed, 0x1b, 0x89, 0x29, 0x48, 0x05, 0xbf, 0x6f, 0x60, 0x05, 0xb9, + 0x15, 0xb8, 0x96, 0xc0, 0xcc, 0x46, 0xf0, 0x63, 0x8a, 0xd8, 0xa1, 0x3f, 0xa6, 0xf0, 0x7a, 0x89, + 0x07, 0x7b, 0xb9, 0x01, 0x59, 0x21, 0x14, 0xe8, 0x9d, 0xc1, 0xbb, 0x27, 0xe2, 0x8c, 0x66, 0xa8, + 0xf1, 0xe4, 0xe4, 0x03, 0x57, 0x4f, 0x4e, 0xc3, 0x04, 0xbf, 0x72, 0xe7, 0xc7, 0x15, 0xfc, 0x6d, + 0xfe, 0x12, 0x6b, 0x58, 0x16, 0x41, 0x85, 0xfc, 0xab, 0x31, 0x90, 0x7a, 0xa5, 0xf2, 0xed, 0x1c, + 0x00, 0x51, 0x8a, 0x44, 0xfa, 0x03, 0x8f, 0x6e, 0xb3, 0x95, 0x2f, 0x90, 0x5a, 0xff, 0xd9, 0xed, + 0xf7, 0xc6, 0x21, 0x1f, 0xc8, 0xe9, 0xa1, 0x27, 0x42, 0x57, 0x40, 0xe7, 0x0e, 0xca, 0xff, 0x05, + 0xee, 0x80, 0x86, 0x26, 0x16, 0x3f, 0xfc, 0xc4, 0xde, 0xfc, 0x4b, 0xfa, 0x83, 0xbf, 0xf6, 0x49, + 0x0d, 0xf9, 0xda, 0xe7, 0x47, 0x62, 0x90, 0xf5, 0x4c, 0xf7, 0x61, 0xb3, 0xf9, 0x47, 0x20, 0xcd, + 0xad, 0x13, 0x4b, 0xe7, 0xf3, 0xd2, 0xc0, 0x5c, 0x68, 0x19, 0xb2, 0xe2, 0x8f, 0xda, 0xf0, 0x40, + 0xd4, 0x2b, 0x9f, 0x7e, 0x1a, 0xf2, 0x81, 0x83, 0x15, 0xa2, 0x27, 0x56, 0xeb, 0xcf, 0x49, 0x63, + 0xe5, 0xcc, 0xad, 0xdb, 0x73, 0x89, 0x55, 0x7c, 0x93, 0xec, 0x30, 0xa5, 0x5e, 0xbb, 0x5c, 0xaf, + 0x5d, 0x95, 0x62, 0xe5, 0xfc, 0xad, 0xdb, 0x73, 0x19, 0x05, 0xd3, 0xf4, 0xd5, 0xe9, 0xab, 0x50, + 0xea, 0x59, 0x98, 0xb0, 0x7e, 0x47, 0x50, 0x5c, 0xdc, 0x5c, 0x5f, 0x5e, 0xaa, 0x55, 0x36, 0xea, + 0x2a, 0xbb, 0x4e, 0x87, 0x8e, 0xc2, 0xe4, 0xf2, 0xd2, 0xa5, 0xcb, 0x1b, 0x6a, 0x6d, 0x79, 0xa9, + 0xbe, 0xba, 0xa1, 0x56, 0x36, 0x36, 0x2a, 0xb5, 0xab, 0x52, 0xfc, 0xec, 0x77, 0x00, 0x4a, 0x95, + 0x6a, 0x6d, 0x89, 0xd8, 0x67, 0x9d, 0xbf, 0x9b, 0x5e, 0x83, 0x24, 0x4d, 0x05, 0x1c, 0x78, 0x55, + 0xa4, 0x7c, 0x70, 0x6e, 0x13, 0x5d, 0x84, 0x14, 0xcd, 0x12, 0xa0, 0x83, 0xef, 0x8e, 0x94, 0x23, + 0x92, 0x9d, 0x64, 0x30, 0x74, 0x3b, 0x1d, 0x78, 0x99, 0xa4, 0x7c, 0x70, 0xee, 0x13, 0x29, 0x90, + 0xf3, 0xa3, 0x8c, 0xe8, 0xcb, 0x15, 0xe5, 0x11, 0xb4, 0x23, 0x5a, 0x86, 0x8c, 0x08, 0x0c, 0xa3, + 0xae, 0x7b, 0x94, 0x23, 0x93, 0x93, 0x84, 0x5d, 0x2c, 0x80, 0x3f, 0xf8, 0xee, 0x4a, 0x39, 0x22, + 0xd3, 0x8a, 0x96, 0xbc, 0x4b, 0xf8, 0x11, 0x57, 0x38, 0xca, 0x51, 0xc9, 0x46, 0xc2, 0x34, 0x3f, + 0x35, 0x12, 0x7d, 0x23, 0xa7, 0x3c, 0x42, 0x12, 0x19, 0x6d, 0x02, 0x04, 0xc2, 0xf5, 0x11, 0xae, + 0xda, 0x94, 0x47, 0x49, 0x0e, 0xa3, 0x35, 0xc8, 0x7a, 0xd1, 0x53, 0xe4, 0xc5, 0x97, 0x72, 0x74, + 0x96, 0x16, 0xbd, 0x1b, 0x0a, 0xe1, 0xa8, 0x61, 0xb4, 0xeb, 0x2c, 0xe5, 0x11, 0xd3, 0xaf, 0x84, + 0x7e, 0x38, 0x84, 0x18, 0xed, 0x7a, 0x4b, 0x79, 0xc4, 0x6c, 0x2c, 0x7a, 0x09, 0x26, 0xfa, 0x5d, + 0xfc, 0xd1, 0x6f, 0xbb, 0x94, 0x0f, 0x91, 0x9f, 0x45, 0x1d, 0x40, 0x03, 0x42, 0x83, 0x43, 0x5c, + 0x7e, 0x29, 0x1f, 0x26, 0x5d, 0x8b, 0x5a, 0x50, 0xea, 0xf5, 0xb7, 0x47, 0xbd, 0x0c, 0x53, 0x1e, + 0x39, 0x75, 0xcb, 0x7a, 0x09, 0xfb, 0xe9, 0xa3, 0x5e, 0x8e, 0x29, 0x8f, 0x9c, 0xc9, 0xad, 0x56, + 0x86, 0xde, 0x6f, 0x3c, 0x71, 0xe0, 0xfd, 0x46, 0xff, 0xc6, 0xa2, 0x77, 0xa7, 0xf1, 0xb3, 0xe7, + 0xe0, 0x7e, 0xfe, 0x98, 0x80, 0xe3, 0x6a, 0xd7, 0x75, 0x63, 0xc7, 0x7b, 0x1d, 0x82, 0x97, 0xf9, + 0xe5, 0xc6, 0x23, 0xfc, 0xc1, 0x02, 0x51, 0x1b, 0xf1, 0x46, 0xc4, 0xd0, 0x87, 0xb3, 0xa2, 0x2e, + 0x21, 0x47, 0x5f, 0x5d, 0x3c, 0xe0, 0xfd, 0x89, 0x88, 0x57, 0x2e, 0x06, 0xbc, 0x4f, 0x11, 0x71, + 0x09, 0xf3, 0xa0, 0xfb, 0x9e, 0xf2, 0xcf, 0xc5, 0xa0, 0x78, 0x59, 0x77, 0x5c, 0xd3, 0xd6, 0x9b, + 0x5a, 0x9b, 0x5a, 0x8c, 0x0b, 0xa3, 0x7e, 0xe4, 0x51, 0xcd, 0x11, 0x67, 0x84, 0x3f, 0x6a, 0xc1, + 0x2f, 0x86, 0x2c, 0x42, 0xfa, 0x86, 0xd6, 0x66, 0x9f, 0x58, 0x04, 0xdf, 0xaf, 0xe9, 0xe5, 0x79, + 0xc0, 0x4b, 0x0a, 0x52, 0x61, 0xb8, 0xf2, 0xe7, 0xe8, 0x25, 0xee, 0x4e, 0x47, 0x77, 0xd8, 0x9f, + 0x9d, 0x76, 0xb1, 0x83, 0x36, 0x21, 0x69, 0x6b, 0x2e, 0x0f, 0x6a, 0xaa, 0x15, 0xfe, 0x14, 0xc5, + 0x83, 0xd1, 0x0f, 0x4a, 0xcc, 0xf7, 0xbd, 0x56, 0xc1, 0x3a, 0xa3, 0xe4, 0xd0, 0x0f, 0x40, 0xb6, + 0xa3, 0xed, 0xa9, 0x94, 0x74, 0xfc, 0xcd, 0x22, 0x9d, 0xe9, 0x68, 0x7b, 0x64, 0xd4, 0x48, 0x87, + 0x12, 0xa1, 0xde, 0xdc, 0xd5, 0x8c, 0x1d, 0xcc, 0x3a, 0x49, 0xbc, 0x59, 0x9d, 0x14, 0x3a, 0xda, + 0x5e, 0x8d, 0x12, 0x26, 0x5d, 0xf1, 0x47, 0x3f, 0x7e, 0x27, 0xc6, 0x43, 0x59, 0xca, 0x39, 0xa4, + 0x81, 0xd4, 0xf4, 0x4a, 0xb4, 0x7f, 0x91, 0xd6, 0x3f, 0x31, 0x6c, 0x61, 0x7a, 0xf8, 0x5e, 0x2d, + 0x90, 0x91, 0x7e, 0xe9, 0xb5, 0xd9, 0x18, 0xeb, 0xb5, 0xd4, 0xec, 0x59, 0x97, 0x2b, 0x90, 0x67, + 0xd9, 0x34, 0x95, 0xba, 0xb0, 0xf1, 0x48, 0x17, 0xb6, 0x20, 0x5c, 0x58, 0x46, 0x10, 0x18, 0x36, + 0x69, 0xe7, 0x73, 0xf8, 0x78, 0x0c, 0xf2, 0x8b, 0x81, 0xe7, 0xaa, 0xa6, 0x21, 0xd3, 0x31, 0x0d, + 0xfd, 0x3a, 0xb6, 0xbd, 0x73, 0x19, 0x56, 0x24, 0x6e, 0x26, 0xfb, 0xb3, 0x43, 0xee, 0xbe, 0x78, + 0x89, 0x41, 0x94, 0x09, 0xd6, 0x4d, 0xbc, 0xe5, 0xe8, 0x82, 0xe5, 0x8a, 0x28, 0xa2, 0x53, 0x20, + 0x39, 0xb8, 0xd9, 0xb5, 0x75, 0x77, 0x5f, 0x6d, 0x9a, 0x86, 0xab, 0x35, 0x5d, 0x9e, 0x3d, 0x2d, + 0x89, 0xfa, 0x1a, 0xab, 0x26, 0x44, 0x5a, 0xd8, 0xd5, 0xf4, 0x36, 0xbb, 0xf6, 0x95, 0x53, 0x44, + 0x91, 0x0f, 0xf5, 0x73, 0x99, 0x60, 0x68, 0x58, 0x03, 0xc9, 0xb4, 0xb0, 0x1d, 0xfa, 0xe4, 0x8d, + 0x89, 0xeb, 0xf4, 0xef, 0x7f, 0xe6, 0x91, 0x29, 0xce, 0x70, 0x7e, 0x00, 0xcf, 0x5e, 0x67, 0x56, + 0x4a, 0x02, 0x43, 0x7c, 0x0b, 0xf7, 0x42, 0xe8, 0x24, 0xa6, 0xbb, 0xe5, 0x7f, 0x72, 0x3f, 0xd5, + 0xc7, 0xd4, 0x8a, 0xb1, 0x5f, 0x9d, 0xfe, 0x3d, 0x9f, 0xb4, 0x1f, 0x3a, 0x5e, 0xc5, 0xfb, 0xc1, + 0x63, 0x19, 0x4a, 0x86, 0x78, 0xf0, 0x2f, 0x69, 0x7a, 0x5b, 0xfc, 0x25, 0x35, 0x85, 0x97, 0xd0, + 0x82, 0x97, 0x86, 0x61, 0x7f, 0x21, 0x5d, 0x1e, 0x26, 0x1b, 0x55, 0xd3, 0x68, 0x85, 0x33, 0x2e, + 0x68, 0x03, 0xd2, 0xae, 0x79, 0x1d, 0x1b, 0x9c, 0x41, 0xd5, 0x77, 0x1c, 0x42, 0xb0, 0xfb, 0xdf, + 0x9f, 0xe1, 0xb4, 0xd0, 0x0e, 0x48, 0x2d, 0xdc, 0xc6, 0x3b, 0xec, 0x83, 0xad, 0x5d, 0xcd, 0xc6, + 0xec, 0x23, 0xce, 0xc3, 0xd1, 0xef, 0x7f, 0xa6, 0xa6, 0xe4, 0x51, 0x6d, 0x50, 0xa2, 0x68, 0x3d, + 0xfc, 0x58, 0x5a, 0x86, 0x9f, 0xca, 0x0f, 0x99, 0x7f, 0x40, 0x2a, 0x83, 0x6a, 0x2b, 0xf4, 0xb8, + 0xda, 0x29, 0x90, 0xba, 0xc6, 0x96, 0x69, 0xd0, 0x3f, 0x7a, 0xc4, 0x03, 0xac, 0x2c, 0x3b, 0xb9, + 0xf3, 0xea, 0xf9, 0xc9, 0xdd, 0x3a, 0x14, 0x7d, 0x50, 0xba, 0x7b, 0x72, 0x87, 0xdd, 0x3d, 0x05, + 0x8f, 0x00, 0x01, 0x41, 0x2b, 0x00, 0xfe, 0xfe, 0xf4, 0x4e, 0xf7, 0x23, 0x77, 0x7a, 0x70, 0x32, + 0x01, 0x02, 0xa8, 0x0d, 0x93, 0x1d, 0xdd, 0x50, 0x1d, 0xdc, 0xde, 0x56, 0x39, 0xe7, 0x08, 0xdd, + 0xfc, 0x9b, 0xb0, 0xd2, 0x13, 0x1d, 0xdd, 0x68, 0xe0, 0xf6, 0xf6, 0xa2, 0x47, 0x16, 0xbd, 0x03, + 0x8e, 0xfb, 0xec, 0x30, 0x0d, 0x75, 0xd7, 0x6c, 0xb7, 0x54, 0x1b, 0x6f, 0xab, 0x4d, 0xfa, 0xfc, + 0xd1, 0x38, 0x65, 0xe2, 0x51, 0x0f, 0x64, 0xcd, 0xb8, 0x6c, 0xb6, 0x5b, 0x0a, 0xde, 0xae, 0x91, + 0x66, 0x74, 0x1f, 0xf8, 0xbc, 0x50, 0xf5, 0x96, 0x33, 0x5d, 0x98, 0x4b, 0x9c, 0x4c, 0x2a, 0xe3, + 0x5e, 0xe5, 0x52, 0xcb, 0x59, 0xc8, 0xbe, 0xef, 0xd5, 0xd9, 0xb1, 0xaf, 0xbf, 0x3a, 0x3b, 0x26, + 0x5f, 0xa4, 0x8f, 0x75, 0xf0, 0x4d, 0x87, 0x1d, 0x74, 0x1e, 0x72, 0x9a, 0x28, 0xb0, 0xcf, 0x44, + 0x0e, 0xd8, 0xb4, 0x3e, 0xa8, 0xfc, 0x6a, 0x0c, 0xd2, 0x8b, 0xd7, 0xd6, 0x35, 0xdd, 0x46, 0x75, + 0x98, 0xf0, 0x85, 0x76, 0xd4, 0xfd, 0xef, 0xcb, 0xb9, 0x50, 0x00, 0xf5, 0x61, 0x5f, 0xce, 0x1e, + 0x48, 0xa6, 0xf7, 0x9b, 0xda, 0xc0, 0x54, 0xaf, 0x40, 0x86, 0x8d, 0xd0, 0x41, 0xcf, 0x42, 0xca, + 0x22, 0x3f, 0x78, 0xf6, 0x7f, 0x66, 0xa8, 0xa0, 0x53, 0xf8, 0xa0, 0x58, 0x30, 0x3c, 0xf9, 0x2f, + 0x62, 0x00, 0x8b, 0xd7, 0xae, 0x6d, 0xd8, 0xba, 0xd5, 0xc6, 0xee, 0x9b, 0x35, 0xe5, 0x65, 0xb8, + 0x2b, 0xf0, 0x7d, 0xa6, 0xdd, 0x1c, 0x79, 0xda, 0x93, 0xfe, 0x17, 0x9a, 0x76, 0x73, 0x20, 0xb5, + 0x96, 0xe3, 0x7a, 0xd4, 0x12, 0x23, 0x53, 0x5b, 0x74, 0xdc, 0x7e, 0x3e, 0x3e, 0x0f, 0x79, 0x7f, + 0xea, 0x0e, 0x5a, 0x82, 0xac, 0xcb, 0x7f, 0x73, 0x76, 0xca, 0xc3, 0xd9, 0x29, 0xd0, 0x82, 0x2c, + 0xf5, 0xd0, 0xe5, 0xff, 0x4d, 0xb8, 0xea, 0x6f, 0x84, 0xbf, 0x52, 0x82, 0x44, 0x34, 0x3c, 0xd7, + 0xc0, 0x89, 0x37, 0x41, 0x03, 0x73, 0x5a, 0x01, 0xb6, 0xfe, 0x68, 0x1c, 0x26, 0x37, 0xc5, 0x26, + 0xfd, 0x2b, 0xcb, 0x85, 0x4d, 0xc8, 0x60, 0xc3, 0xb5, 0x75, 0x2c, 0x8e, 0xfa, 0x1e, 0x1d, 0xb6, + 0xd8, 0x03, 0xe6, 0x42, 0xff, 0x14, 0x70, 0x70, 0xe9, 0x05, 0xad, 0x00, 0x1b, 0x7e, 0x2b, 0x01, + 0xd3, 0xc3, 0x50, 0xd1, 0x09, 0x28, 0x35, 0x6d, 0x4c, 0x2b, 0xd4, 0x50, 0x2a, 0xbc, 0x28, 0xaa, + 0xb9, 0x49, 0x51, 0x80, 0x38, 0x68, 0x44, 0xaa, 0x08, 0xe8, 0x9d, 0x79, 0x64, 0x45, 0x9f, 0x02, + 0x35, 0x2a, 0x18, 0x4a, 0xe2, 0x6e, 0xfb, 0x96, 0xd6, 0xd6, 0x8c, 0x26, 0xbe, 0x03, 0x49, 0xe8, + 0xb7, 0x00, 0xe2, 0xc2, 0x7c, 0x95, 0xd1, 0x44, 0xd7, 0x20, 0x23, 0xc8, 0x27, 0xdf, 0x04, 0xf2, + 0x82, 0x18, 0xba, 0x17, 0xc6, 0x83, 0x86, 0x81, 0xfa, 0x29, 0x49, 0x25, 0x1f, 0xb0, 0x0b, 0x51, + 0x96, 0x27, 0x7d, 0xa0, 0xe5, 0xe1, 0xae, 0xe0, 0x6f, 0x26, 0x60, 0x42, 0xc1, 0xad, 0xef, 0xc1, + 0x85, 0xfb, 0x7e, 0x00, 0xb6, 0xa9, 0x89, 0xb2, 0xbd, 0x83, 0xb5, 0xeb, 0x57, 0x12, 0x39, 0x46, + 0x6f, 0xd1, 0x71, 0xdf, 0xae, 0xd5, 0xfb, 0x57, 0x71, 0x18, 0x0f, 0xae, 0xde, 0xf7, 0x80, 0x65, + 0x43, 0xab, 0xbe, 0x4a, 0x63, 0xb7, 0xcf, 0x4f, 0x0d, 0x53, 0x69, 0x7d, 0x72, 0x1d, 0xa1, 0xcb, + 0x3e, 0x95, 0x84, 0x34, 0xbf, 0x0a, 0xb6, 0xd6, 0xe7, 0xe3, 0xc6, 0xa2, 0xbe, 0xff, 0x2d, 0x88, + 0xef, 0x7f, 0x07, 0xba, 0xb8, 0x0f, 0x40, 0x91, 0x84, 0xd4, 0xa1, 0xfb, 0x65, 0xb1, 0x93, 0x05, + 0x1a, 0x0e, 0xfb, 0xb7, 0xa1, 0xd1, 0x2c, 0xe4, 0x09, 0x98, 0xaf, 0xb3, 0x09, 0x0c, 0x74, 0xb4, + 0xbd, 0x3a, 0xab, 0x41, 0x8f, 0x00, 0xda, 0xf5, 0x12, 0x1f, 0xaa, 0xcf, 0x08, 0x02, 0x37, 0xe1, + 0xb7, 0x08, 0xf0, 0x7b, 0x00, 0xc8, 0x28, 0x54, 0xf6, 0x42, 0x27, 0x7f, 0xed, 0x94, 0xd4, 0x2c, + 0xd2, 0x57, 0x3a, 0x7f, 0x3a, 0xc6, 0x5c, 0xe5, 0x9e, 0x68, 0x9b, 0x07, 0x2d, 0xea, 0xe1, 0x76, + 0xc3, 0xb7, 0x5f, 0x9b, 0x2d, 0xef, 0x6b, 0x9d, 0xf6, 0x82, 0x3c, 0x80, 0xa4, 0x3c, 0x28, 0x17, + 0x40, 0xbc, 0xe9, 0x70, 0xe0, 0x8e, 0x56, 0x41, 0xba, 0x8e, 0xf7, 0x55, 0x9b, 0xff, 0x6d, 0x53, + 0x75, 0x1b, 0x63, 0x1e, 0xde, 0x1c, 0x9b, 0x1f, 0xf0, 0x50, 0xea, 0x7c, 0xcd, 0xd4, 0x43, 0x71, + 0x40, 0xf1, 0x3a, 0xde, 0x57, 0x38, 0xf2, 0x45, 0x8c, 0xd1, 0xd3, 0x70, 0x8c, 0xa6, 0x32, 0x4c, + 0x43, 0x84, 0xa5, 0x1e, 0x6d, 0x76, 0xed, 0x2d, 0xa9, 0x1c, 0xe9, 0x68, 0x7b, 0x35, 0xd3, 0xe0, + 0xe1, 0xa6, 0x40, 0x76, 0x16, 0xee, 0x27, 0x5b, 0xec, 0xd6, 0xd7, 0x3e, 0x79, 0xfa, 0x78, 0x60, + 0xb6, 0x7b, 0x5e, 0xb2, 0x8e, 0x49, 0x8a, 0xfc, 0x89, 0x18, 0x20, 0xdf, 0xee, 0x79, 0x57, 0xd3, + 0x57, 0xe8, 0x85, 0x65, 0x11, 0x7a, 0xc4, 0x0e, 0x0e, 0x69, 0x7c, 0xfc, 0x50, 0x48, 0x13, 0xd8, + 0xd7, 0xef, 0xf4, 0xad, 0x4c, 0xfc, 0x10, 0xdc, 0x10, 0x48, 0x54, 0x5d, 0x8c, 0xc9, 0xaf, 0xc5, + 0xe0, 0x58, 0xdf, 0xa6, 0xf0, 0x86, 0xdc, 0x04, 0x64, 0x07, 0x1a, 0xa9, 0x70, 0x89, 0xa3, 0xde, + 0x3b, 0xdb, 0x63, 0x13, 0x76, 0x9f, 0x65, 0x79, 0x8b, 0xcc, 0x25, 0xd7, 0x87, 0xbf, 0x1b, 0x83, + 0xa9, 0xe0, 0x88, 0xbc, 0xb9, 0x35, 0x60, 0x3c, 0x38, 0x16, 0x3e, 0xab, 0xfb, 0x47, 0x99, 0x55, + 0x70, 0x42, 0x21, 0x22, 0x64, 0x2e, 0x62, 0x03, 0xb2, 0xb4, 0xe1, 0x63, 0x23, 0x73, 0xc9, 0x3b, + 0x12, 0x19, 0xa4, 0x91, 0xd8, 0x62, 0xfd, 0x54, 0x1c, 0x92, 0xeb, 0xa6, 0xd9, 0x46, 0x3f, 0x12, + 0x83, 0x09, 0xc3, 0x74, 0x55, 0xb2, 0x6d, 0x71, 0x4b, 0xe5, 0x79, 0x0b, 0xa6, 0xd4, 0xaf, 0x1d, + 0x8e, 0x7b, 0xdf, 0x78, 0x6d, 0xb6, 0x9f, 0xd4, 0xa0, 0xd7, 0x7e, 0x4b, 0x86, 0xe9, 0x56, 0x29, + 0xd0, 0x06, 0x4b, 0x6d, 0xdc, 0x84, 0x42, 0xb8, 0x7f, 0x66, 0x09, 0x94, 0x43, 0xf7, 0x5f, 0x88, + 0xec, 0x7b, 0x7c, 0x2b, 0xd0, 0x31, 0x7b, 0x73, 0xf3, 0x4f, 0xc8, 0xe2, 0xbe, 0x00, 0xd2, 0xb5, + 0xde, 0x4b, 0x72, 0x75, 0xc8, 0x1c, 0xf6, 0xbe, 0x5d, 0x90, 0xe3, 0x1c, 0x57, 0xfe, 0x56, 0x1c, + 0x8e, 0x71, 0x15, 0x70, 0xd5, 0x57, 0x01, 0x2c, 0xc3, 0xbc, 0x8f, 0x2e, 0x0e, 0x4d, 0x90, 0x1d, + 0xff, 0xf6, 0x6b, 0xb3, 0x47, 0x99, 0xce, 0xeb, 0x85, 0x90, 0xfb, 0x73, 0x64, 0xd7, 0xa0, 0x44, + 0x6c, 0x7c, 0x40, 0x17, 0xdd, 0x61, 0x8a, 0xac, 0x60, 0xb6, 0x5b, 0xbe, 0xc6, 0x22, 0x74, 0x0d, + 0x7c, 0x33, 0x44, 0x37, 0x71, 0x67, 0x74, 0x0d, 0x7c, 0x33, 0x40, 0xd7, 0x3f, 0x6a, 0x4f, 0x86, + 0x8e, 0xda, 0xcf, 0x43, 0x82, 0xa8, 0xe5, 0xd4, 0x21, 0x14, 0x11, 0x41, 0x08, 0x58, 0xda, 0x06, + 0x1c, 0xe3, 0x69, 0x0c, 0x67, 0x6d, 0x9b, 0xb2, 0x1b, 0xd3, 0x09, 0x5d, 0xc5, 0xfb, 0x77, 0x9c, + 0xd3, 0x38, 0xfd, 0xd9, 0x18, 0x80, 0x9f, 0xea, 0x43, 0x0f, 0xc3, 0xd1, 0xea, 0xda, 0xea, 0xa2, + 0xda, 0xd8, 0xa8, 0x6c, 0x6c, 0x36, 0xc2, 0xef, 0xfc, 0x8b, 0xb7, 0x6d, 0x1c, 0x0b, 0x37, 0xf5, + 0x6d, 0x1d, 0xb7, 0xd0, 0x83, 0x30, 0x15, 0x86, 0x26, 0xa5, 0xfa, 0xa2, 0x14, 0x2b, 0x8f, 0xdf, + 0xba, 0x3d, 0x97, 0x65, 0x21, 0x0e, 0x6e, 0xa1, 0x93, 0x70, 0x57, 0x3f, 0xdc, 0xd2, 0xea, 0x25, + 0x29, 0x5e, 0x2e, 0xdc, 0xba, 0x3d, 0x97, 0xf3, 0x62, 0x21, 0x24, 0x03, 0x0a, 0x42, 0x72, 0x7a, + 0x89, 0x32, 0xdc, 0xba, 0x3d, 0x97, 0x66, 0x7b, 0xab, 0x9c, 0x7c, 0xdf, 0x47, 0x66, 0xc6, 0x4e, + 0xff, 0x20, 0xc0, 0x92, 0xb1, 0x6d, 0x6b, 0xf4, 0x8f, 0x5d, 0xa3, 0x32, 0x1c, 0x59, 0x5a, 0xbd, + 0xa8, 0x54, 0x6a, 0x1b, 0x4b, 0x6b, 0xab, 0x3d, 0x7f, 0x9e, 0x20, 0xdc, 0xb6, 0xb8, 0xb6, 0x59, + 0x5d, 0xae, 0xab, 0x8d, 0xa5, 0x4b, 0xab, 0xec, 0xc6, 0x40, 0xa8, 0xed, 0xb9, 0xd5, 0x8d, 0xa5, + 0x95, 0xba, 0x14, 0xaf, 0x5e, 0x1c, 0x7a, 0x66, 0xf5, 0xf0, 0x81, 0xbb, 0xd6, 0x37, 0x75, 0xa1, + 0x83, 0xab, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x6d, 0x79, 0x88, 0x98, 0x84, 0x99, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -3611,6 +3614,16 @@ func (m *ConsPubKeyRotationHistory) MarshalToSizedBuffer(dAtA []byte) (int, erro _ = i var l int _ = l + { + size, err := m.Fee.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintStaking(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a if m.Height != 0 { i = encodeVarintStaking(dAtA, i, uint64(m.Height)) i-- @@ -4138,6 +4151,8 @@ func (m *ConsPubKeyRotationHistory) Size() (n int) { if m.Height != 0 { n += 1 + sovStaking(uint64(m.Height)) } + l = m.Fee.Size() + n += 1 + l + sovStaking(uint64(l)) return n } @@ -7593,6 +7608,39 @@ func (m *ConsPubKeyRotationHistory) Unmarshal(dAtA []byte) error { break } } + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Fee", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowStaking + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthStaking + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthStaking + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.Fee.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipStaking(dAtA[iNdEx:]) From f01faf6edf24e952274148e43819a09c5ae673b0 Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 29 Mar 2023 17:04:48 +0530 Subject: [PATCH 041/106] update rotation history obj --- x/staking/keeper/cons_pubkey.go | 8 +++++++- x/staking/keeper/msg_server.go | 3 +++ x/staking/keeper/val_state_change.go | 9 ++++----- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/x/staking/keeper/cons_pubkey.go b/x/staking/keeper/cons_pubkey.go index 302336430140..9fd1d3d2986a 100644 --- a/x/staking/keeper/cons_pubkey.go +++ b/x/staking/keeper/cons_pubkey.go @@ -10,12 +10,15 @@ import ( "github.com/cosmos/cosmos-sdk/x/staking/types" ) -func (k Keeper) SetConsPubKeyRotationHistory(ctx sdk.Context, valAddr sdk.ValAddress, oldPubKey, newPubKey *codectypes.Any, height uint64) { +// SetConsPubKeyRotationHistory sets the history item of consensus key rotation of a validator +func (k Keeper) SetConsPubKeyRotationHistory(ctx sdk.Context, valAddr sdk.ValAddress, + oldPubKey, newPubKey *codectypes.Any, height uint64, fee sdk.Coin) { history := types.ConsPubKeyRotationHistory{ OperatorAddress: valAddr.String(), OldConsPubkey: oldPubKey, NewConsPubkey: newPubKey, Height: height, + Fee: fee, } store := ctx.KVStore(k.storeKey) key := types.GetValidatorConsPubKeyRotationHistoryKey(history) @@ -72,6 +75,8 @@ func (k Keeper) GetConsKeyQueue(ctx sdk.Context, ts time.Time) types.ValAddrsOfR return valAddrs } +// SetConsKeyQueue sets array of rotated validator addresses to a key of current block time + unbonding period +// this is to keep track of rotations made within the unbonding period func (k Keeper) SetConsKeyQueue(ctx sdk.Context, ts time.Time, valAddr sdk.ValAddress) { operKeys := k.GetConsKeyQueue(ctx, ts) operKeys.Addresses = append(operKeys.Addresses, valAddr.String()) @@ -81,6 +86,7 @@ func (k Keeper) SetConsKeyQueue(ctx sdk.Context, ts time.Time, valAddr sdk.ValAd store.Set(key, bz) } +// SetConsKeyIndex sets empty bytes with the key (validatoraddress+sum(current_block_time, unbondtime)) func (k Keeper) SetConsKeyIndex(ctx sdk.Context, valAddr sdk.ValAddress, ts time.Time) { store := ctx.KVStore(k.storeKey) key := types.GetConsKeyIndexKey(valAddr, ts) diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index b96b49105e37..f940bc6e8336 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -523,6 +523,8 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC // checks if the validator is exceeding parameter MaxConsPubKeyRotations within the // unbonding period by iterating ConsPubKeyRotationHistory + // + // this index will contain the keys of how many isExceedingLimit, rotationsMade := k.CheckLimitOfMaxRotationsExceed(ctx, valAddr) if isExceedingLimit { return nil, types.ErrExceedingMaxConsPubKeyRotations @@ -570,6 +572,7 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC oldConsensusPubKey, msg.NewPubkey, uint64(ctx.BlockHeight()), + rotationFee, ) return res, err diff --git a/x/staking/keeper/val_state_change.go b/x/staking/keeper/val_state_change.go index 0f4740ada575..b2d07489275d 100644 --- a/x/staking/keeper/val_state_change.go +++ b/x/staking/keeper/val_state_change.go @@ -204,7 +204,6 @@ func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx sdk.Context) (updates []ab updates = append(updates, validator.ABCIValidatorUpdateZero()) } - // rotationFee := k.KeyRotationFee(ctx) // ApplyAndReturnValidatorSetUpdates checks if there is ConsPubKeyRotationHistory // with ConsPubKeyRotationHistory.RotatedHeight == ctx.BlockHeight() and if so, generates 2 ValidatorUpdate, // one for a remove validator and one for create new validator @@ -240,10 +239,10 @@ func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx sdk.Context) (updates []ab Power: validator.ConsensusPower(powerReduction), }) - // err = k.Hooks().AfterConsensusPubKeyUpdate(ctx, oldPk, newPk, rotationFee) - // if err != nil { - // return nil, err - // } + err = k.Hooks().AfterConsensusPubKeyUpdate(ctx, oldPk, newPk, history.Fee) + if err != nil { + return nil, err + } } // TODO: at previousVotes Iteration logic of AllocateTokens, previousVote using OldConsPubKey From 930fb5c1e710d2d3b33c97987ea1a981305d31d4 Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 29 Mar 2023 17:08:53 +0530 Subject: [PATCH 042/106] imports --- x/distribution/keeper/hooks.go | 2 +- x/slashing/keeper/hooks.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/x/distribution/keeper/hooks.go b/x/distribution/keeper/hooks.go index 5f691275baf0..e4b94c8106a5 100644 --- a/x/distribution/keeper/hooks.go +++ b/x/distribution/keeper/hooks.go @@ -132,7 +132,7 @@ func (h Hooks) AfterUnbondingInitiated(_ sdk.Context, _ uint64) error { return nil } -func (h Hooks) AfterConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey cryptotypes.PubKey, newPubKey cryptotypes.PubKey, rotationFee sdk.Coin) error { +func (h Hooks) AfterConsensusPubKeyUpdate(ctx sdk.Context, _ cryptotypes.PubKey, _ cryptotypes.PubKey, rotationFee sdk.Coin) error { feePool := h.k.GetFeePool(ctx) feePool.CommunityPool = feePool.CommunityPool.Add(sdk.NewDecCoinsFromCoins(rotationFee)...) h.k.SetFeePool(ctx, feePool) diff --git a/x/slashing/keeper/hooks.go b/x/slashing/keeper/hooks.go index c0fb49574e26..0fcdf7662b59 100644 --- a/x/slashing/keeper/hooks.go +++ b/x/slashing/keeper/hooks.go @@ -92,6 +92,6 @@ func (h Hooks) AfterUnbondingInitiated(_ sdk.Context, _ uint64) error { return nil } -func (h Hooks) AfterConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey cryptotypes.PubKey, newPubKey cryptotypes.PubKey, rotationFee sdk.Coin) error { +func (h Hooks) AfterConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey cryptotypes.PubKey, newPubKey cryptotypes.PubKey, _ sdk.Coin) error { return h.k.PerformConsensusPubKeyUpdate(ctx, oldPubKey, newPubKey) } From da317a626b153cca03e0d9604649863282e8fa2b Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 29 Mar 2023 17:10:15 +0530 Subject: [PATCH 043/106] fix tests --- x/staking/keeper/cons_pubkey_test.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/x/staking/keeper/cons_pubkey_test.go b/x/staking/keeper/cons_pubkey_test.go index 06a520d1abbf..4cdf15cd43c7 100644 --- a/x/staking/keeper/cons_pubkey_test.go +++ b/x/staking/keeper/cons_pubkey_test.go @@ -51,6 +51,7 @@ func (s *KeeperTestSuite) TestConsPubKeyRotationHistory() { validator.ConsensusPubkey, newConsPub, uint64(ctx.BlockHeight()), + stakingKeeper.KeyRotationFee(ctx), ) historyObjects = stakingKeeper.GetValidatorConsPubKeyRotationHistory(ctx, valAddr) @@ -64,6 +65,7 @@ func (s *KeeperTestSuite) TestConsPubKeyRotationHistory() { newConsPub, newConsPub2, uint64(ctx.BlockHeight())+1, + stakingKeeper.KeyRotationFee(ctx), ) historyObjects = stakingKeeper.GetValidatorConsPubKeyRotationHistory(ctx, valAddr) From 48697d249c6e090ea28f9dc98892a4b493d99c3d Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 30 Mar 2023 16:07:40 +0530 Subject: [PATCH 044/106] fix tests --- .../staking/keeper/msg_server_test.go | 257 +++++++++++++----- x/staking/keeper/cons_pubkey_test.go | 5 +- 2 files changed, 192 insertions(+), 70 deletions(-) diff --git a/tests/integration/staking/keeper/msg_server_test.go b/tests/integration/staking/keeper/msg_server_test.go index 3325e0bbceea..690e8ea1469d 100644 --- a/tests/integration/staking/keeper/msg_server_test.go +++ b/tests/integration/staking/keeper/msg_server_test.go @@ -1,6 +1,7 @@ package keeper_test import ( + "math/big" "testing" "time" @@ -201,92 +202,216 @@ func TestRotateConsPubKey(t *testing.T) { msgServer := keeper.NewMsgServerImpl(stakingKeeper) bondDenom := stakingKeeper.BondDenom(ctx) - addrs := simtestutil.AddTestAddrsIncremental(bankKeeper, stakingKeeper, ctx, 5, stakingKeeper.TokensFromConsensusPower(ctx, 300)) + params := stakingKeeper.GetParams(ctx) + params.KeyRotationFee = sdk.NewInt64Coin(bondDenom, 10) + params.MaxConsPubkeyRotations = types.DefaultMaxConsPubKeyRotations + err = stakingKeeper.SetParams(ctx, params) + assert.NilError(t, err) + + addrs := simtestutil.AddTestAddrsIncremental(bankKeeper, stakingKeeper, ctx, 5, stakingKeeper.TokensFromConsensusPower(ctx, 1000000)) valAddrs := simtestutil.ConvertAddrsToValAddrs(addrs) - pks := []cryptotypes.PubKey{PKs[0], PKs[499]} - val1 := testutil.NewValidator(t, valAddrs[0], pks[0]) - stakingKeeper.SetValidator(ctx, val1) - stakingKeeper.SetValidatorByConsAddr(ctx, val1) - stakingKeeper.SetNewValidatorByPowerIndex(ctx, val1) + validators := stakingKeeper.GetAllValidators(ctx) + require.Len(t, validators, 1) + + // create 5 validators + for i := 0; i < 5; i++ { + val := testutil.NewValidator(t, valAddrs[i], PKs[i]) + stakingKeeper.SetValidator(ctx, val) + stakingKeeper.SetValidatorByConsAddr(ctx, val) + stakingKeeper.SetNewValidatorByPowerIndex(ctx, val) + } + + keyRotationFee := stakingKeeper.KeyRotationFee(ctx) + + validators = stakingKeeper.GetAllValidators(ctx) + require.GreaterOrEqual(t, len(validators), 5) + validators = validators[1:] testCases := []struct { - Name string - Pass bool - sender sdk.AccAddress - validator sdk.ValAddress - newPubKey cryptotypes.PubKey - rotationLimit uint64 - expErrMsg string + name string + malleate func() sdk.Context + pass bool + validator sdk.ValAddress + newPubKey cryptotypes.PubKey + expErrMsg string + expHistoryObjs int + fees sdk.Coin }{ { - Name: "non existing validator check", - sender: addrs[1], - validator: valAddrs[1], - newPubKey: pks[1], - rotationLimit: 10, - Pass: false, - expErrMsg: "validator does not exist", + name: "successful consensus pubkey rotation", + malleate: func() sdk.Context { + return ctx + }, + validator: validators[0].GetOperator(), + newPubKey: PKs[499], + pass: true, + expHistoryObjs: 1, + fees: keyRotationFee, + }, + { + name: "non existing validator check", + malleate: func() sdk.Context { + return ctx + }, + validator: sdk.ValAddress("non_existing_val"), + newPubKey: PKs[498], + pass: false, + expErrMsg: "validator does not exist", + }, + { + name: "pubkey already associated with another validator", + malleate: func() sdk.Context { + return ctx + }, + validator: validators[0].GetOperator(), + newPubKey: validators[1].ConsensusPubkey.GetCachedValue().(cryptotypes.PubKey), + pass: false, + expErrMsg: "consensus pubkey is already used for a validator", + }, + { + name: "consensus pubkey rotation limit check", + malleate: func() sdk.Context { + params := stakingKeeper.GetParams(ctx) + params.KeyRotationFee = sdk.NewInt64Coin(bondDenom, 10) + params.MaxConsPubkeyRotations = 1 + err := stakingKeeper.SetParams(ctx, params) + require.NoError(t, err) + + msg, err := types.NewMsgRotateConsPubKey( + validators[1].GetOperator(), + PKs[498], + ) + require.NoError(t, err) + _, err = msgServer.RotateConsPubKey(ctx, msg) + require.NoError(t, err) + + return ctx + }, + validator: validators[1].GetOperator(), + newPubKey: PKs[497], + pass: false, + expErrMsg: "exceeding maximum consensus pubkey rotations within unbonding period", }, { - Name: "successful consensus pubkey rotation", - sender: addrs[0], - validator: val1.GetOperator(), - newPubKey: pks[1], - rotationLimit: 1, - Pass: true, + name: "two rotations within unbonding period", + malleate: func() sdk.Context { + params := stakingKeeper.GetParams(ctx) + params.KeyRotationFee = sdk.NewInt64Coin(bondDenom, 10) + params.MaxConsPubkeyRotations = 2 + err := stakingKeeper.SetParams(ctx, params) + require.NoError(t, err) + + msg, err := types.NewMsgRotateConsPubKey( + validators[2].GetOperator(), + PKs[497], + ) + require.NoError(t, err) + _, err = msgServer.RotateConsPubKey(ctx, msg) + require.NoError(t, err) + ctx = ctx.WithBlockHeight(ctx.BlockHeight() + 1) + + return ctx + }, + validator: validators[2].GetOperator(), + newPubKey: PKs[496], + pass: true, + fees: calculateFee(keyRotationFee, 1), + expHistoryObjs: 2, }, { - Name: "consensus pubkey rotation limit check", - sender: addrs[0], - validator: val1.GetOperator(), - newPubKey: PKs[498], - rotationLimit: 1, - Pass: false, - expErrMsg: "exceeding maximum consensus pubkey rotations within unbonding period", + name: "limit reached, but should rotate after the unbonding period", + malleate: func() sdk.Context { + params := stakingKeeper.GetParams(ctx) + params.KeyRotationFee = sdk.NewInt64Coin(bondDenom, 10) + params.MaxConsPubkeyRotations = 1 + err := stakingKeeper.SetParams(ctx, params) + require.NoError(t, err) + + msg, err := types.NewMsgRotateConsPubKey( + validators[3].GetOperator(), + PKs[495], + ) + + require.NoError(t, err) + _, err = msgServer.RotateConsPubKey(ctx, msg) + require.NoError(t, err) + ctx = ctx.WithBlockHeight(ctx.BlockHeight() + 1) + + // this shouldn't remove the existing keys from waiting queue since unbonding time isn't reached + stakingKeeper.UpdateAllMaturedConsKeyRotatedKeys(ctx, ctx.BlockHeader().Time) + + msg, err = types.NewMsgRotateConsPubKey( + validators[3].GetOperator(), + PKs[494], + ) + + require.NoError(t, err) + _, err = msgServer.RotateConsPubKey(ctx, msg) + require.Error(t, err) + + ctx = ctx.WithBlockHeight(ctx.BlockHeight() + 1) + + newCtx := ctx.WithBlockTime(ctx.BlockHeader().Time.Add(stakingKeeper.UnbondingTime(ctx))) + newCtx = newCtx.WithBlockHeight(newCtx.BlockHeight() + 1) + // this should remove keys from waiting queue since unbonding time is reached + stakingKeeper.UpdateAllMaturedConsKeyRotatedKeys(newCtx, newCtx.BlockHeader().Time) + + return newCtx + }, + validator: validators[3].GetOperator(), + newPubKey: PKs[494], + pass: true, + expErrMsg: "", + expHistoryObjs: 2, + fees: keyRotationFee, }, } for _, testCase := range testCases { - params := stakingKeeper.GetParams(ctx) - params.KeyRotationFee = sdk.NewInt64Coin(bondDenom, 1000) - params.MaxConsPubkeyRotations = testCase.rotationLimit - err := stakingKeeper.SetParams(ctx, params) - require.NoError(t, err) + t.Run(testCase.name, func(t *testing.T) { - oldDistrBalance := bankKeeper.GetBalance(ctx, accountKeeper.GetModuleAddress(distrtypes.ModuleName), bondDenom) - msg, err := types.NewMsgRotateConsPubKey( - sdk.ValAddress(testCase.sender), - testCase.newPubKey, - ) - require.NoError(t, err) + newCtx := testCase.malleate() + oldDistrBalance := bankKeeper.GetBalance(newCtx, accountKeeper.GetModuleAddress(distrtypes.ModuleName), bondDenom) + msg, err := types.NewMsgRotateConsPubKey( + testCase.validator, + testCase.newPubKey, + ) + require.NoError(t, err) - _, err = msgServer.RotateConsPubKey(ctx, msg) + _, err = msgServer.RotateConsPubKey(newCtx, msg) - if testCase.Pass { + if testCase.pass { - require.NoError(t, err) + require.NoError(t, err) - // rotation fee payment from sender to distrtypes - newDistrBalance := bankKeeper.GetBalance(ctx, accountKeeper.GetModuleAddress(distrtypes.ModuleName), bondDenom) - require.Equal(t, newDistrBalance, oldDistrBalance.Add(params.KeyRotationFee)) + // rotation fee payment from sender to distrtypes + newDistrBalance := bankKeeper.GetBalance(newCtx, accountKeeper.GetModuleAddress(distrtypes.ModuleName), bondDenom) + require.Equal(t, newDistrBalance, oldDistrBalance.Add(testCase.fees)) - // validator consensus pubkey update check - validator, found := stakingKeeper.GetValidator(ctx, testCase.validator) - require.True(t, found) + // validator consensus pubkey update check + validator, found := stakingKeeper.GetValidator(newCtx, testCase.validator) + require.True(t, found) - consAddr, err := validator.GetConsAddr() - require.NoError(t, err) - require.Equal(t, consAddr.String(), sdk.ConsAddress(testCase.newPubKey.Address()).String()) - - // consensus rotation history set check - historyObjects := stakingKeeper.GetValidatorConsPubKeyRotationHistory(ctx, testCase.validator) - require.Len(t, historyObjects, 1) - historyObjects = stakingKeeper.GetBlockConsPubKeyRotationHistory(ctx, ctx.BlockHeight()) - require.Len(t, historyObjects, 1) - } else { - require.Error(t, err) - require.Equal(t, err.Error(), testCase.expErrMsg) - } + consAddr, err := validator.GetConsAddr() + require.NoError(t, err) + require.Equal(t, consAddr.String(), sdk.ConsAddress(testCase.newPubKey.Address()).String()) + + // consensus rotation history set check + historyObjects := stakingKeeper.GetValidatorConsPubKeyRotationHistory(newCtx, testCase.validator) + require.Len(t, historyObjects, testCase.expHistoryObjs) + historyObjects = stakingKeeper.GetBlockConsPubKeyRotationHistory(newCtx, newCtx.BlockHeight()) + require.Len(t, historyObjects, 1) + } else { + require.Error(t, err) + require.Equal(t, err.Error(), testCase.expErrMsg) + } + }) } } + +func calculateFee(fee sdk.Coin, rotationsMade int64) sdk.Coin { + fees := sdk.NewIntFromBigInt(new(big.Int).Exp(big.NewInt(2), big.NewInt(int64(rotationsMade)), nil)) + fees = fee.Amount.Mul(fees) + return sdk.NewCoin(fee.Denom, fees) +} diff --git a/x/staking/keeper/cons_pubkey_test.go b/x/staking/keeper/cons_pubkey_test.go index 4cdf15cd43c7..fc9e5a949b00 100644 --- a/x/staking/keeper/cons_pubkey_test.go +++ b/x/staking/keeper/cons_pubkey_test.go @@ -236,12 +236,9 @@ func (s *KeeperTestSuite) setValidators(n int) { val0AccAddr := sdk.AccAddress(addrVals[i].Bytes()) selfDelegation := types.NewDelegation(val0AccAddr, addrVals[i], issuedShares) stakingKeeper.SetDelegation(ctx, selfDelegation) + stakingKeeper.SetValidatorByConsAddr(ctx, val) } validators := stakingKeeper.GetAllValidators(ctx) s.Require().Len(validators, n) - - for i := 0; i < n; i++ { - stakingKeeper.SetValidatorByConsAddr(ctx, validators[i]) - } } From 60053b72f1aa749318e676f4fa5a936ac44839c2 Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 30 Mar 2023 16:17:49 +0530 Subject: [PATCH 045/106] remove old signing info --- x/slashing/keeper/signing_info.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/slashing/keeper/signing_info.go b/x/slashing/keeper/signing_info.go index d80bbbc67533..02f3c08a6623 100644 --- a/x/slashing/keeper/signing_info.go +++ b/x/slashing/keeper/signing_info.go @@ -177,8 +177,8 @@ func (k Keeper) PerformConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey cryptoty if !found { return nil } - // k.RemoveValidatorSigningInfo(ctx, sdk.ConsAddress(oldPubKey.Address())) k.SetValidatorSigningInfo(ctx, sdk.ConsAddress(newPubKey.Address()), signingInfo) + k.RemoveValidatorSigningInfo(ctx, sdk.ConsAddress(oldPubKey.Address())) // Migrate ValidatorMissedBlockBitArray from oldPubKey to newPubKey missedBlocks := k.GetValidatorMissedBlocks(ctx, sdk.ConsAddress(oldPubKey.Address())) From a97735ef2a23ea6a38693e209848ba71243bbfe7 Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 30 Mar 2023 16:40:43 +0530 Subject: [PATCH 046/106] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 31ce75bf62f5..1014194377fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -60,6 +60,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (x/groups) [#14879](https://github.com/cosmos/cosmos-sdk/pull/14879) Add `Query/Groups` query to get all the groups. * (x/genutil,cli) [#15147](https://github.com/cosmos/cosmos-sdk/pull/15147) Add `--initial-height` flag to cli init cmd to provide `genesis.json` with user defined initial block height * (x/gov) [#15151](https://github.com/cosmos/cosmos-sdk/pull/15151) Add `burn_vote_quorum`, `burn_proposal_deposit_prevote` and `burn_vote_veto` params to allow applications to decide if they would like to burn deposits +* (x/staking) [#15165](https://github.com/cosmos/cosmos-sdk/pull/15165) Add feature to rotate validators consensus pubkey & introduce `key_rotation_fee` and `max_cons_pubkey_rotations` params to calculate fees while rotating the keys ### Improvements From 81484b6c0b1ae11bdcb137a1d39ce9dbc006ba92 Mon Sep 17 00:00:00 2001 From: atheesh Date: Fri, 31 Mar 2023 17:54:11 +0530 Subject: [PATCH 047/106] docs --- x/staking/README.md | 120 ++++++++++++++++++++++++++--- x/staking/keeper/cons_pubkey.go | 9 ++- x/staking/keeper/msg_server.go | 13 +++- x/staking/types/historical_info.go | 27 ------- 4 files changed, 127 insertions(+), 42 deletions(-) diff --git a/x/staking/README.md b/x/staking/README.md index 5dd94dc696a5..b527b1d2eee5 100644 --- a/x/staking/README.md +++ b/x/staking/README.md @@ -30,6 +30,7 @@ network. * [Delegation](#delegation) * [UnbondingDelegation](#unbondingdelegation) * [Redelegation](#redelegation) + * [ConsPubkeyRotation](#conspubkeyrotation) * [Queues](#queues) * [HistoricalInfo](#historicalinfo) * [State Transitions](#state-transitions) @@ -45,6 +46,7 @@ network. * [MsgCancelUnbondingDelegation](#msgcancelunbondingdelegation) * [MsgBeginRedelegate](#msgbeginredelegate) * [MsgUpdateParams](#msgupdateparams) + * [MsgRotateConsPubkey](#msgrotateconspubkey) * [Begin-Block](#begin-block) * [Historical Info Tracking](#historical-info-tracking) * [End-Block](#end-block) @@ -270,6 +272,36 @@ A redelegation object is created every time a redelegation occurs. To prevent https://github.com/cosmos/cosmos-sdk/blob/v0.47.0-rc1/proto/cosmos/staking/v1beta1/staking.proto#L263-L308 ``` +## ConsPubkeyRotation + +The `ConsPubkey` of a validator will be instantly rotated to the new `ConsPubkey` there will be a tracking for the rotations which is only allows limited no.of rotations should be made in the unbonding period of time + +`ConsPubkeyRotation` are indexed in the store as: + +ConsPubKeyRotationHistory: `0x70 | validatorAddrLen(1 byte) | validatorAddr | rotated_height -> ProtocalBuffer(ConsPubKeyRotationHistory)` +ValidatorConsensusKeyRotationRecordQueue: `0x72 | format(time) -> ProtocalBuffer(RotatedValAddrs)` + +ValidatorConsensusKeyRotationRecordIndex:`0x73 | valAddressLen(1 byte) | valAddr | format(time) -> ProtocalBuffer([]Byte{})` + +`ConsPubKeyRotationHistory` is used for querying the rotations of a validator + +`ValidatorConsensusKeyRotationRecordQueue` is to keep track of the rotation across the unbonding period (waiting period in the queue), this be pruned after the unbonding period of waiting time. + +`ValidatorConsensusKeyRotationRecordIndex` is to keep track of a validator that how many rotations were made inside unbonding period. This be pruned after the unbonding period of waiting time. + +A `ConsPubKeyRotationHistory` object is created every time a consensus pubkey rotation occurs. + +To prevent the spam: + +* There will only limited number of rotations can be done within unbonding period of time. +* And significant amount of fee will be deducted for rotating the keys. + +Formula to calculate the fees to rotate the key is: + +```go +(max(VotingPowerPercentage 100, 1) * InitialKeyRotationFee) * 2^(number of rotations in ConsPubKeyRotationHistory in recent unbonding period) +``` + ### Queues All queues objects are sorted by timestamp. The time used within any queue is @@ -317,6 +349,21 @@ which the validator object can be accessed. Typically it is expected that only a single validator record will be associated with a given timestamp however it is possible that multiple validators exist in the queue at the same location. +#### ValidatorConsensusKeyRotationRecordQueue + +For the purpose of tracking progress or consensus pubkey rotations the `ValidatorConsensusKeyRotationRecordQueue` kept. + +* ValidatorConsensusKeyRotationRecordQueue: `0x72 | format(time) -> types.ValAddrsOfRotatedConsKeys` + +Here timestamp will be the unique identifier in the queue which is of future time +(which is calculated with the current block time adding with unbonding period), +Whenever the next item with the same waiting time comes to the queue, we will get +the present store info and append the `ValAddress` to the array and set it back in the store. + +```protobuf reference +https://github.com/cosmos/cosmos-sdk/blob/a97735ef2a23ea6a38693e209848ba71243bbfe7/proto/cosmos/staking/v1beta1/staking.proto#L421-L425 +``` + ### HistoricalInfo HistoricalInfo objects are stored and pruned at each block such that the staking keeper persists @@ -424,7 +471,7 @@ Delegation may be called. When a `cancel unbond delegation` occurs both the `validator`, the `delegation` and an `UnbondingDelegationQueue` state will be updated. * if cancel unbonding delegation amount equals to the `UnbondingDelegation` entry `balance`, then the `UnbondingDelegation` entry deleted from `UnbondingDelegationQueue`. -* if the `cancel unbonding delegation amount is less than the `UnbondingDelegation` entry balance, then the `UnbondingDelegation` entry will be updated with new balance in the `UnbondingDelegationQueue`. +* if the `cancel unbonding delegation` amount is less than the `UnbondingDelegation` entry balance, then the `UnbondingDelegation` entry will be updated with new balance in the `UnbondingDelegationQueue`. * cancel `amount` is [Delegated](#delegations) back to the original `validator`. #### Complete Unbonding @@ -456,6 +503,14 @@ When a redelegations complete the following occurs: * remove the entry from the `Redelegation` object +#### Consensus pubkey rotation + +When a `ConsPubkeyRotation` occurs the validator and the `ValidatorConsensusKeyRotationRecordQueue` updated + +* the old consensus pubkey address will be removed from state and new consensus pubkey address will be added in place. +* transfers the voting power to the new consensus pubkey address. +* and triggers the hooks to update the `signing-info` in the `slashing` module * and triggers the hooks to add the deducted fee to the `community pool` funds + ### Slashing #### Slash Validator @@ -723,6 +778,23 @@ The message handling can fail if: * signer is not the authority defined in the staking keeper (usually the gov module account). +### MsgRotateConsPubKey + +The `MsgRotateConsPubKey` updates the consensus pubkey of a validator +with a new pubkey, the validator must pay rotation fees (default fee 1000000stake) to rotate the consensus pubkey. + +```protobuf reference +https://github.com/cosmos/cosmos-sdk/blob/a97735ef2a23ea6a38693e209848ba71243bbfe7/proto/cosmos/staking/v1beta1/tx.proto#L213-L225 +``` + +The message handling can fail if: + +* The new pubkey is not a `cryptotypes.PubKey`. +* The new pubkey is already associated with another validator. +* The validator address is not in validators list. +* The `max_cons_pubkey_rotations` limit reached within unbonding period. +* The validator don't have fee to pay for rotation + ## Begin-Block Each abci begin block call, the historical info will get stored and pruned @@ -816,6 +888,14 @@ Complete the unbonding of all mature `Redelegation.Entries` within the * remove the `Redelegation` object from the store if there are no remaining entries. +#### ConsPubKeyRotations + +After waiting for unbonding period of time the matured rotations will be removed from queues and indexes to unblock the validator for the next iterations + +* remove the mature entry from state of `ValidatorConsensusKeyRotationRecordQueue` +* remove the mature entry form state of +`ValidatorConsensusKeyRotationRecordIndex` + ## Hooks Other modules may register operations to execute when a certain event has @@ -842,7 +922,9 @@ following hooks can registered with staking: * `BeforeDelegationRemoved(Context, AccAddress, ValAddress) error` * called when a delegation is removed * `AfterUnbondingInitiated(Context, UnbondingID)` - * called when an unbonding operation (validator unbonding, unbonding delegation, redelegation) was initiated + * called when an unbonding operation (validator unbonding, unbonding delegation, redelegation) is initiated +* `AfterConsensusPubKeyUpdate(ctx Context, oldpubkey, newpubkey types.PubKey, fee sdk.Coin)` + * called when a consensus pubkey rotation of a validator is initiated. ## Events @@ -936,14 +1018,17 @@ The staking module emits the following events: The staking module contains the following parameters: -| Key | Type | Example | -|-------------------|------------------|------------------------| -| UnbondingTime | string (time ns) | "259200000000000" | -| MaxValidators | uint16 | 100 | -| KeyMaxEntries | uint16 | 7 | -| HistoricalEntries | uint16 | 3 | -| BondDenom | string | "stake" | -| MinCommissionRate | string | "0.000000000000000000" | +| Key | Type | Example | +|------------------------|------------------|------------------------| +| UnbondingTime | string (time ns) | "259200000000000" | +| MaxValidators | uint16 | 100 | +| KeyMaxEntries | uint16 | 7 | +| HistoricalEntries | uint16 | 3 | +| BondDenom | string | "stake" | +| MinCommissionRate | string | "0.000000000000000000" | +| KeyRotationFee | sdk.Coin | "1000000stake" | +| MaxConsPubkeyRotations | int | 10 | + ## Client @@ -1682,6 +1767,21 @@ Example: simd tx staking cancel-unbond cosmosvaloper1gghjut3ccd8ay0zduzj64hwre2fxs9ldmqhffj 100stake 123123 --from mykey ``` +##### rotate cons pubkey + +The command `rotate-cons-pubkey` allow validators to rotate the associated consensus pubkey to the new consensus pubkey. + +Usage: + +```bash +simd tx staking rotate-cons-pubkey --pubkey [newpubkey] --from key +``` + +Example: + +```bash +simd tx staking rotate-cons-pubkey --pubkey `{"pubkey": {"@type":"/cosmos.crypto.ed25519.PubKey""key":"BnbwFpeONLqvWqJb3qaUbL5aoIcW3fSuAp9nT3z5f20="}}` --from myvalidator +``` ### gRPC diff --git a/x/staking/keeper/cons_pubkey.go b/x/staking/keeper/cons_pubkey.go index 9fd1d3d2986a..ccf0f9865bce 100644 --- a/x/staking/keeper/cons_pubkey.go +++ b/x/staking/keeper/cons_pubkey.go @@ -33,6 +33,7 @@ func (k Keeper) SetConsPubKeyRotationHistory(ctx sdk.Context, valAddr sdk.ValAdd k.SetConsKeyIndex(ctx, valAddr, queueTime) } +// GetValidatorConsPubKeyRotationHistory iterates over all the rotated history objects in the state with the given valAddr and returns. func (k Keeper) GetValidatorConsPubKeyRotationHistory(ctx sdk.Context, operatorAddress sdk.ValAddress) (historyObjects []types.ConsPubKeyRotationHistory) { store := ctx.KVStore(k.storeKey) @@ -48,6 +49,7 @@ func (k Keeper) GetValidatorConsPubKeyRotationHistory(ctx sdk.Context, operatorA return } +// GetBlockConsPubKeyRotationHistory iterator over the rotation history for the given height. func (k Keeper) GetBlockConsPubKeyRotationHistory(ctx sdk.Context, height int64) (historyObjects []types.ConsPubKeyRotationHistory) { store := ctx.KVStore(k.storeKey) @@ -63,6 +65,7 @@ func (k Keeper) GetBlockConsPubKeyRotationHistory(ctx sdk.Context, height int64) return } +// GetConsKeyQueue gets and returns the `types.ValAddrsOfRotatedConsKeys` with the given time. func (k Keeper) GetConsKeyQueue(ctx sdk.Context, ts time.Time) types.ValAddrsOfRotatedConsKeys { var valAddrs types.ValAddrsOfRotatedConsKeys store := ctx.KVStore(k.storeKey) @@ -86,13 +89,14 @@ func (k Keeper) SetConsKeyQueue(ctx sdk.Context, ts time.Time, valAddr sdk.ValAd store.Set(key, bz) } -// SetConsKeyIndex sets empty bytes with the key (validatoraddress+sum(current_block_time, unbondtime)) +// SetConsKeyIndex sets empty bytes with the key (validatoraddress | sum(current_block_time, unbondtime)) func (k Keeper) SetConsKeyIndex(ctx sdk.Context, valAddr sdk.ValAddress, ts time.Time) { store := ctx.KVStore(k.storeKey) key := types.GetConsKeyIndexKey(valAddr, ts) store.Set(key, []byte{}) } +// UpdateAllMaturedConsKeyRotatedKeys udpates all the matured key rotations. func (k Keeper) UpdateAllMaturedConsKeyRotatedKeys(ctx sdk.Context, maturedTime time.Time) { maturedRotatedValAddrs := k.GetAllMaturedRotatedKeys(ctx, maturedTime) for _, valAddrStr := range maturedRotatedValAddrs { @@ -105,6 +109,7 @@ func (k Keeper) UpdateAllMaturedConsKeyRotatedKeys(ctx sdk.Context, maturedTime } } +// GetAllMaturedRotatedKeys returns all matured valaddresses . func (k Keeper) GetAllMaturedRotatedKeys(ctx sdk.Context, matureTime time.Time) []string { store := ctx.KVStore(k.storeKey) var ValAddresses []string @@ -121,6 +126,7 @@ func (k Keeper) GetAllMaturedRotatedKeys(ctx sdk.Context, matureTime time.Time) return ValAddresses } +// deleteConsKeyIndexKey deletes the key which is formed with the given valAddr, time. func (k Keeper) deleteConsKeyIndexKey(ctx sdk.Context, valAddr sdk.ValAddress, ts time.Time) { store := ctx.KVStore(k.storeKey) key := types.GetConsKeyIndexKey(valAddr, ts) @@ -132,6 +138,7 @@ func (k Keeper) deleteConsKeyIndexKey(ctx sdk.Context, valAddr sdk.ValAddress, t } } +// CheckLimitOfMaxRotationsExceed returns bool, count of iterations made within the unbonding period. func (k Keeper) CheckLimitOfMaxRotationsExceed(ctx sdk.Context, valAddr sdk.ValAddress) (bool, uint64) { store := ctx.KVStore(k.storeKey) key := append(types.ValidatorConsensusKeyRotationRecordIndexKey, address.MustLengthPrefix(valAddr)...) diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index 4e527d59ee34..ed5c917e31cb 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -545,10 +545,10 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC } // deletes old ValidatorByConsAddr - // err = k.DeleteValidatorByConsAddr(ctx, validator) - // if err != nil { - // return nil, err - // } + err = k.DeleteValidatorByConsAddr(ctx, validator) + if err != nil { + return nil, err + } // overwrites NewPubKey in validator.ConsPubKey val, ok := validator.(types.Validator) @@ -556,6 +556,9 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC return nil, errorsmod.Wrapf(sdkerrors.ErrInvalidType, "Expecting types.Validator, got %T", validator) } + // delete the old validator associated with powerIndex + k.DeleteValidatorByPowerIndex(ctx, val) + // SetValidatorByConsAddr for NewPubKey oldConsensusPubKey := val.ConsensusPubkey val.ConsensusPubkey = msg.NewPubkey @@ -564,6 +567,8 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC } k.SetValidator(ctx, val) + k.SetValidatorByConsAddr(ctx, val) + k.SetValidatorByPowerIndex(ctx, val) // Add ConsPubKeyRotationHistory for tracking rotation k.SetConsPubKeyRotationHistory( diff --git a/x/staking/types/historical_info.go b/x/staking/types/historical_info.go index cbcf7c63930c..514626d72518 100644 --- a/x/staking/types/historical_info.go +++ b/x/staking/types/historical_info.go @@ -84,33 +84,6 @@ func (hi HistoricalInfo) UnpackInterfaces(c codectypes.AnyUnpacker) error { return nil } -// func MustUnmarshalConsPubKeyRotationHistory(cdc codec.BinaryCodec, value []byte) ConsPubKeyRotationHistory { -// hi, err := UnmarshalConsPubKeyRotationHistory(cdc, value) -// if err != nil { -// panic(err) -// } - -// return hi -// } - -// func UnmarshalConsPubKeyRotationHistory(cdc codec.BinaryCodec, value []byte) (hi ConsPubKeyRotationHistory, err error) { -// err = cdc.Unmarshal(value, &hi) -// return hi, err -// } - -// func MustMarshalConsPubKeyRotationHistory(cdc codec.BinaryCodec, history ConsPubKeyRotationHistory) []byte { -// hi, err := MarshalConsPubKeyRotationHistory(cdc, history) -// if err != nil { -// panic(err) -// } - -// return hi -// } - -// func MarshalConsPubKeyRotationHistory(cdc codec.BinaryCodec, hi ConsPubKeyRotationHistory) ([]byte, error) { -// return cdc.Marshal(&hi) -// } - // UnpackInterfaces implements UnpackInterfacesMessage.UnpackInterfaces func (hi ConsPubKeyRotationHistory) UnpackInterfaces(unpacker codectypes.AnyUnpacker) error { var oldPubKey cryptotypes.PubKey From 5d6bc6af76aca8bb2d717f88ee475b32d012866b Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 5 Apr 2023 12:09:20 +0530 Subject: [PATCH 048/106] update params --- x/staking/keeper/cons_pubkey_test.go | 3 +++ x/staking/types/params.go | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/x/staking/keeper/cons_pubkey_test.go b/x/staking/keeper/cons_pubkey_test.go index fc9e5a949b00..6c4d8d160ff2 100644 --- a/x/staking/keeper/cons_pubkey_test.go +++ b/x/staking/keeper/cons_pubkey_test.go @@ -128,6 +128,9 @@ func (s *KeeperTestSuite) TestConsKeyRotn() { { name: "two continuous rotations", malleate: func() sdk.Context { + params := stakingKeeper.GetParams(ctx) + params.MaxConsPubkeyRotations = 2 + stakingKeeper.SetParams(ctx, params) bankKeeper.EXPECT().SendCoinsFromAccountToModule(gomock.Any(), sdk.AccAddress(validators[1].GetOperator()), gomock.Any(), gomock.Any()).Return(nil).AnyTimes() req, err := types.NewMsgRotateConsPubKey(validators[1].GetOperator(), PKs[497]) diff --git a/x/staking/types/params.go b/x/staking/types/params.go index f299b0a40358..e3b6d3196069 100644 --- a/x/staking/types/params.go +++ b/x/staking/types/params.go @@ -31,8 +31,8 @@ const ( DefaultHistoricalEntries uint32 = 10000 // DefaultMaxConsPubKeyRotations is param to set validators can rotate their - // keys only for 10 times - DefaultMaxConsPubKeyRotations uint64 = 10 + // keys only for 1 times + DefaultMaxConsPubKeyRotations uint64 = 1 ) var ( From fedd4a5578324ecee7978ff8dab19d73f921d071 Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Wed, 5 Apr 2023 12:16:46 +0530 Subject: [PATCH 049/106] Update x/staking/keeper/cons_pubkey.go Co-authored-by: Marko --- x/staking/keeper/cons_pubkey.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/staking/keeper/cons_pubkey.go b/x/staking/keeper/cons_pubkey.go index ccf0f9865bce..fd44004e14f2 100644 --- a/x/staking/keeper/cons_pubkey.go +++ b/x/staking/keeper/cons_pubkey.go @@ -10,7 +10,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/staking/types" ) -// SetConsPubKeyRotationHistory sets the history item of consensus key rotation of a validator +// SetConsPubKeyRotationHistory sets the consensus key rotation of a validator into state func (k Keeper) SetConsPubKeyRotationHistory(ctx sdk.Context, valAddr sdk.ValAddress, oldPubKey, newPubKey *codectypes.Any, height uint64, fee sdk.Coin) { history := types.ConsPubKeyRotationHistory{ From da67ade029bf56ead1985474ac1ac6db2410f2d8 Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Wed, 5 Apr 2023 12:42:44 +0530 Subject: [PATCH 050/106] Update x/staking/README.md Co-authored-by: Aleksandr Bezobchuk --- x/staking/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/staking/README.md b/x/staking/README.md index b527b1d2eee5..04530a230b5e 100644 --- a/x/staking/README.md +++ b/x/staking/README.md @@ -274,7 +274,7 @@ https://github.com/cosmos/cosmos-sdk/blob/v0.47.0-rc1/proto/cosmos/staking/v1bet ## ConsPubkeyRotation -The `ConsPubkey` of a validator will be instantly rotated to the new `ConsPubkey` there will be a tracking for the rotations which is only allows limited no.of rotations should be made in the unbonding period of time +The `ConsPubkey` of a validator will be instantly rotated to the new `ConsPubkey`. The rotation will be tracked to only allow a limited number of rotations within an unbonding period of time. `ConsPubkeyRotation` are indexed in the store as: From 268af80d0de6312cd1931b1ffd80d453a827a508 Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Wed, 5 Apr 2023 12:43:11 +0530 Subject: [PATCH 051/106] Update x/staking/README.md Co-authored-by: Aleksandr Bezobchuk --- x/staking/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/staking/README.md b/x/staking/README.md index 04530a230b5e..1c577caee649 100644 --- a/x/staking/README.md +++ b/x/staking/README.md @@ -294,7 +294,7 @@ A `ConsPubKeyRotationHistory` object is created every time a consensus pubkey ro To prevent the spam: * There will only limited number of rotations can be done within unbonding period of time. -* And significant amount of fee will be deducted for rotating the keys. +* A non-negligible fee will be deducted for rotating a consensus key. Formula to calculate the fees to rotate the key is: From a7909d31141e00ac3baf22a0b95e9e150af059b6 Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Wed, 5 Apr 2023 12:54:38 +0530 Subject: [PATCH 052/106] Update x/staking/keeper/msg_server.go Co-authored-by: Aleksandr Bezobchuk --- x/staking/keeper/msg_server.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index ed5c917e31cb..b883685f7b6b 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -523,8 +523,6 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC // checks if the validator is exceeding parameter MaxConsPubKeyRotations within the // unbonding period by iterating ConsPubKeyRotationHistory - // - // this index will contain the keys of how many isExceedingLimit, rotationsMade := k.CheckLimitOfMaxRotationsExceed(ctx, valAddr) if isExceedingLimit { return nil, types.ErrExceedingMaxConsPubKeyRotations From 9c31343406b73e6f0c0e07150237f52355799cd4 Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Wed, 5 Apr 2023 12:54:54 +0530 Subject: [PATCH 053/106] Update x/staking/keeper/msg_server.go Co-authored-by: Aleksandr Bezobchuk --- x/staking/keeper/msg_server.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index b883685f7b6b..2673d3872cd4 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -521,8 +521,8 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC return nil, types.ErrNoValidatorFound } - // checks if the validator is exceeding parameter MaxConsPubKeyRotations within the - // unbonding period by iterating ConsPubKeyRotationHistory + // Check if the validator is exceeding parameter MaxConsPubKeyRotations within the + // unbonding period by iterating ConsPubKeyRotationHistory. isExceedingLimit, rotationsMade := k.CheckLimitOfMaxRotationsExceed(ctx, valAddr) if isExceedingLimit { return nil, types.ErrExceedingMaxConsPubKeyRotations From b9cec9d342d47768be554acaa59fcc782f445a75 Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Wed, 5 Apr 2023 12:55:15 +0530 Subject: [PATCH 054/106] Update x/staking/keeper/msg_server.go Co-authored-by: Aleksandr Bezobchuk --- x/staking/keeper/msg_server.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index 2673d3872cd4..1f1bc5a57f36 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -528,8 +528,8 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC return nil, types.ErrExceedingMaxConsPubKeyRotations } - // checks if the signing account has enough balance to pay KeyRotationFee - // pays KeyRotationFee to community fund + // Check if the signing account has enough balance to pay KeyRotationFee + // pays KeyRotationFee to community fund. rotationFee := k.getRotationFee(ctx, validator.GetBondedTokens(), rotationsMade) sender := sdk.AccAddress(valAddr) From b3ceb386817fa5c0f53d90e29239a8bc108c0274 Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 5 Apr 2023 12:58:00 +0530 Subject: [PATCH 055/106] review changes --- ...dr-016-validator-consensus-key-rotation.md | 2 +- proto/cosmos/staking/v1beta1/staking.proto | 2 +- x/slashing/keeper/signing_info.go | 11 +++++------ x/slashing/types/errors.go | 1 + x/staking/README.md | 2 +- x/staking/keeper/msg_server.go | 19 +++---------------- 6 files changed, 12 insertions(+), 25 deletions(-) diff --git a/docs/architecture/adr-016-validator-consensus-key-rotation.md b/docs/architecture/adr-016-validator-consensus-key-rotation.md index 1d91a8de79c2..a1b025aeb90b 100644 --- a/docs/architecture/adr-016-validator-consensus-key-rotation.md +++ b/docs/architecture/adr-016-validator-consensus-key-rotation.md @@ -38,7 +38,7 @@ Also, it should be noted that this ADR includes only the simplest form of consen * parameters can be decided by governance and stored in genesis file. * key rotation fee * a validator should pay `KeyRotationFee` to rotate the consensus key which is calculated as below - * `KeyRotationFee` = (max(`VotingPowerPercentage` *100, 1)* `InitialKeyRotationFee`) * 2^(number of rotations in `ConsPubKeyRotationHistory` in recent unbonding period) + * `KeyRotationFee` = (max(`VotingPowerPercentage`, 1)* `InitialKeyRotationFee`) * 2^(number of rotations in `ConsPubKeyRotationHistory` in recent unbonding period) * evidence module * evidence module can search corresponding consensus key for any height from slashing keeper so that it can decide which consensus key is supposed to be used for given height. * abci.ValidatorUpdate diff --git a/proto/cosmos/staking/v1beta1/staking.proto b/proto/cosmos/staking/v1beta1/staking.proto index 0e6f3f0e037f..4b627fe5dda8 100644 --- a/proto/cosmos/staking/v1beta1/staking.proto +++ b/proto/cosmos/staking/v1beta1/staking.proto @@ -327,7 +327,7 @@ message Params { (amino.dont_omitempty) = true ]; // max_cons_pubkey_rotations is maximum number of consensus pubkey rotations - uint64 max_cons_pubkey_rotations = 8; + uint16 max_cons_pubkey_rotations = 8; } // DelegationResponse is equivalent to Delegation except that it contains a diff --git a/x/slashing/keeper/signing_info.go b/x/slashing/keeper/signing_info.go index 02f3c08a6623..29748620d807 100644 --- a/x/slashing/keeper/signing_info.go +++ b/x/slashing/keeper/signing_info.go @@ -160,10 +160,9 @@ func (k Keeper) clearValidatorMissedBlockBitArray(ctx sdk.Context, address sdk.C } } -// RemoveValidatorSigningInfo removes the validator signing info from a consensus address key -func (k Keeper) RemoveValidatorSigningInfo(ctx sdk.Context, address sdk.ConsAddress) { - store := ctx.KVStore(k.storeKey) - store.Delete(types.ValidatorSigningInfoKey(address)) +// removeValidatorSigningInfo removes the validator signing info from a consensus address key +func (k Keeper) removeValidatorSigningInfo(ctx sdk.Context, address sdk.ConsAddress) { + ctx.KVStore(k.storeKey).Delete(types.ValidatorSigningInfoKey(address)) } func (k Keeper) PerformConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey cryptotypes.PubKey, newPubKey cryptotypes.PubKey) error { @@ -175,10 +174,10 @@ func (k Keeper) PerformConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey cryptoty // Migrate ValidatorSigningInfo from oldPubKey to newPubKey signingInfo, found := k.GetValidatorSigningInfo(ctx, sdk.ConsAddress(oldPubKey.Address())) if !found { - return nil + return types.ErrInvalidConsPubKey } k.SetValidatorSigningInfo(ctx, sdk.ConsAddress(newPubKey.Address()), signingInfo) - k.RemoveValidatorSigningInfo(ctx, sdk.ConsAddress(oldPubKey.Address())) + k.removeValidatorSigningInfo(ctx, sdk.ConsAddress(oldPubKey.Address())) // Migrate ValidatorMissedBlockBitArray from oldPubKey to newPubKey missedBlocks := k.GetValidatorMissedBlocks(ctx, sdk.ConsAddress(oldPubKey.Address())) diff --git a/x/slashing/types/errors.go b/x/slashing/types/errors.go index 8e710779881f..4e991fbace64 100644 --- a/x/slashing/types/errors.go +++ b/x/slashing/types/errors.go @@ -11,4 +11,5 @@ var ( ErrMissingSelfDelegation = errors.Register(ModuleName, 6, "validator has no self-delegation; cannot be unjailed") ErrSelfDelegationTooLowToUnjail = errors.Register(ModuleName, 7, "validator's self delegation less than minimum; cannot be unjailed") ErrNoSigningInfoFound = errors.Register(ModuleName, 8, "no validator signing info found") + ErrInvalidConsPubKey = errors.Register(ModuleName, 9, "invalid consensus pubkey") ) diff --git a/x/staking/README.md b/x/staking/README.md index b527b1d2eee5..786843282b18 100644 --- a/x/staking/README.md +++ b/x/staking/README.md @@ -299,7 +299,7 @@ To prevent the spam: Formula to calculate the fees to rotate the key is: ```go -(max(VotingPowerPercentage 100, 1) * InitialKeyRotationFee) * 2^(number of rotations in ConsPubKeyRotationHistory in recent unbonding period) +(max(VotingPowerPercentage, 1) * InitialKeyRotationFee) * 2^(number of rotations in ConsPubKeyRotationHistory in recent unbonding period) ``` ### Queues diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index ed5c917e31cb..bcfbe305f25a 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -17,7 +17,6 @@ import ( "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" - distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" "github.com/cosmos/cosmos-sdk/x/staking/types" ) @@ -495,18 +494,16 @@ func (k msgServer) UpdateParams(goCtx context.Context, msg *types.MsgUpdateParam func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateConsPubKey) (res *types.MsgRotateConsPubKeyResponse, err error) { ctx := sdk.UnwrapSDKContext(goCtx) - // Implementation is based on this ADR - // https://docs.cosmos.network/main/architecture/adr-016-validator-consensus-key-rotation pk, ok := msg.NewPubkey.GetCachedValue().(cryptotypes.PubKey) if !ok { return nil, errorsmod.Wrapf(sdkerrors.ErrInvalidType, "expecting cryptotypes.PubKey, got %T", pk) } - consAddr := sdk.ConsAddress(pk.Address()) + newConsAddr := sdk.ConsAddress(pk.Address()) // checks if NewPubKey is not duplicated on ValidatorsByConsAddr - validator := k.Keeper.ValidatorByConsAddr(ctx, consAddr) + validator := k.Keeper.ValidatorByConsAddr(ctx, newConsAddr) if validator != nil { return nil, types.ErrConsensusPubKeyAlreadyUsedForAValidator } @@ -533,16 +530,6 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC // checks if the signing account has enough balance to pay KeyRotationFee // pays KeyRotationFee to community fund rotationFee := k.getRotationFee(ctx, validator.GetBondedTokens(), rotationsMade) - sender := sdk.AccAddress(valAddr) - - err = k.Keeper.bankKeeper.SendCoinsFromAccountToModule(ctx, sender, distrtypes.ModuleName, sdk.NewCoins(rotationFee)) - if err != nil { - return nil, err - } - - if sdk.AccAddress(validator.GetOperator()).String() != sender.String() { - return nil, sdkerrors.ErrorInvalidSigner - } // deletes old ValidatorByConsAddr err = k.DeleteValidatorByConsAddr(ctx, validator) @@ -584,7 +571,7 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC } // getRotationFee calculates and returns the fee for rotation based on the previous rotations -// KeyRotationFee = (max(VotingPowerPercentage 100, 1) InitialKeyRotationFee) * 2^(number ofrotations in ConsPubKeyRotationHistory in recent unbonding period) +// KeyRotationFee = (max(VotingPowerPercentage, 1) * InitialKeyRotationFee) * 2^(number ofrotations in ConsPubKeyRotationHistory in recent unbonding period) func (k msgServer) getRotationFee(ctx sdk.Context, valBondedTokens math.Int, rotationsMade uint64) sdk.Coin { totalBondedTokens := k.TotalBondedTokens(ctx) From 9d1432eafb5b1756790aa1514253739ae02fd067 Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Wed, 5 Apr 2023 13:03:05 +0530 Subject: [PATCH 056/106] Update x/staking/README.md Co-authored-by: Marko --- x/staking/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/staking/README.md b/x/staking/README.md index b7569c7e11cd..e511016ab39a 100644 --- a/x/staking/README.md +++ b/x/staking/README.md @@ -505,7 +505,7 @@ When a redelegations complete the following occurs: #### Consensus pubkey rotation -When a `ConsPubkeyRotation` occurs the validator and the `ValidatorConsensusKeyRotationRecordQueue` updated +When a `ConsPubkeyRotation` occurs the validator and the `ValidatorConsensusKeyRotationRecordQueue` are updated: * the old consensus pubkey address will be removed from state and new consensus pubkey address will be added in place. * transfers the voting power to the new consensus pubkey address. From 747b0f0e387f797c7f4aa7eb9df6665fb6055083 Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 5 Apr 2023 13:06:18 +0530 Subject: [PATCH 057/106] review changes --- x/staking/keeper/cons_pubkey.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/x/staking/keeper/cons_pubkey.go b/x/staking/keeper/cons_pubkey.go index fd44004e14f2..d98a7c04b464 100644 --- a/x/staking/keeper/cons_pubkey.go +++ b/x/staking/keeper/cons_pubkey.go @@ -50,7 +50,8 @@ func (k Keeper) GetValidatorConsPubKeyRotationHistory(ctx sdk.Context, operatorA } // GetBlockConsPubKeyRotationHistory iterator over the rotation history for the given height. -func (k Keeper) GetBlockConsPubKeyRotationHistory(ctx sdk.Context, height int64) (historyObjects []types.ConsPubKeyRotationHistory) { +func (k Keeper) GetBlockConsPubKeyRotationHistory(ctx sdk.Context, height int64) []types.ConsPubKeyRotationHistory { + var historyObjects []types.ConsPubKeyRotationHistory store := ctx.KVStore(k.storeKey) iterator := storetypes.KVStorePrefixIterator(store, types.GetBlockConsPubKeyRotationHistoryPrefix(height)) @@ -62,7 +63,7 @@ func (k Keeper) GetBlockConsPubKeyRotationHistory(ctx sdk.Context, height int64) k.cdc.MustUnmarshal(iterator.Value(), &history) historyObjects = append(historyObjects, history) } - return + return historyObjects } // GetConsKeyQueue gets and returns the `types.ValAddrsOfRotatedConsKeys` with the given time. From d0211913d3238361a1d0db4f4d8d6a3037e858bb Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Wed, 5 Apr 2023 07:45:10 +0000 Subject: [PATCH 058/106] proto-gen --- api/cosmos/staking/v1beta1/staking.pulsar.go | 22 +- proto/cosmos/staking/v1beta1/staking.proto | 2 +- x/staking/types/staking.pb.go | 268 +++++++++---------- 3 files changed, 146 insertions(+), 146 deletions(-) diff --git a/api/cosmos/staking/v1beta1/staking.pulsar.go b/api/cosmos/staking/v1beta1/staking.pulsar.go index e18be98c4604..4a749065a19b 100644 --- a/api/cosmos/staking/v1beta1/staking.pulsar.go +++ b/api/cosmos/staking/v1beta1/staking.pulsar.go @@ -9540,8 +9540,8 @@ func (x *fastReflection_Params) Range(f func(protoreflect.FieldDescriptor, proto return } } - if x.MaxConsPubkeyRotations != uint64(0) { - value := protoreflect.ValueOfUint64(x.MaxConsPubkeyRotations) + if x.MaxConsPubkeyRotations != uint32(0) { + value := protoreflect.ValueOfUint32(x.MaxConsPubkeyRotations) if !f(fd_Params_max_cons_pubkey_rotations, value) { return } @@ -9576,7 +9576,7 @@ func (x *fastReflection_Params) Has(fd protoreflect.FieldDescriptor) bool { case "cosmos.staking.v1beta1.Params.key_rotation_fee": return x.KeyRotationFee != nil case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": - return x.MaxConsPubkeyRotations != uint64(0) + return x.MaxConsPubkeyRotations != uint32(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9608,7 +9608,7 @@ func (x *fastReflection_Params) Clear(fd protoreflect.FieldDescriptor) { case "cosmos.staking.v1beta1.Params.key_rotation_fee": x.KeyRotationFee = nil case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": - x.MaxConsPubkeyRotations = uint64(0) + x.MaxConsPubkeyRotations = uint32(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9648,7 +9648,7 @@ func (x *fastReflection_Params) Get(descriptor protoreflect.FieldDescriptor) pro return protoreflect.ValueOfMessage(value.ProtoReflect()) case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": value := x.MaxConsPubkeyRotations - return protoreflect.ValueOfUint64(value) + return protoreflect.ValueOfUint32(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9684,7 +9684,7 @@ func (x *fastReflection_Params) Set(fd protoreflect.FieldDescriptor, value proto case "cosmos.staking.v1beta1.Params.key_rotation_fee": x.KeyRotationFee = value.Message().Interface().(*v1beta1.Coin) case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": - x.MaxConsPubkeyRotations = value.Uint() + x.MaxConsPubkeyRotations = uint32(value.Uint()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9757,7 +9757,7 @@ func (x *fastReflection_Params) NewField(fd protoreflect.FieldDescriptor) protor m := new(v1beta1.Coin) return protoreflect.ValueOfMessage(m.ProtoReflect()) case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": - return protoreflect.ValueOfUint64(uint64(0)) + return protoreflect.ValueOfUint32(uint32(0)) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -10202,7 +10202,7 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { } b := dAtA[iNdEx] iNdEx++ - x.MaxConsPubkeyRotations |= uint64(b&0x7F) << shift + x.MaxConsPubkeyRotations |= uint32(b&0x7F) << shift if b < 0x80 { break } @@ -15063,7 +15063,7 @@ type Params struct { // (either consensus pubkey or operator key) KeyRotationFee *v1beta1.Coin `protobuf:"bytes,7,opt,name=key_rotation_fee,json=keyRotationFee,proto3" json:"key_rotation_fee,omitempty"` // max_cons_pubkey_rotations is maximum number of consensus pubkey rotations - MaxConsPubkeyRotations uint64 `protobuf:"varint,8,opt,name=max_cons_pubkey_rotations,json=maxConsPubkeyRotations,proto3" json:"max_cons_pubkey_rotations,omitempty"` + MaxConsPubkeyRotations uint32 `protobuf:"varint,8,opt,name=max_cons_pubkey_rotations,json=maxConsPubkeyRotations,proto3" json:"max_cons_pubkey_rotations,omitempty"` } func (x *Params) Reset() { @@ -15135,7 +15135,7 @@ func (x *Params) GetKeyRotationFee() *v1beta1.Coin { return nil } -func (x *Params) GetMaxConsPubkeyRotations() uint64 { +func (x *Params) GetMaxConsPubkeyRotations() uint32 { if x != nil { return x.MaxConsPubkeyRotations } @@ -15786,7 +15786,7 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0xb0, 0x2a, 0x01, 0x52, 0x0e, 0x6b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x65, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x73, 0x50, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x24, 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x50, 0x61, diff --git a/proto/cosmos/staking/v1beta1/staking.proto b/proto/cosmos/staking/v1beta1/staking.proto index 4b627fe5dda8..15e783643c64 100644 --- a/proto/cosmos/staking/v1beta1/staking.proto +++ b/proto/cosmos/staking/v1beta1/staking.proto @@ -327,7 +327,7 @@ message Params { (amino.dont_omitempty) = true ]; // max_cons_pubkey_rotations is maximum number of consensus pubkey rotations - uint16 max_cons_pubkey_rotations = 8; + uint32 max_cons_pubkey_rotations = 8; } // DelegationResponse is equivalent to Delegation except that it contains a diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index 97643a0973ed..c41dc2fd6530 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -936,7 +936,7 @@ type Params struct { // (either consensus pubkey or operator key) KeyRotationFee types2.Coin `protobuf:"bytes,7,opt,name=key_rotation_fee,json=keyRotationFee,proto3" json:"key_rotation_fee"` // max_cons_pubkey_rotations is maximum number of consensus pubkey rotations - MaxConsPubkeyRotations uint64 `protobuf:"varint,8,opt,name=max_cons_pubkey_rotations,json=maxConsPubkeyRotations,proto3" json:"max_cons_pubkey_rotations,omitempty"` + MaxConsPubkeyRotations uint32 `protobuf:"varint,8,opt,name=max_cons_pubkey_rotations,json=maxConsPubkeyRotations,proto3" json:"max_cons_pubkey_rotations,omitempty"` } func (m *Params) Reset() { *m = Params{} } @@ -1014,7 +1014,7 @@ func (m *Params) GetKeyRotationFee() types2.Coin { return types2.Coin{} } -func (m *Params) GetMaxConsPubkeyRotations() uint64 { +func (m *Params) GetMaxConsPubkeyRotations() uint32 { if m != nil { return m.MaxConsPubkeyRotations } @@ -1390,135 +1390,135 @@ func init() { } var fileDescriptor_64c30c6cf92913c9 = []byte{ - // 2044 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x4d, 0x6c, 0x1b, 0xc7, - 0x15, 0xd6, 0x92, 0x0c, 0x25, 0x3d, 0x4a, 0x22, 0x35, 0x76, 0x6c, 0x8a, 0x6e, 0x45, 0x86, 0x71, - 0x13, 0xc7, 0x88, 0xa9, 0xda, 0x05, 0x02, 0x54, 0x0d, 0x5a, 0x98, 0xa2, 0x14, 0x33, 0x4e, 0x24, - 0x61, 0x29, 0xa9, 0x4d, 0x7f, 0xb0, 0x18, 0xee, 0x0e, 0xa9, 0xad, 0xc8, 0x59, 0x62, 0x67, 0x68, - 0x8b, 0xd7, 0xa2, 0x87, 0xc0, 0x87, 0x36, 0x40, 0x2f, 0xbd, 0x18, 0x30, 0xd0, 0x4b, 0x7a, 0x0b, - 0x8a, 0xa0, 0x39, 0x14, 0x3d, 0xf4, 0x96, 0xb6, 0x17, 0x23, 0xa7, 0xa2, 0x07, 0xb5, 0xb0, 0x0f, - 0x09, 0x0a, 0x14, 0x28, 0x72, 0x6b, 0x4f, 0xc5, 0xfc, 0xec, 0x0f, 0x45, 0xd1, 0xfa, 0x81, 0x5a, - 0x04, 0xc8, 0x45, 0xe2, 0xcc, 0xbc, 0xf7, 0xcd, 0xbc, 0x6f, 0xde, 0x7b, 0xb3, 0xef, 0xc1, 0x55, - 0xdb, 0x63, 0x5d, 0x8f, 0x2d, 0x31, 0x8e, 0xf7, 0x5c, 0xda, 0x5e, 0xba, 0x77, 0xb3, 0x49, 0x38, - 0xbe, 0x19, 0x8c, 0x2b, 0x3d, 0xdf, 0xe3, 0x1e, 0xba, 0xa4, 0xa4, 0x2a, 0xc1, 0xac, 0x96, 0x2a, - 0x5c, 0x6c, 0x7b, 0x6d, 0x4f, 0x8a, 0x2c, 0x89, 0x5f, 0x4a, 0xba, 0xb0, 0xd0, 0xf6, 0xbc, 0x76, - 0x87, 0x2c, 0xc9, 0x51, 0xb3, 0xdf, 0x5a, 0xc2, 0x74, 0xa0, 0x97, 0x16, 0x0f, 0x2f, 0x39, 0x7d, - 0x1f, 0x73, 0xd7, 0xa3, 0x7a, 0xbd, 0x78, 0x78, 0x9d, 0xbb, 0x5d, 0xc2, 0x38, 0xee, 0xf6, 0x02, - 0x6c, 0x75, 0x12, 0x4b, 0x6d, 0xaa, 0x8f, 0xa5, 0xb1, 0xb5, 0x29, 0x4d, 0xcc, 0x48, 0x68, 0x87, - 0xed, 0xb9, 0x01, 0xf6, 0x3c, 0xee, 0xba, 0xd4, 0x5b, 0x92, 0x7f, 0xf5, 0xd4, 0x57, 0x38, 0xa1, - 0x0e, 0xf1, 0xbb, 0x2e, 0xe5, 0x4b, 0x7c, 0xd0, 0x23, 0x4c, 0xfd, 0xd5, 0xab, 0x57, 0x62, 0xab, - 0xb8, 0x69, 0xbb, 0xf1, 0xc5, 0xf2, 0x2f, 0x0c, 0x98, 0xbb, 0xe3, 0x32, 0xee, 0xf9, 0xae, 0x8d, - 0x3b, 0x75, 0xda, 0xf2, 0xd0, 0xb7, 0x20, 0xbd, 0x4b, 0xb0, 0x43, 0xfc, 0xbc, 0x51, 0x32, 0xae, - 0x65, 0x6e, 0xe5, 0x2b, 0x11, 0x40, 0x45, 0xe9, 0xde, 0x91, 0xeb, 0xd5, 0xe9, 0x8f, 0x0f, 0x8a, - 0x13, 0xef, 0x7f, 0xfa, 0xc1, 0x75, 0xc3, 0xd4, 0x2a, 0xa8, 0x06, 0xe9, 0x7b, 0xb8, 0xc3, 0x08, - 0xcf, 0x27, 0x4a, 0xc9, 0x6b, 0x99, 0x5b, 0x2f, 0x54, 0x8e, 0xe6, 0xbc, 0xb2, 0x83, 0x3b, 0xae, - 0x83, 0xb9, 0x37, 0x8c, 0xa2, 0x74, 0xcb, 0x1f, 0x25, 0x20, 0xbb, 0xe2, 0x75, 0xbb, 0x2e, 0x63, - 0xae, 0x47, 0x4d, 0xcc, 0x09, 0x43, 0xdb, 0x90, 0xf2, 0x31, 0x27, 0xf2, 0x50, 0xd3, 0xd5, 0xdb, - 0x42, 0xe9, 0xaf, 0x07, 0xc5, 0x97, 0xda, 0x2e, 0xdf, 0xed, 0x37, 0x2b, 0xb6, 0xd7, 0xd5, 0x34, - 0xea, 0x7f, 0x37, 0x98, 0xb3, 0xa7, 0x2d, 0xad, 0x11, 0xfb, 0x93, 0x0f, 0x6f, 0x80, 0x3e, 0x48, - 0x8d, 0xd8, 0x6a, 0x33, 0x09, 0x87, 0x7e, 0x08, 0x53, 0x5d, 0xbc, 0x6f, 0x49, 0xe8, 0xc4, 0x79, - 0x41, 0x4f, 0x76, 0xf1, 0xbe, 0x38, 0x35, 0x72, 0x21, 0x2b, 0xd0, 0xed, 0x5d, 0x4c, 0xdb, 0x44, - 0x6d, 0x92, 0x3c, 0xaf, 0x4d, 0x66, 0xbb, 0x78, 0x7f, 0x45, 0x02, 0x8b, 0xad, 0x96, 0x53, 0x9f, - 0x3d, 0x2a, 0x1a, 0xe5, 0x3f, 0x18, 0x00, 0x11, 0x73, 0x08, 0x43, 0xce, 0x0e, 0x47, 0x72, 0x7f, - 0xa6, 0x6f, 0xf5, 0xe5, 0x71, 0x17, 0x73, 0x88, 0xf7, 0xea, 0xac, 0x38, 0xe9, 0xe3, 0x83, 0xa2, - 0xa1, 0x76, 0xcd, 0xda, 0x87, 0xee, 0xe5, 0x4d, 0xc8, 0xf4, 0x7b, 0x0e, 0xe6, 0xc4, 0x12, 0x4e, - 0x2e, 0x39, 0xcc, 0xdc, 0x2a, 0x54, 0x54, 0x04, 0x54, 0x82, 0x08, 0xa8, 0x6c, 0x05, 0x11, 0xa0, - 0x00, 0xdf, 0xfb, 0x5b, 0x00, 0x08, 0x4a, 0x5b, 0xac, 0x6b, 0x1b, 0xde, 0x37, 0x20, 0x53, 0x23, - 0xcc, 0xf6, 0xdd, 0x9e, 0x88, 0x29, 0x94, 0x87, 0xc9, 0xae, 0x47, 0xdd, 0x3d, 0xed, 0x91, 0xd3, - 0x66, 0x30, 0x44, 0x05, 0x98, 0x72, 0x1d, 0x42, 0xb9, 0xcb, 0x07, 0xea, 0xf2, 0xcc, 0x70, 0x2c, - 0xb4, 0xee, 0x93, 0x26, 0x73, 0x03, 0xca, 0xcd, 0x60, 0x88, 0x5e, 0x81, 0x1c, 0x23, 0x76, 0xdf, - 0x77, 0xf9, 0xc0, 0xb2, 0x3d, 0xca, 0xb1, 0xcd, 0xf3, 0x29, 0x29, 0x92, 0x0d, 0xe6, 0x57, 0xd4, - 0xb4, 0x00, 0x71, 0x08, 0xc7, 0x6e, 0x87, 0xe5, 0x9f, 0x53, 0x20, 0x7a, 0xa8, 0x8f, 0xfa, 0xd1, - 0x24, 0x4c, 0x87, 0x9e, 0x8c, 0x56, 0x20, 0xe7, 0xf5, 0x88, 0x2f, 0x7e, 0x5b, 0xd8, 0x71, 0x7c, - 0xc2, 0x98, 0x76, 0xd7, 0xfc, 0x27, 0x1f, 0xde, 0xb8, 0xa8, 0x09, 0xbf, 0xad, 0x56, 0x1a, 0xdc, - 0x77, 0x69, 0xdb, 0xcc, 0x06, 0x1a, 0x7a, 0x1a, 0xbd, 0x23, 0xae, 0x8c, 0x32, 0x42, 0x59, 0x9f, - 0x59, 0xbd, 0x7e, 0x73, 0x8f, 0x0c, 0x34, 0xa9, 0x17, 0x47, 0x48, 0xbd, 0x4d, 0x07, 0xd5, 0xfc, - 0x9f, 0x22, 0x68, 0xdb, 0x1f, 0xf4, 0xb8, 0x57, 0xd9, 0xec, 0x37, 0xef, 0x92, 0x81, 0xb8, 0x2a, - 0x8d, 0xb3, 0x29, 0x61, 0xd0, 0x25, 0x48, 0xff, 0x18, 0xbb, 0x1d, 0xe2, 0x48, 0x46, 0xa6, 0x4c, - 0x3d, 0x42, 0xcb, 0x90, 0x66, 0x1c, 0xf3, 0x3e, 0x93, 0x34, 0xcc, 0xdd, 0x2a, 0x8f, 0xf3, 0x8d, - 0xaa, 0x47, 0x9d, 0x86, 0x94, 0x34, 0xb5, 0x06, 0xda, 0x82, 0x34, 0xf7, 0xf6, 0x08, 0xd5, 0x04, - 0x55, 0x5f, 0x3f, 0x85, 0x63, 0xd7, 0x29, 0x8f, 0x39, 0x76, 0x9d, 0x72, 0x53, 0x63, 0xa1, 0x36, - 0xe4, 0x1c, 0xd2, 0x21, 0x6d, 0x49, 0x25, 0xdb, 0xc5, 0x3e, 0x61, 0xf9, 0xf4, 0xa9, 0xf1, 0x47, - 0x02, 0xc7, 0xcc, 0x86, 0xa8, 0x0d, 0x09, 0x8a, 0x36, 0x21, 0xe3, 0x44, 0xae, 0x96, 0x9f, 0x94, - 0x44, 0xbf, 0x38, 0xce, 0xfe, 0x98, 0x57, 0xc6, 0xd3, 0x56, 0x1c, 0x42, 0x78, 0x57, 0x9f, 0x36, - 0x3d, 0xea, 0xb8, 0xb4, 0x6d, 0xed, 0x12, 0xb7, 0xbd, 0xcb, 0xf3, 0x53, 0x25, 0xe3, 0x5a, 0xd2, - 0xcc, 0x86, 0xf3, 0x77, 0xe4, 0x34, 0xda, 0x84, 0xb9, 0x48, 0x54, 0x46, 0xcf, 0xf4, 0x69, 0xa3, - 0x67, 0x36, 0x04, 0x10, 0x22, 0xe8, 0x6d, 0x80, 0x28, 0x3e, 0xf3, 0x20, 0xd1, 0xca, 0xc7, 0x47, - 0x7a, 0xdc, 0x98, 0x18, 0x00, 0xea, 0xc0, 0x85, 0xae, 0x4b, 0x2d, 0x46, 0x3a, 0x2d, 0x4b, 0x33, - 0x27, 0x70, 0x33, 0xe7, 0x70, 0xd3, 0xf3, 0x5d, 0x97, 0x36, 0x48, 0xa7, 0x55, 0x0b, 0x61, 0xd1, - 0xeb, 0x70, 0x25, 0xa2, 0xc3, 0xa3, 0xd6, 0xae, 0xd7, 0x71, 0x2c, 0x9f, 0xb4, 0x2c, 0xdb, 0xeb, - 0x53, 0x9e, 0x9f, 0x91, 0x24, 0x5e, 0x0e, 0x45, 0x36, 0xe8, 0x1d, 0xaf, 0xe3, 0x98, 0xa4, 0xb5, - 0x22, 0x96, 0xd1, 0x8b, 0x10, 0x71, 0x61, 0xb9, 0x0e, 0xcb, 0xcf, 0x96, 0x92, 0xd7, 0x52, 0xe6, - 0x4c, 0x38, 0x59, 0x77, 0xd8, 0xf2, 0xd4, 0xbb, 0x8f, 0x8a, 0x13, 0x9f, 0x3d, 0x2a, 0x4e, 0x94, - 0xd7, 0x60, 0x66, 0x07, 0x77, 0x74, 0xd0, 0x11, 0x86, 0x5e, 0x83, 0x69, 0x1c, 0x0c, 0xf2, 0x46, - 0x29, 0xf9, 0xcc, 0xa0, 0x8d, 0x44, 0xcb, 0x8f, 0x0c, 0x48, 0xd7, 0x76, 0x36, 0xb1, 0xeb, 0xa3, - 0x55, 0x98, 0x8f, 0x9c, 0xf6, 0xa4, 0xf1, 0x1f, 0xf9, 0x79, 0x90, 0x00, 0x56, 0x61, 0xfe, 0x5e, - 0x90, 0x52, 0x42, 0x98, 0xc4, 0x71, 0x30, 0xa1, 0x8a, 0x9e, 0x8f, 0x99, 0xfa, 0x26, 0x4c, 0xaa, - 0x13, 0x32, 0xf4, 0x1d, 0x78, 0xae, 0x27, 0x7e, 0x48, 0x0b, 0x33, 0xb7, 0x16, 0xc7, 0x3a, 0xba, - 0x94, 0x8f, 0xbb, 0x85, 0xd2, 0x2b, 0xff, 0xdb, 0x00, 0xa8, 0xed, 0xec, 0x6c, 0xf9, 0x6e, 0xaf, - 0x43, 0xf8, 0x79, 0x99, 0xfc, 0x16, 0x3c, 0x1f, 0x99, 0xcc, 0x7c, 0xfb, 0xc4, 0x66, 0x5f, 0x08, - 0xd5, 0x1a, 0xbe, 0x7d, 0x24, 0x9a, 0xc3, 0x78, 0x88, 0x96, 0x3c, 0x31, 0x5a, 0x8d, 0xf1, 0x51, - 0x1e, 0xbf, 0x07, 0x99, 0xc8, 0x74, 0x86, 0xea, 0x30, 0xc5, 0xf5, 0x6f, 0x4d, 0x67, 0x79, 0x3c, - 0x9d, 0x81, 0x5a, 0x9c, 0xd2, 0x50, 0xbd, 0xfc, 0x1f, 0xc1, 0x6a, 0x14, 0x08, 0x5f, 0x28, 0x47, - 0x12, 0x19, 0x5e, 0x67, 0xe0, 0xe4, 0x39, 0x64, 0x60, 0x8d, 0x15, 0xa3, 0xf5, 0xa7, 0x09, 0xb8, - 0xb0, 0x1d, 0x04, 0xe9, 0x17, 0x96, 0x85, 0x6d, 0x98, 0x24, 0x94, 0xfb, 0xae, 0xa4, 0x41, 0x5c, - 0xf6, 0xd7, 0xc7, 0x5d, 0xf6, 0x11, 0xb6, 0xac, 0x52, 0xee, 0x0f, 0xe2, 0x57, 0x1f, 0x60, 0xc5, - 0x68, 0xf8, 0x7d, 0x12, 0xf2, 0xe3, 0x54, 0xd1, 0xcb, 0x90, 0xb5, 0x7d, 0x22, 0x27, 0x82, 0x37, - 0xc5, 0x90, 0xe9, 0x70, 0x2e, 0x98, 0xd6, 0x4f, 0x8a, 0x09, 0xe2, 0x03, 0x4d, 0x78, 0x95, 0x10, - 0x3d, 0xdb, 0x17, 0xd9, 0x5c, 0x84, 0x20, 0x1f, 0x15, 0x02, 0x59, 0x97, 0xba, 0xdc, 0xc5, 0x1d, - 0xab, 0x89, 0x3b, 0x98, 0xda, 0xe4, 0x0c, 0x9e, 0x30, 0xfa, 0x02, 0xcc, 0x69, 0xd0, 0xaa, 0xc2, - 0x44, 0x3b, 0x30, 0x19, 0xc0, 0xa7, 0xce, 0x01, 0x3e, 0x00, 0x43, 0x2f, 0xc0, 0x4c, 0xfc, 0x61, - 0x90, 0xdf, 0x29, 0x29, 0x33, 0x13, 0x7b, 0x17, 0x8e, 0x7b, 0x79, 0xd2, 0xcf, 0x7c, 0x79, 0xf4, - 0xa7, 0xe0, 0xef, 0x92, 0x30, 0x6f, 0x12, 0xe7, 0x4b, 0x78, 0x71, 0x3f, 0x00, 0x50, 0x41, 0x2d, - 0x92, 0xed, 0x19, 0xee, 0x6e, 0x34, 0x49, 0x4c, 0x2b, 0xbc, 0x1a, 0xe3, 0xff, 0xaf, 0xdb, 0xfb, - 0x73, 0x02, 0x66, 0xe2, 0xb7, 0xf7, 0x25, 0x78, 0xd9, 0xd0, 0x7a, 0x94, 0xd2, 0x52, 0x32, 0xa5, - 0xbd, 0x32, 0x2e, 0xa5, 0x8d, 0xf8, 0xf5, 0x31, 0xb9, 0xec, 0x37, 0x29, 0x48, 0x6f, 0x62, 0x1f, - 0x77, 0x19, 0xda, 0x18, 0xf9, 0xc6, 0x55, 0xf5, 0xe7, 0xc2, 0x88, 0x5b, 0xd7, 0x74, 0x0f, 0x45, - 0x79, 0xf5, 0x2f, 0xc7, 0x7d, 0xe2, 0x7e, 0x0d, 0xe6, 0x44, 0x49, 0x1d, 0x1a, 0xa4, 0xa8, 0x9c, - 0x95, 0xe5, 0x70, 0x58, 0x8a, 0x31, 0x54, 0x84, 0x8c, 0x10, 0x8b, 0x72, 0xb6, 0x90, 0x81, 0x2e, - 0xde, 0x5f, 0x55, 0x33, 0xe8, 0x06, 0xa0, 0xdd, 0xb0, 0xf1, 0x61, 0x45, 0x44, 0x08, 0xb9, 0xf9, - 0x68, 0x25, 0x10, 0xff, 0x2a, 0x80, 0x38, 0x85, 0xe5, 0x10, 0xea, 0x75, 0x75, 0x31, 0x38, 0x2d, - 0x66, 0x6a, 0x62, 0x02, 0xfd, 0xdc, 0x50, 0x9f, 0xca, 0x87, 0xaa, 0x6d, 0x5d, 0xb4, 0x58, 0xa7, - 0x8b, 0x86, 0xcf, 0x0f, 0x8a, 0x85, 0x01, 0xee, 0x76, 0x96, 0xcb, 0x47, 0x40, 0x96, 0x8f, 0xea, - 0x05, 0x88, 0xaf, 0xe9, 0xe1, 0xc2, 0x1d, 0xad, 0x43, 0x6e, 0x8f, 0x0c, 0x2c, 0xdf, 0xe3, 0x2a, - 0xfb, 0xb4, 0x08, 0xd1, 0xe5, 0xcd, 0x42, 0x70, 0xcd, 0x4d, 0xcc, 0x48, 0xac, 0x1a, 0x70, 0x87, - 0xea, 0x80, 0xb9, 0x3d, 0x32, 0x30, 0xb5, 0xf2, 0x1a, 0x21, 0xe8, 0x9b, 0xb0, 0x20, 0x5b, 0x19, - 0x1e, 0x0d, 0xca, 0xd2, 0x10, 0x9b, 0xc9, 0x02, 0x27, 0x65, 0x5e, 0xea, 0xe2, 0xfd, 0x15, 0x8f, - 0xea, 0x72, 0x33, 0x50, 0x66, 0xcb, 0x57, 0x45, 0x88, 0x3d, 0xf8, 0xf4, 0x83, 0xeb, 0x57, 0x62, - 0xd6, 0xee, 0x87, 0xcd, 0x3a, 0xe5, 0x29, 0xe5, 0x5f, 0x1b, 0x80, 0xa2, 0x77, 0xcf, 0x24, 0xac, - 0x27, 0xca, 0x57, 0x51, 0xd2, 0xc4, 0x4a, 0x0f, 0xe3, 0xd9, 0x25, 0x4d, 0xa4, 0x3f, 0x54, 0xd2, - 0xc4, 0xe2, 0xfa, 0xdb, 0xd1, 0x2b, 0x93, 0x38, 0x05, 0x1b, 0x81, 0x92, 0x4c, 0x17, 0x13, 0xe5, - 0x03, 0x03, 0x16, 0x46, 0x82, 0x22, 0x3c, 0xb2, 0x0d, 0xc8, 0x8f, 0x2d, 0x4a, 0xe7, 0x1a, 0xe8, - 0xa3, 0x9f, 0x2d, 0xc6, 0xe6, 0xfd, 0x91, 0x97, 0xe5, 0x7f, 0xf4, 0x5c, 0xea, 0x7c, 0xf8, 0x47, - 0x03, 0x2e, 0xc6, 0x4f, 0x14, 0xda, 0xd6, 0x80, 0x99, 0xf8, 0x59, 0xb4, 0x55, 0x57, 0x4f, 0x62, - 0x55, 0xdc, 0xa0, 0x21, 0x10, 0x61, 0x4b, 0x10, 0x80, 0xaa, 0x6d, 0x78, 0xf3, 0xc4, 0x2c, 0x05, - 0x07, 0x3b, 0x32, 0x23, 0xa9, 0xcb, 0xfa, 0x59, 0x02, 0x52, 0x9b, 0x9e, 0xd7, 0x41, 0x3f, 0x31, - 0x60, 0x9e, 0x7a, 0xdc, 0x12, 0x61, 0x4b, 0x1c, 0x4b, 0xf7, 0x2d, 0x54, 0x52, 0xdf, 0x39, 0x1d, - 0x7b, 0xff, 0x38, 0x28, 0x8e, 0x42, 0x0d, 0x53, 0xaa, 0xfb, 0x65, 0xd4, 0xe3, 0x55, 0x29, 0xb4, - 0xa5, 0x5a, 0x1b, 0xf7, 0x61, 0x76, 0x78, 0x7f, 0xf5, 0x12, 0x98, 0xa7, 0xde, 0x7f, 0xf6, 0xd8, - 0xbd, 0x67, 0x9a, 0xb1, 0x8d, 0x97, 0xa7, 0xc4, 0xc5, 0xfe, 0x4b, 0x5c, 0xee, 0x3b, 0x90, 0x0b, - 0x33, 0xe5, 0xb6, 0xec, 0xbe, 0x89, 0xcf, 0xe4, 0x49, 0xd5, 0x88, 0x0b, 0x8a, 0x99, 0x52, 0xbc, - 0xed, 0x8b, 0x9b, 0xb6, 0x5b, 0x39, 0xa4, 0x33, 0xc4, 0xb8, 0xd6, 0x2d, 0xff, 0x33, 0x01, 0x0b, - 0x3a, 0x05, 0xdc, 0x8d, 0x52, 0x80, 0xea, 0x30, 0x0f, 0xd0, 0xda, 0xd8, 0x06, 0xd9, 0x95, 0xcf, - 0x0f, 0x8a, 0x97, 0x55, 0xce, 0x3b, 0x2c, 0x51, 0x1e, 0xed, 0x91, 0xed, 0x40, 0x56, 0xbc, 0xf1, - 0xb1, 0x5c, 0x74, 0xc6, 0x16, 0xd9, 0xac, 0xd7, 0x71, 0xa2, 0x8c, 0x25, 0x70, 0x29, 0xb9, 0x3f, - 0x84, 0x9b, 0x3c, 0x1b, 0x2e, 0x25, 0xf7, 0x63, 0xb8, 0x97, 0x20, 0xad, 0x3f, 0xfe, 0x52, 0x32, - 0x51, 0xea, 0x11, 0x7a, 0x0d, 0x92, 0x22, 0x2d, 0x3f, 0x77, 0x8a, 0x44, 0x24, 0x14, 0x62, 0x2f, - 0x6d, 0x03, 0x16, 0x74, 0x1b, 0x83, 0x6d, 0xb4, 0x24, 0xdd, 0x44, 0x1a, 0x74, 0x97, 0x0c, 0xce, - 0xdc, 0xd3, 0xb8, 0xfe, 0x5b, 0x03, 0x20, 0x6a, 0xf5, 0xa1, 0x57, 0xe1, 0x72, 0x75, 0x63, 0xbd, - 0x66, 0x35, 0xb6, 0x6e, 0x6f, 0x6d, 0x37, 0xac, 0xed, 0xf5, 0xc6, 0xe6, 0xea, 0x4a, 0x7d, 0xad, - 0xbe, 0x5a, 0xcb, 0x4d, 0x14, 0xb2, 0x0f, 0x1e, 0x96, 0x32, 0xdb, 0x94, 0xf5, 0x88, 0xed, 0xb6, - 0x5c, 0xe2, 0xa0, 0x97, 0xe0, 0xe2, 0xb0, 0xb4, 0x18, 0xad, 0xd6, 0x72, 0x46, 0x61, 0xe6, 0xc1, - 0xc3, 0xd2, 0x94, 0x2a, 0x71, 0x88, 0x83, 0xae, 0xc1, 0xf3, 0xa3, 0x72, 0xf5, 0xf5, 0x37, 0x72, - 0x89, 0xc2, 0xec, 0x83, 0x87, 0xa5, 0xe9, 0xb0, 0x16, 0x42, 0x65, 0x40, 0x71, 0x49, 0x8d, 0x97, - 0x2c, 0xc0, 0x83, 0x87, 0xa5, 0xb4, 0x8a, 0xad, 0x42, 0xea, 0xdd, 0x5f, 0x2d, 0x4e, 0x5c, 0xff, - 0x11, 0x40, 0x9d, 0xb6, 0x7c, 0x6c, 0xcb, 0xac, 0x52, 0x80, 0x4b, 0xf5, 0xf5, 0x35, 0xf3, 0xf6, - 0xca, 0x56, 0x7d, 0x63, 0x7d, 0xf8, 0xd8, 0x87, 0xd6, 0x6a, 0x1b, 0xdb, 0xd5, 0xb7, 0x56, 0xad, - 0x46, 0xfd, 0x8d, 0xf5, 0x9c, 0x81, 0x2e, 0xc3, 0x85, 0xa1, 0xb5, 0xef, 0xae, 0x6f, 0xd5, 0xdf, - 0x5e, 0xcd, 0x25, 0xaa, 0x6b, 0x1f, 0x3f, 0x59, 0x34, 0x1e, 0x3f, 0x59, 0x34, 0xfe, 0xfe, 0x64, - 0xd1, 0x78, 0xef, 0xe9, 0xe2, 0xc4, 0xe3, 0xa7, 0x8b, 0x13, 0x7f, 0x79, 0xba, 0x38, 0xf1, 0xfd, - 0x57, 0x9f, 0x19, 0xb5, 0xd1, 0x53, 0x27, 0xe3, 0xb7, 0x99, 0x96, 0x5e, 0xf4, 0x8d, 0xff, 0x06, - 0x00, 0x00, 0xff, 0xff, 0xb7, 0xfb, 0x1b, 0xda, 0xb6, 0x1a, 0x00, 0x00, + // 2043 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x4f, 0x6c, 0x63, 0x47, + 0x19, 0xcf, 0xb3, 0x5d, 0x27, 0xf9, 0x1c, 0xc7, 0xce, 0x6c, 0x9a, 0x75, 0xbc, 0x10, 0xbb, 0xee, + 0xd2, 0xa6, 0xab, 0xae, 0xc3, 0x06, 0xa9, 0x12, 0xa1, 0x02, 0xc5, 0x71, 0xd2, 0x75, 0xb7, 0x4d, + 0xa2, 0xe7, 0x24, 0x50, 0xfe, 0xe8, 0x69, 0xfc, 0xde, 0xd8, 0x79, 0xc4, 0x9e, 0x67, 0xbd, 0x19, + 0xef, 0xc6, 0x57, 0xc4, 0xa1, 0xca, 0x01, 0x2a, 0x71, 0xe1, 0xb2, 0xd2, 0x4a, 0x5c, 0xca, 0xad, + 0x42, 0x15, 0x3d, 0x20, 0x0e, 0xdc, 0x0a, 0x5c, 0x56, 0x3d, 0x21, 0x0e, 0x01, 0xed, 0x1e, 0x5a, + 0x21, 0x21, 0xa1, 0xde, 0xe0, 0x84, 0x66, 0xde, 0xbc, 0x3f, 0x8e, 0xe3, 0xcd, 0x1f, 0x05, 0x54, + 0xa9, 0x17, 0xfb, 0xcd, 0xcc, 0xf7, 0xfd, 0x66, 0xbe, 0xbf, 0x33, 0xdf, 0x07, 0x37, 0x4d, 0x87, + 0x75, 0x1c, 0xb6, 0xc4, 0x38, 0x3e, 0xb0, 0x69, 0x6b, 0xe9, 0xfe, 0x9d, 0x06, 0xe1, 0xf8, 0x8e, + 0x3f, 0x2e, 0x77, 0x5d, 0x87, 0x3b, 0x68, 0xce, 0xa3, 0x2a, 0xfb, 0xb3, 0x8a, 0x2a, 0x3f, 0xdb, + 0x72, 0x5a, 0x8e, 0x24, 0x59, 0x12, 0x5f, 0x1e, 0x75, 0x7e, 0xbe, 0xe5, 0x38, 0xad, 0x36, 0x59, + 0x92, 0xa3, 0x46, 0xaf, 0xb9, 0x84, 0x69, 0x5f, 0x2d, 0x2d, 0x9c, 0x5c, 0xb2, 0x7a, 0x2e, 0xe6, + 0xb6, 0x43, 0xd5, 0x7a, 0xe1, 0xe4, 0x3a, 0xb7, 0x3b, 0x84, 0x71, 0xdc, 0xe9, 0xfa, 0xd8, 0xde, + 0x49, 0x0c, 0x6f, 0x53, 0x75, 0x2c, 0x85, 0xad, 0x44, 0x69, 0x60, 0x46, 0x02, 0x39, 0x4c, 0xc7, + 0xf6, 0xb1, 0x67, 0x70, 0xc7, 0xa6, 0xce, 0x92, 0xfc, 0x55, 0x53, 0x5f, 0xe1, 0x84, 0x5a, 0xc4, + 0xed, 0xd8, 0x94, 0x2f, 0xf1, 0x7e, 0x97, 0x30, 0xef, 0x57, 0xad, 0xde, 0x88, 0xac, 0xe2, 0x86, + 0x69, 0x47, 0x17, 0x4b, 0xbf, 0xd0, 0x60, 0xfa, 0xae, 0xcd, 0xb8, 0xe3, 0xda, 0x26, 0x6e, 0xd7, + 0x68, 0xd3, 0x41, 0xdf, 0x82, 0xe4, 0x3e, 0xc1, 0x16, 0x71, 0x73, 0x5a, 0x51, 0x5b, 0x4c, 0x2d, + 0xe7, 0xca, 0x21, 0x40, 0xd9, 0xe3, 0xbd, 0x2b, 0xd7, 0x2b, 0x93, 0x1f, 0x1f, 0x17, 0xc6, 0xde, + 0xff, 0xf4, 0x83, 0x5b, 0x9a, 0xae, 0x58, 0x50, 0x15, 0x92, 0xf7, 0x71, 0x9b, 0x11, 0x9e, 0x8b, + 0x15, 0xe3, 0x8b, 0xa9, 0xe5, 0x17, 0xca, 0xa7, 0xeb, 0xbc, 0xbc, 0x87, 0xdb, 0xb6, 0x85, 0xb9, + 0x33, 0x88, 0xe2, 0xf1, 0x96, 0x3e, 0x8a, 0x41, 0x66, 0xcd, 0xe9, 0x74, 0x6c, 0xc6, 0x6c, 0x87, + 0xea, 0x98, 0x13, 0x86, 0x76, 0x21, 0xe1, 0x62, 0x4e, 0xe4, 0xa1, 0x26, 0x2b, 0xab, 0x82, 0xe9, + 0xaf, 0xc7, 0x85, 0x97, 0x5a, 0x36, 0xdf, 0xef, 0x35, 0xca, 0xa6, 0xd3, 0x51, 0x6a, 0x54, 0x7f, + 0xb7, 0x99, 0x75, 0xa0, 0x24, 0xad, 0x12, 0xf3, 0x93, 0x0f, 0x6f, 0x83, 0x3a, 0x48, 0x95, 0x98, + 0xde, 0x66, 0x12, 0x0e, 0xfd, 0x10, 0x26, 0x3a, 0xf8, 0xd0, 0x90, 0xd0, 0xb1, 0xab, 0x82, 0x1e, + 0xef, 0xe0, 0x43, 0x71, 0x6a, 0x64, 0x43, 0x46, 0xa0, 0x9b, 0xfb, 0x98, 0xb6, 0x88, 0xb7, 0x49, + 0xfc, 0xaa, 0x36, 0x49, 0x77, 0xf0, 0xe1, 0x9a, 0x04, 0x16, 0x5b, 0xad, 0x24, 0x3e, 0x7b, 0x54, + 0xd0, 0x4a, 0x7f, 0xd0, 0x00, 0x42, 0xcd, 0x21, 0x0c, 0x59, 0x33, 0x18, 0xc9, 0xfd, 0x99, 0xb2, + 0xea, 0xcb, 0xa3, 0x0c, 0x73, 0x42, 0xef, 0x95, 0xb4, 0x38, 0xe9, 0xe3, 0xe3, 0x82, 0xe6, 0xed, + 0x9a, 0x31, 0x4f, 0xd8, 0xe5, 0x4d, 0x48, 0xf5, 0xba, 0x16, 0xe6, 0xc4, 0x10, 0x4e, 0x2e, 0x75, + 0x98, 0x5a, 0xce, 0x97, 0xbd, 0x08, 0x28, 0xfb, 0x11, 0x50, 0xde, 0xf1, 0x23, 0xc0, 0x03, 0x7c, + 0xef, 0x6f, 0x3e, 0x20, 0x78, 0xdc, 0x62, 0x5d, 0xc9, 0xf0, 0xbe, 0x06, 0xa9, 0x2a, 0x61, 0xa6, + 0x6b, 0x77, 0x45, 0x4c, 0xa1, 0x1c, 0x8c, 0x77, 0x1c, 0x6a, 0x1f, 0x28, 0x8f, 0x9c, 0xd4, 0xfd, + 0x21, 0xca, 0xc3, 0x84, 0x6d, 0x11, 0xca, 0x6d, 0xde, 0xf7, 0x8c, 0xa7, 0x07, 0x63, 0xc1, 0xf5, + 0x80, 0x34, 0x98, 0xed, 0xab, 0x5c, 0xf7, 0x87, 0xe8, 0x15, 0xc8, 0x32, 0x62, 0xf6, 0x5c, 0x9b, + 0xf7, 0x0d, 0xd3, 0xa1, 0x1c, 0x9b, 0x3c, 0x97, 0x90, 0x24, 0x19, 0x7f, 0x7e, 0xcd, 0x9b, 0x16, + 0x20, 0x16, 0xe1, 0xd8, 0x6e, 0xb3, 0xdc, 0x73, 0x1e, 0x88, 0x1a, 0xaa, 0xa3, 0x7e, 0x34, 0x0e, + 0x93, 0x81, 0x27, 0xa3, 0x35, 0xc8, 0x3a, 0x5d, 0xe2, 0x8a, 0x6f, 0x03, 0x5b, 0x96, 0x4b, 0x18, + 0x53, 0xee, 0x9a, 0xfb, 0xe4, 0xc3, 0xdb, 0xb3, 0x4a, 0xe1, 0xab, 0xde, 0x4a, 0x9d, 0xbb, 0x36, + 0x6d, 0xe9, 0x19, 0x9f, 0x43, 0x4d, 0xa3, 0x77, 0x84, 0xc9, 0x28, 0x23, 0x94, 0xf5, 0x98, 0xd1, + 0xed, 0x35, 0x0e, 0x48, 0x5f, 0x29, 0x75, 0x76, 0x48, 0xa9, 0xab, 0xb4, 0x5f, 0xc9, 0xfd, 0x29, + 0x84, 0x36, 0xdd, 0x7e, 0x97, 0x3b, 0xe5, 0xed, 0x5e, 0xe3, 0x1e, 0xe9, 0x0b, 0x53, 0x29, 0x9c, + 0x6d, 0x09, 0x83, 0xe6, 0x20, 0xf9, 0x63, 0x6c, 0xb7, 0x89, 0x25, 0x35, 0x32, 0xa1, 0xab, 0x11, + 0x5a, 0x81, 0x24, 0xe3, 0x98, 0xf7, 0x98, 0x54, 0xc3, 0xf4, 0x72, 0x69, 0x94, 0x6f, 0x54, 0x1c, + 0x6a, 0xd5, 0x25, 0xa5, 0xae, 0x38, 0xd0, 0x0e, 0x24, 0xb9, 0x73, 0x40, 0xa8, 0x52, 0x50, 0xe5, + 0xf5, 0x0b, 0x38, 0x76, 0x8d, 0xf2, 0x88, 0x63, 0xd7, 0x28, 0xd7, 0x15, 0x16, 0x6a, 0x41, 0xd6, + 0x22, 0x6d, 0xd2, 0x92, 0xaa, 0x64, 0xfb, 0xd8, 0x25, 0x2c, 0x97, 0xbc, 0x30, 0xfe, 0x50, 0xe0, + 0xe8, 0x99, 0x00, 0xb5, 0x2e, 0x41, 0xd1, 0x36, 0xa4, 0xac, 0xd0, 0xd5, 0x72, 0xe3, 0x52, 0xd1, + 0x2f, 0x8e, 0x92, 0x3f, 0xe2, 0x95, 0xd1, 0xb4, 0x15, 0x85, 0x10, 0xde, 0xd5, 0xa3, 0x0d, 0x87, + 0x5a, 0x36, 0x6d, 0x19, 0xfb, 0xc4, 0x6e, 0xed, 0xf3, 0xdc, 0x44, 0x51, 0x5b, 0x8c, 0xeb, 0x99, + 0x60, 0xfe, 0xae, 0x9c, 0x46, 0xdb, 0x30, 0x1d, 0x92, 0xca, 0xe8, 0x99, 0xbc, 0x68, 0xf4, 0xa4, + 0x03, 0x00, 0x41, 0x82, 0xde, 0x06, 0x08, 0xe3, 0x33, 0x07, 0x12, 0xad, 0x74, 0x76, 0xa4, 0x47, + 0x85, 0x89, 0x00, 0xa0, 0x36, 0x5c, 0xeb, 0xd8, 0xd4, 0x60, 0xa4, 0xdd, 0x34, 0x94, 0xe6, 0x04, + 0x6e, 0xea, 0x0a, 0x2c, 0x3d, 0xd3, 0xb1, 0x69, 0x9d, 0xb4, 0x9b, 0xd5, 0x00, 0x16, 0xbd, 0x0e, + 0x37, 0x42, 0x75, 0x38, 0xd4, 0xd8, 0x77, 0xda, 0x96, 0xe1, 0x92, 0xa6, 0x61, 0x3a, 0x3d, 0xca, + 0x73, 0x53, 0x52, 0x89, 0xd7, 0x03, 0x92, 0x2d, 0x7a, 0xd7, 0x69, 0x5b, 0x3a, 0x69, 0xae, 0x89, + 0x65, 0xf4, 0x22, 0x84, 0xba, 0x30, 0x6c, 0x8b, 0xe5, 0xd2, 0xc5, 0xf8, 0x62, 0x42, 0x9f, 0x0a, + 0x26, 0x6b, 0x16, 0x5b, 0x99, 0x78, 0xf7, 0x51, 0x61, 0xec, 0xb3, 0x47, 0x85, 0xb1, 0xd2, 0x06, + 0x4c, 0xed, 0xe1, 0xb6, 0x0a, 0x3a, 0xc2, 0xd0, 0x6b, 0x30, 0x89, 0xfd, 0x41, 0x4e, 0x2b, 0xc6, + 0x9f, 0x19, 0xb4, 0x21, 0x69, 0xe9, 0x91, 0x06, 0xc9, 0xea, 0xde, 0x36, 0xb6, 0x5d, 0xb4, 0x0e, + 0x33, 0xa1, 0xd3, 0x9e, 0x37, 0xfe, 0x43, 0x3f, 0xf7, 0x13, 0xc0, 0x3a, 0xcc, 0xdc, 0xf7, 0x53, + 0x4a, 0x00, 0x13, 0x3b, 0x0b, 0x26, 0x60, 0x51, 0xf3, 0x11, 0x51, 0xdf, 0x84, 0x71, 0xef, 0x84, + 0x0c, 0x7d, 0x07, 0x9e, 0xeb, 0x8a, 0x0f, 0x29, 0x61, 0x6a, 0x79, 0x61, 0xa4, 0xa3, 0x4b, 0xfa, + 0xa8, 0x5b, 0x78, 0x7c, 0xa5, 0x7f, 0x6b, 0x00, 0xd5, 0xbd, 0xbd, 0x1d, 0xd7, 0xee, 0xb6, 0x09, + 0xbf, 0x2a, 0x91, 0xdf, 0x82, 0xe7, 0x43, 0x91, 0x99, 0x6b, 0x9e, 0x5b, 0xec, 0x6b, 0x01, 0x5b, + 0xdd, 0x35, 0x4f, 0x45, 0xb3, 0x18, 0x0f, 0xd0, 0xe2, 0xe7, 0x46, 0xab, 0x32, 0x3e, 0xac, 0xc7, + 0xef, 0x41, 0x2a, 0x14, 0x9d, 0xa1, 0x1a, 0x4c, 0x70, 0xf5, 0xad, 0xd4, 0x59, 0x1a, 0xad, 0x4e, + 0x9f, 0x2d, 0xaa, 0xd2, 0x80, 0xbd, 0xf4, 0x1f, 0xa1, 0xd5, 0x30, 0x10, 0xbe, 0x50, 0x8e, 0x24, + 0x32, 0xbc, 0xca, 0xc0, 0xf1, 0x2b, 0xc8, 0xc0, 0x0a, 0x2b, 0xa2, 0xd6, 0x9f, 0xc6, 0xe0, 0xda, + 0xae, 0x1f, 0xa4, 0x5f, 0x58, 0x2d, 0xec, 0xc2, 0x38, 0xa1, 0xdc, 0xb5, 0xa5, 0x1a, 0x84, 0xb1, + 0xbf, 0x3e, 0xca, 0xd8, 0xa7, 0xc8, 0xb2, 0x4e, 0xb9, 0xdb, 0x8f, 0x9a, 0xde, 0xc7, 0x8a, 0xa8, + 0xe1, 0xf7, 0x71, 0xc8, 0x8d, 0x62, 0x45, 0x2f, 0x43, 0xc6, 0x74, 0x89, 0x9c, 0xf0, 0xef, 0x14, + 0x4d, 0xa6, 0xc3, 0x69, 0x7f, 0x5a, 0x5d, 0x29, 0x3a, 0x88, 0x07, 0x9a, 0xf0, 0x2a, 0x41, 0x7a, + 0xb9, 0x17, 0xd9, 0x74, 0x88, 0x20, 0x2f, 0x15, 0x02, 0x19, 0x9b, 0xda, 0xdc, 0xc6, 0x6d, 0xa3, + 0x81, 0xdb, 0x98, 0x9a, 0xe4, 0x12, 0x9e, 0x30, 0x7c, 0x03, 0x4c, 0x2b, 0xd0, 0x8a, 0x87, 0x89, + 0xf6, 0x60, 0xdc, 0x87, 0x4f, 0x5c, 0x01, 0xbc, 0x0f, 0x86, 0x5e, 0x80, 0xa9, 0xe8, 0xc5, 0x20, + 0xdf, 0x29, 0x09, 0x3d, 0x15, 0xb9, 0x17, 0xce, 0xba, 0x79, 0x92, 0xcf, 0xbc, 0x79, 0xd4, 0x53, + 0xf0, 0x77, 0x71, 0x98, 0xd1, 0x89, 0xf5, 0x25, 0x34, 0xdc, 0x0f, 0x00, 0xbc, 0xa0, 0x16, 0xc9, + 0xf6, 0x12, 0xb6, 0x1b, 0x4e, 0x12, 0x93, 0x1e, 0x5e, 0x95, 0xf1, 0xff, 0x97, 0xf5, 0xfe, 0x1c, + 0x83, 0xa9, 0xa8, 0xf5, 0xbe, 0x04, 0x37, 0x1b, 0xda, 0x0c, 0x53, 0x5a, 0x42, 0xa6, 0xb4, 0x57, + 0x46, 0xa5, 0xb4, 0x21, 0xbf, 0x3e, 0x23, 0x97, 0xfd, 0x26, 0x01, 0xc9, 0x6d, 0xec, 0xe2, 0x0e, + 0x43, 0x5b, 0x43, 0x6f, 0x5c, 0xaf, 0xfe, 0x9c, 0x1f, 0x72, 0xeb, 0xaa, 0xea, 0xa1, 0x78, 0x5e, + 0xfd, 0xcb, 0x51, 0x4f, 0xdc, 0xaf, 0xc1, 0xb4, 0x28, 0xa9, 0x03, 0x81, 0x3c, 0x55, 0xa6, 0x65, + 0x39, 0x1c, 0x94, 0x62, 0x0c, 0x15, 0x20, 0x25, 0xc8, 0xc2, 0x9c, 0x2d, 0x68, 0xa0, 0x83, 0x0f, + 0xd7, 0xbd, 0x19, 0x74, 0x1b, 0xd0, 0x7e, 0xd0, 0xf8, 0x30, 0x42, 0x45, 0x08, 0xba, 0x99, 0x70, + 0xc5, 0x27, 0xff, 0x2a, 0x80, 0x38, 0x85, 0x61, 0x11, 0xea, 0x74, 0x54, 0x31, 0x38, 0x29, 0x66, + 0xaa, 0x62, 0x02, 0xfd, 0x5c, 0xf3, 0x9e, 0xca, 0x27, 0xaa, 0x6d, 0x55, 0xb4, 0x18, 0x17, 0x8b, + 0x86, 0xcf, 0x8f, 0x0b, 0xf9, 0x3e, 0xee, 0xb4, 0x57, 0x4a, 0xa7, 0x40, 0x96, 0x4e, 0xeb, 0x05, + 0x88, 0xd7, 0xf4, 0x60, 0xe1, 0x8e, 0x36, 0x21, 0x7b, 0x40, 0xfa, 0x86, 0xeb, 0x70, 0x2f, 0xfb, + 0x34, 0x09, 0x51, 0xe5, 0xcd, 0xbc, 0x6f, 0xe6, 0x06, 0x66, 0x24, 0x52, 0x0d, 0xd8, 0x03, 0x75, + 0xc0, 0xf4, 0x01, 0xe9, 0xeb, 0x8a, 0x79, 0x83, 0x10, 0xf4, 0x4d, 0x98, 0x97, 0xad, 0x0c, 0x87, + 0xfa, 0x65, 0x69, 0x80, 0xcd, 0x64, 0x81, 0x93, 0xd6, 0xe7, 0x3a, 0xf8, 0x70, 0xcd, 0xa1, 0xaa, + 0xdc, 0xf4, 0x99, 0xd9, 0xca, 0x4d, 0x11, 0x62, 0x47, 0x9f, 0x7e, 0x70, 0xeb, 0x46, 0x44, 0xda, + 0xc3, 0xa0, 0x59, 0xe7, 0x79, 0x4a, 0xe9, 0xd7, 0x1a, 0xa0, 0xf0, 0xde, 0xd3, 0x09, 0xeb, 0x8a, + 0xf2, 0x55, 0x94, 0x34, 0x91, 0xd2, 0x43, 0x7b, 0x76, 0x49, 0x13, 0xf2, 0x0f, 0x94, 0x34, 0x91, + 0xb8, 0xfe, 0x76, 0x78, 0xcb, 0xc4, 0x2e, 0xa0, 0x0d, 0x9f, 0x49, 0xa6, 0x8b, 0xb1, 0xd2, 0xb1, + 0x06, 0xf3, 0x43, 0x41, 0x11, 0x1c, 0xd9, 0x04, 0xe4, 0x46, 0x16, 0xa5, 0x73, 0xf5, 0xd5, 0xd1, + 0x2f, 0x17, 0x63, 0x33, 0xee, 0xd0, 0xcd, 0xf2, 0x3f, 0xba, 0x2e, 0x55, 0x3e, 0xfc, 0xa3, 0x06, + 0xb3, 0xd1, 0x13, 0x05, 0xb2, 0xd5, 0x61, 0x2a, 0x7a, 0x16, 0x25, 0xd5, 0xcd, 0xf3, 0x48, 0x15, + 0x15, 0x68, 0x00, 0x44, 0xc8, 0xe2, 0x07, 0xa0, 0xd7, 0x36, 0xbc, 0x73, 0x6e, 0x2d, 0xf9, 0x07, + 0x3b, 0x35, 0x23, 0x79, 0xc6, 0xfa, 0x59, 0x0c, 0x12, 0xdb, 0x8e, 0xd3, 0x46, 0x3f, 0xd1, 0x60, + 0x86, 0x3a, 0xdc, 0x10, 0x61, 0x4b, 0x2c, 0x43, 0xf5, 0x2d, 0xbc, 0xa4, 0xbe, 0x77, 0x31, 0xed, + 0xfd, 0xe3, 0xb8, 0x30, 0x0c, 0x35, 0xa8, 0x52, 0xd5, 0x2f, 0xa3, 0x0e, 0xaf, 0x48, 0xa2, 0x1d, + 0xaf, 0xb5, 0xf1, 0x00, 0xd2, 0x83, 0xfb, 0x7b, 0x37, 0x81, 0x7e, 0xe1, 0xfd, 0xd3, 0x67, 0xee, + 0x3d, 0xd5, 0x88, 0x6c, 0xbc, 0x32, 0x21, 0x0c, 0xfb, 0x2f, 0x61, 0xdc, 0x77, 0x20, 0x1b, 0x64, + 0xca, 0x5d, 0xd9, 0x7d, 0x13, 0xcf, 0xe4, 0x71, 0xaf, 0x11, 0xe7, 0x17, 0x33, 0xc5, 0x68, 0xdb, + 0x17, 0x37, 0x4c, 0xbb, 0x7c, 0x82, 0x67, 0x40, 0xe3, 0x8a, 0xb7, 0xf4, 0xcf, 0x18, 0xcc, 0xab, + 0x14, 0x70, 0x2f, 0x4c, 0x01, 0x5e, 0x87, 0xb9, 0x8f, 0x36, 0x46, 0x36, 0xc8, 0x6e, 0x7c, 0x7e, + 0x5c, 0xb8, 0xee, 0xe5, 0xbc, 0x93, 0x14, 0xa5, 0xe1, 0x1e, 0xd9, 0x1e, 0x64, 0xc4, 0x1d, 0x1f, + 0xc9, 0x45, 0x97, 0x6c, 0x91, 0xa5, 0x9d, 0xb6, 0x15, 0x66, 0x2c, 0x81, 0x4b, 0xc9, 0x83, 0x01, + 0xdc, 0xf8, 0xe5, 0x70, 0x29, 0x79, 0x10, 0xc1, 0x9d, 0x83, 0xa4, 0x7a, 0xfc, 0x25, 0xe4, 0xf3, + 0x45, 0x8d, 0xd0, 0x6b, 0x10, 0x17, 0x69, 0xf9, 0xb9, 0x0b, 0x24, 0x22, 0xc1, 0x10, 0xb9, 0x69, + 0xeb, 0x30, 0xaf, 0xda, 0x18, 0x6c, 0xab, 0x29, 0xd5, 0x4d, 0xa4, 0x40, 0xf7, 0x48, 0xff, 0xd2, + 0x3d, 0x8d, 0x5b, 0xbf, 0xd5, 0x00, 0xc2, 0x56, 0x1f, 0x7a, 0x15, 0xae, 0x57, 0xb6, 0x36, 0xab, + 0x46, 0x7d, 0x67, 0x75, 0x67, 0xb7, 0x6e, 0xec, 0x6e, 0xd6, 0xb7, 0xd7, 0xd7, 0x6a, 0x1b, 0xb5, + 0xf5, 0x6a, 0x76, 0x2c, 0x9f, 0x39, 0x7a, 0x58, 0x4c, 0xed, 0x52, 0xd6, 0x25, 0xa6, 0xdd, 0xb4, + 0x89, 0x85, 0x5e, 0x82, 0xd9, 0x41, 0x6a, 0x31, 0x5a, 0xaf, 0x66, 0xb5, 0xfc, 0xd4, 0xd1, 0xc3, + 0xe2, 0x84, 0x57, 0xe2, 0x10, 0x0b, 0x2d, 0xc2, 0xf3, 0xc3, 0x74, 0xb5, 0xcd, 0x37, 0xb2, 0xb1, + 0x7c, 0xfa, 0xe8, 0x61, 0x71, 0x32, 0xa8, 0x85, 0x50, 0x09, 0x50, 0x94, 0x52, 0xe1, 0xc5, 0xf3, + 0x70, 0xf4, 0xb0, 0x98, 0xf4, 0x62, 0x2b, 0x9f, 0x78, 0xf7, 0x57, 0x0b, 0x63, 0xb7, 0x7e, 0x04, + 0x50, 0xa3, 0x4d, 0x17, 0x9b, 0x32, 0xab, 0xe4, 0x61, 0xae, 0xb6, 0xb9, 0xa1, 0xaf, 0xae, 0xed, + 0xd4, 0xb6, 0x36, 0x07, 0x8f, 0x7d, 0x62, 0xad, 0xba, 0xb5, 0x5b, 0x79, 0x6b, 0xdd, 0xa8, 0xd7, + 0xde, 0xd8, 0xcc, 0x6a, 0xe8, 0x3a, 0x5c, 0x1b, 0x58, 0xfb, 0xee, 0xe6, 0x4e, 0xed, 0xed, 0xf5, + 0x6c, 0xac, 0xb2, 0xf1, 0xf1, 0x93, 0x05, 0xed, 0xf1, 0x93, 0x05, 0xed, 0xef, 0x4f, 0x16, 0xb4, + 0xf7, 0x9e, 0x2e, 0x8c, 0x3d, 0x7e, 0xba, 0x30, 0xf6, 0x97, 0xa7, 0x0b, 0x63, 0xdf, 0x7f, 0xf5, + 0x99, 0x51, 0x1b, 0x5e, 0x75, 0x32, 0x7e, 0x1b, 0x49, 0xe9, 0x45, 0xdf, 0xf8, 0x6f, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xb9, 0x46, 0x4b, 0x0c, 0xb6, 0x1a, 0x00, 0x00, } func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { @@ -2169,7 +2169,7 @@ func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_des 0x40, 0xbc, 0xe9, 0x70, 0xe0, 0x8e, 0x56, 0x41, 0xba, 0x8e, 0xf7, 0x55, 0x9b, 0xff, 0x6d, 0x53, 0x75, 0x1b, 0x63, 0x1e, 0xde, 0x1c, 0x9b, 0x1f, 0xf0, 0x50, 0xea, 0x7c, 0xcd, 0xd4, 0x43, 0x71, 0x40, 0xf1, 0x3a, 0xde, 0x57, 0x38, 0xf2, 0x45, 0x8c, 0xd1, 0xd3, 0x70, 0x8c, 0xa6, 0x32, 0x4c, - 0x43, 0x84, 0xa5, 0x1e, 0x6d, 0x76, 0xed, 0x2d, 0xa9, 0x1c, 0xe9, 0x68, 0x7b, 0x35, 0xd3, 0xe0, + 0x43, 0x84, 0xa5, 0x1e, 0x6d, 0x76, 0xed, 0xad, 0xa0, 0x1c, 0xe9, 0x68, 0x7b, 0x35, 0xd3, 0xe0, 0xe1, 0xa6, 0x40, 0x76, 0x16, 0xee, 0x27, 0x5b, 0xec, 0xd6, 0xd7, 0x3e, 0x79, 0xfa, 0x78, 0x60, 0xb6, 0x7b, 0x5e, 0xb2, 0x8e, 0x49, 0x8a, 0xfc, 0x89, 0x18, 0x20, 0xdf, 0xee, 0x79, 0x57, 0xd3, 0x57, 0xe8, 0x85, 0x65, 0x11, 0x7a, 0xc4, 0x0e, 0x0e, 0x69, 0x7c, 0xfc, 0x50, 0x48, 0x13, 0xd8, @@ -2200,7 +2200,7 @@ func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_des 0xa8, 0x54, 0x6a, 0x1b, 0x4b, 0x6b, 0xab, 0x3d, 0x7f, 0x9e, 0x20, 0xdc, 0xb6, 0xb8, 0xb6, 0x59, 0x5d, 0xae, 0xab, 0x8d, 0xa5, 0x4b, 0xab, 0xec, 0xc6, 0x40, 0xa8, 0xed, 0xb9, 0xd5, 0x8d, 0xa5, 0x95, 0xba, 0x14, 0xaf, 0x5e, 0x1c, 0x7a, 0x66, 0xf5, 0xf0, 0x81, 0xbb, 0xd6, 0x37, 0x75, 0xa1, - 0x83, 0xab, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x6d, 0x79, 0x88, 0x98, 0x84, 0x99, 0x00, 0x00, + 0x83, 0xab, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x63, 0xc4, 0xd8, 0x4e, 0x84, 0x99, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -6878,7 +6878,7 @@ func (m *Params) Unmarshal(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.MaxConsPubkeyRotations |= uint64(b&0x7F) << shift + m.MaxConsPubkeyRotations |= uint32(b&0x7F) << shift if b < 0x80 { break } From cc93ef6d147badadc519e37eb73a25d58073858f Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 5 Apr 2023 13:42:36 +0530 Subject: [PATCH 059/106] uint32 change --- x/staking/keeper/cons_pubkey.go | 4 ++-- x/staking/keeper/msg_server.go | 2 +- x/staking/keeper/params.go | 2 +- x/staking/simulation/genesis.go | 6 +++--- x/staking/types/params.go | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/x/staking/keeper/cons_pubkey.go b/x/staking/keeper/cons_pubkey.go index d98a7c04b464..c64d04e2a0b5 100644 --- a/x/staking/keeper/cons_pubkey.go +++ b/x/staking/keeper/cons_pubkey.go @@ -140,13 +140,13 @@ func (k Keeper) deleteConsKeyIndexKey(ctx sdk.Context, valAddr sdk.ValAddress, t } // CheckLimitOfMaxRotationsExceed returns bool, count of iterations made within the unbonding period. -func (k Keeper) CheckLimitOfMaxRotationsExceed(ctx sdk.Context, valAddr sdk.ValAddress) (bool, uint64) { +func (k Keeper) CheckLimitOfMaxRotationsExceed(ctx sdk.Context, valAddr sdk.ValAddress) (bool, uint32) { store := ctx.KVStore(k.storeKey) key := append(types.ValidatorConsensusKeyRotationRecordIndexKey, address.MustLengthPrefix(valAddr)...) prefixIterator := storetypes.KVStorePrefixIterator(store, key) defer prefixIterator.Close() - count := uint64(0) + count := uint32(0) for ; prefixIterator.Valid(); prefixIterator.Next() { count += 1 } diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index 5234c8c3d9d4..1598bcd3b138 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -570,7 +570,7 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC // getRotationFee calculates and returns the fee for rotation based on the previous rotations // KeyRotationFee = (max(VotingPowerPercentage, 1) * InitialKeyRotationFee) * 2^(number ofrotations in ConsPubKeyRotationHistory in recent unbonding period) -func (k msgServer) getRotationFee(ctx sdk.Context, valBondedTokens math.Int, rotationsMade uint64) sdk.Coin { +func (k msgServer) getRotationFee(ctx sdk.Context, valBondedTokens math.Int, rotationsMade uint32) sdk.Coin { totalBondedTokens := k.TotalBondedTokens(ctx) valBondedPercent := (valBondedTokens.Quo(totalBondedTokens)).Mul(math.NewInt(100)) diff --git a/x/staking/keeper/params.go b/x/staking/keeper/params.go index 1d1e4d310004..b776fe118753 100644 --- a/x/staking/keeper/params.go +++ b/x/staking/keeper/params.go @@ -78,7 +78,7 @@ func (k Keeper) GetParams(ctx sdk.Context) (params types.Params) { } // MaxConsPubKeyRotations - Maximum consensus pubkey rotations -func (k Keeper) MaxConsPubKeyRotations(ctx sdk.Context) (res uint64) { +func (k Keeper) MaxConsPubKeyRotations(ctx sdk.Context) (res uint32) { return k.GetParams(ctx).MaxConsPubkeyRotations } diff --git a/x/staking/simulation/genesis.go b/x/staking/simulation/genesis.go index 6e15fe53f7c6..3011433c8631 100644 --- a/x/staking/simulation/genesis.go +++ b/x/staking/simulation/genesis.go @@ -42,8 +42,8 @@ func getKeyRotationFee(r *rand.Rand) sdk.Coin { } // getMaxConsPubKeyRotations returns randomized maxConsPubKeyRotations between 1-10. -func getMaxConsPubKeyRotations(r *rand.Rand) uint64 { - return uint64(r.Intn(int(types.DefaultMaxConsPubKeyRotations)) + 1) +func getMaxConsPubKeyRotations(r *rand.Rand) uint32 { + return uint32(r.Intn(int(types.DefaultMaxConsPubKeyRotations)) + 1) } // RandomizedGenState generates a random GenesisState for staking @@ -54,7 +54,7 @@ func RandomizedGenState(simState *module.SimulationState) { maxVals uint32 histEntries uint32 minCommissionRate sdk.Dec - maxConsKeyRotations uint64 + maxConsKeyRotations uint32 rotationFee sdk.Coin ) diff --git a/x/staking/types/params.go b/x/staking/types/params.go index e3b6d3196069..d76d9331e27e 100644 --- a/x/staking/types/params.go +++ b/x/staking/types/params.go @@ -32,7 +32,7 @@ const ( // DefaultMaxConsPubKeyRotations is param to set validators can rotate their // keys only for 1 times - DefaultMaxConsPubKeyRotations uint64 = 1 + DefaultMaxConsPubKeyRotations uint32 = 1 ) var ( @@ -47,7 +47,7 @@ var ( func NewParams(unbondingTime time.Duration, maxValidators, maxEntries, historicalEntries uint32, bondDenom string, minCommissionRate sdk.Dec, - maxConsPubKeyRotations uint64, keyRotationFee sdk.Coin) Params { + maxConsPubKeyRotations uint32, keyRotationFee sdk.Coin) Params { return Params{ UnbondingTime: unbondingTime, From fc86b557c5dec6860344aa0d4c374eabbfb6fb79 Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 5 Apr 2023 14:48:20 +0530 Subject: [PATCH 060/106] fix tests --- x/staking/keeper/cons_pubkey_test.go | 19 ++++++++++++++----- x/staking/types/params.go | 2 +- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/x/staking/keeper/cons_pubkey_test.go b/x/staking/keeper/cons_pubkey_test.go index 6c4d8d160ff2..3590cc7eef4f 100644 --- a/x/staking/keeper/cons_pubkey_test.go +++ b/x/staking/keeper/cons_pubkey_test.go @@ -16,7 +16,11 @@ import ( func (s *KeeperTestSuite) TestConsPubKeyRotationHistory() { stakingKeeper, ctx := s.stakingKeeper, s.ctx - _, addrVals := createValAddrs(2) + addrDels, addrVals := createValAddrs(2) + for _, addr := range addrDels { + s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes() + s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes() + } // create a validator with a self-delegation val := testutil.NewValidator(s.T(), addrVals[0], PKs[0]) @@ -28,6 +32,7 @@ func (s *KeeperTestSuite) TestConsPubKeyRotationHistory() { _ = stakingkeeper.TestingUpdateValidator(stakingKeeper, ctx, val, true) val0AccAddr := sdk.AccAddress(addrVals[0].Bytes()) selfDelegation := types.NewDelegation(val0AccAddr, addrVals[0], issuedShares) + stakingKeeper.SetDelegation(ctx, selfDelegation) validators := stakingKeeper.GetAllValidators(ctx) @@ -86,9 +91,9 @@ func (s *KeeperTestSuite) TestConsKeyRotn() { existingPubkey, ok := validators[1].ConsensusPubkey.GetCachedValue().(cryptotypes.PubKey) s.Require().True(ok) - bonedPool := authtypes.NewEmptyModuleAccount(types.BondedPoolName) - accountKeeper.EXPECT().GetModuleAccount(gomock.Any(), types.BondedPoolName).Return(bonedPool).AnyTimes() - bankKeeper.EXPECT().GetBalance(gomock.Any(), bonedPool.GetAddress(), sdk.DefaultBondDenom).Return(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(1000000))).AnyTimes() + bondedPool := authtypes.NewEmptyModuleAccount(types.BondedPoolName) + accountKeeper.EXPECT().GetModuleAccount(gomock.Any(), types.BondedPoolName).Return(bondedPool).AnyTimes() + bankKeeper.EXPECT().GetBalance(gomock.Any(), bondedPool.GetAddress(), sdk.DefaultBondDenom).Return(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(1000000))).AnyTimes() testCases := []struct { name string @@ -226,7 +231,11 @@ func (s *KeeperTestSuite) TestConsKeyRotn() { func (s *KeeperTestSuite) setValidators(n int) { stakingKeeper, ctx := s.stakingKeeper, s.ctx - _, addrVals := createValAddrs(n) + addrDels, addrVals := createValAddrs(n) + for _, addr := range addrDels { + s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes() + s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes() + } for i := 0; i < n; i++ { val := testutil.NewValidator(s.T(), addrVals[i], PKs[i]) diff --git a/x/staking/types/params.go b/x/staking/types/params.go index d76d9331e27e..68a7e2941176 100644 --- a/x/staking/types/params.go +++ b/x/staking/types/params.go @@ -230,7 +230,7 @@ func validateMinCommissionRate(i interface{}) error { } func validateMaxConsPubkeyRotations(i interface{}) error { - v, ok := i.(uint64) + v, ok := i.(uint32) if !ok { return fmt.Errorf("invalid parameter type: %T", i) } From c787ba1ef0f7b3bab0427bfe2006066d9f9712c4 Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 5 Apr 2023 15:13:04 +0530 Subject: [PATCH 061/106] fix tests --- tests/integration/staking/keeper/determinstic_test.go | 2 +- x/staking/migrations/v3/json_test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/integration/staking/keeper/determinstic_test.go b/tests/integration/staking/keeper/determinstic_test.go index 4067ffc2d794..daf06ea5825f 100644 --- a/tests/integration/staking/keeper/determinstic_test.go +++ b/tests/integration/staking/keeper/determinstic_test.go @@ -733,7 +733,7 @@ func TestGRPCParams(t *testing.T) { MaxEntries: rapid.Uint32Min(1).Draw(rt, "max-entries"), HistoricalEntries: rapid.Uint32Min(1).Draw(rt, "historical-entries"), MinCommissionRate: sdk.NewDecWithPrec(rapid.Int64Range(0, 100).Draw(rt, "commission"), 2), - MaxConsPubkeyRotations: rapid.Uint64Range(1, 10).Draw(rt, "max-pubkey-rotations"), + MaxConsPubkeyRotations: rapid.Uint32Range(1, 10).Draw(rt, "max-pubkey-rotations"), KeyRotationFee: sdk.NewCoin(sdk.DefaultBondDenom, math.NewIntFromUint64(rapid.Uint64Range(1000, 1000000).Draw(rt, "cons-pubkey-rotation-fee"))), } diff --git a/x/staking/migrations/v3/json_test.go b/x/staking/migrations/v3/json_test.go index 8e4643e687e4..08518868d0a6 100644 --- a/x/staking/migrations/v3/json_test.go +++ b/x/staking/migrations/v3/json_test.go @@ -47,7 +47,7 @@ func TestMigrateJSON(t *testing.T) { "amount": "1000000", "denom": "stake" }, - "max_cons_pubkey_rotations": "10", + "max_cons_pubkey_rotations": 1, "max_entries": 7, "max_validators": 100, "min_commission_rate": "0.000000000000000000", From 2af2d2c6b5cc81246dbf81c8b79889816f84aa2c Mon Sep 17 00:00:00 2001 From: atheesh Date: Fri, 5 May 2023 15:33:31 +0530 Subject: [PATCH 062/106] add tests --- ...dr-016-validator-consensus-key-rotation.md | 3 +- .../evidence/keeper/infraction_test.go | 84 +++++++++++++++++++ x/evidence/keeper/infraction.go | 10 ++- x/evidence/testutil/expected_keepers_mocks.go | 25 +++++- x/evidence/types/expected_keepers.go | 1 + x/feegrant/testutil/expected_keepers_mocks.go | 2 +- x/slashing/keeper/hooks.go | 7 +- x/slashing/keeper/keeper.go | 23 +++++ x/slashing/keeper/signing_info.go | 3 + x/slashing/types/keys.go | 5 ++ x/staking/keeper/msg_server.go | 4 +- 11 files changed, 157 insertions(+), 10 deletions(-) diff --git a/docs/architecture/adr-016-validator-consensus-key-rotation.md b/docs/architecture/adr-016-validator-consensus-key-rotation.md index a1b025aeb90b..60e19594d254 100644 --- a/docs/architecture/adr-016-validator-consensus-key-rotation.md +++ b/docs/architecture/adr-016-validator-consensus-key-rotation.md @@ -34,7 +34,8 @@ Also, it should be noted that this ADR includes only the simplest form of consen * In current Tendermint design, consensus key rotations are seen as power changes from LCD or IBC perspective * Therefore, to minimize unnecessary frequent key rotation behavior, we limited maximum number of rotation in recent unbonding period and also applied exponentially increasing rotation fee * limits - * a validator cannot rotate its consensus key more than `MaxConsPubKeyRotations` time for any unbonding period, to prevent spam. + * a validator cannot rotate its consensus key more than `MaxConsPubKeyRotations` time for any unbonding period, to prevent spam. + (Note: For now we are limiting the rotations to 1 time, in the upcoming staking refactor the full feature will be released) * parameters can be decided by governance and stored in genesis file. * key rotation fee * a validator should pay `KeyRotationFee` to rotate the consensus key which is calculated as below diff --git a/tests/integration/evidence/keeper/infraction_test.go b/tests/integration/evidence/keeper/infraction_test.go index a53947486061..1c5d3a7b91fa 100644 --- a/tests/integration/evidence/keeper/infraction_test.go +++ b/tests/integration/evidence/keeper/infraction_test.go @@ -28,6 +28,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/staking" stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" stakingtestutil "github.com/cosmos/cosmos-sdk/x/staking/testutil" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" ) var ( @@ -157,6 +158,89 @@ func TestHandleDoubleSign(t *testing.T) { assert.Assert(t, len(evidences) == 1) } +func TestHandleDoubleSignAfterRotation(t *testing.T) { + t.Parallel() + f := initFixture(t) + + ctx := f.ctx.WithIsCheckTx(false).WithBlockHeight(1) + populateValidators(t, f) + + power := int64(100) + stakingParams := f.stakingKeeper.GetParams(ctx) + operatorAddr, val := valAddresses[0], pubkeys[0] + tstaking := stakingtestutil.NewHelper(t, ctx, f.stakingKeeper) + + selfDelegation := tstaking.CreateValidatorWithValPower(operatorAddr, val, power, true) + + // execute end-blocker and verify validator attributes + staking.EndBlocker(ctx, f.stakingKeeper) + assert.DeepEqual(t, + f.bankKeeper.GetAllBalances(ctx, sdk.AccAddress(operatorAddr)).String(), + sdk.NewCoins(sdk.NewCoin(stakingParams.BondDenom, initAmt.Sub(selfDelegation))).String(), + ) + assert.DeepEqual(t, selfDelegation, f.stakingKeeper.Validator(ctx, operatorAddr).GetBondedTokens()) + + NewPubkey := newPubKey("0B485CFC0EECC619440448436F8FC9DF40566F2369E72400281454CB552AFB53") + + msgServer := stakingkeeper.NewMsgServerImpl(f.stakingKeeper) + msg, err := stakingtypes.NewMsgRotateConsPubKey(operatorAddr, NewPubkey) + assert.NilError(t, err) + _, err = msgServer.RotateConsPubKey(ctx, msg) + assert.NilError(t, err) + + // execute end-blocker and verify validator attributes + staking.EndBlocker(ctx, f.stakingKeeper) + + // handle a signature to set signing info + f.slashingKeeper.HandleValidatorSignature(ctx, NewPubkey.Address(), selfDelegation.Int64(), true) + + // double sign less than max age + oldTokens := f.stakingKeeper.Validator(ctx, operatorAddr).GetTokens() + evidence := abci.RequestBeginBlock{ + ByzantineValidators: []abci.Misbehavior{{ + Validator: abci.Validator{Address: val.Address(), Power: power}, + Type: abci.MisbehaviorType_DUPLICATE_VOTE, + Time: time.Unix(0, 0), + Height: 0, + }}, + } + + f.evidenceKeeper.BeginBlocker(ctx, evidence) + + // should be jailed and tombstoned + assert.Assert(t, f.stakingKeeper.Validator(ctx, operatorAddr).IsJailed()) + assert.Assert(t, f.slashingKeeper.IsTombstoned(ctx, sdk.ConsAddress(NewPubkey.Address()))) + + // tokens should be decreased + newTokens := f.stakingKeeper.Validator(ctx, operatorAddr).GetTokens() + assert.Assert(t, newTokens.LT(oldTokens)) + + // submit duplicate evidence + f.evidenceKeeper.BeginBlocker(ctx, evidence) + + // tokens should be the same (capped slash) + assert.Assert(t, f.stakingKeeper.Validator(ctx, operatorAddr).GetTokens().Equal(newTokens)) + + // jump to past the unbonding period + ctx = ctx.WithBlockTime(time.Unix(1, 0).Add(stakingParams.UnbondingTime)) + + // require we cannot unjail + assert.Error(t, f.slashingKeeper.Unjail(ctx, operatorAddr), slashingtypes.ErrValidatorJailed.Error()) + + // require we be able to unbond now + ctx = ctx.WithBlockHeight(ctx.BlockHeight() + 1) + del, _ := f.stakingKeeper.GetDelegation(ctx, sdk.AccAddress(operatorAddr), operatorAddr) + validator, _ := f.stakingKeeper.GetValidator(ctx, operatorAddr) + totalBond := validator.TokensFromShares(del.GetShares()).TruncateInt() + tstaking.Ctx = ctx + tstaking.Denom = stakingParams.BondDenom + tstaking.Undelegate(sdk.AccAddress(operatorAddr), operatorAddr, totalBond, true) + + // query evidence from store + evidences := f.evidenceKeeper.GetAllEvidence(ctx) + assert.Assert(t, len(evidences) == 1) +} + func TestHandleDoubleSign_TooOld(t *testing.T) { t.Parallel() f := initFixture(t) diff --git a/x/evidence/keeper/infraction.go b/x/evidence/keeper/infraction.go index 9526c0a29ffe..899181fe9bc8 100644 --- a/x/evidence/keeper/infraction.go +++ b/x/evidence/keeper/infraction.go @@ -23,6 +23,7 @@ import ( // // TODO: Some of the invalid constraints listed above may need to be reconsidered // in the case of a lunatic attack. + func (k Keeper) handleEquivocationEvidence(ctx sdk.Context, evidence *types.Equivocation) { logger := k.Logger(ctx) consAddr := evidence.GetConsensusAddress() @@ -37,7 +38,14 @@ func (k Keeper) handleEquivocationEvidence(ctx sdk.Context, evidence *types.Equi // allowable but none of the disallowed evidence types. Instead of // getting this coordination right, it is easier to relax the // constraints and ignore evidence that cannot be handled. - return + newConsAddr, _, err := k.slashingKeeper.GetMappedPubkey(ctx, consAddr.Bytes()) + if err != nil { + return + } else if newConsAddr != nil { // take the rotated key + consAddr = newConsAddr + } else { + return + } } // calculate the age of the evidence diff --git a/x/evidence/testutil/expected_keepers_mocks.go b/x/evidence/testutil/expected_keepers_mocks.go index 845322d2ce1a..24b3cf35c2fa 100644 --- a/x/evidence/testutil/expected_keepers_mocks.go +++ b/x/evidence/testutil/expected_keepers_mocks.go @@ -9,6 +9,7 @@ import ( reflect "reflect" time "time" + math "cosmossdk.io/math" types "github.com/cosmos/cosmos-sdk/crypto/types" types0 "github.com/cosmos/cosmos-sdk/types" types1 "github.com/cosmos/cosmos-sdk/x/staking/types" @@ -89,6 +90,22 @@ func (m *MockSlashingKeeper) EXPECT() *MockSlashingKeeperMockRecorder { return m.recorder } +// GetMappedPubkey mocks base method. +func (m *MockSlashingKeeper) GetMappedPubkey(arg0 types0.Context, arg1 types.Address) (types0.ConsAddress, types.PubKey, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetMappedPubkey", arg0, arg1) + ret0, _ := ret[0].(types0.ConsAddress) + ret1, _ := ret[1].(types.PubKey) + ret2, _ := ret[2].(error) + return ret0, ret1, ret2 +} + +// GetMappedPubkey indicates an expected call of GetMappedPubkey. +func (mr *MockSlashingKeeperMockRecorder) GetMappedPubkey(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMappedPubkey", reflect.TypeOf((*MockSlashingKeeper)(nil).GetMappedPubkey), arg0, arg1) +} + // GetPubkey mocks base method. func (m *MockSlashingKeeper) GetPubkey(arg0 types0.Context, arg1 types.Address) (types.PubKey, error) { m.ctrl.T.Helper() @@ -157,7 +174,7 @@ func (mr *MockSlashingKeeperMockRecorder) JailUntil(arg0, arg1, arg2 interface{} } // Slash mocks base method. -func (m *MockSlashingKeeper) Slash(arg0 types0.Context, arg1 types0.ConsAddress, arg2 types0.Dec, arg3, arg4 int64) { +func (m *MockSlashingKeeper) Slash(arg0 types0.Context, arg1 types0.ConsAddress, arg2 math.LegacyDec, arg3, arg4 int64) { m.ctrl.T.Helper() m.ctrl.Call(m, "Slash", arg0, arg1, arg2, arg3, arg4) } @@ -169,10 +186,10 @@ func (mr *MockSlashingKeeperMockRecorder) Slash(arg0, arg1, arg2, arg3, arg4 int } // SlashFractionDoubleSign mocks base method. -func (m *MockSlashingKeeper) SlashFractionDoubleSign(arg0 types0.Context) types0.Dec { +func (m *MockSlashingKeeper) SlashFractionDoubleSign(arg0 types0.Context) math.LegacyDec { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "SlashFractionDoubleSign", arg0) - ret0, _ := ret[0].(types0.Dec) + ret0, _ := ret[0].(math.LegacyDec) return ret0 } @@ -183,7 +200,7 @@ func (mr *MockSlashingKeeperMockRecorder) SlashFractionDoubleSign(arg0 interface } // SlashWithInfractionReason mocks base method. -func (m *MockSlashingKeeper) SlashWithInfractionReason(arg0 types0.Context, arg1 types0.ConsAddress, arg2 types0.Dec, arg3, arg4 int64, arg5 types1.Infraction) { +func (m *MockSlashingKeeper) SlashWithInfractionReason(arg0 types0.Context, arg1 types0.ConsAddress, arg2 math.LegacyDec, arg3, arg4 int64, arg5 types1.Infraction) { m.ctrl.T.Helper() m.ctrl.Call(m, "SlashWithInfractionReason", arg0, arg1, arg2, arg3, arg4, arg5) } diff --git a/x/evidence/types/expected_keepers.go b/x/evidence/types/expected_keepers.go index e21ca0530122..1b8b3ad71394 100644 --- a/x/evidence/types/expected_keepers.go +++ b/x/evidence/types/expected_keepers.go @@ -23,6 +23,7 @@ type ( // evidence module. SlashingKeeper interface { GetPubkey(sdk.Context, cryptotypes.Address) (cryptotypes.PubKey, error) + GetMappedPubkey(sdk.Context, cryptotypes.Address) (sdk.ConsAddress, cryptotypes.PubKey, error) IsTombstoned(sdk.Context, sdk.ConsAddress) bool HasValidatorSigningInfo(sdk.Context, sdk.ConsAddress) bool Tombstone(sdk.Context, sdk.ConsAddress) diff --git a/x/feegrant/testutil/expected_keepers_mocks.go b/x/feegrant/testutil/expected_keepers_mocks.go index e659ee5cf601..b73d1735322d 100644 --- a/x/feegrant/testutil/expected_keepers_mocks.go +++ b/x/feegrant/testutil/expected_keepers_mocks.go @@ -5,7 +5,7 @@ package testutil import ( - "context" + context "context" reflect "reflect" types "github.com/cosmos/cosmos-sdk/types" diff --git a/x/slashing/keeper/hooks.go b/x/slashing/keeper/hooks.go index 0fcdf7662b59..b21024ed2e6c 100644 --- a/x/slashing/keeper/hooks.go +++ b/x/slashing/keeper/hooks.go @@ -93,5 +93,10 @@ func (h Hooks) AfterUnbondingInitiated(_ sdk.Context, _ uint64) error { } func (h Hooks) AfterConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey cryptotypes.PubKey, newPubKey cryptotypes.PubKey, _ sdk.Coin) error { - return h.k.PerformConsensusPubKeyUpdate(ctx, oldPubKey, newPubKey) + if err := h.k.PerformConsensusPubKeyUpdate(ctx, oldPubKey, newPubKey); err != nil { + return err + } + + h.k.deleteAddrPubkeyRelation(ctx, oldPubKey.Address()) + return nil } diff --git a/x/slashing/keeper/keeper.go b/x/slashing/keeper/keeper.go index 2c160f0a791e..3c6d23f2be56 100644 --- a/x/slashing/keeper/keeper.go +++ b/x/slashing/keeper/keeper.go @@ -59,6 +59,22 @@ func (k Keeper) AddPubkey(ctx sdk.Context, pubkey cryptotypes.PubKey) error { return nil } +// SetMappedConskey maps the old consensus key to rotated new consensus key +func (k Keeper) SetMappedConskey(ctx sdk.Context, oldConsAddr sdk.ConsAddress, newConsAddr sdk.ConsAddress) { + store := ctx.KVStore(k.storeKey) + key := types.GetKeyRotatedConsKey(oldConsAddr.Bytes()) + store.Set(key, newConsAddr.Bytes()) +} + +// SetMappedConskey gets the rotated consensus key with the old consensus key +func (k Keeper) GetMappedConsKey(ctx sdk.Context, consAddr sdk.ConsAddress) sdk.ConsAddress { + store := ctx.KVStore(k.storeKey) + key := types.GetKeyRotatedConsKey(consAddr.Bytes()) + bz := store.Get(key) + + return sdk.ConsAddress(bz) +} + // GetPubkey returns the pubkey from the adddress-pubkey relation func (k Keeper) GetPubkey(ctx sdk.Context, a cryptotypes.Address) (cryptotypes.PubKey, error) { store := ctx.KVStore(k.storeKey) @@ -70,6 +86,13 @@ func (k Keeper) GetPubkey(ctx sdk.Context, a cryptotypes.Address) (cryptotypes.P return pk, k.cdc.UnmarshalInterface(bz, &pk) } +// GetMappedPubkey returns the pubkey from the adddress-pubkey relation of rotated consensus key +func (k Keeper) GetMappedPubkey(ctx sdk.Context, a cryptotypes.Address) (sdk.ConsAddress, cryptotypes.PubKey, error) { + newConsAddr := k.GetMappedConsKey(ctx, a.Bytes()) + pk, err := k.GetPubkey(ctx, newConsAddr.Bytes()) + return newConsAddr, pk, err +} + // Slash attempts to slash a validator. The slash is delegated to the staking // module to make the necessary validator changes. It specifies no intraction reason. func (k Keeper) Slash(ctx sdk.Context, consAddr sdk.ConsAddress, fraction sdk.Dec, power, distributionHeight int64) { diff --git a/x/slashing/keeper/signing_info.go b/x/slashing/keeper/signing_info.go index 29748620d807..fa4599261230 100644 --- a/x/slashing/keeper/signing_info.go +++ b/x/slashing/keeper/signing_info.go @@ -186,5 +186,8 @@ func (k Keeper) PerformConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey cryptoty k.SetValidatorMissedBlockBitArray(ctx, sdk.ConsAddress(newPubKey.Address()), missed.Index, missed.Missed) } + // Sets a map to newly rotated consensus key with old consensus key + k.SetMappedConskey(ctx, sdk.ConsAddress(oldPubKey.Address()), sdk.ConsAddress(newPubKey.Address())) + return nil } diff --git a/x/slashing/types/keys.go b/x/slashing/types/keys.go index 02a86e167e28..293c01183feb 100644 --- a/x/slashing/types/keys.go +++ b/x/slashing/types/keys.go @@ -33,6 +33,7 @@ var ( ValidatorSigningInfoKeyPrefix = []byte{0x01} // Prefix for signing info ValidatorMissedBlockBitArrayKeyPrefix = []byte{0x02} // Prefix for missed block bit array AddrPubkeyRelationKeyPrefix = []byte{0x03} // Prefix for address-pubkey relation + RotatedConsKeyIndex = []byte{0x04} // prefix for rotated cons address to new cons address ) // ValidatorSigningInfoKey - stored by *Consensus* address (not operator address) @@ -66,3 +67,7 @@ func ValidatorMissedBlockBitArrayKey(v sdk.ConsAddress, i int64) []byte { func AddrPubkeyRelationKey(addr []byte) []byte { return append(AddrPubkeyRelationKeyPrefix, address.MustLengthPrefix(addr)...) } + +func GetKeyRotatedConsKey(addr []byte) []byte { + return append(RotatedConsKeyIndex, addr...) +} diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index 96f3c0fccb01..f63361106337 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -547,12 +547,12 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC // SetValidatorByConsAddr for NewPubKey oldConsensusPubKey := val.ConsensusPubkey val.ConsensusPubkey = msg.NewPubkey + + k.SetValidator(ctx, val) if err := k.SetValidatorByConsAddr(ctx, val); err != nil { return nil, err } - k.SetValidator(ctx, val) - k.SetValidatorByConsAddr(ctx, val) k.SetValidatorByPowerIndex(ctx, val) // Add ConsPubKeyRotationHistory for tracking rotation From 13ed78f89a7167e1329c5e1b60d397924d8aa439 Mon Sep 17 00:00:00 2001 From: atheesh Date: Fri, 5 May 2023 15:55:07 +0530 Subject: [PATCH 063/106] conflicts --- x/staking/testutil/expected_keepers_mocks.go | 22 ++++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/x/staking/testutil/expected_keepers_mocks.go b/x/staking/testutil/expected_keepers_mocks.go index c7e01f341c20..97c30ecb54d0 100644 --- a/x/staking/testutil/expected_keepers_mocks.go +++ b/x/staking/testutil/expected_keepers_mocks.go @@ -39,7 +39,7 @@ func (m *MockDistributionKeeper) EXPECT() *MockDistributionKeeperMockRecorder { } // GetFeePoolCommunityCoins mocks base method. -func (m *MockDistributionKeeper) GetFeePoolCommunityCoins(ctx types0.Context) types0.DecCoins { +func (m *MockDistributionKeeper) GetFeePoolCommunityCoins(ctx context.Context) types0.DecCoins { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GetFeePoolCommunityCoins", ctx) ret0, _ := ret[0].(types0.DecCoins) @@ -53,7 +53,7 @@ func (mr *MockDistributionKeeperMockRecorder) GetFeePoolCommunityCoins(ctx inter } // GetValidatorOutstandingRewardsCoins mocks base method. -func (m *MockDistributionKeeper) GetValidatorOutstandingRewardsCoins(ctx types0.Context, val types0.ValAddress) types0.DecCoins { +func (m *MockDistributionKeeper) GetValidatorOutstandingRewardsCoins(ctx context.Context, val types0.ValAddress) types0.DecCoins { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GetValidatorOutstandingRewardsCoins", ctx, val) ret0, _ := ret[0].(types0.DecCoins) @@ -209,7 +209,7 @@ func (m *MockBankKeeper) EXPECT() *MockBankKeeperMockRecorder { } // BurnCoins mocks base method. -func (m *MockBankKeeper) BurnCoins(ctx types0.Context, name string, amt types0.Coins) error { +func (m *MockBankKeeper) BurnCoins(ctx context.Context, name string, amt types0.Coins) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "BurnCoins", ctx, name, amt) ret0, _ := ret[0].(error) @@ -237,7 +237,7 @@ func (mr *MockBankKeeperMockRecorder) DelegateCoinsFromAccountToModule(ctx, send } // GetAllBalances mocks base method. -func (m *MockBankKeeper) GetAllBalances(ctx types0.Context, addr types0.AccAddress) types0.Coins { +func (m *MockBankKeeper) GetAllBalances(ctx context.Context, addr types0.AccAddress) types0.Coins { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GetAllBalances", ctx, addr) ret0, _ := ret[0].(types0.Coins) @@ -251,7 +251,7 @@ func (mr *MockBankKeeperMockRecorder) GetAllBalances(ctx, addr interface{}) *gom } // GetBalance mocks base method. -func (m *MockBankKeeper) GetBalance(ctx types0.Context, addr types0.AccAddress, denom string) types0.Coin { +func (m *MockBankKeeper) GetBalance(ctx context.Context, addr types0.AccAddress, denom string) types0.Coin { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GetBalance", ctx, addr, denom) ret0, _ := ret[0].(types0.Coin) @@ -265,7 +265,7 @@ func (mr *MockBankKeeperMockRecorder) GetBalance(ctx, addr, denom interface{}) * } // GetSupply mocks base method. -func (m *MockBankKeeper) GetSupply(ctx types0.Context, denom string) types0.Coin { +func (m *MockBankKeeper) GetSupply(ctx context.Context, denom string) types0.Coin { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "GetSupply", ctx, denom) ret0, _ := ret[0].(types0.Coin) @@ -279,7 +279,7 @@ func (mr *MockBankKeeperMockRecorder) GetSupply(ctx, denom interface{}) *gomock. } // LockedCoins mocks base method. -func (m *MockBankKeeper) LockedCoins(ctx types0.Context, addr types0.AccAddress) types0.Coins { +func (m *MockBankKeeper) LockedCoins(ctx context.Context, addr types0.AccAddress) types0.Coins { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "LockedCoins", ctx, addr) ret0, _ := ret[0].(types0.Coins) @@ -321,7 +321,7 @@ func (mr *MockBankKeeperMockRecorder) SendCoinsFromModuleToModule(ctx, senderPoo } // SpendableCoins mocks base method. -func (m *MockBankKeeper) SpendableCoins(ctx types0.Context, addr types0.AccAddress) types0.Coins { +func (m *MockBankKeeper) SpendableCoins(ctx context.Context, addr types0.AccAddress) types0.Coins { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "SpendableCoins", ctx, addr) ret0, _ := ret[0].(types0.Coins) @@ -448,7 +448,7 @@ func (mr *MockValidatorSetMockRecorder) MaxValidators(arg0 interface{}) *gomock. } // Slash mocks base method. -func (m *MockValidatorSet) Slash(arg0 types0.Context, arg1 types0.ConsAddress, arg2, arg3 int64, arg4 types0.Dec) math.Int { +func (m *MockValidatorSet) Slash(arg0 types0.Context, arg1 types0.ConsAddress, arg2, arg3 int64, arg4 math.LegacyDec) math.Int { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "Slash", arg0, arg1, arg2, arg3, arg4) ret0, _ := ret[0].(math.Int) @@ -462,7 +462,7 @@ func (mr *MockValidatorSetMockRecorder) Slash(arg0, arg1, arg2, arg3, arg4 inter } // SlashWithInfractionReason mocks base method. -func (m *MockValidatorSet) SlashWithInfractionReason(arg0 types0.Context, arg1 types0.ConsAddress, arg2, arg3 int64, arg4 types0.Dec, arg5 types1.Infraction) math.Int { +func (m *MockValidatorSet) SlashWithInfractionReason(arg0 types0.Context, arg1 types0.ConsAddress, arg2, arg3 int64, arg4 math.LegacyDec, arg5 types1.Infraction) math.Int { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "SlashWithInfractionReason", arg0, arg1, arg2, arg3, arg4, arg5) ret0, _ := ret[0].(math.Int) @@ -770,7 +770,7 @@ func (mr *MockStakingHooksMockRecorder) BeforeValidatorModified(ctx, valAddr int } // BeforeValidatorSlashed mocks base method. -func (m *MockStakingHooks) BeforeValidatorSlashed(ctx types0.Context, valAddr types0.ValAddress, fraction types0.Dec) error { +func (m *MockStakingHooks) BeforeValidatorSlashed(ctx types0.Context, valAddr types0.ValAddress, fraction math.LegacyDec) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "BeforeValidatorSlashed", ctx, valAddr, fraction) ret0, _ := ret[0].(error) From 903d1fa98a5e9154e1474a340ea2a3fb97eefbc5 Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Fri, 5 May 2023 10:30:42 +0000 Subject: [PATCH 064/106] proto-gen --- api/cosmos/staking/v1beta1/tx.pulsar.go | 90 +- x/gov/types/v1/gov.pb.go | 2 +- x/gov/types/v1/tx.pb.go | 2 +- x/gov/types/v1beta1/gov.pb.go | 2 +- x/gov/types/v1beta1/tx.pb.go | 2 +- x/staking/types/staking.pb.go | 1368 ++++++++++++----------- x/staking/types/tx.pb.go | 153 +-- 7 files changed, 843 insertions(+), 776 deletions(-) diff --git a/api/cosmos/staking/v1beta1/tx.pulsar.go b/api/cosmos/staking/v1beta1/tx.pulsar.go index 7dd70a133583..cea8ffc07356 100644 --- a/api/cosmos/staking/v1beta1/tx.pulsar.go +++ b/api/cosmos/staking/v1beta1/tx.pulsar.go @@ -8917,7 +8917,24 @@ var file_cosmos_staking_v1beta1_tx_proto_rawDesc = []byte{ 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x32, 0x9d, 0x06, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x71, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, + 0x22, 0xee, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x4d, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x18, 0xca, 0xb4, 0x2d, 0x14, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, + 0x4b, 0x65, 0x79, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x3a, 0x41, + 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, 0x11, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x8a, 0xe7, + 0xb0, 0x2a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x4d, 0x73, + 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, + 0x79, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x32, 0x93, 0x07, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x71, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, @@ -8936,30 +8953,59 @@ var file_cosmos_staking_v1beta1_tx_proto_rawDesc = []byte{ 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x10, 0x52, 0x6f, - 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x2b, + 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0f, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, + 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, + 0x73, 0x67, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0a, 0x55, 0x6e, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x1a, 0x33, 0x2e, 0x63, 0x6f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8f, 0x01, + 0x0a, 0x19, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xd7, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, + 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, + 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x1a, 0x3c, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x68, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, + 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x10, 0x52, 0x6f, 0x74, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, - 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, - 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x1a, 0x33, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, + 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xd7, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, + 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, + 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, + 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, + 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, + 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/x/gov/types/v1/gov.pb.go b/x/gov/types/v1/gov.pb.go index 91f414b76851..8384b8f1df8d 100644 --- a/x/gov/types/v1/gov.pb.go +++ b/x/gov/types/v1/gov.pb.go @@ -2929,7 +2929,7 @@ func (m *Vote) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field InterfaceRegistryOptions", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType) } var msglen int for shift := uint(0); ; shift += 7 { diff --git a/x/gov/types/v1/tx.pb.go b/x/gov/types/v1/tx.pb.go index 02471136d838..3ab042b1787c 100644 --- a/x/gov/types/v1/tx.pb.go +++ b/x/gov/types/v1/tx.pb.go @@ -2814,7 +2814,7 @@ func (m *MsgVoteWeighted) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field InterfaceRegistryOptions", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType) } var msglen int for shift := uint(0); ; shift += 7 { diff --git a/x/gov/types/v1beta1/gov.pb.go b/x/gov/types/v1beta1/gov.pb.go index 993fa5a83600..1acd514b717a 100644 --- a/x/gov/types/v1beta1/gov.pb.go +++ b/x/gov/types/v1beta1/gov.pb.go @@ -2373,7 +2373,7 @@ func (m *Vote) Unmarshal(dAtA []byte) error { } case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field InterfaceRegistryOptions", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType) } var msglen int for shift := uint(0); ; shift += 7 { diff --git a/x/gov/types/v1beta1/tx.pb.go b/x/gov/types/v1beta1/tx.pb.go index d44670d92572..80d6fe1f1f4e 100644 --- a/x/gov/types/v1beta1/tx.pb.go +++ b/x/gov/types/v1beta1/tx.pb.go @@ -1538,7 +1538,7 @@ func (m *MsgVoteWeighted) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field InterfaceRegistryOptions", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType) } var msglen int for shift := uint(0); ; shift += 7 { diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index c41dc2fd6530..80875caf8ab5 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -1527,680 +1527,700 @@ func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_go func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 10768 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7d, 0x6b, 0x70, 0x24, 0xc7, - 0x79, 0x18, 0xf6, 0xbd, 0xfb, 0x2d, 0x76, 0x77, 0xd0, 0x00, 0xef, 0x70, 0x7b, 0x24, 0x00, 0x0e, - 0x1f, 0xf7, 0x20, 0x89, 0x23, 0x8f, 0xbc, 0x23, 0x89, 0x13, 0x45, 0xef, 0x2e, 0xf6, 0xee, 0x70, - 0x87, 0x97, 0x66, 0x81, 0xe3, 0xc3, 0xb6, 0xc6, 0x83, 0xdd, 0x06, 0x30, 0xbc, 0xdd, 0x99, 0xd1, - 0xcc, 0xec, 0x1d, 0xc0, 0x4a, 0xa5, 0x68, 0xcb, 0x76, 0xe4, 0x8b, 0x63, 0xcb, 0x76, 0xca, 0x96, - 0x6d, 0x9d, 0x42, 0x59, 0xb1, 0x1e, 0xce, 0x4b, 0x96, 0x14, 0x49, 0x8e, 0xcb, 0x2e, 0x39, 0x95, - 0x87, 0xec, 0xa4, 0x52, 0x92, 0x2b, 0x95, 0xb8, 0x52, 0x09, 0xe3, 0x50, 0xaa, 0x48, 0x91, 0xa5, - 0xd8, 0x96, 0xe9, 0x24, 0x8e, 0x2a, 0x95, 0x54, 0xbf, 0xe6, 0xb1, 0x0f, 0xcc, 0xe2, 0x44, 0xd2, - 0x4e, 0xe9, 0xcf, 0xdd, 0x76, 0xf7, 0xf7, 0x7d, 0xdd, 0xfd, 0xf5, 0xd7, 0xdf, 0xab, 0x7b, 0x1a, - 0xf0, 0x67, 0x17, 0x60, 0x6e, 0xc7, 0x34, 0x77, 0xda, 0xf8, 0x8c, 0x65, 0x9b, 0xae, 0xb9, 0xd5, - 0xdd, 0x3e, 0xd3, 0xc2, 0x4e, 0xd3, 0xd6, 0x2d, 0xd7, 0xb4, 0xe7, 0x69, 0x1d, 0x2a, 0x31, 0x88, - 0x79, 0x01, 0x21, 0xaf, 0xc0, 0xc4, 0x45, 0xbd, 0x8d, 0x17, 0x3d, 0xc0, 0x06, 0x76, 0xd1, 0x53, - 0x90, 0xdc, 0xd6, 0xdb, 0x78, 0x3a, 0x36, 0x97, 0x38, 0x99, 0x3f, 0x7b, 0xff, 0x7c, 0x0f, 0xd2, - 0x7c, 0x18, 0x63, 0x9d, 0x54, 0x2b, 0x14, 0x43, 0xfe, 0x6a, 0x12, 0x26, 0x07, 0xb4, 0x22, 0x04, - 0x49, 0x43, 0xeb, 0x10, 0x8a, 0xb1, 0x93, 0x39, 0x85, 0xfe, 0x46, 0xd3, 0x90, 0xb1, 0xb4, 0xe6, - 0x75, 0x6d, 0x07, 0x4f, 0xc7, 0x69, 0xb5, 0x28, 0xa2, 0x19, 0x80, 0x16, 0xb6, 0xb0, 0xd1, 0xc2, - 0x46, 0x73, 0x7f, 0x3a, 0x31, 0x97, 0x38, 0x99, 0x53, 0x02, 0x35, 0xe8, 0x21, 0x98, 0xb0, 0xba, - 0x5b, 0x6d, 0xbd, 0xa9, 0x06, 0xc0, 0x60, 0x2e, 0x71, 0x32, 0xa5, 0x48, 0xac, 0x61, 0xd1, 0x07, - 0x3e, 0x01, 0xa5, 0x9b, 0x58, 0xbb, 0x1e, 0x04, 0xcd, 0x53, 0xd0, 0x22, 0xa9, 0x0e, 0x00, 0xd6, - 0x60, 0xbc, 0x83, 0x1d, 0x47, 0xdb, 0xc1, 0xaa, 0xbb, 0x6f, 0xe1, 0xe9, 0x24, 0x9d, 0xfd, 0x5c, - 0xdf, 0xec, 0x7b, 0x67, 0x9e, 0xe7, 0x58, 0x1b, 0xfb, 0x16, 0x46, 0x15, 0xc8, 0x61, 0xa3, 0xdb, - 0x61, 0x14, 0x52, 0x43, 0xf8, 0x57, 0x37, 0xba, 0x9d, 0x5e, 0x2a, 0x59, 0x82, 0xc6, 0x49, 0x64, - 0x1c, 0x6c, 0xdf, 0xd0, 0x9b, 0x78, 0x3a, 0x4d, 0x09, 0x9c, 0xe8, 0x23, 0xd0, 0x60, 0xed, 0xbd, - 0x34, 0x04, 0x1e, 0xaa, 0x41, 0x0e, 0xef, 0xb9, 0xd8, 0x70, 0x74, 0xd3, 0x98, 0xce, 0x50, 0x22, - 0x0f, 0x0c, 0x58, 0x45, 0xdc, 0x6e, 0xf5, 0x92, 0xf0, 0xf1, 0xd0, 0x79, 0xc8, 0x98, 0x96, 0xab, - 0x9b, 0x86, 0x33, 0x9d, 0x9d, 0x8b, 0x9d, 0xcc, 0x9f, 0xbd, 0x7b, 0xa0, 0x20, 0xac, 0x31, 0x18, - 0x45, 0x00, 0xa3, 0x25, 0x90, 0x1c, 0xb3, 0x6b, 0x37, 0xb1, 0xda, 0x34, 0x5b, 0x58, 0xd5, 0x8d, - 0x6d, 0x73, 0x3a, 0x47, 0x09, 0xcc, 0xf6, 0x4f, 0x84, 0x02, 0xd6, 0xcc, 0x16, 0x5e, 0x32, 0xb6, - 0x4d, 0xa5, 0xe8, 0x84, 0xca, 0xe8, 0x08, 0xa4, 0x9d, 0x7d, 0xc3, 0xd5, 0xf6, 0xa6, 0xc7, 0xa9, - 0x84, 0xf0, 0x92, 0xfc, 0x1b, 0x69, 0x28, 0x8d, 0x22, 0x62, 0x17, 0x20, 0xb5, 0x4d, 0x66, 0x39, - 0x1d, 0x3f, 0x0c, 0x0f, 0x18, 0x4e, 0x98, 0x89, 0xe9, 0x3b, 0x64, 0x62, 0x05, 0xf2, 0x06, 0x76, - 0x5c, 0xdc, 0x62, 0x12, 0x91, 0x18, 0x51, 0xa6, 0x80, 0x21, 0xf5, 0x8b, 0x54, 0xf2, 0x8e, 0x44, - 0xea, 0x79, 0x28, 0x79, 0x43, 0x52, 0x6d, 0xcd, 0xd8, 0x11, 0xb2, 0x79, 0x26, 0x6a, 0x24, 0xf3, - 0x75, 0x81, 0xa7, 0x10, 0x34, 0xa5, 0x88, 0x43, 0x65, 0xb4, 0x08, 0x60, 0x1a, 0xd8, 0xdc, 0x56, - 0x5b, 0xb8, 0xd9, 0x9e, 0xce, 0x0e, 0xe1, 0xd2, 0x1a, 0x01, 0xe9, 0xe3, 0x92, 0xc9, 0x6a, 0x9b, - 0x6d, 0xf4, 0xb4, 0x2f, 0x6a, 0x99, 0x21, 0x92, 0xb2, 0xc2, 0x36, 0x59, 0x9f, 0xb4, 0x6d, 0x42, - 0xd1, 0xc6, 0x44, 0xee, 0x71, 0x8b, 0xcf, 0x2c, 0x47, 0x07, 0x31, 0x1f, 0x39, 0x33, 0x85, 0xa3, - 0xb1, 0x89, 0x15, 0xec, 0x60, 0x11, 0xdd, 0x07, 0x5e, 0x85, 0x4a, 0xc5, 0x0a, 0xa8, 0x16, 0x1a, - 0x17, 0x95, 0xab, 0x5a, 0x07, 0x97, 0x5f, 0x86, 0x62, 0x98, 0x3d, 0x68, 0x0a, 0x52, 0x8e, 0xab, - 0xd9, 0x2e, 0x95, 0xc2, 0x94, 0xc2, 0x0a, 0x48, 0x82, 0x04, 0x36, 0x5a, 0x54, 0xcb, 0xa5, 0x14, - 0xf2, 0x13, 0x7d, 0x9f, 0x3f, 0xe1, 0x04, 0x9d, 0xf0, 0x83, 0xfd, 0x2b, 0x1a, 0xa2, 0xdc, 0x3b, - 0xef, 0xf2, 0x93, 0x50, 0x08, 0x4d, 0x60, 0xd4, 0xae, 0xe5, 0xbf, 0x06, 0x77, 0x0d, 0x24, 0x8d, - 0x9e, 0x87, 0xa9, 0xae, 0xa1, 0x1b, 0x2e, 0xb6, 0x2d, 0x1b, 0x13, 0x89, 0x65, 0x5d, 0x4d, 0x7f, - 0x2d, 0x33, 0x44, 0xe6, 0x36, 0x83, 0xd0, 0x8c, 0x8a, 0x32, 0xd9, 0xed, 0xaf, 0x3c, 0x9d, 0xcb, - 0x7e, 0x3d, 0x23, 0xbd, 0xf2, 0xca, 0x2b, 0xaf, 0xc4, 0xe5, 0xdf, 0x49, 0xc3, 0xd4, 0xa0, 0x3d, - 0x33, 0x70, 0xfb, 0x1e, 0x81, 0xb4, 0xd1, 0xed, 0x6c, 0x61, 0x9b, 0x32, 0x29, 0xa5, 0xf0, 0x12, - 0xaa, 0x40, 0xaa, 0xad, 0x6d, 0xe1, 0xf6, 0x74, 0x72, 0x2e, 0x76, 0xb2, 0x78, 0xf6, 0xa1, 0x91, - 0x76, 0xe5, 0xfc, 0x32, 0x41, 0x51, 0x18, 0x26, 0x7a, 0x27, 0x24, 0xb9, 0x8a, 0x26, 0x14, 0x4e, - 0x8f, 0x46, 0x81, 0xec, 0x25, 0x85, 0xe2, 0xa1, 0xe3, 0x90, 0x23, 0xff, 0x33, 0xd9, 0x48, 0xd3, - 0x31, 0x67, 0x49, 0x05, 0x91, 0x0b, 0x54, 0x86, 0x2c, 0xdd, 0x26, 0x2d, 0x2c, 0x4c, 0x9b, 0x57, - 0x26, 0x82, 0xd5, 0xc2, 0xdb, 0x5a, 0xb7, 0xed, 0xaa, 0x37, 0xb4, 0x76, 0x17, 0x53, 0x81, 0xcf, - 0x29, 0xe3, 0xbc, 0xf2, 0x1a, 0xa9, 0x43, 0xb3, 0x90, 0x67, 0xbb, 0x4a, 0x37, 0x5a, 0x78, 0x8f, - 0x6a, 0xcf, 0x94, 0xc2, 0x36, 0xda, 0x12, 0xa9, 0x21, 0xdd, 0xbf, 0xe4, 0x98, 0x86, 0x10, 0x4d, - 0xda, 0x05, 0xa9, 0xa0, 0xdd, 0x3f, 0xd9, 0xab, 0xb8, 0xef, 0x19, 0x3c, 0xbd, 0xbe, 0xbd, 0x74, - 0x02, 0x4a, 0x14, 0xe2, 0x71, 0xbe, 0xf4, 0x5a, 0x7b, 0x7a, 0x62, 0x2e, 0x76, 0x32, 0xab, 0x14, - 0x59, 0xf5, 0x1a, 0xaf, 0x95, 0x3f, 0x1b, 0x87, 0x24, 0x55, 0x2c, 0x25, 0xc8, 0x6f, 0xbc, 0xb0, - 0x5e, 0x57, 0x17, 0xd7, 0x36, 0xab, 0xcb, 0x75, 0x29, 0x86, 0x8a, 0x00, 0xb4, 0xe2, 0xe2, 0xf2, - 0x5a, 0x65, 0x43, 0x8a, 0x7b, 0xe5, 0xa5, 0xd5, 0x8d, 0xf3, 0x4f, 0x48, 0x09, 0x0f, 0x61, 0x93, - 0x55, 0x24, 0x83, 0x00, 0x8f, 0x9f, 0x95, 0x52, 0x48, 0x82, 0x71, 0x46, 0x60, 0xe9, 0xf9, 0xfa, - 0xe2, 0xf9, 0x27, 0xa4, 0x74, 0xb8, 0xe6, 0xf1, 0xb3, 0x52, 0x06, 0x15, 0x20, 0x47, 0x6b, 0xaa, - 0x6b, 0x6b, 0xcb, 0x52, 0xd6, 0xa3, 0xd9, 0xd8, 0x50, 0x96, 0x56, 0x2f, 0x49, 0x39, 0x8f, 0xe6, - 0x25, 0x65, 0x6d, 0x73, 0x5d, 0x02, 0x8f, 0xc2, 0x4a, 0xbd, 0xd1, 0xa8, 0x5c, 0xaa, 0x4b, 0x79, - 0x0f, 0xa2, 0xfa, 0xc2, 0x46, 0xbd, 0x21, 0x8d, 0x87, 0x86, 0xf5, 0xf8, 0x59, 0xa9, 0xe0, 0x75, - 0x51, 0x5f, 0xdd, 0x5c, 0x91, 0x8a, 0x68, 0x02, 0x0a, 0xac, 0x0b, 0x31, 0x88, 0x52, 0x4f, 0xd5, - 0xf9, 0x27, 0x24, 0xc9, 0x1f, 0x08, 0xa3, 0x32, 0x11, 0xaa, 0x38, 0xff, 0x84, 0x84, 0xe4, 0x1a, - 0xa4, 0xa8, 0x18, 0x22, 0x04, 0xc5, 0xe5, 0x4a, 0xb5, 0xbe, 0xac, 0xae, 0xad, 0x6f, 0x2c, 0xad, - 0xad, 0x56, 0x96, 0xa5, 0x98, 0x5f, 0xa7, 0xd4, 0xdf, 0xb5, 0xb9, 0xa4, 0xd4, 0x17, 0xa5, 0x78, - 0xb0, 0x6e, 0xbd, 0x5e, 0xd9, 0xa8, 0x2f, 0x4a, 0x09, 0xb9, 0x09, 0x53, 0x83, 0x14, 0xea, 0xc0, - 0x2d, 0x14, 0x90, 0x85, 0xf8, 0x10, 0x59, 0xa0, 0xb4, 0x7a, 0x65, 0x41, 0xfe, 0x4a, 0x1c, 0x26, - 0x07, 0x18, 0x95, 0x81, 0x9d, 0x3c, 0x0b, 0x29, 0x26, 0xcb, 0xcc, 0xcc, 0x9e, 0x1a, 0x68, 0x9d, - 0xa8, 0x64, 0xf7, 0x99, 0x5a, 0x8a, 0x17, 0x74, 0x35, 0x12, 0x43, 0x5c, 0x0d, 0x42, 0xa2, 0x4f, - 0x60, 0x7f, 0xb0, 0x4f, 0xf9, 0x33, 0xfb, 0x78, 0x7e, 0x14, 0xfb, 0x48, 0xeb, 0x0e, 0x67, 0x04, - 0x52, 0x03, 0x8c, 0xc0, 0x05, 0x98, 0xe8, 0x23, 0x34, 0xb2, 0x32, 0x7e, 0x6f, 0x0c, 0xa6, 0x87, - 0x31, 0x27, 0x42, 0x25, 0xc6, 0x43, 0x2a, 0xf1, 0x42, 0x2f, 0x07, 0xef, 0x1d, 0xbe, 0x08, 0x7d, - 0x6b, 0xfd, 0xb1, 0x18, 0x1c, 0x19, 0xec, 0x52, 0x0e, 0x1c, 0xc3, 0x3b, 0x21, 0xdd, 0xc1, 0xee, - 0xae, 0x29, 0xdc, 0xaa, 0x07, 0x07, 0x18, 0x6b, 0xd2, 0xdc, 0xbb, 0xd8, 0x1c, 0x2b, 0x68, 0xed, - 0x13, 0xc3, 0xfc, 0x42, 0x36, 0x9a, 0xbe, 0x91, 0xfe, 0x44, 0x1c, 0xee, 0x1a, 0x48, 0x7c, 0xe0, - 0x40, 0xef, 0x01, 0xd0, 0x0d, 0xab, 0xeb, 0x32, 0xd7, 0x89, 0x69, 0xe2, 0x1c, 0xad, 0xa1, 0xca, - 0x8b, 0x68, 0xd9, 0xae, 0xeb, 0xb5, 0x27, 0x68, 0x3b, 0xb0, 0x2a, 0x0a, 0xf0, 0x94, 0x3f, 0xd0, - 0x24, 0x1d, 0xe8, 0xcc, 0x90, 0x99, 0xf6, 0x09, 0xe6, 0xa3, 0x20, 0x35, 0xdb, 0x3a, 0x36, 0x5c, - 0xd5, 0x71, 0x6d, 0xac, 0x75, 0x74, 0x63, 0x87, 0x9a, 0x9a, 0xec, 0x42, 0x6a, 0x5b, 0x6b, 0x3b, - 0x58, 0x29, 0xb1, 0xe6, 0x86, 0x68, 0x25, 0x18, 0x54, 0x80, 0xec, 0x00, 0x46, 0x3a, 0x84, 0xc1, - 0x9a, 0x3d, 0x0c, 0xf9, 0x67, 0x72, 0x90, 0x0f, 0x38, 0xe0, 0xe8, 0x5e, 0x18, 0x7f, 0x49, 0xbb, - 0xa1, 0xa9, 0x22, 0xa8, 0x62, 0x9c, 0xc8, 0x93, 0xba, 0x75, 0x1e, 0x58, 0x3d, 0x0a, 0x53, 0x14, - 0xc4, 0xec, 0xba, 0xd8, 0x56, 0x9b, 0x6d, 0xcd, 0x71, 0x28, 0xd3, 0xb2, 0x14, 0x14, 0x91, 0xb6, - 0x35, 0xd2, 0x54, 0x13, 0x2d, 0xe8, 0x1c, 0x4c, 0x52, 0x8c, 0x4e, 0xb7, 0xed, 0xea, 0x56, 0x1b, - 0xab, 0x24, 0xcc, 0x73, 0xa8, 0xc9, 0xf1, 0x46, 0x36, 0x41, 0x20, 0x56, 0x38, 0x00, 0x19, 0x91, - 0x83, 0x16, 0xe1, 0x1e, 0x8a, 0xb6, 0x83, 0x0d, 0x6c, 0x6b, 0x2e, 0x56, 0xf1, 0x7b, 0xba, 0x5a, - 0xdb, 0x51, 0x35, 0xa3, 0xa5, 0xee, 0x6a, 0xce, 0xee, 0xf4, 0x14, 0x21, 0x50, 0x8d, 0x4f, 0xc7, - 0x94, 0x63, 0x04, 0xf0, 0x12, 0x87, 0xab, 0x53, 0xb0, 0x8a, 0xd1, 0xba, 0xac, 0x39, 0xbb, 0x68, - 0x01, 0x8e, 0x50, 0x2a, 0x8e, 0x6b, 0xeb, 0xc6, 0x8e, 0xda, 0xdc, 0xc5, 0xcd, 0xeb, 0x6a, 0xd7, - 0xdd, 0x7e, 0x6a, 0xfa, 0x78, 0xb0, 0x7f, 0x3a, 0xc2, 0x06, 0x85, 0xa9, 0x11, 0x90, 0x4d, 0x77, - 0xfb, 0x29, 0xd4, 0x80, 0x71, 0xb2, 0x18, 0x1d, 0xfd, 0x65, 0xac, 0x6e, 0x9b, 0x36, 0xb5, 0xa1, - 0xc5, 0x01, 0xaa, 0x29, 0xc0, 0xc1, 0xf9, 0x35, 0x8e, 0xb0, 0x62, 0xb6, 0xf0, 0x42, 0xaa, 0xb1, - 0x5e, 0xaf, 0x2f, 0x2a, 0x79, 0x41, 0xe5, 0xa2, 0x69, 0x13, 0x81, 0xda, 0x31, 0x3d, 0x06, 0xe7, - 0x99, 0x40, 0xed, 0x98, 0x82, 0xbd, 0xe7, 0x60, 0xb2, 0xd9, 0x64, 0x73, 0xd6, 0x9b, 0x2a, 0x0f, - 0xc6, 0x9c, 0x69, 0x29, 0xc4, 0xac, 0x66, 0xf3, 0x12, 0x03, 0xe0, 0x32, 0xee, 0xa0, 0xa7, 0xe1, - 0x2e, 0x9f, 0x59, 0x41, 0xc4, 0x89, 0xbe, 0x59, 0xf6, 0xa2, 0x9e, 0x83, 0x49, 0x6b, 0xbf, 0x1f, - 0x11, 0x85, 0x7a, 0xb4, 0xf6, 0x7b, 0xd1, 0x9e, 0x84, 0x29, 0x6b, 0xd7, 0xea, 0xc7, 0x3b, 0x1d, - 0xc4, 0x43, 0xd6, 0xae, 0xd5, 0x8b, 0xf8, 0x00, 0x8d, 0xcc, 0x6d, 0xdc, 0xd4, 0x5c, 0xdc, 0x9a, - 0x3e, 0x1a, 0x04, 0x0f, 0x34, 0xa0, 0x79, 0x90, 0x9a, 0x4d, 0x15, 0x1b, 0xda, 0x56, 0x1b, 0xab, - 0x9a, 0x8d, 0x0d, 0xcd, 0x99, 0x9e, 0xa5, 0xc0, 0x49, 0xd7, 0xee, 0x62, 0xa5, 0xd8, 0x6c, 0xd6, - 0x69, 0x63, 0x85, 0xb6, 0xa1, 0xd3, 0x30, 0x61, 0x6e, 0xbd, 0xd4, 0x64, 0x12, 0xa9, 0x5a, 0x36, - 0xde, 0xd6, 0xf7, 0xa6, 0xef, 0xa7, 0xec, 0x2d, 0x91, 0x06, 0x2a, 0x8f, 0xeb, 0xb4, 0x1a, 0x9d, - 0x02, 0xa9, 0xe9, 0xec, 0x6a, 0xb6, 0x45, 0x55, 0xb2, 0x63, 0x69, 0x4d, 0x3c, 0xfd, 0x00, 0x03, - 0x65, 0xf5, 0xab, 0xa2, 0x9a, 0xec, 0x08, 0xe7, 0xa6, 0xbe, 0xed, 0x0a, 0x8a, 0x27, 0xd8, 0x8e, - 0xa0, 0x75, 0x9c, 0xda, 0x49, 0x90, 0x08, 0x27, 0x42, 0x1d, 0x9f, 0xa4, 0x60, 0x45, 0x6b, 0xd7, - 0x0a, 0xf6, 0x7b, 0x1f, 0x14, 0x08, 0xa4, 0xdf, 0xe9, 0x29, 0xe6, 0xb8, 0x59, 0xbb, 0x81, 0x1e, - 0x9f, 0x80, 0x23, 0x04, 0xa8, 0x83, 0x5d, 0xad, 0xa5, 0xb9, 0x5a, 0x00, 0xfa, 0x61, 0x0a, 0x4d, - 0xd8, 0xbe, 0xc2, 0x1b, 0x43, 0xe3, 0xb4, 0xbb, 0x5b, 0xfb, 0x9e, 0x60, 0x3d, 0xc2, 0xc6, 0x49, - 0xea, 0x84, 0x68, 0xbd, 0x65, 0xce, 0xb9, 0xbc, 0x00, 0xe3, 0x41, 0xb9, 0x47, 0x39, 0x60, 0x92, - 0x2f, 0xc5, 0x88, 0x13, 0x54, 0x5b, 0x5b, 0x24, 0xee, 0xcb, 0x8b, 0x75, 0x29, 0x4e, 0xdc, 0xa8, - 0xe5, 0xa5, 0x8d, 0xba, 0xaa, 0x6c, 0xae, 0x6e, 0x2c, 0xad, 0xd4, 0xa5, 0x44, 0xc0, 0xb1, 0xbf, - 0x92, 0xcc, 0x3e, 0x28, 0x9d, 0x20, 0x5e, 0x43, 0x31, 0x1c, 0xa9, 0xa1, 0x77, 0xc0, 0x51, 0x91, - 0x56, 0x71, 0xb0, 0xab, 0xde, 0xd4, 0x6d, 0xba, 0x21, 0x3b, 0x1a, 0x33, 0x8e, 0x9e, 0xfc, 0x4c, - 0x71, 0xa8, 0x06, 0x76, 0x9f, 0xd3, 0x6d, 0xb2, 0xdd, 0x3a, 0x9a, 0x8b, 0x96, 0x61, 0xd6, 0x30, - 0x55, 0xc7, 0xd5, 0x8c, 0x96, 0x66, 0xb7, 0x54, 0x3f, 0xa1, 0xa5, 0x6a, 0xcd, 0x26, 0x76, 0x1c, - 0x93, 0x19, 0x42, 0x8f, 0xca, 0xdd, 0x86, 0xd9, 0xe0, 0xc0, 0xbe, 0x85, 0xa8, 0x70, 0xd0, 0x1e, - 0xf1, 0x4d, 0x0c, 0x13, 0xdf, 0xe3, 0x90, 0xeb, 0x68, 0x96, 0x8a, 0x0d, 0xd7, 0xde, 0xa7, 0xfe, - 0x79, 0x56, 0xc9, 0x76, 0x34, 0xab, 0x4e, 0xca, 0x6f, 0x4b, 0x98, 0x74, 0x25, 0x99, 0x4d, 0x4a, - 0xa9, 0x2b, 0xc9, 0x6c, 0x4a, 0x4a, 0x5f, 0x49, 0x66, 0xd3, 0x52, 0xe6, 0x4a, 0x32, 0x9b, 0x95, - 0x72, 0x57, 0x92, 0xd9, 0x9c, 0x04, 0xf2, 0xcf, 0x26, 0x61, 0x3c, 0xe8, 0xc1, 0x93, 0x80, 0xa8, - 0x49, 0x6d, 0x58, 0x8c, 0x6a, 0xb9, 0xfb, 0x0e, 0xf4, 0xf7, 0xe7, 0x6b, 0xc4, 0xb8, 0x2d, 0xa4, - 0x99, 0xbb, 0xac, 0x30, 0x4c, 0xe2, 0x58, 0x10, 0xf1, 0xc3, 0xcc, 0x3d, 0xc9, 0x2a, 0xbc, 0x84, - 0x2e, 0x41, 0xfa, 0x25, 0x87, 0xd2, 0x4e, 0x53, 0xda, 0xf7, 0x1f, 0x4c, 0xfb, 0x4a, 0x83, 0x12, - 0xcf, 0x5d, 0x69, 0xa8, 0xab, 0x6b, 0xca, 0x4a, 0x65, 0x59, 0xe1, 0xe8, 0xe8, 0x18, 0x24, 0xdb, - 0xda, 0xcb, 0xfb, 0x61, 0x33, 0x48, 0xab, 0xd0, 0x3c, 0x94, 0xba, 0xc6, 0x0d, 0x6c, 0xeb, 0xdb, - 0x3a, 0x6e, 0xa9, 0x14, 0xaa, 0x14, 0x84, 0x2a, 0xfa, 0xad, 0xcb, 0x04, 0x7e, 0xc4, 0x65, 0x3c, - 0x06, 0xc9, 0x9b, 0x58, 0xbb, 0x1e, 0x36, 0x56, 0xb4, 0xea, 0x2d, 0xdc, 0x4e, 0x67, 0x20, 0x45, - 0xf9, 0x8b, 0x00, 0x38, 0x87, 0xa5, 0x31, 0x94, 0x85, 0x64, 0x6d, 0x4d, 0x21, 0x5b, 0x4a, 0x82, - 0x71, 0x56, 0xab, 0xae, 0x2f, 0xd5, 0x6b, 0x75, 0x29, 0x2e, 0x9f, 0x83, 0x34, 0x63, 0x1a, 0xd9, - 0x6e, 0x1e, 0xdb, 0xa4, 0x31, 0x5e, 0xe4, 0x34, 0x62, 0xa2, 0x75, 0x73, 0xa5, 0x5a, 0x57, 0xa4, - 0x78, 0x9f, 0xb0, 0xc8, 0x0e, 0x8c, 0x07, 0x3d, 0xf9, 0xb7, 0x27, 0x9c, 0xff, 0x42, 0x0c, 0xf2, - 0x01, 0xcf, 0x9c, 0xb8, 0x54, 0x5a, 0xbb, 0x6d, 0xde, 0x54, 0xb5, 0xb6, 0xae, 0x39, 0x5c, 0x94, - 0x80, 0x56, 0x55, 0x48, 0xcd, 0xa8, 0x4b, 0xf7, 0x36, 0x6d, 0xb2, 0x94, 0x94, 0x96, 0x3f, 0x14, - 0x03, 0xa9, 0xd7, 0x35, 0xee, 0x19, 0x66, 0xec, 0x2f, 0x73, 0x98, 0xf2, 0x07, 0x63, 0x50, 0x0c, - 0xfb, 0xc3, 0x3d, 0xc3, 0xbb, 0xf7, 0x2f, 0x75, 0x78, 0x7f, 0x18, 0x87, 0x42, 0xc8, 0x0b, 0x1e, - 0x75, 0x74, 0xef, 0x81, 0x09, 0xbd, 0x85, 0x3b, 0x96, 0xe9, 0x62, 0xa3, 0xb9, 0xaf, 0xb6, 0xf1, - 0x0d, 0xdc, 0x9e, 0x96, 0xa9, 0x92, 0x39, 0x73, 0xb0, 0x9f, 0x3d, 0xbf, 0xe4, 0xe3, 0x2d, 0x13, - 0xb4, 0x85, 0xc9, 0xa5, 0xc5, 0xfa, 0xca, 0xfa, 0xda, 0x46, 0x7d, 0xb5, 0xf6, 0x82, 0xba, 0xb9, - 0x7a, 0x75, 0x75, 0xed, 0xb9, 0x55, 0x45, 0xd2, 0x7b, 0xc0, 0xde, 0xc2, 0x6d, 0xbf, 0x0e, 0x52, - 0xef, 0xa0, 0xd0, 0x51, 0x18, 0x34, 0x2c, 0x69, 0x0c, 0x4d, 0x42, 0x69, 0x75, 0x4d, 0x6d, 0x2c, - 0x2d, 0xd6, 0xd5, 0xfa, 0xc5, 0x8b, 0xf5, 0xda, 0x46, 0x83, 0x65, 0x4e, 0x3c, 0xe8, 0x8d, 0xd0, - 0x06, 0x97, 0x7f, 0x29, 0x01, 0x93, 0x03, 0x46, 0x82, 0x2a, 0x3c, 0xe6, 0x61, 0x61, 0xd8, 0x23, - 0xa3, 0x8c, 0x7e, 0x9e, 0x78, 0x1d, 0xeb, 0x9a, 0xed, 0xf2, 0x10, 0xe9, 0x14, 0x10, 0x2e, 0x19, - 0x2e, 0x51, 0xae, 0x36, 0xcf, 0x48, 0xb1, 0x40, 0xa8, 0xe4, 0xd7, 0xb3, 0xa4, 0xd4, 0xc3, 0x80, - 0x2c, 0xd3, 0xd1, 0x5d, 0xfd, 0x06, 0x56, 0x75, 0x43, 0xa4, 0xaf, 0x48, 0x60, 0x94, 0x54, 0x24, - 0xd1, 0xb2, 0x64, 0xb8, 0x1e, 0xb4, 0x81, 0x77, 0xb4, 0x1e, 0x68, 0xa2, 0xfc, 0x13, 0x8a, 0x24, - 0x5a, 0x3c, 0xe8, 0x7b, 0x61, 0xbc, 0x65, 0x76, 0x89, 0xb7, 0xc8, 0xe0, 0x88, 0xad, 0x89, 0x29, - 0x79, 0x56, 0xe7, 0x81, 0xf0, 0x38, 0xc0, 0xcf, 0x9b, 0x8d, 0x2b, 0x79, 0x56, 0xc7, 0x40, 0x4e, - 0x40, 0x49, 0xdb, 0xd9, 0xb1, 0x09, 0x71, 0x41, 0x88, 0x45, 0x36, 0x45, 0xaf, 0x9a, 0x02, 0x96, - 0xaf, 0x40, 0x56, 0xf0, 0x81, 0x18, 0x7b, 0xc2, 0x09, 0xd5, 0x62, 0xe1, 0x7a, 0xfc, 0x64, 0x4e, - 0xc9, 0x1a, 0xa2, 0xf1, 0x5e, 0x18, 0xd7, 0x1d, 0xd5, 0x3f, 0x06, 0x88, 0xcf, 0xc5, 0x4f, 0x66, - 0x95, 0xbc, 0xee, 0x78, 0x29, 0x54, 0xf9, 0x63, 0x71, 0x28, 0x86, 0x8f, 0x31, 0xd0, 0x22, 0x64, - 0xdb, 0x66, 0x53, 0xa3, 0xa2, 0xc5, 0xce, 0xd0, 0x4e, 0x46, 0x9c, 0x7c, 0xcc, 0x2f, 0x73, 0x78, - 0xc5, 0xc3, 0x2c, 0xff, 0x9b, 0x18, 0x64, 0x45, 0x35, 0x3a, 0x02, 0x49, 0x4b, 0x73, 0x77, 0x29, - 0xb9, 0x54, 0x35, 0x2e, 0xc5, 0x14, 0x5a, 0x26, 0xf5, 0x8e, 0xa5, 0x19, 0x54, 0x04, 0x78, 0x3d, - 0x29, 0x93, 0x75, 0x6d, 0x63, 0xad, 0x45, 0xc3, 0x26, 0xb3, 0xd3, 0xc1, 0x86, 0xeb, 0x88, 0x75, - 0xe5, 0xf5, 0x35, 0x5e, 0x8d, 0x1e, 0x82, 0x09, 0xd7, 0xd6, 0xf4, 0x76, 0x08, 0x36, 0x49, 0x61, - 0x25, 0xd1, 0xe0, 0x01, 0x2f, 0xc0, 0x31, 0x41, 0xb7, 0x85, 0x5d, 0xad, 0xb9, 0x8b, 0x5b, 0x3e, - 0x52, 0x9a, 0xa6, 0x47, 0x8e, 0x72, 0x80, 0x45, 0xde, 0x2e, 0x70, 0xe5, 0x2f, 0xc7, 0x60, 0x42, - 0x04, 0x7a, 0x2d, 0x8f, 0x59, 0x2b, 0x00, 0x9a, 0x61, 0x98, 0x6e, 0x90, 0x5d, 0xfd, 0xa2, 0xdc, - 0x87, 0x37, 0x5f, 0xf1, 0x90, 0x94, 0x00, 0x81, 0x72, 0x07, 0xc0, 0x6f, 0x19, 0xca, 0xb6, 0x59, - 0xc8, 0xf3, 0x33, 0x2a, 0x7a, 0xd0, 0xc9, 0x52, 0x03, 0xc0, 0xaa, 0x48, 0x44, 0x88, 0xa6, 0x20, - 0xb5, 0x85, 0x77, 0x74, 0x83, 0x67, 0x9e, 0x59, 0x41, 0x24, 0x70, 0x92, 0x5e, 0x02, 0xa7, 0xfa, - 0xd7, 0x61, 0xb2, 0x69, 0x76, 0x7a, 0x87, 0x5b, 0x95, 0x7a, 0xd2, 0x13, 0xce, 0xe5, 0xd8, 0x8b, - 0x8f, 0x70, 0xa0, 0x1d, 0xb3, 0xad, 0x19, 0x3b, 0xf3, 0xa6, 0xbd, 0xe3, 0x1f, 0xd4, 0x12, 0x0f, - 0xc9, 0x09, 0x1c, 0xd7, 0x5a, 0x5b, 0xff, 0x2b, 0x16, 0xfb, 0x95, 0x78, 0xe2, 0xd2, 0x7a, 0xf5, - 0xd7, 0xe2, 0xe5, 0x4b, 0x0c, 0x71, 0x5d, 0x30, 0x43, 0xc1, 0xdb, 0x6d, 0xdc, 0x24, 0x13, 0x84, - 0x6f, 0x3d, 0x04, 0x53, 0x3b, 0xe6, 0x8e, 0x49, 0x29, 0x9d, 0x21, 0xbf, 0xf8, 0x49, 0x6f, 0xce, - 0xab, 0x2d, 0x47, 0x1e, 0x0b, 0x2f, 0xac, 0xc2, 0x24, 0x07, 0x56, 0xe9, 0x51, 0x13, 0x0b, 0x84, - 0xd0, 0x81, 0x59, 0xb8, 0xe9, 0x5f, 0xff, 0x2a, 0x35, 0xdf, 0xca, 0x04, 0x47, 0x25, 0x6d, 0x2c, - 0x56, 0x5a, 0x50, 0xe0, 0xae, 0x10, 0x3d, 0xb6, 0x49, 0xb1, 0x1d, 0x41, 0xf1, 0x9f, 0x73, 0x8a, - 0x93, 0x01, 0x8a, 0x0d, 0x8e, 0xba, 0x50, 0x83, 0xc2, 0x61, 0x68, 0xfd, 0x0b, 0x4e, 0x6b, 0x1c, - 0x07, 0x89, 0x5c, 0x82, 0x12, 0x25, 0xd2, 0xec, 0x3a, 0xae, 0xd9, 0xa1, 0x1a, 0xf0, 0x60, 0x32, - 0xff, 0xf2, 0xab, 0x6c, 0xd7, 0x14, 0x09, 0x5a, 0xcd, 0xc3, 0x5a, 0x58, 0x00, 0x7a, 0xba, 0xd6, - 0xc2, 0xcd, 0x76, 0x04, 0x85, 0x2f, 0xf2, 0x81, 0x78, 0xf0, 0x0b, 0xd7, 0x60, 0x8a, 0xfc, 0xa6, - 0x0a, 0x2a, 0x38, 0x92, 0xe8, 0x94, 0xdd, 0xf4, 0x97, 0xdf, 0xcb, 0x36, 0xe6, 0xa4, 0x47, 0x20, - 0x30, 0xa6, 0xc0, 0x2a, 0xee, 0x60, 0xd7, 0xc5, 0xb6, 0xa3, 0x6a, 0xed, 0x41, 0xc3, 0x0b, 0xe4, - 0x3c, 0xa6, 0x7f, 0xf1, 0x9b, 0xe1, 0x55, 0xbc, 0xc4, 0x30, 0x2b, 0xed, 0xf6, 0xc2, 0x26, 0x1c, - 0x1d, 0x20, 0x15, 0x23, 0xd0, 0xfc, 0x25, 0x4e, 0x73, 0xaa, 0x4f, 0x32, 0x08, 0xd9, 0x75, 0x10, - 0xf5, 0xde, 0x5a, 0x8e, 0x40, 0xf3, 0x97, 0x39, 0x4d, 0xc4, 0x71, 0xc5, 0x92, 0x12, 0x8a, 0x57, - 0x60, 0xe2, 0x06, 0xb6, 0xb7, 0x4c, 0x87, 0xe7, 0x99, 0x46, 0x20, 0xf7, 0x41, 0x4e, 0xae, 0xc4, - 0x11, 0x69, 0xe2, 0x89, 0xd0, 0x7a, 0x1a, 0xb2, 0xdb, 0x5a, 0x13, 0x8f, 0x40, 0xe2, 0x36, 0x27, - 0x91, 0x21, 0xf0, 0x04, 0xb5, 0x02, 0xe3, 0x3b, 0x26, 0xb7, 0x51, 0xd1, 0xe8, 0x1f, 0xe2, 0xe8, - 0x79, 0x81, 0xc3, 0x49, 0x58, 0xa6, 0xd5, 0x6d, 0x13, 0x03, 0x16, 0x4d, 0xe2, 0xef, 0x08, 0x12, - 0x02, 0x87, 0x93, 0x38, 0x04, 0x5b, 0x5f, 0x15, 0x24, 0x9c, 0x00, 0x3f, 0x9f, 0x85, 0xbc, 0x69, - 0xb4, 0xf7, 0x4d, 0x63, 0x94, 0x41, 0x7c, 0x98, 0x53, 0x00, 0x8e, 0x42, 0x08, 0x5c, 0x80, 0xdc, - 0xa8, 0x0b, 0xf1, 0xab, 0xdf, 0x14, 0xdb, 0x43, 0xac, 0xc0, 0x25, 0x28, 0x09, 0x05, 0xa5, 0x9b, - 0xc6, 0x08, 0x24, 0x3e, 0xca, 0x49, 0x14, 0x03, 0x68, 0x7c, 0x1a, 0x2e, 0x76, 0xdc, 0x1d, 0x3c, - 0x0a, 0x91, 0x8f, 0x89, 0x69, 0x70, 0x14, 0xce, 0xca, 0x2d, 0x6c, 0x34, 0x77, 0x47, 0xa3, 0xf0, - 0x71, 0xc1, 0x4a, 0x81, 0x43, 0x48, 0xd4, 0xa0, 0xd0, 0xd1, 0x6c, 0x67, 0x57, 0x6b, 0x8f, 0xb4, - 0x1c, 0x9f, 0xe0, 0x34, 0xc6, 0x3d, 0x24, 0xce, 0x91, 0xae, 0x71, 0x18, 0x32, 0xbf, 0x26, 0x38, - 0x12, 0x40, 0xe3, 0x5b, 0xcf, 0x71, 0x69, 0x52, 0xee, 0x30, 0xd4, 0xfe, 0x9e, 0xd8, 0x7a, 0x0c, - 0x77, 0x25, 0x48, 0xf1, 0x02, 0xe4, 0x1c, 0xfd, 0xe5, 0x91, 0xc8, 0xfc, 0x7d, 0xb1, 0xd2, 0x14, - 0x81, 0x20, 0xbf, 0x00, 0xc7, 0x06, 0x9a, 0x89, 0x11, 0x88, 0xfd, 0x03, 0x4e, 0xec, 0xc8, 0x00, - 0x53, 0xc1, 0x55, 0xc2, 0x61, 0x49, 0xfe, 0x43, 0xa1, 0x12, 0x70, 0x0f, 0xad, 0x75, 0x12, 0x35, - 0x38, 0xda, 0xf6, 0xe1, 0xb8, 0xf6, 0x8f, 0x04, 0xd7, 0x18, 0x6e, 0x88, 0x6b, 0x1b, 0x70, 0x84, - 0x53, 0x3c, 0xdc, 0xba, 0x7e, 0x52, 0x28, 0x56, 0x86, 0xbd, 0x19, 0x5e, 0xdd, 0xef, 0x87, 0xb2, - 0xc7, 0x4e, 0xe1, 0x9e, 0x3a, 0x6a, 0x47, 0xb3, 0x46, 0xa0, 0xfc, 0xeb, 0x9c, 0xb2, 0xd0, 0xf8, - 0x9e, 0x7f, 0xeb, 0xac, 0x68, 0x16, 0x21, 0xfe, 0x3c, 0x4c, 0x0b, 0xe2, 0x5d, 0xc3, 0xc6, 0x4d, - 0x73, 0xc7, 0xd0, 0x5f, 0xc6, 0xad, 0x11, 0x48, 0x7f, 0xaa, 0x67, 0xa9, 0x36, 0x03, 0xe8, 0x84, - 0xf2, 0x12, 0x48, 0x9e, 0xaf, 0xa2, 0xea, 0x1d, 0xcb, 0xb4, 0xdd, 0x08, 0x8a, 0x9f, 0x16, 0x2b, - 0xe5, 0xe1, 0x2d, 0x51, 0xb4, 0x85, 0x3a, 0xb0, 0x93, 0xea, 0x51, 0x45, 0xf2, 0x33, 0x9c, 0x50, - 0xc1, 0xc7, 0xe2, 0x8a, 0xa3, 0x69, 0x76, 0x2c, 0xcd, 0x1e, 0x45, 0xff, 0xfd, 0x63, 0xa1, 0x38, - 0x38, 0x0a, 0x57, 0x1c, 0xc4, 0xa3, 0x23, 0xd6, 0x7e, 0x04, 0x0a, 0x9f, 0x15, 0x8a, 0x43, 0xe0, - 0x70, 0x12, 0xc2, 0x61, 0x18, 0x81, 0xc4, 0xe7, 0x04, 0x09, 0x81, 0x43, 0x48, 0xbc, 0xcb, 0x37, - 0xb4, 0x36, 0xde, 0xd1, 0x1d, 0xd7, 0x66, 0x4e, 0xf1, 0xc1, 0xa4, 0x3e, 0xff, 0xcd, 0xb0, 0x13, - 0xa6, 0x04, 0x50, 0x89, 0x26, 0xe2, 0x69, 0x5a, 0x1a, 0x33, 0x45, 0x0f, 0xec, 0x37, 0x84, 0x26, - 0x0a, 0xa0, 0x91, 0xb1, 0x05, 0x3c, 0x44, 0xc2, 0xf6, 0x26, 0x89, 0x14, 0x46, 0x20, 0xf7, 0x4f, - 0x7a, 0x06, 0xd7, 0x10, 0xb8, 0x84, 0x66, 0xc0, 0xff, 0xe9, 0x1a, 0xd7, 0xf1, 0xfe, 0x48, 0xd2, - 0xf9, 0x9b, 0x3d, 0xfe, 0xcf, 0x26, 0xc3, 0x64, 0x3a, 0xa4, 0xd4, 0xe3, 0x4f, 0xa1, 0xa8, 0x7b, - 0x49, 0xd3, 0x3f, 0xfc, 0x06, 0x9f, 0x6f, 0xd8, 0x9d, 0x5a, 0x58, 0x26, 0x42, 0x1e, 0x76, 0x7a, - 0xa2, 0x89, 0xbd, 0xf7, 0x0d, 0x4f, 0xce, 0x43, 0x3e, 0xcf, 0xc2, 0x45, 0x28, 0x84, 0x1c, 0x9e, - 0x68, 0x52, 0x3f, 0xca, 0x49, 0x8d, 0x07, 0xfd, 0x9d, 0x85, 0x73, 0x90, 0x24, 0xce, 0x4b, 0x34, - 0xfa, 0x8f, 0x71, 0x74, 0x0a, 0xbe, 0xf0, 0x0c, 0x64, 0x85, 0xd3, 0x12, 0x8d, 0xfa, 0xe3, 0x1c, - 0xd5, 0x43, 0x21, 0xe8, 0xc2, 0x61, 0x89, 0x46, 0xff, 0x1b, 0x02, 0x5d, 0xa0, 0x10, 0xf4, 0xd1, - 0x59, 0xf8, 0x85, 0xbf, 0x99, 0xe4, 0x46, 0x47, 0xf0, 0xee, 0x02, 0x64, 0xb8, 0xa7, 0x12, 0x8d, - 0xfd, 0x13, 0xbc, 0x73, 0x81, 0xb1, 0xf0, 0x24, 0xa4, 0x46, 0x64, 0xf8, 0xdf, 0xe2, 0xa8, 0x0c, - 0x7e, 0xa1, 0x06, 0xf9, 0x80, 0x77, 0x12, 0x8d, 0xfe, 0x53, 0x1c, 0x3d, 0x88, 0x45, 0x86, 0xce, - 0xbd, 0x93, 0x68, 0x02, 0x3f, 0x2d, 0x86, 0xce, 0x31, 0x08, 0xdb, 0x84, 0x63, 0x12, 0x8d, 0xfd, - 0x7e, 0xc1, 0x75, 0x81, 0xb2, 0xf0, 0x2c, 0xe4, 0x3c, 0x63, 0x13, 0x8d, 0xff, 0x33, 0x1c, 0xdf, - 0xc7, 0x21, 0x1c, 0x08, 0x18, 0xbb, 0x68, 0x12, 0x3f, 0x2b, 0x38, 0x10, 0xc0, 0x22, 0xdb, 0xa8, - 0xd7, 0x81, 0x89, 0xa6, 0xf4, 0x73, 0x62, 0x1b, 0xf5, 0xf8, 0x2f, 0x64, 0x35, 0xa9, 0xce, 0x8f, - 0x26, 0xf1, 0xb7, 0xc5, 0x6a, 0x52, 0x78, 0x32, 0x8c, 0x5e, 0x8f, 0x20, 0x9a, 0xc6, 0x2f, 0x88, - 0x61, 0xf4, 0x38, 0x04, 0x0b, 0xeb, 0x80, 0xfa, 0xbd, 0x81, 0x68, 0x7a, 0x1f, 0xe0, 0xf4, 0x26, - 0xfa, 0x9c, 0x81, 0x85, 0xe7, 0xe0, 0xc8, 0x60, 0x4f, 0x20, 0x9a, 0xea, 0x2f, 0xbe, 0xd1, 0x13, - 0xbb, 0x05, 0x1d, 0x81, 0x85, 0x0d, 0xdf, 0xa4, 0x04, 0xbd, 0x80, 0x68, 0xb2, 0xbf, 0xf4, 0x46, - 0x58, 0x71, 0x07, 0x9d, 0x80, 0x85, 0x0a, 0x80, 0x6f, 0x80, 0xa3, 0x69, 0x7d, 0x90, 0xd3, 0x0a, - 0x20, 0x91, 0xad, 0xc1, 0xed, 0x6f, 0x34, 0xfe, 0x6d, 0xb1, 0x35, 0x38, 0x06, 0xd9, 0x1a, 0xc2, - 0xf4, 0x46, 0x63, 0x7f, 0x48, 0x6c, 0x0d, 0x81, 0x42, 0x24, 0x3b, 0x60, 0xdd, 0xa2, 0x29, 0x7c, - 0x58, 0x48, 0x76, 0x00, 0x6b, 0x61, 0x15, 0x26, 0xfa, 0x0c, 0x62, 0x34, 0xa9, 0x5f, 0xe1, 0xa4, - 0xa4, 0x5e, 0x7b, 0x18, 0x34, 0x5e, 0xdc, 0x18, 0x46, 0x53, 0xfb, 0x48, 0x8f, 0xf1, 0xe2, 0xb6, - 0x70, 0xe1, 0x02, 0x64, 0x8d, 0x6e, 0xbb, 0x4d, 0x36, 0x0f, 0x3a, 0xf8, 0x2e, 0xe1, 0xf4, 0x7f, - 0xfb, 0x0e, 0xe7, 0x8e, 0x40, 0x58, 0x38, 0x07, 0x29, 0xdc, 0xd9, 0xc2, 0xad, 0x28, 0xcc, 0x6f, - 0x7c, 0x47, 0x28, 0x4c, 0x02, 0xbd, 0xf0, 0x2c, 0x00, 0x4b, 0x8d, 0xd0, 0xc3, 0xc3, 0x08, 0xdc, - 0x3f, 0xfa, 0x0e, 0xbf, 0xbc, 0xe3, 0xa3, 0xf8, 0x04, 0xd8, 0x55, 0xa0, 0x83, 0x09, 0x7c, 0x33, - 0x4c, 0x80, 0xae, 0xc8, 0xd3, 0x90, 0x79, 0xc9, 0x31, 0x0d, 0x57, 0xdb, 0x89, 0xc2, 0xfe, 0x16, - 0xc7, 0x16, 0xf0, 0x84, 0x61, 0x1d, 0xd3, 0xc6, 0xae, 0xb6, 0xe3, 0x44, 0xe1, 0xfe, 0x77, 0x8e, - 0xeb, 0x21, 0x10, 0xe4, 0xa6, 0xe6, 0xb8, 0xa3, 0xcc, 0xfb, 0x8f, 0x05, 0xb2, 0x40, 0x20, 0x83, - 0x26, 0xbf, 0xaf, 0xe3, 0xfd, 0x28, 0xdc, 0x3f, 0x11, 0x83, 0xe6, 0xf0, 0x0b, 0xcf, 0x40, 0x8e, - 0xfc, 0x64, 0x37, 0xf2, 0x22, 0x90, 0xff, 0x94, 0x23, 0xfb, 0x18, 0xa4, 0x67, 0xc7, 0x6d, 0xb9, - 0x7a, 0x34, 0xb3, 0xbf, 0xcd, 0x57, 0x5a, 0xc0, 0x2f, 0x54, 0x20, 0xef, 0xb8, 0xad, 0x56, 0x97, - 0xfb, 0xa7, 0x11, 0xe8, 0x7f, 0xf6, 0x1d, 0x2f, 0x65, 0xe1, 0xe1, 0x90, 0xd5, 0xbe, 0x79, 0xdd, - 0xb5, 0x4c, 0x7a, 0xe0, 0x11, 0x45, 0xe1, 0x0d, 0x4e, 0x21, 0x80, 0xb2, 0x50, 0x83, 0x71, 0x32, - 0x17, 0x1b, 0x5b, 0x98, 0x9e, 0x4e, 0x45, 0x90, 0xf8, 0x73, 0xce, 0x80, 0x10, 0x52, 0xf5, 0x87, - 0xbe, 0xf8, 0xfa, 0x4c, 0xec, 0x4b, 0xaf, 0xcf, 0xc4, 0xfe, 0xf0, 0xf5, 0x99, 0xd8, 0xfb, 0xbf, - 0x32, 0x33, 0xf6, 0xa5, 0xaf, 0xcc, 0x8c, 0xfd, 0xc1, 0x57, 0x66, 0xc6, 0x06, 0x67, 0x89, 0xe1, - 0x92, 0x79, 0xc9, 0x64, 0xf9, 0xe1, 0x17, 0x1f, 0xd8, 0xd1, 0xdd, 0xdd, 0xee, 0xd6, 0x7c, 0xd3, - 0xec, 0x9c, 0x69, 0x9a, 0x4e, 0xc7, 0x74, 0xce, 0x84, 0xf3, 0xba, 0xf4, 0x17, 0xfc, 0x9f, 0x18, - 0x89, 0x99, 0xc3, 0xe9, 0x5c, 0xcd, 0xd8, 0x1f, 0xf6, 0x79, 0xcf, 0x79, 0x48, 0x54, 0x8c, 0x7d, - 0x74, 0x8c, 0x29, 0x38, 0xb5, 0x6b, 0xb7, 0xf9, 0xb5, 0xb0, 0x0c, 0x29, 0x6f, 0xda, 0x6d, 0x34, - 0xe5, 0xdf, 0xdd, 0x8c, 0x9d, 0x1c, 0xe7, 0x17, 0x32, 0xab, 0x3f, 0x15, 0x3b, 0xdc, 0x4c, 0xb2, - 0x15, 0x63, 0x9f, 0x4e, 0x64, 0x3d, 0xf6, 0xe2, 0xc3, 0x91, 0x79, 0xee, 0xeb, 0x86, 0x79, 0xd3, - 0x20, 0xc3, 0xb6, 0xb6, 0x44, 0x8e, 0x7b, 0xa6, 0x37, 0xc7, 0xfd, 0x1c, 0x6e, 0xb7, 0xaf, 0x12, - 0xb8, 0x0d, 0x82, 0xb2, 0x95, 0x66, 0x37, 0x90, 0xe1, 0xe7, 0xe2, 0x30, 0xd3, 0x97, 0xce, 0xe6, - 0x42, 0x30, 0x8c, 0x09, 0x0b, 0x90, 0x5d, 0x14, 0xb2, 0x35, 0x0d, 0x19, 0x07, 0x37, 0x4d, 0xa3, - 0xe5, 0x50, 0x46, 0x24, 0x14, 0x51, 0x24, 0x8c, 0x30, 0x34, 0xc3, 0x74, 0xf8, 0xc5, 0x4a, 0x56, - 0xa8, 0xfe, 0xf2, 0x21, 0x19, 0x51, 0x10, 0x3d, 0x09, 0x6e, 0x3c, 0x36, 0x22, 0x37, 0xc4, 0x24, - 0x42, 0x99, 0xff, 0x51, 0xb9, 0xf2, 0x0b, 0x71, 0x98, 0xed, 0xe5, 0x0a, 0xd9, 0x59, 0x8e, 0xab, - 0x75, 0xac, 0x61, 0x6c, 0xb9, 0x00, 0xb9, 0x0d, 0x01, 0x73, 0x68, 0xbe, 0xdc, 0x3e, 0x24, 0x5f, - 0x8a, 0x5e, 0x57, 0x82, 0x31, 0x67, 0x47, 0x64, 0x8c, 0x37, 0x8f, 0x3b, 0xe2, 0xcc, 0x5f, 0xa4, - 0xe1, 0x18, 0xdb, 0x4e, 0x2a, 0xdb, 0x4a, 0xac, 0xc0, 0x79, 0x32, 0x1e, 0x6c, 0x8a, 0x3e, 0x27, - 0x91, 0xaf, 0xc2, 0xe4, 0x12, 0xd1, 0x16, 0x24, 0x0a, 0xf2, 0x4f, 0x78, 0x06, 0xde, 0x3d, 0x9d, - 0x0b, 0x39, 0xfc, 0xfc, 0x84, 0x29, 0x58, 0x25, 0xff, 0x70, 0x0c, 0xa4, 0x46, 0x53, 0x6b, 0x6b, - 0xf6, 0x77, 0x4b, 0x0a, 0x3d, 0x09, 0x40, 0xbf, 0x59, 0xf2, 0x3f, 0x32, 0x2a, 0x9e, 0x9d, 0x9e, - 0x0f, 0x4e, 0x6e, 0x9e, 0xf5, 0x44, 0xbf, 0x60, 0xc8, 0x51, 0x58, 0xf2, 0xf3, 0xf4, 0xf3, 0x00, - 0x7e, 0x03, 0x3a, 0x0e, 0x47, 0x1b, 0xb5, 0xca, 0x72, 0x45, 0x51, 0xd9, 0x65, 0xf8, 0xd5, 0xc6, - 0x7a, 0xbd, 0xb6, 0x74, 0x71, 0xa9, 0xbe, 0x28, 0x8d, 0xa1, 0x23, 0x80, 0x82, 0x8d, 0xde, 0xbd, - 0x94, 0xbb, 0x60, 0x22, 0x58, 0xcf, 0x6e, 0xd4, 0xc7, 0x89, 0xa7, 0xa8, 0x77, 0xac, 0x36, 0xa6, - 0x47, 0x7f, 0xaa, 0x2e, 0xb8, 0x16, 0xed, 0x84, 0xfc, 0xee, 0xbf, 0x63, 0xb7, 0xac, 0x27, 0x7d, - 0x74, 0x8f, 0xe7, 0x0b, 0xcb, 0x30, 0xa1, 0x35, 0x9b, 0xd8, 0x0a, 0x91, 0x8c, 0x50, 0xd5, 0x84, - 0x20, 0x3d, 0xcc, 0xe4, 0x98, 0x3e, 0xb5, 0x27, 0x21, 0xed, 0xd0, 0xd9, 0x47, 0x91, 0xf8, 0x3d, - 0x4e, 0x82, 0x83, 0x2f, 0x18, 0x30, 0x41, 0x3c, 0x3f, 0xcd, 0xc6, 0x81, 0x61, 0x1c, 0x9c, 0x67, - 0xf8, 0xad, 0x4f, 0x3f, 0x4a, 0x8f, 0x36, 0xef, 0x0d, 0x2f, 0xcb, 0x00, 0x71, 0x52, 0x24, 0x4e, - 0xdb, 0x1f, 0x28, 0x86, 0xa2, 0xe8, 0x8f, 0x0f, 0xf8, 0xe0, 0xce, 0x7e, 0x9b, 0x77, 0x36, 0x33, - 0x48, 0x06, 0x02, 0x3d, 0x15, 0x38, 0x55, 0xd6, 0x50, 0xad, 0x0f, 0xdb, 0xd3, 0x2f, 0x3e, 0xd4, - 0x6f, 0x9d, 0xd8, 0x7f, 0x8f, 0x50, 0xca, 0x17, 0x82, 0xdd, 0x78, 0x7b, 0xef, 0x97, 0x93, 0x30, - 0xa1, 0x75, 0x74, 0xc3, 0x3c, 0x43, 0xff, 0xe5, 0x7b, 0x2e, 0x45, 0x0b, 0x23, 0x1c, 0x4a, 0x9e, - 0x67, 0x5b, 0x21, 0x5a, 0x62, 0xfe, 0xf4, 0x27, 0x3f, 0x9a, 0xf2, 0xb7, 0xcb, 0xc2, 0x0a, 0x48, - 0xe2, 0xc2, 0x21, 0x36, 0x9a, 0x66, 0x6b, 0xa4, 0x2c, 0xc5, 0xb7, 0x05, 0x0d, 0x91, 0xdf, 0xaa, - 0x73, 0xd4, 0x85, 0x77, 0x40, 0xd6, 0x23, 0x13, 0xe5, 0x99, 0x08, 0x22, 0x1e, 0x06, 0xf1, 0x4b, - 0xd8, 0xce, 0x1c, 0xc5, 0x0b, 0x7d, 0x43, 0xe0, 0xb3, 0x1d, 0xba, 0x4a, 0x66, 0x73, 0x09, 0x8a, - 0x2d, 0xd3, 0x70, 0x55, 0xb3, 0xa3, 0xbb, 0xb8, 0x63, 0xb9, 0x91, 0x7e, 0xdd, 0x9f, 0x33, 0x22, - 0x59, 0xa5, 0x40, 0xf0, 0xd6, 0x04, 0x1a, 0x19, 0x09, 0xfb, 0xa6, 0x68, 0x94, 0x91, 0xfc, 0x0f, - 0x6f, 0x24, 0x14, 0x87, 0x8c, 0xe4, 0x8e, 0xa4, 0xc3, 0x69, 0x5d, 0xe7, 0xca, 0xdc, 0xdd, 0x63, - 0x52, 0xe0, 0x49, 0xc7, 0x1f, 0x27, 0x60, 0x86, 0x03, 0x6f, 0x69, 0x0e, 0x3e, 0x73, 0xe3, 0xb1, - 0x2d, 0xec, 0x6a, 0x8f, 0x9d, 0x69, 0x9a, 0xba, 0xb0, 0xe4, 0x93, 0x5c, 0x59, 0x93, 0xf6, 0x79, - 0xde, 0x5e, 0x1e, 0x78, 0xdc, 0x5d, 0x1e, 0xae, 0xe4, 0xcb, 0xfd, 0x32, 0x28, 0xbf, 0x08, 0xc9, - 0x9a, 0xa9, 0x1b, 0xc4, 0xb6, 0xb5, 0xb0, 0x61, 0x76, 0xb8, 0xba, 0x65, 0x05, 0x74, 0x1e, 0xd2, - 0x5a, 0xc7, 0xec, 0x1a, 0x2e, 0x53, 0xb5, 0xd5, 0x99, 0x2f, 0xbe, 0x36, 0x3b, 0xf6, 0x1f, 0x5e, - 0x9b, 0x4d, 0x2c, 0x19, 0xee, 0xef, 0x7f, 0xe6, 0x11, 0xe0, 0xd4, 0x97, 0x0c, 0xf7, 0xe3, 0x5f, - 0xfb, 0xe4, 0xe9, 0x98, 0xc2, 0xa1, 0x17, 0x92, 0x5f, 0x7f, 0x75, 0x36, 0x26, 0x3f, 0x0f, 0x99, - 0x45, 0xdc, 0x3c, 0x80, 0xfc, 0x63, 0x3d, 0xe4, 0x8f, 0x09, 0xf2, 0x8b, 0xb8, 0x19, 0x20, 0xbf, - 0x88, 0x9b, 0x3d, 0x94, 0x9f, 0x84, 0xec, 0x92, 0xe1, 0xb2, 0xcf, 0x1d, 0x1e, 0x82, 0x84, 0x6e, - 0xb0, 0x1b, 0xb4, 0x01, 0x0a, 0x7d, 0x03, 0x54, 0x08, 0x14, 0x41, 0x5c, 0xc4, 0x4d, 0x0f, 0xb1, - 0x85, 0x9b, 0xbd, 0x88, 0xfd, 0x5d, 0x13, 0xa8, 0xea, 0xe2, 0x1f, 0xfc, 0x97, 0x99, 0xb1, 0x57, - 0x5e, 0x9f, 0x19, 0x1b, 0xba, 0xf4, 0x72, 0xf4, 0xd2, 0x7b, 0x2b, 0xfe, 0xd1, 0x24, 0xdc, 0x43, - 0xbf, 0x82, 0xb3, 0x3b, 0xba, 0xe1, 0x9e, 0x69, 0xda, 0xfb, 0x96, 0x6b, 0x12, 0x05, 0x60, 0x6e, - 0xf3, 0x05, 0x9f, 0xf0, 0x9b, 0xe7, 0x59, 0xf3, 0xe0, 0xe5, 0x96, 0xb7, 0x21, 0xb5, 0x4e, 0xf0, - 0x08, 0x8b, 0x5d, 0xd3, 0xd5, 0xda, 0xdc, 0x6b, 0x61, 0x05, 0x52, 0xcb, 0xbe, 0x9c, 0x8b, 0xb3, - 0x5a, 0x5d, 0x7c, 0x34, 0xd7, 0xc6, 0xda, 0x36, 0xfb, 0x00, 0x21, 0x41, 0xdd, 0xdd, 0x2c, 0xa9, - 0xa0, 0xdf, 0x1a, 0x4c, 0x41, 0x4a, 0xeb, 0xb2, 0x9b, 0x2f, 0x09, 0xe2, 0x07, 0xd3, 0x82, 0x7c, - 0x15, 0x32, 0xfc, 0xfc, 0x1d, 0x49, 0x90, 0xb8, 0x8e, 0xf7, 0x69, 0x3f, 0xe3, 0x0a, 0xf9, 0x89, - 0xe6, 0x21, 0x45, 0x07, 0xcf, 0xbf, 0xac, 0x9a, 0x9e, 0xef, 0x1b, 0xfd, 0x3c, 0x1d, 0xa4, 0xc2, - 0xc0, 0xe4, 0x2b, 0x90, 0x5d, 0x34, 0x89, 0x14, 0x86, 0xa9, 0xe5, 0x18, 0x35, 0x3a, 0x66, 0xab, - 0xcb, 0xa5, 0x42, 0x61, 0x05, 0x74, 0x04, 0xd2, 0xec, 0x83, 0x14, 0x7e, 0x7b, 0x87, 0x97, 0xe4, - 0x1a, 0x64, 0x28, 0xed, 0x35, 0x8b, 0xb8, 0x0c, 0xde, 0xdd, 0xdf, 0x1c, 0xff, 0x3c, 0x91, 0x93, - 0x8f, 0xfb, 0x83, 0x45, 0x90, 0x6c, 0x69, 0xae, 0xc6, 0xe7, 0x4d, 0x7f, 0xcb, 0xef, 0x84, 0x2c, - 0x27, 0xe2, 0xa0, 0xb3, 0x90, 0x30, 0x2d, 0x87, 0xdf, 0xbf, 0x29, 0x0f, 0x9b, 0xca, 0x9a, 0x55, - 0x4d, 0x12, 0x99, 0x51, 0x08, 0x70, 0x75, 0x75, 0xa8, 0x58, 0x3c, 0x11, 0x12, 0x8b, 0x0e, 0x76, - 0xb7, 0xb6, 0x5d, 0xff, 0x07, 0x5b, 0xce, 0x3e, 0x51, 0xf0, 0x04, 0xe5, 0x76, 0x1c, 0x66, 0x02, - 0xad, 0x37, 0xb0, 0xed, 0xe8, 0xa6, 0xc1, 0xa4, 0x89, 0x4b, 0x0a, 0x0a, 0x0c, 0x90, 0xb7, 0x0f, - 0x11, 0x95, 0x67, 0x20, 0x51, 0xb1, 0x2c, 0x54, 0x86, 0x2c, 0x2d, 0x37, 0x4d, 0x26, 0x2b, 0x49, - 0xc5, 0x2b, 0x93, 0x36, 0xc7, 0xdc, 0x76, 0x6f, 0x6a, 0xb6, 0xf7, 0xbd, 0xa6, 0x28, 0xcb, 0x4f, - 0x43, 0xae, 0x66, 0x1a, 0x0e, 0x36, 0x9c, 0x2e, 0xf5, 0x85, 0xb7, 0xda, 0x66, 0xf3, 0x3a, 0xa7, - 0xc0, 0x0a, 0x84, 0xd9, 0x9a, 0x65, 0x51, 0xcc, 0xa4, 0x42, 0x7e, 0xb2, 0xfd, 0x5a, 0x5d, 0x1b, - 0xca, 0x9e, 0x73, 0x87, 0x63, 0x0f, 0x9f, 0xa0, 0xef, 0xd4, 0xc6, 0xe0, 0xee, 0xfe, 0x8d, 0x74, - 0x1d, 0xef, 0x3b, 0x87, 0xdd, 0x47, 0xcf, 0x43, 0x6e, 0x9d, 0x3e, 0x98, 0x70, 0x15, 0xef, 0xa3, - 0x32, 0x64, 0x70, 0xeb, 0xec, 0xb9, 0x73, 0x8f, 0x3d, 0xcd, 0xa4, 0xfc, 0xf2, 0x98, 0x22, 0x2a, - 0xd0, 0x0c, 0xe4, 0x1c, 0xdc, 0xb4, 0xce, 0x9e, 0x3b, 0x7f, 0xfd, 0x31, 0x26, 0x56, 0x97, 0xc7, - 0x14, 0xbf, 0x6a, 0x21, 0x4b, 0x66, 0xfc, 0xf5, 0x0f, 0xcf, 0xc6, 0xaa, 0x29, 0x48, 0x38, 0xdd, - 0xce, 0x5b, 0x26, 0x1b, 0x3f, 0x9f, 0x82, 0xb9, 0x40, 0x2b, 0x33, 0x2e, 0x37, 0xb4, 0xb6, 0xde, - 0xd2, 0xfc, 0x67, 0x2e, 0xa4, 0xc0, 0xfc, 0x29, 0xc4, 0x10, 0xab, 0x71, 0x20, 0x17, 0xe5, 0x4f, - 0xc5, 0x60, 0xfc, 0x9a, 0xa0, 0xdc, 0xc0, 0x2e, 0xba, 0x00, 0xe0, 0xf5, 0x24, 0xb6, 0xca, 0xf1, - 0xf9, 0xde, 0xbe, 0xe6, 0x3d, 0x1c, 0x25, 0x00, 0x8e, 0x9e, 0xa4, 0x02, 0x68, 0x99, 0x0e, 0xff, - 0x76, 0x2f, 0x02, 0xd5, 0x03, 0x46, 0x0f, 0x03, 0xa2, 0x5a, 0x4d, 0xbd, 0x61, 0xba, 0xba, 0xb1, - 0xa3, 0x5a, 0xe6, 0x4d, 0xfe, 0x45, 0x74, 0x42, 0x91, 0x68, 0xcb, 0x35, 0xda, 0xb0, 0x4e, 0xea, - 0xc9, 0xa0, 0x73, 0x1e, 0x15, 0x12, 0xd6, 0x69, 0xad, 0x96, 0x8d, 0x1d, 0x87, 0x2b, 0x2e, 0x51, - 0x44, 0x17, 0x20, 0x63, 0x75, 0xb7, 0x54, 0xa1, 0x25, 0xf2, 0x67, 0xef, 0x1e, 0xb4, 0xe7, 0x85, - 0x6c, 0xf0, 0x5d, 0x9f, 0xb6, 0xba, 0x5b, 0x44, 0x52, 0xee, 0x85, 0xf1, 0x01, 0x83, 0xc9, 0xdf, - 0xf0, 0xc7, 0x41, 0xdf, 0xe8, 0xe0, 0x33, 0x50, 0x2d, 0x5b, 0x37, 0x6d, 0xdd, 0xdd, 0xa7, 0x17, - 0xe7, 0x12, 0x8a, 0x24, 0x1a, 0xd6, 0x79, 0xbd, 0x7c, 0x1d, 0x4a, 0x0d, 0xea, 0xee, 0xfb, 0x23, - 0x3f, 0xe7, 0x8f, 0x2f, 0x16, 0x3d, 0xbe, 0xa1, 0x23, 0x8b, 0xf7, 0x8d, 0xac, 0xba, 0x32, 0x54, - 0x32, 0x1f, 0x3f, 0x9c, 0x64, 0x86, 0xad, 0xdb, 0x1f, 0x1d, 0x0b, 0x6d, 0x4a, 0xee, 0xf5, 0x04, - 0x54, 0xd6, 0xa8, 0x42, 0x19, 0x15, 0xc9, 0x97, 0x0f, 0x36, 0xa2, 0xe5, 0x08, 0xd5, 0x59, 0x8e, - 0xdc, 0x3e, 0xf2, 0xd3, 0x50, 0x58, 0xd7, 0x6c, 0xb7, 0x81, 0xdd, 0xcb, 0x58, 0x6b, 0x61, 0x3b, - 0x6c, 0x65, 0x0b, 0xc2, 0xca, 0x22, 0x48, 0x52, 0x53, 0xca, 0xac, 0x0c, 0xfd, 0x2d, 0xef, 0x42, - 0x92, 0x5e, 0x9c, 0xf5, 0x2c, 0x30, 0xc7, 0x60, 0x16, 0x98, 0xe8, 0xcf, 0x7d, 0x17, 0x3b, 0x22, - 0xd9, 0x44, 0x0b, 0xe8, 0x09, 0x61, 0x47, 0x13, 0x07, 0xdb, 0x51, 0x2e, 0x84, 0xdc, 0x9a, 0xb6, - 0x21, 0x53, 0x25, 0xea, 0x77, 0x69, 0xd1, 0x1b, 0x48, 0xcc, 0x1f, 0x08, 0x5a, 0x81, 0x92, 0xa5, - 0xd9, 0x2e, 0xfd, 0xe6, 0x68, 0x97, 0xce, 0x82, 0xcb, 0xf9, 0x6c, 0xff, 0xae, 0x0b, 0x4d, 0x96, - 0xf7, 0x52, 0xb0, 0x82, 0x95, 0xf2, 0x7f, 0x4d, 0x42, 0x9a, 0x33, 0xe3, 0x19, 0xc8, 0x70, 0xb6, - 0x72, 0xc9, 0xbc, 0x67, 0xbe, 0xdf, 0x18, 0xcd, 0x7b, 0x46, 0x83, 0xd3, 0x13, 0x38, 0xe8, 0x41, - 0xc8, 0x36, 0x77, 0x35, 0xdd, 0x50, 0xf5, 0x16, 0x77, 0x00, 0xf3, 0xaf, 0xbf, 0x36, 0x9b, 0xa9, - 0x91, 0xba, 0xa5, 0x45, 0x25, 0x43, 0x1b, 0x97, 0x5a, 0xc4, 0xf2, 0xef, 0x62, 0x7d, 0x67, 0xd7, - 0xe5, 0xbb, 0x8b, 0x97, 0xd0, 0x53, 0x90, 0x24, 0x02, 0xc1, 0xbf, 0x48, 0x2d, 0xf7, 0xf9, 0xf1, - 0x5e, 0xa2, 0xa5, 0x9a, 0x25, 0x1d, 0xbf, 0xff, 0x3f, 0xcf, 0xc6, 0x14, 0x8a, 0x81, 0x6a, 0x50, - 0x68, 0x6b, 0x8e, 0xab, 0x52, 0xab, 0x45, 0xba, 0x4f, 0x51, 0x12, 0xc7, 0xfa, 0x19, 0xc2, 0x19, - 0xcb, 0x87, 0x9e, 0x27, 0x58, 0xac, 0xaa, 0x85, 0x4e, 0x82, 0x44, 0x89, 0x34, 0xcd, 0x4e, 0x47, - 0x77, 0x99, 0x2f, 0x95, 0xa6, 0x7c, 0x2f, 0x92, 0xfa, 0x1a, 0xad, 0xa6, 0x1e, 0xd5, 0x71, 0xc8, - 0xd1, 0x6f, 0xe0, 0x28, 0x08, 0xbb, 0xad, 0x9d, 0x25, 0x15, 0xb4, 0xf1, 0x04, 0x94, 0x7c, 0xdd, - 0xc8, 0x40, 0xb2, 0x8c, 0x8a, 0x5f, 0x4d, 0x01, 0x1f, 0x85, 0x29, 0x03, 0xef, 0xd1, 0xfb, 0xe3, - 0x21, 0xe8, 0x1c, 0x85, 0x46, 0xa4, 0xed, 0x5a, 0x18, 0xe3, 0x01, 0x28, 0x36, 0x05, 0xf3, 0x19, - 0x2c, 0x50, 0xd8, 0x82, 0x57, 0x4b, 0xc1, 0x8e, 0x41, 0x56, 0xb3, 0x2c, 0x06, 0x90, 0xe7, 0xba, - 0xd1, 0xb2, 0x68, 0xd3, 0x69, 0x98, 0xa0, 0x73, 0xb4, 0xb1, 0xd3, 0x6d, 0xbb, 0x9c, 0xc8, 0x38, - 0x85, 0x29, 0x91, 0x06, 0x85, 0xd5, 0x53, 0xd8, 0xfb, 0xa0, 0x80, 0x6f, 0xe8, 0x2d, 0x6c, 0x34, - 0x31, 0x83, 0x2b, 0x50, 0xb8, 0x71, 0x51, 0x49, 0x81, 0x4e, 0x81, 0xa7, 0xf3, 0x54, 0xa1, 0x8f, - 0x8b, 0x8c, 0x9e, 0xa8, 0xaf, 0xb0, 0x6a, 0x79, 0x1a, 0x92, 0x8b, 0x9a, 0xab, 0x11, 0xa7, 0xc2, - 0xdd, 0x63, 0x46, 0x66, 0x5c, 0x21, 0x3f, 0xe5, 0xaf, 0xc7, 0x21, 0x79, 0xcd, 0x74, 0x31, 0x7a, - 0x3c, 0xe0, 0xf0, 0x15, 0x07, 0xc9, 0x73, 0x43, 0xdf, 0x31, 0x70, 0x6b, 0xc5, 0xd9, 0x09, 0x3c, - 0x58, 0xe1, 0x8b, 0x53, 0x3c, 0x24, 0x4e, 0x53, 0x90, 0xb2, 0xcd, 0xae, 0xd1, 0x12, 0x17, 0x9d, - 0x69, 0x01, 0xd5, 0x21, 0xeb, 0x49, 0x49, 0x32, 0x4a, 0x4a, 0x4a, 0x44, 0x4a, 0x88, 0x0c, 0xf3, - 0x0a, 0x25, 0xb3, 0xc5, 0x85, 0xa5, 0x0a, 0x39, 0x4f, 0x79, 0x71, 0x69, 0x1b, 0x4d, 0x60, 0x7d, - 0x34, 0x62, 0x48, 0xbc, 0xb5, 0xf7, 0x98, 0xc7, 0x24, 0x4e, 0xf2, 0x1a, 0x38, 0xf7, 0x42, 0x62, - 0xc5, 0x1f, 0xcf, 0xc8, 0xd0, 0x79, 0xf9, 0x62, 0xc5, 0x1e, 0xd0, 0xb8, 0x1b, 0x72, 0x8e, 0xbe, - 0x63, 0x68, 0x6e, 0xd7, 0xc6, 0x5c, 0xf2, 0xfc, 0x0a, 0xf9, 0x0b, 0x31, 0x48, 0x33, 0x49, 0x0e, - 0xf0, 0x2d, 0x36, 0x98, 0x6f, 0xf1, 0x61, 0x7c, 0x4b, 0xdc, 0x39, 0xdf, 0x2a, 0x00, 0xde, 0x60, - 0x1c, 0xfe, 0xa6, 0xc1, 0x00, 0x6f, 0x81, 0x0d, 0xb1, 0xa1, 0xef, 0xf0, 0x8d, 0x1a, 0x40, 0x92, - 0xff, 0x53, 0x8c, 0x38, 0xae, 0xbc, 0x1d, 0x55, 0xa0, 0x20, 0xc6, 0xa5, 0x6e, 0xb7, 0xb5, 0x1d, - 0x2e, 0x3b, 0xf7, 0x0c, 0x1d, 0xdc, 0xc5, 0xb6, 0xb6, 0xa3, 0xe4, 0xf9, 0x78, 0x48, 0x61, 0xf0, - 0x3a, 0xc4, 0x87, 0xac, 0x43, 0x68, 0xe1, 0x13, 0x77, 0xb6, 0xf0, 0xa1, 0x25, 0x4a, 0xf6, 0x2e, - 0xd1, 0xa7, 0xe3, 0x34, 0x78, 0xb1, 0x4c, 0x47, 0x6b, 0xbf, 0x1d, 0x3b, 0xe2, 0x38, 0xe4, 0x2c, - 0xb3, 0xad, 0xb2, 0x16, 0xf6, 0x01, 0x40, 0xd6, 0x32, 0xdb, 0x4a, 0xdf, 0xb2, 0xa7, 0xde, 0xa4, - 0xed, 0x92, 0x7e, 0x13, 0xb8, 0x96, 0xe9, 0xe5, 0x9a, 0x0d, 0xe3, 0x8c, 0x15, 0xdc, 0x96, 0x3d, - 0x4a, 0x78, 0x40, 0x8d, 0x63, 0xac, 0xdf, 0xf6, 0xb2, 0x61, 0x33, 0x48, 0x85, 0xc3, 0x11, 0x0c, - 0xa6, 0xfa, 0x07, 0x45, 0xbd, 0x41, 0xb1, 0x54, 0x38, 0x9c, 0xfc, 0xf3, 0x31, 0x80, 0x65, 0xc2, - 0x59, 0x3a, 0x5f, 0x62, 0x85, 0x1c, 0x3a, 0x04, 0x35, 0xd4, 0xf3, 0xcc, 0xb0, 0x45, 0xe3, 0xfd, - 0x8f, 0x3b, 0xc1, 0x71, 0xd7, 0xa0, 0xe0, 0x0b, 0xa3, 0x83, 0xc5, 0x60, 0x66, 0x0e, 0xf0, 0xa8, - 0x1b, 0xd8, 0x55, 0xc6, 0x6f, 0x04, 0x4a, 0xf2, 0x3f, 0x8d, 0x41, 0x8e, 0x8e, 0x69, 0x05, 0xbb, - 0x5a, 0x68, 0x0d, 0x63, 0x77, 0xbe, 0x86, 0xf7, 0x00, 0x30, 0x32, 0x8e, 0xfe, 0x32, 0xe6, 0x92, - 0x95, 0xa3, 0x35, 0x0d, 0xfd, 0x65, 0x8c, 0xce, 0x7b, 0x0c, 0x4f, 0x1c, 0xcc, 0x70, 0xe1, 0x71, - 0x73, 0xb6, 0x1f, 0x85, 0x0c, 0x7d, 0x03, 0x6c, 0xcf, 0xe1, 0x4e, 0x74, 0xda, 0xe8, 0x76, 0x36, - 0xf6, 0x1c, 0xf9, 0x25, 0xc8, 0x6c, 0xec, 0xb1, 0x5c, 0xc8, 0x71, 0xc8, 0xd9, 0xa6, 0xc9, 0x6d, - 0x32, 0xf3, 0x85, 0xb2, 0xa4, 0x82, 0x9a, 0x20, 0x11, 0xff, 0xc7, 0xfd, 0xf8, 0xdf, 0x4f, 0x60, - 0x24, 0x46, 0x4a, 0x60, 0x9c, 0xfe, 0xf7, 0x31, 0xc8, 0x07, 0xf4, 0x03, 0x7a, 0x0c, 0xee, 0xaa, - 0x2e, 0xaf, 0xd5, 0xae, 0xaa, 0x4b, 0x8b, 0xea, 0xc5, 0xe5, 0xca, 0x25, 0xff, 0x13, 0xb7, 0xf2, - 0x91, 0x5b, 0xb7, 0xe7, 0x50, 0x00, 0x76, 0xd3, 0xa0, 0xa7, 0x39, 0xe8, 0x0c, 0x4c, 0x85, 0x51, - 0x2a, 0xd5, 0x46, 0x7d, 0x75, 0x43, 0x8a, 0x95, 0xef, 0xba, 0x75, 0x7b, 0x6e, 0x22, 0x80, 0x51, - 0xd9, 0x72, 0xb0, 0xe1, 0xf6, 0x23, 0xd4, 0xd6, 0x56, 0x56, 0x96, 0x36, 0xa4, 0x78, 0x1f, 0x02, - 0x57, 0xd8, 0xa7, 0x60, 0x22, 0x8c, 0xb0, 0xba, 0xb4, 0x2c, 0x25, 0xca, 0xe8, 0xd6, 0xed, 0xb9, - 0x62, 0x00, 0x7a, 0x55, 0x6f, 0x97, 0xb3, 0xef, 0xfb, 0xc8, 0xcc, 0xd8, 0xc7, 0xff, 0xee, 0x4c, - 0x8c, 0xcc, 0xac, 0x10, 0xd2, 0x11, 0xe8, 0x61, 0x38, 0xda, 0x58, 0xba, 0xb4, 0x5a, 0x5f, 0x54, - 0x57, 0x1a, 0x97, 0xc4, 0x79, 0x88, 0x98, 0x5d, 0xe9, 0xd6, 0xed, 0xb9, 0x3c, 0x9f, 0xd2, 0x30, - 0xe8, 0x75, 0xa5, 0x7e, 0x6d, 0x6d, 0xa3, 0x2e, 0xc5, 0x18, 0xf4, 0xba, 0x8d, 0x6f, 0x98, 0x2e, - 0x7b, 0x24, 0xf0, 0x51, 0x38, 0x36, 0x00, 0xda, 0x9b, 0xd8, 0xc4, 0xad, 0xdb, 0x73, 0x85, 0x75, - 0x1b, 0xb3, 0xfd, 0x43, 0x31, 0xe6, 0x61, 0xba, 0x1f, 0x63, 0x6d, 0x7d, 0xad, 0x51, 0x59, 0x96, - 0xe6, 0xca, 0xd2, 0xad, 0xdb, 0x73, 0xe3, 0x42, 0x19, 0x12, 0x78, 0x7f, 0x66, 0x6f, 0x55, 0xb4, - 0xf3, 0xe3, 0x99, 0x50, 0x2e, 0x8f, 0xc5, 0x11, 0x96, 0x66, 0x6b, 0x9d, 0xc3, 0x86, 0x3b, 0x11, - 0xc7, 0xb9, 0xf2, 0x2b, 0x71, 0x28, 0x79, 0xce, 0xf4, 0x3a, 0xed, 0x01, 0x3d, 0x1e, 0xcc, 0xc3, - 0xe4, 0x87, 0x9a, 0x31, 0x06, 0x2d, 0xd2, 0x34, 0xef, 0x80, 0xac, 0x70, 0xca, 0xb8, 0xba, 0x98, - 0xeb, 0xc7, 0xab, 0x73, 0x08, 0x8e, 0xea, 0x61, 0xa0, 0x67, 0x21, 0xe7, 0x29, 0x0f, 0xef, 0x89, - 0x9d, 0xe1, 0xda, 0x86, 0xe3, 0xfb, 0x38, 0xe8, 0x69, 0x3f, 0x6c, 0x48, 0x0e, 0x0b, 0x44, 0xae, - 0x31, 0x00, 0x8e, 0x2c, 0xe0, 0xe5, 0x25, 0xbe, 0xed, 0xf8, 0xec, 0xe9, 0xf3, 0x04, 0x7b, 0x2a, - 0x8b, 0xa4, 0x98, 0x57, 0x92, 0xed, 0x68, 0x7b, 0x55, 0x1a, 0x4c, 0x1d, 0x85, 0x0c, 0x69, 0xdc, - 0xe1, 0x5f, 0x5f, 0x27, 0x94, 0x74, 0x47, 0xdb, 0xbb, 0xa4, 0x39, 0x57, 0x92, 0xd9, 0x84, 0x94, - 0x94, 0x3f, 0x11, 0x83, 0x62, 0x78, 0x8e, 0xe8, 0x21, 0x40, 0x04, 0x43, 0xdb, 0xc1, 0x2a, 0x51, - 0x31, 0x94, 0x59, 0x82, 0x6e, 0xa9, 0xa3, 0xed, 0x55, 0x76, 0xf0, 0x6a, 0xb7, 0x43, 0x07, 0xe0, - 0xa0, 0x15, 0x90, 0x04, 0xb0, 0x58, 0x27, 0xce, 0xcc, 0x63, 0xfd, 0x0f, 0xee, 0x71, 0x00, 0x66, - 0xa8, 0x3e, 0x40, 0x0c, 0x55, 0x91, 0xd1, 0xf3, 0x8e, 0xe3, 0x43, 0x53, 0x49, 0x84, 0xa7, 0x22, - 0x3f, 0x0b, 0xa5, 0x1e, 0x7e, 0x22, 0x19, 0x0a, 0x3c, 0x2b, 0x40, 0x8f, 0x3a, 0x99, 0x7f, 0x9c, - 0x53, 0xf2, 0x2c, 0xfa, 0xa7, 0x47, 0xbf, 0x0b, 0xd9, 0xcf, 0xbf, 0x3a, 0x1b, 0xa3, 0x09, 0xf3, - 0x87, 0xa0, 0x10, 0xe2, 0xa8, 0xc8, 0xd4, 0xc5, 0xfc, 0x4c, 0x9d, 0x0f, 0xfc, 0x22, 0x8c, 0x13, - 0x45, 0x89, 0x5b, 0x1c, 0xf6, 0x41, 0x28, 0x31, 0x45, 0xde, 0xcb, 0x6b, 0xe6, 0x49, 0xad, 0x08, - 0x86, 0xcb, 0xc2, 0xb5, 0x0a, 0xb3, 0x3d, 0x2f, 0xa0, 0x2e, 0x69, 0x4e, 0xf5, 0x5d, 0x1f, 0x7f, - 0x7d, 0x26, 0xf6, 0xd6, 0x6c, 0xc4, 0x2f, 0xbf, 0x0b, 0x8e, 0x07, 0x1a, 0xb5, 0xad, 0xa6, 0x1e, - 0xca, 0x3a, 0x94, 0x02, 0x42, 0x46, 0x1a, 0xa3, 0xb2, 0x07, 0x07, 0xe6, 0x30, 0x0e, 0x4e, 0x98, - 0x95, 0x0f, 0xd6, 0x08, 0xd1, 0x89, 0x8d, 0xc1, 0x39, 0xca, 0xff, 0x9b, 0x85, 0x8c, 0x82, 0xdf, - 0xd3, 0xc5, 0x8e, 0x8b, 0xce, 0x42, 0x12, 0x37, 0x77, 0xcd, 0x41, 0x29, 0x21, 0x32, 0xb9, 0x79, - 0x0e, 0x57, 0x6f, 0xee, 0x9a, 0x97, 0xc7, 0x14, 0x0a, 0x8b, 0xce, 0x41, 0x6a, 0xbb, 0xdd, 0xe5, - 0x79, 0x8a, 0x1e, 0x65, 0x11, 0x44, 0xba, 0x48, 0x80, 0x2e, 0x8f, 0x29, 0x0c, 0x9a, 0x74, 0x45, - 0x9f, 0x2e, 0x4d, 0x1c, 0xdc, 0xd5, 0x92, 0xb1, 0x4d, 0xbb, 0x22, 0xb0, 0xa8, 0x0a, 0xa0, 0x1b, - 0xba, 0xab, 0xd2, 0x18, 0x9e, 0x7b, 0x82, 0xf7, 0x0e, 0xc7, 0xd4, 0x5d, 0x1a, 0xf5, 0x5f, 0x1e, - 0x53, 0x72, 0xba, 0x28, 0x90, 0xe1, 0xbe, 0xa7, 0x8b, 0xed, 0x7d, 0xee, 0x00, 0x0e, 0x1d, 0xee, - 0xbb, 0x08, 0x10, 0x19, 0x2e, 0x85, 0x46, 0x75, 0xc8, 0xd3, 0x6f, 0x54, 0xd9, 0xfe, 0xe5, 0xcf, - 0x68, 0xca, 0xc3, 0x90, 0xab, 0x04, 0x94, 0x6e, 0xe9, 0xcb, 0x63, 0x0a, 0x6c, 0x79, 0x25, 0xa2, - 0x24, 0xd9, 0x33, 0x4b, 0xee, 0x1e, 0x7f, 0x3c, 0x70, 0x76, 0x18, 0x0d, 0xfa, 0xd6, 0xd2, 0xc6, - 0xde, 0xe5, 0x31, 0x25, 0xd3, 0x64, 0x3f, 0xc9, 0xfc, 0x5b, 0xb8, 0xad, 0xdf, 0xc0, 0x36, 0xc1, - 0xcf, 0x1d, 0x3c, 0xff, 0x45, 0x06, 0x49, 0x29, 0xe4, 0x5a, 0xa2, 0x40, 0x14, 0x2d, 0x36, 0x5a, - 0x7c, 0x1a, 0xd0, 0xaf, 0xa7, 0x43, 0xeb, 0x6c, 0xb4, 0xc4, 0x24, 0xb2, 0x98, 0xff, 0x46, 0x4f, - 0x79, 0x1e, 0x6a, 0xbe, 0xdf, 0x29, 0x0c, 0x4d, 0x80, 0xe5, 0x2a, 0xc6, 0x84, 0xa7, 0x8a, 0x56, - 0xa1, 0xd8, 0xd6, 0x1d, 0x57, 0x75, 0x0c, 0xcd, 0x72, 0x76, 0x4d, 0xd7, 0xa1, 0x41, 0x7f, 0xfe, - 0xec, 0x03, 0xc3, 0x28, 0x2c, 0xeb, 0x8e, 0xdb, 0x10, 0xc0, 0x97, 0xc7, 0x94, 0x42, 0x3b, 0x58, - 0x41, 0xe8, 0x99, 0xdb, 0xdb, 0xd8, 0xf6, 0x08, 0xd2, 0xe4, 0xc0, 0x01, 0xf4, 0xd6, 0x08, 0xb4, - 0xc0, 0x27, 0xf4, 0xcc, 0x60, 0x05, 0xfa, 0x7e, 0x98, 0x6c, 0x9b, 0x5a, 0xcb, 0x23, 0xa7, 0x36, - 0x77, 0xbb, 0xc6, 0x75, 0x9a, 0x49, 0xc8, 0x9f, 0x3d, 0x35, 0x74, 0x90, 0xa6, 0xd6, 0x12, 0x24, - 0x6a, 0x04, 0xe1, 0xf2, 0x98, 0x32, 0xd1, 0xee, 0xad, 0x44, 0xef, 0x86, 0x29, 0xcd, 0xb2, 0xda, - 0xfb, 0xbd, 0xd4, 0x4b, 0x94, 0xfa, 0xe9, 0x61, 0xd4, 0x2b, 0x04, 0xa7, 0x97, 0x3c, 0xd2, 0xfa, - 0x6a, 0xd1, 0x06, 0x48, 0x96, 0x8d, 0xe9, 0x47, 0x35, 0x16, 0x77, 0x55, 0xe8, 0xcb, 0x58, 0xf9, - 0xb3, 0x27, 0x86, 0xd1, 0x5e, 0x67, 0xf0, 0xc2, 0xb3, 0xb9, 0x3c, 0xa6, 0x94, 0xac, 0x70, 0x15, - 0xa3, 0x6a, 0x36, 0x31, 0x7d, 0xbd, 0x89, 0x53, 0x9d, 0x88, 0xa2, 0x4a, 0xe1, 0xc3, 0x54, 0x43, - 0x55, 0xd5, 0x0c, 0xbf, 0x14, 0xc7, 0x9f, 0x56, 0x39, 0x01, 0xf9, 0x80, 0x62, 0x41, 0xd3, 0x90, - 0xe1, 0x97, 0x04, 0xc4, 0x65, 0x3a, 0x5e, 0x94, 0x8b, 0x30, 0x1e, 0x54, 0x26, 0xf2, 0xfb, 0x63, - 0x1e, 0x26, 0xfd, 0xd6, 0x7d, 0x3a, 0x9c, 0x3a, 0xcc, 0xf9, 0x59, 0xc1, 0xfb, 0x84, 0x15, 0x11, - 0xed, 0xec, 0x34, 0x69, 0x9c, 0x56, 0x72, 0x23, 0x86, 0x66, 0x21, 0x6f, 0x9d, 0xb5, 0x3c, 0x90, - 0x04, 0x05, 0x01, 0xeb, 0xac, 0x25, 0x00, 0xee, 0x85, 0x71, 0x32, 0x53, 0x35, 0xe8, 0x68, 0xe4, - 0x94, 0x3c, 0xa9, 0xe3, 0x20, 0xf2, 0xbf, 0x8e, 0x83, 0xd4, 0xab, 0x80, 0xbc, 0x9c, 0x62, 0xec, - 0xd0, 0x39, 0xc5, 0x63, 0xbd, 0xd9, 0x4c, 0x3f, 0x81, 0xb9, 0x0c, 0x92, 0x9f, 0x87, 0x63, 0x86, - 0x60, 0xb8, 0xe3, 0xd4, 0xe3, 0xe1, 0x29, 0xa5, 0x66, 0x8f, 0xcb, 0x77, 0x31, 0x74, 0xf6, 0x22, - 0xde, 0xe6, 0xee, 0x5d, 0x62, 0xcf, 0x5f, 0xd8, 0xb4, 0x5a, 0x9a, 0x8b, 0x45, 0x5e, 0x24, 0x70, - 0x0c, 0xf3, 0x20, 0x94, 0x34, 0xcb, 0x52, 0x1d, 0x57, 0x73, 0x31, 0x37, 0xeb, 0x29, 0x96, 0x1e, - 0xd4, 0x2c, 0xab, 0x41, 0x6a, 0x99, 0x59, 0x7f, 0x00, 0x8a, 0x44, 0x27, 0xeb, 0x5a, 0x5b, 0xe5, - 0x59, 0x82, 0x34, 0xb3, 0xfe, 0xbc, 0xf6, 0x32, 0xad, 0x94, 0x5b, 0xde, 0x8a, 0x53, 0x7d, 0xec, - 0x85, 0x59, 0xb1, 0x40, 0x98, 0x85, 0xf8, 0x23, 0x04, 0x8c, 0x3f, 0xe2, 0xdd, 0x86, 0xc1, 0xd9, - 0xdd, 0x29, 0x1a, 0x92, 0xdd, 0x60, 0x09, 0x8f, 0xac, 0xc2, 0x0a, 0xf2, 0x7b, 0xe3, 0x30, 0xd1, - 0xa7, 0xb9, 0x07, 0xa6, 0xbd, 0xfd, 0xf8, 0x32, 0x7e, 0xa8, 0xf8, 0xf2, 0x6a, 0x38, 0xad, 0x1b, - 0xb0, 0x7c, 0xc7, 0xfb, 0x98, 0xcc, 0xf4, 0x26, 0x11, 0x68, 0x4e, 0x24, 0x90, 0xf9, 0xa5, 0x62, - 0xbe, 0x09, 0x53, 0x5b, 0xfb, 0x2f, 0x6b, 0x86, 0xab, 0x1b, 0x58, 0xed, 0x5b, 0xb5, 0x7e, 0x53, - 0xba, 0xa2, 0x3b, 0x5b, 0x78, 0x57, 0xbb, 0xa1, 0x9b, 0x62, 0x58, 0x93, 0x1e, 0xbe, 0x9f, 0xdc, - 0x95, 0x15, 0x28, 0x86, 0x4d, 0x0f, 0x2a, 0x42, 0xdc, 0xdd, 0xe3, 0xf3, 0x8f, 0xbb, 0x7b, 0xe8, - 0x51, 0x9e, 0x07, 0x8a, 0xd3, 0x3c, 0x50, 0x7f, 0x47, 0x1c, 0xcf, 0x4f, 0x02, 0xc9, 0xb2, 0xb7, - 0x1b, 0x3c, 0x73, 0xd4, 0x4b, 0x55, 0x3e, 0x05, 0xa5, 0x1e, 0x7b, 0x33, 0x2c, 0x2b, 0x28, 0x97, - 0xa0, 0x10, 0x32, 0x2e, 0xf2, 0x11, 0x98, 0x1a, 0x64, 0x2b, 0xe4, 0x5d, 0xaf, 0x3e, 0xa4, 0xf3, - 0xd1, 0x39, 0xc8, 0x7a, 0xc6, 0x62, 0x40, 0x16, 0x82, 0xce, 0x42, 0x00, 0x2b, 0x1e, 0x68, 0x28, - 0x99, 0x1d, 0x0f, 0x25, 0xb3, 0xe5, 0x1f, 0x82, 0xe9, 0x61, 0x86, 0xa0, 0x67, 0x1a, 0x49, 0x4f, - 0x0a, 0x8f, 0x40, 0x9a, 0x3f, 0xd1, 0x16, 0xa7, 0xc7, 0x37, 0xbc, 0x44, 0xa4, 0x93, 0x19, 0x85, - 0x04, 0x3b, 0xd5, 0xa1, 0x05, 0x59, 0x85, 0x63, 0x43, 0x8d, 0xc1, 0xf0, 0x83, 0x20, 0x46, 0x88, - 0x1f, 0x04, 0x35, 0xc5, 0x70, 0x1c, 0x3a, 0x57, 0x71, 0xd9, 0x81, 0x95, 0xe4, 0x0f, 0x24, 0xe0, - 0xc8, 0x60, 0x93, 0x80, 0xe6, 0x60, 0x9c, 0xf8, 0xdd, 0x6e, 0xd8, 0x45, 0x87, 0x8e, 0xb6, 0xb7, - 0xc1, 0xfd, 0x73, 0x9e, 0x48, 0x8f, 0x7b, 0x89, 0x74, 0xb4, 0x09, 0x13, 0x6d, 0xb3, 0xa9, 0xb5, - 0xd5, 0x80, 0xc4, 0x73, 0x61, 0xbf, 0xaf, 0x8f, 0xd9, 0x75, 0xf6, 0x70, 0x73, 0xab, 0x4f, 0xe8, - 0x4b, 0x94, 0xc6, 0xb2, 0x27, 0xf9, 0x68, 0x11, 0xf2, 0x1d, 0x5f, 0x90, 0x0f, 0x21, 0xec, 0x41, - 0xb4, 0xc0, 0x92, 0xa4, 0x06, 0x1e, 0xfb, 0xa4, 0x0f, 0xad, 0xa2, 0x87, 0x9d, 0xa0, 0x64, 0x86, - 0x9e, 0xa0, 0x0c, 0x3a, 0xae, 0xc8, 0x0e, 0x3e, 0xae, 0x78, 0x5f, 0x70, 0x69, 0x42, 0x46, 0xb4, - 0xff, 0x04, 0x03, 0x35, 0x60, 0x8a, 0xe3, 0xb7, 0x42, 0xbc, 0x8f, 0x8f, 0xaa, 0x68, 0x90, 0x40, - 0x1f, 0xce, 0xf6, 0xc4, 0x9d, 0xb1, 0x5d, 0xe8, 0xd2, 0x64, 0x40, 0x97, 0xfe, 0x7f, 0xb6, 0x14, - 0xff, 0x36, 0x07, 0x59, 0x05, 0x3b, 0x16, 0x31, 0x9c, 0xa8, 0x0a, 0x39, 0xbc, 0xd7, 0xc4, 0x96, - 0xeb, 0x1f, 0x53, 0x0e, 0x0a, 0x06, 0x18, 0x74, 0x5d, 0x40, 0x12, 0x4f, 0xdc, 0x43, 0x43, 0x8f, - 0xf3, 0x60, 0x6b, 0x78, 0xdc, 0xc4, 0xd1, 0x83, 0xd1, 0xd6, 0x79, 0x11, 0x6d, 0x25, 0x86, 0x3a, - 0xdf, 0x0c, 0xab, 0x27, 0xdc, 0x7a, 0x9c, 0x87, 0x5b, 0xc9, 0x88, 0xce, 0x42, 0xf1, 0x56, 0x2d, - 0x14, 0x6f, 0xa5, 0x23, 0xa6, 0x39, 0x24, 0xe0, 0x3a, 0x2f, 0x02, 0xae, 0x4c, 0xc4, 0x88, 0x7b, - 0x22, 0xae, 0x8b, 0xe1, 0x88, 0x2b, 0x3b, 0x44, 0x81, 0x08, 0xec, 0xa1, 0x21, 0xd7, 0x33, 0x81, - 0x90, 0x2b, 0x37, 0x34, 0xde, 0x61, 0x44, 0x06, 0xc4, 0x5c, 0xb5, 0x50, 0xcc, 0x05, 0x11, 0x3c, - 0x18, 0x12, 0x74, 0x7d, 0x5f, 0x30, 0xe8, 0xca, 0x0f, 0x8d, 0xdb, 0xf8, 0x7a, 0x0f, 0x8a, 0xba, - 0x9e, 0xf6, 0xa2, 0xae, 0xf1, 0xa1, 0x61, 0x23, 0x9f, 0x43, 0x6f, 0xd8, 0xb5, 0xd6, 0x17, 0x76, - 0x15, 0xf8, 0xdf, 0x44, 0x18, 0x46, 0x22, 0x22, 0xee, 0x5a, 0xeb, 0x8b, 0xbb, 0x8a, 0x11, 0x04, - 0x23, 0x02, 0xaf, 0x1f, 0x18, 0x1c, 0x78, 0x0d, 0x0f, 0x8d, 0xf8, 0x30, 0x47, 0x8b, 0xbc, 0xd4, - 0x21, 0x91, 0x17, 0x8b, 0x8e, 0x1e, 0x1a, 0x4a, 0x7e, 0xe4, 0xd0, 0x6b, 0x73, 0x40, 0xe8, 0xc5, - 0x82, 0xa4, 0x93, 0x43, 0x89, 0x8f, 0x10, 0x7b, 0x6d, 0x0e, 0x88, 0xbd, 0x50, 0x24, 0xd9, 0xc3, - 0x04, 0x5f, 0x29, 0x29, 0x2d, 0x9f, 0x22, 0xae, 0x6f, 0x8f, 0x9e, 0x22, 0xfe, 0x03, 0xb6, 0x6d, - 0xd3, 0x16, 0x37, 0x6b, 0x69, 0x41, 0x3e, 0x49, 0x9c, 0x71, 0x5f, 0x27, 0x1d, 0x10, 0xa8, 0x51, - 0x3f, 0x2d, 0xa0, 0x87, 0xe4, 0xcf, 0xc7, 0x7c, 0x5c, 0xea, 0xc3, 0x06, 0x1d, 0xf9, 0x1c, 0x77, - 0xe4, 0x03, 0xe1, 0x5b, 0x3c, 0x1c, 0xbe, 0xcd, 0x42, 0x9e, 0xf8, 0x5f, 0x3d, 0x91, 0x99, 0x66, - 0x79, 0x91, 0x99, 0xb8, 0x52, 0xc0, 0x82, 0x3c, 0x6e, 0x56, 0xd8, 0x49, 0x4e, 0xc9, 0xbb, 0x5e, - 0xc1, 0x62, 0x0a, 0xf4, 0x08, 0x4c, 0x06, 0x60, 0x3d, 0xbf, 0x8e, 0x85, 0x29, 0x92, 0x07, 0x5d, - 0xe1, 0x0e, 0xde, 0x3f, 0x8b, 0xf9, 0x1c, 0xf2, 0x43, 0xba, 0x41, 0xd1, 0x57, 0xec, 0x4d, 0x8a, - 0xbe, 0xe2, 0x77, 0x1c, 0x7d, 0x05, 0xfd, 0xd4, 0x44, 0xd8, 0x4f, 0xfd, 0x9f, 0x31, 0x7f, 0x4d, - 0xbc, 0x58, 0xaa, 0x69, 0xb6, 0x30, 0xf7, 0x1c, 0xe9, 0x6f, 0xe2, 0x54, 0xb4, 0xcd, 0x1d, 0xee, - 0x1f, 0x92, 0x9f, 0x04, 0xca, 0x33, 0x1c, 0x39, 0x6e, 0x17, 0x3c, 0xa7, 0x33, 0x15, 0xbc, 0xff, - 0xcb, 0x2f, 0xc5, 0xa6, 0xfd, 0x4b, 0xb1, 0xde, 0xc7, 0x6f, 0x99, 0xc0, 0xc7, 0x6f, 0xe8, 0x29, - 0xc8, 0xd1, 0x8c, 0xa8, 0x6a, 0x5a, 0xe2, 0x2f, 0x68, 0x1c, 0x1f, 0x7e, 0x21, 0xd6, 0xa1, 0x57, - 0xf5, 0xd8, 0x25, 0x5a, 0xdf, 0x63, 0xc8, 0x85, 0x3c, 0x86, 0xbb, 0x21, 0x47, 0x46, 0xcf, 0x5e, - 0x82, 0x06, 0xfe, 0xe5, 0xa4, 0xa8, 0x90, 0xdf, 0x0d, 0xa8, 0xdf, 0x48, 0xa0, 0xcb, 0x90, 0xc6, - 0x37, 0xe8, 0xb3, 0x7a, 0xec, 0xa2, 0xe1, 0x91, 0x7e, 0xd7, 0x94, 0x34, 0x57, 0xa7, 0x09, 0x93, - 0xbf, 0xf1, 0xda, 0xac, 0xc4, 0xa0, 0x1f, 0xf6, 0x3e, 0x14, 0x50, 0x38, 0xbe, 0xfc, 0x1f, 0xe3, - 0x24, 0x80, 0x09, 0x19, 0x90, 0x81, 0xbc, 0x1d, 0x74, 0x44, 0x38, 0x1a, 0xbf, 0x67, 0x00, 0x76, - 0x34, 0x47, 0xbd, 0xa9, 0x19, 0x2e, 0x6e, 0x71, 0xa6, 0x07, 0x6a, 0x50, 0x19, 0xb2, 0xa4, 0xd4, - 0x75, 0x70, 0x8b, 0x87, 0xd1, 0x5e, 0x39, 0x30, 0xcf, 0xcc, 0x77, 0x37, 0xcf, 0x30, 0x97, 0xb3, - 0x3d, 0x5c, 0x0e, 0x04, 0x17, 0xb9, 0x60, 0x70, 0xc1, 0x2e, 0x06, 0xf3, 0xfb, 0x89, 0xc0, 0xc6, - 0x26, 0xca, 0xe8, 0x3e, 0x28, 0x74, 0x70, 0xc7, 0x32, 0xcd, 0xb6, 0xca, 0xd4, 0x0d, 0x7b, 0xf2, - 0x7d, 0x9c, 0x57, 0xd6, 0xa9, 0xd6, 0xf9, 0xb1, 0xb8, 0xbf, 0xff, 0xfc, 0x20, 0xf2, 0x7b, 0x8e, - 0xc1, 0xf2, 0x4f, 0xd2, 0xcc, 0x52, 0xd8, 0x45, 0x40, 0x8d, 0xe0, 0xad, 0x91, 0x2e, 0x55, 0x0b, - 0x42, 0xa0, 0x47, 0xd5, 0x1f, 0xfe, 0xed, 0x12, 0x56, 0xed, 0xa0, 0x17, 0xe0, 0x68, 0x8f, 0x6e, - 0xf3, 0x48, 0xc7, 0x47, 0x55, 0x71, 0x77, 0x85, 0x55, 0x9c, 0x20, 0xed, 0x33, 0x2b, 0xf1, 0x5d, - 0xee, 0xba, 0x25, 0x28, 0x86, 0x3d, 0x9e, 0x81, 0xcb, 0x4f, 0xff, 0xc4, 0x88, 0xab, 0xe9, 0x86, - 0x1a, 0x4a, 0x07, 0x8d, 0xb3, 0x4a, 0x9e, 0x64, 0x5a, 0x87, 0xbb, 0x06, 0x7a, 0x3e, 0xe8, 0x49, - 0xc8, 0xf9, 0x4e, 0x13, 0xe3, 0xea, 0x01, 0xe9, 0x02, 0x1f, 0x56, 0xfe, 0xed, 0x98, 0x4f, 0x32, - 0x9c, 0x80, 0xa8, 0x43, 0x9a, 0x5d, 0x7b, 0xe3, 0x97, 0x69, 0x1e, 0x19, 0xcd, 0x67, 0x9a, 0x67, - 0x77, 0xe2, 0x14, 0x8e, 0x2c, 0xbf, 0x1b, 0xd2, 0xac, 0x06, 0xe5, 0x21, 0xe3, 0xbf, 0x7c, 0x0b, - 0x90, 0xae, 0xd4, 0x6a, 0xf5, 0xf5, 0x0d, 0x29, 0x86, 0x72, 0x90, 0xaa, 0x54, 0xd7, 0x94, 0x0d, - 0x29, 0x4e, 0xaa, 0x95, 0xfa, 0x95, 0x7a, 0x6d, 0x43, 0x4a, 0xa0, 0x09, 0x28, 0xb0, 0xdf, 0xea, - 0xc5, 0x35, 0x65, 0xa5, 0xb2, 0x21, 0x25, 0x03, 0x55, 0x8d, 0xfa, 0xea, 0x62, 0x5d, 0x91, 0x52, - 0xf2, 0x63, 0x70, 0x6c, 0xa8, 0x97, 0xe5, 0x67, 0x17, 0x62, 0x81, 0xec, 0x82, 0xfc, 0x81, 0x38, - 0x94, 0x87, 0xbb, 0x4e, 0xe8, 0x4a, 0xcf, 0xc4, 0xcf, 0x1e, 0xc2, 0xef, 0xea, 0x99, 0x3d, 0x7a, - 0x00, 0x8a, 0x36, 0xde, 0xc6, 0x6e, 0x73, 0x97, 0xb9, 0x72, 0xcc, 0x64, 0x16, 0x94, 0x02, 0xaf, - 0xa5, 0x48, 0x0e, 0x03, 0x7b, 0x09, 0x37, 0x5d, 0x95, 0xe9, 0x22, 0x87, 0xff, 0xad, 0xc3, 0x02, - 0xab, 0x6d, 0xb0, 0x4a, 0xf9, 0x87, 0x0e, 0xc5, 0xcb, 0x1c, 0xa4, 0x94, 0xfa, 0x86, 0xf2, 0x82, - 0x94, 0x40, 0x08, 0x8a, 0xf4, 0xa7, 0xda, 0x58, 0xad, 0xac, 0x37, 0x2e, 0xaf, 0x11, 0x5e, 0x4e, - 0x42, 0x49, 0xf0, 0x52, 0x54, 0xa6, 0xe4, 0x87, 0xe0, 0xe8, 0x10, 0xbf, 0x6f, 0xc0, 0x3d, 0xc4, - 0x0f, 0xc7, 0x82, 0xd0, 0xe1, 0x98, 0x7f, 0x0d, 0xd2, 0x8e, 0xab, 0xb9, 0x5d, 0x87, 0x33, 0xf1, - 0xc9, 0x51, 0x1d, 0xc1, 0x79, 0xf1, 0xa3, 0x41, 0xd1, 0x15, 0x4e, 0x46, 0x3e, 0x07, 0xc5, 0x70, - 0xcb, 0x70, 0x1e, 0xf8, 0x42, 0x14, 0x97, 0x5f, 0x00, 0x08, 0xe4, 0x23, 0xbd, 0x1b, 0x5d, 0xb1, - 0xe0, 0x8d, 0xae, 0x73, 0x90, 0xba, 0x61, 0x32, 0x9d, 0x31, 0x78, 0xe3, 0x5c, 0x33, 0x5d, 0x1c, - 0x48, 0x3e, 0x30, 0x68, 0x59, 0x07, 0xd4, 0x9f, 0x13, 0x1a, 0xd2, 0xc5, 0x33, 0xe1, 0x2e, 0xee, - 0x1d, 0x9a, 0x5d, 0x1a, 0xdc, 0xd5, 0xcb, 0x90, 0xa2, 0xda, 0x66, 0xe0, 0x27, 0x3e, 0x3f, 0x08, - 0xa0, 0xb9, 0xae, 0xad, 0x6f, 0x75, 0xfd, 0x0e, 0x66, 0x07, 0x6b, 0xab, 0x8a, 0x80, 0xab, 0xde, - 0xcd, 0xd5, 0xd6, 0x94, 0x8f, 0x1a, 0x50, 0x5d, 0x01, 0x82, 0xf2, 0x2a, 0x14, 0xc3, 0xb8, 0x83, - 0x3f, 0x59, 0xf2, 0xdf, 0x0e, 0xc8, 0x09, 0xf7, 0xc9, 0x73, 0xbe, 0xf8, 0x7b, 0x1e, 0xb4, 0x20, - 0xdf, 0x8a, 0x41, 0x76, 0x63, 0x8f, 0xcb, 0xf1, 0x01, 0x97, 0x2a, 0xfd, 0xef, 0xb6, 0xbc, 0x64, - 0x21, 0xcb, 0xc7, 0x26, 0xbc, 0x2c, 0xef, 0xf7, 0x79, 0x3b, 0x35, 0x39, 0x6a, 0xb4, 0x2b, 0xb2, - 0xdd, 0x5c, 0x3b, 0x5d, 0x18, 0xed, 0x1b, 0x89, 0x29, 0x48, 0x05, 0xbf, 0x6f, 0x60, 0x05, 0xb9, - 0x15, 0xb8, 0x96, 0xc0, 0xcc, 0x46, 0xf0, 0x63, 0x8a, 0xd8, 0xa1, 0x3f, 0xa6, 0xf0, 0x7a, 0x89, - 0x07, 0x7b, 0xb9, 0x01, 0x59, 0x21, 0x14, 0xe8, 0x9d, 0xc1, 0xbb, 0x27, 0xe2, 0x8c, 0x66, 0xa8, - 0xf1, 0xe4, 0xe4, 0x03, 0x57, 0x4f, 0x4e, 0xc3, 0x04, 0xbf, 0x72, 0xe7, 0xc7, 0x15, 0xfc, 0x6d, - 0xfe, 0x12, 0x6b, 0x58, 0x16, 0x41, 0x85, 0xfc, 0xab, 0x31, 0x90, 0x7a, 0xa5, 0xf2, 0xed, 0x1c, - 0x00, 0x51, 0x8a, 0x44, 0xfa, 0x03, 0x8f, 0x6e, 0xb3, 0x95, 0x2f, 0x90, 0x5a, 0xff, 0xd9, 0xed, - 0xf7, 0xc6, 0x21, 0x1f, 0xc8, 0xe9, 0xa1, 0x27, 0x42, 0x57, 0x40, 0xe7, 0x0e, 0xca, 0xff, 0x05, - 0xee, 0x80, 0x86, 0x26, 0x16, 0x3f, 0xfc, 0xc4, 0xde, 0xfc, 0x4b, 0xfa, 0x83, 0xbf, 0xf6, 0x49, - 0x0d, 0xf9, 0xda, 0xe7, 0x47, 0x62, 0x90, 0xf5, 0x4c, 0xf7, 0x61, 0xb3, 0xf9, 0x47, 0x20, 0xcd, - 0xad, 0x13, 0x4b, 0xe7, 0xf3, 0xd2, 0xc0, 0x5c, 0x68, 0x19, 0xb2, 0xe2, 0x8f, 0xda, 0xf0, 0x40, - 0xd4, 0x2b, 0x9f, 0x7e, 0x1a, 0xf2, 0x81, 0x83, 0x15, 0xa2, 0x27, 0x56, 0xeb, 0xcf, 0x49, 0x63, - 0xe5, 0xcc, 0xad, 0xdb, 0x73, 0x89, 0x55, 0x7c, 0x93, 0xec, 0x30, 0xa5, 0x5e, 0xbb, 0x5c, 0xaf, - 0x5d, 0x95, 0x62, 0xe5, 0xfc, 0xad, 0xdb, 0x73, 0x19, 0x05, 0xd3, 0xf4, 0xd5, 0xe9, 0xab, 0x50, - 0xea, 0x59, 0x98, 0xb0, 0x7e, 0x47, 0x50, 0x5c, 0xdc, 0x5c, 0x5f, 0x5e, 0xaa, 0x55, 0x36, 0xea, - 0x2a, 0xbb, 0x4e, 0x87, 0x8e, 0xc2, 0xe4, 0xf2, 0xd2, 0xa5, 0xcb, 0x1b, 0x6a, 0x6d, 0x79, 0xa9, - 0xbe, 0xba, 0xa1, 0x56, 0x36, 0x36, 0x2a, 0xb5, 0xab, 0x52, 0xfc, 0xec, 0x77, 0x00, 0x4a, 0x95, - 0x6a, 0x6d, 0x89, 0xd8, 0x67, 0x9d, 0xbf, 0x9b, 0x5e, 0x83, 0x24, 0x4d, 0x05, 0x1c, 0x78, 0x55, - 0xa4, 0x7c, 0x70, 0x6e, 0x13, 0x5d, 0x84, 0x14, 0xcd, 0x12, 0xa0, 0x83, 0xef, 0x8e, 0x94, 0x23, - 0x92, 0x9d, 0x64, 0x30, 0x74, 0x3b, 0x1d, 0x78, 0x99, 0xa4, 0x7c, 0x70, 0xee, 0x13, 0x29, 0x90, - 0xf3, 0xa3, 0x8c, 0xe8, 0xcb, 0x15, 0xe5, 0x11, 0xb4, 0x23, 0x5a, 0x86, 0x8c, 0x08, 0x0c, 0xa3, - 0xae, 0x7b, 0x94, 0x23, 0x93, 0x93, 0x84, 0x5d, 0x2c, 0x80, 0x3f, 0xf8, 0xee, 0x4a, 0x39, 0x22, - 0xd3, 0x8a, 0x96, 0xbc, 0x4b, 0xf8, 0x11, 0x57, 0x38, 0xca, 0x51, 0xc9, 0x46, 0xc2, 0x34, 0x3f, - 0x35, 0x12, 0x7d, 0x23, 0xa7, 0x3c, 0x42, 0x12, 0x19, 0x6d, 0x02, 0x04, 0xc2, 0xf5, 0x11, 0xae, - 0xda, 0x94, 0x47, 0x49, 0x0e, 0xa3, 0x35, 0xc8, 0x7a, 0xd1, 0x53, 0xe4, 0xc5, 0x97, 0x72, 0x74, - 0x96, 0x16, 0xbd, 0x1b, 0x0a, 0xe1, 0xa8, 0x61, 0xb4, 0xeb, 0x2c, 0xe5, 0x11, 0xd3, 0xaf, 0x84, - 0x7e, 0x38, 0x84, 0x18, 0xed, 0x7a, 0x4b, 0x79, 0xc4, 0x6c, 0x2c, 0x7a, 0x09, 0x26, 0xfa, 0x5d, - 0xfc, 0xd1, 0x6f, 0xbb, 0x94, 0x0f, 0x91, 0x9f, 0x45, 0x1d, 0x40, 0x03, 0x42, 0x83, 0x43, 0x5c, - 0x7e, 0x29, 0x1f, 0x26, 0x5d, 0x8b, 0x5a, 0x50, 0xea, 0xf5, 0xb7, 0x47, 0xbd, 0x0c, 0x53, 0x1e, - 0x39, 0x75, 0xcb, 0x7a, 0x09, 0xfb, 0xe9, 0xa3, 0x5e, 0x8e, 0x29, 0x8f, 0x9c, 0xc9, 0xad, 0x56, - 0x86, 0xde, 0x6f, 0x3c, 0x71, 0xe0, 0xfd, 0x46, 0xff, 0xc6, 0xa2, 0x77, 0xa7, 0xf1, 0xb3, 0xe7, - 0xe0, 0x7e, 0xfe, 0x98, 0x80, 0xe3, 0x6a, 0xd7, 0x75, 0x63, 0xc7, 0x7b, 0x1d, 0x82, 0x97, 0xf9, - 0xe5, 0xc6, 0x23, 0xfc, 0xc1, 0x02, 0x51, 0x1b, 0xf1, 0x46, 0xc4, 0xd0, 0x87, 0xb3, 0xa2, 0x2e, - 0x21, 0x47, 0x5f, 0x5d, 0x3c, 0xe0, 0xfd, 0x89, 0x88, 0x57, 0x2e, 0x06, 0xbc, 0x4f, 0x11, 0x71, - 0x09, 0xf3, 0xa0, 0xfb, 0x9e, 0xf2, 0xcf, 0xc5, 0xa0, 0x78, 0x59, 0x77, 0x5c, 0xd3, 0xd6, 0x9b, - 0x5a, 0x9b, 0x5a, 0x8c, 0x0b, 0xa3, 0x7e, 0xe4, 0x51, 0xcd, 0x11, 0x67, 0x84, 0x3f, 0x6a, 0xc1, - 0x2f, 0x86, 0x2c, 0x42, 0xfa, 0x86, 0xd6, 0x66, 0x9f, 0x58, 0x04, 0xdf, 0xaf, 0xe9, 0xe5, 0x79, - 0xc0, 0x4b, 0x0a, 0x52, 0x61, 0xb8, 0xf2, 0xe7, 0xe8, 0x25, 0xee, 0x4e, 0x47, 0x77, 0xd8, 0x9f, - 0x9d, 0x76, 0xb1, 0x83, 0x36, 0x21, 0x69, 0x6b, 0x2e, 0x0f, 0x6a, 0xaa, 0x15, 0xfe, 0x14, 0xc5, - 0x83, 0xd1, 0x0f, 0x4a, 0xcc, 0xf7, 0xbd, 0x56, 0xc1, 0x3a, 0xa3, 0xe4, 0xd0, 0x0f, 0x40, 0xb6, - 0xa3, 0xed, 0xa9, 0x94, 0x74, 0xfc, 0xcd, 0x22, 0x9d, 0xe9, 0x68, 0x7b, 0x64, 0xd4, 0x48, 0x87, - 0x12, 0xa1, 0xde, 0xdc, 0xd5, 0x8c, 0x1d, 0xcc, 0x3a, 0x49, 0xbc, 0x59, 0x9d, 0x14, 0x3a, 0xda, - 0x5e, 0x8d, 0x12, 0x26, 0x5d, 0xf1, 0x47, 0x3f, 0x7e, 0x27, 0xc6, 0x43, 0x59, 0xca, 0x39, 0xa4, - 0x81, 0xd4, 0xf4, 0x4a, 0xb4, 0x7f, 0x91, 0xd6, 0x3f, 0x31, 0x6c, 0x61, 0x7a, 0xf8, 0x5e, 0x2d, - 0x90, 0x91, 0x7e, 0xe9, 0xb5, 0xd9, 0x18, 0xeb, 0xb5, 0xd4, 0xec, 0x59, 0x97, 0x2b, 0x90, 0x67, - 0xd9, 0x34, 0x95, 0xba, 0xb0, 0xf1, 0x48, 0x17, 0xb6, 0x20, 0x5c, 0x58, 0x46, 0x10, 0x18, 0x36, - 0x69, 0xe7, 0x73, 0xf8, 0x78, 0x0c, 0xf2, 0x8b, 0x81, 0xe7, 0xaa, 0xa6, 0x21, 0xd3, 0x31, 0x0d, - 0xfd, 0x3a, 0xb6, 0xbd, 0x73, 0x19, 0x56, 0x24, 0x6e, 0x26, 0xfb, 0xb3, 0x43, 0xee, 0xbe, 0x78, - 0x89, 0x41, 0x94, 0x09, 0xd6, 0x4d, 0xbc, 0xe5, 0xe8, 0x82, 0xe5, 0x8a, 0x28, 0xa2, 0x53, 0x20, - 0x39, 0xb8, 0xd9, 0xb5, 0x75, 0x77, 0x5f, 0x6d, 0x9a, 0x86, 0xab, 0x35, 0x5d, 0x9e, 0x3d, 0x2d, - 0x89, 0xfa, 0x1a, 0xab, 0x26, 0x44, 0x5a, 0xd8, 0xd5, 0xf4, 0x36, 0xbb, 0xf6, 0x95, 0x53, 0x44, - 0x91, 0x0f, 0xf5, 0x73, 0x99, 0x60, 0x68, 0x58, 0x03, 0xc9, 0xb4, 0xb0, 0x1d, 0xfa, 0xe4, 0x8d, - 0x89, 0xeb, 0xf4, 0xef, 0x7f, 0xe6, 0x91, 0x29, 0xce, 0x70, 0x7e, 0x00, 0xcf, 0x5e, 0x67, 0x56, - 0x4a, 0x02, 0x43, 0x7c, 0x0b, 0xf7, 0x42, 0xe8, 0x24, 0xa6, 0xbb, 0xe5, 0x7f, 0x72, 0x3f, 0xd5, - 0xc7, 0xd4, 0x8a, 0xb1, 0x5f, 0x9d, 0xfe, 0x3d, 0x9f, 0xb4, 0x1f, 0x3a, 0x5e, 0xc5, 0xfb, 0xc1, - 0x63, 0x19, 0x4a, 0x86, 0x78, 0xf0, 0x2f, 0x69, 0x7a, 0x5b, 0xfc, 0x25, 0x35, 0x85, 0x97, 0xd0, - 0x82, 0x97, 0x86, 0x61, 0x7f, 0x21, 0x5d, 0x1e, 0x26, 0x1b, 0x55, 0xd3, 0x68, 0x85, 0x33, 0x2e, - 0x68, 0x03, 0xd2, 0xae, 0x79, 0x1d, 0x1b, 0x9c, 0x41, 0xd5, 0x77, 0x1c, 0x42, 0xb0, 0xfb, 0xdf, - 0x9f, 0xe1, 0xb4, 0xd0, 0x0e, 0x48, 0x2d, 0xdc, 0xc6, 0x3b, 0xec, 0x83, 0xad, 0x5d, 0xcd, 0xc6, - 0xec, 0x23, 0xce, 0xc3, 0xd1, 0xef, 0x7f, 0xa6, 0xa6, 0xe4, 0x51, 0x6d, 0x50, 0xa2, 0x68, 0x3d, - 0xfc, 0x58, 0x5a, 0x86, 0x9f, 0xca, 0x0f, 0x99, 0x7f, 0x40, 0x2a, 0x83, 0x6a, 0x2b, 0xf4, 0xb8, - 0xda, 0x29, 0x90, 0xba, 0xc6, 0x96, 0x69, 0xd0, 0x3f, 0x7a, 0xc4, 0x03, 0xac, 0x2c, 0x3b, 0xb9, - 0xf3, 0xea, 0xf9, 0xc9, 0xdd, 0x3a, 0x14, 0x7d, 0x50, 0xba, 0x7b, 0x72, 0x87, 0xdd, 0x3d, 0x05, - 0x8f, 0x00, 0x01, 0x41, 0x2b, 0x00, 0xfe, 0xfe, 0xf4, 0x4e, 0xf7, 0x23, 0x77, 0x7a, 0x70, 0x32, - 0x01, 0x02, 0xa8, 0x0d, 0x93, 0x1d, 0xdd, 0x50, 0x1d, 0xdc, 0xde, 0x56, 0x39, 0xe7, 0x08, 0xdd, - 0xfc, 0x9b, 0xb0, 0xd2, 0x13, 0x1d, 0xdd, 0x68, 0xe0, 0xf6, 0xf6, 0xa2, 0x47, 0x16, 0xbd, 0x03, - 0x8e, 0xfb, 0xec, 0x30, 0x0d, 0x75, 0xd7, 0x6c, 0xb7, 0x54, 0x1b, 0x6f, 0xab, 0x4d, 0xfa, 0xfc, - 0xd1, 0x38, 0x65, 0xe2, 0x51, 0x0f, 0x64, 0xcd, 0xb8, 0x6c, 0xb6, 0x5b, 0x0a, 0xde, 0xae, 0x91, - 0x66, 0x74, 0x1f, 0xf8, 0xbc, 0x50, 0xf5, 0x96, 0x33, 0x5d, 0x98, 0x4b, 0x9c, 0x4c, 0x2a, 0xe3, - 0x5e, 0xe5, 0x52, 0xcb, 0x59, 0xc8, 0xbe, 0xef, 0xd5, 0xd9, 0xb1, 0xaf, 0xbf, 0x3a, 0x3b, 0x26, - 0x5f, 0xa4, 0x8f, 0x75, 0xf0, 0x4d, 0x87, 0x1d, 0x74, 0x1e, 0x72, 0x9a, 0x28, 0xb0, 0xcf, 0x44, - 0x0e, 0xd8, 0xb4, 0x3e, 0xa8, 0xfc, 0x6a, 0x0c, 0xd2, 0x8b, 0xd7, 0xd6, 0x35, 0xdd, 0x46, 0x75, - 0x98, 0xf0, 0x85, 0x76, 0xd4, 0xfd, 0xef, 0xcb, 0xb9, 0x50, 0x00, 0xf5, 0x61, 0x5f, 0xce, 0x1e, - 0x48, 0xa6, 0xf7, 0x9b, 0xda, 0xc0, 0x54, 0xaf, 0x40, 0x86, 0x8d, 0xd0, 0x41, 0xcf, 0x42, 0xca, - 0x22, 0x3f, 0x78, 0xf6, 0x7f, 0x66, 0xa8, 0xa0, 0x53, 0xf8, 0xa0, 0x58, 0x30, 0x3c, 0xf9, 0x2f, - 0x62, 0x00, 0x8b, 0xd7, 0xae, 0x6d, 0xd8, 0xba, 0xd5, 0xc6, 0xee, 0x9b, 0x35, 0xe5, 0x65, 0xb8, - 0x2b, 0xf0, 0x7d, 0xa6, 0xdd, 0x1c, 0x79, 0xda, 0x93, 0xfe, 0x17, 0x9a, 0x76, 0x73, 0x20, 0xb5, - 0x96, 0xe3, 0x7a, 0xd4, 0x12, 0x23, 0x53, 0x5b, 0x74, 0xdc, 0x7e, 0x3e, 0x3e, 0x0f, 0x79, 0x7f, - 0xea, 0x0e, 0x5a, 0x82, 0xac, 0xcb, 0x7f, 0x73, 0x76, 0xca, 0xc3, 0xd9, 0x29, 0xd0, 0x82, 0x2c, - 0xf5, 0xd0, 0xe5, 0xff, 0x4d, 0xb8, 0xea, 0x6f, 0x84, 0xbf, 0x52, 0x82, 0x44, 0x34, 0x3c, 0xd7, - 0xc0, 0x89, 0x37, 0x41, 0x03, 0x73, 0x5a, 0x01, 0xb6, 0xfe, 0x68, 0x1c, 0x26, 0x37, 0xc5, 0x26, - 0xfd, 0x2b, 0xcb, 0x85, 0x4d, 0xc8, 0x60, 0xc3, 0xb5, 0x75, 0x2c, 0x8e, 0xfa, 0x1e, 0x1d, 0xb6, - 0xd8, 0x03, 0xe6, 0x42, 0xff, 0x14, 0x70, 0x70, 0xe9, 0x05, 0xad, 0x00, 0x1b, 0x7e, 0x2b, 0x01, - 0xd3, 0xc3, 0x50, 0xd1, 0x09, 0x28, 0x35, 0x6d, 0x4c, 0x2b, 0xd4, 0x50, 0x2a, 0xbc, 0x28, 0xaa, - 0xb9, 0x49, 0x51, 0x80, 0x38, 0x68, 0x44, 0xaa, 0x08, 0xe8, 0x9d, 0x79, 0x64, 0x45, 0x9f, 0x02, - 0x35, 0x2a, 0x18, 0x4a, 0xe2, 0x6e, 0xfb, 0x96, 0xd6, 0xd6, 0x8c, 0x26, 0xbe, 0x03, 0x49, 0xe8, - 0xb7, 0x00, 0xe2, 0xc2, 0x7c, 0x95, 0xd1, 0x44, 0xd7, 0x20, 0x23, 0xc8, 0x27, 0xdf, 0x04, 0xf2, - 0x82, 0x18, 0xba, 0x17, 0xc6, 0x83, 0x86, 0x81, 0xfa, 0x29, 0x49, 0x25, 0x1f, 0xb0, 0x0b, 0x51, - 0x96, 0x27, 0x7d, 0xa0, 0xe5, 0xe1, 0xae, 0xe0, 0x6f, 0x26, 0x60, 0x42, 0xc1, 0xad, 0xef, 0xc1, - 0x85, 0xfb, 0x7e, 0x00, 0xb6, 0xa9, 0x89, 0xb2, 0xbd, 0x83, 0xb5, 0xeb, 0x57, 0x12, 0x39, 0x46, - 0x6f, 0xd1, 0x71, 0xdf, 0xae, 0xd5, 0xfb, 0x57, 0x71, 0x18, 0x0f, 0xae, 0xde, 0xf7, 0x80, 0x65, - 0x43, 0xab, 0xbe, 0x4a, 0x63, 0xb7, 0xcf, 0x4f, 0x0d, 0x53, 0x69, 0x7d, 0x72, 0x1d, 0xa1, 0xcb, - 0x3e, 0x95, 0x84, 0x34, 0xbf, 0x0a, 0xb6, 0xd6, 0xe7, 0xe3, 0xc6, 0xa2, 0xbe, 0xff, 0x2d, 0x88, - 0xef, 0x7f, 0x07, 0xba, 0xb8, 0x0f, 0x40, 0x91, 0x84, 0xd4, 0xa1, 0xfb, 0x65, 0xb1, 0x93, 0x05, - 0x1a, 0x0e, 0xfb, 0xb7, 0xa1, 0xd1, 0x2c, 0xe4, 0x09, 0x98, 0xaf, 0xb3, 0x09, 0x0c, 0x74, 0xb4, - 0xbd, 0x3a, 0xab, 0x41, 0x8f, 0x00, 0xda, 0xf5, 0x12, 0x1f, 0xaa, 0xcf, 0x08, 0x02, 0x37, 0xe1, - 0xb7, 0x08, 0xf0, 0x7b, 0x00, 0xc8, 0x28, 0x54, 0xf6, 0x42, 0x27, 0x7f, 0xed, 0x94, 0xd4, 0x2c, - 0xd2, 0x57, 0x3a, 0x7f, 0x3a, 0xc6, 0x5c, 0xe5, 0x9e, 0x68, 0x9b, 0x07, 0x2d, 0xea, 0xe1, 0x76, - 0xc3, 0xb7, 0x5f, 0x9b, 0x2d, 0xef, 0x6b, 0x9d, 0xf6, 0x82, 0x3c, 0x80, 0xa4, 0x3c, 0x28, 0x17, - 0x40, 0xbc, 0xe9, 0x70, 0xe0, 0x8e, 0x56, 0x41, 0xba, 0x8e, 0xf7, 0x55, 0x9b, 0xff, 0x6d, 0x53, - 0x75, 0x1b, 0x63, 0x1e, 0xde, 0x1c, 0x9b, 0x1f, 0xf0, 0x50, 0xea, 0x7c, 0xcd, 0xd4, 0x43, 0x71, - 0x40, 0xf1, 0x3a, 0xde, 0x57, 0x38, 0xf2, 0x45, 0x8c, 0xd1, 0xd3, 0x70, 0x8c, 0xa6, 0x32, 0x4c, - 0x43, 0x84, 0xa5, 0x1e, 0x6d, 0x76, 0xed, 0xad, 0xa0, 0x1c, 0xe9, 0x68, 0x7b, 0x35, 0xd3, 0xe0, - 0xe1, 0xa6, 0x40, 0x76, 0x16, 0xee, 0x27, 0x5b, 0xec, 0xd6, 0xd7, 0x3e, 0x79, 0xfa, 0x78, 0x60, - 0xb6, 0x7b, 0x5e, 0xb2, 0x8e, 0x49, 0x8a, 0xfc, 0x89, 0x18, 0x20, 0xdf, 0xee, 0x79, 0x57, 0xd3, - 0x57, 0xe8, 0x85, 0x65, 0x11, 0x7a, 0xc4, 0x0e, 0x0e, 0x69, 0x7c, 0xfc, 0x50, 0x48, 0x13, 0xd8, - 0xd7, 0xef, 0xf4, 0xad, 0x4c, 0xfc, 0x10, 0xdc, 0x10, 0x48, 0x54, 0x5d, 0x8c, 0xc9, 0xaf, 0xc5, - 0xe0, 0x58, 0xdf, 0xa6, 0xf0, 0x86, 0xdc, 0x04, 0x64, 0x07, 0x1a, 0xa9, 0x70, 0x89, 0xa3, 0xde, - 0x3b, 0xdb, 0x63, 0x13, 0x76, 0x9f, 0x65, 0x79, 0x8b, 0xcc, 0x25, 0xd7, 0x87, 0xbf, 0x1b, 0x83, - 0xa9, 0xe0, 0x88, 0xbc, 0xb9, 0x35, 0x60, 0x3c, 0x38, 0x16, 0x3e, 0xab, 0xfb, 0x47, 0x99, 0x55, - 0x70, 0x42, 0x21, 0x22, 0x64, 0x2e, 0x62, 0x03, 0xb2, 0xb4, 0xe1, 0x63, 0x23, 0x73, 0xc9, 0x3b, - 0x12, 0x19, 0xa4, 0x91, 0xd8, 0x62, 0xfd, 0x54, 0x1c, 0x92, 0xeb, 0xa6, 0xd9, 0x46, 0x3f, 0x12, - 0x83, 0x09, 0xc3, 0x74, 0x55, 0xb2, 0x6d, 0x71, 0x4b, 0xe5, 0x79, 0x0b, 0xa6, 0xd4, 0xaf, 0x1d, - 0x8e, 0x7b, 0xdf, 0x78, 0x6d, 0xb6, 0x9f, 0xd4, 0xa0, 0xd7, 0x7e, 0x4b, 0x86, 0xe9, 0x56, 0x29, - 0xd0, 0x06, 0x4b, 0x6d, 0xdc, 0x84, 0x42, 0xb8, 0x7f, 0x66, 0x09, 0x94, 0x43, 0xf7, 0x5f, 0x88, - 0xec, 0x7b, 0x7c, 0x2b, 0xd0, 0x31, 0x7b, 0x73, 0xf3, 0x4f, 0xc8, 0xe2, 0xbe, 0x00, 0xd2, 0xb5, - 0xde, 0x4b, 0x72, 0x75, 0xc8, 0x1c, 0xf6, 0xbe, 0x5d, 0x90, 0xe3, 0x1c, 0x57, 0xfe, 0x56, 0x1c, - 0x8e, 0x71, 0x15, 0x70, 0xd5, 0x57, 0x01, 0x2c, 0xc3, 0xbc, 0x8f, 0x2e, 0x0e, 0x4d, 0x90, 0x1d, - 0xff, 0xf6, 0x6b, 0xb3, 0x47, 0x99, 0xce, 0xeb, 0x85, 0x90, 0xfb, 0x73, 0x64, 0xd7, 0xa0, 0x44, - 0x6c, 0x7c, 0x40, 0x17, 0xdd, 0x61, 0x8a, 0xac, 0x60, 0xb6, 0x5b, 0xbe, 0xc6, 0x22, 0x74, 0x0d, - 0x7c, 0x33, 0x44, 0x37, 0x71, 0x67, 0x74, 0x0d, 0x7c, 0x33, 0x40, 0xd7, 0x3f, 0x6a, 0x4f, 0x86, - 0x8e, 0xda, 0xcf, 0x43, 0x82, 0xa8, 0xe5, 0xd4, 0x21, 0x14, 0x11, 0x41, 0x08, 0x58, 0xda, 0x06, - 0x1c, 0xe3, 0x69, 0x0c, 0x67, 0x6d, 0x9b, 0xb2, 0x1b, 0xd3, 0x09, 0x5d, 0xc5, 0xfb, 0x77, 0x9c, - 0xd3, 0x38, 0xfd, 0xd9, 0x18, 0x80, 0x9f, 0xea, 0x43, 0x0f, 0xc3, 0xd1, 0xea, 0xda, 0xea, 0xa2, - 0xda, 0xd8, 0xa8, 0x6c, 0x6c, 0x36, 0xc2, 0xef, 0xfc, 0x8b, 0xb7, 0x6d, 0x1c, 0x0b, 0x37, 0xf5, - 0x6d, 0x1d, 0xb7, 0xd0, 0x83, 0x30, 0x15, 0x86, 0x26, 0xa5, 0xfa, 0xa2, 0x14, 0x2b, 0x8f, 0xdf, - 0xba, 0x3d, 0x97, 0x65, 0x21, 0x0e, 0x6e, 0xa1, 0x93, 0x70, 0x57, 0x3f, 0xdc, 0xd2, 0xea, 0x25, - 0x29, 0x5e, 0x2e, 0xdc, 0xba, 0x3d, 0x97, 0xf3, 0x62, 0x21, 0x24, 0x03, 0x0a, 0x42, 0x72, 0x7a, - 0x89, 0x32, 0xdc, 0xba, 0x3d, 0x97, 0x66, 0x7b, 0xab, 0x9c, 0x7c, 0xdf, 0x47, 0x66, 0xc6, 0x4e, - 0xff, 0x20, 0xc0, 0x92, 0xb1, 0x6d, 0x6b, 0xf4, 0x8f, 0x5d, 0xa3, 0x32, 0x1c, 0x59, 0x5a, 0xbd, - 0xa8, 0x54, 0x6a, 0x1b, 0x4b, 0x6b, 0xab, 0x3d, 0x7f, 0x9e, 0x20, 0xdc, 0xb6, 0xb8, 0xb6, 0x59, - 0x5d, 0xae, 0xab, 0x8d, 0xa5, 0x4b, 0xab, 0xec, 0xc6, 0x40, 0xa8, 0xed, 0xb9, 0xd5, 0x8d, 0xa5, - 0x95, 0xba, 0x14, 0xaf, 0x5e, 0x1c, 0x7a, 0x66, 0xf5, 0xf0, 0x81, 0xbb, 0xd6, 0x37, 0x75, 0xa1, - 0x83, 0xab, 0xff, 0x17, 0x00, 0x00, 0xff, 0xff, 0x63, 0xc4, 0xd8, 0x4e, 0x84, 0x99, 0x00, 0x00, + // 11083 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0xbd, 0x7b, 0x90, 0x24, 0x47, + 0x5a, 0x18, 0x3e, 0xfd, 0xee, 0xfe, 0xfa, 0x55, 0x93, 0x33, 0xbb, 0x3b, 0xdb, 0x2b, 0xcd, 0x8c, + 0x4a, 0x27, 0xed, 0x43, 0xd2, 0xac, 0xb4, 0xd2, 0xae, 0xa4, 0xd9, 0xbb, 0x13, 0xdd, 0x3d, 0xbd, + 0xb3, 0xbd, 0x3b, 0xaf, 0xab, 0xee, 0xd9, 0x93, 0x04, 0x5c, 0x51, 0x53, 0x9d, 0x33, 0x53, 0xda, + 0xee, 0xaa, 0xbe, 0xaa, 0xea, 0xdd, 0x19, 0xc5, 0x2f, 0x7e, 0x71, 0x70, 0x80, 0x8f, 0x35, 0x86, + 0xc3, 0x38, 0xe0, 0x78, 0x2c, 0xd6, 0x81, 0x81, 0x03, 0xbf, 0x78, 0xf9, 0x0e, 0x4c, 0x40, 0x80, + 0xc3, 0x0f, 0xc0, 0x0e, 0xc7, 0x41, 0x38, 0x6c, 0xc2, 0x61, 0xcb, 0xa0, 0x23, 0xcc, 0x19, 0x0e, + 0x03, 0x67, 0x61, 0x1b, 0x5f, 0xf8, 0x11, 0xf9, 0xaa, 0x47, 0x3f, 0xa6, 0x7b, 0x16, 0x49, 0xc6, + 0x71, 0xff, 0xec, 0x76, 0x66, 0x7e, 0xdf, 0x97, 0x99, 0x5f, 0x7e, 0xf9, 0xbd, 0x32, 0x2b, 0x07, + 0x7e, 0xb7, 0x02, 0x8b, 0x7b, 0x96, 0xb5, 0xd7, 0xc6, 0x17, 0xbb, 0xb6, 0xe5, 0x5a, 0x3b, 0xbd, + 0xdd, 0x8b, 0x2d, 0xec, 0xe8, 0xb6, 0xd1, 0x75, 0x2d, 0x7b, 0x89, 0xd6, 0xa1, 0x22, 0x83, 0x58, + 0x12, 0x10, 0xf2, 0x3a, 0x4c, 0x5f, 0x33, 0xda, 0x78, 0xc5, 0x03, 0x6c, 0x60, 0x17, 0xbd, 0x00, + 0xf1, 0x5d, 0xa3, 0x8d, 0xe7, 0x22, 0x8b, 0xb1, 0x73, 0xd9, 0x4b, 0xef, 0x5b, 0xea, 0x43, 0x5a, + 0x0a, 0x63, 0x6c, 0x91, 0x6a, 0x85, 0x62, 0xc8, 0xff, 0x2b, 0x0e, 0x33, 0x43, 0x5a, 0x11, 0x82, + 0xb8, 0xa9, 0x75, 0x08, 0xc5, 0xc8, 0xb9, 0x8c, 0x42, 0x7f, 0xa3, 0x39, 0x48, 0x75, 0x35, 0xfd, + 0xb6, 0xb6, 0x87, 0xe7, 0xa2, 0xb4, 0x5a, 0x14, 0xd1, 0x3c, 0x40, 0x0b, 0x77, 0xb1, 0xd9, 0xc2, + 0xa6, 0x7e, 0x38, 0x17, 0x5b, 0x8c, 0x9d, 0xcb, 0x28, 0x81, 0x1a, 0xf4, 0x04, 0x4c, 0x77, 0x7b, + 0x3b, 0x6d, 0x43, 0x57, 0x03, 0x60, 0xb0, 0x18, 0x3b, 0x97, 0x50, 0x24, 0xd6, 0xb0, 0xe2, 0x03, + 0x9f, 0x85, 0xe2, 0x5d, 0xac, 0xdd, 0x0e, 0x82, 0x66, 0x29, 0x68, 0x81, 0x54, 0x07, 0x00, 0xab, + 0x90, 0xeb, 0x60, 0xc7, 0xd1, 0xf6, 0xb0, 0xea, 0x1e, 0x76, 0xf1, 0x5c, 0x9c, 0xce, 0x7e, 0x71, + 0x60, 0xf6, 0xfd, 0x33, 0xcf, 0x72, 0xac, 0xe6, 0x61, 0x17, 0xa3, 0x32, 0x64, 0xb0, 0xd9, 0xeb, + 0x30, 0x0a, 0x89, 0x11, 0xfc, 0xab, 0x99, 0xbd, 0x4e, 0x3f, 0x95, 0x34, 0x41, 0xe3, 0x24, 0x52, + 0x0e, 0xb6, 0xef, 0x18, 0x3a, 0x9e, 0x4b, 0x52, 0x02, 0x67, 0x07, 0x08, 0x34, 0x58, 0x7b, 0x3f, + 0x0d, 0x81, 0x87, 0xaa, 0x90, 0xc1, 0x07, 0x2e, 0x36, 0x1d, 0xc3, 0x32, 0xe7, 0x52, 0x94, 0xc8, + 0x63, 0x43, 0x56, 0x11, 0xb7, 0x5b, 0xfd, 0x24, 0x7c, 0x3c, 0x74, 0x05, 0x52, 0x56, 0xd7, 0x35, + 0x2c, 0xd3, 0x99, 0x4b, 0x2f, 0x46, 0xce, 0x65, 0x2f, 0x3d, 0x34, 0x54, 0x10, 0x36, 0x19, 0x8c, + 0x22, 0x80, 0x51, 0x1d, 0x24, 0xc7, 0xea, 0xd9, 0x3a, 0x56, 0x75, 0xab, 0x85, 0x55, 0xc3, 0xdc, + 0xb5, 0xe6, 0x32, 0x94, 0xc0, 0xc2, 0xe0, 0x44, 0x28, 0x60, 0xd5, 0x6a, 0xe1, 0xba, 0xb9, 0x6b, + 0x29, 0x05, 0x27, 0x54, 0x46, 0x27, 0x21, 0xe9, 0x1c, 0x9a, 0xae, 0x76, 0x30, 0x97, 0xa3, 0x12, + 0xc2, 0x4b, 0x44, 0x74, 0x70, 0xcb, 0x20, 0xdd, 0xcd, 0xe5, 0x99, 0xe8, 0xf0, 0xa2, 0xfc, 0x0b, + 0x49, 0x28, 0x4e, 0x22, 0x7c, 0x57, 0x21, 0xb1, 0x4b, 0xe6, 0x3f, 0x17, 0x3d, 0x0e, 0x77, 0x18, + 0x4e, 0x98, 0xbd, 0xc9, 0x07, 0x64, 0x6f, 0x19, 0xb2, 0x26, 0x76, 0x5c, 0xdc, 0x62, 0xb2, 0x12, + 0x9b, 0x50, 0xda, 0x80, 0x21, 0x0d, 0x0a, 0x5b, 0xfc, 0x81, 0x84, 0xed, 0x65, 0x28, 0x7a, 0x43, + 0x52, 0x6d, 0xcd, 0xdc, 0x13, 0x52, 0x7b, 0x71, 0xdc, 0x48, 0x96, 0x6a, 0x02, 0x4f, 0x21, 0x68, + 0x4a, 0x01, 0x87, 0xca, 0x68, 0x05, 0xc0, 0x32, 0xb1, 0xb5, 0xab, 0xb6, 0xb0, 0xde, 0x9e, 0x4b, + 0x8f, 0xe0, 0xd2, 0x26, 0x01, 0x19, 0xe0, 0x92, 0xc5, 0x6a, 0xf5, 0x36, 0x7a, 0xd1, 0x17, 0xc2, + 0xd4, 0x08, 0x19, 0x5a, 0x67, 0xdb, 0x6f, 0x40, 0x0e, 0xb7, 0xa1, 0x60, 0x63, 0xb2, 0x23, 0x70, + 0x8b, 0xcf, 0x2c, 0x43, 0x07, 0xb1, 0x34, 0x76, 0x66, 0x0a, 0x47, 0x63, 0x13, 0xcb, 0xdb, 0xc1, + 0x22, 0x7a, 0x14, 0xbc, 0x0a, 0x95, 0x8a, 0x15, 0x50, 0xfd, 0x94, 0x13, 0x95, 0x1b, 0x5a, 0x07, + 0x97, 0x5e, 0x87, 0x42, 0x98, 0x3d, 0x68, 0x16, 0x12, 0x8e, 0xab, 0xd9, 0x2e, 0x95, 0xc2, 0x84, + 0xc2, 0x0a, 0x48, 0x82, 0x18, 0x36, 0x5b, 0x54, 0xff, 0x25, 0x14, 0xf2, 0x13, 0x7d, 0x8d, 0x3f, + 0xe1, 0x18, 0x9d, 0xf0, 0xe3, 0x83, 0x2b, 0x1a, 0xa2, 0xdc, 0x3f, 0xef, 0xd2, 0xf3, 0x90, 0x0f, + 0x4d, 0x60, 0xd2, 0xae, 0xe5, 0xff, 0x0f, 0x4e, 0x0c, 0x25, 0x8d, 0x5e, 0x86, 0xd9, 0x9e, 0x69, + 0x98, 0x2e, 0xb6, 0xbb, 0x36, 0x26, 0x12, 0xcb, 0xba, 0x9a, 0xfb, 0xfd, 0xd4, 0x08, 0x99, 0xdb, + 0x0e, 0x42, 0x33, 0x2a, 0xca, 0x4c, 0x6f, 0xb0, 0xf2, 0x42, 0x26, 0xfd, 0xc5, 0x94, 0xf4, 0xb1, + 0x8f, 0x7d, 0xec, 0x63, 0x51, 0xf9, 0x57, 0x93, 0x30, 0x3b, 0x6c, 0xcf, 0x0c, 0xdd, 0xbe, 0x27, + 0x21, 0x69, 0xf6, 0x3a, 0x3b, 0xd8, 0xa6, 0x4c, 0x4a, 0x28, 0xbc, 0x84, 0xca, 0x90, 0x68, 0x6b, + 0x3b, 0xb8, 0x3d, 0x17, 0x5f, 0x8c, 0x9c, 0x2b, 0x5c, 0x7a, 0x62, 0xa2, 0x5d, 0xb9, 0xb4, 0x46, + 0x50, 0x14, 0x86, 0x89, 0x3e, 0x08, 0x71, 0xae, 0xbc, 0x09, 0x85, 0x0b, 0x93, 0x51, 0x20, 0x7b, + 0x49, 0xa1, 0x78, 0xe8, 0x0c, 0x64, 0xc8, 0xff, 0x4c, 0x36, 0x92, 0x74, 0xcc, 0x69, 0x52, 0x41, + 0xe4, 0x02, 0x95, 0x20, 0x4d, 0xb7, 0x49, 0x0b, 0x0b, 0xa3, 0xe7, 0x95, 0x89, 0x60, 0xb5, 0xf0, + 0xae, 0xd6, 0x6b, 0xbb, 0xea, 0x1d, 0xad, 0xdd, 0xc3, 0x54, 0xe0, 0x33, 0x4a, 0x8e, 0x57, 0xde, + 0x22, 0x75, 0x68, 0x01, 0xb2, 0x6c, 0x57, 0x19, 0x66, 0x0b, 0x1f, 0x50, 0xbd, 0x9a, 0x50, 0xd8, + 0x46, 0xab, 0x93, 0x1a, 0xd2, 0xfd, 0x6b, 0x8e, 0x65, 0x0a, 0xd1, 0xa4, 0x5d, 0x90, 0x0a, 0xda, + 0xfd, 0xf3, 0xfd, 0x2a, 0xfd, 0xe1, 0xe1, 0xd3, 0x1b, 0xd8, 0x4b, 0x67, 0xa1, 0x48, 0x21, 0x9e, + 0xe5, 0x4b, 0xaf, 0xb5, 0xe7, 0xa6, 0x17, 0x23, 0xe7, 0xd2, 0x4a, 0x81, 0x55, 0x6f, 0xf2, 0x5a, + 0xf9, 0xb3, 0x51, 0x88, 0x53, 0xc5, 0x52, 0x84, 0x6c, 0xf3, 0x95, 0xad, 0x9a, 0xba, 0xb2, 0xb9, + 0x5d, 0x59, 0xab, 0x49, 0x11, 0x54, 0x00, 0xa0, 0x15, 0xd7, 0xd6, 0x36, 0xcb, 0x4d, 0x29, 0xea, + 0x95, 0xeb, 0x1b, 0xcd, 0x2b, 0xcf, 0x49, 0x31, 0x0f, 0x61, 0x9b, 0x55, 0xc4, 0x83, 0x00, 0xcf, + 0x5e, 0x92, 0x12, 0x48, 0x82, 0x1c, 0x23, 0x50, 0x7f, 0xb9, 0xb6, 0x72, 0xe5, 0x39, 0x29, 0x19, + 0xae, 0x79, 0xf6, 0x92, 0x94, 0x42, 0x79, 0xc8, 0xd0, 0x9a, 0xca, 0xe6, 0xe6, 0x9a, 0x94, 0xf6, + 0x68, 0x36, 0x9a, 0x4a, 0x7d, 0x63, 0x55, 0xca, 0x78, 0x34, 0x57, 0x95, 0xcd, 0xed, 0x2d, 0x09, + 0x3c, 0x0a, 0xeb, 0xb5, 0x46, 0xa3, 0xbc, 0x5a, 0x93, 0xb2, 0x1e, 0x44, 0xe5, 0x95, 0x66, 0xad, + 0x21, 0xe5, 0x42, 0xc3, 0x7a, 0xf6, 0x92, 0x94, 0xf7, 0xba, 0xa8, 0x6d, 0x6c, 0xaf, 0x4b, 0x05, + 0x34, 0x0d, 0x79, 0xd6, 0x85, 0x18, 0x44, 0xb1, 0xaf, 0xea, 0xca, 0x73, 0x92, 0xe4, 0x0f, 0x84, + 0x51, 0x99, 0x0e, 0x55, 0x5c, 0x79, 0x4e, 0x42, 0x72, 0x15, 0x12, 0x54, 0x0c, 0x11, 0x82, 0xc2, + 0x5a, 0xb9, 0x52, 0x5b, 0x53, 0x37, 0xb7, 0x9a, 0xf5, 0xcd, 0x8d, 0xf2, 0x9a, 0x14, 0xf1, 0xeb, + 0x94, 0xda, 0x87, 0xb6, 0xeb, 0x4a, 0x6d, 0x45, 0x8a, 0x06, 0xeb, 0xb6, 0x6a, 0xe5, 0x66, 0x6d, + 0x45, 0x8a, 0xc9, 0x3a, 0xcc, 0x0e, 0x53, 0xa8, 0x43, 0xb7, 0x50, 0x40, 0x16, 0xa2, 0x23, 0x64, + 0x81, 0xd2, 0xea, 0x97, 0x05, 0xf9, 0x0b, 0x51, 0x98, 0x19, 0x62, 0x54, 0x86, 0x76, 0xf2, 0x12, + 0x24, 0x98, 0x2c, 0x33, 0x33, 0x7b, 0x7e, 0xa8, 0x75, 0xa2, 0x92, 0x3d, 0x60, 0x6a, 0x29, 0x5e, + 0xd0, 0x09, 0x89, 0x8d, 0x70, 0x42, 0x08, 0x89, 0x01, 0x81, 0xfd, 0xfa, 0x01, 0xe5, 0xcf, 0xec, + 0xe3, 0x95, 0x49, 0xec, 0x23, 0xad, 0x3b, 0x9e, 0x11, 0x48, 0x0c, 0x31, 0x02, 0x57, 0x61, 0x7a, + 0x80, 0xd0, 0xc4, 0xca, 0xf8, 0xe3, 0x11, 0x98, 0x1b, 0xc5, 0x9c, 0x31, 0x2a, 0x31, 0x1a, 0x52, + 0x89, 0x57, 0xfb, 0x39, 0xf8, 0xc8, 0xe8, 0x45, 0x18, 0x58, 0xeb, 0x1f, 0x8f, 0xc0, 0xc9, 0xe1, + 0xce, 0xe6, 0xd0, 0x31, 0x7c, 0x10, 0x92, 0x1d, 0xec, 0xee, 0x5b, 0xc2, 0xad, 0x7a, 0x7c, 0x88, + 0xb1, 0x26, 0xcd, 0xfd, 0x8b, 0xcd, 0xb1, 0x82, 0xd6, 0x3e, 0x36, 0xca, 0x63, 0x64, 0xa3, 0x19, + 0x18, 0xe9, 0xb7, 0x45, 0xe1, 0xc4, 0x50, 0xe2, 0x43, 0x07, 0xfa, 0x30, 0x80, 0x61, 0x76, 0x7b, + 0x2e, 0x73, 0x9d, 0x98, 0x26, 0xce, 0xd0, 0x1a, 0xaa, 0xbc, 0x88, 0x96, 0xed, 0xb9, 0x5e, 0x7b, + 0x8c, 0xb6, 0x03, 0xab, 0xa2, 0x00, 0x2f, 0xf8, 0x03, 0x8d, 0xd3, 0x81, 0xce, 0x8f, 0x98, 0xe9, + 0x80, 0x60, 0x3e, 0x0d, 0x92, 0xde, 0x36, 0xb0, 0xe9, 0xaa, 0x8e, 0x6b, 0x63, 0xad, 0x63, 0x98, + 0x7b, 0xd4, 0xd4, 0xa4, 0x97, 0x13, 0xbb, 0x5a, 0xdb, 0xc1, 0x4a, 0x91, 0x35, 0x37, 0x44, 0x2b, + 0xc1, 0xa0, 0x02, 0x64, 0x07, 0x30, 0x92, 0x21, 0x0c, 0xd6, 0xec, 0x61, 0xc8, 0xdf, 0x95, 0x81, + 0x6c, 0xc0, 0x35, 0x47, 0x8f, 0x40, 0xee, 0x35, 0xed, 0x8e, 0xa6, 0x8a, 0x70, 0x8b, 0x71, 0x22, + 0x4b, 0xea, 0xb6, 0x78, 0xc8, 0xf5, 0x34, 0xcc, 0x52, 0x10, 0xab, 0xe7, 0x62, 0x5b, 0xd5, 0xdb, + 0x9a, 0xe3, 0x50, 0xa6, 0xa5, 0x29, 0x28, 0x22, 0x6d, 0x9b, 0xa4, 0xa9, 0x2a, 0x5a, 0xd0, 0x65, + 0x98, 0xa1, 0x18, 0x9d, 0x5e, 0xdb, 0x35, 0xba, 0x6d, 0xac, 0x92, 0x00, 0xd0, 0xa1, 0x26, 0xc7, + 0x1b, 0xd9, 0x34, 0x81, 0x58, 0xe7, 0x00, 0x64, 0x44, 0x0e, 0x5a, 0x81, 0x87, 0x29, 0xda, 0x1e, + 0x36, 0xb1, 0xad, 0xb9, 0x58, 0xc5, 0x1f, 0xed, 0x69, 0x6d, 0x47, 0xd5, 0xcc, 0x96, 0xba, 0xaf, + 0x39, 0xfb, 0x73, 0xb3, 0x84, 0x40, 0x25, 0x3a, 0x17, 0x51, 0x4e, 0x13, 0xc0, 0x55, 0x0e, 0x57, + 0xa3, 0x60, 0x65, 0xb3, 0x75, 0x5d, 0x73, 0xf6, 0xd1, 0x32, 0x9c, 0xa4, 0x54, 0x1c, 0xd7, 0x36, + 0xcc, 0x3d, 0x55, 0xdf, 0xc7, 0xfa, 0x6d, 0xb5, 0xe7, 0xee, 0xbe, 0x30, 0x77, 0x26, 0xd8, 0x3f, + 0x1d, 0x61, 0x83, 0xc2, 0x54, 0x09, 0xc8, 0xb6, 0xbb, 0xfb, 0x02, 0x6a, 0x40, 0x8e, 0x2c, 0x46, + 0xc7, 0x78, 0x1d, 0xab, 0xbb, 0x96, 0x4d, 0x6d, 0x68, 0x61, 0x88, 0x6a, 0x0a, 0x70, 0x70, 0x69, + 0x93, 0x23, 0xac, 0x5b, 0x2d, 0xbc, 0x9c, 0x68, 0x6c, 0xd5, 0x6a, 0x2b, 0x4a, 0x56, 0x50, 0xb9, + 0x66, 0xd9, 0x44, 0xa0, 0xf6, 0x2c, 0x8f, 0xc1, 0x59, 0x26, 0x50, 0x7b, 0x96, 0x60, 0xef, 0x65, + 0x98, 0xd1, 0x75, 0x36, 0x67, 0x43, 0x57, 0x79, 0x98, 0xe6, 0xcc, 0x49, 0x21, 0x66, 0xe9, 0xfa, + 0x2a, 0x03, 0xe0, 0x32, 0xee, 0xa0, 0x17, 0xe1, 0x84, 0xcf, 0xac, 0x20, 0xe2, 0xf4, 0xc0, 0x2c, + 0xfb, 0x51, 0x2f, 0xc3, 0x4c, 0xf7, 0x70, 0x10, 0x11, 0x85, 0x7a, 0xec, 0x1e, 0xf6, 0xa3, 0x3d, + 0x0f, 0xb3, 0xdd, 0xfd, 0xee, 0x20, 0xde, 0x85, 0x20, 0x1e, 0xea, 0xee, 0x77, 0xfb, 0x11, 0x1f, + 0xa3, 0x31, 0xbb, 0x8d, 0x75, 0xcd, 0xc5, 0xad, 0xb9, 0x53, 0x41, 0xf0, 0x40, 0x03, 0x5a, 0x02, + 0x49, 0xd7, 0x55, 0x6c, 0x6a, 0x3b, 0x6d, 0xac, 0x6a, 0x36, 0x36, 0x35, 0x67, 0x6e, 0x81, 0x02, + 0xc7, 0x5d, 0xbb, 0x87, 0x95, 0x82, 0xae, 0xd7, 0x68, 0x63, 0x99, 0xb6, 0xa1, 0x0b, 0x30, 0x6d, + 0xed, 0xbc, 0xa6, 0x33, 0x89, 0x54, 0xbb, 0x36, 0xde, 0x35, 0x0e, 0xe6, 0xde, 0x47, 0xd9, 0x5b, + 0x24, 0x0d, 0x54, 0x1e, 0xb7, 0x68, 0x35, 0x3a, 0x0f, 0x92, 0xee, 0xec, 0x6b, 0x76, 0x97, 0xaa, + 0x64, 0xa7, 0xab, 0xe9, 0x78, 0xee, 0x31, 0x06, 0xca, 0xea, 0x37, 0x44, 0x35, 0xd9, 0x11, 0xce, + 0x5d, 0x63, 0xd7, 0x15, 0x14, 0xcf, 0xb2, 0x1d, 0x41, 0xeb, 0x38, 0xb5, 0x73, 0x20, 0x11, 0x4e, + 0x84, 0x3a, 0x3e, 0x47, 0xc1, 0x0a, 0xdd, 0xfd, 0x6e, 0xb0, 0xdf, 0x47, 0x21, 0x4f, 0x20, 0xfd, + 0x4e, 0xcf, 0x33, 0xc7, 0xad, 0xbb, 0x1f, 0xe8, 0xf1, 0x39, 0x38, 0x49, 0x80, 0x3a, 0xd8, 0xd5, + 0x5a, 0x9a, 0xab, 0x05, 0xa0, 0x9f, 0xa4, 0xd0, 0x84, 0xed, 0xeb, 0xbc, 0x31, 0x34, 0x4e, 0xbb, + 0xb7, 0x73, 0xe8, 0x09, 0xd6, 0x53, 0x6c, 0x9c, 0xa4, 0x4e, 0x88, 0xd6, 0xbb, 0xe6, 0x9c, 0xcb, + 0xcb, 0x90, 0x0b, 0xca, 0x3d, 0xca, 0x00, 0x93, 0x7c, 0x29, 0x42, 0x9c, 0xa0, 0xea, 0xe6, 0x0a, + 0x71, 0x5f, 0x5e, 0xad, 0x49, 0x51, 0xe2, 0x46, 0xad, 0xd5, 0x9b, 0x35, 0x55, 0xd9, 0xde, 0x68, + 0xd6, 0xd7, 0x6b, 0x52, 0x2c, 0xe0, 0xd8, 0xdf, 0x88, 0xa7, 0x1f, 0x97, 0xce, 0xca, 0xbf, 0x18, + 0x83, 0x42, 0x38, 0x52, 0x43, 0xef, 0x87, 0x53, 0x22, 0xe1, 0xe2, 0x60, 0x57, 0xbd, 0x6b, 0xd8, + 0x74, 0x43, 0x76, 0x34, 0x66, 0x1c, 0x3d, 0xf9, 0x99, 0xe5, 0x50, 0x0d, 0xec, 0x7e, 0xd8, 0xb0, + 0xc9, 0x76, 0xeb, 0x68, 0x2e, 0x5a, 0x83, 0x05, 0xd3, 0x52, 0x1d, 0x57, 0x33, 0x5b, 0x9a, 0xdd, + 0x52, 0xfd, 0x54, 0x97, 0xaa, 0xe9, 0x3a, 0x76, 0x1c, 0x8b, 0x19, 0x42, 0x8f, 0xca, 0x43, 0xa6, + 0xd5, 0xe0, 0xc0, 0xbe, 0x85, 0x28, 0x73, 0xd0, 0x3e, 0xf1, 0x8d, 0x8d, 0x12, 0xdf, 0x33, 0x90, + 0xe9, 0x68, 0x5d, 0x15, 0x9b, 0xae, 0x7d, 0x48, 0xfd, 0xf3, 0xb4, 0x92, 0xee, 0x68, 0xdd, 0x1a, + 0x29, 0xa3, 0x5b, 0xf0, 0xb8, 0x0f, 0xaa, 0xb6, 0xf1, 0x9e, 0xa6, 0x1f, 0xaa, 0xd4, 0x19, 0xa7, + 0x69, 0x03, 0x55, 0xb7, 0xcc, 0xdd, 0xb6, 0xa1, 0xbb, 0x0e, 0xd5, 0x0f, 0x4c, 0xc7, 0xc9, 0x3e, + 0xc6, 0x1a, 0x45, 0xb8, 0xe1, 0x58, 0x26, 0xf5, 0xc1, 0xab, 0x02, 0xfa, 0x3d, 0x09, 0xbf, 0x6e, + 0xc4, 0xd3, 0x71, 0x29, 0x71, 0x23, 0x9e, 0x4e, 0x48, 0xc9, 0x1b, 0xf1, 0x74, 0x52, 0x4a, 0xdd, + 0x88, 0xa7, 0xd3, 0x52, 0xe6, 0x46, 0x3c, 0x9d, 0x91, 0x40, 0xfe, 0x5c, 0x1a, 0x72, 0xc1, 0xc8, + 0x80, 0x04, 0x5a, 0x3a, 0xb5, 0x8d, 0x11, 0xaa, 0x3d, 0x1f, 0x3d, 0x32, 0x8e, 0x58, 0xaa, 0x12, + 0xa3, 0xb9, 0x9c, 0x64, 0x6e, 0xb8, 0xc2, 0x30, 0x89, 0xc3, 0x42, 0xc4, 0x1a, 0x33, 0xb7, 0x27, + 0xad, 0xf0, 0x12, 0x5a, 0x85, 0xe4, 0x6b, 0x0e, 0xa5, 0x9d, 0xa4, 0xb4, 0xdf, 0x77, 0x34, 0xed, + 0x1b, 0x0d, 0x4a, 0x3c, 0x73, 0xa3, 0xa1, 0x6e, 0x6c, 0x2a, 0xeb, 0xe5, 0x35, 0x85, 0xa3, 0xa3, + 0xd3, 0x10, 0x6f, 0x6b, 0xaf, 0x1f, 0x86, 0xcd, 0x2b, 0xad, 0x42, 0x4b, 0x50, 0xec, 0x99, 0x77, + 0xb0, 0x6d, 0xec, 0x1a, 0x64, 0xa9, 0x08, 0x54, 0x31, 0x08, 0x55, 0xf0, 0x5b, 0xd7, 0x08, 0xfc, + 0x84, 0xe2, 0x71, 0x1a, 0xe2, 0x77, 0xb1, 0x76, 0x3b, 0x6c, 0x04, 0x69, 0x15, 0x3a, 0x07, 0xb9, + 0x16, 0xde, 0xe9, 0xed, 0xa9, 0x36, 0x6e, 0x69, 0xba, 0x1b, 0x56, 0xfd, 0x59, 0xda, 0xa4, 0xd0, + 0x16, 0x74, 0x13, 0x32, 0x64, 0x8d, 0x4c, 0xba, 0xc6, 0xd3, 0x94, 0x05, 0x4f, 0x1d, 0xcd, 0x02, + 0xbe, 0xc4, 0x02, 0x49, 0xf1, 0xf1, 0xd1, 0x35, 0x48, 0xba, 0x9a, 0xbd, 0x87, 0x5d, 0xaa, 0xf9, + 0x0b, 0x43, 0x92, 0x1f, 0x43, 0x28, 0x35, 0x29, 0x06, 0x8d, 0x69, 0x39, 0xf6, 0xbb, 0xa8, 0x65, + 0x2e, 0x42, 0x82, 0x8a, 0x07, 0x02, 0xe0, 0x02, 0x22, 0x4d, 0xa1, 0x34, 0xc4, 0xab, 0x9b, 0x0a, + 0xd1, 0x34, 0x12, 0xe4, 0x58, 0xad, 0xba, 0x55, 0xaf, 0x55, 0x6b, 0x52, 0x54, 0xbe, 0x0c, 0x49, + 0xb6, 0xe6, 0x44, 0x0b, 0x79, 0xab, 0x2e, 0x4d, 0xf1, 0x22, 0xa7, 0x11, 0x11, 0xad, 0xdb, 0xeb, + 0x95, 0x9a, 0x22, 0x45, 0xe5, 0x6d, 0x28, 0xf6, 0xf1, 0x09, 0x9d, 0x80, 0x69, 0xa5, 0xd6, 0xac, + 0x6d, 0x90, 0x38, 0x4b, 0xdd, 0xde, 0xb8, 0xb9, 0xb1, 0xf9, 0xe1, 0x0d, 0x69, 0x2a, 0x5c, 0x2d, + 0x54, 0x5a, 0x04, 0xcd, 0x82, 0xe4, 0x57, 0x37, 0x36, 0xb7, 0x15, 0x3a, 0x9a, 0x6f, 0x8f, 0x82, + 0xd4, 0xcf, 0x35, 0x74, 0x0a, 0x66, 0x9a, 0x65, 0x65, 0xb5, 0xd6, 0x54, 0x59, 0xec, 0xe8, 0x91, + 0x9e, 0x05, 0x29, 0xd8, 0x70, 0xad, 0x4e, 0x43, 0xe3, 0x05, 0x38, 0x13, 0xac, 0xad, 0xbd, 0xdc, + 0xac, 0x6d, 0x34, 0x68, 0xe7, 0xe5, 0x8d, 0x55, 0xa2, 0x5f, 0xfb, 0xe8, 0x89, 0x68, 0x35, 0x46, + 0x86, 0x1a, 0xa6, 0x57, 0x5b, 0x5b, 0x91, 0xe2, 0xfd, 0xd5, 0x9b, 0x1b, 0xb5, 0xcd, 0x6b, 0x52, + 0xa2, 0xbf, 0x77, 0x1a, 0xc1, 0x26, 0x51, 0x09, 0x4e, 0xf6, 0xd7, 0xaa, 0xb5, 0x8d, 0xa6, 0xf2, + 0x8a, 0x94, 0xea, 0xef, 0xb8, 0x51, 0x53, 0x6e, 0xd5, 0xab, 0x35, 0x29, 0x8d, 0x4e, 0x02, 0x0a, + 0x8f, 0xa8, 0x79, 0x7d, 0x73, 0x45, 0xca, 0x0c, 0x68, 0x14, 0xd9, 0x81, 0x5c, 0x30, 0x8c, 0x7c, + 0x6f, 0x72, 0x49, 0x9f, 0x8a, 0x42, 0x36, 0x10, 0x16, 0x12, 0x7f, 0x5e, 0x6b, 0xb7, 0xad, 0xbb, + 0xaa, 0xd6, 0x36, 0x34, 0x87, 0xeb, 0x1b, 0xa0, 0x55, 0x65, 0x52, 0x33, 0xe9, 0xfe, 0x9e, 0x5c, + 0xc3, 0x27, 0xff, 0x32, 0x6a, 0xf8, 0x84, 0x94, 0x94, 0x7f, 0x28, 0x02, 0x52, 0x7f, 0xbc, 0xd7, + 0x37, 0xfd, 0xc8, 0xa8, 0xe9, 0xbf, 0x27, 0x6b, 0xf7, 0x83, 0x11, 0x28, 0x84, 0x83, 0xbc, 0xbe, + 0xe1, 0x3d, 0xf2, 0x7f, 0x75, 0x78, 0xbf, 0x13, 0x85, 0x7c, 0x28, 0xb4, 0x9b, 0x74, 0x74, 0x1f, + 0x85, 0x69, 0xa3, 0x85, 0x3b, 0x5d, 0xcb, 0xc5, 0xa6, 0x7e, 0xa8, 0xb6, 0xf1, 0x1d, 0xdc, 0x9e, + 0x93, 0xa9, 0x52, 0xbe, 0x78, 0x74, 0xf0, 0xb8, 0x54, 0xf7, 0xf1, 0xd6, 0x08, 0xda, 0xf2, 0x4c, + 0x7d, 0xa5, 0xb6, 0xbe, 0xb5, 0xd9, 0xac, 0x6d, 0x54, 0x5f, 0x11, 0xda, 0x45, 0x91, 0x8c, 0x3e, + 0xb0, 0x77, 0x51, 0x69, 0x6f, 0x81, 0xd4, 0x3f, 0x28, 0xa2, 0x2b, 0x86, 0x0c, 0x4b, 0x9a, 0x42, + 0x33, 0x50, 0xdc, 0xd8, 0x54, 0x1b, 0xf5, 0x95, 0x9a, 0x5a, 0xbb, 0x76, 0xad, 0x56, 0x6d, 0x36, + 0x58, 0x3a, 0xd0, 0x83, 0x6e, 0x4a, 0xd1, 0x20, 0x8b, 0xbf, 0x3f, 0x06, 0x33, 0x43, 0x46, 0x82, + 0xca, 0x3c, 0x90, 0x67, 0xb9, 0x85, 0xa7, 0x26, 0x19, 0xfd, 0x12, 0x71, 0xa5, 0xb7, 0x34, 0xdb, + 0xe5, 0x71, 0xff, 0x79, 0x20, 0x5c, 0x32, 0x5d, 0x62, 0xd9, 0x6d, 0x9e, 0x66, 0x65, 0xd1, 0x7d, + 0xd1, 0xaf, 0x67, 0x99, 0xd6, 0x27, 0x01, 0x75, 0x2d, 0xc7, 0x70, 0x8d, 0x3b, 0x58, 0x35, 0x4c, + 0x91, 0x93, 0x25, 0xd1, 0x7e, 0x5c, 0x91, 0x44, 0x4b, 0xdd, 0x74, 0x3d, 0x68, 0x13, 0xef, 0x69, + 0x7d, 0xd0, 0xc4, 0xf3, 0x88, 0x29, 0x92, 0x68, 0xf1, 0xa0, 0x1f, 0x81, 0x5c, 0xcb, 0xea, 0x91, + 0x10, 0x88, 0xc1, 0x11, 0x6d, 0x11, 0x51, 0xb2, 0xac, 0xce, 0x03, 0xe1, 0xc1, 0xad, 0x9f, 0x0c, + 0xce, 0x29, 0x59, 0x56, 0xc7, 0x40, 0xce, 0x42, 0x51, 0xdb, 0xdb, 0xb3, 0x09, 0x71, 0x41, 0x88, + 0x85, 0xeb, 0x05, 0xaf, 0x9a, 0x02, 0x96, 0x6e, 0x40, 0x5a, 0xf0, 0x81, 0x78, 0xb0, 0x84, 0x13, + 0x6a, 0x97, 0xe5, 0xa0, 0xa2, 0xe7, 0x32, 0x4a, 0xda, 0x14, 0x8d, 0x8f, 0x40, 0xce, 0x70, 0x54, + 0xff, 0x6c, 0x2b, 0xba, 0x18, 0x3d, 0x97, 0x56, 0xb2, 0x86, 0xe3, 0x9d, 0x0b, 0xc8, 0x3f, 0x1e, + 0x85, 0x42, 0xf8, 0xd4, 0x0e, 0xad, 0x40, 0xba, 0x6d, 0xe9, 0x1a, 0x15, 0x2d, 0x76, 0x64, 0x7c, + 0x6e, 0xcc, 0x41, 0xdf, 0xd2, 0x1a, 0x87, 0x57, 0x3c, 0xcc, 0xd2, 0xbf, 0x8c, 0x40, 0x5a, 0x54, + 0xa3, 0x93, 0x10, 0xef, 0x6a, 0xee, 0x3e, 0x25, 0x97, 0xa8, 0x44, 0xa5, 0x88, 0x42, 0xcb, 0xa4, + 0xde, 0xe9, 0x6a, 0x26, 0x15, 0x01, 0x5e, 0x4f, 0xca, 0x64, 0x5d, 0xdb, 0x58, 0x6b, 0xd1, 0x5c, + 0x80, 0xd5, 0xe9, 0x60, 0xd3, 0x75, 0xc4, 0xba, 0xf2, 0xfa, 0x2a, 0xaf, 0x46, 0x4f, 0xc0, 0xb4, + 0x6b, 0x6b, 0x46, 0x3b, 0x04, 0x1b, 0xa7, 0xb0, 0x92, 0x68, 0xf0, 0x80, 0x97, 0xe1, 0xb4, 0xa0, + 0xdb, 0xc2, 0xae, 0xa6, 0xef, 0xe3, 0x96, 0x8f, 0x94, 0xa4, 0x39, 0xbf, 0x53, 0x1c, 0x60, 0x85, + 0xb7, 0x0b, 0x5c, 0xf9, 0xf3, 0x51, 0x98, 0x16, 0xd9, 0x8b, 0x96, 0xc7, 0xac, 0x75, 0x00, 0xcd, + 0x34, 0x2d, 0x37, 0xc8, 0xae, 0x41, 0x51, 0x1e, 0xc0, 0x5b, 0x2a, 0x7b, 0x48, 0x4a, 0x80, 0x40, + 0xe9, 0x0f, 0x23, 0x00, 0x7e, 0xd3, 0x48, 0xbe, 0x2d, 0x40, 0x96, 0x9f, 0xc9, 0xd2, 0x83, 0x7d, + 0x96, 0xf0, 0x02, 0x56, 0x75, 0xcd, 0x68, 0xd3, 0xb4, 0xe4, 0x0e, 0xde, 0x33, 0x4c, 0x7e, 0x9e, + 0xc2, 0x0a, 0x22, 0x2d, 0x19, 0xf7, 0x8f, 0xa7, 0x14, 0x48, 0x3b, 0xb8, 0xa3, 0x99, 0xae, 0xa1, + 0xf3, 0x13, 0x92, 0x2b, 0xc7, 0x1a, 0xfc, 0x52, 0x83, 0x63, 0x2b, 0x1e, 0x1d, 0xf9, 0x1c, 0xa4, + 0x45, 0x2d, 0x71, 0xfc, 0x36, 0x36, 0x37, 0x6a, 0xd2, 0x14, 0x4a, 0x41, 0xac, 0x51, 0x6b, 0x4a, + 0x11, 0x12, 0x76, 0x96, 0xd7, 0xea, 0xe5, 0x86, 0x14, 0xad, 0xfc, 0xff, 0x30, 0xa3, 0x5b, 0x9d, + 0xfe, 0x0e, 0x2b, 0x52, 0x5f, 0xca, 0xcf, 0xb9, 0x1e, 0x79, 0xf5, 0x29, 0x0e, 0xb4, 0x67, 0xb5, + 0x35, 0x73, 0x6f, 0xc9, 0xb2, 0xf7, 0xfc, 0x6b, 0x11, 0x24, 0x3a, 0x70, 0x02, 0x97, 0x23, 0xba, + 0x3b, 0xff, 0x3d, 0x12, 0xf9, 0xe1, 0x68, 0x6c, 0x75, 0xab, 0xf2, 0x93, 0xd1, 0xd2, 0x2a, 0x43, + 0xdc, 0x12, 0xd3, 0x51, 0xf0, 0x6e, 0x1b, 0xeb, 0x64, 0xf0, 0xf0, 0x47, 0x4f, 0xc0, 0xec, 0x9e, + 0xb5, 0x67, 0x51, 0x4a, 0x17, 0xc9, 0x2f, 0x7e, 0xaf, 0x22, 0xe3, 0xd5, 0x96, 0xc6, 0x5e, 0xc2, + 0x58, 0xde, 0x80, 0x19, 0x0e, 0xac, 0xd2, 0xe3, 0x5b, 0x96, 0x5c, 0x40, 0x47, 0x66, 0xb6, 0xe7, + 0x7e, 0xfa, 0xf7, 0xa8, 0x57, 0xa2, 0x4c, 0x73, 0x54, 0xd2, 0xc6, 0xf2, 0x0f, 0xcb, 0x0a, 0x9c, + 0x08, 0xd1, 0x63, 0x3a, 0x02, 0xdb, 0x63, 0x28, 0xfe, 0x13, 0x4e, 0x71, 0x26, 0x40, 0xb1, 0xc1, + 0x51, 0x97, 0xab, 0x90, 0x3f, 0x0e, 0xad, 0x7f, 0xca, 0x69, 0xe5, 0x70, 0x90, 0xc8, 0x2a, 0x14, + 0x29, 0x11, 0xbd, 0xe7, 0xb8, 0x56, 0x87, 0x2a, 0xe0, 0xa3, 0xc9, 0xfc, 0xb3, 0xdf, 0x63, 0x9b, + 0xb6, 0x40, 0xd0, 0xaa, 0x1e, 0xd6, 0xf2, 0x32, 0xd0, 0x13, 0xeb, 0x16, 0xd6, 0xdb, 0x63, 0x28, + 0xfc, 0x1a, 0x1f, 0x88, 0x07, 0xbf, 0x7c, 0x0b, 0x66, 0xc9, 0x6f, 0xaa, 0x1f, 0x83, 0x23, 0x19, + 0x9f, 0x06, 0x9f, 0xfb, 0xcd, 0x8f, 0x33, 0xbd, 0x30, 0xe3, 0x11, 0x08, 0x8c, 0x29, 0xb0, 0x8a, + 0x7b, 0xd8, 0x75, 0xb1, 0xed, 0xa8, 0x5a, 0x7b, 0xd8, 0xf0, 0x02, 0x79, 0xc4, 0xb9, 0xef, 0xfb, + 0x52, 0x78, 0x15, 0x57, 0x19, 0x66, 0xb9, 0xdd, 0x5e, 0xde, 0x86, 0x53, 0x43, 0xa4, 0x62, 0x02, + 0x9a, 0xdf, 0xcf, 0x69, 0xce, 0x0e, 0x48, 0x06, 0x21, 0xbb, 0x05, 0xa2, 0xde, 0x5b, 0xcb, 0x09, + 0x68, 0xfe, 0x00, 0xa7, 0x89, 0x38, 0xae, 0x58, 0x52, 0x42, 0xf1, 0x06, 0x4c, 0xdf, 0xc1, 0xf6, + 0x8e, 0xe5, 0xf0, 0xdc, 0xed, 0x04, 0xe4, 0x7e, 0x90, 0x93, 0x2b, 0x72, 0x44, 0x9a, 0xcc, 0x25, + 0xb4, 0x5e, 0x84, 0xf4, 0xae, 0xa6, 0xe3, 0x09, 0x48, 0xdc, 0xe7, 0x24, 0x52, 0x04, 0x9e, 0xa0, + 0x96, 0x21, 0xb7, 0x67, 0x71, 0x13, 0x39, 0x1e, 0xfd, 0x87, 0x38, 0x7a, 0x56, 0xe0, 0x70, 0x12, + 0x5d, 0xab, 0xdb, 0x6b, 0x13, 0xfb, 0x39, 0x9e, 0xc4, 0xdf, 0x14, 0x24, 0x04, 0x0e, 0x27, 0x71, + 0x0c, 0xb6, 0xbe, 0x21, 0x48, 0x38, 0x01, 0x7e, 0xbe, 0x04, 0x59, 0xcb, 0x6c, 0x1f, 0x5a, 0xe6, + 0x24, 0x83, 0xf8, 0x34, 0xa7, 0x00, 0x1c, 0x85, 0x10, 0xb8, 0x0a, 0x99, 0x49, 0x17, 0xe2, 0x47, + 0xbf, 0x24, 0xb6, 0x87, 0x58, 0x81, 0x55, 0x28, 0x0a, 0x05, 0x65, 0x58, 0xe6, 0x04, 0x24, 0x7e, + 0x8c, 0x93, 0x28, 0x04, 0xd0, 0xf8, 0x34, 0x5c, 0xec, 0xb8, 0x7b, 0x78, 0x12, 0x22, 0x3f, 0x2e, + 0xa6, 0xc1, 0x51, 0x38, 0x2b, 0x77, 0xb0, 0xa9, 0xef, 0x4f, 0x46, 0xe1, 0x33, 0x82, 0x95, 0x02, + 0x87, 0x90, 0xa8, 0x42, 0xbe, 0xa3, 0xd9, 0xce, 0xbe, 0xd6, 0x9e, 0x68, 0x39, 0x7e, 0x82, 0xd3, + 0xc8, 0x79, 0x48, 0x9c, 0x23, 0x3d, 0xf3, 0x38, 0x64, 0x7e, 0x52, 0x70, 0x24, 0x80, 0xc6, 0xb7, + 0x9e, 0xe3, 0xd2, 0x44, 0xf7, 0x71, 0xa8, 0xfd, 0x6d, 0xb1, 0xf5, 0x18, 0xee, 0x7a, 0x90, 0xe2, + 0x55, 0xc8, 0x38, 0xc6, 0xeb, 0x13, 0x91, 0xf9, 0x3b, 0x62, 0xa5, 0x29, 0x02, 0x41, 0x7e, 0x05, + 0x4e, 0x0f, 0x35, 0x13, 0x13, 0x10, 0xfb, 0xbb, 0x9c, 0xd8, 0xc9, 0x21, 0xa6, 0x82, 0xab, 0x84, + 0xe3, 0x92, 0xfc, 0x7b, 0x42, 0x25, 0xe0, 0x3e, 0x5a, 0x5b, 0x24, 0x68, 0x71, 0xb4, 0xdd, 0xe3, + 0x71, 0xed, 0xef, 0x0b, 0xae, 0x31, 0xdc, 0x10, 0xd7, 0x9a, 0x70, 0x92, 0x53, 0x3c, 0xde, 0xba, + 0xfe, 0x94, 0x50, 0xac, 0x0c, 0x7b, 0x3b, 0xbc, 0xba, 0x5f, 0x0b, 0x25, 0x8f, 0x9d, 0xc2, 0x3b, + 0x76, 0xd4, 0x8e, 0xd6, 0x9d, 0x80, 0xf2, 0x4f, 0x73, 0xca, 0x42, 0xe3, 0x7b, 0xee, 0xb5, 0xb3, + 0xae, 0x75, 0x09, 0xf1, 0x97, 0x61, 0x4e, 0x10, 0xef, 0x99, 0x36, 0xd6, 0xad, 0x3d, 0xd3, 0x78, + 0x1d, 0xb7, 0x26, 0x20, 0xfd, 0x33, 0x7d, 0x4b, 0xb5, 0x1d, 0x40, 0x27, 0x94, 0xeb, 0x20, 0x79, + 0xbe, 0x8a, 0x6a, 0x74, 0xba, 0x96, 0xed, 0x8e, 0xa1, 0xf8, 0xb3, 0x62, 0xa5, 0x3c, 0xbc, 0x3a, + 0x45, 0x5b, 0xae, 0x01, 0xbb, 0xfd, 0x31, 0xa9, 0x48, 0xfe, 0x1c, 0x27, 0x94, 0xf7, 0xb1, 0xb8, + 0xe2, 0xd0, 0xad, 0x4e, 0x57, 0xb3, 0x27, 0xd1, 0x7f, 0xff, 0x40, 0x28, 0x0e, 0x8e, 0xc2, 0x15, + 0x07, 0xf1, 0xe8, 0x88, 0xb5, 0x9f, 0x80, 0xc2, 0x67, 0x85, 0xe2, 0x10, 0x38, 0x9c, 0x84, 0x70, + 0x18, 0x26, 0x20, 0xf1, 0x39, 0x41, 0x42, 0xe0, 0x10, 0x12, 0x1f, 0xf2, 0x0d, 0xad, 0x8d, 0xf7, + 0x0c, 0xc7, 0xb5, 0x99, 0x4b, 0x7e, 0x34, 0xa9, 0x9f, 0xff, 0x52, 0xd8, 0x09, 0x53, 0x02, 0xa8, + 0x44, 0x13, 0xf1, 0xa3, 0x0f, 0x1a, 0xb2, 0x8d, 0x1f, 0xd8, 0x2f, 0x08, 0x4d, 0x14, 0x40, 0x23, + 0x63, 0x0b, 0x78, 0x88, 0x84, 0xed, 0x3a, 0x09, 0x54, 0x26, 0x20, 0xf7, 0x0f, 0xfb, 0x06, 0xd7, + 0x10, 0xb8, 0x84, 0x66, 0xc0, 0xff, 0xe9, 0x99, 0xb7, 0xf1, 0xe1, 0x44, 0xd2, 0xf9, 0x8b, 0x7d, + 0xfe, 0xcf, 0x36, 0xc3, 0x64, 0x3a, 0xa4, 0xd8, 0xe7, 0x4f, 0xa1, 0x71, 0x77, 0xfd, 0xe6, 0xbe, + 0xf1, 0x6d, 0x3e, 0xdf, 0xb0, 0x3b, 0xb5, 0xbc, 0x46, 0x84, 0x3c, 0xec, 0xf4, 0x8c, 0x27, 0xf6, + 0xf1, 0xb7, 0x3d, 0x39, 0x0f, 0xf9, 0x3c, 0xcb, 0xd7, 0x20, 0x1f, 0x72, 0x78, 0xc6, 0x93, 0xfa, + 0x66, 0x4e, 0x2a, 0x17, 0xf4, 0x77, 0x96, 0x2f, 0x43, 0x9c, 0x38, 0x2f, 0xe3, 0xd1, 0xbf, 0x85, + 0xa3, 0x53, 0xf0, 0xe5, 0x0f, 0x40, 0x5a, 0x38, 0x2d, 0xe3, 0x51, 0xbf, 0x95, 0xa3, 0x7a, 0x28, + 0x04, 0x5d, 0x38, 0x2c, 0xe3, 0xd1, 0xff, 0x8a, 0x40, 0x17, 0x28, 0x04, 0x7d, 0x72, 0x16, 0xfe, + 0xca, 0x5f, 0x8d, 0x73, 0xa3, 0x23, 0x78, 0x77, 0x15, 0x52, 0xdc, 0x53, 0x19, 0x8f, 0xfd, 0x6d, + 0xbc, 0x73, 0x81, 0xb1, 0xfc, 0x3c, 0x24, 0x26, 0x64, 0xf8, 0x5f, 0xe3, 0xa8, 0x0c, 0x7e, 0xb9, + 0x0a, 0xd9, 0x80, 0x77, 0x32, 0x1e, 0xfd, 0x3b, 0x38, 0x7a, 0x10, 0x8b, 0x0c, 0x9d, 0x7b, 0x27, + 0xe3, 0x09, 0x7c, 0xa7, 0x18, 0x3a, 0xc7, 0x20, 0x6c, 0x13, 0x8e, 0xc9, 0x78, 0xec, 0x4f, 0x0a, + 0xae, 0x0b, 0x94, 0xe5, 0x97, 0x20, 0xe3, 0x19, 0x9b, 0xf1, 0xf8, 0xdf, 0xc5, 0xf1, 0x7d, 0x1c, + 0xc2, 0x81, 0x80, 0xb1, 0x1b, 0x4f, 0xe2, 0xaf, 0x0b, 0x0e, 0x04, 0xb0, 0xc8, 0x36, 0xea, 0x77, + 0x60, 0xc6, 0x53, 0xfa, 0x6e, 0xb1, 0x8d, 0xfa, 0xfc, 0x17, 0xb2, 0x9a, 0x54, 0xe7, 0x8f, 0x27, + 0xf1, 0x37, 0xc4, 0x6a, 0x52, 0x78, 0x32, 0x8c, 0x7e, 0x8f, 0x60, 0x3c, 0x8d, 0xef, 0x15, 0xc3, + 0xe8, 0x73, 0x08, 0x96, 0xb7, 0x00, 0x0d, 0x7a, 0x03, 0xe3, 0xe9, 0x7d, 0x8a, 0xd3, 0x9b, 0x1e, + 0x70, 0x06, 0x96, 0x3f, 0x0c, 0x27, 0x87, 0x7b, 0x02, 0xe3, 0xa9, 0x7e, 0xdf, 0xdb, 0x7d, 0xb1, + 0x5b, 0xd0, 0x11, 0x58, 0x6e, 0xfa, 0x26, 0x25, 0xe8, 0x05, 0x8c, 0x27, 0xfb, 0xfd, 0x6f, 0x87, + 0x15, 0x77, 0xd0, 0x09, 0x58, 0x2e, 0x03, 0xf8, 0x06, 0x78, 0x3c, 0xad, 0x1f, 0xe4, 0xb4, 0x02, + 0x48, 0x64, 0x6b, 0x70, 0xfb, 0x3b, 0x1e, 0xff, 0xbe, 0xd8, 0x1a, 0x1c, 0x83, 0x6c, 0x0d, 0x61, + 0x7a, 0xc7, 0x63, 0xff, 0x90, 0xd8, 0x1a, 0x02, 0x85, 0x48, 0x76, 0xc0, 0xba, 0x8d, 0xa7, 0xf0, + 0x69, 0x21, 0xd9, 0x01, 0xac, 0xe5, 0x0d, 0x98, 0x1e, 0x30, 0x88, 0xe3, 0x49, 0xfd, 0x30, 0x27, + 0x25, 0xf5, 0xdb, 0xc3, 0xa0, 0xf1, 0xe2, 0xc6, 0x70, 0x3c, 0xb5, 0x1f, 0xe9, 0x33, 0x5e, 0xdc, + 0x16, 0x2e, 0x5f, 0x85, 0xb4, 0xd9, 0x6b, 0xb7, 0xc9, 0xe6, 0x41, 0x47, 0xdf, 0xcf, 0x9d, 0xfb, + 0x4f, 0x5f, 0xe1, 0xdc, 0x11, 0x08, 0xcb, 0x97, 0x21, 0x81, 0x3b, 0x3b, 0xb8, 0x35, 0x0e, 0xf3, + 0x0f, 0xbe, 0x22, 0x14, 0x26, 0x81, 0x5e, 0x7e, 0x09, 0x80, 0xa5, 0x46, 0xe8, 0xc1, 0xf9, 0x18, + 0xdc, 0x3f, 0xfc, 0x0a, 0xbf, 0x10, 0xe7, 0xa3, 0xf8, 0x04, 0xd8, 0xf5, 0xba, 0xa3, 0x09, 0x7c, + 0x29, 0x4c, 0x80, 0xae, 0xc8, 0x8b, 0x90, 0x7a, 0xcd, 0xb1, 0x4c, 0x57, 0xdb, 0x1b, 0x87, 0xfd, + 0x47, 0x1c, 0x5b, 0xc0, 0x13, 0x86, 0x75, 0x2c, 0x1b, 0xbb, 0xda, 0x9e, 0x33, 0x0e, 0xf7, 0x3f, + 0x73, 0x5c, 0x0f, 0x81, 0x20, 0xeb, 0x9a, 0xe3, 0x4e, 0x32, 0xef, 0x3f, 0x16, 0xc8, 0x02, 0x81, + 0x0c, 0x9a, 0xfc, 0xbe, 0x8d, 0x0f, 0xc7, 0xe1, 0xfe, 0x89, 0x18, 0x34, 0x87, 0x5f, 0xfe, 0x00, + 0x64, 0xc8, 0x4f, 0x76, 0xcb, 0x75, 0x0c, 0xf2, 0x9f, 0x72, 0x64, 0x1f, 0x83, 0xf4, 0xec, 0xb8, + 0x2d, 0xd7, 0x18, 0xcf, 0xec, 0x2f, 0xf3, 0x95, 0x16, 0xf0, 0xcb, 0x65, 0xc8, 0x3a, 0x6e, 0xab, + 0xd5, 0xe3, 0xfe, 0xe9, 0x18, 0xf4, 0xff, 0xf2, 0x15, 0x2f, 0x65, 0xe1, 0xe1, 0x90, 0xd5, 0xbe, + 0x7b, 0xdb, 0xed, 0x5a, 0xf4, 0xbc, 0x65, 0x1c, 0x85, 0xb7, 0x39, 0x85, 0x00, 0xca, 0x72, 0x15, + 0x72, 0x64, 0x2e, 0x36, 0xee, 0x62, 0x7a, 0x38, 0x36, 0x86, 0xc4, 0x9f, 0x71, 0x06, 0x84, 0x90, + 0x2a, 0xdf, 0xf0, 0x6b, 0x6f, 0xcd, 0x47, 0x3e, 0xff, 0xd6, 0x7c, 0xe4, 0x77, 0xde, 0x9a, 0x8f, + 0x7c, 0xf2, 0x0b, 0xf3, 0x53, 0x9f, 0xff, 0xc2, 0xfc, 0xd4, 0x6f, 0x7f, 0x61, 0x7e, 0x6a, 0x78, + 0x96, 0x18, 0x56, 0xad, 0x55, 0x8b, 0xe5, 0x87, 0x5f, 0x7d, 0x6c, 0xcf, 0x70, 0xf7, 0x7b, 0x3b, + 0x4b, 0xba, 0xd5, 0xb9, 0xa8, 0x5b, 0x4e, 0xc7, 0x72, 0x2e, 0x86, 0xf3, 0xba, 0xf4, 0x17, 0xfc, + 0xcf, 0x08, 0x89, 0x99, 0xc3, 0xe9, 0x5c, 0xcd, 0x3c, 0x1c, 0xf5, 0x31, 0xdd, 0x15, 0x88, 0x95, + 0xcd, 0x43, 0x74, 0x9a, 0x29, 0x38, 0xb5, 0x67, 0xb7, 0xf9, 0x55, 0xcb, 0x14, 0x29, 0x6f, 0xdb, + 0x6d, 0x34, 0xeb, 0xdf, 0x87, 0x8e, 0x9c, 0xcb, 0xf1, 0x4b, 0xce, 0x95, 0xef, 0x88, 0x1c, 0x6f, + 0x26, 0xe9, 0xb2, 0x79, 0x48, 0x27, 0xb2, 0x15, 0x79, 0xf5, 0xc9, 0xb1, 0x79, 0xee, 0xdb, 0xa6, + 0x75, 0xd7, 0x24, 0xc3, 0xee, 0xee, 0x88, 0x1c, 0xf7, 0x7c, 0x7f, 0x8e, 0xfb, 0xc3, 0xb8, 0xdd, + 0xbe, 0x49, 0xe0, 0x9a, 0x04, 0x65, 0x27, 0xc9, 0x6e, 0xf5, 0xc3, 0x77, 0x47, 0x61, 0x7e, 0x20, + 0x9d, 0xcd, 0x85, 0x60, 0x14, 0x13, 0x96, 0x21, 0xbd, 0x22, 0x64, 0x6b, 0x0e, 0x52, 0x0e, 0xd6, + 0x2d, 0xb3, 0xe5, 0x50, 0x46, 0xc4, 0x14, 0x51, 0x24, 0x8c, 0x30, 0x35, 0xd3, 0x72, 0xf8, 0x65, + 0x65, 0x56, 0xa8, 0xfc, 0xc0, 0x31, 0x19, 0x91, 0x17, 0x3d, 0x09, 0x6e, 0x3c, 0x33, 0x21, 0x37, + 0xc4, 0x24, 0x42, 0x99, 0xff, 0x49, 0xb9, 0xf2, 0xbd, 0x51, 0x58, 0xe8, 0xe7, 0x0a, 0xd9, 0x59, + 0x8e, 0xab, 0x75, 0xba, 0xa3, 0xd8, 0x72, 0x15, 0x32, 0x4d, 0x01, 0x73, 0x6c, 0xbe, 0xdc, 0x3f, + 0x26, 0x5f, 0x0a, 0x5e, 0x57, 0x82, 0x31, 0x97, 0x26, 0x64, 0x8c, 0x37, 0x8f, 0x07, 0xe2, 0xcc, + 0x9f, 0x27, 0xe1, 0x34, 0xdb, 0x4e, 0x2a, 0xdb, 0x4a, 0xac, 0xc0, 0x79, 0x92, 0x0b, 0x36, 0x8d, + 0x3f, 0x27, 0x91, 0x6f, 0xc2, 0x4c, 0x9d, 0x68, 0x0b, 0x12, 0x05, 0xf9, 0x27, 0x3c, 0x43, 0xef, + 0x73, 0x2f, 0x86, 0x1c, 0x7e, 0x7e, 0xbe, 0x15, 0xac, 0x92, 0xbf, 0x31, 0x02, 0x52, 0x43, 0xd7, + 0xda, 0x9a, 0xfd, 0x17, 0x25, 0x85, 0x9e, 0x07, 0x60, 0xd7, 0x3d, 0xbc, 0x0f, 0xf7, 0x0a, 0x97, + 0xe6, 0x96, 0x82, 0x93, 0x5b, 0x62, 0x3d, 0xd1, 0x1b, 0x54, 0x19, 0x0a, 0x4b, 0x7e, 0x5e, 0x78, + 0x19, 0xc0, 0x6f, 0x40, 0x67, 0xe0, 0x54, 0xa3, 0x5a, 0x5e, 0x2b, 0x2b, 0xe2, 0x92, 0x50, 0x63, + 0xab, 0x56, 0xad, 0x5f, 0xab, 0xd7, 0x56, 0xa4, 0x29, 0x74, 0x12, 0x50, 0xb0, 0xd1, 0xbb, 0xd4, + 0x74, 0x02, 0xa6, 0x83, 0xf5, 0xec, 0x2b, 0x95, 0x28, 0xf1, 0x14, 0x8d, 0x4e, 0xb7, 0x8d, 0xe9, + 0xc9, 0xa3, 0x6a, 0x08, 0xae, 0x8d, 0x77, 0x42, 0x7e, 0xfd, 0x5f, 0xb3, 0x2f, 0x17, 0x66, 0x7c, + 0x74, 0x8f, 0xe7, 0xcb, 0x6b, 0x30, 0xad, 0xe9, 0x3a, 0xee, 0x86, 0x48, 0x8e, 0x51, 0xd5, 0x84, + 0x20, 0x3d, 0x4b, 0xe5, 0x98, 0x3e, 0xb5, 0xe7, 0x21, 0xe9, 0xd0, 0xd9, 0x8f, 0x23, 0xf1, 0x1b, + 0x9c, 0x04, 0x07, 0x5f, 0x36, 0x61, 0x9a, 0x78, 0x7e, 0x9a, 0x8d, 0x03, 0xc3, 0x38, 0x3a, 0xcf, + 0xf0, 0x4b, 0x3f, 0xfb, 0x34, 0x3d, 0x59, 0x7d, 0x24, 0xbc, 0x2c, 0x43, 0xc4, 0x49, 0x91, 0x38, + 0x6d, 0x7f, 0xa0, 0x18, 0x0a, 0xa2, 0x3f, 0x3e, 0xe0, 0xa3, 0x3b, 0xfb, 0x65, 0xde, 0xd9, 0xfc, + 0x30, 0x19, 0x08, 0xf4, 0x94, 0xe7, 0x54, 0x59, 0x43, 0xa5, 0x36, 0x6a, 0x4f, 0xbf, 0xfa, 0xc4, + 0xa0, 0x75, 0x62, 0xff, 0x3d, 0x45, 0x29, 0x5f, 0x0d, 0x76, 0xe3, 0xed, 0xbd, 0x1f, 0x88, 0xc3, + 0xb4, 0xd6, 0x31, 0x4c, 0xeb, 0x22, 0xfd, 0x97, 0xef, 0xb9, 0x04, 0x2d, 0x4c, 0x70, 0x28, 0x79, + 0x85, 0x6d, 0x85, 0xf1, 0x12, 0xf3, 0xa7, 0xdf, 0xfe, 0x63, 0x09, 0x7f, 0xbb, 0x2c, 0xaf, 0x83, + 0x24, 0x2e, 0xf1, 0x62, 0x53, 0xb7, 0x5a, 0x13, 0x65, 0x29, 0xbe, 0x2c, 0x68, 0x88, 0xfc, 0x56, + 0x8d, 0xa3, 0x2e, 0xbf, 0x1f, 0xd2, 0x1e, 0x99, 0x71, 0x9e, 0x89, 0x20, 0xe2, 0x61, 0x10, 0xbf, + 0x84, 0xed, 0xcc, 0x49, 0xbc, 0xd0, 0xb7, 0x05, 0x3e, 0xdb, 0xa1, 0x1b, 0x64, 0x36, 0xab, 0x50, + 0x68, 0x59, 0xa6, 0xab, 0x5a, 0x1d, 0xc3, 0xc5, 0x9d, 0xae, 0x3b, 0xd6, 0xaf, 0xfb, 0x33, 0x46, + 0x24, 0xad, 0xe4, 0x09, 0xde, 0xa6, 0x40, 0x23, 0x23, 0x61, 0xdf, 0xe9, 0x4d, 0x32, 0x92, 0xff, + 0xea, 0x8d, 0x84, 0xe2, 0x90, 0x91, 0x3c, 0x90, 0x74, 0x38, 0xad, 0xdb, 0x5c, 0x99, 0xbb, 0x07, + 0x4c, 0x0a, 0x3c, 0xe9, 0xf8, 0xe3, 0x18, 0xcc, 0x73, 0xe0, 0x1d, 0xcd, 0xc1, 0x17, 0xef, 0x3c, + 0xb3, 0x83, 0x5d, 0xed, 0x99, 0x8b, 0xba, 0x65, 0x08, 0x4b, 0x3e, 0xc3, 0x95, 0x35, 0x69, 0x5f, + 0xe2, 0xed, 0xa5, 0xa1, 0xc7, 0xdd, 0xa5, 0xd1, 0x4a, 0xbe, 0x34, 0x28, 0x83, 0xf2, 0xab, 0x10, + 0xaf, 0x5a, 0x86, 0x49, 0x6c, 0x5b, 0x0b, 0x9b, 0x56, 0x87, 0xab, 0x5b, 0x56, 0x40, 0x57, 0x20, + 0xa9, 0x75, 0xac, 0x9e, 0xe9, 0x32, 0x55, 0x5b, 0x99, 0xff, 0xb5, 0x37, 0x17, 0xa6, 0xfe, 0xed, + 0x9b, 0x0b, 0xb1, 0xba, 0xe9, 0xfe, 0xd6, 0xcf, 0x3d, 0x05, 0x9c, 0x7a, 0xdd, 0x74, 0x3f, 0xf3, + 0xfb, 0x3f, 0x75, 0x21, 0xa2, 0x70, 0xe8, 0xe5, 0xf8, 0x17, 0xdf, 0x58, 0x88, 0xc8, 0x2f, 0x43, + 0x6a, 0x05, 0xeb, 0x47, 0x90, 0x7f, 0xa6, 0x8f, 0xfc, 0x69, 0x41, 0x7e, 0x05, 0xeb, 0x01, 0xf2, + 0x2b, 0x58, 0xef, 0xa3, 0xfc, 0x3c, 0xa4, 0xeb, 0xa6, 0xcb, 0x3e, 0x21, 0x7a, 0x02, 0x62, 0x86, + 0xc9, 0x6e, 0xa5, 0x07, 0x28, 0x0c, 0x0c, 0x50, 0x21, 0x50, 0x04, 0x71, 0x05, 0xeb, 0x1e, 0x62, + 0x0b, 0xeb, 0xfd, 0x88, 0x83, 0x5d, 0x13, 0xa8, 0xca, 0xca, 0x6f, 0xff, 0xee, 0xfc, 0xd4, 0xc7, + 0xde, 0x9a, 0x9f, 0x1a, 0xb9, 0xf4, 0xf2, 0xf8, 0xa5, 0xf7, 0x56, 0xfc, 0xc7, 0xe2, 0xf0, 0x30, + 0xfd, 0xb2, 0xd4, 0xee, 0x18, 0xa6, 0x7b, 0x51, 0xb7, 0x0f, 0xbb, 0xae, 0x45, 0x14, 0x80, 0xb5, + 0xcb, 0x17, 0x7c, 0xda, 0x6f, 0x5e, 0x62, 0xcd, 0xc3, 0x97, 0x5b, 0xde, 0x85, 0xc4, 0x16, 0xc1, + 0x23, 0x2c, 0x76, 0x2d, 0x57, 0x6b, 0x73, 0xaf, 0x85, 0x15, 0x48, 0x2d, 0xfb, 0x1a, 0x35, 0xca, + 0x6a, 0x0d, 0xf1, 0x21, 0x6a, 0x1b, 0x6b, 0xbb, 0xec, 0xa3, 0x9e, 0x18, 0x75, 0x77, 0xd3, 0xa4, + 0x82, 0x7e, 0xbf, 0x33, 0x0b, 0x09, 0xad, 0xc7, 0x2e, 0xde, 0xc4, 0x88, 0x1f, 0x4c, 0x0b, 0xf2, + 0x4d, 0x48, 0xf1, 0xf3, 0x77, 0x24, 0x41, 0xec, 0x36, 0x3e, 0xa4, 0xfd, 0xe4, 0x14, 0xf2, 0x13, + 0x2d, 0x41, 0x82, 0x0e, 0x9e, 0x7f, 0xad, 0x38, 0xb7, 0x34, 0x30, 0xfa, 0x25, 0x3a, 0x48, 0x85, + 0x81, 0xc9, 0x37, 0x20, 0xbd, 0x62, 0x11, 0x29, 0x0c, 0x53, 0xcb, 0x30, 0x6a, 0x74, 0xcc, 0xdd, + 0x1e, 0x97, 0x0a, 0x85, 0x15, 0xd0, 0x49, 0x48, 0xb2, 0x8f, 0xbc, 0xf8, 0xe5, 0x21, 0x5e, 0x92, + 0xab, 0x90, 0xa2, 0xb4, 0x37, 0xbb, 0xc4, 0x65, 0xf0, 0xee, 0xbd, 0x67, 0xf8, 0x27, 0xbf, 0x9c, + 0x7c, 0xd4, 0x1f, 0x2c, 0x82, 0x78, 0x4b, 0x73, 0x35, 0x3e, 0x6f, 0xfa, 0x5b, 0xfe, 0x20, 0xa4, + 0x39, 0x11, 0x07, 0x5d, 0x82, 0x98, 0xd5, 0x75, 0xf8, 0xf5, 0x9f, 0xd2, 0xa8, 0xa9, 0x6c, 0x76, + 0x2b, 0x71, 0x22, 0x33, 0x0a, 0x01, 0xae, 0x6c, 0x8c, 0x14, 0x8b, 0xe7, 0x42, 0x62, 0xd1, 0xc1, + 0xee, 0xce, 0xae, 0xeb, 0xff, 0x60, 0xcb, 0x39, 0x20, 0x0a, 0x9e, 0xa0, 0xdc, 0x8f, 0xc2, 0x7c, + 0xa0, 0xf5, 0x0e, 0xb6, 0x1d, 0xc3, 0x32, 0x99, 0x34, 0x71, 0x49, 0x41, 0x81, 0x01, 0xf2, 0xf6, + 0x11, 0xa2, 0xf2, 0x01, 0x88, 0x95, 0xbb, 0x5d, 0x54, 0x82, 0x34, 0x2d, 0xeb, 0x16, 0x93, 0x95, + 0xb8, 0xe2, 0x95, 0x49, 0x9b, 0x63, 0xed, 0xba, 0x77, 0x35, 0xdb, 0xfb, 0x06, 0x5a, 0x94, 0xe5, + 0x17, 0x21, 0x53, 0xb5, 0x4c, 0x07, 0x9b, 0x4e, 0x8f, 0xfa, 0xc2, 0x3b, 0x6d, 0x4b, 0xbf, 0xcd, + 0x29, 0xb0, 0x02, 0x61, 0xb6, 0xd6, 0xed, 0x52, 0xcc, 0xb8, 0x42, 0x7e, 0xb2, 0xfd, 0x5a, 0xd9, + 0x1c, 0xc9, 0x9e, 0xcb, 0xc7, 0x63, 0x0f, 0x9f, 0xa0, 0xef, 0xd4, 0x46, 0xe0, 0xa1, 0xc1, 0x8d, + 0x74, 0x1b, 0x1f, 0x3a, 0xc7, 0xdd, 0x47, 0x2f, 0x43, 0x66, 0x8b, 0x3e, 0x4f, 0x72, 0x13, 0x1f, + 0xa2, 0x12, 0xa4, 0x70, 0xeb, 0xd2, 0xe5, 0xcb, 0xcf, 0xbc, 0xc8, 0xa4, 0xfc, 0xfa, 0x94, 0x22, + 0x2a, 0xd0, 0x3c, 0x64, 0x1c, 0xac, 0x77, 0x2f, 0x5d, 0xbe, 0x72, 0xfb, 0x19, 0x26, 0x56, 0xd7, + 0xa7, 0x14, 0xbf, 0x6a, 0x39, 0x4d, 0x66, 0xfc, 0xc5, 0x4f, 0x2f, 0x44, 0x2a, 0x09, 0x88, 0x39, + 0xbd, 0xce, 0xbb, 0x26, 0x1b, 0xdf, 0x93, 0x80, 0xc5, 0x40, 0x2b, 0x33, 0x2e, 0x77, 0xb4, 0xb6, + 0xd1, 0xd2, 0xfc, 0x47, 0x65, 0xa4, 0xc0, 0xfc, 0x29, 0xc4, 0x08, 0xab, 0x71, 0x24, 0x17, 0xe5, + 0x9f, 0x89, 0x40, 0xee, 0x96, 0xa0, 0xdc, 0xc0, 0x2e, 0xba, 0x0a, 0xe0, 0xf5, 0x24, 0xb6, 0xca, + 0x99, 0xa5, 0xfe, 0xbe, 0x96, 0x3c, 0x1c, 0x25, 0x00, 0x8e, 0x9e, 0xa7, 0x02, 0xd8, 0xb5, 0x1c, + 0xfe, 0x3d, 0xec, 0x18, 0x54, 0x0f, 0x18, 0x3d, 0x09, 0x88, 0x6a, 0x35, 0xf5, 0x8e, 0xe5, 0x1a, + 0xe6, 0x9e, 0xda, 0xb5, 0xee, 0xf2, 0x57, 0x06, 0x62, 0x8a, 0x44, 0x5b, 0x6e, 0xd1, 0x86, 0x2d, + 0x52, 0x4f, 0x06, 0x9d, 0xf1, 0xa8, 0x90, 0xb0, 0x4e, 0x6b, 0xb5, 0x6c, 0xec, 0x38, 0x5c, 0x71, + 0x89, 0x22, 0xba, 0x0a, 0xa9, 0x6e, 0x6f, 0x47, 0x15, 0x5a, 0x22, 0x7b, 0xe9, 0xa1, 0x61, 0x7b, + 0x5e, 0xc8, 0x06, 0xdf, 0xf5, 0xc9, 0x6e, 0x6f, 0x87, 0x48, 0xca, 0x23, 0x90, 0x1b, 0x32, 0x98, + 0xec, 0x1d, 0x7f, 0x1c, 0xf4, 0x45, 0x1c, 0x3e, 0x03, 0xb5, 0x6b, 0x1b, 0x96, 0x6d, 0xb8, 0x87, + 0xf4, 0xda, 0x5e, 0x4c, 0x91, 0x44, 0xc3, 0x16, 0xaf, 0x97, 0x6f, 0x43, 0xb1, 0x41, 0xdd, 0x7d, + 0x7f, 0xe4, 0x97, 0xfd, 0xf1, 0x45, 0xc6, 0x8f, 0x6f, 0xe4, 0xc8, 0xa2, 0x03, 0x23, 0xab, 0xac, + 0x8f, 0x94, 0xcc, 0x67, 0x8f, 0x27, 0x99, 0x61, 0xeb, 0xf6, 0x87, 0xa7, 0x43, 0x9b, 0x92, 0x7b, + 0x3d, 0x01, 0x95, 0x35, 0xa9, 0x50, 0x8e, 0x8b, 0xe4, 0x4b, 0x47, 0x1b, 0xd1, 0xd2, 0x18, 0xd5, + 0x59, 0x1a, 0xbb, 0x7d, 0xe4, 0x17, 0x21, 0xbf, 0xa5, 0xd9, 0x6e, 0x03, 0xbb, 0xd7, 0xb1, 0xd6, + 0xc2, 0x76, 0xd8, 0xca, 0xe6, 0x85, 0x95, 0x45, 0x10, 0xa7, 0xa6, 0x94, 0x59, 0x19, 0xfa, 0x5b, + 0xde, 0x87, 0x38, 0xbd, 0xb7, 0xeb, 0x59, 0x60, 0x8e, 0xc1, 0x2c, 0x30, 0xd1, 0x9f, 0x87, 0x2e, + 0x76, 0x44, 0xb2, 0x89, 0x16, 0xd0, 0x73, 0xc2, 0x8e, 0xc6, 0x8e, 0xb6, 0xa3, 0x5c, 0x08, 0xb9, + 0x35, 0x6d, 0x43, 0xaa, 0x42, 0xd4, 0x6f, 0x7d, 0xc5, 0x1b, 0x48, 0xc4, 0x1f, 0x08, 0x5a, 0x87, + 0x62, 0x57, 0xb3, 0x5d, 0xfa, 0x1d, 0xdf, 0x3e, 0x9d, 0x05, 0x97, 0xf3, 0x85, 0xc1, 0x5d, 0x17, + 0x9a, 0x2c, 0xef, 0x25, 0xdf, 0x0d, 0x56, 0xca, 0xff, 0x31, 0x0e, 0x49, 0xce, 0x8c, 0x0f, 0x40, + 0x8a, 0xb3, 0x95, 0x4b, 0xe6, 0xc3, 0x4b, 0x83, 0xc6, 0x68, 0xc9, 0x33, 0x1a, 0x9c, 0x9e, 0xc0, + 0x41, 0x8f, 0x43, 0x5a, 0xdf, 0xd7, 0x0c, 0x53, 0x35, 0x5a, 0xdc, 0x01, 0xcc, 0xbe, 0xf5, 0xe6, + 0x42, 0xaa, 0x4a, 0xea, 0xea, 0x2b, 0x4a, 0x8a, 0x36, 0xd6, 0x5b, 0xc4, 0xf2, 0xef, 0x63, 0x63, + 0x6f, 0xdf, 0xe5, 0xbb, 0x8b, 0x97, 0xd0, 0x0b, 0x10, 0x27, 0x02, 0xc1, 0xbf, 0xf2, 0x2e, 0x0d, + 0xf8, 0xf1, 0x5e, 0xa2, 0xa5, 0x92, 0x26, 0x1d, 0x7f, 0xf2, 0x3f, 0x2c, 0x44, 0x14, 0x8a, 0x81, + 0xaa, 0x90, 0x6f, 0x6b, 0x8e, 0xab, 0x52, 0xab, 0x45, 0xba, 0x4f, 0x50, 0x12, 0xa7, 0x07, 0x19, + 0xc2, 0x19, 0xcb, 0x87, 0x9e, 0x25, 0x58, 0xac, 0xaa, 0x85, 0xce, 0x81, 0x44, 0x89, 0xe8, 0x56, + 0xa7, 0x63, 0xb8, 0xcc, 0x97, 0x4a, 0x52, 0xbe, 0x17, 0x48, 0x7d, 0x95, 0x56, 0x53, 0x8f, 0xea, + 0x0c, 0x64, 0xe8, 0x77, 0xa5, 0x14, 0x84, 0x5d, 0x16, 0x4f, 0x93, 0x0a, 0xda, 0x78, 0x16, 0x8a, + 0xbe, 0x6e, 0x64, 0x20, 0x69, 0x46, 0xc5, 0xaf, 0xa6, 0x80, 0x4f, 0xc3, 0xac, 0x89, 0x0f, 0xe8, + 0xf5, 0xf5, 0x10, 0x74, 0x86, 0x42, 0x23, 0xd2, 0x76, 0x2b, 0x8c, 0xf1, 0x18, 0x14, 0x74, 0xc1, + 0x7c, 0x06, 0x0b, 0x14, 0x36, 0xef, 0xd5, 0x52, 0xb0, 0xd3, 0x90, 0xd6, 0xba, 0x5d, 0x06, 0x90, + 0xe5, 0xba, 0xb1, 0xdb, 0xa5, 0x4d, 0x17, 0x60, 0x9a, 0xce, 0xd1, 0xc6, 0x4e, 0xaf, 0xed, 0x72, + 0x22, 0x39, 0x0a, 0x53, 0x24, 0x0d, 0x0a, 0xab, 0xa7, 0xb0, 0x8f, 0x42, 0x1e, 0xdf, 0x31, 0x5a, + 0xd8, 0xd4, 0x31, 0x83, 0xcb, 0x53, 0xb8, 0x9c, 0xa8, 0xa4, 0x40, 0xe7, 0xc1, 0xd3, 0x79, 0xaa, + 0xd0, 0xc7, 0x05, 0x46, 0x4f, 0xd4, 0x97, 0x59, 0xb5, 0x3c, 0x07, 0xf1, 0x15, 0xcd, 0xd5, 0x88, + 0x53, 0xe1, 0x1e, 0x30, 0x23, 0x93, 0x53, 0xc8, 0x4f, 0xf9, 0x8b, 0x51, 0x88, 0xdf, 0xb2, 0x5c, + 0x8c, 0x9e, 0x0d, 0x38, 0x7c, 0x85, 0x61, 0xf2, 0xdc, 0x30, 0xf6, 0x4c, 0xdc, 0x5a, 0x77, 0xf6, + 0x02, 0x8f, 0xc0, 0xf8, 0xe2, 0x14, 0x0d, 0x89, 0xd3, 0x2c, 0x24, 0x6c, 0xab, 0x67, 0xb6, 0xc4, + 0x35, 0x6b, 0x5a, 0x40, 0x35, 0x48, 0x7b, 0x52, 0x12, 0x1f, 0x27, 0x25, 0x45, 0x22, 0x25, 0x44, + 0x86, 0x79, 0x85, 0x92, 0xda, 0xe1, 0xc2, 0x52, 0x81, 0x8c, 0xa7, 0xbc, 0xb8, 0xb4, 0x4d, 0x26, + 0xb0, 0x3e, 0x1a, 0x31, 0x24, 0xde, 0xda, 0x7b, 0xcc, 0x63, 0x12, 0x27, 0x79, 0x0d, 0x9c, 0x7b, + 0x21, 0xb1, 0xe2, 0x0f, 0xd2, 0xa4, 0xe8, 0xbc, 0x7c, 0xb1, 0x62, 0x8f, 0xd2, 0x3c, 0x04, 0x19, + 0xc7, 0xd8, 0x33, 0x35, 0xb7, 0x67, 0x63, 0x2e, 0x79, 0x7e, 0x85, 0xfc, 0x2b, 0x11, 0x48, 0x32, + 0x49, 0x0e, 0xf0, 0x2d, 0x32, 0x9c, 0x6f, 0xd1, 0x51, 0x7c, 0x8b, 0x3d, 0x38, 0xdf, 0xca, 0x00, + 0xde, 0x60, 0x1c, 0xfe, 0x4e, 0xc8, 0x10, 0x6f, 0x81, 0x0d, 0xb1, 0x61, 0xec, 0xf1, 0x8d, 0x1a, + 0x40, 0x92, 0xff, 0x7d, 0x84, 0x38, 0xae, 0xbc, 0x1d, 0x95, 0x21, 0x2f, 0xc6, 0xa5, 0xee, 0xb6, + 0xb5, 0x3d, 0x2e, 0x3b, 0x0f, 0x8f, 0x1c, 0xdc, 0xb5, 0xb6, 0xb6, 0xa7, 0x64, 0xf9, 0x78, 0x48, + 0x61, 0xf8, 0x3a, 0x44, 0x47, 0xac, 0x43, 0x68, 0xe1, 0x63, 0x0f, 0xb6, 0xf0, 0xa1, 0x25, 0x8a, + 0xf7, 0x2f, 0xd1, 0xcf, 0x46, 0x69, 0xf0, 0xd2, 0xb5, 0x1c, 0xad, 0xfd, 0x5e, 0xec, 0x88, 0x33, + 0x90, 0xe9, 0x5a, 0x6d, 0x95, 0xb5, 0xb0, 0xcf, 0x0f, 0xd2, 0x5d, 0xab, 0xad, 0x0c, 0x2c, 0x7b, + 0xe2, 0x1d, 0xda, 0x2e, 0xc9, 0x77, 0x80, 0x6b, 0xa9, 0x7e, 0xae, 0xd9, 0x90, 0x63, 0xac, 0xe0, + 0xb6, 0xec, 0x69, 0xc2, 0x03, 0x6a, 0x1c, 0x23, 0x83, 0xb6, 0x97, 0x0d, 0x9b, 0x41, 0x2a, 0x1c, + 0x8e, 0x60, 0x30, 0xd5, 0x3f, 0x2c, 0xea, 0x0d, 0x8a, 0xa5, 0xc2, 0xe1, 0xe4, 0xef, 0x89, 0x00, + 0xac, 0x11, 0xce, 0xd2, 0xf9, 0x12, 0x2b, 0xe4, 0xd0, 0x21, 0xa8, 0xa1, 0x9e, 0xe7, 0x47, 0x2d, + 0x1a, 0xef, 0x3f, 0xe7, 0x04, 0xc7, 0x5d, 0x85, 0xbc, 0x2f, 0x8c, 0x0e, 0x16, 0x83, 0x99, 0x3f, + 0xc2, 0xa3, 0x6e, 0x60, 0x57, 0xc9, 0xdd, 0x09, 0x94, 0xe4, 0x7f, 0x14, 0x81, 0x0c, 0x1d, 0xd3, + 0x3a, 0x76, 0xb5, 0xd0, 0x1a, 0x46, 0x1e, 0x7c, 0x0d, 0x1f, 0x06, 0x60, 0x64, 0x1c, 0xe3, 0x75, + 0xcc, 0x25, 0x2b, 0x43, 0x6b, 0x1a, 0xc6, 0xeb, 0x18, 0x5d, 0xf1, 0x18, 0x1e, 0x3b, 0x9a, 0xe1, + 0xc2, 0xe3, 0xe6, 0x6c, 0x3f, 0x05, 0x29, 0xfa, 0xae, 0xde, 0x81, 0xc3, 0x9d, 0xe8, 0xa4, 0xd9, + 0xeb, 0x34, 0x0f, 0x1c, 0xf9, 0x35, 0x48, 0x35, 0x0f, 0x58, 0x2e, 0xe4, 0x0c, 0x64, 0x6c, 0xcb, + 0xe2, 0x36, 0x99, 0xf9, 0x42, 0x69, 0x52, 0x41, 0x4d, 0x90, 0x88, 0xff, 0xa3, 0x7e, 0xfc, 0xef, + 0x27, 0x30, 0x62, 0x13, 0x25, 0x30, 0x2e, 0xfc, 0x9b, 0x08, 0x64, 0x03, 0xfa, 0x01, 0x3d, 0x03, + 0x27, 0x2a, 0x6b, 0x9b, 0xd5, 0x9b, 0x6a, 0x7d, 0x45, 0xbd, 0xb6, 0x56, 0x5e, 0xf5, 0xbf, 0xb0, + 0x2b, 0x9d, 0xbc, 0x77, 0x7f, 0x11, 0x05, 0x60, 0xb7, 0x4d, 0x7a, 0x9a, 0x83, 0x2e, 0xc2, 0x6c, + 0x18, 0xa5, 0x5c, 0x69, 0xd4, 0x36, 0x9a, 0x52, 0xa4, 0x74, 0xe2, 0xde, 0xfd, 0xc5, 0xe9, 0x00, + 0x46, 0x79, 0xc7, 0xc1, 0xa6, 0x3b, 0x88, 0x50, 0xdd, 0x5c, 0x5f, 0xaf, 0x37, 0xa5, 0xe8, 0x00, + 0x02, 0x57, 0xd8, 0xe7, 0x61, 0x3a, 0x8c, 0xb0, 0x51, 0x5f, 0x93, 0x62, 0x25, 0x74, 0xef, 0xfe, + 0x62, 0x21, 0x00, 0xbd, 0x61, 0xb4, 0x4b, 0xe9, 0x4f, 0xfc, 0xc8, 0xfc, 0xd4, 0x67, 0xfe, 0xd6, + 0x7c, 0x84, 0xcc, 0x2c, 0x1f, 0xd2, 0x11, 0xe8, 0x49, 0x38, 0xd5, 0xa8, 0xaf, 0x6e, 0xd4, 0x56, + 0xd4, 0xf5, 0xc6, 0x6a, 0xdf, 0x47, 0xd3, 0xa5, 0xe2, 0xbd, 0xfb, 0x8b, 0x59, 0x3e, 0xa5, 0x51, + 0xd0, 0x5b, 0x4a, 0xed, 0xd6, 0x66, 0xb3, 0x26, 0x45, 0x18, 0xf4, 0x96, 0x8d, 0xef, 0x58, 0x2e, + 0x7b, 0x92, 0xf3, 0x69, 0x38, 0x3d, 0x04, 0xda, 0x9b, 0xd8, 0xf4, 0xbd, 0xfb, 0x8b, 0xf9, 0x2d, + 0x1b, 0xb3, 0xfd, 0x43, 0x31, 0x96, 0x60, 0x6e, 0x10, 0x63, 0x73, 0x6b, 0xb3, 0x51, 0x5e, 0x93, + 0x16, 0x4b, 0xd2, 0xbd, 0xfb, 0x8b, 0x39, 0xa1, 0x0c, 0x09, 0xbc, 0x3f, 0xb3, 0x77, 0x2b, 0xda, + 0xf9, 0xd6, 0x54, 0x28, 0x97, 0xc7, 0xe2, 0x88, 0xae, 0x66, 0x6b, 0x9d, 0xe3, 0x86, 0x3b, 0x63, + 0x8e, 0x73, 0xe5, 0x8f, 0x45, 0xa1, 0xe8, 0x39, 0xd3, 0x5b, 0xb4, 0x07, 0xf4, 0x6c, 0x30, 0x0f, + 0x93, 0x1d, 0x69, 0xc6, 0x18, 0xb4, 0x48, 0xd3, 0xbc, 0x1f, 0xd2, 0xc2, 0x29, 0xe3, 0xea, 0x62, + 0x71, 0x10, 0xaf, 0xc6, 0x21, 0x38, 0xaa, 0x87, 0x81, 0x5e, 0x82, 0x8c, 0xa7, 0x3c, 0xbc, 0x67, + 0xab, 0x46, 0x6b, 0x1b, 0x8e, 0xef, 0xe3, 0xa0, 0x17, 0xfd, 0xb0, 0x21, 0x3e, 0x2a, 0x10, 0xb9, + 0xc5, 0x00, 0x38, 0xb2, 0x80, 0x97, 0xeb, 0x7c, 0xdb, 0xf1, 0xd9, 0xd3, 0x27, 0x3f, 0x0e, 0x54, + 0x16, 0x49, 0x31, 0xaf, 0x24, 0xdd, 0xd1, 0x0e, 0x2a, 0x34, 0x98, 0x3a, 0x05, 0x29, 0xd2, 0xb8, + 0xc7, 0x3f, 0x2a, 0x8f, 0x29, 0xc9, 0x8e, 0x76, 0xb0, 0xaa, 0x39, 0x37, 0xe2, 0xe9, 0x98, 0x14, + 0x97, 0x7f, 0x22, 0x02, 0x85, 0xf0, 0x1c, 0xd1, 0x13, 0x80, 0x08, 0x86, 0xb6, 0x87, 0x55, 0xa2, + 0x62, 0x28, 0xb3, 0x04, 0xdd, 0x62, 0x47, 0x3b, 0x28, 0xef, 0xe1, 0x8d, 0x5e, 0x87, 0x0e, 0xc0, + 0x41, 0xeb, 0x20, 0x09, 0x60, 0xb1, 0x4e, 0x9c, 0x99, 0xa7, 0x07, 0x1f, 0xb1, 0xe4, 0x00, 0xcc, + 0x50, 0x7d, 0x8a, 0x18, 0xaa, 0x02, 0xa3, 0xe7, 0x1d, 0xc7, 0x87, 0xa6, 0x12, 0x0b, 0x4f, 0x45, + 0x7e, 0x09, 0x8a, 0x7d, 0xfc, 0x44, 0x32, 0xe4, 0x79, 0x56, 0x80, 0x1e, 0x75, 0x32, 0xff, 0x38, + 0xa3, 0x64, 0x59, 0xf4, 0x4f, 0x8f, 0x7e, 0x97, 0xd3, 0x3f, 0xff, 0xc6, 0x42, 0x84, 0x26, 0xcc, + 0x9f, 0x80, 0x7c, 0x88, 0xa3, 0x22, 0x53, 0x17, 0xf1, 0x33, 0x75, 0x3e, 0xf0, 0xab, 0x90, 0x23, + 0x8a, 0x12, 0xb7, 0x38, 0xec, 0xe3, 0x50, 0x64, 0x8a, 0xbc, 0x9f, 0xd7, 0xcc, 0x93, 0x5a, 0x17, + 0x0c, 0x97, 0x85, 0x6b, 0x15, 0x66, 0x7b, 0x56, 0x40, 0xad, 0x6a, 0x4e, 0xe5, 0x43, 0x9f, 0x79, + 0x6b, 0x3e, 0xf2, 0xee, 0x6c, 0xc4, 0xdf, 0xfc, 0x10, 0x9c, 0x09, 0x34, 0x6a, 0x3b, 0xba, 0x11, + 0xca, 0x3a, 0x14, 0x03, 0x42, 0x46, 0x1a, 0xc7, 0x65, 0x0f, 0x8e, 0xcc, 0x61, 0x1c, 0x9d, 0x30, + 0x2b, 0x1d, 0xad, 0x11, 0xc6, 0x27, 0x36, 0x86, 0xe7, 0x28, 0xff, 0x77, 0x1a, 0x52, 0x0a, 0xfe, + 0x68, 0x0f, 0x3b, 0x2e, 0xba, 0x04, 0x71, 0xac, 0xef, 0x5b, 0xc3, 0x52, 0x42, 0x64, 0x72, 0x4b, + 0x1c, 0xae, 0xa6, 0xef, 0x5b, 0xd7, 0xa7, 0x14, 0x0a, 0x8b, 0x2e, 0x43, 0x62, 0xb7, 0xdd, 0xe3, + 0x79, 0x8a, 0x3e, 0x65, 0x11, 0x44, 0xba, 0x46, 0x80, 0xae, 0x4f, 0x29, 0x0c, 0x9a, 0x74, 0x45, + 0x1f, 0x0a, 0x8e, 0x1d, 0xdd, 0x55, 0xdd, 0xdc, 0xa5, 0x5d, 0x11, 0x58, 0x54, 0x01, 0x30, 0x4c, + 0xc3, 0x55, 0x69, 0x0c, 0xcf, 0x3d, 0xc1, 0x47, 0x46, 0x63, 0x1a, 0x2e, 0x8d, 0xfa, 0xaf, 0x4f, + 0x29, 0x19, 0x43, 0x14, 0xc8, 0x70, 0x3f, 0xda, 0xc3, 0xf6, 0x21, 0x77, 0x00, 0x47, 0x0e, 0xf7, + 0x43, 0x04, 0x88, 0x0c, 0x97, 0x42, 0xa3, 0x1a, 0x64, 0xe9, 0x17, 0xb2, 0x6c, 0xff, 0xf2, 0xa7, + 0x69, 0xe5, 0x51, 0xc8, 0x15, 0x02, 0x4a, 0xb7, 0xf4, 0xf5, 0x29, 0x05, 0x76, 0xbc, 0x12, 0x51, + 0x92, 0xec, 0xe9, 0x32, 0xf7, 0x80, 0x3f, 0xc8, 0xb9, 0x30, 0x8a, 0x06, 0x7d, 0xbf, 0xac, 0x79, + 0x70, 0x7d, 0x4a, 0x49, 0xe9, 0xec, 0x27, 0x99, 0x7f, 0x0b, 0xb7, 0x8d, 0x3b, 0xd8, 0x26, 0xf8, + 0x99, 0xa3, 0xe7, 0xbf, 0xc2, 0x20, 0x29, 0x85, 0x4c, 0x4b, 0x14, 0x88, 0xa2, 0xc5, 0x66, 0x8b, + 0x4f, 0x03, 0x06, 0xf5, 0x74, 0x68, 0x9d, 0xcd, 0x96, 0x98, 0x44, 0x1a, 0xf3, 0xdf, 0xe8, 0x05, + 0xcf, 0x43, 0xcd, 0x0e, 0x3a, 0x85, 0xa1, 0x09, 0xb0, 0x5c, 0xc5, 0x94, 0xf0, 0x54, 0xd1, 0x06, + 0x14, 0xda, 0x86, 0xe3, 0xaa, 0x8e, 0xa9, 0x75, 0x9d, 0x7d, 0xcb, 0x75, 0x68, 0xd0, 0x9f, 0xbd, + 0xf4, 0xd8, 0x28, 0x0a, 0x6b, 0x86, 0xe3, 0x36, 0x04, 0xf0, 0xf5, 0x29, 0x25, 0xdf, 0x0e, 0x56, + 0x10, 0x7a, 0xd6, 0xee, 0x2e, 0xb6, 0x3d, 0x82, 0x34, 0x39, 0x70, 0x04, 0xbd, 0x4d, 0x02, 0x2d, + 0xf0, 0x09, 0x3d, 0x2b, 0x58, 0x81, 0xbe, 0x16, 0x66, 0xda, 0x96, 0xd6, 0xf2, 0xc8, 0xa9, 0xfa, + 0x7e, 0xcf, 0xbc, 0x4d, 0x33, 0x09, 0xd9, 0x4b, 0xe7, 0x47, 0x0e, 0xd2, 0xd2, 0x5a, 0x82, 0x44, + 0x95, 0x20, 0x5c, 0x9f, 0x52, 0xa6, 0xdb, 0xfd, 0x95, 0xe8, 0x23, 0x30, 0xab, 0x75, 0xbb, 0xed, + 0xc3, 0x7e, 0xea, 0x45, 0x4a, 0xfd, 0xc2, 0x28, 0xea, 0x65, 0x82, 0xd3, 0x4f, 0x1e, 0x69, 0x03, + 0xb5, 0xa8, 0x09, 0x52, 0xd7, 0xc6, 0xf4, 0xa3, 0x9a, 0x2e, 0x77, 0x55, 0xe8, 0x93, 0x43, 0xd9, + 0x4b, 0x67, 0x47, 0xd1, 0xde, 0x62, 0xf0, 0xc2, 0xb3, 0xb9, 0x3e, 0xa5, 0x14, 0xbb, 0xe1, 0x2a, + 0x46, 0xd5, 0xd2, 0x31, 0x7d, 0x11, 0x8d, 0x53, 0x9d, 0x1e, 0x47, 0x95, 0xc2, 0x87, 0xa9, 0x86, + 0xaa, 0x2a, 0x29, 0x7e, 0x29, 0x8e, 0xbf, 0x18, 0x73, 0x16, 0xb2, 0x01, 0xc5, 0x82, 0xe6, 0x20, + 0xc5, 0x2f, 0x09, 0x88, 0xcb, 0x74, 0xbc, 0x28, 0x17, 0x20, 0x17, 0x54, 0x26, 0xf2, 0x27, 0x23, + 0x1e, 0x26, 0xfd, 0xd4, 0x7e, 0x2e, 0x9c, 0x3a, 0xcc, 0xf8, 0x59, 0xc1, 0x47, 0x85, 0x15, 0x11, + 0xed, 0xec, 0x34, 0x29, 0x47, 0x2b, 0xb9, 0x11, 0x43, 0x0b, 0x90, 0xed, 0x5e, 0xea, 0x7a, 0x20, + 0x31, 0x0a, 0x02, 0xdd, 0x4b, 0x5d, 0x01, 0xf0, 0x08, 0xe4, 0xc8, 0x4c, 0xd5, 0xa0, 0xa3, 0x91, + 0x51, 0xb2, 0xa4, 0x8e, 0x83, 0xc8, 0xff, 0x22, 0x0a, 0x52, 0xbf, 0x02, 0xf2, 0x72, 0x8a, 0x91, + 0x63, 0xe7, 0x14, 0x4f, 0xf7, 0x67, 0x33, 0xfd, 0x04, 0xe6, 0x1a, 0x48, 0x7e, 0x1e, 0x8e, 0x19, + 0x82, 0xd1, 0x8e, 0x53, 0x9f, 0x87, 0xa7, 0x14, 0xf5, 0x3e, 0x97, 0xef, 0x5a, 0xe8, 0xec, 0x45, + 0xbc, 0x84, 0xdf, 0xbf, 0xc4, 0x9e, 0xbf, 0xb0, 0xdd, 0x6d, 0x69, 0x2e, 0x16, 0x79, 0x91, 0xc0, + 0x31, 0xcc, 0xe3, 0x50, 0xd4, 0xba, 0x5d, 0xd5, 0x71, 0x35, 0x17, 0x73, 0xb3, 0x9e, 0x60, 0xe9, + 0x41, 0xad, 0xdb, 0x6d, 0x90, 0x5a, 0x66, 0xd6, 0x1f, 0x83, 0x02, 0xd1, 0xc9, 0x86, 0xd6, 0x56, + 0x79, 0x96, 0x20, 0xc9, 0xac, 0x3f, 0xaf, 0xbd, 0x4e, 0x2b, 0xe5, 0x96, 0xb7, 0xe2, 0x54, 0x1f, + 0x7b, 0x61, 0x56, 0x24, 0x10, 0x66, 0x21, 0xfe, 0x04, 0x02, 0xe3, 0x8f, 0x78, 0x36, 0x62, 0x78, + 0x76, 0x77, 0x96, 0x86, 0x64, 0x77, 0x58, 0xc2, 0x23, 0xad, 0xb0, 0x82, 0xfc, 0xf1, 0x28, 0x4c, + 0x0f, 0x68, 0xee, 0xa1, 0x69, 0x6f, 0x3f, 0xbe, 0x8c, 0x1e, 0x2b, 0xbe, 0xbc, 0x19, 0x4e, 0xeb, + 0x06, 0x2c, 0xdf, 0x99, 0x01, 0x26, 0x33, 0xbd, 0x49, 0x04, 0x9a, 0x13, 0x09, 0x64, 0x7e, 0xa9, + 0x98, 0x6f, 0xc3, 0xec, 0xce, 0xe1, 0xeb, 0x9a, 0xe9, 0x1a, 0x26, 0x56, 0x07, 0x56, 0x6d, 0xd0, + 0x94, 0xae, 0x1b, 0xce, 0x0e, 0xde, 0xd7, 0xee, 0x18, 0x96, 0x18, 0xd6, 0x8c, 0x87, 0xef, 0x27, + 0x77, 0x65, 0x05, 0x0a, 0x61, 0xd3, 0x83, 0x0a, 0x10, 0x75, 0x0f, 0xf8, 0xfc, 0xa3, 0xee, 0x01, + 0x7a, 0x9a, 0xe7, 0x81, 0xa2, 0x34, 0x0f, 0x34, 0xd8, 0x11, 0xc7, 0xf3, 0x93, 0x40, 0xb2, 0xec, + 0xed, 0x06, 0xcf, 0x1c, 0xf5, 0x53, 0x95, 0xcf, 0x43, 0xb1, 0xcf, 0xde, 0x8c, 0xca, 0x0a, 0xca, + 0x45, 0xc8, 0x87, 0x8c, 0x8b, 0x7c, 0x12, 0x66, 0x87, 0xd9, 0x0a, 0x79, 0xdf, 0xab, 0x0f, 0xe9, + 0x7c, 0x74, 0x19, 0xd2, 0x9e, 0xb1, 0x18, 0x92, 0x85, 0xa0, 0xb3, 0x10, 0xc0, 0x8a, 0x07, 0x1a, + 0x4a, 0x66, 0x47, 0x43, 0xc9, 0x6c, 0xf9, 0x1b, 0x60, 0x6e, 0x94, 0x21, 0xe8, 0x9b, 0x46, 0xdc, + 0x93, 0xc2, 0x93, 0x90, 0xe4, 0xcf, 0x1e, 0x46, 0xe9, 0xf1, 0x0d, 0x2f, 0x11, 0xe9, 0x64, 0x46, + 0x21, 0xc6, 0x4e, 0x75, 0x68, 0x41, 0x56, 0xe1, 0xf4, 0x48, 0x63, 0x30, 0xfa, 0x20, 0x88, 0x11, + 0xe2, 0x07, 0x41, 0xba, 0x18, 0x8e, 0x43, 0xe7, 0x2a, 0x2e, 0x3b, 0xb0, 0x92, 0xfc, 0xa9, 0x18, + 0x9c, 0x1c, 0x6e, 0x12, 0xd0, 0x22, 0xe4, 0x88, 0xdf, 0xed, 0x86, 0x5d, 0x74, 0xe8, 0x68, 0x07, + 0x4d, 0xee, 0x9f, 0xf3, 0x44, 0x7a, 0xd4, 0x4b, 0xa4, 0xa3, 0x6d, 0x98, 0x6e, 0x5b, 0xba, 0xd6, + 0x56, 0x03, 0x12, 0xcf, 0x85, 0xfd, 0xd1, 0x01, 0x66, 0xd7, 0xd8, 0x63, 0xe8, 0xad, 0x01, 0xa1, + 0x2f, 0x52, 0x1a, 0x6b, 0x9e, 0xe4, 0xa3, 0x15, 0xc8, 0x76, 0x7c, 0x41, 0x3e, 0x86, 0xb0, 0x07, + 0xd1, 0x02, 0x4b, 0x92, 0x18, 0x7a, 0xec, 0x93, 0x3c, 0xb6, 0x8a, 0x1e, 0x75, 0x82, 0x92, 0x1a, + 0x79, 0x82, 0x32, 0xec, 0xb8, 0x22, 0x3d, 0xfc, 0xb8, 0xe2, 0x13, 0xc1, 0xa5, 0x09, 0x19, 0xd1, + 0xc1, 0x13, 0x0c, 0xd4, 0x80, 0x59, 0x8e, 0xdf, 0x0a, 0xf1, 0x3e, 0x3a, 0xa9, 0xa2, 0x41, 0x02, + 0x7d, 0x34, 0xdb, 0x63, 0x0f, 0xc6, 0x76, 0xa1, 0x4b, 0xe3, 0x01, 0x5d, 0xfa, 0xff, 0xd8, 0x52, + 0xfc, 0xab, 0x0c, 0xa4, 0x15, 0xec, 0x74, 0x89, 0xe1, 0x44, 0x15, 0xc8, 0xe0, 0x03, 0x1d, 0x77, + 0x5d, 0xff, 0x98, 0x72, 0x58, 0x30, 0xc0, 0xa0, 0x6b, 0x02, 0x92, 0x78, 0xe2, 0x1e, 0x1a, 0x7a, + 0x96, 0x07, 0x5b, 0xa3, 0xe3, 0x26, 0x8e, 0x1e, 0x8c, 0xb6, 0xae, 0x88, 0x68, 0x2b, 0x36, 0xd2, + 0xf9, 0x66, 0x58, 0x7d, 0xe1, 0xd6, 0xb3, 0x3c, 0xdc, 0x8a, 0x8f, 0xe9, 0x2c, 0x14, 0x6f, 0x55, + 0x43, 0xf1, 0x56, 0x72, 0xcc, 0x34, 0x47, 0x04, 0x5c, 0x57, 0x44, 0xc0, 0x95, 0x1a, 0x33, 0xe2, + 0xbe, 0x88, 0xeb, 0x5a, 0x38, 0xe2, 0x4a, 0x8f, 0x50, 0x20, 0x02, 0x7b, 0x64, 0xc8, 0xf5, 0x81, + 0x40, 0xc8, 0x95, 0x19, 0x19, 0xef, 0x30, 0x22, 0x43, 0x62, 0xae, 0x6a, 0x28, 0xe6, 0x82, 0x31, + 0x3c, 0x18, 0x11, 0x74, 0x7d, 0x4d, 0x30, 0xe8, 0xca, 0x8e, 0x8c, 0xdb, 0xf8, 0x7a, 0x0f, 0x8b, + 0xba, 0x5e, 0xf4, 0xa2, 0xae, 0xdc, 0xc8, 0xb0, 0x91, 0xcf, 0xa1, 0x3f, 0xec, 0xda, 0x1c, 0x08, + 0xbb, 0xf2, 0xfc, 0xef, 0x8c, 0x8c, 0x22, 0x31, 0x26, 0xee, 0xda, 0x1c, 0x88, 0xbb, 0x0a, 0x63, + 0x08, 0x8e, 0x09, 0xbc, 0xbe, 0x6e, 0x78, 0xe0, 0x35, 0x3a, 0x34, 0xe2, 0xc3, 0x9c, 0x2c, 0xf2, + 0x52, 0x47, 0x44, 0x5e, 0x2c, 0x3a, 0x7a, 0x62, 0x24, 0xf9, 0x89, 0x43, 0xaf, 0xed, 0x21, 0xa1, + 0x17, 0x0b, 0x92, 0xce, 0x8d, 0x24, 0x3e, 0x41, 0xec, 0xb5, 0x3d, 0x24, 0xf6, 0x42, 0x63, 0xc9, + 0x1e, 0x27, 0xf8, 0x4a, 0x48, 0x49, 0xf9, 0x3c, 0x71, 0x7d, 0xfb, 0xf4, 0x14, 0xf1, 0x1f, 0xb0, + 0x6d, 0x5b, 0xb6, 0xb8, 0x59, 0x4b, 0x0b, 0xf2, 0x39, 0xe2, 0x8c, 0xfb, 0x3a, 0xe9, 0x88, 0x40, + 0x8d, 0xfa, 0x69, 0x01, 0x3d, 0x24, 0xff, 0x7c, 0xc4, 0xc7, 0xa5, 0x3e, 0x6c, 0xd0, 0x91, 0xcf, + 0x70, 0x47, 0x3e, 0x10, 0xbe, 0x45, 0xc3, 0xe1, 0xdb, 0x02, 0x64, 0x89, 0xff, 0xd5, 0x17, 0x99, + 0x69, 0x5d, 0x2f, 0x32, 0x13, 0x57, 0x0a, 0x58, 0x90, 0xc7, 0xcd, 0x0a, 0x3b, 0xc9, 0x29, 0x7a, + 0xd7, 0x2b, 0x58, 0x4c, 0x81, 0x9e, 0x82, 0x99, 0x00, 0xac, 0xe7, 0xd7, 0xb1, 0x30, 0x45, 0xf2, + 0xa0, 0xcb, 0xdc, 0xc1, 0xfb, 0xc7, 0x11, 0x9f, 0x43, 0x7e, 0x48, 0x37, 0x2c, 0xfa, 0x8a, 0xbc, + 0x43, 0xd1, 0x57, 0xf4, 0x81, 0xa3, 0xaf, 0xa0, 0x9f, 0x1a, 0x0b, 0xfb, 0xa9, 0xff, 0x2d, 0xe2, + 0xaf, 0x89, 0x17, 0x4b, 0xe9, 0x56, 0x0b, 0x73, 0xcf, 0x91, 0xfe, 0x26, 0x4e, 0x45, 0xdb, 0xda, + 0xe3, 0xfe, 0x21, 0xf9, 0x49, 0xa0, 0x3c, 0xc3, 0x91, 0xe1, 0x76, 0xc1, 0x73, 0x3a, 0x13, 0xc1, + 0xfb, 0xbf, 0xfc, 0x52, 0x6c, 0xd2, 0xbf, 0x14, 0xeb, 0x7d, 0xfc, 0x96, 0x0a, 0x7c, 0xfc, 0x86, + 0x5e, 0x80, 0x0c, 0xcd, 0x88, 0xaa, 0x56, 0x57, 0xfc, 0x55, 0x9a, 0x33, 0xa3, 0x2f, 0xc4, 0x3a, + 0xf4, 0xaa, 0x1e, 0xbb, 0x44, 0xeb, 0x7b, 0x0c, 0x99, 0x90, 0xc7, 0xf0, 0x10, 0x64, 0xc8, 0xe8, + 0xd9, 0xeb, 0xea, 0xc0, 0xbf, 0x9c, 0x14, 0x15, 0xf2, 0x47, 0x00, 0x0d, 0x1a, 0x09, 0x74, 0x1d, + 0x92, 0xf8, 0x0e, 0x7d, 0xd5, 0x8f, 0x5d, 0x34, 0x3c, 0x39, 0xe8, 0x9a, 0x92, 0xe6, 0xca, 0x1c, + 0x61, 0xf2, 0x1f, 0xbc, 0xb9, 0x20, 0x31, 0xe8, 0x27, 0xbd, 0x0f, 0x05, 0x14, 0x8e, 0x2f, 0xff, + 0xbb, 0x28, 0x09, 0x60, 0x42, 0x06, 0x64, 0x28, 0x6f, 0x87, 0x1d, 0x11, 0x4e, 0xc6, 0xef, 0x79, + 0x80, 0x3d, 0xcd, 0x51, 0xef, 0x6a, 0xa6, 0x8b, 0x5b, 0x9c, 0xe9, 0x81, 0x1a, 0x54, 0x82, 0x34, + 0x29, 0xf5, 0x1c, 0xdc, 0xe2, 0x61, 0xb4, 0x57, 0x0e, 0xcc, 0x33, 0xf5, 0x17, 0x9b, 0x67, 0x98, + 0xcb, 0xe9, 0x3e, 0x2e, 0x07, 0x82, 0x8b, 0x4c, 0x30, 0xb8, 0x60, 0x17, 0x83, 0xf9, 0xfd, 0x44, + 0x60, 0x63, 0x13, 0x65, 0xf4, 0x28, 0xe4, 0x3b, 0xb8, 0xd3, 0xb5, 0xac, 0xb6, 0xca, 0xd4, 0x0d, + 0xfb, 0x33, 0x0a, 0x39, 0x5e, 0x59, 0xa3, 0x5a, 0xe7, 0x5b, 0xa2, 0xfe, 0xfe, 0xf3, 0x83, 0xc8, + 0xaf, 0x3a, 0x06, 0xd3, 0x77, 0xa7, 0xfb, 0x5d, 0x04, 0xd4, 0x08, 0xde, 0x1a, 0xe9, 0x51, 0xb5, + 0x20, 0x04, 0x7a, 0x52, 0xfd, 0xe1, 0xdf, 0x2e, 0x61, 0xd5, 0x0e, 0x7a, 0x05, 0x4e, 0xf5, 0xe9, + 0x36, 0x8f, 0x74, 0x74, 0x52, 0x15, 0x77, 0x22, 0xac, 0xe2, 0x04, 0x69, 0x9f, 0x59, 0xb1, 0xbf, + 0xe0, 0xae, 0xab, 0x43, 0x21, 0xec, 0xf1, 0x0c, 0x5d, 0x7e, 0xfa, 0x67, 0x7b, 0x5c, 0xcd, 0x30, + 0xd5, 0x50, 0x3a, 0x28, 0xc7, 0x2a, 0x79, 0x92, 0x69, 0x0b, 0x4e, 0x0c, 0xf5, 0x7c, 0xd0, 0xf3, + 0x90, 0xf1, 0x9d, 0x26, 0xc6, 0xd5, 0x23, 0xd2, 0x05, 0x3e, 0xac, 0xfc, 0xcb, 0x11, 0x9f, 0x64, + 0x38, 0x01, 0x51, 0x83, 0x24, 0xbb, 0xf6, 0xc6, 0x2f, 0xd3, 0x3c, 0x35, 0x99, 0xcf, 0xb4, 0xc4, + 0xee, 0xc4, 0x29, 0x1c, 0x59, 0xfe, 0x08, 0x24, 0x59, 0x0d, 0xca, 0x42, 0xca, 0x7f, 0x78, 0x17, + 0x20, 0x59, 0xae, 0x56, 0x6b, 0x5b, 0xe2, 0x15, 0xcd, 0xca, 0xa6, 0xd2, 0x94, 0xa2, 0xa4, 0x5a, + 0xa9, 0xdd, 0xa8, 0x55, 0x9b, 0x52, 0x0c, 0x4d, 0x43, 0x9e, 0xfd, 0x56, 0xaf, 0x6d, 0x2a, 0xeb, + 0xe5, 0xa6, 0x14, 0x0f, 0x54, 0x35, 0x6a, 0x1b, 0x2b, 0x35, 0x45, 0x4a, 0xc8, 0xcf, 0xc0, 0xe9, + 0x91, 0x5e, 0x96, 0x9f, 0x5d, 0x88, 0x04, 0xb2, 0x0b, 0xf2, 0xa7, 0xa2, 0x50, 0x1a, 0xed, 0x3a, + 0xa1, 0x1b, 0x7d, 0x13, 0xbf, 0x74, 0x0c, 0xbf, 0xab, 0x6f, 0xf6, 0xe8, 0x31, 0x28, 0xd8, 0x78, + 0x17, 0xbb, 0xfa, 0x3e, 0x73, 0xe5, 0x98, 0xc9, 0xcc, 0x2b, 0x79, 0x5e, 0x4b, 0x91, 0x1c, 0x06, + 0xf6, 0x1a, 0xd6, 0x5d, 0x95, 0xe9, 0x22, 0x87, 0xff, 0x65, 0xd1, 0x3c, 0xab, 0x6d, 0xb0, 0x4a, + 0xf9, 0x1b, 0x8e, 0xc5, 0xcb, 0x0c, 0x24, 0x94, 0x5a, 0x53, 0x79, 0x45, 0x8a, 0x21, 0x04, 0x05, + 0xfa, 0x53, 0x6d, 0x6c, 0x94, 0xb7, 0x1a, 0xd7, 0x37, 0x09, 0x2f, 0x67, 0xa0, 0x28, 0x78, 0x29, + 0x2a, 0x13, 0xf2, 0x13, 0x70, 0x6a, 0x84, 0xdf, 0x37, 0xe4, 0x1e, 0xe2, 0xa7, 0x23, 0x41, 0xe8, + 0x70, 0xcc, 0xbf, 0x09, 0x49, 0xc7, 0xd5, 0xdc, 0x9e, 0xc3, 0x99, 0xf8, 0xfc, 0xa4, 0x8e, 0xe0, + 0x92, 0xf8, 0xd1, 0xa0, 0xe8, 0x0a, 0x27, 0x23, 0x5f, 0x86, 0x42, 0xb8, 0x65, 0x34, 0x0f, 0x7c, + 0x21, 0x8a, 0xca, 0xaf, 0x00, 0x04, 0xf2, 0x91, 0xde, 0x8d, 0xae, 0x48, 0xf0, 0x46, 0xd7, 0x65, + 0x48, 0xdc, 0xb1, 0x98, 0xce, 0x18, 0xbe, 0x71, 0x6e, 0x59, 0x2e, 0x0e, 0x24, 0x1f, 0x18, 0xb4, + 0x6c, 0x00, 0x1a, 0xcc, 0x09, 0x8d, 0xe8, 0xe2, 0x03, 0xe1, 0x2e, 0x1e, 0x19, 0x99, 0x5d, 0x1a, + 0xde, 0xd5, 0xeb, 0x90, 0xa0, 0xda, 0x66, 0xe8, 0x27, 0x3e, 0x5f, 0x0f, 0xa0, 0xb9, 0xae, 0x6d, + 0xec, 0xf4, 0xfc, 0x0e, 0x16, 0x86, 0x6b, 0xab, 0xb2, 0x80, 0xab, 0x3c, 0xc4, 0xd5, 0xd6, 0xac, + 0x8f, 0x1a, 0x50, 0x5d, 0x01, 0x82, 0xf2, 0x06, 0x14, 0xc2, 0xb8, 0xc3, 0x3f, 0x59, 0xf2, 0xdf, + 0x0e, 0xc8, 0x08, 0xf7, 0xc9, 0x73, 0xbe, 0xf8, 0x7b, 0x1e, 0xb4, 0x20, 0xdf, 0x8b, 0x40, 0xba, + 0x79, 0xc0, 0xe5, 0xf8, 0x88, 0x4b, 0x95, 0xfe, 0x77, 0x5b, 0x5e, 0xb2, 0x90, 0xe5, 0x63, 0x63, + 0x5e, 0x96, 0xf7, 0x6b, 0xbc, 0x9d, 0x1a, 0x9f, 0x34, 0xda, 0x15, 0xd9, 0x6e, 0xae, 0x9d, 0xae, + 0x4e, 0xf6, 0x8d, 0xc4, 0x2c, 0x24, 0x82, 0xdf, 0x37, 0xb0, 0x82, 0xdc, 0x0a, 0x5c, 0x4b, 0x60, + 0x66, 0x23, 0xf8, 0x31, 0x45, 0xe4, 0xd8, 0x1f, 0x53, 0x78, 0xbd, 0x44, 0x83, 0xbd, 0xdc, 0x81, + 0xb4, 0x10, 0x0a, 0xf4, 0xc1, 0xe0, 0xdd, 0x13, 0x71, 0x46, 0x33, 0xd2, 0x78, 0x72, 0xf2, 0x81, + 0xab, 0x27, 0x17, 0x60, 0x9a, 0x5f, 0xb9, 0xf3, 0xe3, 0x0a, 0xfe, 0x27, 0x07, 0x8a, 0xac, 0x61, + 0x4d, 0x04, 0x15, 0xf2, 0x8f, 0x46, 0x40, 0xea, 0x97, 0xca, 0xf7, 0x72, 0x00, 0x44, 0x29, 0x12, + 0xe9, 0x0f, 0xbc, 0xf9, 0xcd, 0x56, 0x3e, 0x4f, 0x6a, 0xfd, 0x57, 0xbf, 0x3f, 0x1e, 0x85, 0x6c, + 0x20, 0xa7, 0x87, 0x9e, 0x0b, 0x5d, 0x01, 0x5d, 0x3c, 0x2a, 0xff, 0x17, 0xb8, 0x03, 0x1a, 0x9a, + 0x58, 0xf4, 0xf8, 0x13, 0x7b, 0xe7, 0x2f, 0xe9, 0x0f, 0xff, 0xda, 0x27, 0x31, 0xe2, 0x6b, 0x9f, + 0x6f, 0x8a, 0x40, 0xda, 0x33, 0xdd, 0xc7, 0xcd, 0xe6, 0x9f, 0x84, 0x24, 0xb7, 0x4e, 0x2c, 0x9d, + 0xcf, 0x4b, 0x43, 0x73, 0xa1, 0x25, 0x48, 0x8b, 0x3f, 0x14, 0xc5, 0x03, 0x51, 0xaf, 0x7c, 0xe1, + 0x45, 0xc8, 0x06, 0x0e, 0x56, 0x88, 0x9e, 0xd8, 0xa8, 0x7d, 0x58, 0x9a, 0x2a, 0xa5, 0xee, 0xdd, + 0x5f, 0x8c, 0x6d, 0xe0, 0xbb, 0x64, 0x87, 0x29, 0xb5, 0xea, 0xf5, 0x5a, 0xf5, 0xa6, 0x14, 0x29, + 0x65, 0xef, 0xdd, 0x5f, 0x4c, 0x29, 0x98, 0xa6, 0xaf, 0x2e, 0xdc, 0x84, 0x62, 0xdf, 0xc2, 0x84, + 0xf5, 0x3b, 0x82, 0xc2, 0xca, 0xf6, 0xd6, 0x5a, 0xbd, 0x5a, 0x6e, 0xd6, 0x54, 0x76, 0x9d, 0x0e, + 0x9d, 0x82, 0x99, 0xb5, 0xfa, 0xea, 0xf5, 0xa6, 0x5a, 0x5d, 0xab, 0xd7, 0x36, 0x9a, 0x6a, 0xb9, + 0xd9, 0x2c, 0x57, 0x6f, 0x4a, 0xd1, 0x4b, 0x5f, 0x01, 0x28, 0x96, 0x2b, 0xd5, 0x3a, 0xb1, 0xcf, + 0x06, 0x7f, 0xb6, 0xbd, 0x0a, 0x71, 0x9a, 0x0a, 0x38, 0xf2, 0xaa, 0x48, 0xe9, 0xe8, 0xdc, 0x26, + 0xba, 0x06, 0x09, 0x9a, 0x25, 0x40, 0x47, 0xdf, 0x1d, 0x29, 0x8d, 0x49, 0x76, 0x92, 0xc1, 0xd0, + 0xed, 0x74, 0xe4, 0x65, 0x92, 0xd2, 0xd1, 0xb9, 0x4f, 0xa4, 0x40, 0xc6, 0x8f, 0x32, 0xc6, 0x5f, + 0xae, 0x28, 0x4d, 0xa0, 0x1d, 0xd1, 0x1a, 0xa4, 0x44, 0x60, 0x38, 0xee, 0xba, 0x47, 0x69, 0x6c, + 0x72, 0x92, 0xb0, 0x8b, 0x05, 0xf0, 0x47, 0xdf, 0x5d, 0x29, 0x8d, 0xc9, 0xb4, 0xa2, 0xba, 0x77, + 0x09, 0x7f, 0xcc, 0x15, 0x8e, 0xd2, 0xb8, 0x64, 0x23, 0x61, 0x9a, 0x9f, 0x1a, 0x19, 0x7f, 0x23, + 0xa7, 0x34, 0x41, 0x12, 0x19, 0x6d, 0x03, 0x04, 0xc2, 0xf5, 0x09, 0xae, 0xda, 0x94, 0x26, 0x49, + 0x0e, 0xa3, 0x4d, 0x48, 0x7b, 0xd1, 0xd3, 0xd8, 0x8b, 0x2f, 0xa5, 0xf1, 0x59, 0x5a, 0xf4, 0x11, + 0xc8, 0x87, 0xa3, 0x86, 0xc9, 0xae, 0xb3, 0x94, 0x26, 0x4c, 0xbf, 0x12, 0xfa, 0xe1, 0x10, 0x62, + 0xb2, 0xeb, 0x2d, 0xa5, 0x09, 0xb3, 0xb1, 0xe8, 0x35, 0x98, 0x1e, 0x74, 0xf1, 0x27, 0xbf, 0xed, + 0x52, 0x3a, 0x46, 0x7e, 0x16, 0x75, 0x00, 0x0d, 0x09, 0x0d, 0x8e, 0x71, 0xf9, 0xa5, 0x74, 0x9c, + 0x74, 0x2d, 0x6a, 0x41, 0xb1, 0xdf, 0xdf, 0x9e, 0xf4, 0x32, 0x4c, 0x69, 0xe2, 0xd4, 0x2d, 0xeb, + 0x25, 0xec, 0xa7, 0x4f, 0x7a, 0x39, 0xa6, 0x34, 0x71, 0x26, 0xb7, 0x52, 0x1e, 0x79, 0xbf, 0xf1, + 0xec, 0x91, 0xf7, 0x1b, 0xfd, 0x1b, 0x8b, 0xde, 0x9d, 0xc6, 0xcf, 0x5e, 0x86, 0xf7, 0xf1, 0xc7, + 0x04, 0x1c, 0x57, 0xbb, 0x6d, 0x98, 0x7b, 0xde, 0xeb, 0x10, 0xbc, 0xcc, 0x2f, 0x37, 0x9e, 0xe4, + 0x0f, 0x16, 0x88, 0xda, 0x31, 0x6f, 0x44, 0x8c, 0x7c, 0x38, 0x6b, 0xdc, 0x25, 0xe4, 0xf1, 0x57, + 0x17, 0x8f, 0x78, 0x7f, 0x62, 0xcc, 0x2b, 0x17, 0x43, 0xde, 0xa7, 0x18, 0x73, 0x09, 0xf3, 0xa8, + 0xfb, 0x9e, 0xf2, 0x77, 0x47, 0xa0, 0x70, 0xdd, 0x70, 0x5c, 0xcb, 0x36, 0x74, 0xad, 0x4d, 0x2d, + 0xc6, 0xd5, 0x49, 0x3f, 0xf2, 0xa8, 0x64, 0x88, 0x33, 0xc2, 0x1f, 0xb5, 0xe0, 0x17, 0x43, 0x56, + 0x20, 0x79, 0x47, 0x6b, 0xb3, 0x4f, 0x2c, 0x82, 0xef, 0xd7, 0xf4, 0xf3, 0x3c, 0xe0, 0x25, 0x05, + 0xa9, 0x30, 0x5c, 0xf9, 0x73, 0xf4, 0x12, 0x77, 0xa7, 0x63, 0x38, 0xec, 0x4f, 0xb9, 0xbb, 0xd8, + 0x41, 0xdb, 0x10, 0xb7, 0x35, 0x97, 0x07, 0x35, 0x95, 0x32, 0x7f, 0x8a, 0xe2, 0xf1, 0xf1, 0x0f, + 0x4a, 0x2c, 0x0d, 0xbc, 0x56, 0xc1, 0x3a, 0xa3, 0xe4, 0xd0, 0xd7, 0x41, 0xba, 0xa3, 0x1d, 0xa8, + 0x94, 0x74, 0xf4, 0x9d, 0x22, 0x9d, 0xea, 0x68, 0x07, 0x64, 0xd4, 0xc8, 0x80, 0x22, 0xa1, 0xae, + 0xef, 0x6b, 0xe6, 0x1e, 0x66, 0x9d, 0xc4, 0xde, 0xa9, 0x4e, 0xf2, 0x1d, 0xed, 0xa0, 0x4a, 0x09, + 0x93, 0xae, 0xf8, 0xa3, 0x1f, 0xbf, 0x1a, 0xe1, 0xa1, 0x2c, 0xe5, 0x1c, 0xd2, 0x40, 0xd2, 0xbd, + 0x12, 0xed, 0x5f, 0xa4, 0xf5, 0xcf, 0x8e, 0x5a, 0x98, 0x3e, 0xbe, 0x57, 0xf2, 0x64, 0xa4, 0x9f, + 0x7f, 0x73, 0x21, 0xc2, 0x7a, 0x2d, 0xea, 0x7d, 0xeb, 0x72, 0x03, 0xb2, 0x2c, 0x9b, 0xa6, 0x52, + 0x17, 0x36, 0x3a, 0xd6, 0x85, 0xcd, 0x0b, 0x17, 0x96, 0x11, 0x04, 0x86, 0x4d, 0xda, 0xf9, 0x1c, + 0x3e, 0x13, 0x81, 0xec, 0x4a, 0xe0, 0xb9, 0xaa, 0x39, 0x48, 0x75, 0x2c, 0xd3, 0xb8, 0x8d, 0x6d, + 0xef, 0x5c, 0x86, 0x15, 0x89, 0x9b, 0xc9, 0xfe, 0xea, 0x91, 0x7b, 0x28, 0x5e, 0x62, 0x10, 0x65, + 0x82, 0x75, 0x17, 0xef, 0x38, 0x86, 0x60, 0xb9, 0x22, 0x8a, 0xe8, 0x3c, 0x48, 0x0e, 0xd6, 0x7b, + 0xb6, 0xe1, 0x1e, 0xaa, 0xba, 0x65, 0xba, 0x9a, 0xee, 0xf2, 0xec, 0x69, 0x51, 0xd4, 0x57, 0x59, + 0x35, 0x21, 0xd2, 0xc2, 0xae, 0x66, 0xb4, 0xd9, 0xb5, 0xaf, 0x8c, 0x22, 0x8a, 0x7c, 0xa8, 0x9f, + 0x4b, 0x05, 0x43, 0xc3, 0x2a, 0x48, 0x56, 0x17, 0xdb, 0xa1, 0x4f, 0xde, 0x98, 0xb8, 0xce, 0xfd, + 0xd6, 0xcf, 0x3d, 0x35, 0xcb, 0x19, 0xce, 0x0f, 0xe0, 0xd9, 0xeb, 0xcc, 0x4a, 0x51, 0x60, 0x88, + 0x6f, 0xe1, 0x5e, 0x09, 0x9d, 0xc4, 0xf4, 0x76, 0xfc, 0x4f, 0xee, 0x67, 0x07, 0x98, 0x5a, 0x36, + 0x0f, 0x2b, 0x73, 0xbf, 0xe1, 0x93, 0xf6, 0x43, 0xc7, 0x9b, 0xf8, 0x30, 0x78, 0x2c, 0x43, 0xc9, + 0x10, 0x0f, 0xfe, 0x35, 0xcd, 0x68, 0x8b, 0x3f, 0x10, 0xa7, 0xf0, 0x12, 0x5a, 0xf6, 0xd2, 0x30, + 0x71, 0x1a, 0x0e, 0xc9, 0xa3, 0x64, 0xa3, 0x62, 0x99, 0xad, 0x70, 0xc6, 0x05, 0x35, 0x21, 0xe9, + 0x5a, 0xb7, 0xb1, 0xc9, 0x19, 0x54, 0x79, 0xff, 0x31, 0x04, 0x7b, 0xf0, 0xfd, 0x19, 0x4e, 0x0b, + 0xed, 0x81, 0xd4, 0xc2, 0x6d, 0xbc, 0xc7, 0x3e, 0xd8, 0xda, 0xd7, 0x6c, 0xcc, 0x3e, 0xe2, 0x3c, + 0x1e, 0xfd, 0xc1, 0x67, 0x6a, 0x8a, 0x1e, 0xd5, 0x06, 0x25, 0x8a, 0xb6, 0xc2, 0x8f, 0xa5, 0xa5, + 0xf8, 0xa9, 0xfc, 0x88, 0xf9, 0x07, 0xa4, 0x32, 0xa8, 0xb6, 0x42, 0x8f, 0xab, 0x9d, 0x07, 0xa9, + 0x67, 0xee, 0x58, 0x26, 0xfd, 0x9b, 0x4b, 0x3c, 0xc0, 0x4a, 0xb3, 0x93, 0x3b, 0xaf, 0x9e, 0x9f, + 0xdc, 0x6d, 0x41, 0xc1, 0x07, 0xa5, 0xbb, 0x27, 0x73, 0xdc, 0xdd, 0x93, 0xf7, 0x08, 0x10, 0x10, + 0xb4, 0x0e, 0xe0, 0xef, 0x4f, 0xef, 0x74, 0x7f, 0xec, 0x4e, 0x0f, 0x4e, 0x26, 0x40, 0x00, 0xb5, + 0x61, 0xa6, 0x63, 0x98, 0xaa, 0x83, 0xdb, 0xbb, 0x2a, 0xe7, 0x1c, 0xa1, 0x9b, 0x7d, 0x07, 0x56, + 0x7a, 0xba, 0x63, 0x98, 0x0d, 0xdc, 0xde, 0x5d, 0xf1, 0xc8, 0xa2, 0xf7, 0xc3, 0x19, 0x9f, 0x1d, + 0x96, 0xa9, 0xee, 0x5b, 0xed, 0x96, 0x6a, 0xe3, 0x5d, 0x55, 0xa7, 0xcf, 0x1f, 0xe5, 0x28, 0x13, + 0x4f, 0x79, 0x20, 0x9b, 0xe6, 0x75, 0xab, 0xdd, 0x52, 0xf0, 0x6e, 0x95, 0x34, 0xa3, 0x47, 0xc1, + 0xe7, 0x85, 0x6a, 0xb4, 0x9c, 0xb9, 0xfc, 0x62, 0xec, 0x5c, 0x5c, 0xc9, 0x79, 0x95, 0xf5, 0x96, + 0xb3, 0x9c, 0xfe, 0xc4, 0x1b, 0x0b, 0x53, 0x5f, 0x7c, 0x63, 0x61, 0x4a, 0xbe, 0x46, 0x1f, 0xeb, + 0xe0, 0x9b, 0x0e, 0x3b, 0xe8, 0x0a, 0x64, 0x34, 0x51, 0x60, 0x9f, 0x89, 0x1c, 0xb1, 0x69, 0x7d, + 0x50, 0xf9, 0x8d, 0x08, 0x24, 0x57, 0x6e, 0x6d, 0x69, 0x86, 0x8d, 0x6a, 0x30, 0xed, 0x0b, 0xed, + 0xa4, 0xfb, 0xdf, 0x97, 0x73, 0xa1, 0x00, 0x6a, 0xa3, 0xbe, 0x9c, 0x3d, 0x92, 0x4c, 0xff, 0x37, + 0xb5, 0x81, 0xa9, 0xde, 0x80, 0x14, 0x1b, 0xa1, 0x83, 0x5e, 0x82, 0x44, 0x97, 0xfc, 0xe0, 0xd9, + 0xff, 0xf9, 0x91, 0x82, 0x4e, 0xe1, 0x83, 0x62, 0xc1, 0xf0, 0xe4, 0x3f, 0x8f, 0x00, 0xac, 0xdc, + 0xba, 0xd5, 0xb4, 0x8d, 0x6e, 0x1b, 0xbb, 0xef, 0xd4, 0x94, 0xd7, 0xe0, 0x44, 0xe0, 0xfb, 0x4c, + 0x5b, 0x9f, 0x78, 0xda, 0x33, 0xfe, 0x17, 0x9a, 0xb6, 0x3e, 0x94, 0x5a, 0xcb, 0x71, 0x3d, 0x6a, + 0xb1, 0x89, 0xa9, 0xad, 0x38, 0xee, 0x20, 0x1f, 0x5f, 0x86, 0xac, 0x3f, 0x75, 0x07, 0xd5, 0x21, + 0xed, 0xf2, 0xdf, 0x9c, 0x9d, 0xf2, 0x68, 0x76, 0x0a, 0xb4, 0x20, 0x4b, 0x3d, 0x74, 0xf9, 0x7f, + 0x10, 0xae, 0xfa, 0x1b, 0xe1, 0x2f, 0x95, 0x20, 0x11, 0x0d, 0xcf, 0x35, 0x70, 0xec, 0x1d, 0xd0, + 0xc0, 0x9c, 0x56, 0x80, 0xad, 0xdf, 0x1c, 0x85, 0x99, 0x6d, 0xb1, 0x49, 0xff, 0xd2, 0x72, 0x61, + 0x1b, 0x52, 0xd8, 0x74, 0x6d, 0x03, 0x8b, 0xa3, 0xbe, 0xa7, 0x47, 0x2d, 0xf6, 0x90, 0xb9, 0xd0, + 0x3f, 0xaf, 0x1d, 0x5c, 0x7a, 0x41, 0x2b, 0xc0, 0x86, 0x5f, 0x8a, 0xc1, 0xdc, 0x28, 0x54, 0x74, + 0x16, 0x8a, 0xba, 0x8d, 0x69, 0x85, 0x1a, 0x4a, 0x85, 0x17, 0x44, 0x35, 0x37, 0x29, 0x0a, 0x10, + 0x07, 0x8d, 0x48, 0x15, 0x01, 0x7d, 0x30, 0x8f, 0xac, 0xe0, 0x53, 0xa0, 0x46, 0x05, 0x43, 0x51, + 0xdc, 0x6d, 0xdf, 0xd1, 0xda, 0x9a, 0xa9, 0xe3, 0x07, 0x90, 0x84, 0x41, 0x0b, 0x20, 0x2e, 0xcc, + 0x57, 0x18, 0x4d, 0x74, 0x0b, 0x52, 0x82, 0x7c, 0xfc, 0x1d, 0x20, 0x2f, 0x88, 0xa1, 0x47, 0x20, + 0x17, 0x34, 0x0c, 0xd4, 0x4f, 0x89, 0x2b, 0xd9, 0x80, 0x5d, 0x18, 0x67, 0x79, 0x92, 0x47, 0x5a, + 0x1e, 0xee, 0x0a, 0xfe, 0x62, 0x0c, 0xa6, 0x15, 0xdc, 0xfa, 0x2a, 0x5c, 0xb8, 0xaf, 0x05, 0x60, + 0x9b, 0x9a, 0x28, 0xdb, 0x07, 0x58, 0xbb, 0x41, 0x25, 0x91, 0x61, 0xf4, 0x56, 0x1c, 0xf7, 0xbd, + 0x5a, 0xbd, 0x7f, 0x1e, 0x85, 0x5c, 0x70, 0xf5, 0xbe, 0x0a, 0x2c, 0x1b, 0xda, 0xf0, 0x55, 0x1a, + 0xbb, 0x7d, 0x7e, 0x7e, 0x94, 0x4a, 0x1b, 0x90, 0xeb, 0x31, 0xba, 0xec, 0x67, 0xe2, 0x90, 0xe4, + 0x57, 0xc1, 0x36, 0x07, 0x7c, 0xdc, 0xc8, 0xb8, 0xef, 0x7f, 0xf3, 0xe2, 0xfb, 0xdf, 0xa1, 0x2e, + 0xee, 0x63, 0x50, 0x20, 0x21, 0x75, 0xe8, 0x7e, 0x59, 0xe4, 0x5c, 0x9e, 0x86, 0xc3, 0xfe, 0x6d, + 0x68, 0xb4, 0x00, 0x59, 0x02, 0xe6, 0xeb, 0x6c, 0x02, 0x03, 0x1d, 0xed, 0xa0, 0xc6, 0x6a, 0xd0, + 0x53, 0x80, 0xf6, 0xbd, 0xc4, 0x87, 0xea, 0x33, 0x82, 0xc0, 0x4d, 0xfb, 0x2d, 0x02, 0xfc, 0x61, + 0x00, 0x32, 0x0a, 0x95, 0xbd, 0xd0, 0xc9, 0x5f, 0x3b, 0x25, 0x35, 0x2b, 0xf4, 0x95, 0xce, 0xef, + 0x8c, 0x30, 0x57, 0xb9, 0x2f, 0xda, 0xe6, 0x41, 0x8b, 0x7a, 0xbc, 0xdd, 0xf0, 0xe5, 0x37, 0x17, + 0x4a, 0x87, 0x5a, 0xa7, 0xbd, 0x2c, 0x0f, 0x21, 0x29, 0x0f, 0xcb, 0x05, 0x10, 0x6f, 0x3a, 0x1c, + 0xb8, 0xa3, 0x0d, 0x90, 0x6e, 0xe3, 0x43, 0xd5, 0xe6, 0x7f, 0xb7, 0x54, 0xdd, 0xc5, 0x98, 0x87, + 0x37, 0xa7, 0x97, 0x86, 0x3c, 0x94, 0xba, 0x54, 0xb5, 0x8c, 0x50, 0x1c, 0x50, 0xb8, 0x8d, 0x0f, + 0x15, 0x8e, 0x7c, 0x0d, 0x63, 0xf4, 0x22, 0x9c, 0xa6, 0xa9, 0x0c, 0xcb, 0x14, 0x61, 0xa9, 0x47, + 0x9b, 0x5d, 0x7b, 0xcb, 0x2b, 0x27, 0x3b, 0xda, 0x41, 0xd5, 0x32, 0x79, 0xb8, 0x29, 0x90, 0x9d, + 0xe5, 0xf7, 0x91, 0x2d, 0x76, 0xef, 0xf7, 0x7f, 0xea, 0xc2, 0x99, 0xc0, 0x6c, 0x0f, 0xbc, 0x64, + 0x1d, 0x93, 0x14, 0xf9, 0x27, 0x22, 0x80, 0x7c, 0xbb, 0xe7, 0x5d, 0x4d, 0x5f, 0xa7, 0x17, 0x96, + 0x45, 0xe8, 0x11, 0x39, 0x3a, 0xa4, 0xf1, 0xf1, 0x43, 0x21, 0x4d, 0x60, 0x5f, 0x7f, 0xd0, 0xb7, + 0x32, 0xd1, 0x63, 0x70, 0x43, 0x20, 0x51, 0x75, 0x31, 0x25, 0xbf, 0x19, 0x81, 0xd3, 0x03, 0x9b, + 0xc2, 0x1b, 0xb2, 0x0e, 0xc8, 0x0e, 0x34, 0x52, 0xe1, 0x12, 0x47, 0xbd, 0x0f, 0xb6, 0xc7, 0xa6, + 0xed, 0x01, 0xcb, 0xf2, 0x2e, 0x99, 0x4b, 0xae, 0x0f, 0x7f, 0x3d, 0x02, 0xb3, 0xc1, 0x11, 0x79, + 0x73, 0x6b, 0x40, 0x2e, 0x38, 0x16, 0x3e, 0xab, 0xf7, 0x4d, 0x32, 0xab, 0xe0, 0x84, 0x42, 0x44, + 0xc8, 0x5c, 0xc4, 0x06, 0x64, 0x69, 0xc3, 0x67, 0x26, 0xe6, 0x92, 0x77, 0x24, 0x32, 0x4c, 0x23, + 0xb1, 0xc5, 0xfa, 0x8e, 0x28, 0xc4, 0xb7, 0x2c, 0xab, 0x8d, 0xbe, 0x29, 0x02, 0xd3, 0xa6, 0xe5, + 0xaa, 0x64, 0xdb, 0xe2, 0x96, 0xca, 0xf3, 0x16, 0x4c, 0xa9, 0xdf, 0x3a, 0x1e, 0xf7, 0xfe, 0xe0, + 0xcd, 0x85, 0x41, 0x52, 0xc3, 0x5e, 0xfb, 0x2d, 0x9a, 0x96, 0x5b, 0xa1, 0x40, 0x4d, 0x96, 0xda, + 0xb8, 0x0b, 0xf9, 0x70, 0xff, 0xcc, 0x12, 0x28, 0xc7, 0xee, 0x3f, 0x3f, 0xb6, 0xef, 0xdc, 0x4e, + 0xa0, 0x63, 0xf6, 0xe6, 0xe6, 0x9f, 0x90, 0xc5, 0x7d, 0x05, 0xa4, 0x5b, 0xfd, 0x97, 0xe4, 0x6a, + 0x90, 0x3a, 0xee, 0x7d, 0xbb, 0x20, 0xc7, 0x39, 0xae, 0xfc, 0x47, 0x51, 0x38, 0xcd, 0x55, 0xc0, + 0x4d, 0x5f, 0x05, 0xb0, 0x0c, 0xf3, 0x21, 0xba, 0x36, 0x32, 0x41, 0x76, 0xe6, 0xcb, 0x6f, 0x2e, + 0x9c, 0x62, 0x3a, 0xaf, 0x1f, 0x42, 0x1e, 0xcc, 0x91, 0xdd, 0x82, 0x22, 0xb1, 0xf1, 0x01, 0x5d, + 0xf4, 0x80, 0x29, 0xb2, 0xbc, 0xd5, 0x6e, 0xf9, 0x1a, 0x8b, 0xd0, 0x35, 0xf1, 0xdd, 0x10, 0xdd, + 0xd8, 0x83, 0xd1, 0x35, 0xf1, 0xdd, 0x00, 0x5d, 0xff, 0xa8, 0x3d, 0x1e, 0x3a, 0x6a, 0xbf, 0x02, + 0x31, 0xa2, 0x96, 0x13, 0xc7, 0x50, 0x44, 0x04, 0x21, 0x60, 0x69, 0x1b, 0x70, 0x9a, 0xa7, 0x31, + 0x9c, 0xcd, 0x5d, 0xca, 0x6e, 0x4c, 0x27, 0x74, 0x13, 0x1f, 0x3e, 0x70, 0x4e, 0xe3, 0xc2, 0x67, + 0x23, 0x00, 0x7e, 0xaa, 0x0f, 0x3d, 0x09, 0xa7, 0x2a, 0x9b, 0x1b, 0x2b, 0x6a, 0xa3, 0x59, 0x6e, + 0x6e, 0x37, 0xc2, 0xef, 0xfc, 0x8b, 0xb7, 0x6d, 0x9c, 0x2e, 0xd6, 0x8d, 0x5d, 0x03, 0xb7, 0xd0, + 0xe3, 0x30, 0x1b, 0x86, 0x26, 0xa5, 0xda, 0x8a, 0x14, 0x29, 0xe5, 0xee, 0xdd, 0x5f, 0x4c, 0xb3, + 0x10, 0x07, 0xb7, 0xd0, 0x39, 0x38, 0x31, 0x08, 0x57, 0xdf, 0x58, 0x95, 0xa2, 0xa5, 0xfc, 0xbd, + 0xfb, 0x8b, 0x19, 0x2f, 0x16, 0x42, 0x32, 0xa0, 0x20, 0x24, 0xa7, 0x17, 0x2b, 0xc1, 0xbd, 0xfb, + 0x8b, 0x49, 0xb6, 0xb7, 0x4a, 0xf1, 0x4f, 0xfc, 0xc8, 0xfc, 0xd4, 0x85, 0xaf, 0x07, 0xa8, 0x9b, + 0xbb, 0xb6, 0x46, 0xff, 0xd8, 0x35, 0x2a, 0xc1, 0xc9, 0xfa, 0xc6, 0x35, 0xa5, 0x5c, 0x6d, 0xd6, + 0x37, 0x37, 0xfa, 0xfe, 0x3c, 0x41, 0xb8, 0x6d, 0x65, 0x73, 0xbb, 0xb2, 0x56, 0x53, 0x1b, 0xf5, + 0xd5, 0x0d, 0x76, 0x63, 0x20, 0xd4, 0xf6, 0xe1, 0x8d, 0x66, 0x7d, 0xbd, 0x26, 0x45, 0x2b, 0xd7, + 0x46, 0x9e, 0x59, 0x3d, 0x79, 0xe4, 0xae, 0xf5, 0x4d, 0x5d, 0xe8, 0xe0, 0xea, 0xff, 0x04, 0x00, + 0x00, 0xff, 0xff, 0x26, 0x6e, 0x53, 0x25, 0xf2, 0x9c, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) diff --git a/x/staking/types/tx.pb.go b/x/staking/types/tx.pb.go index f7b3f25e6850..5f6fd5bf1401 100644 --- a/x/staking/types/tx.pb.go +++ b/x/staking/types/tx.pb.go @@ -752,82 +752,83 @@ func init() { func init() { proto.RegisterFile("cosmos/staking/v1beta1/tx.proto", fileDescriptor_0926ef28816b35ab) } var fileDescriptor_0926ef28816b35ab = []byte{ - // 1189 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0xbd, 0x6f, 0xdb, 0x46, - 0x14, 0x17, 0x25, 0xdb, 0xa9, 0xcf, 0xf5, 0x17, 0x6d, 0x27, 0x32, 0x93, 0x48, 0x01, 0xe3, 0xc6, - 0x86, 0x5b, 0x53, 0x8d, 0x53, 0xf4, 0x43, 0x0d, 0x8a, 0x58, 0x76, 0xd2, 0xa6, 0xad, 0x00, 0x83, - 0x6e, 0x3a, 0x14, 0x05, 0x84, 0x13, 0x79, 0xa6, 0x08, 0x8b, 0x77, 0x34, 0xef, 0xe4, 0x44, 0x5b, - 0xd1, 0x2e, 0x45, 0x97, 0x06, 0x68, 0x87, 0x8e, 0x19, 0xdb, 0xcd, 0x43, 0x86, 0xfe, 0x03, 0x05, - 0x82, 0x4e, 0x41, 0xa6, 0xa2, 0x43, 0x52, 0xd8, 0x83, 0x3b, 0x75, 0xed, 0x1a, 0x90, 0x3c, 0x52, - 0x24, 0xf5, 0x6d, 0x24, 0x4b, 0x16, 0x4b, 0xbe, 0xfb, 0xbd, 0xdf, 0xbb, 0xf7, 0x7b, 0xef, 0xde, - 0x3d, 0x81, 0xbc, 0x46, 0xa8, 0x45, 0x68, 0x81, 0x32, 0xb8, 0x67, 0x62, 0xa3, 0x70, 0x70, 0xb5, - 0x8a, 0x18, 0xbc, 0x5a, 0x60, 0xf7, 0x14, 0xdb, 0x21, 0x8c, 0x88, 0x67, 0x7d, 0x80, 0xc2, 0x01, - 0x0a, 0x07, 0x48, 0x8b, 0x06, 0x21, 0x46, 0x1d, 0x15, 0x3c, 0x54, 0xb5, 0xb1, 0x5b, 0x80, 0xb8, - 0xe9, 0x9b, 0x48, 0xf9, 0xe4, 0x16, 0x33, 0x2d, 0x44, 0x19, 0xb4, 0x6c, 0x0e, 0x98, 0x37, 0x88, - 0x41, 0xbc, 0xaf, 0x05, 0xf7, 0x1b, 0x5f, 0x5d, 0xf4, 0x3d, 0x55, 0xfc, 0x0d, 0xee, 0xd6, 0xdf, - 0xca, 0xf1, 0x53, 0x56, 0x21, 0x45, 0xe1, 0x11, 0x35, 0x62, 0x62, 0xbe, 0xbf, 0xd4, 0x25, 0x8a, - 0xe0, 0xd0, 0x3e, 0xea, 0x1c, 0x47, 0x59, 0xd4, 0x45, 0xb8, 0x1f, 0x7c, 0x63, 0x16, 0x5a, 0x26, - 0x26, 0x05, 0xef, 0xaf, 0xbf, 0x24, 0x7f, 0x37, 0x0a, 0xc4, 0x32, 0x35, 0x36, 0x1d, 0x04, 0x19, - 0xfa, 0x12, 0xd6, 0x4d, 0x1d, 0x32, 0xe2, 0x88, 0xdb, 0x60, 0x42, 0x47, 0x54, 0x73, 0x4c, 0x9b, - 0x99, 0x04, 0x67, 0x85, 0x4b, 0xc2, 0xca, 0xc4, 0xfa, 0x65, 0xa5, 0xb3, 0x46, 0xca, 0x56, 0x0b, - 0x5a, 0x1a, 0x7f, 0xf4, 0x34, 0x9f, 0xfa, 0xf5, 0xe4, 0x70, 0x55, 0x50, 0xa3, 0x14, 0xa2, 0x0a, - 0x80, 0x46, 0x2c, 0xcb, 0xa4, 0xd4, 0x25, 0x4c, 0x7b, 0x84, 0xcb, 0xdd, 0x08, 0x37, 0x43, 0xa4, - 0x0a, 0x19, 0xa2, 0x51, 0xd2, 0x08, 0x8b, 0xb8, 0x0f, 0xe6, 0x2c, 0x13, 0x57, 0x28, 0xaa, 0xef, - 0x56, 0x74, 0x54, 0x47, 0x06, 0xf4, 0x4e, 0x9b, 0xb9, 0x24, 0xac, 0x8c, 0x97, 0x36, 0x5c, 0x9b, - 0xbf, 0x9f, 0xe6, 0xaf, 0x18, 0x26, 0xab, 0x35, 0xaa, 0x8a, 0x46, 0x2c, 0x2e, 0x36, 0xff, 0x58, - 0xa3, 0xfa, 0x5e, 0x81, 0x35, 0x6d, 0x44, 0x95, 0xdb, 0x98, 0x3d, 0x79, 0xb8, 0x06, 0xf8, 0x69, - 0x6e, 0x63, 0xe6, 0xfb, 0x9a, 0xb5, 0x4c, 0xbc, 0x83, 0xea, 0xbb, 0x5b, 0x21, 0xb7, 0xf8, 0x31, - 0x98, 0xe5, 0x9e, 0x88, 0x53, 0x81, 0xba, 0xee, 0x20, 0x4a, 0xb3, 0x23, 0x9e, 0x43, 0xe9, 0xc9, - 0xc3, 0xb5, 0x79, 0x4e, 0xb1, 0xe1, 0xef, 0xec, 0x30, 0xc7, 0xc4, 0x46, 0x56, 0x50, 0x67, 0x42, - 0x23, 0xbe, 0x23, 0xde, 0x04, 0xb3, 0x07, 0x81, 0xdc, 0x21, 0xd1, 0xa8, 0x47, 0x94, 0xed, 0x46, - 0xa4, 0xce, 0x84, 0x26, 0x01, 0xcd, 0x2d, 0x30, 0x66, 0x37, 0xaa, 0x7b, 0xa8, 0x99, 0x1d, 0xf3, - 0x24, 0x9d, 0x57, 0xfc, 0xa2, 0x54, 0x82, 0xa2, 0x54, 0x36, 0x70, 0xb3, 0x94, 0xfd, 0xb3, 0xc5, - 0xa8, 0x39, 0x4d, 0x9b, 0x11, 0x65, 0xbb, 0x51, 0xfd, 0x0c, 0x35, 0x55, 0x6e, 0x2d, 0x16, 0xc1, - 0xe8, 0x01, 0xac, 0x37, 0x50, 0xf6, 0x8c, 0x47, 0xb3, 0x18, 0x64, 0xc6, 0xad, 0xc4, 0x48, 0x5a, - 0xcc, 0x58, 0x82, 0x7d, 0x93, 0xe2, 0x8d, 0xef, 0x1f, 0xe4, 0x53, 0xff, 0x3e, 0xc8, 0xa7, 0xbe, - 0x3d, 0x39, 0x5c, 0x6d, 0x8f, 0xea, 0x87, 0x93, 0xc3, 0xd5, 0x8b, 0x11, 0xc9, 0xdb, 0xcb, 0x4d, - 0xbe, 0x00, 0xa4, 0xf6, 0x55, 0x15, 0x51, 0x9b, 0x60, 0x8a, 0xe4, 0xdf, 0x33, 0x60, 0xa6, 0x4c, - 0x8d, 0x9b, 0xba, 0xc9, 0x5e, 0x66, 0x85, 0x76, 0xcc, 0x48, 0x7a, 0xe8, 0x8c, 0x40, 0x30, 0xdd, - 0x2a, 0xd1, 0x8a, 0x03, 0x19, 0xe2, 0x05, 0xf9, 0xfe, 0x80, 0xc5, 0xb8, 0x85, 0xb4, 0x48, 0x31, - 0x6e, 0x21, 0x4d, 0x9d, 0xd2, 0x62, 0xf7, 0x41, 0xac, 0x75, 0xae, 0xfb, 0x91, 0xa1, 0xdc, 0xb4, - 0xd5, 0x7c, 0x87, 0x72, 0x2f, 0x7e, 0xd4, 0x3f, 0xb5, 0xe7, 0xe3, 0xa9, 0x8d, 0x65, 0x49, 0x96, - 0x40, 0x36, 0xb9, 0x16, 0xa6, 0xf5, 0xe7, 0x34, 0x98, 0x28, 0x53, 0x83, 0x7b, 0x43, 0xae, 0xfe, - 0xed, 0x57, 0x4b, 0xe8, 0xa7, 0xff, 0x60, 0x17, 0x6b, 0xf8, 0x34, 0x5e, 0x07, 0x63, 0xd0, 0x22, - 0x0d, 0xcc, 0xbc, 0xec, 0x0d, 0x7a, 0x23, 0xb8, 0x4d, 0xf1, 0x83, 0x98, 0x6e, 0x6d, 0x61, 0xb9, - 0xba, 0x9d, 0x8d, 0xeb, 0x16, 0xc8, 0x20, 0x2f, 0x80, 0xb9, 0xc8, 0xbf, 0xa1, 0x5a, 0xff, 0xa7, - 0xbd, 0x46, 0x5d, 0x42, 0x86, 0x89, 0x55, 0xa4, 0xbf, 0x60, 0xd1, 0x3e, 0x07, 0x0b, 0x2d, 0xd1, - 0xa8, 0xa3, 0x0d, 0x2c, 0xdc, 0x5c, 0x68, 0xb6, 0xe3, 0x68, 0x1d, 0xd9, 0x74, 0xca, 0x42, 0xb6, - 0xcc, 0xc0, 0x6c, 0x5b, 0x94, 0xb5, 0x67, 0x62, 0xe4, 0x14, 0x99, 0xb8, 0xd1, 0x3f, 0x13, 0x89, - 0xe6, 0x94, 0x90, 0x58, 0xb6, 0xbd, 0xe6, 0x94, 0x58, 0x0d, 0xf2, 0x22, 0xaa, 0xde, 0x75, 0xb7, - 0xeb, 0xc8, 0xbd, 0x2f, 0x15, 0x77, 0x02, 0xe0, 0xbd, 0x48, 0x6a, 0xeb, 0xc4, 0x5f, 0x04, 0xe3, - 0x41, 0x69, 0xd2, 0x3d, 0xe7, 0xfd, 0x67, 0x79, 0xc1, 0x3f, 0xeb, 0x54, 0x8b, 0xc1, 0xc5, 0xc8, - 0xbf, 0xa4, 0xc1, 0x64, 0x99, 0x1a, 0x77, 0xb0, 0xfe, 0x2a, 0xde, 0x8d, 0x0f, 0xfb, 0x67, 0x24, - 0x1b, 0xcf, 0x48, 0x4b, 0x08, 0xf9, 0x37, 0x01, 0x2c, 0xc4, 0x56, 0x5e, 0x66, 0x22, 0x22, 0x81, - 0xa6, 0x87, 0x0f, 0x54, 0x7e, 0x96, 0x06, 0x17, 0xdc, 0x67, 0x0d, 0x62, 0x0d, 0xd5, 0xef, 0xe0, - 0x2a, 0xc1, 0xba, 0x89, 0x8d, 0xc8, 0x30, 0xf1, 0x0a, 0x65, 0x55, 0x5c, 0x06, 0xd3, 0x9a, 0xfb, - 0x7e, 0xbb, 0xe2, 0xd7, 0x90, 0x69, 0xd4, 0xfc, 0xeb, 0x9a, 0x51, 0xa7, 0x82, 0xe5, 0x4f, 0xbc, - 0xd5, 0xe2, 0xa7, 0xfd, 0xd3, 0xbf, 0x9c, 0x98, 0x16, 0xba, 0x09, 0x28, 0x5f, 0x01, 0x4b, 0xbd, - 0xf6, 0xc3, 0xe6, 0xf9, 0x87, 0x00, 0xa6, 0xdd, 0xaa, 0xb1, 0x75, 0xc8, 0xd0, 0x36, 0x74, 0xa0, - 0x45, 0xc5, 0x77, 0xc1, 0x38, 0x6c, 0xb0, 0x1a, 0x71, 0x4c, 0xd6, 0xec, 0x2b, 0x7a, 0x0b, 0x2a, - 0x6e, 0x80, 0x31, 0xdb, 0x63, 0xe0, 0x35, 0x91, 0xeb, 0x36, 0x73, 0xf8, 0x7e, 0x62, 0x5a, 0xf9, - 0x86, 0xc5, 0xf7, 0xdc, 0xd0, 0x5b, 0x94, 0x6e, 0xc8, 0x4b, 0x91, 0x90, 0xef, 0x85, 0xf3, 0x7d, - 0xe2, 0xcc, 0xf2, 0x22, 0x38, 0x97, 0x58, 0x0a, 0x43, 0xfc, 0x4f, 0xf0, 0xde, 0x0d, 0x95, 0x30, - 0xc8, 0xd0, 0x26, 0xc1, 0xd4, 0x1f, 0xf0, 0x5e, 0x54, 0x71, 0x94, 0x01, 0xc0, 0xe8, 0x6e, 0x85, - 0xcf, 0x9a, 0x99, 0x53, 0xcd, 0x9a, 0xe3, 0x18, 0xdd, 0xdd, 0xf6, 0x08, 0x8a, 0x1b, 0xfd, 0xe7, - 0x8a, 0x5c, 0xbc, 0x08, 0x92, 0x81, 0xc9, 0x17, 0xc1, 0xf9, 0x0e, 0xcb, 0x81, 0x1e, 0xeb, 0x3f, - 0x9d, 0x01, 0x99, 0x32, 0x35, 0xc4, 0x7d, 0x30, 0x9d, 0xfc, 0x71, 0xb3, 0xda, 0x2d, 0x63, 0xed, - 0x33, 0xa8, 0xb4, 0x3e, 0x38, 0x36, 0xec, 0x44, 0x7b, 0x60, 0x32, 0x3e, 0xab, 0xae, 0xf4, 0x20, - 0x89, 0x21, 0xa5, 0xb7, 0x07, 0x45, 0x86, 0xce, 0xbe, 0x06, 0xaf, 0x85, 0x13, 0xd4, 0xe5, 0x1e, - 0xd6, 0x01, 0x48, 0x7a, 0x73, 0x00, 0x50, 0xc8, 0xbe, 0x0f, 0xa6, 0x93, 0x13, 0x47, 0x2f, 0xf5, - 0x12, 0xd8, 0x9e, 0xea, 0x75, 0x7b, 0x50, 0xab, 0x00, 0x44, 0x1e, 0xbe, 0x37, 0x7a, 0x30, 0xb4, - 0x60, 0xd2, 0xda, 0x40, 0xb0, 0xd0, 0xc7, 0x8f, 0x02, 0x58, 0xec, 0xde, 0x96, 0xdf, 0xe9, 0x95, - 0xf3, 0x6e, 0x56, 0xd2, 0xf5, 0xd3, 0x58, 0x85, 0x27, 0xaa, 0x81, 0xd7, 0x63, 0xdd, 0x69, 0xb9, - 0x57, 0x40, 0x11, 0xa0, 0x54, 0x18, 0x10, 0x18, 0x7a, 0x62, 0x60, 0xa6, 0xad, 0x49, 0xf4, 0xaa, - 0x89, 0x24, 0x58, 0xba, 0x36, 0x04, 0x38, 0xf0, 0x2a, 0x8d, 0x7e, 0xe3, 0x76, 0xc0, 0xd2, 0xad, - 0x47, 0x47, 0x39, 0xe1, 0xf1, 0x51, 0x4e, 0xf8, 0xe7, 0x28, 0x27, 0xdc, 0x3f, 0xce, 0xa5, 0x1e, - 0x1f, 0xe7, 0x52, 0x7f, 0x1d, 0xe7, 0x52, 0x5f, 0xbd, 0xd5, 0xf3, 0x27, 0x4b, 0xab, 0x25, 0x7a, - 0x3f, 0x5e, 0xaa, 0x63, 0x5e, 0xcb, 0xb9, 0xf6, 0x3c, 0x00, 0x00, 0xff, 0xff, 0xc2, 0x2f, 0xd3, - 0xd4, 0xd7, 0x11, 0x00, 0x00, + // 1210 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0xcf, 0x6f, 0x1b, 0x45, + 0x14, 0xf6, 0xda, 0x4d, 0x4a, 0xa6, 0xe4, 0xd7, 0x26, 0x69, 0x9d, 0x6d, 0x63, 0x97, 0x6d, 0x68, + 0xa2, 0x40, 0x6c, 0x9a, 0x22, 0x7e, 0x98, 0x0a, 0x35, 0x4e, 0x5a, 0x28, 0xc8, 0x28, 0xda, 0x10, + 0x0e, 0x08, 0xc9, 0x1a, 0xef, 0x4e, 0xd6, 0xab, 0x78, 0x67, 0x36, 0x3b, 0xe3, 0xb4, 0xbe, 0x21, + 0x4e, 0x80, 0x90, 0xa8, 0xc4, 0x19, 0xa9, 0xdc, 0xe0, 0x96, 0x43, 0xfe, 0x01, 0x0e, 0x48, 0x15, + 0xa7, 0x2a, 0x27, 0xc4, 0xa1, 0xa0, 0xe4, 0x90, 0x9e, 0xf8, 0x1b, 0xd0, 0xee, 0xce, 0xae, 0x77, + 0xd7, 0xf6, 0xda, 0x09, 0xf4, 0xd2, 0x4b, 0xbc, 0x99, 0xf9, 0xe6, 0x7b, 0xf3, 0xde, 0xf7, 0xde, + 0xdb, 0xb7, 0x20, 0xaf, 0x12, 0x6a, 0x12, 0x5a, 0xa4, 0x0c, 0xee, 0x18, 0x58, 0x2f, 0xee, 0xdd, + 0xa8, 0x21, 0x06, 0x6f, 0x14, 0xd9, 0x83, 0x82, 0x65, 0x13, 0x46, 0xc4, 0x8b, 0x1e, 0xa0, 0xc0, + 0x01, 0x05, 0x0e, 0x90, 0x66, 0x75, 0x42, 0xf4, 0x06, 0x2a, 0xba, 0xa8, 0x5a, 0x73, 0xbb, 0x08, + 0x71, 0xcb, 0x3b, 0x22, 0xe5, 0xe3, 0x5b, 0xcc, 0x30, 0x11, 0x65, 0xd0, 0xb4, 0x38, 0x60, 0x5a, + 0x27, 0x3a, 0x71, 0x1f, 0x8b, 0xce, 0x13, 0x5f, 0x9d, 0xf5, 0x2c, 0x55, 0xbd, 0x0d, 0x6e, 0xd6, + 0xdb, 0xca, 0xf1, 0x5b, 0xd6, 0x20, 0x45, 0xc1, 0x15, 0x55, 0x62, 0x60, 0xbe, 0x3f, 0xdf, 0xc3, + 0x0b, 0xff, 0xd2, 0x1e, 0xea, 0x12, 0x47, 0x99, 0xd4, 0x41, 0x38, 0x3f, 0x7c, 0x63, 0x12, 0x9a, + 0x06, 0x26, 0x45, 0xf7, 0xaf, 0xb7, 0x24, 0x7f, 0x37, 0x04, 0xc4, 0x0a, 0xd5, 0xd7, 0x6c, 0x04, + 0x19, 0xfa, 0x0c, 0x36, 0x0c, 0x0d, 0x32, 0x62, 0x8b, 0x1b, 0xe0, 0x82, 0x86, 0xa8, 0x6a, 0x1b, + 0x16, 0x33, 0x08, 0xce, 0x0a, 0x57, 0x85, 0xc5, 0x0b, 0x2b, 0xd7, 0x0a, 0xdd, 0x63, 0x54, 0x58, + 0x6f, 0x43, 0xcb, 0x23, 0x8f, 0x9f, 0xe6, 0x53, 0x3f, 0x9f, 0xec, 0x2f, 0x09, 0x4a, 0x98, 0x42, + 0x54, 0x00, 0x50, 0x89, 0x69, 0x1a, 0x94, 0x3a, 0x84, 0x69, 0x97, 0x70, 0xa1, 0x17, 0xe1, 0x5a, + 0x80, 0x54, 0x20, 0x43, 0x34, 0x4c, 0x1a, 0x62, 0x11, 0x77, 0xc1, 0x94, 0x69, 0xe0, 0x2a, 0x45, + 0x8d, 0xed, 0xaa, 0x86, 0x1a, 0x48, 0x87, 0xee, 0x6d, 0x33, 0x57, 0x85, 0xc5, 0x91, 0xf2, 0xaa, + 0x73, 0xe6, 0xcf, 0xa7, 0xf9, 0xeb, 0xba, 0xc1, 0xea, 0xcd, 0x5a, 0x41, 0x25, 0x26, 0x0f, 0x36, + 0xff, 0x59, 0xa6, 0xda, 0x4e, 0x91, 0xb5, 0x2c, 0x44, 0x0b, 0xf7, 0x30, 0x3b, 0x3c, 0x58, 0x06, + 0xfc, 0x36, 0xf7, 0x30, 0xf3, 0x6c, 0x4d, 0x9a, 0x06, 0xde, 0x44, 0x8d, 0xed, 0xf5, 0x80, 0x5b, + 0xfc, 0x00, 0x4c, 0x72, 0x4b, 0xc4, 0xae, 0x42, 0x4d, 0xb3, 0x11, 0xa5, 0xd9, 0x73, 0xae, 0x41, + 0xe9, 0xf0, 0x60, 0x79, 0x9a, 0x53, 0xac, 0x7a, 0x3b, 0x9b, 0xcc, 0x36, 0xb0, 0x9e, 0x15, 0x94, + 0x89, 0xe0, 0x10, 0xdf, 0x11, 0x3f, 0x01, 0x93, 0x7b, 0x7e, 0xb8, 0x03, 0xa2, 0x21, 0x97, 0xe8, + 0x95, 0xc3, 0x83, 0xe5, 0x39, 0x4e, 0x14, 0x48, 0x12, 0x61, 0x54, 0x26, 0xf6, 0x62, 0xeb, 0xe2, + 0x5d, 0x30, 0x6c, 0x35, 0x6b, 0x3b, 0xa8, 0x95, 0x1d, 0x76, 0x63, 0x3b, 0x5d, 0xf0, 0xb2, 0xb3, + 0xe0, 0x67, 0x67, 0x61, 0x15, 0xb7, 0xca, 0xd9, 0xdf, 0xdb, 0x77, 0x54, 0xed, 0x96, 0xc5, 0x48, + 0x61, 0xa3, 0x59, 0xfb, 0x18, 0xb5, 0x14, 0x7e, 0x5a, 0x2c, 0x81, 0xa1, 0x3d, 0xd8, 0x68, 0xa2, + 0xec, 0x79, 0x97, 0x66, 0xd6, 0x97, 0xc8, 0x49, 0xc9, 0x90, 0x3e, 0x46, 0x44, 0x69, 0xef, 0x48, + 0xe9, 0xf6, 0xd7, 0x8f, 0xf2, 0xa9, 0x67, 0x8f, 0xf2, 0xa9, 0xaf, 0x4e, 0xf6, 0x97, 0x3a, 0xdd, + 0xfb, 0xf6, 0x64, 0x7f, 0x69, 0x2e, 0x14, 0xfb, 0xce, 0xbc, 0x93, 0xaf, 0x00, 0xa9, 0x73, 0x55, + 0x41, 0xd4, 0x22, 0x98, 0x22, 0xf9, 0xd7, 0x0c, 0x98, 0xa8, 0x50, 0xfd, 0x8e, 0x66, 0xb0, 0xe7, + 0x99, 0xaa, 0x5d, 0xa5, 0x49, 0x9f, 0x5d, 0x1a, 0x08, 0xc6, 0xdb, 0x49, 0x5b, 0xb5, 0x21, 0x43, + 0x3c, 0x45, 0xdf, 0x19, 0x30, 0x3d, 0xd7, 0x91, 0x1a, 0x4a, 0xcf, 0x75, 0xa4, 0x2a, 0x63, 0x6a, + 0xa4, 0x42, 0xc4, 0x7a, 0xf7, 0x4a, 0x38, 0x77, 0x2a, 0x33, 0x1d, 0x55, 0xd0, 0xa5, 0x00, 0x4a, + 0xef, 0xf7, 0xd7, 0xf8, 0x72, 0x54, 0xe3, 0x88, 0x5c, 0xb2, 0x04, 0xb2, 0xf1, 0xb5, 0x40, 0xdf, + 0x1f, 0xd3, 0xe0, 0x42, 0x85, 0xea, 0xdc, 0x1a, 0x12, 0xef, 0x74, 0x2b, 0x36, 0xc1, 0xf5, 0x29, + 0xdb, 0xab, 0xd8, 0x06, 0x2d, 0xb5, 0xff, 0xa0, 0xe7, 0x2d, 0x30, 0x0c, 0x4d, 0xd2, 0xc4, 0xcc, + 0x95, 0x71, 0xd0, 0x1a, 0xe1, 0x67, 0x4a, 0xef, 0x46, 0x02, 0xd8, 0xe1, 0x9f, 0x13, 0xc0, 0x8b, + 0xd1, 0x00, 0xfa, 0xf1, 0x90, 0x67, 0xc0, 0x54, 0xe8, 0xdf, 0x20, 0x6c, 0xdf, 0x64, 0xdc, 0x1e, + 0x5e, 0x46, 0xba, 0x81, 0x15, 0xa4, 0xfd, 0xcf, 0xd1, 0xdb, 0x02, 0x33, 0xed, 0xe8, 0x51, 0x5b, + 0x3d, 0x7d, 0x04, 0xa7, 0x82, 0xf3, 0x9b, 0xb6, 0xda, 0x95, 0x56, 0xa3, 0x2c, 0xa0, 0xcd, 0x9c, + 0x9e, 0x76, 0x9d, 0xb2, 0x4e, 0x6d, 0xce, 0x9d, 0x41, 0x9b, 0xdb, 0xfd, 0xb5, 0x89, 0x35, 0xb0, + 0x58, 0xd0, 0x65, 0xcb, 0x6d, 0x60, 0xb1, 0x55, 0x5f, 0x29, 0x51, 0x71, 0x3b, 0x81, 0xd5, 0x40, + 0x4e, 0x29, 0x55, 0x9d, 0x71, 0x81, 0xf7, 0x2b, 0xa9, 0xa3, 0x5b, 0x7f, 0xea, 0xcf, 0x12, 0xe5, + 0x51, 0xe7, 0x9e, 0x0f, 0xff, 0xca, 0x0b, 0xde, 0x5d, 0xc7, 0xda, 0x0c, 0x0e, 0x46, 0xfe, 0x29, + 0x0d, 0x46, 0x2b, 0x54, 0xdf, 0xc2, 0xda, 0x0b, 0x5d, 0x36, 0xef, 0xf5, 0x97, 0x26, 0x1b, 0x95, + 0xa6, 0x1d, 0x11, 0xf9, 0x17, 0x01, 0xcc, 0x44, 0x56, 0x9e, 0xa7, 0x22, 0x21, 0x47, 0xd3, 0xa7, + 0x77, 0x54, 0x7e, 0x96, 0x06, 0x57, 0x9c, 0x77, 0x20, 0xc4, 0x2a, 0x6a, 0x6c, 0xe1, 0x1a, 0xc1, + 0x9a, 0x81, 0xf5, 0xd0, 0x08, 0xf2, 0x22, 0xca, 0x2b, 0x2e, 0x80, 0x71, 0xd5, 0x79, 0xeb, 0x3b, + 0x2a, 0xd4, 0x91, 0xa1, 0xd7, 0xbd, 0x02, 0xce, 0x28, 0x63, 0xfe, 0xf2, 0x87, 0xee, 0x6a, 0xe9, + 0xa3, 0xfe, 0x79, 0xb0, 0x10, 0x9b, 0x31, 0x7a, 0x45, 0x52, 0xbe, 0x0e, 0xe6, 0x93, 0xf6, 0x83, + 0x06, 0xfb, 0x9b, 0x00, 0xc6, 0x9d, 0xf4, 0xb1, 0x34, 0xc8, 0xd0, 0x06, 0xb4, 0xa1, 0x49, 0xc5, + 0xb7, 0xc0, 0x08, 0x6c, 0xb2, 0x3a, 0xb1, 0x0d, 0xd6, 0xea, 0x1b, 0xfd, 0x36, 0x54, 0x5c, 0x05, + 0xc3, 0x96, 0xcb, 0xc0, 0x93, 0x23, 0xd7, 0x6b, 0x52, 0xf1, 0xec, 0x44, 0x62, 0xe5, 0x1d, 0x2c, + 0xbd, 0xed, 0xb8, 0xde, 0xa6, 0x74, 0x5c, 0x9e, 0x0f, 0xb9, 0xfc, 0x20, 0xf8, 0x3c, 0x88, 0xdd, + 0x59, 0x9e, 0x05, 0x97, 0x62, 0x4b, 0x81, 0x8b, 0xff, 0x08, 0xee, 0xbb, 0x45, 0x21, 0x0c, 0x32, + 0xb4, 0x46, 0x30, 0xf5, 0xc6, 0x42, 0x27, 0xd9, 0x7a, 0x65, 0x49, 0x42, 0xb2, 0x75, 0x24, 0x47, + 0x05, 0x00, 0x8c, 0xee, 0x57, 0xf9, 0x84, 0x9a, 0x39, 0xd3, 0x84, 0x3a, 0x82, 0xd1, 0xfd, 0x0d, + 0x97, 0xa0, 0xb4, 0xda, 0x7f, 0x08, 0xc9, 0x45, 0x93, 0x20, 0xee, 0x98, 0x3c, 0x07, 0x2e, 0x77, + 0x59, 0xf6, 0xe3, 0xb1, 0xf2, 0xc3, 0x79, 0x90, 0xa9, 0x50, 0x5d, 0xdc, 0x05, 0xe3, 0xf1, 0x6f, + 0xa3, 0xa5, 0x5e, 0x8a, 0x75, 0x4e, 0xae, 0xd2, 0xca, 0xe0, 0xd8, 0xa0, 0x25, 0xed, 0x80, 0xd1, + 0xe8, 0x84, 0xbb, 0x98, 0x40, 0x12, 0x41, 0x4a, 0x6f, 0x0c, 0x8a, 0x0c, 0x8c, 0x7d, 0x01, 0x5e, + 0x0a, 0xc6, 0xad, 0x6b, 0x09, 0xa7, 0x7d, 0x90, 0xf4, 0xda, 0x00, 0xa0, 0x80, 0x7d, 0x17, 0x8c, + 0xc7, 0xa7, 0x92, 0xa4, 0xe8, 0xc5, 0xb0, 0x89, 0xd1, 0xeb, 0xf5, 0x8a, 0xad, 0x01, 0x10, 0x7a, + 0x15, 0xbe, 0x9a, 0xc0, 0xd0, 0x86, 0x49, 0xcb, 0x03, 0xc1, 0x02, 0x1b, 0xdf, 0x0b, 0x60, 0xb6, + 0x77, 0x7f, 0x7e, 0x33, 0x49, 0xf3, 0x5e, 0xa7, 0xa4, 0x5b, 0x67, 0x39, 0x15, 0xdc, 0xa8, 0x0e, + 0x5e, 0x8e, 0x74, 0xa7, 0x85, 0x24, 0x87, 0x42, 0x40, 0xa9, 0x38, 0x20, 0x30, 0xb0, 0xc4, 0xc0, + 0x44, 0x47, 0x93, 0x48, 0xca, 0x89, 0x38, 0x58, 0xba, 0x79, 0x0a, 0xb0, 0x6f, 0x55, 0x1a, 0xfa, + 0xd2, 0xe9, 0x80, 0xe5, 0xbb, 0x8f, 0x8f, 0x72, 0xc2, 0x93, 0xa3, 0x9c, 0xf0, 0xf7, 0x51, 0x4e, + 0x78, 0x78, 0x9c, 0x4b, 0x3d, 0x39, 0xce, 0xa5, 0xfe, 0x38, 0xce, 0xa5, 0x3e, 0x7f, 0x3d, 0xf1, + 0xfb, 0xa6, 0xdd, 0x12, 0xdd, 0x2f, 0x9d, 0xda, 0xb0, 0xdb, 0x72, 0x6e, 0xfe, 0x1b, 0x00, 0x00, + 0xff, 0xff, 0x3f, 0x88, 0x33, 0x3f, 0x16, 0x12, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. From 4376c1dadc4fca32e7828b14ba019f7cffcf75e0 Mon Sep 17 00:00:00 2001 From: atheesh Date: Fri, 5 May 2023 16:02:37 +0530 Subject: [PATCH 065/106] go mod tidy --- x/evidence/go.mod | 2 +- x/evidence/go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/x/evidence/go.mod b/x/evidence/go.mod index 9bf89b548f11..60ebd613b0de 100644 --- a/x/evidence/go.mod +++ b/x/evidence/go.mod @@ -6,7 +6,7 @@ require ( cosmossdk.io/api v0.4.1 cosmossdk.io/core v0.6.1 cosmossdk.io/depinject v1.0.0-alpha.3 - cosmossdk.io/errors v1.0.0-beta.7 + cosmossdk.io/errors v1.0.0-beta.7.0.20230429155654-3ee8242364e4 cosmossdk.io/log v1.1.0 cosmossdk.io/math v1.0.0 cosmossdk.io/store v0.1.0-alpha.1.0.20230328185921-37ba88872dbc diff --git a/x/evidence/go.sum b/x/evidence/go.sum index cffc81b5d997..b5a352af620c 100644 --- a/x/evidence/go.sum +++ b/x/evidence/go.sum @@ -41,8 +41,8 @@ cosmossdk.io/collections v0.1.0 h1:nzJGeiq32KnZroSrhB6rPifw4I85Cgmzw/YAmr4luv8= cosmossdk.io/collections v0.1.0/go.mod h1:xbauc0YsbUF8qKMVeBZl0pFCunxBIhKN/WlxpZ3lBuo= cosmossdk.io/depinject v1.0.0-alpha.3 h1:6evFIgj//Y3w09bqOUOzEpFj5tsxBqdc5CfkO7z+zfw= cosmossdk.io/depinject v1.0.0-alpha.3/go.mod h1:eRbcdQ7MRpIPEM5YUJh8k97nxHpYbc3sMUnEtt8HPWU= -cosmossdk.io/errors v1.0.0-beta.7 h1:gypHW76pTQGVnHKo6QBkb4yFOJjC+sUGRc5Al3Odj1w= -cosmossdk.io/errors v1.0.0-beta.7/go.mod h1:mz6FQMJRku4bY7aqS/Gwfcmr/ue91roMEKAmDUDpBfE= +cosmossdk.io/errors v1.0.0-beta.7.0.20230429155654-3ee8242364e4 h1:rOy7iw7HlwKc5Af5qIHLXdBx/F98o6du/I/WGwOW6eA= +cosmossdk.io/errors v1.0.0-beta.7.0.20230429155654-3ee8242364e4/go.mod h1:AwrAxbvuH9FdatzJX463kMYNMVkjujWU/xR+HsimWTw= cosmossdk.io/log v1.1.0 h1:v0ogPHYeTzPcBTcPR1A3j1hkei4pZama8kz8LKlCMv0= cosmossdk.io/log v1.1.0/go.mod h1:6zjroETlcDs+mm62gd8Ig7mZ+N+fVOZS91V17H+M4N4= cosmossdk.io/math v1.0.0 h1:ro9w7eKx23om2tZz/VM2Pf+z2WAbGX1yDQQOJ6iGeJw= From 4d0dc8a3d3d4253f59f9bd47b87baa2f2d162f36 Mon Sep 17 00:00:00 2001 From: atheesh Date: Fri, 5 May 2023 17:09:32 +0530 Subject: [PATCH 066/106] tests --- x/distribution/keeper/hooks.go | 7 ++++++- x/staking/simulation/operations.go | 8 ++++++-- x/staking/testutil/expected_keepers_mocks.go | 2 +- x/staking/types/authz_test.go | 15 ++++++++------- x/staking/types/expected_keepers.go | 2 +- 5 files changed, 22 insertions(+), 12 deletions(-) diff --git a/x/distribution/keeper/hooks.go b/x/distribution/keeper/hooks.go index edf70126d114..5f3643cbba74 100644 --- a/x/distribution/keeper/hooks.go +++ b/x/distribution/keeper/hooks.go @@ -1,6 +1,7 @@ package keeper import ( + sdkmath "cosmossdk.io/math" cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/distribution/types" @@ -166,7 +167,11 @@ func (h Hooks) AfterUnbondingInitiated(_ sdk.Context, _ uint64) error { } func (h Hooks) AfterConsensusPubKeyUpdate(ctx sdk.Context, _ cryptotypes.PubKey, _ cryptotypes.PubKey, rotationFee sdk.Coin) error { - feePool := h.k.GetFeePool(ctx) + feePool, err := h.k.GetFeePool(ctx) + if err != nil { + return err + } + feePool.CommunityPool = feePool.CommunityPool.Add(sdk.NewDecCoinsFromCoins(rotationFee)...) h.k.SetFeePool(ctx, feePool) return nil diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index a60ed10c6767..3a6f2ad323c3 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -121,6 +121,10 @@ func WeightedOperations( weightMsgCancelUnbondingDelegation, SimulateMsgCancelUnbondingDelegate(txGen, ak, bk, k), ), + simulation.NewWeightedOperation( + weightMsgCancelUnbondingDelegation, + SimulateMsgRotateConsPubKey(txGen, ak, bk, k), + ), } } @@ -621,7 +625,7 @@ func SimulateMsgBeginRedelegate( } } -func SimulateMsgRotateConsPubKey(ak types.AccountKeeper, bk types.BankKeeper, k *keeper.Keeper) simtypes.Operation { +func SimulateMsgRotateConsPubKey(txGen client.TxConfig, ak types.AccountKeeper, bk types.BankKeeper, k *keeper.Keeper) simtypes.Operation { return func( r *rand.Rand, app *baseapp.BaseApp, ctx sdk.Context, accs []simtypes.Account, chainID string, ) (simtypes.OperationMsg, []simtypes.FutureOperation, error) { @@ -654,7 +658,7 @@ func SimulateMsgRotateConsPubKey(ak types.AccountKeeper, bk types.BankKeeper, k txCtx := simulation.OperationInput{ R: r, App: app, - TxGen: moduletestutil.MakeTestEncodingConfig().TxConfig, + TxGen: txGen, Cdc: nil, Msg: msg, Context: ctx, diff --git a/x/staking/testutil/expected_keepers_mocks.go b/x/staking/testutil/expected_keepers_mocks.go index 97c30ecb54d0..a94f6b144b2b 100644 --- a/x/staking/testutil/expected_keepers_mocks.go +++ b/x/staking/testutil/expected_keepers_mocks.go @@ -223,7 +223,7 @@ func (mr *MockBankKeeperMockRecorder) BurnCoins(ctx, name, amt interface{}) *gom } // DelegateCoinsFromAccountToModule mocks base method. -func (m *MockBankKeeper) DelegateCoinsFromAccountToModule(ctx types0.Context, senderAddr types0.AccAddress, recipientModule string, amt types0.Coins) error { +func (m *MockBankKeeper) DelegateCoinsFromAccountToModule(ctx context.Context, senderAddr types0.AccAddress, recipientModule string, amt types0.Coins) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "DelegateCoinsFromAccountToModule", ctx, senderAddr, recipientModule, amt) ret0, _ := ret[0].(error) diff --git a/x/staking/types/authz_test.go b/x/staking/types/authz_test.go index 4eb4db9c3c9a..aeb9a3217cf6 100644 --- a/x/staking/types/authz_test.go +++ b/x/staking/types/authz_test.go @@ -14,13 +14,14 @@ import ( ) var ( - coin100 = sdk.NewInt64Coin("steak", 100) - coin150 = sdk.NewInt64Coin("steak", 150) - coin50 = sdk.NewInt64Coin("steak", 50) - delAddr = sdk.AccAddress("_____delegator _____") - val1 = sdk.ValAddress("_____validator1_____") - val2 = sdk.ValAddress("_____validator2_____") - val3 = sdk.ValAddress("_____validator3_____") + coin100 = sdk.NewInt64Coin("steak", 100) + coin150 = sdk.NewInt64Coin("steak", 150) + coin50 = sdk.NewInt64Coin("steak", 50) + coinZero = sdk.NewInt64Coin("steak", 0) + delAddr = sdk.AccAddress("_____delegator _____") + val1 = sdk.ValAddress("_____validator1_____") + val2 = sdk.ValAddress("_____validator2_____") + val3 = sdk.ValAddress("_____validator3_____") ) func TestAuthzAuthorizations(t *testing.T) { diff --git a/x/staking/types/expected_keepers.go b/x/staking/types/expected_keepers.go index 7fb2d6009003..192a6d8087f3 100644 --- a/x/staking/types/expected_keepers.go +++ b/x/staking/types/expected_keepers.go @@ -42,7 +42,7 @@ type BankKeeper interface { SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error SendCoinsFromModuleToModule(ctx sdk.Context, senderPool, recipientPool string, amt sdk.Coins) error UndelegateCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error - DelegateCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error + DelegateCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error BurnCoins(ctx context.Context, name string, amt sdk.Coins) error } From 1ae1793917d3c2a618dcad74650dc0f3ed17f8a5 Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 8 May 2023 11:15:57 +0530 Subject: [PATCH 067/106] try fixing sims --- x/staking/simulation/operations.go | 5 +++-- x/staking/simulation/operations_test.go | 2 +- x/staking/testutil/expected_keepers_mocks.go | 4 ++-- x/staking/types/expected_keepers.go | 6 +++--- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index 3a6f2ad323c3..f07190c17460 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -122,7 +122,7 @@ func WeightedOperations( SimulateMsgCancelUnbondingDelegate(txGen, ak, bk, k), ), simulation.NewWeightedOperation( - weightMsgCancelUnbondingDelegation, + weightMsgRotateConsPubKey, SimulateMsgRotateConsPubKey(txGen, ak, bk, k), ), } @@ -643,11 +643,12 @@ func SimulateMsgRotateConsPubKey(txGen client.TxConfig, ak types.AccountKeeper, address := val.GetOperator() acc := simtypes.RandomAccounts(r, 1)[0] - simAccount, found := simtypes.FindAccount(accs, sdk.AccAddress(val.GetOperator())) + simAccount, found := simtypes.FindAccount(accs, sdk.AccAddress(address)) if !found { return simtypes.NoOpMsg(types.ModuleName, msgType, "unable to find account"), nil, fmt.Errorf("validator %s not found", val.GetOperator()) } account := ak.GetAccount(ctx, simAccount.Address) + fmt.Println("ctx", account, simAccount.Address) spendable := bk.SpendableCoins(ctx, account.GetAddress()) msg, err := types.NewMsgRotateConsPubKey(address, acc.PubKey) diff --git a/x/staking/simulation/operations_test.go b/x/staking/simulation/operations_test.go index 7881fd1bf094..cbff77a0daf3 100644 --- a/x/staking/simulation/operations_test.go +++ b/x/staking/simulation/operations_test.go @@ -241,7 +241,7 @@ func (s *SimTestSuite) TestSimulateRotateConsPubKey() { s.app.BeginBlock(abci.RequestBeginBlock{Header: cmtproto.Header{Height: s.app.LastBlockHeight() + 1, AppHash: s.app.LastCommitID().Hash, Time: blockTime}}) // execute operation - op := simulation.SimulateMsgRotateConsPubKey(s.accountKeeper, s.bankKeeper, s.stakingKeeper) + op := simulation.SimulateMsgRotateConsPubKey(s.txConfig, s.accountKeeper, s.bankKeeper, s.stakingKeeper) operationMsg, futureOperations, err := op(s.r, s.app.BaseApp, ctx, s.accounts, "") require.NoError(err) diff --git a/x/staking/testutil/expected_keepers_mocks.go b/x/staking/testutil/expected_keepers_mocks.go index a94f6b144b2b..1970e846f09c 100644 --- a/x/staking/testutil/expected_keepers_mocks.go +++ b/x/staking/testutil/expected_keepers_mocks.go @@ -223,7 +223,7 @@ func (mr *MockBankKeeperMockRecorder) BurnCoins(ctx, name, amt interface{}) *gom } // DelegateCoinsFromAccountToModule mocks base method. -func (m *MockBankKeeper) DelegateCoinsFromAccountToModule(ctx context.Context, senderAddr types0.AccAddress, recipientModule string, amt types0.Coins) error { +func (m *MockBankKeeper) DelegateCoinsFromAccountToModule(ctx types0.Context, senderAddr types0.AccAddress, recipientModule string, amt types0.Coins) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "DelegateCoinsFromAccountToModule", ctx, senderAddr, recipientModule, amt) ret0, _ := ret[0].(error) @@ -293,7 +293,7 @@ func (mr *MockBankKeeperMockRecorder) LockedCoins(ctx, addr interface{}) *gomock } // SendCoinsFromAccountToModule mocks base method. -func (m *MockBankKeeper) SendCoinsFromAccountToModule(ctx types0.Context, senderAddr types0.AccAddress, recipientModule string, amt types0.Coins) error { +func (m *MockBankKeeper) SendCoinsFromAccountToModule(ctx context.Context, senderAddr types0.AccAddress, recipientModule string, amt types0.Coins) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "SendCoinsFromAccountToModule", ctx, senderAddr, recipientModule, amt) ret0, _ := ret[0].(error) diff --git a/x/staking/types/expected_keepers.go b/x/staking/types/expected_keepers.go index 192a6d8087f3..54825505bea0 100644 --- a/x/staking/types/expected_keepers.go +++ b/x/staking/types/expected_keepers.go @@ -39,9 +39,9 @@ type BankKeeper interface { GetSupply(ctx context.Context, denom string) sdk.Coin - SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error - SendCoinsFromModuleToModule(ctx sdk.Context, senderPool, recipientPool string, amt sdk.Coins) error - UndelegateCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error + SendCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error + SendCoinsFromModuleToModule(ctx context.Context, senderPool, recipientPool string, amt sdk.Coins) error + UndelegateCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error DelegateCoinsFromAccountToModule(ctx context.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error BurnCoins(ctx context.Context, name string, amt sdk.Coins) error From 77ad07a54078c4c861dea575cbc4ccf4347be118 Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 8 May 2023 11:16:23 +0530 Subject: [PATCH 068/106] logs --- x/staking/simulation/operations.go | 1 - 1 file changed, 1 deletion(-) diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index f07190c17460..e0f0b18ad942 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -648,7 +648,6 @@ func SimulateMsgRotateConsPubKey(txGen client.TxConfig, ak types.AccountKeeper, return simtypes.NoOpMsg(types.ModuleName, msgType, "unable to find account"), nil, fmt.Errorf("validator %s not found", val.GetOperator()) } account := ak.GetAccount(ctx, simAccount.Address) - fmt.Println("ctx", account, simAccount.Address) spendable := bk.SpendableCoins(ctx, account.GetAddress()) msg, err := types.NewMsgRotateConsPubKey(address, acc.PubKey) From 62fbed4d5237112bd64a2877efbb630b24d8b5d8 Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 8 May 2023 15:01:15 +0530 Subject: [PATCH 069/106] fix tests --- .../evidence/keeper/infraction_test.go | 34 ++++++++++++++----- x/slashing/keeper/signing_info_test.go | 2 +- x/staking/keeper/msg_server.go | 2 +- x/staking/testutil/expected_keepers_mocks.go | 6 ++-- 4 files changed, 30 insertions(+), 14 deletions(-) diff --git a/tests/integration/evidence/keeper/infraction_test.go b/tests/integration/evidence/keeper/infraction_test.go index f04d988a6cd7..638e9641da74 100644 --- a/tests/integration/evidence/keeper/infraction_test.go +++ b/tests/integration/evidence/keeper/infraction_test.go @@ -8,6 +8,7 @@ import ( "cosmossdk.io/core/comet" "cosmossdk.io/log" + "cosmossdk.io/math" storetypes "cosmossdk.io/store/types" "cosmossdk.io/x/evidence" "cosmossdk.io/x/evidence/exported" @@ -34,6 +35,9 @@ import ( bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" consensusparamtypes "github.com/cosmos/cosmos-sdk/x/consensus/types" + "github.com/cosmos/cosmos-sdk/x/distribution" + distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" paramtypes "github.com/cosmos/cosmos-sdk/x/params/types" "github.com/cosmos/cosmos-sdk/x/slashing" @@ -78,7 +82,8 @@ type fixture struct { func initFixture(t testing.TB) *fixture { keys := storetypes.NewKVStoreKeys( - authtypes.StoreKey, banktypes.StoreKey, paramtypes.StoreKey, consensusparamtypes.StoreKey, evidencetypes.StoreKey, stakingtypes.StoreKey, slashingtypes.StoreKey, + authtypes.StoreKey, banktypes.StoreKey, paramtypes.StoreKey, consensusparamtypes.StoreKey, + evidencetypes.StoreKey, stakingtypes.StoreKey, slashingtypes.StoreKey, distrtypes.StoreKey, ) cdc := moduletestutil.MakeTestEncodingConfig(auth.AppModuleBasic{}, evidence.AppModuleBasic{}).Codec @@ -93,6 +98,7 @@ func initFixture(t testing.TB) *fixture { minttypes.ModuleName: {authtypes.Minter}, stakingtypes.BondedPoolName: {authtypes.Burner, authtypes.Staking}, stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking}, + distrtypes.ModuleName: {authtypes.Minter}, } accountKeeper := authkeeper.NewAccountKeeper( @@ -117,8 +123,17 @@ func initFixture(t testing.TB) *fixture { ) stakingKeeper := stakingkeeper.NewKeeper(cdc, keys[stakingtypes.StoreKey], accountKeeper, bankKeeper, authority.String()) + distrKeeper := distrkeeper.NewKeeper( + cdc, runtime.NewKVStoreService(keys[distrtypes.StoreKey]), accountKeeper, bankKeeper, stakingKeeper, distrtypes.ModuleName, authority.String(), + ) + distrKeeper.SetFeePool(newCtx, distrtypes.FeePool{ + CommunityPool: sdk.NewDecCoins(sdk.DecCoin{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(0)}), + }) slashingKeeper := slashingkeeper.NewKeeper(cdc, codec.NewLegacyAmino(), keys[slashingtypes.StoreKey], stakingKeeper, authority.String()) + stakingKeeper.SetHooks( + stakingtypes.NewMultiStakingHooks(distrKeeper.Hooks(), slashingKeeper.Hooks()), + ) evidenceKeeper := keeper.NewKeeper(cdc, keys[evidencetypes.StoreKey], stakingKeeper, slashingKeeper, address.NewBech32Codec("cosmos"), runtime.ProvideCometInfoService()) router := evidencetypes.NewRouter() @@ -130,8 +145,9 @@ func initFixture(t testing.TB) *fixture { stakingModule := staking.NewAppModule(cdc, stakingKeeper, accountKeeper, bankKeeper, nil) slashingModule := slashing.NewAppModule(cdc, slashingKeeper, accountKeeper, bankKeeper, stakingKeeper, nil, cdc.InterfaceRegistry()) evidenceModule := evidence.NewAppModule(*evidenceKeeper) + distrModule := distribution.NewAppModule(cdc, distrKeeper, accountKeeper, bankKeeper, stakingKeeper, nil) - integrationApp := integration.NewIntegrationApp(newCtx, logger, keys, cdc, authModule, bankModule, stakingModule, slashingModule, evidenceModule) + integrationApp := integration.NewIntegrationApp(newCtx, logger, keys, cdc, authModule, bankModule, stakingModule, slashingModule, evidenceModule, distrModule) sdkCtx := sdk.UnwrapSDKContext(integrationApp.Context()) @@ -238,7 +254,7 @@ func TestHandleDoubleSignAfterRotation(t *testing.T) { t.Parallel() f := initFixture(t) - ctx := f.ctx.WithIsCheckTx(false).WithBlockHeight(1) + ctx := f.sdkCtx.WithIsCheckTx(false).WithBlockHeight(1) populateValidators(t, f) power := int64(100) @@ -249,7 +265,7 @@ func TestHandleDoubleSignAfterRotation(t *testing.T) { selfDelegation := tstaking.CreateValidatorWithValPower(operatorAddr, val, power, true) // execute end-blocker and verify validator attributes - staking.EndBlocker(ctx, f.stakingKeeper) + f.stakingKeeper.EndBlocker(ctx) assert.DeepEqual(t, f.bankKeeper.GetAllBalances(ctx, sdk.AccAddress(operatorAddr)).String(), sdk.NewCoins(sdk.NewCoin(stakingParams.BondDenom, initAmt.Sub(selfDelegation))).String(), @@ -265,23 +281,23 @@ func TestHandleDoubleSignAfterRotation(t *testing.T) { assert.NilError(t, err) // execute end-blocker and verify validator attributes - staking.EndBlocker(ctx, f.stakingKeeper) + f.stakingKeeper.EndBlocker(ctx) // handle a signature to set signing info f.slashingKeeper.HandleValidatorSignature(ctx, NewPubkey.Address(), selfDelegation.Int64(), true) // double sign less than max age oldTokens := f.stakingKeeper.Validator(ctx, operatorAddr).GetTokens() - evidence := abci.RequestBeginBlock{ + nci := NewCometInfo(abci.RequestBeginBlock{ ByzantineValidators: []abci.Misbehavior{{ Validator: abci.Validator{Address: val.Address(), Power: power}, Type: abci.MisbehaviorType_DUPLICATE_VOTE, Time: time.Unix(0, 0), Height: 0, }}, - } + }) - f.evidenceKeeper.BeginBlocker(ctx, evidence) + f.evidenceKeeper.BeginBlocker(ctx.WithCometInfo(nci)) // should be jailed and tombstoned assert.Assert(t, f.stakingKeeper.Validator(ctx, operatorAddr).IsJailed()) @@ -292,7 +308,7 @@ func TestHandleDoubleSignAfterRotation(t *testing.T) { assert.Assert(t, newTokens.LT(oldTokens)) // submit duplicate evidence - f.evidenceKeeper.BeginBlocker(ctx, evidence) + f.evidenceKeeper.BeginBlocker(ctx.WithCometInfo(nci)) // tokens should be the same (capped slash) assert.Assert(t, f.stakingKeeper.Validator(ctx, operatorAddr).GetTokens().Equal(newTokens)) diff --git a/x/slashing/keeper/signing_info_test.go b/x/slashing/keeper/signing_info_test.go index bae809d065e2..19f4cc48cae0 100644 --- a/x/slashing/keeper/signing_info_test.go +++ b/x/slashing/keeper/signing_info_test.go @@ -114,7 +114,7 @@ func (s *KeeperTestSuite) TestPerformConsensusPubKeyUpdate() { int64(10), ) slashingKeeper.SetValidatorSigningInfo(ctx, oldConsAddr, newInfo) - slashingKeeper.SetValidatorMissedBlockBitArray(ctx, oldConsAddr, 10, true) + slashingKeeper.SetMissedBlockBitmapValue(ctx, oldConsAddr, 10, true) err := slashingKeeper.PerformConsensusPubKeyUpdate(ctx, pks[0], pks[1]) require.NoError(err) diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index b45b02a2632e..21881cc822fb 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -648,7 +648,7 @@ func (k msgServer) getRotationFee(ctx sdk.Context, valBondedTokens math.Int, rot defaultMultiplier = valBondedPercent } fee := defaultMultiplier.Mul(k.KeyRotationFee(ctx).Amount) - rotationsMultiplier := sdk.NewIntFromBigInt(new(big.Int).Exp(big.NewInt(2), big.NewInt(int64(rotationsMade)), nil)) + rotationsMultiplier := math.NewIntFromBigInt(new(big.Int).Exp(big.NewInt(2), big.NewInt(int64(rotationsMade)), nil)) fee = fee.Mul(rotationsMultiplier) return sdk.NewCoin(sdk.DefaultBondDenom, fee) diff --git a/x/staking/testutil/expected_keepers_mocks.go b/x/staking/testutil/expected_keepers_mocks.go index 1970e846f09c..fedde47ea9d7 100644 --- a/x/staking/testutil/expected_keepers_mocks.go +++ b/x/staking/testutil/expected_keepers_mocks.go @@ -223,7 +223,7 @@ func (mr *MockBankKeeperMockRecorder) BurnCoins(ctx, name, amt interface{}) *gom } // DelegateCoinsFromAccountToModule mocks base method. -func (m *MockBankKeeper) DelegateCoinsFromAccountToModule(ctx types0.Context, senderAddr types0.AccAddress, recipientModule string, amt types0.Coins) error { +func (m *MockBankKeeper) DelegateCoinsFromAccountToModule(ctx context.Context, senderAddr types0.AccAddress, recipientModule string, amt types0.Coins) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "DelegateCoinsFromAccountToModule", ctx, senderAddr, recipientModule, amt) ret0, _ := ret[0].(error) @@ -307,7 +307,7 @@ func (mr *MockBankKeeperMockRecorder) SendCoinsFromAccountToModule(ctx, senderAd } // SendCoinsFromModuleToModule mocks base method. -func (m *MockBankKeeper) SendCoinsFromModuleToModule(ctx types0.Context, senderPool, recipientPool string, amt types0.Coins) error { +func (m *MockBankKeeper) SendCoinsFromModuleToModule(ctx context.Context, senderPool, recipientPool string, amt types0.Coins) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "SendCoinsFromModuleToModule", ctx, senderPool, recipientPool, amt) ret0, _ := ret[0].(error) @@ -335,7 +335,7 @@ func (mr *MockBankKeeperMockRecorder) SpendableCoins(ctx, addr interface{}) *gom } // UndelegateCoinsFromModuleToAccount mocks base method. -func (m *MockBankKeeper) UndelegateCoinsFromModuleToAccount(ctx types0.Context, senderModule string, recipientAddr types0.AccAddress, amt types0.Coins) error { +func (m *MockBankKeeper) UndelegateCoinsFromModuleToAccount(ctx context.Context, senderModule string, recipientAddr types0.AccAddress, amt types0.Coins) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "UndelegateCoinsFromModuleToAccount", ctx, senderModule, recipientAddr, amt) ret0, _ := ret[0].(error) From 8b2ec86eab8e59600a3437d244330efd663df0bb Mon Sep 17 00:00:00 2001 From: atheesh Date: Tue, 9 May 2023 12:23:31 +0530 Subject: [PATCH 070/106] fix tests --- .../evidence/keeper/infraction_test.go | 3 +- .../integration/staking/keeper/common_test.go | 26 +++++++- .../staking/keeper/msg_server_test.go | 64 +++++++++---------- x/staking/keeper/msg_server.go | 5 ++ x/staking/types/authz_test.go | 15 ++--- x/staking/types/hooks.go | 4 +- x/staking/types/params_test.go | 3 + 7 files changed, 75 insertions(+), 45 deletions(-) diff --git a/tests/integration/evidence/keeper/infraction_test.go b/tests/integration/evidence/keeper/infraction_test.go index 638e9641da74..109a007f2979 100644 --- a/tests/integration/evidence/keeper/infraction_test.go +++ b/tests/integration/evidence/keeper/infraction_test.go @@ -281,7 +281,8 @@ func TestHandleDoubleSignAfterRotation(t *testing.T) { assert.NilError(t, err) // execute end-blocker and verify validator attributes - f.stakingKeeper.EndBlocker(ctx) + _, err = f.stakingKeeper.EndBlocker(ctx) + assert.NilError(t, err) // handle a signature to set signing info f.slashingKeeper.HandleValidatorSignature(ctx, NewPubkey.Address(), selfDelegation.Int64(), true) diff --git a/tests/integration/staking/keeper/common_test.go b/tests/integration/staking/keeper/common_test.go index 853a506810e3..2ab8a8328e04 100644 --- a/tests/integration/staking/keeper/common_test.go +++ b/tests/integration/staking/keeper/common_test.go @@ -24,11 +24,18 @@ import ( "github.com/cosmos/cosmos-sdk/x/bank" bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + "github.com/cosmos/cosmos-sdk/x/distribution" + distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" + "github.com/cosmos/cosmos-sdk/x/slashing" + slashingkeeper "github.com/cosmos/cosmos-sdk/x/slashing/keeper" + slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" "github.com/cosmos/cosmos-sdk/x/staking" stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" "github.com/cosmos/cosmos-sdk/x/staking/testutil" "github.com/cosmos/cosmos-sdk/x/staking/types" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" ) var PKs = simtestutil.CreateTestPubKeys(500) @@ -91,7 +98,7 @@ func createValidators(t *testing.T, f *fixture, powers []int64) ([]sdk.AccAddres func initFixture(t testing.TB) *fixture { keys := storetypes.NewKVStoreKeys( - authtypes.StoreKey, banktypes.StoreKey, types.StoreKey, + authtypes.StoreKey, banktypes.StoreKey, types.StoreKey, distrtypes.StoreKey, slashingtypes.StoreKey, ) cdc := moduletestutil.MakeTestEncodingConfig(auth.AppModuleBasic{}, staking.AppModuleBasic{}).Codec @@ -107,6 +114,7 @@ func initFixture(t testing.TB) *fixture { types.ModuleName: {authtypes.Minter}, types.BondedPoolName: {authtypes.Burner, authtypes.Staking}, types.NotBondedPoolName: {authtypes.Burner, authtypes.Staking}, + distrtypes.ModuleName: {authtypes.Minter}, } accountKeeper := authkeeper.NewAccountKeeper( @@ -132,11 +140,25 @@ func initFixture(t testing.TB) *fixture { stakingKeeper := stakingkeeper.NewKeeper(cdc, keys[types.StoreKey], accountKeeper, bankKeeper, authority.String()) + distrKeeper := distrkeeper.NewKeeper( + cdc, runtime.NewKVStoreService(keys[distrtypes.StoreKey]), accountKeeper, bankKeeper, stakingKeeper, distrtypes.ModuleName, authority.String(), + ) + distrKeeper.SetFeePool(newCtx, distrtypes.FeePool{ + CommunityPool: sdk.NewDecCoins(sdk.DecCoin{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(0)}), + }) + + slashingKeeper := slashingkeeper.NewKeeper(cdc, codec.NewLegacyAmino(), keys[slashingtypes.StoreKey], stakingKeeper, authority.String()) + stakingKeeper.SetHooks( + stakingtypes.NewMultiStakingHooks(distrKeeper.Hooks(), slashingKeeper.Hooks()), + ) + authModule := auth.NewAppModule(cdc, accountKeeper, authsims.RandomGenesisAccounts, nil) bankModule := bank.NewAppModule(cdc, bankKeeper, accountKeeper, nil) stakingModule := staking.NewAppModule(cdc, stakingKeeper, accountKeeper, bankKeeper, nil) + distrModule := distribution.NewAppModule(cdc, distrKeeper, accountKeeper, bankKeeper, stakingKeeper, nil) + slashingModule := slashing.NewAppModule(cdc, slashingKeeper, accountKeeper, bankKeeper, stakingKeeper, nil, cdc.InterfaceRegistry()) - integrationApp := integration.NewIntegrationApp(newCtx, logger, keys, cdc, authModule, bankModule, stakingModule) + integrationApp := integration.NewIntegrationApp(newCtx, logger, keys, cdc, authModule, bankModule, stakingModule, distrModule, slashingModule) sdkCtx := sdk.UnwrapSDKContext(integrationApp.Context()) diff --git a/tests/integration/staking/keeper/msg_server_test.go b/tests/integration/staking/keeper/msg_server_test.go index 70f97061e4c2..2302024520bf 100644 --- a/tests/integration/staking/keeper/msg_server_test.go +++ b/tests/integration/staking/keeper/msg_server_test.go @@ -5,14 +5,17 @@ import ( "testing" "time" + "cosmossdk.io/math" "gotest.tools/v3/assert" + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/bank/testutil" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" "github.com/cosmos/cosmos-sdk/x/staking/keeper" - "github.com/cosmos/cosmos-sdk/x/staking/testutil" "github.com/cosmos/cosmos-sdk/x/staking/types" + "github.com/stretchr/testify/require" ) func TestCancelUnbondingDelegation(t *testing.T) { @@ -37,8 +40,13 @@ func TestCancelUnbondingDelegation(t *testing.T) { addrs := simtestutil.AddTestAddrsIncremental(f.bankKeeper, f.stakingKeeper, ctx, 2, sdk.NewInt(10000)) valAddr := sdk.ValAddress(addrs[0]) delegatorAddr := addrs[1] + + // setup a new validator with bonded status + validator, err := types.NewValidator(valAddr, PKs[0], types.NewDescription("Validator", "", "", "", "")) + validator.Status = types.Bonded assert.NilError(t, err) f.stakingKeeper.SetValidator(ctx, validator) + validatorAddr, err := sdk.ValAddressFromBech32(validator.OperatorAddress) assert.NilError(t, err) @@ -167,54 +175,45 @@ func TestCancelUnbondingDelegation(t *testing.T) { } func TestRotateConsPubKey(t *testing.T) { - // setup the app - var ( - stakingKeeper *keeper.Keeper - bankKeeper bankkeeper.Keeper - accountKeeper authkeeper.AccountKeeper - ) - app, err := simtestutil.SetupWithConfiguration( - configurator.NewAppConfig( - configurator.BankModule(), - configurator.TxModule(), - configurator.StakingModule(), - configurator.ParamsModule(), - configurator.ConsensusModule(), - configurator.AuthModule(), - ), - simtestutil.DefaultStartUpConfig(), - &accountKeeper, &bankKeeper, &stakingKeeper) - assert.NilError(t, err) + t.Parallel() + f := initFixture(t) + + ctx := f.sdkCtx + stakingKeeper := f.stakingKeeper + bankKeeper := f.bankKeeper + accountKeeper := f.accountKeeper - ctx := app.BaseApp.NewContext(false, cmtproto.Header{}) msgServer := keeper.NewMsgServerImpl(stakingKeeper) bondDenom := stakingKeeper.BondDenom(ctx) params := stakingKeeper.GetParams(ctx) params.KeyRotationFee = sdk.NewInt64Coin(bondDenom, 10) params.MaxConsPubkeyRotations = types.DefaultMaxConsPubKeyRotations - err = stakingKeeper.SetParams(ctx, params) + err := stakingKeeper.SetParams(ctx, params) assert.NilError(t, err) - addrs := simtestutil.AddTestAddrsIncremental(bankKeeper, stakingKeeper, ctx, 5, stakingKeeper.TokensFromConsensusPower(ctx, 1000000)) + addrs := simtestutil.AddTestAddrsIncremental(bankKeeper, stakingKeeper, ctx, 5, stakingKeeper.TokensFromConsensusPower(ctx, 4000000000000000000)) valAddrs := simtestutil.ConvertAddrsToValAddrs(addrs) - validators := stakingKeeper.GetAllValidators(ctx) - require.Len(t, validators, 1) - // create 5 validators for i := 0; i < 5; i++ { - val := testutil.NewValidator(t, valAddrs[i], PKs[i]) - stakingKeeper.SetValidator(ctx, val) - stakingKeeper.SetValidatorByConsAddr(ctx, val) - stakingKeeper.SetNewValidatorByPowerIndex(ctx, val) + comm := types.NewCommissionRates(math.LegacyNewDec(0), math.LegacyNewDec(0), math.LegacyNewDec(0)) + + msg, err := types.NewMsgCreateValidator(valAddrs[i], PKs[i], sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(3000000000000000000)), + types.Description{Moniker: "NewVal"}, comm, math.OneInt()) + require.NoError(t, err) + _, err = msgServer.CreateValidator(ctx, msg) + require.NoError(t, err) } + // call endblocker to update the validator state + _, err = stakingKeeper.EndBlocker(ctx.WithBlockHeight(ctx.BlockHeader().Height + 1)) + require.NoError(t, err) + keyRotationFee := stakingKeeper.KeyRotationFee(ctx) - validators = stakingKeeper.GetAllValidators(ctx) + validators := stakingKeeper.GetAllValidators(ctx) require.GreaterOrEqual(t, len(validators), 5) - validators = validators[1:] testCases := []struct { name string @@ -370,7 +369,6 @@ func TestRotateConsPubKey(t *testing.T) { _, err = msgServer.RotateConsPubKey(newCtx, msg) if testCase.pass { - require.NoError(t, err) // rotation fee payment from sender to distrtypes @@ -399,7 +397,7 @@ func TestRotateConsPubKey(t *testing.T) { } func calculateFee(fee sdk.Coin, rotationsMade int64) sdk.Coin { - fees := sdk.NewIntFromBigInt(new(big.Int).Exp(big.NewInt(2), big.NewInt(int64(rotationsMade)), nil)) + fees := math.NewIntFromBigInt(new(big.Int).Exp(big.NewInt(2), big.NewInt(int64(rotationsMade)), nil)) fees = fee.Amount.Mul(fees) return sdk.NewCoin(fee.Denom, fees) } diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index 21881cc822fb..1fe272299977 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -17,6 +17,7 @@ import ( "github.com/cosmos/cosmos-sdk/telemetry" sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" govtypes "github.com/cosmos/cosmos-sdk/x/gov/types" "github.com/cosmos/cosmos-sdk/x/staking/types" ) @@ -596,6 +597,10 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC // Check if the signing account has enough balance to pay KeyRotationFee // pays KeyRotationFee to community fund. rotationFee := k.getRotationFee(ctx, validator.GetBondedTokens(), rotationsMade) + err = k.Keeper.bankKeeper.SendCoinsFromAccountToModule(ctx, sdk.AccAddress(valAddr), distrtypes.ModuleName, sdk.NewCoins(rotationFee)) + if err != nil { + return nil, err + } // deletes old ValidatorByConsAddr err = k.DeleteValidatorByConsAddr(ctx, validator) diff --git a/x/staking/types/authz_test.go b/x/staking/types/authz_test.go index aeb9a3217cf6..4eb4db9c3c9a 100644 --- a/x/staking/types/authz_test.go +++ b/x/staking/types/authz_test.go @@ -14,14 +14,13 @@ import ( ) var ( - coin100 = sdk.NewInt64Coin("steak", 100) - coin150 = sdk.NewInt64Coin("steak", 150) - coin50 = sdk.NewInt64Coin("steak", 50) - coinZero = sdk.NewInt64Coin("steak", 0) - delAddr = sdk.AccAddress("_____delegator _____") - val1 = sdk.ValAddress("_____validator1_____") - val2 = sdk.ValAddress("_____validator2_____") - val3 = sdk.ValAddress("_____validator3_____") + coin100 = sdk.NewInt64Coin("steak", 100) + coin150 = sdk.NewInt64Coin("steak", 150) + coin50 = sdk.NewInt64Coin("steak", 50) + delAddr = sdk.AccAddress("_____delegator _____") + val1 = sdk.ValAddress("_____validator1_____") + val2 = sdk.ValAddress("_____validator2_____") + val3 = sdk.ValAddress("_____validator3_____") ) func TestAuthzAuthorizations(t *testing.T) { diff --git a/x/staking/types/hooks.go b/x/staking/types/hooks.go index cd9ec3773123..00bf4ea7eb54 100644 --- a/x/staking/types/hooks.go +++ b/x/staking/types/hooks.go @@ -118,7 +118,9 @@ func (h MultiStakingHooks) AfterUnbondingInitiated(ctx sdk.Context, id uint64) e func (h MultiStakingHooks) AfterConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey cryptotypes.PubKey, newPubKey cryptotypes.PubKey, rotationFee sdk.Coin) error { for i := range h { - return h[i].AfterConsensusPubKeyUpdate(ctx, oldPubKey, newPubKey, rotationFee) + if err := h[i].AfterConsensusPubKeyUpdate(ctx, oldPubKey, newPubKey, rotationFee); err != nil { + return err + } } return nil } diff --git a/x/staking/types/params_test.go b/x/staking/types/params_test.go index 3faab8e49659..8b2159b5577e 100644 --- a/x/staking/types/params_test.go +++ b/x/staking/types/params_test.go @@ -6,6 +6,7 @@ import ( "cosmossdk.io/math" "github.com/stretchr/testify/require" + sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/staking/types" ) @@ -26,6 +27,8 @@ func TestParamsEqual(t *testing.T) { func TestValidateParams(t *testing.T) { params := types.DefaultParams() + coinZero := sdk.NewInt64Coin("stake", 0) + // default params have no error require.NoError(t, params.Validate()) From d9ba01f4d585035deff95b4746959abc5f5aed47 Mon Sep 17 00:00:00 2001 From: atheesh Date: Tue, 9 May 2023 14:58:06 +0530 Subject: [PATCH 071/106] fix sims --- x/staking/simulation/operations.go | 4 ++++ x/staking/simulation/operations_test.go | 1 + 2 files changed, 5 insertions(+) diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index e0f0b18ad942..0f091fe10e0f 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -648,6 +648,10 @@ func SimulateMsgRotateConsPubKey(txGen client.TxConfig, ak types.AccountKeeper, return simtypes.NoOpMsg(types.ModuleName, msgType, "unable to find account"), nil, fmt.Errorf("validator %s not found", val.GetOperator()) } account := ak.GetAccount(ctx, simAccount.Address) + if account == nil { + return simtypes.NoOpMsg(types.ModuleName, msgType, "unable to find account"), nil, fmt.Errorf("account %s not found", account) + } + spendable := bk.SpendableCoins(ctx, account.GetAddress()) msg, err := types.NewMsgRotateConsPubKey(address, acc.PubKey) diff --git a/x/staking/simulation/operations_test.go b/x/staking/simulation/operations_test.go index cbff77a0daf3..773eee2bd2c5 100644 --- a/x/staking/simulation/operations_test.go +++ b/x/staking/simulation/operations_test.go @@ -147,6 +147,7 @@ func (s *SimTestSuite) TestWeightedOperations() { {simulation.DefaultWeightMsgUndelegate, types.ModuleName, sdk.MsgTypeURL(&types.MsgUndelegate{})}, {simulation.DefaultWeightMsgBeginRedelegate, types.ModuleName, sdk.MsgTypeURL(&types.MsgBeginRedelegate{})}, {simulation.DefaultWeightMsgCancelUnbondingDelegation, types.ModuleName, sdk.MsgTypeURL(&types.MsgCancelUnbondingDelegation{})}, + {simulation.DefaultWeightMsgRotateConsPubKey, types.ModuleName, sdk.MsgTypeURL(&types.MsgRotateConsPubKey{})}, } for i, w := range weightedOps { From 2f1e8c52060bf7379998ccd41423b260a889ed49 Mon Sep 17 00:00:00 2001 From: atheesh Date: Tue, 9 May 2023 16:22:55 +0530 Subject: [PATCH 072/106] fix tests --- tests/integration/staking/keeper/validator_test.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/integration/staking/keeper/validator_test.go b/tests/integration/staking/keeper/validator_test.go index 3cf24ad300ed..3eb6fdcd62d7 100644 --- a/tests/integration/staking/keeper/validator_test.go +++ b/tests/integration/staking/keeper/validator_test.go @@ -136,6 +136,8 @@ func TestSlashToZeroPowerRemoved(t *testing.T) { validator = keeper.TestingUpdateValidator(f.stakingKeeper, f.sdkCtx, validator, true) assert.DeepEqual(t, valTokens, validator.Tokens) + f.stakingKeeper.Hooks().AfterValidatorCreated(f.sdkCtx, validator.GetOperator()) + // slash the validator by 100% f.stakingKeeper.Slash(f.sdkCtx, sdk.ConsAddress(PKs[0].Address()), 0, 100, math.LegacyOneDec()) // apply TM updates From 6226dbcbd939303e4cc7a7e86c9008eaac533bff Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 10 May 2023 10:59:40 +0530 Subject: [PATCH 073/106] fix lint --- tests/integration/staking/keeper/common_test.go | 3 +-- tests/integration/staking/keeper/msg_server_test.go | 2 +- x/staking/keeper/cons_pubkey.go | 2 +- x/staking/types/keys.go | 2 +- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/tests/integration/staking/keeper/common_test.go b/tests/integration/staking/keeper/common_test.go index 2ab8a8328e04..39c2bf8c299e 100644 --- a/tests/integration/staking/keeper/common_test.go +++ b/tests/integration/staking/keeper/common_test.go @@ -35,7 +35,6 @@ import ( stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" "github.com/cosmos/cosmos-sdk/x/staking/testutil" "github.com/cosmos/cosmos-sdk/x/staking/types" - stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" ) var PKs = simtestutil.CreateTestPubKeys(500) @@ -149,7 +148,7 @@ func initFixture(t testing.TB) *fixture { slashingKeeper := slashingkeeper.NewKeeper(cdc, codec.NewLegacyAmino(), keys[slashingtypes.StoreKey], stakingKeeper, authority.String()) stakingKeeper.SetHooks( - stakingtypes.NewMultiStakingHooks(distrKeeper.Hooks(), slashingKeeper.Hooks()), + types.NewMultiStakingHooks(distrKeeper.Hooks(), slashingKeeper.Hooks()), ) authModule := auth.NewAppModule(cdc, accountKeeper, authsims.RandomGenesisAccounts, nil) diff --git a/tests/integration/staking/keeper/msg_server_test.go b/tests/integration/staking/keeper/msg_server_test.go index 2302024520bf..a4324c261bc8 100644 --- a/tests/integration/staking/keeper/msg_server_test.go +++ b/tests/integration/staking/keeper/msg_server_test.go @@ -397,7 +397,7 @@ func TestRotateConsPubKey(t *testing.T) { } func calculateFee(fee sdk.Coin, rotationsMade int64) sdk.Coin { - fees := math.NewIntFromBigInt(new(big.Int).Exp(big.NewInt(2), big.NewInt(int64(rotationsMade)), nil)) + fees := math.NewIntFromBigInt(new(big.Int).Exp(big.NewInt(2), big.NewInt(rotationsMade), nil)) fees = fee.Amount.Mul(fees) return sdk.NewCoin(fee.Denom, fees) } diff --git a/x/staking/keeper/cons_pubkey.go b/x/staking/keeper/cons_pubkey.go index c64d04e2a0b5..374d5472b3ff 100644 --- a/x/staking/keeper/cons_pubkey.go +++ b/x/staking/keeper/cons_pubkey.go @@ -148,7 +148,7 @@ func (k Keeper) CheckLimitOfMaxRotationsExceed(ctx sdk.Context, valAddr sdk.ValA count := uint32(0) for ; prefixIterator.Valid(); prefixIterator.Next() { - count += 1 + count++ } return count >= k.MaxConsPubKeyRotations(ctx), count diff --git a/x/staking/types/keys.go b/x/staking/types/keys.go index 34e46c70d3a7..74412a44c17f 100644 --- a/x/staking/types/keys.go +++ b/x/staking/types/keys.go @@ -455,7 +455,7 @@ func GetBlockConsPubKeyRotationHistoryPrefix(height int64) []byte { func GetConsKeyRotationHistoryKey(valAddr sdk.ValAddress, height uint64) []byte { key := append(ValidatorConsPubKeyRotationHistoryKey, address.MustLengthPrefix(valAddr)...) - return append(key, []byte(sdk.Uint64ToBigEndian(height))...) + return append(key, sdk.Uint64ToBigEndian(height)...) } func GetConsKeyRotationTimeKey(timestamp time.Time) []byte { From 85a48a8389314779cc73a8e2dec3052cbb844494 Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 10 May 2023 11:31:19 +0530 Subject: [PATCH 074/106] fix test --- .../staking/keeper/delegation_test.go | 59 ++++++++----------- .../staking/keeper/msg_server_test.go | 4 +- 2 files changed, 27 insertions(+), 36 deletions(-) diff --git a/tests/integration/staking/keeper/delegation_test.go b/tests/integration/staking/keeper/delegation_test.go index 3d30da540d41..39cac12287ef 100644 --- a/tests/integration/staking/keeper/delegation_test.go +++ b/tests/integration/staking/keeper/delegation_test.go @@ -7,11 +7,11 @@ import ( "cosmossdk.io/math" "gotest.tools/v3/assert" + simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" - banktestutil "github.com/cosmos/cosmos-sdk/x/bank/testutil" "github.com/cosmos/cosmos-sdk/x/staking/keeper" - "github.com/cosmos/cosmos-sdk/x/staking/testutil" "github.com/cosmos/cosmos-sdk/x/staking/types" + "github.com/stretchr/testify/require" ) func TestUnbondingDelegationsMaxEntries(t *testing.T) { @@ -20,42 +20,28 @@ func TestUnbondingDelegationsMaxEntries(t *testing.T) { ctx := f.sdkCtx - initTokens := f.stakingKeeper.TokensFromConsensusPower(ctx, int64(1000)) - f.bankKeeper.MintCoins(ctx, types.ModuleName, sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, initTokens))) + addrs := simtestutil.AddTestAddrsIncremental(f.bankKeeper, f.stakingKeeper, ctx, 5, f.stakingKeeper.TokensFromConsensusPower(ctx, 100)) + valAddrs := simtestutil.ConvertAddrsToValAddrs(addrs) + msgServer := keeper.NewMsgServerImpl(f.stakingKeeper) - addrDel := sdk.AccAddress([]byte("addr")) - accAmt := sdk.NewInt(10000) - initCoins := sdk.NewCoins(sdk.NewCoin(f.stakingKeeper.BondDenom(ctx), accAmt)) - if err := f.bankKeeper.MintCoins(ctx, types.ModuleName, initCoins); err != nil { - panic(err) - } - - if err := f.bankKeeper.SendCoinsFromModuleToAccount(ctx, types.ModuleName, addrDel, initCoins); err != nil { - panic(err) - } - addrVal := sdk.ValAddress(addrDel) - - startTokens := f.stakingKeeper.TokensFromConsensusPower(ctx, 10) - - bondDenom := f.stakingKeeper.BondDenom(ctx) - notBondedPool := f.stakingKeeper.GetNotBondedPool(ctx) - - assert.NilError(t, banktestutil.FundModuleAccount(ctx, f.bankKeeper, notBondedPool.GetName(), sdk.NewCoins(sdk.NewCoin(bondDenom, startTokens)))) - f.accountKeeper.SetModuleAccount(ctx, notBondedPool) + comm := types.NewCommissionRates(math.LegacyNewDec(0), math.LegacyNewDec(0), math.LegacyNewDec(0)) - // create a validator and a delegator to that validator - validator := testutil.NewValidator(t, addrVal, PKs[0]) + stakedTokens := f.stakingKeeper.TokensFromConsensusPower(ctx, 30) - validator, issuedShares := validator.AddTokensFromDel(startTokens) - assert.DeepEqual(t, startTokens, issuedShares.RoundInt()) + // create a validator with self delegation + msg, err := types.NewMsgCreateValidator(valAddrs[0], PKs[0], sdk.NewCoin(sdk.DefaultBondDenom, stakedTokens), + types.Description{Moniker: "NewVal"}, comm, math.OneInt()) + require.NoError(t, err) + _, err = msgServer.CreateValidator(ctx, msg) + require.NoError(t, err) - validator = keeper.TestingUpdateValidator(f.stakingKeeper, ctx, validator, true) - assert.Assert(math.IntEq(t, startTokens, validator.BondedTokens())) - assert.Assert(t, validator.IsBonded()) + _, err = f.stakingKeeper.EndBlocker(ctx) + require.NoError(t, err) - delegation := types.NewDelegation(addrDel, addrVal, issuedShares) - f.stakingKeeper.SetDelegation(ctx, delegation) + addrDel := sdk.AccAddress(valAddrs[0]) + addrVal := sdk.ValAddress(addrDel) + bondDenom := f.stakingKeeper.BondDenom(ctx) maxEntries := f.stakingKeeper.MaxEntries(ctx) oldBonded := f.bankKeeper.GetBalance(ctx, f.stakingKeeper.GetBondedPool(ctx).GetAddress(), bondDenom).Amount @@ -69,7 +55,12 @@ func TestUnbondingDelegationsMaxEntries(t *testing.T) { ctx = ctx.WithBlockHeight(i) var amount math.Int completionTime, amount, err = f.stakingKeeper.Undelegate(ctx, addrDel, addrVal, math.LegacyNewDec(1)) - totalUnbonded = totalUnbonded.Add(amount) + if totalUnbonded.IsZero() { + totalUnbonded = amount + } else { + totalUnbonded = totalUnbonded.Add(amount) + } + assert.NilError(t, err) } @@ -84,7 +75,7 @@ func TestUnbondingDelegationsMaxEntries(t *testing.T) { oldNotBonded = f.bankKeeper.GetBalance(ctx, f.stakingKeeper.GetNotBondedPool(ctx).GetAddress(), bondDenom).Amount // an additional unbond should fail due to max entries - _, _, err := f.stakingKeeper.Undelegate(ctx, addrDel, addrVal, math.LegacyNewDec(1)) + _, _, err = f.stakingKeeper.Undelegate(ctx, addrDel, addrVal, math.LegacyNewDec(1)) assert.Error(t, err, "too many unbonding delegation entries for (delegator, validator) tuple") newBonded = f.bankKeeper.GetBalance(ctx, f.stakingKeeper.GetBondedPool(ctx).GetAddress(), bondDenom).Amount diff --git a/tests/integration/staking/keeper/msg_server_test.go b/tests/integration/staking/keeper/msg_server_test.go index a4324c261bc8..9a59eeef31c1 100644 --- a/tests/integration/staking/keeper/msg_server_test.go +++ b/tests/integration/staking/keeper/msg_server_test.go @@ -192,14 +192,14 @@ func TestRotateConsPubKey(t *testing.T) { err := stakingKeeper.SetParams(ctx, params) assert.NilError(t, err) - addrs := simtestutil.AddTestAddrsIncremental(bankKeeper, stakingKeeper, ctx, 5, stakingKeeper.TokensFromConsensusPower(ctx, 4000000000000000000)) + addrs := simtestutil.AddTestAddrsIncremental(bankKeeper, stakingKeeper, ctx, 5, stakingKeeper.TokensFromConsensusPower(ctx, 100)) valAddrs := simtestutil.ConvertAddrsToValAddrs(addrs) // create 5 validators for i := 0; i < 5; i++ { comm := types.NewCommissionRates(math.LegacyNewDec(0), math.LegacyNewDec(0), math.LegacyNewDec(0)) - msg, err := types.NewMsgCreateValidator(valAddrs[i], PKs[i], sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(3000000000000000000)), + msg, err := types.NewMsgCreateValidator(valAddrs[i], PKs[i], sdk.NewCoin(sdk.DefaultBondDenom, stakingKeeper.TokensFromConsensusPower(ctx, 30)), types.Description{Moniker: "NewVal"}, comm, math.OneInt()) require.NoError(t, err) _, err = msgServer.CreateValidator(ctx, msg) From c39d4bf2e893f80532ae4631605bbf42a9cccfdf Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 10 May 2023 16:08:01 +0530 Subject: [PATCH 075/106] fix tests --- tests/integration/aminojson/aminojson_test.go | 6 +++-- .../integration/staking/keeper/common_test.go | 26 ++++--------------- .../staking/keeper/determinstic_test.go | 4 +-- .../staking/keeper/msg_server_test.go | 1 - .../integration/staking/keeper/slash_test.go | 2 ++ .../staking/keeper/validator_test.go | 2 -- 6 files changed, 13 insertions(+), 28 deletions(-) diff --git a/tests/integration/aminojson/aminojson_test.go b/tests/integration/aminojson/aminojson_test.go index f5f82b510a9e..cf3767839f67 100644 --- a/tests/integration/aminojson/aminojson_test.go +++ b/tests/integration/aminojson/aminojson_test.go @@ -353,12 +353,14 @@ func TestAminoJSON_LegacyParity(t *testing.T) { Params: stakingtypes.Params{ UnbondingTime: 0, KeyRotationFee: types.Coin{}, - }}, + }, + }, pulsar: &stakingapi.MsgUpdateParams{ Params: &stakingapi.Params{ UnbondingTime: &durationpb.Duration{Seconds: 0}, KeyRotationFee: &v1beta1.Coin{}, - }}, + }, + }, }, "staking/create_validator": { gogo: &stakingtypes.MsgCreateValidator{Pubkey: pubkeyAny}, diff --git a/tests/integration/staking/keeper/common_test.go b/tests/integration/staking/keeper/common_test.go index 39c2bf8c299e..415b3126459e 100644 --- a/tests/integration/staking/keeper/common_test.go +++ b/tests/integration/staking/keeper/common_test.go @@ -24,13 +24,8 @@ import ( "github.com/cosmos/cosmos-sdk/x/bank" bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - "github.com/cosmos/cosmos-sdk/x/distribution" - distrkeeper "github.com/cosmos/cosmos-sdk/x/distribution/keeper" distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" - "github.com/cosmos/cosmos-sdk/x/slashing" - slashingkeeper "github.com/cosmos/cosmos-sdk/x/slashing/keeper" - slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" "github.com/cosmos/cosmos-sdk/x/staking" stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" "github.com/cosmos/cosmos-sdk/x/staking/testutil" @@ -83,6 +78,8 @@ func createValidators(t *testing.T, f *fixture, powers []int64) ([]sdk.AccAddres f.stakingKeeper.SetValidatorByConsAddr(f.sdkCtx, val2) f.stakingKeeper.SetNewValidatorByPowerIndex(f.sdkCtx, val1) f.stakingKeeper.SetNewValidatorByPowerIndex(f.sdkCtx, val2) + f.stakingKeeper.Hooks().AfterValidatorCreated(f.sdkCtx, valAddrs[0]) + f.stakingKeeper.Hooks().AfterValidatorCreated(f.sdkCtx, valAddrs[1]) _, err := f.stakingKeeper.Delegate(f.sdkCtx, addrs[0], f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, powers[0]), types.Unbonded, val1, true) assert.NilError(t, err) @@ -90,6 +87,7 @@ func createValidators(t *testing.T, f *fixture, powers []int64) ([]sdk.AccAddres assert.NilError(t, err) _, err = f.stakingKeeper.Delegate(f.sdkCtx, addrs[0], f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, powers[2]), types.Unbonded, val2, true) assert.NilError(t, err) + applyValidatorSetUpdates(t, f.sdkCtx, f.stakingKeeper, -1) return addrs, valAddrs, vals @@ -97,7 +95,7 @@ func createValidators(t *testing.T, f *fixture, powers []int64) ([]sdk.AccAddres func initFixture(t testing.TB) *fixture { keys := storetypes.NewKVStoreKeys( - authtypes.StoreKey, banktypes.StoreKey, types.StoreKey, distrtypes.StoreKey, slashingtypes.StoreKey, + authtypes.StoreKey, banktypes.StoreKey, types.StoreKey, ) cdc := moduletestutil.MakeTestEncodingConfig(auth.AppModuleBasic{}, staking.AppModuleBasic{}).Codec @@ -139,25 +137,11 @@ func initFixture(t testing.TB) *fixture { stakingKeeper := stakingkeeper.NewKeeper(cdc, keys[types.StoreKey], accountKeeper, bankKeeper, authority.String()) - distrKeeper := distrkeeper.NewKeeper( - cdc, runtime.NewKVStoreService(keys[distrtypes.StoreKey]), accountKeeper, bankKeeper, stakingKeeper, distrtypes.ModuleName, authority.String(), - ) - distrKeeper.SetFeePool(newCtx, distrtypes.FeePool{ - CommunityPool: sdk.NewDecCoins(sdk.DecCoin{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(0)}), - }) - - slashingKeeper := slashingkeeper.NewKeeper(cdc, codec.NewLegacyAmino(), keys[slashingtypes.StoreKey], stakingKeeper, authority.String()) - stakingKeeper.SetHooks( - types.NewMultiStakingHooks(distrKeeper.Hooks(), slashingKeeper.Hooks()), - ) - authModule := auth.NewAppModule(cdc, accountKeeper, authsims.RandomGenesisAccounts, nil) bankModule := bank.NewAppModule(cdc, bankKeeper, accountKeeper, nil) stakingModule := staking.NewAppModule(cdc, stakingKeeper, accountKeeper, bankKeeper, nil) - distrModule := distribution.NewAppModule(cdc, distrKeeper, accountKeeper, bankKeeper, stakingKeeper, nil) - slashingModule := slashing.NewAppModule(cdc, slashingKeeper, accountKeeper, bankKeeper, stakingKeeper, nil, cdc.InterfaceRegistry()) - integrationApp := integration.NewIntegrationApp(newCtx, logger, keys, cdc, authModule, bankModule, stakingModule, distrModule, slashingModule) + integrationApp := integration.NewIntegrationApp(newCtx, logger, keys, cdc, authModule, bankModule, stakingModule) sdkCtx := sdk.UnwrapSDKContext(integrationApp.Context()) diff --git a/tests/integration/staking/keeper/determinstic_test.go b/tests/integration/staking/keeper/determinstic_test.go index da3c6c017903..8393804596f6 100644 --- a/tests/integration/staking/keeper/determinstic_test.go +++ b/tests/integration/staking/keeper/determinstic_test.go @@ -402,7 +402,7 @@ func TestGRPCValidatorDelegations(t *testing.T) { ValidatorAddr: validator.OperatorAddress, } - testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.ValidatorDelegations, 14475, false) + testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.ValidatorDelegations, 14655, false) } func TestGRPCValidatorUnbondingDelegations(t *testing.T) { @@ -733,7 +733,7 @@ func TestGRPCPool(t *testing.T) { f = initDeterministicFixture(t) // reset getStaticValidator(f, t) - testdata.DeterministicIterations(f.ctx, t, &stakingtypes.QueryPoolRequest{}, f.queryClient.Pool, 6242, false) + testdata.DeterministicIterations(f.ctx, t, &stakingtypes.QueryPoolRequest{}, f.queryClient.Pool, 6302, false) } func TestGRPCRedelegations(t *testing.T) { diff --git a/tests/integration/staking/keeper/msg_server_test.go b/tests/integration/staking/keeper/msg_server_test.go index 9a59eeef31c1..7f5709200421 100644 --- a/tests/integration/staking/keeper/msg_server_test.go +++ b/tests/integration/staking/keeper/msg_server_test.go @@ -357,7 +357,6 @@ func TestRotateConsPubKey(t *testing.T) { for _, testCase := range testCases { t.Run(testCase.name, func(t *testing.T) { - newCtx := testCase.malleate() oldDistrBalance := bankKeeper.GetBalance(newCtx, accountKeeper.GetModuleAddress(distrtypes.ModuleName), bondDenom) msg, err := types.NewMsgRotateConsPubKey( diff --git a/tests/integration/staking/keeper/slash_test.go b/tests/integration/staking/keeper/slash_test.go index 6beea0b0b3e9..373b3d266f6d 100644 --- a/tests/integration/staking/keeper/slash_test.go +++ b/tests/integration/staking/keeper/slash_test.go @@ -44,6 +44,8 @@ func bootstrapSlashTest(t *testing.T, power int64) (*fixture, []sdk.AccAddress, validator, _ = validator.AddTokensFromDel(amt) validator = keeper.TestingUpdateValidator(f.stakingKeeper, f.sdkCtx, validator, true) f.stakingKeeper.SetValidatorByConsAddr(f.sdkCtx, validator) + assert.NilError(t, f.stakingKeeper.Hooks().AfterValidatorCreated(f.sdkCtx, validator.GetOperator())) + f.stakingKeeper.Hooks().AfterDelegationModified(f.sdkCtx, sdk.AccAddress(validator.GetOperator()), validator.GetOperator()) } return f, addrDels, addrVals diff --git a/tests/integration/staking/keeper/validator_test.go b/tests/integration/staking/keeper/validator_test.go index 3eb6fdcd62d7..3cf24ad300ed 100644 --- a/tests/integration/staking/keeper/validator_test.go +++ b/tests/integration/staking/keeper/validator_test.go @@ -136,8 +136,6 @@ func TestSlashToZeroPowerRemoved(t *testing.T) { validator = keeper.TestingUpdateValidator(f.stakingKeeper, f.sdkCtx, validator, true) assert.DeepEqual(t, valTokens, validator.Tokens) - f.stakingKeeper.Hooks().AfterValidatorCreated(f.sdkCtx, validator.GetOperator()) - // slash the validator by 100% f.stakingKeeper.Slash(f.sdkCtx, sdk.ConsAddress(PKs[0].Address()), 0, 100, math.LegacyOneDec()) // apply TM updates From 6d84ed1167cf0dd2d5190df0ff4b156aef208597 Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 10 May 2023 16:17:51 +0530 Subject: [PATCH 076/106] revert tests --- .../integration/staking/keeper/common_test.go | 3 - .../staking/keeper/delegation_test.go | 58 +++++++++++-------- 2 files changed, 34 insertions(+), 27 deletions(-) diff --git a/tests/integration/staking/keeper/common_test.go b/tests/integration/staking/keeper/common_test.go index 415b3126459e..06d12c4692c3 100644 --- a/tests/integration/staking/keeper/common_test.go +++ b/tests/integration/staking/keeper/common_test.go @@ -24,7 +24,6 @@ import ( "github.com/cosmos/cosmos-sdk/x/bank" bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" - distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" "github.com/cosmos/cosmos-sdk/x/staking" stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" @@ -87,7 +86,6 @@ func createValidators(t *testing.T, f *fixture, powers []int64) ([]sdk.AccAddres assert.NilError(t, err) _, err = f.stakingKeeper.Delegate(f.sdkCtx, addrs[0], f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, powers[2]), types.Unbonded, val2, true) assert.NilError(t, err) - applyValidatorSetUpdates(t, f.sdkCtx, f.stakingKeeper, -1) return addrs, valAddrs, vals @@ -111,7 +109,6 @@ func initFixture(t testing.TB) *fixture { types.ModuleName: {authtypes.Minter}, types.BondedPoolName: {authtypes.Burner, authtypes.Staking}, types.NotBondedPoolName: {authtypes.Burner, authtypes.Staking}, - distrtypes.ModuleName: {authtypes.Minter}, } accountKeeper := authkeeper.NewAccountKeeper( diff --git a/tests/integration/staking/keeper/delegation_test.go b/tests/integration/staking/keeper/delegation_test.go index 39cac12287ef..23589d7c6953 100644 --- a/tests/integration/staking/keeper/delegation_test.go +++ b/tests/integration/staking/keeper/delegation_test.go @@ -7,11 +7,11 @@ import ( "cosmossdk.io/math" "gotest.tools/v3/assert" - simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" + banktestutil "github.com/cosmos/cosmos-sdk/x/bank/testutil" "github.com/cosmos/cosmos-sdk/x/staking/keeper" + "github.com/cosmos/cosmos-sdk/x/staking/testutil" "github.com/cosmos/cosmos-sdk/x/staking/types" - "github.com/stretchr/testify/require" ) func TestUnbondingDelegationsMaxEntries(t *testing.T) { @@ -20,28 +20,42 @@ func TestUnbondingDelegationsMaxEntries(t *testing.T) { ctx := f.sdkCtx - addrs := simtestutil.AddTestAddrsIncremental(f.bankKeeper, f.stakingKeeper, ctx, 5, f.stakingKeeper.TokensFromConsensusPower(ctx, 100)) - valAddrs := simtestutil.ConvertAddrsToValAddrs(addrs) - msgServer := keeper.NewMsgServerImpl(f.stakingKeeper) + initTokens := f.stakingKeeper.TokensFromConsensusPower(ctx, int64(1000)) + f.bankKeeper.MintCoins(ctx, types.ModuleName, sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, initTokens))) - comm := types.NewCommissionRates(math.LegacyNewDec(0), math.LegacyNewDec(0), math.LegacyNewDec(0)) + addrDel := sdk.AccAddress([]byte("addr")) + accAmt := sdk.NewInt(10000) + initCoins := sdk.NewCoins(sdk.NewCoin(f.stakingKeeper.BondDenom(ctx), accAmt)) + if err := f.bankKeeper.MintCoins(ctx, types.ModuleName, initCoins); err != nil { + panic(err) + } - stakedTokens := f.stakingKeeper.TokensFromConsensusPower(ctx, 30) + if err := f.bankKeeper.SendCoinsFromModuleToAccount(ctx, types.ModuleName, addrDel, initCoins); err != nil { + panic(err) + } + addrVal := sdk.ValAddress(addrDel) - // create a validator with self delegation - msg, err := types.NewMsgCreateValidator(valAddrs[0], PKs[0], sdk.NewCoin(sdk.DefaultBondDenom, stakedTokens), - types.Description{Moniker: "NewVal"}, comm, math.OneInt()) - require.NoError(t, err) - _, err = msgServer.CreateValidator(ctx, msg) - require.NoError(t, err) + startTokens := f.stakingKeeper.TokensFromConsensusPower(ctx, 10) - _, err = f.stakingKeeper.EndBlocker(ctx) - require.NoError(t, err) + bondDenom := f.stakingKeeper.BondDenom(ctx) + notBondedPool := f.stakingKeeper.GetNotBondedPool(ctx) - addrDel := sdk.AccAddress(valAddrs[0]) - addrVal := sdk.ValAddress(addrDel) + assert.NilError(t, banktestutil.FundModuleAccount(ctx, f.bankKeeper, notBondedPool.GetName(), sdk.NewCoins(sdk.NewCoin(bondDenom, startTokens)))) + f.accountKeeper.SetModuleAccount(ctx, notBondedPool) + + // create a validator and a delegator to that validator + validator := testutil.NewValidator(t, addrVal, PKs[0]) + + validator, issuedShares := validator.AddTokensFromDel(startTokens) + assert.DeepEqual(t, startTokens, issuedShares.RoundInt()) + + validator = keeper.TestingUpdateValidator(f.stakingKeeper, ctx, validator, true) + assert.Assert(math.IntEq(t, startTokens, validator.BondedTokens())) + assert.Assert(t, validator.IsBonded()) + + delegation := types.NewDelegation(addrDel, addrVal, issuedShares) + f.stakingKeeper.SetDelegation(ctx, delegation) - bondDenom := f.stakingKeeper.BondDenom(ctx) maxEntries := f.stakingKeeper.MaxEntries(ctx) oldBonded := f.bankKeeper.GetBalance(ctx, f.stakingKeeper.GetBondedPool(ctx).GetAddress(), bondDenom).Amount @@ -55,11 +69,7 @@ func TestUnbondingDelegationsMaxEntries(t *testing.T) { ctx = ctx.WithBlockHeight(i) var amount math.Int completionTime, amount, err = f.stakingKeeper.Undelegate(ctx, addrDel, addrVal, math.LegacyNewDec(1)) - if totalUnbonded.IsZero() { - totalUnbonded = amount - } else { - totalUnbonded = totalUnbonded.Add(amount) - } + totalUnbonded = totalUnbonded.Add(amount) assert.NilError(t, err) } @@ -75,7 +85,7 @@ func TestUnbondingDelegationsMaxEntries(t *testing.T) { oldNotBonded = f.bankKeeper.GetBalance(ctx, f.stakingKeeper.GetNotBondedPool(ctx).GetAddress(), bondDenom).Amount // an additional unbond should fail due to max entries - _, _, err = f.stakingKeeper.Undelegate(ctx, addrDel, addrVal, math.LegacyNewDec(1)) + _, _, err := f.stakingKeeper.Undelegate(ctx, addrDel, addrVal, math.LegacyNewDec(1)) assert.Error(t, err, "too many unbonding delegation entries for (delegator, validator) tuple") newBonded = f.bankKeeper.GetBalance(ctx, f.stakingKeeper.GetBondedPool(ctx).GetAddress(), bondDenom).Amount From e5cb0fab56855e42b78f969021e2f7ea4baad803 Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 10 May 2023 16:44:51 +0530 Subject: [PATCH 077/106] try fixing sims --- x/staking/simulation/operations.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index 0f091fe10e0f..21c3c01011b3 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -24,7 +24,7 @@ const ( DefaultWeightMsgUndelegate int = 100 DefaultWeightMsgBeginRedelegate int = 100 DefaultWeightMsgCancelUnbondingDelegation int = 100 - DefaultWeightMsgRotateConsPubKey int = 100 + DefaultWeightMsgRotateConsPubKey int = 5 OpWeightMsgCreateValidator = "op_weight_msg_create_validator" OpWeightMsgEditValidator = "op_weight_msg_edit_validator" From 5a8b5954568bc6250f34b611439de7c97658a4e6 Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 11 May 2023 12:03:38 +0530 Subject: [PATCH 078/106] fix lint --- x/distribution/keeper/hooks.go | 2 +- x/slashing/keeper/hooks.go | 2 +- x/slashing/keeper/keeper.go | 2 +- x/slashing/keeper/signing_info.go | 2 +- x/staking/keeper/cons_pubkey.go | 6 ++++-- x/staking/types/expected_keepers.go | 2 +- x/staking/types/hooks.go | 2 +- x/staking/types/params.go | 4 ++-- 8 files changed, 12 insertions(+), 10 deletions(-) diff --git a/x/distribution/keeper/hooks.go b/x/distribution/keeper/hooks.go index 5f3643cbba74..791fc37f3bd4 100644 --- a/x/distribution/keeper/hooks.go +++ b/x/distribution/keeper/hooks.go @@ -166,7 +166,7 @@ func (h Hooks) AfterUnbondingInitiated(_ sdk.Context, _ uint64) error { return nil } -func (h Hooks) AfterConsensusPubKeyUpdate(ctx sdk.Context, _ cryptotypes.PubKey, _ cryptotypes.PubKey, rotationFee sdk.Coin) error { +func (h Hooks) AfterConsensusPubKeyUpdate(ctx sdk.Context, _, _ cryptotypes.PubKey, rotationFee sdk.Coin) error { feePool, err := h.k.GetFeePool(ctx) if err != nil { return err diff --git a/x/slashing/keeper/hooks.go b/x/slashing/keeper/hooks.go index b49d4e6b5bd6..144c0240597d 100644 --- a/x/slashing/keeper/hooks.go +++ b/x/slashing/keeper/hooks.go @@ -93,7 +93,7 @@ func (h Hooks) AfterUnbondingInitiated(_ sdk.Context, _ uint64) error { return nil } -func (h Hooks) AfterConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey cryptotypes.PubKey, newPubKey cryptotypes.PubKey, _ sdk.Coin) error { +func (h Hooks) AfterConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey, newPubKey cryptotypes.PubKey, _ sdk.Coin) error { if err := h.k.PerformConsensusPubKeyUpdate(ctx, oldPubKey, newPubKey); err != nil { return err } diff --git a/x/slashing/keeper/keeper.go b/x/slashing/keeper/keeper.go index 448a7460f9e5..6789af97fabc 100644 --- a/x/slashing/keeper/keeper.go +++ b/x/slashing/keeper/keeper.go @@ -61,7 +61,7 @@ func (k Keeper) AddPubkey(ctx sdk.Context, pubkey cryptotypes.PubKey) error { } // SetMappedConskey maps the old consensus key to rotated new consensus key -func (k Keeper) SetMappedConskey(ctx sdk.Context, oldConsAddr sdk.ConsAddress, newConsAddr sdk.ConsAddress) { +func (k Keeper) SetMappedConskey(ctx sdk.Context, oldConsAddr, newConsAddr sdk.ConsAddress) { store := ctx.KVStore(k.storeKey) key := types.GetKeyRotatedConsKey(oldConsAddr.Bytes()) store.Set(key, newConsAddr.Bytes()) diff --git a/x/slashing/keeper/signing_info.go b/x/slashing/keeper/signing_info.go index 84aad39c6594..adcc737af4fc 100644 --- a/x/slashing/keeper/signing_info.go +++ b/x/slashing/keeper/signing_info.go @@ -189,7 +189,7 @@ func (k Keeper) removeValidatorSigningInfo(ctx sdk.Context, address sdk.ConsAddr ctx.KVStore(k.storeKey).Delete(types.ValidatorSigningInfoKey(address)) } -func (k Keeper) PerformConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey cryptotypes.PubKey, newPubKey cryptotypes.PubKey) error { +func (k Keeper) PerformConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey, newPubKey cryptotypes.PubKey) error { // Connect new consensus address with PubKey if err := k.AddPubkey(ctx, newPubKey); err != nil { return err diff --git a/x/staking/keeper/cons_pubkey.go b/x/staking/keeper/cons_pubkey.go index 374d5472b3ff..af41c07a6d90 100644 --- a/x/staking/keeper/cons_pubkey.go +++ b/x/staking/keeper/cons_pubkey.go @@ -11,8 +11,10 @@ import ( ) // SetConsPubKeyRotationHistory sets the consensus key rotation of a validator into state -func (k Keeper) SetConsPubKeyRotationHistory(ctx sdk.Context, valAddr sdk.ValAddress, - oldPubKey, newPubKey *codectypes.Any, height uint64, fee sdk.Coin) { +func (k Keeper) SetConsPubKeyRotationHistory( + ctx sdk.Context, valAddr sdk.ValAddress, + oldPubKey, newPubKey *codectypes.Any, height uint64, fee sdk.Coin, +) { history := types.ConsPubKeyRotationHistory{ OperatorAddress: valAddr.String(), OldConsPubkey: oldPubKey, diff --git a/x/staking/types/expected_keepers.go b/x/staking/types/expected_keepers.go index 54825505bea0..ceb3617a8184 100644 --- a/x/staking/types/expected_keepers.go +++ b/x/staking/types/expected_keepers.go @@ -111,7 +111,7 @@ type StakingHooks interface { AfterDelegationModified(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) error BeforeValidatorSlashed(ctx sdk.Context, valAddr sdk.ValAddress, fraction math.LegacyDec) error AfterUnbondingInitiated(ctx sdk.Context, id uint64) error - AfterConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey cryptotypes.PubKey, newPubKey cryptotypes.PubKey, rotationFee sdk.Coin) error + AfterConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey, newPubKey cryptotypes.PubKey, rotationFee sdk.Coin) error } // StakingHooksWrapper is a wrapper for modules to inject StakingHooks using depinject. diff --git a/x/staking/types/hooks.go b/x/staking/types/hooks.go index 00bf4ea7eb54..483602d92c4b 100644 --- a/x/staking/types/hooks.go +++ b/x/staking/types/hooks.go @@ -116,7 +116,7 @@ func (h MultiStakingHooks) AfterUnbondingInitiated(ctx sdk.Context, id uint64) e return nil } -func (h MultiStakingHooks) AfterConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey cryptotypes.PubKey, newPubKey cryptotypes.PubKey, rotationFee sdk.Coin) error { +func (h MultiStakingHooks) AfterConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey, newPubKey cryptotypes.PubKey, rotationFee sdk.Coin) error { for i := range h { if err := h[i].AfterConsensusPubKeyUpdate(ctx, oldPubKey, newPubKey, rotationFee); err != nil { return err diff --git a/x/staking/types/params.go b/x/staking/types/params.go index e8dc2adcd780..d7238a5aba86 100644 --- a/x/staking/types/params.go +++ b/x/staking/types/params.go @@ -47,8 +47,8 @@ var ( func NewParams(unbondingTime time.Duration, maxValidators, maxEntries, historicalEntries uint32, bondDenom string, minCommissionRate sdk.Dec, - maxConsPubKeyRotations uint32, keyRotationFee sdk.Coin) Params { - + maxConsPubKeyRotations uint32, keyRotationFee sdk.Coin, +) Params { return Params{ UnbondingTime: unbondingTime, MaxValidators: maxValidators, From f29cbfb22763873faf1b8b752d101abc2b98f211 Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 11 May 2023 12:04:25 +0530 Subject: [PATCH 079/106] fix test --- tests/integration/staking/keeper/common_test.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/integration/staking/keeper/common_test.go b/tests/integration/staking/keeper/common_test.go index 06d12c4692c3..415b3126459e 100644 --- a/tests/integration/staking/keeper/common_test.go +++ b/tests/integration/staking/keeper/common_test.go @@ -24,6 +24,7 @@ import ( "github.com/cosmos/cosmos-sdk/x/bank" bankkeeper "github.com/cosmos/cosmos-sdk/x/bank/keeper" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types" minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" "github.com/cosmos/cosmos-sdk/x/staking" stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper" @@ -86,6 +87,7 @@ func createValidators(t *testing.T, f *fixture, powers []int64) ([]sdk.AccAddres assert.NilError(t, err) _, err = f.stakingKeeper.Delegate(f.sdkCtx, addrs[0], f.stakingKeeper.TokensFromConsensusPower(f.sdkCtx, powers[2]), types.Unbonded, val2, true) assert.NilError(t, err) + applyValidatorSetUpdates(t, f.sdkCtx, f.stakingKeeper, -1) return addrs, valAddrs, vals @@ -109,6 +111,7 @@ func initFixture(t testing.TB) *fixture { types.ModuleName: {authtypes.Minter}, types.BondedPoolName: {authtypes.Burner, authtypes.Staking}, types.NotBondedPoolName: {authtypes.Burner, authtypes.Staking}, + distrtypes.ModuleName: {authtypes.Minter}, } accountKeeper := authkeeper.NewAccountKeeper( From 2f415256c5dd1d44e93f62c4a0cf0092976f4fcc Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 15 May 2023 18:29:37 +0530 Subject: [PATCH 080/106] update tests --- x/staking/simulation/operations.go | 36 ++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index a1ec0083a486..d1027af22126 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -24,7 +24,7 @@ const ( DefaultWeightMsgUndelegate int = 100 DefaultWeightMsgBeginRedelegate int = 100 DefaultWeightMsgCancelUnbondingDelegation int = 100 - DefaultWeightMsgRotateConsPubKey int = 5 + DefaultWeightMsgRotateConsPubKey int = 100 OpWeightMsgCreateValidator = "op_weight_msg_create_validator" OpWeightMsgEditValidator = "op_weight_msg_edit_validator" @@ -640,21 +640,39 @@ func SimulateMsgRotateConsPubKey(txGen client.TxConfig, ak types.AccountKeeper, return simtypes.NoOpMsg(types.ModuleName, msgType, "unable to pick a validator"), nil, nil } - address := val.GetOperator() - acc := simtypes.RandomAccounts(r, 1)[0] - - simAccount, found := simtypes.FindAccount(accs, sdk.AccAddress(address)) + simAccount, found := simtypes.FindAccount(accs, sdk.AccAddress(val.GetOperator())) if !found { return simtypes.NoOpMsg(types.ModuleName, msgType, "unable to find account"), nil, fmt.Errorf("validator %s not found", val.GetOperator()) } - account := ak.GetAccount(ctx, simAccount.Address) - if account == nil { - return simtypes.NoOpMsg(types.ModuleName, msgType, "unable to find account"), nil, fmt.Errorf("account %s not found", account) + + cons, err := val.GetConsAddr() + if err != nil { + return simtypes.NoOpMsg(types.ModuleName, msgType, "cannot get conskey"), nil, err + } + + acc, _ := simtypes.RandomAcc(r, accs) + if cons.String() == sdk.ConsAddress(acc.ConsKey.PubKey().Address()).String() { + return simtypes.NoOpMsg(types.ModuleName, msgType, "new pubkey and current pubkey should be different"), nil, nil } + account := ak.GetAccount(ctx, simAccount.Address) spendable := bk.SpendableCoins(ctx, account.GetAddress()) - msg, err := types.NewMsgRotateConsPubKey(address, acc.PubKey) + newConsAddr := sdk.ConsAddress(acc.ConsKey.PubKey().Address()) + + valAddr := val.GetOperator() + isExceed, _ := k.CheckLimitOfMaxRotationsExceed(ctx, valAddr) + if isExceed { + return simtypes.NoOpMsg(types.ModuleName, msgType, "rotations limit reached within unbondin period"), nil, nil + + } + + _, found = k.GetValidatorByConsAddr(ctx, newConsAddr) + if found { + return simtypes.NoOpMsg(types.ModuleName, msgType, "cons key already used"), nil, nil + } + + msg, err := types.NewMsgRotateConsPubKey(valAddr, acc.ConsKey.PubKey()) if err != nil { return simtypes.NoOpMsg(types.ModuleName, msgType, "unable build msg"), nil, err } From 022c893909ec67fc906402616b5eb55f2ac1b4cc Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 15 May 2023 18:41:10 +0530 Subject: [PATCH 081/106] fix failing test --- x/staking/simulation/operations.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index d1027af22126..97136c619bd1 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -24,7 +24,7 @@ const ( DefaultWeightMsgUndelegate int = 100 DefaultWeightMsgBeginRedelegate int = 100 DefaultWeightMsgCancelUnbondingDelegation int = 100 - DefaultWeightMsgRotateConsPubKey int = 100 + DefaultWeightMsgRotateConsPubKey int = 5 OpWeightMsgCreateValidator = "op_weight_msg_create_validator" OpWeightMsgEditValidator = "op_weight_msg_edit_validator" @@ -656,6 +656,10 @@ func SimulateMsgRotateConsPubKey(txGen client.TxConfig, ak types.AccountKeeper, } account := ak.GetAccount(ctx, simAccount.Address) + if account == nil { + return simtypes.NoOpMsg(types.ModuleName, msgType, "unable to find account"), nil, nil + } + spendable := bk.SpendableCoins(ctx, account.GetAddress()) newConsAddr := sdk.ConsAddress(acc.ConsKey.PubKey().Address()) From 34ecfb0f8beaf14bd6cbcd9b03cf5266925a361c Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 15 May 2023 19:21:51 +0530 Subject: [PATCH 082/106] lint --- x/staking/simulation/operations.go | 1 - 1 file changed, 1 deletion(-) diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index 97136c619bd1..7b43e121ba6c 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -668,7 +668,6 @@ func SimulateMsgRotateConsPubKey(txGen client.TxConfig, ak types.AccountKeeper, isExceed, _ := k.CheckLimitOfMaxRotationsExceed(ctx, valAddr) if isExceed { return simtypes.NoOpMsg(types.ModuleName, msgType, "rotations limit reached within unbondin period"), nil, nil - } _, found = k.GetValidatorByConsAddr(ctx, newConsAddr) From 0efa8c18e32b784ca46226668baa83cdd32d86e2 Mon Sep 17 00:00:00 2001 From: atheesh Date: Tue, 16 May 2023 16:13:30 +0530 Subject: [PATCH 083/106] try fixing failing sim --- x/distribution/keeper/allocation.go | 4 +++ .../testutil/expected_keepers_mocks.go | 14 ++++++++++ x/distribution/types/expected_keepers.go | 2 ++ x/slashing/keeper/infractions.go | 8 +++++- x/slashing/keeper/keeper.go | 18 +------------ x/slashing/keeper/signing_info.go | 2 +- x/slashing/testutil/expected_keepers_mocks.go | 26 +++++++++++++++++++ x/slashing/types/expected_keepers.go | 3 +++ x/slashing/types/keys.go | 5 ---- x/staking/keeper/cons_pubkey.go | 16 ++++++++++++ x/staking/types/keys.go | 5 ++++ 11 files changed, 79 insertions(+), 24 deletions(-) diff --git a/x/distribution/keeper/allocation.go b/x/distribution/keeper/allocation.go index da330c43e7a4..aef84ecdbb46 100644 --- a/x/distribution/keeper/allocation.go +++ b/x/distribution/keeper/allocation.go @@ -57,6 +57,10 @@ func (k Keeper) AllocateTokens(ctx context.Context, totalPreviousPower int64, bo // Ref: https://github.com/cosmos/cosmos-sdk/pull/3099#discussion_r246276376 for _, vote := range bondedVotes { validator := k.stakingKeeper.ValidatorByConsAddr(sdkCtx, vote.Validator.Address) + if validator == nil { + newConsKey := k.stakingKeeper.GetMappedConsKey(sdkCtx, vote.Validator.Address) + validator = k.stakingKeeper.ValidatorByConsAddr(sdkCtx, newConsKey) + } // TODO: Consider micro-slashing for missing votes. // diff --git a/x/distribution/testutil/expected_keepers_mocks.go b/x/distribution/testutil/expected_keepers_mocks.go index 864d22caf490..5450ebcd3f00 100644 --- a/x/distribution/testutil/expected_keepers_mocks.go +++ b/x/distribution/testutil/expected_keepers_mocks.go @@ -306,6 +306,20 @@ func (mr *MockStakingKeeperMockRecorder) GetAllValidators(ctx interface{}) *gomo return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllValidators", reflect.TypeOf((*MockStakingKeeper)(nil).GetAllValidators), ctx) } +// GetMappedConsKey mocks base method. +func (m *MockStakingKeeper) GetMappedConsKey(ctx types.Context, consAddr types.ConsAddress) types.ConsAddress { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetMappedConsKey", ctx, consAddr) + ret0, _ := ret[0].(types.ConsAddress) + return ret0 +} + +// GetMappedConsKey indicates an expected call of GetMappedConsKey. +func (mr *MockStakingKeeperMockRecorder) GetMappedConsKey(ctx, consAddr interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMappedConsKey", reflect.TypeOf((*MockStakingKeeper)(nil).GetMappedConsKey), ctx, consAddr) +} + // IterateDelegations mocks base method. func (m *MockStakingKeeper) IterateDelegations(ctx types.Context, delegator types.AccAddress, fn func(int64, types0.DelegationI) bool) { m.ctrl.T.Helper() diff --git a/x/distribution/types/expected_keepers.go b/x/distribution/types/expected_keepers.go index fd09e4c13c40..a852700c59ae 100644 --- a/x/distribution/types/expected_keepers.go +++ b/x/distribution/types/expected_keepers.go @@ -54,6 +54,8 @@ type StakingKeeper interface { GetAllSDKDelegations(ctx sdk.Context) []stakingtypes.Delegation GetAllValidators(ctx sdk.Context) (validators []stakingtypes.Validator) GetAllDelegatorDelegations(ctx sdk.Context, delegator sdk.AccAddress) []stakingtypes.Delegation + + GetMappedConsKey(ctx sdk.Context, consAddr sdk.ConsAddress) sdk.ConsAddress } // StakingHooks event hooks for staking validator object (noalias) diff --git a/x/slashing/keeper/infractions.go b/x/slashing/keeper/infractions.go index 0ad33ab85ba7..7d6830fb5bea 100644 --- a/x/slashing/keeper/infractions.go +++ b/x/slashing/keeper/infractions.go @@ -27,7 +27,13 @@ func (k Keeper) HandleValidatorSignature(ctx sdk.Context, addr cryptotypes.Addre // fetch signing info signInfo, found := k.GetValidatorSigningInfo(ctx, consAddr) if !found { - panic(fmt.Sprintf("Expected signing info for validator %s but not found", consAddr)) + newConsKey := k.sk.GetMappedConsKey(ctx, consAddr) + si, found := k.GetValidatorSigningInfo(ctx, newConsKey) + if !found { + panic(fmt.Sprintf("Expected signing info for validator %s but not found", consAddr)) + } + + signInfo = si } // Compute the relative index, so we count the blocks the validator *should* diff --git a/x/slashing/keeper/keeper.go b/x/slashing/keeper/keeper.go index 6789af97fabc..44e5fad2dcd1 100644 --- a/x/slashing/keeper/keeper.go +++ b/x/slashing/keeper/keeper.go @@ -60,22 +60,6 @@ func (k Keeper) AddPubkey(ctx sdk.Context, pubkey cryptotypes.PubKey) error { return nil } -// SetMappedConskey maps the old consensus key to rotated new consensus key -func (k Keeper) SetMappedConskey(ctx sdk.Context, oldConsAddr, newConsAddr sdk.ConsAddress) { - store := ctx.KVStore(k.storeKey) - key := types.GetKeyRotatedConsKey(oldConsAddr.Bytes()) - store.Set(key, newConsAddr.Bytes()) -} - -// SetMappedConskey gets the rotated consensus key with the old consensus key -func (k Keeper) GetMappedConsKey(ctx sdk.Context, consAddr sdk.ConsAddress) sdk.ConsAddress { - store := ctx.KVStore(k.storeKey) - key := types.GetKeyRotatedConsKey(consAddr.Bytes()) - bz := store.Get(key) - - return sdk.ConsAddress(bz) -} - // GetPubkey returns the pubkey from the adddress-pubkey relation func (k Keeper) GetPubkey(ctx sdk.Context, a cryptotypes.Address) (cryptotypes.PubKey, error) { store := ctx.KVStore(k.storeKey) @@ -89,7 +73,7 @@ func (k Keeper) GetPubkey(ctx sdk.Context, a cryptotypes.Address) (cryptotypes.P // GetMappedPubkey returns the pubkey from the adddress-pubkey relation of rotated consensus key func (k Keeper) GetMappedPubkey(ctx sdk.Context, a cryptotypes.Address) (sdk.ConsAddress, cryptotypes.PubKey, error) { - newConsAddr := k.GetMappedConsKey(ctx, a.Bytes()) + newConsAddr := k.sk.GetMappedConsKey(ctx, a.Bytes()) pk, err := k.GetPubkey(ctx, newConsAddr.Bytes()) return newConsAddr, pk, err } diff --git a/x/slashing/keeper/signing_info.go b/x/slashing/keeper/signing_info.go index adcc737af4fc..9e8274bb8f72 100644 --- a/x/slashing/keeper/signing_info.go +++ b/x/slashing/keeper/signing_info.go @@ -213,7 +213,7 @@ func (k Keeper) PerformConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey, newPubK } // Sets a map to newly rotated consensus key with old consensus key - k.SetMappedConskey(ctx, sdk.ConsAddress(oldPubKey.Address()), sdk.ConsAddress(newPubKey.Address())) + k.sk.SetMappedConskey(ctx, sdk.ConsAddress(oldPubKey.Address()), sdk.ConsAddress(newPubKey.Address())) return nil } diff --git a/x/slashing/testutil/expected_keepers_mocks.go b/x/slashing/testutil/expected_keepers_mocks.go index 037343fb226f..f800b9b7a022 100644 --- a/x/slashing/testutil/expected_keepers_mocks.go +++ b/x/slashing/testutil/expected_keepers_mocks.go @@ -281,6 +281,20 @@ func (mr *MockStakingKeeperMockRecorder) GetAllValidators(ctx interface{}) *gomo return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllValidators", reflect.TypeOf((*MockStakingKeeper)(nil).GetAllValidators), ctx) } +// GetMappedConsKey mocks base method. +func (m *MockStakingKeeper) GetMappedConsKey(ctx types.Context, consAddr types.ConsAddress) types.ConsAddress { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetMappedConsKey", ctx, consAddr) + ret0, _ := ret[0].(types.ConsAddress) + return ret0 +} + +// GetMappedConsKey indicates an expected call of GetMappedConsKey. +func (mr *MockStakingKeeperMockRecorder) GetMappedConsKey(ctx, consAddr interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMappedConsKey", reflect.TypeOf((*MockStakingKeeper)(nil).GetMappedConsKey), ctx, consAddr) +} + // IsValidatorJailed mocks base method. func (m *MockStakingKeeper) IsValidatorJailed(ctx types.Context, addr types.ConsAddress) bool { m.ctrl.T.Helper() @@ -333,6 +347,18 @@ func (mr *MockStakingKeeperMockRecorder) MaxValidators(arg0 interface{}) *gomock return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MaxValidators", reflect.TypeOf((*MockStakingKeeper)(nil).MaxValidators), arg0) } +// SetMappedConskey mocks base method. +func (m *MockStakingKeeper) SetMappedConskey(ctx types.Context, oldConsAddr, newConsAddr types.ConsAddress) { + m.ctrl.T.Helper() + m.ctrl.Call(m, "SetMappedConskey", ctx, oldConsAddr, newConsAddr) +} + +// SetMappedConskey indicates an expected call of SetMappedConskey. +func (mr *MockStakingKeeperMockRecorder) SetMappedConskey(ctx, oldConsAddr, newConsAddr interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetMappedConskey", reflect.TypeOf((*MockStakingKeeper)(nil).SetMappedConskey), ctx, oldConsAddr, newConsAddr) +} + // Slash mocks base method. func (m *MockStakingKeeper) Slash(arg0 types.Context, arg1 types.ConsAddress, arg2, arg3 int64, arg4 math.LegacyDec) math.Int { m.ctrl.T.Helper() diff --git a/x/slashing/types/expected_keepers.go b/x/slashing/types/expected_keepers.go index 2e57cf09d28a..850686f267e4 100644 --- a/x/slashing/types/expected_keepers.go +++ b/x/slashing/types/expected_keepers.go @@ -58,6 +58,9 @@ type StakingKeeper interface { // IsValidatorJailed returns if the validator is jailed. IsValidatorJailed(ctx sdk.Context, addr sdk.ConsAddress) bool + + SetMappedConskey(ctx sdk.Context, oldConsAddr, newConsAddr sdk.ConsAddress) + GetMappedConsKey(ctx sdk.Context, consAddr sdk.ConsAddress) sdk.ConsAddress } // StakingHooks event hooks for staking validator object (noalias) diff --git a/x/slashing/types/keys.go b/x/slashing/types/keys.go index 4590ec49f489..4a72925c7830 100644 --- a/x/slashing/types/keys.go +++ b/x/slashing/types/keys.go @@ -52,7 +52,6 @@ var ( ValidatorSigningInfoKeyPrefix = []byte{0x01} // Prefix for signing info ValidatorMissedBlockBitmapKeyPrefix = []byte{0x02} // Prefix for missed block bit array AddrPubkeyRelationKeyPrefix = []byte{0x03} // Prefix for address-pubkey relation - RotatedConsKeyIndex = []byte{0x04} // prefix for rotated cons address to new cons address ) // ValidatorSigningInfoKey - stored by *Consensus* address (not operator address) @@ -88,7 +87,3 @@ func ValidatorMissedBlockBitmapKey(v sdk.ConsAddress, chunkIndex int64) []byte { func AddrPubkeyRelationKey(addr []byte) []byte { return append(AddrPubkeyRelationKeyPrefix, address.MustLengthPrefix(addr)...) } - -func GetKeyRotatedConsKey(addr []byte) []byte { - return append(RotatedConsKeyIndex, addr...) -} diff --git a/x/staking/keeper/cons_pubkey.go b/x/staking/keeper/cons_pubkey.go index af41c07a6d90..51be5c36c198 100644 --- a/x/staking/keeper/cons_pubkey.go +++ b/x/staking/keeper/cons_pubkey.go @@ -155,3 +155,19 @@ func (k Keeper) CheckLimitOfMaxRotationsExceed(ctx sdk.Context, valAddr sdk.ValA return count >= k.MaxConsPubKeyRotations(ctx), count } + +// SetMappedConskey maps the old consensus key to rotated new consensus key +func (k Keeper) SetMappedConskey(ctx sdk.Context, oldConsAddr, newConsAddr sdk.ConsAddress) { + store := ctx.KVStore(k.storeKey) + key := types.GetKeyRotatedConsKey(oldConsAddr.Bytes()) + store.Set(key, newConsAddr.Bytes()) +} + +// SetMappedConskey gets the rotated consensus key with the old consensus key +func (k Keeper) GetMappedConsKey(ctx sdk.Context, consAddr sdk.ConsAddress) sdk.ConsAddress { + store := ctx.KVStore(k.storeKey) + key := types.GetKeyRotatedConsKey(consAddr.Bytes()) + bz := store.Get(key) + + return sdk.ConsAddress(bz) +} diff --git a/x/staking/types/keys.go b/x/staking/types/keys.go index 74412a44c17f..7001658f33fb 100644 --- a/x/staking/types/keys.go +++ b/x/staking/types/keys.go @@ -59,6 +59,7 @@ var ( BlockConsPubKeyRotationHistoryKey = []byte{0x71} // prefix for consPubkey rotation history by height ValidatorConsensusKeyRotationRecordQueueKey = []byte{0x72} // this key is used to set the unbonding period time on each rotation ValidatorConsensusKeyRotationRecordIndexKey = []byte{0x73} // this key is used to restrict the validator next rotation within waiting (unbonding) period + RotatedConsKeyMapIndex = []byte{0x74} // prefix for rotated cons address to new cons address ) // UnbondingType defines the type of unbonding operation @@ -467,3 +468,7 @@ func GetConsKeyIndexKey(valAddr sdk.ValAddress, timestamp time.Time) []byte { key := append(ValidatorConsensusKeyRotationRecordIndexKey, address.MustLengthPrefix(valAddr)...) return append(key, sdk.FormatTimeBytes(timestamp)...) } + +func GetKeyRotatedConsKey(addr []byte) []byte { + return append(RotatedConsKeyMapIndex, addr...) +} From 686b7bdcc9d868f5196fd4291a25a0ad73814ffe Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 17 May 2023 11:20:16 +0530 Subject: [PATCH 084/106] review changes --- docs/architecture/adr-016-validator-consensus-key-rotation.md | 4 +--- x/staking/keeper/msg_server.go | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/architecture/adr-016-validator-consensus-key-rotation.md b/docs/architecture/adr-016-validator-consensus-key-rotation.md index 60e19594d254..f0d743308b7f 100644 --- a/docs/architecture/adr-016-validator-consensus-key-rotation.md +++ b/docs/architecture/adr-016-validator-consensus-key-rotation.md @@ -34,9 +34,7 @@ Also, it should be noted that this ADR includes only the simplest form of consen * In current Tendermint design, consensus key rotations are seen as power changes from LCD or IBC perspective * Therefore, to minimize unnecessary frequent key rotation behavior, we limited maximum number of rotation in recent unbonding period and also applied exponentially increasing rotation fee * limits - * a validator cannot rotate its consensus key more than `MaxConsPubKeyRotations` time for any unbonding period, to prevent spam. - (Note: For now we are limiting the rotations to 1 time, in the upcoming staking refactor the full feature will be released) - * parameters can be decided by governance and stored in genesis file. + * rotations are limited to 1 time in an unbonding window. In future rewrites of the staking module it could be made to happen more times than 1 * key rotation fee * a validator should pay `KeyRotationFee` to rotate the consensus key which is calculated as below * `KeyRotationFee` = (max(`VotingPowerPercentage`, 1)* `InitialKeyRotationFee`) * 2^(number of rotations in `ConsPubKeyRotationHistory` in recent unbonding period) diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index 1fe272299977..1efd65e6c474 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -595,7 +595,7 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC } // Check if the signing account has enough balance to pay KeyRotationFee - // pays KeyRotationFee to community fund. + // KeyRotationFees are sent to the community fund. rotationFee := k.getRotationFee(ctx, validator.GetBondedTokens(), rotationsMade) err = k.Keeper.bankKeeper.SendCoinsFromAccountToModule(ctx, sdk.AccAddress(valAddr), distrtypes.ModuleName, sdk.NewCoins(rotationFee)) if err != nil { @@ -642,7 +642,7 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC } // getRotationFee calculates and returns the fee for rotation based on the previous rotations -// KeyRotationFee = (max(VotingPowerPercentage, 1) * InitialKeyRotationFee) * 2^(number ofrotations in ConsPubKeyRotationHistory in recent unbonding period) +// KeyRotationFee = (max(VotingPowerPercentage, 1) * InitialKeyRotationFee) * 2^(number of rotations in ConsPubKeyRotationHistory in recent unbonding period) func (k msgServer) getRotationFee(ctx sdk.Context, valBondedTokens math.Int, rotationsMade uint32) sdk.Coin { totalBondedTokens := k.TotalBondedTokens(ctx) From 170193bc7b36f98be9fcb078bc787daa0eb2ec9f Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 17 May 2023 11:46:46 +0530 Subject: [PATCH 085/106] proto --- proto/cosmos/staking/v1beta1/staking.proto | 2 -- 1 file changed, 2 deletions(-) diff --git a/proto/cosmos/staking/v1beta1/staking.proto b/proto/cosmos/staking/v1beta1/staking.proto index 15e783643c64..20ef63b1bd7a 100644 --- a/proto/cosmos/staking/v1beta1/staking.proto +++ b/proto/cosmos/staking/v1beta1/staking.proto @@ -326,8 +326,6 @@ message Params { (gogoproto.nullable) = false, (amino.dont_omitempty) = true ]; - // max_cons_pubkey_rotations is maximum number of consensus pubkey rotations - uint32 max_cons_pubkey_rotations = 8; } // DelegationResponse is equivalent to Delegation except that it contains a From 225909ebfb7e71047a4efd4732886be64b6f3bed Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Wed, 17 May 2023 06:22:14 +0000 Subject: [PATCH 086/106] proto-gen --- api/cosmos/staking/v1beta1/staking.pulsar.go | 324 ++-- x/staking/types/staking.pb.go | 1683 +++++++++--------- 2 files changed, 953 insertions(+), 1054 deletions(-) diff --git a/api/cosmos/staking/v1beta1/staking.pulsar.go b/api/cosmos/staking/v1beta1/staking.pulsar.go index 4a749065a19b..2937ab9b8f7d 100644 --- a/api/cosmos/staking/v1beta1/staking.pulsar.go +++ b/api/cosmos/staking/v1beta1/staking.pulsar.go @@ -9409,15 +9409,14 @@ func (x *fastReflection_Redelegation) ProtoMethods() *protoiface.Methods { } var ( - md_Params protoreflect.MessageDescriptor - fd_Params_unbonding_time protoreflect.FieldDescriptor - fd_Params_max_validators protoreflect.FieldDescriptor - fd_Params_max_entries protoreflect.FieldDescriptor - fd_Params_historical_entries protoreflect.FieldDescriptor - fd_Params_bond_denom protoreflect.FieldDescriptor - fd_Params_min_commission_rate protoreflect.FieldDescriptor - fd_Params_key_rotation_fee protoreflect.FieldDescriptor - fd_Params_max_cons_pubkey_rotations protoreflect.FieldDescriptor + md_Params protoreflect.MessageDescriptor + fd_Params_unbonding_time protoreflect.FieldDescriptor + fd_Params_max_validators protoreflect.FieldDescriptor + fd_Params_max_entries protoreflect.FieldDescriptor + fd_Params_historical_entries protoreflect.FieldDescriptor + fd_Params_bond_denom protoreflect.FieldDescriptor + fd_Params_min_commission_rate protoreflect.FieldDescriptor + fd_Params_key_rotation_fee protoreflect.FieldDescriptor ) func init() { @@ -9430,7 +9429,6 @@ func init() { fd_Params_bond_denom = md_Params.Fields().ByName("bond_denom") fd_Params_min_commission_rate = md_Params.Fields().ByName("min_commission_rate") fd_Params_key_rotation_fee = md_Params.Fields().ByName("key_rotation_fee") - fd_Params_max_cons_pubkey_rotations = md_Params.Fields().ByName("max_cons_pubkey_rotations") } var _ protoreflect.Message = (*fastReflection_Params)(nil) @@ -9540,12 +9538,6 @@ func (x *fastReflection_Params) Range(f func(protoreflect.FieldDescriptor, proto return } } - if x.MaxConsPubkeyRotations != uint32(0) { - value := protoreflect.ValueOfUint32(x.MaxConsPubkeyRotations) - if !f(fd_Params_max_cons_pubkey_rotations, value) { - return - } - } } // Has reports whether a field is populated. @@ -9575,8 +9567,6 @@ func (x *fastReflection_Params) Has(fd protoreflect.FieldDescriptor) bool { return x.MinCommissionRate != "" case "cosmos.staking.v1beta1.Params.key_rotation_fee": return x.KeyRotationFee != nil - case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": - return x.MaxConsPubkeyRotations != uint32(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9607,8 +9597,6 @@ func (x *fastReflection_Params) Clear(fd protoreflect.FieldDescriptor) { x.MinCommissionRate = "" case "cosmos.staking.v1beta1.Params.key_rotation_fee": x.KeyRotationFee = nil - case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": - x.MaxConsPubkeyRotations = uint32(0) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9646,9 +9634,6 @@ func (x *fastReflection_Params) Get(descriptor protoreflect.FieldDescriptor) pro case "cosmos.staking.v1beta1.Params.key_rotation_fee": value := x.KeyRotationFee return protoreflect.ValueOfMessage(value.ProtoReflect()) - case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": - value := x.MaxConsPubkeyRotations - return protoreflect.ValueOfUint32(value) default: if descriptor.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9683,8 +9668,6 @@ func (x *fastReflection_Params) Set(fd protoreflect.FieldDescriptor, value proto x.MinCommissionRate = value.Interface().(string) case "cosmos.staking.v1beta1.Params.key_rotation_fee": x.KeyRotationFee = value.Message().Interface().(*v1beta1.Coin) - case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": - x.MaxConsPubkeyRotations = uint32(value.Uint()) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9725,8 +9708,6 @@ func (x *fastReflection_Params) Mutable(fd protoreflect.FieldDescriptor) protore panic(fmt.Errorf("field bond_denom of message cosmos.staking.v1beta1.Params is not mutable")) case "cosmos.staking.v1beta1.Params.min_commission_rate": panic(fmt.Errorf("field min_commission_rate of message cosmos.staking.v1beta1.Params is not mutable")) - case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": - panic(fmt.Errorf("field max_cons_pubkey_rotations of message cosmos.staking.v1beta1.Params is not mutable")) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9756,8 +9737,6 @@ func (x *fastReflection_Params) NewField(fd protoreflect.FieldDescriptor) protor case "cosmos.staking.v1beta1.Params.key_rotation_fee": m := new(v1beta1.Coin) return protoreflect.ValueOfMessage(m.ProtoReflect()) - case "cosmos.staking.v1beta1.Params.max_cons_pubkey_rotations": - return protoreflect.ValueOfUint32(uint32(0)) default: if fd.IsExtension() { panic(fmt.Errorf("proto3 declared messages do not support extensions: cosmos.staking.v1beta1.Params")) @@ -9852,9 +9831,6 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { l = options.Size(x.KeyRotationFee) n += 1 + l + runtime.Sov(uint64(l)) } - if x.MaxConsPubkeyRotations != 0 { - n += 1 + runtime.Sov(uint64(x.MaxConsPubkeyRotations)) - } if x.unknownFields != nil { n += len(x.unknownFields) } @@ -9884,11 +9860,6 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { i -= len(x.unknownFields) copy(dAtA[i:], x.unknownFields) } - if x.MaxConsPubkeyRotations != 0 { - i = runtime.EncodeVarint(dAtA, i, uint64(x.MaxConsPubkeyRotations)) - i-- - dAtA[i] = 0x40 - } if x.KeyRotationFee != nil { encoded, err := options.Marshal(x.KeyRotationFee) if err != nil { @@ -10188,25 +10159,6 @@ func (x *fastReflection_Params) ProtoMethods() *protoiface.Methods { return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, err } iNdEx = postIndex - case 8: - if wireType != 0 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, fmt.Errorf("proto: wrong wireType = %d for field MaxConsPubkeyRotations", wireType) - } - x.MaxConsPubkeyRotations = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, runtime.ErrIntOverflow - } - if iNdEx >= l { - return protoiface.UnmarshalOutput{NoUnkeyedLiterals: input.NoUnkeyedLiterals, Flags: input.Flags}, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - x.MaxConsPubkeyRotations |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := runtime.Skip(dAtA[iNdEx:]) @@ -15062,8 +15014,6 @@ type Params struct { // key_rotation_fee is fee to be spent when rotating validator's key // (either consensus pubkey or operator key) KeyRotationFee *v1beta1.Coin `protobuf:"bytes,7,opt,name=key_rotation_fee,json=keyRotationFee,proto3" json:"key_rotation_fee,omitempty"` - // max_cons_pubkey_rotations is maximum number of consensus pubkey rotations - MaxConsPubkeyRotations uint32 `protobuf:"varint,8,opt,name=max_cons_pubkey_rotations,json=maxConsPubkeyRotations,proto3" json:"max_cons_pubkey_rotations,omitempty"` } func (x *Params) Reset() { @@ -15135,13 +15085,6 @@ func (x *Params) GetKeyRotationFee() *v1beta1.Coin { return nil } -func (x *Params) GetMaxConsPubkeyRotations() uint32 { - if x != nil { - return x.MaxConsPubkeyRotations - } - return 0 -} - // DelegationResponse is equivalent to Delegation except that it contains a // balance in addition to shares which is more suitable for client responses. type DelegationResponse struct { @@ -15755,7 +15698,7 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, - 0xb2, 0x04, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x75, 0x6e, + 0xf7, 0x03, 0x0a, 0x06, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x75, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0d, 0xc8, @@ -15784,133 +15727,130 @@ var file_cosmos_staking_v1beta1_staking_proto_rawDesc = []byte{ 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0e, 0x6b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x46, 0x65, 0x65, 0x12, 0x39, 0x0a, 0x19, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, - 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x73, 0x50, - 0x75, 0x62, 0x6b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x24, - 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x1b, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, - 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0a, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0a, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x07, 0x62, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, - 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, - 0x01, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, - 0x22, 0xde, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, - 0x0a, 0x12, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, - 0x52, 0x11, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x56, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, - 0x6e, 0x74, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, - 0x01, 0x22, 0xc9, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x72, 0x65, - 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, - 0x01, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x56, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, + 0x46, 0x65, 0x65, 0x3a, 0x24, 0xe8, 0xa0, 0x1f, 0x01, 0x8a, 0xe7, 0xb0, 0x2a, 0x1b, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x78, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x2f, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x12, 0x44, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x4d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, + 0xb0, 0x2a, 0x01, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x3e, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, + 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x3a, + 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0xde, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, - 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x8e, 0x02, - 0x0a, 0x04, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, - 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x56, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, - 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, - 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0f, 0x6e, 0x6f, 0x74, 0x42, - 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x77, 0x0a, 0x0d, 0x62, - 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x52, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, - 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, - 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x73, 0x3a, 0x08, 0xe8, 0xa0, 0x1f, 0x01, 0xf0, 0xa0, 0x1f, 0x01, 0x22, 0x59, - 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x73, 0x12, 0x45, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x74, - 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, - 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0xed, 0x02, 0x0a, 0x19, 0x43, 0x6f, - 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x10, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x1b, 0xf2, 0xde, 0x1f, 0x17, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x22, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x52, 0x0f, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x56, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, - 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x18, - 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x6f, 0x6c, 0x64, 0x43, 0x6f, 0x6e, - 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x56, 0x0a, 0x0f, 0x6e, 0x65, 0x77, 0x5f, 0x63, - 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x18, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, - 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, - 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x36, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x62, 0x61, - 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x69, 0x6e, 0x42, - 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x03, 0x66, 0x65, 0x65, 0x3a, - 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x53, 0x0a, 0x19, 0x56, 0x61, 0x6c, - 0x41, 0x64, 0x64, 0x72, 0x73, 0x4f, 0x66, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, - 0x6e, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x2a, 0xb6, - 0x01, 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, 0x0a, - 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x0f, 0x8a, 0x9d, 0x20, 0x0b, - 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x26, 0x0a, 0x14, 0x42, - 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, - 0x44, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, 0x9d, 0x20, 0x08, 0x55, 0x6e, 0x62, 0x6f, 0x6e, - 0x64, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x1a, 0x0d, - 0x8a, 0x9d, 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, - 0x12, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x42, 0x4f, 0x4e, - 0x44, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, 0x9d, 0x20, 0x06, 0x42, 0x6f, 0x6e, 0x64, 0x65, - 0x64, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x0a, 0x49, 0x6e, 0x66, 0x72, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x17, 0x0a, - 0x13, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x57, 0x4e, - 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x42, 0xdc, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, - 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, - 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, - 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, - 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x12, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, + 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x11, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x56, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3c, 0xc8, 0xde, 0x1f, 0x00, 0xda, + 0xde, 0x1f, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, + 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, + 0x3a, 0x04, 0xe8, 0xa0, 0x1f, 0x01, 0x22, 0xc9, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x64, 0x65, 0x6c, + 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x53, 0x0a, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, + 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, + 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x72, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, + 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, + 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x04, 0xe8, 0xa0, + 0x1f, 0x00, 0x22, 0x8e, 0x02, 0x0a, 0x04, 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x82, 0x01, 0x0a, 0x11, + 0x6e, 0x6f, 0x74, 0x5f, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x56, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, + 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x11, 0x6e, 0x6f, 0x74, 0x5f, 0x62, + 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, + 0x0f, 0x6e, 0x6f, 0x74, 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, + 0x12, 0x77, 0x0a, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x52, 0xc8, 0xde, 0x1f, 0x00, 0xda, 0xde, 0x1f, + 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xea, 0xde, 0x1f, 0x0d, 0x62, 0x6f, 0x6e, 0x64, 0x65, + 0x64, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0xd2, 0xb4, 0x2d, 0x0a, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x0c, 0x62, 0x6f, 0x6e, + 0x64, 0x65, 0x64, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x3a, 0x08, 0xe8, 0xa0, 0x1f, 0x01, 0xf0, + 0xa0, 0x1f, 0x01, 0x22, 0x59, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x6e, 0x64, 0x65, + 0x72, 0x6d, 0x69, 0x6e, 0x74, 0x2e, 0x61, 0x62, 0x63, 0x69, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, + 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0xed, + 0x02, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x10, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xf2, 0xde, 0x1f, 0x17, 0x79, 0x61, 0x6d, 0x6c, + 0x3a, 0x22, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x22, 0x52, 0x0f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x56, 0x0a, 0x0f, 0x6f, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x73, + 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x41, 0x6e, 0x79, 0x42, 0x18, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x6f, + 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x56, 0x0a, 0x0f, + 0x6e, 0x65, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x18, 0xca, 0xb4, 0x2d, + 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, + 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, + 0x62, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x36, 0x0a, 0x03, + 0x66, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x43, 0x6f, 0x69, 0x6e, 0x42, 0x09, 0xc8, 0xde, 0x1f, 0x00, 0xa8, 0xe7, 0xb0, 0x2a, 0x01, 0x52, + 0x03, 0x66, 0x65, 0x65, 0x3a, 0x08, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x22, 0x53, + 0x0a, 0x19, 0x56, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x73, 0x4f, 0x66, 0x52, 0x6f, 0x74, 0x61, + 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x36, 0x0a, 0x09, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x18, + 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x65, 0x73, 0x2a, 0xb6, 0x01, 0x0a, 0x0a, 0x42, 0x6f, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x2c, 0x0a, 0x17, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, + 0x0f, 0x8a, 0x9d, 0x20, 0x0b, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x12, 0x26, 0x0a, 0x14, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x0c, 0x8a, 0x9d, 0x20, 0x08, + 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x15, 0x42, 0x4f, 0x4e, 0x44, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x42, 0x4f, 0x4e, 0x44, 0x49, 0x4e, + 0x47, 0x10, 0x02, 0x1a, 0x0d, 0x8a, 0x9d, 0x20, 0x09, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x12, 0x42, 0x4f, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x42, 0x4f, 0x4e, 0x44, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x0a, 0x8a, 0x9d, 0x20, 0x06, + 0x42, 0x6f, 0x6e, 0x64, 0x65, 0x64, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x0a, + 0x49, 0x6e, 0x66, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, + 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x49, 0x47, 0x4e, + 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x02, 0x42, 0xdc, 0x01, 0x0a, 0x1a, + 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0c, 0x53, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index 80875caf8ab5..a8d3fe2254c9 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -935,8 +935,6 @@ type Params struct { // key_rotation_fee is fee to be spent when rotating validator's key // (either consensus pubkey or operator key) KeyRotationFee types2.Coin `protobuf:"bytes,7,opt,name=key_rotation_fee,json=keyRotationFee,proto3" json:"key_rotation_fee"` - // max_cons_pubkey_rotations is maximum number of consensus pubkey rotations - MaxConsPubkeyRotations uint32 `protobuf:"varint,8,opt,name=max_cons_pubkey_rotations,json=maxConsPubkeyRotations,proto3" json:"max_cons_pubkey_rotations,omitempty"` } func (m *Params) Reset() { *m = Params{} } @@ -1014,13 +1012,6 @@ func (m *Params) GetKeyRotationFee() types2.Coin { return types2.Coin{} } -func (m *Params) GetMaxConsPubkeyRotations() uint32 { - if m != nil { - return m.MaxConsPubkeyRotations - } - return 0 -} - // DelegationResponse is equivalent to Delegation except that it contains a // balance in addition to shares which is more suitable for client responses. type DelegationResponse struct { @@ -1390,135 +1381,134 @@ func init() { } var fileDescriptor_64c30c6cf92913c9 = []byte{ - // 2043 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x4f, 0x6c, 0x63, 0x47, - 0x19, 0xcf, 0xb3, 0x5d, 0x27, 0xf9, 0x1c, 0xc7, 0xce, 0x6c, 0x9a, 0x75, 0xbc, 0x10, 0xbb, 0xee, - 0xd2, 0xa6, 0xab, 0xae, 0xc3, 0x06, 0xa9, 0x12, 0xa1, 0x02, 0xc5, 0x71, 0xd2, 0x75, 0xb7, 0x4d, - 0xa2, 0xe7, 0x24, 0x50, 0xfe, 0xe8, 0x69, 0xfc, 0xde, 0xd8, 0x79, 0xc4, 0x9e, 0x67, 0xbd, 0x19, - 0xef, 0xc6, 0x57, 0xc4, 0xa1, 0xca, 0x01, 0x2a, 0x71, 0xe1, 0xb2, 0xd2, 0x4a, 0x5c, 0xca, 0xad, - 0x42, 0x15, 0x3d, 0x20, 0x0e, 0xdc, 0x0a, 0x5c, 0x56, 0x3d, 0x21, 0x0e, 0x01, 0xed, 0x1e, 0x5a, - 0x21, 0x21, 0xa1, 0xde, 0xe0, 0x84, 0x66, 0xde, 0xbc, 0x3f, 0x8e, 0xe3, 0xcd, 0x1f, 0x05, 0x54, - 0xa9, 0x17, 0xfb, 0xcd, 0xcc, 0xf7, 0xfd, 0x66, 0xbe, 0xbf, 0x33, 0xdf, 0x07, 0x37, 0x4d, 0x87, - 0x75, 0x1c, 0xb6, 0xc4, 0x38, 0x3e, 0xb0, 0x69, 0x6b, 0xe9, 0xfe, 0x9d, 0x06, 0xe1, 0xf8, 0x8e, - 0x3f, 0x2e, 0x77, 0x5d, 0x87, 0x3b, 0x68, 0xce, 0xa3, 0x2a, 0xfb, 0xb3, 0x8a, 0x2a, 0x3f, 0xdb, - 0x72, 0x5a, 0x8e, 0x24, 0x59, 0x12, 0x5f, 0x1e, 0x75, 0x7e, 0xbe, 0xe5, 0x38, 0xad, 0x36, 0x59, - 0x92, 0xa3, 0x46, 0xaf, 0xb9, 0x84, 0x69, 0x5f, 0x2d, 0x2d, 0x9c, 0x5c, 0xb2, 0x7a, 0x2e, 0xe6, - 0xb6, 0x43, 0xd5, 0x7a, 0xe1, 0xe4, 0x3a, 0xb7, 0x3b, 0x84, 0x71, 0xdc, 0xe9, 0xfa, 0xd8, 0xde, - 0x49, 0x0c, 0x6f, 0x53, 0x75, 0x2c, 0x85, 0xad, 0x44, 0x69, 0x60, 0x46, 0x02, 0x39, 0x4c, 0xc7, - 0xf6, 0xb1, 0x67, 0x70, 0xc7, 0xa6, 0xce, 0x92, 0xfc, 0x55, 0x53, 0x5f, 0xe1, 0x84, 0x5a, 0xc4, - 0xed, 0xd8, 0x94, 0x2f, 0xf1, 0x7e, 0x97, 0x30, 0xef, 0x57, 0xad, 0xde, 0x88, 0xac, 0xe2, 0x86, - 0x69, 0x47, 0x17, 0x4b, 0xbf, 0xd0, 0x60, 0xfa, 0xae, 0xcd, 0xb8, 0xe3, 0xda, 0x26, 0x6e, 0xd7, - 0x68, 0xd3, 0x41, 0xdf, 0x82, 0xe4, 0x3e, 0xc1, 0x16, 0x71, 0x73, 0x5a, 0x51, 0x5b, 0x4c, 0x2d, - 0xe7, 0xca, 0x21, 0x40, 0xd9, 0xe3, 0xbd, 0x2b, 0xd7, 0x2b, 0x93, 0x1f, 0x1f, 0x17, 0xc6, 0xde, - 0xff, 0xf4, 0x83, 0x5b, 0x9a, 0xae, 0x58, 0x50, 0x15, 0x92, 0xf7, 0x71, 0x9b, 0x11, 0x9e, 0x8b, - 0x15, 0xe3, 0x8b, 0xa9, 0xe5, 0x17, 0xca, 0xa7, 0xeb, 0xbc, 0xbc, 0x87, 0xdb, 0xb6, 0x85, 0xb9, - 0x33, 0x88, 0xe2, 0xf1, 0x96, 0x3e, 0x8a, 0x41, 0x66, 0xcd, 0xe9, 0x74, 0x6c, 0xc6, 0x6c, 0x87, - 0xea, 0x98, 0x13, 0x86, 0x76, 0x21, 0xe1, 0x62, 0x4e, 0xe4, 0xa1, 0x26, 0x2b, 0xab, 0x82, 0xe9, - 0xaf, 0xc7, 0x85, 0x97, 0x5a, 0x36, 0xdf, 0xef, 0x35, 0xca, 0xa6, 0xd3, 0x51, 0x6a, 0x54, 0x7f, - 0xb7, 0x99, 0x75, 0xa0, 0x24, 0xad, 0x12, 0xf3, 0x93, 0x0f, 0x6f, 0x83, 0x3a, 0x48, 0x95, 0x98, - 0xde, 0x66, 0x12, 0x0e, 0xfd, 0x10, 0x26, 0x3a, 0xf8, 0xd0, 0x90, 0xd0, 0xb1, 0xab, 0x82, 0x1e, - 0xef, 0xe0, 0x43, 0x71, 0x6a, 0x64, 0x43, 0x46, 0xa0, 0x9b, 0xfb, 0x98, 0xb6, 0x88, 0xb7, 0x49, - 0xfc, 0xaa, 0x36, 0x49, 0x77, 0xf0, 0xe1, 0x9a, 0x04, 0x16, 0x5b, 0xad, 0x24, 0x3e, 0x7b, 0x54, - 0xd0, 0x4a, 0x7f, 0xd0, 0x00, 0x42, 0xcd, 0x21, 0x0c, 0x59, 0x33, 0x18, 0xc9, 0xfd, 0x99, 0xb2, - 0xea, 0xcb, 0xa3, 0x0c, 0x73, 0x42, 0xef, 0x95, 0xb4, 0x38, 0xe9, 0xe3, 0xe3, 0x82, 0xe6, 0xed, - 0x9a, 0x31, 0x4f, 0xd8, 0xe5, 0x4d, 0x48, 0xf5, 0xba, 0x16, 0xe6, 0xc4, 0x10, 0x4e, 0x2e, 0x75, - 0x98, 0x5a, 0xce, 0x97, 0xbd, 0x08, 0x28, 0xfb, 0x11, 0x50, 0xde, 0xf1, 0x23, 0xc0, 0x03, 0x7c, - 0xef, 0x6f, 0x3e, 0x20, 0x78, 0xdc, 0x62, 0x5d, 0xc9, 0xf0, 0xbe, 0x06, 0xa9, 0x2a, 0x61, 0xa6, - 0x6b, 0x77, 0x45, 0x4c, 0xa1, 0x1c, 0x8c, 0x77, 0x1c, 0x6a, 0x1f, 0x28, 0x8f, 0x9c, 0xd4, 0xfd, - 0x21, 0xca, 0xc3, 0x84, 0x6d, 0x11, 0xca, 0x6d, 0xde, 0xf7, 0x8c, 0xa7, 0x07, 0x63, 0xc1, 0xf5, - 0x80, 0x34, 0x98, 0xed, 0xab, 0x5c, 0xf7, 0x87, 0xe8, 0x15, 0xc8, 0x32, 0x62, 0xf6, 0x5c, 0x9b, - 0xf7, 0x0d, 0xd3, 0xa1, 0x1c, 0x9b, 0x3c, 0x97, 0x90, 0x24, 0x19, 0x7f, 0x7e, 0xcd, 0x9b, 0x16, - 0x20, 0x16, 0xe1, 0xd8, 0x6e, 0xb3, 0xdc, 0x73, 0x1e, 0x88, 0x1a, 0xaa, 0xa3, 0x7e, 0x34, 0x0e, - 0x93, 0x81, 0x27, 0xa3, 0x35, 0xc8, 0x3a, 0x5d, 0xe2, 0x8a, 0x6f, 0x03, 0x5b, 0x96, 0x4b, 0x18, - 0x53, 0xee, 0x9a, 0xfb, 0xe4, 0xc3, 0xdb, 0xb3, 0x4a, 0xe1, 0xab, 0xde, 0x4a, 0x9d, 0xbb, 0x36, - 0x6d, 0xe9, 0x19, 0x9f, 0x43, 0x4d, 0xa3, 0x77, 0x84, 0xc9, 0x28, 0x23, 0x94, 0xf5, 0x98, 0xd1, - 0xed, 0x35, 0x0e, 0x48, 0x5f, 0x29, 0x75, 0x76, 0x48, 0xa9, 0xab, 0xb4, 0x5f, 0xc9, 0xfd, 0x29, - 0x84, 0x36, 0xdd, 0x7e, 0x97, 0x3b, 0xe5, 0xed, 0x5e, 0xe3, 0x1e, 0xe9, 0x0b, 0x53, 0x29, 0x9c, - 0x6d, 0x09, 0x83, 0xe6, 0x20, 0xf9, 0x63, 0x6c, 0xb7, 0x89, 0x25, 0x35, 0x32, 0xa1, 0xab, 0x11, - 0x5a, 0x81, 0x24, 0xe3, 0x98, 0xf7, 0x98, 0x54, 0xc3, 0xf4, 0x72, 0x69, 0x94, 0x6f, 0x54, 0x1c, - 0x6a, 0xd5, 0x25, 0xa5, 0xae, 0x38, 0xd0, 0x0e, 0x24, 0xb9, 0x73, 0x40, 0xa8, 0x52, 0x50, 0xe5, - 0xf5, 0x0b, 0x38, 0x76, 0x8d, 0xf2, 0x88, 0x63, 0xd7, 0x28, 0xd7, 0x15, 0x16, 0x6a, 0x41, 0xd6, - 0x22, 0x6d, 0xd2, 0x92, 0xaa, 0x64, 0xfb, 0xd8, 0x25, 0x2c, 0x97, 0xbc, 0x30, 0xfe, 0x50, 0xe0, - 0xe8, 0x99, 0x00, 0xb5, 0x2e, 0x41, 0xd1, 0x36, 0xa4, 0xac, 0xd0, 0xd5, 0x72, 0xe3, 0x52, 0xd1, - 0x2f, 0x8e, 0x92, 0x3f, 0xe2, 0x95, 0xd1, 0xb4, 0x15, 0x85, 0x10, 0xde, 0xd5, 0xa3, 0x0d, 0x87, - 0x5a, 0x36, 0x6d, 0x19, 0xfb, 0xc4, 0x6e, 0xed, 0xf3, 0xdc, 0x44, 0x51, 0x5b, 0x8c, 0xeb, 0x99, - 0x60, 0xfe, 0xae, 0x9c, 0x46, 0xdb, 0x30, 0x1d, 0x92, 0xca, 0xe8, 0x99, 0xbc, 0x68, 0xf4, 0xa4, - 0x03, 0x00, 0x41, 0x82, 0xde, 0x06, 0x08, 0xe3, 0x33, 0x07, 0x12, 0xad, 0x74, 0x76, 0xa4, 0x47, - 0x85, 0x89, 0x00, 0xa0, 0x36, 0x5c, 0xeb, 0xd8, 0xd4, 0x60, 0xa4, 0xdd, 0x34, 0x94, 0xe6, 0x04, - 0x6e, 0xea, 0x0a, 0x2c, 0x3d, 0xd3, 0xb1, 0x69, 0x9d, 0xb4, 0x9b, 0xd5, 0x00, 0x16, 0xbd, 0x0e, - 0x37, 0x42, 0x75, 0x38, 0xd4, 0xd8, 0x77, 0xda, 0x96, 0xe1, 0x92, 0xa6, 0x61, 0x3a, 0x3d, 0xca, - 0x73, 0x53, 0x52, 0x89, 0xd7, 0x03, 0x92, 0x2d, 0x7a, 0xd7, 0x69, 0x5b, 0x3a, 0x69, 0xae, 0x89, - 0x65, 0xf4, 0x22, 0x84, 0xba, 0x30, 0x6c, 0x8b, 0xe5, 0xd2, 0xc5, 0xf8, 0x62, 0x42, 0x9f, 0x0a, - 0x26, 0x6b, 0x16, 0x5b, 0x99, 0x78, 0xf7, 0x51, 0x61, 0xec, 0xb3, 0x47, 0x85, 0xb1, 0xd2, 0x06, - 0x4c, 0xed, 0xe1, 0xb6, 0x0a, 0x3a, 0xc2, 0xd0, 0x6b, 0x30, 0x89, 0xfd, 0x41, 0x4e, 0x2b, 0xc6, - 0x9f, 0x19, 0xb4, 0x21, 0x69, 0xe9, 0x91, 0x06, 0xc9, 0xea, 0xde, 0x36, 0xb6, 0x5d, 0xb4, 0x0e, - 0x33, 0xa1, 0xd3, 0x9e, 0x37, 0xfe, 0x43, 0x3f, 0xf7, 0x13, 0xc0, 0x3a, 0xcc, 0xdc, 0xf7, 0x53, - 0x4a, 0x00, 0x13, 0x3b, 0x0b, 0x26, 0x60, 0x51, 0xf3, 0x11, 0x51, 0xdf, 0x84, 0x71, 0xef, 0x84, - 0x0c, 0x7d, 0x07, 0x9e, 0xeb, 0x8a, 0x0f, 0x29, 0x61, 0x6a, 0x79, 0x61, 0xa4, 0xa3, 0x4b, 0xfa, - 0xa8, 0x5b, 0x78, 0x7c, 0xa5, 0x7f, 0x6b, 0x00, 0xd5, 0xbd, 0xbd, 0x1d, 0xd7, 0xee, 0xb6, 0x09, - 0xbf, 0x2a, 0x91, 0xdf, 0x82, 0xe7, 0x43, 0x91, 0x99, 0x6b, 0x9e, 0x5b, 0xec, 0x6b, 0x01, 0x5b, - 0xdd, 0x35, 0x4f, 0x45, 0xb3, 0x18, 0x0f, 0xd0, 0xe2, 0xe7, 0x46, 0xab, 0x32, 0x3e, 0xac, 0xc7, - 0xef, 0x41, 0x2a, 0x14, 0x9d, 0xa1, 0x1a, 0x4c, 0x70, 0xf5, 0xad, 0xd4, 0x59, 0x1a, 0xad, 0x4e, - 0x9f, 0x2d, 0xaa, 0xd2, 0x80, 0xbd, 0xf4, 0x1f, 0xa1, 0xd5, 0x30, 0x10, 0xbe, 0x50, 0x8e, 0x24, - 0x32, 0xbc, 0xca, 0xc0, 0xf1, 0x2b, 0xc8, 0xc0, 0x0a, 0x2b, 0xa2, 0xd6, 0x9f, 0xc6, 0xe0, 0xda, - 0xae, 0x1f, 0xa4, 0x5f, 0x58, 0x2d, 0xec, 0xc2, 0x38, 0xa1, 0xdc, 0xb5, 0xa5, 0x1a, 0x84, 0xb1, - 0xbf, 0x3e, 0xca, 0xd8, 0xa7, 0xc8, 0xb2, 0x4e, 0xb9, 0xdb, 0x8f, 0x9a, 0xde, 0xc7, 0x8a, 0xa8, - 0xe1, 0xf7, 0x71, 0xc8, 0x8d, 0x62, 0x45, 0x2f, 0x43, 0xc6, 0x74, 0x89, 0x9c, 0xf0, 0xef, 0x14, - 0x4d, 0xa6, 0xc3, 0x69, 0x7f, 0x5a, 0x5d, 0x29, 0x3a, 0x88, 0x07, 0x9a, 0xf0, 0x2a, 0x41, 0x7a, - 0xb9, 0x17, 0xd9, 0x74, 0x88, 0x20, 0x2f, 0x15, 0x02, 0x19, 0x9b, 0xda, 0xdc, 0xc6, 0x6d, 0xa3, - 0x81, 0xdb, 0x98, 0x9a, 0xe4, 0x12, 0x9e, 0x30, 0x7c, 0x03, 0x4c, 0x2b, 0xd0, 0x8a, 0x87, 0x89, - 0xf6, 0x60, 0xdc, 0x87, 0x4f, 0x5c, 0x01, 0xbc, 0x0f, 0x86, 0x5e, 0x80, 0xa9, 0xe8, 0xc5, 0x20, - 0xdf, 0x29, 0x09, 0x3d, 0x15, 0xb9, 0x17, 0xce, 0xba, 0x79, 0x92, 0xcf, 0xbc, 0x79, 0xd4, 0x53, - 0xf0, 0x77, 0x71, 0x98, 0xd1, 0x89, 0xf5, 0x25, 0x34, 0xdc, 0x0f, 0x00, 0xbc, 0xa0, 0x16, 0xc9, - 0xf6, 0x12, 0xb6, 0x1b, 0x4e, 0x12, 0x93, 0x1e, 0x5e, 0x95, 0xf1, 0xff, 0x97, 0xf5, 0xfe, 0x1c, - 0x83, 0xa9, 0xa8, 0xf5, 0xbe, 0x04, 0x37, 0x1b, 0xda, 0x0c, 0x53, 0x5a, 0x42, 0xa6, 0xb4, 0x57, - 0x46, 0xa5, 0xb4, 0x21, 0xbf, 0x3e, 0x23, 0x97, 0xfd, 0x26, 0x01, 0xc9, 0x6d, 0xec, 0xe2, 0x0e, - 0x43, 0x5b, 0x43, 0x6f, 0x5c, 0xaf, 0xfe, 0x9c, 0x1f, 0x72, 0xeb, 0xaa, 0xea, 0xa1, 0x78, 0x5e, - 0xfd, 0xcb, 0x51, 0x4f, 0xdc, 0xaf, 0xc1, 0xb4, 0x28, 0xa9, 0x03, 0x81, 0x3c, 0x55, 0xa6, 0x65, - 0x39, 0x1c, 0x94, 0x62, 0x0c, 0x15, 0x20, 0x25, 0xc8, 0xc2, 0x9c, 0x2d, 0x68, 0xa0, 0x83, 0x0f, - 0xd7, 0xbd, 0x19, 0x74, 0x1b, 0xd0, 0x7e, 0xd0, 0xf8, 0x30, 0x42, 0x45, 0x08, 0xba, 0x99, 0x70, - 0xc5, 0x27, 0xff, 0x2a, 0x80, 0x38, 0x85, 0x61, 0x11, 0xea, 0x74, 0x54, 0x31, 0x38, 0x29, 0x66, - 0xaa, 0x62, 0x02, 0xfd, 0x5c, 0xf3, 0x9e, 0xca, 0x27, 0xaa, 0x6d, 0x55, 0xb4, 0x18, 0x17, 0x8b, - 0x86, 0xcf, 0x8f, 0x0b, 0xf9, 0x3e, 0xee, 0xb4, 0x57, 0x4a, 0xa7, 0x40, 0x96, 0x4e, 0xeb, 0x05, - 0x88, 0xd7, 0xf4, 0x60, 0xe1, 0x8e, 0x36, 0x21, 0x7b, 0x40, 0xfa, 0x86, 0xeb, 0x70, 0x2f, 0xfb, - 0x34, 0x09, 0x51, 0xe5, 0xcd, 0xbc, 0x6f, 0xe6, 0x06, 0x66, 0x24, 0x52, 0x0d, 0xd8, 0x03, 0x75, - 0xc0, 0xf4, 0x01, 0xe9, 0xeb, 0x8a, 0x79, 0x83, 0x10, 0xf4, 0x4d, 0x98, 0x97, 0xad, 0x0c, 0x87, - 0xfa, 0x65, 0x69, 0x80, 0xcd, 0x64, 0x81, 0x93, 0xd6, 0xe7, 0x3a, 0xf8, 0x70, 0xcd, 0xa1, 0xaa, - 0xdc, 0xf4, 0x99, 0xd9, 0xca, 0x4d, 0x11, 0x62, 0x47, 0x9f, 0x7e, 0x70, 0xeb, 0x46, 0x44, 0xda, - 0xc3, 0xa0, 0x59, 0xe7, 0x79, 0x4a, 0xe9, 0xd7, 0x1a, 0xa0, 0xf0, 0xde, 0xd3, 0x09, 0xeb, 0x8a, - 0xf2, 0x55, 0x94, 0x34, 0x91, 0xd2, 0x43, 0x7b, 0x76, 0x49, 0x13, 0xf2, 0x0f, 0x94, 0x34, 0x91, - 0xb8, 0xfe, 0x76, 0x78, 0xcb, 0xc4, 0x2e, 0xa0, 0x0d, 0x9f, 0x49, 0xa6, 0x8b, 0xb1, 0xd2, 0xb1, - 0x06, 0xf3, 0x43, 0x41, 0x11, 0x1c, 0xd9, 0x04, 0xe4, 0x46, 0x16, 0xa5, 0x73, 0xf5, 0xd5, 0xd1, - 0x2f, 0x17, 0x63, 0x33, 0xee, 0xd0, 0xcd, 0xf2, 0x3f, 0xba, 0x2e, 0x55, 0x3e, 0xfc, 0xa3, 0x06, - 0xb3, 0xd1, 0x13, 0x05, 0xb2, 0xd5, 0x61, 0x2a, 0x7a, 0x16, 0x25, 0xd5, 0xcd, 0xf3, 0x48, 0x15, - 0x15, 0x68, 0x00, 0x44, 0xc8, 0xe2, 0x07, 0xa0, 0xd7, 0x36, 0xbc, 0x73, 0x6e, 0x2d, 0xf9, 0x07, - 0x3b, 0x35, 0x23, 0x79, 0xc6, 0xfa, 0x59, 0x0c, 0x12, 0xdb, 0x8e, 0xd3, 0x46, 0x3f, 0xd1, 0x60, - 0x86, 0x3a, 0xdc, 0x10, 0x61, 0x4b, 0x2c, 0x43, 0xf5, 0x2d, 0xbc, 0xa4, 0xbe, 0x77, 0x31, 0xed, - 0xfd, 0xe3, 0xb8, 0x30, 0x0c, 0x35, 0xa8, 0x52, 0xd5, 0x2f, 0xa3, 0x0e, 0xaf, 0x48, 0xa2, 0x1d, - 0xaf, 0xb5, 0xf1, 0x00, 0xd2, 0x83, 0xfb, 0x7b, 0x37, 0x81, 0x7e, 0xe1, 0xfd, 0xd3, 0x67, 0xee, - 0x3d, 0xd5, 0x88, 0x6c, 0xbc, 0x32, 0x21, 0x0c, 0xfb, 0x2f, 0x61, 0xdc, 0x77, 0x20, 0x1b, 0x64, - 0xca, 0x5d, 0xd9, 0x7d, 0x13, 0xcf, 0xe4, 0x71, 0xaf, 0x11, 0xe7, 0x17, 0x33, 0xc5, 0x68, 0xdb, - 0x17, 0x37, 0x4c, 0xbb, 0x7c, 0x82, 0x67, 0x40, 0xe3, 0x8a, 0xb7, 0xf4, 0xcf, 0x18, 0xcc, 0xab, - 0x14, 0x70, 0x2f, 0x4c, 0x01, 0x5e, 0x87, 0xb9, 0x8f, 0x36, 0x46, 0x36, 0xc8, 0x6e, 0x7c, 0x7e, - 0x5c, 0xb8, 0xee, 0xe5, 0xbc, 0x93, 0x14, 0xa5, 0xe1, 0x1e, 0xd9, 0x1e, 0x64, 0xc4, 0x1d, 0x1f, - 0xc9, 0x45, 0x97, 0x6c, 0x91, 0xa5, 0x9d, 0xb6, 0x15, 0x66, 0x2c, 0x81, 0x4b, 0xc9, 0x83, 0x01, - 0xdc, 0xf8, 0xe5, 0x70, 0x29, 0x79, 0x10, 0xc1, 0x9d, 0x83, 0xa4, 0x7a, 0xfc, 0x25, 0xe4, 0xf3, - 0x45, 0x8d, 0xd0, 0x6b, 0x10, 0x17, 0x69, 0xf9, 0xb9, 0x0b, 0x24, 0x22, 0xc1, 0x10, 0xb9, 0x69, - 0xeb, 0x30, 0xaf, 0xda, 0x18, 0x6c, 0xab, 0x29, 0xd5, 0x4d, 0xa4, 0x40, 0xf7, 0x48, 0xff, 0xd2, - 0x3d, 0x8d, 0x5b, 0xbf, 0xd5, 0x00, 0xc2, 0x56, 0x1f, 0x7a, 0x15, 0xae, 0x57, 0xb6, 0x36, 0xab, - 0x46, 0x7d, 0x67, 0x75, 0x67, 0xb7, 0x6e, 0xec, 0x6e, 0xd6, 0xb7, 0xd7, 0xd7, 0x6a, 0x1b, 0xb5, - 0xf5, 0x6a, 0x76, 0x2c, 0x9f, 0x39, 0x7a, 0x58, 0x4c, 0xed, 0x52, 0xd6, 0x25, 0xa6, 0xdd, 0xb4, - 0x89, 0x85, 0x5e, 0x82, 0xd9, 0x41, 0x6a, 0x31, 0x5a, 0xaf, 0x66, 0xb5, 0xfc, 0xd4, 0xd1, 0xc3, - 0xe2, 0x84, 0x57, 0xe2, 0x10, 0x0b, 0x2d, 0xc2, 0xf3, 0xc3, 0x74, 0xb5, 0xcd, 0x37, 0xb2, 0xb1, - 0x7c, 0xfa, 0xe8, 0x61, 0x71, 0x32, 0xa8, 0x85, 0x50, 0x09, 0x50, 0x94, 0x52, 0xe1, 0xc5, 0xf3, - 0x70, 0xf4, 0xb0, 0x98, 0xf4, 0x62, 0x2b, 0x9f, 0x78, 0xf7, 0x57, 0x0b, 0x63, 0xb7, 0x7e, 0x04, - 0x50, 0xa3, 0x4d, 0x17, 0x9b, 0x32, 0xab, 0xe4, 0x61, 0xae, 0xb6, 0xb9, 0xa1, 0xaf, 0xae, 0xed, - 0xd4, 0xb6, 0x36, 0x07, 0x8f, 0x7d, 0x62, 0xad, 0xba, 0xb5, 0x5b, 0x79, 0x6b, 0xdd, 0xa8, 0xd7, - 0xde, 0xd8, 0xcc, 0x6a, 0xe8, 0x3a, 0x5c, 0x1b, 0x58, 0xfb, 0xee, 0xe6, 0x4e, 0xed, 0xed, 0xf5, - 0x6c, 0xac, 0xb2, 0xf1, 0xf1, 0x93, 0x05, 0xed, 0xf1, 0x93, 0x05, 0xed, 0xef, 0x4f, 0x16, 0xb4, - 0xf7, 0x9e, 0x2e, 0x8c, 0x3d, 0x7e, 0xba, 0x30, 0xf6, 0x97, 0xa7, 0x0b, 0x63, 0xdf, 0x7f, 0xf5, - 0x99, 0x51, 0x1b, 0x5e, 0x75, 0x32, 0x7e, 0x1b, 0x49, 0xe9, 0x45, 0xdf, 0xf8, 0x6f, 0x00, 0x00, - 0x00, 0xff, 0xff, 0xb9, 0x46, 0x4b, 0x0c, 0xb6, 0x1a, 0x00, 0x00, + // 2020 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x58, 0x4b, 0x6c, 0x1b, 0xc7, + 0x19, 0xd6, 0x92, 0x34, 0x25, 0xfd, 0x94, 0x44, 0x6a, 0xec, 0xd8, 0x14, 0xdd, 0x8a, 0x0c, 0xe3, + 0x26, 0x8e, 0x11, 0x53, 0xb5, 0x0b, 0xe4, 0xa0, 0x06, 0x2d, 0x4c, 0x51, 0x8a, 0x99, 0x87, 0x24, + 0x2c, 0x25, 0xb5, 0xe9, 0x03, 0x8b, 0xe1, 0xee, 0x90, 0xda, 0x8a, 0x9c, 0x25, 0x76, 0x86, 0xb6, + 0x79, 0x2d, 0x7a, 0x08, 0x74, 0x68, 0x03, 0xf4, 0xd2, 0x8b, 0x01, 0x03, 0xbd, 0xa4, 0xb7, 0x1c, + 0x82, 0xe6, 0x50, 0xf4, 0xd0, 0x5b, 0xda, 0x5e, 0x8c, 0x9c, 0x8a, 0x1e, 0xd4, 0xc2, 0x3e, 0x24, + 0x28, 0x50, 0xa0, 0xc8, 0xa5, 0x68, 0x4f, 0xc5, 0x3c, 0xf6, 0x41, 0x51, 0xb4, 0x1e, 0x55, 0x8b, + 0x00, 0xb9, 0x90, 0x3b, 0x33, 0xff, 0xff, 0xcd, 0xfc, 0xcf, 0x99, 0xff, 0x87, 0x6b, 0xb6, 0xc7, + 0xba, 0x1e, 0x5b, 0x62, 0x1c, 0xef, 0xb9, 0xb4, 0xbd, 0x74, 0xef, 0x56, 0x93, 0x70, 0x7c, 0x2b, + 0x18, 0x57, 0x7a, 0xbe, 0xc7, 0x3d, 0x74, 0x59, 0x51, 0x55, 0x82, 0x59, 0x4d, 0x55, 0xb8, 0xd4, + 0xf6, 0xda, 0x9e, 0x24, 0x59, 0x12, 0x5f, 0x8a, 0xba, 0xb0, 0xd0, 0xf6, 0xbc, 0x76, 0x87, 0x2c, + 0xc9, 0x51, 0xb3, 0xdf, 0x5a, 0xc2, 0x74, 0xa0, 0x97, 0x16, 0x0f, 0x2f, 0x39, 0x7d, 0x1f, 0x73, + 0xd7, 0xa3, 0x7a, 0xbd, 0x78, 0x78, 0x9d, 0xbb, 0x5d, 0xc2, 0x38, 0xee, 0xf6, 0x02, 0x6c, 0x75, + 0x12, 0x4b, 0x6d, 0xaa, 0x8f, 0xa5, 0xb1, 0xb5, 0x28, 0x4d, 0xcc, 0x48, 0x28, 0x87, 0xed, 0xb9, + 0x01, 0xf6, 0x3c, 0xee, 0xba, 0xd4, 0x5b, 0x92, 0xbf, 0x7a, 0xea, 0x2b, 0x9c, 0x50, 0x87, 0xf8, + 0x5d, 0x97, 0xf2, 0x25, 0x3e, 0xe8, 0x11, 0xa6, 0x7e, 0xf5, 0xea, 0xd5, 0xd8, 0x2a, 0x6e, 0xda, + 0x6e, 0x7c, 0xb1, 0xfc, 0x73, 0x03, 0xe6, 0xee, 0xba, 0x8c, 0x7b, 0xbe, 0x6b, 0xe3, 0x4e, 0x9d, + 0xb6, 0x3c, 0xf4, 0x4d, 0x48, 0xef, 0x12, 0xec, 0x10, 0x3f, 0x6f, 0x94, 0x8c, 0xeb, 0x99, 0xdb, + 0xf9, 0x4a, 0x04, 0x50, 0x51, 0xbc, 0x77, 0xe5, 0x7a, 0x75, 0xfa, 0xe3, 0x83, 0xe2, 0xc4, 0xfb, + 0x9f, 0x7e, 0x70, 0xc3, 0x30, 0x35, 0x0b, 0xaa, 0x41, 0xfa, 0x1e, 0xee, 0x30, 0xc2, 0xf3, 0x89, + 0x52, 0xf2, 0x7a, 0xe6, 0xf6, 0xf3, 0x95, 0xa3, 0x75, 0x5e, 0xd9, 0xc1, 0x1d, 0xd7, 0xc1, 0xdc, + 0x1b, 0x46, 0x51, 0xbc, 0xe5, 0x8f, 0x12, 0x90, 0x5d, 0xf1, 0xba, 0x5d, 0x97, 0x31, 0xd7, 0xa3, + 0x26, 0xe6, 0x84, 0xa1, 0x6d, 0x48, 0xf9, 0x98, 0x13, 0x79, 0xa8, 0xe9, 0xea, 0x1d, 0xc1, 0xf4, + 0xe7, 0x83, 0xe2, 0x8b, 0x6d, 0x97, 0xef, 0xf6, 0x9b, 0x15, 0xdb, 0xeb, 0x6a, 0x35, 0xea, 0xbf, + 0x9b, 0xcc, 0xd9, 0xd3, 0x92, 0xd6, 0x88, 0xfd, 0xc9, 0x87, 0x37, 0x41, 0x1f, 0xa4, 0x46, 0x6c, + 0xb5, 0x99, 0x84, 0x43, 0x3f, 0x80, 0xa9, 0x2e, 0x7e, 0x60, 0x49, 0xe8, 0xc4, 0x79, 0x41, 0x4f, + 0x76, 0xf1, 0x03, 0x71, 0x6a, 0xe4, 0x42, 0x56, 0xa0, 0xdb, 0xbb, 0x98, 0xb6, 0x89, 0xda, 0x24, + 0x79, 0x5e, 0x9b, 0xcc, 0x76, 0xf1, 0x83, 0x15, 0x09, 0x2c, 0xb6, 0x5a, 0x4e, 0x7d, 0xf6, 0xa8, + 0x68, 0x94, 0x7f, 0x67, 0x00, 0x44, 0x9a, 0x43, 0x18, 0x72, 0x76, 0x38, 0x92, 0xfb, 0x33, 0x6d, + 0xd5, 0x97, 0xc6, 0x19, 0xe6, 0x90, 0xde, 0xab, 0xb3, 0xe2, 0xa4, 0x8f, 0x0f, 0x8a, 0x86, 0xda, + 0x35, 0x6b, 0x1f, 0xb2, 0xcb, 0x1b, 0x90, 0xe9, 0xf7, 0x1c, 0xcc, 0x89, 0x25, 0x9c, 0x5c, 0xea, + 0x30, 0x73, 0xbb, 0x50, 0x51, 0x11, 0x50, 0x09, 0x22, 0xa0, 0xb2, 0x15, 0x44, 0x80, 0x02, 0x7c, + 0xef, 0x2f, 0x01, 0x20, 0x28, 0x6e, 0xb1, 0xae, 0x65, 0x78, 0xdf, 0x80, 0x4c, 0x8d, 0x30, 0xdb, + 0x77, 0x7b, 0x22, 0xa6, 0x50, 0x1e, 0x26, 0xbb, 0x1e, 0x75, 0xf7, 0xb4, 0x47, 0x4e, 0x9b, 0xc1, + 0x10, 0x15, 0x60, 0xca, 0x75, 0x08, 0xe5, 0x2e, 0x1f, 0x28, 0xe3, 0x99, 0xe1, 0x58, 0x70, 0xdd, + 0x27, 0x4d, 0xe6, 0x06, 0x2a, 0x37, 0x83, 0x21, 0x7a, 0x19, 0x72, 0x8c, 0xd8, 0x7d, 0xdf, 0xe5, + 0x03, 0xcb, 0xf6, 0x28, 0xc7, 0x36, 0xcf, 0xa7, 0x24, 0x49, 0x36, 0x98, 0x5f, 0x51, 0xd3, 0x02, + 0xc4, 0x21, 0x1c, 0xbb, 0x1d, 0x96, 0xbf, 0xa0, 0x40, 0xf4, 0x50, 0x1f, 0xf5, 0xa3, 0x49, 0x98, + 0x0e, 0x3d, 0x19, 0xad, 0x40, 0xce, 0xeb, 0x11, 0x5f, 0x7c, 0x5b, 0xd8, 0x71, 0x7c, 0xc2, 0x98, + 0x76, 0xd7, 0xfc, 0x27, 0x1f, 0xde, 0xbc, 0xa4, 0x15, 0x7e, 0x47, 0xad, 0x34, 0xb8, 0xef, 0xd2, + 0xb6, 0x99, 0x0d, 0x38, 0xf4, 0x34, 0x7a, 0x47, 0x98, 0x8c, 0x32, 0x42, 0x59, 0x9f, 0x59, 0xbd, + 0x7e, 0x73, 0x8f, 0x0c, 0xb4, 0x52, 0x2f, 0x8d, 0x28, 0xf5, 0x0e, 0x1d, 0x54, 0xf3, 0x7f, 0x88, + 0xa0, 0x6d, 0x7f, 0xd0, 0xe3, 0x5e, 0x65, 0xb3, 0xdf, 0x7c, 0x93, 0x0c, 0x84, 0xa9, 0x34, 0xce, + 0xa6, 0x84, 0x41, 0x97, 0x21, 0xfd, 0x23, 0xec, 0x76, 0x88, 0x23, 0x35, 0x32, 0x65, 0xea, 0x11, + 0x5a, 0x86, 0x34, 0xe3, 0x98, 0xf7, 0x99, 0x54, 0xc3, 0xdc, 0xed, 0xf2, 0x38, 0xdf, 0xa8, 0x7a, + 0xd4, 0x69, 0x48, 0x4a, 0x53, 0x73, 0xa0, 0x2d, 0x48, 0x73, 0x6f, 0x8f, 0x50, 0xad, 0xa0, 0xea, + 0x6b, 0xa7, 0x70, 0xec, 0x3a, 0xe5, 0x31, 0xc7, 0xae, 0x53, 0x6e, 0x6a, 0x2c, 0xd4, 0x86, 0x9c, + 0x43, 0x3a, 0xa4, 0x2d, 0x55, 0xc9, 0x76, 0xb1, 0x4f, 0x58, 0x3e, 0x7d, 0x6a, 0xfc, 0x91, 0xc0, + 0x31, 0xb3, 0x21, 0x6a, 0x43, 0x82, 0xa2, 0x4d, 0xc8, 0x38, 0x91, 0xab, 0xe5, 0x27, 0xa5, 0xa2, + 0x5f, 0x18, 0x27, 0x7f, 0xcc, 0x2b, 0xe3, 0x69, 0x2b, 0x0e, 0x21, 0xbc, 0xab, 0x4f, 0x9b, 0x1e, + 0x75, 0x5c, 0xda, 0xb6, 0x76, 0x89, 0xdb, 0xde, 0xe5, 0xf9, 0xa9, 0x92, 0x71, 0x3d, 0x69, 0x66, + 0xc3, 0xf9, 0xbb, 0x72, 0x1a, 0x6d, 0xc2, 0x5c, 0x44, 0x2a, 0xa3, 0x67, 0xfa, 0xb4, 0xd1, 0x33, + 0x1b, 0x02, 0x08, 0x12, 0xf4, 0x36, 0x40, 0x14, 0x9f, 0x79, 0x90, 0x68, 0xe5, 0xe3, 0x23, 0x3d, + 0x2e, 0x4c, 0x0c, 0x00, 0x75, 0xe0, 0x62, 0xd7, 0xa5, 0x16, 0x23, 0x9d, 0x96, 0xa5, 0x35, 0x27, + 0x70, 0x33, 0xe7, 0x60, 0xe9, 0xf9, 0xae, 0x4b, 0x1b, 0xa4, 0xd3, 0xaa, 0x85, 0xb0, 0xe8, 0x35, + 0xb8, 0x1a, 0xa9, 0xc3, 0xa3, 0xd6, 0xae, 0xd7, 0x71, 0x2c, 0x9f, 0xb4, 0x2c, 0xdb, 0xeb, 0x53, + 0x9e, 0x9f, 0x91, 0x4a, 0xbc, 0x12, 0x92, 0x6c, 0xd0, 0xbb, 0x5e, 0xc7, 0x31, 0x49, 0x6b, 0x45, + 0x2c, 0xa3, 0x17, 0x20, 0xd2, 0x85, 0xe5, 0x3a, 0x2c, 0x3f, 0x5b, 0x4a, 0x5e, 0x4f, 0x99, 0x33, + 0xe1, 0x64, 0xdd, 0x61, 0xcb, 0x53, 0xef, 0x3e, 0x2a, 0x4e, 0x7c, 0xf6, 0xa8, 0x38, 0x51, 0x5e, + 0x83, 0x99, 0x1d, 0xdc, 0xd1, 0x41, 0x47, 0x18, 0x7a, 0x15, 0xa6, 0x71, 0x30, 0xc8, 0x1b, 0xa5, + 0xe4, 0x33, 0x83, 0x36, 0x22, 0x2d, 0x3f, 0x32, 0x20, 0x5d, 0xdb, 0xd9, 0xc4, 0xae, 0x8f, 0x56, + 0x61, 0x3e, 0x72, 0xda, 0x93, 0xc6, 0x7f, 0xe4, 0xe7, 0x41, 0x02, 0x58, 0x85, 0xf9, 0x7b, 0x41, + 0x4a, 0x09, 0x61, 0x12, 0xc7, 0xc1, 0x84, 0x2c, 0x7a, 0x3e, 0x26, 0xea, 0x1b, 0x30, 0xa9, 0x4e, + 0xc8, 0xd0, 0xb7, 0xe1, 0x42, 0x4f, 0x7c, 0x48, 0x09, 0x33, 0xb7, 0x17, 0xc7, 0x3a, 0xba, 0xa4, + 0x8f, 0xbb, 0x85, 0xe2, 0x2b, 0xff, 0xcb, 0x00, 0xa8, 0xed, 0xec, 0x6c, 0xf9, 0x6e, 0xaf, 0x43, + 0xf8, 0x79, 0x89, 0xfc, 0x16, 0x3c, 0x17, 0x89, 0xcc, 0x7c, 0xfb, 0xc4, 0x62, 0x5f, 0x0c, 0xd9, + 0x1a, 0xbe, 0x7d, 0x24, 0x9a, 0xc3, 0x78, 0x88, 0x96, 0x3c, 0x31, 0x5a, 0x8d, 0xf1, 0x51, 0x3d, + 0x7e, 0x17, 0x32, 0x91, 0xe8, 0x0c, 0xd5, 0x61, 0x8a, 0xeb, 0x6f, 0xad, 0xce, 0xf2, 0x78, 0x75, + 0x06, 0x6c, 0x71, 0x95, 0x86, 0xec, 0xe5, 0x7f, 0x0b, 0xad, 0x46, 0x81, 0xf0, 0x85, 0x72, 0x24, + 0x91, 0xe1, 0x75, 0x06, 0x4e, 0x9e, 0x43, 0x06, 0xd6, 0x58, 0x31, 0xb5, 0xfe, 0x24, 0x01, 0x17, + 0xb7, 0x83, 0x20, 0xfd, 0xc2, 0x6a, 0x61, 0x1b, 0x26, 0x09, 0xe5, 0xbe, 0x2b, 0xd5, 0x20, 0x8c, + 0xfd, 0xf5, 0x71, 0xc6, 0x3e, 0x42, 0x96, 0x55, 0xca, 0xfd, 0x41, 0xdc, 0xf4, 0x01, 0x56, 0x4c, + 0x0d, 0xbf, 0x4d, 0x42, 0x7e, 0x1c, 0x2b, 0x7a, 0x09, 0xb2, 0xb6, 0x4f, 0xe4, 0x44, 0x70, 0xa7, + 0x18, 0x32, 0x1d, 0xce, 0x05, 0xd3, 0xfa, 0x4a, 0x31, 0x41, 0x3c, 0xd0, 0x84, 0x57, 0x09, 0xd2, + 0xb3, 0xbd, 0xc8, 0xe6, 0x22, 0x04, 0x79, 0xa9, 0x10, 0xc8, 0xba, 0xd4, 0xe5, 0x2e, 0xee, 0x58, + 0x4d, 0xdc, 0xc1, 0xd4, 0x26, 0x67, 0xf0, 0x84, 0xd1, 0x1b, 0x60, 0x4e, 0x83, 0x56, 0x15, 0x26, + 0xda, 0x81, 0xc9, 0x00, 0x3e, 0x75, 0x0e, 0xf0, 0x01, 0x18, 0x7a, 0x1e, 0x66, 0xe2, 0x17, 0x83, + 0x7c, 0xa7, 0xa4, 0xcc, 0x4c, 0xec, 0x5e, 0x38, 0xee, 0xe6, 0x49, 0x3f, 0xf3, 0xe6, 0xd1, 0x4f, + 0xc1, 0xdf, 0x24, 0x61, 0xde, 0x24, 0xce, 0x97, 0xd0, 0x70, 0xdf, 0x07, 0x50, 0x41, 0x2d, 0x92, + 0xed, 0x19, 0x6c, 0x37, 0x9a, 0x24, 0xa6, 0x15, 0x5e, 0x8d, 0xf1, 0xff, 0x97, 0xf5, 0xfe, 0x98, + 0x80, 0x99, 0xb8, 0xf5, 0xbe, 0x04, 0x37, 0x1b, 0x5a, 0x8f, 0x52, 0x5a, 0x4a, 0xa6, 0xb4, 0x97, + 0xc7, 0xa5, 0xb4, 0x11, 0xbf, 0x3e, 0x26, 0x97, 0xfd, 0x33, 0x09, 0xe9, 0x4d, 0xec, 0xe3, 0x2e, + 0x43, 0x1b, 0x23, 0x6f, 0x5c, 0x55, 0x7f, 0x2e, 0x8c, 0xb8, 0x75, 0x4d, 0xf7, 0x50, 0x94, 0x57, + 0xff, 0x62, 0xdc, 0x13, 0xf7, 0x6b, 0x30, 0x27, 0x4a, 0xea, 0x50, 0x20, 0xa5, 0xca, 0x59, 0x59, + 0x0e, 0x87, 0xa5, 0x18, 0x43, 0x45, 0xc8, 0x08, 0xb2, 0x28, 0x67, 0x0b, 0x1a, 0xe8, 0xe2, 0x07, + 0xab, 0x6a, 0x06, 0xdd, 0x04, 0xb4, 0x1b, 0x36, 0x3e, 0xac, 0x48, 0x11, 0x82, 0x6e, 0x3e, 0x5a, + 0x09, 0xc8, 0xbf, 0x0a, 0x20, 0x4e, 0x61, 0x39, 0x84, 0x7a, 0x5d, 0x5d, 0x0c, 0x4e, 0x8b, 0x99, + 0x9a, 0x98, 0x40, 0x3f, 0x33, 0xd4, 0x53, 0xf9, 0x50, 0xb5, 0xad, 0x8b, 0x16, 0xeb, 0x74, 0xd1, + 0xf0, 0xf9, 0x41, 0xb1, 0x30, 0xc0, 0xdd, 0xce, 0x72, 0xf9, 0x08, 0xc8, 0xf2, 0x51, 0xbd, 0x00, + 0xf1, 0x9a, 0x1e, 0x2e, 0xdc, 0xd1, 0x3a, 0xe4, 0xf6, 0xc8, 0xc0, 0xf2, 0x3d, 0xae, 0xb2, 0x4f, + 0x8b, 0x10, 0x5d, 0xde, 0x2c, 0x04, 0x66, 0x6e, 0x62, 0x46, 0x62, 0xd5, 0x80, 0x3b, 0x54, 0x07, + 0xcc, 0xed, 0x91, 0x81, 0xa9, 0x99, 0xd7, 0x08, 0x59, 0xbe, 0x26, 0xe2, 0x64, 0xff, 0xd3, 0x0f, + 0x6e, 0x5c, 0x8d, 0x1d, 0xf9, 0x41, 0xd8, 0x71, 0x53, 0xe6, 0x2e, 0xff, 0xca, 0x00, 0x14, 0x5d, + 0x5e, 0x26, 0x61, 0x3d, 0x51, 0x83, 0x8a, 0xba, 0x24, 0x56, 0x3f, 0x18, 0xcf, 0xae, 0x4b, 0x22, + 0xfe, 0xa1, 0xba, 0x24, 0x16, 0x9c, 0xdf, 0x8a, 0xae, 0x8a, 0xc4, 0x29, 0x44, 0x0a, 0x98, 0x64, + 0xcc, 0x4f, 0x94, 0x0f, 0x0c, 0x58, 0x18, 0xf1, 0xec, 0xf0, 0xc8, 0x36, 0x20, 0x3f, 0xb6, 0x28, + 0x3d, 0x64, 0xa0, 0x8f, 0x7e, 0xb6, 0x40, 0x99, 0xf7, 0x47, 0xae, 0x87, 0xff, 0xd1, 0x9d, 0xa7, + 0x93, 0xda, 0xef, 0x0d, 0xb8, 0x14, 0x3f, 0x51, 0x28, 0x5b, 0x03, 0x66, 0xe2, 0x67, 0xd1, 0x52, + 0x5d, 0x3b, 0x89, 0x54, 0x71, 0x81, 0x86, 0x40, 0x84, 0x2c, 0x41, 0x14, 0xa9, 0xde, 0xdf, 0xad, + 0x13, 0x6b, 0x29, 0x38, 0xd8, 0x91, 0x69, 0x45, 0x19, 0xeb, 0xa7, 0x09, 0x48, 0x6d, 0x7a, 0x5e, + 0x07, 0xfd, 0xd8, 0x80, 0x79, 0xea, 0x71, 0x4b, 0xc4, 0x1e, 0x71, 0x2c, 0xdd, 0x7c, 0x50, 0x99, + 0x79, 0xe7, 0x74, 0xda, 0xfb, 0xdb, 0x41, 0x71, 0x14, 0x6a, 0x58, 0xa5, 0xba, 0xe9, 0x45, 0x3d, + 0x5e, 0x95, 0x44, 0x5b, 0xaa, 0x3f, 0x71, 0x1f, 0x66, 0x87, 0xf7, 0x57, 0xe9, 0xdc, 0x3c, 0xf5, + 0xfe, 0xb3, 0xc7, 0xee, 0x3d, 0xd3, 0x8c, 0x6d, 0xbc, 0x3c, 0x25, 0x0c, 0xfb, 0x0f, 0x61, 0xdc, + 0x77, 0x20, 0x17, 0xa6, 0xbb, 0x6d, 0xd9, 0x42, 0x13, 0x6f, 0xdd, 0x49, 0xd5, 0x4d, 0x0b, 0x2a, + 0x92, 0x52, 0xbc, 0x77, 0x8b, 0x9b, 0xb6, 0x5b, 0x39, 0xc4, 0x33, 0xa4, 0x71, 0xcd, 0x5b, 0xfe, + 0x7b, 0x02, 0x16, 0x56, 0x3c, 0xca, 0x74, 0x1f, 0x49, 0x27, 0x01, 0xd5, 0x26, 0x1e, 0xa0, 0xb5, + 0xb1, 0x5d, 0xae, 0xab, 0x9f, 0x1f, 0x14, 0xaf, 0xa8, 0xc4, 0x75, 0x98, 0xa2, 0x3c, 0xda, 0xe8, + 0xda, 0x81, 0xac, 0xb8, 0xa8, 0x6d, 0x8f, 0xfe, 0x97, 0x7d, 0xae, 0x59, 0xaf, 0xe3, 0xe8, 0xe3, + 0xee, 0x11, 0x11, 0x53, 0x59, 0x4a, 0xee, 0x0f, 0xe1, 0x26, 0xcf, 0x86, 0x4b, 0xc9, 0xfd, 0x18, + 0xee, 0x65, 0x48, 0xeb, 0x17, 0x5c, 0x4a, 0xbe, 0x41, 0xf4, 0x08, 0xbd, 0x0a, 0x49, 0x91, 0x5b, + 0x2f, 0x9c, 0x22, 0x11, 0x09, 0x86, 0xd8, 0x75, 0xd9, 0x80, 0x05, 0xdd, 0x8b, 0x60, 0x1b, 0x2d, + 0xa9, 0x6e, 0x22, 0x05, 0x7a, 0x93, 0x0c, 0xce, 0xdc, 0x98, 0xb8, 0xf1, 0x6b, 0x03, 0x20, 0xea, + 0xd7, 0xa1, 0x57, 0xe0, 0x4a, 0x75, 0x63, 0xbd, 0x66, 0x35, 0xb6, 0xee, 0x6c, 0x6d, 0x37, 0xac, + 0xed, 0xf5, 0xc6, 0xe6, 0xea, 0x4a, 0x7d, 0xad, 0xbe, 0x5a, 0xcb, 0x4d, 0x14, 0xb2, 0xfb, 0x0f, + 0x4b, 0x99, 0x6d, 0xca, 0x7a, 0xc4, 0x76, 0x5b, 0x2e, 0x71, 0xd0, 0x8b, 0x70, 0x69, 0x98, 0x5a, + 0x8c, 0x56, 0x6b, 0x39, 0xa3, 0x30, 0xb3, 0xff, 0xb0, 0x34, 0xa5, 0xea, 0x14, 0xe2, 0xa0, 0xeb, + 0xf0, 0xdc, 0x28, 0x5d, 0x7d, 0xfd, 0xf5, 0x5c, 0xa2, 0x30, 0xbb, 0xff, 0xb0, 0x34, 0x1d, 0x16, + 0x34, 0xa8, 0x0c, 0x28, 0x4e, 0xa9, 0xf1, 0x92, 0x05, 0xd8, 0x7f, 0x58, 0x4a, 0xab, 0xd8, 0x2a, + 0xa4, 0xde, 0xfd, 0xe5, 0xe2, 0xc4, 0x8d, 0x1f, 0x02, 0xd4, 0x69, 0xcb, 0xc7, 0xb6, 0xcc, 0x2a, + 0x05, 0xb8, 0x5c, 0x5f, 0x5f, 0x33, 0xef, 0xac, 0x6c, 0xd5, 0x37, 0xd6, 0x87, 0x8f, 0x7d, 0x68, + 0xad, 0xb6, 0xb1, 0x5d, 0x7d, 0x6b, 0xd5, 0x6a, 0xd4, 0x5f, 0x5f, 0xcf, 0x19, 0xe8, 0x0a, 0x5c, + 0x1c, 0x5a, 0xfb, 0xce, 0xfa, 0x56, 0xfd, 0xed, 0xd5, 0x5c, 0xa2, 0xba, 0xf6, 0xf1, 0x93, 0x45, + 0xe3, 0xf1, 0x93, 0x45, 0xe3, 0xaf, 0x4f, 0x16, 0x8d, 0xf7, 0x9e, 0x2e, 0x4e, 0x3c, 0x7e, 0xba, + 0x38, 0xf1, 0xa7, 0xa7, 0x8b, 0x13, 0xdf, 0x7b, 0xe5, 0x99, 0x51, 0x1b, 0x5d, 0x75, 0x32, 0x7e, + 0x9b, 0x69, 0xe9, 0x45, 0xdf, 0xf8, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa0, 0xbd, 0xdc, 0xf1, + 0x7b, 0x1a, 0x00, 0x00, } func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { @@ -1527,700 +1517,699 @@ func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_go func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 11083 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0xbd, 0x7b, 0x90, 0x24, 0x47, - 0x5a, 0x18, 0x3e, 0xfd, 0xee, 0xfe, 0xfa, 0x55, 0x93, 0x33, 0xbb, 0x3b, 0xdb, 0x2b, 0xcd, 0x8c, - 0x4a, 0x27, 0xed, 0x43, 0xd2, 0xac, 0xb4, 0xd2, 0xae, 0xa4, 0xd9, 0xbb, 0x13, 0xdd, 0x3d, 0xbd, - 0xb3, 0xbd, 0x3b, 0xaf, 0xab, 0xee, 0xd9, 0x93, 0x04, 0x5c, 0x51, 0x53, 0x9d, 0x33, 0x53, 0xda, - 0xee, 0xaa, 0xbe, 0xaa, 0xea, 0xdd, 0x19, 0xc5, 0x2f, 0x7e, 0x71, 0x70, 0x80, 0x8f, 0x35, 0x86, - 0xc3, 0x38, 0xe0, 0x78, 0x2c, 0xd6, 0x81, 0x81, 0x03, 0xbf, 0x78, 0xf9, 0x0e, 0x4c, 0x40, 0x80, - 0xc3, 0x0f, 0xc0, 0x0e, 0xc7, 0x41, 0x38, 0x6c, 0xc2, 0x61, 0xcb, 0xa0, 0x23, 0xcc, 0x19, 0x0e, - 0x03, 0x67, 0x61, 0x1b, 0x5f, 0xf8, 0x11, 0xf9, 0xaa, 0x47, 0x3f, 0xa6, 0x7b, 0x16, 0x49, 0xc6, - 0x71, 0xff, 0xec, 0x76, 0x66, 0x7e, 0xdf, 0x97, 0x99, 0x5f, 0x7e, 0xf9, 0xbd, 0x32, 0x2b, 0x07, - 0x7e, 0xb7, 0x02, 0x8b, 0x7b, 0x96, 0xb5, 0xd7, 0xc6, 0x17, 0xbb, 0xb6, 0xe5, 0x5a, 0x3b, 0xbd, - 0xdd, 0x8b, 0x2d, 0xec, 0xe8, 0xb6, 0xd1, 0x75, 0x2d, 0x7b, 0x89, 0xd6, 0xa1, 0x22, 0x83, 0x58, - 0x12, 0x10, 0xf2, 0x3a, 0x4c, 0x5f, 0x33, 0xda, 0x78, 0xc5, 0x03, 0x6c, 0x60, 0x17, 0xbd, 0x00, - 0xf1, 0x5d, 0xa3, 0x8d, 0xe7, 0x22, 0x8b, 0xb1, 0x73, 0xd9, 0x4b, 0xef, 0x5b, 0xea, 0x43, 0x5a, - 0x0a, 0x63, 0x6c, 0x91, 0x6a, 0x85, 0x62, 0xc8, 0xff, 0x2b, 0x0e, 0x33, 0x43, 0x5a, 0x11, 0x82, - 0xb8, 0xa9, 0x75, 0x08, 0xc5, 0xc8, 0xb9, 0x8c, 0x42, 0x7f, 0xa3, 0x39, 0x48, 0x75, 0x35, 0xfd, - 0xb6, 0xb6, 0x87, 0xe7, 0xa2, 0xb4, 0x5a, 0x14, 0xd1, 0x3c, 0x40, 0x0b, 0x77, 0xb1, 0xd9, 0xc2, - 0xa6, 0x7e, 0x38, 0x17, 0x5b, 0x8c, 0x9d, 0xcb, 0x28, 0x81, 0x1a, 0xf4, 0x04, 0x4c, 0x77, 0x7b, - 0x3b, 0x6d, 0x43, 0x57, 0x03, 0x60, 0xb0, 0x18, 0x3b, 0x97, 0x50, 0x24, 0xd6, 0xb0, 0xe2, 0x03, - 0x9f, 0x85, 0xe2, 0x5d, 0xac, 0xdd, 0x0e, 0x82, 0x66, 0x29, 0x68, 0x81, 0x54, 0x07, 0x00, 0xab, - 0x90, 0xeb, 0x60, 0xc7, 0xd1, 0xf6, 0xb0, 0xea, 0x1e, 0x76, 0xf1, 0x5c, 0x9c, 0xce, 0x7e, 0x71, - 0x60, 0xf6, 0xfd, 0x33, 0xcf, 0x72, 0xac, 0xe6, 0x61, 0x17, 0xa3, 0x32, 0x64, 0xb0, 0xd9, 0xeb, - 0x30, 0x0a, 0x89, 0x11, 0xfc, 0xab, 0x99, 0xbd, 0x4e, 0x3f, 0x95, 0x34, 0x41, 0xe3, 0x24, 0x52, - 0x0e, 0xb6, 0xef, 0x18, 0x3a, 0x9e, 0x4b, 0x52, 0x02, 0x67, 0x07, 0x08, 0x34, 0x58, 0x7b, 0x3f, - 0x0d, 0x81, 0x87, 0xaa, 0x90, 0xc1, 0x07, 0x2e, 0x36, 0x1d, 0xc3, 0x32, 0xe7, 0x52, 0x94, 0xc8, - 0x63, 0x43, 0x56, 0x11, 0xb7, 0x5b, 0xfd, 0x24, 0x7c, 0x3c, 0x74, 0x05, 0x52, 0x56, 0xd7, 0x35, - 0x2c, 0xd3, 0x99, 0x4b, 0x2f, 0x46, 0xce, 0x65, 0x2f, 0x3d, 0x34, 0x54, 0x10, 0x36, 0x19, 0x8c, - 0x22, 0x80, 0x51, 0x1d, 0x24, 0xc7, 0xea, 0xd9, 0x3a, 0x56, 0x75, 0xab, 0x85, 0x55, 0xc3, 0xdc, - 0xb5, 0xe6, 0x32, 0x94, 0xc0, 0xc2, 0xe0, 0x44, 0x28, 0x60, 0xd5, 0x6a, 0xe1, 0xba, 0xb9, 0x6b, - 0x29, 0x05, 0x27, 0x54, 0x46, 0x27, 0x21, 0xe9, 0x1c, 0x9a, 0xae, 0x76, 0x30, 0x97, 0xa3, 0x12, - 0xc2, 0x4b, 0x44, 0x74, 0x70, 0xcb, 0x20, 0xdd, 0xcd, 0xe5, 0x99, 0xe8, 0xf0, 0xa2, 0xfc, 0x0b, - 0x49, 0x28, 0x4e, 0x22, 0x7c, 0x57, 0x21, 0xb1, 0x4b, 0xe6, 0x3f, 0x17, 0x3d, 0x0e, 0x77, 0x18, - 0x4e, 0x98, 0xbd, 0xc9, 0x07, 0x64, 0x6f, 0x19, 0xb2, 0x26, 0x76, 0x5c, 0xdc, 0x62, 0xb2, 0x12, - 0x9b, 0x50, 0xda, 0x80, 0x21, 0x0d, 0x0a, 0x5b, 0xfc, 0x81, 0x84, 0xed, 0x65, 0x28, 0x7a, 0x43, - 0x52, 0x6d, 0xcd, 0xdc, 0x13, 0x52, 0x7b, 0x71, 0xdc, 0x48, 0x96, 0x6a, 0x02, 0x4f, 0x21, 0x68, - 0x4a, 0x01, 0x87, 0xca, 0x68, 0x05, 0xc0, 0x32, 0xb1, 0xb5, 0xab, 0xb6, 0xb0, 0xde, 0x9e, 0x4b, - 0x8f, 0xe0, 0xd2, 0x26, 0x01, 0x19, 0xe0, 0x92, 0xc5, 0x6a, 0xf5, 0x36, 0x7a, 0xd1, 0x17, 0xc2, - 0xd4, 0x08, 0x19, 0x5a, 0x67, 0xdb, 0x6f, 0x40, 0x0e, 0xb7, 0xa1, 0x60, 0x63, 0xb2, 0x23, 0x70, - 0x8b, 0xcf, 0x2c, 0x43, 0x07, 0xb1, 0x34, 0x76, 0x66, 0x0a, 0x47, 0x63, 0x13, 0xcb, 0xdb, 0xc1, - 0x22, 0x7a, 0x14, 0xbc, 0x0a, 0x95, 0x8a, 0x15, 0x50, 0xfd, 0x94, 0x13, 0x95, 0x1b, 0x5a, 0x07, - 0x97, 0x5e, 0x87, 0x42, 0x98, 0x3d, 0x68, 0x16, 0x12, 0x8e, 0xab, 0xd9, 0x2e, 0x95, 0xc2, 0x84, - 0xc2, 0x0a, 0x48, 0x82, 0x18, 0x36, 0x5b, 0x54, 0xff, 0x25, 0x14, 0xf2, 0x13, 0x7d, 0x8d, 0x3f, - 0xe1, 0x18, 0x9d, 0xf0, 0xe3, 0x83, 0x2b, 0x1a, 0xa2, 0xdc, 0x3f, 0xef, 0xd2, 0xf3, 0x90, 0x0f, - 0x4d, 0x60, 0xd2, 0xae, 0xe5, 0xff, 0x0f, 0x4e, 0x0c, 0x25, 0x8d, 0x5e, 0x86, 0xd9, 0x9e, 0x69, - 0x98, 0x2e, 0xb6, 0xbb, 0x36, 0x26, 0x12, 0xcb, 0xba, 0x9a, 0xfb, 0xfd, 0xd4, 0x08, 0x99, 0xdb, - 0x0e, 0x42, 0x33, 0x2a, 0xca, 0x4c, 0x6f, 0xb0, 0xf2, 0x42, 0x26, 0xfd, 0xc5, 0x94, 0xf4, 0xb1, - 0x8f, 0x7d, 0xec, 0x63, 0x51, 0xf9, 0x57, 0x93, 0x30, 0x3b, 0x6c, 0xcf, 0x0c, 0xdd, 0xbe, 0x27, - 0x21, 0x69, 0xf6, 0x3a, 0x3b, 0xd8, 0xa6, 0x4c, 0x4a, 0x28, 0xbc, 0x84, 0xca, 0x90, 0x68, 0x6b, - 0x3b, 0xb8, 0x3d, 0x17, 0x5f, 0x8c, 0x9c, 0x2b, 0x5c, 0x7a, 0x62, 0xa2, 0x5d, 0xb9, 0xb4, 0x46, - 0x50, 0x14, 0x86, 0x89, 0x3e, 0x08, 0x71, 0xae, 0xbc, 0x09, 0x85, 0x0b, 0x93, 0x51, 0x20, 0x7b, - 0x49, 0xa1, 0x78, 0xe8, 0x0c, 0x64, 0xc8, 0xff, 0x4c, 0x36, 0x92, 0x74, 0xcc, 0x69, 0x52, 0x41, - 0xe4, 0x02, 0x95, 0x20, 0x4d, 0xb7, 0x49, 0x0b, 0x0b, 0xa3, 0xe7, 0x95, 0x89, 0x60, 0xb5, 0xf0, - 0xae, 0xd6, 0x6b, 0xbb, 0xea, 0x1d, 0xad, 0xdd, 0xc3, 0x54, 0xe0, 0x33, 0x4a, 0x8e, 0x57, 0xde, - 0x22, 0x75, 0x68, 0x01, 0xb2, 0x6c, 0x57, 0x19, 0x66, 0x0b, 0x1f, 0x50, 0xbd, 0x9a, 0x50, 0xd8, - 0x46, 0xab, 0x93, 0x1a, 0xd2, 0xfd, 0x6b, 0x8e, 0x65, 0x0a, 0xd1, 0xa4, 0x5d, 0x90, 0x0a, 0xda, - 0xfd, 0xf3, 0xfd, 0x2a, 0xfd, 0xe1, 0xe1, 0xd3, 0x1b, 0xd8, 0x4b, 0x67, 0xa1, 0x48, 0x21, 0x9e, - 0xe5, 0x4b, 0xaf, 0xb5, 0xe7, 0xa6, 0x17, 0x23, 0xe7, 0xd2, 0x4a, 0x81, 0x55, 0x6f, 0xf2, 0x5a, - 0xf9, 0xb3, 0x51, 0x88, 0x53, 0xc5, 0x52, 0x84, 0x6c, 0xf3, 0x95, 0xad, 0x9a, 0xba, 0xb2, 0xb9, - 0x5d, 0x59, 0xab, 0x49, 0x11, 0x54, 0x00, 0xa0, 0x15, 0xd7, 0xd6, 0x36, 0xcb, 0x4d, 0x29, 0xea, - 0x95, 0xeb, 0x1b, 0xcd, 0x2b, 0xcf, 0x49, 0x31, 0x0f, 0x61, 0x9b, 0x55, 0xc4, 0x83, 0x00, 0xcf, - 0x5e, 0x92, 0x12, 0x48, 0x82, 0x1c, 0x23, 0x50, 0x7f, 0xb9, 0xb6, 0x72, 0xe5, 0x39, 0x29, 0x19, - 0xae, 0x79, 0xf6, 0x92, 0x94, 0x42, 0x79, 0xc8, 0xd0, 0x9a, 0xca, 0xe6, 0xe6, 0x9a, 0x94, 0xf6, - 0x68, 0x36, 0x9a, 0x4a, 0x7d, 0x63, 0x55, 0xca, 0x78, 0x34, 0x57, 0x95, 0xcd, 0xed, 0x2d, 0x09, - 0x3c, 0x0a, 0xeb, 0xb5, 0x46, 0xa3, 0xbc, 0x5a, 0x93, 0xb2, 0x1e, 0x44, 0xe5, 0x95, 0x66, 0xad, - 0x21, 0xe5, 0x42, 0xc3, 0x7a, 0xf6, 0x92, 0x94, 0xf7, 0xba, 0xa8, 0x6d, 0x6c, 0xaf, 0x4b, 0x05, - 0x34, 0x0d, 0x79, 0xd6, 0x85, 0x18, 0x44, 0xb1, 0xaf, 0xea, 0xca, 0x73, 0x92, 0xe4, 0x0f, 0x84, - 0x51, 0x99, 0x0e, 0x55, 0x5c, 0x79, 0x4e, 0x42, 0x72, 0x15, 0x12, 0x54, 0x0c, 0x11, 0x82, 0xc2, - 0x5a, 0xb9, 0x52, 0x5b, 0x53, 0x37, 0xb7, 0x9a, 0xf5, 0xcd, 0x8d, 0xf2, 0x9a, 0x14, 0xf1, 0xeb, - 0x94, 0xda, 0x87, 0xb6, 0xeb, 0x4a, 0x6d, 0x45, 0x8a, 0x06, 0xeb, 0xb6, 0x6a, 0xe5, 0x66, 0x6d, - 0x45, 0x8a, 0xc9, 0x3a, 0xcc, 0x0e, 0x53, 0xa8, 0x43, 0xb7, 0x50, 0x40, 0x16, 0xa2, 0x23, 0x64, - 0x81, 0xd2, 0xea, 0x97, 0x05, 0xf9, 0x0b, 0x51, 0x98, 0x19, 0x62, 0x54, 0x86, 0x76, 0xf2, 0x12, - 0x24, 0x98, 0x2c, 0x33, 0x33, 0x7b, 0x7e, 0xa8, 0x75, 0xa2, 0x92, 0x3d, 0x60, 0x6a, 0x29, 0x5e, - 0xd0, 0x09, 0x89, 0x8d, 0x70, 0x42, 0x08, 0x89, 0x01, 0x81, 0xfd, 0xfa, 0x01, 0xe5, 0xcf, 0xec, - 0xe3, 0x95, 0x49, 0xec, 0x23, 0xad, 0x3b, 0x9e, 0x11, 0x48, 0x0c, 0x31, 0x02, 0x57, 0x61, 0x7a, - 0x80, 0xd0, 0xc4, 0xca, 0xf8, 0xe3, 0x11, 0x98, 0x1b, 0xc5, 0x9c, 0x31, 0x2a, 0x31, 0x1a, 0x52, - 0x89, 0x57, 0xfb, 0x39, 0xf8, 0xc8, 0xe8, 0x45, 0x18, 0x58, 0xeb, 0x1f, 0x8f, 0xc0, 0xc9, 0xe1, - 0xce, 0xe6, 0xd0, 0x31, 0x7c, 0x10, 0x92, 0x1d, 0xec, 0xee, 0x5b, 0xc2, 0xad, 0x7a, 0x7c, 0x88, - 0xb1, 0x26, 0xcd, 0xfd, 0x8b, 0xcd, 0xb1, 0x82, 0xd6, 0x3e, 0x36, 0xca, 0x63, 0x64, 0xa3, 0x19, - 0x18, 0xe9, 0xb7, 0x45, 0xe1, 0xc4, 0x50, 0xe2, 0x43, 0x07, 0xfa, 0x30, 0x80, 0x61, 0x76, 0x7b, - 0x2e, 0x73, 0x9d, 0x98, 0x26, 0xce, 0xd0, 0x1a, 0xaa, 0xbc, 0x88, 0x96, 0xed, 0xb9, 0x5e, 0x7b, - 0x8c, 0xb6, 0x03, 0xab, 0xa2, 0x00, 0x2f, 0xf8, 0x03, 0x8d, 0xd3, 0x81, 0xce, 0x8f, 0x98, 0xe9, - 0x80, 0x60, 0x3e, 0x0d, 0x92, 0xde, 0x36, 0xb0, 0xe9, 0xaa, 0x8e, 0x6b, 0x63, 0xad, 0x63, 0x98, - 0x7b, 0xd4, 0xd4, 0xa4, 0x97, 0x13, 0xbb, 0x5a, 0xdb, 0xc1, 0x4a, 0x91, 0x35, 0x37, 0x44, 0x2b, - 0xc1, 0xa0, 0x02, 0x64, 0x07, 0x30, 0x92, 0x21, 0x0c, 0xd6, 0xec, 0x61, 0xc8, 0xdf, 0x95, 0x81, - 0x6c, 0xc0, 0x35, 0x47, 0x8f, 0x40, 0xee, 0x35, 0xed, 0x8e, 0xa6, 0x8a, 0x70, 0x8b, 0x71, 0x22, - 0x4b, 0xea, 0xb6, 0x78, 0xc8, 0xf5, 0x34, 0xcc, 0x52, 0x10, 0xab, 0xe7, 0x62, 0x5b, 0xd5, 0xdb, - 0x9a, 0xe3, 0x50, 0xa6, 0xa5, 0x29, 0x28, 0x22, 0x6d, 0x9b, 0xa4, 0xa9, 0x2a, 0x5a, 0xd0, 0x65, - 0x98, 0xa1, 0x18, 0x9d, 0x5e, 0xdb, 0x35, 0xba, 0x6d, 0xac, 0x92, 0x00, 0xd0, 0xa1, 0x26, 0xc7, - 0x1b, 0xd9, 0x34, 0x81, 0x58, 0xe7, 0x00, 0x64, 0x44, 0x0e, 0x5a, 0x81, 0x87, 0x29, 0xda, 0x1e, - 0x36, 0xb1, 0xad, 0xb9, 0x58, 0xc5, 0x1f, 0xed, 0x69, 0x6d, 0x47, 0xd5, 0xcc, 0x96, 0xba, 0xaf, - 0x39, 0xfb, 0x73, 0xb3, 0x84, 0x40, 0x25, 0x3a, 0x17, 0x51, 0x4e, 0x13, 0xc0, 0x55, 0x0e, 0x57, - 0xa3, 0x60, 0x65, 0xb3, 0x75, 0x5d, 0x73, 0xf6, 0xd1, 0x32, 0x9c, 0xa4, 0x54, 0x1c, 0xd7, 0x36, - 0xcc, 0x3d, 0x55, 0xdf, 0xc7, 0xfa, 0x6d, 0xb5, 0xe7, 0xee, 0xbe, 0x30, 0x77, 0x26, 0xd8, 0x3f, - 0x1d, 0x61, 0x83, 0xc2, 0x54, 0x09, 0xc8, 0xb6, 0xbb, 0xfb, 0x02, 0x6a, 0x40, 0x8e, 0x2c, 0x46, - 0xc7, 0x78, 0x1d, 0xab, 0xbb, 0x96, 0x4d, 0x6d, 0x68, 0x61, 0x88, 0x6a, 0x0a, 0x70, 0x70, 0x69, - 0x93, 0x23, 0xac, 0x5b, 0x2d, 0xbc, 0x9c, 0x68, 0x6c, 0xd5, 0x6a, 0x2b, 0x4a, 0x56, 0x50, 0xb9, - 0x66, 0xd9, 0x44, 0xa0, 0xf6, 0x2c, 0x8f, 0xc1, 0x59, 0x26, 0x50, 0x7b, 0x96, 0x60, 0xef, 0x65, - 0x98, 0xd1, 0x75, 0x36, 0x67, 0x43, 0x57, 0x79, 0x98, 0xe6, 0xcc, 0x49, 0x21, 0x66, 0xe9, 0xfa, - 0x2a, 0x03, 0xe0, 0x32, 0xee, 0xa0, 0x17, 0xe1, 0x84, 0xcf, 0xac, 0x20, 0xe2, 0xf4, 0xc0, 0x2c, - 0xfb, 0x51, 0x2f, 0xc3, 0x4c, 0xf7, 0x70, 0x10, 0x11, 0x85, 0x7a, 0xec, 0x1e, 0xf6, 0xa3, 0x3d, - 0x0f, 0xb3, 0xdd, 0xfd, 0xee, 0x20, 0xde, 0x85, 0x20, 0x1e, 0xea, 0xee, 0x77, 0xfb, 0x11, 0x1f, - 0xa3, 0x31, 0xbb, 0x8d, 0x75, 0xcd, 0xc5, 0xad, 0xb9, 0x53, 0x41, 0xf0, 0x40, 0x03, 0x5a, 0x02, - 0x49, 0xd7, 0x55, 0x6c, 0x6a, 0x3b, 0x6d, 0xac, 0x6a, 0x36, 0x36, 0x35, 0x67, 0x6e, 0x81, 0x02, - 0xc7, 0x5d, 0xbb, 0x87, 0x95, 0x82, 0xae, 0xd7, 0x68, 0x63, 0x99, 0xb6, 0xa1, 0x0b, 0x30, 0x6d, - 0xed, 0xbc, 0xa6, 0x33, 0x89, 0x54, 0xbb, 0x36, 0xde, 0x35, 0x0e, 0xe6, 0xde, 0x47, 0xd9, 0x5b, - 0x24, 0x0d, 0x54, 0x1e, 0xb7, 0x68, 0x35, 0x3a, 0x0f, 0x92, 0xee, 0xec, 0x6b, 0x76, 0x97, 0xaa, - 0x64, 0xa7, 0xab, 0xe9, 0x78, 0xee, 0x31, 0x06, 0xca, 0xea, 0x37, 0x44, 0x35, 0xd9, 0x11, 0xce, - 0x5d, 0x63, 0xd7, 0x15, 0x14, 0xcf, 0xb2, 0x1d, 0x41, 0xeb, 0x38, 0xb5, 0x73, 0x20, 0x11, 0x4e, - 0x84, 0x3a, 0x3e, 0x47, 0xc1, 0x0a, 0xdd, 0xfd, 0x6e, 0xb0, 0xdf, 0x47, 0x21, 0x4f, 0x20, 0xfd, - 0x4e, 0xcf, 0x33, 0xc7, 0xad, 0xbb, 0x1f, 0xe8, 0xf1, 0x39, 0x38, 0x49, 0x80, 0x3a, 0xd8, 0xd5, - 0x5a, 0x9a, 0xab, 0x05, 0xa0, 0x9f, 0xa4, 0xd0, 0x84, 0xed, 0xeb, 0xbc, 0x31, 0x34, 0x4e, 0xbb, - 0xb7, 0x73, 0xe8, 0x09, 0xd6, 0x53, 0x6c, 0x9c, 0xa4, 0x4e, 0x88, 0xd6, 0xbb, 0xe6, 0x9c, 0xcb, - 0xcb, 0x90, 0x0b, 0xca, 0x3d, 0xca, 0x00, 0x93, 0x7c, 0x29, 0x42, 0x9c, 0xa0, 0xea, 0xe6, 0x0a, - 0x71, 0x5f, 0x5e, 0xad, 0x49, 0x51, 0xe2, 0x46, 0xad, 0xd5, 0x9b, 0x35, 0x55, 0xd9, 0xde, 0x68, - 0xd6, 0xd7, 0x6b, 0x52, 0x2c, 0xe0, 0xd8, 0xdf, 0x88, 0xa7, 0x1f, 0x97, 0xce, 0xca, 0xbf, 0x18, - 0x83, 0x42, 0x38, 0x52, 0x43, 0xef, 0x87, 0x53, 0x22, 0xe1, 0xe2, 0x60, 0x57, 0xbd, 0x6b, 0xd8, - 0x74, 0x43, 0x76, 0x34, 0x66, 0x1c, 0x3d, 0xf9, 0x99, 0xe5, 0x50, 0x0d, 0xec, 0x7e, 0xd8, 0xb0, - 0xc9, 0x76, 0xeb, 0x68, 0x2e, 0x5a, 0x83, 0x05, 0xd3, 0x52, 0x1d, 0x57, 0x33, 0x5b, 0x9a, 0xdd, - 0x52, 0xfd, 0x54, 0x97, 0xaa, 0xe9, 0x3a, 0x76, 0x1c, 0x8b, 0x19, 0x42, 0x8f, 0xca, 0x43, 0xa6, - 0xd5, 0xe0, 0xc0, 0xbe, 0x85, 0x28, 0x73, 0xd0, 0x3e, 0xf1, 0x8d, 0x8d, 0x12, 0xdf, 0x33, 0x90, - 0xe9, 0x68, 0x5d, 0x15, 0x9b, 0xae, 0x7d, 0x48, 0xfd, 0xf3, 0xb4, 0x92, 0xee, 0x68, 0xdd, 0x1a, - 0x29, 0xa3, 0x5b, 0xf0, 0xb8, 0x0f, 0xaa, 0xb6, 0xf1, 0x9e, 0xa6, 0x1f, 0xaa, 0xd4, 0x19, 0xa7, - 0x69, 0x03, 0x55, 0xb7, 0xcc, 0xdd, 0xb6, 0xa1, 0xbb, 0x0e, 0xd5, 0x0f, 0x4c, 0xc7, 0xc9, 0x3e, - 0xc6, 0x1a, 0x45, 0xb8, 0xe1, 0x58, 0x26, 0xf5, 0xc1, 0xab, 0x02, 0xfa, 0x3d, 0x09, 0xbf, 0x6e, - 0xc4, 0xd3, 0x71, 0x29, 0x71, 0x23, 0x9e, 0x4e, 0x48, 0xc9, 0x1b, 0xf1, 0x74, 0x52, 0x4a, 0xdd, - 0x88, 0xa7, 0xd3, 0x52, 0xe6, 0x46, 0x3c, 0x9d, 0x91, 0x40, 0xfe, 0x5c, 0x1a, 0x72, 0xc1, 0xc8, - 0x80, 0x04, 0x5a, 0x3a, 0xb5, 0x8d, 0x11, 0xaa, 0x3d, 0x1f, 0x3d, 0x32, 0x8e, 0x58, 0xaa, 0x12, - 0xa3, 0xb9, 0x9c, 0x64, 0x6e, 0xb8, 0xc2, 0x30, 0x89, 0xc3, 0x42, 0xc4, 0x1a, 0x33, 0xb7, 0x27, - 0xad, 0xf0, 0x12, 0x5a, 0x85, 0xe4, 0x6b, 0x0e, 0xa5, 0x9d, 0xa4, 0xb4, 0xdf, 0x77, 0x34, 0xed, - 0x1b, 0x0d, 0x4a, 0x3c, 0x73, 0xa3, 0xa1, 0x6e, 0x6c, 0x2a, 0xeb, 0xe5, 0x35, 0x85, 0xa3, 0xa3, - 0xd3, 0x10, 0x6f, 0x6b, 0xaf, 0x1f, 0x86, 0xcd, 0x2b, 0xad, 0x42, 0x4b, 0x50, 0xec, 0x99, 0x77, - 0xb0, 0x6d, 0xec, 0x1a, 0x64, 0xa9, 0x08, 0x54, 0x31, 0x08, 0x55, 0xf0, 0x5b, 0xd7, 0x08, 0xfc, - 0x84, 0xe2, 0x71, 0x1a, 0xe2, 0x77, 0xb1, 0x76, 0x3b, 0x6c, 0x04, 0x69, 0x15, 0x3a, 0x07, 0xb9, - 0x16, 0xde, 0xe9, 0xed, 0xa9, 0x36, 0x6e, 0x69, 0xba, 0x1b, 0x56, 0xfd, 0x59, 0xda, 0xa4, 0xd0, - 0x16, 0x74, 0x13, 0x32, 0x64, 0x8d, 0x4c, 0xba, 0xc6, 0xd3, 0x94, 0x05, 0x4f, 0x1d, 0xcd, 0x02, - 0xbe, 0xc4, 0x02, 0x49, 0xf1, 0xf1, 0xd1, 0x35, 0x48, 0xba, 0x9a, 0xbd, 0x87, 0x5d, 0xaa, 0xf9, - 0x0b, 0x43, 0x92, 0x1f, 0x43, 0x28, 0x35, 0x29, 0x06, 0x8d, 0x69, 0x39, 0xf6, 0xbb, 0xa8, 0x65, - 0x2e, 0x42, 0x82, 0x8a, 0x07, 0x02, 0xe0, 0x02, 0x22, 0x4d, 0xa1, 0x34, 0xc4, 0xab, 0x9b, 0x0a, - 0xd1, 0x34, 0x12, 0xe4, 0x58, 0xad, 0xba, 0x55, 0xaf, 0x55, 0x6b, 0x52, 0x54, 0xbe, 0x0c, 0x49, - 0xb6, 0xe6, 0x44, 0x0b, 0x79, 0xab, 0x2e, 0x4d, 0xf1, 0x22, 0xa7, 0x11, 0x11, 0xad, 0xdb, 0xeb, - 0x95, 0x9a, 0x22, 0x45, 0xe5, 0x6d, 0x28, 0xf6, 0xf1, 0x09, 0x9d, 0x80, 0x69, 0xa5, 0xd6, 0xac, - 0x6d, 0x90, 0x38, 0x4b, 0xdd, 0xde, 0xb8, 0xb9, 0xb1, 0xf9, 0xe1, 0x0d, 0x69, 0x2a, 0x5c, 0x2d, - 0x54, 0x5a, 0x04, 0xcd, 0x82, 0xe4, 0x57, 0x37, 0x36, 0xb7, 0x15, 0x3a, 0x9a, 0x6f, 0x8f, 0x82, - 0xd4, 0xcf, 0x35, 0x74, 0x0a, 0x66, 0x9a, 0x65, 0x65, 0xb5, 0xd6, 0x54, 0x59, 0xec, 0xe8, 0x91, - 0x9e, 0x05, 0x29, 0xd8, 0x70, 0xad, 0x4e, 0x43, 0xe3, 0x05, 0x38, 0x13, 0xac, 0xad, 0xbd, 0xdc, - 0xac, 0x6d, 0x34, 0x68, 0xe7, 0xe5, 0x8d, 0x55, 0xa2, 0x5f, 0xfb, 0xe8, 0x89, 0x68, 0x35, 0x46, - 0x86, 0x1a, 0xa6, 0x57, 0x5b, 0x5b, 0x91, 0xe2, 0xfd, 0xd5, 0x9b, 0x1b, 0xb5, 0xcd, 0x6b, 0x52, - 0xa2, 0xbf, 0x77, 0x1a, 0xc1, 0x26, 0x51, 0x09, 0x4e, 0xf6, 0xd7, 0xaa, 0xb5, 0x8d, 0xa6, 0xf2, - 0x8a, 0x94, 0xea, 0xef, 0xb8, 0x51, 0x53, 0x6e, 0xd5, 0xab, 0x35, 0x29, 0x8d, 0x4e, 0x02, 0x0a, - 0x8f, 0xa8, 0x79, 0x7d, 0x73, 0x45, 0xca, 0x0c, 0x68, 0x14, 0xd9, 0x81, 0x5c, 0x30, 0x8c, 0x7c, - 0x6f, 0x72, 0x49, 0x9f, 0x8a, 0x42, 0x36, 0x10, 0x16, 0x12, 0x7f, 0x5e, 0x6b, 0xb7, 0xad, 0xbb, - 0xaa, 0xd6, 0x36, 0x34, 0x87, 0xeb, 0x1b, 0xa0, 0x55, 0x65, 0x52, 0x33, 0xe9, 0xfe, 0x9e, 0x5c, - 0xc3, 0x27, 0xff, 0x32, 0x6a, 0xf8, 0x84, 0x94, 0x94, 0x7f, 0x28, 0x02, 0x52, 0x7f, 0xbc, 0xd7, - 0x37, 0xfd, 0xc8, 0xa8, 0xe9, 0xbf, 0x27, 0x6b, 0xf7, 0x83, 0x11, 0x28, 0x84, 0x83, 0xbc, 0xbe, - 0xe1, 0x3d, 0xf2, 0x7f, 0x75, 0x78, 0xbf, 0x13, 0x85, 0x7c, 0x28, 0xb4, 0x9b, 0x74, 0x74, 0x1f, - 0x85, 0x69, 0xa3, 0x85, 0x3b, 0x5d, 0xcb, 0xc5, 0xa6, 0x7e, 0xa8, 0xb6, 0xf1, 0x1d, 0xdc, 0x9e, - 0x93, 0xa9, 0x52, 0xbe, 0x78, 0x74, 0xf0, 0xb8, 0x54, 0xf7, 0xf1, 0xd6, 0x08, 0xda, 0xf2, 0x4c, - 0x7d, 0xa5, 0xb6, 0xbe, 0xb5, 0xd9, 0xac, 0x6d, 0x54, 0x5f, 0x11, 0xda, 0x45, 0x91, 0x8c, 0x3e, - 0xb0, 0x77, 0x51, 0x69, 0x6f, 0x81, 0xd4, 0x3f, 0x28, 0xa2, 0x2b, 0x86, 0x0c, 0x4b, 0x9a, 0x42, - 0x33, 0x50, 0xdc, 0xd8, 0x54, 0x1b, 0xf5, 0x95, 0x9a, 0x5a, 0xbb, 0x76, 0xad, 0x56, 0x6d, 0x36, - 0x58, 0x3a, 0xd0, 0x83, 0x6e, 0x4a, 0xd1, 0x20, 0x8b, 0xbf, 0x3f, 0x06, 0x33, 0x43, 0x46, 0x82, - 0xca, 0x3c, 0x90, 0x67, 0xb9, 0x85, 0xa7, 0x26, 0x19, 0xfd, 0x12, 0x71, 0xa5, 0xb7, 0x34, 0xdb, - 0xe5, 0x71, 0xff, 0x79, 0x20, 0x5c, 0x32, 0x5d, 0x62, 0xd9, 0x6d, 0x9e, 0x66, 0x65, 0xd1, 0x7d, - 0xd1, 0xaf, 0x67, 0x99, 0xd6, 0x27, 0x01, 0x75, 0x2d, 0xc7, 0x70, 0x8d, 0x3b, 0x58, 0x35, 0x4c, - 0x91, 0x93, 0x25, 0xd1, 0x7e, 0x5c, 0x91, 0x44, 0x4b, 0xdd, 0x74, 0x3d, 0x68, 0x13, 0xef, 0x69, - 0x7d, 0xd0, 0xc4, 0xf3, 0x88, 0x29, 0x92, 0x68, 0xf1, 0xa0, 0x1f, 0x81, 0x5c, 0xcb, 0xea, 0x91, - 0x10, 0x88, 0xc1, 0x11, 0x6d, 0x11, 0x51, 0xb2, 0xac, 0xce, 0x03, 0xe1, 0xc1, 0xad, 0x9f, 0x0c, - 0xce, 0x29, 0x59, 0x56, 0xc7, 0x40, 0xce, 0x42, 0x51, 0xdb, 0xdb, 0xb3, 0x09, 0x71, 0x41, 0x88, - 0x85, 0xeb, 0x05, 0xaf, 0x9a, 0x02, 0x96, 0x6e, 0x40, 0x5a, 0xf0, 0x81, 0x78, 0xb0, 0x84, 0x13, - 0x6a, 0x97, 0xe5, 0xa0, 0xa2, 0xe7, 0x32, 0x4a, 0xda, 0x14, 0x8d, 0x8f, 0x40, 0xce, 0x70, 0x54, - 0xff, 0x6c, 0x2b, 0xba, 0x18, 0x3d, 0x97, 0x56, 0xb2, 0x86, 0xe3, 0x9d, 0x0b, 0xc8, 0x3f, 0x1e, - 0x85, 0x42, 0xf8, 0xd4, 0x0e, 0xad, 0x40, 0xba, 0x6d, 0xe9, 0x1a, 0x15, 0x2d, 0x76, 0x64, 0x7c, - 0x6e, 0xcc, 0x41, 0xdf, 0xd2, 0x1a, 0x87, 0x57, 0x3c, 0xcc, 0xd2, 0xbf, 0x8c, 0x40, 0x5a, 0x54, - 0xa3, 0x93, 0x10, 0xef, 0x6a, 0xee, 0x3e, 0x25, 0x97, 0xa8, 0x44, 0xa5, 0x88, 0x42, 0xcb, 0xa4, - 0xde, 0xe9, 0x6a, 0x26, 0x15, 0x01, 0x5e, 0x4f, 0xca, 0x64, 0x5d, 0xdb, 0x58, 0x6b, 0xd1, 0x5c, - 0x80, 0xd5, 0xe9, 0x60, 0xd3, 0x75, 0xc4, 0xba, 0xf2, 0xfa, 0x2a, 0xaf, 0x46, 0x4f, 0xc0, 0xb4, - 0x6b, 0x6b, 0x46, 0x3b, 0x04, 0x1b, 0xa7, 0xb0, 0x92, 0x68, 0xf0, 0x80, 0x97, 0xe1, 0xb4, 0xa0, - 0xdb, 0xc2, 0xae, 0xa6, 0xef, 0xe3, 0x96, 0x8f, 0x94, 0xa4, 0x39, 0xbf, 0x53, 0x1c, 0x60, 0x85, - 0xb7, 0x0b, 0x5c, 0xf9, 0xf3, 0x51, 0x98, 0x16, 0xd9, 0x8b, 0x96, 0xc7, 0xac, 0x75, 0x00, 0xcd, - 0x34, 0x2d, 0x37, 0xc8, 0xae, 0x41, 0x51, 0x1e, 0xc0, 0x5b, 0x2a, 0x7b, 0x48, 0x4a, 0x80, 0x40, - 0xe9, 0x0f, 0x23, 0x00, 0x7e, 0xd3, 0x48, 0xbe, 0x2d, 0x40, 0x96, 0x9f, 0xc9, 0xd2, 0x83, 0x7d, - 0x96, 0xf0, 0x02, 0x56, 0x75, 0xcd, 0x68, 0xd3, 0xb4, 0xe4, 0x0e, 0xde, 0x33, 0x4c, 0x7e, 0x9e, - 0xc2, 0x0a, 0x22, 0x2d, 0x19, 0xf7, 0x8f, 0xa7, 0x14, 0x48, 0x3b, 0xb8, 0xa3, 0x99, 0xae, 0xa1, - 0xf3, 0x13, 0x92, 0x2b, 0xc7, 0x1a, 0xfc, 0x52, 0x83, 0x63, 0x2b, 0x1e, 0x1d, 0xf9, 0x1c, 0xa4, - 0x45, 0x2d, 0x71, 0xfc, 0x36, 0x36, 0x37, 0x6a, 0xd2, 0x14, 0x4a, 0x41, 0xac, 0x51, 0x6b, 0x4a, - 0x11, 0x12, 0x76, 0x96, 0xd7, 0xea, 0xe5, 0x86, 0x14, 0xad, 0xfc, 0xff, 0x30, 0xa3, 0x5b, 0x9d, - 0xfe, 0x0e, 0x2b, 0x52, 0x5f, 0xca, 0xcf, 0xb9, 0x1e, 0x79, 0xf5, 0x29, 0x0e, 0xb4, 0x67, 0xb5, - 0x35, 0x73, 0x6f, 0xc9, 0xb2, 0xf7, 0xfc, 0x6b, 0x11, 0x24, 0x3a, 0x70, 0x02, 0x97, 0x23, 0xba, - 0x3b, 0xff, 0x3d, 0x12, 0xf9, 0xe1, 0x68, 0x6c, 0x75, 0xab, 0xf2, 0x93, 0xd1, 0xd2, 0x2a, 0x43, - 0xdc, 0x12, 0xd3, 0x51, 0xf0, 0x6e, 0x1b, 0xeb, 0x64, 0xf0, 0xf0, 0x47, 0x4f, 0xc0, 0xec, 0x9e, - 0xb5, 0x67, 0x51, 0x4a, 0x17, 0xc9, 0x2f, 0x7e, 0xaf, 0x22, 0xe3, 0xd5, 0x96, 0xc6, 0x5e, 0xc2, - 0x58, 0xde, 0x80, 0x19, 0x0e, 0xac, 0xd2, 0xe3, 0x5b, 0x96, 0x5c, 0x40, 0x47, 0x66, 0xb6, 0xe7, - 0x7e, 0xfa, 0xf7, 0xa8, 0x57, 0xa2, 0x4c, 0x73, 0x54, 0xd2, 0xc6, 0xf2, 0x0f, 0xcb, 0x0a, 0x9c, - 0x08, 0xd1, 0x63, 0x3a, 0x02, 0xdb, 0x63, 0x28, 0xfe, 0x13, 0x4e, 0x71, 0x26, 0x40, 0xb1, 0xc1, - 0x51, 0x97, 0xab, 0x90, 0x3f, 0x0e, 0xad, 0x7f, 0xca, 0x69, 0xe5, 0x70, 0x90, 0xc8, 0x2a, 0x14, - 0x29, 0x11, 0xbd, 0xe7, 0xb8, 0x56, 0x87, 0x2a, 0xe0, 0xa3, 0xc9, 0xfc, 0xb3, 0xdf, 0x63, 0x9b, - 0xb6, 0x40, 0xd0, 0xaa, 0x1e, 0xd6, 0xf2, 0x32, 0xd0, 0x13, 0xeb, 0x16, 0xd6, 0xdb, 0x63, 0x28, - 0xfc, 0x1a, 0x1f, 0x88, 0x07, 0xbf, 0x7c, 0x0b, 0x66, 0xc9, 0x6f, 0xaa, 0x1f, 0x83, 0x23, 0x19, - 0x9f, 0x06, 0x9f, 0xfb, 0xcd, 0x8f, 0x33, 0xbd, 0x30, 0xe3, 0x11, 0x08, 0x8c, 0x29, 0xb0, 0x8a, - 0x7b, 0xd8, 0x75, 0xb1, 0xed, 0xa8, 0x5a, 0x7b, 0xd8, 0xf0, 0x02, 0x79, 0xc4, 0xb9, 0xef, 0xfb, - 0x52, 0x78, 0x15, 0x57, 0x19, 0x66, 0xb9, 0xdd, 0x5e, 0xde, 0x86, 0x53, 0x43, 0xa4, 0x62, 0x02, - 0x9a, 0xdf, 0xcf, 0x69, 0xce, 0x0e, 0x48, 0x06, 0x21, 0xbb, 0x05, 0xa2, 0xde, 0x5b, 0xcb, 0x09, - 0x68, 0xfe, 0x00, 0xa7, 0x89, 0x38, 0xae, 0x58, 0x52, 0x42, 0xf1, 0x06, 0x4c, 0xdf, 0xc1, 0xf6, - 0x8e, 0xe5, 0xf0, 0xdc, 0xed, 0x04, 0xe4, 0x7e, 0x90, 0x93, 0x2b, 0x72, 0x44, 0x9a, 0xcc, 0x25, - 0xb4, 0x5e, 0x84, 0xf4, 0xae, 0xa6, 0xe3, 0x09, 0x48, 0xdc, 0xe7, 0x24, 0x52, 0x04, 0x9e, 0xa0, - 0x96, 0x21, 0xb7, 0x67, 0x71, 0x13, 0x39, 0x1e, 0xfd, 0x87, 0x38, 0x7a, 0x56, 0xe0, 0x70, 0x12, - 0x5d, 0xab, 0xdb, 0x6b, 0x13, 0xfb, 0x39, 0x9e, 0xc4, 0xdf, 0x14, 0x24, 0x04, 0x0e, 0x27, 0x71, - 0x0c, 0xb6, 0xbe, 0x21, 0x48, 0x38, 0x01, 0x7e, 0xbe, 0x04, 0x59, 0xcb, 0x6c, 0x1f, 0x5a, 0xe6, - 0x24, 0x83, 0xf8, 0x34, 0xa7, 0x00, 0x1c, 0x85, 0x10, 0xb8, 0x0a, 0x99, 0x49, 0x17, 0xe2, 0x47, - 0xbf, 0x24, 0xb6, 0x87, 0x58, 0x81, 0x55, 0x28, 0x0a, 0x05, 0x65, 0x58, 0xe6, 0x04, 0x24, 0x7e, - 0x8c, 0x93, 0x28, 0x04, 0xd0, 0xf8, 0x34, 0x5c, 0xec, 0xb8, 0x7b, 0x78, 0x12, 0x22, 0x3f, 0x2e, - 0xa6, 0xc1, 0x51, 0x38, 0x2b, 0x77, 0xb0, 0xa9, 0xef, 0x4f, 0x46, 0xe1, 0x33, 0x82, 0x95, 0x02, - 0x87, 0x90, 0xa8, 0x42, 0xbe, 0xa3, 0xd9, 0xce, 0xbe, 0xd6, 0x9e, 0x68, 0x39, 0x7e, 0x82, 0xd3, - 0xc8, 0x79, 0x48, 0x9c, 0x23, 0x3d, 0xf3, 0x38, 0x64, 0x7e, 0x52, 0x70, 0x24, 0x80, 0xc6, 0xb7, - 0x9e, 0xe3, 0xd2, 0x44, 0xf7, 0x71, 0xa8, 0xfd, 0x6d, 0xb1, 0xf5, 0x18, 0xee, 0x7a, 0x90, 0xe2, - 0x55, 0xc8, 0x38, 0xc6, 0xeb, 0x13, 0x91, 0xf9, 0x3b, 0x62, 0xa5, 0x29, 0x02, 0x41, 0x7e, 0x05, - 0x4e, 0x0f, 0x35, 0x13, 0x13, 0x10, 0xfb, 0xbb, 0x9c, 0xd8, 0xc9, 0x21, 0xa6, 0x82, 0xab, 0x84, - 0xe3, 0x92, 0xfc, 0x7b, 0x42, 0x25, 0xe0, 0x3e, 0x5a, 0x5b, 0x24, 0x68, 0x71, 0xb4, 0xdd, 0xe3, - 0x71, 0xed, 0xef, 0x0b, 0xae, 0x31, 0xdc, 0x10, 0xd7, 0x9a, 0x70, 0x92, 0x53, 0x3c, 0xde, 0xba, - 0xfe, 0x94, 0x50, 0xac, 0x0c, 0x7b, 0x3b, 0xbc, 0xba, 0x5f, 0x0b, 0x25, 0x8f, 0x9d, 0xc2, 0x3b, - 0x76, 0xd4, 0x8e, 0xd6, 0x9d, 0x80, 0xf2, 0x4f, 0x73, 0xca, 0x42, 0xe3, 0x7b, 0xee, 0xb5, 0xb3, - 0xae, 0x75, 0x09, 0xf1, 0x97, 0x61, 0x4e, 0x10, 0xef, 0x99, 0x36, 0xd6, 0xad, 0x3d, 0xd3, 0x78, - 0x1d, 0xb7, 0x26, 0x20, 0xfd, 0x33, 0x7d, 0x4b, 0xb5, 0x1d, 0x40, 0x27, 0x94, 0xeb, 0x20, 0x79, - 0xbe, 0x8a, 0x6a, 0x74, 0xba, 0x96, 0xed, 0x8e, 0xa1, 0xf8, 0xb3, 0x62, 0xa5, 0x3c, 0xbc, 0x3a, - 0x45, 0x5b, 0xae, 0x01, 0xbb, 0xfd, 0x31, 0xa9, 0x48, 0xfe, 0x1c, 0x27, 0x94, 0xf7, 0xb1, 0xb8, - 0xe2, 0xd0, 0xad, 0x4e, 0x57, 0xb3, 0x27, 0xd1, 0x7f, 0xff, 0x40, 0x28, 0x0e, 0x8e, 0xc2, 0x15, - 0x07, 0xf1, 0xe8, 0x88, 0xb5, 0x9f, 0x80, 0xc2, 0x67, 0x85, 0xe2, 0x10, 0x38, 0x9c, 0x84, 0x70, - 0x18, 0x26, 0x20, 0xf1, 0x39, 0x41, 0x42, 0xe0, 0x10, 0x12, 0x1f, 0xf2, 0x0d, 0xad, 0x8d, 0xf7, - 0x0c, 0xc7, 0xb5, 0x99, 0x4b, 0x7e, 0x34, 0xa9, 0x9f, 0xff, 0x52, 0xd8, 0x09, 0x53, 0x02, 0xa8, - 0x44, 0x13, 0xf1, 0xa3, 0x0f, 0x1a, 0xb2, 0x8d, 0x1f, 0xd8, 0x2f, 0x08, 0x4d, 0x14, 0x40, 0x23, - 0x63, 0x0b, 0x78, 0x88, 0x84, 0xed, 0x3a, 0x09, 0x54, 0x26, 0x20, 0xf7, 0x0f, 0xfb, 0x06, 0xd7, - 0x10, 0xb8, 0x84, 0x66, 0xc0, 0xff, 0xe9, 0x99, 0xb7, 0xf1, 0xe1, 0x44, 0xd2, 0xf9, 0x8b, 0x7d, - 0xfe, 0xcf, 0x36, 0xc3, 0x64, 0x3a, 0xa4, 0xd8, 0xe7, 0x4f, 0xa1, 0x71, 0x77, 0xfd, 0xe6, 0xbe, - 0xf1, 0x6d, 0x3e, 0xdf, 0xb0, 0x3b, 0xb5, 0xbc, 0x46, 0x84, 0x3c, 0xec, 0xf4, 0x8c, 0x27, 0xf6, - 0xf1, 0xb7, 0x3d, 0x39, 0x0f, 0xf9, 0x3c, 0xcb, 0xd7, 0x20, 0x1f, 0x72, 0x78, 0xc6, 0x93, 0xfa, - 0x66, 0x4e, 0x2a, 0x17, 0xf4, 0x77, 0x96, 0x2f, 0x43, 0x9c, 0x38, 0x2f, 0xe3, 0xd1, 0xbf, 0x85, - 0xa3, 0x53, 0xf0, 0xe5, 0x0f, 0x40, 0x5a, 0x38, 0x2d, 0xe3, 0x51, 0xbf, 0x95, 0xa3, 0x7a, 0x28, - 0x04, 0x5d, 0x38, 0x2c, 0xe3, 0xd1, 0xff, 0x8a, 0x40, 0x17, 0x28, 0x04, 0x7d, 0x72, 0x16, 0xfe, - 0xca, 0x5f, 0x8d, 0x73, 0xa3, 0x23, 0x78, 0x77, 0x15, 0x52, 0xdc, 0x53, 0x19, 0x8f, 0xfd, 0x6d, - 0xbc, 0x73, 0x81, 0xb1, 0xfc, 0x3c, 0x24, 0x26, 0x64, 0xf8, 0x5f, 0xe3, 0xa8, 0x0c, 0x7e, 0xb9, - 0x0a, 0xd9, 0x80, 0x77, 0x32, 0x1e, 0xfd, 0x3b, 0x38, 0x7a, 0x10, 0x8b, 0x0c, 0x9d, 0x7b, 0x27, - 0xe3, 0x09, 0x7c, 0xa7, 0x18, 0x3a, 0xc7, 0x20, 0x6c, 0x13, 0x8e, 0xc9, 0x78, 0xec, 0x4f, 0x0a, - 0xae, 0x0b, 0x94, 0xe5, 0x97, 0x20, 0xe3, 0x19, 0x9b, 0xf1, 0xf8, 0xdf, 0xc5, 0xf1, 0x7d, 0x1c, - 0xc2, 0x81, 0x80, 0xb1, 0x1b, 0x4f, 0xe2, 0xaf, 0x0b, 0x0e, 0x04, 0xb0, 0xc8, 0x36, 0xea, 0x77, - 0x60, 0xc6, 0x53, 0xfa, 0x6e, 0xb1, 0x8d, 0xfa, 0xfc, 0x17, 0xb2, 0x9a, 0x54, 0xe7, 0x8f, 0x27, - 0xf1, 0x37, 0xc4, 0x6a, 0x52, 0x78, 0x32, 0x8c, 0x7e, 0x8f, 0x60, 0x3c, 0x8d, 0xef, 0x15, 0xc3, - 0xe8, 0x73, 0x08, 0x96, 0xb7, 0x00, 0x0d, 0x7a, 0x03, 0xe3, 0xe9, 0x7d, 0x8a, 0xd3, 0x9b, 0x1e, - 0x70, 0x06, 0x96, 0x3f, 0x0c, 0x27, 0x87, 0x7b, 0x02, 0xe3, 0xa9, 0x7e, 0xdf, 0xdb, 0x7d, 0xb1, - 0x5b, 0xd0, 0x11, 0x58, 0x6e, 0xfa, 0x26, 0x25, 0xe8, 0x05, 0x8c, 0x27, 0xfb, 0xfd, 0x6f, 0x87, - 0x15, 0x77, 0xd0, 0x09, 0x58, 0x2e, 0x03, 0xf8, 0x06, 0x78, 0x3c, 0xad, 0x1f, 0xe4, 0xb4, 0x02, - 0x48, 0x64, 0x6b, 0x70, 0xfb, 0x3b, 0x1e, 0xff, 0xbe, 0xd8, 0x1a, 0x1c, 0x83, 0x6c, 0x0d, 0x61, - 0x7a, 0xc7, 0x63, 0xff, 0x90, 0xd8, 0x1a, 0x02, 0x85, 0x48, 0x76, 0xc0, 0xba, 0x8d, 0xa7, 0xf0, - 0x69, 0x21, 0xd9, 0x01, 0xac, 0xe5, 0x0d, 0x98, 0x1e, 0x30, 0x88, 0xe3, 0x49, 0xfd, 0x30, 0x27, - 0x25, 0xf5, 0xdb, 0xc3, 0xa0, 0xf1, 0xe2, 0xc6, 0x70, 0x3c, 0xb5, 0x1f, 0xe9, 0x33, 0x5e, 0xdc, - 0x16, 0x2e, 0x5f, 0x85, 0xb4, 0xd9, 0x6b, 0xb7, 0xc9, 0xe6, 0x41, 0x47, 0xdf, 0xcf, 0x9d, 0xfb, - 0x4f, 0x5f, 0xe1, 0xdc, 0x11, 0x08, 0xcb, 0x97, 0x21, 0x81, 0x3b, 0x3b, 0xb8, 0x35, 0x0e, 0xf3, - 0x0f, 0xbe, 0x22, 0x14, 0x26, 0x81, 0x5e, 0x7e, 0x09, 0x80, 0xa5, 0x46, 0xe8, 0xc1, 0xf9, 0x18, - 0xdc, 0x3f, 0xfc, 0x0a, 0xbf, 0x10, 0xe7, 0xa3, 0xf8, 0x04, 0xd8, 0xf5, 0xba, 0xa3, 0x09, 0x7c, - 0x29, 0x4c, 0x80, 0xae, 0xc8, 0x8b, 0x90, 0x7a, 0xcd, 0xb1, 0x4c, 0x57, 0xdb, 0x1b, 0x87, 0xfd, - 0x47, 0x1c, 0x5b, 0xc0, 0x13, 0x86, 0x75, 0x2c, 0x1b, 0xbb, 0xda, 0x9e, 0x33, 0x0e, 0xf7, 0x3f, - 0x73, 0x5c, 0x0f, 0x81, 0x20, 0xeb, 0x9a, 0xe3, 0x4e, 0x32, 0xef, 0x3f, 0x16, 0xc8, 0x02, 0x81, - 0x0c, 0x9a, 0xfc, 0xbe, 0x8d, 0x0f, 0xc7, 0xe1, 0xfe, 0x89, 0x18, 0x34, 0x87, 0x5f, 0xfe, 0x00, - 0x64, 0xc8, 0x4f, 0x76, 0xcb, 0x75, 0x0c, 0xf2, 0x9f, 0x72, 0x64, 0x1f, 0x83, 0xf4, 0xec, 0xb8, - 0x2d, 0xd7, 0x18, 0xcf, 0xec, 0x2f, 0xf3, 0x95, 0x16, 0xf0, 0xcb, 0x65, 0xc8, 0x3a, 0x6e, 0xab, - 0xd5, 0xe3, 0xfe, 0xe9, 0x18, 0xf4, 0xff, 0xf2, 0x15, 0x2f, 0x65, 0xe1, 0xe1, 0x90, 0xd5, 0xbe, - 0x7b, 0xdb, 0xed, 0x5a, 0xf4, 0xbc, 0x65, 0x1c, 0x85, 0xb7, 0x39, 0x85, 0x00, 0xca, 0x72, 0x15, - 0x72, 0x64, 0x2e, 0x36, 0xee, 0x62, 0x7a, 0x38, 0x36, 0x86, 0xc4, 0x9f, 0x71, 0x06, 0x84, 0x90, - 0x2a, 0xdf, 0xf0, 0x6b, 0x6f, 0xcd, 0x47, 0x3e, 0xff, 0xd6, 0x7c, 0xe4, 0x77, 0xde, 0x9a, 0x8f, - 0x7c, 0xf2, 0x0b, 0xf3, 0x53, 0x9f, 0xff, 0xc2, 0xfc, 0xd4, 0x6f, 0x7f, 0x61, 0x7e, 0x6a, 0x78, - 0x96, 0x18, 0x56, 0xad, 0x55, 0x8b, 0xe5, 0x87, 0x5f, 0x7d, 0x6c, 0xcf, 0x70, 0xf7, 0x7b, 0x3b, - 0x4b, 0xba, 0xd5, 0xb9, 0xa8, 0x5b, 0x4e, 0xc7, 0x72, 0x2e, 0x86, 0xf3, 0xba, 0xf4, 0x17, 0xfc, - 0xcf, 0x08, 0x89, 0x99, 0xc3, 0xe9, 0x5c, 0xcd, 0x3c, 0x1c, 0xf5, 0x31, 0xdd, 0x15, 0x88, 0x95, - 0xcd, 0x43, 0x74, 0x9a, 0x29, 0x38, 0xb5, 0x67, 0xb7, 0xf9, 0x55, 0xcb, 0x14, 0x29, 0x6f, 0xdb, - 0x6d, 0x34, 0xeb, 0xdf, 0x87, 0x8e, 0x9c, 0xcb, 0xf1, 0x4b, 0xce, 0x95, 0xef, 0x88, 0x1c, 0x6f, - 0x26, 0xe9, 0xb2, 0x79, 0x48, 0x27, 0xb2, 0x15, 0x79, 0xf5, 0xc9, 0xb1, 0x79, 0xee, 0xdb, 0xa6, - 0x75, 0xd7, 0x24, 0xc3, 0xee, 0xee, 0x88, 0x1c, 0xf7, 0x7c, 0x7f, 0x8e, 0xfb, 0xc3, 0xb8, 0xdd, - 0xbe, 0x49, 0xe0, 0x9a, 0x04, 0x65, 0x27, 0xc9, 0x6e, 0xf5, 0xc3, 0x77, 0x47, 0x61, 0x7e, 0x20, - 0x9d, 0xcd, 0x85, 0x60, 0x14, 0x13, 0x96, 0x21, 0xbd, 0x22, 0x64, 0x6b, 0x0e, 0x52, 0x0e, 0xd6, - 0x2d, 0xb3, 0xe5, 0x50, 0x46, 0xc4, 0x14, 0x51, 0x24, 0x8c, 0x30, 0x35, 0xd3, 0x72, 0xf8, 0x65, - 0x65, 0x56, 0xa8, 0xfc, 0xc0, 0x31, 0x19, 0x91, 0x17, 0x3d, 0x09, 0x6e, 0x3c, 0x33, 0x21, 0x37, - 0xc4, 0x24, 0x42, 0x99, 0xff, 0x49, 0xb9, 0xf2, 0xbd, 0x51, 0x58, 0xe8, 0xe7, 0x0a, 0xd9, 0x59, - 0x8e, 0xab, 0x75, 0xba, 0xa3, 0xd8, 0x72, 0x15, 0x32, 0x4d, 0x01, 0x73, 0x6c, 0xbe, 0xdc, 0x3f, - 0x26, 0x5f, 0x0a, 0x5e, 0x57, 0x82, 0x31, 0x97, 0x26, 0x64, 0x8c, 0x37, 0x8f, 0x07, 0xe2, 0xcc, - 0x9f, 0x27, 0xe1, 0x34, 0xdb, 0x4e, 0x2a, 0xdb, 0x4a, 0xac, 0xc0, 0x79, 0x92, 0x0b, 0x36, 0x8d, - 0x3f, 0x27, 0x91, 0x6f, 0xc2, 0x4c, 0x9d, 0x68, 0x0b, 0x12, 0x05, 0xf9, 0x27, 0x3c, 0x43, 0xef, - 0x73, 0x2f, 0x86, 0x1c, 0x7e, 0x7e, 0xbe, 0x15, 0xac, 0x92, 0xbf, 0x31, 0x02, 0x52, 0x43, 0xd7, - 0xda, 0x9a, 0xfd, 0x17, 0x25, 0x85, 0x9e, 0x07, 0x60, 0xd7, 0x3d, 0xbc, 0x0f, 0xf7, 0x0a, 0x97, - 0xe6, 0x96, 0x82, 0x93, 0x5b, 0x62, 0x3d, 0xd1, 0x1b, 0x54, 0x19, 0x0a, 0x4b, 0x7e, 0x5e, 0x78, - 0x19, 0xc0, 0x6f, 0x40, 0x67, 0xe0, 0x54, 0xa3, 0x5a, 0x5e, 0x2b, 0x2b, 0xe2, 0x92, 0x50, 0x63, - 0xab, 0x56, 0xad, 0x5f, 0xab, 0xd7, 0x56, 0xa4, 0x29, 0x74, 0x12, 0x50, 0xb0, 0xd1, 0xbb, 0xd4, - 0x74, 0x02, 0xa6, 0x83, 0xf5, 0xec, 0x2b, 0x95, 0x28, 0xf1, 0x14, 0x8d, 0x4e, 0xb7, 0x8d, 0xe9, - 0xc9, 0xa3, 0x6a, 0x08, 0xae, 0x8d, 0x77, 0x42, 0x7e, 0xfd, 0x5f, 0xb3, 0x2f, 0x17, 0x66, 0x7c, - 0x74, 0x8f, 0xe7, 0xcb, 0x6b, 0x30, 0xad, 0xe9, 0x3a, 0xee, 0x86, 0x48, 0x8e, 0x51, 0xd5, 0x84, - 0x20, 0x3d, 0x4b, 0xe5, 0x98, 0x3e, 0xb5, 0xe7, 0x21, 0xe9, 0xd0, 0xd9, 0x8f, 0x23, 0xf1, 0x1b, - 0x9c, 0x04, 0x07, 0x5f, 0x36, 0x61, 0x9a, 0x78, 0x7e, 0x9a, 0x8d, 0x03, 0xc3, 0x38, 0x3a, 0xcf, - 0xf0, 0x4b, 0x3f, 0xfb, 0x34, 0x3d, 0x59, 0x7d, 0x24, 0xbc, 0x2c, 0x43, 0xc4, 0x49, 0x91, 0x38, - 0x6d, 0x7f, 0xa0, 0x18, 0x0a, 0xa2, 0x3f, 0x3e, 0xe0, 0xa3, 0x3b, 0xfb, 0x65, 0xde, 0xd9, 0xfc, - 0x30, 0x19, 0x08, 0xf4, 0x94, 0xe7, 0x54, 0x59, 0x43, 0xa5, 0x36, 0x6a, 0x4f, 0xbf, 0xfa, 0xc4, - 0xa0, 0x75, 0x62, 0xff, 0x3d, 0x45, 0x29, 0x5f, 0x0d, 0x76, 0xe3, 0xed, 0xbd, 0x1f, 0x88, 0xc3, - 0xb4, 0xd6, 0x31, 0x4c, 0xeb, 0x22, 0xfd, 0x97, 0xef, 0xb9, 0x04, 0x2d, 0x4c, 0x70, 0x28, 0x79, - 0x85, 0x6d, 0x85, 0xf1, 0x12, 0xf3, 0xa7, 0xdf, 0xfe, 0x63, 0x09, 0x7f, 0xbb, 0x2c, 0xaf, 0x83, - 0x24, 0x2e, 0xf1, 0x62, 0x53, 0xb7, 0x5a, 0x13, 0x65, 0x29, 0xbe, 0x2c, 0x68, 0x88, 0xfc, 0x56, - 0x8d, 0xa3, 0x2e, 0xbf, 0x1f, 0xd2, 0x1e, 0x99, 0x71, 0x9e, 0x89, 0x20, 0xe2, 0x61, 0x10, 0xbf, - 0x84, 0xed, 0xcc, 0x49, 0xbc, 0xd0, 0xb7, 0x05, 0x3e, 0xdb, 0xa1, 0x1b, 0x64, 0x36, 0xab, 0x50, - 0x68, 0x59, 0xa6, 0xab, 0x5a, 0x1d, 0xc3, 0xc5, 0x9d, 0xae, 0x3b, 0xd6, 0xaf, 0xfb, 0x33, 0x46, - 0x24, 0xad, 0xe4, 0x09, 0xde, 0xa6, 0x40, 0x23, 0x23, 0x61, 0xdf, 0xe9, 0x4d, 0x32, 0x92, 0xff, - 0xea, 0x8d, 0x84, 0xe2, 0x90, 0x91, 0x3c, 0x90, 0x74, 0x38, 0xad, 0xdb, 0x5c, 0x99, 0xbb, 0x07, - 0x4c, 0x0a, 0x3c, 0xe9, 0xf8, 0xe3, 0x18, 0xcc, 0x73, 0xe0, 0x1d, 0xcd, 0xc1, 0x17, 0xef, 0x3c, - 0xb3, 0x83, 0x5d, 0xed, 0x99, 0x8b, 0xba, 0x65, 0x08, 0x4b, 0x3e, 0xc3, 0x95, 0x35, 0x69, 0x5f, - 0xe2, 0xed, 0xa5, 0xa1, 0xc7, 0xdd, 0xa5, 0xd1, 0x4a, 0xbe, 0x34, 0x28, 0x83, 0xf2, 0xab, 0x10, - 0xaf, 0x5a, 0x86, 0x49, 0x6c, 0x5b, 0x0b, 0x9b, 0x56, 0x87, 0xab, 0x5b, 0x56, 0x40, 0x57, 0x20, - 0xa9, 0x75, 0xac, 0x9e, 0xe9, 0x32, 0x55, 0x5b, 0x99, 0xff, 0xb5, 0x37, 0x17, 0xa6, 0xfe, 0xed, - 0x9b, 0x0b, 0xb1, 0xba, 0xe9, 0xfe, 0xd6, 0xcf, 0x3d, 0x05, 0x9c, 0x7a, 0xdd, 0x74, 0x3f, 0xf3, - 0xfb, 0x3f, 0x75, 0x21, 0xa2, 0x70, 0xe8, 0xe5, 0xf8, 0x17, 0xdf, 0x58, 0x88, 0xc8, 0x2f, 0x43, - 0x6a, 0x05, 0xeb, 0x47, 0x90, 0x7f, 0xa6, 0x8f, 0xfc, 0x69, 0x41, 0x7e, 0x05, 0xeb, 0x01, 0xf2, - 0x2b, 0x58, 0xef, 0xa3, 0xfc, 0x3c, 0xa4, 0xeb, 0xa6, 0xcb, 0x3e, 0x21, 0x7a, 0x02, 0x62, 0x86, - 0xc9, 0x6e, 0xa5, 0x07, 0x28, 0x0c, 0x0c, 0x50, 0x21, 0x50, 0x04, 0x71, 0x05, 0xeb, 0x1e, 0x62, - 0x0b, 0xeb, 0xfd, 0x88, 0x83, 0x5d, 0x13, 0xa8, 0xca, 0xca, 0x6f, 0xff, 0xee, 0xfc, 0xd4, 0xc7, - 0xde, 0x9a, 0x9f, 0x1a, 0xb9, 0xf4, 0xf2, 0xf8, 0xa5, 0xf7, 0x56, 0xfc, 0xc7, 0xe2, 0xf0, 0x30, - 0xfd, 0xb2, 0xd4, 0xee, 0x18, 0xa6, 0x7b, 0x51, 0xb7, 0x0f, 0xbb, 0xae, 0x45, 0x14, 0x80, 0xb5, - 0xcb, 0x17, 0x7c, 0xda, 0x6f, 0x5e, 0x62, 0xcd, 0xc3, 0x97, 0x5b, 0xde, 0x85, 0xc4, 0x16, 0xc1, - 0x23, 0x2c, 0x76, 0x2d, 0x57, 0x6b, 0x73, 0xaf, 0x85, 0x15, 0x48, 0x2d, 0xfb, 0x1a, 0x35, 0xca, - 0x6a, 0x0d, 0xf1, 0x21, 0x6a, 0x1b, 0x6b, 0xbb, 0xec, 0xa3, 0x9e, 0x18, 0x75, 0x77, 0xd3, 0xa4, - 0x82, 0x7e, 0xbf, 0x33, 0x0b, 0x09, 0xad, 0xc7, 0x2e, 0xde, 0xc4, 0x88, 0x1f, 0x4c, 0x0b, 0xf2, - 0x4d, 0x48, 0xf1, 0xf3, 0x77, 0x24, 0x41, 0xec, 0x36, 0x3e, 0xa4, 0xfd, 0xe4, 0x14, 0xf2, 0x13, - 0x2d, 0x41, 0x82, 0x0e, 0x9e, 0x7f, 0xad, 0x38, 0xb7, 0x34, 0x30, 0xfa, 0x25, 0x3a, 0x48, 0x85, - 0x81, 0xc9, 0x37, 0x20, 0xbd, 0x62, 0x11, 0x29, 0x0c, 0x53, 0xcb, 0x30, 0x6a, 0x74, 0xcc, 0xdd, - 0x1e, 0x97, 0x0a, 0x85, 0x15, 0xd0, 0x49, 0x48, 0xb2, 0x8f, 0xbc, 0xf8, 0xe5, 0x21, 0x5e, 0x92, - 0xab, 0x90, 0xa2, 0xb4, 0x37, 0xbb, 0xc4, 0x65, 0xf0, 0xee, 0xbd, 0x67, 0xf8, 0x27, 0xbf, 0x9c, - 0x7c, 0xd4, 0x1f, 0x2c, 0x82, 0x78, 0x4b, 0x73, 0x35, 0x3e, 0x6f, 0xfa, 0x5b, 0xfe, 0x20, 0xa4, - 0x39, 0x11, 0x07, 0x5d, 0x82, 0x98, 0xd5, 0x75, 0xf8, 0xf5, 0x9f, 0xd2, 0xa8, 0xa9, 0x6c, 0x76, - 0x2b, 0x71, 0x22, 0x33, 0x0a, 0x01, 0xae, 0x6c, 0x8c, 0x14, 0x8b, 0xe7, 0x42, 0x62, 0xd1, 0xc1, - 0xee, 0xce, 0xae, 0xeb, 0xff, 0x60, 0xcb, 0x39, 0x20, 0x0a, 0x9e, 0xa0, 0xdc, 0x8f, 0xc2, 0x7c, - 0xa0, 0xf5, 0x0e, 0xb6, 0x1d, 0xc3, 0x32, 0x99, 0x34, 0x71, 0x49, 0x41, 0x81, 0x01, 0xf2, 0xf6, - 0x11, 0xa2, 0xf2, 0x01, 0x88, 0x95, 0xbb, 0x5d, 0x54, 0x82, 0x34, 0x2d, 0xeb, 0x16, 0x93, 0x95, - 0xb8, 0xe2, 0x95, 0x49, 0x9b, 0x63, 0xed, 0xba, 0x77, 0x35, 0xdb, 0xfb, 0x06, 0x5a, 0x94, 0xe5, - 0x17, 0x21, 0x53, 0xb5, 0x4c, 0x07, 0x9b, 0x4e, 0x8f, 0xfa, 0xc2, 0x3b, 0x6d, 0x4b, 0xbf, 0xcd, - 0x29, 0xb0, 0x02, 0x61, 0xb6, 0xd6, 0xed, 0x52, 0xcc, 0xb8, 0x42, 0x7e, 0xb2, 0xfd, 0x5a, 0xd9, - 0x1c, 0xc9, 0x9e, 0xcb, 0xc7, 0x63, 0x0f, 0x9f, 0xa0, 0xef, 0xd4, 0x46, 0xe0, 0xa1, 0xc1, 0x8d, - 0x74, 0x1b, 0x1f, 0x3a, 0xc7, 0xdd, 0x47, 0x2f, 0x43, 0x66, 0x8b, 0x3e, 0x4f, 0x72, 0x13, 0x1f, - 0xa2, 0x12, 0xa4, 0x70, 0xeb, 0xd2, 0xe5, 0xcb, 0xcf, 0xbc, 0xc8, 0xa4, 0xfc, 0xfa, 0x94, 0x22, - 0x2a, 0xd0, 0x3c, 0x64, 0x1c, 0xac, 0x77, 0x2f, 0x5d, 0xbe, 0x72, 0xfb, 0x19, 0x26, 0x56, 0xd7, - 0xa7, 0x14, 0xbf, 0x6a, 0x39, 0x4d, 0x66, 0xfc, 0xc5, 0x4f, 0x2f, 0x44, 0x2a, 0x09, 0x88, 0x39, - 0xbd, 0xce, 0xbb, 0x26, 0x1b, 0xdf, 0x93, 0x80, 0xc5, 0x40, 0x2b, 0x33, 0x2e, 0x77, 0xb4, 0xb6, - 0xd1, 0xd2, 0xfc, 0x47, 0x65, 0xa4, 0xc0, 0xfc, 0x29, 0xc4, 0x08, 0xab, 0x71, 0x24, 0x17, 0xe5, - 0x9f, 0x89, 0x40, 0xee, 0x96, 0xa0, 0xdc, 0xc0, 0x2e, 0xba, 0x0a, 0xe0, 0xf5, 0x24, 0xb6, 0xca, - 0x99, 0xa5, 0xfe, 0xbe, 0x96, 0x3c, 0x1c, 0x25, 0x00, 0x8e, 0x9e, 0xa7, 0x02, 0xd8, 0xb5, 0x1c, - 0xfe, 0x3d, 0xec, 0x18, 0x54, 0x0f, 0x18, 0x3d, 0x09, 0x88, 0x6a, 0x35, 0xf5, 0x8e, 0xe5, 0x1a, - 0xe6, 0x9e, 0xda, 0xb5, 0xee, 0xf2, 0x57, 0x06, 0x62, 0x8a, 0x44, 0x5b, 0x6e, 0xd1, 0x86, 0x2d, - 0x52, 0x4f, 0x06, 0x9d, 0xf1, 0xa8, 0x90, 0xb0, 0x4e, 0x6b, 0xb5, 0x6c, 0xec, 0x38, 0x5c, 0x71, - 0x89, 0x22, 0xba, 0x0a, 0xa9, 0x6e, 0x6f, 0x47, 0x15, 0x5a, 0x22, 0x7b, 0xe9, 0xa1, 0x61, 0x7b, - 0x5e, 0xc8, 0x06, 0xdf, 0xf5, 0xc9, 0x6e, 0x6f, 0x87, 0x48, 0xca, 0x23, 0x90, 0x1b, 0x32, 0x98, - 0xec, 0x1d, 0x7f, 0x1c, 0xf4, 0x45, 0x1c, 0x3e, 0x03, 0xb5, 0x6b, 0x1b, 0x96, 0x6d, 0xb8, 0x87, - 0xf4, 0xda, 0x5e, 0x4c, 0x91, 0x44, 0xc3, 0x16, 0xaf, 0x97, 0x6f, 0x43, 0xb1, 0x41, 0xdd, 0x7d, - 0x7f, 0xe4, 0x97, 0xfd, 0xf1, 0x45, 0xc6, 0x8f, 0x6f, 0xe4, 0xc8, 0xa2, 0x03, 0x23, 0xab, 0xac, - 0x8f, 0x94, 0xcc, 0x67, 0x8f, 0x27, 0x99, 0x61, 0xeb, 0xf6, 0x87, 0xa7, 0x43, 0x9b, 0x92, 0x7b, - 0x3d, 0x01, 0x95, 0x35, 0xa9, 0x50, 0x8e, 0x8b, 0xe4, 0x4b, 0x47, 0x1b, 0xd1, 0xd2, 0x18, 0xd5, - 0x59, 0x1a, 0xbb, 0x7d, 0xe4, 0x17, 0x21, 0xbf, 0xa5, 0xd9, 0x6e, 0x03, 0xbb, 0xd7, 0xb1, 0xd6, - 0xc2, 0x76, 0xd8, 0xca, 0xe6, 0x85, 0x95, 0x45, 0x10, 0xa7, 0xa6, 0x94, 0x59, 0x19, 0xfa, 0x5b, - 0xde, 0x87, 0x38, 0xbd, 0xb7, 0xeb, 0x59, 0x60, 0x8e, 0xc1, 0x2c, 0x30, 0xd1, 0x9f, 0x87, 0x2e, - 0x76, 0x44, 0xb2, 0x89, 0x16, 0xd0, 0x73, 0xc2, 0x8e, 0xc6, 0x8e, 0xb6, 0xa3, 0x5c, 0x08, 0xb9, - 0x35, 0x6d, 0x43, 0xaa, 0x42, 0xd4, 0x6f, 0x7d, 0xc5, 0x1b, 0x48, 0xc4, 0x1f, 0x08, 0x5a, 0x87, - 0x62, 0x57, 0xb3, 0x5d, 0xfa, 0x1d, 0xdf, 0x3e, 0x9d, 0x05, 0x97, 0xf3, 0x85, 0xc1, 0x5d, 0x17, - 0x9a, 0x2c, 0xef, 0x25, 0xdf, 0x0d, 0x56, 0xca, 0xff, 0x31, 0x0e, 0x49, 0xce, 0x8c, 0x0f, 0x40, - 0x8a, 0xb3, 0x95, 0x4b, 0xe6, 0xc3, 0x4b, 0x83, 0xc6, 0x68, 0xc9, 0x33, 0x1a, 0x9c, 0x9e, 0xc0, - 0x41, 0x8f, 0x43, 0x5a, 0xdf, 0xd7, 0x0c, 0x53, 0x35, 0x5a, 0xdc, 0x01, 0xcc, 0xbe, 0xf5, 0xe6, - 0x42, 0xaa, 0x4a, 0xea, 0xea, 0x2b, 0x4a, 0x8a, 0x36, 0xd6, 0x5b, 0xc4, 0xf2, 0xef, 0x63, 0x63, - 0x6f, 0xdf, 0xe5, 0xbb, 0x8b, 0x97, 0xd0, 0x0b, 0x10, 0x27, 0x02, 0xc1, 0xbf, 0xf2, 0x2e, 0x0d, - 0xf8, 0xf1, 0x5e, 0xa2, 0xa5, 0x92, 0x26, 0x1d, 0x7f, 0xf2, 0x3f, 0x2c, 0x44, 0x14, 0x8a, 0x81, - 0xaa, 0x90, 0x6f, 0x6b, 0x8e, 0xab, 0x52, 0xab, 0x45, 0xba, 0x4f, 0x50, 0x12, 0xa7, 0x07, 0x19, - 0xc2, 0x19, 0xcb, 0x87, 0x9e, 0x25, 0x58, 0xac, 0xaa, 0x85, 0xce, 0x81, 0x44, 0x89, 0xe8, 0x56, - 0xa7, 0x63, 0xb8, 0xcc, 0x97, 0x4a, 0x52, 0xbe, 0x17, 0x48, 0x7d, 0x95, 0x56, 0x53, 0x8f, 0xea, - 0x0c, 0x64, 0xe8, 0x77, 0xa5, 0x14, 0x84, 0x5d, 0x16, 0x4f, 0x93, 0x0a, 0xda, 0x78, 0x16, 0x8a, - 0xbe, 0x6e, 0x64, 0x20, 0x69, 0x46, 0xc5, 0xaf, 0xa6, 0x80, 0x4f, 0xc3, 0xac, 0x89, 0x0f, 0xe8, - 0xf5, 0xf5, 0x10, 0x74, 0x86, 0x42, 0x23, 0xd2, 0x76, 0x2b, 0x8c, 0xf1, 0x18, 0x14, 0x74, 0xc1, - 0x7c, 0x06, 0x0b, 0x14, 0x36, 0xef, 0xd5, 0x52, 0xb0, 0xd3, 0x90, 0xd6, 0xba, 0x5d, 0x06, 0x90, - 0xe5, 0xba, 0xb1, 0xdb, 0xa5, 0x4d, 0x17, 0x60, 0x9a, 0xce, 0xd1, 0xc6, 0x4e, 0xaf, 0xed, 0x72, - 0x22, 0x39, 0x0a, 0x53, 0x24, 0x0d, 0x0a, 0xab, 0xa7, 0xb0, 0x8f, 0x42, 0x1e, 0xdf, 0x31, 0x5a, - 0xd8, 0xd4, 0x31, 0x83, 0xcb, 0x53, 0xb8, 0x9c, 0xa8, 0xa4, 0x40, 0xe7, 0xc1, 0xd3, 0x79, 0xaa, - 0xd0, 0xc7, 0x05, 0x46, 0x4f, 0xd4, 0x97, 0x59, 0xb5, 0x3c, 0x07, 0xf1, 0x15, 0xcd, 0xd5, 0x88, - 0x53, 0xe1, 0x1e, 0x30, 0x23, 0x93, 0x53, 0xc8, 0x4f, 0xf9, 0x8b, 0x51, 0x88, 0xdf, 0xb2, 0x5c, - 0x8c, 0x9e, 0x0d, 0x38, 0x7c, 0x85, 0x61, 0xf2, 0xdc, 0x30, 0xf6, 0x4c, 0xdc, 0x5a, 0x77, 0xf6, - 0x02, 0x8f, 0xc0, 0xf8, 0xe2, 0x14, 0x0d, 0x89, 0xd3, 0x2c, 0x24, 0x6c, 0xab, 0x67, 0xb6, 0xc4, - 0x35, 0x6b, 0x5a, 0x40, 0x35, 0x48, 0x7b, 0x52, 0x12, 0x1f, 0x27, 0x25, 0x45, 0x22, 0x25, 0x44, - 0x86, 0x79, 0x85, 0x92, 0xda, 0xe1, 0xc2, 0x52, 0x81, 0x8c, 0xa7, 0xbc, 0xb8, 0xb4, 0x4d, 0x26, - 0xb0, 0x3e, 0x1a, 0x31, 0x24, 0xde, 0xda, 0x7b, 0xcc, 0x63, 0x12, 0x27, 0x79, 0x0d, 0x9c, 0x7b, - 0x21, 0xb1, 0xe2, 0x0f, 0xd2, 0xa4, 0xe8, 0xbc, 0x7c, 0xb1, 0x62, 0x8f, 0xd2, 0x3c, 0x04, 0x19, - 0xc7, 0xd8, 0x33, 0x35, 0xb7, 0x67, 0x63, 0x2e, 0x79, 0x7e, 0x85, 0xfc, 0x2b, 0x11, 0x48, 0x32, - 0x49, 0x0e, 0xf0, 0x2d, 0x32, 0x9c, 0x6f, 0xd1, 0x51, 0x7c, 0x8b, 0x3d, 0x38, 0xdf, 0xca, 0x00, - 0xde, 0x60, 0x1c, 0xfe, 0x4e, 0xc8, 0x10, 0x6f, 0x81, 0x0d, 0xb1, 0x61, 0xec, 0xf1, 0x8d, 0x1a, - 0x40, 0x92, 0xff, 0x7d, 0x84, 0x38, 0xae, 0xbc, 0x1d, 0x95, 0x21, 0x2f, 0xc6, 0xa5, 0xee, 0xb6, - 0xb5, 0x3d, 0x2e, 0x3b, 0x0f, 0x8f, 0x1c, 0xdc, 0xb5, 0xb6, 0xb6, 0xa7, 0x64, 0xf9, 0x78, 0x48, - 0x61, 0xf8, 0x3a, 0x44, 0x47, 0xac, 0x43, 0x68, 0xe1, 0x63, 0x0f, 0xb6, 0xf0, 0xa1, 0x25, 0x8a, - 0xf7, 0x2f, 0xd1, 0xcf, 0x46, 0x69, 0xf0, 0xd2, 0xb5, 0x1c, 0xad, 0xfd, 0x5e, 0xec, 0x88, 0x33, - 0x90, 0xe9, 0x5a, 0x6d, 0x95, 0xb5, 0xb0, 0xcf, 0x0f, 0xd2, 0x5d, 0xab, 0xad, 0x0c, 0x2c, 0x7b, - 0xe2, 0x1d, 0xda, 0x2e, 0xc9, 0x77, 0x80, 0x6b, 0xa9, 0x7e, 0xae, 0xd9, 0x90, 0x63, 0xac, 0xe0, - 0xb6, 0xec, 0x69, 0xc2, 0x03, 0x6a, 0x1c, 0x23, 0x83, 0xb6, 0x97, 0x0d, 0x9b, 0x41, 0x2a, 0x1c, - 0x8e, 0x60, 0x30, 0xd5, 0x3f, 0x2c, 0xea, 0x0d, 0x8a, 0xa5, 0xc2, 0xe1, 0xe4, 0xef, 0x89, 0x00, - 0xac, 0x11, 0xce, 0xd2, 0xf9, 0x12, 0x2b, 0xe4, 0xd0, 0x21, 0xa8, 0xa1, 0x9e, 0xe7, 0x47, 0x2d, - 0x1a, 0xef, 0x3f, 0xe7, 0x04, 0xc7, 0x5d, 0x85, 0xbc, 0x2f, 0x8c, 0x0e, 0x16, 0x83, 0x99, 0x3f, - 0xc2, 0xa3, 0x6e, 0x60, 0x57, 0xc9, 0xdd, 0x09, 0x94, 0xe4, 0x7f, 0x14, 0x81, 0x0c, 0x1d, 0xd3, - 0x3a, 0x76, 0xb5, 0xd0, 0x1a, 0x46, 0x1e, 0x7c, 0x0d, 0x1f, 0x06, 0x60, 0x64, 0x1c, 0xe3, 0x75, - 0xcc, 0x25, 0x2b, 0x43, 0x6b, 0x1a, 0xc6, 0xeb, 0x18, 0x5d, 0xf1, 0x18, 0x1e, 0x3b, 0x9a, 0xe1, - 0xc2, 0xe3, 0xe6, 0x6c, 0x3f, 0x05, 0x29, 0xfa, 0xae, 0xde, 0x81, 0xc3, 0x9d, 0xe8, 0xa4, 0xd9, - 0xeb, 0x34, 0x0f, 0x1c, 0xf9, 0x35, 0x48, 0x35, 0x0f, 0x58, 0x2e, 0xe4, 0x0c, 0x64, 0x6c, 0xcb, - 0xe2, 0x36, 0x99, 0xf9, 0x42, 0x69, 0x52, 0x41, 0x4d, 0x90, 0x88, 0xff, 0xa3, 0x7e, 0xfc, 0xef, - 0x27, 0x30, 0x62, 0x13, 0x25, 0x30, 0x2e, 0xfc, 0x9b, 0x08, 0x64, 0x03, 0xfa, 0x01, 0x3d, 0x03, - 0x27, 0x2a, 0x6b, 0x9b, 0xd5, 0x9b, 0x6a, 0x7d, 0x45, 0xbd, 0xb6, 0x56, 0x5e, 0xf5, 0xbf, 0xb0, - 0x2b, 0x9d, 0xbc, 0x77, 0x7f, 0x11, 0x05, 0x60, 0xb7, 0x4d, 0x7a, 0x9a, 0x83, 0x2e, 0xc2, 0x6c, - 0x18, 0xa5, 0x5c, 0x69, 0xd4, 0x36, 0x9a, 0x52, 0xa4, 0x74, 0xe2, 0xde, 0xfd, 0xc5, 0xe9, 0x00, - 0x46, 0x79, 0xc7, 0xc1, 0xa6, 0x3b, 0x88, 0x50, 0xdd, 0x5c, 0x5f, 0xaf, 0x37, 0xa5, 0xe8, 0x00, - 0x02, 0x57, 0xd8, 0xe7, 0x61, 0x3a, 0x8c, 0xb0, 0x51, 0x5f, 0x93, 0x62, 0x25, 0x74, 0xef, 0xfe, - 0x62, 0x21, 0x00, 0xbd, 0x61, 0xb4, 0x4b, 0xe9, 0x4f, 0xfc, 0xc8, 0xfc, 0xd4, 0x67, 0xfe, 0xd6, - 0x7c, 0x84, 0xcc, 0x2c, 0x1f, 0xd2, 0x11, 0xe8, 0x49, 0x38, 0xd5, 0xa8, 0xaf, 0x6e, 0xd4, 0x56, - 0xd4, 0xf5, 0xc6, 0x6a, 0xdf, 0x47, 0xd3, 0xa5, 0xe2, 0xbd, 0xfb, 0x8b, 0x59, 0x3e, 0xa5, 0x51, - 0xd0, 0x5b, 0x4a, 0xed, 0xd6, 0x66, 0xb3, 0x26, 0x45, 0x18, 0xf4, 0x96, 0x8d, 0xef, 0x58, 0x2e, - 0x7b, 0x92, 0xf3, 0x69, 0x38, 0x3d, 0x04, 0xda, 0x9b, 0xd8, 0xf4, 0xbd, 0xfb, 0x8b, 0xf9, 0x2d, - 0x1b, 0xb3, 0xfd, 0x43, 0x31, 0x96, 0x60, 0x6e, 0x10, 0x63, 0x73, 0x6b, 0xb3, 0x51, 0x5e, 0x93, - 0x16, 0x4b, 0xd2, 0xbd, 0xfb, 0x8b, 0x39, 0xa1, 0x0c, 0x09, 0xbc, 0x3f, 0xb3, 0x77, 0x2b, 0xda, - 0xf9, 0xd6, 0x54, 0x28, 0x97, 0xc7, 0xe2, 0x88, 0xae, 0x66, 0x6b, 0x9d, 0xe3, 0x86, 0x3b, 0x63, - 0x8e, 0x73, 0xe5, 0x8f, 0x45, 0xa1, 0xe8, 0x39, 0xd3, 0x5b, 0xb4, 0x07, 0xf4, 0x6c, 0x30, 0x0f, - 0x93, 0x1d, 0x69, 0xc6, 0x18, 0xb4, 0x48, 0xd3, 0xbc, 0x1f, 0xd2, 0xc2, 0x29, 0xe3, 0xea, 0x62, - 0x71, 0x10, 0xaf, 0xc6, 0x21, 0x38, 0xaa, 0x87, 0x81, 0x5e, 0x82, 0x8c, 0xa7, 0x3c, 0xbc, 0x67, - 0xab, 0x46, 0x6b, 0x1b, 0x8e, 0xef, 0xe3, 0xa0, 0x17, 0xfd, 0xb0, 0x21, 0x3e, 0x2a, 0x10, 0xb9, - 0xc5, 0x00, 0x38, 0xb2, 0x80, 0x97, 0xeb, 0x7c, 0xdb, 0xf1, 0xd9, 0xd3, 0x27, 0x3f, 0x0e, 0x54, - 0x16, 0x49, 0x31, 0xaf, 0x24, 0xdd, 0xd1, 0x0e, 0x2a, 0x34, 0x98, 0x3a, 0x05, 0x29, 0xd2, 0xb8, - 0xc7, 0x3f, 0x2a, 0x8f, 0x29, 0xc9, 0x8e, 0x76, 0xb0, 0xaa, 0x39, 0x37, 0xe2, 0xe9, 0x98, 0x14, - 0x97, 0x7f, 0x22, 0x02, 0x85, 0xf0, 0x1c, 0xd1, 0x13, 0x80, 0x08, 0x86, 0xb6, 0x87, 0x55, 0xa2, - 0x62, 0x28, 0xb3, 0x04, 0xdd, 0x62, 0x47, 0x3b, 0x28, 0xef, 0xe1, 0x8d, 0x5e, 0x87, 0x0e, 0xc0, - 0x41, 0xeb, 0x20, 0x09, 0x60, 0xb1, 0x4e, 0x9c, 0x99, 0xa7, 0x07, 0x1f, 0xb1, 0xe4, 0x00, 0xcc, - 0x50, 0x7d, 0x8a, 0x18, 0xaa, 0x02, 0xa3, 0xe7, 0x1d, 0xc7, 0x87, 0xa6, 0x12, 0x0b, 0x4f, 0x45, - 0x7e, 0x09, 0x8a, 0x7d, 0xfc, 0x44, 0x32, 0xe4, 0x79, 0x56, 0x80, 0x1e, 0x75, 0x32, 0xff, 0x38, - 0xa3, 0x64, 0x59, 0xf4, 0x4f, 0x8f, 0x7e, 0x97, 0xd3, 0x3f, 0xff, 0xc6, 0x42, 0x84, 0x26, 0xcc, - 0x9f, 0x80, 0x7c, 0x88, 0xa3, 0x22, 0x53, 0x17, 0xf1, 0x33, 0x75, 0x3e, 0xf0, 0xab, 0x90, 0x23, - 0x8a, 0x12, 0xb7, 0x38, 0xec, 0xe3, 0x50, 0x64, 0x8a, 0xbc, 0x9f, 0xd7, 0xcc, 0x93, 0x5a, 0x17, - 0x0c, 0x97, 0x85, 0x6b, 0x15, 0x66, 0x7b, 0x56, 0x40, 0xad, 0x6a, 0x4e, 0xe5, 0x43, 0x9f, 0x79, - 0x6b, 0x3e, 0xf2, 0xee, 0x6c, 0xc4, 0xdf, 0xfc, 0x10, 0x9c, 0x09, 0x34, 0x6a, 0x3b, 0xba, 0x11, - 0xca, 0x3a, 0x14, 0x03, 0x42, 0x46, 0x1a, 0xc7, 0x65, 0x0f, 0x8e, 0xcc, 0x61, 0x1c, 0x9d, 0x30, - 0x2b, 0x1d, 0xad, 0x11, 0xc6, 0x27, 0x36, 0x86, 0xe7, 0x28, 0xff, 0x77, 0x1a, 0x52, 0x0a, 0xfe, - 0x68, 0x0f, 0x3b, 0x2e, 0xba, 0x04, 0x71, 0xac, 0xef, 0x5b, 0xc3, 0x52, 0x42, 0x64, 0x72, 0x4b, - 0x1c, 0xae, 0xa6, 0xef, 0x5b, 0xd7, 0xa7, 0x14, 0x0a, 0x8b, 0x2e, 0x43, 0x62, 0xb7, 0xdd, 0xe3, - 0x79, 0x8a, 0x3e, 0x65, 0x11, 0x44, 0xba, 0x46, 0x80, 0xae, 0x4f, 0x29, 0x0c, 0x9a, 0x74, 0x45, - 0x1f, 0x0a, 0x8e, 0x1d, 0xdd, 0x55, 0xdd, 0xdc, 0xa5, 0x5d, 0x11, 0x58, 0x54, 0x01, 0x30, 0x4c, - 0xc3, 0x55, 0x69, 0x0c, 0xcf, 0x3d, 0xc1, 0x47, 0x46, 0x63, 0x1a, 0x2e, 0x8d, 0xfa, 0xaf, 0x4f, - 0x29, 0x19, 0x43, 0x14, 0xc8, 0x70, 0x3f, 0xda, 0xc3, 0xf6, 0x21, 0x77, 0x00, 0x47, 0x0e, 0xf7, - 0x43, 0x04, 0x88, 0x0c, 0x97, 0x42, 0xa3, 0x1a, 0x64, 0xe9, 0x17, 0xb2, 0x6c, 0xff, 0xf2, 0xa7, - 0x69, 0xe5, 0x51, 0xc8, 0x15, 0x02, 0x4a, 0xb7, 0xf4, 0xf5, 0x29, 0x05, 0x76, 0xbc, 0x12, 0x51, - 0x92, 0xec, 0xe9, 0x32, 0xf7, 0x80, 0x3f, 0xc8, 0xb9, 0x30, 0x8a, 0x06, 0x7d, 0xbf, 0xac, 0x79, - 0x70, 0x7d, 0x4a, 0x49, 0xe9, 0xec, 0x27, 0x99, 0x7f, 0x0b, 0xb7, 0x8d, 0x3b, 0xd8, 0x26, 0xf8, - 0x99, 0xa3, 0xe7, 0xbf, 0xc2, 0x20, 0x29, 0x85, 0x4c, 0x4b, 0x14, 0x88, 0xa2, 0xc5, 0x66, 0x8b, - 0x4f, 0x03, 0x06, 0xf5, 0x74, 0x68, 0x9d, 0xcd, 0x96, 0x98, 0x44, 0x1a, 0xf3, 0xdf, 0xe8, 0x05, - 0xcf, 0x43, 0xcd, 0x0e, 0x3a, 0x85, 0xa1, 0x09, 0xb0, 0x5c, 0xc5, 0x94, 0xf0, 0x54, 0xd1, 0x06, - 0x14, 0xda, 0x86, 0xe3, 0xaa, 0x8e, 0xa9, 0x75, 0x9d, 0x7d, 0xcb, 0x75, 0x68, 0xd0, 0x9f, 0xbd, - 0xf4, 0xd8, 0x28, 0x0a, 0x6b, 0x86, 0xe3, 0x36, 0x04, 0xf0, 0xf5, 0x29, 0x25, 0xdf, 0x0e, 0x56, - 0x10, 0x7a, 0xd6, 0xee, 0x2e, 0xb6, 0x3d, 0x82, 0x34, 0x39, 0x70, 0x04, 0xbd, 0x4d, 0x02, 0x2d, - 0xf0, 0x09, 0x3d, 0x2b, 0x58, 0x81, 0xbe, 0x16, 0x66, 0xda, 0x96, 0xd6, 0xf2, 0xc8, 0xa9, 0xfa, - 0x7e, 0xcf, 0xbc, 0x4d, 0x33, 0x09, 0xd9, 0x4b, 0xe7, 0x47, 0x0e, 0xd2, 0xd2, 0x5a, 0x82, 0x44, - 0x95, 0x20, 0x5c, 0x9f, 0x52, 0xa6, 0xdb, 0xfd, 0x95, 0xe8, 0x23, 0x30, 0xab, 0x75, 0xbb, 0xed, - 0xc3, 0x7e, 0xea, 0x45, 0x4a, 0xfd, 0xc2, 0x28, 0xea, 0x65, 0x82, 0xd3, 0x4f, 0x1e, 0x69, 0x03, - 0xb5, 0xa8, 0x09, 0x52, 0xd7, 0xc6, 0xf4, 0xa3, 0x9a, 0x2e, 0x77, 0x55, 0xe8, 0x93, 0x43, 0xd9, - 0x4b, 0x67, 0x47, 0xd1, 0xde, 0x62, 0xf0, 0xc2, 0xb3, 0xb9, 0x3e, 0xa5, 0x14, 0xbb, 0xe1, 0x2a, - 0x46, 0xd5, 0xd2, 0x31, 0x7d, 0x11, 0x8d, 0x53, 0x9d, 0x1e, 0x47, 0x95, 0xc2, 0x87, 0xa9, 0x86, - 0xaa, 0x2a, 0x29, 0x7e, 0x29, 0x8e, 0xbf, 0x18, 0x73, 0x16, 0xb2, 0x01, 0xc5, 0x82, 0xe6, 0x20, - 0xc5, 0x2f, 0x09, 0x88, 0xcb, 0x74, 0xbc, 0x28, 0x17, 0x20, 0x17, 0x54, 0x26, 0xf2, 0x27, 0x23, - 0x1e, 0x26, 0xfd, 0xd4, 0x7e, 0x2e, 0x9c, 0x3a, 0xcc, 0xf8, 0x59, 0xc1, 0x47, 0x85, 0x15, 0x11, - 0xed, 0xec, 0x34, 0x29, 0x47, 0x2b, 0xb9, 0x11, 0x43, 0x0b, 0x90, 0xed, 0x5e, 0xea, 0x7a, 0x20, - 0x31, 0x0a, 0x02, 0xdd, 0x4b, 0x5d, 0x01, 0xf0, 0x08, 0xe4, 0xc8, 0x4c, 0xd5, 0xa0, 0xa3, 0x91, - 0x51, 0xb2, 0xa4, 0x8e, 0x83, 0xc8, 0xff, 0x22, 0x0a, 0x52, 0xbf, 0x02, 0xf2, 0x72, 0x8a, 0x91, - 0x63, 0xe7, 0x14, 0x4f, 0xf7, 0x67, 0x33, 0xfd, 0x04, 0xe6, 0x1a, 0x48, 0x7e, 0x1e, 0x8e, 0x19, - 0x82, 0xd1, 0x8e, 0x53, 0x9f, 0x87, 0xa7, 0x14, 0xf5, 0x3e, 0x97, 0xef, 0x5a, 0xe8, 0xec, 0x45, - 0xbc, 0x84, 0xdf, 0xbf, 0xc4, 0x9e, 0xbf, 0xb0, 0xdd, 0x6d, 0x69, 0x2e, 0x16, 0x79, 0x91, 0xc0, - 0x31, 0xcc, 0xe3, 0x50, 0xd4, 0xba, 0x5d, 0xd5, 0x71, 0x35, 0x17, 0x73, 0xb3, 0x9e, 0x60, 0xe9, - 0x41, 0xad, 0xdb, 0x6d, 0x90, 0x5a, 0x66, 0xd6, 0x1f, 0x83, 0x02, 0xd1, 0xc9, 0x86, 0xd6, 0x56, - 0x79, 0x96, 0x20, 0xc9, 0xac, 0x3f, 0xaf, 0xbd, 0x4e, 0x2b, 0xe5, 0x96, 0xb7, 0xe2, 0x54, 0x1f, - 0x7b, 0x61, 0x56, 0x24, 0x10, 0x66, 0x21, 0xfe, 0x04, 0x02, 0xe3, 0x8f, 0x78, 0x36, 0x62, 0x78, - 0x76, 0x77, 0x96, 0x86, 0x64, 0x77, 0x58, 0xc2, 0x23, 0xad, 0xb0, 0x82, 0xfc, 0xf1, 0x28, 0x4c, - 0x0f, 0x68, 0xee, 0xa1, 0x69, 0x6f, 0x3f, 0xbe, 0x8c, 0x1e, 0x2b, 0xbe, 0xbc, 0x19, 0x4e, 0xeb, - 0x06, 0x2c, 0xdf, 0x99, 0x01, 0x26, 0x33, 0xbd, 0x49, 0x04, 0x9a, 0x13, 0x09, 0x64, 0x7e, 0xa9, - 0x98, 0x6f, 0xc3, 0xec, 0xce, 0xe1, 0xeb, 0x9a, 0xe9, 0x1a, 0x26, 0x56, 0x07, 0x56, 0x6d, 0xd0, - 0x94, 0xae, 0x1b, 0xce, 0x0e, 0xde, 0xd7, 0xee, 0x18, 0x96, 0x18, 0xd6, 0x8c, 0x87, 0xef, 0x27, - 0x77, 0x65, 0x05, 0x0a, 0x61, 0xd3, 0x83, 0x0a, 0x10, 0x75, 0x0f, 0xf8, 0xfc, 0xa3, 0xee, 0x01, - 0x7a, 0x9a, 0xe7, 0x81, 0xa2, 0x34, 0x0f, 0x34, 0xd8, 0x11, 0xc7, 0xf3, 0x93, 0x40, 0xb2, 0xec, - 0xed, 0x06, 0xcf, 0x1c, 0xf5, 0x53, 0x95, 0xcf, 0x43, 0xb1, 0xcf, 0xde, 0x8c, 0xca, 0x0a, 0xca, - 0x45, 0xc8, 0x87, 0x8c, 0x8b, 0x7c, 0x12, 0x66, 0x87, 0xd9, 0x0a, 0x79, 0xdf, 0xab, 0x0f, 0xe9, - 0x7c, 0x74, 0x19, 0xd2, 0x9e, 0xb1, 0x18, 0x92, 0x85, 0xa0, 0xb3, 0x10, 0xc0, 0x8a, 0x07, 0x1a, - 0x4a, 0x66, 0x47, 0x43, 0xc9, 0x6c, 0xf9, 0x1b, 0x60, 0x6e, 0x94, 0x21, 0xe8, 0x9b, 0x46, 0xdc, - 0x93, 0xc2, 0x93, 0x90, 0xe4, 0xcf, 0x1e, 0x46, 0xe9, 0xf1, 0x0d, 0x2f, 0x11, 0xe9, 0x64, 0x46, - 0x21, 0xc6, 0x4e, 0x75, 0x68, 0x41, 0x56, 0xe1, 0xf4, 0x48, 0x63, 0x30, 0xfa, 0x20, 0x88, 0x11, - 0xe2, 0x07, 0x41, 0xba, 0x18, 0x8e, 0x43, 0xe7, 0x2a, 0x2e, 0x3b, 0xb0, 0x92, 0xfc, 0xa9, 0x18, - 0x9c, 0x1c, 0x6e, 0x12, 0xd0, 0x22, 0xe4, 0x88, 0xdf, 0xed, 0x86, 0x5d, 0x74, 0xe8, 0x68, 0x07, - 0x4d, 0xee, 0x9f, 0xf3, 0x44, 0x7a, 0xd4, 0x4b, 0xa4, 0xa3, 0x6d, 0x98, 0x6e, 0x5b, 0xba, 0xd6, - 0x56, 0x03, 0x12, 0xcf, 0x85, 0xfd, 0xd1, 0x01, 0x66, 0xd7, 0xd8, 0x63, 0xe8, 0xad, 0x01, 0xa1, - 0x2f, 0x52, 0x1a, 0x6b, 0x9e, 0xe4, 0xa3, 0x15, 0xc8, 0x76, 0x7c, 0x41, 0x3e, 0x86, 0xb0, 0x07, - 0xd1, 0x02, 0x4b, 0x92, 0x18, 0x7a, 0xec, 0x93, 0x3c, 0xb6, 0x8a, 0x1e, 0x75, 0x82, 0x92, 0x1a, - 0x79, 0x82, 0x32, 0xec, 0xb8, 0x22, 0x3d, 0xfc, 0xb8, 0xe2, 0x13, 0xc1, 0xa5, 0x09, 0x19, 0xd1, - 0xc1, 0x13, 0x0c, 0xd4, 0x80, 0x59, 0x8e, 0xdf, 0x0a, 0xf1, 0x3e, 0x3a, 0xa9, 0xa2, 0x41, 0x02, - 0x7d, 0x34, 0xdb, 0x63, 0x0f, 0xc6, 0x76, 0xa1, 0x4b, 0xe3, 0x01, 0x5d, 0xfa, 0xff, 0xd8, 0x52, - 0xfc, 0xab, 0x0c, 0xa4, 0x15, 0xec, 0x74, 0x89, 0xe1, 0x44, 0x15, 0xc8, 0xe0, 0x03, 0x1d, 0x77, - 0x5d, 0xff, 0x98, 0x72, 0x58, 0x30, 0xc0, 0xa0, 0x6b, 0x02, 0x92, 0x78, 0xe2, 0x1e, 0x1a, 0x7a, - 0x96, 0x07, 0x5b, 0xa3, 0xe3, 0x26, 0x8e, 0x1e, 0x8c, 0xb6, 0xae, 0x88, 0x68, 0x2b, 0x36, 0xd2, - 0xf9, 0x66, 0x58, 0x7d, 0xe1, 0xd6, 0xb3, 0x3c, 0xdc, 0x8a, 0x8f, 0xe9, 0x2c, 0x14, 0x6f, 0x55, - 0x43, 0xf1, 0x56, 0x72, 0xcc, 0x34, 0x47, 0x04, 0x5c, 0x57, 0x44, 0xc0, 0x95, 0x1a, 0x33, 0xe2, - 0xbe, 0x88, 0xeb, 0x5a, 0x38, 0xe2, 0x4a, 0x8f, 0x50, 0x20, 0x02, 0x7b, 0x64, 0xc8, 0xf5, 0x81, - 0x40, 0xc8, 0x95, 0x19, 0x19, 0xef, 0x30, 0x22, 0x43, 0x62, 0xae, 0x6a, 0x28, 0xe6, 0x82, 0x31, - 0x3c, 0x18, 0x11, 0x74, 0x7d, 0x4d, 0x30, 0xe8, 0xca, 0x8e, 0x8c, 0xdb, 0xf8, 0x7a, 0x0f, 0x8b, - 0xba, 0x5e, 0xf4, 0xa2, 0xae, 0xdc, 0xc8, 0xb0, 0x91, 0xcf, 0xa1, 0x3f, 0xec, 0xda, 0x1c, 0x08, - 0xbb, 0xf2, 0xfc, 0xef, 0x8c, 0x8c, 0x22, 0x31, 0x26, 0xee, 0xda, 0x1c, 0x88, 0xbb, 0x0a, 0x63, - 0x08, 0x8e, 0x09, 0xbc, 0xbe, 0x6e, 0x78, 0xe0, 0x35, 0x3a, 0x34, 0xe2, 0xc3, 0x9c, 0x2c, 0xf2, - 0x52, 0x47, 0x44, 0x5e, 0x2c, 0x3a, 0x7a, 0x62, 0x24, 0xf9, 0x89, 0x43, 0xaf, 0xed, 0x21, 0xa1, - 0x17, 0x0b, 0x92, 0xce, 0x8d, 0x24, 0x3e, 0x41, 0xec, 0xb5, 0x3d, 0x24, 0xf6, 0x42, 0x63, 0xc9, - 0x1e, 0x27, 0xf8, 0x4a, 0x48, 0x49, 0xf9, 0x3c, 0x71, 0x7d, 0xfb, 0xf4, 0x14, 0xf1, 0x1f, 0xb0, - 0x6d, 0x5b, 0xb6, 0xb8, 0x59, 0x4b, 0x0b, 0xf2, 0x39, 0xe2, 0x8c, 0xfb, 0x3a, 0xe9, 0x88, 0x40, - 0x8d, 0xfa, 0x69, 0x01, 0x3d, 0x24, 0xff, 0x7c, 0xc4, 0xc7, 0xa5, 0x3e, 0x6c, 0xd0, 0x91, 0xcf, - 0x70, 0x47, 0x3e, 0x10, 0xbe, 0x45, 0xc3, 0xe1, 0xdb, 0x02, 0x64, 0x89, 0xff, 0xd5, 0x17, 0x99, - 0x69, 0x5d, 0x2f, 0x32, 0x13, 0x57, 0x0a, 0x58, 0x90, 0xc7, 0xcd, 0x0a, 0x3b, 0xc9, 0x29, 0x7a, - 0xd7, 0x2b, 0x58, 0x4c, 0x81, 0x9e, 0x82, 0x99, 0x00, 0xac, 0xe7, 0xd7, 0xb1, 0x30, 0x45, 0xf2, - 0xa0, 0xcb, 0xdc, 0xc1, 0xfb, 0xc7, 0x11, 0x9f, 0x43, 0x7e, 0x48, 0x37, 0x2c, 0xfa, 0x8a, 0xbc, - 0x43, 0xd1, 0x57, 0xf4, 0x81, 0xa3, 0xaf, 0xa0, 0x9f, 0x1a, 0x0b, 0xfb, 0xa9, 0xff, 0x2d, 0xe2, - 0xaf, 0x89, 0x17, 0x4b, 0xe9, 0x56, 0x0b, 0x73, 0xcf, 0x91, 0xfe, 0x26, 0x4e, 0x45, 0xdb, 0xda, - 0xe3, 0xfe, 0x21, 0xf9, 0x49, 0xa0, 0x3c, 0xc3, 0x91, 0xe1, 0x76, 0xc1, 0x73, 0x3a, 0x13, 0xc1, - 0xfb, 0xbf, 0xfc, 0x52, 0x6c, 0xd2, 0xbf, 0x14, 0xeb, 0x7d, 0xfc, 0x96, 0x0a, 0x7c, 0xfc, 0x86, - 0x5e, 0x80, 0x0c, 0xcd, 0x88, 0xaa, 0x56, 0x57, 0xfc, 0x55, 0x9a, 0x33, 0xa3, 0x2f, 0xc4, 0x3a, - 0xf4, 0xaa, 0x1e, 0xbb, 0x44, 0xeb, 0x7b, 0x0c, 0x99, 0x90, 0xc7, 0xf0, 0x10, 0x64, 0xc8, 0xe8, - 0xd9, 0xeb, 0xea, 0xc0, 0xbf, 0x9c, 0x14, 0x15, 0xf2, 0x47, 0x00, 0x0d, 0x1a, 0x09, 0x74, 0x1d, - 0x92, 0xf8, 0x0e, 0x7d, 0xd5, 0x8f, 0x5d, 0x34, 0x3c, 0x39, 0xe8, 0x9a, 0x92, 0xe6, 0xca, 0x1c, - 0x61, 0xf2, 0x1f, 0xbc, 0xb9, 0x20, 0x31, 0xe8, 0x27, 0xbd, 0x0f, 0x05, 0x14, 0x8e, 0x2f, 0xff, - 0xbb, 0x28, 0x09, 0x60, 0x42, 0x06, 0x64, 0x28, 0x6f, 0x87, 0x1d, 0x11, 0x4e, 0xc6, 0xef, 0x79, - 0x80, 0x3d, 0xcd, 0x51, 0xef, 0x6a, 0xa6, 0x8b, 0x5b, 0x9c, 0xe9, 0x81, 0x1a, 0x54, 0x82, 0x34, - 0x29, 0xf5, 0x1c, 0xdc, 0xe2, 0x61, 0xb4, 0x57, 0x0e, 0xcc, 0x33, 0xf5, 0x17, 0x9b, 0x67, 0x98, - 0xcb, 0xe9, 0x3e, 0x2e, 0x07, 0x82, 0x8b, 0x4c, 0x30, 0xb8, 0x60, 0x17, 0x83, 0xf9, 0xfd, 0x44, - 0x60, 0x63, 0x13, 0x65, 0xf4, 0x28, 0xe4, 0x3b, 0xb8, 0xd3, 0xb5, 0xac, 0xb6, 0xca, 0xd4, 0x0d, - 0xfb, 0x33, 0x0a, 0x39, 0x5e, 0x59, 0xa3, 0x5a, 0xe7, 0x5b, 0xa2, 0xfe, 0xfe, 0xf3, 0x83, 0xc8, - 0xaf, 0x3a, 0x06, 0xd3, 0x77, 0xa7, 0xfb, 0x5d, 0x04, 0xd4, 0x08, 0xde, 0x1a, 0xe9, 0x51, 0xb5, - 0x20, 0x04, 0x7a, 0x52, 0xfd, 0xe1, 0xdf, 0x2e, 0x61, 0xd5, 0x0e, 0x7a, 0x05, 0x4e, 0xf5, 0xe9, - 0x36, 0x8f, 0x74, 0x74, 0x52, 0x15, 0x77, 0x22, 0xac, 0xe2, 0x04, 0x69, 0x9f, 0x59, 0xb1, 0xbf, - 0xe0, 0xae, 0xab, 0x43, 0x21, 0xec, 0xf1, 0x0c, 0x5d, 0x7e, 0xfa, 0x67, 0x7b, 0x5c, 0xcd, 0x30, - 0xd5, 0x50, 0x3a, 0x28, 0xc7, 0x2a, 0x79, 0x92, 0x69, 0x0b, 0x4e, 0x0c, 0xf5, 0x7c, 0xd0, 0xf3, - 0x90, 0xf1, 0x9d, 0x26, 0xc6, 0xd5, 0x23, 0xd2, 0x05, 0x3e, 0xac, 0xfc, 0xcb, 0x11, 0x9f, 0x64, - 0x38, 0x01, 0x51, 0x83, 0x24, 0xbb, 0xf6, 0xc6, 0x2f, 0xd3, 0x3c, 0x35, 0x99, 0xcf, 0xb4, 0xc4, - 0xee, 0xc4, 0x29, 0x1c, 0x59, 0xfe, 0x08, 0x24, 0x59, 0x0d, 0xca, 0x42, 0xca, 0x7f, 0x78, 0x17, - 0x20, 0x59, 0xae, 0x56, 0x6b, 0x5b, 0xe2, 0x15, 0xcd, 0xca, 0xa6, 0xd2, 0x94, 0xa2, 0xa4, 0x5a, - 0xa9, 0xdd, 0xa8, 0x55, 0x9b, 0x52, 0x0c, 0x4d, 0x43, 0x9e, 0xfd, 0x56, 0xaf, 0x6d, 0x2a, 0xeb, - 0xe5, 0xa6, 0x14, 0x0f, 0x54, 0x35, 0x6a, 0x1b, 0x2b, 0x35, 0x45, 0x4a, 0xc8, 0xcf, 0xc0, 0xe9, - 0x91, 0x5e, 0x96, 0x9f, 0x5d, 0x88, 0x04, 0xb2, 0x0b, 0xf2, 0xa7, 0xa2, 0x50, 0x1a, 0xed, 0x3a, - 0xa1, 0x1b, 0x7d, 0x13, 0xbf, 0x74, 0x0c, 0xbf, 0xab, 0x6f, 0xf6, 0xe8, 0x31, 0x28, 0xd8, 0x78, - 0x17, 0xbb, 0xfa, 0x3e, 0x73, 0xe5, 0x98, 0xc9, 0xcc, 0x2b, 0x79, 0x5e, 0x4b, 0x91, 0x1c, 0x06, - 0xf6, 0x1a, 0xd6, 0x5d, 0x95, 0xe9, 0x22, 0x87, 0xff, 0x65, 0xd1, 0x3c, 0xab, 0x6d, 0xb0, 0x4a, - 0xf9, 0x1b, 0x8e, 0xc5, 0xcb, 0x0c, 0x24, 0x94, 0x5a, 0x53, 0x79, 0x45, 0x8a, 0x21, 0x04, 0x05, - 0xfa, 0x53, 0x6d, 0x6c, 0x94, 0xb7, 0x1a, 0xd7, 0x37, 0x09, 0x2f, 0x67, 0xa0, 0x28, 0x78, 0x29, - 0x2a, 0x13, 0xf2, 0x13, 0x70, 0x6a, 0x84, 0xdf, 0x37, 0xe4, 0x1e, 0xe2, 0xa7, 0x23, 0x41, 0xe8, - 0x70, 0xcc, 0xbf, 0x09, 0x49, 0xc7, 0xd5, 0xdc, 0x9e, 0xc3, 0x99, 0xf8, 0xfc, 0xa4, 0x8e, 0xe0, - 0x92, 0xf8, 0xd1, 0xa0, 0xe8, 0x0a, 0x27, 0x23, 0x5f, 0x86, 0x42, 0xb8, 0x65, 0x34, 0x0f, 0x7c, - 0x21, 0x8a, 0xca, 0xaf, 0x00, 0x04, 0xf2, 0x91, 0xde, 0x8d, 0xae, 0x48, 0xf0, 0x46, 0xd7, 0x65, - 0x48, 0xdc, 0xb1, 0x98, 0xce, 0x18, 0xbe, 0x71, 0x6e, 0x59, 0x2e, 0x0e, 0x24, 0x1f, 0x18, 0xb4, - 0x6c, 0x00, 0x1a, 0xcc, 0x09, 0x8d, 0xe8, 0xe2, 0x03, 0xe1, 0x2e, 0x1e, 0x19, 0x99, 0x5d, 0x1a, - 0xde, 0xd5, 0xeb, 0x90, 0xa0, 0xda, 0x66, 0xe8, 0x27, 0x3e, 0x5f, 0x0f, 0xa0, 0xb9, 0xae, 0x6d, - 0xec, 0xf4, 0xfc, 0x0e, 0x16, 0x86, 0x6b, 0xab, 0xb2, 0x80, 0xab, 0x3c, 0xc4, 0xd5, 0xd6, 0xac, - 0x8f, 0x1a, 0x50, 0x5d, 0x01, 0x82, 0xf2, 0x06, 0x14, 0xc2, 0xb8, 0xc3, 0x3f, 0x59, 0xf2, 0xdf, - 0x0e, 0xc8, 0x08, 0xf7, 0xc9, 0x73, 0xbe, 0xf8, 0x7b, 0x1e, 0xb4, 0x20, 0xdf, 0x8b, 0x40, 0xba, - 0x79, 0xc0, 0xe5, 0xf8, 0x88, 0x4b, 0x95, 0xfe, 0x77, 0x5b, 0x5e, 0xb2, 0x90, 0xe5, 0x63, 0x63, - 0x5e, 0x96, 0xf7, 0x6b, 0xbc, 0x9d, 0x1a, 0x9f, 0x34, 0xda, 0x15, 0xd9, 0x6e, 0xae, 0x9d, 0xae, - 0x4e, 0xf6, 0x8d, 0xc4, 0x2c, 0x24, 0x82, 0xdf, 0x37, 0xb0, 0x82, 0xdc, 0x0a, 0x5c, 0x4b, 0x60, - 0x66, 0x23, 0xf8, 0x31, 0x45, 0xe4, 0xd8, 0x1f, 0x53, 0x78, 0xbd, 0x44, 0x83, 0xbd, 0xdc, 0x81, - 0xb4, 0x10, 0x0a, 0xf4, 0xc1, 0xe0, 0xdd, 0x13, 0x71, 0x46, 0x33, 0xd2, 0x78, 0x72, 0xf2, 0x81, - 0xab, 0x27, 0x17, 0x60, 0x9a, 0x5f, 0xb9, 0xf3, 0xe3, 0x0a, 0xfe, 0x27, 0x07, 0x8a, 0xac, 0x61, - 0x4d, 0x04, 0x15, 0xf2, 0x8f, 0x46, 0x40, 0xea, 0x97, 0xca, 0xf7, 0x72, 0x00, 0x44, 0x29, 0x12, - 0xe9, 0x0f, 0xbc, 0xf9, 0xcd, 0x56, 0x3e, 0x4f, 0x6a, 0xfd, 0x57, 0xbf, 0x3f, 0x1e, 0x85, 0x6c, - 0x20, 0xa7, 0x87, 0x9e, 0x0b, 0x5d, 0x01, 0x5d, 0x3c, 0x2a, 0xff, 0x17, 0xb8, 0x03, 0x1a, 0x9a, - 0x58, 0xf4, 0xf8, 0x13, 0x7b, 0xe7, 0x2f, 0xe9, 0x0f, 0xff, 0xda, 0x27, 0x31, 0xe2, 0x6b, 0x9f, - 0x6f, 0x8a, 0x40, 0xda, 0x33, 0xdd, 0xc7, 0xcd, 0xe6, 0x9f, 0x84, 0x24, 0xb7, 0x4e, 0x2c, 0x9d, - 0xcf, 0x4b, 0x43, 0x73, 0xa1, 0x25, 0x48, 0x8b, 0x3f, 0x14, 0xc5, 0x03, 0x51, 0xaf, 0x7c, 0xe1, - 0x45, 0xc8, 0x06, 0x0e, 0x56, 0x88, 0x9e, 0xd8, 0xa8, 0x7d, 0x58, 0x9a, 0x2a, 0xa5, 0xee, 0xdd, - 0x5f, 0x8c, 0x6d, 0xe0, 0xbb, 0x64, 0x87, 0x29, 0xb5, 0xea, 0xf5, 0x5a, 0xf5, 0xa6, 0x14, 0x29, - 0x65, 0xef, 0xdd, 0x5f, 0x4c, 0x29, 0x98, 0xa6, 0xaf, 0x2e, 0xdc, 0x84, 0x62, 0xdf, 0xc2, 0x84, - 0xf5, 0x3b, 0x82, 0xc2, 0xca, 0xf6, 0xd6, 0x5a, 0xbd, 0x5a, 0x6e, 0xd6, 0x54, 0x76, 0x9d, 0x0e, - 0x9d, 0x82, 0x99, 0xb5, 0xfa, 0xea, 0xf5, 0xa6, 0x5a, 0x5d, 0xab, 0xd7, 0x36, 0x9a, 0x6a, 0xb9, - 0xd9, 0x2c, 0x57, 0x6f, 0x4a, 0xd1, 0x4b, 0x5f, 0x01, 0x28, 0x96, 0x2b, 0xd5, 0x3a, 0xb1, 0xcf, - 0x06, 0x7f, 0xb6, 0xbd, 0x0a, 0x71, 0x9a, 0x0a, 0x38, 0xf2, 0xaa, 0x48, 0xe9, 0xe8, 0xdc, 0x26, - 0xba, 0x06, 0x09, 0x9a, 0x25, 0x40, 0x47, 0xdf, 0x1d, 0x29, 0x8d, 0x49, 0x76, 0x92, 0xc1, 0xd0, - 0xed, 0x74, 0xe4, 0x65, 0x92, 0xd2, 0xd1, 0xb9, 0x4f, 0xa4, 0x40, 0xc6, 0x8f, 0x32, 0xc6, 0x5f, - 0xae, 0x28, 0x4d, 0xa0, 0x1d, 0xd1, 0x1a, 0xa4, 0x44, 0x60, 0x38, 0xee, 0xba, 0x47, 0x69, 0x6c, - 0x72, 0x92, 0xb0, 0x8b, 0x05, 0xf0, 0x47, 0xdf, 0x5d, 0x29, 0x8d, 0xc9, 0xb4, 0xa2, 0xba, 0x77, - 0x09, 0x7f, 0xcc, 0x15, 0x8e, 0xd2, 0xb8, 0x64, 0x23, 0x61, 0x9a, 0x9f, 0x1a, 0x19, 0x7f, 0x23, - 0xa7, 0x34, 0x41, 0x12, 0x19, 0x6d, 0x03, 0x04, 0xc2, 0xf5, 0x09, 0xae, 0xda, 0x94, 0x26, 0x49, - 0x0e, 0xa3, 0x4d, 0x48, 0x7b, 0xd1, 0xd3, 0xd8, 0x8b, 0x2f, 0xa5, 0xf1, 0x59, 0x5a, 0xf4, 0x11, - 0xc8, 0x87, 0xa3, 0x86, 0xc9, 0xae, 0xb3, 0x94, 0x26, 0x4c, 0xbf, 0x12, 0xfa, 0xe1, 0x10, 0x62, - 0xb2, 0xeb, 0x2d, 0xa5, 0x09, 0xb3, 0xb1, 0xe8, 0x35, 0x98, 0x1e, 0x74, 0xf1, 0x27, 0xbf, 0xed, - 0x52, 0x3a, 0x46, 0x7e, 0x16, 0x75, 0x00, 0x0d, 0x09, 0x0d, 0x8e, 0x71, 0xf9, 0xa5, 0x74, 0x9c, - 0x74, 0x2d, 0x6a, 0x41, 0xb1, 0xdf, 0xdf, 0x9e, 0xf4, 0x32, 0x4c, 0x69, 0xe2, 0xd4, 0x2d, 0xeb, - 0x25, 0xec, 0xa7, 0x4f, 0x7a, 0x39, 0xa6, 0x34, 0x71, 0x26, 0xb7, 0x52, 0x1e, 0x79, 0xbf, 0xf1, - 0xec, 0x91, 0xf7, 0x1b, 0xfd, 0x1b, 0x8b, 0xde, 0x9d, 0xc6, 0xcf, 0x5e, 0x86, 0xf7, 0xf1, 0xc7, - 0x04, 0x1c, 0x57, 0xbb, 0x6d, 0x98, 0x7b, 0xde, 0xeb, 0x10, 0xbc, 0xcc, 0x2f, 0x37, 0x9e, 0xe4, - 0x0f, 0x16, 0x88, 0xda, 0x31, 0x6f, 0x44, 0x8c, 0x7c, 0x38, 0x6b, 0xdc, 0x25, 0xe4, 0xf1, 0x57, - 0x17, 0x8f, 0x78, 0x7f, 0x62, 0xcc, 0x2b, 0x17, 0x43, 0xde, 0xa7, 0x18, 0x73, 0x09, 0xf3, 0xa8, - 0xfb, 0x9e, 0xf2, 0x77, 0x47, 0xa0, 0x70, 0xdd, 0x70, 0x5c, 0xcb, 0x36, 0x74, 0xad, 0x4d, 0x2d, - 0xc6, 0xd5, 0x49, 0x3f, 0xf2, 0xa8, 0x64, 0x88, 0x33, 0xc2, 0x1f, 0xb5, 0xe0, 0x17, 0x43, 0x56, - 0x20, 0x79, 0x47, 0x6b, 0xb3, 0x4f, 0x2c, 0x82, 0xef, 0xd7, 0xf4, 0xf3, 0x3c, 0xe0, 0x25, 0x05, - 0xa9, 0x30, 0x5c, 0xf9, 0x73, 0xf4, 0x12, 0x77, 0xa7, 0x63, 0x38, 0xec, 0x4f, 0xb9, 0xbb, 0xd8, - 0x41, 0xdb, 0x10, 0xb7, 0x35, 0x97, 0x07, 0x35, 0x95, 0x32, 0x7f, 0x8a, 0xe2, 0xf1, 0xf1, 0x0f, - 0x4a, 0x2c, 0x0d, 0xbc, 0x56, 0xc1, 0x3a, 0xa3, 0xe4, 0xd0, 0xd7, 0x41, 0xba, 0xa3, 0x1d, 0xa8, - 0x94, 0x74, 0xf4, 0x9d, 0x22, 0x9d, 0xea, 0x68, 0x07, 0x64, 0xd4, 0xc8, 0x80, 0x22, 0xa1, 0xae, - 0xef, 0x6b, 0xe6, 0x1e, 0x66, 0x9d, 0xc4, 0xde, 0xa9, 0x4e, 0xf2, 0x1d, 0xed, 0xa0, 0x4a, 0x09, - 0x93, 0xae, 0xf8, 0xa3, 0x1f, 0xbf, 0x1a, 0xe1, 0xa1, 0x2c, 0xe5, 0x1c, 0xd2, 0x40, 0xd2, 0xbd, - 0x12, 0xed, 0x5f, 0xa4, 0xf5, 0xcf, 0x8e, 0x5a, 0x98, 0x3e, 0xbe, 0x57, 0xf2, 0x64, 0xa4, 0x9f, - 0x7f, 0x73, 0x21, 0xc2, 0x7a, 0x2d, 0xea, 0x7d, 0xeb, 0x72, 0x03, 0xb2, 0x2c, 0x9b, 0xa6, 0x52, - 0x17, 0x36, 0x3a, 0xd6, 0x85, 0xcd, 0x0b, 0x17, 0x96, 0x11, 0x04, 0x86, 0x4d, 0xda, 0xf9, 0x1c, - 0x3e, 0x13, 0x81, 0xec, 0x4a, 0xe0, 0xb9, 0xaa, 0x39, 0x48, 0x75, 0x2c, 0xd3, 0xb8, 0x8d, 0x6d, - 0xef, 0x5c, 0x86, 0x15, 0x89, 0x9b, 0xc9, 0xfe, 0xea, 0x91, 0x7b, 0x28, 0x5e, 0x62, 0x10, 0x65, - 0x82, 0x75, 0x17, 0xef, 0x38, 0x86, 0x60, 0xb9, 0x22, 0x8a, 0xe8, 0x3c, 0x48, 0x0e, 0xd6, 0x7b, - 0xb6, 0xe1, 0x1e, 0xaa, 0xba, 0x65, 0xba, 0x9a, 0xee, 0xf2, 0xec, 0x69, 0x51, 0xd4, 0x57, 0x59, - 0x35, 0x21, 0xd2, 0xc2, 0xae, 0x66, 0xb4, 0xd9, 0xb5, 0xaf, 0x8c, 0x22, 0x8a, 0x7c, 0xa8, 0x9f, - 0x4b, 0x05, 0x43, 0xc3, 0x2a, 0x48, 0x56, 0x17, 0xdb, 0xa1, 0x4f, 0xde, 0x98, 0xb8, 0xce, 0xfd, - 0xd6, 0xcf, 0x3d, 0x35, 0xcb, 0x19, 0xce, 0x0f, 0xe0, 0xd9, 0xeb, 0xcc, 0x4a, 0x51, 0x60, 0x88, - 0x6f, 0xe1, 0x5e, 0x09, 0x9d, 0xc4, 0xf4, 0x76, 0xfc, 0x4f, 0xee, 0x67, 0x07, 0x98, 0x5a, 0x36, - 0x0f, 0x2b, 0x73, 0xbf, 0xe1, 0x93, 0xf6, 0x43, 0xc7, 0x9b, 0xf8, 0x30, 0x78, 0x2c, 0x43, 0xc9, - 0x10, 0x0f, 0xfe, 0x35, 0xcd, 0x68, 0x8b, 0x3f, 0x10, 0xa7, 0xf0, 0x12, 0x5a, 0xf6, 0xd2, 0x30, - 0x71, 0x1a, 0x0e, 0xc9, 0xa3, 0x64, 0xa3, 0x62, 0x99, 0xad, 0x70, 0xc6, 0x05, 0x35, 0x21, 0xe9, - 0x5a, 0xb7, 0xb1, 0xc9, 0x19, 0x54, 0x79, 0xff, 0x31, 0x04, 0x7b, 0xf0, 0xfd, 0x19, 0x4e, 0x0b, - 0xed, 0x81, 0xd4, 0xc2, 0x6d, 0xbc, 0xc7, 0x3e, 0xd8, 0xda, 0xd7, 0x6c, 0xcc, 0x3e, 0xe2, 0x3c, - 0x1e, 0xfd, 0xc1, 0x67, 0x6a, 0x8a, 0x1e, 0xd5, 0x06, 0x25, 0x8a, 0xb6, 0xc2, 0x8f, 0xa5, 0xa5, - 0xf8, 0xa9, 0xfc, 0x88, 0xf9, 0x07, 0xa4, 0x32, 0xa8, 0xb6, 0x42, 0x8f, 0xab, 0x9d, 0x07, 0xa9, - 0x67, 0xee, 0x58, 0x26, 0xfd, 0x9b, 0x4b, 0x3c, 0xc0, 0x4a, 0xb3, 0x93, 0x3b, 0xaf, 0x9e, 0x9f, - 0xdc, 0x6d, 0x41, 0xc1, 0x07, 0xa5, 0xbb, 0x27, 0x73, 0xdc, 0xdd, 0x93, 0xf7, 0x08, 0x10, 0x10, - 0xb4, 0x0e, 0xe0, 0xef, 0x4f, 0xef, 0x74, 0x7f, 0xec, 0x4e, 0x0f, 0x4e, 0x26, 0x40, 0x00, 0xb5, - 0x61, 0xa6, 0x63, 0x98, 0xaa, 0x83, 0xdb, 0xbb, 0x2a, 0xe7, 0x1c, 0xa1, 0x9b, 0x7d, 0x07, 0x56, - 0x7a, 0xba, 0x63, 0x98, 0x0d, 0xdc, 0xde, 0x5d, 0xf1, 0xc8, 0xa2, 0xf7, 0xc3, 0x19, 0x9f, 0x1d, - 0x96, 0xa9, 0xee, 0x5b, 0xed, 0x96, 0x6a, 0xe3, 0x5d, 0x55, 0xa7, 0xcf, 0x1f, 0xe5, 0x28, 0x13, - 0x4f, 0x79, 0x20, 0x9b, 0xe6, 0x75, 0xab, 0xdd, 0x52, 0xf0, 0x6e, 0x95, 0x34, 0xa3, 0x47, 0xc1, - 0xe7, 0x85, 0x6a, 0xb4, 0x9c, 0xb9, 0xfc, 0x62, 0xec, 0x5c, 0x5c, 0xc9, 0x79, 0x95, 0xf5, 0x96, - 0xb3, 0x9c, 0xfe, 0xc4, 0x1b, 0x0b, 0x53, 0x5f, 0x7c, 0x63, 0x61, 0x4a, 0xbe, 0x46, 0x1f, 0xeb, - 0xe0, 0x9b, 0x0e, 0x3b, 0xe8, 0x0a, 0x64, 0x34, 0x51, 0x60, 0x9f, 0x89, 0x1c, 0xb1, 0x69, 0x7d, - 0x50, 0xf9, 0x8d, 0x08, 0x24, 0x57, 0x6e, 0x6d, 0x69, 0x86, 0x8d, 0x6a, 0x30, 0xed, 0x0b, 0xed, - 0xa4, 0xfb, 0xdf, 0x97, 0x73, 0xa1, 0x00, 0x6a, 0xa3, 0xbe, 0x9c, 0x3d, 0x92, 0x4c, 0xff, 0x37, - 0xb5, 0x81, 0xa9, 0xde, 0x80, 0x14, 0x1b, 0xa1, 0x83, 0x5e, 0x82, 0x44, 0x97, 0xfc, 0xe0, 0xd9, - 0xff, 0xf9, 0x91, 0x82, 0x4e, 0xe1, 0x83, 0x62, 0xc1, 0xf0, 0xe4, 0x3f, 0x8f, 0x00, 0xac, 0xdc, - 0xba, 0xd5, 0xb4, 0x8d, 0x6e, 0x1b, 0xbb, 0xef, 0xd4, 0x94, 0xd7, 0xe0, 0x44, 0xe0, 0xfb, 0x4c, - 0x5b, 0x9f, 0x78, 0xda, 0x33, 0xfe, 0x17, 0x9a, 0xb6, 0x3e, 0x94, 0x5a, 0xcb, 0x71, 0x3d, 0x6a, - 0xb1, 0x89, 0xa9, 0xad, 0x38, 0xee, 0x20, 0x1f, 0x5f, 0x86, 0xac, 0x3f, 0x75, 0x07, 0xd5, 0x21, - 0xed, 0xf2, 0xdf, 0x9c, 0x9d, 0xf2, 0x68, 0x76, 0x0a, 0xb4, 0x20, 0x4b, 0x3d, 0x74, 0xf9, 0x7f, - 0x10, 0xae, 0xfa, 0x1b, 0xe1, 0x2f, 0x95, 0x20, 0x11, 0x0d, 0xcf, 0x35, 0x70, 0xec, 0x1d, 0xd0, - 0xc0, 0x9c, 0x56, 0x80, 0xad, 0xdf, 0x1c, 0x85, 0x99, 0x6d, 0xb1, 0x49, 0xff, 0xd2, 0x72, 0x61, - 0x1b, 0x52, 0xd8, 0x74, 0x6d, 0x03, 0x8b, 0xa3, 0xbe, 0xa7, 0x47, 0x2d, 0xf6, 0x90, 0xb9, 0xd0, - 0x3f, 0xaf, 0x1d, 0x5c, 0x7a, 0x41, 0x2b, 0xc0, 0x86, 0x5f, 0x8a, 0xc1, 0xdc, 0x28, 0x54, 0x74, - 0x16, 0x8a, 0xba, 0x8d, 0x69, 0x85, 0x1a, 0x4a, 0x85, 0x17, 0x44, 0x35, 0x37, 0x29, 0x0a, 0x10, - 0x07, 0x8d, 0x48, 0x15, 0x01, 0x7d, 0x30, 0x8f, 0xac, 0xe0, 0x53, 0xa0, 0x46, 0x05, 0x43, 0x51, - 0xdc, 0x6d, 0xdf, 0xd1, 0xda, 0x9a, 0xa9, 0xe3, 0x07, 0x90, 0x84, 0x41, 0x0b, 0x20, 0x2e, 0xcc, - 0x57, 0x18, 0x4d, 0x74, 0x0b, 0x52, 0x82, 0x7c, 0xfc, 0x1d, 0x20, 0x2f, 0x88, 0xa1, 0x47, 0x20, - 0x17, 0x34, 0x0c, 0xd4, 0x4f, 0x89, 0x2b, 0xd9, 0x80, 0x5d, 0x18, 0x67, 0x79, 0x92, 0x47, 0x5a, - 0x1e, 0xee, 0x0a, 0xfe, 0x62, 0x0c, 0xa6, 0x15, 0xdc, 0xfa, 0x2a, 0x5c, 0xb8, 0xaf, 0x05, 0x60, - 0x9b, 0x9a, 0x28, 0xdb, 0x07, 0x58, 0xbb, 0x41, 0x25, 0x91, 0x61, 0xf4, 0x56, 0x1c, 0xf7, 0xbd, - 0x5a, 0xbd, 0x7f, 0x1e, 0x85, 0x5c, 0x70, 0xf5, 0xbe, 0x0a, 0x2c, 0x1b, 0xda, 0xf0, 0x55, 0x1a, - 0xbb, 0x7d, 0x7e, 0x7e, 0x94, 0x4a, 0x1b, 0x90, 0xeb, 0x31, 0xba, 0xec, 0x67, 0xe2, 0x90, 0xe4, - 0x57, 0xc1, 0x36, 0x07, 0x7c, 0xdc, 0xc8, 0xb8, 0xef, 0x7f, 0xf3, 0xe2, 0xfb, 0xdf, 0xa1, 0x2e, - 0xee, 0x63, 0x50, 0x20, 0x21, 0x75, 0xe8, 0x7e, 0x59, 0xe4, 0x5c, 0x9e, 0x86, 0xc3, 0xfe, 0x6d, - 0x68, 0xb4, 0x00, 0x59, 0x02, 0xe6, 0xeb, 0x6c, 0x02, 0x03, 0x1d, 0xed, 0xa0, 0xc6, 0x6a, 0xd0, - 0x53, 0x80, 0xf6, 0xbd, 0xc4, 0x87, 0xea, 0x33, 0x82, 0xc0, 0x4d, 0xfb, 0x2d, 0x02, 0xfc, 0x61, - 0x00, 0x32, 0x0a, 0x95, 0xbd, 0xd0, 0xc9, 0x5f, 0x3b, 0x25, 0x35, 0x2b, 0xf4, 0x95, 0xce, 0xef, - 0x8c, 0x30, 0x57, 0xb9, 0x2f, 0xda, 0xe6, 0x41, 0x8b, 0x7a, 0xbc, 0xdd, 0xf0, 0xe5, 0x37, 0x17, - 0x4a, 0x87, 0x5a, 0xa7, 0xbd, 0x2c, 0x0f, 0x21, 0x29, 0x0f, 0xcb, 0x05, 0x10, 0x6f, 0x3a, 0x1c, - 0xb8, 0xa3, 0x0d, 0x90, 0x6e, 0xe3, 0x43, 0xd5, 0xe6, 0x7f, 0xb7, 0x54, 0xdd, 0xc5, 0x98, 0x87, - 0x37, 0xa7, 0x97, 0x86, 0x3c, 0x94, 0xba, 0x54, 0xb5, 0x8c, 0x50, 0x1c, 0x50, 0xb8, 0x8d, 0x0f, - 0x15, 0x8e, 0x7c, 0x0d, 0x63, 0xf4, 0x22, 0x9c, 0xa6, 0xa9, 0x0c, 0xcb, 0x14, 0x61, 0xa9, 0x47, - 0x9b, 0x5d, 0x7b, 0xcb, 0x2b, 0x27, 0x3b, 0xda, 0x41, 0xd5, 0x32, 0x79, 0xb8, 0x29, 0x90, 0x9d, - 0xe5, 0xf7, 0x91, 0x2d, 0x76, 0xef, 0xf7, 0x7f, 0xea, 0xc2, 0x99, 0xc0, 0x6c, 0x0f, 0xbc, 0x64, - 0x1d, 0x93, 0x14, 0xf9, 0x27, 0x22, 0x80, 0x7c, 0xbb, 0xe7, 0x5d, 0x4d, 0x5f, 0xa7, 0x17, 0x96, - 0x45, 0xe8, 0x11, 0x39, 0x3a, 0xa4, 0xf1, 0xf1, 0x43, 0x21, 0x4d, 0x60, 0x5f, 0x7f, 0xd0, 0xb7, - 0x32, 0xd1, 0x63, 0x70, 0x43, 0x20, 0x51, 0x75, 0x31, 0x25, 0xbf, 0x19, 0x81, 0xd3, 0x03, 0x9b, - 0xc2, 0x1b, 0xb2, 0x0e, 0xc8, 0x0e, 0x34, 0x52, 0xe1, 0x12, 0x47, 0xbd, 0x0f, 0xb6, 0xc7, 0xa6, - 0xed, 0x01, 0xcb, 0xf2, 0x2e, 0x99, 0x4b, 0xae, 0x0f, 0x7f, 0x3d, 0x02, 0xb3, 0xc1, 0x11, 0x79, - 0x73, 0x6b, 0x40, 0x2e, 0x38, 0x16, 0x3e, 0xab, 0xf7, 0x4d, 0x32, 0xab, 0xe0, 0x84, 0x42, 0x44, - 0xc8, 0x5c, 0xc4, 0x06, 0x64, 0x69, 0xc3, 0x67, 0x26, 0xe6, 0x92, 0x77, 0x24, 0x32, 0x4c, 0x23, - 0xb1, 0xc5, 0xfa, 0x8e, 0x28, 0xc4, 0xb7, 0x2c, 0xab, 0x8d, 0xbe, 0x29, 0x02, 0xd3, 0xa6, 0xe5, - 0xaa, 0x64, 0xdb, 0xe2, 0x96, 0xca, 0xf3, 0x16, 0x4c, 0xa9, 0xdf, 0x3a, 0x1e, 0xf7, 0xfe, 0xe0, - 0xcd, 0x85, 0x41, 0x52, 0xc3, 0x5e, 0xfb, 0x2d, 0x9a, 0x96, 0x5b, 0xa1, 0x40, 0x4d, 0x96, 0xda, - 0xb8, 0x0b, 0xf9, 0x70, 0xff, 0xcc, 0x12, 0x28, 0xc7, 0xee, 0x3f, 0x3f, 0xb6, 0xef, 0xdc, 0x4e, - 0xa0, 0x63, 0xf6, 0xe6, 0xe6, 0x9f, 0x90, 0xc5, 0x7d, 0x05, 0xa4, 0x5b, 0xfd, 0x97, 0xe4, 0x6a, - 0x90, 0x3a, 0xee, 0x7d, 0xbb, 0x20, 0xc7, 0x39, 0xae, 0xfc, 0x47, 0x51, 0x38, 0xcd, 0x55, 0xc0, - 0x4d, 0x5f, 0x05, 0xb0, 0x0c, 0xf3, 0x21, 0xba, 0x36, 0x32, 0x41, 0x76, 0xe6, 0xcb, 0x6f, 0x2e, - 0x9c, 0x62, 0x3a, 0xaf, 0x1f, 0x42, 0x1e, 0xcc, 0x91, 0xdd, 0x82, 0x22, 0xb1, 0xf1, 0x01, 0x5d, - 0xf4, 0x80, 0x29, 0xb2, 0xbc, 0xd5, 0x6e, 0xf9, 0x1a, 0x8b, 0xd0, 0x35, 0xf1, 0xdd, 0x10, 0xdd, - 0xd8, 0x83, 0xd1, 0x35, 0xf1, 0xdd, 0x00, 0x5d, 0xff, 0xa8, 0x3d, 0x1e, 0x3a, 0x6a, 0xbf, 0x02, - 0x31, 0xa2, 0x96, 0x13, 0xc7, 0x50, 0x44, 0x04, 0x21, 0x60, 0x69, 0x1b, 0x70, 0x9a, 0xa7, 0x31, - 0x9c, 0xcd, 0x5d, 0xca, 0x6e, 0x4c, 0x27, 0x74, 0x13, 0x1f, 0x3e, 0x70, 0x4e, 0xe3, 0xc2, 0x67, - 0x23, 0x00, 0x7e, 0xaa, 0x0f, 0x3d, 0x09, 0xa7, 0x2a, 0x9b, 0x1b, 0x2b, 0x6a, 0xa3, 0x59, 0x6e, - 0x6e, 0x37, 0xc2, 0xef, 0xfc, 0x8b, 0xb7, 0x6d, 0x9c, 0x2e, 0xd6, 0x8d, 0x5d, 0x03, 0xb7, 0xd0, - 0xe3, 0x30, 0x1b, 0x86, 0x26, 0xa5, 0xda, 0x8a, 0x14, 0x29, 0xe5, 0xee, 0xdd, 0x5f, 0x4c, 0xb3, - 0x10, 0x07, 0xb7, 0xd0, 0x39, 0x38, 0x31, 0x08, 0x57, 0xdf, 0x58, 0x95, 0xa2, 0xa5, 0xfc, 0xbd, - 0xfb, 0x8b, 0x19, 0x2f, 0x16, 0x42, 0x32, 0xa0, 0x20, 0x24, 0xa7, 0x17, 0x2b, 0xc1, 0xbd, 0xfb, - 0x8b, 0x49, 0xb6, 0xb7, 0x4a, 0xf1, 0x4f, 0xfc, 0xc8, 0xfc, 0xd4, 0x85, 0xaf, 0x07, 0xa8, 0x9b, - 0xbb, 0xb6, 0x46, 0xff, 0xd8, 0x35, 0x2a, 0xc1, 0xc9, 0xfa, 0xc6, 0x35, 0xa5, 0x5c, 0x6d, 0xd6, - 0x37, 0x37, 0xfa, 0xfe, 0x3c, 0x41, 0xb8, 0x6d, 0x65, 0x73, 0xbb, 0xb2, 0x56, 0x53, 0x1b, 0xf5, - 0xd5, 0x0d, 0x76, 0x63, 0x20, 0xd4, 0xf6, 0xe1, 0x8d, 0x66, 0x7d, 0xbd, 0x26, 0x45, 0x2b, 0xd7, - 0x46, 0x9e, 0x59, 0x3d, 0x79, 0xe4, 0xae, 0xf5, 0x4d, 0x5d, 0xe8, 0xe0, 0xea, 0xff, 0x04, 0x00, - 0x00, 0xff, 0xff, 0x26, 0x6e, 0x53, 0x25, 0xf2, 0x9c, 0x00, 0x00, + // 11059 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x7d, 0x6b, 0x90, 0x24, 0x47, + 0x5a, 0xd8, 0xf4, 0xbb, 0xfb, 0xeb, 0x57, 0x4d, 0xce, 0xec, 0xee, 0x6c, 0xaf, 0x34, 0x33, 0x2a, + 0x9d, 0xb4, 0x0f, 0x49, 0xb3, 0xd2, 0x4a, 0xbb, 0x92, 0x66, 0xef, 0x4e, 0x74, 0xf7, 0xf4, 0xce, + 0xf6, 0xee, 0xbc, 0xae, 0xba, 0x67, 0x4f, 0x12, 0x70, 0x45, 0x4d, 0x75, 0xce, 0x4c, 0x69, 0xbb, + 0xab, 0xfa, 0xaa, 0xaa, 0x77, 0x67, 0x14, 0x0e, 0xc7, 0xc1, 0x01, 0x3e, 0xd6, 0x18, 0x0e, 0xe3, + 0x80, 0xe3, 0xb1, 0xf8, 0x0e, 0x0c, 0x1c, 0xf8, 0xc5, 0xcb, 0x1c, 0x98, 0x80, 0x00, 0x87, 0x1f, + 0x80, 0x1d, 0x8e, 0x83, 0x70, 0xd8, 0x84, 0xc3, 0x96, 0x41, 0x47, 0x98, 0x33, 0x1c, 0x06, 0xce, + 0xc2, 0x18, 0x2b, 0xfc, 0x88, 0x7c, 0xd5, 0xa3, 0x1f, 0xd3, 0x3d, 0x7b, 0x92, 0x8c, 0x83, 0x3f, + 0xbb, 0x9d, 0x99, 0xdf, 0xf7, 0x65, 0xe6, 0x97, 0x5f, 0x7e, 0xaf, 0xcc, 0xca, 0x81, 0xdf, 0xa9, + 0xc0, 0xe2, 0x9e, 0x65, 0xed, 0xb5, 0xf1, 0xc5, 0xae, 0x6d, 0xb9, 0xd6, 0x4e, 0x6f, 0xf7, 0x62, + 0x0b, 0x3b, 0xba, 0x6d, 0x74, 0x5d, 0xcb, 0x5e, 0xa2, 0x75, 0xa8, 0xc8, 0x20, 0x96, 0x04, 0x84, + 0xbc, 0x0e, 0xd3, 0xd7, 0x8c, 0x36, 0x5e, 0xf1, 0x00, 0x1b, 0xd8, 0x45, 0x2f, 0x40, 0x7c, 0xd7, + 0x68, 0xe3, 0xb9, 0xc8, 0x62, 0xec, 0x5c, 0xf6, 0xd2, 0xfb, 0x96, 0xfa, 0x90, 0x96, 0xc2, 0x18, + 0x5b, 0xa4, 0x5a, 0xa1, 0x18, 0xf2, 0xff, 0x8e, 0xc3, 0xcc, 0x90, 0x56, 0x84, 0x20, 0x6e, 0x6a, + 0x1d, 0x42, 0x31, 0x72, 0x2e, 0xa3, 0xd0, 0xdf, 0x68, 0x0e, 0x52, 0x5d, 0x4d, 0xbf, 0xad, 0xed, + 0xe1, 0xb9, 0x28, 0xad, 0x16, 0x45, 0x34, 0x0f, 0xd0, 0xc2, 0x5d, 0x6c, 0xb6, 0xb0, 0xa9, 0x1f, + 0xce, 0xc5, 0x16, 0x63, 0xe7, 0x32, 0x4a, 0xa0, 0x06, 0x3d, 0x01, 0xd3, 0xdd, 0xde, 0x4e, 0xdb, + 0xd0, 0xd5, 0x00, 0x18, 0x2c, 0xc6, 0xce, 0x25, 0x14, 0x89, 0x35, 0xac, 0xf8, 0xc0, 0x67, 0xa1, + 0x78, 0x17, 0x6b, 0xb7, 0x83, 0xa0, 0x59, 0x0a, 0x5a, 0x20, 0xd5, 0x01, 0xc0, 0x2a, 0xe4, 0x3a, + 0xd8, 0x71, 0xb4, 0x3d, 0xac, 0xba, 0x87, 0x5d, 0x3c, 0x17, 0xa7, 0xb3, 0x5f, 0x1c, 0x98, 0x7d, + 0xff, 0xcc, 0xb3, 0x1c, 0xab, 0x79, 0xd8, 0xc5, 0xa8, 0x0c, 0x19, 0x6c, 0xf6, 0x3a, 0x8c, 0x42, + 0x62, 0x04, 0xff, 0x6a, 0x66, 0xaf, 0xd3, 0x4f, 0x25, 0x4d, 0xd0, 0x38, 0x89, 0x94, 0x83, 0xed, + 0x3b, 0x86, 0x8e, 0xe7, 0x92, 0x94, 0xc0, 0xd9, 0x01, 0x02, 0x0d, 0xd6, 0xde, 0x4f, 0x43, 0xe0, + 0xa1, 0x2a, 0x64, 0xf0, 0x81, 0x8b, 0x4d, 0xc7, 0xb0, 0xcc, 0xb9, 0x14, 0x25, 0xf2, 0xd8, 0x90, + 0x55, 0xc4, 0xed, 0x56, 0x3f, 0x09, 0x1f, 0x0f, 0x5d, 0x81, 0x94, 0xd5, 0x75, 0x0d, 0xcb, 0x74, + 0xe6, 0xd2, 0x8b, 0x91, 0x73, 0xd9, 0x4b, 0x0f, 0x0d, 0x15, 0x84, 0x4d, 0x06, 0xa3, 0x08, 0x60, + 0x54, 0x07, 0xc9, 0xb1, 0x7a, 0xb6, 0x8e, 0x55, 0xdd, 0x6a, 0x61, 0xd5, 0x30, 0x77, 0xad, 0xb9, + 0x0c, 0x25, 0xb0, 0x30, 0x38, 0x11, 0x0a, 0x58, 0xb5, 0x5a, 0xb8, 0x6e, 0xee, 0x5a, 0x4a, 0xc1, + 0x09, 0x95, 0xd1, 0x49, 0x48, 0x3a, 0x87, 0xa6, 0xab, 0x1d, 0xcc, 0xe5, 0xa8, 0x84, 0xf0, 0x12, + 0x11, 0x1d, 0xdc, 0x32, 0x48, 0x77, 0x73, 0x79, 0x26, 0x3a, 0xbc, 0x28, 0xff, 0x7c, 0x12, 0x8a, + 0x93, 0x08, 0xdf, 0x55, 0x48, 0xec, 0x92, 0xf9, 0xcf, 0x45, 0x8f, 0xc3, 0x1d, 0x86, 0x13, 0x66, + 0x6f, 0xf2, 0x01, 0xd9, 0x5b, 0x86, 0xac, 0x89, 0x1d, 0x17, 0xb7, 0x98, 0xac, 0xc4, 0x26, 0x94, + 0x36, 0x60, 0x48, 0x83, 0xc2, 0x16, 0x7f, 0x20, 0x61, 0x7b, 0x19, 0x8a, 0xde, 0x90, 0x54, 0x5b, + 0x33, 0xf7, 0x84, 0xd4, 0x5e, 0x1c, 0x37, 0x92, 0xa5, 0x9a, 0xc0, 0x53, 0x08, 0x9a, 0x52, 0xc0, + 0xa1, 0x32, 0x5a, 0x01, 0xb0, 0x4c, 0x6c, 0xed, 0xaa, 0x2d, 0xac, 0xb7, 0xe7, 0xd2, 0x23, 0xb8, + 0xb4, 0x49, 0x40, 0x06, 0xb8, 0x64, 0xb1, 0x5a, 0xbd, 0x8d, 0x5e, 0xf4, 0x85, 0x30, 0x35, 0x42, + 0x86, 0xd6, 0xd9, 0xf6, 0x1b, 0x90, 0xc3, 0x6d, 0x28, 0xd8, 0x98, 0xec, 0x08, 0xdc, 0xe2, 0x33, + 0xcb, 0xd0, 0x41, 0x2c, 0x8d, 0x9d, 0x99, 0xc2, 0xd1, 0xd8, 0xc4, 0xf2, 0x76, 0xb0, 0x88, 0x1e, + 0x05, 0xaf, 0x42, 0xa5, 0x62, 0x05, 0x54, 0x3f, 0xe5, 0x44, 0xe5, 0x86, 0xd6, 0xc1, 0xa5, 0xd7, + 0xa1, 0x10, 0x66, 0x0f, 0x9a, 0x85, 0x84, 0xe3, 0x6a, 0xb6, 0x4b, 0xa5, 0x30, 0xa1, 0xb0, 0x02, + 0x92, 0x20, 0x86, 0xcd, 0x16, 0xd5, 0x7f, 0x09, 0x85, 0xfc, 0x44, 0x5f, 0xe5, 0x4f, 0x38, 0x46, + 0x27, 0xfc, 0xf8, 0xe0, 0x8a, 0x86, 0x28, 0xf7, 0xcf, 0xbb, 0xf4, 0x3c, 0xe4, 0x43, 0x13, 0x98, + 0xb4, 0x6b, 0xf9, 0xaf, 0xc0, 0x89, 0xa1, 0xa4, 0xd1, 0xcb, 0x30, 0xdb, 0x33, 0x0d, 0xd3, 0xc5, + 0x76, 0xd7, 0xc6, 0x44, 0x62, 0x59, 0x57, 0x73, 0xbf, 0x97, 0x1a, 0x21, 0x73, 0xdb, 0x41, 0x68, + 0x46, 0x45, 0x99, 0xe9, 0x0d, 0x56, 0x5e, 0xc8, 0xa4, 0xbf, 0x98, 0x92, 0x3e, 0xf6, 0xb1, 0x8f, + 0x7d, 0x2c, 0x2a, 0xff, 0x4a, 0x12, 0x66, 0x87, 0xed, 0x99, 0xa1, 0xdb, 0xf7, 0x24, 0x24, 0xcd, + 0x5e, 0x67, 0x07, 0xdb, 0x94, 0x49, 0x09, 0x85, 0x97, 0x50, 0x19, 0x12, 0x6d, 0x6d, 0x07, 0xb7, + 0xe7, 0xe2, 0x8b, 0x91, 0x73, 0x85, 0x4b, 0x4f, 0x4c, 0xb4, 0x2b, 0x97, 0xd6, 0x08, 0x8a, 0xc2, + 0x30, 0xd1, 0x07, 0x21, 0xce, 0x95, 0x37, 0xa1, 0x70, 0x61, 0x32, 0x0a, 0x64, 0x2f, 0x29, 0x14, + 0x0f, 0x9d, 0x81, 0x0c, 0xf9, 0x9f, 0xc9, 0x46, 0x92, 0x8e, 0x39, 0x4d, 0x2a, 0x88, 0x5c, 0xa0, + 0x12, 0xa4, 0xe9, 0x36, 0x69, 0x61, 0x61, 0xf4, 0xbc, 0x32, 0x11, 0xac, 0x16, 0xde, 0xd5, 0x7a, + 0x6d, 0x57, 0xbd, 0xa3, 0xb5, 0x7b, 0x98, 0x0a, 0x7c, 0x46, 0xc9, 0xf1, 0xca, 0x5b, 0xa4, 0x0e, + 0x2d, 0x40, 0x96, 0xed, 0x2a, 0xc3, 0x6c, 0xe1, 0x03, 0xaa, 0x57, 0x13, 0x0a, 0xdb, 0x68, 0x75, + 0x52, 0x43, 0xba, 0x7f, 0xcd, 0xb1, 0x4c, 0x21, 0x9a, 0xb4, 0x0b, 0x52, 0x41, 0xbb, 0x7f, 0xbe, + 0x5f, 0xa5, 0x3f, 0x3c, 0x7c, 0x7a, 0x03, 0x7b, 0xe9, 0x2c, 0x14, 0x29, 0xc4, 0xb3, 0x7c, 0xe9, + 0xb5, 0xf6, 0xdc, 0xf4, 0x62, 0xe4, 0x5c, 0x5a, 0x29, 0xb0, 0xea, 0x4d, 0x5e, 0x2b, 0xff, 0x6c, + 0x14, 0xe2, 0x54, 0xb1, 0x14, 0x21, 0xdb, 0x7c, 0x65, 0xab, 0xa6, 0xae, 0x6c, 0x6e, 0x57, 0xd6, + 0x6a, 0x52, 0x04, 0x15, 0x00, 0x68, 0xc5, 0xb5, 0xb5, 0xcd, 0x72, 0x53, 0x8a, 0x7a, 0xe5, 0xfa, + 0x46, 0xf3, 0xca, 0x73, 0x52, 0xcc, 0x43, 0xd8, 0x66, 0x15, 0xf1, 0x20, 0xc0, 0xb3, 0x97, 0xa4, + 0x04, 0x92, 0x20, 0xc7, 0x08, 0xd4, 0x5f, 0xae, 0xad, 0x5c, 0x79, 0x4e, 0x4a, 0x86, 0x6b, 0x9e, + 0xbd, 0x24, 0xa5, 0x50, 0x1e, 0x32, 0xb4, 0xa6, 0xb2, 0xb9, 0xb9, 0x26, 0xa5, 0x3d, 0x9a, 0x8d, + 0xa6, 0x52, 0xdf, 0x58, 0x95, 0x32, 0x1e, 0xcd, 0x55, 0x65, 0x73, 0x7b, 0x4b, 0x02, 0x8f, 0xc2, + 0x7a, 0xad, 0xd1, 0x28, 0xaf, 0xd6, 0xa4, 0xac, 0x07, 0x51, 0x79, 0xa5, 0x59, 0x6b, 0x48, 0xb9, + 0xd0, 0xb0, 0x9e, 0xbd, 0x24, 0xe5, 0xbd, 0x2e, 0x6a, 0x1b, 0xdb, 0xeb, 0x52, 0x01, 0x4d, 0x43, + 0x9e, 0x75, 0x21, 0x06, 0x51, 0xec, 0xab, 0xba, 0xf2, 0x9c, 0x24, 0xf9, 0x03, 0x61, 0x54, 0xa6, + 0x43, 0x15, 0x57, 0x9e, 0x93, 0x90, 0x5c, 0x85, 0x04, 0x15, 0x43, 0x84, 0xa0, 0xb0, 0x56, 0xae, + 0xd4, 0xd6, 0xd4, 0xcd, 0xad, 0x66, 0x7d, 0x73, 0xa3, 0xbc, 0x26, 0x45, 0xfc, 0x3a, 0xa5, 0xf6, + 0xa1, 0xed, 0xba, 0x52, 0x5b, 0x91, 0xa2, 0xc1, 0xba, 0xad, 0x5a, 0xb9, 0x59, 0x5b, 0x91, 0x62, + 0xb2, 0x0e, 0xb3, 0xc3, 0x14, 0xea, 0xd0, 0x2d, 0x14, 0x90, 0x85, 0xe8, 0x08, 0x59, 0xa0, 0xb4, + 0xfa, 0x65, 0x41, 0xfe, 0x42, 0x14, 0x66, 0x86, 0x18, 0x95, 0xa1, 0x9d, 0xbc, 0x04, 0x09, 0x26, + 0xcb, 0xcc, 0xcc, 0x9e, 0x1f, 0x6a, 0x9d, 0xa8, 0x64, 0x0f, 0x98, 0x5a, 0x8a, 0x17, 0x74, 0x42, + 0x62, 0x23, 0x9c, 0x10, 0x42, 0x62, 0x40, 0x60, 0xbf, 0x76, 0x40, 0xf9, 0x33, 0xfb, 0x78, 0x65, + 0x12, 0xfb, 0x48, 0xeb, 0x8e, 0x67, 0x04, 0x12, 0x43, 0x8c, 0xc0, 0x55, 0x98, 0x1e, 0x20, 0x34, + 0xb1, 0x32, 0xfe, 0x78, 0x04, 0xe6, 0x46, 0x31, 0x67, 0x8c, 0x4a, 0x8c, 0x86, 0x54, 0xe2, 0xd5, + 0x7e, 0x0e, 0x3e, 0x32, 0x7a, 0x11, 0x06, 0xd6, 0xfa, 0x47, 0x23, 0x70, 0x72, 0xb8, 0xb3, 0x39, + 0x74, 0x0c, 0x1f, 0x84, 0x64, 0x07, 0xbb, 0xfb, 0x96, 0x70, 0xab, 0x1e, 0x1f, 0x62, 0xac, 0x49, + 0x73, 0xff, 0x62, 0x73, 0xac, 0xa0, 0xb5, 0x8f, 0x8d, 0xf2, 0x18, 0xd9, 0x68, 0x06, 0x46, 0xfa, + 0x2d, 0x51, 0x38, 0x31, 0x94, 0xf8, 0xd0, 0x81, 0x3e, 0x0c, 0x60, 0x98, 0xdd, 0x9e, 0xcb, 0x5c, + 0x27, 0xa6, 0x89, 0x33, 0xb4, 0x86, 0x2a, 0x2f, 0xa2, 0x65, 0x7b, 0xae, 0xd7, 0x1e, 0xa3, 0xed, + 0xc0, 0xaa, 0x28, 0xc0, 0x0b, 0xfe, 0x40, 0xe3, 0x74, 0xa0, 0xf3, 0x23, 0x66, 0x3a, 0x20, 0x98, + 0x4f, 0x83, 0xa4, 0xb7, 0x0d, 0x6c, 0xba, 0xaa, 0xe3, 0xda, 0x58, 0xeb, 0x18, 0xe6, 0x1e, 0x35, + 0x35, 0xe9, 0xe5, 0xc4, 0xae, 0xd6, 0x76, 0xb0, 0x52, 0x64, 0xcd, 0x0d, 0xd1, 0x4a, 0x30, 0xa8, + 0x00, 0xd9, 0x01, 0x8c, 0x64, 0x08, 0x83, 0x35, 0x7b, 0x18, 0xf2, 0x77, 0x64, 0x20, 0x1b, 0x70, + 0xcd, 0xd1, 0x23, 0x90, 0x7b, 0x4d, 0xbb, 0xa3, 0xa9, 0x22, 0xdc, 0x62, 0x9c, 0xc8, 0x92, 0xba, + 0x2d, 0x1e, 0x72, 0x3d, 0x0d, 0xb3, 0x14, 0xc4, 0xea, 0xb9, 0xd8, 0x56, 0xf5, 0xb6, 0xe6, 0x38, + 0x94, 0x69, 0x69, 0x0a, 0x8a, 0x48, 0xdb, 0x26, 0x69, 0xaa, 0x8a, 0x16, 0x74, 0x19, 0x66, 0x28, + 0x46, 0xa7, 0xd7, 0x76, 0x8d, 0x6e, 0x1b, 0xab, 0x24, 0x00, 0x74, 0xa8, 0xc9, 0xf1, 0x46, 0x36, + 0x4d, 0x20, 0xd6, 0x39, 0x00, 0x19, 0x91, 0x83, 0x56, 0xe0, 0x61, 0x8a, 0xb6, 0x87, 0x4d, 0x6c, + 0x6b, 0x2e, 0x56, 0xf1, 0x47, 0x7b, 0x5a, 0xdb, 0x51, 0x35, 0xb3, 0xa5, 0xee, 0x6b, 0xce, 0xfe, + 0xdc, 0x2c, 0x21, 0x50, 0x89, 0xce, 0x45, 0x94, 0xd3, 0x04, 0x70, 0x95, 0xc3, 0xd5, 0x28, 0x58, + 0xd9, 0x6c, 0x5d, 0xd7, 0x9c, 0x7d, 0xb4, 0x0c, 0x27, 0x29, 0x15, 0xc7, 0xb5, 0x0d, 0x73, 0x4f, + 0xd5, 0xf7, 0xb1, 0x7e, 0x5b, 0xed, 0xb9, 0xbb, 0x2f, 0xcc, 0x9d, 0x09, 0xf6, 0x4f, 0x47, 0xd8, + 0xa0, 0x30, 0x55, 0x02, 0xb2, 0xed, 0xee, 0xbe, 0x80, 0x1a, 0x90, 0x23, 0x8b, 0xd1, 0x31, 0x5e, + 0xc7, 0xea, 0xae, 0x65, 0x53, 0x1b, 0x5a, 0x18, 0xa2, 0x9a, 0x02, 0x1c, 0x5c, 0xda, 0xe4, 0x08, + 0xeb, 0x56, 0x0b, 0x2f, 0x27, 0x1a, 0x5b, 0xb5, 0xda, 0x8a, 0x92, 0x15, 0x54, 0xae, 0x59, 0x36, + 0x11, 0xa8, 0x3d, 0xcb, 0x63, 0x70, 0x96, 0x09, 0xd4, 0x9e, 0x25, 0xd8, 0x7b, 0x19, 0x66, 0x74, + 0x9d, 0xcd, 0xd9, 0xd0, 0x55, 0x1e, 0xa6, 0x39, 0x73, 0x52, 0x88, 0x59, 0xba, 0xbe, 0xca, 0x00, + 0xb8, 0x8c, 0x3b, 0xe8, 0x45, 0x38, 0xe1, 0x33, 0x2b, 0x88, 0x38, 0x3d, 0x30, 0xcb, 0x7e, 0xd4, + 0xcb, 0x30, 0xd3, 0x3d, 0x1c, 0x44, 0x44, 0xa1, 0x1e, 0xbb, 0x87, 0xfd, 0x68, 0xcf, 0xc3, 0x6c, + 0x77, 0xbf, 0x3b, 0x88, 0x77, 0x21, 0x88, 0x87, 0xba, 0xfb, 0xdd, 0x7e, 0xc4, 0xc7, 0x68, 0xcc, + 0x6e, 0x63, 0x5d, 0x73, 0x71, 0x6b, 0xee, 0x54, 0x10, 0x3c, 0xd0, 0x80, 0x96, 0x40, 0xd2, 0x75, + 0x15, 0x9b, 0xda, 0x4e, 0x1b, 0xab, 0x9a, 0x8d, 0x4d, 0xcd, 0x99, 0x5b, 0xa0, 0xc0, 0x71, 0xd7, + 0xee, 0x61, 0xa5, 0xa0, 0xeb, 0x35, 0xda, 0x58, 0xa6, 0x6d, 0xe8, 0x02, 0x4c, 0x5b, 0x3b, 0xaf, + 0xe9, 0x4c, 0x22, 0xd5, 0xae, 0x8d, 0x77, 0x8d, 0x83, 0xb9, 0xf7, 0x51, 0xf6, 0x16, 0x49, 0x03, + 0x95, 0xc7, 0x2d, 0x5a, 0x8d, 0xce, 0x83, 0xa4, 0x3b, 0xfb, 0x9a, 0xdd, 0xa5, 0x2a, 0xd9, 0xe9, + 0x6a, 0x3a, 0x9e, 0x7b, 0x8c, 0x81, 0xb2, 0xfa, 0x0d, 0x51, 0x4d, 0x76, 0x84, 0x73, 0xd7, 0xd8, + 0x75, 0x05, 0xc5, 0xb3, 0x6c, 0x47, 0xd0, 0x3a, 0x4e, 0xed, 0x1c, 0x48, 0x84, 0x13, 0xa1, 0x8e, + 0xcf, 0x51, 0xb0, 0x42, 0x77, 0xbf, 0x1b, 0xec, 0xf7, 0x51, 0xc8, 0x13, 0x48, 0xbf, 0xd3, 0xf3, + 0xcc, 0x71, 0xeb, 0xee, 0x07, 0x7a, 0x7c, 0x0e, 0x4e, 0x12, 0xa0, 0x0e, 0x76, 0xb5, 0x96, 0xe6, + 0x6a, 0x01, 0xe8, 0x27, 0x29, 0x34, 0x61, 0xfb, 0x3a, 0x6f, 0x0c, 0x8d, 0xd3, 0xee, 0xed, 0x1c, + 0x7a, 0x82, 0xf5, 0x14, 0x1b, 0x27, 0xa9, 0x13, 0xa2, 0xf5, 0xae, 0x39, 0xe7, 0xf2, 0x32, 0xe4, + 0x82, 0x72, 0x8f, 0x32, 0xc0, 0x24, 0x5f, 0x8a, 0x10, 0x27, 0xa8, 0xba, 0xb9, 0x42, 0xdc, 0x97, + 0x57, 0x6b, 0x52, 0x94, 0xb8, 0x51, 0x6b, 0xf5, 0x66, 0x4d, 0x55, 0xb6, 0x37, 0x9a, 0xf5, 0xf5, + 0x9a, 0x14, 0x0b, 0x38, 0xf6, 0x37, 0xe2, 0xe9, 0xc7, 0xa5, 0xb3, 0xf2, 0x2f, 0xc4, 0xa0, 0x10, + 0x8e, 0xd4, 0xd0, 0xfb, 0xe1, 0x94, 0x48, 0xb8, 0x38, 0xd8, 0x55, 0xef, 0x1a, 0x36, 0xdd, 0x90, + 0x1d, 0x8d, 0x19, 0x47, 0x4f, 0x7e, 0x66, 0x39, 0x54, 0x03, 0xbb, 0x1f, 0x36, 0x6c, 0xb2, 0xdd, + 0x3a, 0x9a, 0x8b, 0xd6, 0x60, 0xc1, 0xb4, 0x54, 0xc7, 0xd5, 0xcc, 0x96, 0x66, 0xb7, 0x54, 0x3f, + 0xd5, 0xa5, 0x6a, 0xba, 0x8e, 0x1d, 0xc7, 0x62, 0x86, 0xd0, 0xa3, 0xf2, 0x90, 0x69, 0x35, 0x38, + 0xb0, 0x6f, 0x21, 0xca, 0x1c, 0xb4, 0x4f, 0x7c, 0x63, 0xa3, 0xc4, 0xf7, 0x0c, 0x64, 0x3a, 0x5a, + 0x57, 0xc5, 0xa6, 0x6b, 0x1f, 0x52, 0xff, 0x3c, 0xad, 0xa4, 0x3b, 0x5a, 0xb7, 0x46, 0xca, 0xe8, + 0x16, 0x3c, 0xee, 0x83, 0xaa, 0x6d, 0xbc, 0xa7, 0xe9, 0x87, 0x2a, 0x75, 0xc6, 0x69, 0xda, 0x40, + 0xd5, 0x2d, 0x73, 0xb7, 0x6d, 0xe8, 0xae, 0x43, 0xf5, 0x03, 0xd3, 0x71, 0xb2, 0x8f, 0xb1, 0x46, + 0x11, 0x6e, 0x38, 0x96, 0x49, 0x7d, 0xf0, 0xaa, 0x80, 0x7e, 0x4f, 0xc2, 0xaf, 0x1b, 0xf1, 0x74, + 0x5c, 0x4a, 0xdc, 0x88, 0xa7, 0x13, 0x52, 0xf2, 0x46, 0x3c, 0x9d, 0x94, 0x52, 0x37, 0xe2, 0xe9, + 0xb4, 0x94, 0xb9, 0x11, 0x4f, 0x67, 0x24, 0x90, 0x3f, 0x97, 0x86, 0x5c, 0x30, 0x32, 0x20, 0x81, + 0x96, 0x4e, 0x6d, 0x63, 0x84, 0x6a, 0xcf, 0x47, 0x8f, 0x8c, 0x23, 0x96, 0xaa, 0xc4, 0x68, 0x2e, + 0x27, 0x99, 0x1b, 0xae, 0x30, 0x4c, 0xe2, 0xb0, 0x10, 0xb1, 0xc6, 0xcc, 0xed, 0x49, 0x2b, 0xbc, + 0x84, 0x56, 0x21, 0xf9, 0x9a, 0x43, 0x69, 0x27, 0x29, 0xed, 0xf7, 0x1d, 0x4d, 0xfb, 0x46, 0x83, + 0x12, 0xcf, 0xdc, 0x68, 0xa8, 0x1b, 0x9b, 0xca, 0x7a, 0x79, 0x4d, 0xe1, 0xe8, 0xe8, 0x34, 0xc4, + 0xdb, 0xda, 0xeb, 0x87, 0x61, 0xf3, 0x4a, 0xab, 0xd0, 0x12, 0x14, 0x7b, 0xe6, 0x1d, 0x6c, 0x1b, + 0xbb, 0x06, 0x59, 0x2a, 0x02, 0x55, 0x0c, 0x42, 0x15, 0xfc, 0xd6, 0x35, 0x02, 0x3f, 0xa1, 0x78, + 0x9c, 0x86, 0xf8, 0x5d, 0xac, 0xdd, 0x0e, 0x1b, 0x41, 0x5a, 0x85, 0xce, 0x41, 0xae, 0x85, 0x77, + 0x7a, 0x7b, 0xaa, 0x8d, 0x5b, 0x9a, 0xee, 0x86, 0x55, 0x7f, 0x96, 0x36, 0x29, 0xb4, 0x05, 0xdd, + 0x84, 0x0c, 0x59, 0x23, 0x93, 0xae, 0xf1, 0x34, 0x65, 0xc1, 0x53, 0x47, 0xb3, 0x80, 0x2f, 0xb1, + 0x40, 0x52, 0x7c, 0x7c, 0x74, 0x0d, 0x92, 0xae, 0x66, 0xef, 0x61, 0x97, 0x6a, 0xfe, 0xc2, 0x90, + 0xe4, 0xc7, 0x10, 0x4a, 0x4d, 0x8a, 0x41, 0x63, 0x5a, 0x8e, 0xfd, 0x2e, 0x6a, 0x99, 0x8b, 0x90, + 0xa0, 0xe2, 0x81, 0x00, 0xb8, 0x80, 0x48, 0x53, 0x28, 0x0d, 0xf1, 0xea, 0xa6, 0x42, 0x34, 0x8d, + 0x04, 0x39, 0x56, 0xab, 0x6e, 0xd5, 0x6b, 0xd5, 0x9a, 0x14, 0x95, 0x2f, 0x43, 0x92, 0xad, 0x39, + 0xd1, 0x42, 0xde, 0xaa, 0x4b, 0x53, 0xbc, 0xc8, 0x69, 0x44, 0x44, 0xeb, 0xf6, 0x7a, 0xa5, 0xa6, + 0x48, 0x51, 0x79, 0x1b, 0x8a, 0x7d, 0x7c, 0x42, 0x27, 0x60, 0x5a, 0xa9, 0x35, 0x6b, 0x1b, 0x24, + 0xce, 0x52, 0xb7, 0x37, 0x6e, 0x6e, 0x6c, 0x7e, 0x78, 0x43, 0x9a, 0x0a, 0x57, 0x0b, 0x95, 0x16, + 0x41, 0xb3, 0x20, 0xf9, 0xd5, 0x8d, 0xcd, 0x6d, 0x85, 0x8e, 0xe6, 0x5b, 0xa3, 0x20, 0xf5, 0x73, + 0x0d, 0x9d, 0x82, 0x99, 0x66, 0x59, 0x59, 0xad, 0x35, 0x55, 0x16, 0x3b, 0x7a, 0xa4, 0x67, 0x41, + 0x0a, 0x36, 0x5c, 0xab, 0xd3, 0xd0, 0x78, 0x01, 0xce, 0x04, 0x6b, 0x6b, 0x2f, 0x37, 0x6b, 0x1b, + 0x0d, 0xda, 0x79, 0x79, 0x63, 0x95, 0xe8, 0xd7, 0x3e, 0x7a, 0x22, 0x5a, 0x8d, 0x91, 0xa1, 0x86, + 0xe9, 0xd5, 0xd6, 0x56, 0xa4, 0x78, 0x7f, 0xf5, 0xe6, 0x46, 0x6d, 0xf3, 0x9a, 0x94, 0xe8, 0xef, + 0x9d, 0x46, 0xb0, 0x49, 0x54, 0x82, 0x93, 0xfd, 0xb5, 0x6a, 0x6d, 0xa3, 0xa9, 0xbc, 0x22, 0xa5, + 0xfa, 0x3b, 0x6e, 0xd4, 0x94, 0x5b, 0xf5, 0x6a, 0x4d, 0x4a, 0xa3, 0x93, 0x80, 0xc2, 0x23, 0x6a, + 0x5e, 0xdf, 0x5c, 0x91, 0x32, 0x03, 0x1a, 0x45, 0x76, 0x20, 0x17, 0x0c, 0x23, 0xdf, 0x9b, 0x5c, + 0xd2, 0xa7, 0xa2, 0x90, 0x0d, 0x84, 0x85, 0xc4, 0x9f, 0xd7, 0xda, 0x6d, 0xeb, 0xae, 0xaa, 0xb5, + 0x0d, 0xcd, 0xe1, 0xfa, 0x06, 0x68, 0x55, 0x99, 0xd4, 0x4c, 0xba, 0xbf, 0x27, 0xd7, 0xf0, 0xc9, + 0xbf, 0x88, 0x1a, 0x3e, 0x21, 0x25, 0xe5, 0x1f, 0x88, 0x80, 0xd4, 0x1f, 0xef, 0xf5, 0x4d, 0x3f, + 0x32, 0x6a, 0xfa, 0xef, 0xc9, 0xda, 0x7d, 0x7f, 0x04, 0x0a, 0xe1, 0x20, 0xaf, 0x6f, 0x78, 0x8f, + 0xfc, 0x3f, 0x1d, 0xde, 0x6f, 0x47, 0x21, 0x1f, 0x0a, 0xed, 0x26, 0x1d, 0xdd, 0x47, 0x61, 0xda, + 0x68, 0xe1, 0x4e, 0xd7, 0x72, 0xb1, 0xa9, 0x1f, 0xaa, 0x6d, 0x7c, 0x07, 0xb7, 0xe7, 0x64, 0xaa, + 0x94, 0x2f, 0x1e, 0x1d, 0x3c, 0x2e, 0xd5, 0x7d, 0xbc, 0x35, 0x82, 0xb6, 0x3c, 0x53, 0x5f, 0xa9, + 0xad, 0x6f, 0x6d, 0x36, 0x6b, 0x1b, 0xd5, 0x57, 0x84, 0x76, 0x51, 0x24, 0xa3, 0x0f, 0xec, 0x5d, + 0x54, 0xda, 0x5b, 0x20, 0xf5, 0x0f, 0x8a, 0xe8, 0x8a, 0x21, 0xc3, 0x92, 0xa6, 0xd0, 0x0c, 0x14, + 0x37, 0x36, 0xd5, 0x46, 0x7d, 0xa5, 0xa6, 0xd6, 0xae, 0x5d, 0xab, 0x55, 0x9b, 0x0d, 0x96, 0x0e, + 0xf4, 0xa0, 0x9b, 0x52, 0x34, 0xc8, 0xe2, 0xef, 0x8d, 0xc1, 0xcc, 0x90, 0x91, 0xa0, 0x32, 0x0f, + 0xe4, 0x59, 0x6e, 0xe1, 0xa9, 0x49, 0x46, 0xbf, 0x44, 0x5c, 0xe9, 0x2d, 0xcd, 0x76, 0x79, 0xdc, + 0x7f, 0x1e, 0x08, 0x97, 0x4c, 0x97, 0x58, 0x76, 0x9b, 0xa7, 0x59, 0x59, 0x74, 0x5f, 0xf4, 0xeb, + 0x59, 0xa6, 0xf5, 0x49, 0x40, 0x5d, 0xcb, 0x31, 0x5c, 0xe3, 0x0e, 0x56, 0x0d, 0x53, 0xe4, 0x64, + 0x49, 0xb4, 0x1f, 0x57, 0x24, 0xd1, 0x52, 0x37, 0x5d, 0x0f, 0xda, 0xc4, 0x7b, 0x5a, 0x1f, 0x34, + 0xf1, 0x3c, 0x62, 0x8a, 0x24, 0x5a, 0x3c, 0xe8, 0x47, 0x20, 0xd7, 0xb2, 0x7a, 0x24, 0x04, 0x62, + 0x70, 0x44, 0x5b, 0x44, 0x94, 0x2c, 0xab, 0xf3, 0x40, 0x78, 0x70, 0xeb, 0x27, 0x83, 0x73, 0x4a, + 0x96, 0xd5, 0x31, 0x90, 0xb3, 0x50, 0xd4, 0xf6, 0xf6, 0x6c, 0x42, 0x5c, 0x10, 0x62, 0xe1, 0x7a, + 0xc1, 0xab, 0xa6, 0x80, 0xa5, 0x1b, 0x90, 0x16, 0x7c, 0x20, 0x1e, 0x2c, 0xe1, 0x84, 0xda, 0x65, + 0x39, 0xa8, 0xe8, 0xb9, 0x8c, 0x92, 0x36, 0x45, 0xe3, 0x23, 0x90, 0x33, 0x1c, 0xd5, 0x3f, 0xdb, + 0x8a, 0x2e, 0x46, 0xcf, 0xa5, 0x95, 0xac, 0xe1, 0x78, 0xe7, 0x02, 0xf2, 0x8f, 0x46, 0xa1, 0x10, + 0x3e, 0xb5, 0x43, 0x2b, 0x90, 0x6e, 0x5b, 0xba, 0x46, 0x45, 0x8b, 0x1d, 0x19, 0x9f, 0x1b, 0x73, + 0xd0, 0xb7, 0xb4, 0xc6, 0xe1, 0x15, 0x0f, 0xb3, 0xf4, 0xaf, 0x23, 0x90, 0x16, 0xd5, 0xe8, 0x24, + 0xc4, 0xbb, 0x9a, 0xbb, 0x4f, 0xc9, 0x25, 0x2a, 0x51, 0x29, 0xa2, 0xd0, 0x32, 0xa9, 0x77, 0xba, + 0x9a, 0x49, 0x45, 0x80, 0xd7, 0x93, 0x32, 0x59, 0xd7, 0x36, 0xd6, 0x5a, 0x34, 0x17, 0x60, 0x75, + 0x3a, 0xd8, 0x74, 0x1d, 0xb1, 0xae, 0xbc, 0xbe, 0xca, 0xab, 0xd1, 0x13, 0x30, 0xed, 0xda, 0x9a, + 0xd1, 0x0e, 0xc1, 0xc6, 0x29, 0xac, 0x24, 0x1a, 0x3c, 0xe0, 0x65, 0x38, 0x2d, 0xe8, 0xb6, 0xb0, + 0xab, 0xe9, 0xfb, 0xb8, 0xe5, 0x23, 0x25, 0x69, 0xce, 0xef, 0x14, 0x07, 0x58, 0xe1, 0xed, 0x02, + 0x57, 0xfe, 0x7c, 0x14, 0xa6, 0x45, 0xf6, 0xa2, 0xe5, 0x31, 0x6b, 0x1d, 0x40, 0x33, 0x4d, 0xcb, + 0x0d, 0xb2, 0x6b, 0x50, 0x94, 0x07, 0xf0, 0x96, 0xca, 0x1e, 0x92, 0x12, 0x20, 0x50, 0xfa, 0x83, + 0x08, 0x80, 0xdf, 0x34, 0x92, 0x6f, 0x0b, 0x90, 0xe5, 0x67, 0xb2, 0xf4, 0x60, 0x9f, 0x25, 0xbc, + 0x80, 0x55, 0x5d, 0x33, 0xda, 0x34, 0x2d, 0xb9, 0x83, 0xf7, 0x0c, 0x93, 0x9f, 0xa7, 0xb0, 0x82, + 0x48, 0x4b, 0xc6, 0xfd, 0xe3, 0x29, 0x05, 0xd2, 0x0e, 0xee, 0x68, 0xa6, 0x6b, 0xe8, 0xfc, 0x84, + 0xe4, 0xca, 0xb1, 0x06, 0xbf, 0xd4, 0xe0, 0xd8, 0x8a, 0x47, 0x47, 0x3e, 0x07, 0x69, 0x51, 0x4b, + 0x1c, 0xbf, 0x8d, 0xcd, 0x8d, 0x9a, 0x34, 0x85, 0x52, 0x10, 0x6b, 0xd4, 0x9a, 0x52, 0x84, 0x84, + 0x9d, 0xe5, 0xb5, 0x7a, 0xb9, 0x21, 0x45, 0x2b, 0x7f, 0x15, 0x66, 0x74, 0xab, 0xd3, 0xdf, 0x61, + 0x45, 0xea, 0x4b, 0xf9, 0x39, 0xd7, 0x23, 0xaf, 0x3e, 0xc5, 0x81, 0xf6, 0xac, 0xb6, 0x66, 0xee, + 0x2d, 0x59, 0xf6, 0x9e, 0x7f, 0x2d, 0x82, 0x44, 0x07, 0x4e, 0xe0, 0x72, 0x44, 0x77, 0xe7, 0x7f, + 0x44, 0x22, 0x3f, 0x18, 0x8d, 0xad, 0x6e, 0x55, 0x7e, 0x3c, 0x5a, 0x5a, 0x65, 0x88, 0x5b, 0x62, + 0x3a, 0x0a, 0xde, 0x6d, 0x63, 0x9d, 0x0c, 0x1e, 0xfe, 0xf0, 0x09, 0x98, 0xdd, 0xb3, 0xf6, 0x2c, + 0x4a, 0xe9, 0x22, 0xf9, 0xc5, 0xef, 0x55, 0x64, 0xbc, 0xda, 0xd2, 0xd8, 0x4b, 0x18, 0xcb, 0x1b, + 0x30, 0xc3, 0x81, 0x55, 0x7a, 0x7c, 0xcb, 0x92, 0x0b, 0xe8, 0xc8, 0xcc, 0xf6, 0xdc, 0x4f, 0xfe, + 0x2e, 0xf5, 0x4a, 0x94, 0x69, 0x8e, 0x4a, 0xda, 0x58, 0xfe, 0x61, 0x59, 0x81, 0x13, 0x21, 0x7a, + 0x4c, 0x47, 0x60, 0x7b, 0x0c, 0xc5, 0x7f, 0xc6, 0x29, 0xce, 0x04, 0x28, 0x36, 0x38, 0xea, 0x72, + 0x15, 0xf2, 0xc7, 0xa1, 0xf5, 0xcf, 0x39, 0xad, 0x1c, 0x0e, 0x12, 0x59, 0x85, 0x22, 0x25, 0xa2, + 0xf7, 0x1c, 0xd7, 0xea, 0x50, 0x05, 0x7c, 0x34, 0x99, 0x7f, 0xf1, 0xbb, 0x6c, 0xd3, 0x16, 0x08, + 0x5a, 0xd5, 0xc3, 0x5a, 0x5e, 0x06, 0x7a, 0x62, 0xdd, 0xc2, 0x7a, 0x7b, 0x0c, 0x85, 0x5f, 0xe5, + 0x03, 0xf1, 0xe0, 0x97, 0x6f, 0xc1, 0x2c, 0xf9, 0x4d, 0xf5, 0x63, 0x70, 0x24, 0xe3, 0xd3, 0xe0, + 0x73, 0xbf, 0xf1, 0x71, 0xa6, 0x17, 0x66, 0x3c, 0x02, 0x81, 0x31, 0x05, 0x56, 0x71, 0x0f, 0xbb, + 0x2e, 0xb6, 0x1d, 0x55, 0x6b, 0x0f, 0x1b, 0x5e, 0x20, 0x8f, 0x38, 0xf7, 0x3d, 0x5f, 0x0a, 0xaf, + 0xe2, 0x2a, 0xc3, 0x2c, 0xb7, 0xdb, 0xcb, 0xdb, 0x70, 0x6a, 0x88, 0x54, 0x4c, 0x40, 0xf3, 0x7b, + 0x39, 0xcd, 0xd9, 0x01, 0xc9, 0x20, 0x64, 0xb7, 0x40, 0xd4, 0x7b, 0x6b, 0x39, 0x01, 0xcd, 0xef, + 0xe3, 0x34, 0x11, 0xc7, 0x15, 0x4b, 0x4a, 0x28, 0xde, 0x80, 0xe9, 0x3b, 0xd8, 0xde, 0xb1, 0x1c, + 0x9e, 0xbb, 0x9d, 0x80, 0xdc, 0xf7, 0x73, 0x72, 0x45, 0x8e, 0x48, 0x93, 0xb9, 0x84, 0xd6, 0x8b, + 0x90, 0xde, 0xd5, 0x74, 0x3c, 0x01, 0x89, 0xfb, 0x9c, 0x44, 0x8a, 0xc0, 0x13, 0xd4, 0x32, 0xe4, + 0xf6, 0x2c, 0x6e, 0x22, 0xc7, 0xa3, 0xff, 0x00, 0x47, 0xcf, 0x0a, 0x1c, 0x4e, 0xa2, 0x6b, 0x75, + 0x7b, 0x6d, 0x62, 0x3f, 0xc7, 0x93, 0xf8, 0xdb, 0x82, 0x84, 0xc0, 0xe1, 0x24, 0x8e, 0xc1, 0xd6, + 0x4f, 0x0b, 0x12, 0x4e, 0x80, 0x9f, 0x2f, 0x41, 0xd6, 0x32, 0xdb, 0x87, 0x96, 0x39, 0xc9, 0x20, + 0x3e, 0xc3, 0x29, 0x00, 0x47, 0x21, 0x04, 0xae, 0x42, 0x66, 0xd2, 0x85, 0xf8, 0xe1, 0x2f, 0x89, + 0xed, 0x21, 0x56, 0x60, 0x15, 0x8a, 0x42, 0x41, 0x19, 0x96, 0x39, 0x01, 0x89, 0x1f, 0xe1, 0x24, + 0x0a, 0x01, 0x34, 0x3e, 0x0d, 0x17, 0x3b, 0xee, 0x1e, 0x9e, 0x84, 0xc8, 0x8f, 0x8a, 0x69, 0x70, + 0x14, 0xce, 0xca, 0x1d, 0x6c, 0xea, 0xfb, 0x93, 0x51, 0xf8, 0xac, 0x60, 0xa5, 0xc0, 0x21, 0x24, + 0xaa, 0x90, 0xef, 0x68, 0xb6, 0xb3, 0xaf, 0xb5, 0x27, 0x5a, 0x8e, 0x1f, 0xe3, 0x34, 0x72, 0x1e, + 0x12, 0xe7, 0x48, 0xcf, 0x3c, 0x0e, 0x99, 0x1f, 0x17, 0x1c, 0x09, 0xa0, 0xf1, 0xad, 0xe7, 0xb8, + 0x34, 0xd1, 0x7d, 0x1c, 0x6a, 0x7f, 0x57, 0x6c, 0x3d, 0x86, 0xbb, 0x1e, 0xa4, 0x78, 0x15, 0x32, + 0x8e, 0xf1, 0xfa, 0x44, 0x64, 0xfe, 0x9e, 0x58, 0x69, 0x8a, 0x40, 0x90, 0x5f, 0x81, 0xd3, 0x43, + 0xcd, 0xc4, 0x04, 0xc4, 0xfe, 0x3e, 0x27, 0x76, 0x72, 0x88, 0xa9, 0xe0, 0x2a, 0xe1, 0xb8, 0x24, + 0xff, 0x81, 0x50, 0x09, 0xb8, 0x8f, 0xd6, 0x16, 0x09, 0x5a, 0x1c, 0x6d, 0xf7, 0x78, 0x5c, 0xfb, + 0x87, 0x82, 0x6b, 0x0c, 0x37, 0xc4, 0xb5, 0x26, 0x9c, 0xe4, 0x14, 0x8f, 0xb7, 0xae, 0x3f, 0x21, + 0x14, 0x2b, 0xc3, 0xde, 0x0e, 0xaf, 0xee, 0x57, 0x43, 0xc9, 0x63, 0xa7, 0xf0, 0x8e, 0x1d, 0xb5, + 0xa3, 0x75, 0x27, 0xa0, 0xfc, 0x93, 0x9c, 0xb2, 0xd0, 0xf8, 0x9e, 0x7b, 0xed, 0xac, 0x6b, 0x5d, + 0x42, 0xfc, 0x65, 0x98, 0x13, 0xc4, 0x7b, 0xa6, 0x8d, 0x75, 0x6b, 0xcf, 0x34, 0x5e, 0xc7, 0xad, + 0x09, 0x48, 0xff, 0x54, 0xdf, 0x52, 0x6d, 0x07, 0xd0, 0x09, 0xe5, 0x3a, 0x48, 0x9e, 0xaf, 0xa2, + 0x1a, 0x9d, 0xae, 0x65, 0xbb, 0x63, 0x28, 0xfe, 0xb4, 0x58, 0x29, 0x0f, 0xaf, 0x4e, 0xd1, 0x96, + 0x6b, 0xc0, 0x6e, 0x7f, 0x4c, 0x2a, 0x92, 0x3f, 0xc3, 0x09, 0xe5, 0x7d, 0x2c, 0xae, 0x38, 0x74, + 0xab, 0xd3, 0xd5, 0xec, 0x49, 0xf4, 0xdf, 0x3f, 0x12, 0x8a, 0x83, 0xa3, 0x70, 0xc5, 0x41, 0x3c, + 0x3a, 0x62, 0xed, 0x27, 0xa0, 0xf0, 0xb3, 0x42, 0x71, 0x08, 0x1c, 0x4e, 0x42, 0x38, 0x0c, 0x13, + 0x90, 0xf8, 0x9c, 0x20, 0x21, 0x70, 0x08, 0x89, 0x0f, 0xf9, 0x86, 0xd6, 0xc6, 0x7b, 0x86, 0xe3, + 0xda, 0xcc, 0x25, 0x3f, 0x9a, 0xd4, 0xcf, 0x7d, 0x29, 0xec, 0x84, 0x29, 0x01, 0x54, 0xa2, 0x89, + 0xf8, 0xd1, 0x07, 0x0d, 0xd9, 0xc6, 0x0f, 0xec, 0xe7, 0x85, 0x26, 0x0a, 0xa0, 0x91, 0xb1, 0x05, + 0x3c, 0x44, 0xc2, 0x76, 0x9d, 0x04, 0x2a, 0x13, 0x90, 0xfb, 0xc7, 0x7d, 0x83, 0x6b, 0x08, 0x5c, + 0x42, 0x33, 0xe0, 0xff, 0xf4, 0xcc, 0xdb, 0xf8, 0x70, 0x22, 0xe9, 0xfc, 0x85, 0x3e, 0xff, 0x67, + 0x9b, 0x61, 0x32, 0x1d, 0x52, 0xec, 0xf3, 0xa7, 0xd0, 0xb8, 0xbb, 0x7e, 0x73, 0x5f, 0xff, 0x16, + 0x9f, 0x6f, 0xd8, 0x9d, 0x5a, 0x5e, 0x23, 0x42, 0x1e, 0x76, 0x7a, 0xc6, 0x13, 0xfb, 0xf8, 0x5b, + 0x9e, 0x9c, 0x87, 0x7c, 0x9e, 0xe5, 0x6b, 0x90, 0x0f, 0x39, 0x3c, 0xe3, 0x49, 0x7d, 0x23, 0x27, + 0x95, 0x0b, 0xfa, 0x3b, 0xcb, 0x97, 0x21, 0x4e, 0x9c, 0x97, 0xf1, 0xe8, 0xdf, 0xc4, 0xd1, 0x29, + 0xf8, 0xf2, 0x07, 0x20, 0x2d, 0x9c, 0x96, 0xf1, 0xa8, 0xdf, 0xcc, 0x51, 0x3d, 0x14, 0x82, 0x2e, + 0x1c, 0x96, 0xf1, 0xe8, 0x7f, 0x4d, 0xa0, 0x0b, 0x14, 0x82, 0x3e, 0x39, 0x0b, 0x7f, 0xf9, 0xaf, + 0xc7, 0xb9, 0xd1, 0x11, 0xbc, 0xbb, 0x0a, 0x29, 0xee, 0xa9, 0x8c, 0xc7, 0xfe, 0x16, 0xde, 0xb9, + 0xc0, 0x58, 0x7e, 0x1e, 0x12, 0x13, 0x32, 0xfc, 0x6f, 0x70, 0x54, 0x06, 0xbf, 0x5c, 0x85, 0x6c, + 0xc0, 0x3b, 0x19, 0x8f, 0xfe, 0x6d, 0x1c, 0x3d, 0x88, 0x45, 0x86, 0xce, 0xbd, 0x93, 0xf1, 0x04, + 0xbe, 0x5d, 0x0c, 0x9d, 0x63, 0x10, 0xb6, 0x09, 0xc7, 0x64, 0x3c, 0xf6, 0x27, 0x05, 0xd7, 0x05, + 0xca, 0xf2, 0x4b, 0x90, 0xf1, 0x8c, 0xcd, 0x78, 0xfc, 0xef, 0xe0, 0xf8, 0x3e, 0x0e, 0xe1, 0x40, + 0xc0, 0xd8, 0x8d, 0x27, 0xf1, 0x37, 0x05, 0x07, 0x02, 0x58, 0x64, 0x1b, 0xf5, 0x3b, 0x30, 0xe3, + 0x29, 0x7d, 0xa7, 0xd8, 0x46, 0x7d, 0xfe, 0x0b, 0x59, 0x4d, 0xaa, 0xf3, 0xc7, 0x93, 0xf8, 0x5b, + 0x62, 0x35, 0x29, 0x3c, 0x19, 0x46, 0xbf, 0x47, 0x30, 0x9e, 0xc6, 0x77, 0x8b, 0x61, 0xf4, 0x39, + 0x04, 0xcb, 0x5b, 0x80, 0x06, 0xbd, 0x81, 0xf1, 0xf4, 0x3e, 0xc5, 0xe9, 0x4d, 0x0f, 0x38, 0x03, + 0xcb, 0x1f, 0x86, 0x93, 0xc3, 0x3d, 0x81, 0xf1, 0x54, 0xbf, 0xe7, 0xad, 0xbe, 0xd8, 0x2d, 0xe8, + 0x08, 0x2c, 0x37, 0x7d, 0x93, 0x12, 0xf4, 0x02, 0xc6, 0x93, 0xfd, 0xde, 0xb7, 0xc2, 0x8a, 0x3b, + 0xe8, 0x04, 0x2c, 0x97, 0x01, 0x7c, 0x03, 0x3c, 0x9e, 0xd6, 0xf7, 0x73, 0x5a, 0x01, 0x24, 0xb2, + 0x35, 0xb8, 0xfd, 0x1d, 0x8f, 0x7f, 0x5f, 0x6c, 0x0d, 0x8e, 0x41, 0xb6, 0x86, 0x30, 0xbd, 0xe3, + 0xb1, 0x7f, 0x40, 0x6c, 0x0d, 0x81, 0x42, 0x24, 0x3b, 0x60, 0xdd, 0xc6, 0x53, 0xf8, 0x8c, 0x90, + 0xec, 0x00, 0xd6, 0xf2, 0x06, 0x4c, 0x0f, 0x18, 0xc4, 0xf1, 0xa4, 0x7e, 0x90, 0x93, 0x92, 0xfa, + 0xed, 0x61, 0xd0, 0x78, 0x71, 0x63, 0x38, 0x9e, 0xda, 0x0f, 0xf5, 0x19, 0x2f, 0x6e, 0x0b, 0x97, + 0xaf, 0x42, 0xda, 0xec, 0xb5, 0xdb, 0x64, 0xf3, 0xa0, 0xa3, 0xef, 0xe7, 0xce, 0xfd, 0x97, 0xb7, + 0x39, 0x77, 0x04, 0xc2, 0xf2, 0x65, 0x48, 0xe0, 0xce, 0x0e, 0x6e, 0x8d, 0xc3, 0xfc, 0xfd, 0xb7, + 0x85, 0xc2, 0x24, 0xd0, 0xcb, 0x2f, 0x01, 0xb0, 0xd4, 0x08, 0x3d, 0x38, 0x1f, 0x83, 0xfb, 0x07, + 0x6f, 0xf3, 0x0b, 0x71, 0x3e, 0x8a, 0x4f, 0x80, 0x5d, 0xaf, 0x3b, 0x9a, 0xc0, 0x97, 0xc2, 0x04, + 0xe8, 0x8a, 0xbc, 0x08, 0xa9, 0xd7, 0x1c, 0xcb, 0x74, 0xb5, 0xbd, 0x71, 0xd8, 0x7f, 0xc8, 0xb1, + 0x05, 0x3c, 0x61, 0x58, 0xc7, 0xb2, 0xb1, 0xab, 0xed, 0x39, 0xe3, 0x70, 0xff, 0x2b, 0xc7, 0xf5, + 0x10, 0x08, 0xb2, 0xae, 0x39, 0xee, 0x24, 0xf3, 0xfe, 0x23, 0x81, 0x2c, 0x10, 0xc8, 0xa0, 0xc9, + 0xef, 0xdb, 0xf8, 0x70, 0x1c, 0xee, 0x1f, 0x8b, 0x41, 0x73, 0xf8, 0xe5, 0x0f, 0x40, 0x86, 0xfc, + 0x64, 0xb7, 0x5c, 0xc7, 0x20, 0xff, 0x09, 0x47, 0xf6, 0x31, 0x48, 0xcf, 0x8e, 0xdb, 0x72, 0x8d, + 0xf1, 0xcc, 0xfe, 0x32, 0x5f, 0x69, 0x01, 0xbf, 0x5c, 0x86, 0xac, 0xe3, 0xb6, 0x5a, 0x3d, 0xee, + 0x9f, 0x8e, 0x41, 0xff, 0x6f, 0x6f, 0x7b, 0x29, 0x0b, 0x0f, 0x87, 0xac, 0xf6, 0xdd, 0xdb, 0x6e, + 0xd7, 0xa2, 0xe7, 0x2d, 0xe3, 0x28, 0xbc, 0xc5, 0x29, 0x04, 0x50, 0x96, 0xab, 0x90, 0x23, 0x73, + 0xb1, 0x71, 0x17, 0xd3, 0xc3, 0xb1, 0x31, 0x24, 0xfe, 0x94, 0x33, 0x20, 0x84, 0x54, 0xf9, 0xba, + 0x5f, 0x7d, 0x73, 0x3e, 0xf2, 0xf9, 0x37, 0xe7, 0x23, 0xbf, 0xfd, 0xe6, 0x7c, 0xe4, 0x93, 0x5f, + 0x98, 0x9f, 0xfa, 0xfc, 0x17, 0xe6, 0xa7, 0x7e, 0xeb, 0x0b, 0xf3, 0x53, 0xc3, 0xb3, 0xc4, 0xb0, + 0x6a, 0xad, 0x5a, 0x2c, 0x3f, 0xfc, 0xea, 0x63, 0x7b, 0x86, 0xbb, 0xdf, 0xdb, 0x59, 0xd2, 0xad, + 0xce, 0x45, 0xdd, 0x72, 0x3a, 0x96, 0x73, 0x31, 0x9c, 0xd7, 0xa5, 0xbf, 0xe0, 0x7f, 0x45, 0x48, + 0xcc, 0x1c, 0x4e, 0xe7, 0x6a, 0xe6, 0xe1, 0xa8, 0x8f, 0xe9, 0xae, 0x40, 0xac, 0x6c, 0x1e, 0xa2, + 0xd3, 0x4c, 0xc1, 0xa9, 0x3d, 0xbb, 0xcd, 0xaf, 0x5a, 0xa6, 0x48, 0x79, 0xdb, 0x6e, 0xa3, 0x59, + 0xff, 0x3e, 0x74, 0xe4, 0x5c, 0x8e, 0x5f, 0x72, 0xae, 0x7c, 0x5b, 0xe4, 0x78, 0x33, 0x49, 0x97, + 0xcd, 0x43, 0x3a, 0x91, 0xad, 0xc8, 0xab, 0x4f, 0x8e, 0xcd, 0x73, 0xdf, 0x36, 0xad, 0xbb, 0x26, + 0x19, 0x76, 0x77, 0x47, 0xe4, 0xb8, 0xe7, 0xfb, 0x73, 0xdc, 0x1f, 0xc6, 0xed, 0xf6, 0x4d, 0x02, + 0xd7, 0x24, 0x28, 0x3b, 0x49, 0x76, 0xab, 0x1f, 0xbe, 0x33, 0x0a, 0xf3, 0x03, 0xe9, 0x6c, 0x2e, + 0x04, 0xa3, 0x98, 0xb0, 0x0c, 0xe9, 0x15, 0x21, 0x5b, 0x73, 0x90, 0x72, 0xb0, 0x6e, 0x99, 0x2d, + 0x87, 0x32, 0x22, 0xa6, 0x88, 0x22, 0x61, 0x84, 0xa9, 0x99, 0x96, 0xc3, 0x2f, 0x2b, 0xb3, 0x42, + 0xe5, 0xfb, 0x8e, 0xc9, 0x88, 0xbc, 0xe8, 0x49, 0x70, 0xe3, 0x99, 0x09, 0xb9, 0x21, 0x26, 0x11, + 0xca, 0xfc, 0x4f, 0xca, 0x95, 0xef, 0x8e, 0xc2, 0x42, 0x3f, 0x57, 0xc8, 0xce, 0x72, 0x5c, 0xad, + 0xd3, 0x1d, 0xc5, 0x96, 0xab, 0x90, 0x69, 0x0a, 0x98, 0x63, 0xf3, 0xe5, 0xfe, 0x31, 0xf9, 0x52, + 0xf0, 0xba, 0x12, 0x8c, 0xb9, 0x34, 0x21, 0x63, 0xbc, 0x79, 0x3c, 0x10, 0x67, 0xfe, 0x3c, 0x09, + 0xa7, 0xd9, 0x76, 0x52, 0xd9, 0x56, 0x62, 0x05, 0xce, 0x93, 0x5c, 0xb0, 0x69, 0xfc, 0x39, 0x89, + 0x7c, 0x13, 0x66, 0xea, 0x44, 0x5b, 0x90, 0x28, 0xc8, 0x3f, 0xe1, 0x19, 0x7a, 0x9f, 0x7b, 0x31, + 0xe4, 0xf0, 0xf3, 0xf3, 0xad, 0x60, 0x95, 0xfc, 0xf5, 0x11, 0x90, 0x1a, 0xba, 0xd6, 0xd6, 0xec, + 0xaf, 0x94, 0x14, 0x7a, 0x1e, 0x80, 0x5d, 0xf7, 0xf0, 0x3e, 0xdc, 0x2b, 0x5c, 0x9a, 0x5b, 0x0a, + 0x4e, 0x6e, 0x89, 0xf5, 0x44, 0x6f, 0x50, 0x65, 0x28, 0x2c, 0xf9, 0x79, 0xe1, 0x65, 0x00, 0xbf, + 0x01, 0x9d, 0x81, 0x53, 0x8d, 0x6a, 0x79, 0xad, 0xac, 0x88, 0x4b, 0x42, 0x8d, 0xad, 0x5a, 0xb5, + 0x7e, 0xad, 0x5e, 0x5b, 0x91, 0xa6, 0xd0, 0x49, 0x40, 0xc1, 0x46, 0xef, 0x52, 0xd3, 0x09, 0x98, + 0x0e, 0xd6, 0xb3, 0xaf, 0x54, 0xa2, 0xc4, 0x53, 0x34, 0x3a, 0xdd, 0x36, 0xa6, 0x27, 0x8f, 0xaa, + 0x21, 0xb8, 0x36, 0xde, 0x09, 0xf9, 0xb5, 0x7f, 0xcb, 0xbe, 0x5c, 0x98, 0xf1, 0xd1, 0x3d, 0x9e, + 0x2f, 0xaf, 0xc1, 0xb4, 0xa6, 0xeb, 0xb8, 0x1b, 0x22, 0x39, 0x46, 0x55, 0x13, 0x82, 0xf4, 0x2c, + 0x95, 0x63, 0xfa, 0xd4, 0x9e, 0x87, 0xa4, 0x43, 0x67, 0x3f, 0x8e, 0xc4, 0xaf, 0x73, 0x12, 0x1c, + 0x7c, 0xd9, 0x84, 0x69, 0xe2, 0xf9, 0x69, 0x36, 0x0e, 0x0c, 0xe3, 0xe8, 0x3c, 0xc3, 0x2f, 0xfe, + 0xf4, 0xd3, 0xf4, 0x64, 0xf5, 0x91, 0xf0, 0xb2, 0x0c, 0x11, 0x27, 0x45, 0xe2, 0xb4, 0xfd, 0x81, + 0x62, 0x28, 0x88, 0xfe, 0xf8, 0x80, 0x8f, 0xee, 0xec, 0x97, 0x78, 0x67, 0xf3, 0xc3, 0x64, 0x20, + 0xd0, 0x53, 0x9e, 0x53, 0x65, 0x0d, 0x95, 0xda, 0xa8, 0x3d, 0xfd, 0xea, 0x13, 0x83, 0xd6, 0x89, + 0xfd, 0xf7, 0x14, 0xa5, 0x7c, 0x35, 0xd8, 0x8d, 0xb7, 0xf7, 0xbe, 0x2f, 0x0e, 0xd3, 0x5a, 0xc7, + 0x30, 0xad, 0x8b, 0xf4, 0x5f, 0xbe, 0xe7, 0x12, 0xb4, 0x30, 0xc1, 0xa1, 0xe4, 0x15, 0xb6, 0x15, + 0xc6, 0x4b, 0xcc, 0x9f, 0x7c, 0xeb, 0x8f, 0x24, 0xfc, 0xed, 0xb2, 0xbc, 0x0e, 0x92, 0xb8, 0xc4, + 0x8b, 0x4d, 0xdd, 0x6a, 0x4d, 0x94, 0xa5, 0xf8, 0xb2, 0xa0, 0x21, 0xf2, 0x5b, 0x35, 0x8e, 0xba, + 0xfc, 0x7e, 0x48, 0x7b, 0x64, 0xc6, 0x79, 0x26, 0x82, 0x88, 0x87, 0x41, 0xfc, 0x12, 0xb6, 0x33, + 0x27, 0xf1, 0x42, 0xdf, 0x12, 0xf8, 0x6c, 0x87, 0x6e, 0x90, 0xd9, 0xac, 0x42, 0xa1, 0x65, 0x99, + 0xae, 0x6a, 0x75, 0x0c, 0x17, 0x77, 0xba, 0xee, 0x58, 0xbf, 0xee, 0x4f, 0x19, 0x91, 0xb4, 0x92, + 0x27, 0x78, 0x9b, 0x02, 0x8d, 0x8c, 0x84, 0x7d, 0xa7, 0x37, 0xc9, 0x48, 0xfe, 0xbb, 0x37, 0x12, + 0x8a, 0x43, 0x46, 0xf2, 0x40, 0xd2, 0xe1, 0xb4, 0x6e, 0x73, 0x65, 0xee, 0x1e, 0x30, 0x29, 0xf0, + 0xa4, 0xe3, 0x8f, 0x62, 0x30, 0xcf, 0x81, 0x77, 0x34, 0x07, 0x5f, 0xbc, 0xf3, 0xcc, 0x0e, 0x76, + 0xb5, 0x67, 0x2e, 0xea, 0x96, 0x21, 0x2c, 0xf9, 0x0c, 0x57, 0xd6, 0xa4, 0x7d, 0x89, 0xb7, 0x97, + 0x86, 0x1e, 0x77, 0x97, 0x46, 0x2b, 0xf9, 0xd2, 0xa0, 0x0c, 0xca, 0xaf, 0x42, 0xbc, 0x6a, 0x19, + 0x26, 0xb1, 0x6d, 0x2d, 0x6c, 0x5a, 0x1d, 0xae, 0x6e, 0x59, 0x01, 0x5d, 0x81, 0xa4, 0xd6, 0xb1, + 0x7a, 0xa6, 0xcb, 0x54, 0x6d, 0x65, 0xfe, 0x57, 0xdf, 0x58, 0x98, 0xfa, 0xf7, 0x6f, 0x2c, 0xc4, + 0xea, 0xa6, 0xfb, 0x9b, 0x3f, 0xf3, 0x14, 0x70, 0xea, 0x75, 0xd3, 0xfd, 0xec, 0xef, 0xfd, 0xc4, + 0x85, 0x88, 0xc2, 0xa1, 0x97, 0xe3, 0x5f, 0xfc, 0xf4, 0x42, 0x44, 0x7e, 0x19, 0x52, 0x2b, 0x58, + 0x3f, 0x82, 0xfc, 0x33, 0x7d, 0xe4, 0x4f, 0x0b, 0xf2, 0x2b, 0x58, 0x0f, 0x90, 0x5f, 0xc1, 0x7a, + 0x1f, 0xe5, 0xe7, 0x21, 0x5d, 0x37, 0x5d, 0xf6, 0x09, 0xd1, 0x13, 0x10, 0x33, 0x4c, 0x76, 0x2b, + 0x3d, 0x40, 0x61, 0x60, 0x80, 0x0a, 0x81, 0x22, 0x88, 0x2b, 0x58, 0xf7, 0x10, 0x5b, 0x58, 0xef, + 0x47, 0x1c, 0xec, 0x9a, 0x40, 0x55, 0x56, 0x7e, 0xeb, 0x77, 0xe6, 0xa7, 0x3e, 0xf6, 0xe6, 0xfc, + 0xd4, 0xc8, 0xa5, 0x97, 0xc7, 0x2f, 0xbd, 0xb7, 0xe2, 0x3f, 0x12, 0x87, 0x87, 0xe9, 0x97, 0xa5, + 0x76, 0xc7, 0x30, 0xdd, 0x8b, 0xba, 0x7d, 0xd8, 0x75, 0x2d, 0xa2, 0x00, 0xac, 0x5d, 0xbe, 0xe0, + 0xd3, 0x7e, 0xf3, 0x12, 0x6b, 0x1e, 0xbe, 0xdc, 0xf2, 0x2e, 0x24, 0xb6, 0x08, 0x1e, 0x61, 0xb1, + 0x6b, 0xb9, 0x5a, 0x9b, 0x7b, 0x2d, 0xac, 0x40, 0x6a, 0xd9, 0xd7, 0xa8, 0x51, 0x56, 0x6b, 0x88, + 0x0f, 0x51, 0xdb, 0x58, 0xdb, 0x65, 0x1f, 0xf5, 0xc4, 0xa8, 0xbb, 0x9b, 0x26, 0x15, 0xf4, 0xfb, + 0x9d, 0x59, 0x48, 0x68, 0x3d, 0x76, 0xf1, 0x26, 0x46, 0xfc, 0x60, 0x5a, 0x90, 0x6f, 0x42, 0x8a, + 0x9f, 0xbf, 0x23, 0x09, 0x62, 0xb7, 0xf1, 0x21, 0xed, 0x27, 0xa7, 0x90, 0x9f, 0x68, 0x09, 0x12, + 0x74, 0xf0, 0xfc, 0x6b, 0xc5, 0xb9, 0xa5, 0x81, 0xd1, 0x2f, 0xd1, 0x41, 0x2a, 0x0c, 0x4c, 0xbe, + 0x01, 0xe9, 0x15, 0x8b, 0x48, 0x61, 0x98, 0x5a, 0x86, 0x51, 0xa3, 0x63, 0xee, 0xf6, 0xb8, 0x54, + 0x28, 0xac, 0x80, 0x4e, 0x42, 0x92, 0x7d, 0xe4, 0xc5, 0x2f, 0x0f, 0xf1, 0x92, 0x5c, 0x85, 0x14, + 0xa5, 0xbd, 0xd9, 0x25, 0x2e, 0x83, 0x77, 0xef, 0x3d, 0xc3, 0x3f, 0xf9, 0xe5, 0xe4, 0xa3, 0xfe, + 0x60, 0x11, 0xc4, 0x5b, 0x9a, 0xab, 0xf1, 0x79, 0xd3, 0xdf, 0xf2, 0x07, 0x21, 0xcd, 0x89, 0x38, + 0xe8, 0x12, 0xc4, 0xac, 0xae, 0xc3, 0xaf, 0xff, 0x94, 0x46, 0x4d, 0x65, 0xb3, 0x5b, 0x89, 0x13, + 0x99, 0x51, 0x08, 0x70, 0x65, 0x63, 0xa4, 0x58, 0x3c, 0x17, 0x12, 0x8b, 0x0e, 0x76, 0x77, 0x76, + 0x5d, 0xff, 0x07, 0x5b, 0xce, 0x01, 0x51, 0xf0, 0x04, 0xe5, 0x7e, 0x14, 0xe6, 0x03, 0xad, 0x77, + 0xb0, 0xed, 0x18, 0x96, 0xc9, 0xa4, 0x89, 0x4b, 0x0a, 0x0a, 0x0c, 0x90, 0xb7, 0x8f, 0x10, 0x95, + 0x0f, 0x40, 0xac, 0xdc, 0xed, 0xa2, 0x12, 0xa4, 0x69, 0x59, 0xb7, 0x98, 0xac, 0xc4, 0x15, 0xaf, + 0x4c, 0xda, 0x1c, 0x6b, 0xd7, 0xbd, 0xab, 0xd9, 0xde, 0x37, 0xd0, 0xa2, 0x2c, 0xbf, 0x08, 0x99, + 0xaa, 0x65, 0x3a, 0xd8, 0x74, 0x7a, 0xd4, 0x17, 0xde, 0x69, 0x5b, 0xfa, 0x6d, 0x4e, 0x81, 0x15, + 0x08, 0xb3, 0xb5, 0x6e, 0x97, 0x62, 0xc6, 0x15, 0xf2, 0x93, 0xed, 0xd7, 0xca, 0xe6, 0x48, 0xf6, + 0x5c, 0x3e, 0x1e, 0x7b, 0xf8, 0x04, 0x7d, 0xa7, 0x36, 0x02, 0x0f, 0x0d, 0x6e, 0xa4, 0xdb, 0xf8, + 0xd0, 0x39, 0xee, 0x3e, 0x7a, 0x19, 0x32, 0x5b, 0xf4, 0x79, 0x92, 0x9b, 0xf8, 0x10, 0x95, 0x20, + 0x85, 0x5b, 0x97, 0x2e, 0x5f, 0x7e, 0xe6, 0x45, 0x26, 0xe5, 0xd7, 0xa7, 0x14, 0x51, 0x81, 0xe6, + 0x21, 0xe3, 0x60, 0xbd, 0x7b, 0xe9, 0xf2, 0x95, 0xdb, 0xcf, 0x30, 0xb1, 0xba, 0x3e, 0xa5, 0xf8, + 0x55, 0xcb, 0x69, 0x32, 0xe3, 0x2f, 0x7e, 0x66, 0x21, 0x52, 0x49, 0x40, 0xcc, 0xe9, 0x75, 0xde, + 0x35, 0xd9, 0xf8, 0xae, 0x04, 0x2c, 0x06, 0x5a, 0x99, 0x71, 0xb9, 0xa3, 0xb5, 0x8d, 0x96, 0xe6, + 0x3f, 0x2a, 0x23, 0x05, 0xe6, 0x4f, 0x21, 0x46, 0x58, 0x8d, 0x23, 0xb9, 0x28, 0xff, 0x54, 0x04, + 0x72, 0xb7, 0x04, 0xe5, 0x06, 0x76, 0xd1, 0x55, 0x00, 0xaf, 0x27, 0xb1, 0x55, 0xce, 0x2c, 0xf5, + 0xf7, 0xb5, 0xe4, 0xe1, 0x28, 0x01, 0x70, 0xf4, 0x3c, 0x15, 0xc0, 0xae, 0xe5, 0xf0, 0xef, 0x61, + 0xc7, 0xa0, 0x7a, 0xc0, 0xe8, 0x49, 0x40, 0x54, 0xab, 0xa9, 0x77, 0x2c, 0xd7, 0x30, 0xf7, 0xd4, + 0xae, 0x75, 0x97, 0xbf, 0x32, 0x10, 0x53, 0x24, 0xda, 0x72, 0x8b, 0x36, 0x6c, 0x91, 0x7a, 0x32, + 0xe8, 0x8c, 0x47, 0x85, 0x84, 0x75, 0x5a, 0xab, 0x65, 0x63, 0xc7, 0xe1, 0x8a, 0x4b, 0x14, 0xd1, + 0x55, 0x48, 0x75, 0x7b, 0x3b, 0xaa, 0xd0, 0x12, 0xd9, 0x4b, 0x0f, 0x0d, 0xdb, 0xf3, 0x42, 0x36, + 0xf8, 0xae, 0x4f, 0x76, 0x7b, 0x3b, 0x44, 0x52, 0x1e, 0x81, 0xdc, 0x90, 0xc1, 0x64, 0xef, 0xf8, + 0xe3, 0xa0, 0x2f, 0xe2, 0xf0, 0x19, 0xa8, 0x5d, 0xdb, 0xb0, 0x6c, 0xc3, 0x3d, 0xa4, 0xd7, 0xf6, + 0x62, 0x8a, 0x24, 0x1a, 0xb6, 0x78, 0xbd, 0x7c, 0x1b, 0x8a, 0x0d, 0xea, 0xee, 0xfb, 0x23, 0xbf, + 0xec, 0x8f, 0x2f, 0x32, 0x7e, 0x7c, 0x23, 0x47, 0x16, 0x1d, 0x18, 0x59, 0x65, 0x7d, 0xa4, 0x64, + 0x3e, 0x7b, 0x3c, 0xc9, 0x0c, 0x5b, 0xb7, 0x3f, 0x38, 0x1d, 0xda, 0x94, 0xdc, 0xeb, 0x09, 0xa8, + 0xac, 0x49, 0x85, 0x72, 0x5c, 0x24, 0x5f, 0x3a, 0xda, 0x88, 0x96, 0xc6, 0xa8, 0xce, 0xd2, 0xd8, + 0xed, 0x23, 0xbf, 0x08, 0xf9, 0x2d, 0xcd, 0x76, 0x1b, 0xd8, 0xbd, 0x8e, 0xb5, 0x16, 0xb6, 0xc3, + 0x56, 0x36, 0x2f, 0xac, 0x2c, 0x82, 0x38, 0x35, 0xa5, 0xcc, 0xca, 0xd0, 0xdf, 0xf2, 0x3e, 0xc4, + 0xe9, 0xbd, 0x5d, 0xcf, 0x02, 0x73, 0x0c, 0x66, 0x81, 0x89, 0xfe, 0x3c, 0x74, 0xb1, 0x23, 0x92, + 0x4d, 0xb4, 0x80, 0x9e, 0x13, 0x76, 0x34, 0x76, 0xb4, 0x1d, 0xe5, 0x42, 0xc8, 0xad, 0x69, 0x1b, + 0x52, 0x15, 0xa2, 0x7e, 0xeb, 0x2b, 0xde, 0x40, 0x22, 0xfe, 0x40, 0xd0, 0x3a, 0x14, 0xbb, 0x9a, + 0xed, 0xd2, 0xef, 0xf8, 0xf6, 0xe9, 0x2c, 0xb8, 0x9c, 0x2f, 0x0c, 0xee, 0xba, 0xd0, 0x64, 0x79, + 0x2f, 0xf9, 0x6e, 0xb0, 0x52, 0xfe, 0xcf, 0x71, 0x48, 0x72, 0x66, 0x7c, 0x00, 0x52, 0x9c, 0xad, + 0x5c, 0x32, 0x1f, 0x5e, 0x1a, 0x34, 0x46, 0x4b, 0x9e, 0xd1, 0xe0, 0xf4, 0x04, 0x0e, 0x7a, 0x1c, + 0xd2, 0xfa, 0xbe, 0x66, 0x98, 0xaa, 0xd1, 0xe2, 0x0e, 0x60, 0xf6, 0xcd, 0x37, 0x16, 0x52, 0x55, + 0x52, 0x57, 0x5f, 0x51, 0x52, 0xb4, 0xb1, 0xde, 0x22, 0x96, 0x7f, 0x1f, 0x1b, 0x7b, 0xfb, 0x2e, + 0xdf, 0x5d, 0xbc, 0x84, 0x5e, 0x80, 0x38, 0x11, 0x08, 0xfe, 0x95, 0x77, 0x69, 0xc0, 0x8f, 0xf7, + 0x12, 0x2d, 0x95, 0x34, 0xe9, 0xf8, 0x93, 0xff, 0x69, 0x21, 0xa2, 0x50, 0x0c, 0x54, 0x85, 0x7c, + 0x5b, 0x73, 0x5c, 0x95, 0x5a, 0x2d, 0xd2, 0x7d, 0x82, 0x92, 0x38, 0x3d, 0xc8, 0x10, 0xce, 0x58, + 0x3e, 0xf4, 0x2c, 0xc1, 0x62, 0x55, 0x2d, 0x74, 0x0e, 0x24, 0x4a, 0x44, 0xb7, 0x3a, 0x1d, 0xc3, + 0x65, 0xbe, 0x54, 0x92, 0xf2, 0xbd, 0x40, 0xea, 0xab, 0xb4, 0x9a, 0x7a, 0x54, 0x67, 0x20, 0x43, + 0xbf, 0x2b, 0xa5, 0x20, 0xec, 0xb2, 0x78, 0x9a, 0x54, 0xd0, 0xc6, 0xb3, 0x50, 0xf4, 0x75, 0x23, + 0x03, 0x49, 0x33, 0x2a, 0x7e, 0x35, 0x05, 0x7c, 0x1a, 0x66, 0x4d, 0x7c, 0x40, 0xaf, 0xaf, 0x87, + 0xa0, 0x33, 0x14, 0x1a, 0x91, 0xb6, 0x5b, 0x61, 0x8c, 0xc7, 0xa0, 0xa0, 0x0b, 0xe6, 0x33, 0x58, + 0xa0, 0xb0, 0x79, 0xaf, 0x96, 0x82, 0x9d, 0x86, 0xb4, 0xd6, 0xed, 0x32, 0x80, 0x2c, 0xd7, 0x8d, + 0xdd, 0x2e, 0x6d, 0xba, 0x00, 0xd3, 0x74, 0x8e, 0x36, 0x76, 0x7a, 0x6d, 0x97, 0x13, 0xc9, 0x51, + 0x98, 0x22, 0x69, 0x50, 0x58, 0x3d, 0x85, 0x7d, 0x14, 0xf2, 0xf8, 0x8e, 0xd1, 0xc2, 0xa6, 0x8e, + 0x19, 0x5c, 0x9e, 0xc2, 0xe5, 0x44, 0x25, 0x05, 0x3a, 0x0f, 0x9e, 0xce, 0x53, 0x85, 0x3e, 0x2e, + 0x30, 0x7a, 0xa2, 0xbe, 0xcc, 0xaa, 0xe5, 0x39, 0x88, 0xaf, 0x68, 0xae, 0x46, 0x9c, 0x0a, 0xf7, + 0x80, 0x19, 0x99, 0x9c, 0x42, 0x7e, 0xca, 0x5f, 0x8c, 0x42, 0xfc, 0x96, 0xe5, 0x62, 0xf4, 0x6c, + 0xc0, 0xe1, 0x2b, 0x0c, 0x93, 0xe7, 0x86, 0xb1, 0x67, 0xe2, 0xd6, 0xba, 0xb3, 0x17, 0x78, 0x04, + 0xc6, 0x17, 0xa7, 0x68, 0x48, 0x9c, 0x66, 0x21, 0x61, 0x5b, 0x3d, 0xb3, 0x25, 0xae, 0x59, 0xd3, + 0x02, 0xaa, 0x41, 0xda, 0x93, 0x92, 0xf8, 0x38, 0x29, 0x29, 0x12, 0x29, 0x21, 0x32, 0xcc, 0x2b, + 0x94, 0xd4, 0x0e, 0x17, 0x96, 0x0a, 0x64, 0x3c, 0xe5, 0xc5, 0xa5, 0x6d, 0x32, 0x81, 0xf5, 0xd1, + 0x88, 0x21, 0xf1, 0xd6, 0xde, 0x63, 0x1e, 0x93, 0x38, 0xc9, 0x6b, 0xe0, 0xdc, 0x0b, 0x89, 0x15, + 0x7f, 0x90, 0x26, 0x45, 0xe7, 0xe5, 0x8b, 0x15, 0x7b, 0x94, 0xe6, 0x21, 0xc8, 0x38, 0xc6, 0x9e, + 0xa9, 0xb9, 0x3d, 0x1b, 0x73, 0xc9, 0xf3, 0x2b, 0xe4, 0x5f, 0x8e, 0x40, 0x92, 0x49, 0x72, 0x80, + 0x6f, 0x91, 0xe1, 0x7c, 0x8b, 0x8e, 0xe2, 0x5b, 0xec, 0xc1, 0xf9, 0x56, 0x06, 0xf0, 0x06, 0xe3, + 0xf0, 0x77, 0x42, 0x86, 0x78, 0x0b, 0x6c, 0x88, 0x0d, 0x63, 0x8f, 0x6f, 0xd4, 0x00, 0x92, 0xfc, + 0x1f, 0x23, 0xc4, 0x71, 0xe5, 0xed, 0xa8, 0x0c, 0x79, 0x31, 0x2e, 0x75, 0xb7, 0xad, 0xed, 0x71, + 0xd9, 0x79, 0x78, 0xe4, 0xe0, 0xae, 0xb5, 0xb5, 0x3d, 0x25, 0xcb, 0xc7, 0x43, 0x0a, 0xc3, 0xd7, + 0x21, 0x3a, 0x62, 0x1d, 0x42, 0x0b, 0x1f, 0x7b, 0xb0, 0x85, 0x0f, 0x2d, 0x51, 0xbc, 0x7f, 0x89, + 0x7e, 0x3a, 0x4a, 0x83, 0x97, 0xae, 0xe5, 0x68, 0xed, 0xf7, 0x62, 0x47, 0x9c, 0x81, 0x4c, 0xd7, + 0x6a, 0xab, 0xac, 0x85, 0x7d, 0x7e, 0x90, 0xee, 0x5a, 0x6d, 0x65, 0x60, 0xd9, 0x13, 0xef, 0xd0, + 0x76, 0x49, 0xbe, 0x03, 0x5c, 0x4b, 0xf5, 0x73, 0xcd, 0x86, 0x1c, 0x63, 0x05, 0xb7, 0x65, 0x4f, + 0x13, 0x1e, 0x50, 0xe3, 0x18, 0x19, 0xb4, 0xbd, 0x6c, 0xd8, 0x0c, 0x52, 0xe1, 0x70, 0x04, 0x83, + 0xa9, 0xfe, 0x61, 0x51, 0x6f, 0x50, 0x2c, 0x15, 0x0e, 0x27, 0x7f, 0x57, 0x04, 0x60, 0x8d, 0x70, + 0x96, 0xce, 0x97, 0x58, 0x21, 0x87, 0x0e, 0x41, 0x0d, 0xf5, 0x3c, 0x3f, 0x6a, 0xd1, 0x78, 0xff, + 0x39, 0x27, 0x38, 0xee, 0x2a, 0xe4, 0x7d, 0x61, 0x74, 0xb0, 0x18, 0xcc, 0xfc, 0x11, 0x1e, 0x75, + 0x03, 0xbb, 0x4a, 0xee, 0x4e, 0xa0, 0x24, 0xff, 0x93, 0x08, 0x64, 0xe8, 0x98, 0xd6, 0xb1, 0xab, + 0x85, 0xd6, 0x30, 0xf2, 0xe0, 0x6b, 0xf8, 0x30, 0x00, 0x23, 0xe3, 0x18, 0xaf, 0x63, 0x2e, 0x59, + 0x19, 0x5a, 0xd3, 0x30, 0x5e, 0xc7, 0xe8, 0x8a, 0xc7, 0xf0, 0xd8, 0xd1, 0x0c, 0x17, 0x1e, 0x37, + 0x67, 0xfb, 0x29, 0x48, 0xd1, 0x77, 0xf5, 0x0e, 0x1c, 0xee, 0x44, 0x27, 0xcd, 0x5e, 0xa7, 0x79, + 0xe0, 0xc8, 0xaf, 0x41, 0xaa, 0x79, 0xc0, 0x72, 0x21, 0x67, 0x20, 0x63, 0x5b, 0x16, 0xb7, 0xc9, + 0xcc, 0x17, 0x4a, 0x93, 0x0a, 0x6a, 0x82, 0x44, 0xfc, 0x1f, 0xf5, 0xe3, 0x7f, 0x3f, 0x81, 0x11, + 0x9b, 0x28, 0x81, 0x71, 0xe1, 0xdf, 0x45, 0x20, 0x1b, 0xd0, 0x0f, 0xe8, 0x19, 0x38, 0x51, 0x59, + 0xdb, 0xac, 0xde, 0x54, 0xeb, 0x2b, 0xea, 0xb5, 0xb5, 0xf2, 0xaa, 0xff, 0x85, 0x5d, 0xe9, 0xe4, + 0xbd, 0xfb, 0x8b, 0x28, 0x00, 0xbb, 0x6d, 0xd2, 0xd3, 0x1c, 0x74, 0x11, 0x66, 0xc3, 0x28, 0xe5, + 0x4a, 0xa3, 0xb6, 0xd1, 0x94, 0x22, 0xa5, 0x13, 0xf7, 0xee, 0x2f, 0x4e, 0x07, 0x30, 0xca, 0x3b, + 0x0e, 0x36, 0xdd, 0x41, 0x84, 0xea, 0xe6, 0xfa, 0x7a, 0xbd, 0x29, 0x45, 0x07, 0x10, 0xb8, 0xc2, + 0x3e, 0x0f, 0xd3, 0x61, 0x84, 0x8d, 0xfa, 0x9a, 0x14, 0x2b, 0xa1, 0x7b, 0xf7, 0x17, 0x0b, 0x01, + 0xe8, 0x0d, 0xa3, 0x5d, 0x4a, 0x7f, 0xe2, 0x87, 0xe6, 0xa7, 0x3e, 0xfb, 0x77, 0xe6, 0x23, 0x64, + 0x66, 0xf9, 0x90, 0x8e, 0x40, 0x4f, 0xc2, 0xa9, 0x46, 0x7d, 0x75, 0xa3, 0xb6, 0xa2, 0xae, 0x37, + 0x56, 0xfb, 0x3e, 0x9a, 0x2e, 0x15, 0xef, 0xdd, 0x5f, 0xcc, 0xf2, 0x29, 0x8d, 0x82, 0xde, 0x52, + 0x6a, 0xb7, 0x36, 0x9b, 0x35, 0x29, 0xc2, 0xa0, 0xb7, 0x6c, 0x7c, 0xc7, 0x72, 0xd9, 0x93, 0x9c, + 0x4f, 0xc3, 0xe9, 0x21, 0xd0, 0xde, 0xc4, 0xa6, 0xef, 0xdd, 0x5f, 0xcc, 0x6f, 0xd9, 0x98, 0xed, + 0x1f, 0x8a, 0xb1, 0x04, 0x73, 0x83, 0x18, 0x9b, 0x5b, 0x9b, 0x8d, 0xf2, 0x9a, 0xb4, 0x58, 0x92, + 0xee, 0xdd, 0x5f, 0xcc, 0x09, 0x65, 0x48, 0xe0, 0xfd, 0x99, 0xbd, 0x5b, 0xd1, 0xce, 0x37, 0xa7, + 0x42, 0xb9, 0x3c, 0x16, 0x47, 0x74, 0x35, 0x5b, 0xeb, 0x1c, 0x37, 0xdc, 0x19, 0x73, 0x9c, 0x2b, + 0x7f, 0x2c, 0x0a, 0x45, 0xcf, 0x99, 0xde, 0xa2, 0x3d, 0xa0, 0x67, 0x83, 0x79, 0x98, 0xec, 0x48, + 0x33, 0xc6, 0xa0, 0x45, 0x9a, 0xe6, 0xfd, 0x90, 0x16, 0x4e, 0x19, 0x57, 0x17, 0x8b, 0x83, 0x78, + 0x35, 0x0e, 0xc1, 0x51, 0x3d, 0x0c, 0xf4, 0x12, 0x64, 0x3c, 0xe5, 0xe1, 0x3d, 0x5b, 0x35, 0x5a, + 0xdb, 0x70, 0x7c, 0x1f, 0x07, 0xbd, 0xe8, 0x87, 0x0d, 0xf1, 0x51, 0x81, 0xc8, 0x2d, 0x06, 0xc0, + 0x91, 0x05, 0xbc, 0x5c, 0xe7, 0xdb, 0x8e, 0xcf, 0x9e, 0x3e, 0xf9, 0x71, 0xa0, 0xb2, 0x48, 0x8a, + 0x79, 0x25, 0xe9, 0x8e, 0x76, 0x50, 0xa1, 0xc1, 0xd4, 0x29, 0x48, 0x91, 0xc6, 0x3d, 0xfe, 0x51, + 0x79, 0x4c, 0x49, 0x76, 0xb4, 0x83, 0x55, 0xcd, 0xb9, 0x11, 0x4f, 0xc7, 0xa4, 0xb8, 0xfc, 0x63, + 0x11, 0x28, 0x84, 0xe7, 0x88, 0x9e, 0x00, 0x44, 0x30, 0xb4, 0x3d, 0xac, 0x12, 0x15, 0x43, 0x99, + 0x25, 0xe8, 0x16, 0x3b, 0xda, 0x41, 0x79, 0x0f, 0x6f, 0xf4, 0x3a, 0x74, 0x00, 0x0e, 0x5a, 0x07, + 0x49, 0x00, 0x8b, 0x75, 0xe2, 0xcc, 0x3c, 0x3d, 0xf8, 0x88, 0x25, 0x07, 0x60, 0x86, 0xea, 0x53, + 0xc4, 0x50, 0x15, 0x18, 0x3d, 0xef, 0x38, 0x3e, 0x34, 0x95, 0x58, 0x78, 0x2a, 0xf2, 0x4b, 0x50, + 0xec, 0xe3, 0x27, 0x92, 0x21, 0xcf, 0xb3, 0x02, 0xf4, 0xa8, 0x93, 0xf9, 0xc7, 0x19, 0x25, 0xcb, + 0xa2, 0x7f, 0x7a, 0xf4, 0xbb, 0x9c, 0xfe, 0xb9, 0x4f, 0x2f, 0x44, 0x68, 0xc2, 0xfc, 0x09, 0xc8, + 0x87, 0x38, 0x2a, 0x32, 0x75, 0x11, 0x3f, 0x53, 0xe7, 0x03, 0xbf, 0x0a, 0x39, 0xa2, 0x28, 0x71, + 0x8b, 0xc3, 0x3e, 0x0e, 0x45, 0xa6, 0xc8, 0xfb, 0x79, 0xcd, 0x3c, 0xa9, 0x75, 0xc1, 0x70, 0x59, + 0xb8, 0x56, 0x61, 0xb6, 0x67, 0x05, 0xd4, 0xaa, 0xe6, 0x54, 0x3e, 0xf4, 0xd9, 0x37, 0xe7, 0x23, + 0xef, 0xce, 0x46, 0xfc, 0x8d, 0x0f, 0xc1, 0x99, 0x40, 0xa3, 0xb6, 0xa3, 0x1b, 0xa1, 0xac, 0x43, + 0x31, 0x20, 0x64, 0xa4, 0x71, 0x5c, 0xf6, 0xe0, 0xc8, 0x1c, 0xc6, 0xd1, 0x09, 0xb3, 0xd2, 0xd1, + 0x1a, 0x61, 0x7c, 0x62, 0x63, 0x78, 0x8e, 0xf2, 0xff, 0xa4, 0x21, 0xa5, 0xe0, 0x8f, 0xf6, 0xb0, + 0xe3, 0xa2, 0x4b, 0x10, 0xc7, 0xfa, 0xbe, 0x35, 0x2c, 0x25, 0x44, 0x26, 0xb7, 0xc4, 0xe1, 0x6a, + 0xfa, 0xbe, 0x75, 0x7d, 0x4a, 0xa1, 0xb0, 0xe8, 0x32, 0x24, 0x76, 0xdb, 0x3d, 0x9e, 0xa7, 0xe8, + 0x53, 0x16, 0x41, 0xa4, 0x6b, 0x04, 0xe8, 0xfa, 0x94, 0xc2, 0xa0, 0x49, 0x57, 0xf4, 0xa1, 0xe0, + 0xd8, 0xd1, 0x5d, 0xd5, 0xcd, 0x5d, 0xda, 0x15, 0x81, 0x45, 0x15, 0x00, 0xc3, 0x34, 0x5c, 0x95, + 0xc6, 0xf0, 0xdc, 0x13, 0x7c, 0x64, 0x34, 0xa6, 0xe1, 0xd2, 0xa8, 0xff, 0xfa, 0x94, 0x92, 0x31, + 0x44, 0x81, 0x0c, 0xf7, 0xa3, 0x3d, 0x6c, 0x1f, 0x72, 0x07, 0x70, 0xe4, 0x70, 0x3f, 0x44, 0x80, + 0xc8, 0x70, 0x29, 0x34, 0xaa, 0x41, 0x96, 0x7e, 0x21, 0xcb, 0xf6, 0x2f, 0x7f, 0x9a, 0x56, 0x1e, + 0x85, 0x5c, 0x21, 0xa0, 0x74, 0x4b, 0x5f, 0x9f, 0x52, 0x60, 0xc7, 0x2b, 0x11, 0x25, 0xc9, 0x9e, + 0x2e, 0x73, 0x0f, 0xf8, 0x83, 0x9c, 0x0b, 0xa3, 0x68, 0xd0, 0xf7, 0xcb, 0x9a, 0x07, 0xd7, 0xa7, + 0x94, 0x94, 0xce, 0x7e, 0x92, 0xf9, 0xb7, 0x70, 0xdb, 0xb8, 0x83, 0x6d, 0x82, 0x9f, 0x39, 0x7a, + 0xfe, 0x2b, 0x0c, 0x92, 0x52, 0xc8, 0xb4, 0x44, 0x81, 0x28, 0x5a, 0x6c, 0xb6, 0xf8, 0x34, 0x60, + 0x50, 0x4f, 0x87, 0xd6, 0xd9, 0x6c, 0x89, 0x49, 0xa4, 0x31, 0xff, 0x8d, 0x5e, 0xf0, 0x3c, 0xd4, + 0xec, 0xa0, 0x53, 0x18, 0x9a, 0x00, 0xcb, 0x55, 0x4c, 0x09, 0x4f, 0x15, 0x6d, 0x40, 0xa1, 0x6d, + 0x38, 0xae, 0xea, 0x98, 0x5a, 0xd7, 0xd9, 0xb7, 0x5c, 0x87, 0x06, 0xfd, 0xd9, 0x4b, 0x8f, 0x8d, + 0xa2, 0xb0, 0x66, 0x38, 0x6e, 0x43, 0x00, 0x5f, 0x9f, 0x52, 0xf2, 0xed, 0x60, 0x05, 0xa1, 0x67, + 0xed, 0xee, 0x62, 0xdb, 0x23, 0x48, 0x93, 0x03, 0x47, 0xd0, 0xdb, 0x24, 0xd0, 0x02, 0x9f, 0xd0, + 0xb3, 0x82, 0x15, 0xe8, 0xab, 0x61, 0xa6, 0x6d, 0x69, 0x2d, 0x8f, 0x9c, 0xaa, 0xef, 0xf7, 0xcc, + 0xdb, 0x34, 0x93, 0x90, 0xbd, 0x74, 0x7e, 0xe4, 0x20, 0x2d, 0xad, 0x25, 0x48, 0x54, 0x09, 0xc2, + 0xf5, 0x29, 0x65, 0xba, 0xdd, 0x5f, 0x89, 0x3e, 0x02, 0xb3, 0x5a, 0xb7, 0xdb, 0x3e, 0xec, 0xa7, + 0x5e, 0xa4, 0xd4, 0x2f, 0x8c, 0xa2, 0x5e, 0x26, 0x38, 0xfd, 0xe4, 0x91, 0x36, 0x50, 0x8b, 0x9a, + 0x20, 0x75, 0x6d, 0x4c, 0x3f, 0xaa, 0xe9, 0x72, 0x57, 0x85, 0x3e, 0x39, 0x94, 0xbd, 0x74, 0x76, + 0x14, 0xed, 0x2d, 0x06, 0x2f, 0x3c, 0x9b, 0xeb, 0x53, 0x4a, 0xb1, 0x1b, 0xae, 0x62, 0x54, 0x2d, + 0x1d, 0xd3, 0x17, 0xd1, 0x38, 0xd5, 0xe9, 0x71, 0x54, 0x29, 0x7c, 0x98, 0x6a, 0xa8, 0xaa, 0x92, + 0xe2, 0x97, 0xe2, 0xf8, 0x8b, 0x31, 0x67, 0x21, 0x1b, 0x50, 0x2c, 0x68, 0x0e, 0x52, 0xfc, 0x92, + 0x80, 0xb8, 0x4c, 0xc7, 0x8b, 0x72, 0x01, 0x72, 0x41, 0x65, 0x22, 0x7f, 0x32, 0xe2, 0x61, 0xd2, + 0x4f, 0xed, 0xe7, 0xc2, 0xa9, 0xc3, 0x8c, 0x9f, 0x15, 0x7c, 0x54, 0x58, 0x11, 0xd1, 0xce, 0x4e, + 0x93, 0x72, 0xb4, 0x92, 0x1b, 0x31, 0xb4, 0x00, 0xd9, 0xee, 0xa5, 0xae, 0x07, 0x12, 0xa3, 0x20, + 0xd0, 0xbd, 0xd4, 0x15, 0x00, 0x8f, 0x40, 0x8e, 0xcc, 0x54, 0x0d, 0x3a, 0x1a, 0x19, 0x25, 0x4b, + 0xea, 0x38, 0x88, 0xfc, 0xaf, 0xa2, 0x20, 0xf5, 0x2b, 0x20, 0x2f, 0xa7, 0x18, 0x39, 0x76, 0x4e, + 0xf1, 0x74, 0x7f, 0x36, 0xd3, 0x4f, 0x60, 0xae, 0x81, 0xe4, 0xe7, 0xe1, 0x98, 0x21, 0x18, 0xed, + 0x38, 0xf5, 0x79, 0x78, 0x4a, 0x51, 0xef, 0x73, 0xf9, 0xae, 0x85, 0xce, 0x5e, 0xc4, 0x4b, 0xf8, + 0xfd, 0x4b, 0xec, 0xf9, 0x0b, 0xdb, 0xdd, 0x96, 0xe6, 0x62, 0x91, 0x17, 0x09, 0x1c, 0xc3, 0x3c, + 0x0e, 0x45, 0xad, 0xdb, 0x55, 0x1d, 0x57, 0x73, 0x31, 0x37, 0xeb, 0x09, 0x96, 0x1e, 0xd4, 0xba, + 0xdd, 0x06, 0xa9, 0x65, 0x66, 0xfd, 0x31, 0x28, 0x10, 0x9d, 0x6c, 0x68, 0x6d, 0x95, 0x67, 0x09, + 0x92, 0xcc, 0xfa, 0xf3, 0xda, 0xeb, 0xb4, 0x52, 0x6e, 0x79, 0x2b, 0x4e, 0xf5, 0xb1, 0x17, 0x66, + 0x45, 0x02, 0x61, 0x16, 0xe2, 0x4f, 0x20, 0x30, 0xfe, 0x88, 0x67, 0x23, 0x86, 0x67, 0x77, 0x67, + 0x69, 0x48, 0x76, 0x87, 0x25, 0x3c, 0xd2, 0x0a, 0x2b, 0xc8, 0x1f, 0x8f, 0xc2, 0xf4, 0x80, 0xe6, + 0x1e, 0x9a, 0xf6, 0xf6, 0xe3, 0xcb, 0xe8, 0xb1, 0xe2, 0xcb, 0x9b, 0xe1, 0xb4, 0x6e, 0xc0, 0xf2, + 0x9d, 0x19, 0x60, 0x32, 0xd3, 0x9b, 0x44, 0xa0, 0x39, 0x91, 0x40, 0xe6, 0x97, 0x8a, 0xf9, 0x36, + 0xcc, 0xee, 0x1c, 0xbe, 0xae, 0x99, 0xae, 0x61, 0x62, 0x75, 0x60, 0xd5, 0x06, 0x4d, 0xe9, 0xba, + 0xe1, 0xec, 0xe0, 0x7d, 0xed, 0x8e, 0x61, 0x89, 0x61, 0xcd, 0x78, 0xf8, 0x7e, 0x72, 0x57, 0x56, + 0xa0, 0x10, 0x36, 0x3d, 0xa8, 0x00, 0x51, 0xf7, 0x80, 0xcf, 0x3f, 0xea, 0x1e, 0xa0, 0xa7, 0x79, + 0x1e, 0x28, 0x4a, 0xf3, 0x40, 0x83, 0x1d, 0x71, 0x3c, 0x3f, 0x09, 0x24, 0xcb, 0xde, 0x6e, 0xf0, + 0xcc, 0x51, 0x3f, 0x55, 0xf9, 0x3c, 0x14, 0xfb, 0xec, 0xcd, 0xa8, 0xac, 0xa0, 0x5c, 0x84, 0x7c, + 0xc8, 0xb8, 0xc8, 0x27, 0x61, 0x76, 0x98, 0xad, 0x90, 0xf7, 0xbd, 0xfa, 0x90, 0xce, 0x47, 0x97, + 0x21, 0xed, 0x19, 0x8b, 0x21, 0x59, 0x08, 0x3a, 0x0b, 0x01, 0xac, 0x78, 0xa0, 0xa1, 0x64, 0x76, + 0x34, 0x94, 0xcc, 0x96, 0xbf, 0x0e, 0xe6, 0x46, 0x19, 0x82, 0xbe, 0x69, 0xc4, 0x3d, 0x29, 0x3c, + 0x09, 0x49, 0xfe, 0xec, 0x61, 0x94, 0x1e, 0xdf, 0xf0, 0x12, 0x91, 0x4e, 0x66, 0x14, 0x62, 0xec, + 0x54, 0x87, 0x16, 0x64, 0x15, 0x4e, 0x8f, 0x34, 0x06, 0xa3, 0x0f, 0x82, 0x18, 0x21, 0x7e, 0x10, + 0xa4, 0x8b, 0xe1, 0x38, 0x74, 0xae, 0xe2, 0xb2, 0x03, 0x2b, 0xc9, 0x9f, 0x8a, 0xc1, 0xc9, 0xe1, + 0x26, 0x01, 0x2d, 0x42, 0x8e, 0xf8, 0xdd, 0x6e, 0xd8, 0x45, 0x87, 0x8e, 0x76, 0xd0, 0xe4, 0xfe, + 0x39, 0x4f, 0xa4, 0x47, 0xbd, 0x44, 0x3a, 0xda, 0x86, 0xe9, 0xb6, 0xa5, 0x6b, 0x6d, 0x35, 0x20, + 0xf1, 0x5c, 0xd8, 0x1f, 0x1d, 0x60, 0x76, 0x8d, 0x3d, 0x86, 0xde, 0x1a, 0x10, 0xfa, 0x22, 0xa5, + 0xb1, 0xe6, 0x49, 0x3e, 0x5a, 0x81, 0x6c, 0xc7, 0x17, 0xe4, 0x63, 0x08, 0x7b, 0x10, 0x2d, 0xb0, + 0x24, 0x89, 0xa1, 0xc7, 0x3e, 0xc9, 0x63, 0xab, 0xe8, 0x51, 0x27, 0x28, 0xa9, 0x91, 0x27, 0x28, + 0xc3, 0x8e, 0x2b, 0xd2, 0xc3, 0x8f, 0x2b, 0x3e, 0x11, 0x5c, 0x9a, 0x90, 0x11, 0x1d, 0x3c, 0xc1, + 0x40, 0x0d, 0x98, 0xe5, 0xf8, 0xad, 0x10, 0xef, 0xa3, 0x93, 0x2a, 0x1a, 0x24, 0xd0, 0x47, 0xb3, + 0x3d, 0xf6, 0x60, 0x6c, 0x17, 0xba, 0x34, 0x1e, 0xd0, 0xa5, 0xff, 0x9f, 0x2d, 0xc5, 0xbf, 0xc9, + 0x40, 0x5a, 0xc1, 0x4e, 0x97, 0x18, 0x4e, 0x54, 0x81, 0x0c, 0x3e, 0xd0, 0x71, 0xd7, 0xf5, 0x8f, + 0x29, 0x87, 0x05, 0x03, 0x0c, 0xba, 0x26, 0x20, 0x89, 0x27, 0xee, 0xa1, 0xa1, 0x67, 0x79, 0xb0, + 0x35, 0x3a, 0x6e, 0xe2, 0xe8, 0xc1, 0x68, 0xeb, 0x8a, 0x88, 0xb6, 0x62, 0x23, 0x9d, 0x6f, 0x86, + 0xd5, 0x17, 0x6e, 0x3d, 0xcb, 0xc3, 0xad, 0xf8, 0x98, 0xce, 0x42, 0xf1, 0x56, 0x35, 0x14, 0x6f, + 0x25, 0xc7, 0x4c, 0x73, 0x44, 0xc0, 0x75, 0x45, 0x04, 0x5c, 0xa9, 0x31, 0x23, 0xee, 0x8b, 0xb8, + 0xae, 0x85, 0x23, 0xae, 0xf4, 0x08, 0x05, 0x22, 0xb0, 0x47, 0x86, 0x5c, 0x1f, 0x08, 0x84, 0x5c, + 0x99, 0x91, 0xf1, 0x0e, 0x23, 0x32, 0x24, 0xe6, 0xaa, 0x86, 0x62, 0x2e, 0x18, 0xc3, 0x83, 0x11, + 0x41, 0xd7, 0x57, 0x05, 0x83, 0xae, 0xec, 0xc8, 0xb8, 0x8d, 0xaf, 0xf7, 0xb0, 0xa8, 0xeb, 0x45, + 0x2f, 0xea, 0xca, 0x8d, 0x0c, 0x1b, 0xf9, 0x1c, 0xfa, 0xc3, 0xae, 0xcd, 0x81, 0xb0, 0x2b, 0xcf, + 0xff, 0xce, 0xc8, 0x28, 0x12, 0x63, 0xe2, 0xae, 0xcd, 0x81, 0xb8, 0xab, 0x30, 0x86, 0xe0, 0x98, + 0xc0, 0xeb, 0x6b, 0x86, 0x07, 0x5e, 0xa3, 0x43, 0x23, 0x3e, 0xcc, 0xc9, 0x22, 0x2f, 0x75, 0x44, + 0xe4, 0xc5, 0xa2, 0xa3, 0x27, 0x46, 0x92, 0x9f, 0x38, 0xf4, 0xda, 0x1e, 0x12, 0x7a, 0xb1, 0x20, + 0xe9, 0xdc, 0x48, 0xe2, 0x13, 0xc4, 0x5e, 0xdb, 0x43, 0x62, 0x2f, 0x34, 0x96, 0xec, 0x71, 0x82, + 0xaf, 0x84, 0x94, 0x94, 0xcf, 0x13, 0xd7, 0xb7, 0x4f, 0x4f, 0x11, 0xff, 0x01, 0xdb, 0xb6, 0x65, + 0x8b, 0x9b, 0xb5, 0xb4, 0x20, 0x9f, 0x23, 0xce, 0xb8, 0xaf, 0x93, 0x8e, 0x08, 0xd4, 0xa8, 0x9f, + 0x16, 0xd0, 0x43, 0xf2, 0xcf, 0x45, 0x7c, 0x5c, 0xea, 0xc3, 0x06, 0x1d, 0xf9, 0x0c, 0x77, 0xe4, + 0x03, 0xe1, 0x5b, 0x34, 0x1c, 0xbe, 0x2d, 0x40, 0x96, 0xf8, 0x5f, 0x7d, 0x91, 0x99, 0xd6, 0xf5, + 0x22, 0x33, 0x71, 0xa5, 0x80, 0x05, 0x79, 0xdc, 0xac, 0xb0, 0x93, 0x9c, 0xa2, 0x77, 0xbd, 0x82, + 0xc5, 0x14, 0xe8, 0x29, 0x98, 0x09, 0xc0, 0x7a, 0x7e, 0x1d, 0x0b, 0x53, 0x24, 0x0f, 0xba, 0xcc, + 0x1d, 0xbc, 0x7f, 0x1a, 0xf1, 0x39, 0xe4, 0x87, 0x74, 0xc3, 0xa2, 0xaf, 0xc8, 0x3b, 0x14, 0x7d, + 0x45, 0x1f, 0x38, 0xfa, 0x0a, 0xfa, 0xa9, 0xb1, 0xb0, 0x9f, 0xfa, 0x67, 0x11, 0x7f, 0x4d, 0xbc, + 0x58, 0x4a, 0xb7, 0x5a, 0x98, 0x7b, 0x8e, 0xf4, 0x37, 0x71, 0x2a, 0xda, 0xd6, 0x1e, 0xf7, 0x0f, + 0xc9, 0x4f, 0x02, 0xe5, 0x19, 0x8e, 0x0c, 0xb7, 0x0b, 0x9e, 0xd3, 0x99, 0x08, 0xde, 0xff, 0xe5, + 0x97, 0x62, 0x93, 0xfe, 0xa5, 0x58, 0xef, 0xe3, 0xb7, 0x54, 0xe0, 0xe3, 0x37, 0xf4, 0x02, 0x64, + 0x68, 0x46, 0x54, 0xb5, 0xba, 0xe2, 0xaf, 0xd2, 0x9c, 0x19, 0x7d, 0x21, 0xd6, 0xa1, 0x57, 0xf5, + 0xd8, 0x25, 0x5a, 0xdf, 0x63, 0xc8, 0x84, 0x3c, 0x86, 0x87, 0x20, 0x43, 0x46, 0xcf, 0x5e, 0x57, + 0x07, 0xfe, 0xe5, 0xa4, 0xa8, 0x90, 0x3f, 0x02, 0x68, 0xd0, 0x48, 0xa0, 0xeb, 0x90, 0xc4, 0x77, + 0xe8, 0xab, 0x7e, 0xec, 0xa2, 0xe1, 0xc9, 0x41, 0xd7, 0x94, 0x34, 0x57, 0xe6, 0x08, 0x93, 0x7f, + 0xff, 0x8d, 0x05, 0x89, 0x41, 0x3f, 0xe9, 0x7d, 0x28, 0xa0, 0x70, 0x7c, 0xf9, 0x3f, 0x44, 0x49, + 0x00, 0x13, 0x32, 0x20, 0x43, 0x79, 0x3b, 0xec, 0x88, 0x70, 0x32, 0x7e, 0xcf, 0x03, 0xec, 0x69, + 0x8e, 0x7a, 0x57, 0x33, 0x5d, 0xdc, 0xe2, 0x4c, 0x0f, 0xd4, 0xa0, 0x12, 0xa4, 0x49, 0xa9, 0xe7, + 0xe0, 0x16, 0x0f, 0xa3, 0xbd, 0x72, 0x60, 0x9e, 0xa9, 0xaf, 0x6c, 0x9e, 0x61, 0x2e, 0xa7, 0xfb, + 0xb8, 0x1c, 0x08, 0x2e, 0x32, 0xc1, 0xe0, 0x82, 0x5d, 0x0c, 0xe6, 0xf7, 0x13, 0x81, 0x8d, 0x4d, + 0x94, 0xd1, 0xa3, 0x90, 0xef, 0xe0, 0x4e, 0xd7, 0xb2, 0xda, 0x2a, 0x53, 0x37, 0xec, 0xcf, 0x28, + 0xe4, 0x78, 0x65, 0x8d, 0x6a, 0x9d, 0x6f, 0x8a, 0xfa, 0xfb, 0xcf, 0x0f, 0x22, 0xff, 0xd2, 0x31, + 0x98, 0xbe, 0x3b, 0xdd, 0xef, 0x22, 0xa0, 0x46, 0xf0, 0xd6, 0x48, 0x8f, 0xaa, 0x05, 0x21, 0xd0, + 0x93, 0xea, 0x0f, 0xff, 0x76, 0x09, 0xab, 0x76, 0xd0, 0x2b, 0x70, 0xaa, 0x4f, 0xb7, 0x79, 0xa4, + 0xa3, 0x93, 0xaa, 0xb8, 0x13, 0x61, 0x15, 0x27, 0x48, 0xfb, 0xcc, 0x8a, 0x7d, 0x85, 0xbb, 0xae, + 0x0e, 0x85, 0xb0, 0xc7, 0x33, 0x74, 0xf9, 0xe9, 0x9f, 0xed, 0x71, 0x35, 0xc3, 0x54, 0x43, 0xe9, + 0xa0, 0x1c, 0xab, 0xe4, 0x49, 0xa6, 0x2d, 0x38, 0x31, 0xd4, 0xf3, 0x41, 0xcf, 0x43, 0xc6, 0x77, + 0x9a, 0x18, 0x57, 0x8f, 0x48, 0x17, 0xf8, 0xb0, 0xf2, 0x2f, 0x45, 0x7c, 0x92, 0xe1, 0x04, 0x44, + 0x0d, 0x92, 0xec, 0xda, 0x1b, 0xbf, 0x4c, 0xf3, 0xd4, 0x64, 0x3e, 0xd3, 0x12, 0xbb, 0x13, 0xa7, + 0x70, 0x64, 0xf9, 0x23, 0x90, 0x64, 0x35, 0x28, 0x0b, 0x29, 0xff, 0xe1, 0x5d, 0x80, 0x64, 0xb9, + 0x5a, 0xad, 0x6d, 0x89, 0x57, 0x34, 0x2b, 0x9b, 0x4a, 0x53, 0x8a, 0x92, 0x6a, 0xa5, 0x76, 0xa3, + 0x56, 0x6d, 0x4a, 0x31, 0x34, 0x0d, 0x79, 0xf6, 0x5b, 0xbd, 0xb6, 0xa9, 0xac, 0x97, 0x9b, 0x52, + 0x3c, 0x50, 0xd5, 0xa8, 0x6d, 0xac, 0xd4, 0x14, 0x29, 0x21, 0x3f, 0x03, 0xa7, 0x47, 0x7a, 0x59, + 0x7e, 0x76, 0x21, 0x12, 0xc8, 0x2e, 0xc8, 0x9f, 0x8a, 0x42, 0x69, 0xb4, 0xeb, 0x84, 0x6e, 0xf4, + 0x4d, 0xfc, 0xd2, 0x31, 0xfc, 0xae, 0xbe, 0xd9, 0xa3, 0xc7, 0xa0, 0x60, 0xe3, 0x5d, 0xec, 0xea, + 0xfb, 0xcc, 0x95, 0x63, 0x26, 0x33, 0xaf, 0xe4, 0x79, 0x2d, 0x45, 0x72, 0x18, 0xd8, 0x6b, 0x58, + 0x77, 0x55, 0xa6, 0x8b, 0x1c, 0xfe, 0x97, 0x45, 0xf3, 0xac, 0xb6, 0xc1, 0x2a, 0xe5, 0xaf, 0x3b, + 0x16, 0x2f, 0x33, 0x90, 0x50, 0x6a, 0x4d, 0xe5, 0x15, 0x29, 0x86, 0x10, 0x14, 0xe8, 0x4f, 0xb5, + 0xb1, 0x51, 0xde, 0x6a, 0x5c, 0xdf, 0x24, 0xbc, 0x9c, 0x81, 0xa2, 0xe0, 0xa5, 0xa8, 0x4c, 0xc8, + 0x4f, 0xc0, 0xa9, 0x11, 0x7e, 0xdf, 0x90, 0x7b, 0x88, 0x9f, 0x89, 0x04, 0xa1, 0xc3, 0x31, 0xff, + 0x26, 0x24, 0x1d, 0x57, 0x73, 0x7b, 0x0e, 0x67, 0xe2, 0xf3, 0x93, 0x3a, 0x82, 0x4b, 0xe2, 0x47, + 0x83, 0xa2, 0x2b, 0x9c, 0x8c, 0x7c, 0x19, 0x0a, 0xe1, 0x96, 0xd1, 0x3c, 0xf0, 0x85, 0x28, 0x2a, + 0xbf, 0x02, 0x10, 0xc8, 0x47, 0x7a, 0x37, 0xba, 0x22, 0xc1, 0x1b, 0x5d, 0x97, 0x21, 0x71, 0xc7, + 0x62, 0x3a, 0x63, 0xf8, 0xc6, 0xb9, 0x65, 0xb9, 0x38, 0x90, 0x7c, 0x60, 0xd0, 0xb2, 0x01, 0x68, + 0x30, 0x27, 0x34, 0xa2, 0x8b, 0x0f, 0x84, 0xbb, 0x78, 0x64, 0x64, 0x76, 0x69, 0x78, 0x57, 0xaf, + 0x43, 0x82, 0x6a, 0x9b, 0xa1, 0x9f, 0xf8, 0x7c, 0x2d, 0x80, 0xe6, 0xba, 0xb6, 0xb1, 0xd3, 0xf3, + 0x3b, 0x58, 0x18, 0xae, 0xad, 0xca, 0x02, 0xae, 0xf2, 0x10, 0x57, 0x5b, 0xb3, 0x3e, 0x6a, 0x40, + 0x75, 0x05, 0x08, 0xca, 0x1b, 0x50, 0x08, 0xe3, 0x0e, 0xff, 0x64, 0xc9, 0x7f, 0x3b, 0x20, 0x23, + 0xdc, 0x27, 0xcf, 0xf9, 0xe2, 0xef, 0x79, 0xd0, 0x82, 0x7c, 0x2f, 0x02, 0xe9, 0xe6, 0x01, 0x97, + 0xe3, 0x23, 0x2e, 0x55, 0xfa, 0xdf, 0x6d, 0x79, 0xc9, 0x42, 0x96, 0x8f, 0x8d, 0x79, 0x59, 0xde, + 0xaf, 0xf2, 0x76, 0x6a, 0x7c, 0xd2, 0x68, 0x57, 0x64, 0xbb, 0xb9, 0x76, 0xba, 0x3a, 0xd9, 0x37, + 0x12, 0xb3, 0x90, 0x08, 0x7e, 0xdf, 0xc0, 0x0a, 0x72, 0x2b, 0x70, 0x2d, 0x81, 0x99, 0x8d, 0xe0, + 0xc7, 0x14, 0x91, 0x63, 0x7f, 0x4c, 0xe1, 0xf5, 0x12, 0x0d, 0xf6, 0x72, 0x07, 0xd2, 0x42, 0x28, + 0xd0, 0x07, 0x83, 0x77, 0x4f, 0xc4, 0x19, 0xcd, 0x48, 0xe3, 0xc9, 0xc9, 0x07, 0xae, 0x9e, 0x5c, + 0x80, 0x69, 0x7e, 0xe5, 0xce, 0x8f, 0x2b, 0xf8, 0x9f, 0x1c, 0x28, 0xb2, 0x86, 0x35, 0x11, 0x54, + 0xc8, 0x3f, 0x1c, 0x01, 0xa9, 0x5f, 0x2a, 0xdf, 0xcb, 0x01, 0x10, 0xa5, 0x48, 0xa4, 0x3f, 0xf0, + 0xe6, 0x37, 0x5b, 0xf9, 0x3c, 0xa9, 0xf5, 0x5f, 0xfd, 0xfe, 0x78, 0x14, 0xb2, 0x81, 0x9c, 0x1e, + 0x7a, 0x2e, 0x74, 0x05, 0x74, 0xf1, 0xa8, 0xfc, 0x5f, 0xe0, 0x0e, 0x68, 0x68, 0x62, 0xd1, 0xe3, + 0x4f, 0xec, 0x9d, 0xbf, 0xa4, 0x3f, 0xfc, 0x6b, 0x9f, 0xc4, 0x88, 0xaf, 0x7d, 0xbe, 0x21, 0x02, + 0x69, 0xcf, 0x74, 0x1f, 0x37, 0x9b, 0x7f, 0x12, 0x92, 0xdc, 0x3a, 0xb1, 0x74, 0x3e, 0x2f, 0x0d, + 0xcd, 0x85, 0x96, 0x20, 0x2d, 0xfe, 0x50, 0x14, 0x0f, 0x44, 0xbd, 0xf2, 0x85, 0x17, 0x21, 0x1b, + 0x38, 0x58, 0x21, 0x7a, 0x62, 0xa3, 0xf6, 0x61, 0x69, 0xaa, 0x94, 0xba, 0x77, 0x7f, 0x31, 0xb6, + 0x81, 0xef, 0x92, 0x1d, 0xa6, 0xd4, 0xaa, 0xd7, 0x6b, 0xd5, 0x9b, 0x52, 0xa4, 0x94, 0xbd, 0x77, + 0x7f, 0x31, 0xa5, 0x60, 0x9a, 0xbe, 0xba, 0x70, 0x13, 0x8a, 0x7d, 0x0b, 0x13, 0xd6, 0xef, 0x08, + 0x0a, 0x2b, 0xdb, 0x5b, 0x6b, 0xf5, 0x6a, 0xb9, 0x59, 0x53, 0xd9, 0x75, 0x3a, 0x74, 0x0a, 0x66, + 0xd6, 0xea, 0xab, 0xd7, 0x9b, 0x6a, 0x75, 0xad, 0x5e, 0xdb, 0x68, 0xaa, 0xe5, 0x66, 0xb3, 0x5c, + 0xbd, 0x29, 0x45, 0x2f, 0xbd, 0x0d, 0x50, 0x2c, 0x57, 0xaa, 0x75, 0x62, 0x9f, 0x0d, 0xfe, 0x6c, + 0x7b, 0x15, 0xe2, 0x34, 0x15, 0x70, 0xe4, 0x55, 0x91, 0xd2, 0xd1, 0xb9, 0x4d, 0x74, 0x0d, 0x12, + 0x34, 0x4b, 0x80, 0x8e, 0xbe, 0x3b, 0x52, 0x1a, 0x93, 0xec, 0x24, 0x83, 0xa1, 0xdb, 0xe9, 0xc8, + 0xcb, 0x24, 0xa5, 0xa3, 0x73, 0x9f, 0x48, 0x81, 0x8c, 0x1f, 0x65, 0x8c, 0xbf, 0x5c, 0x51, 0x9a, + 0x40, 0x3b, 0xa2, 0x35, 0x48, 0x89, 0xc0, 0x70, 0xdc, 0x75, 0x8f, 0xd2, 0xd8, 0xe4, 0x24, 0x61, + 0x17, 0x0b, 0xe0, 0x8f, 0xbe, 0xbb, 0x52, 0x1a, 0x93, 0x69, 0x45, 0x75, 0xef, 0x12, 0xfe, 0x98, + 0x2b, 0x1c, 0xa5, 0x71, 0xc9, 0x46, 0xc2, 0x34, 0x3f, 0x35, 0x32, 0xfe, 0x46, 0x4e, 0x69, 0x82, + 0x24, 0x32, 0xda, 0x06, 0x08, 0x84, 0xeb, 0x13, 0x5c, 0xb5, 0x29, 0x4d, 0x92, 0x1c, 0x46, 0x9b, + 0x90, 0xf6, 0xa2, 0xa7, 0xb1, 0x17, 0x5f, 0x4a, 0xe3, 0xb3, 0xb4, 0xe8, 0x23, 0x90, 0x0f, 0x47, + 0x0d, 0x93, 0x5d, 0x67, 0x29, 0x4d, 0x98, 0x7e, 0x25, 0xf4, 0xc3, 0x21, 0xc4, 0x64, 0xd7, 0x5b, + 0x4a, 0x13, 0x66, 0x63, 0xd1, 0x6b, 0x30, 0x3d, 0xe8, 0xe2, 0x4f, 0x7e, 0xdb, 0xa5, 0x74, 0x8c, + 0xfc, 0x2c, 0xea, 0x00, 0x1a, 0x12, 0x1a, 0x1c, 0xe3, 0xf2, 0x4b, 0xe9, 0x38, 0xe9, 0x5a, 0xd4, + 0x82, 0x62, 0xbf, 0xbf, 0x3d, 0xe9, 0x65, 0x98, 0xd2, 0xc4, 0xa9, 0x5b, 0xd6, 0x4b, 0xd8, 0x4f, + 0x9f, 0xf4, 0x72, 0x4c, 0x69, 0xe2, 0x4c, 0x6e, 0xa5, 0x3c, 0xf2, 0x7e, 0xe3, 0xd9, 0x23, 0xef, + 0x37, 0xfa, 0x37, 0x16, 0xbd, 0x3b, 0x8d, 0x6f, 0x3f, 0x07, 0xef, 0xe3, 0x8f, 0x09, 0x38, 0xae, + 0x76, 0xdb, 0x30, 0xf7, 0xbc, 0xd7, 0x21, 0x78, 0x99, 0x5f, 0x6e, 0x3c, 0xc9, 0x1f, 0x2c, 0x10, + 0xb5, 0x63, 0xde, 0x88, 0x18, 0xf9, 0x70, 0xd6, 0xb8, 0x4b, 0xc8, 0xe3, 0xaf, 0x2e, 0x1e, 0xf1, + 0xfe, 0xc4, 0x98, 0x57, 0x2e, 0x86, 0xbc, 0x4f, 0x31, 0xe6, 0x12, 0xe6, 0x51, 0xf7, 0x3d, 0xe5, + 0xef, 0x8c, 0x40, 0xe1, 0xba, 0xe1, 0xb8, 0x96, 0x6d, 0xe8, 0x5a, 0x9b, 0x5a, 0x8c, 0xab, 0x93, + 0x7e, 0xe4, 0x51, 0xc9, 0x10, 0x67, 0x84, 0x3f, 0x6a, 0xc1, 0x2f, 0x86, 0xac, 0x40, 0xf2, 0x8e, + 0xd6, 0x66, 0x9f, 0x58, 0x04, 0xdf, 0xaf, 0xe9, 0xe7, 0x79, 0xc0, 0x4b, 0x0a, 0x52, 0x61, 0xb8, + 0xf2, 0xe7, 0xe8, 0x25, 0xee, 0x4e, 0xc7, 0x70, 0xd8, 0x9f, 0x72, 0x77, 0xb1, 0x83, 0xb6, 0x21, + 0x6e, 0x6b, 0x2e, 0x0f, 0x6a, 0x2a, 0x65, 0xfe, 0x14, 0xc5, 0xe3, 0xe3, 0x1f, 0x94, 0x58, 0x1a, + 0x78, 0xad, 0x82, 0x75, 0x46, 0xc9, 0xa1, 0xaf, 0x81, 0x74, 0x47, 0x3b, 0x50, 0x29, 0xe9, 0xe8, + 0x3b, 0x45, 0x3a, 0xd5, 0xd1, 0x0e, 0xc8, 0xa8, 0x91, 0x01, 0x45, 0x42, 0x5d, 0xdf, 0xd7, 0xcc, + 0x3d, 0xcc, 0x3a, 0x89, 0xbd, 0x53, 0x9d, 0xe4, 0x3b, 0xda, 0x41, 0x95, 0x12, 0x26, 0x5d, 0xf1, + 0x47, 0x3f, 0x7e, 0x25, 0xc2, 0x43, 0x59, 0xca, 0x39, 0xa4, 0x81, 0xa4, 0x7b, 0x25, 0xda, 0xbf, + 0x48, 0xeb, 0x9f, 0x1d, 0xb5, 0x30, 0x7d, 0x7c, 0xaf, 0xe4, 0xc9, 0x48, 0x3f, 0xff, 0xc6, 0x42, + 0x84, 0xf5, 0x5a, 0xd4, 0xfb, 0xd6, 0xe5, 0x06, 0x64, 0x59, 0x36, 0x4d, 0xa5, 0x2e, 0x6c, 0x74, + 0xac, 0x0b, 0x9b, 0x17, 0x2e, 0x2c, 0x23, 0x08, 0x0c, 0x9b, 0xb4, 0xf3, 0x39, 0x7c, 0x36, 0x02, + 0xd9, 0x95, 0xc0, 0x73, 0x55, 0x73, 0x90, 0xea, 0x58, 0xa6, 0x71, 0x1b, 0xdb, 0xde, 0xb9, 0x0c, + 0x2b, 0x12, 0x37, 0x93, 0xfd, 0xd5, 0x23, 0xf7, 0x50, 0xbc, 0xc4, 0x20, 0xca, 0x04, 0xeb, 0x2e, + 0xde, 0x71, 0x0c, 0xc1, 0x72, 0x45, 0x14, 0xd1, 0x79, 0x90, 0x1c, 0xac, 0xf7, 0x6c, 0xc3, 0x3d, + 0x54, 0x75, 0xcb, 0x74, 0x35, 0xdd, 0xe5, 0xd9, 0xd3, 0xa2, 0xa8, 0xaf, 0xb2, 0x6a, 0x42, 0xa4, + 0x85, 0x5d, 0xcd, 0x68, 0xb3, 0x6b, 0x5f, 0x19, 0x45, 0x14, 0xf9, 0x50, 0x3f, 0x97, 0x0a, 0x86, + 0x86, 0x55, 0x90, 0xac, 0x2e, 0xb6, 0x43, 0x9f, 0xbc, 0x31, 0x71, 0x9d, 0xfb, 0xcd, 0x9f, 0x79, + 0x6a, 0x96, 0x33, 0x9c, 0x1f, 0xc0, 0xb3, 0xd7, 0x99, 0x95, 0xa2, 0xc0, 0x10, 0xdf, 0xc2, 0xbd, + 0x12, 0x3a, 0x89, 0xe9, 0xed, 0xf8, 0x9f, 0xdc, 0xcf, 0x0e, 0x30, 0xb5, 0x6c, 0x1e, 0x56, 0xe6, + 0x7e, 0xdd, 0x27, 0xed, 0x87, 0x8e, 0x37, 0xf1, 0x61, 0xf0, 0x58, 0x86, 0x92, 0x21, 0x1e, 0xfc, + 0x6b, 0x9a, 0xd1, 0x16, 0x7f, 0x20, 0x4e, 0xe1, 0x25, 0xb4, 0xec, 0xa5, 0x61, 0xe2, 0x34, 0x1c, + 0x92, 0x47, 0xc9, 0x46, 0xc5, 0x32, 0x5b, 0xe1, 0x8c, 0x0b, 0x6a, 0x42, 0xd2, 0xb5, 0x6e, 0x63, + 0x93, 0x33, 0xa8, 0xf2, 0xfe, 0x63, 0x08, 0xf6, 0xe0, 0xfb, 0x33, 0x9c, 0x16, 0xda, 0x03, 0xa9, + 0x85, 0xdb, 0x78, 0x8f, 0x7d, 0xb0, 0xb5, 0xaf, 0xd9, 0x98, 0x7d, 0xc4, 0x79, 0x3c, 0xfa, 0x83, + 0xcf, 0xd4, 0x14, 0x3d, 0xaa, 0x0d, 0x4a, 0x14, 0x6d, 0x85, 0x1f, 0x4b, 0x4b, 0xf1, 0x53, 0xf9, + 0x11, 0xf3, 0x0f, 0x48, 0x65, 0x50, 0x6d, 0x85, 0x1e, 0x57, 0x3b, 0x0f, 0x52, 0xcf, 0xdc, 0xb1, + 0x4c, 0xfa, 0x37, 0x97, 0x78, 0x80, 0x95, 0x66, 0x27, 0x77, 0x5e, 0x3d, 0x3f, 0xb9, 0xdb, 0x82, + 0x82, 0x0f, 0x4a, 0x77, 0x4f, 0xe6, 0xb8, 0xbb, 0x27, 0xef, 0x11, 0x20, 0x20, 0x68, 0x1d, 0xc0, + 0xdf, 0x9f, 0xde, 0xe9, 0xfe, 0xd8, 0x9d, 0x1e, 0x9c, 0x4c, 0x80, 0x00, 0x6a, 0xc3, 0x4c, 0xc7, + 0x30, 0x55, 0x07, 0xb7, 0x77, 0x55, 0xce, 0x39, 0x42, 0x37, 0xfb, 0x0e, 0xac, 0xf4, 0x74, 0xc7, + 0x30, 0x1b, 0xb8, 0xbd, 0xbb, 0xe2, 0x91, 0x45, 0xef, 0x87, 0x33, 0x3e, 0x3b, 0x2c, 0x53, 0xdd, + 0xb7, 0xda, 0x2d, 0xd5, 0xc6, 0xbb, 0xaa, 0x4e, 0x9f, 0x3f, 0xca, 0x51, 0x26, 0x9e, 0xf2, 0x40, + 0x36, 0xcd, 0xeb, 0x56, 0xbb, 0xa5, 0xe0, 0xdd, 0x2a, 0x69, 0x46, 0x8f, 0x82, 0xcf, 0x0b, 0xd5, + 0x68, 0x39, 0x73, 0xf9, 0xc5, 0xd8, 0xb9, 0xb8, 0x92, 0xf3, 0x2a, 0xeb, 0x2d, 0x67, 0x39, 0xfd, + 0x89, 0x4f, 0x2f, 0x4c, 0x7d, 0xf1, 0xd3, 0x0b, 0x53, 0xf2, 0x35, 0xfa, 0x58, 0x07, 0xdf, 0x74, + 0xd8, 0x41, 0x57, 0x20, 0xa3, 0x89, 0x02, 0xfb, 0x4c, 0xe4, 0x88, 0x4d, 0xeb, 0x83, 0xca, 0x9f, + 0x8e, 0x40, 0x72, 0xe5, 0xd6, 0x96, 0x66, 0xd8, 0xa8, 0x06, 0xd3, 0xbe, 0xd0, 0x4e, 0xba, 0xff, + 0x7d, 0x39, 0x17, 0x0a, 0xa0, 0x36, 0xea, 0xcb, 0xd9, 0x23, 0xc9, 0xf4, 0x7f, 0x53, 0x1b, 0x98, + 0xea, 0x0d, 0x48, 0xb1, 0x11, 0x3a, 0xe8, 0x25, 0x48, 0x74, 0xc9, 0x0f, 0x9e, 0xfd, 0x9f, 0x1f, + 0x29, 0xe8, 0x14, 0x3e, 0x28, 0x16, 0x0c, 0x4f, 0xfe, 0xf3, 0x08, 0xc0, 0xca, 0xad, 0x5b, 0x4d, + 0xdb, 0xe8, 0xb6, 0xb1, 0xfb, 0x4e, 0x4d, 0x79, 0x0d, 0x4e, 0x04, 0xbe, 0xcf, 0xb4, 0xf5, 0x89, + 0xa7, 0x3d, 0xe3, 0x7f, 0xa1, 0x69, 0xeb, 0x43, 0xa9, 0xb5, 0x1c, 0xd7, 0xa3, 0x16, 0x9b, 0x98, + 0xda, 0x8a, 0xe3, 0x0e, 0xf2, 0xf1, 0x65, 0xc8, 0xfa, 0x53, 0x77, 0x50, 0x1d, 0xd2, 0x2e, 0xff, + 0xcd, 0xd9, 0x29, 0x8f, 0x66, 0xa7, 0x40, 0x0b, 0xb2, 0xd4, 0x43, 0x97, 0xff, 0x27, 0xe1, 0xaa, + 0xbf, 0x11, 0xfe, 0x42, 0x09, 0x12, 0xd1, 0xf0, 0x5c, 0x03, 0xc7, 0xde, 0x01, 0x0d, 0xcc, 0x69, + 0x05, 0xd8, 0xfa, 0x8d, 0x51, 0x98, 0xd9, 0x16, 0x9b, 0xf4, 0x2f, 0x2c, 0x17, 0xb6, 0x21, 0x85, + 0x4d, 0xd7, 0x36, 0xb0, 0x38, 0xea, 0x7b, 0x7a, 0xd4, 0x62, 0x0f, 0x99, 0x0b, 0xfd, 0xf3, 0xda, + 0xc1, 0xa5, 0x17, 0xb4, 0x02, 0x6c, 0xf8, 0xc5, 0x18, 0xcc, 0x8d, 0x42, 0x45, 0x67, 0xa1, 0xa8, + 0xdb, 0x98, 0x56, 0xa8, 0xa1, 0x54, 0x78, 0x41, 0x54, 0x73, 0x93, 0xa2, 0x00, 0x71, 0xd0, 0x88, + 0x54, 0x11, 0xd0, 0x07, 0xf3, 0xc8, 0x0a, 0x3e, 0x05, 0x6a, 0x54, 0x30, 0x14, 0xc5, 0xdd, 0xf6, + 0x1d, 0xad, 0xad, 0x99, 0x3a, 0x7e, 0x00, 0x49, 0x18, 0xb4, 0x00, 0xe2, 0xc2, 0x7c, 0x85, 0xd1, + 0x44, 0xb7, 0x20, 0x25, 0xc8, 0xc7, 0xdf, 0x01, 0xf2, 0x82, 0x18, 0x7a, 0x04, 0x72, 0x41, 0xc3, + 0x40, 0xfd, 0x94, 0xb8, 0x92, 0x0d, 0xd8, 0x85, 0x71, 0x96, 0x27, 0x79, 0xa4, 0xe5, 0xe1, 0xae, + 0xe0, 0x2f, 0xc4, 0x60, 0x5a, 0xc1, 0xad, 0xbf, 0x84, 0x0b, 0xf7, 0xd5, 0x00, 0x6c, 0x53, 0x13, + 0x65, 0xfb, 0x00, 0x6b, 0x37, 0xa8, 0x24, 0x32, 0x8c, 0xde, 0x8a, 0xe3, 0xbe, 0x57, 0xab, 0xf7, + 0x2f, 0xa3, 0x90, 0x0b, 0xae, 0xde, 0x5f, 0x02, 0xcb, 0x86, 0x36, 0x7c, 0x95, 0xc6, 0x6e, 0x9f, + 0x9f, 0x1f, 0xa5, 0xd2, 0x06, 0xe4, 0x7a, 0x8c, 0x2e, 0xfb, 0xb3, 0x18, 0x24, 0xf9, 0x55, 0xb0, + 0xcd, 0x01, 0x1f, 0x37, 0x32, 0xee, 0xfb, 0xdf, 0xbc, 0xf8, 0xfe, 0x77, 0xa8, 0x8b, 0xfb, 0x18, + 0x14, 0x48, 0x48, 0x1d, 0xba, 0x5f, 0x16, 0x39, 0x97, 0xa7, 0xe1, 0xb0, 0x7f, 0x1b, 0x1a, 0x2d, + 0x40, 0x96, 0x80, 0xf9, 0x3a, 0x9b, 0xc0, 0x40, 0x47, 0x3b, 0xa8, 0xb1, 0x1a, 0xf4, 0x14, 0xa0, + 0x7d, 0x2f, 0xf1, 0xa1, 0xfa, 0x8c, 0x20, 0x70, 0xd3, 0x7e, 0x8b, 0x00, 0x7f, 0x18, 0x80, 0x8c, + 0x42, 0x65, 0x2f, 0x74, 0xf2, 0xd7, 0x4e, 0x49, 0xcd, 0x0a, 0x7d, 0xa5, 0xf3, 0xdb, 0x23, 0xcc, + 0x55, 0xee, 0x8b, 0xb6, 0x79, 0xd0, 0xa2, 0x1e, 0x6f, 0x37, 0x7c, 0xf9, 0x8d, 0x85, 0xd2, 0xa1, + 0xd6, 0x69, 0x2f, 0xcb, 0x43, 0x48, 0xca, 0xc3, 0x72, 0x01, 0xc4, 0x9b, 0x0e, 0x07, 0xee, 0x68, + 0x03, 0xa4, 0xdb, 0xf8, 0x50, 0xb5, 0xf9, 0xdf, 0x2d, 0x55, 0x77, 0x31, 0xe6, 0xe1, 0xcd, 0xe9, + 0xa5, 0x21, 0x0f, 0xa5, 0x2e, 0x55, 0x2d, 0x23, 0x14, 0x07, 0x14, 0x6e, 0xe3, 0x43, 0x85, 0x23, + 0x5f, 0xc3, 0x78, 0xf9, 0x7d, 0x64, 0x9f, 0xdc, 0xfb, 0xbd, 0x9f, 0xb8, 0x70, 0x26, 0x30, 0xe4, + 0x03, 0x2f, 0xe3, 0xc6, 0x96, 0x5b, 0xfe, 0xb1, 0x08, 0x20, 0xdf, 0x78, 0x79, 0xf7, 0xcb, 0xd7, + 0xe9, 0xad, 0x63, 0x11, 0x3f, 0x44, 0x8e, 0x8e, 0x4b, 0x7c, 0xfc, 0x50, 0x5c, 0x12, 0xd8, 0x9c, + 0x1f, 0xf4, 0x4d, 0x45, 0xf4, 0x18, 0x53, 0x12, 0x48, 0x74, 0xcf, 0x4f, 0xc9, 0x6f, 0x44, 0xe0, + 0xf4, 0x80, 0x64, 0x7b, 0x43, 0xd6, 0x01, 0xd9, 0x81, 0x46, 0x2a, 0x21, 0xe2, 0xbc, 0xf6, 0xc1, + 0x36, 0xca, 0xb4, 0x3d, 0x60, 0x1e, 0xde, 0x25, 0x9b, 0xc7, 0x95, 0xda, 0xaf, 0x45, 0x60, 0x36, + 0x38, 0x22, 0x6f, 0x6e, 0x0d, 0xc8, 0x05, 0xc7, 0xc2, 0x67, 0xf5, 0xbe, 0x49, 0x66, 0x15, 0x9c, + 0x50, 0x88, 0x08, 0x99, 0x8b, 0xd8, 0x45, 0x2c, 0xf7, 0xf7, 0xcc, 0xc4, 0x5c, 0xf2, 0xce, 0x35, + 0x86, 0xa9, 0x15, 0xb6, 0x58, 0xdf, 0x16, 0x85, 0xf8, 0x96, 0x65, 0xb5, 0xd1, 0x37, 0x44, 0x60, + 0xda, 0xb4, 0x5c, 0x95, 0xec, 0x3d, 0xdc, 0x52, 0x79, 0xf2, 0x81, 0x69, 0xe6, 0x5b, 0xc7, 0xe3, + 0xde, 0xef, 0xbf, 0xb1, 0x30, 0x48, 0x6a, 0xd8, 0x93, 0xbd, 0x45, 0xd3, 0x72, 0x2b, 0x14, 0xa8, + 0xc9, 0xf2, 0x13, 0x77, 0x21, 0x1f, 0xee, 0x9f, 0xa9, 0x73, 0xe5, 0xd8, 0xfd, 0xe7, 0xc7, 0xf6, + 0x9d, 0xdb, 0x09, 0x74, 0xcc, 0x1e, 0xce, 0xfc, 0x63, 0xb2, 0xb8, 0xaf, 0x80, 0x74, 0xab, 0xff, + 0xa6, 0x5b, 0x0d, 0x52, 0xc7, 0xbd, 0x34, 0x17, 0xe4, 0x38, 0xc7, 0x95, 0xff, 0x30, 0x0a, 0xa7, + 0xab, 0x96, 0xe9, 0xf0, 0x3c, 0x12, 0x57, 0x02, 0x2c, 0x4d, 0x7c, 0x88, 0xae, 0x8d, 0xcc, 0x72, + 0x9d, 0xf9, 0xf2, 0x1b, 0x0b, 0xa7, 0x98, 0xe2, 0xea, 0x87, 0x90, 0x07, 0x13, 0x5d, 0xb7, 0xa0, + 0x48, 0x0c, 0xb5, 0x6e, 0x99, 0x5f, 0x61, 0x9e, 0x2b, 0x6f, 0xb5, 0x5b, 0x7c, 0xb8, 0xb7, 0x31, + 0xd9, 0x53, 0x45, 0x13, 0xdf, 0x0d, 0xd1, 0x8d, 0x3d, 0x18, 0x5d, 0x13, 0xdf, 0x0d, 0xd0, 0xf5, + 0xcf, 0xcb, 0xe3, 0xa1, 0xf3, 0xf2, 0x2b, 0x10, 0x23, 0xba, 0x35, 0x71, 0x0c, 0x45, 0x44, 0x10, + 0x02, 0xe6, 0xb2, 0x01, 0xa7, 0x79, 0x2e, 0xc2, 0xd9, 0xdc, 0xa5, 0xec, 0xc6, 0x74, 0x42, 0x37, + 0xf1, 0xe1, 0x03, 0x27, 0x26, 0x2e, 0xfc, 0x6c, 0x04, 0xc0, 0xcf, 0xd7, 0xa1, 0x27, 0xe1, 0x54, + 0x65, 0x73, 0x63, 0x45, 0x6d, 0x34, 0xcb, 0xcd, 0xed, 0x46, 0xf8, 0xb1, 0x7e, 0xf1, 0x40, 0x8d, + 0xd3, 0xc5, 0xba, 0xb1, 0x6b, 0xe0, 0x16, 0x7a, 0x1c, 0x66, 0xc3, 0xd0, 0xa4, 0x54, 0x5b, 0x91, + 0x22, 0xa5, 0xdc, 0xbd, 0xfb, 0x8b, 0x69, 0x16, 0xa7, 0xe0, 0x16, 0x3a, 0x07, 0x27, 0x06, 0xe1, + 0xea, 0x1b, 0xab, 0x52, 0xb4, 0x94, 0xbf, 0x77, 0x7f, 0x31, 0xe3, 0x05, 0x34, 0x48, 0x06, 0x14, + 0x84, 0xe4, 0xf4, 0x62, 0x25, 0xb8, 0x77, 0x7f, 0x31, 0xc9, 0xf6, 0x56, 0x29, 0xfe, 0x89, 0x1f, + 0x9a, 0x9f, 0xba, 0xf0, 0xb5, 0x00, 0x75, 0x73, 0xd7, 0xd6, 0xe8, 0x5f, 0xac, 0x46, 0x25, 0x38, + 0x59, 0xdf, 0xb8, 0xa6, 0x94, 0xab, 0xcd, 0xfa, 0xe6, 0x46, 0xdf, 0xdf, 0x18, 0x08, 0xb7, 0xad, + 0x6c, 0x6e, 0x57, 0xd6, 0x6a, 0x6a, 0xa3, 0xbe, 0xba, 0xc1, 0x8e, 0xfd, 0x43, 0x6d, 0x1f, 0xde, + 0x68, 0xd6, 0xd7, 0x6b, 0x52, 0xb4, 0x72, 0x6d, 0xe4, 0xc1, 0xd3, 0x93, 0x47, 0xee, 0x5a, 0xdf, + 0xd4, 0x85, 0x4e, 0x9f, 0xfe, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x30, 0x77, 0x2a, 0x33, 0xb7, + 0x9c, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) @@ -2447,9 +2436,6 @@ func (this *Params) Equal(that interface{}) bool { if !this.KeyRotationFee.Equal(&that1.KeyRotationFee) { return false } - if this.MaxConsPubkeyRotations != that1.MaxConsPubkeyRotations { - return false - } return true } func (this *RedelegationEntryResponse) Equal(that interface{}) bool { @@ -3343,11 +3329,6 @@ func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l - if m.MaxConsPubkeyRotations != 0 { - i = encodeVarintStaking(dAtA, i, uint64(m.MaxConsPubkeyRotations)) - i-- - dAtA[i] = 0x40 - } { size, err := m.KeyRotationFee.MarshalToSizedBuffer(dAtA[:i]) if err != nil { @@ -4073,9 +4054,6 @@ func (m *Params) Size() (n int) { n += 1 + l + sovStaking(uint64(l)) l = m.KeyRotationFee.Size() n += 1 + l + sovStaking(uint64(l)) - if m.MaxConsPubkeyRotations != 0 { - n += 1 + sovStaking(uint64(m.MaxConsPubkeyRotations)) - } return n } @@ -6884,25 +6862,6 @@ func (m *Params) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex - case 8: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field MaxConsPubkeyRotations", wireType) - } - m.MaxConsPubkeyRotations = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowStaking - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.MaxConsPubkeyRotations |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } default: iNdEx = preIndex skippy, err := skipStaking(dAtA[iNdEx:]) From 5f8eccfe62d76fa26eae9f88d123ab3699697c48 Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 17 May 2023 16:43:13 +0530 Subject: [PATCH 087/106] review changes --- .../staking/keeper/determinstic_test.go | 40 +++++++++---------- .../staking/keeper/msg_server_test.go | 29 -------------- x/slashing/keeper/signing_info_test.go | 3 ++ x/staking/keeper/cons_pubkey.go | 7 ++-- x/staking/keeper/cons_pubkey_test.go | 27 ------------- x/staking/keeper/msg_server.go | 24 ++--------- x/staking/keeper/params.go | 5 --- x/staking/migrations/v3/json_test.go | 1 - x/staking/simulation/genesis.go | 23 +++-------- x/staking/simulation/genesis_test.go | 6 +-- x/staking/simulation/operations.go | 3 +- x/staking/simulation/operations_test.go | 3 +- x/staking/types/params.go | 39 ++++-------------- 13 files changed, 48 insertions(+), 162 deletions(-) diff --git a/tests/integration/staking/keeper/determinstic_test.go b/tests/integration/staking/keeper/determinstic_test.go index 8393804596f6..dd6df1aa2f55 100644 --- a/tests/integration/staking/keeper/determinstic_test.go +++ b/tests/integration/staking/keeper/determinstic_test.go @@ -402,7 +402,7 @@ func TestGRPCValidatorDelegations(t *testing.T) { ValidatorAddr: validator.OperatorAddress, } - testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.ValidatorDelegations, 14655, false) + testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.ValidatorDelegations, 14637, false) } func TestGRPCValidatorUnbondingDelegations(t *testing.T) { @@ -481,7 +481,7 @@ func TestGRPCDelegation(t *testing.T) { DelegatorAddr: delegator1, } - testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.Delegation, 4695, false) + testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.Delegation, 4689, false) } func TestGRPCUnbondingDelegation(t *testing.T) { @@ -554,7 +554,7 @@ func TestGRPCDelegatorDelegations(t *testing.T) { DelegatorAddr: delegator1, } - testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.DelegatorDelegations, 4298, false) + testdata.DeterministicIterations(f.ctx, t, req, f.queryClient.DelegatorDelegations, 4292, false) } func TestGRPCDelegatorValidator(t *testing.T) { @@ -733,7 +733,7 @@ func TestGRPCPool(t *testing.T) { f = initDeterministicFixture(t) // reset getStaticValidator(f, t) - testdata.DeterministicIterations(f.ctx, t, &stakingtypes.QueryPoolRequest{}, f.queryClient.Pool, 6302, false) + testdata.DeterministicIterations(f.ctx, t, &stakingtypes.QueryPoolRequest{}, f.queryClient.Pool, 6296, false) } func TestGRPCRedelegations(t *testing.T) { @@ -807,14 +807,13 @@ func TestGRPCParams(t *testing.T) { rapid.Check(t, func(rt *rapid.T) { params := stakingtypes.Params{ - BondDenom: rapid.StringMatching(sdk.DefaultCoinDenomRegex()).Draw(rt, "bond-denom"), - UnbondingTime: durationGenerator().Draw(rt, "duration"), - MaxValidators: rapid.Uint32Min(1).Draw(rt, "max-validators"), - MaxEntries: rapid.Uint32Min(1).Draw(rt, "max-entries"), - HistoricalEntries: rapid.Uint32Min(1).Draw(rt, "historical-entries"), - MinCommissionRate: sdk.NewDecWithPrec(rapid.Int64Range(0, 100).Draw(rt, "commission"), 2), - MaxConsPubkeyRotations: rapid.Uint32Range(1, 10).Draw(rt, "max-pubkey-rotations"), - KeyRotationFee: sdk.NewCoin(sdk.DefaultBondDenom, math.NewIntFromUint64(rapid.Uint64Range(1000, 1000000).Draw(rt, "cons-pubkey-rotation-fee"))), + BondDenom: rapid.StringMatching(sdk.DefaultCoinDenomRegex()).Draw(rt, "bond-denom"), + UnbondingTime: durationGenerator().Draw(rt, "duration"), + MaxValidators: rapid.Uint32Min(1).Draw(rt, "max-validators"), + MaxEntries: rapid.Uint32Min(1).Draw(rt, "max-entries"), + HistoricalEntries: rapid.Uint32Min(1).Draw(rt, "historical-entries"), + MinCommissionRate: sdk.NewDecWithPrec(rapid.Int64Range(0, 100).Draw(rt, "commission"), 2), + KeyRotationFee: sdk.NewCoin(sdk.DefaultBondDenom, math.NewIntFromUint64(rapid.Uint64Range(1000, 1000000).Draw(rt, "cons-pubkey-rotation-fee"))), } err := f.stakingKeeper.SetParams(f.ctx, params) @@ -824,18 +823,17 @@ func TestGRPCParams(t *testing.T) { }) params := stakingtypes.Params{ - BondDenom: "denom", - UnbondingTime: time.Hour, - MaxValidators: 85, - MaxEntries: 5, - HistoricalEntries: 5, - MinCommissionRate: sdk.NewDecWithPrec(5, 2), - MaxConsPubkeyRotations: 5, - KeyRotationFee: sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(1000)), + BondDenom: "denom", + UnbondingTime: time.Hour, + MaxValidators: 85, + MaxEntries: 5, + HistoricalEntries: 5, + MinCommissionRate: sdk.NewDecWithPrec(5, 2), + KeyRotationFee: sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(1000)), } err := f.stakingKeeper.SetParams(f.ctx, params) assert.NilError(t, err) - testdata.DeterministicIterations(f.ctx, t, &stakingtypes.QueryParamsRequest{}, f.queryClient.Params, 1165, false) + testdata.DeterministicIterations(f.ctx, t, &stakingtypes.QueryParamsRequest{}, f.queryClient.Params, 1159, false) } diff --git a/tests/integration/staking/keeper/msg_server_test.go b/tests/integration/staking/keeper/msg_server_test.go index 7f5709200421..e9eafd85dae6 100644 --- a/tests/integration/staking/keeper/msg_server_test.go +++ b/tests/integration/staking/keeper/msg_server_test.go @@ -188,7 +188,6 @@ func TestRotateConsPubKey(t *testing.T) { params := stakingKeeper.GetParams(ctx) params.KeyRotationFee = sdk.NewInt64Coin(bondDenom, 10) - params.MaxConsPubkeyRotations = types.DefaultMaxConsPubKeyRotations err := stakingKeeper.SetParams(ctx, params) assert.NilError(t, err) @@ -261,7 +260,6 @@ func TestRotateConsPubKey(t *testing.T) { malleate: func() sdk.Context { params := stakingKeeper.GetParams(ctx) params.KeyRotationFee = sdk.NewInt64Coin(bondDenom, 10) - params.MaxConsPubkeyRotations = 1 err := stakingKeeper.SetParams(ctx, params) require.NoError(t, err) @@ -280,38 +278,11 @@ func TestRotateConsPubKey(t *testing.T) { pass: false, expErrMsg: "exceeding maximum consensus pubkey rotations within unbonding period", }, - { - name: "two rotations within unbonding period", - malleate: func() sdk.Context { - params := stakingKeeper.GetParams(ctx) - params.KeyRotationFee = sdk.NewInt64Coin(bondDenom, 10) - params.MaxConsPubkeyRotations = 2 - err := stakingKeeper.SetParams(ctx, params) - require.NoError(t, err) - - msg, err := types.NewMsgRotateConsPubKey( - validators[2].GetOperator(), - PKs[497], - ) - require.NoError(t, err) - _, err = msgServer.RotateConsPubKey(ctx, msg) - require.NoError(t, err) - ctx = ctx.WithBlockHeight(ctx.BlockHeight() + 1) - - return ctx - }, - validator: validators[2].GetOperator(), - newPubKey: PKs[496], - pass: true, - fees: calculateFee(keyRotationFee, 1), - expHistoryObjs: 2, - }, { name: "limit reached, but should rotate after the unbonding period", malleate: func() sdk.Context { params := stakingKeeper.GetParams(ctx) params.KeyRotationFee = sdk.NewInt64Coin(bondDenom, 10) - params.MaxConsPubkeyRotations = 1 err := stakingKeeper.SetParams(ctx, params) require.NoError(t, err) diff --git a/x/slashing/keeper/signing_info_test.go b/x/slashing/keeper/signing_info_test.go index 19f4cc48cae0..134e2122da39 100644 --- a/x/slashing/keeper/signing_info_test.go +++ b/x/slashing/keeper/signing_info_test.go @@ -5,6 +5,7 @@ import ( simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/golang/mock/gomock" "github.com/cosmos/cosmos-sdk/x/slashing/testutil" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" @@ -105,6 +106,8 @@ func (s *KeeperTestSuite) TestPerformConsensusPubKeyUpdate() { oldConsAddr := sdk.ConsAddress(pks[0].Address()) newConsAddr := sdk.ConsAddress(pks[1].Address()) + s.stakingKeeper.EXPECT().SetMappedConskey(gomock.Any(), oldConsAddr, newConsAddr).Return().AnyTimes() + newInfo := slashingtypes.NewValidatorSigningInfo( oldConsAddr, int64(4), diff --git a/x/staking/keeper/cons_pubkey.go b/x/staking/keeper/cons_pubkey.go index 51be5c36c198..7ce544363d1f 100644 --- a/x/staking/keeper/cons_pubkey.go +++ b/x/staking/keeper/cons_pubkey.go @@ -142,18 +142,17 @@ func (k Keeper) deleteConsKeyIndexKey(ctx sdk.Context, valAddr sdk.ValAddress, t } // CheckLimitOfMaxRotationsExceed returns bool, count of iterations made within the unbonding period. -func (k Keeper) CheckLimitOfMaxRotationsExceed(ctx sdk.Context, valAddr sdk.ValAddress) (bool, uint32) { +func (k Keeper) CheckLimitOfMaxRotationsExceed(ctx sdk.Context, valAddr sdk.ValAddress) bool { store := ctx.KVStore(k.storeKey) key := append(types.ValidatorConsensusKeyRotationRecordIndexKey, address.MustLengthPrefix(valAddr)...) prefixIterator := storetypes.KVStorePrefixIterator(store, key) defer prefixIterator.Close() - count := uint32(0) for ; prefixIterator.Valid(); prefixIterator.Next() { - count++ + return true } - return count >= k.MaxConsPubKeyRotations(ctx), count + return false } // SetMappedConskey maps the old consensus key to rotated new consensus key diff --git a/x/staking/keeper/cons_pubkey_test.go b/x/staking/keeper/cons_pubkey_test.go index 3590cc7eef4f..8cea001580c8 100644 --- a/x/staking/keeper/cons_pubkey_test.go +++ b/x/staking/keeper/cons_pubkey_test.go @@ -130,33 +130,9 @@ func (s *KeeperTestSuite) TestConsKeyRotn() { newPubKey: PKs[498], validator: sdk.ValAddress("non_existing_val"), }, - { - name: "two continuous rotations", - malleate: func() sdk.Context { - params := stakingKeeper.GetParams(ctx) - params.MaxConsPubkeyRotations = 2 - stakingKeeper.SetParams(ctx, params) - bankKeeper.EXPECT().SendCoinsFromAccountToModule(gomock.Any(), sdk.AccAddress(validators[1].GetOperator()), gomock.Any(), gomock.Any()).Return(nil).AnyTimes() - - req, err := types.NewMsgRotateConsPubKey(validators[1].GetOperator(), PKs[497]) - s.Require().NoError(err) - _, err = msgServer.RotateConsPubKey(ctx, req) - s.Require().NoError(err) - - return ctx - }, - isErr: false, - errMsg: "validator does not exist", - newPubKey: PKs[496], - validator: validators[1].GetOperator(), - }, { name: "limit exceeding", malleate: func() sdk.Context { - params := stakingKeeper.GetParams(ctx) - params.MaxConsPubkeyRotations = 1 - stakingKeeper.SetParams(ctx, params) - bankKeeper.EXPECT().SendCoinsFromAccountToModule(gomock.Any(), sdk.AccAddress(validators[2].GetOperator()), gomock.Any(), gomock.Any()).Return(nil).AnyTimes() req, err := types.NewMsgRotateConsPubKey(validators[2].GetOperator(), PKs[495]) @@ -175,9 +151,6 @@ func (s *KeeperTestSuite) TestConsKeyRotn() { name: "limit exceeding, but it should rotate after unbonding period", malleate: func() sdk.Context { params := stakingKeeper.GetParams(ctx) - params.MaxConsPubkeyRotations = 1 - stakingKeeper.SetParams(ctx, params) - bankKeeper.EXPECT().SendCoinsFromAccountToModule(gomock.Any(), sdk.AccAddress(validators[3].GetOperator()), gomock.Any(), gomock.Any()).Return(nil).AnyTimes() // 1st rotation should pass, since limit is 1 diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index 1efd65e6c474..e9cb2190c1af 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -2,7 +2,6 @@ package keeper import ( "context" - "math/big" "strconv" "time" @@ -589,14 +588,15 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC // Check if the validator is exceeding parameter MaxConsPubKeyRotations within the // unbonding period by iterating ConsPubKeyRotationHistory. - isExceedingLimit, rotationsMade := k.CheckLimitOfMaxRotationsExceed(ctx, valAddr) + isExceedingLimit := k.CheckLimitOfMaxRotationsExceed(ctx, valAddr) + if isExceedingLimit { return nil, types.ErrExceedingMaxConsPubKeyRotations } // Check if the signing account has enough balance to pay KeyRotationFee // KeyRotationFees are sent to the community fund. - rotationFee := k.getRotationFee(ctx, validator.GetBondedTokens(), rotationsMade) + rotationFee := k.KeyRotationFee(ctx) err = k.Keeper.bankKeeper.SendCoinsFromAccountToModule(ctx, sdk.AccAddress(valAddr), distrtypes.ModuleName, sdk.NewCoins(rotationFee)) if err != nil { return nil, err @@ -640,21 +640,3 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC return res, err } - -// getRotationFee calculates and returns the fee for rotation based on the previous rotations -// KeyRotationFee = (max(VotingPowerPercentage, 1) * InitialKeyRotationFee) * 2^(number of rotations in ConsPubKeyRotationHistory in recent unbonding period) -func (k msgServer) getRotationFee(ctx sdk.Context, valBondedTokens math.Int, rotationsMade uint32) sdk.Coin { - totalBondedTokens := k.TotalBondedTokens(ctx) - - valBondedPercent := (valBondedTokens.Quo(totalBondedTokens)).Mul(math.NewInt(100)) - - defaultMultiplier := sdk.NewInt(1) - if valBondedPercent.GT(defaultMultiplier) { - defaultMultiplier = valBondedPercent - } - fee := defaultMultiplier.Mul(k.KeyRotationFee(ctx).Amount) - rotationsMultiplier := math.NewIntFromBigInt(new(big.Int).Exp(big.NewInt(2), big.NewInt(int64(rotationsMade)), nil)) - fee = fee.Mul(rotationsMultiplier) - - return sdk.NewCoin(sdk.DefaultBondDenom, fee) -} diff --git a/x/staking/keeper/params.go b/x/staking/keeper/params.go index e0fa08112998..57e938e0f160 100644 --- a/x/staking/keeper/params.go +++ b/x/staking/keeper/params.go @@ -74,11 +74,6 @@ func (k Keeper) GetParams(ctx sdk.Context) (params types.Params) { return params } -// MaxConsPubKeyRotations - Maximum consensus pubkey rotations -func (k Keeper) MaxConsPubKeyRotations(ctx sdk.Context) (res uint32) { - return k.GetParams(ctx).MaxConsPubkeyRotations -} - func (k Keeper) KeyRotationFee(ctx sdk.Context) (res sdk.Coin) { return k.GetParams(ctx).KeyRotationFee } diff --git a/x/staking/migrations/v3/json_test.go b/x/staking/migrations/v3/json_test.go index 08518868d0a6..e9151867918b 100644 --- a/x/staking/migrations/v3/json_test.go +++ b/x/staking/migrations/v3/json_test.go @@ -47,7 +47,6 @@ func TestMigrateJSON(t *testing.T) { "amount": "1000000", "denom": "stake" }, - "max_cons_pubkey_rotations": 1, "max_entries": 7, "max_validators": 100, "min_commission_rate": "0.000000000000000000", diff --git a/x/staking/simulation/genesis.go b/x/staking/simulation/genesis.go index 9963027637ee..96dd9321af28 100644 --- a/x/staking/simulation/genesis.go +++ b/x/staking/simulation/genesis.go @@ -43,21 +43,15 @@ func getKeyRotationFee(r *rand.Rand) sdk.Coin { return sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(r.Int63n(types.DefaultKeyRotationFee.Amount.Int64()-10000)+10000)) } -// getMaxConsPubKeyRotations returns randomized maxConsPubKeyRotations between 1-10. -func getMaxConsPubKeyRotations(r *rand.Rand) uint32 { - return uint32(r.Intn(int(types.DefaultMaxConsPubKeyRotations)) + 1) -} - // RandomizedGenState generates a random GenesisState for staking func RandomizedGenState(simState *module.SimulationState) { // params var ( - unbondTime time.Duration - maxVals uint32 - histEntries uint32 - minCommissionRate sdk.Dec - maxConsKeyRotations uint32 - rotationFee sdk.Coin + unbondTime time.Duration + maxVals uint32 + histEntries uint32 + minCommissionRate sdk.Dec + rotationFee sdk.Coin ) simState.AppParams.GetOrGenerate( @@ -75,11 +69,6 @@ func RandomizedGenState(simState *module.SimulationState) { func(r *rand.Rand) { histEntries = getHistEntries(r) }, ) - simState.AppParams.GetOrGenerate( - simState.Cdc, maxConsPubkeyRotations, &histEntries, simState.Rand, - func(r *rand.Rand) { maxConsKeyRotations = getMaxConsPubKeyRotations(r) }, - ) - simState.AppParams.GetOrGenerate( simState.Cdc, keyRotationFee, &histEntries, simState.Rand, func(r *rand.Rand) { rotationFee = getKeyRotationFee(r) }, @@ -88,7 +77,7 @@ func RandomizedGenState(simState *module.SimulationState) { // NOTE: the slashing module need to be defined after the staking module on the // NewSimulationManager constructor for this to work simState.UnbondTime = unbondTime - params := types.NewParams(simState.UnbondTime, maxVals, 7, histEntries, simState.BondDenom, minCommissionRate, maxConsKeyRotations, rotationFee) + params := types.NewParams(simState.UnbondTime, maxVals, 7, histEntries, simState.BondDenom, minCommissionRate, rotationFee) // validators & delegations var ( diff --git a/x/staking/simulation/genesis_test.go b/x/staking/simulation/genesis_test.go index dc4dd0dcf363..216b38e4f687 100644 --- a/x/staking/simulation/genesis_test.go +++ b/x/staking/simulation/genesis_test.go @@ -63,9 +63,9 @@ func TestRandomizedGenState(t *testing.T) { require.Equal(t, "BOND_STATUS_UNBONDED", stakingGenesis.Validators[2].Status.String()) require.Equal(t, "1000", stakingGenesis.Validators[2].Tokens.String()) require.Equal(t, "1000.000000000000000000", stakingGenesis.Validators[2].DelegatorShares.String()) - require.Equal(t, "0.063782604040085599", stakingGenesis.Validators[2].Commission.CommissionRates.Rate.String()) - require.Equal(t, "0.100000000000000000", stakingGenesis.Validators[2].Commission.CommissionRates.MaxRate.String()) - require.Equal(t, "0.000000000000000000", stakingGenesis.Validators[2].Commission.CommissionRates.MaxChangeRate.String()) + require.Equal(t, "0.760000000000000000", stakingGenesis.Validators[2].Commission.CommissionRates.Rate.String()) + require.Equal(t, "0.760000000000000000", stakingGenesis.Validators[2].Commission.CommissionRates.MaxRate.String()) + require.Equal(t, "0.312739151653465930", stakingGenesis.Validators[2].Commission.CommissionRates.MaxChangeRate.String()) require.Equal(t, "1", stakingGenesis.Validators[2].MinSelfDelegation.String()) } diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index 7b43e121ba6c..15d8d267c771 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -665,8 +665,7 @@ func SimulateMsgRotateConsPubKey(txGen client.TxConfig, ak types.AccountKeeper, newConsAddr := sdk.ConsAddress(acc.ConsKey.PubKey().Address()) valAddr := val.GetOperator() - isExceed, _ := k.CheckLimitOfMaxRotationsExceed(ctx, valAddr) - if isExceed { + if k.CheckLimitOfMaxRotationsExceed(ctx, valAddr) { return simtypes.NoOpMsg(types.ModuleName, msgType, "rotations limit reached within unbondin period"), nil, nil } diff --git a/x/staking/simulation/operations_test.go b/x/staking/simulation/operations_test.go index 4dec5cac3b9b..5601b41666ef 100644 --- a/x/staking/simulation/operations_test.go +++ b/x/staking/simulation/operations_test.go @@ -248,7 +248,8 @@ func (s *SimTestSuite) TestSimulateRotateConsPubKey() { require.NoError(err) var msg types.MsgRotateConsPubKey - types.ModuleCdc.UnmarshalJSON(operationMsg.Msg, &msg) + err = proto.Unmarshal(operationMsg.Msg, &msg) + require.NoError(err) require.True(operationMsg.OK) require.Equal(sdk.MsgTypeURL(&types.MsgRotateConsPubKey{}), sdk.MsgTypeURL(&msg)) diff --git a/x/staking/types/params.go b/x/staking/types/params.go index d7238a5aba86..02aad39736c4 100644 --- a/x/staking/types/params.go +++ b/x/staking/types/params.go @@ -29,10 +29,6 @@ const ( // value by not adding the staking module to the application module manager's // SetOrderBeginBlockers. DefaultHistoricalEntries uint32 = 10000 - - // DefaultMaxConsPubKeyRotations is param to set validators can rotate their - // keys only for 1 times - DefaultMaxConsPubKeyRotations uint32 = 1 ) var ( @@ -47,17 +43,16 @@ var ( func NewParams(unbondingTime time.Duration, maxValidators, maxEntries, historicalEntries uint32, bondDenom string, minCommissionRate sdk.Dec, - maxConsPubKeyRotations uint32, keyRotationFee sdk.Coin, + keyRotationFee sdk.Coin, ) Params { return Params{ - UnbondingTime: unbondingTime, - MaxValidators: maxValidators, - MaxEntries: maxEntries, - HistoricalEntries: historicalEntries, - BondDenom: bondDenom, - MinCommissionRate: minCommissionRate, - MaxConsPubkeyRotations: maxConsPubKeyRotations, - KeyRotationFee: keyRotationFee, + UnbondingTime: unbondingTime, + MaxValidators: maxValidators, + MaxEntries: maxEntries, + HistoricalEntries: historicalEntries, + BondDenom: bondDenom, + MinCommissionRate: minCommissionRate, + KeyRotationFee: keyRotationFee, } } @@ -70,7 +65,6 @@ func DefaultParams() Params { DefaultHistoricalEntries, sdk.DefaultBondDenom, DefaultMinCommissionRate, - DefaultMaxConsPubKeyRotations, DefaultKeyRotationFee, ) } @@ -121,10 +115,6 @@ func (p Params) Validate() error { return err } - if err := validateMaxConsPubkeyRotations(p.MaxConsPubkeyRotations); err != nil { - return err - } - if err := validateKeyRotationFee(p.KeyRotationFee); err != nil { return err } @@ -229,19 +219,6 @@ func validateMinCommissionRate(i interface{}) error { return nil } -func validateMaxConsPubkeyRotations(i interface{}) error { - v, ok := i.(uint32) - if !ok { - return fmt.Errorf("invalid parameter type: %T", i) - } - - if v == 0 { - return fmt.Errorf("max cons pubkey rotations must be positive: %d", v) - } - - return nil -} - func validateKeyRotationFee(i interface{}) error { v, ok := i.(sdk.Coin) if !ok { From aaeb807b7cab27b46bb0b590b6314dc44fcc9ba9 Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 17 May 2023 19:49:35 +0530 Subject: [PATCH 088/106] fix sims --- x/staking/simulation/operations.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index 15d8d267c771..ac64f42f9fb0 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -640,6 +640,10 @@ func SimulateMsgRotateConsPubKey(txGen client.TxConfig, ak types.AccountKeeper, return simtypes.NoOpMsg(types.ModuleName, msgType, "unable to pick a validator"), nil, nil } + if val.Status != types.Bonded { + return simtypes.NoOpMsg(types.ModuleName, msgType, "validator not bonded"), nil, nil + } + simAccount, found := simtypes.FindAccount(accs, sdk.AccAddress(val.GetOperator())) if !found { return simtypes.NoOpMsg(types.ModuleName, msgType, "unable to find account"), nil, fmt.Errorf("validator %s not found", val.GetOperator()) @@ -661,7 +665,6 @@ func SimulateMsgRotateConsPubKey(txGen client.TxConfig, ak types.AccountKeeper, } spendable := bk.SpendableCoins(ctx, account.GetAddress()) - newConsAddr := sdk.ConsAddress(acc.ConsKey.PubKey().Address()) valAddr := val.GetOperator() From cb639405e23332f4f11f18934858559cfa542f3b Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 17 May 2023 20:41:49 +0530 Subject: [PATCH 089/106] fix sim --- x/staking/simulation/operations.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index ac64f42f9fb0..df6d1222483f 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -149,6 +149,12 @@ func SimulateMsgCreateValidator( return simtypes.NoOpMsg(types.ModuleName, msgType, "validator already exists"), nil, nil } + consPubKey := sdk.GetConsAddress(simAccount.ConsKey.PubKey()) + _, found = k.GetValidatorByConsAddr(ctx, consPubKey) + if found { + return simtypes.NoOpMsg(types.ModuleName, msgType, "cons key already used"), nil, nil + } + denom := k.GetParams(ctx).BondDenom balance := bk.GetBalance(ctx, simAccount.Address, denom).Amount From a929179e54e0eed258cbd421b87272a6a33c3005 Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 17 May 2023 22:09:18 +0530 Subject: [PATCH 090/106] fix failing test --- x/staking/simulation/operations.go | 2 +- x/staking/simulation/operations_test.go | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index df6d1222483f..5fa00c5f1e33 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -647,7 +647,7 @@ func SimulateMsgRotateConsPubKey(txGen client.TxConfig, ak types.AccountKeeper, } if val.Status != types.Bonded { - return simtypes.NoOpMsg(types.ModuleName, msgType, "validator not bonded"), nil, nil + return simtypes.NoOpMsg(types.ModuleName, msgType, "validator not bonded."), nil, nil } simAccount, found := simtypes.FindAccount(accs, sdk.AccAddress(val.GetOperator())) diff --git a/x/staking/simulation/operations_test.go b/x/staking/simulation/operations_test.go index 5601b41666ef..71fd17ea49c9 100644 --- a/x/staking/simulation/operations_test.go +++ b/x/staking/simulation/operations_test.go @@ -237,7 +237,7 @@ func (s *SimTestSuite) TestSimulateRotateConsPubKey() { blockTime := time.Now().UTC() ctx := s.ctx.WithBlockTime(blockTime) - _ = s.getTestingValidator0(ctx) + _ = s.getTestingValidator2(ctx) // begin a new block s.app.BeginBlock(abci.RequestBeginBlock{Header: cmtproto.Header{Height: s.app.LastBlockHeight() + 1, AppHash: s.app.LastCommitID().Hash, Time: blockTime}}) @@ -401,6 +401,13 @@ func (s *SimTestSuite) getTestingValidator1(ctx sdk.Context) types.Validator { return s.getTestingValidator(ctx, commission1, 2) } +func (s *SimTestSuite) getTestingValidator2(ctx sdk.Context) types.Validator { + val := s.getTestingValidator0(ctx) + val.Status = types.Bonded + s.stakingKeeper.SetValidator(ctx, val) + return val +} + func (s *SimTestSuite) getTestingValidator(ctx sdk.Context, commission types.Commission, n int) types.Validator { account := s.accounts[n] valPubKey := account.PubKey From 03ea64be8a4854e23c44b3c98123811426af6fc3 Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 18 May 2023 11:46:55 +0530 Subject: [PATCH 091/106] fix conflicts --- .../staking/keeper/msg_server_test.go | 6 ---- x/evidence/testutil/expected_keepers_mocks.go | 30 +++++++++---------- x/evidence/types/expected_keepers.go | 2 +- 3 files changed, 15 insertions(+), 23 deletions(-) diff --git a/tests/integration/staking/keeper/msg_server_test.go b/tests/integration/staking/keeper/msg_server_test.go index e9eafd85dae6..0444c4a283b3 100644 --- a/tests/integration/staking/keeper/msg_server_test.go +++ b/tests/integration/staking/keeper/msg_server_test.go @@ -365,9 +365,3 @@ func TestRotateConsPubKey(t *testing.T) { }) } } - -func calculateFee(fee sdk.Coin, rotationsMade int64) sdk.Coin { - fees := math.NewIntFromBigInt(new(big.Int).Exp(big.NewInt(2), big.NewInt(rotationsMade), nil)) - fees = fee.Amount.Mul(fees) - return sdk.NewCoin(fee.Denom, fees) -} diff --git a/x/evidence/testutil/expected_keepers_mocks.go b/x/evidence/testutil/expected_keepers_mocks.go index a8caffe97c6f..965d9f8c5343 100644 --- a/x/evidence/testutil/expected_keepers_mocks.go +++ b/x/evidence/testutil/expected_keepers_mocks.go @@ -40,6 +40,20 @@ func (m *MockStakingKeeper) EXPECT() *MockStakingKeeperMockRecorder { return m.recorder } +// GetMappedConsKey mocks base method. +func (m *MockStakingKeeper) GetMappedConsKey(ctx types0.Context, consAddr types0.ConsAddress) types0.ConsAddress { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetMappedConsKey", ctx, consAddr) + ret0, _ := ret[0].(types0.ConsAddress) + return ret0 +} + +// GetMappedConsKey indicates an expected call of GetMappedConsKey. +func (mr *MockStakingKeeperMockRecorder) GetMappedConsKey(ctx, consAddr interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMappedConsKey", reflect.TypeOf((*MockStakingKeeper)(nil).GetMappedConsKey), ctx, consAddr) +} + // GetParams mocks base method. func (m *MockStakingKeeper) GetParams(ctx types0.Context) types1.Params { m.ctrl.T.Helper() @@ -91,22 +105,6 @@ func (m *MockSlashingKeeper) EXPECT() *MockSlashingKeeperMockRecorder { return m.recorder } -// GetMappedPubkey mocks base method. -func (m *MockSlashingKeeper) GetMappedPubkey(arg0 types0.Context, arg1 types.Address) (types0.ConsAddress, types.PubKey, error) { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetMappedPubkey", arg0, arg1) - ret0, _ := ret[0].(types0.ConsAddress) - ret1, _ := ret[1].(types.PubKey) - ret2, _ := ret[2].(error) - return ret0, ret1, ret2 -} - -// GetMappedPubkey indicates an expected call of GetMappedPubkey. -func (mr *MockSlashingKeeperMockRecorder) GetMappedPubkey(arg0, arg1 interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMappedPubkey", reflect.TypeOf((*MockSlashingKeeper)(nil).GetMappedPubkey), arg0, arg1) -} - // GetPubkey mocks base method. func (m *MockSlashingKeeper) GetPubkey(arg0 types0.Context, arg1 types.Address) (types.PubKey, error) { m.ctrl.T.Helper() diff --git a/x/evidence/types/expected_keepers.go b/x/evidence/types/expected_keepers.go index 39502b8de055..c3f23ec96f9f 100644 --- a/x/evidence/types/expected_keepers.go +++ b/x/evidence/types/expected_keepers.go @@ -18,13 +18,13 @@ type ( StakingKeeper interface { ValidatorByConsAddr(sdk.Context, sdk.ConsAddress) stakingtypes.ValidatorI GetParams(ctx sdk.Context) (params stakingtypes.Params) + GetMappedConsKey(ctx sdk.Context, consAddr sdk.ConsAddress) sdk.ConsAddress } // SlashingKeeper defines the slashing module interface contract needed by the // evidence module. SlashingKeeper interface { GetPubkey(sdk.Context, cryptotypes.Address) (cryptotypes.PubKey, error) - GetMappedPubkey(sdk.Context, cryptotypes.Address) (sdk.ConsAddress, cryptotypes.PubKey, error) IsTombstoned(sdk.Context, sdk.ConsAddress) bool HasValidatorSigningInfo(sdk.Context, sdk.ConsAddress) bool Tombstone(sdk.Context, sdk.ConsAddress) From 098fe05848b12c4204dbcaee6bd51f1720e48680 Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 18 May 2023 11:57:45 +0530 Subject: [PATCH 092/106] lint --- tests/integration/staking/keeper/msg_server_test.go | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/integration/staking/keeper/msg_server_test.go b/tests/integration/staking/keeper/msg_server_test.go index 0444c4a283b3..691d0b71270e 100644 --- a/tests/integration/staking/keeper/msg_server_test.go +++ b/tests/integration/staking/keeper/msg_server_test.go @@ -1,7 +1,6 @@ package keeper_test import ( - "math/big" "testing" "time" From 4cded7111efb0eafc9b6b9b9a429e68c11dd6f03 Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 18 May 2023 12:34:18 +0530 Subject: [PATCH 093/106] fix sims --- x/staking/simulation/genesis.go | 9 ++++----- x/staking/simulation/operations.go | 8 ++++++-- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/x/staking/simulation/genesis.go b/x/staking/simulation/genesis.go index 96dd9321af28..0226c125a348 100644 --- a/x/staking/simulation/genesis.go +++ b/x/staking/simulation/genesis.go @@ -16,11 +16,10 @@ import ( // Simulation parameter constants const ( - unbondingTime = "unbonding_time" - maxValidators = "max_validators" - historicalEntries = "historical_entries" - maxConsPubkeyRotations = "max_cons_pubkey_rotations" - keyRotationFee = "cons_pubkey_rotation_fee" + unbondingTime = "unbonding_time" + maxValidators = "max_validators" + historicalEntries = "historical_entries" + keyRotationFee = "cons_pubkey_rotation_fee" ) // genUnbondingTime returns randomized UnbondingTime diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index 5fa00c5f1e33..fa01a159ab50 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -24,7 +24,7 @@ const ( DefaultWeightMsgUndelegate int = 100 DefaultWeightMsgBeginRedelegate int = 100 DefaultWeightMsgCancelUnbondingDelegation int = 100 - DefaultWeightMsgRotateConsPubKey int = 5 + DefaultWeightMsgRotateConsPubKey int = 100 OpWeightMsgCreateValidator = "op_weight_msg_create_validator" OpWeightMsgEditValidator = "op_weight_msg_edit_validator" @@ -646,7 +646,7 @@ func SimulateMsgRotateConsPubKey(txGen client.TxConfig, ak types.AccountKeeper, return simtypes.NoOpMsg(types.ModuleName, msgType, "unable to pick a validator"), nil, nil } - if val.Status != types.Bonded { + if val.Status != types.Bonded || val.ConsensusPower(sdk.DefaultPowerReduction) == 0 { return simtypes.NoOpMsg(types.ModuleName, msgType, "validator not bonded."), nil, nil } @@ -671,6 +671,10 @@ func SimulateMsgRotateConsPubKey(txGen client.TxConfig, ak types.AccountKeeper, } spendable := bk.SpendableCoins(ctx, account.GetAddress()) + fee := k.KeyRotationFee(ctx) + if !spendable.IsAllGTE(sdk.NewCoins(fee)) { + return simtypes.NoOpMsg(types.ModuleName, msgType, "not enough balance to pay fee"), nil, nil + } newConsAddr := sdk.ConsAddress(acc.ConsKey.PubKey().Address()) valAddr := val.GetOperator() From 2e9a242c48732a8f400aa7933cd7d967df7b723c Mon Sep 17 00:00:00 2001 From: atheesh Date: Thu, 18 May 2023 21:48:03 +0530 Subject: [PATCH 094/106] update sim --- x/staking/keeper/msg_server.go | 4 ++++ x/staking/keeper/val_state_change.go | 11 +++++++---- x/staking/simulation/operations.go | 11 ++++++++++- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index e9cb2190c1af..52be6eea4fef 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -586,6 +586,10 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC return nil, types.ErrNoValidatorFound } + if validator.GetStatus() != types.Bonded { + return nil, errorsmod.Wrapf(sdkerrors.ErrInvalidType, "invalid validator status: %s", validator.GetStatus()) + } + // Check if the validator is exceeding parameter MaxConsPubKeyRotations within the // unbonding period by iterating ConsPubKeyRotationHistory. isExceedingLimit := k.CheckLimitOfMaxRotationsExceed(ctx, valAddr) diff --git a/x/staking/keeper/val_state_change.go b/x/staking/keeper/val_state_change.go index b21e1cb55893..b1dd70866be4 100644 --- a/x/staking/keeper/val_state_change.go +++ b/x/staking/keeper/val_state_change.go @@ -240,10 +240,13 @@ func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx sdk.Context) (updates []ab PubKey: oldTmPk, Power: 0, }) - updates = append(updates, abci.ValidatorUpdate{ - PubKey: newTmPk, - Power: validator.ConsensusPower(powerReduction), - }) + + if validator.ConsensusPower(powerReduction) != 0 { + updates = append(updates, abci.ValidatorUpdate{ + PubKey: newTmPk, + Power: validator.ConsensusPower(powerReduction), + }) + } err = k.Hooks().AfterConsensusPubKeyUpdate(ctx, oldPk, newPk, history.Fee) if err != nil { diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index fa01a159ab50..72c5cd9bbef2 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -675,13 +675,22 @@ func SimulateMsgRotateConsPubKey(txGen client.TxConfig, ak types.AccountKeeper, if !spendable.IsAllGTE(sdk.NewCoins(fee)) { return simtypes.NoOpMsg(types.ModuleName, msgType, "not enough balance to pay fee"), nil, nil } + newConsAddr := sdk.ConsAddress(acc.ConsKey.PubKey().Address()) + if addr := k.GetMappedConsKey(ctx, newConsAddr); addr != nil { + return simtypes.NoOpMsg(types.ModuleName, msgType, "can't be rotated to a consAddr already rotated"), nil, nil + } valAddr := val.GetOperator() if k.CheckLimitOfMaxRotationsExceed(ctx, valAddr) { return simtypes.NoOpMsg(types.ModuleName, msgType, "rotations limit reached within unbondin period"), nil, nil } + _, found = k.GetValidatorByConsAddr(ctx, cons) + if !found { + return simtypes.NoOpMsg(types.ModuleName, msgType, "validator not found"), nil, nil + } + _, found = k.GetValidatorByConsAddr(ctx, newConsAddr) if found { return simtypes.NoOpMsg(types.ModuleName, msgType, "cons key already used"), nil, nil @@ -689,7 +698,7 @@ func SimulateMsgRotateConsPubKey(txGen client.TxConfig, ak types.AccountKeeper, msg, err := types.NewMsgRotateConsPubKey(valAddr, acc.ConsKey.PubKey()) if err != nil { - return simtypes.NoOpMsg(types.ModuleName, msgType, "unable build msg"), nil, err + return simtypes.NoOpMsg(types.ModuleName, msgType, "unable to build msg"), nil, err } txCtx := simulation.OperationInput{ From 6412f8b8f2d99b7ca6f8bc1068593d1bb08d6b52 Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 22 May 2023 17:00:40 +0530 Subject: [PATCH 095/106] fix sim tests --- x/staking/keeper/cons_pubkey.go | 26 +++++++++++++++++++++++++ x/staking/keeper/msg_server.go | 22 +-------------------- x/staking/keeper/val_state_change.go | 17 ++++++++-------- x/staking/simulation/operations_test.go | 1 + 4 files changed, 36 insertions(+), 30 deletions(-) diff --git a/x/staking/keeper/cons_pubkey.go b/x/staking/keeper/cons_pubkey.go index 7ce544363d1f..0c5756a61283 100644 --- a/x/staking/keeper/cons_pubkey.go +++ b/x/staking/keeper/cons_pubkey.go @@ -5,6 +5,7 @@ import ( storetypes "cosmossdk.io/store/types" codectypes "github.com/cosmos/cosmos-sdk/codec/types" + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/address" "github.com/cosmos/cosmos-sdk/x/staking/types" @@ -35,6 +36,31 @@ func (k Keeper) SetConsPubKeyRotationHistory( k.SetConsKeyIndex(ctx, valAddr, queueTime) } +func (k Keeper) updateToNewPubkey(ctx sdk.Context, val types.Validator, oldPubKey, newPubKey *codectypes.Any, fee sdk.Coin) error { + val.ConsensusPubkey = newPubKey + + if err := k.DeleteValidatorByConsAddr(ctx, val); err != nil { + return err + } + + k.DeleteValidatorByPowerIndex(ctx, val) + k.SetValidator(ctx, val) + if err := k.SetValidatorByConsAddr(ctx, val); err != nil { + return err + } + + k.SetValidatorByPowerIndex(ctx, val) + + oldPk := oldPubKey.GetCachedValue().(cryptotypes.PubKey) + newPk := newPubKey.GetCachedValue().(cryptotypes.PubKey) + + if err := k.Hooks().AfterConsensusPubKeyUpdate(ctx, oldPk, newPk, fee); err != nil { + return err + } + + return nil +} + // GetValidatorConsPubKeyRotationHistory iterates over all the rotated history objects in the state with the given valAddr and returns. func (k Keeper) GetValidatorConsPubKeyRotationHistory(ctx sdk.Context, operatorAddress sdk.ValAddress) (historyObjects []types.ConsPubKeyRotationHistory) { store := ctx.KVStore(k.storeKey) diff --git a/x/staking/keeper/msg_server.go b/x/staking/keeper/msg_server.go index 52be6eea4fef..3d603c58abf9 100644 --- a/x/staking/keeper/msg_server.go +++ b/x/staking/keeper/msg_server.go @@ -606,37 +606,17 @@ func (k msgServer) RotateConsPubKey(goCtx context.Context, msg *types.MsgRotateC return nil, err } - // deletes old ValidatorByConsAddr - err = k.DeleteValidatorByConsAddr(ctx, validator) - if err != nil { - return nil, err - } - // overwrites NewPubKey in validator.ConsPubKey val, ok := validator.(types.Validator) if !ok { return nil, errorsmod.Wrapf(sdkerrors.ErrInvalidType, "Expecting types.Validator, got %T", validator) } - // delete the old validator associated with powerIndex - k.DeleteValidatorByPowerIndex(ctx, val) - - // SetValidatorByConsAddr for NewPubKey - oldConsensusPubKey := val.ConsensusPubkey - val.ConsensusPubkey = msg.NewPubkey - - k.SetValidator(ctx, val) - if err := k.SetValidatorByConsAddr(ctx, val); err != nil { - return nil, err - } - - k.SetValidatorByPowerIndex(ctx, val) - // Add ConsPubKeyRotationHistory for tracking rotation k.SetConsPubKeyRotationHistory( ctx, validator.GetOperator(), - oldConsensusPubKey, + val.ConsensusPubkey, msg.NewPubkey, uint64(ctx.BlockHeight()), rotationFee, diff --git a/x/staking/keeper/val_state_change.go b/x/staking/keeper/val_state_change.go index b1dd70866be4..d7273c283a91 100644 --- a/x/staking/keeper/val_state_change.go +++ b/x/staking/keeper/val_state_change.go @@ -236,21 +236,20 @@ func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx sdk.Context) (updates []ab return nil, err } - updates = append(updates, abci.ValidatorUpdate{ - PubKey: oldTmPk, - Power: 0, - }) + if !validator.Jailed { + updates = append(updates, abci.ValidatorUpdate{ + PubKey: oldTmPk, + Power: 0, + }) - if validator.ConsensusPower(powerReduction) != 0 { updates = append(updates, abci.ValidatorUpdate{ PubKey: newTmPk, Power: validator.ConsensusPower(powerReduction), }) - } - err = k.Hooks().AfterConsensusPubKeyUpdate(ctx, oldPk, newPk, history.Fee) - if err != nil { - return nil, err + if err := k.updateToNewPubkey(ctx, validator, history.OldConsPubkey, history.NewConsPubkey, history.Fee); err != nil { + return nil, err + } } } diff --git a/x/staking/simulation/operations_test.go b/x/staking/simulation/operations_test.go index 71fd17ea49c9..974ca186d31f 100644 --- a/x/staking/simulation/operations_test.go +++ b/x/staking/simulation/operations_test.go @@ -405,6 +405,7 @@ func (s *SimTestSuite) getTestingValidator2(ctx sdk.Context) types.Validator { val := s.getTestingValidator0(ctx) val.Status = types.Bonded s.stakingKeeper.SetValidator(ctx, val) + s.stakingKeeper.SetValidatorByConsAddr(ctx, val) return val } From 8c79adca1e1c944ccd934fefa0635ac728173d9b Mon Sep 17 00:00:00 2001 From: atheesh Date: Tue, 23 May 2023 20:23:14 +0530 Subject: [PATCH 096/106] fix keys --- .../integration/staking/keeper/msg_server_test.go | 11 +++++++++-- x/staking/keeper/cons_pubkey_test.go | 15 +++++---------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/tests/integration/staking/keeper/msg_server_test.go b/tests/integration/staking/keeper/msg_server_test.go index 691d0b71270e..6123b6070cb1 100644 --- a/tests/integration/staking/keeper/msg_server_test.go +++ b/tests/integration/staking/keeper/msg_server_test.go @@ -296,7 +296,9 @@ func TestRotateConsPubKey(t *testing.T) { ctx = ctx.WithBlockHeight(ctx.BlockHeight() + 1) // this shouldn't remove the existing keys from waiting queue since unbonding time isn't reached - stakingKeeper.UpdateAllMaturedConsKeyRotatedKeys(ctx, ctx.BlockHeader().Time) + _, err = stakingKeeper.EndBlocker(ctx) + require.NoError(t, err) + // stakingKeeper.UpdateAllMaturedConsKeyRotatedKeys(ctx, ctx.BlockHeader().Time) msg, err = types.NewMsgRotateConsPubKey( validators[3].GetOperator(), @@ -312,7 +314,9 @@ func TestRotateConsPubKey(t *testing.T) { newCtx := ctx.WithBlockTime(ctx.BlockHeader().Time.Add(stakingKeeper.UnbondingTime(ctx))) newCtx = newCtx.WithBlockHeight(newCtx.BlockHeight() + 1) // this should remove keys from waiting queue since unbonding time is reached - stakingKeeper.UpdateAllMaturedConsKeyRotatedKeys(newCtx, newCtx.BlockHeader().Time) + _, err = stakingKeeper.EndBlocker(newCtx) + require.NoError(t, err) + // stakingKeeper.UpdateAllMaturedConsKeyRotatedKeys(newCtx, newCtx.BlockHeader().Time) return newCtx }, @@ -340,6 +344,9 @@ func TestRotateConsPubKey(t *testing.T) { if testCase.pass { require.NoError(t, err) + _, err = stakingKeeper.EndBlocker(newCtx) + require.NoError(t, err) + // rotation fee payment from sender to distrtypes newDistrBalance := bankKeeper.GetBalance(newCtx, accountKeeper.GetModuleAddress(distrtypes.ModuleName), bondDenom) require.Equal(t, newDistrBalance, oldDistrBalance.Add(testCase.fees)) diff --git a/x/staking/keeper/cons_pubkey_test.go b/x/staking/keeper/cons_pubkey_test.go index 8cea001580c8..8f5036bf9fb6 100644 --- a/x/staking/keeper/cons_pubkey_test.go +++ b/x/staking/keeper/cons_pubkey_test.go @@ -16,11 +16,7 @@ import ( func (s *KeeperTestSuite) TestConsPubKeyRotationHistory() { stakingKeeper, ctx := s.stakingKeeper, s.ctx - addrDels, addrVals := createValAddrs(2) - for _, addr := range addrDels { - s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes() - s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes() - } + _, addrVals := createValAddrs(2) // create a validator with a self-delegation val := testutil.NewValidator(s.T(), addrVals[0], PKs[0]) @@ -193,6 +189,9 @@ func (s *KeeperTestSuite) TestConsKeyRotn() { s.Require().Contains(err.Error(), tc.errMsg) } else { s.Require().NoError(err) + _, err = stakingKeeper.EndBlocker(newCtx) + s.Require().NoError(err) + valInfo, found := stakingKeeper.GetValidator(newCtx, tc.validator) s.Require().True(found) s.Require().Equal(valInfo.ConsensusPubkey, req.NewPubkey) @@ -204,11 +203,7 @@ func (s *KeeperTestSuite) TestConsKeyRotn() { func (s *KeeperTestSuite) setValidators(n int) { stakingKeeper, ctx := s.stakingKeeper, s.ctx - addrDels, addrVals := createValAddrs(n) - for _, addr := range addrDels { - s.accountKeeper.EXPECT().StringToBytes(addr.String()).Return(addr, nil).AnyTimes() - s.accountKeeper.EXPECT().BytesToString(addr).Return(addr.String(), nil).AnyTimes() - } + _, addrVals := createValAddrs(n) for i := 0; i < n; i++ { val := testutil.NewValidator(s.T(), addrVals[i], PKs[i]) From c522de68f09efff9912c40453c3fa32d57cb5ae4 Mon Sep 17 00:00:00 2001 From: atheesh Date: Tue, 23 May 2023 20:39:27 +0530 Subject: [PATCH 097/106] fix tests --- tests/integration/evidence/keeper/infraction_test.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/integration/evidence/keeper/infraction_test.go b/tests/integration/evidence/keeper/infraction_test.go index 5d0d1ba29d03..aff9f406a0d6 100644 --- a/tests/integration/evidence/keeper/infraction_test.go +++ b/tests/integration/evidence/keeper/infraction_test.go @@ -332,7 +332,8 @@ func TestHandleDoubleSignAfterRotation(t *testing.T) { tstaking.Undelegate(sdk.AccAddress(operatorAddr), operatorAddr, totalBond, true) // query evidence from store - evidences := f.evidenceKeeper.GetAllEvidence(ctx) + evidences, err := f.evidenceKeeper.GetAllEvidence(ctx) + assert.NilError(t, err) assert.Assert(t, len(evidences) == 1) } From 56c1048340370fdc165754865ec872905e3ccab7 Mon Sep 17 00:00:00 2001 From: atheesh Date: Wed, 24 May 2023 14:04:11 +0530 Subject: [PATCH 098/106] fix failing tests --- x/staking/keeper/cons_pubkey.go | 4 ++-- x/staking/keeper/val_state_change.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/x/staking/keeper/cons_pubkey.go b/x/staking/keeper/cons_pubkey.go index 0c5756a61283..b357a4b1358a 100644 --- a/x/staking/keeper/cons_pubkey.go +++ b/x/staking/keeper/cons_pubkey.go @@ -37,13 +37,13 @@ func (k Keeper) SetConsPubKeyRotationHistory( } func (k Keeper) updateToNewPubkey(ctx sdk.Context, val types.Validator, oldPubKey, newPubKey *codectypes.Any, fee sdk.Coin) error { - val.ConsensusPubkey = newPubKey - if err := k.DeleteValidatorByConsAddr(ctx, val); err != nil { return err } k.DeleteValidatorByPowerIndex(ctx, val) + + val.ConsensusPubkey = newPubKey k.SetValidator(ctx, val) if err := k.SetValidatorByConsAddr(ctx, val); err != nil { return err diff --git a/x/staking/keeper/val_state_change.go b/x/staking/keeper/val_state_change.go index dcf47fe20a53..74175576989c 100644 --- a/x/staking/keeper/val_state_change.go +++ b/x/staking/keeper/val_state_change.go @@ -236,7 +236,7 @@ func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx sdk.Context) (updates []ab return nil, err } - if !validator.Jailed { + if !(validator.Jailed || validator.Status != types.Bonded) { updates = append(updates, abci.ValidatorUpdate{ PubKey: oldTmPk, Power: 0, From 3ff4c17e01e776b2bdeba1bd10a070e24735de9e Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Fri, 26 May 2023 11:36:48 +0000 Subject: [PATCH 099/106] proto-gen --- x/staking/types/staking.pb.go | 1408 +++++++++++++++++---------------- 1 file changed, 708 insertions(+), 700 deletions(-) diff --git a/x/staking/types/staking.pb.go b/x/staking/types/staking.pb.go index c1f659925168..d02dc0917440 100644 --- a/x/staking/types/staking.pb.go +++ b/x/staking/types/staking.pb.go @@ -1517,706 +1517,714 @@ func (this *Pool) Description() (desc *github_com_cosmos_gogoproto_protoc_gen_go func StakingDescription() (desc *github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet) { d := &github_com_cosmos_gogoproto_protoc_gen_gogo_descriptor.FileDescriptorSet{} var gzipped = []byte{ - // 11178 bytes of a gzipped FileDescriptorSet - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x69, 0x90, 0x1c, 0x47, - 0x76, 0x1f, 0x3e, 0x7d, 0x4c, 0x1f, 0xaf, 0xaf, 0x9a, 0x9c, 0x01, 0x30, 0x68, 0x90, 0x33, 0xc3, - 0xe2, 0x92, 0x00, 0x41, 0x72, 0x40, 0x82, 0x04, 0x48, 0x0e, 0x96, 0xcb, 0x7f, 0x77, 0x4f, 0x63, - 0xd0, 0xe0, 0x5c, 0xac, 0xee, 0x01, 0x0f, 0x1d, 0xa5, 0x9a, 0xea, 0x9c, 0x9e, 0x22, 0xba, 0xab, - 0x7a, 0xab, 0xaa, 0x81, 0x19, 0xc6, 0x3f, 0x1c, 0x2b, 0xad, 0x64, 0xaf, 0x60, 0x59, 0x5a, 0x1d, - 0x61, 0xad, 0xa4, 0x85, 0xcc, 0x95, 0x2c, 0xed, 0x4a, 0xbe, 0x74, 0xac, 0xb5, 0x92, 0x15, 0x92, - 0x25, 0x87, 0x0f, 0x49, 0x76, 0x38, 0xd6, 0xfa, 0x60, 0x2b, 0x1c, 0x61, 0x5a, 0xe2, 0x2a, 0xa4, - 0xf5, 0x6a, 0x65, 0x5d, 0x94, 0x6d, 0x79, 0xc3, 0x0a, 0x47, 0x5e, 0x75, 0xf4, 0x31, 0xdd, 0x03, - 0x91, 0xd4, 0xda, 0xf2, 0x17, 0xa0, 0x2b, 0xf3, 0xbd, 0x5f, 0x65, 0xbe, 0x7c, 0xf9, 0xf2, 0xbd, - 0x97, 0x59, 0x39, 0xf0, 0x5b, 0x65, 0x58, 0x6a, 0x59, 0x56, 0xab, 0x8d, 0x2f, 0x74, 0x6d, 0xcb, - 0xb5, 0x76, 0x7b, 0x7b, 0x17, 0x9a, 0xd8, 0xd1, 0x6d, 0xa3, 0xeb, 0x5a, 0xf6, 0x32, 0x2d, 0x43, - 0x05, 0x46, 0xb1, 0x2c, 0x28, 0xe4, 0x0d, 0x98, 0xb9, 0x6a, 0xb4, 0xf1, 0xaa, 0x47, 0x58, 0xc7, - 0x2e, 0x7a, 0x16, 0xe2, 0x7b, 0x46, 0x1b, 0xcf, 0x47, 0x96, 0x62, 0xe7, 0x32, 0x17, 0x3f, 0xb0, - 0xdc, 0xc7, 0xb4, 0x1c, 0xe6, 0xd8, 0x26, 0xc5, 0x0a, 0xe5, 0x90, 0xff, 0x3c, 0x0e, 0xb3, 0x43, - 0x6a, 0x11, 0x82, 0xb8, 0xa9, 0x75, 0x08, 0x62, 0xe4, 0x5c, 0x5a, 0xa1, 0xbf, 0xd1, 0x3c, 0x24, - 0xbb, 0x9a, 0x7e, 0x53, 0x6b, 0xe1, 0xf9, 0x28, 0x2d, 0x16, 0x8f, 0x68, 0x01, 0xa0, 0x89, 0xbb, - 0xd8, 0x6c, 0x62, 0x53, 0x3f, 0x9c, 0x8f, 0x2d, 0xc5, 0xce, 0xa5, 0x95, 0x40, 0x09, 0x7a, 0x14, - 0x66, 0xba, 0xbd, 0xdd, 0xb6, 0xa1, 0xab, 0x01, 0x32, 0x58, 0x8a, 0x9d, 0x9b, 0x56, 0x24, 0x56, - 0xb1, 0xea, 0x13, 0x9f, 0x85, 0xc2, 0x6d, 0xac, 0xdd, 0x0c, 0x92, 0x66, 0x28, 0x69, 0x9e, 0x14, - 0x07, 0x08, 0x2b, 0x90, 0xed, 0x60, 0xc7, 0xd1, 0x5a, 0x58, 0x75, 0x0f, 0xbb, 0x78, 0x3e, 0x4e, - 0x7b, 0xbf, 0x34, 0xd0, 0xfb, 0xfe, 0x9e, 0x67, 0x38, 0x57, 0xe3, 0xb0, 0x8b, 0x51, 0x09, 0xd2, - 0xd8, 0xec, 0x75, 0x18, 0xc2, 0xf4, 0x08, 0xf9, 0x55, 0xcd, 0x5e, 0xa7, 0x1f, 0x25, 0x45, 0xd8, - 0x38, 0x44, 0xd2, 0xc1, 0xf6, 0x2d, 0x43, 0xc7, 0xf3, 0x09, 0x0a, 0x70, 0x76, 0x00, 0xa0, 0xce, - 0xea, 0xfb, 0x31, 0x04, 0x1f, 0xaa, 0x40, 0x1a, 0x1f, 0xb8, 0xd8, 0x74, 0x0c, 0xcb, 0x9c, 0x4f, - 0x52, 0x90, 0x87, 0x86, 0x8c, 0x22, 0x6e, 0x37, 0xfb, 0x21, 0x7c, 0x3e, 0x74, 0x19, 0x92, 0x56, - 0xd7, 0x35, 0x2c, 0xd3, 0x99, 0x4f, 0x2d, 0x45, 0xce, 0x65, 0x2e, 0xde, 0x37, 0x54, 0x11, 0xb6, - 0x18, 0x8d, 0x22, 0x88, 0x51, 0x0d, 0x24, 0xc7, 0xea, 0xd9, 0x3a, 0x56, 0x75, 0xab, 0x89, 0x55, - 0xc3, 0xdc, 0xb3, 0xe6, 0xd3, 0x14, 0x60, 0x71, 0xb0, 0x23, 0x94, 0xb0, 0x62, 0x35, 0x71, 0xcd, - 0xdc, 0xb3, 0x94, 0xbc, 0x13, 0x7a, 0x46, 0x27, 0x21, 0xe1, 0x1c, 0x9a, 0xae, 0x76, 0x30, 0x9f, - 0xa5, 0x1a, 0xc2, 0x9f, 0x88, 0xea, 0xe0, 0xa6, 0x41, 0x5e, 0x37, 0x9f, 0x63, 0xaa, 0xc3, 0x1f, - 0xe5, 0x9f, 0x4b, 0x40, 0x61, 0x12, 0xe5, 0xbb, 0x02, 0xd3, 0x7b, 0xa4, 0xff, 0xf3, 0xd1, 0xe3, - 0x48, 0x87, 0xf1, 0x84, 0xc5, 0x9b, 0xb8, 0x47, 0xf1, 0x96, 0x20, 0x63, 0x62, 0xc7, 0xc5, 0x4d, - 0xa6, 0x2b, 0xb1, 0x09, 0xb5, 0x0d, 0x18, 0xd3, 0xa0, 0xb2, 0xc5, 0xef, 0x49, 0xd9, 0x5e, 0x81, - 0x82, 0xd7, 0x24, 0xd5, 0xd6, 0xcc, 0x96, 0xd0, 0xda, 0x0b, 0xe3, 0x5a, 0xb2, 0x5c, 0x15, 0x7c, - 0x0a, 0x61, 0x53, 0xf2, 0x38, 0xf4, 0x8c, 0x56, 0x01, 0x2c, 0x13, 0x5b, 0x7b, 0x6a, 0x13, 0xeb, - 0xed, 0xf9, 0xd4, 0x08, 0x29, 0x6d, 0x11, 0x92, 0x01, 0x29, 0x59, 0xac, 0x54, 0x6f, 0xa3, 0xe7, - 0x7c, 0x25, 0x4c, 0x8e, 0xd0, 0xa1, 0x0d, 0x36, 0xfd, 0x06, 0xf4, 0x70, 0x07, 0xf2, 0x36, 0x26, - 0x33, 0x02, 0x37, 0x79, 0xcf, 0xd2, 0xb4, 0x11, 0xcb, 0x63, 0x7b, 0xa6, 0x70, 0x36, 0xd6, 0xb1, - 0x9c, 0x1d, 0x7c, 0x44, 0x0f, 0x82, 0x57, 0xa0, 0x52, 0xb5, 0x02, 0x6a, 0x9f, 0xb2, 0xa2, 0x70, - 0x53, 0xeb, 0xe0, 0xe2, 0x1b, 0x90, 0x0f, 0x8b, 0x07, 0xcd, 0xc1, 0xb4, 0xe3, 0x6a, 0xb6, 0x4b, - 0xb5, 0x70, 0x5a, 0x61, 0x0f, 0x48, 0x82, 0x18, 0x36, 0x9b, 0xd4, 0xfe, 0x4d, 0x2b, 0xe4, 0x27, - 0xfa, 0xff, 0xfc, 0x0e, 0xc7, 0x68, 0x87, 0x1f, 0x1e, 0x1c, 0xd1, 0x10, 0x72, 0x7f, 0xbf, 0x8b, - 0xcf, 0x40, 0x2e, 0xd4, 0x81, 0x49, 0x5f, 0x2d, 0xff, 0xff, 0x70, 0x62, 0x28, 0x34, 0x7a, 0x05, - 0xe6, 0x7a, 0xa6, 0x61, 0xba, 0xd8, 0xee, 0xda, 0x98, 0x68, 0x2c, 0x7b, 0xd5, 0xfc, 0xef, 0x26, - 0x47, 0xe8, 0xdc, 0x4e, 0x90, 0x9a, 0xa1, 0x28, 0xb3, 0xbd, 0xc1, 0xc2, 0xf3, 0xe9, 0xd4, 0x17, - 0x93, 0xd2, 0x47, 0x3e, 0xf2, 0x91, 0x8f, 0x44, 0xe5, 0x5f, 0x4e, 0xc0, 0xdc, 0xb0, 0x39, 0x33, - 0x74, 0xfa, 0x9e, 0x84, 0x84, 0xd9, 0xeb, 0xec, 0x62, 0x9b, 0x0a, 0x69, 0x5a, 0xe1, 0x4f, 0xa8, - 0x04, 0xd3, 0x6d, 0x6d, 0x17, 0xb7, 0xe7, 0xe3, 0x4b, 0x91, 0x73, 0xf9, 0x8b, 0x8f, 0x4e, 0x34, - 0x2b, 0x97, 0xd7, 0x09, 0x8b, 0xc2, 0x38, 0xd1, 0x87, 0x20, 0xce, 0x8d, 0x37, 0x41, 0x38, 0x3f, - 0x19, 0x02, 0x99, 0x4b, 0x0a, 0xe5, 0x43, 0x67, 0x20, 0x4d, 0xfe, 0x67, 0xba, 0x91, 0xa0, 0x6d, - 0x4e, 0x91, 0x02, 0xa2, 0x17, 0xa8, 0x08, 0x29, 0x3a, 0x4d, 0x9a, 0x58, 0x2c, 0x7a, 0xde, 0x33, - 0x51, 0xac, 0x26, 0xde, 0xd3, 0x7a, 0x6d, 0x57, 0xbd, 0xa5, 0xb5, 0x7b, 0x98, 0x2a, 0x7c, 0x5a, - 0xc9, 0xf2, 0xc2, 0x1b, 0xa4, 0x0c, 0x2d, 0x42, 0x86, 0xcd, 0x2a, 0xc3, 0x6c, 0xe2, 0x03, 0x6a, - 0x57, 0xa7, 0x15, 0x36, 0xd1, 0x6a, 0xa4, 0x84, 0xbc, 0xfe, 0x75, 0xc7, 0x32, 0x85, 0x6a, 0xd2, - 0x57, 0x90, 0x02, 0xfa, 0xfa, 0x67, 0xfa, 0x4d, 0xfa, 0xfd, 0xc3, 0xbb, 0x37, 0x30, 0x97, 0xce, - 0x42, 0x81, 0x52, 0x3c, 0xc5, 0x87, 0x5e, 0x6b, 0xcf, 0xcf, 0x2c, 0x45, 0xce, 0xa5, 0x94, 0x3c, - 0x2b, 0xde, 0xe2, 0xa5, 0xf2, 0xcf, 0x44, 0x21, 0x4e, 0x0d, 0x4b, 0x01, 0x32, 0x8d, 0x57, 0xb7, - 0xab, 0xea, 0xea, 0xd6, 0x4e, 0x79, 0xbd, 0x2a, 0x45, 0x50, 0x1e, 0x80, 0x16, 0x5c, 0x5d, 0xdf, - 0x2a, 0x35, 0xa4, 0xa8, 0xf7, 0x5c, 0xdb, 0x6c, 0x5c, 0x7e, 0x5a, 0x8a, 0x79, 0x0c, 0x3b, 0xac, - 0x20, 0x1e, 0x24, 0x78, 0xea, 0xa2, 0x34, 0x8d, 0x24, 0xc8, 0x32, 0x80, 0xda, 0x2b, 0xd5, 0xd5, - 0xcb, 0x4f, 0x4b, 0x89, 0x70, 0xc9, 0x53, 0x17, 0xa5, 0x24, 0xca, 0x41, 0x9a, 0x96, 0x94, 0xb7, - 0xb6, 0xd6, 0xa5, 0x94, 0x87, 0x59, 0x6f, 0x28, 0xb5, 0xcd, 0x35, 0x29, 0xed, 0x61, 0xae, 0x29, - 0x5b, 0x3b, 0xdb, 0x12, 0x78, 0x08, 0x1b, 0xd5, 0x7a, 0xbd, 0xb4, 0x56, 0x95, 0x32, 0x1e, 0x45, - 0xf9, 0xd5, 0x46, 0xb5, 0x2e, 0x65, 0x43, 0xcd, 0x7a, 0xea, 0xa2, 0x94, 0xf3, 0x5e, 0x51, 0xdd, - 0xdc, 0xd9, 0x90, 0xf2, 0x68, 0x06, 0x72, 0xec, 0x15, 0xa2, 0x11, 0x85, 0xbe, 0xa2, 0xcb, 0x4f, - 0x4b, 0x92, 0xdf, 0x10, 0x86, 0x32, 0x13, 0x2a, 0xb8, 0xfc, 0xb4, 0x84, 0xe4, 0x0a, 0x4c, 0x53, - 0x35, 0x44, 0x08, 0xf2, 0xeb, 0xa5, 0x72, 0x75, 0x5d, 0xdd, 0xda, 0x6e, 0xd4, 0xb6, 0x36, 0x4b, - 0xeb, 0x52, 0xc4, 0x2f, 0x53, 0xaa, 0x2f, 0xed, 0xd4, 0x94, 0xea, 0xaa, 0x14, 0x0d, 0x96, 0x6d, - 0x57, 0x4b, 0x8d, 0xea, 0xaa, 0x14, 0x93, 0x75, 0x98, 0x1b, 0x66, 0x50, 0x87, 0x4e, 0xa1, 0x80, - 0x2e, 0x44, 0x47, 0xe8, 0x02, 0xc5, 0xea, 0xd7, 0x05, 0xf9, 0x0b, 0x51, 0x98, 0x1d, 0xb2, 0xa8, - 0x0c, 0x7d, 0xc9, 0x0b, 0x30, 0xcd, 0x74, 0x99, 0x2d, 0xb3, 0x8f, 0x0c, 0x5d, 0x9d, 0xa8, 0x66, - 0x0f, 0x2c, 0xb5, 0x94, 0x2f, 0xe8, 0x84, 0xc4, 0x46, 0x38, 0x21, 0x04, 0x62, 0x40, 0x61, 0xbf, - 0x6e, 0xc0, 0xf8, 0xb3, 0xf5, 0xf1, 0xf2, 0x24, 0xeb, 0x23, 0x2d, 0x3b, 0xde, 0x22, 0x30, 0x3d, - 0x64, 0x11, 0xb8, 0x02, 0x33, 0x03, 0x40, 0x13, 0x1b, 0xe3, 0x8f, 0x46, 0x60, 0x7e, 0x94, 0x70, - 0xc6, 0x98, 0xc4, 0x68, 0xc8, 0x24, 0x5e, 0xe9, 0x97, 0xe0, 0x03, 0xa3, 0x07, 0x61, 0x60, 0xac, - 0x3f, 0x1d, 0x81, 0x93, 0xc3, 0x9d, 0xcd, 0xa1, 0x6d, 0xf8, 0x10, 0x24, 0x3a, 0xd8, 0xdd, 0xb7, - 0x84, 0x5b, 0xf5, 0xf0, 0x90, 0xc5, 0x9a, 0x54, 0xf7, 0x0f, 0x36, 0xe7, 0x0a, 0xae, 0xf6, 0xb1, - 0x51, 0x1e, 0x23, 0x6b, 0xcd, 0x40, 0x4b, 0xbf, 0x35, 0x0a, 0x27, 0x86, 0x82, 0x0f, 0x6d, 0xe8, - 0xfd, 0x00, 0x86, 0xd9, 0xed, 0xb9, 0xcc, 0x75, 0x62, 0x96, 0x38, 0x4d, 0x4b, 0xa8, 0xf1, 0x22, - 0x56, 0xb6, 0xe7, 0x7a, 0xf5, 0x31, 0x5a, 0x0f, 0xac, 0x88, 0x12, 0x3c, 0xeb, 0x37, 0x34, 0x4e, - 0x1b, 0xba, 0x30, 0xa2, 0xa7, 0x03, 0x8a, 0xf9, 0x04, 0x48, 0x7a, 0xdb, 0xc0, 0xa6, 0xab, 0x3a, - 0xae, 0x8d, 0xb5, 0x8e, 0x61, 0xb6, 0xe8, 0x52, 0x93, 0x5a, 0x99, 0xde, 0xd3, 0xda, 0x0e, 0x56, - 0x0a, 0xac, 0xba, 0x2e, 0x6a, 0x09, 0x07, 0x55, 0x20, 0x3b, 0xc0, 0x91, 0x08, 0x71, 0xb0, 0x6a, - 0x8f, 0x43, 0xfe, 0xce, 0x34, 0x64, 0x02, 0xae, 0x39, 0x7a, 0x00, 0xb2, 0xaf, 0x6b, 0xb7, 0x34, - 0x55, 0x84, 0x5b, 0x4c, 0x12, 0x19, 0x52, 0xb6, 0xcd, 0x43, 0xae, 0x27, 0x60, 0x8e, 0x92, 0x58, - 0x3d, 0x17, 0xdb, 0xaa, 0xde, 0xd6, 0x1c, 0x87, 0x0a, 0x2d, 0x45, 0x49, 0x11, 0xa9, 0xdb, 0x22, - 0x55, 0x15, 0x51, 0x83, 0x2e, 0xc1, 0x2c, 0xe5, 0xe8, 0xf4, 0xda, 0xae, 0xd1, 0x6d, 0x63, 0x95, - 0x04, 0x80, 0x0e, 0x5d, 0x72, 0xbc, 0x96, 0xcd, 0x10, 0x8a, 0x0d, 0x4e, 0x40, 0x5a, 0xe4, 0xa0, - 0x55, 0xb8, 0x9f, 0xb2, 0xb5, 0xb0, 0x89, 0x6d, 0xcd, 0xc5, 0x2a, 0xfe, 0x70, 0x4f, 0x6b, 0x3b, - 0xaa, 0x66, 0x36, 0xd5, 0x7d, 0xcd, 0xd9, 0x9f, 0x9f, 0x23, 0x00, 0xe5, 0xe8, 0x7c, 0x44, 0x39, - 0x4d, 0x08, 0xd7, 0x38, 0x5d, 0x95, 0x92, 0x95, 0xcc, 0xe6, 0x35, 0xcd, 0xd9, 0x47, 0x2b, 0x70, - 0x92, 0xa2, 0x38, 0xae, 0x6d, 0x98, 0x2d, 0x55, 0xdf, 0xc7, 0xfa, 0x4d, 0xb5, 0xe7, 0xee, 0x3d, - 0x3b, 0x7f, 0x26, 0xf8, 0x7e, 0xda, 0xc2, 0x3a, 0xa5, 0xa9, 0x10, 0x92, 0x1d, 0x77, 0xef, 0x59, - 0x54, 0x87, 0x2c, 0x19, 0x8c, 0x8e, 0xf1, 0x06, 0x56, 0xf7, 0x2c, 0x9b, 0xae, 0xa1, 0xf9, 0x21, - 0xa6, 0x29, 0x20, 0xc1, 0xe5, 0x2d, 0xce, 0xb0, 0x61, 0x35, 0xf1, 0xca, 0x74, 0x7d, 0xbb, 0x5a, - 0x5d, 0x55, 0x32, 0x02, 0xe5, 0xaa, 0x65, 0x13, 0x85, 0x6a, 0x59, 0x9e, 0x80, 0x33, 0x4c, 0xa1, - 0x5a, 0x96, 0x10, 0xef, 0x25, 0x98, 0xd5, 0x75, 0xd6, 0x67, 0x43, 0x57, 0x79, 0x98, 0xe6, 0xcc, - 0x4b, 0x21, 0x61, 0xe9, 0xfa, 0x1a, 0x23, 0xe0, 0x3a, 0xee, 0xa0, 0xe7, 0xe0, 0x84, 0x2f, 0xac, - 0x20, 0xe3, 0xcc, 0x40, 0x2f, 0xfb, 0x59, 0x2f, 0xc1, 0x6c, 0xf7, 0x70, 0x90, 0x11, 0x85, 0xde, - 0xd8, 0x3d, 0xec, 0x67, 0x7b, 0x06, 0xe6, 0xba, 0xfb, 0xdd, 0x41, 0xbe, 0xf3, 0x41, 0x3e, 0xd4, - 0xdd, 0xef, 0xf6, 0x33, 0x3e, 0x44, 0x63, 0x76, 0x1b, 0xeb, 0x9a, 0x8b, 0x9b, 0xf3, 0xa7, 0x82, - 0xe4, 0x81, 0x0a, 0xb4, 0x0c, 0x92, 0xae, 0xab, 0xd8, 0xd4, 0x76, 0xdb, 0x58, 0xd5, 0x6c, 0x6c, - 0x6a, 0xce, 0xfc, 0x22, 0x25, 0x8e, 0xbb, 0x76, 0x0f, 0x2b, 0x79, 0x5d, 0xaf, 0xd2, 0xca, 0x12, - 0xad, 0x43, 0xe7, 0x61, 0xc6, 0xda, 0x7d, 0x5d, 0x67, 0x1a, 0xa9, 0x76, 0x6d, 0xbc, 0x67, 0x1c, - 0xcc, 0x7f, 0x80, 0x8a, 0xb7, 0x40, 0x2a, 0xa8, 0x3e, 0x6e, 0xd3, 0x62, 0xf4, 0x08, 0x48, 0xba, - 0xb3, 0xaf, 0xd9, 0x5d, 0x6a, 0x92, 0x9d, 0xae, 0xa6, 0xe3, 0xf9, 0x87, 0x18, 0x29, 0x2b, 0xdf, - 0x14, 0xc5, 0x64, 0x46, 0x38, 0xb7, 0x8d, 0x3d, 0x57, 0x20, 0x9e, 0x65, 0x33, 0x82, 0x96, 0x71, - 0xb4, 0x73, 0x20, 0x11, 0x49, 0x84, 0x5e, 0x7c, 0x8e, 0x92, 0xe5, 0xbb, 0xfb, 0xdd, 0xe0, 0x7b, - 0x1f, 0x84, 0x1c, 0xa1, 0xf4, 0x5f, 0xfa, 0x08, 0x73, 0xdc, 0xba, 0xfb, 0x81, 0x37, 0x3e, 0x0d, - 0x27, 0x09, 0x51, 0x07, 0xbb, 0x5a, 0x53, 0x73, 0xb5, 0x00, 0xf5, 0x63, 0x94, 0x9a, 0x88, 0x7d, - 0x83, 0x57, 0x86, 0xda, 0x69, 0xf7, 0x76, 0x0f, 0x3d, 0xc5, 0x7a, 0x9c, 0xb5, 0x93, 0x94, 0x09, - 0xd5, 0x7a, 0xcf, 0x9c, 0x73, 0x79, 0x05, 0xb2, 0x41, 0xbd, 0x47, 0x69, 0x60, 0x9a, 0x2f, 0x45, - 0x88, 0x13, 0x54, 0xd9, 0x5a, 0x25, 0xee, 0xcb, 0x6b, 0x55, 0x29, 0x4a, 0xdc, 0xa8, 0xf5, 0x5a, - 0xa3, 0xaa, 0x2a, 0x3b, 0x9b, 0x8d, 0xda, 0x46, 0x55, 0x8a, 0x05, 0x1c, 0xfb, 0xeb, 0xf1, 0xd4, - 0xc3, 0xd2, 0x59, 0xf9, 0xe7, 0x63, 0x90, 0x0f, 0x47, 0x6a, 0xe8, 0x83, 0x70, 0x4a, 0x24, 0x5c, - 0x1c, 0xec, 0xaa, 0xb7, 0x0d, 0x9b, 0x4e, 0xc8, 0x8e, 0xc6, 0x16, 0x47, 0x4f, 0x7f, 0xe6, 0x38, - 0x55, 0x1d, 0xbb, 0x2f, 0x1b, 0x36, 0x99, 0x6e, 0x1d, 0xcd, 0x45, 0xeb, 0xb0, 0x68, 0x5a, 0xaa, - 0xe3, 0x6a, 0x66, 0x53, 0xb3, 0x9b, 0xaa, 0x9f, 0xea, 0x52, 0x35, 0x5d, 0xc7, 0x8e, 0x63, 0xb1, - 0x85, 0xd0, 0x43, 0xb9, 0xcf, 0xb4, 0xea, 0x9c, 0xd8, 0x5f, 0x21, 0x4a, 0x9c, 0xb4, 0x4f, 0x7d, - 0x63, 0xa3, 0xd4, 0xf7, 0x0c, 0xa4, 0x3b, 0x5a, 0x57, 0xc5, 0xa6, 0x6b, 0x1f, 0x52, 0xff, 0x3c, - 0xa5, 0xa4, 0x3a, 0x5a, 0xb7, 0x4a, 0x9e, 0xd1, 0x0d, 0x78, 0xd8, 0x27, 0x55, 0xdb, 0xb8, 0xa5, - 0xe9, 0x87, 0x2a, 0x75, 0xc6, 0x69, 0xda, 0x40, 0xd5, 0x2d, 0x73, 0xaf, 0x6d, 0xe8, 0xae, 0x43, - 0xed, 0x03, 0xb3, 0x71, 0xb2, 0xcf, 0xb1, 0x4e, 0x19, 0xae, 0x3b, 0x96, 0x49, 0x7d, 0xf0, 0x8a, - 0xa0, 0x7e, 0x5f, 0xc2, 0xaf, 0xeb, 0xf1, 0x54, 0x5c, 0x9a, 0xbe, 0x1e, 0x4f, 0x4d, 0x4b, 0x89, - 0xeb, 0xf1, 0x54, 0x42, 0x4a, 0x5e, 0x8f, 0xa7, 0x52, 0x52, 0xfa, 0x7a, 0x3c, 0x95, 0x96, 0x40, - 0xfe, 0x5c, 0x0a, 0xb2, 0xc1, 0xc8, 0x80, 0x04, 0x5a, 0x3a, 0x5d, 0x1b, 0x23, 0xd4, 0x7a, 0x3e, - 0x78, 0x64, 0x1c, 0xb1, 0x5c, 0x21, 0x8b, 0xe6, 0x4a, 0x82, 0xb9, 0xe1, 0x0a, 0xe3, 0x24, 0x0e, - 0x0b, 0x51, 0x6b, 0xcc, 0xdc, 0x9e, 0x94, 0xc2, 0x9f, 0xd0, 0x1a, 0x24, 0x5e, 0x77, 0x28, 0x76, - 0x82, 0x62, 0x7f, 0xe0, 0x68, 0xec, 0xeb, 0x75, 0x0a, 0x9e, 0xbe, 0x5e, 0x57, 0x37, 0xb7, 0x94, - 0x8d, 0xd2, 0xba, 0xc2, 0xd9, 0xd1, 0x69, 0x88, 0xb7, 0xb5, 0x37, 0x0e, 0xc3, 0xcb, 0x2b, 0x2d, - 0x42, 0xcb, 0x50, 0xe8, 0x99, 0xb7, 0xb0, 0x6d, 0xec, 0x19, 0x64, 0xa8, 0x08, 0x55, 0x21, 0x48, - 0x95, 0xf7, 0x6b, 0xd7, 0x09, 0xfd, 0x84, 0xea, 0x71, 0x1a, 0xe2, 0xb7, 0xb1, 0x76, 0x33, 0xbc, - 0x08, 0xd2, 0x22, 0x74, 0x0e, 0xb2, 0x4d, 0xbc, 0xdb, 0x6b, 0xa9, 0x36, 0x6e, 0x6a, 0xba, 0x1b, - 0x36, 0xfd, 0x19, 0x5a, 0xa5, 0xd0, 0x1a, 0xf4, 0x22, 0xa4, 0xc9, 0x18, 0x99, 0x74, 0x8c, 0x67, - 0xa8, 0x08, 0x1e, 0x3f, 0x5a, 0x04, 0x7c, 0x88, 0x05, 0x93, 0xe2, 0xf3, 0xa3, 0xab, 0x90, 0x70, - 0x35, 0xbb, 0x85, 0x5d, 0x6a, 0xf9, 0xf3, 0x43, 0x92, 0x1f, 0x43, 0x90, 0x1a, 0x94, 0x83, 0xc6, - 0xb4, 0x9c, 0xfb, 0x3d, 0xb4, 0x32, 0x17, 0x60, 0x9a, 0xaa, 0x07, 0x02, 0xe0, 0x0a, 0x22, 0x4d, - 0xa1, 0x14, 0xc4, 0x2b, 0x5b, 0x0a, 0xb1, 0x34, 0x12, 0x64, 0x59, 0xa9, 0xba, 0x5d, 0xab, 0x56, - 0xaa, 0x52, 0x54, 0xbe, 0x04, 0x09, 0x36, 0xe6, 0xc4, 0x0a, 0x79, 0xa3, 0x2e, 0x4d, 0xf1, 0x47, - 0x8e, 0x11, 0x11, 0xb5, 0x3b, 0x1b, 0xe5, 0xaa, 0x22, 0x45, 0xe5, 0x1d, 0x28, 0xf4, 0xc9, 0x09, - 0x9d, 0x80, 0x19, 0xa5, 0xda, 0xa8, 0x6e, 0x92, 0x38, 0x4b, 0xdd, 0xd9, 0x7c, 0x71, 0x73, 0xeb, - 0xe5, 0x4d, 0x69, 0x2a, 0x5c, 0x2c, 0x4c, 0x5a, 0x04, 0xcd, 0x81, 0xe4, 0x17, 0xd7, 0xb7, 0x76, - 0x14, 0xda, 0x9a, 0x6f, 0x8b, 0x82, 0xd4, 0x2f, 0x35, 0x74, 0x0a, 0x66, 0x1b, 0x25, 0x65, 0xad, - 0xda, 0x50, 0x59, 0xec, 0xe8, 0x41, 0xcf, 0x81, 0x14, 0xac, 0xb8, 0x5a, 0xa3, 0xa1, 0xf1, 0x22, - 0x9c, 0x09, 0x96, 0x56, 0x5f, 0x69, 0x54, 0x37, 0xeb, 0xf4, 0xe5, 0xa5, 0xcd, 0x35, 0x62, 0x5f, - 0xfb, 0xf0, 0x44, 0xb4, 0x1a, 0x23, 0x4d, 0x0d, 0xe3, 0x55, 0xd7, 0x57, 0xa5, 0x78, 0x7f, 0xf1, - 0xd6, 0x66, 0x75, 0xeb, 0xaa, 0x34, 0xdd, 0xff, 0x76, 0x1a, 0xc1, 0x26, 0x50, 0x11, 0x4e, 0xf6, - 0x97, 0xaa, 0xd5, 0xcd, 0x86, 0xf2, 0xaa, 0x94, 0xec, 0x7f, 0x71, 0xbd, 0xaa, 0xdc, 0xa8, 0x55, - 0xaa, 0x52, 0x0a, 0x9d, 0x04, 0x14, 0x6e, 0x51, 0xe3, 0xda, 0xd6, 0xaa, 0x94, 0x1e, 0xb0, 0x28, - 0xb2, 0x03, 0xd9, 0x60, 0x18, 0xf9, 0xfe, 0xe4, 0x92, 0x3e, 0x11, 0x85, 0x4c, 0x20, 0x2c, 0x24, - 0xfe, 0xbc, 0xd6, 0x6e, 0x5b, 0xb7, 0x55, 0xad, 0x6d, 0x68, 0x0e, 0xb7, 0x37, 0x40, 0x8b, 0x4a, - 0xa4, 0x64, 0xd2, 0xf9, 0x3d, 0xb9, 0x85, 0x4f, 0x7c, 0x35, 0x5a, 0xf8, 0x69, 0x29, 0x21, 0xff, - 0x60, 0x04, 0xa4, 0xfe, 0x78, 0xaf, 0xaf, 0xfb, 0x91, 0x51, 0xdd, 0x7f, 0x5f, 0xc6, 0xee, 0x93, - 0x11, 0xc8, 0x87, 0x83, 0xbc, 0xbe, 0xe6, 0x3d, 0xf0, 0x97, 0xda, 0xbc, 0xdf, 0x8c, 0x42, 0x2e, - 0x14, 0xda, 0x4d, 0xda, 0xba, 0x0f, 0xc3, 0x8c, 0xd1, 0xc4, 0x9d, 0xae, 0xe5, 0x62, 0x53, 0x3f, - 0x54, 0xdb, 0xf8, 0x16, 0x6e, 0xcf, 0xcb, 0xd4, 0x28, 0x5f, 0x38, 0x3a, 0x78, 0x5c, 0xae, 0xf9, - 0x7c, 0xeb, 0x84, 0x6d, 0x65, 0xb6, 0xb6, 0x5a, 0xdd, 0xd8, 0xde, 0x6a, 0x54, 0x37, 0x2b, 0xaf, - 0x0a, 0xeb, 0xa2, 0x48, 0x46, 0x1f, 0xd9, 0x7b, 0x68, 0xb4, 0xb7, 0x41, 0xea, 0x6f, 0x14, 0xb1, - 0x15, 0x43, 0x9a, 0x25, 0x4d, 0xa1, 0x59, 0x28, 0x6c, 0x6e, 0xa9, 0xf5, 0xda, 0x6a, 0x55, 0xad, - 0x5e, 0xbd, 0x5a, 0xad, 0x34, 0xea, 0x2c, 0x1d, 0xe8, 0x51, 0x37, 0xa4, 0x68, 0x50, 0xc4, 0xdf, - 0x1f, 0x83, 0xd9, 0x21, 0x2d, 0x41, 0x25, 0x1e, 0xc8, 0xb3, 0xdc, 0xc2, 0xe3, 0x93, 0xb4, 0x7e, - 0x99, 0xb8, 0xd2, 0xdb, 0x9a, 0xed, 0xf2, 0xb8, 0xff, 0x11, 0x20, 0x52, 0x32, 0x5d, 0xb2, 0xb2, - 0xdb, 0x3c, 0xcd, 0xca, 0xa2, 0xfb, 0x82, 0x5f, 0xce, 0x32, 0xad, 0x8f, 0x01, 0xea, 0x5a, 0x8e, - 0xe1, 0x1a, 0xb7, 0xb0, 0x6a, 0x98, 0x22, 0x27, 0x4b, 0xa2, 0xfd, 0xb8, 0x22, 0x89, 0x9a, 0x9a, - 0xe9, 0x7a, 0xd4, 0x26, 0x6e, 0x69, 0x7d, 0xd4, 0xc4, 0xf3, 0x88, 0x29, 0x92, 0xa8, 0xf1, 0xa8, - 0x1f, 0x80, 0x6c, 0xd3, 0xea, 0x91, 0x10, 0x88, 0xd1, 0x11, 0x6b, 0x11, 0x51, 0x32, 0xac, 0xcc, - 0x23, 0xe1, 0xc1, 0xad, 0x9f, 0x0c, 0xce, 0x2a, 0x19, 0x56, 0xc6, 0x48, 0xce, 0x42, 0x41, 0x6b, - 0xb5, 0x6c, 0x02, 0x2e, 0x80, 0x58, 0xb8, 0x9e, 0xf7, 0x8a, 0x29, 0x61, 0xf1, 0x3a, 0xa4, 0x84, - 0x1c, 0x88, 0x07, 0x4b, 0x24, 0xa1, 0x76, 0x59, 0x0e, 0x2a, 0x7a, 0x2e, 0xad, 0xa4, 0x4c, 0x51, - 0xf9, 0x00, 0x64, 0x0d, 0x47, 0xf5, 0xf7, 0xb6, 0xa2, 0x4b, 0xd1, 0x73, 0x29, 0x25, 0x63, 0x38, - 0xde, 0xbe, 0x80, 0xfc, 0xe9, 0x28, 0xe4, 0xc3, 0xbb, 0x76, 0x68, 0x15, 0x52, 0x6d, 0x4b, 0xd7, - 0xa8, 0x6a, 0xb1, 0x2d, 0xe3, 0x73, 0x63, 0x36, 0xfa, 0x96, 0xd7, 0x39, 0xbd, 0xe2, 0x71, 0x16, - 0xff, 0x6d, 0x04, 0x52, 0xa2, 0x18, 0x9d, 0x84, 0x78, 0x57, 0x73, 0xf7, 0x29, 0xdc, 0x74, 0x39, - 0x2a, 0x45, 0x14, 0xfa, 0x4c, 0xca, 0x9d, 0xae, 0x66, 0x52, 0x15, 0xe0, 0xe5, 0xe4, 0x99, 0x8c, - 0x6b, 0x1b, 0x6b, 0x4d, 0x9a, 0x0b, 0xb0, 0x3a, 0x1d, 0x6c, 0xba, 0x8e, 0x18, 0x57, 0x5e, 0x5e, - 0xe1, 0xc5, 0xe8, 0x51, 0x98, 0x71, 0x6d, 0xcd, 0x68, 0x87, 0x68, 0xe3, 0x94, 0x56, 0x12, 0x15, - 0x1e, 0xf1, 0x0a, 0x9c, 0x16, 0xb8, 0x4d, 0xec, 0x6a, 0xfa, 0x3e, 0x6e, 0xfa, 0x4c, 0x09, 0x9a, - 0xf3, 0x3b, 0xc5, 0x09, 0x56, 0x79, 0xbd, 0xe0, 0x95, 0x3f, 0x1f, 0x85, 0x19, 0x91, 0xbd, 0x68, - 0x7a, 0xc2, 0xda, 0x00, 0xd0, 0x4c, 0xd3, 0x72, 0x83, 0xe2, 0x1a, 0x54, 0xe5, 0x01, 0xbe, 0xe5, - 0x92, 0xc7, 0xa4, 0x04, 0x00, 0x8a, 0xbf, 0x17, 0x01, 0xf0, 0xab, 0x46, 0xca, 0x6d, 0x11, 0x32, - 0x7c, 0x4f, 0x96, 0x6e, 0xec, 0xb3, 0x84, 0x17, 0xb0, 0xa2, 0xab, 0x46, 0x9b, 0xa6, 0x25, 0x77, - 0x71, 0xcb, 0x30, 0xf9, 0x7e, 0x0a, 0x7b, 0x10, 0x69, 0xc9, 0xb8, 0xbf, 0x3d, 0xa5, 0x40, 0xca, - 0xc1, 0x1d, 0xcd, 0x74, 0x0d, 0x9d, 0xef, 0x90, 0x5c, 0x3e, 0x56, 0xe3, 0x97, 0xeb, 0x9c, 0x5b, - 0xf1, 0x70, 0xe4, 0x73, 0x90, 0x12, 0xa5, 0xc4, 0xf1, 0xdb, 0xdc, 0xda, 0xac, 0x4a, 0x53, 0x28, - 0x09, 0xb1, 0x7a, 0xb5, 0x21, 0x45, 0x48, 0xd8, 0x59, 0x5a, 0xaf, 0x95, 0xea, 0x52, 0xb4, 0xfc, - 0xd7, 0x60, 0x56, 0xb7, 0x3a, 0xfd, 0x2f, 0x2c, 0x4b, 0x7d, 0x29, 0x3f, 0xe7, 0x5a, 0xe4, 0xb5, - 0xc7, 0x39, 0x51, 0xcb, 0x6a, 0x6b, 0x66, 0x6b, 0xd9, 0xb2, 0x5b, 0xfe, 0xb1, 0x08, 0x12, 0x1d, - 0x38, 0x81, 0xc3, 0x11, 0xdd, 0xdd, 0xff, 0x11, 0x89, 0xfc, 0x50, 0x34, 0xb6, 0xb6, 0x5d, 0xfe, - 0xf1, 0x68, 0x71, 0x8d, 0x31, 0x6e, 0x8b, 0xee, 0x28, 0x78, 0xaf, 0x8d, 0x75, 0xd2, 0x78, 0xf8, - 0xfd, 0x47, 0x61, 0xae, 0x65, 0xb5, 0x2c, 0x8a, 0x74, 0x81, 0xfc, 0xe2, 0xe7, 0x2a, 0xd2, 0x5e, - 0x69, 0x71, 0xec, 0x21, 0x8c, 0x95, 0x4d, 0x98, 0xe5, 0xc4, 0x2a, 0xdd, 0xbe, 0x65, 0xc9, 0x05, - 0x74, 0x64, 0x66, 0x7b, 0xfe, 0x27, 0x7f, 0x9b, 0x7a, 0x25, 0xca, 0x0c, 0x67, 0x25, 0x75, 0x2c, - 0xff, 0xb0, 0xa2, 0xc0, 0x89, 0x10, 0x1e, 0xb3, 0x11, 0xd8, 0x1e, 0x83, 0xf8, 0x2f, 0x38, 0xe2, - 0x6c, 0x00, 0xb1, 0xce, 0x59, 0x57, 0x2a, 0x90, 0x3b, 0x0e, 0xd6, 0xbf, 0xe4, 0x58, 0x59, 0x1c, - 0x04, 0x59, 0x83, 0x02, 0x05, 0xd1, 0x7b, 0x8e, 0x6b, 0x75, 0xa8, 0x01, 0x3e, 0x1a, 0xe6, 0x5f, - 0xfd, 0x36, 0x9b, 0xb4, 0x79, 0xc2, 0x56, 0xf1, 0xb8, 0x56, 0x56, 0x80, 0xee, 0x58, 0x37, 0xb1, - 0xde, 0x1e, 0x83, 0xf0, 0x2b, 0xbc, 0x21, 0x1e, 0xfd, 0xca, 0x0d, 0x98, 0x23, 0xbf, 0xa9, 0x7d, - 0x0c, 0xb6, 0x64, 0x7c, 0x1a, 0x7c, 0xfe, 0xdf, 0x7d, 0x94, 0xd9, 0x85, 0x59, 0x0f, 0x20, 0xd0, - 0xa6, 0xc0, 0x28, 0xb6, 0xb0, 0xeb, 0x62, 0xdb, 0x51, 0xb5, 0xf6, 0xb0, 0xe6, 0x05, 0xf2, 0x88, - 0xf3, 0xdf, 0xf7, 0xe5, 0xf0, 0x28, 0xae, 0x31, 0xce, 0x52, 0xbb, 0xbd, 0xb2, 0x03, 0xa7, 0x86, - 0x68, 0xc5, 0x04, 0x98, 0xdf, 0xcf, 0x31, 0xe7, 0x06, 0x34, 0x83, 0xc0, 0x6e, 0x83, 0x28, 0xf7, - 0xc6, 0x72, 0x02, 0xcc, 0x1f, 0xe0, 0x98, 0x88, 0xf3, 0x8a, 0x21, 0x25, 0x88, 0xd7, 0x61, 0xe6, - 0x16, 0xb6, 0x77, 0x2d, 0x87, 0xe7, 0x6e, 0x27, 0x80, 0xfb, 0x24, 0x87, 0x2b, 0x70, 0x46, 0x9a, - 0xcc, 0x25, 0x58, 0xcf, 0x41, 0x6a, 0x4f, 0xd3, 0xf1, 0x04, 0x10, 0x77, 0x39, 0x44, 0x92, 0xd0, - 0x13, 0xd6, 0x12, 0x64, 0x5b, 0x16, 0x5f, 0x22, 0xc7, 0xb3, 0xff, 0x20, 0x67, 0xcf, 0x08, 0x1e, - 0x0e, 0xd1, 0xb5, 0xba, 0xbd, 0x36, 0x59, 0x3f, 0xc7, 0x43, 0xfc, 0x1d, 0x01, 0x21, 0x78, 0x38, - 0xc4, 0x31, 0xc4, 0xfa, 0xa6, 0x80, 0x70, 0x02, 0xf2, 0x7c, 0x01, 0x32, 0x96, 0xd9, 0x3e, 0xb4, - 0xcc, 0x49, 0x1a, 0xf1, 0x29, 0x8e, 0x00, 0x9c, 0x85, 0x00, 0x5c, 0x81, 0xf4, 0xa4, 0x03, 0xf1, - 0x23, 0x5f, 0x16, 0xd3, 0x43, 0x8c, 0xc0, 0x1a, 0x14, 0x84, 0x81, 0x32, 0x2c, 0x73, 0x02, 0x88, - 0x1f, 0xe5, 0x10, 0xf9, 0x00, 0x1b, 0xef, 0x86, 0x8b, 0x1d, 0xb7, 0x85, 0x27, 0x01, 0xf9, 0xb4, - 0xe8, 0x06, 0x67, 0xe1, 0xa2, 0xdc, 0xc5, 0xa6, 0xbe, 0x3f, 0x19, 0xc2, 0x67, 0x84, 0x28, 0x05, - 0x0f, 0x81, 0xa8, 0x40, 0xae, 0xa3, 0xd9, 0xce, 0xbe, 0xd6, 0x9e, 0x68, 0x38, 0x7e, 0x8c, 0x63, - 0x64, 0x3d, 0x26, 0x2e, 0x91, 0x9e, 0x79, 0x1c, 0x98, 0x1f, 0x17, 0x12, 0x09, 0xb0, 0xf1, 0xa9, - 0xe7, 0xb8, 0x34, 0xd1, 0x7d, 0x1c, 0xb4, 0xbf, 0x27, 0xa6, 0x1e, 0xe3, 0xdd, 0x08, 0x22, 0x5e, - 0x81, 0xb4, 0x63, 0xbc, 0x31, 0x11, 0xcc, 0xdf, 0x17, 0x23, 0x4d, 0x19, 0x08, 0xf3, 0xab, 0x70, - 0x7a, 0xe8, 0x32, 0x31, 0x01, 0xd8, 0x3f, 0xe0, 0x60, 0x27, 0x87, 0x2c, 0x15, 0xdc, 0x24, 0x1c, - 0x17, 0xf2, 0x1f, 0x0a, 0x93, 0x80, 0xfb, 0xb0, 0xb6, 0x49, 0xd0, 0xe2, 0x68, 0x7b, 0xc7, 0x93, - 0xda, 0x3f, 0x12, 0x52, 0x63, 0xbc, 0x21, 0xa9, 0x35, 0xe0, 0x24, 0x47, 0x3c, 0xde, 0xb8, 0xfe, - 0x84, 0x30, 0xac, 0x8c, 0x7b, 0x27, 0x3c, 0xba, 0x5f, 0x03, 0x45, 0x4f, 0x9c, 0xc2, 0x3b, 0x76, - 0xd4, 0x8e, 0xd6, 0x9d, 0x00, 0xf9, 0x27, 0x39, 0xb2, 0xb0, 0xf8, 0x9e, 0x7b, 0xed, 0x6c, 0x68, - 0x5d, 0x02, 0xfe, 0x0a, 0xcc, 0x0b, 0xf0, 0x9e, 0x69, 0x63, 0xdd, 0x6a, 0x99, 0xc6, 0x1b, 0xb8, - 0x39, 0x01, 0xf4, 0x4f, 0xf5, 0x0d, 0xd5, 0x4e, 0x80, 0x9d, 0x20, 0xd7, 0x40, 0xf2, 0x7c, 0x15, - 0xd5, 0xe8, 0x74, 0x2d, 0xdb, 0x1d, 0x83, 0xf8, 0xd3, 0x62, 0xa4, 0x3c, 0xbe, 0x1a, 0x65, 0x5b, - 0xa9, 0x02, 0x3b, 0xfd, 0x31, 0xa9, 0x4a, 0x7e, 0x96, 0x03, 0xe5, 0x7c, 0x2e, 0x6e, 0x38, 0x74, - 0xab, 0xd3, 0xd5, 0xec, 0x49, 0xec, 0xdf, 0x3f, 0x16, 0x86, 0x83, 0xb3, 0x70, 0xc3, 0x41, 0x3c, - 0x3a, 0xb2, 0xda, 0x4f, 0x80, 0xf0, 0x33, 0xc2, 0x70, 0x08, 0x1e, 0x0e, 0x21, 0x1c, 0x86, 0x09, - 0x20, 0x3e, 0x27, 0x20, 0x04, 0x0f, 0x81, 0x78, 0xc9, 0x5f, 0x68, 0x6d, 0xdc, 0x32, 0x1c, 0xd7, - 0x66, 0x2e, 0xf9, 0xd1, 0x50, 0x3f, 0xfb, 0xe5, 0xb0, 0x13, 0xa6, 0x04, 0x58, 0x89, 0x25, 0xe2, - 0x5b, 0x1f, 0x34, 0x64, 0x1b, 0xdf, 0xb0, 0x9f, 0x13, 0x96, 0x28, 0xc0, 0x46, 0xda, 0x16, 0xf0, - 0x10, 0x89, 0xd8, 0x75, 0x12, 0xa8, 0x4c, 0x00, 0xf7, 0x4f, 0xfa, 0x1a, 0x57, 0x17, 0xbc, 0x04, - 0x33, 0xe0, 0xff, 0xf4, 0xcc, 0x9b, 0xf8, 0x70, 0x22, 0xed, 0xfc, 0xf9, 0x3e, 0xff, 0x67, 0x87, - 0x71, 0x32, 0x1b, 0x52, 0xe8, 0xf3, 0xa7, 0xd0, 0xb8, 0xb3, 0x7e, 0xf3, 0xdf, 0xf8, 0x0e, 0xef, - 0x6f, 0xd8, 0x9d, 0x5a, 0x59, 0x27, 0x4a, 0x1e, 0x76, 0x7a, 0xc6, 0x83, 0x7d, 0xf4, 0x1d, 0x4f, - 0xcf, 0x43, 0x3e, 0xcf, 0xca, 0x55, 0xc8, 0x85, 0x1c, 0x9e, 0xf1, 0x50, 0xdf, 0xcc, 0xa1, 0xb2, - 0x41, 0x7f, 0x67, 0xe5, 0x12, 0xc4, 0x89, 0xf3, 0x32, 0x9e, 0xfd, 0x5b, 0x38, 0x3b, 0x25, 0x5f, - 0x79, 0x1e, 0x52, 0xc2, 0x69, 0x19, 0xcf, 0xfa, 0xd7, 0x39, 0xab, 0xc7, 0x42, 0xd8, 0x85, 0xc3, - 0x32, 0x9e, 0xfd, 0x6f, 0x08, 0x76, 0xc1, 0x42, 0xd8, 0x27, 0x17, 0xe1, 0x2f, 0xfd, 0xcd, 0x38, - 0x5f, 0x74, 0x84, 0xec, 0xae, 0x40, 0x92, 0x7b, 0x2a, 0xe3, 0xb9, 0xbf, 0x95, 0xbf, 0x5c, 0x70, - 0xac, 0x3c, 0x03, 0xd3, 0x13, 0x0a, 0xfc, 0x6f, 0x71, 0x56, 0x46, 0xbf, 0x52, 0x81, 0x4c, 0xc0, - 0x3b, 0x19, 0xcf, 0xfe, 0xed, 0x9c, 0x3d, 0xc8, 0x45, 0x9a, 0xce, 0xbd, 0x93, 0xf1, 0x00, 0xdf, - 0x21, 0x9a, 0xce, 0x39, 0x88, 0xd8, 0x84, 0x63, 0x32, 0x9e, 0xfb, 0xe3, 0x42, 0xea, 0x82, 0x65, - 0xe5, 0x05, 0x48, 0x7b, 0x8b, 0xcd, 0x78, 0xfe, 0xef, 0xe4, 0xfc, 0x3e, 0x0f, 0x91, 0x40, 0x60, - 0xb1, 0x1b, 0x0f, 0xf1, 0x5d, 0x42, 0x02, 0x01, 0x2e, 0x32, 0x8d, 0xfa, 0x1d, 0x98, 0xf1, 0x48, - 0xdf, 0x2d, 0xa6, 0x51, 0x9f, 0xff, 0x42, 0x46, 0x93, 0xda, 0xfc, 0xf1, 0x10, 0xdf, 0x23, 0x46, - 0x93, 0xd2, 0x93, 0x66, 0xf4, 0x7b, 0x04, 0xe3, 0x31, 0xbe, 0x57, 0x34, 0xa3, 0xcf, 0x21, 0x58, - 0xd9, 0x06, 0x34, 0xe8, 0x0d, 0x8c, 0xc7, 0xfb, 0x04, 0xc7, 0x9b, 0x19, 0x70, 0x06, 0x56, 0x5e, - 0x86, 0x93, 0xc3, 0x3d, 0x81, 0xf1, 0xa8, 0xdf, 0xf7, 0x4e, 0x5f, 0xec, 0x16, 0x74, 0x04, 0x56, - 0x1a, 0xfe, 0x92, 0x12, 0xf4, 0x02, 0xc6, 0xc3, 0x7e, 0xff, 0x3b, 0x61, 0xc3, 0x1d, 0x74, 0x02, - 0x56, 0x4a, 0x00, 0xfe, 0x02, 0x3c, 0x1e, 0xeb, 0x93, 0x1c, 0x2b, 0xc0, 0x44, 0xa6, 0x06, 0x5f, - 0x7f, 0xc7, 0xf3, 0xdf, 0x15, 0x53, 0x83, 0x73, 0x90, 0xa9, 0x21, 0x96, 0xde, 0xf1, 0xdc, 0x3f, - 0x28, 0xa6, 0x86, 0x60, 0x21, 0x9a, 0x1d, 0x58, 0xdd, 0xc6, 0x23, 0x7c, 0x4a, 0x68, 0x76, 0x80, - 0x6b, 0x65, 0x13, 0x66, 0x06, 0x16, 0xc4, 0xf1, 0x50, 0x3f, 0xc4, 0xa1, 0xa4, 0xfe, 0xf5, 0x30, - 0xb8, 0x78, 0xf1, 0xc5, 0x70, 0x3c, 0xda, 0x0f, 0xf7, 0x2d, 0x5e, 0x7c, 0x2d, 0x5c, 0xb9, 0x02, - 0x29, 0xb3, 0xd7, 0x6e, 0x93, 0xc9, 0x83, 0x8e, 0x3e, 0x9f, 0x3b, 0xff, 0x5f, 0xbe, 0xc2, 0xa5, - 0x23, 0x18, 0x56, 0x2e, 0xc1, 0x34, 0xee, 0xec, 0xe2, 0xe6, 0x38, 0xce, 0x2f, 0x7d, 0x45, 0x18, - 0x4c, 0x42, 0xbd, 0xf2, 0x02, 0x00, 0x4b, 0x8d, 0xd0, 0x8d, 0xf3, 0x31, 0xbc, 0xbf, 0xf7, 0x15, - 0x7e, 0x20, 0xce, 0x67, 0xf1, 0x01, 0xd8, 0xf1, 0xba, 0xa3, 0x01, 0xbe, 0x1c, 0x06, 0xa0, 0x23, - 0xf2, 0x1c, 0x24, 0x5f, 0x77, 0x2c, 0xd3, 0xd5, 0x5a, 0xe3, 0xb8, 0x7f, 0x9f, 0x73, 0x0b, 0x7a, - 0x22, 0xb0, 0x8e, 0x65, 0x63, 0x57, 0x6b, 0x39, 0xe3, 0x78, 0xff, 0x2b, 0xe7, 0xf5, 0x18, 0x08, - 0xb3, 0xae, 0x39, 0xee, 0x24, 0xfd, 0xfe, 0x03, 0xc1, 0x2c, 0x18, 0x48, 0xa3, 0xc9, 0xef, 0x9b, - 0xf8, 0x70, 0x1c, 0xef, 0x1f, 0x8a, 0x46, 0x73, 0xfa, 0x95, 0xe7, 0x21, 0x4d, 0x7e, 0xb2, 0x53, - 0xae, 0x63, 0x98, 0xff, 0x88, 0x33, 0xfb, 0x1c, 0xe4, 0xcd, 0x8e, 0xdb, 0x74, 0x8d, 0xf1, 0xc2, - 0xfe, 0x63, 0x3e, 0xd2, 0x82, 0x7e, 0xa5, 0x04, 0x19, 0xc7, 0x6d, 0x36, 0x7b, 0xdc, 0x3f, 0x1d, - 0xc3, 0xfe, 0x27, 0x5f, 0xf1, 0x52, 0x16, 0x1e, 0x0f, 0x19, 0xed, 0xdb, 0x37, 0xdd, 0xae, 0x45, - 0xf7, 0x5b, 0xc6, 0x21, 0xbc, 0xc3, 0x11, 0x02, 0x2c, 0x2b, 0x15, 0xc8, 0x92, 0xbe, 0xd8, 0xb8, - 0x8b, 0xe9, 0xe6, 0xd8, 0x18, 0x88, 0x3f, 0xe5, 0x02, 0x08, 0x31, 0x95, 0xbf, 0xe1, 0x57, 0xde, - 0x5e, 0x88, 0x7c, 0xfe, 0xed, 0x85, 0xc8, 0x6f, 0xbe, 0xbd, 0x10, 0xf9, 0xf8, 0x17, 0x16, 0xa6, - 0x3e, 0xff, 0x85, 0x85, 0xa9, 0xdf, 0xf8, 0xc2, 0xc2, 0xd4, 0xf0, 0x2c, 0x31, 0xac, 0x59, 0x6b, - 0x16, 0xcb, 0x0f, 0xbf, 0xf6, 0x50, 0xcb, 0x70, 0xf7, 0x7b, 0xbb, 0xcb, 0xba, 0xd5, 0xb9, 0xa0, - 0x5b, 0x4e, 0xc7, 0x72, 0x2e, 0x84, 0xf3, 0xba, 0xf4, 0x17, 0xfc, 0xaf, 0x08, 0x89, 0x99, 0xc3, - 0xe9, 0x5c, 0xcd, 0x3c, 0x1c, 0xf5, 0x31, 0xdd, 0x65, 0x88, 0x95, 0xcc, 0x43, 0x74, 0x9a, 0x19, - 0x38, 0xb5, 0x67, 0xb7, 0xf9, 0x51, 0xcb, 0x24, 0x79, 0xde, 0xb1, 0xdb, 0x68, 0xce, 0x3f, 0x0f, - 0x1d, 0x39, 0x97, 0xe5, 0x87, 0x9c, 0xcb, 0xdf, 0x1e, 0x39, 0x5e, 0x4f, 0x52, 0x25, 0xf3, 0x90, - 0x76, 0x64, 0x3b, 0xf2, 0xda, 0x63, 0x63, 0xf3, 0xdc, 0x37, 0x4d, 0xeb, 0xb6, 0x49, 0x9a, 0xdd, - 0xdd, 0x15, 0x39, 0xee, 0x85, 0xfe, 0x1c, 0xf7, 0xcb, 0xb8, 0xdd, 0x7e, 0x91, 0xd0, 0x35, 0x08, - 0xcb, 0x6e, 0x82, 0x9d, 0xea, 0x87, 0xef, 0x8e, 0xc2, 0xc2, 0x40, 0x3a, 0x9b, 0x2b, 0xc1, 0x28, - 0x21, 0xac, 0x40, 0x6a, 0x55, 0xe8, 0xd6, 0x3c, 0x24, 0x1d, 0xac, 0x5b, 0x66, 0xd3, 0xa1, 0x82, - 0x88, 0x29, 0xe2, 0x91, 0x08, 0xc2, 0xd4, 0x4c, 0xcb, 0xe1, 0x87, 0x95, 0xd9, 0x43, 0xf9, 0x07, - 0x8e, 0x29, 0x88, 0x9c, 0x78, 0x93, 0x90, 0xc6, 0x93, 0x13, 0x4a, 0x43, 0x74, 0x22, 0x94, 0xf9, - 0x9f, 0x54, 0x2a, 0xdf, 0x1b, 0x85, 0xc5, 0x7e, 0xa9, 0x90, 0x99, 0xe5, 0xb8, 0x5a, 0xa7, 0x3b, - 0x4a, 0x2c, 0x57, 0x20, 0xdd, 0x10, 0x34, 0xc7, 0x96, 0xcb, 0xdd, 0x63, 0xca, 0x25, 0xef, 0xbd, - 0x4a, 0x08, 0xe6, 0xe2, 0x84, 0x82, 0xf1, 0xfa, 0x71, 0x4f, 0x92, 0xf9, 0xb3, 0x04, 0x9c, 0x66, - 0xd3, 0x49, 0x65, 0x53, 0x89, 0x3d, 0x70, 0x99, 0x64, 0x83, 0x55, 0xe3, 0xf7, 0x49, 0xe4, 0x17, - 0x61, 0xb6, 0x46, 0xac, 0x05, 0x89, 0x82, 0xfc, 0x1d, 0x9e, 0xa1, 0xe7, 0xb9, 0x97, 0x42, 0x0e, - 0x3f, 0xdf, 0xdf, 0x0a, 0x16, 0xc9, 0xdf, 0x18, 0x01, 0xa9, 0xae, 0x6b, 0x6d, 0xcd, 0xfe, 0x8b, - 0x42, 0xa1, 0x67, 0x00, 0xd8, 0x71, 0x0f, 0xef, 0xc3, 0xbd, 0xfc, 0xc5, 0xf9, 0xe5, 0x60, 0xe7, - 0x96, 0xd9, 0x9b, 0xe8, 0x09, 0xaa, 0x34, 0xa5, 0x25, 0x3f, 0xcf, 0xbf, 0x02, 0xe0, 0x57, 0xa0, - 0x33, 0x70, 0xaa, 0x5e, 0x29, 0xad, 0x97, 0x14, 0x71, 0x48, 0xa8, 0xbe, 0x5d, 0xad, 0xd4, 0xae, - 0xd6, 0xaa, 0xab, 0xd2, 0x14, 0x3a, 0x09, 0x28, 0x58, 0xe9, 0x1d, 0x6a, 0x3a, 0x01, 0x33, 0xc1, - 0x72, 0xf6, 0x95, 0x4a, 0x94, 0x78, 0x8a, 0x46, 0xa7, 0xdb, 0xc6, 0x74, 0xe7, 0x51, 0x35, 0x84, - 0xd4, 0xc6, 0x3b, 0x21, 0xbf, 0xfa, 0xef, 0xd9, 0x97, 0x0b, 0xb3, 0x3e, 0xbb, 0x27, 0xf3, 0x95, - 0x75, 0x98, 0xd1, 0x74, 0x1d, 0x77, 0x43, 0x90, 0x63, 0x4c, 0x35, 0x01, 0xa4, 0x7b, 0xa9, 0x9c, - 0xd3, 0x47, 0x7b, 0x06, 0x12, 0x0e, 0xed, 0xfd, 0x38, 0x88, 0x5f, 0xe3, 0x10, 0x9c, 0x7c, 0xc5, - 0x84, 0x19, 0xe2, 0xf9, 0x69, 0x36, 0x0e, 0x34, 0xe3, 0xe8, 0x3c, 0xc3, 0x2f, 0xfc, 0xf4, 0x13, - 0x74, 0x67, 0xf5, 0x81, 0xf0, 0xb0, 0x0c, 0x51, 0x27, 0x45, 0xe2, 0xd8, 0x7e, 0x43, 0x31, 0xe4, - 0xc5, 0xfb, 0x78, 0x83, 0x8f, 0x7e, 0xd9, 0x2f, 0xf2, 0x97, 0x2d, 0x0c, 0xd3, 0x81, 0xc0, 0x9b, - 0x72, 0x1c, 0x95, 0x55, 0x94, 0xab, 0xa3, 0xe6, 0xf4, 0x6b, 0x8f, 0x0e, 0xae, 0x4e, 0xec, 0xbf, - 0xc7, 0x29, 0xf2, 0x95, 0xe0, 0x6b, 0xbc, 0xb9, 0xf7, 0x03, 0x71, 0x98, 0xd1, 0x3a, 0x86, 0x69, - 0x5d, 0xa0, 0xff, 0xf2, 0x39, 0x37, 0x4d, 0x1f, 0x26, 0xd8, 0x94, 0xbc, 0xcc, 0xa6, 0xc2, 0x78, - 0x8d, 0xf9, 0xa3, 0x6f, 0xfb, 0xd1, 0x69, 0x7f, 0xba, 0xac, 0x6c, 0x80, 0x24, 0x0e, 0xf1, 0x62, - 0x53, 0xb7, 0x9a, 0x13, 0x65, 0x29, 0xfe, 0x58, 0x60, 0x88, 0xfc, 0x56, 0x95, 0xb3, 0xae, 0x7c, - 0x10, 0x52, 0x1e, 0xcc, 0x38, 0xcf, 0x44, 0x80, 0x78, 0x1c, 0xc4, 0x2f, 0x61, 0x33, 0x73, 0x12, - 0x2f, 0xf4, 0x1d, 0xc1, 0xcf, 0x66, 0xe8, 0x26, 0xe9, 0xcd, 0x1a, 0xe4, 0x9b, 0x96, 0xe9, 0xaa, - 0x56, 0xc7, 0x70, 0x71, 0xa7, 0xeb, 0x8e, 0xf5, 0xeb, 0xfe, 0x94, 0x81, 0xa4, 0x94, 0x1c, 0xe1, - 0xdb, 0x12, 0x6c, 0xa4, 0x25, 0xec, 0x3b, 0xbd, 0x49, 0x5a, 0xf2, 0xdf, 0xbc, 0x96, 0x50, 0x1e, - 0xd2, 0x92, 0x7b, 0xd2, 0x0e, 0xa7, 0x79, 0x93, 0x1b, 0x73, 0xf7, 0x80, 0x69, 0x81, 0xa7, 0x1d, - 0x7f, 0x10, 0x83, 0x05, 0x4e, 0xbc, 0xab, 0x39, 0xf8, 0xc2, 0xad, 0x27, 0x77, 0xb1, 0xab, 0x3d, - 0x79, 0x41, 0xb7, 0x0c, 0xb1, 0x92, 0xcf, 0x72, 0x63, 0x4d, 0xea, 0x97, 0x79, 0x7d, 0x71, 0xe8, - 0x76, 0x77, 0x71, 0xb4, 0x91, 0x2f, 0x0e, 0xea, 0xa0, 0xfc, 0x1a, 0xc4, 0x2b, 0x96, 0x61, 0x92, - 0xb5, 0xad, 0x89, 0x4d, 0xab, 0xc3, 0xcd, 0x2d, 0x7b, 0x40, 0x97, 0x21, 0xa1, 0x75, 0xac, 0x9e, - 0xe9, 0x32, 0x53, 0x5b, 0x5e, 0xf8, 0x95, 0xb7, 0x16, 0xa7, 0xfe, 0xe3, 0x5b, 0x8b, 0xb1, 0x9a, - 0xe9, 0xfe, 0xfa, 0x67, 0x1f, 0x07, 0x8e, 0x5e, 0x33, 0xdd, 0xcf, 0xfc, 0xee, 0x4f, 0x9c, 0x8f, - 0x28, 0x9c, 0x7a, 0x25, 0xfe, 0xc5, 0x37, 0x17, 0x23, 0xf2, 0x2b, 0x90, 0x5c, 0xc5, 0xfa, 0x11, - 0xf0, 0x4f, 0xf6, 0xc1, 0x9f, 0x16, 0xf0, 0xab, 0x58, 0x0f, 0xc0, 0xaf, 0x62, 0xbd, 0x0f, 0xf9, - 0x19, 0x48, 0xd5, 0x4c, 0x97, 0x7d, 0x42, 0xf4, 0x28, 0xc4, 0x0c, 0x93, 0x9d, 0x4a, 0x0f, 0x20, - 0x0c, 0x34, 0x50, 0x21, 0x54, 0x84, 0x71, 0x15, 0xeb, 0x1e, 0x63, 0x13, 0xeb, 0xfd, 0x8c, 0x83, - 0xaf, 0x26, 0x54, 0xe5, 0xd5, 0xdf, 0xf8, 0xad, 0x85, 0xa9, 0x8f, 0xbc, 0xbd, 0x30, 0x35, 0x72, - 0xe8, 0xe5, 0xf1, 0x43, 0xef, 0x8d, 0xf8, 0x8f, 0xc6, 0xe1, 0x7e, 0xfa, 0x65, 0xa9, 0xdd, 0x31, - 0x4c, 0xf7, 0x82, 0x6e, 0x1f, 0x76, 0x5d, 0x8b, 0x18, 0x00, 0x6b, 0x8f, 0x0f, 0xf8, 0x8c, 0x5f, - 0xbd, 0xcc, 0xaa, 0x87, 0x0f, 0xb7, 0xbc, 0x07, 0xd3, 0xdb, 0x84, 0x8f, 0x88, 0xd8, 0xb5, 0x5c, - 0xad, 0xcd, 0xbd, 0x16, 0xf6, 0x40, 0x4a, 0xd9, 0xd7, 0xa8, 0x51, 0x56, 0x6a, 0x88, 0x0f, 0x51, - 0xdb, 0x58, 0xdb, 0x63, 0x1f, 0xf5, 0xc4, 0xa8, 0xbb, 0x9b, 0x22, 0x05, 0xf4, 0xfb, 0x9d, 0x39, - 0x98, 0xd6, 0x7a, 0xec, 0xe0, 0x4d, 0x8c, 0xf8, 0xc1, 0xf4, 0x41, 0x7e, 0x11, 0x92, 0x7c, 0xff, - 0x1d, 0x49, 0x10, 0xbb, 0x89, 0x0f, 0xe9, 0x7b, 0xb2, 0x0a, 0xf9, 0x89, 0x96, 0x61, 0x9a, 0x36, - 0x9e, 0x7f, 0xad, 0x38, 0xbf, 0x3c, 0xd0, 0xfa, 0x65, 0xda, 0x48, 0x85, 0x91, 0xc9, 0xd7, 0x21, - 0xb5, 0x6a, 0x11, 0x2d, 0x0c, 0xa3, 0xa5, 0x19, 0x1a, 0x6d, 0x73, 0xb7, 0xc7, 0xb5, 0x42, 0x61, - 0x0f, 0xe8, 0x24, 0x24, 0xd8, 0x47, 0x5e, 0xfc, 0xf0, 0x10, 0x7f, 0x92, 0x2b, 0x90, 0xa4, 0xd8, - 0x5b, 0x5d, 0xe2, 0x32, 0x78, 0xe7, 0xde, 0xd3, 0xfc, 0x93, 0x5f, 0x0e, 0x1f, 0xf5, 0x1b, 0x8b, - 0x20, 0xde, 0xd4, 0x5c, 0x8d, 0xf7, 0x9b, 0xfe, 0x96, 0x3f, 0x04, 0x29, 0x0e, 0xe2, 0xa0, 0x8b, - 0x10, 0xb3, 0xba, 0x0e, 0x3f, 0xfe, 0x53, 0x1c, 0xd5, 0x95, 0xad, 0x6e, 0x39, 0x4e, 0x74, 0x46, - 0x21, 0xc4, 0xe5, 0xcd, 0x91, 0x6a, 0xf1, 0x74, 0x48, 0x2d, 0x3a, 0xd8, 0xdd, 0xdd, 0x73, 0xfd, - 0x1f, 0x6c, 0x38, 0x07, 0x54, 0xc1, 0x53, 0x94, 0xbb, 0x51, 0x58, 0x08, 0xd4, 0xde, 0xc2, 0xb6, - 0x63, 0x58, 0x26, 0xd3, 0x26, 0xae, 0x29, 0x28, 0xd0, 0x40, 0x5e, 0x3f, 0x42, 0x55, 0x9e, 0x87, - 0x58, 0xa9, 0xdb, 0x45, 0x45, 0x48, 0xd1, 0x67, 0xdd, 0x62, 0xba, 0x12, 0x57, 0xbc, 0x67, 0x52, - 0xe7, 0x58, 0x7b, 0xee, 0x6d, 0xcd, 0xf6, 0xbe, 0x81, 0x16, 0xcf, 0xf2, 0x73, 0x90, 0xae, 0x58, - 0xa6, 0x83, 0x4d, 0xa7, 0x47, 0x7d, 0xe1, 0xdd, 0xb6, 0xa5, 0xdf, 0xe4, 0x08, 0xec, 0x81, 0x08, - 0x5b, 0xeb, 0x76, 0x29, 0x67, 0x5c, 0x21, 0x3f, 0xd9, 0x7c, 0x2d, 0x6f, 0x8d, 0x14, 0xcf, 0xa5, - 0xe3, 0x89, 0x87, 0x77, 0xd0, 0x77, 0x6a, 0x23, 0x70, 0xdf, 0xe0, 0x44, 0xba, 0x89, 0x0f, 0x9d, - 0xe3, 0xce, 0xa3, 0x57, 0x20, 0xbd, 0x4d, 0xaf, 0x27, 0x79, 0x11, 0x1f, 0xa2, 0x22, 0x24, 0x71, - 0xf3, 0xe2, 0xa5, 0x4b, 0x4f, 0x3e, 0xc7, 0xb4, 0xfc, 0xda, 0x94, 0x22, 0x0a, 0xd0, 0x02, 0xa4, - 0x1d, 0xac, 0x77, 0x2f, 0x5e, 0xba, 0x7c, 0xf3, 0x49, 0xa6, 0x56, 0xd7, 0xa6, 0x14, 0xbf, 0x68, - 0x25, 0x45, 0x7a, 0xfc, 0xc5, 0x4f, 0x2d, 0x46, 0xca, 0xd3, 0x10, 0x73, 0x7a, 0x9d, 0xf7, 0x4c, - 0x37, 0xfe, 0x30, 0x01, 0x4b, 0x81, 0x5a, 0xb6, 0xb8, 0xdc, 0xd2, 0xda, 0x46, 0x53, 0xf3, 0x2f, - 0x95, 0x91, 0x02, 0xfd, 0xa7, 0x14, 0x23, 0x56, 0x8d, 0x23, 0xa5, 0x28, 0xff, 0x54, 0x04, 0xb2, - 0x37, 0x04, 0x72, 0x1d, 0xbb, 0xe8, 0x0a, 0x80, 0xf7, 0x26, 0x31, 0x55, 0xce, 0x2c, 0xf7, 0xbf, - 0x6b, 0xd9, 0xe3, 0x51, 0x02, 0xe4, 0xe8, 0x19, 0xaa, 0x80, 0x5d, 0xcb, 0xe1, 0xdf, 0xc3, 0x8e, - 0x61, 0xf5, 0x88, 0xd1, 0x63, 0x80, 0xa8, 0x55, 0x53, 0x6f, 0x59, 0xae, 0x61, 0xb6, 0xd4, 0xae, - 0x75, 0x9b, 0xdf, 0x32, 0x10, 0x53, 0x24, 0x5a, 0x73, 0x83, 0x56, 0x6c, 0x93, 0x72, 0xd2, 0xe8, - 0xb4, 0x87, 0x42, 0xc2, 0x3a, 0xad, 0xd9, 0xb4, 0xb1, 0xe3, 0x70, 0xc3, 0x25, 0x1e, 0xd1, 0x15, - 0x48, 0x76, 0x7b, 0xbb, 0xaa, 0xb0, 0x12, 0x99, 0x8b, 0xf7, 0x0d, 0x9b, 0xf3, 0x42, 0x37, 0xf8, - 0xac, 0x4f, 0x74, 0x7b, 0xbb, 0x44, 0x53, 0x1e, 0x80, 0xec, 0x90, 0xc6, 0x64, 0x6e, 0xf9, 0xed, - 0xa0, 0x37, 0xe2, 0xf0, 0x1e, 0xa8, 0x5d, 0xdb, 0xb0, 0x6c, 0xc3, 0x3d, 0xa4, 0xc7, 0xf6, 0x62, - 0x8a, 0x24, 0x2a, 0xb6, 0x79, 0xb9, 0x7c, 0x13, 0x0a, 0x75, 0xea, 0xee, 0xfb, 0x2d, 0xbf, 0xe4, - 0xb7, 0x2f, 0x32, 0xbe, 0x7d, 0x23, 0x5b, 0x16, 0x1d, 0x68, 0xd9, 0xf9, 0xff, 0x10, 0x81, 0x4c, - 0x99, 0x4c, 0xdc, 0xda, 0xea, 0xd5, 0xb6, 0xd6, 0x42, 0x4f, 0xc2, 0x89, 0xf2, 0xfa, 0x56, 0xe5, - 0x45, 0xb5, 0xb6, 0xaa, 0x5e, 0x5d, 0x2f, 0xad, 0xf9, 0xe7, 0x84, 0x8b, 0x27, 0xef, 0xdc, 0x5d, - 0x42, 0x01, 0xda, 0x1d, 0x93, 0xc6, 0xa4, 0xe8, 0x02, 0xcc, 0x85, 0x59, 0x4a, 0xe5, 0x7a, 0x75, - 0xb3, 0x21, 0x45, 0x8a, 0x27, 0xee, 0xdc, 0x5d, 0x9a, 0x09, 0x70, 0x94, 0x76, 0x1d, 0x6c, 0xba, - 0x83, 0x0c, 0x95, 0xad, 0x8d, 0x8d, 0x5a, 0x43, 0x8a, 0x0e, 0x30, 0x54, 0xac, 0x4e, 0xc7, 0x70, - 0xd1, 0x23, 0x30, 0x13, 0x66, 0xd8, 0xac, 0xad, 0x4b, 0xb1, 0x22, 0xba, 0x73, 0x77, 0x29, 0x1f, - 0xa0, 0xde, 0x34, 0xda, 0xc5, 0xd4, 0xc7, 0x7e, 0x78, 0x61, 0xea, 0x33, 0x7f, 0x77, 0x21, 0x52, - 0xde, 0x18, 0x39, 0xe7, 0x9e, 0x3a, 0xde, 0x9c, 0x0b, 0xaf, 0xdb, 0x5f, 0xb9, 0x2f, 0x64, 0x6e, - 0xb8, 0x3f, 0x17, 0x30, 0xc6, 0x93, 0x4e, 0xb7, 0x71, 0x39, 0x8a, 0xe2, 0xd1, 0xee, 0x41, 0x71, - 0xcc, 0xa2, 0x50, 0x1c, 0x6b, 0x18, 0xe4, 0xe7, 0x20, 0xb7, 0xad, 0xd9, 0x6e, 0x1d, 0xbb, 0xd7, - 0xb0, 0xd6, 0xc4, 0x76, 0xd8, 0x7f, 0xc8, 0x09, 0xff, 0x01, 0x41, 0x9c, 0x3a, 0x09, 0x6c, 0xfd, - 0xa4, 0xbf, 0xe5, 0x7d, 0x88, 0xd3, 0x13, 0xc9, 0x9e, 0x6f, 0xc1, 0x39, 0x98, 0x6f, 0x41, 0x56, - 0x86, 0x43, 0x17, 0x3b, 0x22, 0x8d, 0x46, 0x1f, 0xd0, 0xd3, 0xc2, 0x43, 0x88, 0x1d, 0xed, 0x21, - 0xf0, 0xe9, 0xc5, 0xfd, 0x84, 0x36, 0x24, 0xf9, 0x10, 0x7b, 0x0d, 0x89, 0xf8, 0x0d, 0x41, 0x1b, - 0x50, 0xe8, 0x6a, 0xb6, 0x4b, 0xbf, 0x50, 0xdc, 0xa7, 0xbd, 0xe0, 0x33, 0x78, 0x71, 0xd0, 0x9e, - 0x84, 0x3a, 0xcb, 0xdf, 0x92, 0xeb, 0x06, 0x0b, 0xe5, 0xdf, 0x89, 0x43, 0x82, 0x0b, 0xe3, 0x79, - 0x48, 0x72, 0xb1, 0xf2, 0x39, 0x77, 0xff, 0xf2, 0xe0, 0x32, 0xbb, 0xec, 0x2d, 0x87, 0x1c, 0x4f, - 0xf0, 0xa0, 0x87, 0x21, 0xa5, 0xef, 0x6b, 0x86, 0xa9, 0x1a, 0x4d, 0xee, 0xda, 0x66, 0xde, 0x7e, - 0x6b, 0x31, 0x59, 0x21, 0x65, 0xb5, 0x55, 0x25, 0x49, 0x2b, 0x6b, 0x4d, 0xe2, 0xd3, 0xec, 0x63, - 0xa3, 0xb5, 0xef, 0x72, 0xbb, 0xc1, 0x9f, 0xd0, 0xb3, 0x10, 0x27, 0x0a, 0xc1, 0xbf, 0x5f, 0x2f, - 0x0e, 0x44, 0x28, 0x5e, 0x0a, 0xa9, 0x9c, 0x22, 0x2f, 0xfe, 0xf8, 0x7f, 0x5e, 0x8c, 0x28, 0x94, - 0x03, 0x55, 0x20, 0xd7, 0xd6, 0x1c, 0x57, 0xa5, 0xeb, 0x31, 0x79, 0xfd, 0x34, 0x85, 0x38, 0x3d, - 0x28, 0x10, 0x2e, 0x58, 0xde, 0xf4, 0x0c, 0xe1, 0x62, 0x45, 0x4d, 0x74, 0x0e, 0x24, 0x0a, 0xa2, - 0xd3, 0x19, 0xc8, 0xbc, 0xc4, 0x04, 0x95, 0x7b, 0x9e, 0x94, 0xb3, 0x89, 0x49, 0x7d, 0xc5, 0x33, - 0x90, 0xa6, 0x5f, 0xcc, 0x52, 0x12, 0x76, 0x0c, 0x3e, 0x45, 0x0a, 0x68, 0xe5, 0x59, 0x28, 0xf8, - 0x56, 0x9f, 0x91, 0xa4, 0x18, 0x8a, 0x5f, 0x4c, 0x09, 0x9f, 0x80, 0x39, 0x13, 0x1f, 0xd0, 0x83, - 0xf9, 0x21, 0xea, 0x34, 0xa5, 0x46, 0xa4, 0xee, 0x46, 0x98, 0xe3, 0x21, 0xc8, 0xeb, 0x42, 0xf8, - 0x8c, 0x16, 0x28, 0x6d, 0xce, 0x2b, 0xa5, 0x64, 0xa7, 0x21, 0xa5, 0x75, 0xbb, 0x8c, 0x20, 0xc3, - 0xad, 0x7e, 0xb7, 0x4b, 0xab, 0xce, 0xc3, 0x0c, 0xed, 0xa3, 0x8d, 0x9d, 0x5e, 0xdb, 0xe5, 0x20, - 0x59, 0x4a, 0x53, 0x20, 0x15, 0x0a, 0x2b, 0xa7, 0xb4, 0x0f, 0x42, 0x0e, 0xdf, 0x32, 0x9a, 0xd8, - 0xd4, 0x31, 0xa3, 0xcb, 0x51, 0xba, 0xac, 0x28, 0xa4, 0x44, 0x8f, 0x80, 0x67, 0xcd, 0x55, 0xb1, - 0xd2, 0xe4, 0x19, 0x9e, 0x28, 0x2f, 0xb1, 0x62, 0x79, 0x1e, 0xe2, 0xab, 0x9a, 0xab, 0x11, 0x77, - 0xc9, 0x3d, 0x60, 0xcb, 0x67, 0x56, 0x21, 0x3f, 0xe5, 0xcf, 0xc5, 0x20, 0x7e, 0xc3, 0x72, 0x31, - 0x7a, 0x2a, 0xe0, 0xca, 0xe6, 0x87, 0xe9, 0x73, 0xdd, 0x68, 0x99, 0xb8, 0xb9, 0xe1, 0xb4, 0x02, - 0xd7, 0xdb, 0xf8, 0xea, 0x14, 0x0d, 0xa9, 0xd3, 0x1c, 0x4c, 0xdb, 0x56, 0xcf, 0x6c, 0x8a, 0x03, - 0xe4, 0xf4, 0x01, 0x55, 0x21, 0xe5, 0x69, 0x49, 0x7c, 0x9c, 0x96, 0x14, 0x88, 0x96, 0x10, 0x1d, - 0xe6, 0x05, 0x4a, 0x72, 0x97, 0x2b, 0x4b, 0x19, 0xd2, 0x9e, 0xf1, 0xe2, 0xda, 0x36, 0x99, 0xc2, - 0xfa, 0x6c, 0x64, 0x89, 0xf4, 0xc6, 0xde, 0x13, 0x1e, 0xd3, 0x38, 0xc9, 0xab, 0xe0, 0xd2, 0x0b, - 0xa9, 0x15, 0xbf, 0x6a, 0x27, 0x49, 0xfb, 0xe5, 0xab, 0x15, 0xbb, 0x6e, 0xe7, 0x3e, 0x48, 0x3b, - 0x46, 0xcb, 0xd4, 0xdc, 0x9e, 0x8d, 0xb9, 0xe6, 0xf9, 0x05, 0xa4, 0xd6, 0xff, 0x98, 0x82, 0x69, - 0x5a, 0xe0, 0x06, 0xb0, 0x0b, 0x30, 0xeb, 0xdf, 0xbd, 0xe5, 0xa3, 0x30, 0x2d, 0x43, 0x5e, 0x55, - 0x5d, 0xd4, 0xc8, 0xbf, 0x14, 0x81, 0x04, 0x5f, 0xb1, 0xfc, 0x61, 0x88, 0x0c, 0x1f, 0x86, 0xe8, - 0xa8, 0x61, 0x88, 0xdd, 0xfb, 0x30, 0x94, 0x00, 0xbc, 0x66, 0x3a, 0xfc, 0x42, 0x95, 0x21, 0x6e, - 0x15, 0x6b, 0x62, 0xdd, 0x68, 0xf1, 0x79, 0x1f, 0x60, 0x92, 0xff, 0x53, 0x84, 0x78, 0xf8, 0xbc, - 0x1e, 0x95, 0x20, 0x27, 0xda, 0xa5, 0xee, 0xb5, 0xb5, 0x16, 0x57, 0xc5, 0xfb, 0x47, 0x36, 0x8e, - 0xac, 0xc2, 0x4a, 0x86, 0xb7, 0x87, 0xfa, 0x13, 0x43, 0x87, 0x35, 0x3a, 0x62, 0x58, 0x43, 0x7a, - 0x14, 0xbb, 0x37, 0x3d, 0x0a, 0x8d, 0x78, 0xbc, 0x6f, 0xc4, 0xe5, 0xdf, 0x8a, 0xf0, 0x9b, 0xbf, - 0x9a, 0xec, 0x4b, 0x90, 0xbf, 0xac, 0xa1, 0x7a, 0x8d, 0xeb, 0x56, 0x13, 0x37, 0xd5, 0x81, 0x31, - 0x7b, 0x70, 0x10, 0x31, 0xdc, 0x66, 0x7f, 0xec, 0x90, 0x40, 0xa9, 0xfb, 0x63, 0xf8, 0xd9, 0x28, - 0xcc, 0x0c, 0xd0, 0xff, 0xdf, 0x37, 0x96, 0xe1, 0xd9, 0x3b, 0x3d, 0xe1, 0xec, 0x4d, 0x8c, 0x9c, - 0xbd, 0x3f, 0x1d, 0xa5, 0x09, 0x80, 0xae, 0xe5, 0x68, 0xed, 0xf7, 0xc3, 0xf6, 0x9e, 0x81, 0x74, - 0xd7, 0x6a, 0xab, 0xac, 0x86, 0x7d, 0xc2, 0x93, 0xea, 0x5a, 0x6d, 0x65, 0x40, 0xcd, 0xa6, 0xdf, - 0x25, 0xc3, 0x9c, 0x78, 0x17, 0x06, 0x21, 0xd9, 0x3f, 0xa1, 0x6c, 0xc8, 0x32, 0x51, 0x70, 0xaf, - 0xe9, 0x09, 0x22, 0x03, 0xea, 0x86, 0x45, 0x06, 0xbd, 0x3c, 0xd6, 0x6c, 0x46, 0xa9, 0x70, 0x3a, - 0xc2, 0xc1, 0x9c, 0x8c, 0x61, 0x99, 0xa3, 0xa0, 0xc5, 0x52, 0x38, 0x9d, 0xfc, 0xb7, 0x23, 0x00, - 0xeb, 0x44, 0xb2, 0xb4, 0xbf, 0xc4, 0xdf, 0x71, 0x68, 0x13, 0xd4, 0xd0, 0x9b, 0x17, 0x46, 0x0d, - 0x1a, 0x7f, 0x7f, 0xd6, 0x09, 0xb6, 0xbb, 0x02, 0x39, 0x5f, 0xb7, 0x1d, 0x2c, 0x1a, 0xb3, 0x70, - 0x44, 0x54, 0x5a, 0xc7, 0xae, 0x92, 0xbd, 0x15, 0x78, 0x92, 0xff, 0x59, 0x04, 0xd2, 0xb4, 0x4d, - 0x1b, 0xd8, 0xd5, 0x42, 0x63, 0x18, 0xb9, 0xf7, 0x31, 0xbc, 0x1f, 0x80, 0xc1, 0x38, 0xc6, 0x1b, - 0x98, 0x6b, 0x56, 0x9a, 0x96, 0xd4, 0x8d, 0x37, 0x30, 0xba, 0xec, 0x09, 0x3c, 0x76, 0xb4, 0xc0, - 0x45, 0xd4, 0xca, 0xc5, 0x7e, 0x0a, 0x92, 0xf4, 0x6e, 0xca, 0x03, 0x87, 0x07, 0xa2, 0x09, 0xb3, - 0xd7, 0x69, 0x1c, 0x38, 0xf2, 0xeb, 0x90, 0x6c, 0x1c, 0xb0, 0x7c, 0xe2, 0x19, 0x48, 0xdb, 0x96, - 0xc5, 0xbd, 0x3f, 0xe6, 0x75, 0xa7, 0x48, 0x01, 0x75, 0x76, 0x44, 0x0e, 0x2d, 0xea, 0xe7, 0xd0, - 0xfc, 0x24, 0x60, 0x6c, 0xa2, 0x24, 0x20, 0x89, 0x3e, 0x73, 0xa1, 0x99, 0x84, 0x1e, 0x83, 0x53, - 0xf5, 0xda, 0xda, 0x66, 0x75, 0x55, 0xdd, 0xa8, 0xaf, 0xf5, 0x7d, 0x9e, 0x5f, 0x2c, 0xdc, 0xb9, - 0xbb, 0x94, 0xe1, 0x61, 0xe7, 0x28, 0xea, 0x6d, 0xa5, 0x7a, 0x63, 0xab, 0x51, 0x95, 0x22, 0x8c, - 0x7a, 0xdb, 0xc6, 0xb7, 0x2c, 0x97, 0x5d, 0xfe, 0xfa, 0x04, 0x9c, 0x1e, 0x42, 0xed, 0x05, 0x9f, - 0x33, 0x77, 0xee, 0x2e, 0xe5, 0xb6, 0x6d, 0xcc, 0xb4, 0x8c, 0x72, 0x2c, 0xc3, 0xfc, 0x20, 0xc7, - 0xd6, 0xf6, 0x56, 0xbd, 0xb4, 0x2e, 0x2d, 0x15, 0xa5, 0x3b, 0x77, 0x97, 0xb2, 0xc2, 0x64, 0x10, - 0xfa, 0xf7, 0x3e, 0xfa, 0xfc, 0xd6, 0x54, 0x28, 0x6b, 0xcc, 0xe2, 0xba, 0xae, 0x66, 0x6b, 0x9d, - 0xe3, 0x86, 0x9f, 0x63, 0x0e, 0x0e, 0xc8, 0x3f, 0x15, 0x85, 0x82, 0x17, 0xdc, 0x6c, 0xd3, 0x37, - 0xa0, 0xa7, 0x82, 0x19, 0xbf, 0xcc, 0xc8, 0xb5, 0x83, 0x51, 0x8b, 0x84, 0xe0, 0x07, 0x21, 0x25, - 0x9c, 0x64, 0x3e, 0xa9, 0x96, 0x86, 0xac, 0x6f, 0x9c, 0x82, 0xb3, 0x7a, 0x1c, 0xe8, 0x05, 0x48, - 0x7b, 0x53, 0xcc, 0xbb, 0x20, 0x6d, 0xf4, 0x9c, 0xe4, 0xfc, 0x3e, 0x0f, 0x7a, 0xce, 0x0f, 0xe3, - 0xe2, 0xa3, 0x02, 0xc3, 0x1b, 0x8c, 0x80, 0x33, 0x7b, 0x21, 0xdc, 0x13, 0x10, 0xd7, 0x76, 0x75, - 0x83, 0x1b, 0xe0, 0xfb, 0x06, 0xf9, 0x4a, 0xe5, 0x4a, 0x8d, 0x33, 0x51, 0x4a, 0xb9, 0xc6, 0x93, - 0x29, 0x5c, 0x5e, 0xf4, 0x3a, 0x9a, 0x03, 0x95, 0xc5, 0xc2, 0xcc, 0xbb, 0x48, 0x75, 0xb4, 0x83, - 0x32, 0x0d, 0x87, 0x4f, 0x41, 0x92, 0x54, 0xb6, 0xf8, 0x85, 0x07, 0x31, 0x25, 0xd1, 0xd1, 0x0e, - 0xd6, 0x34, 0xe7, 0x7a, 0x3c, 0x15, 0x93, 0xe2, 0xf2, 0x8f, 0x11, 0x4f, 0x25, 0x24, 0x15, 0xf4, - 0x28, 0x20, 0xc2, 0xa1, 0xb5, 0xb0, 0x4a, 0xa6, 0x2e, 0x15, 0xaf, 0xc0, 0x2d, 0x74, 0xb4, 0x83, - 0x52, 0x0b, 0x6f, 0xf6, 0x3a, 0xb4, 0x01, 0x0e, 0xda, 0x00, 0x49, 0x10, 0x8b, 0x91, 0xe5, 0xe2, - 0x3f, 0x3d, 0x78, 0xc1, 0x2a, 0x27, 0x60, 0x0b, 0xc0, 0x27, 0xc8, 0x02, 0x90, 0x67, 0x78, 0xde, - 0x51, 0x91, 0x50, 0x57, 0x62, 0xe1, 0xae, 0xc8, 0x2f, 0x40, 0xa1, 0x6f, 0x04, 0x90, 0x0c, 0x39, - 0x9e, 0xb1, 0xa2, 0xdb, 0xf0, 0x2c, 0xc2, 0x49, 0x2b, 0x19, 0x96, 0x99, 0xa2, 0xc7, 0x12, 0x56, - 0x52, 0x3f, 0xfb, 0xe6, 0x62, 0x84, 0x6e, 0xe6, 0x3c, 0x0a, 0xb9, 0xd0, 0x18, 0x88, 0x2c, 0x72, - 0xc4, 0xcf, 0x22, 0xfb, 0xc4, 0xaf, 0x41, 0x96, 0x18, 0x20, 0xdc, 0xe4, 0xb4, 0x0f, 0x43, 0x81, - 0x19, 0xc8, 0x7e, 0x59, 0x33, 0x87, 0x67, 0x43, 0x08, 0x5c, 0x16, 0x1e, 0x50, 0x58, 0xec, 0x19, - 0x41, 0xb5, 0xa6, 0x39, 0xf2, 0x16, 0x80, 0x3f, 0xa8, 0xa8, 0x04, 0xf7, 0x13, 0xe3, 0x11, 0x3c, - 0x36, 0xca, 0xaf, 0xc6, 0x0a, 0x79, 0x8c, 0x45, 0x42, 0xe4, 0x1f, 0x0d, 0x65, 0x17, 0x64, 0x5d, - 0xa3, 0x14, 0xe5, 0x97, 0x3e, 0xf3, 0xf6, 0x42, 0xe4, 0xbd, 0xb1, 0x05, 0xdf, 0xf5, 0x32, 0x9c, - 0x09, 0x54, 0x12, 0x05, 0x0c, 0x25, 0xa2, 0x0a, 0x01, 0x7d, 0x25, 0x95, 0xe3, 0x12, 0x4a, 0x47, - 0xe6, 0x7f, 0x8b, 0x47, 0x9b, 0x9d, 0xf1, 0xd9, 0xa6, 0xf1, 0xf9, 0xae, 0xe1, 0x49, 0xf9, 0x7f, - 0x9a, 0x86, 0xa4, 0x82, 0x3f, 0xdc, 0xc3, 0x8e, 0x8b, 0x2e, 0x42, 0x1c, 0xeb, 0xfb, 0xd6, 0xb0, - 0x1c, 0x28, 0xe9, 0xe0, 0x32, 0xa7, 0xab, 0xea, 0xfb, 0xd6, 0xb5, 0x29, 0x85, 0xd2, 0xa2, 0x4b, - 0x30, 0xbd, 0xd7, 0xee, 0xf1, 0xf4, 0x55, 0x9f, 0xcd, 0x0a, 0x32, 0x5d, 0x25, 0x44, 0xd7, 0xa6, - 0x14, 0x46, 0x4d, 0x5e, 0x45, 0x6f, 0xc6, 0x8e, 0x1d, 0xfd, 0xaa, 0x9a, 0xb9, 0x47, 0x5f, 0x45, - 0x68, 0x51, 0x19, 0xc0, 0x30, 0x0d, 0x57, 0xa5, 0xa9, 0x1d, 0x6e, 0x35, 0x1e, 0x18, 0xcd, 0x69, - 0xb8, 0x34, 0x19, 0x74, 0x6d, 0x4a, 0x49, 0x1b, 0xe2, 0x81, 0x34, 0xf7, 0xc3, 0x3d, 0x6c, 0x1f, - 0x72, 0x6f, 0x6d, 0x64, 0x73, 0x5f, 0x22, 0x44, 0xa4, 0xb9, 0x94, 0x9a, 0x18, 0x59, 0x76, 0xc9, - 0x9e, 0x7b, 0xc0, 0xaf, 0x8e, 0x5d, 0x1c, 0xc5, 0x49, 0x6f, 0xda, 0x6b, 0x1c, 0x5c, 0x9b, 0x52, - 0x92, 0x3a, 0xfb, 0x89, 0x9e, 0xf5, 0x5c, 0xb0, 0xcc, 0xa0, 0xd7, 0x13, 0xe2, 0x65, 0x69, 0x9f, - 0x29, 0xe1, 0x8a, 0xa1, 0x4d, 0xc8, 0xb7, 0x0d, 0xc7, 0x55, 0x1d, 0x53, 0xeb, 0x3a, 0xfb, 0x96, - 0xeb, 0xd0, 0xfc, 0x49, 0xe6, 0xe2, 0x43, 0xa3, 0x10, 0xd6, 0x0d, 0xc7, 0xad, 0x0b, 0xe2, 0x6b, - 0x53, 0x4a, 0xae, 0x1d, 0x2c, 0x20, 0x78, 0xd6, 0xde, 0x1e, 0xb6, 0x3d, 0x40, 0x9a, 0x67, 0x39, - 0x02, 0x6f, 0x8b, 0x50, 0x0b, 0x7e, 0x82, 0x67, 0x05, 0x0b, 0xd0, 0xd7, 0xc0, 0x6c, 0xdb, 0xd2, - 0x9a, 0x1e, 0x9c, 0xaa, 0xef, 0xf7, 0xcc, 0x9b, 0x34, 0x29, 0x93, 0xb9, 0xf8, 0xc8, 0xc8, 0x46, - 0x5a, 0x5a, 0x53, 0x40, 0x54, 0x08, 0xc3, 0xb5, 0x29, 0x65, 0xa6, 0xdd, 0x5f, 0x88, 0xbe, 0x1e, - 0xe6, 0xb4, 0x6e, 0xb7, 0x7d, 0xd8, 0x8f, 0x5e, 0xa0, 0xe8, 0xe7, 0x47, 0xa1, 0x97, 0x08, 0x4f, - 0x3f, 0x3c, 0xd2, 0x06, 0x4a, 0x51, 0x03, 0xa4, 0xae, 0x8d, 0xe9, 0x97, 0x57, 0x5d, 0xee, 0x65, - 0xd0, 0x7b, 0xa9, 0x32, 0x17, 0xcf, 0x8e, 0xc2, 0xde, 0x66, 0xf4, 0xc2, 0x29, 0xb9, 0x36, 0xa5, - 0x14, 0xba, 0xe1, 0x22, 0x86, 0x6a, 0xe9, 0x98, 0x5e, 0x9b, 0xc7, 0x51, 0x67, 0xc6, 0xa1, 0x52, - 0xfa, 0x30, 0x6a, 0xa8, 0x08, 0x55, 0x21, 0xc3, 0x42, 0x51, 0x95, 0x18, 0x43, 0x7a, 0x9b, 0x55, - 0xe6, 0xa2, 0x3c, 0x72, 0x86, 0x52, 0xd2, 0x1b, 0x96, 0x8b, 0xaf, 0x4d, 0x29, 0x80, 0xbd, 0x27, - 0xa4, 0xc1, 0x09, 0x7a, 0xb1, 0xd7, 0xa1, 0x1a, 0x36, 0xbc, 0xf3, 0xb3, 0x14, 0xf0, 0xd1, 0x51, - 0x80, 0x37, 0x28, 0xd3, 0x8d, 0xa0, 0x1d, 0xbe, 0x36, 0xa5, 0xcc, 0xde, 0x1a, 0x2c, 0x26, 0x2a, - 0xb6, 0x67, 0x98, 0x5a, 0xdb, 0x78, 0x03, 0xb3, 0x25, 0x94, 0x5e, 0x69, 0x79, 0x84, 0x8a, 0x5d, - 0xe5, 0xd4, 0x74, 0x61, 0x25, 0x2a, 0xb6, 0x17, 0x2c, 0x28, 0x27, 0xf9, 0x99, 0x51, 0xef, 0x8a, - 0xb6, 0xa4, 0x94, 0x62, 0xd7, 0xb2, 0x5d, 0x8f, 0xa7, 0x40, 0xca, 0xc8, 0x67, 0x21, 0x13, 0x30, - 0x4c, 0x68, 0x1e, 0x92, 0xfc, 0x54, 0x8d, 0x38, 0x7d, 0xca, 0x1f, 0xe5, 0x3c, 0x64, 0x83, 0xc6, - 0x48, 0xfe, 0x78, 0xc4, 0xe3, 0xa4, 0x77, 0x53, 0xcc, 0x87, 0x33, 0xd2, 0x69, 0xdf, 0x53, 0x79, - 0x50, 0x2c, 0x6d, 0xa2, 0x9e, 0x6d, 0xbf, 0x66, 0x69, 0x21, 0x5f, 0x59, 0xd1, 0x22, 0x64, 0xba, - 0x17, 0xbb, 0x1e, 0x49, 0x8c, 0x92, 0x40, 0xf7, 0x62, 0x57, 0x10, 0x3c, 0x00, 0x59, 0xd2, 0x6f, - 0x35, 0xe8, 0x2f, 0xa5, 0x95, 0x0c, 0x29, 0xe3, 0x24, 0xf2, 0xbf, 0x89, 0x82, 0xd4, 0x6f, 0xc0, - 0xbc, 0x54, 0x75, 0xe4, 0xd8, 0xa9, 0xea, 0xd3, 0xfd, 0x49, 0x72, 0x3f, 0x2f, 0xbe, 0x0e, 0x92, - 0x9f, 0xde, 0x65, 0x4b, 0xcd, 0x68, 0xff, 0xaf, 0xcf, 0x51, 0x55, 0x0a, 0x7a, 0x9f, 0xe7, 0x7a, - 0x35, 0xb4, 0x59, 0x29, 0xfe, 0x74, 0x44, 0xff, 0x80, 0x7b, 0x4e, 0xcc, 0x4e, 0xb7, 0xa9, 0xb9, - 0x58, 0xe4, 0xc7, 0x02, 0xfb, 0x96, 0x0f, 0x43, 0x41, 0xeb, 0x76, 0x55, 0xc7, 0xd5, 0x5c, 0xcc, - 0x7d, 0x0d, 0x96, 0x79, 0xc8, 0x69, 0xdd, 0x6e, 0x9d, 0x94, 0x32, 0x5f, 0xe3, 0x21, 0xc8, 0x13, - 0x9b, 0x6e, 0x68, 0x6d, 0xe1, 0x2a, 0x24, 0x98, 0x4b, 0xc2, 0x4b, 0x99, 0x77, 0x20, 0x37, 0xbd, - 0x11, 0xa7, 0xf6, 0xdc, 0x8b, 0xa9, 0x22, 0x81, 0x98, 0x0a, 0xf1, 0x3b, 0x43, 0x98, 0x7c, 0xc4, - 0x3d, 0x2b, 0xc3, 0x37, 0x0d, 0xe6, 0x68, 0xfc, 0x75, 0x8b, 0x25, 0x4b, 0x52, 0x0a, 0x7b, 0x90, - 0x15, 0xc8, 0x87, 0x6d, 0x3f, 0xca, 0x43, 0xd4, 0x3d, 0xe0, 0x6f, 0x89, 0xba, 0x07, 0xc4, 0xd3, - 0xf5, 0x6e, 0xda, 0xcd, 0x0f, 0x59, 0xed, 0x38, 0x9f, 0x9f, 0xeb, 0x90, 0x0b, 0x90, 0x0b, 0xad, - 0x09, 0xf2, 0x49, 0x98, 0x1b, 0x66, 0xe2, 0xe5, 0x7d, 0xaf, 0x3c, 0x64, 0xaa, 0xd1, 0x25, 0x48, - 0x79, 0x36, 0x7e, 0x48, 0x74, 0x4c, 0x5f, 0x2b, 0x88, 0x15, 0x8f, 0x34, 0x94, 0xce, 0x8f, 0x86, - 0xd2, 0xf9, 0xf2, 0x37, 0xc0, 0xfc, 0x28, 0xfb, 0xdd, 0x97, 0xe4, 0x8b, 0x7b, 0x02, 0x3b, 0x09, - 0x09, 0x7e, 0xa5, 0x65, 0x94, 0x6e, 0x60, 0xf1, 0x27, 0x22, 0x48, 0x66, 0xcb, 0x63, 0x6c, 0x5f, - 0x8b, 0x3e, 0xc8, 0x2a, 0x9c, 0x1e, 0x69, 0xc3, 0x47, 0x6f, 0x85, 0x31, 0x20, 0xbe, 0x15, 0xa6, - 0x8b, 0xe6, 0x38, 0xb4, 0xaf, 0xe2, 0x20, 0x0b, 0x7b, 0x92, 0x3f, 0x11, 0x83, 0x93, 0xc3, 0x2d, - 0x39, 0x5a, 0x82, 0x2c, 0xf1, 0x5b, 0xdd, 0xb0, 0x8b, 0x0b, 0x1d, 0xed, 0xa0, 0xc1, 0xfd, 0x5b, - 0xbe, 0x95, 0x10, 0xf5, 0xb6, 0x12, 0xd0, 0x0e, 0xcc, 0xb4, 0x2d, 0x5d, 0x6b, 0xab, 0x81, 0xad, - 0x1c, 0x3e, 0x89, 0x1e, 0x1c, 0x10, 0x76, 0x38, 0x65, 0x48, 0x0c, 0x0e, 0xd7, 0xff, 0x02, 0xc5, - 0x58, 0xf7, 0x76, 0x7d, 0xd0, 0x2a, 0x64, 0x3a, 0x86, 0xb3, 0x8b, 0xf7, 0xb5, 0x5b, 0x86, 0x65, - 0xf3, 0xd9, 0x34, 0xa8, 0x34, 0x1b, 0x3e, 0x8d, 0xd8, 0x61, 0x0a, 0xb0, 0x05, 0x86, 0x64, 0x7a, - 0xe8, 0xc6, 0x57, 0xe2, 0xd8, 0xd6, 0x64, 0xd4, 0x1e, 0x52, 0x72, 0xe4, 0x1e, 0xd2, 0xb0, 0x0d, - 0x9b, 0xd4, 0xf0, 0x0d, 0x9b, 0x8f, 0x05, 0x87, 0x26, 0xbc, 0xf6, 0x0d, 0xec, 0xe1, 0xa0, 0x3a, - 0xcc, 0x71, 0xfe, 0x66, 0x48, 0xf6, 0x43, 0x8e, 0x3a, 0xb0, 0xf9, 0xd5, 0x2f, 0x73, 0x24, 0xd8, - 0x47, 0x8b, 0x3d, 0x76, 0x6f, 0x62, 0x17, 0x9b, 0xa8, 0xf1, 0xc0, 0x26, 0xea, 0xff, 0x61, 0x43, - 0xf1, 0x02, 0xcc, 0x0c, 0xf8, 0x11, 0x43, 0x37, 0x87, 0x47, 0x24, 0x64, 0xe5, 0x4f, 0x46, 0xa0, - 0x38, 0xda, 0x71, 0x18, 0x0a, 0x75, 0xac, 0xdc, 0xf7, 0x28, 0xf3, 0xfc, 0x10, 0xe4, 0xfb, 0xdc, - 0x1a, 0x36, 0x0a, 0xb9, 0x50, 0x00, 0x29, 0x7f, 0x73, 0xcc, 0xb3, 0x99, 0x21, 0xdf, 0x63, 0x88, - 0xa2, 0xbd, 0x04, 0xb3, 0x4d, 0xac, 0x1b, 0xcd, 0x7b, 0xd5, 0xb3, 0x19, 0xce, 0xfd, 0xff, 0xd4, - 0x6c, 0x50, 0xcd, 0xbe, 0x07, 0x20, 0xa5, 0x60, 0xa7, 0x4b, 0x5c, 0x09, 0x54, 0x86, 0x34, 0x3e, - 0xd0, 0x71, 0xd7, 0xf5, 0xcf, 0x03, 0x0c, 0xf3, 0x6e, 0x19, 0x75, 0x55, 0x50, 0x92, 0xd8, 0xce, - 0x63, 0x43, 0x4f, 0xf1, 0xf0, 0x75, 0x74, 0x24, 0xca, 0xd9, 0x83, 0xf1, 0xeb, 0x65, 0x11, 0xbf, - 0xc6, 0x46, 0x86, 0x66, 0x8c, 0xab, 0x2f, 0x80, 0x7d, 0x8a, 0x07, 0xb0, 0xf1, 0x31, 0x2f, 0x0b, - 0x45, 0xb0, 0x95, 0x50, 0x04, 0x9b, 0x18, 0xd3, 0xcd, 0x11, 0x21, 0xec, 0x65, 0x11, 0xc2, 0x26, - 0xc7, 0xb4, 0xb8, 0x2f, 0x86, 0x7d, 0x3e, 0x10, 0xc3, 0xa6, 0x07, 0x13, 0x85, 0x21, 0xd6, 0x21, - 0x41, 0xec, 0x73, 0x5e, 0x10, 0x9b, 0x1d, 0x19, 0x00, 0x73, 0xe6, 0xfe, 0x28, 0x76, 0x6b, 0x20, - 0x8a, 0xcd, 0xf1, 0xbf, 0xed, 0x33, 0x0a, 0x62, 0x4c, 0x18, 0xbb, 0x35, 0x10, 0xc6, 0xe6, 0xc7, - 0x00, 0x8e, 0x89, 0x63, 0xbf, 0x76, 0x78, 0x1c, 0x3b, 0x3a, 0xd2, 0xe4, 0xcd, 0x9c, 0x2c, 0x90, - 0x55, 0x47, 0x04, 0xb2, 0xd2, 0xc8, 0xa0, 0x8b, 0xc1, 0x4f, 0x1c, 0xc9, 0xee, 0x0c, 0x89, 0x64, - 0x59, 0xcc, 0x79, 0x6e, 0x24, 0xf8, 0x04, 0xa1, 0xec, 0xce, 0x90, 0x50, 0x16, 0x8d, 0x85, 0x1d, - 0x1b, 0xcb, 0x5e, 0x0d, 0xc7, 0xb2, 0xb3, 0x23, 0x1c, 0x26, 0x7f, 0xb6, 0x8f, 0x08, 0x66, 0x77, - 0x47, 0x05, 0xb3, 0x2c, 0xe0, 0x7c, 0x6c, 0x24, 0xe2, 0x31, 0xa2, 0xd9, 0xad, 0x81, 0x68, 0xf6, - 0xc4, 0x18, 0x4d, 0x9b, 0x3c, 0x9c, 0x65, 0x77, 0x8d, 0xb3, 0x5b, 0xc6, 0x41, 0xca, 0x5c, 0x8f, - 0xa7, 0x32, 0x52, 0x56, 0x7e, 0x84, 0xac, 0xbe, 0x7d, 0x76, 0x8e, 0xb8, 0xb9, 0xd8, 0xb6, 0x2d, - 0x5b, 0x1c, 0xee, 0xa7, 0x0f, 0xf2, 0x39, 0x12, 0xde, 0xf8, 0x36, 0xed, 0x88, 0xd0, 0x97, 0x86, - 0x13, 0x01, 0x3b, 0x26, 0xff, 0x6c, 0xc4, 0xe7, 0xa5, 0xc1, 0x6f, 0x30, 0x34, 0x4a, 0xf3, 0xd0, - 0x28, 0x10, 0x10, 0x47, 0xc3, 0x01, 0xf1, 0x22, 0x64, 0x48, 0x98, 0xd0, 0x17, 0xeb, 0x6a, 0x5d, - 0x2f, 0xd6, 0x15, 0x67, 0x7f, 0x58, 0xd8, 0xcc, 0x97, 0x25, 0xb6, 0x11, 0x56, 0xf0, 0xce, 0x41, - 0xb1, 0x28, 0x0d, 0x3d, 0x0e, 0xb3, 0x01, 0x5a, 0x2f, 0xfc, 0x60, 0x81, 0x9f, 0xe4, 0x51, 0x97, - 0x78, 0x1c, 0xf2, 0xcf, 0x23, 0xbe, 0x84, 0xfc, 0x20, 0x79, 0x58, 0x3c, 0x1b, 0x79, 0x97, 0xe2, - 0xd9, 0xe8, 0x3d, 0xc7, 0xb3, 0xc1, 0x70, 0x2a, 0x16, 0x0e, 0xa7, 0xfe, 0x7b, 0xc4, 0x1f, 0x13, - 0x2f, 0x3a, 0xd5, 0xad, 0x26, 0xe6, 0x01, 0x0e, 0xfd, 0x4d, 0x5c, 0x92, 0xb6, 0xd5, 0xe2, 0x61, - 0x0c, 0xf9, 0x49, 0xa8, 0xbc, 0x85, 0x27, 0xcd, 0xd7, 0x15, 0x2f, 0x36, 0x9a, 0x0e, 0x7e, 0x82, - 0xc0, 0xcf, 0xe5, 0x27, 0xfc, 0x73, 0xf9, 0xde, 0xf7, 0xb7, 0xc9, 0xc0, 0xf7, 0xb7, 0xe8, 0x59, - 0x48, 0xd3, 0x3c, 0xb5, 0x6a, 0x75, 0xc5, 0x1f, 0xc6, 0x3a, 0x33, 0xfa, 0x4c, 0xbe, 0x43, 0x4f, - 0x0b, 0xb3, 0x73, 0xfc, 0xbe, 0xc7, 0x91, 0x0e, 0x79, 0x1c, 0xf7, 0x41, 0x9a, 0xb4, 0x9e, 0xfd, - 0x81, 0x07, 0xe0, 0x1f, 0x6f, 0x8b, 0x02, 0xf9, 0xc7, 0xa3, 0x50, 0xe8, 0x5b, 0x68, 0x86, 0xf6, - 0x7d, 0xd8, 0x0e, 0xe8, 0x64, 0xf2, 0x58, 0x00, 0x68, 0x69, 0x8e, 0x7a, 0x5b, 0x33, 0x5d, 0xdc, - 0xe4, 0x42, 0x09, 0x94, 0xa0, 0x22, 0xa4, 0xc8, 0x53, 0xcf, 0xc1, 0x4d, 0x9e, 0x38, 0xf0, 0x9e, - 0xd1, 0x35, 0x48, 0xe0, 0x5b, 0xf4, 0x82, 0x53, 0x76, 0x4d, 0xf0, 0xc9, 0xc1, 0x48, 0x8e, 0x54, - 0x97, 0xe7, 0xc9, 0x60, 0x7f, 0xe9, 0xad, 0x45, 0x89, 0x51, 0x3f, 0xe6, 0x7d, 0x33, 0xa5, 0x70, - 0xfe, 0xb0, 0x14, 0x52, 0x7d, 0x52, 0xa0, 0x29, 0xac, 0xac, 0x88, 0x4c, 0x89, 0x4c, 0xd9, 0xf1, - 0x64, 0x25, 0xd7, 0xc1, 0x9d, 0xae, 0x65, 0xb5, 0x55, 0x36, 0xc7, 0x4b, 0x90, 0x0f, 0xaf, 0xab, - 0xec, 0x8f, 0x2f, 0xb9, 0x9a, 0x61, 0xaa, 0x21, 0x27, 0x38, 0xcb, 0x0a, 0xd9, 0x9c, 0xba, 0x1e, - 0x4f, 0x45, 0xa4, 0xe8, 0xf5, 0x78, 0x2a, 0x2a, 0xc5, 0xe4, 0x6d, 0x38, 0x31, 0x74, 0x5d, 0x45, - 0xcf, 0x40, 0xda, 0x5f, 0x92, 0xd9, 0x09, 0xf3, 0x23, 0x92, 0x04, 0x3e, 0xad, 0xfc, 0x8b, 0x11, - 0x1f, 0x32, 0x9c, 0x76, 0xa8, 0x42, 0x82, 0x1d, 0xf7, 0xe3, 0x47, 0x3b, 0x1e, 0x9f, 0x6c, 0x45, - 0x5e, 0x66, 0x67, 0x01, 0x15, 0xce, 0x2c, 0x7f, 0x3d, 0x24, 0x58, 0x09, 0xca, 0x40, 0xd2, 0xbf, - 0x4a, 0x19, 0x20, 0x51, 0xaa, 0x54, 0xaa, 0xdb, 0xe2, 0x5e, 0xd4, 0xf2, 0x96, 0xd2, 0x90, 0xa2, - 0xa4, 0x58, 0xa9, 0x5e, 0xaf, 0x56, 0x1a, 0x52, 0x0c, 0xcd, 0x40, 0x8e, 0xfd, 0x56, 0xaf, 0x6e, - 0x29, 0x1b, 0xa5, 0x86, 0x14, 0x0f, 0x14, 0xd5, 0xab, 0x9b, 0xab, 0x55, 0x45, 0x9a, 0x96, 0x9f, - 0x84, 0xd3, 0x23, 0xd7, 0x70, 0x3f, 0xa7, 0x10, 0x09, 0xe4, 0x14, 0xe4, 0x4f, 0x44, 0x49, 0x50, - 0x33, 0x6a, 0x61, 0x46, 0xd7, 0xfb, 0x3a, 0x7e, 0xf1, 0x18, 0xab, 0x7a, 0x5f, 0xef, 0x49, 0x1c, - 0x63, 0xe3, 0x3d, 0xec, 0xea, 0xfb, 0xcc, 0x51, 0x60, 0x16, 0x28, 0xa7, 0xe4, 0x78, 0x29, 0x65, - 0x72, 0x18, 0xd9, 0xeb, 0x58, 0x77, 0x55, 0xa6, 0x44, 0x0e, 0xff, 0x5b, 0xb1, 0x39, 0x56, 0x5a, - 0x67, 0x85, 0xf2, 0x37, 0x1c, 0x4b, 0x96, 0x69, 0x98, 0x56, 0xaa, 0x0d, 0xe5, 0x55, 0x29, 0x86, - 0x10, 0xe4, 0xe9, 0x4f, 0xb5, 0xbe, 0x59, 0xda, 0xae, 0x5f, 0xdb, 0x22, 0xb2, 0x9c, 0x85, 0x82, - 0x90, 0xa5, 0x28, 0x9c, 0x96, 0x1f, 0x85, 0x53, 0x23, 0xbc, 0x8a, 0x21, 0xe7, 0x2f, 0x3f, 0x15, - 0x09, 0x52, 0x87, 0x3d, 0x83, 0x2d, 0x48, 0x38, 0xae, 0xe6, 0xf6, 0x1c, 0x2e, 0xc4, 0x67, 0x26, - 0x75, 0x33, 0x96, 0xc5, 0x8f, 0x3a, 0x65, 0x57, 0x38, 0x8c, 0x7c, 0x09, 0xf2, 0xe1, 0x9a, 0xd1, - 0x32, 0xf0, 0x95, 0x28, 0x2a, 0x5f, 0x01, 0x34, 0xe8, 0x7d, 0x0c, 0x09, 0x2f, 0x23, 0xc3, 0xc2, - 0xcb, 0x1f, 0x89, 0xc0, 0x99, 0x23, 0x3c, 0x0d, 0xf4, 0x52, 0x5f, 0x27, 0x9f, 0x3b, 0x8e, 0x9f, - 0xb2, 0xcc, 0xca, 0xfa, 0xba, 0xf9, 0x14, 0x64, 0x83, 0xe5, 0x93, 0x75, 0xf2, 0x4b, 0x51, 0x7f, - 0x12, 0x87, 0xe3, 0x60, 0xdf, 0x04, 0x46, 0xfe, 0x82, 0x26, 0xf0, 0x83, 0x00, 0xee, 0x81, 0x38, - 0x00, 0xcc, 0xd7, 0xd1, 0xfb, 0x87, 0xa4, 0xc6, 0xb0, 0xde, 0x38, 0xe0, 0x93, 0x20, 0xed, 0xf2, - 0x5f, 0x0e, 0xaa, 0x07, 0x93, 0x02, 0x3d, 0xba, 0xc6, 0x3a, 0xde, 0x5f, 0x8a, 0x9d, 0x6c, 0x31, - 0xf6, 0x93, 0x07, 0xac, 0xd8, 0x41, 0xaf, 0xc2, 0xa9, 0x3e, 0x47, 0xc1, 0x83, 0x8e, 0x4f, 0xea, - 0x2f, 0x9c, 0x08, 0xfb, 0x0b, 0x02, 0x3a, 0xb8, 0xda, 0x4f, 0x87, 0x57, 0xfb, 0x57, 0x01, 0xfc, - 0xe4, 0x80, 0x7f, 0x62, 0x2d, 0x12, 0x3c, 0xb1, 0x76, 0x09, 0xa6, 0x89, 0x26, 0x09, 0x39, 0x0d, - 0x9a, 0x62, 0xa2, 0x09, 0x81, 0xe4, 0x02, 0xa3, 0x96, 0x0d, 0x40, 0x83, 0xb9, 0xc5, 0x11, 0xaf, - 0x78, 0x3e, 0xfc, 0x8a, 0x07, 0x46, 0x66, 0x29, 0x87, 0xbf, 0xea, 0x0d, 0x98, 0xa6, 0x23, 0x3f, - 0xf4, 0x33, 0xc0, 0xaf, 0x03, 0xd0, 0x5c, 0xd7, 0x36, 0x76, 0x7b, 0xfe, 0x0b, 0x16, 0x87, 0x6b, - 0x4e, 0x49, 0xd0, 0x95, 0xef, 0xe3, 0x2a, 0x34, 0xe7, 0xb3, 0x06, 0xd4, 0x28, 0x00, 0x28, 0x6f, - 0x42, 0x3e, 0xcc, 0x3b, 0xfc, 0xb3, 0x46, 0xff, 0x7e, 0x91, 0xb4, 0xf0, 0x6f, 0x3c, 0xef, 0x88, - 0xdf, 0xf9, 0x43, 0x1f, 0xe4, 0x3f, 0x8f, 0x40, 0x36, 0xa8, 0x78, 0xef, 0xb2, 0x0b, 0x72, 0xff, - 0x10, 0x17, 0x24, 0xdd, 0xd2, 0x9c, 0x97, 0x99, 0x07, 0x72, 0x7a, 0xc0, 0x03, 0x49, 0xb6, 0x34, - 0x67, 0xe7, 0x7d, 0x74, 0x40, 0xe4, 0x6f, 0x89, 0x40, 0xca, 0xeb, 0xfc, 0x11, 0xa7, 0x74, 0xfd, - 0x8f, 0x5b, 0xbd, 0xac, 0x3b, 0xdb, 0xdf, 0x88, 0x79, 0xfb, 0x1b, 0x57, 0xbc, 0xc5, 0x6f, 0x54, - 0x3a, 0x24, 0x28, 0x69, 0x71, 0x52, 0x8e, 0xaf, 0xf5, 0x57, 0x26, 0xfb, 0x86, 0x6c, 0x0e, 0xa6, - 0x83, 0xdf, 0x7f, 0xb1, 0x07, 0xb9, 0x19, 0x38, 0x1a, 0xc3, 0xa6, 0x61, 0xf0, 0x63, 0xb3, 0xc8, - 0xb1, 0x3f, 0x36, 0xf3, 0xde, 0x12, 0x0d, 0xbe, 0xe5, 0xbb, 0x23, 0x90, 0x12, 0x33, 0x02, 0x7d, - 0x28, 0x78, 0x64, 0x4a, 0xec, 0xc9, 0x8d, 0xb4, 0x46, 0x1c, 0x3f, 0x70, 0x62, 0x6a, 0xe0, 0xa4, - 0x70, 0xec, 0xb8, 0x27, 0x85, 0xb9, 0x5f, 0xf7, 0x27, 0x11, 0x90, 0xfa, 0xe7, 0xeb, 0x5f, 0xb8, - 0x75, 0x83, 0x8b, 0x5c, 0x6c, 0xc8, 0x22, 0x37, 0xea, 0xf8, 0x6f, 0x7c, 0xd4, 0xf1, 0xdf, 0xc1, - 0x5e, 0x4f, 0xdf, 0x63, 0xaf, 0x3f, 0x1a, 0x85, 0x4c, 0x20, 0x39, 0x8a, 0x9e, 0x0e, 0x1d, 0x25, - 0x5e, 0x3a, 0x2a, 0x91, 0x1a, 0x38, 0x4b, 0x1c, 0x12, 0x53, 0xf4, 0xf8, 0x62, 0x7a, 0xf7, 0x3f, - 0x2b, 0x1a, 0xfe, 0xe5, 0xe5, 0xf4, 0x88, 0x2f, 0x2f, 0xbf, 0x29, 0x02, 0x29, 0xcf, 0xe9, 0x3e, - 0xee, 0xee, 0xdb, 0x49, 0x48, 0x70, 0xbf, 0x92, 0x6d, 0xbf, 0xf1, 0xa7, 0xa1, 0x49, 0xe5, 0x22, - 0xa4, 0xc4, 0x1f, 0xed, 0xe3, 0x6b, 0x9a, 0xf7, 0x7c, 0xfe, 0x39, 0xc8, 0x04, 0x76, 0x2e, 0x89, - 0x61, 0xdc, 0xac, 0xbe, 0x2c, 0x4d, 0x15, 0x93, 0x77, 0xee, 0x2e, 0xc5, 0x36, 0xf1, 0x6d, 0x32, - 0x9b, 0x95, 0x6a, 0xe5, 0x5a, 0xb5, 0xf2, 0xa2, 0x14, 0x29, 0x66, 0xee, 0xdc, 0x5d, 0x4a, 0x2a, - 0x98, 0xe6, 0x13, 0xcf, 0xbf, 0x08, 0x85, 0xbe, 0x81, 0x09, 0x3b, 0x2d, 0x08, 0xf2, 0xab, 0x3b, - 0xdb, 0xeb, 0xb5, 0x4a, 0xa9, 0x51, 0x55, 0xd9, 0x81, 0x53, 0x74, 0x0a, 0x66, 0xd7, 0x6b, 0x6b, - 0xd7, 0x1a, 0x6a, 0x65, 0xbd, 0x56, 0xdd, 0x6c, 0xa8, 0xa5, 0x46, 0xa3, 0x54, 0x79, 0x51, 0x8a, - 0x5e, 0xbc, 0x9b, 0x81, 0x78, 0xa9, 0x5c, 0xa9, 0xa1, 0x0a, 0xc4, 0x69, 0x22, 0xe4, 0xc8, 0xa3, - 0x4b, 0xc5, 0xa3, 0x33, 0xc3, 0xe8, 0x2a, 0x4c, 0xd3, 0x1c, 0x09, 0x3a, 0xfa, 0x2c, 0x53, 0x71, - 0x4c, 0xaa, 0x98, 0x34, 0x86, 0xce, 0xc8, 0x23, 0x0f, 0x37, 0x15, 0x8f, 0xce, 0x1c, 0xa3, 0x75, - 0x48, 0x8a, 0x10, 0x79, 0xdc, 0x89, 0xa3, 0xe2, 0xd8, 0x74, 0x2e, 0xe9, 0x1a, 0x4b, 0x35, 0x1c, - 0x7d, 0xee, 0xa9, 0x38, 0x26, 0xa7, 0x8c, 0x6a, 0xde, 0x87, 0x38, 0x63, 0x8e, 0x32, 0x15, 0xc7, - 0x65, 0x89, 0x91, 0x02, 0x69, 0x3f, 0x89, 0x33, 0xfe, 0x34, 0x57, 0x71, 0x82, 0x74, 0x39, 0xfa, - 0x7a, 0xc8, 0x85, 0x03, 0xdd, 0xc9, 0x8e, 0x4b, 0x15, 0x27, 0xcc, 0x47, 0x13, 0xfc, 0x70, 0xd4, - 0x3b, 0xd9, 0xf1, 0xa9, 0xe2, 0x84, 0xe9, 0x69, 0xf4, 0x3a, 0xcc, 0x0c, 0x46, 0xa5, 0x93, 0x9f, - 0xa6, 0x2a, 0x1e, 0x23, 0x61, 0x8d, 0x3a, 0x80, 0x86, 0x44, 0xb3, 0xc7, 0x38, 0x5c, 0x55, 0x3c, - 0x4e, 0xfe, 0x1a, 0x35, 0xa1, 0xd0, 0x1f, 0x22, 0x4e, 0x7a, 0xd8, 0xaa, 0x38, 0x71, 0x2e, 0x9b, - 0xbd, 0x25, 0x1c, 0x5a, 0x4e, 0x7a, 0xf8, 0xaa, 0x38, 0x71, 0x6a, 0x1b, 0xed, 0x00, 0x04, 0xa2, - 0xc3, 0x09, 0x0e, 0x63, 0x15, 0x27, 0x49, 0x72, 0xa3, 0x2e, 0xcc, 0x0e, 0x0b, 0x1b, 0x8f, 0x73, - 0x36, 0xab, 0x78, 0xac, 0xdc, 0x37, 0xd1, 0xe7, 0x70, 0x00, 0x38, 0xd9, 0x59, 0xad, 0xe2, 0x84, - 0x49, 0xf0, 0x72, 0x69, 0xe4, 0x01, 0xdd, 0xb3, 0x47, 0x1e, 0xd0, 0xf5, 0x8f, 0xdc, 0x7a, 0x87, - 0x72, 0x7f, 0xe7, 0x09, 0xf8, 0x00, 0xbf, 0xfa, 0xc5, 0x71, 0xb5, 0x9b, 0x86, 0xd9, 0xf2, 0xee, - 0xf2, 0xe1, 0xcf, 0xfc, 0x74, 0xee, 0x49, 0x7e, 0xbd, 0x8c, 0x28, 0x1d, 0x73, 0xa3, 0xcf, 0xc8, - 0x6b, 0x0e, 0xc7, 0x1d, 0xe4, 0x1f, 0x7f, 0xee, 0xf6, 0x88, 0xdb, 0x82, 0xc6, 0xdc, 0x49, 0x34, - 0xe4, 0x36, 0xa1, 0xe2, 0x91, 0x1f, 0xc7, 0x17, 0x8f, 0x3a, 0xb0, 0x4c, 0xbc, 0xd8, 0xfc, 0x35, - 0xc3, 0x71, 0x2d, 0xdb, 0xd0, 0xb5, 0x36, 0x5d, 0x5e, 0xae, 0x4c, 0xfa, 0x39, 0x51, 0x39, 0x4d, - 0xdc, 0x15, 0x7e, 0x05, 0x11, 0xff, 0xc4, 0x65, 0x15, 0x12, 0xb7, 0xb4, 0x36, 0xfb, 0x98, 0x27, - 0x78, 0xdb, 0x58, 0xbf, 0xcc, 0x03, 0x7e, 0x54, 0x10, 0x85, 0xf1, 0xca, 0x9f, 0xa3, 0x1f, 0x42, - 0x74, 0x3a, 0x86, 0x43, 0x74, 0x51, 0xa1, 0x81, 0xf4, 0x0e, 0xc4, 0x6d, 0xcd, 0xe5, 0xe1, 0x65, - 0xb9, 0xc4, 0x2f, 0x0e, 0x7a, 0x78, 0xfc, 0xf5, 0x3f, 0xcb, 0x03, 0x77, 0x0b, 0xb1, 0x97, 0x51, - 0x38, 0xf4, 0xb5, 0x90, 0xea, 0x68, 0x07, 0x2a, 0x85, 0x8e, 0xbe, 0x5b, 0xd0, 0xc9, 0x8e, 0x76, - 0x40, 0x5a, 0x8d, 0x0c, 0x28, 0x10, 0x74, 0x7d, 0x5f, 0x33, 0x5b, 0x98, 0xbd, 0x24, 0xf6, 0x6e, - 0xbd, 0x24, 0xd7, 0xd1, 0x0e, 0x2a, 0x14, 0x98, 0xbc, 0x8a, 0x5f, 0xd1, 0xf4, 0xcb, 0x11, 0x9e, - 0x54, 0xa0, 0x92, 0x43, 0x1a, 0x48, 0xba, 0xf7, 0x44, 0xdf, 0x2f, 0x76, 0x40, 0xce, 0x8e, 0x1a, - 0x98, 0x3e, 0xb9, 0x97, 0x73, 0xa4, 0xa5, 0x9f, 0x7f, 0x6b, 0x31, 0xc2, 0xde, 0x5a, 0xd0, 0xfb, - 0xc6, 0xe5, 0x3a, 0x64, 0x58, 0xae, 0x44, 0xa5, 0x4e, 0x6e, 0x74, 0xac, 0x93, 0x9b, 0x13, 0x4e, - 0x2e, 0x03, 0x04, 0xc6, 0x4d, 0xea, 0x79, 0x1f, 0x3e, 0x13, 0x81, 0xcc, 0x6a, 0xe0, 0x72, 0xc1, - 0x79, 0x48, 0x76, 0x2c, 0xd3, 0xb8, 0x89, 0x6d, 0x6f, 0x0b, 0x8b, 0x3d, 0x12, 0x47, 0x94, 0xfd, - 0x8d, 0x3a, 0xf7, 0x50, 0xdc, 0x9b, 0x23, 0x9e, 0x09, 0xd7, 0x6d, 0xbc, 0xeb, 0x18, 0x42, 0xe4, - 0x8a, 0x78, 0x44, 0x8f, 0x80, 0xe4, 0x60, 0xbd, 0x67, 0x1b, 0xee, 0xa1, 0xaa, 0x5b, 0xa6, 0xab, - 0xe9, 0x2e, 0x0f, 0xd3, 0x0b, 0xa2, 0xbc, 0xc2, 0x8a, 0x09, 0x48, 0x13, 0xbb, 0x9a, 0xd1, 0x66, - 0x67, 0x0e, 0xd3, 0x8a, 0x78, 0xe4, 0x4d, 0xfd, 0x5c, 0x32, 0x18, 0xa8, 0x56, 0x40, 0xb2, 0xba, - 0xd8, 0x0e, 0x9d, 0x57, 0x61, 0xea, 0x3a, 0xff, 0xeb, 0x9f, 0x7d, 0x7c, 0x8e, 0x0b, 0x9c, 0x9f, - 0x75, 0x60, 0x77, 0xe9, 0x2b, 0x05, 0xc1, 0x21, 0x0e, 0xb2, 0xbc, 0x1a, 0xda, 0xb4, 0xea, 0xed, - 0xfa, 0x17, 0xa4, 0xcc, 0x0d, 0x08, 0xb5, 0x64, 0x1e, 0x96, 0xe7, 0x7f, 0xcd, 0x87, 0xf6, 0x03, - 0xd9, 0x17, 0xf1, 0x61, 0x70, 0x07, 0x8b, 0xc2, 0x10, 0x1f, 0xff, 0x75, 0xcd, 0x68, 0x8b, 0x3f, - 0xe7, 0xa9, 0xf0, 0x27, 0xb4, 0xe2, 0x65, 0x1f, 0xe3, 0x34, 0x60, 0x92, 0x47, 0xe9, 0x46, 0xd9, - 0x32, 0x9b, 0xe1, 0x34, 0x23, 0x6a, 0x40, 0xc2, 0xb5, 0x6e, 0x62, 0x93, 0x0b, 0xa8, 0xfc, 0xc1, - 0x63, 0x28, 0xf6, 0xe0, 0x6d, 0x61, 0x1c, 0x0b, 0xb5, 0x40, 0x6a, 0xe2, 0x36, 0x6e, 0xb1, 0x4f, - 0x03, 0xf7, 0x35, 0x1b, 0xb3, 0x0f, 0xd3, 0x8f, 0x87, 0x3f, 0x78, 0xa9, 0x58, 0xc1, 0x43, 0xad, - 0x53, 0x50, 0xb4, 0x1d, 0xbe, 0xda, 0x32, 0xc9, 0xf7, 0x9d, 0x47, 0xf4, 0x3f, 0xa0, 0x95, 0x41, - 0xb3, 0x15, 0xba, 0x0a, 0xf3, 0x11, 0x90, 0x7a, 0xe6, 0xae, 0x65, 0xd2, 0xbf, 0x90, 0xc7, 0x43, - 0xb0, 0x14, 0xdb, 0xe4, 0xf4, 0xca, 0xf9, 0x26, 0xe7, 0x36, 0xe4, 0x7d, 0x52, 0x3a, 0x7b, 0xd2, - 0xc7, 0x9d, 0x3d, 0x39, 0x0f, 0x80, 0x90, 0xa0, 0x0d, 0x00, 0x7f, 0x7e, 0xd2, 0x5d, 0xb6, 0xcc, - 0xe8, 0xd1, 0xf4, 0x67, 0x7a, 0xb0, 0x33, 0x01, 0x00, 0xd4, 0x86, 0xd9, 0x8e, 0x61, 0xaa, 0x0e, - 0x6e, 0xef, 0xa9, 0x5c, 0x72, 0x04, 0x37, 0xf3, 0x2e, 0x8c, 0xf4, 0x4c, 0xc7, 0x30, 0xeb, 0xb8, - 0xbd, 0xb7, 0xea, 0xc1, 0xa2, 0x0f, 0xc2, 0x19, 0x5f, 0x1c, 0x96, 0xa9, 0xee, 0x5b, 0xed, 0xa6, - 0x6a, 0xe3, 0x3d, 0x55, 0xa7, 0x97, 0xd5, 0x65, 0xa9, 0x10, 0x4f, 0x79, 0x24, 0x5b, 0xe6, 0x35, - 0xab, 0xdd, 0x54, 0xf0, 0x5e, 0x85, 0x54, 0xa3, 0x07, 0xc1, 0x97, 0x85, 0x6a, 0x34, 0x9d, 0xf9, - 0xdc, 0x52, 0xec, 0x5c, 0x5c, 0xc9, 0x7a, 0x85, 0xb5, 0xa6, 0xb3, 0x92, 0xfa, 0xd8, 0x9b, 0x8b, - 0x53, 0x5f, 0x7c, 0x73, 0x71, 0x4a, 0xbe, 0x4a, 0xaf, 0x56, 0xe2, 0x93, 0x0e, 0x3b, 0xe8, 0x32, - 0xa4, 0x35, 0xf1, 0xc0, 0x3e, 0x9c, 0x3a, 0x62, 0xd2, 0xfa, 0xa4, 0xf2, 0x9b, 0x11, 0x48, 0xac, - 0xde, 0xd8, 0xd6, 0x0c, 0x1b, 0x55, 0x61, 0xc6, 0x57, 0xda, 0x49, 0xe7, 0xbf, 0xaf, 0xe7, 0xc2, - 0x00, 0x54, 0x47, 0x1d, 0x7b, 0x3b, 0x12, 0xa6, 0xff, 0x40, 0x5c, 0xa0, 0xab, 0xd7, 0x21, 0xc9, - 0x5a, 0xe8, 0xa0, 0x17, 0x60, 0xba, 0x4b, 0x7e, 0xf0, 0x24, 0xfe, 0xc2, 0x48, 0x45, 0xa7, 0xf4, - 0x41, 0xb5, 0x60, 0x7c, 0xf2, 0x9f, 0x45, 0x00, 0x56, 0x6f, 0xdc, 0x68, 0xd8, 0x46, 0xb7, 0x8d, - 0xdd, 0x77, 0xab, 0xcb, 0xeb, 0x70, 0x22, 0xf0, 0x25, 0xb0, 0xad, 0x4f, 0xdc, 0xed, 0x59, 0xff, - 0x5b, 0x60, 0x5b, 0x1f, 0x8a, 0xd6, 0x74, 0x5c, 0x0f, 0x2d, 0x36, 0x31, 0xda, 0xaa, 0xe3, 0x0e, - 0xca, 0xf1, 0x15, 0xc8, 0xf8, 0x5d, 0x77, 0x50, 0x0d, 0x52, 0x2e, 0xff, 0xcd, 0xc5, 0x29, 0x8f, - 0x16, 0xa7, 0x60, 0x0b, 0x8a, 0xd4, 0x63, 0x97, 0xff, 0x27, 0x91, 0xaa, 0x3f, 0x11, 0xbe, 0xaa, - 0x14, 0x89, 0x58, 0x78, 0x6e, 0x81, 0x63, 0xef, 0x82, 0x05, 0xe6, 0x58, 0x01, 0xb1, 0x7e, 0x73, - 0x14, 0x66, 0x77, 0xc4, 0x24, 0xfd, 0xaa, 0x95, 0xc2, 0x0e, 0x24, 0xb1, 0xe9, 0xda, 0x86, 0xb7, - 0xdb, 0xf4, 0xc4, 0xa8, 0xc1, 0x1e, 0xd2, 0x97, 0xaa, 0xe9, 0xda, 0x87, 0xc1, 0xa1, 0x17, 0x58, - 0x01, 0x31, 0xfc, 0x42, 0x0c, 0xe6, 0x47, 0xb1, 0xa2, 0xb3, 0x50, 0xd0, 0x6d, 0x4c, 0x0b, 0xc2, - 0xdf, 0x41, 0xe6, 0x45, 0x31, 0x5f, 0x52, 0x14, 0x20, 0x0e, 0x1a, 0xd1, 0x2a, 0x42, 0x7a, 0x6f, - 0x1e, 0x59, 0xde, 0x47, 0xa0, 0x8b, 0x0a, 0x86, 0x82, 0xf8, 0xb0, 0x62, 0x57, 0x6b, 0x6b, 0xa6, - 0x8e, 0xef, 0x41, 0x13, 0x06, 0x57, 0x00, 0xf1, 0xb5, 0x46, 0x99, 0x61, 0xa2, 0x1b, 0x90, 0x14, - 0xf0, 0xf1, 0x77, 0x01, 0x5e, 0x80, 0xa1, 0x07, 0x20, 0x1b, 0x5c, 0x18, 0xa8, 0x9f, 0x12, 0x57, - 0x32, 0x81, 0x75, 0x61, 0xdc, 0xca, 0x93, 0x38, 0x72, 0xe5, 0xe1, 0xae, 0xe0, 0xcf, 0xc7, 0x60, - 0x46, 0xc1, 0xcd, 0xbf, 0x82, 0x03, 0xf7, 0x35, 0x00, 0x6c, 0x52, 0x13, 0x63, 0x7b, 0x0f, 0x63, - 0x37, 0x68, 0x24, 0xd2, 0x0c, 0x6f, 0xd5, 0x71, 0xdf, 0xaf, 0xd1, 0xfb, 0xd7, 0x51, 0xc8, 0x06, - 0x47, 0xef, 0xaf, 0xc0, 0xca, 0x86, 0x36, 0x7d, 0x93, 0xc6, 0xbe, 0x27, 0x79, 0x64, 0x94, 0x49, - 0x1b, 0xd0, 0xeb, 0x31, 0xb6, 0xec, 0xd3, 0x31, 0x48, 0xf0, 0x53, 0x73, 0x5b, 0x03, 0x3e, 0x6e, - 0x64, 0xdc, 0x17, 0xf1, 0x39, 0xf1, 0x45, 0xfc, 0x50, 0x17, 0xf7, 0x21, 0xc8, 0x93, 0x90, 0x3a, - 0x74, 0x14, 0x2f, 0x72, 0x2e, 0x47, 0xc3, 0x61, 0xff, 0xe0, 0x39, 0x5a, 0x84, 0x0c, 0x21, 0xf3, - 0x6d, 0x36, 0xa1, 0x81, 0x8e, 0x76, 0x50, 0x65, 0x25, 0xe8, 0x71, 0x40, 0xfb, 0x5e, 0xe2, 0x43, - 0xf5, 0x05, 0x41, 0xe8, 0x66, 0xfc, 0x1a, 0x41, 0x7e, 0x3f, 0x00, 0x69, 0x85, 0xca, 0xee, 0x53, - 0xe6, 0x77, 0x53, 0x93, 0x92, 0x55, 0x7a, 0xa7, 0xf2, 0x77, 0x44, 0x98, 0xab, 0xdc, 0x17, 0x6d, - 0xf3, 0xa0, 0x45, 0x3d, 0xde, 0x6c, 0xf8, 0xe3, 0xb7, 0x16, 0x8b, 0x87, 0x5a, 0xa7, 0xbd, 0x22, - 0x0f, 0x81, 0x94, 0x87, 0xe5, 0x02, 0x88, 0x37, 0x1d, 0x0e, 0xdc, 0x57, 0x3e, 0x40, 0xf4, 0xfa, - 0xce, 0xef, 0xfe, 0xc4, 0xf9, 0x33, 0x81, 0x57, 0x1c, 0x78, 0x19, 0x32, 0x36, 0x3c, 0xf2, 0x8f, - 0x45, 0x00, 0xf9, 0x8b, 0x8d, 0x77, 0xf4, 0x7e, 0x03, 0x20, 0xe0, 0xef, 0x47, 0x8e, 0x8e, 0x23, - 0x7c, 0xfe, 0x50, 0x1c, 0x11, 0x98, 0x4c, 0x1f, 0xf2, 0x4d, 0xbb, 0xb8, 0x0f, 0x61, 0xc8, 0xcd, - 0xda, 0xcb, 0x15, 0xcb, 0x08, 0x41, 0x08, 0x26, 0x3a, 0x47, 0xa7, 0xe4, 0xb7, 0x22, 0x70, 0x7a, - 0x40, 0x13, 0xbd, 0x26, 0xeb, 0x80, 0xec, 0x40, 0x25, 0x1d, 0x51, 0xb1, 0xdb, 0x7b, 0x6f, 0x8a, - 0x3d, 0x63, 0x0f, 0x98, 0xf3, 0xf7, 0x68, 0x8d, 0xe2, 0x46, 0xe8, 0x57, 0x23, 0x30, 0x17, 0x6c, - 0x91, 0xd7, 0xb7, 0x3a, 0x64, 0x83, 0x6d, 0xe1, 0xbd, 0xfa, 0xc0, 0x24, 0xbd, 0x0a, 0x76, 0x28, - 0x04, 0x42, 0xfa, 0x22, 0xb4, 0x9e, 0xe5, 0xea, 0x9e, 0x9c, 0x58, 0x4a, 0xa2, 0x61, 0x43, 0xcd, - 0x00, 0x1b, 0xac, 0x6f, 0x8f, 0x42, 0x7c, 0xdb, 0xb2, 0xda, 0xe8, 0x9b, 0x22, 0x30, 0x63, 0x5a, - 0xae, 0x4a, 0xe6, 0x0a, 0x6e, 0xaa, 0x3c, 0x59, 0xc0, 0x2c, 0xe9, 0x8d, 0xe3, 0x49, 0xef, 0x4b, - 0x6f, 0x2d, 0x0e, 0x42, 0x0d, 0xbb, 0x10, 0xbd, 0x60, 0x5a, 0x6e, 0x99, 0x12, 0x35, 0x58, 0x3e, - 0xe1, 0x36, 0xe4, 0xc2, 0xef, 0x67, 0xe6, 0x57, 0x39, 0xf6, 0xfb, 0x73, 0x63, 0xdf, 0x9d, 0xdd, - 0x0d, 0xbc, 0x98, 0x5d, 0x4b, 0xfc, 0x87, 0x64, 0x70, 0x5f, 0x05, 0xe9, 0x46, 0xff, 0xb9, 0xa3, - 0x2a, 0x24, 0xc5, 0x39, 0xa3, 0xc8, 0x84, 0x47, 0x98, 0x82, 0x12, 0xe7, 0xbc, 0xe7, 0x7f, 0x26, - 0x02, 0xe0, 0xa7, 0x66, 0xd0, 0x63, 0x70, 0xaa, 0xbc, 0xb5, 0xb9, 0xaa, 0xd6, 0x1b, 0xa5, 0xc6, - 0x4e, 0x3d, 0xfc, 0x57, 0x34, 0xc4, 0x7d, 0x3e, 0x4e, 0x17, 0xeb, 0xc6, 0x9e, 0x81, 0x9b, 0xe8, - 0x61, 0x98, 0x0b, 0x53, 0x93, 0xa7, 0xea, 0xaa, 0x14, 0x29, 0x66, 0xef, 0xdc, 0x5d, 0x4a, 0x31, - 0x97, 0x14, 0x37, 0xd1, 0x39, 0x38, 0x31, 0x48, 0x57, 0xdb, 0x5c, 0x93, 0xa2, 0xc5, 0xdc, 0x9d, - 0xbb, 0x4b, 0x69, 0xcf, 0x77, 0x45, 0x32, 0xa0, 0x20, 0x25, 0xc7, 0x8b, 0x15, 0xe1, 0xce, 0xdd, - 0xa5, 0x04, 0x1b, 0x96, 0x62, 0xfc, 0x63, 0x3f, 0xbc, 0x30, 0x75, 0xfe, 0xeb, 0x00, 0x6a, 0xe6, - 0x9e, 0xad, 0xd1, 0x3f, 0x25, 0x8f, 0x8a, 0x70, 0xb2, 0xb6, 0x79, 0x55, 0x29, 0x55, 0x1a, 0xb5, - 0xad, 0xcd, 0xbe, 0x3f, 0xfe, 0x11, 0xae, 0x5b, 0xdd, 0xda, 0x29, 0xaf, 0x57, 0xd5, 0x7a, 0x6d, - 0x6d, 0x93, 0xed, 0x01, 0x87, 0xea, 0x5e, 0xde, 0x6c, 0xd4, 0x36, 0xaa, 0x52, 0xb4, 0x7c, 0x75, - 0xe4, 0x1e, 0xc3, 0x63, 0x47, 0x0e, 0xb8, 0x6f, 0x25, 0x43, 0x1b, 0x0d, 0xff, 0x3b, 0x00, 0x00, - 0xff, 0xff, 0xd6, 0xf2, 0x1e, 0x47, 0x50, 0xa0, 0x00, 0x00, + // 11311 bytes of a gzipped FileDescriptorSet + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6b, 0x90, 0x24, 0xd9, + 0x55, 0x1f, 0xde, 0xf5, 0xae, 0x3a, 0xf5, 0xca, 0xbe, 0xdd, 0x33, 0xd3, 0x53, 0xb3, 0xdb, 0xdd, + 0x9b, 0xab, 0xdd, 0x9d, 0x9d, 0xdd, 0xed, 0xd9, 0x9d, 0xdd, 0x99, 0xdd, 0xed, 0x91, 0xb4, 0xff, + 0xaa, 0xea, 0x9a, 0x9e, 0x9a, 0xed, 0x97, 0xb2, 0xaa, 0x67, 0x1f, 0x3c, 0x92, 0xec, 0xac, 0xdb, + 0xd5, 0xb9, 0x53, 0x95, 0x59, 0xca, 0xcc, 0x9a, 0xe9, 0xde, 0xf8, 0x87, 0x43, 0x20, 0xb0, 0xc5, + 0x18, 0x83, 0x78, 0x84, 0x11, 0xa0, 0xc1, 0x12, 0x18, 0x10, 0xf8, 0xc5, 0x43, 0x46, 0x60, 0x02, + 0x0c, 0x0e, 0x3f, 0x00, 0x3b, 0x1c, 0x32, 0x1f, 0x6c, 0xc2, 0x11, 0x5e, 0x83, 0x44, 0x18, 0x59, + 0x08, 0x03, 0x42, 0x18, 0x63, 0x85, 0x09, 0xc7, 0x7d, 0xe5, 0xa3, 0x1e, 0x5d, 0xd5, 0xa3, 0x5d, + 0x81, 0x8d, 0xbf, 0xcc, 0x54, 0xde, 0x7b, 0xce, 0x2f, 0xef, 0x3d, 0xf7, 0xdc, 0x73, 0xcf, 0x39, + 0xf7, 0xe6, 0x6d, 0xf8, 0xed, 0x0a, 0x2c, 0xb7, 0x2d, 0xab, 0xdd, 0xc1, 0x17, 0x7b, 0xb6, 0xe5, + 0x5a, 0x7b, 0xfd, 0xfd, 0x8b, 0x2d, 0xec, 0xe8, 0xb6, 0xd1, 0x73, 0x2d, 0x7b, 0x85, 0x96, 0xa1, + 0x22, 0xa3, 0x58, 0x11, 0x14, 0xf2, 0x26, 0xcc, 0x5e, 0x33, 0x3a, 0x78, 0xcd, 0x23, 0x6c, 0x60, + 0x17, 0xbd, 0x00, 0xf1, 0x7d, 0xa3, 0x83, 0x17, 0x22, 0xcb, 0xb1, 0xf3, 0xd9, 0x4b, 0xef, 0x5a, + 0x19, 0x60, 0x5a, 0x09, 0x73, 0xec, 0x90, 0x62, 0x85, 0x72, 0xc8, 0x7f, 0x1e, 0x87, 0xb9, 0x11, + 0xb5, 0x08, 0x41, 0xdc, 0xd4, 0xba, 0x04, 0x31, 0x72, 0x3e, 0xa3, 0xd0, 0xdf, 0x68, 0x01, 0x52, + 0x3d, 0x4d, 0xbf, 0xa5, 0xb5, 0xf1, 0x42, 0x94, 0x16, 0x8b, 0x47, 0xb4, 0x08, 0xd0, 0xc2, 0x3d, + 0x6c, 0xb6, 0xb0, 0xa9, 0x1f, 0x2d, 0xc4, 0x96, 0x63, 0xe7, 0x33, 0x4a, 0xa0, 0x04, 0x3d, 0x01, + 0xb3, 0xbd, 0xfe, 0x5e, 0xc7, 0xd0, 0xd5, 0x00, 0x19, 0x2c, 0xc7, 0xce, 0x27, 0x14, 0x89, 0x55, + 0xac, 0xf9, 0xc4, 0x8f, 0x41, 0xf1, 0x0e, 0xd6, 0x6e, 0x05, 0x49, 0xb3, 0x94, 0xb4, 0x40, 0x8a, + 0x03, 0x84, 0x55, 0xc8, 0x75, 0xb1, 0xe3, 0x68, 0x6d, 0xac, 0xba, 0x47, 0x3d, 0xbc, 0x10, 0xa7, + 0xbd, 0x5f, 0x1e, 0xea, 0xfd, 0x60, 0xcf, 0xb3, 0x9c, 0xab, 0x79, 0xd4, 0xc3, 0xa8, 0x0c, 0x19, + 0x6c, 0xf6, 0xbb, 0x0c, 0x21, 0x31, 0x46, 0x7e, 0x35, 0xb3, 0xdf, 0x1d, 0x44, 0x49, 0x13, 0x36, + 0x0e, 0x91, 0x72, 0xb0, 0x7d, 0xdb, 0xd0, 0xf1, 0x42, 0x92, 0x02, 0x3c, 0x36, 0x04, 0xd0, 0x60, + 0xf5, 0x83, 0x18, 0x82, 0x0f, 0x55, 0x21, 0x83, 0x0f, 0x5d, 0x6c, 0x3a, 0x86, 0x65, 0x2e, 0xa4, + 0x28, 0xc8, 0x23, 0x23, 0x46, 0x11, 0x77, 0x5a, 0x83, 0x10, 0x3e, 0x1f, 0xba, 0x02, 0x29, 0xab, + 0xe7, 0x1a, 0x96, 0xe9, 0x2c, 0xa4, 0x97, 0x23, 0xe7, 0xb3, 0x97, 0x1e, 0x18, 0xa9, 0x08, 0xdb, + 0x8c, 0x46, 0x11, 0xc4, 0xa8, 0x0e, 0x92, 0x63, 0xf5, 0x6d, 0x1d, 0xab, 0xba, 0xd5, 0xc2, 0xaa, + 0x61, 0xee, 0x5b, 0x0b, 0x19, 0x0a, 0xb0, 0x34, 0xdc, 0x11, 0x4a, 0x58, 0xb5, 0x5a, 0xb8, 0x6e, + 0xee, 0x5b, 0x4a, 0xc1, 0x09, 0x3d, 0xa3, 0xd3, 0x90, 0x74, 0x8e, 0x4c, 0x57, 0x3b, 0x5c, 0xc8, + 0x51, 0x0d, 0xe1, 0x4f, 0x44, 0x75, 0x70, 0xcb, 0x20, 0xaf, 0x5b, 0xc8, 0x33, 0xd5, 0xe1, 0x8f, + 0xf2, 0xcf, 0x27, 0xa1, 0x38, 0x8d, 0xf2, 0x5d, 0x85, 0xc4, 0x3e, 0xe9, 0xff, 0x42, 0xf4, 0x24, + 0xd2, 0x61, 0x3c, 0x61, 0xf1, 0x26, 0xef, 0x53, 0xbc, 0x65, 0xc8, 0x9a, 0xd8, 0x71, 0x71, 0x8b, + 0xe9, 0x4a, 0x6c, 0x4a, 0x6d, 0x03, 0xc6, 0x34, 0xac, 0x6c, 0xf1, 0xfb, 0x52, 0xb6, 0x57, 0xa1, + 0xe8, 0x35, 0x49, 0xb5, 0x35, 0xb3, 0x2d, 0xb4, 0xf6, 0xe2, 0xa4, 0x96, 0xac, 0xd4, 0x04, 0x9f, + 0x42, 0xd8, 0x94, 0x02, 0x0e, 0x3d, 0xa3, 0x35, 0x00, 0xcb, 0xc4, 0xd6, 0xbe, 0xda, 0xc2, 0x7a, + 0x67, 0x21, 0x3d, 0x46, 0x4a, 0xdb, 0x84, 0x64, 0x48, 0x4a, 0x16, 0x2b, 0xd5, 0x3b, 0xe8, 0x45, + 0x5f, 0x09, 0x53, 0x63, 0x74, 0x68, 0x93, 0x4d, 0xbf, 0x21, 0x3d, 0xdc, 0x85, 0x82, 0x8d, 0xc9, + 0x8c, 0xc0, 0x2d, 0xde, 0xb3, 0x0c, 0x6d, 0xc4, 0xca, 0xc4, 0x9e, 0x29, 0x9c, 0x8d, 0x75, 0x2c, + 0x6f, 0x07, 0x1f, 0xd1, 0xc3, 0xe0, 0x15, 0xa8, 0x54, 0xad, 0x80, 0xda, 0xa7, 0x9c, 0x28, 0xdc, + 0xd2, 0xba, 0xb8, 0xf4, 0x26, 0x14, 0xc2, 0xe2, 0x41, 0xf3, 0x90, 0x70, 0x5c, 0xcd, 0x76, 0xa9, + 0x16, 0x26, 0x14, 0xf6, 0x80, 0x24, 0x88, 0x61, 0xb3, 0x45, 0xed, 0x5f, 0x42, 0x21, 0x3f, 0xd1, + 0xff, 0xe7, 0x77, 0x38, 0x46, 0x3b, 0xfc, 0xe8, 0xf0, 0x88, 0x86, 0x90, 0x07, 0xfb, 0x5d, 0x7a, + 0x1e, 0xf2, 0xa1, 0x0e, 0x4c, 0xfb, 0x6a, 0xf9, 0xff, 0x87, 0x53, 0x23, 0xa1, 0xd1, 0xab, 0x30, + 0xdf, 0x37, 0x0d, 0xd3, 0xc5, 0x76, 0xcf, 0xc6, 0x44, 0x63, 0xd9, 0xab, 0x16, 0x7e, 0x37, 0x35, + 0x46, 0xe7, 0x76, 0x83, 0xd4, 0x0c, 0x45, 0x99, 0xeb, 0x0f, 0x17, 0x5e, 0xc8, 0xa4, 0x3f, 0x97, + 0x92, 0x3e, 0xf0, 0x81, 0x0f, 0x7c, 0x20, 0x2a, 0xff, 0x4a, 0x12, 0xe6, 0x47, 0xcd, 0x99, 0x91, + 0xd3, 0xf7, 0x34, 0x24, 0xcd, 0x7e, 0x77, 0x0f, 0xdb, 0x54, 0x48, 0x09, 0x85, 0x3f, 0xa1, 0x32, + 0x24, 0x3a, 0xda, 0x1e, 0xee, 0x2c, 0xc4, 0x97, 0x23, 0xe7, 0x0b, 0x97, 0x9e, 0x98, 0x6a, 0x56, + 0xae, 0x6c, 0x10, 0x16, 0x85, 0x71, 0xa2, 0xf7, 0x42, 0x9c, 0x1b, 0x6f, 0x82, 0x70, 0x61, 0x3a, + 0x04, 0x32, 0x97, 0x14, 0xca, 0x87, 0xce, 0x41, 0x86, 0xfc, 0xcf, 0x74, 0x23, 0x49, 0xdb, 0x9c, + 0x26, 0x05, 0x44, 0x2f, 0x50, 0x09, 0xd2, 0x74, 0x9a, 0xb4, 0xb0, 0x58, 0xf4, 0xbc, 0x67, 0xa2, + 0x58, 0x2d, 0xbc, 0xaf, 0xf5, 0x3b, 0xae, 0x7a, 0x5b, 0xeb, 0xf4, 0x31, 0x55, 0xf8, 0x8c, 0x92, + 0xe3, 0x85, 0x37, 0x49, 0x19, 0x5a, 0x82, 0x2c, 0x9b, 0x55, 0x86, 0xd9, 0xc2, 0x87, 0xd4, 0xae, + 0x26, 0x14, 0x36, 0xd1, 0xea, 0xa4, 0x84, 0xbc, 0xfe, 0x0d, 0xc7, 0x32, 0x85, 0x6a, 0xd2, 0x57, + 0x90, 0x02, 0xfa, 0xfa, 0xe7, 0x07, 0x4d, 0xfa, 0x83, 0xa3, 0xbb, 0x37, 0x34, 0x97, 0x1e, 0x83, + 0x22, 0xa5, 0x78, 0x96, 0x0f, 0xbd, 0xd6, 0x59, 0x98, 0x5d, 0x8e, 0x9c, 0x4f, 0x2b, 0x05, 0x56, + 0xbc, 0xcd, 0x4b, 0xe5, 0x9f, 0x8d, 0x42, 0x9c, 0x1a, 0x96, 0x22, 0x64, 0x9b, 0xaf, 0xed, 0xd4, + 0xd4, 0xb5, 0xed, 0xdd, 0xca, 0x46, 0x4d, 0x8a, 0xa0, 0x02, 0x00, 0x2d, 0xb8, 0xb6, 0xb1, 0x5d, + 0x6e, 0x4a, 0x51, 0xef, 0xb9, 0xbe, 0xd5, 0xbc, 0xf2, 0x9c, 0x14, 0xf3, 0x18, 0x76, 0x59, 0x41, + 0x3c, 0x48, 0xf0, 0xec, 0x25, 0x29, 0x81, 0x24, 0xc8, 0x31, 0x80, 0xfa, 0xab, 0xb5, 0xb5, 0x2b, + 0xcf, 0x49, 0xc9, 0x70, 0xc9, 0xb3, 0x97, 0xa4, 0x14, 0xca, 0x43, 0x86, 0x96, 0x54, 0xb6, 0xb7, + 0x37, 0xa4, 0xb4, 0x87, 0xd9, 0x68, 0x2a, 0xf5, 0xad, 0x75, 0x29, 0xe3, 0x61, 0xae, 0x2b, 0xdb, + 0xbb, 0x3b, 0x12, 0x78, 0x08, 0x9b, 0xb5, 0x46, 0xa3, 0xbc, 0x5e, 0x93, 0xb2, 0x1e, 0x45, 0xe5, + 0xb5, 0x66, 0xad, 0x21, 0xe5, 0x42, 0xcd, 0x7a, 0xf6, 0x92, 0x94, 0xf7, 0x5e, 0x51, 0xdb, 0xda, + 0xdd, 0x94, 0x0a, 0x68, 0x16, 0xf2, 0xec, 0x15, 0xa2, 0x11, 0xc5, 0x81, 0xa2, 0x2b, 0xcf, 0x49, + 0x92, 0xdf, 0x10, 0x86, 0x32, 0x1b, 0x2a, 0xb8, 0xf2, 0x9c, 0x84, 0xe4, 0x2a, 0x24, 0xa8, 0x1a, + 0x22, 0x04, 0x85, 0x8d, 0x72, 0xa5, 0xb6, 0xa1, 0x6e, 0xef, 0x34, 0xeb, 0xdb, 0x5b, 0xe5, 0x0d, + 0x29, 0xe2, 0x97, 0x29, 0xb5, 0xf7, 0xed, 0xd6, 0x95, 0xda, 0x9a, 0x14, 0x0d, 0x96, 0xed, 0xd4, + 0xca, 0xcd, 0xda, 0x9a, 0x14, 0x93, 0x75, 0x98, 0x1f, 0x65, 0x50, 0x47, 0x4e, 0xa1, 0x80, 0x2e, + 0x44, 0xc7, 0xe8, 0x02, 0xc5, 0x1a, 0xd4, 0x05, 0xf9, 0xb3, 0x51, 0x98, 0x1b, 0xb1, 0xa8, 0x8c, + 0x7c, 0xc9, 0x4b, 0x90, 0x60, 0xba, 0xcc, 0x96, 0xd9, 0xc7, 0x47, 0xae, 0x4e, 0x54, 0xb3, 0x87, + 0x96, 0x5a, 0xca, 0x17, 0x74, 0x42, 0x62, 0x63, 0x9c, 0x10, 0x02, 0x31, 0xa4, 0xb0, 0x5f, 0x37, + 0x64, 0xfc, 0xd9, 0xfa, 0x78, 0x65, 0x9a, 0xf5, 0x91, 0x96, 0x9d, 0x6c, 0x11, 0x48, 0x8c, 0x58, + 0x04, 0xae, 0xc2, 0xec, 0x10, 0xd0, 0xd4, 0xc6, 0xf8, 0x83, 0x11, 0x58, 0x18, 0x27, 0x9c, 0x09, + 0x26, 0x31, 0x1a, 0x32, 0x89, 0x57, 0x07, 0x25, 0xf8, 0xd0, 0xf8, 0x41, 0x18, 0x1a, 0xeb, 0x1f, + 0x8b, 0xc0, 0xe9, 0xd1, 0xce, 0xe6, 0xc8, 0x36, 0xbc, 0x17, 0x92, 0x5d, 0xec, 0x1e, 0x58, 0xc2, + 0xad, 0x7a, 0x74, 0xc4, 0x62, 0x4d, 0xaa, 0x07, 0x07, 0x9b, 0x73, 0x05, 0x57, 0xfb, 0xd8, 0x38, + 0x8f, 0x91, 0xb5, 0x66, 0xa8, 0xa5, 0xdf, 0x1a, 0x85, 0x53, 0x23, 0xc1, 0x47, 0x36, 0xf4, 0x41, + 0x00, 0xc3, 0xec, 0xf5, 0x5d, 0xe6, 0x3a, 0x31, 0x4b, 0x9c, 0xa1, 0x25, 0xd4, 0x78, 0x11, 0x2b, + 0xdb, 0x77, 0xbd, 0xfa, 0x18, 0xad, 0x07, 0x56, 0x44, 0x09, 0x5e, 0xf0, 0x1b, 0x1a, 0xa7, 0x0d, + 0x5d, 0x1c, 0xd3, 0xd3, 0x21, 0xc5, 0x7c, 0x1a, 0x24, 0xbd, 0x63, 0x60, 0xd3, 0x55, 0x1d, 0xd7, + 0xc6, 0x5a, 0xd7, 0x30, 0xdb, 0x74, 0xa9, 0x49, 0xaf, 0x26, 0xf6, 0xb5, 0x8e, 0x83, 0x95, 0x22, + 0xab, 0x6e, 0x88, 0x5a, 0xc2, 0x41, 0x15, 0xc8, 0x0e, 0x70, 0x24, 0x43, 0x1c, 0xac, 0xda, 0xe3, + 0x90, 0xbf, 0x33, 0x03, 0xd9, 0x80, 0x6b, 0x8e, 0x1e, 0x82, 0xdc, 0x1b, 0xda, 0x6d, 0x4d, 0x15, + 0xe1, 0x16, 0x93, 0x44, 0x96, 0x94, 0xed, 0xf0, 0x90, 0xeb, 0x69, 0x98, 0xa7, 0x24, 0x56, 0xdf, + 0xc5, 0xb6, 0xaa, 0x77, 0x34, 0xc7, 0xa1, 0x42, 0x4b, 0x53, 0x52, 0x44, 0xea, 0xb6, 0x49, 0x55, + 0x55, 0xd4, 0xa0, 0xcb, 0x30, 0x47, 0x39, 0xba, 0xfd, 0x8e, 0x6b, 0xf4, 0x3a, 0x58, 0x25, 0x01, + 0xa0, 0x43, 0x97, 0x1c, 0xaf, 0x65, 0xb3, 0x84, 0x62, 0x93, 0x13, 0x90, 0x16, 0x39, 0x68, 0x0d, + 0x1e, 0xa4, 0x6c, 0x6d, 0x6c, 0x62, 0x5b, 0x73, 0xb1, 0x8a, 0xdf, 0xdf, 0xd7, 0x3a, 0x8e, 0xaa, + 0x99, 0x2d, 0xf5, 0x40, 0x73, 0x0e, 0x16, 0xe6, 0x09, 0x40, 0x25, 0xba, 0x10, 0x51, 0xce, 0x12, + 0xc2, 0x75, 0x4e, 0x57, 0xa3, 0x64, 0x65, 0xb3, 0x75, 0x5d, 0x73, 0x0e, 0xd0, 0x2a, 0x9c, 0xa6, + 0x28, 0x8e, 0x6b, 0x1b, 0x66, 0x5b, 0xd5, 0x0f, 0xb0, 0x7e, 0x4b, 0xed, 0xbb, 0xfb, 0x2f, 0x2c, + 0x9c, 0x0b, 0xbe, 0x9f, 0xb6, 0xb0, 0x41, 0x69, 0xaa, 0x84, 0x64, 0xd7, 0xdd, 0x7f, 0x01, 0x35, + 0x20, 0x47, 0x06, 0xa3, 0x6b, 0xbc, 0x89, 0xd5, 0x7d, 0xcb, 0xa6, 0x6b, 0x68, 0x61, 0x84, 0x69, + 0x0a, 0x48, 0x70, 0x65, 0x9b, 0x33, 0x6c, 0x5a, 0x2d, 0xbc, 0x9a, 0x68, 0xec, 0xd4, 0x6a, 0x6b, + 0x4a, 0x56, 0xa0, 0x5c, 0xb3, 0x6c, 0xa2, 0x50, 0x6d, 0xcb, 0x13, 0x70, 0x96, 0x29, 0x54, 0xdb, + 0x12, 0xe2, 0xbd, 0x0c, 0x73, 0xba, 0xce, 0xfa, 0x6c, 0xe8, 0x2a, 0x0f, 0xd3, 0x9c, 0x05, 0x29, + 0x24, 0x2c, 0x5d, 0x5f, 0x67, 0x04, 0x5c, 0xc7, 0x1d, 0xf4, 0x22, 0x9c, 0xf2, 0x85, 0x15, 0x64, + 0x9c, 0x1d, 0xea, 0xe5, 0x20, 0xeb, 0x65, 0x98, 0xeb, 0x1d, 0x0d, 0x33, 0xa2, 0xd0, 0x1b, 0x7b, + 0x47, 0x83, 0x6c, 0xcf, 0xc3, 0x7c, 0xef, 0xa0, 0x37, 0xcc, 0x77, 0x21, 0xc8, 0x87, 0x7a, 0x07, + 0xbd, 0x41, 0xc6, 0x47, 0x68, 0xcc, 0x6e, 0x63, 0x5d, 0x73, 0x71, 0x6b, 0xe1, 0x4c, 0x90, 0x3c, + 0x50, 0x81, 0x56, 0x40, 0xd2, 0x75, 0x15, 0x9b, 0xda, 0x5e, 0x07, 0xab, 0x9a, 0x8d, 0x4d, 0xcd, + 0x59, 0x58, 0xa2, 0xc4, 0x71, 0xd7, 0xee, 0x63, 0xa5, 0xa0, 0xeb, 0x35, 0x5a, 0x59, 0xa6, 0x75, + 0xe8, 0x02, 0xcc, 0x5a, 0x7b, 0x6f, 0xe8, 0x4c, 0x23, 0xd5, 0x9e, 0x8d, 0xf7, 0x8d, 0xc3, 0x85, + 0x77, 0x51, 0xf1, 0x16, 0x49, 0x05, 0xd5, 0xc7, 0x1d, 0x5a, 0x8c, 0x1e, 0x07, 0x49, 0x77, 0x0e, + 0x34, 0xbb, 0x47, 0x4d, 0xb2, 0xd3, 0xd3, 0x74, 0xbc, 0xf0, 0x08, 0x23, 0x65, 0xe5, 0x5b, 0xa2, + 0x98, 0xcc, 0x08, 0xe7, 0x8e, 0xb1, 0xef, 0x0a, 0xc4, 0xc7, 0xd8, 0x8c, 0xa0, 0x65, 0x1c, 0xed, + 0x3c, 0x48, 0x44, 0x12, 0xa1, 0x17, 0x9f, 0xa7, 0x64, 0x85, 0xde, 0x41, 0x2f, 0xf8, 0xde, 0x87, + 0x21, 0x4f, 0x28, 0xfd, 0x97, 0x3e, 0xce, 0x1c, 0xb7, 0xde, 0x41, 0xe0, 0x8d, 0xcf, 0xc1, 0x69, + 0x42, 0xd4, 0xc5, 0xae, 0xd6, 0xd2, 0x5c, 0x2d, 0x40, 0xfd, 0x24, 0xa5, 0x26, 0x62, 0xdf, 0xe4, + 0x95, 0xa1, 0x76, 0xda, 0xfd, 0xbd, 0x23, 0x4f, 0xb1, 0x9e, 0x62, 0xed, 0x24, 0x65, 0x42, 0xb5, + 0xde, 0x31, 0xe7, 0x5c, 0x5e, 0x85, 0x5c, 0x50, 0xef, 0x51, 0x06, 0x98, 0xe6, 0x4b, 0x11, 0xe2, + 0x04, 0x55, 0xb7, 0xd7, 0x88, 0xfb, 0xf2, 0x7a, 0x4d, 0x8a, 0x12, 0x37, 0x6a, 0xa3, 0xde, 0xac, + 0xa9, 0xca, 0xee, 0x56, 0xb3, 0xbe, 0x59, 0x93, 0x62, 0x01, 0xc7, 0xfe, 0x46, 0x3c, 0xfd, 0xa8, + 0xf4, 0x98, 0xfc, 0x0b, 0x31, 0x28, 0x84, 0x23, 0x35, 0xf4, 0x6e, 0x38, 0x23, 0x12, 0x2e, 0x0e, + 0x76, 0xd5, 0x3b, 0x86, 0x4d, 0x27, 0x64, 0x57, 0x63, 0x8b, 0xa3, 0xa7, 0x3f, 0xf3, 0x9c, 0xaa, + 0x81, 0xdd, 0x57, 0x0c, 0x9b, 0x4c, 0xb7, 0xae, 0xe6, 0xa2, 0x0d, 0x58, 0x32, 0x2d, 0xd5, 0x71, + 0x35, 0xb3, 0xa5, 0xd9, 0x2d, 0xd5, 0x4f, 0x75, 0xa9, 0x9a, 0xae, 0x63, 0xc7, 0xb1, 0xd8, 0x42, + 0xe8, 0xa1, 0x3c, 0x60, 0x5a, 0x0d, 0x4e, 0xec, 0xaf, 0x10, 0x65, 0x4e, 0x3a, 0xa0, 0xbe, 0xb1, + 0x71, 0xea, 0x7b, 0x0e, 0x32, 0x5d, 0xad, 0xa7, 0x62, 0xd3, 0xb5, 0x8f, 0xa8, 0x7f, 0x9e, 0x56, + 0xd2, 0x5d, 0xad, 0x57, 0x23, 0xcf, 0xe8, 0x26, 0x3c, 0xea, 0x93, 0xaa, 0x1d, 0xdc, 0xd6, 0xf4, + 0x23, 0x95, 0x3a, 0xe3, 0x34, 0x6d, 0xa0, 0xea, 0x96, 0xb9, 0xdf, 0x31, 0x74, 0xd7, 0xa1, 0xf6, + 0x81, 0xd9, 0x38, 0xd9, 0xe7, 0xd8, 0xa0, 0x0c, 0x37, 0x1c, 0xcb, 0xa4, 0x3e, 0x78, 0x55, 0x50, + 0x7f, 0x55, 0xc2, 0xaf, 0x1b, 0xf1, 0x74, 0x5c, 0x4a, 0xdc, 0x88, 0xa7, 0x13, 0x52, 0xf2, 0x46, + 0x3c, 0x9d, 0x94, 0x52, 0x37, 0xe2, 0xe9, 0xb4, 0x94, 0xb9, 0x11, 0x4f, 0x67, 0x24, 0x90, 0x3f, + 0x95, 0x86, 0x5c, 0x30, 0x32, 0x20, 0x81, 0x96, 0x4e, 0xd7, 0xc6, 0x08, 0xb5, 0x9e, 0x0f, 0x1f, + 0x1b, 0x47, 0xac, 0x54, 0xc9, 0xa2, 0xb9, 0x9a, 0x64, 0x6e, 0xb8, 0xc2, 0x38, 0x89, 0xc3, 0x42, + 0xd4, 0x1a, 0x33, 0xb7, 0x27, 0xad, 0xf0, 0x27, 0xb4, 0x0e, 0xc9, 0x37, 0x1c, 0x8a, 0x9d, 0xa4, + 0xd8, 0xef, 0x3a, 0x1e, 0xfb, 0x46, 0x83, 0x82, 0x67, 0x6e, 0x34, 0xd4, 0xad, 0x6d, 0x65, 0xb3, + 0xbc, 0xa1, 0x70, 0x76, 0x74, 0x16, 0xe2, 0x1d, 0xed, 0xcd, 0xa3, 0xf0, 0xf2, 0x4a, 0x8b, 0xd0, + 0x0a, 0x14, 0xfb, 0xe6, 0x6d, 0x6c, 0x1b, 0xfb, 0x06, 0x19, 0x2a, 0x42, 0x55, 0x0c, 0x52, 0x15, + 0xfc, 0xda, 0x0d, 0x42, 0x3f, 0xa5, 0x7a, 0x9c, 0x85, 0xf8, 0x1d, 0xac, 0xdd, 0x0a, 0x2f, 0x82, + 0xb4, 0x08, 0x9d, 0x87, 0x5c, 0x0b, 0xef, 0xf5, 0xdb, 0xaa, 0x8d, 0x5b, 0x9a, 0xee, 0x86, 0x4d, + 0x7f, 0x96, 0x56, 0x29, 0xb4, 0x06, 0xbd, 0x0c, 0x19, 0x32, 0x46, 0x26, 0x1d, 0xe3, 0x59, 0x2a, + 0x82, 0xa7, 0x8e, 0x17, 0x01, 0x1f, 0x62, 0xc1, 0xa4, 0xf8, 0xfc, 0xe8, 0x1a, 0x24, 0x5d, 0xcd, + 0x6e, 0x63, 0x97, 0x5a, 0xfe, 0xc2, 0x88, 0xe4, 0xc7, 0x08, 0xa4, 0x26, 0xe5, 0xa0, 0x31, 0x2d, + 0xe7, 0x7e, 0x07, 0xad, 0xcc, 0x45, 0x48, 0x50, 0xf5, 0x40, 0x00, 0x5c, 0x41, 0xa4, 0x19, 0x94, + 0x86, 0x78, 0x75, 0x5b, 0x21, 0x96, 0x46, 0x82, 0x1c, 0x2b, 0x55, 0x77, 0xea, 0xb5, 0x6a, 0x4d, + 0x8a, 0xca, 0x97, 0x21, 0xc9, 0xc6, 0x9c, 0x58, 0x21, 0x6f, 0xd4, 0xa5, 0x19, 0xfe, 0xc8, 0x31, + 0x22, 0xa2, 0x76, 0x77, 0xb3, 0x52, 0x53, 0xa4, 0xa8, 0xbc, 0x0b, 0xc5, 0x01, 0x39, 0xa1, 0x53, + 0x30, 0xab, 0xd4, 0x9a, 0xb5, 0x2d, 0x12, 0x67, 0xa9, 0xbb, 0x5b, 0x2f, 0x6f, 0x6d, 0xbf, 0xb2, + 0x25, 0xcd, 0x84, 0x8b, 0x85, 0x49, 0x8b, 0xa0, 0x79, 0x90, 0xfc, 0xe2, 0xc6, 0xf6, 0xae, 0x42, + 0x5b, 0xf3, 0x6d, 0x51, 0x90, 0x06, 0xa5, 0x86, 0xce, 0xc0, 0x5c, 0xb3, 0xac, 0xac, 0xd7, 0x9a, + 0x2a, 0x8b, 0x1d, 0x3d, 0xe8, 0x79, 0x90, 0x82, 0x15, 0xd7, 0xea, 0x34, 0x34, 0x5e, 0x82, 0x73, + 0xc1, 0xd2, 0xda, 0xab, 0xcd, 0xda, 0x56, 0x83, 0xbe, 0xbc, 0xbc, 0xb5, 0x4e, 0xec, 0xeb, 0x00, + 0x9e, 0x88, 0x56, 0x63, 0xa4, 0xa9, 0x61, 0xbc, 0xda, 0xc6, 0x9a, 0x14, 0x1f, 0x2c, 0xde, 0xde, + 0xaa, 0x6d, 0x5f, 0x93, 0x12, 0x83, 0x6f, 0xa7, 0x11, 0x6c, 0x12, 0x95, 0xe0, 0xf4, 0x60, 0xa9, + 0x5a, 0xdb, 0x6a, 0x2a, 0xaf, 0x49, 0xa9, 0xc1, 0x17, 0x37, 0x6a, 0xca, 0xcd, 0x7a, 0xb5, 0x26, + 0xa5, 0xd1, 0x69, 0x40, 0xe1, 0x16, 0x35, 0xaf, 0x6f, 0xaf, 0x49, 0x99, 0x21, 0x8b, 0x22, 0x3b, + 0x90, 0x0b, 0x86, 0x91, 0x5f, 0x9d, 0x5c, 0xd2, 0x47, 0xa2, 0x90, 0x0d, 0x84, 0x85, 0xc4, 0x9f, + 0xd7, 0x3a, 0x1d, 0xeb, 0x8e, 0xaa, 0x75, 0x0c, 0xcd, 0xe1, 0xf6, 0x06, 0x68, 0x51, 0x99, 0x94, + 0x4c, 0x3b, 0xbf, 0xa7, 0xb7, 0xf0, 0xc9, 0xbf, 0x8c, 0x16, 0x3e, 0x21, 0x25, 0xe5, 0x1f, 0x8c, + 0x80, 0x34, 0x18, 0xef, 0x0d, 0x74, 0x3f, 0x32, 0xae, 0xfb, 0x5f, 0x95, 0xb1, 0xfb, 0x68, 0x04, + 0x0a, 0xe1, 0x20, 0x6f, 0xa0, 0x79, 0x0f, 0xfd, 0x85, 0x36, 0xef, 0xb7, 0xa2, 0x90, 0x0f, 0x85, + 0x76, 0xd3, 0xb6, 0xee, 0xfd, 0x30, 0x6b, 0xb4, 0x70, 0xb7, 0x67, 0xb9, 0xd8, 0xd4, 0x8f, 0xd4, + 0x0e, 0xbe, 0x8d, 0x3b, 0x0b, 0x32, 0x35, 0xca, 0x17, 0x8f, 0x0f, 0x1e, 0x57, 0xea, 0x3e, 0xdf, + 0x06, 0x61, 0x5b, 0x9d, 0xab, 0xaf, 0xd5, 0x36, 0x77, 0xb6, 0x9b, 0xb5, 0xad, 0xea, 0x6b, 0xc2, + 0xba, 0x28, 0x92, 0x31, 0x40, 0xf6, 0x0e, 0x1a, 0xed, 0x1d, 0x90, 0x06, 0x1b, 0x45, 0x6c, 0xc5, + 0x88, 0x66, 0x49, 0x33, 0x68, 0x0e, 0x8a, 0x5b, 0xdb, 0x6a, 0xa3, 0xbe, 0x56, 0x53, 0x6b, 0xd7, + 0xae, 0xd5, 0xaa, 0xcd, 0x06, 0x4b, 0x07, 0x7a, 0xd4, 0x4d, 0x29, 0x1a, 0x14, 0xf1, 0xf7, 0xc7, + 0x60, 0x6e, 0x44, 0x4b, 0x50, 0x99, 0x07, 0xf2, 0x2c, 0xb7, 0xf0, 0xd4, 0x34, 0xad, 0x5f, 0x21, + 0xae, 0xf4, 0x8e, 0x66, 0xbb, 0x3c, 0xee, 0x7f, 0x1c, 0x88, 0x94, 0x4c, 0x97, 0xac, 0xec, 0x36, + 0x4f, 0xb3, 0xb2, 0xe8, 0xbe, 0xe8, 0x97, 0xb3, 0x4c, 0xeb, 0x93, 0x80, 0x7a, 0x96, 0x63, 0xb8, + 0xc6, 0x6d, 0xac, 0x1a, 0xa6, 0xc8, 0xc9, 0x92, 0x68, 0x3f, 0xae, 0x48, 0xa2, 0xa6, 0x6e, 0xba, + 0x1e, 0xb5, 0x89, 0xdb, 0xda, 0x00, 0x35, 0xf1, 0x3c, 0x62, 0x8a, 0x24, 0x6a, 0x3c, 0xea, 0x87, + 0x20, 0xd7, 0xb2, 0xfa, 0x24, 0x04, 0x62, 0x74, 0xc4, 0x5a, 0x44, 0x94, 0x2c, 0x2b, 0xf3, 0x48, + 0x78, 0x70, 0xeb, 0x27, 0x83, 0x73, 0x4a, 0x96, 0x95, 0x31, 0x92, 0xc7, 0xa0, 0xa8, 0xb5, 0xdb, + 0x36, 0x01, 0x17, 0x40, 0x2c, 0x5c, 0x2f, 0x78, 0xc5, 0x94, 0xb0, 0x74, 0x03, 0xd2, 0x42, 0x0e, + 0xc4, 0x83, 0x25, 0x92, 0x50, 0x7b, 0x2c, 0x07, 0x15, 0x3d, 0x9f, 0x51, 0xd2, 0xa6, 0xa8, 0x7c, + 0x08, 0x72, 0x86, 0xa3, 0xfa, 0x7b, 0x5b, 0xd1, 0xe5, 0xe8, 0xf9, 0xb4, 0x92, 0x35, 0x1c, 0x6f, + 0x5f, 0x40, 0xfe, 0xb1, 0x28, 0x14, 0xc2, 0xbb, 0x76, 0x68, 0x0d, 0xd2, 0x1d, 0x4b, 0xd7, 0xa8, + 0x6a, 0xb1, 0x2d, 0xe3, 0xf3, 0x13, 0x36, 0xfa, 0x56, 0x36, 0x38, 0xbd, 0xe2, 0x71, 0x96, 0xfe, + 0x6d, 0x04, 0xd2, 0xa2, 0x18, 0x9d, 0x86, 0x78, 0x4f, 0x73, 0x0f, 0x28, 0x5c, 0xa2, 0x12, 0x95, + 0x22, 0x0a, 0x7d, 0x26, 0xe5, 0x4e, 0x4f, 0x33, 0xa9, 0x0a, 0xf0, 0x72, 0xf2, 0x4c, 0xc6, 0xb5, + 0x83, 0xb5, 0x16, 0xcd, 0x05, 0x58, 0xdd, 0x2e, 0x36, 0x5d, 0x47, 0x8c, 0x2b, 0x2f, 0xaf, 0xf2, + 0x62, 0xf4, 0x04, 0xcc, 0xba, 0xb6, 0x66, 0x74, 0x42, 0xb4, 0x71, 0x4a, 0x2b, 0x89, 0x0a, 0x8f, + 0x78, 0x15, 0xce, 0x0a, 0xdc, 0x16, 0x76, 0x35, 0xfd, 0x00, 0xb7, 0x7c, 0xa6, 0x24, 0xcd, 0xf9, + 0x9d, 0xe1, 0x04, 0x6b, 0xbc, 0x5e, 0xf0, 0xca, 0x9f, 0x8e, 0xc2, 0xac, 0xc8, 0x5e, 0xb4, 0x3c, + 0x61, 0x6d, 0x02, 0x68, 0xa6, 0x69, 0xb9, 0x41, 0x71, 0x0d, 0xab, 0xf2, 0x10, 0xdf, 0x4a, 0xd9, + 0x63, 0x52, 0x02, 0x00, 0xa5, 0xdf, 0x8b, 0x00, 0xf8, 0x55, 0x63, 0xe5, 0xb6, 0x04, 0x59, 0xbe, + 0x27, 0x4b, 0x37, 0xf6, 0x59, 0xc2, 0x0b, 0x58, 0xd1, 0x35, 0xa3, 0x43, 0xd3, 0x92, 0x7b, 0xb8, + 0x6d, 0x98, 0x7c, 0x3f, 0x85, 0x3d, 0x88, 0xb4, 0x64, 0xdc, 0xdf, 0x9e, 0x52, 0x20, 0xed, 0xe0, + 0xae, 0x66, 0xba, 0x86, 0xce, 0x77, 0x48, 0xae, 0x9c, 0xa8, 0xf1, 0x2b, 0x0d, 0xce, 0xad, 0x78, + 0x38, 0xf2, 0x79, 0x48, 0x8b, 0x52, 0xe2, 0xf8, 0x6d, 0x6d, 0x6f, 0xd5, 0xa4, 0x19, 0x94, 0x82, + 0x58, 0xa3, 0xd6, 0x94, 0x22, 0x24, 0xec, 0x2c, 0x6f, 0xd4, 0xcb, 0x0d, 0x29, 0x5a, 0xf9, 0x6b, + 0x30, 0xa7, 0x5b, 0xdd, 0xc1, 0x17, 0x56, 0xa4, 0x81, 0x94, 0x9f, 0x73, 0x3d, 0xf2, 0xfa, 0x53, + 0x9c, 0xa8, 0x6d, 0x75, 0x34, 0xb3, 0xbd, 0x62, 0xd9, 0x6d, 0xff, 0x58, 0x04, 0x89, 0x0e, 0x9c, + 0xc0, 0xe1, 0x88, 0xde, 0xde, 0xff, 0x88, 0x44, 0x7e, 0x28, 0x1a, 0x5b, 0xdf, 0xa9, 0xfc, 0x44, + 0xb4, 0xb4, 0xce, 0x18, 0x77, 0x44, 0x77, 0x14, 0xbc, 0xdf, 0xc1, 0x3a, 0x69, 0x3c, 0xfc, 0xfe, + 0x13, 0x30, 0xdf, 0xb6, 0xda, 0x16, 0x45, 0xba, 0x48, 0x7e, 0xf1, 0x73, 0x15, 0x19, 0xaf, 0xb4, + 0x34, 0xf1, 0x10, 0xc6, 0xea, 0x16, 0xcc, 0x71, 0x62, 0x95, 0x6e, 0xdf, 0xb2, 0xe4, 0x02, 0x3a, + 0x36, 0xb3, 0xbd, 0xf0, 0x53, 0xbf, 0x43, 0xbd, 0x12, 0x65, 0x96, 0xb3, 0x92, 0x3a, 0x96, 0x7f, + 0x58, 0x55, 0xe0, 0x54, 0x08, 0x8f, 0xd9, 0x08, 0x6c, 0x4f, 0x40, 0xfc, 0x17, 0x1c, 0x71, 0x2e, + 0x80, 0xd8, 0xe0, 0xac, 0xab, 0x55, 0xc8, 0x9f, 0x04, 0xeb, 0x5f, 0x72, 0xac, 0x1c, 0x0e, 0x82, + 0xac, 0x43, 0x91, 0x82, 0xe8, 0x7d, 0xc7, 0xb5, 0xba, 0xd4, 0x00, 0x1f, 0x0f, 0xf3, 0xaf, 0x7e, + 0x87, 0x4d, 0xda, 0x02, 0x61, 0xab, 0x7a, 0x5c, 0xab, 0xab, 0x40, 0x77, 0xac, 0x5b, 0x58, 0xef, + 0x4c, 0x40, 0xf8, 0x55, 0xde, 0x10, 0x8f, 0x7e, 0xf5, 0x26, 0xcc, 0x93, 0xdf, 0xd4, 0x3e, 0x06, + 0x5b, 0x32, 0x39, 0x0d, 0xbe, 0xf0, 0xef, 0x3e, 0xc8, 0xec, 0xc2, 0x9c, 0x07, 0x10, 0x68, 0x53, + 0x60, 0x14, 0xdb, 0xd8, 0x75, 0xb1, 0xed, 0xa8, 0x5a, 0x67, 0x54, 0xf3, 0x02, 0x79, 0xc4, 0x85, + 0xef, 0xfb, 0x42, 0x78, 0x14, 0xd7, 0x19, 0x67, 0xb9, 0xd3, 0x59, 0xdd, 0x85, 0x33, 0x23, 0xb4, + 0x62, 0x0a, 0xcc, 0xef, 0xe7, 0x98, 0xf3, 0x43, 0x9a, 0x41, 0x60, 0x77, 0x40, 0x94, 0x7b, 0x63, + 0x39, 0x05, 0xe6, 0x0f, 0x70, 0x4c, 0xc4, 0x79, 0xc5, 0x90, 0x12, 0xc4, 0x1b, 0x30, 0x7b, 0x1b, + 0xdb, 0x7b, 0x96, 0xc3, 0x73, 0xb7, 0x53, 0xc0, 0x7d, 0x94, 0xc3, 0x15, 0x39, 0x23, 0x4d, 0xe6, + 0x12, 0xac, 0x17, 0x21, 0xbd, 0xaf, 0xe9, 0x78, 0x0a, 0x88, 0x7b, 0x1c, 0x22, 0x45, 0xe8, 0x09, + 0x6b, 0x19, 0x72, 0x6d, 0x8b, 0x2f, 0x91, 0x93, 0xd9, 0x7f, 0x90, 0xb3, 0x67, 0x05, 0x0f, 0x87, + 0xe8, 0x59, 0xbd, 0x7e, 0x87, 0xac, 0x9f, 0x93, 0x21, 0xfe, 0x8e, 0x80, 0x10, 0x3c, 0x1c, 0xe2, + 0x04, 0x62, 0xfd, 0x98, 0x80, 0x70, 0x02, 0xf2, 0x7c, 0x09, 0xb2, 0x96, 0xd9, 0x39, 0xb2, 0xcc, + 0x69, 0x1a, 0xf1, 0x71, 0x8e, 0x00, 0x9c, 0x85, 0x00, 0x5c, 0x85, 0xcc, 0xb4, 0x03, 0xf1, 0x23, + 0x5f, 0x10, 0xd3, 0x43, 0x8c, 0xc0, 0x3a, 0x14, 0x85, 0x81, 0x32, 0x2c, 0x73, 0x0a, 0x88, 0x1f, + 0xe5, 0x10, 0x85, 0x00, 0x1b, 0xef, 0x86, 0x8b, 0x1d, 0xb7, 0x8d, 0xa7, 0x01, 0xf9, 0x31, 0xd1, + 0x0d, 0xce, 0xc2, 0x45, 0xb9, 0x87, 0x4d, 0xfd, 0x60, 0x3a, 0x84, 0x4f, 0x08, 0x51, 0x0a, 0x1e, + 0x02, 0x51, 0x85, 0x7c, 0x57, 0xb3, 0x9d, 0x03, 0xad, 0x33, 0xd5, 0x70, 0xfc, 0x38, 0xc7, 0xc8, + 0x79, 0x4c, 0x5c, 0x22, 0x7d, 0xf3, 0x24, 0x30, 0x3f, 0x21, 0x24, 0x12, 0x60, 0xe3, 0x53, 0xcf, + 0x71, 0x69, 0xa2, 0xfb, 0x24, 0x68, 0x7f, 0x4f, 0x4c, 0x3d, 0xc6, 0xbb, 0x19, 0x44, 0xbc, 0x0a, + 0x19, 0xc7, 0x78, 0x73, 0x2a, 0x98, 0xbf, 0x2f, 0x46, 0x9a, 0x32, 0x10, 0xe6, 0xd7, 0xe0, 0xec, + 0xc8, 0x65, 0x62, 0x0a, 0xb0, 0x7f, 0xc0, 0xc1, 0x4e, 0x8f, 0x58, 0x2a, 0xb8, 0x49, 0x38, 0x29, + 0xe4, 0x3f, 0x14, 0x26, 0x01, 0x0f, 0x60, 0xed, 0x90, 0xa0, 0xc5, 0xd1, 0xf6, 0x4f, 0x26, 0xb5, + 0x7f, 0x24, 0xa4, 0xc6, 0x78, 0x43, 0x52, 0x6b, 0xc2, 0x69, 0x8e, 0x78, 0xb2, 0x71, 0xfd, 0x49, + 0x61, 0x58, 0x19, 0xf7, 0x6e, 0x78, 0x74, 0xbf, 0x06, 0x4a, 0x9e, 0x38, 0x85, 0x77, 0xec, 0xa8, + 0x5d, 0xad, 0x37, 0x05, 0xf2, 0x4f, 0x71, 0x64, 0x61, 0xf1, 0x3d, 0xf7, 0xda, 0xd9, 0xd4, 0x7a, + 0x04, 0xfc, 0x55, 0x58, 0x10, 0xe0, 0x7d, 0xd3, 0xc6, 0xba, 0xd5, 0x36, 0x8d, 0x37, 0x71, 0x6b, + 0x0a, 0xe8, 0x9f, 0x1e, 0x18, 0xaa, 0xdd, 0x00, 0x3b, 0x41, 0xae, 0x83, 0xe4, 0xf9, 0x2a, 0xaa, + 0xd1, 0xed, 0x59, 0xb6, 0x3b, 0x01, 0xf1, 0x67, 0xc4, 0x48, 0x79, 0x7c, 0x75, 0xca, 0xb6, 0x5a, + 0x03, 0x76, 0xfa, 0x63, 0x5a, 0x95, 0xfc, 0x24, 0x07, 0xca, 0xfb, 0x5c, 0xdc, 0x70, 0xe8, 0x56, + 0xb7, 0xa7, 0xd9, 0xd3, 0xd8, 0xbf, 0x7f, 0x2c, 0x0c, 0x07, 0x67, 0xe1, 0x86, 0x83, 0x78, 0x74, + 0x64, 0xb5, 0x9f, 0x02, 0xe1, 0x67, 0x85, 0xe1, 0x10, 0x3c, 0x1c, 0x42, 0x38, 0x0c, 0x53, 0x40, + 0x7c, 0x4a, 0x40, 0x08, 0x1e, 0x02, 0xf1, 0x3e, 0x7f, 0xa1, 0xb5, 0x71, 0xdb, 0x70, 0x5c, 0x9b, + 0xb9, 0xe4, 0xc7, 0x43, 0xfd, 0xdc, 0x17, 0xc2, 0x4e, 0x98, 0x12, 0x60, 0x25, 0x96, 0x88, 0x6f, + 0x7d, 0xd0, 0x90, 0x6d, 0x72, 0xc3, 0x7e, 0x5e, 0x58, 0xa2, 0x00, 0x1b, 0x69, 0x5b, 0xc0, 0x43, + 0x24, 0x62, 0xd7, 0x49, 0xa0, 0x32, 0x05, 0xdc, 0x3f, 0x19, 0x68, 0x5c, 0x43, 0xf0, 0x12, 0xcc, + 0x80, 0xff, 0xd3, 0x37, 0x6f, 0xe1, 0xa3, 0xa9, 0xb4, 0xf3, 0x17, 0x06, 0xfc, 0x9f, 0x5d, 0xc6, + 0xc9, 0x6c, 0x48, 0x71, 0xc0, 0x9f, 0x42, 0x93, 0xce, 0xfa, 0x2d, 0x7c, 0xe3, 0x97, 0x78, 0x7f, + 0xc3, 0xee, 0xd4, 0xea, 0x06, 0x51, 0xf2, 0xb0, 0xd3, 0x33, 0x19, 0xec, 0x83, 0x5f, 0xf2, 0xf4, + 0x3c, 0xe4, 0xf3, 0xac, 0x5e, 0x83, 0x7c, 0xc8, 0xe1, 0x99, 0x0c, 0xf5, 0xcd, 0x1c, 0x2a, 0x17, + 0xf4, 0x77, 0x56, 0x2f, 0x43, 0x9c, 0x38, 0x2f, 0x93, 0xd9, 0xbf, 0x85, 0xb3, 0x53, 0xf2, 0xd5, + 0xf7, 0x40, 0x5a, 0x38, 0x2d, 0x93, 0x59, 0xff, 0x3a, 0x67, 0xf5, 0x58, 0x08, 0xbb, 0x70, 0x58, + 0x26, 0xb3, 0xff, 0x0d, 0xc1, 0x2e, 0x58, 0x08, 0xfb, 0xf4, 0x22, 0xfc, 0xe5, 0xbf, 0x19, 0xe7, + 0x8b, 0x8e, 0x90, 0xdd, 0x55, 0x48, 0x71, 0x4f, 0x65, 0x32, 0xf7, 0xb7, 0xf2, 0x97, 0x0b, 0x8e, + 0xd5, 0xe7, 0x21, 0x31, 0xa5, 0xc0, 0xff, 0x16, 0x67, 0x65, 0xf4, 0xab, 0x55, 0xc8, 0x06, 0xbc, + 0x93, 0xc9, 0xec, 0xdf, 0xce, 0xd9, 0x83, 0x5c, 0xa4, 0xe9, 0xdc, 0x3b, 0x99, 0x0c, 0xf0, 0x1d, + 0xa2, 0xe9, 0x9c, 0x83, 0x88, 0x4d, 0x38, 0x26, 0x93, 0xb9, 0x3f, 0x2c, 0xa4, 0x2e, 0x58, 0x56, + 0x5f, 0x82, 0x8c, 0xb7, 0xd8, 0x4c, 0xe6, 0xff, 0x4e, 0xce, 0xef, 0xf3, 0x10, 0x09, 0x04, 0x16, + 0xbb, 0xc9, 0x10, 0xdf, 0x25, 0x24, 0x10, 0xe0, 0x22, 0xd3, 0x68, 0xd0, 0x81, 0x99, 0x8c, 0xf4, + 0xdd, 0x62, 0x1a, 0x0d, 0xf8, 0x2f, 0x64, 0x34, 0xa9, 0xcd, 0x9f, 0x0c, 0xf1, 0x3d, 0x62, 0x34, + 0x29, 0x3d, 0x69, 0xc6, 0xa0, 0x47, 0x30, 0x19, 0xe3, 0x7b, 0x45, 0x33, 0x06, 0x1c, 0x82, 0xd5, + 0x1d, 0x40, 0xc3, 0xde, 0xc0, 0x64, 0xbc, 0x8f, 0x70, 0xbc, 0xd9, 0x21, 0x67, 0x60, 0xf5, 0x15, + 0x38, 0x3d, 0xda, 0x13, 0x98, 0x8c, 0xfa, 0x7d, 0x5f, 0x1a, 0x88, 0xdd, 0x82, 0x8e, 0xc0, 0x6a, + 0xd3, 0x5f, 0x52, 0x82, 0x5e, 0xc0, 0x64, 0xd8, 0xef, 0xff, 0x52, 0xd8, 0x70, 0x07, 0x9d, 0x80, + 0xd5, 0x32, 0x80, 0xbf, 0x00, 0x4f, 0xc6, 0xfa, 0x28, 0xc7, 0x0a, 0x30, 0x91, 0xa9, 0xc1, 0xd7, + 0xdf, 0xc9, 0xfc, 0xf7, 0xc4, 0xd4, 0xe0, 0x1c, 0x64, 0x6a, 0x88, 0xa5, 0x77, 0x32, 0xf7, 0x0f, + 0x8a, 0xa9, 0x21, 0x58, 0x88, 0x66, 0x07, 0x56, 0xb7, 0xc9, 0x08, 0x1f, 0x17, 0x9a, 0x1d, 0xe0, + 0x5a, 0xdd, 0x82, 0xd9, 0xa1, 0x05, 0x71, 0x32, 0xd4, 0x0f, 0x71, 0x28, 0x69, 0x70, 0x3d, 0x0c, + 0x2e, 0x5e, 0x7c, 0x31, 0x9c, 0x8c, 0xf6, 0xc3, 0x03, 0x8b, 0x17, 0x5f, 0x0b, 0x57, 0xaf, 0x42, + 0xda, 0xec, 0x77, 0x3a, 0x64, 0xf2, 0xa0, 0xe3, 0xcf, 0xe7, 0x2e, 0xfc, 0xd7, 0x2f, 0x73, 0xe9, + 0x08, 0x86, 0xd5, 0xcb, 0x90, 0xc0, 0xdd, 0x3d, 0xdc, 0x9a, 0xc4, 0xf9, 0xf9, 0x2f, 0x0b, 0x83, + 0x49, 0xa8, 0x57, 0x5f, 0x02, 0x60, 0xa9, 0x11, 0xba, 0x71, 0x3e, 0x81, 0xf7, 0xf7, 0xbe, 0xcc, + 0x0f, 0xc4, 0xf9, 0x2c, 0x3e, 0x00, 0x3b, 0x5e, 0x77, 0x3c, 0xc0, 0x17, 0xc2, 0x00, 0x74, 0x44, + 0x5e, 0x84, 0xd4, 0x1b, 0x8e, 0x65, 0xba, 0x5a, 0x7b, 0x12, 0xf7, 0xef, 0x73, 0x6e, 0x41, 0x4f, + 0x04, 0xd6, 0xb5, 0x6c, 0xec, 0x6a, 0x6d, 0x67, 0x12, 0xef, 0x7f, 0xe3, 0xbc, 0x1e, 0x03, 0x61, + 0xd6, 0x35, 0xc7, 0x9d, 0xa6, 0xdf, 0x7f, 0x20, 0x98, 0x05, 0x03, 0x69, 0x34, 0xf9, 0x7d, 0x0b, + 0x1f, 0x4d, 0xe2, 0xfd, 0x43, 0xd1, 0x68, 0x4e, 0xbf, 0xfa, 0x1e, 0xc8, 0x90, 0x9f, 0xec, 0x94, + 0xeb, 0x04, 0xe6, 0x3f, 0xe2, 0xcc, 0x3e, 0x07, 0x79, 0xb3, 0xe3, 0xb6, 0x5c, 0x63, 0xb2, 0xb0, + 0xbf, 0xc8, 0x47, 0x5a, 0xd0, 0xaf, 0x96, 0x21, 0xeb, 0xb8, 0xad, 0x56, 0x9f, 0xfb, 0xa7, 0x13, + 0xd8, 0xff, 0xf8, 0xcb, 0x5e, 0xca, 0xc2, 0xe3, 0x21, 0xa3, 0x7d, 0xe7, 0x96, 0xdb, 0xb3, 0xe8, + 0x7e, 0xcb, 0x24, 0x84, 0x2f, 0x71, 0x84, 0x00, 0xcb, 0x6a, 0x15, 0x72, 0xa4, 0x2f, 0x36, 0xee, + 0x61, 0xba, 0x39, 0x36, 0x01, 0xe2, 0x4f, 0xb8, 0x00, 0x42, 0x4c, 0x95, 0x6f, 0xf8, 0xd5, 0xcf, + 0x2c, 0x46, 0x3e, 0xfd, 0x99, 0xc5, 0xc8, 0x6f, 0x7d, 0x66, 0x31, 0xf2, 0xe1, 0xcf, 0x2e, 0xce, + 0x7c, 0xfa, 0xb3, 0x8b, 0x33, 0xbf, 0xf9, 0xd9, 0xc5, 0x99, 0xd1, 0x59, 0x62, 0x58, 0xb7, 0xd6, + 0x2d, 0x96, 0x1f, 0x7e, 0xfd, 0x91, 0xb6, 0xe1, 0x1e, 0xf4, 0xf7, 0x56, 0x74, 0xab, 0x7b, 0x51, + 0xb7, 0x9c, 0xae, 0xe5, 0x5c, 0x0c, 0xe7, 0x75, 0xe9, 0x2f, 0xf8, 0x5f, 0x11, 0x12, 0x33, 0x87, + 0xd3, 0xb9, 0x9a, 0x79, 0x34, 0xee, 0x63, 0xba, 0x2b, 0x10, 0x2b, 0x9b, 0x47, 0xe8, 0x2c, 0x33, + 0x70, 0x6a, 0xdf, 0xee, 0xf0, 0xa3, 0x96, 0x29, 0xf2, 0xbc, 0x6b, 0x77, 0xd0, 0xbc, 0x7f, 0x1e, + 0x3a, 0x72, 0x3e, 0xc7, 0x0f, 0x39, 0x57, 0xbe, 0x3d, 0x72, 0xb2, 0x9e, 0xa4, 0xcb, 0xe6, 0x11, + 0xed, 0xc8, 0x4e, 0xe4, 0xf5, 0x27, 0x27, 0xe6, 0xb9, 0x6f, 0x99, 0xd6, 0x1d, 0x93, 0x34, 0xbb, + 0xb7, 0x27, 0x72, 0xdc, 0x8b, 0x83, 0x39, 0xee, 0x57, 0x70, 0xa7, 0xf3, 0x32, 0xa1, 0x6b, 0x12, + 0x96, 0xbd, 0x24, 0x3b, 0xd5, 0x0f, 0xdf, 0x1d, 0x85, 0xc5, 0xa1, 0x74, 0x36, 0x57, 0x82, 0x71, + 0x42, 0x58, 0x85, 0xf4, 0x9a, 0xd0, 0xad, 0x05, 0x48, 0x39, 0x58, 0xb7, 0xcc, 0x96, 0x43, 0x05, + 0x11, 0x53, 0xc4, 0x23, 0x11, 0x84, 0xa9, 0x99, 0x96, 0xc3, 0x0f, 0x2b, 0xb3, 0x87, 0xca, 0x0f, + 0x9c, 0x50, 0x10, 0x79, 0xf1, 0x26, 0x21, 0x8d, 0x67, 0xa6, 0x94, 0x86, 0xe8, 0x44, 0x28, 0xf3, + 0x3f, 0xad, 0x54, 0xbe, 0x37, 0x0a, 0x4b, 0x83, 0x52, 0x21, 0x33, 0xcb, 0x71, 0xb5, 0x6e, 0x6f, + 0x9c, 0x58, 0xae, 0x42, 0xa6, 0x29, 0x68, 0x4e, 0x2c, 0x97, 0x7b, 0x27, 0x94, 0x4b, 0xc1, 0x7b, + 0x95, 0x10, 0xcc, 0xa5, 0x29, 0x05, 0xe3, 0xf5, 0xe3, 0xbe, 0x24, 0xf3, 0x67, 0x49, 0x38, 0xcb, + 0xa6, 0x93, 0xca, 0xa6, 0x12, 0x7b, 0xe0, 0x32, 0xc9, 0x05, 0xab, 0x26, 0xef, 0x93, 0xc8, 0x2f, + 0xc3, 0x5c, 0x9d, 0x58, 0x0b, 0x12, 0x05, 0xf9, 0x3b, 0x3c, 0x23, 0xcf, 0x73, 0x2f, 0x87, 0x1c, + 0x7e, 0xbe, 0xbf, 0x15, 0x2c, 0x92, 0xbf, 0x31, 0x02, 0x52, 0x43, 0xd7, 0x3a, 0x9a, 0xfd, 0x95, + 0x42, 0xa1, 0xe7, 0x01, 0xd8, 0x71, 0x0f, 0xef, 0xc3, 0xbd, 0xc2, 0xa5, 0x85, 0x95, 0x60, 0xe7, + 0x56, 0xd8, 0x9b, 0xe8, 0x09, 0xaa, 0x0c, 0xa5, 0x25, 0x3f, 0x2f, 0xbc, 0x0a, 0xe0, 0x57, 0xa0, + 0x73, 0x70, 0xa6, 0x51, 0x2d, 0x6f, 0x94, 0x15, 0x71, 0x48, 0xa8, 0xb1, 0x53, 0xab, 0xd6, 0xaf, + 0xd5, 0x6b, 0x6b, 0xd2, 0x0c, 0x3a, 0x0d, 0x28, 0x58, 0xe9, 0x1d, 0x6a, 0x3a, 0x05, 0xb3, 0xc1, + 0x72, 0xf6, 0x95, 0x4a, 0x94, 0x78, 0x8a, 0x46, 0xb7, 0xd7, 0xc1, 0x74, 0xe7, 0x51, 0x35, 0x84, + 0xd4, 0x26, 0x3b, 0x21, 0xbf, 0xf6, 0xef, 0xd9, 0x97, 0x0b, 0x73, 0x3e, 0xbb, 0x27, 0xf3, 0xd5, + 0x0d, 0x98, 0xd5, 0x74, 0x1d, 0xf7, 0x42, 0x90, 0x13, 0x4c, 0x35, 0x01, 0xa4, 0x7b, 0xa9, 0x9c, + 0xd3, 0x47, 0x7b, 0x1e, 0x92, 0x0e, 0xed, 0xfd, 0x24, 0x88, 0x5f, 0xe7, 0x10, 0x9c, 0x7c, 0xd5, + 0x84, 0x59, 0xe2, 0xf9, 0x69, 0x36, 0x0e, 0x34, 0xe3, 0xf8, 0x3c, 0xc3, 0x2f, 0xfe, 0xcc, 0xd3, + 0x74, 0x67, 0xf5, 0xa1, 0xf0, 0xb0, 0x8c, 0x50, 0x27, 0x45, 0xe2, 0xd8, 0x7e, 0x43, 0x31, 0x14, + 0xc4, 0xfb, 0x78, 0x83, 0x8f, 0x7f, 0xd9, 0x2f, 0xf1, 0x97, 0x2d, 0x8e, 0xd2, 0x81, 0xc0, 0x9b, + 0xf2, 0x1c, 0x95, 0x55, 0x54, 0x6a, 0xe3, 0xe6, 0xf4, 0xeb, 0x4f, 0x0c, 0xaf, 0x4e, 0xec, 0xbf, + 0xa7, 0x28, 0xf2, 0xd5, 0xe0, 0x6b, 0xbc, 0xb9, 0xf7, 0x03, 0x71, 0x98, 0xd5, 0xba, 0x86, 0x69, + 0x5d, 0xa4, 0xff, 0xf2, 0x39, 0x97, 0xa0, 0x0f, 0x53, 0x6c, 0x4a, 0x5e, 0x61, 0x53, 0x61, 0xb2, + 0xc6, 0xfc, 0xd1, 0xb7, 0xfd, 0x68, 0xc2, 0x9f, 0x2e, 0xab, 0x9b, 0x20, 0x89, 0x43, 0xbc, 0xd8, + 0xd4, 0xad, 0xd6, 0x54, 0x59, 0x8a, 0x2f, 0x0a, 0x0c, 0x91, 0xdf, 0xaa, 0x71, 0xd6, 0xd5, 0x77, + 0x43, 0xda, 0x83, 0x99, 0xe4, 0x99, 0x08, 0x10, 0x8f, 0x83, 0xf8, 0x25, 0x6c, 0x66, 0x4e, 0xe3, + 0x85, 0x7e, 0x49, 0xf0, 0xb3, 0x19, 0xba, 0x45, 0x7a, 0xb3, 0x0e, 0x85, 0x96, 0x65, 0xba, 0xaa, + 0xd5, 0x35, 0x5c, 0xdc, 0xed, 0xb9, 0x13, 0xfd, 0xba, 0x3f, 0x61, 0x20, 0x69, 0x25, 0x4f, 0xf8, + 0xb6, 0x05, 0x1b, 0x69, 0x09, 0xfb, 0x4e, 0x6f, 0x9a, 0x96, 0xfc, 0x77, 0xaf, 0x25, 0x94, 0x87, + 0xb4, 0xe4, 0xbe, 0xb4, 0xc3, 0x69, 0xdd, 0xe2, 0xc6, 0xdc, 0x3d, 0x64, 0x5a, 0xe0, 0x69, 0xc7, + 0x1f, 0xc4, 0x60, 0x91, 0x13, 0xef, 0x69, 0x0e, 0xbe, 0x78, 0xfb, 0x99, 0x3d, 0xec, 0x6a, 0xcf, + 0x5c, 0xd4, 0x2d, 0x43, 0xac, 0xe4, 0x73, 0xdc, 0x58, 0x93, 0xfa, 0x15, 0x5e, 0x5f, 0x1a, 0xb9, + 0xdd, 0x5d, 0x1a, 0x6f, 0xe4, 0x4b, 0xc3, 0x3a, 0x28, 0xbf, 0x0e, 0xf1, 0xaa, 0x65, 0x98, 0x64, + 0x6d, 0x6b, 0x61, 0xd3, 0xea, 0x72, 0x73, 0xcb, 0x1e, 0xd0, 0x15, 0x48, 0x6a, 0x5d, 0xab, 0x6f, + 0xba, 0xcc, 0xd4, 0x56, 0x16, 0x7f, 0xf5, 0xad, 0xa5, 0x99, 0xff, 0xf8, 0xd6, 0x52, 0xac, 0x6e, + 0xba, 0xbf, 0xf1, 0xc9, 0xa7, 0x80, 0xa3, 0xd7, 0x4d, 0xf7, 0x13, 0xbf, 0xfb, 0x93, 0x17, 0x22, + 0x0a, 0xa7, 0x5e, 0x8d, 0x7f, 0xee, 0x63, 0x4b, 0x11, 0xf9, 0x55, 0x48, 0xad, 0x61, 0xfd, 0x18, + 0xf8, 0x67, 0x06, 0xe0, 0xcf, 0x0a, 0xf8, 0x35, 0xac, 0x07, 0xe0, 0xd7, 0xb0, 0x3e, 0x80, 0xfc, + 0x3c, 0xa4, 0xeb, 0xa6, 0xcb, 0x3e, 0x21, 0x7a, 0x02, 0x62, 0x86, 0xc9, 0x4e, 0xa5, 0x07, 0x10, + 0x86, 0x1a, 0xa8, 0x10, 0x2a, 0xc2, 0xb8, 0x86, 0x75, 0x8f, 0xb1, 0x85, 0xf5, 0x41, 0xc6, 0xe1, + 0x57, 0x13, 0xaa, 0xca, 0xda, 0x6f, 0xfe, 0xf6, 0xe2, 0xcc, 0x07, 0x3e, 0xb3, 0x38, 0x33, 0x76, + 0xe8, 0xe5, 0xc9, 0x43, 0xef, 0x8d, 0xf8, 0x8f, 0xc6, 0xe1, 0x41, 0xfa, 0x65, 0xa9, 0xdd, 0x35, + 0x4c, 0xf7, 0xa2, 0x6e, 0x1f, 0xf5, 0x5c, 0x8b, 0x18, 0x00, 0x6b, 0x9f, 0x0f, 0xf8, 0xac, 0x5f, + 0xbd, 0xc2, 0xaa, 0x47, 0x0f, 0xb7, 0xbc, 0x0f, 0x89, 0x1d, 0xc2, 0x47, 0x44, 0xec, 0x5a, 0xae, + 0xd6, 0xe1, 0x5e, 0x0b, 0x7b, 0x20, 0xa5, 0xec, 0x6b, 0xd4, 0x28, 0x2b, 0x35, 0xc4, 0x87, 0xa8, + 0x1d, 0xac, 0xed, 0xb3, 0x8f, 0x7a, 0x62, 0xd4, 0xdd, 0x4d, 0x93, 0x02, 0xfa, 0xfd, 0xce, 0x3c, + 0x24, 0xb4, 0x3e, 0x3b, 0x78, 0x13, 0x23, 0x7e, 0x30, 0x7d, 0x90, 0x5f, 0x86, 0x14, 0xdf, 0x7f, + 0x47, 0x12, 0xc4, 0x6e, 0xe1, 0x23, 0xfa, 0x9e, 0x9c, 0x42, 0x7e, 0xa2, 0x15, 0x48, 0xd0, 0xc6, + 0xf3, 0xaf, 0x15, 0x17, 0x56, 0x86, 0x5a, 0xbf, 0x42, 0x1b, 0xa9, 0x30, 0x32, 0xf9, 0x06, 0xa4, + 0xd7, 0x2c, 0xa2, 0x85, 0x61, 0xb4, 0x0c, 0x43, 0xa3, 0x6d, 0xee, 0xf5, 0xb9, 0x56, 0x28, 0xec, + 0x01, 0x9d, 0x86, 0x24, 0xfb, 0xc8, 0x8b, 0x1f, 0x1e, 0xe2, 0x4f, 0x72, 0x15, 0x52, 0x14, 0x7b, + 0xbb, 0x47, 0x5c, 0x06, 0xef, 0xdc, 0x7b, 0x86, 0x7f, 0xf2, 0xcb, 0xe1, 0xa3, 0x7e, 0x63, 0x11, + 0xc4, 0x5b, 0x9a, 0xab, 0xf1, 0x7e, 0xd3, 0xdf, 0xf2, 0x7b, 0x21, 0xcd, 0x41, 0x1c, 0x74, 0x09, + 0x62, 0x56, 0xcf, 0xe1, 0xc7, 0x7f, 0x4a, 0xe3, 0xba, 0xb2, 0xdd, 0xab, 0xc4, 0x89, 0xce, 0x28, + 0x84, 0xb8, 0xb2, 0x35, 0x56, 0x2d, 0x9e, 0x0b, 0xa9, 0x45, 0x17, 0xbb, 0x7b, 0xfb, 0xae, 0xff, + 0x83, 0x0d, 0xe7, 0x90, 0x2a, 0x78, 0x8a, 0x72, 0x2f, 0x0a, 0x8b, 0x81, 0xda, 0xdb, 0xd8, 0x76, + 0x0c, 0xcb, 0x64, 0xda, 0xc4, 0x35, 0x05, 0x05, 0x1a, 0xc8, 0xeb, 0xc7, 0xa8, 0xca, 0x7b, 0x20, + 0x56, 0xee, 0xf5, 0x50, 0x09, 0xd2, 0xf4, 0x59, 0xb7, 0x98, 0xae, 0xc4, 0x15, 0xef, 0x99, 0xd4, + 0x39, 0xd6, 0xbe, 0x7b, 0x47, 0xb3, 0xbd, 0x6f, 0xa0, 0xc5, 0xb3, 0xfc, 0x22, 0x64, 0xaa, 0x96, + 0xe9, 0x60, 0xd3, 0xe9, 0x53, 0x5f, 0x78, 0xaf, 0x63, 0xe9, 0xb7, 0x38, 0x02, 0x7b, 0x20, 0xc2, + 0xd6, 0x7a, 0x3d, 0xca, 0x19, 0x57, 0xc8, 0x4f, 0x36, 0x5f, 0x2b, 0xdb, 0x63, 0xc5, 0x73, 0xf9, + 0x64, 0xe2, 0xe1, 0x1d, 0xf4, 0x9d, 0xda, 0x08, 0x3c, 0x30, 0x3c, 0x91, 0x6e, 0xe1, 0x23, 0xe7, + 0xa4, 0xf3, 0xe8, 0x55, 0xc8, 0xec, 0xd0, 0xeb, 0x49, 0x5e, 0xc6, 0x47, 0xa8, 0x04, 0x29, 0xdc, + 0xba, 0x74, 0xf9, 0xf2, 0x33, 0x2f, 0x32, 0x2d, 0xbf, 0x3e, 0xa3, 0x88, 0x02, 0xb4, 0x08, 0x19, + 0x07, 0xeb, 0xbd, 0x4b, 0x97, 0xaf, 0xdc, 0x7a, 0x86, 0xa9, 0xd5, 0xf5, 0x19, 0xc5, 0x2f, 0x5a, + 0x4d, 0x93, 0x1e, 0x7f, 0xee, 0xe3, 0x4b, 0x91, 0x4a, 0x02, 0x62, 0x4e, 0xbf, 0xfb, 0x8e, 0xe9, + 0xc6, 0x1f, 0x26, 0x61, 0x39, 0x50, 0xcb, 0x16, 0x97, 0xdb, 0x5a, 0xc7, 0x68, 0x69, 0xfe, 0xa5, + 0x32, 0x52, 0xa0, 0xff, 0x94, 0x62, 0xcc, 0xaa, 0x71, 0xac, 0x14, 0xe5, 0x9f, 0x8e, 0x40, 0xee, + 0xa6, 0x40, 0x6e, 0x60, 0x17, 0x5d, 0x05, 0xf0, 0xde, 0x24, 0xa6, 0xca, 0xb9, 0x95, 0xc1, 0x77, + 0xad, 0x78, 0x3c, 0x4a, 0x80, 0x1c, 0x3d, 0x4f, 0x15, 0xb0, 0x67, 0x39, 0xfc, 0x7b, 0xd8, 0x09, + 0xac, 0x1e, 0x31, 0x7a, 0x12, 0x10, 0xb5, 0x6a, 0xea, 0x6d, 0xcb, 0x35, 0xcc, 0xb6, 0xda, 0xb3, + 0xee, 0xf0, 0x5b, 0x06, 0x62, 0x8a, 0x44, 0x6b, 0x6e, 0xd2, 0x8a, 0x1d, 0x52, 0x4e, 0x1a, 0x9d, + 0xf1, 0x50, 0x48, 0x58, 0xa7, 0xb5, 0x5a, 0x36, 0x76, 0x1c, 0x6e, 0xb8, 0xc4, 0x23, 0xba, 0x0a, + 0xa9, 0x5e, 0x7f, 0x4f, 0x15, 0x56, 0x22, 0x7b, 0xe9, 0x81, 0x51, 0x73, 0x5e, 0xe8, 0x06, 0x9f, + 0xf5, 0xc9, 0x5e, 0x7f, 0x8f, 0x68, 0xca, 0x43, 0x90, 0x1b, 0xd1, 0x98, 0xec, 0x6d, 0xbf, 0x1d, + 0xf4, 0x46, 0x1c, 0xde, 0x03, 0xb5, 0x67, 0x1b, 0x96, 0x6d, 0xb8, 0x47, 0xf4, 0xd8, 0x5e, 0x4c, + 0x91, 0x44, 0xc5, 0x0e, 0x2f, 0x97, 0x6f, 0x41, 0xb1, 0x41, 0xdd, 0x7d, 0xbf, 0xe5, 0x97, 0xfd, + 0xf6, 0x45, 0x26, 0xb7, 0x6f, 0x6c, 0xcb, 0xa2, 0x43, 0x2d, 0xbb, 0xf0, 0x1f, 0x22, 0x90, 0xad, + 0x90, 0x89, 0x5b, 0x5f, 0xbb, 0xd6, 0xd1, 0xda, 0xe8, 0x19, 0x38, 0x55, 0xd9, 0xd8, 0xae, 0xbe, + 0xac, 0xd6, 0xd7, 0xd4, 0x6b, 0x1b, 0xe5, 0x75, 0xff, 0x9c, 0x70, 0xe9, 0xf4, 0xdd, 0x7b, 0xcb, + 0x28, 0x40, 0xbb, 0x6b, 0xd2, 0x98, 0x14, 0x5d, 0x84, 0xf9, 0x30, 0x4b, 0xb9, 0xd2, 0xa8, 0x6d, + 0x35, 0xa5, 0x48, 0xe9, 0xd4, 0xdd, 0x7b, 0xcb, 0xb3, 0x01, 0x8e, 0xf2, 0x9e, 0x83, 0x4d, 0x77, + 0x98, 0xa1, 0xba, 0xbd, 0xb9, 0x59, 0x6f, 0x4a, 0xd1, 0x21, 0x86, 0xaa, 0xd5, 0xed, 0x1a, 0x2e, + 0x7a, 0x1c, 0x66, 0xc3, 0x0c, 0x5b, 0xf5, 0x0d, 0x29, 0x56, 0x42, 0x77, 0xef, 0x2d, 0x17, 0x02, + 0xd4, 0x5b, 0x46, 0xa7, 0x94, 0xfe, 0xd0, 0x0f, 0x2f, 0xce, 0x7c, 0xe2, 0xef, 0x2e, 0x46, 0x2a, + 0x9b, 0x63, 0xe7, 0xdc, 0xb3, 0x27, 0x9b, 0x73, 0xe1, 0x75, 0xfb, 0xcb, 0x0f, 0x84, 0xcc, 0x0d, + 0xf7, 0xe7, 0x02, 0xc6, 0x78, 0xda, 0xe9, 0x36, 0x29, 0x47, 0x51, 0x3a, 0xde, 0x3d, 0x28, 0x4d, + 0x58, 0x14, 0x4a, 0x13, 0x0d, 0x83, 0xfc, 0x22, 0xe4, 0x77, 0x34, 0xdb, 0x6d, 0x60, 0xf7, 0x3a, + 0xd6, 0x5a, 0xd8, 0x0e, 0xfb, 0x0f, 0x79, 0xe1, 0x3f, 0x20, 0x88, 0x53, 0x27, 0x81, 0xad, 0x9f, + 0xf4, 0xb7, 0x7c, 0x00, 0x71, 0x7a, 0x22, 0xd9, 0xf3, 0x2d, 0x38, 0x07, 0xf3, 0x2d, 0xc8, 0xca, + 0x70, 0xe4, 0x62, 0x47, 0xa4, 0xd1, 0xe8, 0x03, 0x7a, 0x4e, 0x78, 0x08, 0xb1, 0xe3, 0x3d, 0x04, + 0x3e, 0xbd, 0xb8, 0x9f, 0xd0, 0x81, 0x14, 0x1f, 0x62, 0xaf, 0x21, 0x11, 0xbf, 0x21, 0x68, 0x13, + 0x8a, 0x3d, 0xcd, 0x76, 0xe9, 0x17, 0x8a, 0x07, 0xb4, 0x17, 0x7c, 0x06, 0x2f, 0x0d, 0xdb, 0x93, + 0x50, 0x67, 0xf9, 0x5b, 0xf2, 0xbd, 0x60, 0xa1, 0xfc, 0x5f, 0xe2, 0x90, 0xe4, 0xc2, 0x78, 0x0f, + 0xa4, 0xb8, 0x58, 0xf9, 0x9c, 0x7b, 0x70, 0x65, 0x78, 0x99, 0x5d, 0xf1, 0x96, 0x43, 0x8e, 0x27, + 0x78, 0xd0, 0xa3, 0x90, 0xd6, 0x0f, 0x34, 0xc3, 0x54, 0x8d, 0x16, 0x77, 0x6d, 0xb3, 0x9f, 0x79, + 0x6b, 0x29, 0x55, 0x25, 0x65, 0xf5, 0x35, 0x25, 0x45, 0x2b, 0xeb, 0x2d, 0xe2, 0xd3, 0x1c, 0x60, + 0xa3, 0x7d, 0xe0, 0x72, 0xbb, 0xc1, 0x9f, 0xd0, 0x0b, 0x10, 0x27, 0x0a, 0xc1, 0xbf, 0x5f, 0x2f, + 0x0d, 0x45, 0x28, 0x5e, 0x0a, 0xa9, 0x92, 0x26, 0x2f, 0xfe, 0xf0, 0x7f, 0x5e, 0x8a, 0x28, 0x94, + 0x03, 0x55, 0x21, 0xdf, 0xd1, 0x1c, 0x57, 0xa5, 0xeb, 0x31, 0x79, 0x7d, 0x82, 0x42, 0x9c, 0x1d, + 0x16, 0x08, 0x17, 0x2c, 0x6f, 0x7a, 0x96, 0x70, 0xb1, 0xa2, 0x16, 0x3a, 0x0f, 0x12, 0x05, 0xd1, + 0xe9, 0x0c, 0x64, 0x5e, 0x62, 0x92, 0xca, 0xbd, 0x40, 0xca, 0xd9, 0xc4, 0xa4, 0xbe, 0xe2, 0x39, + 0xc8, 0xd0, 0x2f, 0x66, 0x29, 0x09, 0x3b, 0x06, 0x9f, 0x26, 0x05, 0xb4, 0xf2, 0x31, 0x28, 0xfa, + 0x56, 0x9f, 0x91, 0xa4, 0x19, 0x8a, 0x5f, 0x4c, 0x09, 0x9f, 0x86, 0x79, 0x13, 0x1f, 0xd2, 0x83, + 0xf9, 0x21, 0xea, 0x0c, 0xa5, 0x46, 0xa4, 0xee, 0x66, 0x98, 0xe3, 0x11, 0x28, 0xe8, 0x42, 0xf8, + 0x8c, 0x16, 0x28, 0x6d, 0xde, 0x2b, 0xa5, 0x64, 0x67, 0x21, 0xad, 0xf5, 0x7a, 0x8c, 0x20, 0xcb, + 0xad, 0x7e, 0xaf, 0x47, 0xab, 0x2e, 0xc0, 0x2c, 0xed, 0xa3, 0x8d, 0x9d, 0x7e, 0xc7, 0xe5, 0x20, + 0x39, 0x4a, 0x53, 0x24, 0x15, 0x0a, 0x2b, 0xa7, 0xb4, 0x0f, 0x43, 0x1e, 0xdf, 0x36, 0x5a, 0xd8, + 0xd4, 0x31, 0xa3, 0xcb, 0x53, 0xba, 0x9c, 0x28, 0xa4, 0x44, 0x8f, 0x83, 0x67, 0xcd, 0x55, 0xb1, + 0xd2, 0x14, 0x18, 0x9e, 0x28, 0x2f, 0xb3, 0x62, 0x79, 0x01, 0xe2, 0x6b, 0x9a, 0xab, 0x11, 0x77, + 0xc9, 0x3d, 0x64, 0xcb, 0x67, 0x4e, 0x21, 0x3f, 0xe5, 0x4f, 0xc5, 0x20, 0x7e, 0xd3, 0x72, 0x31, + 0x7a, 0x36, 0xe0, 0xca, 0x16, 0x46, 0xe9, 0x73, 0xc3, 0x68, 0x9b, 0xb8, 0xb5, 0xe9, 0xb4, 0x03, + 0xd7, 0xdb, 0xf8, 0xea, 0x14, 0x0d, 0xa9, 0xd3, 0x3c, 0x24, 0x6c, 0xab, 0x6f, 0xb6, 0xc4, 0x01, + 0x72, 0xfa, 0x80, 0x6a, 0x90, 0xf6, 0xb4, 0x24, 0x3e, 0x49, 0x4b, 0x8a, 0x44, 0x4b, 0x88, 0x0e, + 0xf3, 0x02, 0x25, 0xb5, 0xc7, 0x95, 0xa5, 0x02, 0x19, 0xcf, 0x78, 0x71, 0x6d, 0x9b, 0x4e, 0x61, + 0x7d, 0x36, 0xb2, 0x44, 0x7a, 0x63, 0xef, 0x09, 0x8f, 0x69, 0x9c, 0xe4, 0x55, 0x70, 0xe9, 0x85, + 0xd4, 0x8a, 0x5f, 0xb5, 0x93, 0xa2, 0xfd, 0xf2, 0xd5, 0x8a, 0x5d, 0xb7, 0xf3, 0x00, 0x64, 0x1c, + 0xa3, 0x6d, 0x6a, 0x6e, 0xdf, 0xc6, 0x5c, 0xf3, 0xfc, 0x02, 0x52, 0xeb, 0x7f, 0x4c, 0xc1, 0x34, + 0x2d, 0x70, 0x03, 0xd8, 0x45, 0x98, 0xf3, 0xef, 0xde, 0xf2, 0x51, 0x98, 0x96, 0x21, 0xaf, 0xaa, + 0x21, 0x6a, 0xe4, 0x5f, 0x8e, 0x40, 0x92, 0xaf, 0x58, 0xfe, 0x30, 0x44, 0x46, 0x0f, 0x43, 0x74, + 0xdc, 0x30, 0xc4, 0xee, 0x7f, 0x18, 0xca, 0x00, 0x5e, 0x33, 0x1d, 0x7e, 0xa1, 0xca, 0x08, 0xb7, + 0x8a, 0x35, 0xb1, 0x61, 0xb4, 0xf9, 0xbc, 0x0f, 0x30, 0xc9, 0xff, 0x29, 0x42, 0x3c, 0x7c, 0x5e, + 0x8f, 0xca, 0x90, 0x17, 0xed, 0x52, 0xf7, 0x3b, 0x5a, 0x9b, 0xab, 0xe2, 0x83, 0x63, 0x1b, 0x47, + 0x56, 0x61, 0x25, 0xcb, 0xdb, 0x43, 0xfd, 0x89, 0x91, 0xc3, 0x1a, 0x1d, 0x33, 0xac, 0x21, 0x3d, + 0x8a, 0xdd, 0x9f, 0x1e, 0x85, 0x46, 0x3c, 0x3e, 0x30, 0xe2, 0xf2, 0x6f, 0x47, 0xf8, 0xcd, 0x5f, + 0x2d, 0xf6, 0x25, 0xc8, 0x5f, 0xd4, 0x50, 0xbd, 0xce, 0x75, 0xab, 0x85, 0x5b, 0xea, 0xd0, 0x98, + 0x3d, 0x3c, 0x8c, 0x18, 0x6e, 0xb3, 0x3f, 0x76, 0x48, 0xa0, 0x34, 0xfc, 0x31, 0xfc, 0x64, 0x14, + 0x66, 0x87, 0xe8, 0xff, 0xef, 0x1b, 0xcb, 0xf0, 0xec, 0x4d, 0x4c, 0x39, 0x7b, 0x93, 0x63, 0x67, + 0xef, 0xcf, 0x44, 0x69, 0x02, 0xa0, 0x67, 0x39, 0x5a, 0xe7, 0xab, 0x61, 0x7b, 0xcf, 0x41, 0xa6, + 0x67, 0x75, 0x54, 0x56, 0xc3, 0x3e, 0xe1, 0x49, 0xf7, 0xac, 0x8e, 0x32, 0xa4, 0x66, 0x89, 0xb7, + 0xc9, 0x30, 0x27, 0xdf, 0x86, 0x41, 0x48, 0x0d, 0x4e, 0x28, 0x1b, 0x72, 0x4c, 0x14, 0xdc, 0x6b, + 0x7a, 0x9a, 0xc8, 0x80, 0xba, 0x61, 0x91, 0x61, 0x2f, 0x8f, 0x35, 0x9b, 0x51, 0x2a, 0x9c, 0x8e, + 0x70, 0x30, 0x27, 0x63, 0x54, 0xe6, 0x28, 0x68, 0xb1, 0x14, 0x4e, 0x27, 0xff, 0xed, 0x08, 0xc0, + 0x06, 0x91, 0x2c, 0xed, 0x2f, 0xf1, 0x77, 0x1c, 0xda, 0x04, 0x35, 0xf4, 0xe6, 0xc5, 0x71, 0x83, + 0xc6, 0xdf, 0x9f, 0x73, 0x82, 0xed, 0xae, 0x42, 0xde, 0xd7, 0x6d, 0x07, 0x8b, 0xc6, 0x2c, 0x1e, + 0x13, 0x95, 0x36, 0xb0, 0xab, 0xe4, 0x6e, 0x07, 0x9e, 0xe4, 0x7f, 0x16, 0x81, 0x0c, 0x6d, 0xd3, + 0x26, 0x76, 0xb5, 0xd0, 0x18, 0x46, 0xee, 0x7f, 0x0c, 0x1f, 0x04, 0x60, 0x30, 0x8e, 0xf1, 0x26, + 0xe6, 0x9a, 0x95, 0xa1, 0x25, 0x0d, 0xe3, 0x4d, 0x8c, 0xae, 0x78, 0x02, 0x8f, 0x1d, 0x2f, 0x70, + 0x11, 0xb5, 0x72, 0xb1, 0x9f, 0x81, 0x14, 0xbd, 0x9b, 0xf2, 0xd0, 0xe1, 0x81, 0x68, 0xd2, 0xec, + 0x77, 0x9b, 0x87, 0x8e, 0xfc, 0x06, 0xa4, 0x9a, 0x87, 0x2c, 0x9f, 0x78, 0x0e, 0x32, 0xb6, 0x65, + 0x71, 0xef, 0x8f, 0x79, 0xdd, 0x69, 0x52, 0x40, 0x9d, 0x1d, 0x91, 0x43, 0x8b, 0xfa, 0x39, 0x34, + 0x3f, 0x09, 0x18, 0x9b, 0x2a, 0x09, 0x48, 0xa2, 0xcf, 0x7c, 0x68, 0x26, 0xa1, 0x27, 0xe1, 0x4c, + 0xa3, 0xbe, 0xbe, 0x55, 0x5b, 0x53, 0x37, 0x1b, 0xeb, 0x03, 0x9f, 0xe7, 0x97, 0x8a, 0x77, 0xef, + 0x2d, 0x67, 0x79, 0xd8, 0x39, 0x8e, 0x7a, 0x47, 0xa9, 0xdd, 0xdc, 0x6e, 0xd6, 0xa4, 0x08, 0xa3, + 0xde, 0xb1, 0xf1, 0x6d, 0xcb, 0x65, 0x97, 0xbf, 0x3e, 0x0d, 0x67, 0x47, 0x50, 0x7b, 0xc1, 0xe7, + 0xec, 0xdd, 0x7b, 0xcb, 0xf9, 0x1d, 0x1b, 0x33, 0x2d, 0xa3, 0x1c, 0x2b, 0xb0, 0x30, 0xcc, 0xb1, + 0xbd, 0xb3, 0xdd, 0x28, 0x6f, 0x48, 0xcb, 0x25, 0xe9, 0xee, 0xbd, 0xe5, 0x9c, 0x30, 0x19, 0x84, + 0xfe, 0x9d, 0x8f, 0x3e, 0xbf, 0x35, 0x1d, 0xca, 0x1a, 0xb3, 0xb8, 0xae, 0xa7, 0xd9, 0x5a, 0xf7, + 0xa4, 0xe1, 0xe7, 0x84, 0x83, 0x03, 0xf2, 0x4f, 0x47, 0xa1, 0xe8, 0x05, 0x37, 0x3b, 0xf4, 0x0d, + 0xe8, 0xd9, 0x60, 0xc6, 0x2f, 0x3b, 0x76, 0xed, 0x60, 0xd4, 0x22, 0x21, 0xf8, 0x6e, 0x48, 0x0b, + 0x27, 0x99, 0x4f, 0xaa, 0xe5, 0x11, 0xeb, 0x1b, 0xa7, 0xe0, 0xac, 0x1e, 0x07, 0x7a, 0x09, 0x32, + 0xde, 0x14, 0xf3, 0x2e, 0x48, 0x1b, 0x3f, 0x27, 0x39, 0xbf, 0xcf, 0x83, 0x5e, 0xf4, 0xc3, 0xb8, + 0xf8, 0xb8, 0xc0, 0xf0, 0x26, 0x23, 0xe0, 0xcc, 0x5e, 0x08, 0xf7, 0x34, 0xc4, 0xb5, 0x3d, 0xdd, + 0xe0, 0x06, 0xf8, 0x81, 0x61, 0xbe, 0x72, 0xa5, 0x5a, 0xe7, 0x4c, 0x94, 0x52, 0xae, 0xf3, 0x64, + 0x0a, 0x97, 0x17, 0xbd, 0x8e, 0xe6, 0x50, 0x65, 0xb1, 0x30, 0xf3, 0x2e, 0xd2, 0x5d, 0xed, 0xb0, + 0x42, 0xc3, 0xe1, 0x33, 0x90, 0x22, 0x95, 0x6d, 0x7e, 0xe1, 0x41, 0x4c, 0x49, 0x76, 0xb5, 0xc3, + 0x75, 0xcd, 0xb9, 0x11, 0x4f, 0xc7, 0xa4, 0xb8, 0xfc, 0xe3, 0xc4, 0x53, 0x09, 0x49, 0x05, 0x3d, + 0x01, 0x88, 0x70, 0x68, 0x6d, 0xac, 0x92, 0xa9, 0x4b, 0xc5, 0x2b, 0x70, 0x8b, 0x5d, 0xed, 0xb0, + 0xdc, 0xc6, 0x5b, 0xfd, 0x2e, 0x6d, 0x80, 0x83, 0x36, 0x41, 0x12, 0xc4, 0x62, 0x64, 0xb9, 0xf8, + 0xcf, 0x0e, 0x5f, 0xb0, 0xca, 0x09, 0xd8, 0x02, 0xf0, 0x11, 0xb2, 0x00, 0x14, 0x18, 0x9e, 0x77, + 0x54, 0x24, 0xd4, 0x95, 0x58, 0xb8, 0x2b, 0xf2, 0x4b, 0x50, 0x1c, 0x18, 0x01, 0x24, 0x43, 0x9e, + 0x67, 0xac, 0xe8, 0x36, 0x3c, 0x8b, 0x70, 0x32, 0x4a, 0x96, 0x65, 0xa6, 0xe8, 0xb1, 0x84, 0xd5, + 0xf4, 0xcf, 0x7d, 0x6c, 0x29, 0x42, 0x37, 0x73, 0x9e, 0x80, 0x7c, 0x68, 0x0c, 0x44, 0x16, 0x39, + 0xe2, 0x67, 0x91, 0x7d, 0xe2, 0xd7, 0x21, 0x47, 0x0c, 0x10, 0x6e, 0x71, 0xda, 0x47, 0xa1, 0xc8, + 0x0c, 0xe4, 0xa0, 0xac, 0x99, 0xc3, 0xb3, 0x29, 0x04, 0x2e, 0x0b, 0x0f, 0x28, 0x2c, 0xf6, 0xac, + 0xa0, 0x5a, 0xd7, 0x1c, 0x79, 0x1b, 0xc0, 0x1f, 0x54, 0x54, 0x86, 0x07, 0x89, 0xf1, 0x08, 0x1e, + 0x1b, 0xe5, 0x57, 0x63, 0x85, 0x3c, 0xc6, 0x12, 0x21, 0xf2, 0x8f, 0x86, 0xb2, 0x0b, 0xb2, 0xae, + 0x53, 0x8a, 0xca, 0xfb, 0x3e, 0xf1, 0x99, 0xc5, 0xc8, 0x3b, 0x63, 0x0b, 0xbe, 0xeb, 0x15, 0x38, + 0x17, 0xa8, 0x24, 0x0a, 0x18, 0x4a, 0x44, 0x15, 0x03, 0xfa, 0x4a, 0x2a, 0x27, 0x25, 0x94, 0x8e, + 0xcd, 0xff, 0x96, 0x8e, 0x37, 0x3b, 0x93, 0xb3, 0x4d, 0x93, 0xf3, 0x5d, 0xa3, 0x93, 0xf2, 0xff, + 0x34, 0x03, 0x29, 0x05, 0xbf, 0xbf, 0x8f, 0x1d, 0x17, 0x5d, 0x82, 0x38, 0xd6, 0x0f, 0xac, 0x51, + 0x39, 0x50, 0xd2, 0xc1, 0x15, 0x4e, 0x57, 0xd3, 0x0f, 0xac, 0xeb, 0x33, 0x0a, 0xa5, 0x45, 0x97, + 0x21, 0xb1, 0xdf, 0xe9, 0xf3, 0xf4, 0xd5, 0x80, 0xcd, 0x0a, 0x32, 0x5d, 0x23, 0x44, 0xd7, 0x67, + 0x14, 0x46, 0x4d, 0x5e, 0x45, 0x6f, 0xc6, 0x8e, 0x1d, 0xff, 0xaa, 0xba, 0xb9, 0x4f, 0x5f, 0x45, + 0x68, 0x51, 0x05, 0xc0, 0x30, 0x0d, 0x57, 0xa5, 0xa9, 0x1d, 0x6e, 0x35, 0x1e, 0x1a, 0xcf, 0x69, + 0xb8, 0x34, 0x19, 0x74, 0x7d, 0x46, 0xc9, 0x18, 0xe2, 0x81, 0x34, 0xf7, 0xfd, 0x7d, 0x6c, 0x1f, + 0x71, 0x6f, 0x6d, 0x6c, 0x73, 0xdf, 0x47, 0x88, 0x48, 0x73, 0x29, 0x35, 0x31, 0xb2, 0xec, 0x92, + 0x3d, 0xf7, 0x90, 0x5f, 0x1d, 0xbb, 0x34, 0x8e, 0x93, 0xde, 0xb4, 0xd7, 0x3c, 0xbc, 0x3e, 0xa3, + 0xa4, 0x74, 0xf6, 0x13, 0xbd, 0xe0, 0xb9, 0x60, 0xd9, 0x61, 0xaf, 0x27, 0xc4, 0xcb, 0xd2, 0x3e, + 0x33, 0xc2, 0x15, 0x43, 0x5b, 0x50, 0xe8, 0x18, 0x8e, 0xab, 0x3a, 0xa6, 0xd6, 0x73, 0x0e, 0x2c, + 0xd7, 0xa1, 0xf9, 0x93, 0xec, 0xa5, 0x47, 0xc6, 0x21, 0x6c, 0x18, 0x8e, 0xdb, 0x10, 0xc4, 0xd7, + 0x67, 0x94, 0x7c, 0x27, 0x58, 0x40, 0xf0, 0xac, 0xfd, 0x7d, 0x6c, 0x7b, 0x80, 0x34, 0xcf, 0x72, + 0x0c, 0xde, 0x36, 0xa1, 0x16, 0xfc, 0x04, 0xcf, 0x0a, 0x16, 0xa0, 0xaf, 0x81, 0xb9, 0x8e, 0xa5, + 0xb5, 0x3c, 0x38, 0x55, 0x3f, 0xe8, 0x9b, 0xb7, 0x68, 0x52, 0x26, 0x7b, 0xe9, 0xf1, 0xb1, 0x8d, + 0xb4, 0xb4, 0x96, 0x80, 0xa8, 0x12, 0x86, 0xeb, 0x33, 0xca, 0x6c, 0x67, 0xb0, 0x10, 0x7d, 0x3d, + 0xcc, 0x6b, 0xbd, 0x5e, 0xe7, 0x68, 0x10, 0xbd, 0x48, 0xd1, 0x2f, 0x8c, 0x43, 0x2f, 0x13, 0x9e, + 0x41, 0x78, 0xa4, 0x0d, 0x95, 0xa2, 0x26, 0x48, 0x3d, 0x1b, 0xd3, 0x2f, 0xaf, 0x7a, 0xdc, 0xcb, + 0xa0, 0xf7, 0x52, 0x65, 0x2f, 0x3d, 0x36, 0x0e, 0x7b, 0x87, 0xd1, 0x0b, 0xa7, 0xe4, 0xfa, 0x8c, + 0x52, 0xec, 0x85, 0x8b, 0x18, 0xaa, 0xa5, 0x63, 0x7a, 0x6d, 0x1e, 0x47, 0x9d, 0x9d, 0x84, 0x4a, + 0xe9, 0xc3, 0xa8, 0xa1, 0x22, 0x54, 0x83, 0x2c, 0x0b, 0x45, 0x55, 0x62, 0x0c, 0xe9, 0x6d, 0x56, + 0xd9, 0x4b, 0xf2, 0xd8, 0x19, 0x4a, 0x49, 0x6f, 0x5a, 0x2e, 0xbe, 0x3e, 0xa3, 0x00, 0xf6, 0x9e, + 0x90, 0x06, 0xa7, 0xe8, 0xc5, 0x5e, 0x47, 0x6a, 0xd8, 0xf0, 0x2e, 0xcc, 0x51, 0xc0, 0x27, 0xc6, + 0x01, 0xde, 0xa4, 0x4c, 0x37, 0x83, 0x76, 0xf8, 0xfa, 0x8c, 0x32, 0x77, 0x7b, 0xb8, 0x98, 0xa8, + 0xd8, 0xbe, 0x61, 0x6a, 0x1d, 0xe3, 0x4d, 0xcc, 0x96, 0x50, 0x7a, 0xa5, 0xe5, 0x31, 0x2a, 0x76, + 0x8d, 0x53, 0xd3, 0x85, 0x95, 0xa8, 0xd8, 0x7e, 0xb0, 0xa0, 0x92, 0xe2, 0x67, 0x46, 0xbd, 0x2b, + 0xda, 0x52, 0x52, 0x9a, 0x5d, 0xcb, 0x76, 0x23, 0x9e, 0x06, 0x29, 0x2b, 0x3f, 0x06, 0xd9, 0x80, + 0x61, 0x42, 0x0b, 0x90, 0xe2, 0xa7, 0x6a, 0xc4, 0xe9, 0x53, 0xfe, 0x28, 0x17, 0x20, 0x17, 0x34, + 0x46, 0xf2, 0x87, 0x23, 0x1e, 0x27, 0xbd, 0x9b, 0x62, 0x21, 0x9c, 0x91, 0xce, 0xf8, 0x9e, 0xca, + 0xc3, 0x62, 0x69, 0x13, 0xf5, 0x6c, 0xfb, 0x35, 0x47, 0x0b, 0xf9, 0xca, 0x8a, 0x96, 0x20, 0xdb, + 0xbb, 0xd4, 0xf3, 0x48, 0x62, 0x94, 0x04, 0x7a, 0x97, 0x7a, 0x82, 0xe0, 0x21, 0xc8, 0x91, 0x7e, + 0xab, 0x41, 0x7f, 0x29, 0xa3, 0x64, 0x49, 0x19, 0x27, 0x91, 0xff, 0x4d, 0x14, 0xa4, 0x41, 0x03, + 0xe6, 0xa5, 0xaa, 0x23, 0x27, 0x4e, 0x55, 0x9f, 0x1d, 0x4c, 0x92, 0xfb, 0x79, 0xf1, 0x0d, 0x90, + 0xfc, 0xf4, 0x2e, 0x5b, 0x6a, 0xc6, 0xfb, 0x7f, 0x03, 0x8e, 0xaa, 0x52, 0xd4, 0x07, 0x3c, 0xd7, + 0x6b, 0xa1, 0xcd, 0x4a, 0xf1, 0xa7, 0x23, 0x06, 0x07, 0xdc, 0x73, 0x62, 0x76, 0x7b, 0x2d, 0xcd, + 0xc5, 0x22, 0x3f, 0x16, 0xd8, 0xb7, 0x7c, 0x14, 0x8a, 0x5a, 0xaf, 0xa7, 0x3a, 0xae, 0xe6, 0x62, + 0xee, 0x6b, 0xb0, 0xcc, 0x43, 0x5e, 0xeb, 0xf5, 0x1a, 0xa4, 0x94, 0xf9, 0x1a, 0x8f, 0x40, 0x81, + 0xd8, 0x74, 0x43, 0xeb, 0x08, 0x57, 0x21, 0xc9, 0x5c, 0x12, 0x5e, 0xca, 0xbc, 0x03, 0xb9, 0xe5, + 0x8d, 0x38, 0xb5, 0xe7, 0x5e, 0x4c, 0x15, 0x09, 0xc4, 0x54, 0x88, 0xdf, 0x19, 0xc2, 0xe4, 0x23, + 0xee, 0x59, 0x19, 0xbd, 0x69, 0x30, 0x4f, 0xe3, 0xaf, 0xdb, 0x2c, 0x59, 0x92, 0x56, 0xd8, 0x83, + 0xac, 0x40, 0x21, 0x6c, 0xfb, 0x51, 0x01, 0xa2, 0xee, 0x21, 0x7f, 0x4b, 0xd4, 0x3d, 0x24, 0x9e, + 0xae, 0x77, 0xd3, 0x6e, 0x61, 0xc4, 0x6a, 0xc7, 0xf9, 0xfc, 0x5c, 0x87, 0x5c, 0x84, 0x7c, 0x68, + 0x4d, 0x90, 0x4f, 0xc3, 0xfc, 0x28, 0x13, 0x2f, 0x1f, 0x78, 0xe5, 0x21, 0x53, 0x8d, 0x2e, 0x43, + 0xda, 0xb3, 0xf1, 0x23, 0xa2, 0x63, 0xfa, 0x5a, 0x41, 0xac, 0x78, 0xa4, 0xa1, 0x74, 0x7e, 0x34, + 0x94, 0xce, 0x97, 0xbf, 0x01, 0x16, 0xc6, 0xd9, 0xef, 0x81, 0x24, 0x5f, 0xdc, 0x13, 0xd8, 0x69, + 0x48, 0xf2, 0x2b, 0x2d, 0xa3, 0x74, 0x03, 0x8b, 0x3f, 0x11, 0x41, 0x32, 0x5b, 0x1e, 0x63, 0xfb, + 0x5a, 0xf4, 0x41, 0x56, 0xe1, 0xec, 0x58, 0x1b, 0x3e, 0x7e, 0x2b, 0x8c, 0x01, 0xf1, 0xad, 0x30, + 0x5d, 0x34, 0xc7, 0xa1, 0x7d, 0x15, 0x07, 0x59, 0xd8, 0x93, 0xfc, 0x91, 0x18, 0x9c, 0x1e, 0x6d, + 0xc9, 0xd1, 0x32, 0xe4, 0x88, 0xdf, 0xea, 0x86, 0x5d, 0x5c, 0xe8, 0x6a, 0x87, 0x4d, 0xee, 0xdf, + 0xf2, 0xad, 0x84, 0xa8, 0xb7, 0x95, 0x80, 0x76, 0x61, 0xb6, 0x63, 0xe9, 0x5a, 0x47, 0x0d, 0x6c, + 0xe5, 0xf0, 0x49, 0xf4, 0xf0, 0x90, 0xb0, 0xc3, 0x29, 0x43, 0x62, 0x70, 0xb8, 0xfe, 0x17, 0x29, + 0xc6, 0x86, 0xb7, 0xeb, 0x83, 0xd6, 0x20, 0xdb, 0x35, 0x9c, 0x3d, 0x7c, 0xa0, 0xdd, 0x36, 0x2c, + 0x9b, 0xcf, 0xa6, 0x61, 0xa5, 0xd9, 0xf4, 0x69, 0xc4, 0x0e, 0x53, 0x80, 0x2d, 0x30, 0x24, 0x89, + 0x91, 0x1b, 0x5f, 0xc9, 0x13, 0x5b, 0x93, 0x71, 0x7b, 0x48, 0xa9, 0xb1, 0x7b, 0x48, 0xa3, 0x36, + 0x6c, 0xd2, 0xa3, 0x37, 0x6c, 0x3e, 0x14, 0x1c, 0x9a, 0xf0, 0xda, 0x37, 0xb4, 0x87, 0x83, 0x1a, + 0x30, 0xcf, 0xf9, 0x5b, 0x21, 0xd9, 0x8f, 0x38, 0xea, 0xc0, 0xe6, 0xd7, 0xa0, 0xcc, 0x91, 0x60, + 0x1f, 0x2f, 0xf6, 0xd8, 0xfd, 0x89, 0x5d, 0x6c, 0xa2, 0xc6, 0x03, 0x9b, 0xa8, 0xff, 0x87, 0x0d, + 0xc5, 0x4b, 0x30, 0x3b, 0xe4, 0x47, 0x8c, 0xdc, 0x1c, 0x1e, 0x93, 0x90, 0x95, 0x3f, 0x1a, 0x81, + 0xd2, 0x78, 0xc7, 0x61, 0x24, 0xd4, 0x89, 0x72, 0xdf, 0xe3, 0xcc, 0xf3, 0x23, 0x50, 0x18, 0x70, + 0x6b, 0xd8, 0x28, 0xe4, 0x43, 0x01, 0xa4, 0xfc, 0xcd, 0x31, 0xcf, 0x66, 0x86, 0x7c, 0x8f, 0x11, + 0x8a, 0xf6, 0x3e, 0x98, 0x6b, 0x61, 0xdd, 0x68, 0xdd, 0xaf, 0x9e, 0xcd, 0x72, 0xee, 0xff, 0xa7, + 0x66, 0xc3, 0x6a, 0xf6, 0x3d, 0x00, 0x69, 0x05, 0x3b, 0x3d, 0xe2, 0x4a, 0xa0, 0x0a, 0x64, 0xf0, + 0xa1, 0x8e, 0x7b, 0xae, 0x7f, 0x1e, 0x60, 0x94, 0x77, 0xcb, 0xa8, 0x6b, 0x82, 0x92, 0xc4, 0x76, + 0x1e, 0x1b, 0x7a, 0x96, 0x87, 0xaf, 0xe3, 0x23, 0x51, 0xce, 0x1e, 0x8c, 0x5f, 0xaf, 0x88, 0xf8, + 0x35, 0x36, 0x36, 0x34, 0x63, 0x5c, 0x03, 0x01, 0xec, 0xb3, 0x3c, 0x80, 0x8d, 0x4f, 0x78, 0x59, + 0x28, 0x82, 0xad, 0x86, 0x22, 0xd8, 0xe4, 0x84, 0x6e, 0x8e, 0x09, 0x61, 0xaf, 0x88, 0x10, 0x36, + 0x35, 0xa1, 0xc5, 0x03, 0x31, 0xec, 0x7b, 0x02, 0x31, 0x6c, 0x66, 0x38, 0x51, 0x18, 0x62, 0x1d, + 0x11, 0xc4, 0xbe, 0xe8, 0x05, 0xb1, 0xb9, 0xb1, 0x01, 0x30, 0x67, 0x1e, 0x8c, 0x62, 0xb7, 0x87, + 0xa2, 0xd8, 0x3c, 0xff, 0xdb, 0x3e, 0xe3, 0x20, 0x26, 0x84, 0xb1, 0xdb, 0x43, 0x61, 0x6c, 0x61, + 0x02, 0xe0, 0x84, 0x38, 0xf6, 0x6b, 0x47, 0xc7, 0xb1, 0xe3, 0x23, 0x4d, 0xde, 0xcc, 0xe9, 0x02, + 0x59, 0x75, 0x4c, 0x20, 0x2b, 0x8d, 0x0d, 0xba, 0x18, 0xfc, 0xd4, 0x91, 0xec, 0xee, 0x88, 0x48, + 0x96, 0xc5, 0x9c, 0xe7, 0xc7, 0x82, 0x4f, 0x11, 0xca, 0xee, 0x8e, 0x08, 0x65, 0xd1, 0x44, 0xd8, + 0x89, 0xb1, 0xec, 0xb5, 0x70, 0x2c, 0x3b, 0x37, 0xc6, 0x61, 0xf2, 0x67, 0xfb, 0x98, 0x60, 0x76, + 0x6f, 0x5c, 0x30, 0xcb, 0x02, 0xce, 0x27, 0xc7, 0x22, 0x9e, 0x20, 0x9a, 0xdd, 0x1e, 0x8a, 0x66, + 0x4f, 0x4d, 0xd0, 0xb4, 0xe9, 0xc3, 0x59, 0x76, 0xd7, 0x38, 0xbb, 0x65, 0x1c, 0xa4, 0xec, 0x8d, + 0x78, 0x3a, 0x2b, 0xe5, 0xe4, 0xc7, 0xc9, 0xea, 0x3b, 0x60, 0xe7, 0x88, 0x9b, 0x8b, 0x6d, 0xdb, + 0xb2, 0xc5, 0xe1, 0x7e, 0xfa, 0x20, 0x9f, 0x27, 0xe1, 0x8d, 0x6f, 0xd3, 0x8e, 0x09, 0x7d, 0x69, + 0x38, 0x11, 0xb0, 0x63, 0xf2, 0xcf, 0x45, 0x7c, 0x5e, 0x1a, 0xfc, 0x06, 0x43, 0xa3, 0x0c, 0x0f, + 0x8d, 0x02, 0x01, 0x71, 0x34, 0x1c, 0x10, 0x2f, 0x41, 0x96, 0x84, 0x09, 0x03, 0xb1, 0xae, 0xd6, + 0xf3, 0x62, 0x5d, 0x71, 0xf6, 0x87, 0x85, 0xcd, 0x7c, 0x59, 0x62, 0x1b, 0x61, 0x45, 0xef, 0x1c, + 0x14, 0x8b, 0xd2, 0xd0, 0x53, 0x30, 0x17, 0xa0, 0xf5, 0xc2, 0x0f, 0x16, 0xf8, 0x49, 0x1e, 0x75, + 0x99, 0xc7, 0x21, 0xff, 0x3c, 0xe2, 0x4b, 0xc8, 0x0f, 0x92, 0x47, 0xc5, 0xb3, 0x91, 0xb7, 0x29, + 0x9e, 0x8d, 0xde, 0x77, 0x3c, 0x1b, 0x0c, 0xa7, 0x62, 0xe1, 0x70, 0xea, 0x4f, 0x23, 0xfe, 0x98, + 0x78, 0xd1, 0xa9, 0x6e, 0xb5, 0x30, 0x0f, 0x70, 0xe8, 0x6f, 0xe2, 0x92, 0x74, 0xac, 0x36, 0x0f, + 0x63, 0xc8, 0x4f, 0x42, 0xe5, 0x2d, 0x3c, 0x19, 0xbe, 0xae, 0x78, 0xb1, 0x51, 0x22, 0xf8, 0x09, + 0x02, 0x3f, 0x97, 0x9f, 0xf4, 0xcf, 0xe5, 0x7b, 0xdf, 0xdf, 0xa6, 0x02, 0xdf, 0xdf, 0xa2, 0x17, + 0x20, 0x43, 0xf3, 0xd4, 0xaa, 0xd5, 0x13, 0x7f, 0x18, 0xeb, 0xdc, 0xf8, 0x33, 0xf9, 0x0e, 0x3d, + 0x2d, 0xcc, 0xce, 0xf1, 0xfb, 0x1e, 0x47, 0x26, 0xe4, 0x71, 0x3c, 0x00, 0x19, 0xd2, 0x7a, 0xf6, + 0x07, 0x1e, 0x80, 0x7f, 0xbc, 0x2d, 0x0a, 0xe4, 0x9f, 0x88, 0x42, 0x71, 0x60, 0xa1, 0x19, 0xd9, + 0xf7, 0x51, 0x3b, 0xa0, 0xd3, 0xc9, 0x63, 0x11, 0xa0, 0xad, 0x39, 0xea, 0x1d, 0xcd, 0x74, 0x71, + 0x8b, 0x0b, 0x25, 0x50, 0x82, 0x4a, 0x90, 0x26, 0x4f, 0x7d, 0x07, 0xb7, 0x78, 0xe2, 0xc0, 0x7b, + 0x46, 0xd7, 0x21, 0x89, 0x6f, 0xd3, 0x0b, 0x4e, 0xd9, 0x35, 0xc1, 0xa7, 0x87, 0x23, 0x39, 0x52, + 0x5d, 0x59, 0x20, 0x83, 0xfd, 0xf9, 0xb7, 0x96, 0x24, 0x46, 0xfd, 0xa4, 0xf7, 0xcd, 0x94, 0xc2, + 0xf9, 0xc3, 0x52, 0x48, 0x0f, 0x48, 0x81, 0xa6, 0xb0, 0x72, 0x22, 0x32, 0x25, 0x32, 0x65, 0xc7, + 0x93, 0x95, 0x7c, 0x17, 0x77, 0x7b, 0x96, 0xd5, 0x51, 0xd9, 0x1c, 0x2f, 0x43, 0x21, 0xbc, 0xae, + 0xb2, 0x3f, 0xbe, 0xe4, 0x6a, 0x86, 0xa9, 0x86, 0x9c, 0xe0, 0x1c, 0x2b, 0x64, 0x73, 0xea, 0x46, + 0x3c, 0x1d, 0x91, 0xa2, 0x37, 0xe2, 0xe9, 0xa8, 0x14, 0x93, 0x77, 0xe0, 0xd4, 0xc8, 0x75, 0x15, + 0x3d, 0x0f, 0x19, 0x7f, 0x49, 0x66, 0x27, 0xcc, 0x8f, 0x49, 0x12, 0xf8, 0xb4, 0xf2, 0x2f, 0x45, + 0x7c, 0xc8, 0x70, 0xda, 0xa1, 0x06, 0x49, 0x76, 0xdc, 0x8f, 0x1f, 0xed, 0x78, 0x6a, 0xba, 0x15, + 0x79, 0x85, 0x9d, 0x05, 0x54, 0x38, 0xb3, 0xfc, 0xf5, 0x90, 0x64, 0x25, 0x28, 0x0b, 0x29, 0xff, + 0x2a, 0x65, 0x80, 0x64, 0xb9, 0x5a, 0xad, 0xed, 0x88, 0x7b, 0x51, 0x2b, 0xdb, 0x4a, 0x53, 0x8a, + 0x92, 0x62, 0xa5, 0x76, 0xa3, 0x56, 0x6d, 0x4a, 0x31, 0x34, 0x0b, 0x79, 0xf6, 0x5b, 0xbd, 0xb6, + 0xad, 0x6c, 0x96, 0x9b, 0x52, 0x3c, 0x50, 0xd4, 0xa8, 0x6d, 0xad, 0xd5, 0x14, 0x29, 0x21, 0x3f, + 0x03, 0x67, 0xc7, 0xae, 0xe1, 0x7e, 0x4e, 0x21, 0x12, 0xc8, 0x29, 0xc8, 0x1f, 0x89, 0x92, 0xa0, + 0x66, 0xdc, 0xc2, 0x8c, 0x6e, 0x0c, 0x74, 0xfc, 0xd2, 0x09, 0x56, 0xf5, 0x81, 0xde, 0x93, 0x38, + 0xc6, 0xc6, 0xfb, 0xd8, 0xd5, 0x0f, 0x98, 0xa3, 0xc0, 0x2c, 0x50, 0x5e, 0xc9, 0xf3, 0x52, 0xca, + 0xe4, 0x30, 0xb2, 0x37, 0xb0, 0xee, 0xaa, 0x4c, 0x89, 0x1c, 0xfe, 0xb7, 0x62, 0xf3, 0xac, 0xb4, + 0xc1, 0x0a, 0xe5, 0x6f, 0x38, 0x91, 0x2c, 0x33, 0x90, 0x50, 0x6a, 0x4d, 0xe5, 0x35, 0x29, 0x86, + 0x10, 0x14, 0xe8, 0x4f, 0xb5, 0xb1, 0x55, 0xde, 0x69, 0x5c, 0xdf, 0x26, 0xb2, 0x9c, 0x83, 0xa2, + 0x90, 0xa5, 0x28, 0x4c, 0xc8, 0x4f, 0xc0, 0x99, 0x31, 0x5e, 0xc5, 0x88, 0xf3, 0x97, 0x1f, 0x8f, + 0x04, 0xa9, 0xc3, 0x9e, 0xc1, 0x36, 0x24, 0x1d, 0x57, 0x73, 0xfb, 0x0e, 0x17, 0xe2, 0xf3, 0xd3, + 0xba, 0x19, 0x2b, 0xe2, 0x47, 0x83, 0xb2, 0x2b, 0x1c, 0x46, 0xbe, 0x0c, 0x85, 0x70, 0xcd, 0x78, + 0x19, 0xf8, 0x4a, 0x14, 0x95, 0xaf, 0x02, 0x1a, 0xf6, 0x3e, 0x46, 0x84, 0x97, 0x91, 0x51, 0xe1, + 0xe5, 0x8f, 0x44, 0xe0, 0xdc, 0x31, 0x9e, 0x06, 0x7a, 0xdf, 0x40, 0x27, 0x5f, 0x3c, 0x89, 0x9f, + 0xb2, 0xc2, 0xca, 0x06, 0xba, 0xf9, 0x2c, 0xe4, 0x82, 0xe5, 0xd3, 0x75, 0xf2, 0xf3, 0x51, 0x7f, + 0x12, 0x87, 0xe3, 0x60, 0xdf, 0x04, 0x46, 0xbe, 0x42, 0x13, 0xf8, 0x6e, 0x00, 0xf7, 0x50, 0x1c, + 0x00, 0xe6, 0xeb, 0xe8, 0x83, 0x23, 0x52, 0x63, 0x58, 0x6f, 0x1e, 0xf2, 0x49, 0x90, 0x71, 0xf9, + 0x2f, 0x07, 0x35, 0x82, 0x49, 0x81, 0x3e, 0x5d, 0x63, 0x1d, 0xef, 0x2f, 0xc5, 0x4e, 0xb7, 0x18, + 0xfb, 0xc9, 0x03, 0x56, 0xec, 0xa0, 0xd7, 0xe0, 0xcc, 0x80, 0xa3, 0xe0, 0x41, 0xc7, 0xa7, 0xf5, + 0x17, 0x4e, 0x85, 0xfd, 0x05, 0x01, 0x1d, 0x5c, 0xed, 0x13, 0xe1, 0xd5, 0xfe, 0x35, 0x00, 0x3f, + 0x39, 0xe0, 0x9f, 0x58, 0x8b, 0x04, 0x4f, 0xac, 0x5d, 0x86, 0x04, 0xd1, 0x24, 0x21, 0xa7, 0x61, + 0x53, 0x4c, 0x34, 0x21, 0x90, 0x5c, 0x60, 0xd4, 0xb2, 0x01, 0x68, 0x38, 0xb7, 0x38, 0xe6, 0x15, + 0xef, 0x09, 0xbf, 0xe2, 0xa1, 0xb1, 0x59, 0xca, 0xd1, 0xaf, 0x7a, 0x13, 0x12, 0x74, 0xe4, 0x47, + 0x7e, 0x06, 0xf8, 0x75, 0x00, 0x9a, 0xeb, 0xda, 0xc6, 0x5e, 0xdf, 0x7f, 0xc1, 0xd2, 0x68, 0xcd, + 0x29, 0x0b, 0xba, 0xca, 0x03, 0x5c, 0x85, 0xe6, 0x7d, 0xd6, 0x80, 0x1a, 0x05, 0x00, 0xe5, 0x2d, + 0x28, 0x84, 0x79, 0x47, 0x7f, 0xd6, 0xe8, 0xdf, 0x2f, 0x92, 0x11, 0xfe, 0x8d, 0xe7, 0x1d, 0xf1, + 0x3b, 0x7f, 0xe8, 0x83, 0xfc, 0xe7, 0x11, 0xc8, 0x05, 0x15, 0xef, 0x6d, 0x76, 0x41, 0x1e, 0x1c, + 0xe1, 0x82, 0x64, 0xda, 0x9a, 0xf3, 0x0a, 0xf3, 0x40, 0xce, 0x0e, 0x79, 0x20, 0xa9, 0xb6, 0xe6, + 0xec, 0x7e, 0x15, 0x1d, 0x10, 0xf9, 0x5b, 0x22, 0x90, 0xf6, 0x3a, 0x7f, 0xcc, 0x29, 0x5d, 0xff, + 0xe3, 0x56, 0x2f, 0xeb, 0xce, 0xf6, 0x37, 0x62, 0xde, 0xfe, 0xc6, 0x55, 0x6f, 0xf1, 0x1b, 0x97, + 0x0e, 0x09, 0x4a, 0x5a, 0x9c, 0x94, 0xe3, 0x6b, 0xfd, 0xd5, 0xe9, 0xbe, 0x21, 0x9b, 0x87, 0x44, + 0xf0, 0xfb, 0x2f, 0xf6, 0x20, 0xb7, 0x02, 0x47, 0x63, 0xd8, 0x34, 0x0c, 0x7e, 0x6c, 0x16, 0x39, + 0xf1, 0xc7, 0x66, 0xde, 0x5b, 0xa2, 0xc1, 0xb7, 0x7c, 0x77, 0x04, 0xd2, 0x62, 0x46, 0xa0, 0xf7, + 0x06, 0x8f, 0x4c, 0x89, 0x3d, 0xb9, 0xb1, 0xd6, 0x88, 0xe3, 0x07, 0x4e, 0x4c, 0x0d, 0x9d, 0x14, + 0x8e, 0x9d, 0xf4, 0xa4, 0x30, 0xf7, 0xeb, 0xfe, 0x38, 0x02, 0xd2, 0xe0, 0x7c, 0xfd, 0x8a, 0x5b, + 0x37, 0xbc, 0xc8, 0xc5, 0x46, 0x2c, 0x72, 0xe3, 0x8e, 0xff, 0xc6, 0xc7, 0x1d, 0xff, 0x1d, 0xee, + 0x75, 0xe2, 0x3e, 0x7b, 0xfd, 0xc1, 0x28, 0x64, 0x03, 0xc9, 0x51, 0xf4, 0x5c, 0xe8, 0x28, 0xf1, + 0xf2, 0x71, 0x89, 0xd4, 0xc0, 0x59, 0xe2, 0x90, 0x98, 0xa2, 0x27, 0x17, 0xd3, 0xdb, 0xff, 0x59, + 0xd1, 0xe8, 0x2f, 0x2f, 0x13, 0x63, 0xbe, 0xbc, 0xfc, 0xa6, 0x08, 0xa4, 0x3d, 0xa7, 0xfb, 0xa4, + 0xbb, 0x6f, 0xa7, 0x21, 0xc9, 0xfd, 0x4a, 0xb6, 0xfd, 0xc6, 0x9f, 0x46, 0x26, 0x95, 0x4b, 0x90, + 0x16, 0x7f, 0xb4, 0x8f, 0xaf, 0x69, 0xde, 0xf3, 0x85, 0x17, 0x21, 0x1b, 0xd8, 0xb9, 0x24, 0x86, + 0x71, 0xab, 0xf6, 0x8a, 0x34, 0x53, 0x4a, 0xdd, 0xbd, 0xb7, 0x1c, 0xdb, 0xc2, 0x77, 0xc8, 0x6c, + 0x56, 0x6a, 0xd5, 0xeb, 0xb5, 0xea, 0xcb, 0x52, 0xa4, 0x94, 0xbd, 0x7b, 0x6f, 0x39, 0xa5, 0x60, + 0x9a, 0x4f, 0xbc, 0xf0, 0x32, 0x14, 0x07, 0x06, 0x26, 0xec, 0xb4, 0x20, 0x28, 0xac, 0xed, 0xee, + 0x6c, 0xd4, 0xab, 0xe5, 0x66, 0x4d, 0x65, 0x07, 0x4e, 0xd1, 0x19, 0x98, 0xdb, 0xa8, 0xaf, 0x5f, + 0x6f, 0xaa, 0xd5, 0x8d, 0x7a, 0x6d, 0xab, 0xa9, 0x96, 0x9b, 0xcd, 0x72, 0xf5, 0x65, 0x29, 0x7a, + 0xe9, 0x5e, 0x16, 0xe2, 0xe5, 0x4a, 0xb5, 0x8e, 0xaa, 0x10, 0xa7, 0x89, 0x90, 0x63, 0x8f, 0x2e, + 0x95, 0x8e, 0xcf, 0x0c, 0xa3, 0x6b, 0x90, 0xa0, 0x39, 0x12, 0x74, 0xfc, 0x59, 0xa6, 0xd2, 0x84, + 0x54, 0x31, 0x69, 0x0c, 0x9d, 0x91, 0xc7, 0x1e, 0x6e, 0x2a, 0x1d, 0x9f, 0x39, 0x46, 0x1b, 0x90, + 0x12, 0x21, 0xf2, 0xa4, 0x13, 0x47, 0xa5, 0x89, 0xe9, 0x5c, 0xd2, 0x35, 0x96, 0x6a, 0x38, 0xfe, + 0xdc, 0x53, 0x69, 0x42, 0x4e, 0x19, 0xd5, 0xbd, 0x0f, 0x71, 0x26, 0x1c, 0x65, 0x2a, 0x4d, 0xca, + 0x12, 0x23, 0x05, 0x32, 0x7e, 0x12, 0x67, 0xf2, 0x69, 0xae, 0xd2, 0x14, 0xe9, 0x72, 0xf4, 0xf5, + 0x90, 0x0f, 0x07, 0xba, 0xd3, 0x1d, 0x97, 0x2a, 0x4d, 0x99, 0x8f, 0x26, 0xf8, 0xe1, 0xa8, 0x77, + 0xba, 0xe3, 0x53, 0xa5, 0x29, 0xd3, 0xd3, 0xe8, 0x0d, 0x98, 0x1d, 0x8e, 0x4a, 0xa7, 0x3f, 0x4d, + 0x55, 0x3a, 0x41, 0xc2, 0x1a, 0x75, 0x01, 0x8d, 0x88, 0x66, 0x4f, 0x70, 0xb8, 0xaa, 0x74, 0x92, + 0xfc, 0x35, 0x6a, 0x41, 0x71, 0x30, 0x44, 0x9c, 0xf6, 0xb0, 0x55, 0x69, 0xea, 0x5c, 0x36, 0x7b, + 0x4b, 0x38, 0xb4, 0x9c, 0xf6, 0xf0, 0x55, 0x69, 0xea, 0xd4, 0x36, 0xda, 0x05, 0x08, 0x44, 0x87, + 0x53, 0x1c, 0xc6, 0x2a, 0x4d, 0x93, 0xe4, 0x46, 0x3d, 0x98, 0x1b, 0x15, 0x36, 0x9e, 0xe4, 0x6c, + 0x56, 0xe9, 0x44, 0xb9, 0x6f, 0xa2, 0xcf, 0xe1, 0x00, 0x70, 0xba, 0xb3, 0x5a, 0xa5, 0x29, 0x93, + 0xe0, 0x95, 0xf2, 0xd8, 0x03, 0xba, 0x8f, 0x1d, 0x7b, 0x40, 0xd7, 0x3f, 0x72, 0xeb, 0x7f, 0x1e, + 0xfe, 0x1c, 0xbc, 0x8b, 0x5f, 0xfd, 0xe2, 0xb8, 0xda, 0x2d, 0xc3, 0x6c, 0x7b, 0x77, 0xf9, 0xf0, + 0x67, 0x7e, 0x3a, 0xf7, 0x34, 0xbf, 0x5e, 0x46, 0x94, 0x4e, 0xb8, 0xd1, 0x67, 0xec, 0x35, 0x87, + 0x93, 0x0e, 0xf2, 0x4f, 0x3e, 0x77, 0x7b, 0xcc, 0x6d, 0x41, 0x13, 0xee, 0x24, 0x1a, 0x71, 0x9b, + 0x50, 0xe9, 0xd8, 0x8f, 0xe3, 0x4b, 0xc7, 0x1d, 0x58, 0x26, 0x5e, 0x6c, 0xe1, 0xba, 0xe1, 0xb8, + 0x96, 0x6d, 0xe8, 0x5a, 0x87, 0x2e, 0x2f, 0x57, 0xa7, 0xfd, 0x9c, 0xa8, 0x92, 0x21, 0xee, 0x0a, + 0xbf, 0x82, 0x88, 0x7f, 0xe2, 0xb2, 0x06, 0xc9, 0xdb, 0x5a, 0x87, 0x7d, 0xcc, 0x13, 0xbc, 0x6d, + 0x6c, 0x50, 0xe6, 0x01, 0x3f, 0x2a, 0x88, 0xc2, 0x78, 0xe5, 0x4f, 0xd1, 0x0f, 0x21, 0xba, 0x5d, + 0xc3, 0x21, 0xba, 0xa8, 0xd0, 0x40, 0x7a, 0x17, 0xe2, 0xb6, 0xe6, 0xf2, 0xf0, 0xb2, 0x52, 0xe6, + 0x17, 0x07, 0x3d, 0x3a, 0xf9, 0xfa, 0x9f, 0x95, 0xa1, 0xbb, 0x85, 0xd8, 0xcb, 0x28, 0x1c, 0xfa, + 0x5a, 0x48, 0x77, 0xb5, 0x43, 0x95, 0x42, 0x47, 0xdf, 0x2e, 0xe8, 0x54, 0x57, 0x3b, 0x24, 0xad, + 0x46, 0x06, 0x14, 0x09, 0xba, 0x7e, 0xa0, 0x99, 0x6d, 0xcc, 0x5e, 0x12, 0x7b, 0xbb, 0x5e, 0x92, + 0xef, 0x6a, 0x87, 0x55, 0x0a, 0x4c, 0x5e, 0xc5, 0xaf, 0x68, 0xfa, 0x95, 0x08, 0x4f, 0x2a, 0x50, + 0xc9, 0x21, 0x0d, 0x24, 0xdd, 0x7b, 0xa2, 0xef, 0x17, 0x3b, 0x20, 0x8f, 0x8d, 0x1b, 0x98, 0x01, + 0xb9, 0x57, 0xf2, 0xa4, 0xa5, 0x9f, 0x7e, 0x6b, 0x29, 0xc2, 0xde, 0x5a, 0xd4, 0x07, 0xc6, 0xe5, + 0x06, 0x64, 0x59, 0xae, 0x44, 0xa5, 0x4e, 0x6e, 0x74, 0xa2, 0x93, 0x9b, 0x17, 0x4e, 0x2e, 0x03, + 0x04, 0xc6, 0x4d, 0xea, 0x79, 0x1f, 0x3e, 0x11, 0x81, 0xec, 0x5a, 0xe0, 0x72, 0xc1, 0x05, 0x48, + 0x75, 0x2d, 0xd3, 0xb8, 0x85, 0x6d, 0x6f, 0x0b, 0x8b, 0x3d, 0x12, 0x47, 0x94, 0xfd, 0x8d, 0x3a, + 0xf7, 0x48, 0xdc, 0x9b, 0x23, 0x9e, 0x09, 0xd7, 0x1d, 0xbc, 0xe7, 0x18, 0x42, 0xe4, 0x8a, 0x78, + 0x44, 0x8f, 0x83, 0xe4, 0x60, 0xbd, 0x6f, 0x1b, 0xee, 0x91, 0xaa, 0x5b, 0xa6, 0xab, 0xe9, 0x2e, + 0x0f, 0xd3, 0x8b, 0xa2, 0xbc, 0xca, 0x8a, 0x09, 0x48, 0x0b, 0xbb, 0x9a, 0xd1, 0x61, 0x67, 0x0e, + 0x33, 0x8a, 0x78, 0xe4, 0x4d, 0xfd, 0x54, 0x2a, 0x18, 0xa8, 0x56, 0x41, 0xb2, 0x7a, 0xd8, 0x0e, + 0x9d, 0x57, 0x61, 0xea, 0xba, 0xf0, 0x1b, 0x9f, 0x7c, 0x6a, 0x9e, 0x0b, 0x9c, 0x9f, 0x75, 0x60, + 0x77, 0xe9, 0x2b, 0x45, 0xc1, 0x21, 0x0e, 0xb2, 0xbc, 0x16, 0xda, 0xb4, 0xea, 0xef, 0xf9, 0x17, + 0xa4, 0xcc, 0x0f, 0x09, 0xb5, 0x6c, 0x1e, 0x55, 0x16, 0x7e, 0xdd, 0x87, 0xf6, 0x03, 0xd9, 0x97, + 0xf1, 0x51, 0x70, 0x07, 0x8b, 0xc2, 0x10, 0x1f, 0xff, 0x0d, 0xcd, 0xe8, 0x88, 0x3f, 0xe7, 0xa9, + 0xf0, 0x27, 0xb4, 0xea, 0x65, 0x1f, 0xe3, 0x34, 0x60, 0x92, 0xc7, 0xe9, 0x46, 0xc5, 0x32, 0x5b, + 0xe1, 0x34, 0x23, 0x6a, 0x42, 0xd2, 0xb5, 0x6e, 0x61, 0x93, 0x0b, 0xa8, 0xf2, 0xee, 0x13, 0x28, + 0xf6, 0xf0, 0x6d, 0x61, 0x1c, 0x0b, 0xb5, 0x41, 0x6a, 0xe1, 0x0e, 0x6e, 0xb3, 0x4f, 0x03, 0x0f, + 0x34, 0x1b, 0xb3, 0x0f, 0xd3, 0x4f, 0x86, 0x3f, 0x7c, 0xa9, 0x58, 0xd1, 0x43, 0x6d, 0x50, 0x50, + 0xb4, 0x13, 0xbe, 0xda, 0x32, 0xc5, 0xf7, 0x9d, 0xc7, 0xf4, 0x3f, 0xa0, 0x95, 0x41, 0xb3, 0x15, + 0xba, 0x0a, 0xf3, 0x71, 0x90, 0xfa, 0xe6, 0x9e, 0x65, 0xd2, 0xbf, 0x90, 0xc7, 0x43, 0xb0, 0x34, + 0xdb, 0xe4, 0xf4, 0xca, 0xf9, 0x26, 0xe7, 0x0e, 0x14, 0x7c, 0x52, 0x3a, 0x7b, 0x32, 0x27, 0x9d, + 0x3d, 0x79, 0x0f, 0x80, 0x90, 0xa0, 0x4d, 0x00, 0x7f, 0x7e, 0xd2, 0x5d, 0xb6, 0xec, 0xf8, 0xd1, + 0xf4, 0x67, 0x7a, 0xb0, 0x33, 0x01, 0x00, 0xd4, 0x81, 0xb9, 0xae, 0x61, 0xaa, 0x0e, 0xee, 0xec, + 0xab, 0x5c, 0x72, 0x04, 0x37, 0xfb, 0x36, 0x8c, 0xf4, 0x6c, 0xd7, 0x30, 0x1b, 0xb8, 0xb3, 0xbf, + 0xe6, 0xc1, 0xa2, 0x77, 0xc3, 0x39, 0x5f, 0x1c, 0x96, 0xa9, 0x1e, 0x58, 0x9d, 0x96, 0x6a, 0xe3, + 0x7d, 0x55, 0xa7, 0x97, 0xd5, 0xe5, 0xa8, 0x10, 0xcf, 0x78, 0x24, 0xdb, 0xe6, 0x75, 0xab, 0xd3, + 0x52, 0xf0, 0x7e, 0x95, 0x54, 0xa3, 0x87, 0xc1, 0x97, 0x85, 0x6a, 0xb4, 0x9c, 0x85, 0xfc, 0x72, + 0xec, 0x7c, 0x5c, 0xc9, 0x79, 0x85, 0xf5, 0x96, 0xb3, 0x9a, 0xfe, 0xd0, 0xc7, 0x96, 0x66, 0x3e, + 0xf7, 0xb1, 0xa5, 0x19, 0xf9, 0x1a, 0xbd, 0x5a, 0x89, 0x4f, 0x3a, 0xec, 0xa0, 0x2b, 0x90, 0xd1, + 0xc4, 0x03, 0xfb, 0x70, 0xea, 0x98, 0x49, 0xeb, 0x93, 0xca, 0x1f, 0x8b, 0x40, 0x72, 0xed, 0xe6, + 0x8e, 0x66, 0xd8, 0xa8, 0x06, 0xb3, 0xbe, 0xd2, 0x4e, 0x3b, 0xff, 0x7d, 0x3d, 0x17, 0x06, 0xa0, + 0x36, 0xee, 0xd8, 0xdb, 0xb1, 0x30, 0x83, 0x07, 0xe2, 0x02, 0x5d, 0xbd, 0x01, 0x29, 0xd6, 0x42, + 0x07, 0xbd, 0x04, 0x89, 0x1e, 0xf9, 0xc1, 0x93, 0xf8, 0x8b, 0x63, 0x15, 0x9d, 0xd2, 0x07, 0xd5, + 0x82, 0xf1, 0xc9, 0x7f, 0x16, 0x01, 0x58, 0xbb, 0x79, 0xb3, 0x69, 0x1b, 0xbd, 0x0e, 0x76, 0xdf, + 0xae, 0x2e, 0x6f, 0xc0, 0xa9, 0xc0, 0x97, 0xc0, 0xb6, 0x3e, 0x75, 0xb7, 0xe7, 0xfc, 0x6f, 0x81, + 0x6d, 0x7d, 0x24, 0x5a, 0xcb, 0x71, 0x3d, 0xb4, 0xd8, 0xd4, 0x68, 0x6b, 0x8e, 0x3b, 0x2c, 0xc7, + 0x57, 0x21, 0xeb, 0x77, 0xdd, 0x41, 0x75, 0x48, 0xbb, 0xfc, 0x37, 0x17, 0xa7, 0x3c, 0x5e, 0x9c, + 0x82, 0x2d, 0x28, 0x52, 0x8f, 0x5d, 0xfe, 0x9f, 0x44, 0xaa, 0xfe, 0x44, 0xf8, 0x4b, 0xa5, 0x48, + 0xc4, 0xc2, 0x73, 0x0b, 0x1c, 0x7b, 0x1b, 0x2c, 0x30, 0xc7, 0x0a, 0x88, 0xf5, 0x9b, 0xa3, 0x30, + 0xb7, 0x2b, 0x26, 0xe9, 0x5f, 0x5a, 0x29, 0xec, 0x42, 0x0a, 0x9b, 0xae, 0x6d, 0x78, 0xbb, 0x4d, + 0x4f, 0x8f, 0x1b, 0xec, 0x11, 0x7d, 0xa9, 0x99, 0xae, 0x7d, 0x14, 0x1c, 0x7a, 0x81, 0x15, 0x10, + 0xc3, 0x2f, 0xc6, 0x60, 0x61, 0x1c, 0x2b, 0x7a, 0x0c, 0x8a, 0xba, 0x8d, 0x69, 0x41, 0xf8, 0x3b, + 0xc8, 0x82, 0x28, 0xe6, 0x4b, 0x8a, 0x02, 0xc4, 0x41, 0x23, 0x5a, 0x45, 0x48, 0xef, 0xcf, 0x23, + 0x2b, 0xf8, 0x08, 0x74, 0x51, 0xc1, 0x50, 0x14, 0x1f, 0x56, 0xec, 0x69, 0x1d, 0xcd, 0xd4, 0xf1, + 0x7d, 0x68, 0xc2, 0xf0, 0x0a, 0x20, 0xbe, 0xd6, 0xa8, 0x30, 0x4c, 0x74, 0x13, 0x52, 0x02, 0x3e, + 0xfe, 0x36, 0xc0, 0x0b, 0x30, 0xf4, 0x10, 0xe4, 0x82, 0x0b, 0x03, 0xf5, 0x53, 0xe2, 0x4a, 0x36, + 0xb0, 0x2e, 0x4c, 0x5a, 0x79, 0x92, 0xc7, 0xae, 0x3c, 0xdc, 0x15, 0xfc, 0x85, 0x18, 0xcc, 0x2a, + 0xb8, 0xf5, 0x57, 0x70, 0xe0, 0xbe, 0x06, 0x80, 0x4d, 0x6a, 0x62, 0x6c, 0xef, 0x63, 0xec, 0x86, + 0x8d, 0x44, 0x86, 0xe1, 0xad, 0x39, 0xee, 0x57, 0x6b, 0xf4, 0xfe, 0x75, 0x14, 0x72, 0xc1, 0xd1, + 0xfb, 0x2b, 0xb0, 0xb2, 0xa1, 0x2d, 0xdf, 0xa4, 0xb1, 0xef, 0x49, 0x1e, 0x1f, 0x67, 0xd2, 0x86, + 0xf4, 0x7a, 0x82, 0x2d, 0xfb, 0xd3, 0x18, 0x24, 0xf9, 0xa9, 0xb9, 0xed, 0x21, 0x1f, 0x37, 0x32, + 0xe9, 0x8b, 0xf8, 0xbc, 0xf8, 0x22, 0x7e, 0xa4, 0x8b, 0xfb, 0x08, 0x14, 0x48, 0x48, 0x1d, 0x3a, + 0x8a, 0x17, 0x39, 0x9f, 0xa7, 0xe1, 0xb0, 0x7f, 0xf0, 0x1c, 0x2d, 0x41, 0x96, 0x90, 0xf9, 0x36, + 0x9b, 0xd0, 0x40, 0x57, 0x3b, 0xac, 0xb1, 0x12, 0xf4, 0x14, 0xa0, 0x03, 0x2f, 0xf1, 0xa1, 0xfa, + 0x82, 0x20, 0x74, 0xb3, 0x7e, 0x8d, 0x20, 0x7f, 0x10, 0x80, 0xb4, 0x42, 0x65, 0xf7, 0x29, 0xf3, + 0xbb, 0xa9, 0x49, 0xc9, 0x1a, 0xbd, 0x53, 0xf9, 0x3b, 0x22, 0xcc, 0x55, 0x1e, 0x88, 0xb6, 0x79, + 0xd0, 0xa2, 0x9e, 0x6c, 0x36, 0x7c, 0xf1, 0xad, 0xa5, 0xd2, 0x91, 0xd6, 0xed, 0xac, 0xca, 0x23, + 0x20, 0xe5, 0x51, 0xb9, 0x00, 0xe2, 0x4d, 0x87, 0x03, 0x77, 0xb4, 0x05, 0xd2, 0x2d, 0x7c, 0xa4, + 0xda, 0xfc, 0xaf, 0x4c, 0xab, 0xfb, 0x18, 0xf3, 0xf0, 0xe6, 0xec, 0xca, 0x88, 0x6b, 0xad, 0x57, + 0xaa, 0x96, 0x11, 0x8a, 0x03, 0x0a, 0xb7, 0xf0, 0x91, 0xc2, 0x99, 0xaf, 0x61, 0xbc, 0xfa, 0x2e, + 0x32, 0x4f, 0xee, 0xfe, 0xee, 0x4f, 0x5e, 0x38, 0x17, 0x68, 0xf2, 0xa1, 0x97, 0x71, 0x63, 0xc3, + 0x2d, 0xff, 0x78, 0x04, 0x90, 0xbf, 0x78, 0x79, 0x47, 0xf9, 0x37, 0x01, 0x02, 0xf1, 0x43, 0xe4, + 0xf8, 0xb8, 0xc4, 0xe7, 0x0f, 0xc5, 0x25, 0x81, 0xc9, 0xf9, 0x5e, 0x7f, 0xa9, 0x88, 0x9e, 0xa0, + 0x4b, 0x82, 0x89, 0xce, 0xf9, 0x19, 0xf9, 0xad, 0x08, 0x9c, 0x1d, 0xd2, 0x6c, 0xaf, 0xc9, 0x3a, + 0x20, 0x3b, 0x50, 0x49, 0x35, 0x44, 0xec, 0x1e, 0xdf, 0xdf, 0x44, 0x99, 0xb5, 0x87, 0x96, 0x87, + 0x77, 0x68, 0xcd, 0xe3, 0x46, 0xed, 0xd7, 0x22, 0x30, 0x1f, 0x6c, 0x91, 0xd7, 0xb7, 0x06, 0xe4, + 0x82, 0x6d, 0xe1, 0xbd, 0x7a, 0xd7, 0x34, 0xbd, 0x0a, 0x76, 0x28, 0x04, 0x42, 0xfa, 0x22, 0x66, + 0x11, 0xcb, 0xfd, 0x3d, 0x33, 0xb5, 0x94, 0x44, 0xc3, 0x46, 0x9a, 0x15, 0x36, 0x58, 0xdf, 0x1e, + 0x85, 0xf8, 0x8e, 0x65, 0x75, 0xd0, 0x37, 0x45, 0x60, 0xd6, 0xb4, 0x5c, 0x95, 0xcc, 0x3d, 0xdc, + 0x52, 0x79, 0xf2, 0x81, 0x59, 0xe6, 0x9b, 0x27, 0x93, 0xde, 0xe7, 0xdf, 0x5a, 0x1a, 0x86, 0x1a, + 0x75, 0xc1, 0x7a, 0xd1, 0xb4, 0xdc, 0x0a, 0x25, 0x6a, 0xb2, 0xfc, 0xc4, 0x1d, 0xc8, 0x87, 0xdf, + 0xcf, 0xcc, 0xb9, 0x72, 0xe2, 0xf7, 0xe7, 0x27, 0xbe, 0x3b, 0xb7, 0x17, 0x78, 0x31, 0xbb, 0xe6, + 0xf8, 0x0f, 0xc9, 0xe0, 0xbe, 0x06, 0xd2, 0xcd, 0xc1, 0x73, 0x4c, 0x35, 0x48, 0x89, 0x73, 0x4b, + 0x91, 0x29, 0x8f, 0x44, 0x05, 0x25, 0xce, 0x79, 0xe5, 0xdf, 0x8f, 0xc2, 0xd9, 0xaa, 0x65, 0x3a, + 0x3c, 0x8f, 0xc4, 0x8d, 0x00, 0x4b, 0x13, 0x1f, 0xa1, 0x6b, 0x63, 0xb3, 0x5c, 0xe7, 0xbe, 0xf8, + 0xd6, 0xd2, 0x19, 0x66, 0xb8, 0x06, 0x29, 0xe4, 0xe1, 0x44, 0xd7, 0x4d, 0x28, 0x92, 0x85, 0x5a, + 0xb7, 0xcc, 0xaf, 0x30, 0xcf, 0x95, 0xb7, 0x3a, 0x2d, 0xde, 0xdc, 0x5b, 0x98, 0xcc, 0xa9, 0xa2, + 0x89, 0xef, 0x84, 0x70, 0x63, 0xf7, 0x87, 0x6b, 0xe2, 0x3b, 0x01, 0x5c, 0x7f, 0x47, 0x3d, 0x1e, + 0xda, 0x51, 0xbf, 0x02, 0x31, 0x62, 0x5b, 0x13, 0x27, 0x30, 0x44, 0x84, 0x21, 0xb0, 0x5c, 0x36, + 0xe0, 0x2c, 0xcf, 0x45, 0x38, 0xdb, 0xfb, 0x54, 0xdc, 0x98, 0x76, 0xe8, 0x65, 0x7c, 0x74, 0xdf, + 0x89, 0x89, 0x0b, 0x3f, 0x1b, 0x01, 0xf0, 0xf3, 0x75, 0xe8, 0x49, 0x38, 0x53, 0xd9, 0xde, 0x5a, + 0x53, 0x1b, 0xcd, 0x72, 0x73, 0xb7, 0x11, 0xfe, 0xd3, 0x2a, 0xe2, 0x92, 0x27, 0xa7, 0x87, 0x75, + 0x63, 0xdf, 0xc0, 0x2d, 0xf4, 0x28, 0xcc, 0x87, 0xa9, 0xc9, 0x53, 0x6d, 0x4d, 0x8a, 0x94, 0x72, + 0x77, 0xef, 0x2d, 0xa7, 0x59, 0x9c, 0x82, 0x5b, 0xe8, 0x3c, 0x9c, 0x1a, 0xa6, 0xab, 0x6f, 0xad, + 0x4b, 0xd1, 0x52, 0xfe, 0xee, 0xbd, 0xe5, 0x8c, 0x17, 0xd0, 0x20, 0x19, 0x50, 0x90, 0x92, 0xe3, + 0xc5, 0x4a, 0x70, 0xf7, 0xde, 0x72, 0x92, 0xcd, 0xad, 0x52, 0xfc, 0x43, 0x3f, 0xbc, 0x38, 0x73, + 0xe1, 0xeb, 0x00, 0xea, 0xe6, 0xbe, 0xad, 0xe9, 0xd4, 0xaa, 0x94, 0xe0, 0x74, 0x7d, 0xeb, 0x9a, + 0x52, 0xae, 0x36, 0xeb, 0xdb, 0x5b, 0x03, 0x7f, 0x11, 0x26, 0x5c, 0xb7, 0xb6, 0xbd, 0x5b, 0xd9, + 0xa8, 0xa9, 0x8d, 0xfa, 0xfa, 0x16, 0x3b, 0x18, 0x10, 0xaa, 0x7b, 0x65, 0xab, 0x59, 0xdf, 0xac, + 0x49, 0xd1, 0xca, 0xb5, 0xb1, 0x1b, 0x4f, 0x4f, 0x1e, 0x3b, 0x6b, 0xfd, 0xa5, 0x2e, 0xb4, 0xfb, + 0xf4, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x54, 0x93, 0x14, 0xcd, 0x65, 0xa2, 0x00, 0x00, } r := bytes.NewReader(gzipped) gzipr, err := compress_gzip.NewReader(r) From 425b8b6738c5aa2b9bbf79104f5497e05b6a43e2 Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 29 May 2023 13:50:00 +0530 Subject: [PATCH 100/106] proto --- x/distribution/keeper/hooks.go | 4 ++-- x/staking/simulation/operations.go | 2 +- x/staking/simulation/operations_test.go | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/x/distribution/keeper/hooks.go b/x/distribution/keeper/hooks.go index 8883672a8b8c..5e13d5aefa8f 100644 --- a/x/distribution/keeper/hooks.go +++ b/x/distribution/keeper/hooks.go @@ -167,12 +167,12 @@ func (h Hooks) AfterUnbondingInitiated(_ sdk.Context, _ uint64) error { } func (h Hooks) AfterConsensusPubKeyUpdate(ctx sdk.Context, _, _ cryptotypes.PubKey, rotationFee sdk.Coin) error { - feePool, err := h.k.GetFeePool(ctx) + feePool, err := h.k.FeePool.Get(ctx) if err != nil { return err } feePool.CommunityPool = feePool.CommunityPool.Add(sdk.NewDecCoinsFromCoins(rotationFee)...) - h.k.SetFeePool(ctx, feePool) + h.k.FeePool.Set(ctx, feePool) return nil } diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index 72c5cd9bbef2..0d4408e03df1 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -683,7 +683,7 @@ func SimulateMsgRotateConsPubKey(txGen client.TxConfig, ak types.AccountKeeper, valAddr := val.GetOperator() if k.CheckLimitOfMaxRotationsExceed(ctx, valAddr) { - return simtypes.NoOpMsg(types.ModuleName, msgType, "rotations limit reached within unbondin period"), nil, nil + return simtypes.NoOpMsg(types.ModuleName, msgType, "rotations limit reached within unbonding period"), nil, nil } _, found = k.GetValidatorByConsAddr(ctx, cons) diff --git a/x/staking/simulation/operations_test.go b/x/staking/simulation/operations_test.go index c901efeaec9f..317ab55f29fe 100644 --- a/x/staking/simulation/operations_test.go +++ b/x/staking/simulation/operations_test.go @@ -238,7 +238,7 @@ func (s *SimTestSuite) TestSimulateRotateConsPubKey() { _ = s.getTestingValidator2(ctx) // begin a new block - s.app.BeginBlock(abci.RequestBeginBlock{Header: cmtproto.Header{Height: s.app.LastBlockHeight() + 1, AppHash: s.app.LastCommitID().Hash, Time: blockTime}}) + s.app.FinalizeBlock(&abci.RequestFinalizeBlock{Height: s.app.LastBlockHeight() + 1, Hash: s.app.LastCommitID().Hash, Time: blockTime}) // execute operation op := simulation.SimulateMsgRotateConsPubKey(s.txConfig, s.accountKeeper, s.bankKeeper, s.stakingKeeper) From 7bf26a990b53f15de407cd39010f3860ebd4056f Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 29 May 2023 13:50:34 +0530 Subject: [PATCH 101/106] proto --- proto/cosmos/staking/v1beta1/tx.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proto/cosmos/staking/v1beta1/tx.proto b/proto/cosmos/staking/v1beta1/tx.proto index 3cec4557a38a..bfe66f424ad3 100644 --- a/proto/cosmos/staking/v1beta1/tx.proto +++ b/proto/cosmos/staking/v1beta1/tx.proto @@ -220,7 +220,7 @@ message MsgRotateConsPubKey { option (gogoproto.goproto_getters) = false; option (gogoproto.equal) = false; - string validator_address = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; + string validator_address = 2 [(cosmos_proto.scalar) = "cosmos.ValidatorAddressString"]; google.protobuf.Any new_pubkey = 3 [(cosmos_proto.accepts_interface) = "cosmos.crypto.PubKey"]; } From a0e1ba1c9615271ab20c4ab738a0d310991cedca Mon Sep 17 00:00:00 2001 From: atheeshp <59333759+atheeshp@users.noreply.github.com> Date: Mon, 29 May 2023 08:33:43 +0000 Subject: [PATCH 102/106] make proto-gen --- api/cosmos/staking/v1beta1/tx.pulsar.go | 165 ++++++++++++------------ x/staking/types/tx.pb.go | 154 +++++++++++----------- 2 files changed, 160 insertions(+), 159 deletions(-) diff --git a/api/cosmos/staking/v1beta1/tx.pulsar.go b/api/cosmos/staking/v1beta1/tx.pulsar.go index bfd2b7ce8d6b..f3d7e30fac11 100644 --- a/api/cosmos/staking/v1beta1/tx.pulsar.go +++ b/api/cosmos/staking/v1beta1/tx.pulsar.go @@ -8917,95 +8917,96 @@ var file_cosmos_staking_v1beta1_tx_proto_rawDesc = []byte{ 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xee, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x45, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, + 0x22, 0xf7, 0x01, 0x0a, 0x13, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x4e, 0x0a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x18, 0xd2, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x4d, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x42, 0x18, 0xca, 0xb4, 0x2d, 0x14, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, - 0x4b, 0x65, 0x79, 0x52, 0x09, 0x6e, 0x65, 0x77, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x3a, 0x41, - 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, 0x00, 0x82, 0xe7, 0xb0, 0x2a, 0x11, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x8a, 0xe7, - 0xb0, 0x2a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x4d, 0x73, + 0x01, 0x28, 0x09, 0x42, 0x21, 0xd2, 0xb4, 0x2d, 0x1d, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, + 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x0a, 0x6e, 0x65, 0x77, 0x5f, + 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, + 0x6e, 0x79, 0x42, 0x18, 0xca, 0xb4, 0x2d, 0x14, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x63, + 0x72, 0x79, 0x70, 0x74, 0x6f, 0x2e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x6e, 0x65, + 0x77, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x3a, 0x41, 0x88, 0xa0, 0x1f, 0x00, 0xe8, 0xa0, 0x1f, + 0x00, 0x82, 0xe7, 0xb0, 0x2a, 0x11, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x8a, 0xe7, 0xb0, 0x2a, 0x1e, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, + 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, - 0x79, 0x22, 0x1d, 0x0a, 0x1b, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, - 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x32, 0x93, 0x07, 0x0a, 0x03, 0x4d, 0x73, 0x67, 0x12, 0x71, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0d, 0x45, - 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, - 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, - 0x4d, 0x73, 0x67, 0x45, 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x08, 0x44, 0x65, 0x6c, 0x65, - 0x67, 0x61, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x93, 0x07, 0x0a, 0x03, 0x4d, 0x73, + 0x67, 0x12, 0x71, 0x0a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, - 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0f, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, - 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, - 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, - 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, + 0x67, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, + 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x0d, 0x45, 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, - 0x73, 0x67, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0a, 0x55, 0x6e, 0x64, - 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x2d, + 0x73, 0x67, 0x45, 0x64, 0x69, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x1a, + 0x30, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x45, 0x64, 0x69, 0x74, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x5c, 0x0a, 0x08, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x23, 0x2e, + 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x1a, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x44, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x71, 0x0a, 0x0f, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, + 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, + 0x65, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, - 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8f, 0x01, - 0x0a, 0x19, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x63, 0x6f, - 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, - 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, - 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x1a, 0x3c, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, - 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, - 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, - 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x68, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, - 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x42, 0x65, 0x67, 0x69, 0x6e, + 0x52, 0x65, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x62, 0x0a, 0x0a, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x12, 0x25, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, + 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x1a, 0x2d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x19, 0x43, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, + 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3c, 0x2e, 0x63, 0x6f, 0x73, + 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, + 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x6e, 0x62, + 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x27, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x10, 0x52, 0x6f, 0x74, - 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x2e, - 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, - 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x1a, 0x33, 0x2e, 0x63, 0x6f, 0x73, - 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, - 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, - 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, - 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, 0xd7, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, - 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x07, 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, - 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, - 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, - 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, - 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, - 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, 0x6b, 0x69, + 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x74, 0x0a, 0x10, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, + 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, + 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, + 0x4d, 0x73, 0x67, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, + 0x4b, 0x65, 0x79, 0x1a, 0x33, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, 0x74, 0x61, + 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x73, 0x67, + 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x05, 0x80, 0xe7, 0xb0, 0x2a, 0x01, 0x42, + 0xd7, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x63, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x2e, 0x73, + 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x07, + 0x54, 0x78, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x63, 0x6f, 0x73, 0x6d, 0x6f, + 0x73, 0x73, 0x64, 0x6b, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, + 0x31, 0xa2, 0x02, 0x03, 0x43, 0x53, 0x58, 0xaa, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, + 0x2e, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, + 0xca, 0x02, 0x16, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, + 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xe2, 0x02, 0x22, 0x43, 0x6f, 0x73, 0x6d, + 0x6f, 0x73, 0x5c, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x18, 0x43, 0x6f, 0x73, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x53, 0x74, 0x61, 0x6b, 0x69, 0x6e, 0x67, + 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( diff --git a/x/staking/types/tx.pb.go b/x/staking/types/tx.pb.go index 0cfc11aef48c..9929daa236c3 100644 --- a/x/staking/types/tx.pb.go +++ b/x/staking/types/tx.pb.go @@ -752,83 +752,83 @@ func init() { func init() { proto.RegisterFile("cosmos/staking/v1beta1/tx.proto", fileDescriptor_0926ef28816b35ab) } var fileDescriptor_0926ef28816b35ab = []byte{ - // 1210 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0xcf, 0x6f, 0x1b, 0x45, - 0x14, 0xf6, 0xda, 0x4d, 0x4a, 0xa6, 0xe4, 0xd7, 0x26, 0x69, 0x9d, 0x6d, 0x63, 0x97, 0x6d, 0x68, - 0xa2, 0x40, 0x6c, 0x9a, 0x22, 0x7e, 0x98, 0x0a, 0x35, 0x4e, 0x5a, 0x28, 0xc8, 0x28, 0xda, 0x10, - 0x0e, 0x08, 0xc9, 0x1a, 0xef, 0x4e, 0xd6, 0xab, 0x78, 0x67, 0x36, 0x3b, 0xe3, 0xb4, 0xbe, 0x21, - 0x4e, 0x80, 0x90, 0xa8, 0xc4, 0x19, 0xa9, 0xdc, 0xe0, 0x96, 0x43, 0xfe, 0x01, 0x0e, 0x48, 0x15, - 0xa7, 0x2a, 0x27, 0xc4, 0xa1, 0xa0, 0xe4, 0x90, 0x9e, 0xf8, 0x1b, 0xd0, 0xee, 0xce, 0xae, 0x77, - 0xd7, 0xf6, 0xda, 0x09, 0xf4, 0xd2, 0x4b, 0xbc, 0x99, 0xf9, 0xe6, 0x7b, 0xf3, 0xde, 0xf7, 0xde, - 0xdb, 0xb7, 0x20, 0xaf, 0x12, 0x6a, 0x12, 0x5a, 0xa4, 0x0c, 0xee, 0x18, 0x58, 0x2f, 0xee, 0xdd, - 0xa8, 0x21, 0x06, 0x6f, 0x14, 0xd9, 0x83, 0x82, 0x65, 0x13, 0x46, 0xc4, 0x8b, 0x1e, 0xa0, 0xc0, - 0x01, 0x05, 0x0e, 0x90, 0x66, 0x75, 0x42, 0xf4, 0x06, 0x2a, 0xba, 0xa8, 0x5a, 0x73, 0xbb, 0x08, - 0x71, 0xcb, 0x3b, 0x22, 0xe5, 0xe3, 0x5b, 0xcc, 0x30, 0x11, 0x65, 0xd0, 0xb4, 0x38, 0x60, 0x5a, - 0x27, 0x3a, 0x71, 0x1f, 0x8b, 0xce, 0x13, 0x5f, 0x9d, 0xf5, 0x2c, 0x55, 0xbd, 0x0d, 0x6e, 0xd6, - 0xdb, 0xca, 0xf1, 0x5b, 0xd6, 0x20, 0x45, 0xc1, 0x15, 0x55, 0x62, 0x60, 0xbe, 0x3f, 0xdf, 0xc3, - 0x0b, 0xff, 0xd2, 0x1e, 0xea, 0x12, 0x47, 0x99, 0xd4, 0x41, 0x38, 0x3f, 0x7c, 0x63, 0x12, 0x9a, - 0x06, 0x26, 0x45, 0xf7, 0xaf, 0xb7, 0x24, 0x7f, 0x37, 0x04, 0xc4, 0x0a, 0xd5, 0xd7, 0x6c, 0x04, - 0x19, 0xfa, 0x0c, 0x36, 0x0c, 0x0d, 0x32, 0x62, 0x8b, 0x1b, 0xe0, 0x82, 0x86, 0xa8, 0x6a, 0x1b, - 0x16, 0x33, 0x08, 0xce, 0x0a, 0x57, 0x85, 0xc5, 0x0b, 0x2b, 0xd7, 0x0a, 0xdd, 0x63, 0x54, 0x58, - 0x6f, 0x43, 0xcb, 0x23, 0x8f, 0x9f, 0xe6, 0x53, 0x3f, 0x9f, 0xec, 0x2f, 0x09, 0x4a, 0x98, 0x42, - 0x54, 0x00, 0x50, 0x89, 0x69, 0x1a, 0x94, 0x3a, 0x84, 0x69, 0x97, 0x70, 0xa1, 0x17, 0xe1, 0x5a, - 0x80, 0x54, 0x20, 0x43, 0x34, 0x4c, 0x1a, 0x62, 0x11, 0x77, 0xc1, 0x94, 0x69, 0xe0, 0x2a, 0x45, - 0x8d, 0xed, 0xaa, 0x86, 0x1a, 0x48, 0x87, 0xee, 0x6d, 0x33, 0x57, 0x85, 0xc5, 0x91, 0xf2, 0xaa, - 0x73, 0xe6, 0xcf, 0xa7, 0xf9, 0xeb, 0xba, 0xc1, 0xea, 0xcd, 0x5a, 0x41, 0x25, 0x26, 0x0f, 0x36, - 0xff, 0x59, 0xa6, 0xda, 0x4e, 0x91, 0xb5, 0x2c, 0x44, 0x0b, 0xf7, 0x30, 0x3b, 0x3c, 0x58, 0x06, - 0xfc, 0x36, 0xf7, 0x30, 0xf3, 0x6c, 0x4d, 0x9a, 0x06, 0xde, 0x44, 0x8d, 0xed, 0xf5, 0x80, 0x5b, - 0xfc, 0x00, 0x4c, 0x72, 0x4b, 0xc4, 0xae, 0x42, 0x4d, 0xb3, 0x11, 0xa5, 0xd9, 0x73, 0xae, 0x41, - 0xe9, 0xf0, 0x60, 0x79, 0x9a, 0x53, 0xac, 0x7a, 0x3b, 0x9b, 0xcc, 0x36, 0xb0, 0x9e, 0x15, 0x94, - 0x89, 0xe0, 0x10, 0xdf, 0x11, 0x3f, 0x01, 0x93, 0x7b, 0x7e, 0xb8, 0x03, 0xa2, 0x21, 0x97, 0xe8, - 0x95, 0xc3, 0x83, 0xe5, 0x39, 0x4e, 0x14, 0x48, 0x12, 0x61, 0x54, 0x26, 0xf6, 0x62, 0xeb, 0xe2, - 0x5d, 0x30, 0x6c, 0x35, 0x6b, 0x3b, 0xa8, 0x95, 0x1d, 0x76, 0x63, 0x3b, 0x5d, 0xf0, 0xb2, 0xb3, - 0xe0, 0x67, 0x67, 0x61, 0x15, 0xb7, 0xca, 0xd9, 0xdf, 0xdb, 0x77, 0x54, 0xed, 0x96, 0xc5, 0x48, - 0x61, 0xa3, 0x59, 0xfb, 0x18, 0xb5, 0x14, 0x7e, 0x5a, 0x2c, 0x81, 0xa1, 0x3d, 0xd8, 0x68, 0xa2, - 0xec, 0x79, 0x97, 0x66, 0xd6, 0x97, 0xc8, 0x49, 0xc9, 0x90, 0x3e, 0x46, 0x44, 0x69, 0xef, 0x48, - 0xe9, 0xf6, 0xd7, 0x8f, 0xf2, 0xa9, 0x67, 0x8f, 0xf2, 0xa9, 0xaf, 0x4e, 0xf6, 0x97, 0x3a, 0xdd, - 0xfb, 0xf6, 0x64, 0x7f, 0x69, 0x2e, 0x14, 0xfb, 0xce, 0xbc, 0x93, 0xaf, 0x00, 0xa9, 0x73, 0x55, - 0x41, 0xd4, 0x22, 0x98, 0x22, 0xf9, 0xd7, 0x0c, 0x98, 0xa8, 0x50, 0xfd, 0x8e, 0x66, 0xb0, 0xe7, - 0x99, 0xaa, 0x5d, 0xa5, 0x49, 0x9f, 0x5d, 0x1a, 0x08, 0xc6, 0xdb, 0x49, 0x5b, 0xb5, 0x21, 0x43, - 0x3c, 0x45, 0xdf, 0x19, 0x30, 0x3d, 0xd7, 0x91, 0x1a, 0x4a, 0xcf, 0x75, 0xa4, 0x2a, 0x63, 0x6a, - 0xa4, 0x42, 0xc4, 0x7a, 0xf7, 0x4a, 0x38, 0x77, 0x2a, 0x33, 0x1d, 0x55, 0xd0, 0xa5, 0x00, 0x4a, - 0xef, 0xf7, 0xd7, 0xf8, 0x72, 0x54, 0xe3, 0x88, 0x5c, 0xb2, 0x04, 0xb2, 0xf1, 0xb5, 0x40, 0xdf, - 0x1f, 0xd3, 0xe0, 0x42, 0x85, 0xea, 0xdc, 0x1a, 0x12, 0xef, 0x74, 0x2b, 0x36, 0xc1, 0xf5, 0x29, - 0xdb, 0xab, 0xd8, 0x06, 0x2d, 0xb5, 0xff, 0xa0, 0xe7, 0x2d, 0x30, 0x0c, 0x4d, 0xd2, 0xc4, 0xcc, - 0x95, 0x71, 0xd0, 0x1a, 0xe1, 0x67, 0x4a, 0xef, 0x46, 0x02, 0xd8, 0xe1, 0x9f, 0x13, 0xc0, 0x8b, - 0xd1, 0x00, 0xfa, 0xf1, 0x90, 0x67, 0xc0, 0x54, 0xe8, 0xdf, 0x20, 0x6c, 0xdf, 0x64, 0xdc, 0x1e, - 0x5e, 0x46, 0xba, 0x81, 0x15, 0xa4, 0xfd, 0xcf, 0xd1, 0xdb, 0x02, 0x33, 0xed, 0xe8, 0x51, 0x5b, - 0x3d, 0x7d, 0x04, 0xa7, 0x82, 0xf3, 0x9b, 0xb6, 0xda, 0x95, 0x56, 0xa3, 0x2c, 0xa0, 0xcd, 0x9c, - 0x9e, 0x76, 0x9d, 0xb2, 0x4e, 0x6d, 0xce, 0x9d, 0x41, 0x9b, 0xdb, 0xfd, 0xb5, 0x89, 0x35, 0xb0, - 0x58, 0xd0, 0x65, 0xcb, 0x6d, 0x60, 0xb1, 0x55, 0x5f, 0x29, 0x51, 0x71, 0x3b, 0x81, 0xd5, 0x40, - 0x4e, 0x29, 0x55, 0x9d, 0x71, 0x81, 0xf7, 0x2b, 0xa9, 0xa3, 0x5b, 0x7f, 0xea, 0xcf, 0x12, 0xe5, - 0x51, 0xe7, 0x9e, 0x0f, 0xff, 0xca, 0x0b, 0xde, 0x5d, 0xc7, 0xda, 0x0c, 0x0e, 0x46, 0xfe, 0x29, - 0x0d, 0x46, 0x2b, 0x54, 0xdf, 0xc2, 0xda, 0x0b, 0x5d, 0x36, 0xef, 0xf5, 0x97, 0x26, 0x1b, 0x95, - 0xa6, 0x1d, 0x11, 0xf9, 0x17, 0x01, 0xcc, 0x44, 0x56, 0x9e, 0xa7, 0x22, 0x21, 0x47, 0xd3, 0xa7, - 0x77, 0x54, 0x7e, 0x96, 0x06, 0x57, 0x9c, 0x77, 0x20, 0xc4, 0x2a, 0x6a, 0x6c, 0xe1, 0x1a, 0xc1, - 0x9a, 0x81, 0xf5, 0xd0, 0x08, 0xf2, 0x22, 0xca, 0x2b, 0x2e, 0x80, 0x71, 0xd5, 0x79, 0xeb, 0x3b, - 0x2a, 0xd4, 0x91, 0xa1, 0xd7, 0xbd, 0x02, 0xce, 0x28, 0x63, 0xfe, 0xf2, 0x87, 0xee, 0x6a, 0xe9, - 0xa3, 0xfe, 0x79, 0xb0, 0x10, 0x9b, 0x31, 0x7a, 0x45, 0x52, 0xbe, 0x0e, 0xe6, 0x93, 0xf6, 0x83, - 0x06, 0xfb, 0x9b, 0x00, 0xc6, 0x9d, 0xf4, 0xb1, 0x34, 0xc8, 0xd0, 0x06, 0xb4, 0xa1, 0x49, 0xc5, - 0xb7, 0xc0, 0x08, 0x6c, 0xb2, 0x3a, 0xb1, 0x0d, 0xd6, 0xea, 0x1b, 0xfd, 0x36, 0x54, 0x5c, 0x05, - 0xc3, 0x96, 0xcb, 0xc0, 0x93, 0x23, 0xd7, 0x6b, 0x52, 0xf1, 0xec, 0x44, 0x62, 0xe5, 0x1d, 0x2c, - 0xbd, 0xed, 0xb8, 0xde, 0xa6, 0x74, 0x5c, 0x9e, 0x0f, 0xb9, 0xfc, 0x20, 0xf8, 0x3c, 0x88, 0xdd, - 0x59, 0x9e, 0x05, 0x97, 0x62, 0x4b, 0x81, 0x8b, 0xff, 0x08, 0xee, 0xbb, 0x45, 0x21, 0x0c, 0x32, - 0xb4, 0x46, 0x30, 0xf5, 0xc6, 0x42, 0x27, 0xd9, 0x7a, 0x65, 0x49, 0x42, 0xb2, 0x75, 0x24, 0x47, - 0x05, 0x00, 0x8c, 0xee, 0x57, 0xf9, 0x84, 0x9a, 0x39, 0xd3, 0x84, 0x3a, 0x82, 0xd1, 0xfd, 0x0d, - 0x97, 0xa0, 0xb4, 0xda, 0x7f, 0x08, 0xc9, 0x45, 0x93, 0x20, 0xee, 0x98, 0x3c, 0x07, 0x2e, 0x77, - 0x59, 0xf6, 0xe3, 0xb1, 0xf2, 0xc3, 0x79, 0x90, 0xa9, 0x50, 0x5d, 0xdc, 0x05, 0xe3, 0xf1, 0x6f, - 0xa3, 0xa5, 0x5e, 0x8a, 0x75, 0x4e, 0xae, 0xd2, 0xca, 0xe0, 0xd8, 0xa0, 0x25, 0xed, 0x80, 0xd1, - 0xe8, 0x84, 0xbb, 0x98, 0x40, 0x12, 0x41, 0x4a, 0x6f, 0x0c, 0x8a, 0x0c, 0x8c, 0x7d, 0x01, 0x5e, - 0x0a, 0xc6, 0xad, 0x6b, 0x09, 0xa7, 0x7d, 0x90, 0xf4, 0xda, 0x00, 0xa0, 0x80, 0x7d, 0x17, 0x8c, - 0xc7, 0xa7, 0x92, 0xa4, 0xe8, 0xc5, 0xb0, 0x89, 0xd1, 0xeb, 0xf5, 0x8a, 0xad, 0x01, 0x10, 0x7a, - 0x15, 0xbe, 0x9a, 0xc0, 0xd0, 0x86, 0x49, 0xcb, 0x03, 0xc1, 0x02, 0x1b, 0xdf, 0x0b, 0x60, 0xb6, - 0x77, 0x7f, 0x7e, 0x33, 0x49, 0xf3, 0x5e, 0xa7, 0xa4, 0x5b, 0x67, 0x39, 0x15, 0xdc, 0xa8, 0x0e, - 0x5e, 0x8e, 0x74, 0xa7, 0x85, 0x24, 0x87, 0x42, 0x40, 0xa9, 0x38, 0x20, 0x30, 0xb0, 0xc4, 0xc0, - 0x44, 0x47, 0x93, 0x48, 0xca, 0x89, 0x38, 0x58, 0xba, 0x79, 0x0a, 0xb0, 0x6f, 0x55, 0x1a, 0xfa, - 0xd2, 0xe9, 0x80, 0xe5, 0xbb, 0x8f, 0x8f, 0x72, 0xc2, 0x93, 0xa3, 0x9c, 0xf0, 0xf7, 0x51, 0x4e, - 0x78, 0x78, 0x9c, 0x4b, 0x3d, 0x39, 0xce, 0xa5, 0xfe, 0x38, 0xce, 0xa5, 0x3e, 0x7f, 0x3d, 0xf1, - 0xfb, 0xa6, 0xdd, 0x12, 0xdd, 0x2f, 0x9d, 0xda, 0xb0, 0xdb, 0x72, 0x6e, 0xfe, 0x1b, 0x00, 0x00, - 0xff, 0xff, 0x3f, 0x88, 0x33, 0x3f, 0x16, 0x12, 0x00, 0x00, + // 1204 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0xcf, 0x6f, 0xdc, 0xc4, + 0x17, 0x5f, 0xef, 0x36, 0xe9, 0x37, 0xd3, 0x6f, 0x7e, 0x39, 0x49, 0xbb, 0x71, 0x9b, 0xdd, 0xe2, + 0x86, 0x26, 0x0a, 0xc4, 0x4b, 0x53, 0xc4, 0x8f, 0xa5, 0x42, 0xcd, 0x26, 0x2d, 0x14, 0xb4, 0x28, + 0x72, 0x08, 0x07, 0x84, 0xb4, 0x9a, 0xb5, 0x27, 0x5e, 0x2b, 0xeb, 0x19, 0xc7, 0x33, 0x9b, 0x76, + 0x6f, 0x88, 0x13, 0x20, 0x24, 0x2a, 0x71, 0x46, 0x2a, 0x37, 0xb8, 0xe5, 0x90, 0x7f, 0x80, 0x03, + 0x52, 0xc5, 0xa9, 0xca, 0x09, 0x71, 0x28, 0x28, 0x39, 0xa4, 0xff, 0x01, 0x57, 0x64, 0x7b, 0xec, + 0xb5, 0xbd, 0x3f, 0x13, 0xda, 0x4b, 0x2f, 0x59, 0x67, 0xe6, 0x33, 0x9f, 0x37, 0xef, 0x7d, 0xde, + 0x7b, 0x7e, 0x06, 0x79, 0x8d, 0x50, 0x8b, 0xd0, 0x02, 0x65, 0x70, 0xc7, 0xc4, 0x46, 0x61, 0xef, + 0x46, 0x15, 0x31, 0x78, 0xa3, 0xc0, 0x1e, 0x28, 0xb6, 0x43, 0x18, 0x11, 0x2f, 0xfa, 0x00, 0x85, + 0x03, 0x14, 0x0e, 0x90, 0x66, 0x0d, 0x42, 0x8c, 0x3a, 0x2a, 0x78, 0xa8, 0x6a, 0x63, 0xbb, 0x00, + 0x71, 0xd3, 0x3f, 0x22, 0xe5, 0x93, 0x5b, 0xcc, 0xb4, 0x10, 0x65, 0xd0, 0xb2, 0x39, 0x60, 0xda, + 0x20, 0x06, 0xf1, 0x1e, 0x0b, 0xee, 0x13, 0x5f, 0x9d, 0xf5, 0x2d, 0x55, 0xfc, 0x0d, 0x6e, 0xd6, + 0xdf, 0xca, 0xf1, 0x5b, 0x56, 0x21, 0x45, 0xe1, 0x15, 0x35, 0x62, 0x62, 0xbe, 0x3f, 0xdf, 0xc5, + 0x8b, 0xe0, 0xd2, 0x3e, 0xea, 0x12, 0x47, 0x59, 0xd4, 0x45, 0xb8, 0x3f, 0x7c, 0x63, 0x12, 0x5a, + 0x26, 0x26, 0x05, 0xef, 0xaf, 0xbf, 0x24, 0x7f, 0x37, 0x04, 0xc4, 0x32, 0x35, 0xd6, 0x1c, 0x04, + 0x19, 0xfa, 0x0c, 0xd6, 0x4d, 0x1d, 0x32, 0xe2, 0x88, 0x1b, 0xe0, 0x82, 0x8e, 0xa8, 0xe6, 0x98, + 0x36, 0x33, 0x09, 0xce, 0x0a, 0x57, 0x85, 0xc5, 0x0b, 0x2b, 0xd7, 0x94, 0xce, 0x31, 0x52, 0xd6, + 0x5b, 0xd0, 0xd2, 0xc8, 0xe3, 0xa7, 0xf9, 0xd4, 0xcf, 0x27, 0xfb, 0x4b, 0x82, 0x1a, 0xa5, 0x10, + 0x55, 0x00, 0x34, 0x62, 0x59, 0x26, 0xa5, 0x2e, 0x61, 0xda, 0x23, 0x5c, 0xe8, 0x46, 0xb8, 0x16, + 0x22, 0x55, 0xc8, 0x10, 0x8d, 0x92, 0x46, 0x58, 0xc4, 0x5d, 0x30, 0x65, 0x99, 0xb8, 0x42, 0x51, + 0x7d, 0xbb, 0xa2, 0xa3, 0x3a, 0x32, 0xa0, 0x77, 0xdb, 0xcc, 0x55, 0x61, 0x71, 0xa4, 0xb4, 0xea, + 0x9e, 0xf9, 0xf3, 0x69, 0xfe, 0xba, 0x61, 0xb2, 0x5a, 0xa3, 0xaa, 0x68, 0xc4, 0xe2, 0xc1, 0xe6, + 0x3f, 0xcb, 0x54, 0xdf, 0x29, 0xb0, 0xa6, 0x8d, 0xa8, 0x72, 0x0f, 0xb3, 0xc3, 0x83, 0x65, 0xc0, + 0x6f, 0x73, 0x0f, 0x33, 0xdf, 0xd6, 0xa4, 0x65, 0xe2, 0x4d, 0x54, 0xdf, 0x5e, 0x0f, 0xb9, 0xc5, + 0x0f, 0xc0, 0x24, 0xb7, 0x44, 0x9c, 0x0a, 0xd4, 0x75, 0x07, 0x51, 0x9a, 0x3d, 0xe7, 0x19, 0x94, + 0x0e, 0x0f, 0x96, 0xa7, 0x39, 0xc5, 0xaa, 0xbf, 0xb3, 0xc9, 0x1c, 0x13, 0x1b, 0x59, 0x41, 0x9d, + 0x08, 0x0f, 0xf1, 0x1d, 0xf1, 0x13, 0x30, 0xb9, 0x17, 0x84, 0x3b, 0x24, 0x1a, 0xf2, 0x88, 0x5e, + 0x39, 0x3c, 0x58, 0x9e, 0xe3, 0x44, 0xa1, 0x24, 0x31, 0x46, 0x75, 0x62, 0x2f, 0xb1, 0x2e, 0xde, + 0x05, 0xc3, 0x76, 0xa3, 0xba, 0x83, 0x9a, 0xd9, 0x61, 0x2f, 0xb6, 0xd3, 0x8a, 0x9f, 0x9d, 0x4a, + 0x90, 0x9d, 0xca, 0x2a, 0x6e, 0x96, 0xb2, 0xbf, 0xb7, 0xee, 0xa8, 0x39, 0x4d, 0x9b, 0x11, 0x65, + 0xa3, 0x51, 0xfd, 0x18, 0x35, 0x55, 0x7e, 0x5a, 0x2c, 0x82, 0xa1, 0x3d, 0x58, 0x6f, 0xa0, 0xec, + 0x79, 0x8f, 0x66, 0x36, 0x90, 0xc8, 0x4d, 0xc9, 0x88, 0x3e, 0x66, 0x4c, 0x69, 0xff, 0x48, 0xf1, + 0xf6, 0xd7, 0x8f, 0xf2, 0xa9, 0x67, 0x8f, 0xf2, 0xa9, 0xaf, 0x4e, 0xf6, 0x97, 0xda, 0xdd, 0xfb, + 0xf6, 0x64, 0x7f, 0x69, 0x2e, 0x12, 0xfb, 0xf6, 0xbc, 0x93, 0xaf, 0x00, 0xa9, 0x7d, 0x55, 0x45, + 0xd4, 0x26, 0x98, 0x22, 0xf9, 0xd7, 0x0c, 0x98, 0x28, 0x53, 0xe3, 0x8e, 0x6e, 0xb2, 0x17, 0x99, + 0xaa, 0x1d, 0xa5, 0x49, 0x9f, 0x5d, 0x1a, 0x08, 0xc6, 0x5b, 0x49, 0x5b, 0x71, 0x20, 0x43, 0x3c, + 0x45, 0xdf, 0x19, 0x30, 0x3d, 0xd7, 0x91, 0x16, 0x49, 0xcf, 0x75, 0xa4, 0xa9, 0x63, 0x5a, 0xac, + 0x42, 0xc4, 0x5a, 0xe7, 0x4a, 0x38, 0x77, 0x2a, 0x33, 0x6d, 0x55, 0xd0, 0xa1, 0x00, 0x8a, 0xef, + 0xf7, 0xd7, 0xf8, 0x72, 0x5c, 0xe3, 0x98, 0x5c, 0xb2, 0x04, 0xb2, 0xc9, 0xb5, 0x50, 0xdf, 0x1f, + 0xd3, 0xe0, 0x42, 0x99, 0x1a, 0xdc, 0x1a, 0x12, 0xef, 0x74, 0x2a, 0x36, 0xc1, 0xf3, 0x29, 0xdb, + 0xad, 0xd8, 0x06, 0x2d, 0xb5, 0xff, 0xa0, 0xe7, 0x2d, 0x30, 0x0c, 0x2d, 0xd2, 0xc0, 0xcc, 0x93, + 0x71, 0xd0, 0x1a, 0xe1, 0x67, 0x8a, 0xef, 0xc6, 0x02, 0xd8, 0xe6, 0x9f, 0x1b, 0xc0, 0x8b, 0xf1, + 0x00, 0x06, 0xf1, 0x90, 0x67, 0xc0, 0x54, 0xe4, 0xdf, 0x30, 0x6c, 0xdf, 0x64, 0xbc, 0x1e, 0x5e, + 0x42, 0x86, 0x89, 0x55, 0xa4, 0x3f, 0xe7, 0xe8, 0x6d, 0x81, 0x99, 0x56, 0xf4, 0xa8, 0xa3, 0x9d, + 0x3e, 0x82, 0x53, 0xe1, 0xf9, 0x4d, 0x47, 0xeb, 0x48, 0xab, 0x53, 0x16, 0xd2, 0x66, 0x4e, 0x4f, + 0xbb, 0x4e, 0x59, 0xbb, 0x36, 0xe7, 0xce, 0xa0, 0xcd, 0xed, 0xfe, 0xda, 0x24, 0x1a, 0x58, 0x22, + 0xe8, 0xb2, 0xed, 0x35, 0xb0, 0xc4, 0x6a, 0xa0, 0x94, 0xa8, 0x7a, 0x9d, 0xc0, 0xae, 0x23, 0xb7, + 0x94, 0x2a, 0xee, 0xb8, 0xc0, 0xfb, 0x95, 0xd4, 0xd6, 0xad, 0x3f, 0x0d, 0x66, 0x89, 0xd2, 0xa8, + 0x7b, 0xcf, 0x87, 0x7f, 0xe5, 0x05, 0xff, 0xae, 0x63, 0x2d, 0x06, 0x17, 0x23, 0xff, 0x94, 0x06, + 0xa3, 0x65, 0x6a, 0x6c, 0x61, 0xfd, 0xa5, 0x2e, 0x9b, 0xf7, 0xfa, 0x4b, 0x93, 0x8d, 0x4b, 0xd3, + 0x8a, 0x88, 0xfc, 0x8b, 0x00, 0x66, 0x62, 0x2b, 0x2f, 0x52, 0x91, 0x88, 0xa3, 0xe9, 0xd3, 0x3b, + 0x2a, 0x3f, 0x4b, 0x83, 0x2b, 0xee, 0x3b, 0x10, 0x62, 0x0d, 0xd5, 0xb7, 0x70, 0x95, 0x60, 0xdd, + 0xc4, 0x46, 0x64, 0x04, 0x79, 0x19, 0xe5, 0x15, 0x17, 0xc0, 0xb8, 0xe6, 0xbe, 0xf5, 0x5d, 0x15, + 0x6a, 0xc8, 0x34, 0x6a, 0x7e, 0x01, 0x67, 0xd4, 0xb1, 0x60, 0xf9, 0x43, 0x6f, 0xb5, 0xf8, 0x51, + 0xff, 0x3c, 0x58, 0x48, 0xcc, 0x18, 0xdd, 0x22, 0x29, 0x5f, 0x07, 0xf3, 0xbd, 0xf6, 0xc3, 0x06, + 0xfb, 0x9b, 0x00, 0xc6, 0xdd, 0xf4, 0xb1, 0x75, 0xc8, 0xd0, 0x06, 0x74, 0xa0, 0x45, 0xc5, 0xb7, + 0xc0, 0x08, 0x6c, 0xb0, 0x1a, 0x71, 0x4c, 0xd6, 0xec, 0x1b, 0xfd, 0x16, 0x54, 0x5c, 0x05, 0xc3, + 0xb6, 0xc7, 0xc0, 0x93, 0x23, 0xd7, 0x6d, 0x52, 0xf1, 0xed, 0xc4, 0x62, 0xe5, 0x1f, 0x2c, 0xbe, + 0xed, 0xba, 0xde, 0xa2, 0x74, 0x5d, 0x9e, 0x8f, 0xb8, 0xfc, 0x20, 0xfc, 0x3c, 0x48, 0xdc, 0x59, + 0x9e, 0x05, 0x97, 0x12, 0x4b, 0xa1, 0x8b, 0xff, 0x08, 0xde, 0xbb, 0x45, 0x25, 0x0c, 0x32, 0xb4, + 0x46, 0x30, 0xf5, 0xc7, 0xc2, 0xe7, 0x9e, 0x25, 0x65, 0x00, 0x30, 0xba, 0x5f, 0xe1, 0xa3, 0x6a, + 0xe6, 0x4c, 0xa3, 0xea, 0x08, 0x46, 0xf7, 0x37, 0x3c, 0x82, 0xe2, 0x6a, 0xff, 0x69, 0x24, 0x17, + 0xcf, 0x86, 0xa4, 0x87, 0xf2, 0x1c, 0xb8, 0xdc, 0x61, 0x39, 0x08, 0xcc, 0xca, 0x0f, 0xe7, 0x41, + 0xa6, 0x4c, 0x0d, 0x71, 0x17, 0x8c, 0x27, 0x3f, 0x92, 0x96, 0xba, 0x49, 0xd7, 0x3e, 0xc2, 0x4a, + 0x2b, 0x83, 0x63, 0xc3, 0xde, 0xb4, 0x03, 0x46, 0xe3, 0xa3, 0xee, 0x62, 0x0f, 0x92, 0x18, 0x52, + 0x7a, 0x63, 0x50, 0x64, 0x68, 0xec, 0x0b, 0xf0, 0xbf, 0x70, 0xee, 0xba, 0xd6, 0xe3, 0x74, 0x00, + 0x92, 0x5e, 0x1b, 0x00, 0x14, 0xb2, 0xef, 0x82, 0xf1, 0xe4, 0x78, 0xd2, 0x2b, 0x7a, 0x09, 0x6c, + 0xcf, 0xe8, 0x75, 0x7b, 0xd7, 0x56, 0x01, 0x88, 0xbc, 0x13, 0x5f, 0xed, 0xc1, 0xd0, 0x82, 0x49, + 0xcb, 0x03, 0xc1, 0x42, 0x1b, 0xdf, 0x0b, 0x60, 0xb6, 0x7b, 0xa3, 0x7e, 0xb3, 0x97, 0xe6, 0xdd, + 0x4e, 0x49, 0xb7, 0xce, 0x72, 0x2a, 0xbc, 0x51, 0x0d, 0xfc, 0x3f, 0xd6, 0xa6, 0x16, 0x7a, 0x39, + 0x14, 0x01, 0x4a, 0x85, 0x01, 0x81, 0xa1, 0x25, 0x06, 0x26, 0xda, 0xba, 0x45, 0xaf, 0x9c, 0x48, + 0x82, 0xa5, 0x9b, 0xa7, 0x00, 0x07, 0x56, 0xa5, 0xa1, 0x2f, 0xdd, 0x56, 0x58, 0xba, 0xfb, 0xf8, + 0x28, 0x27, 0x3c, 0x39, 0xca, 0x09, 0x7f, 0x1f, 0xe5, 0x84, 0x87, 0xc7, 0xb9, 0xd4, 0x93, 0xe3, + 0x5c, 0xea, 0x8f, 0xe3, 0x5c, 0xea, 0xf3, 0xd7, 0x7b, 0x7e, 0xe8, 0xb4, 0x7a, 0xa3, 0xf7, 0xc9, + 0x53, 0x1d, 0xf6, 0x5a, 0xce, 0xcd, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x65, 0xc4, 0xd1, 0x56, + 0x1f, 0x12, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. From 243d00240abd15f8ab24fca6268979bdf6c1514a Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 29 May 2023 14:30:04 +0530 Subject: [PATCH 103/106] fix test --- tests/integration/evidence/keeper/infraction_test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/integration/evidence/keeper/infraction_test.go b/tests/integration/evidence/keeper/infraction_test.go index f47d9325ecdf..a0df4bfd37a7 100644 --- a/tests/integration/evidence/keeper/infraction_test.go +++ b/tests/integration/evidence/keeper/infraction_test.go @@ -127,7 +127,7 @@ func initFixture(t testing.TB) *fixture { distrKeeper := distrkeeper.NewKeeper( cdc, runtime.NewKVStoreService(keys[distrtypes.StoreKey]), accountKeeper, bankKeeper, stakingKeeper, distrtypes.ModuleName, authority.String(), ) - distrKeeper.SetFeePool(newCtx, distrtypes.FeePool{ + distrKeeper.FeePool.Set(newCtx, distrtypes.FeePool{ CommunityPool: sdk.NewDecCoins(sdk.DecCoin{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(0)}), }) @@ -287,12 +287,12 @@ func TestHandleDoubleSignAfterRotation(t *testing.T) { assert.NilError(t, err) // handle a signature to set signing info - f.slashingKeeper.HandleValidatorSignature(ctx, NewPubkey.Address(), selfDelegation.Int64(), true) + f.slashingKeeper.HandleValidatorSignature(ctx, NewPubkey.Address(), selfDelegation.Int64(), comet.BlockIDFlagCommit) // double sign less than max age oldTokens := f.stakingKeeper.Validator(ctx, operatorAddr).GetTokens() - nci := NewCometInfo(abci.RequestBeginBlock{ - ByzantineValidators: []abci.Misbehavior{{ + nci := NewCometInfo(abci.RequestFinalizeBlock{ + Misbehavior: []abci.Misbehavior{{ Validator: abci.Validator{Address: val.Address(), Power: power}, Type: abci.MisbehaviorType_DUPLICATE_VOTE, Time: time.Unix(0, 0), From da1ac9df795c0e54f61756fb48c8ca874a074076 Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 29 May 2023 18:00:13 +0530 Subject: [PATCH 104/106] review changes --- x/auth/ante/testutil/expected_keepers_mocks.go | 15 +++++++++++++++ x/distribution/keeper/allocation.go | 4 ---- .../testutil/expected_keepers_mocks.go | 14 -------------- x/distribution/types/expected_keepers.go | 2 -- x/evidence/keeper/infraction.go | 16 ++++++++-------- x/evidence/testutil/expected_keepers_mocks.go | 14 -------------- x/evidence/types/expected_keepers.go | 1 - x/slashing/keeper/keeper.go | 7 ------- x/slashing/keeper/signing_info.go | 3 --- x/slashing/testutil/expected_keepers_mocks.go | 12 ------------ x/slashing/types/expected_keepers.go | 1 - x/staking/keeper/cons_pubkey.go | 9 ++++++--- x/staking/keeper/validator.go | 6 +++++- x/staking/simulation/operations.go | 6 +----- 14 files changed, 35 insertions(+), 75 deletions(-) diff --git a/x/auth/ante/testutil/expected_keepers_mocks.go b/x/auth/ante/testutil/expected_keepers_mocks.go index 1302bd240b83..f6c54d54179d 100644 --- a/x/auth/ante/testutil/expected_keepers_mocks.go +++ b/x/auth/ante/testutil/expected_keepers_mocks.go @@ -8,6 +8,7 @@ import ( context "context" reflect "reflect" + address "cosmossdk.io/core/address" types "github.com/cosmos/cosmos-sdk/types" types0 "github.com/cosmos/cosmos-sdk/x/auth/types" gomock "github.com/golang/mock/gomock" @@ -36,6 +37,20 @@ func (m *MockAccountKeeper) EXPECT() *MockAccountKeeperMockRecorder { return m.recorder } +// AddressCodec mocks base method. +func (m *MockAccountKeeper) AddressCodec() address.Codec { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "AddressCodec") + ret0, _ := ret[0].(address.Codec) + return ret0 +} + +// AddressCodec indicates an expected call of AddressCodec. +func (mr *MockAccountKeeperMockRecorder) AddressCodec() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddressCodec", reflect.TypeOf((*MockAccountKeeper)(nil).AddressCodec)) +} + // GetAccount mocks base method. func (m *MockAccountKeeper) GetAccount(ctx context.Context, addr types.AccAddress) types.AccountI { m.ctrl.T.Helper() diff --git a/x/distribution/keeper/allocation.go b/x/distribution/keeper/allocation.go index 30c9fe943d34..fce0cfefc24a 100644 --- a/x/distribution/keeper/allocation.go +++ b/x/distribution/keeper/allocation.go @@ -57,10 +57,6 @@ func (k Keeper) AllocateTokens(ctx context.Context, totalPreviousPower int64, bo // Ref: https://github.com/cosmos/cosmos-sdk/pull/3099#discussion_r246276376 for _, vote := range bondedVotes { validator := k.stakingKeeper.ValidatorByConsAddr(sdkCtx, vote.Validator.Address) - if validator == nil { - newConsKey := k.stakingKeeper.GetMappedConsKey(sdkCtx, vote.Validator.Address) - validator = k.stakingKeeper.ValidatorByConsAddr(sdkCtx, newConsKey) - } // TODO: Consider micro-slashing for missing votes. // diff --git a/x/distribution/testutil/expected_keepers_mocks.go b/x/distribution/testutil/expected_keepers_mocks.go index 562b7ed57ef5..c4d2ab9eea77 100644 --- a/x/distribution/testutil/expected_keepers_mocks.go +++ b/x/distribution/testutil/expected_keepers_mocks.go @@ -291,20 +291,6 @@ func (mr *MockStakingKeeperMockRecorder) GetAllValidators(ctx interface{}) *gomo return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAllValidators", reflect.TypeOf((*MockStakingKeeper)(nil).GetAllValidators), ctx) } -// GetMappedConsKey mocks base method. -func (m *MockStakingKeeper) GetMappedConsKey(ctx types.Context, consAddr types.ConsAddress) types.ConsAddress { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetMappedConsKey", ctx, consAddr) - ret0, _ := ret[0].(types.ConsAddress) - return ret0 -} - -// GetMappedConsKey indicates an expected call of GetMappedConsKey. -func (mr *MockStakingKeeperMockRecorder) GetMappedConsKey(ctx, consAddr interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMappedConsKey", reflect.TypeOf((*MockStakingKeeper)(nil).GetMappedConsKey), ctx, consAddr) -} - // IterateDelegations mocks base method. func (m *MockStakingKeeper) IterateDelegations(ctx types.Context, delegator types.AccAddress, fn func(int64, types0.DelegationI) bool) { m.ctrl.T.Helper() diff --git a/x/distribution/types/expected_keepers.go b/x/distribution/types/expected_keepers.go index b43c25d649b9..fde51dc75169 100644 --- a/x/distribution/types/expected_keepers.go +++ b/x/distribution/types/expected_keepers.go @@ -51,8 +51,6 @@ type StakingKeeper interface { GetAllSDKDelegations(ctx sdk.Context) []stakingtypes.Delegation GetAllValidators(ctx sdk.Context) (validators []stakingtypes.Validator) GetAllDelegatorDelegations(ctx sdk.Context, delegator sdk.AccAddress) []stakingtypes.Delegation - - GetMappedConsKey(ctx sdk.Context, consAddr sdk.ConsAddress) sdk.ConsAddress } // StakingHooks event hooks for staking validator object (noalias) diff --git a/x/evidence/keeper/infraction.go b/x/evidence/keeper/infraction.go index a9d0b83e0588..9e7a669f4c1f 100644 --- a/x/evidence/keeper/infraction.go +++ b/x/evidence/keeper/infraction.go @@ -30,14 +30,6 @@ func (k Keeper) handleEquivocationEvidence(ctx context.Context, evidence *types. logger := k.Logger(sdkCtx) consAddr := evidence.GetConsensusAddress() - if val := k.stakingKeeper.ValidatorByConsAddr(sdkCtx, consAddr.Bytes()); val == nil { - newConsAddr := k.stakingKeeper.GetMappedConsKey(sdkCtx, consAddr.Bytes()) - if newConsAddr != nil { - // take the rotated key - consAddr = newConsAddr - } - } - validator := k.stakingKeeper.ValidatorByConsAddr(sdkCtx, consAddr) if validator == nil || validator.IsUnbonded() { // Defensive: Simulation doesn't take unbonding periods into account, and @@ -46,6 +38,14 @@ func (k Keeper) handleEquivocationEvidence(ctx context.Context, evidence *types. } if !validator.GetOperator().Empty() { + + // get the consAddr again, this is because validator might've rotated it's key. + valConsAddr, err := validator.GetConsAddr() + if err != nil { + panic(err) + } + consAddr = valConsAddr + if _, err := k.slashingKeeper.GetPubkey(sdkCtx, consAddr.Bytes()); err != nil { // Ignore evidence that cannot be handled. // diff --git a/x/evidence/testutil/expected_keepers_mocks.go b/x/evidence/testutil/expected_keepers_mocks.go index 965d9f8c5343..98b450424047 100644 --- a/x/evidence/testutil/expected_keepers_mocks.go +++ b/x/evidence/testutil/expected_keepers_mocks.go @@ -40,20 +40,6 @@ func (m *MockStakingKeeper) EXPECT() *MockStakingKeeperMockRecorder { return m.recorder } -// GetMappedConsKey mocks base method. -func (m *MockStakingKeeper) GetMappedConsKey(ctx types0.Context, consAddr types0.ConsAddress) types0.ConsAddress { - m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "GetMappedConsKey", ctx, consAddr) - ret0, _ := ret[0].(types0.ConsAddress) - return ret0 -} - -// GetMappedConsKey indicates an expected call of GetMappedConsKey. -func (mr *MockStakingKeeperMockRecorder) GetMappedConsKey(ctx, consAddr interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetMappedConsKey", reflect.TypeOf((*MockStakingKeeper)(nil).GetMappedConsKey), ctx, consAddr) -} - // GetParams mocks base method. func (m *MockStakingKeeper) GetParams(ctx types0.Context) types1.Params { m.ctrl.T.Helper() diff --git a/x/evidence/types/expected_keepers.go b/x/evidence/types/expected_keepers.go index c3f23ec96f9f..3405c5ed8bd5 100644 --- a/x/evidence/types/expected_keepers.go +++ b/x/evidence/types/expected_keepers.go @@ -18,7 +18,6 @@ type ( StakingKeeper interface { ValidatorByConsAddr(sdk.Context, sdk.ConsAddress) stakingtypes.ValidatorI GetParams(ctx sdk.Context) (params stakingtypes.Params) - GetMappedConsKey(ctx sdk.Context, consAddr sdk.ConsAddress) sdk.ConsAddress } // SlashingKeeper defines the slashing module interface contract needed by the diff --git a/x/slashing/keeper/keeper.go b/x/slashing/keeper/keeper.go index 44e5fad2dcd1..92e810eebd41 100644 --- a/x/slashing/keeper/keeper.go +++ b/x/slashing/keeper/keeper.go @@ -71,13 +71,6 @@ func (k Keeper) GetPubkey(ctx sdk.Context, a cryptotypes.Address) (cryptotypes.P return pk, k.cdc.UnmarshalInterface(bz, &pk) } -// GetMappedPubkey returns the pubkey from the adddress-pubkey relation of rotated consensus key -func (k Keeper) GetMappedPubkey(ctx sdk.Context, a cryptotypes.Address) (sdk.ConsAddress, cryptotypes.PubKey, error) { - newConsAddr := k.sk.GetMappedConsKey(ctx, a.Bytes()) - pk, err := k.GetPubkey(ctx, newConsAddr.Bytes()) - return newConsAddr, pk, err -} - // Slash attempts to slash a validator. The slash is delegated to the staking // module to make the necessary validator changes. It specifies no intraction reason. func (k Keeper) Slash(ctx sdk.Context, consAddr sdk.ConsAddress, fraction sdkmath.LegacyDec, power, distributionHeight int64) { diff --git a/x/slashing/keeper/signing_info.go b/x/slashing/keeper/signing_info.go index 9e8274bb8f72..eea10dd4cdc2 100644 --- a/x/slashing/keeper/signing_info.go +++ b/x/slashing/keeper/signing_info.go @@ -212,9 +212,6 @@ func (k Keeper) PerformConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey, newPubK } } - // Sets a map to newly rotated consensus key with old consensus key - k.sk.SetMappedConskey(ctx, sdk.ConsAddress(oldPubKey.Address()), sdk.ConsAddress(newPubKey.Address())) - return nil } diff --git a/x/slashing/testutil/expected_keepers_mocks.go b/x/slashing/testutil/expected_keepers_mocks.go index f800b9b7a022..a12268438b09 100644 --- a/x/slashing/testutil/expected_keepers_mocks.go +++ b/x/slashing/testutil/expected_keepers_mocks.go @@ -347,18 +347,6 @@ func (mr *MockStakingKeeperMockRecorder) MaxValidators(arg0 interface{}) *gomock return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MaxValidators", reflect.TypeOf((*MockStakingKeeper)(nil).MaxValidators), arg0) } -// SetMappedConskey mocks base method. -func (m *MockStakingKeeper) SetMappedConskey(ctx types.Context, oldConsAddr, newConsAddr types.ConsAddress) { - m.ctrl.T.Helper() - m.ctrl.Call(m, "SetMappedConskey", ctx, oldConsAddr, newConsAddr) -} - -// SetMappedConskey indicates an expected call of SetMappedConskey. -func (mr *MockStakingKeeperMockRecorder) SetMappedConskey(ctx, oldConsAddr, newConsAddr interface{}) *gomock.Call { - mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetMappedConskey", reflect.TypeOf((*MockStakingKeeper)(nil).SetMappedConskey), ctx, oldConsAddr, newConsAddr) -} - // Slash mocks base method. func (m *MockStakingKeeper) Slash(arg0 types.Context, arg1 types.ConsAddress, arg2, arg3 int64, arg4 math.LegacyDec) math.Int { m.ctrl.T.Helper() diff --git a/x/slashing/types/expected_keepers.go b/x/slashing/types/expected_keepers.go index 850686f267e4..7e937b407350 100644 --- a/x/slashing/types/expected_keepers.go +++ b/x/slashing/types/expected_keepers.go @@ -59,7 +59,6 @@ type StakingKeeper interface { // IsValidatorJailed returns if the validator is jailed. IsValidatorJailed(ctx sdk.Context, addr sdk.ConsAddress) bool - SetMappedConskey(ctx sdk.Context, oldConsAddr, newConsAddr sdk.ConsAddress) GetMappedConsKey(ctx sdk.Context, consAddr sdk.ConsAddress) sdk.ConsAddress } diff --git a/x/staking/keeper/cons_pubkey.go b/x/staking/keeper/cons_pubkey.go index b357a4b1358a..4ef42a4d6bc0 100644 --- a/x/staking/keeper/cons_pubkey.go +++ b/x/staking/keeper/cons_pubkey.go @@ -54,6 +54,9 @@ func (k Keeper) updateToNewPubkey(ctx sdk.Context, val types.Validator, oldPubKe oldPk := oldPubKey.GetCachedValue().(cryptotypes.PubKey) newPk := newPubKey.GetCachedValue().(cryptotypes.PubKey) + // Sets a map to newly rotated consensus key with old consensus key + k.setMappedConskey(ctx, sdk.ConsAddress(oldPk.Address()), sdk.ConsAddress(newPk.Address())) + if err := k.Hooks().AfterConsensusPubKeyUpdate(ctx, oldPk, newPk, fee); err != nil { return err } @@ -181,14 +184,14 @@ func (k Keeper) CheckLimitOfMaxRotationsExceed(ctx sdk.Context, valAddr sdk.ValA return false } -// SetMappedConskey maps the old consensus key to rotated new consensus key -func (k Keeper) SetMappedConskey(ctx sdk.Context, oldConsAddr, newConsAddr sdk.ConsAddress) { +// setMappedConskey maps the old consensus key to rotated new consensus key +func (k Keeper) setMappedConskey(ctx sdk.Context, oldConsAddr, newConsAddr sdk.ConsAddress) { store := ctx.KVStore(k.storeKey) key := types.GetKeyRotatedConsKey(oldConsAddr.Bytes()) store.Set(key, newConsAddr.Bytes()) } -// SetMappedConskey gets the rotated consensus key with the old consensus key +// GetMappedConskey gets the rotated consensus key with the old consensus key func (k Keeper) GetMappedConsKey(ctx sdk.Context, consAddr sdk.ConsAddress) sdk.ConsAddress { store := ctx.KVStore(k.storeKey) key := types.GetKeyRotatedConsKey(consAddr.Bytes()) diff --git a/x/staking/keeper/validator.go b/x/staking/keeper/validator.go index 42b4c7bacfc9..bacd9e5d1da0 100644 --- a/x/staking/keeper/validator.go +++ b/x/staking/keeper/validator.go @@ -41,7 +41,11 @@ func (k Keeper) GetValidatorByConsAddr(ctx sdk.Context, consAddr sdk.ConsAddress opAddr := store.Get(types.GetValidatorByConsAddrKey(consAddr)) if opAddr == nil { - return validator, false + if mappedConsAddr := k.GetMappedConsKey(ctx, consAddr); mappedConsAddr != nil { + if opAddr = store.Get(types.GetValidatorByConsAddrKey(mappedConsAddr)); opAddr == nil { + return validator, false + } + } } return k.GetValidator(ctx, opAddr) diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index 0d4408e03df1..d97694646fc9 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -676,11 +676,6 @@ func SimulateMsgRotateConsPubKey(txGen client.TxConfig, ak types.AccountKeeper, return simtypes.NoOpMsg(types.ModuleName, msgType, "not enough balance to pay fee"), nil, nil } - newConsAddr := sdk.ConsAddress(acc.ConsKey.PubKey().Address()) - if addr := k.GetMappedConsKey(ctx, newConsAddr); addr != nil { - return simtypes.NoOpMsg(types.ModuleName, msgType, "can't be rotated to a consAddr already rotated"), nil, nil - } - valAddr := val.GetOperator() if k.CheckLimitOfMaxRotationsExceed(ctx, valAddr) { return simtypes.NoOpMsg(types.ModuleName, msgType, "rotations limit reached within unbonding period"), nil, nil @@ -691,6 +686,7 @@ func SimulateMsgRotateConsPubKey(txGen client.TxConfig, ak types.AccountKeeper, return simtypes.NoOpMsg(types.ModuleName, msgType, "validator not found"), nil, nil } + newConsAddr := sdk.ConsAddress(acc.ConsKey.PubKey().Address()) _, found = k.GetValidatorByConsAddr(ctx, newConsAddr) if found { return simtypes.NoOpMsg(types.ModuleName, msgType, "cons key already used"), nil, nil From 0e3b51858166ca72a7b28688068aa419f897fb36 Mon Sep 17 00:00:00 2001 From: atheesh Date: Mon, 5 Jun 2023 12:59:00 +0530 Subject: [PATCH 105/106] resolve conflicts --- x/slashing/keeper/signing_info.go | 34 ++++++++++++++++++++------ x/slashing/keeper/signing_info_test.go | 14 ++++++----- x/staking/simulation/genesis.go | 2 +- x/staking/simulation/operations.go | 2 +- 4 files changed, 36 insertions(+), 16 deletions(-) diff --git a/x/slashing/keeper/signing_info.go b/x/slashing/keeper/signing_info.go index 0cb963d7cf49..b54427ba463c 100644 --- a/x/slashing/keeper/signing_info.go +++ b/x/slashing/keeper/signing_info.go @@ -217,8 +217,13 @@ func (k Keeper) DeleteMissedBlockBitmap(ctx context.Context, addr sdk.ConsAddres } // removeValidatorSigningInfo removes the validator signing info from a consensus address key -func (k Keeper) removeValidatorSigningInfo(ctx sdk.Context, address sdk.ConsAddress) { - ctx.KVStore(k.storeKey).Delete(types.ValidatorSigningInfoKey(address)) +func (k Keeper) removeValidatorSigningInfo(ctx sdk.Context, address sdk.ConsAddress) error { + store := k.storeService.OpenKVStore(ctx) + if err := store.Delete(types.ValidatorSigningInfoKey(address)); err != nil { + return err + } + + return nil } func (k Keeper) PerformConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey, newPubKey cryptotypes.PubKey) error { @@ -228,16 +233,29 @@ func (k Keeper) PerformConsensusPubKeyUpdate(ctx sdk.Context, oldPubKey, newPubK } // Migrate ValidatorSigningInfo from oldPubKey to newPubKey - signingInfo, found := k.GetValidatorSigningInfo(ctx, sdk.ConsAddress(oldPubKey.Address())) - if !found { + signingInfo, err := k.GetValidatorSigningInfo(ctx, sdk.ConsAddress(oldPubKey.Address())) + if err != nil { return types.ErrInvalidConsPubKey } - k.SetValidatorSigningInfo(ctx, sdk.ConsAddress(newPubKey.Address()), signingInfo) - k.removeValidatorSigningInfo(ctx, sdk.ConsAddress(oldPubKey.Address())) + + if err := k.SetValidatorSigningInfo(ctx, sdk.ConsAddress(newPubKey.Address()), signingInfo); err != nil { + return err + } + + if err := k.removeValidatorSigningInfo(ctx, sdk.ConsAddress(oldPubKey.Address())); err != nil { + return err + } // Migrate ValidatorMissedBlockBitArray from oldPubKey to newPubKey - missedBlocks := k.GetValidatorMissedBlocks(ctx, sdk.ConsAddress(oldPubKey.Address())) - k.DeleteMissedBlockBitmap(ctx, sdk.ConsAddress(oldPubKey.Address())) + missedBlocks, err := k.GetValidatorMissedBlocks(ctx, sdk.ConsAddress(oldPubKey.Address())) + if err != nil { + return err + } + + if err := k.DeleteMissedBlockBitmap(ctx, sdk.ConsAddress(oldPubKey.Address())); err != nil { + return err + } + for _, missed := range missedBlocks { if err := k.SetMissedBlockBitmapValue(ctx, sdk.ConsAddress(newPubKey.Address()), missed.Index, missed.Missed); err != nil { return err diff --git a/x/slashing/keeper/signing_info_test.go b/x/slashing/keeper/signing_info_test.go index decc78ec57e2..6ce35fa5218d 100644 --- a/x/slashing/keeper/signing_info_test.go +++ b/x/slashing/keeper/signing_info_test.go @@ -5,7 +5,6 @@ import ( simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/golang/mock/gomock" "github.com/cosmos/cosmos-sdk/x/slashing/testutil" slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types" @@ -109,7 +108,6 @@ func (s *KeeperTestSuite) TestPerformConsensusPubKeyUpdate() { oldConsAddr := sdk.ConsAddress(pks[0].Address()) newConsAddr := sdk.ConsAddress(pks[1].Address()) - s.stakingKeeper.EXPECT().SetMappedConskey(gomock.Any(), oldConsAddr, newConsAddr).Return().AnyTimes() newInfo := slashingtypes.NewValidatorSigningInfo( oldConsAddr, @@ -130,15 +128,19 @@ func (s *KeeperTestSuite) TestPerformConsensusPubKeyUpdate() { require.Equal(savedPubKey, pks[1]) // check validator SigningInfo is set properly to new consensus pubkey - signingInfo, found := slashingKeeper.GetValidatorSigningInfo(ctx, newConsAddr) - require.True(found) + signingInfo, err := slashingKeeper.GetValidatorSigningInfo(ctx, newConsAddr) + require.NoError(err) require.Equal(signingInfo, newInfo) // check missed blocks array is removed on old consensus pubkey - missedBlocks := slashingKeeper.GetValidatorMissedBlocks(ctx, oldConsAddr) + missedBlocks, err := slashingKeeper.GetValidatorMissedBlocks(ctx, oldConsAddr) + require.NoError(err) + require.Len(missedBlocks, 0) // check missed blocks are set correctly for new pubkey - missedBlocks = slashingKeeper.GetValidatorMissedBlocks(ctx, newConsAddr) + missedBlocks, err = slashingKeeper.GetValidatorMissedBlocks(ctx, newConsAddr) + require.NoError(err) + require.Len(missedBlocks, 1) } diff --git a/x/staking/simulation/genesis.go b/x/staking/simulation/genesis.go index bda23c1ee407..3c453ed64c71 100644 --- a/x/staking/simulation/genesis.go +++ b/x/staking/simulation/genesis.go @@ -60,7 +60,7 @@ func RandomizedGenState(simState *module.SimulationState) { simState.AppParams.GetOrGenerate(historicalEntries, &histEntries, simState.Rand, func(r *rand.Rand) { histEntries = getHistEntries(r) }) simState.AppParams.GetOrGenerate( - simState.Cdc, keyRotationFee, &histEntries, simState.Rand, + keyRotationFee, &histEntries, simState.Rand, func(r *rand.Rand) { rotationFee = getKeyRotationFee(r) }, ) diff --git a/x/staking/simulation/operations.go b/x/staking/simulation/operations.go index f1f4df36a014..17ac75a7d6ac 100644 --- a/x/staking/simulation/operations.go +++ b/x/staking/simulation/operations.go @@ -79,7 +79,7 @@ func WeightedOperations( weightMsgCancelUnbondingDelegation = DefaultWeightMsgCancelUnbondingDelegation }) - appParams.GetOrGenerate(cdc, OpWeightMsgRotateConsPubKey, &weightMsgRotateConsPubKey, nil, + appParams.GetOrGenerate(OpWeightMsgRotateConsPubKey, &weightMsgRotateConsPubKey, nil, func(_ *rand.Rand) { weightMsgRotateConsPubKey = DefaultWeightMsgRotateConsPubKey }, From 40f951bafb56134c5e36e4a78ca01a91dd6ea831 Mon Sep 17 00:00:00 2001 From: atheesh Date: Tue, 6 Jun 2023 14:03:52 +0530 Subject: [PATCH 106/106] review change --- x/staking/keeper/val_state_change.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/x/staking/keeper/val_state_change.go b/x/staking/keeper/val_state_change.go index 74175576989c..e6af4d025854 100644 --- a/x/staking/keeper/val_state_change.go +++ b/x/staking/keeper/val_state_change.go @@ -213,8 +213,6 @@ func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx sdk.Context) (updates []ab // ApplyAndReturnValidatorSetUpdates checks if there is ConsPubKeyRotationHistory // with ConsPubKeyRotationHistory.RotatedHeight == ctx.BlockHeight() and if so, generates 2 ValidatorUpdate, // one for a remove validator and one for create new validator - // TODO: consider the case, validator's voting power and consensus pubkey both values are - // changed on this block historyObjects := k.GetBlockConsPubKeyRotationHistory(ctx, ctx.BlockHeight()) for _, history := range historyObjects { valAddr, err := sdk.ValAddressFromBech32(history.OperatorAddress)