From 22d12f0267ab6a6f2ff0d3d00a02184a088a1371 Mon Sep 17 00:00:00 2001 From: Donald Adu-Poku Date: Tue, 19 Mar 2019 18:45:51 +0000 Subject: [PATCH] wip: add CleanOutAccount. This implements the CleanOutAccount rpc which is a variation of SweepAccount which allows as many transactions as possible to be generated in cleaning out an account All generated transactions also respect the MaxTxSize limit of the network. --- rpc/api.proto | 18 + rpc/documentation/api.md | 41 +- rpc/rpcserver/server.go | 53 ++ rpc/walletrpc/api.pb.go | 1606 +++++++++++++++++++++----------------- wallet/createtx.go | 39 +- wallet/udb/txmined.go | 9 +- wallet/wallet.go | 77 ++ 7 files changed, 1108 insertions(+), 735 deletions(-) diff --git a/rpc/api.proto b/rpc/api.proto index 1dcb9c179..8a86453fb 100644 --- a/rpc/api.proto +++ b/rpc/api.proto @@ -62,6 +62,7 @@ service WalletService { rpc ValidateAddress (ValidateAddressRequest) returns (ValidateAddressResponse); rpc CommittedTickets (CommittedTicketsRequest) returns (CommittedTicketsResponse); rpc SweepAccount (SweepAccountRequest) returns (SweepAccountResponse); + rpc CleanOutAccount (CleanOutAccountRequest) returns (CleanOutAccountResponse); } service WalletLoaderService { @@ -1071,3 +1072,20 @@ message SweepAccountResponse { int64 total_output_amount = 3; uint32 estimated_signed_size = 4; } + +message CleanOutAccountRequest { + string source_account = 1; + string destination_address = 2; + uint32 required_confirmations = 3; + double fee_per_kb = 4; +} + +message CleanOutAccountResponse { + message CleanOutAccountTransaction { + bytes unsigned_transaction = 1; + int64 total_previous_output_amount = 2; + int64 total_output_amount = 3; + uint32 estimated_signed_size = 4; + } + repeated CleanOutAccountTransaction transactions = 1; +} \ No newline at end of file diff --git a/rpc/documentation/api.md b/rpc/documentation/api.md index 3b12a972b..78552d532 100644 --- a/rpc/documentation/api.md +++ b/rpc/documentation/api.md @@ -1,6 +1,6 @@ # RPC API Specification -Version: 5.8.x +Version: 5.9.x **Note:** This document assumes the reader is familiar with gRPC concepts. Refer to the [gRPC Concepts documentation](http://www.grpc.io/docs/guides/concepts.html) @@ -578,6 +578,7 @@ The service provides the following methods: - [`CommittedTickets`](#committedtickets) - [`BestBlock`](#bestblock) - [`SweepAccount`](#sweepaccount) +- [`CleanOutAccount`](#cleanoutaccount) #### `Ping` @@ -1982,13 +1983,43 @@ an account per the request parameters. - `double fee_per_kb`: The minimum relay fee policy (optional). **Response:** `SweepAccountResponse` -- `bytes unsigned_transaction`: The unsigned transaction bytes. + - `bytes unsigned_transaction`: The unsigned transaction bytes. -- `int64 total_previous_output_amount`: The total transaction input amount. + - `int64 total_previous_output_amount`: The total transaction input amount. -- `int64 total_output_amount`: The total transaction output amount. + - `int64 total_output_amount`: The total transaction output amount. -- `uint32 estimated_signed_size`: The estimated size of the transaction when signed. + - `uint32 estimated_signed_size`: The estimated size of the transaction when signed. +___ + +___ + +#### `CleanOutAccount` + +The `CleanOutAccount` method moves as much value as possible using a batch of +transactions for the provided account. + +**Request:** `CleanOutAccountRequest` +- `string source_account`: The account to be cleaned out. + +- `string destination_address`: The destination address to pay to. + +- `uint32 required_confirmations`: The minimum utxo confirmation requirement. + +- `double fee_per_kb`: The minimum relay fee policy (optional). + +**Response:** `CleanOutAccountResponse` +- `repeated CleanOutAccountTransaction transactions`: A collection of transactions cleaning out the provided account. + + **Nested message:** `CleanOutAccountTransaction` + + - `bytes unsigned_transaction`: The unsigned transaction bytes. + + - `int64 total_previous_output_amount`: The total transaction input amount. + + - `int64 total_output_amount`: The total transaction output amount. + + - `uint32 estimated_signed_size`: The estimated size of the transaction when signed. ___ #### `TransactionNotifications` diff --git a/rpc/rpcserver/server.go b/rpc/rpcserver/server.go index 45e169d07..e62161f1a 100644 --- a/rpc/rpcserver/server.go +++ b/rpc/rpcserver/server.go @@ -801,6 +801,59 @@ func (s *walletServer) SweepAccount(ctx context.Context, req *pb.SweepAccountReq return res, nil } +func (s *walletServer) CleanOutAccount(ctx context.Context, req *pb.CleanOutAccountRequest) (*pb.CleanOutAccountResponse, error) { + feePerKb := s.wallet.RelayFee() + + // Use provided fee per Kb if specified. + if req.FeePerKb < 0 { + return nil, status.Errorf(codes.InvalidArgument, "%s", + "fee per kb argument cannot be negative") + } + + if req.FeePerKb > 0 { + var err error + feePerKb, err = dcrutil.NewAmount(req.FeePerKb) + if err != nil { + return nil, status.Errorf(codes.InvalidArgument, "%v", err) + } + } + + account, err := s.wallet.AccountNumber(req.SourceAccount) + if err != nil { + return nil, translateError(err) + } + + txs, err := s.wallet.CleanOutAccount(account, req.DestinationAddress, + feePerKb, req.RequiredConfirmations) + if err != nil { + return nil, translateError(err) + } + + res := &pb.CleanOutAccountResponse{} + res.Transactions = + make([]*pb.CleanOutAccountResponse_CleanOutAccountTransaction, len(txs)) + var txBuf bytes.Buffer + for idx, tx := range txs { + txBuf.Grow(tx.Tx.SerializeSize()) + err = tx.Tx.Serialize(&txBuf) + if err != nil { + return nil, translateError(err) + } + + entry := &pb.CleanOutAccountResponse_CleanOutAccountTransaction{ + UnsignedTransaction: txBuf.Bytes(), + TotalPreviousOutputAmount: int64(tx.TotalInput), + TotalOutputAmount: int64(h.SumOutputValues(tx.Tx.TxOut)), + EstimatedSignedSize: uint32(tx.EstimatedSignedSerializeSize), + } + + res.Transactions[idx] = entry + txBuf.Reset() + } + + return res, nil +} + func (s *walletServer) BlockInfo(ctx context.Context, req *pb.BlockInfoRequest) (*pb.BlockInfoResponse, error) { var blockID *wallet.BlockIdentifier switch { diff --git a/rpc/walletrpc/api.pb.go b/rpc/walletrpc/api.pb.go index cc404f2ae..91ab1c0be 100644 --- a/rpc/walletrpc/api.pb.go +++ b/rpc/walletrpc/api.pb.go @@ -82,7 +82,7 @@ func (x SyncNotificationType) String() string { return proto.EnumName(SyncNotificationType_name, int32(x)) } func (SyncNotificationType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{0} + return fileDescriptor_api_ba169823a4f7e002, []int{0} } type TransactionDetails_TransactionType int32 @@ -114,7 +114,7 @@ func (x TransactionDetails_TransactionType) String() string { return proto.EnumName(TransactionDetails_TransactionType_name, int32(x)) } func (TransactionDetails_TransactionType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{2, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{2, 0} } type NextAddressRequest_Kind int32 @@ -137,7 +137,7 @@ func (x NextAddressRequest_Kind) String() string { return proto.EnumName(NextAddressRequest_Kind_name, int32(x)) } func (NextAddressRequest_Kind) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{19, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{19, 0} } type NextAddressRequest_GapPolicy int32 @@ -166,7 +166,7 @@ func (x NextAddressRequest_GapPolicy) String() string { return proto.EnumName(NextAddressRequest_GapPolicy_name, int32(x)) } func (NextAddressRequest_GapPolicy) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{19, 1} + return fileDescriptor_api_ba169823a4f7e002, []int{19, 1} } type GetTicketsResponse_TicketDetails_TicketStatus int32 @@ -207,7 +207,7 @@ func (x GetTicketsResponse_TicketDetails_TicketStatus) String() string { return proto.EnumName(GetTicketsResponse_TicketDetails_TicketStatus_name, int32(x)) } func (GetTicketsResponse_TicketDetails_TicketStatus) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{33, 0, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{33, 0, 0} } type ChangePassphraseRequest_Key int32 @@ -230,7 +230,7 @@ func (x ChangePassphraseRequest_Key) String() string { return proto.EnumName(ChangePassphraseRequest_Key_name, int32(x)) } func (ChangePassphraseRequest_Key) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{40, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{40, 0} } type ConstructTransactionRequest_OutputSelectionAlgorithm int32 @@ -253,7 +253,7 @@ func (x ConstructTransactionRequest_OutputSelectionAlgorithm) String() string { return proto.EnumName(ConstructTransactionRequest_OutputSelectionAlgorithm_name, int32(x)) } func (ConstructTransactionRequest_OutputSelectionAlgorithm) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{46, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{46, 0} } type CreateSignatureRequest_SigHashType int32 @@ -288,7 +288,7 @@ func (x CreateSignatureRequest_SigHashType) String() string { return proto.EnumName(CreateSignatureRequest_SigHashType_name, int32(x)) } func (CreateSignatureRequest_SigHashType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{52, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{52, 0} } type DecodedTransaction_Input_TreeType int32 @@ -314,7 +314,7 @@ func (x DecodedTransaction_Input_TreeType) String() string { return proto.EnumName(DecodedTransaction_Input_TreeType_name, int32(x)) } func (DecodedTransaction_Input_TreeType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{142, 0, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{142, 0, 0} } type DecodedTransaction_Output_ScriptClass int32 @@ -367,7 +367,7 @@ func (x DecodedTransaction_Output_ScriptClass) String() string { return proto.EnumName(DecodedTransaction_Output_ScriptClass_name, int32(x)) } func (DecodedTransaction_Output_ScriptClass) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{142, 1, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{142, 1, 0} } type ValidateAddressResponse_ScriptType int32 @@ -420,7 +420,7 @@ func (x ValidateAddressResponse_ScriptType) String() string { return proto.EnumName(ValidateAddressResponse_ScriptType_name, int32(x)) } func (ValidateAddressResponse_ScriptType) EnumDescriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{146, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{146, 0} } type VersionRequest struct { @@ -433,7 +433,7 @@ func (m *VersionRequest) Reset() { *m = VersionRequest{} } func (m *VersionRequest) String() string { return proto.CompactTextString(m) } func (*VersionRequest) ProtoMessage() {} func (*VersionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{0} + return fileDescriptor_api_ba169823a4f7e002, []int{0} } func (m *VersionRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_VersionRequest.Unmarshal(m, b) @@ -469,7 +469,7 @@ func (m *VersionResponse) Reset() { *m = VersionResponse{} } func (m *VersionResponse) String() string { return proto.CompactTextString(m) } func (*VersionResponse) ProtoMessage() {} func (*VersionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{1} + return fileDescriptor_api_ba169823a4f7e002, []int{1} } func (m *VersionResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_VersionResponse.Unmarshal(m, b) @@ -548,7 +548,7 @@ func (m *TransactionDetails) Reset() { *m = TransactionDetails{} } func (m *TransactionDetails) String() string { return proto.CompactTextString(m) } func (*TransactionDetails) ProtoMessage() {} func (*TransactionDetails) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{2} + return fileDescriptor_api_ba169823a4f7e002, []int{2} } func (m *TransactionDetails) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TransactionDetails.Unmarshal(m, b) @@ -630,7 +630,7 @@ func (m *TransactionDetails_Input) Reset() { *m = TransactionDetails_Inp func (m *TransactionDetails_Input) String() string { return proto.CompactTextString(m) } func (*TransactionDetails_Input) ProtoMessage() {} func (*TransactionDetails_Input) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{2, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{2, 0} } func (m *TransactionDetails_Input) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TransactionDetails_Input.Unmarshal(m, b) @@ -687,7 +687,7 @@ func (m *TransactionDetails_Output) Reset() { *m = TransactionDetails_Ou func (m *TransactionDetails_Output) String() string { return proto.CompactTextString(m) } func (*TransactionDetails_Output) ProtoMessage() {} func (*TransactionDetails_Output) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{2, 1} + return fileDescriptor_api_ba169823a4f7e002, []int{2, 1} } func (m *TransactionDetails_Output) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TransactionDetails_Output.Unmarshal(m, b) @@ -764,7 +764,7 @@ func (m *BlockDetails) Reset() { *m = BlockDetails{} } func (m *BlockDetails) String() string { return proto.CompactTextString(m) } func (*BlockDetails) ProtoMessage() {} func (*BlockDetails) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{3} + return fileDescriptor_api_ba169823a4f7e002, []int{3} } func (m *BlockDetails) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlockDetails.Unmarshal(m, b) @@ -831,7 +831,7 @@ func (m *AccountBalance) Reset() { *m = AccountBalance{} } func (m *AccountBalance) String() string { return proto.CompactTextString(m) } func (*AccountBalance) ProtoMessage() {} func (*AccountBalance) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{4} + return fileDescriptor_api_ba169823a4f7e002, []int{4} } func (m *AccountBalance) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountBalance.Unmarshal(m, b) @@ -875,7 +875,7 @@ func (m *PingRequest) Reset() { *m = PingRequest{} } func (m *PingRequest) String() string { return proto.CompactTextString(m) } func (*PingRequest) ProtoMessage() {} func (*PingRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{5} + return fileDescriptor_api_ba169823a4f7e002, []int{5} } func (m *PingRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PingRequest.Unmarshal(m, b) @@ -905,7 +905,7 @@ func (m *PingResponse) Reset() { *m = PingResponse{} } func (m *PingResponse) String() string { return proto.CompactTextString(m) } func (*PingResponse) ProtoMessage() {} func (*PingResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{6} + return fileDescriptor_api_ba169823a4f7e002, []int{6} } func (m *PingResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PingResponse.Unmarshal(m, b) @@ -935,7 +935,7 @@ func (m *NetworkRequest) Reset() { *m = NetworkRequest{} } func (m *NetworkRequest) String() string { return proto.CompactTextString(m) } func (*NetworkRequest) ProtoMessage() {} func (*NetworkRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{7} + return fileDescriptor_api_ba169823a4f7e002, []int{7} } func (m *NetworkRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NetworkRequest.Unmarshal(m, b) @@ -966,7 +966,7 @@ func (m *NetworkResponse) Reset() { *m = NetworkResponse{} } func (m *NetworkResponse) String() string { return proto.CompactTextString(m) } func (*NetworkResponse) ProtoMessage() {} func (*NetworkResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{8} + return fileDescriptor_api_ba169823a4f7e002, []int{8} } func (m *NetworkResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NetworkResponse.Unmarshal(m, b) @@ -1004,7 +1004,7 @@ func (m *AccountNumberRequest) Reset() { *m = AccountNumberRequest{} } func (m *AccountNumberRequest) String() string { return proto.CompactTextString(m) } func (*AccountNumberRequest) ProtoMessage() {} func (*AccountNumberRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{9} + return fileDescriptor_api_ba169823a4f7e002, []int{9} } func (m *AccountNumberRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountNumberRequest.Unmarshal(m, b) @@ -1042,7 +1042,7 @@ func (m *AccountNumberResponse) Reset() { *m = AccountNumberResponse{} } func (m *AccountNumberResponse) String() string { return proto.CompactTextString(m) } func (*AccountNumberResponse) ProtoMessage() {} func (*AccountNumberResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{10} + return fileDescriptor_api_ba169823a4f7e002, []int{10} } func (m *AccountNumberResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountNumberResponse.Unmarshal(m, b) @@ -1079,7 +1079,7 @@ func (m *AccountsRequest) Reset() { *m = AccountsRequest{} } func (m *AccountsRequest) String() string { return proto.CompactTextString(m) } func (*AccountsRequest) ProtoMessage() {} func (*AccountsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{11} + return fileDescriptor_api_ba169823a4f7e002, []int{11} } func (m *AccountsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountsRequest.Unmarshal(m, b) @@ -1112,7 +1112,7 @@ func (m *AccountsResponse) Reset() { *m = AccountsResponse{} } func (m *AccountsResponse) String() string { return proto.CompactTextString(m) } func (*AccountsResponse) ProtoMessage() {} func (*AccountsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{12} + return fileDescriptor_api_ba169823a4f7e002, []int{12} } func (m *AccountsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountsResponse.Unmarshal(m, b) @@ -1169,7 +1169,7 @@ func (m *AccountsResponse_Account) Reset() { *m = AccountsResponse_Accou func (m *AccountsResponse_Account) String() string { return proto.CompactTextString(m) } func (*AccountsResponse_Account) ProtoMessage() {} func (*AccountsResponse_Account) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{12, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{12, 0} } func (m *AccountsResponse_Account) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountsResponse_Account.Unmarshal(m, b) @@ -1243,7 +1243,7 @@ func (m *RenameAccountRequest) Reset() { *m = RenameAccountRequest{} } func (m *RenameAccountRequest) String() string { return proto.CompactTextString(m) } func (*RenameAccountRequest) ProtoMessage() {} func (*RenameAccountRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{13} + return fileDescriptor_api_ba169823a4f7e002, []int{13} } func (m *RenameAccountRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RenameAccountRequest.Unmarshal(m, b) @@ -1287,7 +1287,7 @@ func (m *RenameAccountResponse) Reset() { *m = RenameAccountResponse{} } func (m *RenameAccountResponse) String() string { return proto.CompactTextString(m) } func (*RenameAccountResponse) ProtoMessage() {} func (*RenameAccountResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{14} + return fileDescriptor_api_ba169823a4f7e002, []int{14} } func (m *RenameAccountResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RenameAccountResponse.Unmarshal(m, b) @@ -1319,7 +1319,7 @@ func (m *RescanRequest) Reset() { *m = RescanRequest{} } func (m *RescanRequest) String() string { return proto.CompactTextString(m) } func (*RescanRequest) ProtoMessage() {} func (*RescanRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{15} + return fileDescriptor_api_ba169823a4f7e002, []int{15} } func (m *RescanRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RescanRequest.Unmarshal(m, b) @@ -1364,7 +1364,7 @@ func (m *RescanResponse) Reset() { *m = RescanResponse{} } func (m *RescanResponse) String() string { return proto.CompactTextString(m) } func (*RescanResponse) ProtoMessage() {} func (*RescanResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{16} + return fileDescriptor_api_ba169823a4f7e002, []int{16} } func (m *RescanResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RescanResponse.Unmarshal(m, b) @@ -1403,7 +1403,7 @@ func (m *NextAccountRequest) Reset() { *m = NextAccountRequest{} } func (m *NextAccountRequest) String() string { return proto.CompactTextString(m) } func (*NextAccountRequest) ProtoMessage() {} func (*NextAccountRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{17} + return fileDescriptor_api_ba169823a4f7e002, []int{17} } func (m *NextAccountRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NextAccountRequest.Unmarshal(m, b) @@ -1448,7 +1448,7 @@ func (m *NextAccountResponse) Reset() { *m = NextAccountResponse{} } func (m *NextAccountResponse) String() string { return proto.CompactTextString(m) } func (*NextAccountResponse) ProtoMessage() {} func (*NextAccountResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{18} + return fileDescriptor_api_ba169823a4f7e002, []int{18} } func (m *NextAccountResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NextAccountResponse.Unmarshal(m, b) @@ -1488,7 +1488,7 @@ func (m *NextAddressRequest) Reset() { *m = NextAddressRequest{} } func (m *NextAddressRequest) String() string { return proto.CompactTextString(m) } func (*NextAddressRequest) ProtoMessage() {} func (*NextAddressRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{19} + return fileDescriptor_api_ba169823a4f7e002, []int{19} } func (m *NextAddressRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NextAddressRequest.Unmarshal(m, b) @@ -1541,7 +1541,7 @@ func (m *NextAddressResponse) Reset() { *m = NextAddressResponse{} } func (m *NextAddressResponse) String() string { return proto.CompactTextString(m) } func (*NextAddressResponse) ProtoMessage() {} func (*NextAddressResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{20} + return fileDescriptor_api_ba169823a4f7e002, []int{20} } func (m *NextAddressResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_NextAddressResponse.Unmarshal(m, b) @@ -1590,7 +1590,7 @@ func (m *ImportPrivateKeyRequest) Reset() { *m = ImportPrivateKeyRequest func (m *ImportPrivateKeyRequest) String() string { return proto.CompactTextString(m) } func (*ImportPrivateKeyRequest) ProtoMessage() {} func (*ImportPrivateKeyRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{21} + return fileDescriptor_api_ba169823a4f7e002, []int{21} } func (m *ImportPrivateKeyRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ImportPrivateKeyRequest.Unmarshal(m, b) @@ -1655,7 +1655,7 @@ func (m *ImportPrivateKeyResponse) Reset() { *m = ImportPrivateKeyRespon func (m *ImportPrivateKeyResponse) String() string { return proto.CompactTextString(m) } func (*ImportPrivateKeyResponse) ProtoMessage() {} func (*ImportPrivateKeyResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{22} + return fileDescriptor_api_ba169823a4f7e002, []int{22} } func (m *ImportPrivateKeyResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ImportPrivateKeyResponse.Unmarshal(m, b) @@ -1690,7 +1690,7 @@ func (m *ImportScriptRequest) Reset() { *m = ImportScriptRequest{} } func (m *ImportScriptRequest) String() string { return proto.CompactTextString(m) } func (*ImportScriptRequest) ProtoMessage() {} func (*ImportScriptRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{23} + return fileDescriptor_api_ba169823a4f7e002, []int{23} } func (m *ImportScriptRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ImportScriptRequest.Unmarshal(m, b) @@ -1757,7 +1757,7 @@ func (m *ImportScriptResponse) Reset() { *m = ImportScriptResponse{} } func (m *ImportScriptResponse) String() string { return proto.CompactTextString(m) } func (*ImportScriptResponse) ProtoMessage() {} func (*ImportScriptResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{24} + return fileDescriptor_api_ba169823a4f7e002, []int{24} } func (m *ImportScriptResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ImportScriptResponse.Unmarshal(m, b) @@ -1803,7 +1803,7 @@ func (m *BalanceRequest) Reset() { *m = BalanceRequest{} } func (m *BalanceRequest) String() string { return proto.CompactTextString(m) } func (*BalanceRequest) ProtoMessage() {} func (*BalanceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{25} + return fileDescriptor_api_ba169823a4f7e002, []int{25} } func (m *BalanceRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BalanceRequest.Unmarshal(m, b) @@ -1854,7 +1854,7 @@ func (m *BalanceResponse) Reset() { *m = BalanceResponse{} } func (m *BalanceResponse) String() string { return proto.CompactTextString(m) } func (*BalanceResponse) ProtoMessage() {} func (*BalanceResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{26} + return fileDescriptor_api_ba169823a4f7e002, []int{26} } func (m *BalanceResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BalanceResponse.Unmarshal(m, b) @@ -1934,7 +1934,7 @@ func (m *GetTransactionRequest) Reset() { *m = GetTransactionRequest{} } func (m *GetTransactionRequest) String() string { return proto.CompactTextString(m) } func (*GetTransactionRequest) ProtoMessage() {} func (*GetTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{27} + return fileDescriptor_api_ba169823a4f7e002, []int{27} } func (m *GetTransactionRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetTransactionRequest.Unmarshal(m, b) @@ -1974,7 +1974,7 @@ func (m *GetTransactionResponse) Reset() { *m = GetTransactionResponse{} func (m *GetTransactionResponse) String() string { return proto.CompactTextString(m) } func (*GetTransactionResponse) ProtoMessage() {} func (*GetTransactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{28} + return fileDescriptor_api_ba169823a4f7e002, []int{28} } func (m *GetTransactionResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetTransactionResponse.Unmarshal(m, b) @@ -2047,7 +2047,7 @@ func (m *GetTransactionsRequest) Reset() { *m = GetTransactionsRequest{} func (m *GetTransactionsRequest) String() string { return proto.CompactTextString(m) } func (*GetTransactionsRequest) ProtoMessage() {} func (*GetTransactionsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{29} + return fileDescriptor_api_ba169823a4f7e002, []int{29} } func (m *GetTransactionsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetTransactionsRequest.Unmarshal(m, b) @@ -2121,7 +2121,7 @@ func (m *GetTransactionsResponse) Reset() { *m = GetTransactionsResponse func (m *GetTransactionsResponse) String() string { return proto.CompactTextString(m) } func (*GetTransactionsResponse) ProtoMessage() {} func (*GetTransactionsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{30} + return fileDescriptor_api_ba169823a4f7e002, []int{30} } func (m *GetTransactionsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetTransactionsResponse.Unmarshal(m, b) @@ -2166,7 +2166,7 @@ func (m *GetTicketRequest) Reset() { *m = GetTicketRequest{} } func (m *GetTicketRequest) String() string { return proto.CompactTextString(m) } func (*GetTicketRequest) ProtoMessage() {} func (*GetTicketRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{31} + return fileDescriptor_api_ba169823a4f7e002, []int{31} } func (m *GetTicketRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetTicketRequest.Unmarshal(m, b) @@ -2208,7 +2208,7 @@ func (m *GetTicketsRequest) Reset() { *m = GetTicketsRequest{} } func (m *GetTicketsRequest) String() string { return proto.CompactTextString(m) } func (*GetTicketsRequest) ProtoMessage() {} func (*GetTicketsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{32} + return fileDescriptor_api_ba169823a4f7e002, []int{32} } func (m *GetTicketsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetTicketsRequest.Unmarshal(m, b) @@ -2275,7 +2275,7 @@ func (m *GetTicketsResponse) Reset() { *m = GetTicketsResponse{} } func (m *GetTicketsResponse) String() string { return proto.CompactTextString(m) } func (*GetTicketsResponse) ProtoMessage() {} func (*GetTicketsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{33} + return fileDescriptor_api_ba169823a4f7e002, []int{33} } func (m *GetTicketsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetTicketsResponse.Unmarshal(m, b) @@ -2322,7 +2322,7 @@ func (m *GetTicketsResponse_TicketDetails) Reset() { *m = GetTicketsResp func (m *GetTicketsResponse_TicketDetails) String() string { return proto.CompactTextString(m) } func (*GetTicketsResponse_TicketDetails) ProtoMessage() {} func (*GetTicketsResponse_TicketDetails) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{33, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{33, 0} } func (m *GetTicketsResponse_TicketDetails) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetTicketsResponse_TicketDetails.Unmarshal(m, b) @@ -2376,7 +2376,7 @@ func (m *GetTicketsResponse_BlockDetails) Reset() { *m = GetTicketsRespo func (m *GetTicketsResponse_BlockDetails) String() string { return proto.CompactTextString(m) } func (*GetTicketsResponse_BlockDetails) ProtoMessage() {} func (*GetTicketsResponse_BlockDetails) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{33, 1} + return fileDescriptor_api_ba169823a4f7e002, []int{33, 1} } func (m *GetTicketsResponse_BlockDetails) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetTicketsResponse_BlockDetails.Unmarshal(m, b) @@ -2427,7 +2427,7 @@ func (m *TicketPriceRequest) Reset() { *m = TicketPriceRequest{} } func (m *TicketPriceRequest) String() string { return proto.CompactTextString(m) } func (*TicketPriceRequest) ProtoMessage() {} func (*TicketPriceRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{34} + return fileDescriptor_api_ba169823a4f7e002, []int{34} } func (m *TicketPriceRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TicketPriceRequest.Unmarshal(m, b) @@ -2459,7 +2459,7 @@ func (m *TicketPriceResponse) Reset() { *m = TicketPriceResponse{} } func (m *TicketPriceResponse) String() string { return proto.CompactTextString(m) } func (*TicketPriceResponse) ProtoMessage() {} func (*TicketPriceResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{35} + return fileDescriptor_api_ba169823a4f7e002, []int{35} } func (m *TicketPriceResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TicketPriceResponse.Unmarshal(m, b) @@ -2503,7 +2503,7 @@ func (m *StakeInfoRequest) Reset() { *m = StakeInfoRequest{} } func (m *StakeInfoRequest) String() string { return proto.CompactTextString(m) } func (*StakeInfoRequest) ProtoMessage() {} func (*StakeInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{36} + return fileDescriptor_api_ba169823a4f7e002, []int{36} } func (m *StakeInfoRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StakeInfoRequest.Unmarshal(m, b) @@ -2544,7 +2544,7 @@ func (m *StakeInfoResponse) Reset() { *m = StakeInfoResponse{} } func (m *StakeInfoResponse) String() string { return proto.CompactTextString(m) } func (*StakeInfoResponse) ProtoMessage() {} func (*StakeInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{37} + return fileDescriptor_api_ba169823a4f7e002, []int{37} } func (m *StakeInfoResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StakeInfoResponse.Unmarshal(m, b) @@ -2653,7 +2653,7 @@ func (m *BlockInfoRequest) Reset() { *m = BlockInfoRequest{} } func (m *BlockInfoRequest) String() string { return proto.CompactTextString(m) } func (*BlockInfoRequest) ProtoMessage() {} func (*BlockInfoRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{38} + return fileDescriptor_api_ba169823a4f7e002, []int{38} } func (m *BlockInfoRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlockInfoRequest.Unmarshal(m, b) @@ -2704,7 +2704,7 @@ func (m *BlockInfoResponse) Reset() { *m = BlockInfoResponse{} } func (m *BlockInfoResponse) String() string { return proto.CompactTextString(m) } func (*BlockInfoResponse) ProtoMessage() {} func (*BlockInfoResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{39} + return fileDescriptor_api_ba169823a4f7e002, []int{39} } func (m *BlockInfoResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlockInfoResponse.Unmarshal(m, b) @@ -2786,7 +2786,7 @@ func (m *ChangePassphraseRequest) Reset() { *m = ChangePassphraseRequest func (m *ChangePassphraseRequest) String() string { return proto.CompactTextString(m) } func (*ChangePassphraseRequest) ProtoMessage() {} func (*ChangePassphraseRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{40} + return fileDescriptor_api_ba169823a4f7e002, []int{40} } func (m *ChangePassphraseRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ChangePassphraseRequest.Unmarshal(m, b) @@ -2837,7 +2837,7 @@ func (m *ChangePassphraseResponse) Reset() { *m = ChangePassphraseRespon func (m *ChangePassphraseResponse) String() string { return proto.CompactTextString(m) } func (*ChangePassphraseResponse) ProtoMessage() {} func (*ChangePassphraseResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{41} + return fileDescriptor_api_ba169823a4f7e002, []int{41} } func (m *ChangePassphraseResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ChangePassphraseResponse.Unmarshal(m, b) @@ -2872,7 +2872,7 @@ func (m *FundTransactionRequest) Reset() { *m = FundTransactionRequest{} func (m *FundTransactionRequest) String() string { return proto.CompactTextString(m) } func (*FundTransactionRequest) ProtoMessage() {} func (*FundTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{42} + return fileDescriptor_api_ba169823a4f7e002, []int{42} } func (m *FundTransactionRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FundTransactionRequest.Unmarshal(m, b) @@ -2940,7 +2940,7 @@ func (m *FundTransactionResponse) Reset() { *m = FundTransactionResponse func (m *FundTransactionResponse) String() string { return proto.CompactTextString(m) } func (*FundTransactionResponse) ProtoMessage() {} func (*FundTransactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{43} + return fileDescriptor_api_ba169823a4f7e002, []int{43} } func (m *FundTransactionResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FundTransactionResponse.Unmarshal(m, b) @@ -3000,7 +3000,7 @@ func (m *FundTransactionResponse_PreviousOutput) Reset() { func (m *FundTransactionResponse_PreviousOutput) String() string { return proto.CompactTextString(m) } func (*FundTransactionResponse_PreviousOutput) ProtoMessage() {} func (*FundTransactionResponse_PreviousOutput) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{43, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{43, 0} } func (m *FundTransactionResponse_PreviousOutput) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FundTransactionResponse_PreviousOutput.Unmarshal(m, b) @@ -3083,7 +3083,7 @@ func (m *UnspentOutputsRequest) Reset() { *m = UnspentOutputsRequest{} } func (m *UnspentOutputsRequest) String() string { return proto.CompactTextString(m) } func (*UnspentOutputsRequest) ProtoMessage() {} func (*UnspentOutputsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{44} + return fileDescriptor_api_ba169823a4f7e002, []int{44} } func (m *UnspentOutputsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnspentOutputsRequest.Unmarshal(m, b) @@ -3149,7 +3149,7 @@ func (m *UnspentOutputResponse) Reset() { *m = UnspentOutputResponse{} } func (m *UnspentOutputResponse) String() string { return proto.CompactTextString(m) } func (*UnspentOutputResponse) ProtoMessage() {} func (*UnspentOutputResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{45} + return fileDescriptor_api_ba169823a4f7e002, []int{45} } func (m *UnspentOutputResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnspentOutputResponse.Unmarshal(m, b) @@ -3241,7 +3241,7 @@ func (m *ConstructTransactionRequest) Reset() { *m = ConstructTransactio func (m *ConstructTransactionRequest) String() string { return proto.CompactTextString(m) } func (*ConstructTransactionRequest) ProtoMessage() {} func (*ConstructTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{46} + return fileDescriptor_api_ba169823a4f7e002, []int{46} } func (m *ConstructTransactionRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConstructTransactionRequest.Unmarshal(m, b) @@ -3320,7 +3320,7 @@ func (m *ConstructTransactionRequest_OutputDestination) String() string { } func (*ConstructTransactionRequest_OutputDestination) ProtoMessage() {} func (*ConstructTransactionRequest_OutputDestination) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{46, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{46, 0} } func (m *ConstructTransactionRequest_OutputDestination) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConstructTransactionRequest_OutputDestination.Unmarshal(m, b) @@ -3373,7 +3373,7 @@ func (m *ConstructTransactionRequest_Output) Reset() { *m = ConstructTra func (m *ConstructTransactionRequest_Output) String() string { return proto.CompactTextString(m) } func (*ConstructTransactionRequest_Output) ProtoMessage() {} func (*ConstructTransactionRequest_Output) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{46, 1} + return fileDescriptor_api_ba169823a4f7e002, []int{46, 1} } func (m *ConstructTransactionRequest_Output) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConstructTransactionRequest_Output.Unmarshal(m, b) @@ -3422,7 +3422,7 @@ func (m *ConstructTransactionResponse) Reset() { *m = ConstructTransacti func (m *ConstructTransactionResponse) String() string { return proto.CompactTextString(m) } func (*ConstructTransactionResponse) ProtoMessage() {} func (*ConstructTransactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{47} + return fileDescriptor_api_ba169823a4f7e002, []int{47} } func (m *ConstructTransactionResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConstructTransactionResponse.Unmarshal(m, b) @@ -3496,7 +3496,7 @@ func (m *SignTransactionRequest) Reset() { *m = SignTransactionRequest{} func (m *SignTransactionRequest) String() string { return proto.CompactTextString(m) } func (*SignTransactionRequest) ProtoMessage() {} func (*SignTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{48} + return fileDescriptor_api_ba169823a4f7e002, []int{48} } func (m *SignTransactionRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignTransactionRequest.Unmarshal(m, b) @@ -3553,7 +3553,7 @@ func (m *SignTransactionRequest_AdditionalScript) Reset() { func (m *SignTransactionRequest_AdditionalScript) String() string { return proto.CompactTextString(m) } func (*SignTransactionRequest_AdditionalScript) ProtoMessage() {} func (*SignTransactionRequest_AdditionalScript) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{48, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{48, 0} } func (m *SignTransactionRequest_AdditionalScript) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignTransactionRequest_AdditionalScript.Unmarshal(m, b) @@ -3613,7 +3613,7 @@ func (m *SignTransactionResponse) Reset() { *m = SignTransactionResponse func (m *SignTransactionResponse) String() string { return proto.CompactTextString(m) } func (*SignTransactionResponse) ProtoMessage() {} func (*SignTransactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{49} + return fileDescriptor_api_ba169823a4f7e002, []int{49} } func (m *SignTransactionResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignTransactionResponse.Unmarshal(m, b) @@ -3660,7 +3660,7 @@ func (m *SignTransactionsRequest) Reset() { *m = SignTransactionsRequest func (m *SignTransactionsRequest) String() string { return proto.CompactTextString(m) } func (*SignTransactionsRequest) ProtoMessage() {} func (*SignTransactionsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{50} + return fileDescriptor_api_ba169823a4f7e002, []int{50} } func (m *SignTransactionsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignTransactionsRequest.Unmarshal(m, b) @@ -3717,7 +3717,7 @@ func (m *SignTransactionsRequest_AdditionalScript) Reset() { func (m *SignTransactionsRequest_AdditionalScript) String() string { return proto.CompactTextString(m) } func (*SignTransactionsRequest_AdditionalScript) ProtoMessage() {} func (*SignTransactionsRequest_AdditionalScript) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{50, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{50, 0} } func (m *SignTransactionsRequest_AdditionalScript) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignTransactionsRequest_AdditionalScript.Unmarshal(m, b) @@ -3780,7 +3780,7 @@ func (m *SignTransactionsRequest_UnsignedTransaction) String() string { } func (*SignTransactionsRequest_UnsignedTransaction) ProtoMessage() {} func (*SignTransactionsRequest_UnsignedTransaction) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{50, 1} + return fileDescriptor_api_ba169823a4f7e002, []int{50, 1} } func (m *SignTransactionsRequest_UnsignedTransaction) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignTransactionsRequest_UnsignedTransaction.Unmarshal(m, b) @@ -3818,7 +3818,7 @@ func (m *SignTransactionsResponse) Reset() { *m = SignTransactionsRespon func (m *SignTransactionsResponse) String() string { return proto.CompactTextString(m) } func (*SignTransactionsResponse) ProtoMessage() {} func (*SignTransactionsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{51} + return fileDescriptor_api_ba169823a4f7e002, []int{51} } func (m *SignTransactionsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignTransactionsResponse.Unmarshal(m, b) @@ -3861,7 +3861,7 @@ func (m *SignTransactionsResponse_SignedTransaction) String() string { } func (*SignTransactionsResponse_SignedTransaction) ProtoMessage() {} func (*SignTransactionsResponse_SignedTransaction) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{51, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{51, 0} } func (m *SignTransactionsResponse_SignedTransaction) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignTransactionsResponse_SignedTransaction.Unmarshal(m, b) @@ -3911,7 +3911,7 @@ func (m *CreateSignatureRequest) Reset() { *m = CreateSignatureRequest{} func (m *CreateSignatureRequest) String() string { return proto.CompactTextString(m) } func (*CreateSignatureRequest) ProtoMessage() {} func (*CreateSignatureRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{52} + return fileDescriptor_api_ba169823a4f7e002, []int{52} } func (m *CreateSignatureRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateSignatureRequest.Unmarshal(m, b) @@ -3985,7 +3985,7 @@ func (m *CreateSignatureResponse) Reset() { *m = CreateSignatureResponse func (m *CreateSignatureResponse) String() string { return proto.CompactTextString(m) } func (*CreateSignatureResponse) ProtoMessage() {} func (*CreateSignatureResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{53} + return fileDescriptor_api_ba169823a4f7e002, []int{53} } func (m *CreateSignatureResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateSignatureResponse.Unmarshal(m, b) @@ -4030,7 +4030,7 @@ func (m *PublishTransactionRequest) Reset() { *m = PublishTransactionReq func (m *PublishTransactionRequest) String() string { return proto.CompactTextString(m) } func (*PublishTransactionRequest) ProtoMessage() {} func (*PublishTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{54} + return fileDescriptor_api_ba169823a4f7e002, []int{54} } func (m *PublishTransactionRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublishTransactionRequest.Unmarshal(m, b) @@ -4068,7 +4068,7 @@ func (m *PublishTransactionResponse) Reset() { *m = PublishTransactionRe func (m *PublishTransactionResponse) String() string { return proto.CompactTextString(m) } func (*PublishTransactionResponse) ProtoMessage() {} func (*PublishTransactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{55} + return fileDescriptor_api_ba169823a4f7e002, []int{55} } func (m *PublishTransactionResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublishTransactionResponse.Unmarshal(m, b) @@ -4105,7 +4105,7 @@ func (m *PublishUnminedTransactionsRequest) Reset() { *m = PublishUnmine func (m *PublishUnminedTransactionsRequest) String() string { return proto.CompactTextString(m) } func (*PublishUnminedTransactionsRequest) ProtoMessage() {} func (*PublishUnminedTransactionsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{56} + return fileDescriptor_api_ba169823a4f7e002, []int{56} } func (m *PublishUnminedTransactionsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublishUnminedTransactionsRequest.Unmarshal(m, b) @@ -4135,7 +4135,7 @@ func (m *PublishUnminedTransactionsResponse) Reset() { *m = PublishUnmin func (m *PublishUnminedTransactionsResponse) String() string { return proto.CompactTextString(m) } func (*PublishUnminedTransactionsResponse) ProtoMessage() {} func (*PublishUnminedTransactionsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{57} + return fileDescriptor_api_ba169823a4f7e002, []int{57} } func (m *PublishUnminedTransactionsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PublishUnminedTransactionsResponse.Unmarshal(m, b) @@ -4176,7 +4176,7 @@ func (m *PurchaseTicketsRequest) Reset() { *m = PurchaseTicketsRequest{} func (m *PurchaseTicketsRequest) String() string { return proto.CompactTextString(m) } func (*PurchaseTicketsRequest) ProtoMessage() {} func (*PurchaseTicketsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{58} + return fileDescriptor_api_ba169823a4f7e002, []int{58} } func (m *PurchaseTicketsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PurchaseTicketsRequest.Unmarshal(m, b) @@ -4284,7 +4284,7 @@ func (m *PurchaseTicketsResponse) Reset() { *m = PurchaseTicketsResponse func (m *PurchaseTicketsResponse) String() string { return proto.CompactTextString(m) } func (*PurchaseTicketsResponse) ProtoMessage() {} func (*PurchaseTicketsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{59} + return fileDescriptor_api_ba169823a4f7e002, []int{59} } func (m *PurchaseTicketsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PurchaseTicketsResponse.Unmarshal(m, b) @@ -4322,7 +4322,7 @@ func (m *RevokeTicketsRequest) Reset() { *m = RevokeTicketsRequest{} } func (m *RevokeTicketsRequest) String() string { return proto.CompactTextString(m) } func (*RevokeTicketsRequest) ProtoMessage() {} func (*RevokeTicketsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{60} + return fileDescriptor_api_ba169823a4f7e002, []int{60} } func (m *RevokeTicketsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RevokeTicketsRequest.Unmarshal(m, b) @@ -4359,7 +4359,7 @@ func (m *RevokeTicketsResponse) Reset() { *m = RevokeTicketsResponse{} } func (m *RevokeTicketsResponse) String() string { return proto.CompactTextString(m) } func (*RevokeTicketsResponse) ProtoMessage() {} func (*RevokeTicketsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{61} + return fileDescriptor_api_ba169823a4f7e002, []int{61} } func (m *RevokeTicketsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RevokeTicketsResponse.Unmarshal(m, b) @@ -4389,7 +4389,7 @@ func (m *LoadActiveDataFiltersRequest) Reset() { *m = LoadActiveDataFilt func (m *LoadActiveDataFiltersRequest) String() string { return proto.CompactTextString(m) } func (*LoadActiveDataFiltersRequest) ProtoMessage() {} func (*LoadActiveDataFiltersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{62} + return fileDescriptor_api_ba169823a4f7e002, []int{62} } func (m *LoadActiveDataFiltersRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_LoadActiveDataFiltersRequest.Unmarshal(m, b) @@ -4419,7 +4419,7 @@ func (m *LoadActiveDataFiltersResponse) Reset() { *m = LoadActiveDataFil func (m *LoadActiveDataFiltersResponse) String() string { return proto.CompactTextString(m) } func (*LoadActiveDataFiltersResponse) ProtoMessage() {} func (*LoadActiveDataFiltersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{63} + return fileDescriptor_api_ba169823a4f7e002, []int{63} } func (m *LoadActiveDataFiltersResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_LoadActiveDataFiltersResponse.Unmarshal(m, b) @@ -4452,7 +4452,7 @@ func (m *SignMessageRequest) Reset() { *m = SignMessageRequest{} } func (m *SignMessageRequest) String() string { return proto.CompactTextString(m) } func (*SignMessageRequest) ProtoMessage() {} func (*SignMessageRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{64} + return fileDescriptor_api_ba169823a4f7e002, []int{64} } func (m *SignMessageRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignMessageRequest.Unmarshal(m, b) @@ -4504,7 +4504,7 @@ func (m *SignMessageResponse) Reset() { *m = SignMessageResponse{} } func (m *SignMessageResponse) String() string { return proto.CompactTextString(m) } func (*SignMessageResponse) ProtoMessage() {} func (*SignMessageResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{65} + return fileDescriptor_api_ba169823a4f7e002, []int{65} } func (m *SignMessageResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignMessageResponse.Unmarshal(m, b) @@ -4543,7 +4543,7 @@ func (m *SignMessagesRequest) Reset() { *m = SignMessagesRequest{} } func (m *SignMessagesRequest) String() string { return proto.CompactTextString(m) } func (*SignMessagesRequest) ProtoMessage() {} func (*SignMessagesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{66} + return fileDescriptor_api_ba169823a4f7e002, []int{66} } func (m *SignMessagesRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignMessagesRequest.Unmarshal(m, b) @@ -4589,7 +4589,7 @@ func (m *SignMessagesRequest_Message) Reset() { *m = SignMessagesRequest func (m *SignMessagesRequest_Message) String() string { return proto.CompactTextString(m) } func (*SignMessagesRequest_Message) ProtoMessage() {} func (*SignMessagesRequest_Message) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{66, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{66, 0} } func (m *SignMessagesRequest_Message) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignMessagesRequest_Message.Unmarshal(m, b) @@ -4634,7 +4634,7 @@ func (m *SignMessagesResponse) Reset() { *m = SignMessagesResponse{} } func (m *SignMessagesResponse) String() string { return proto.CompactTextString(m) } func (*SignMessagesResponse) ProtoMessage() {} func (*SignMessagesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{67} + return fileDescriptor_api_ba169823a4f7e002, []int{67} } func (m *SignMessagesResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignMessagesResponse.Unmarshal(m, b) @@ -4673,7 +4673,7 @@ func (m *SignMessagesResponse_SignReply) Reset() { *m = SignMessagesResp func (m *SignMessagesResponse_SignReply) String() string { return proto.CompactTextString(m) } func (*SignMessagesResponse_SignReply) ProtoMessage() {} func (*SignMessagesResponse_SignReply) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{67, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{67, 0} } func (m *SignMessagesResponse_SignReply) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SignMessagesResponse_SignReply.Unmarshal(m, b) @@ -4717,7 +4717,7 @@ func (m *TransactionNotificationsRequest) Reset() { *m = TransactionNoti func (m *TransactionNotificationsRequest) String() string { return proto.CompactTextString(m) } func (*TransactionNotificationsRequest) ProtoMessage() {} func (*TransactionNotificationsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{68} + return fileDescriptor_api_ba169823a4f7e002, []int{68} } func (m *TransactionNotificationsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TransactionNotificationsRequest.Unmarshal(m, b) @@ -4763,7 +4763,7 @@ func (m *TransactionNotificationsResponse) Reset() { *m = TransactionNot func (m *TransactionNotificationsResponse) String() string { return proto.CompactTextString(m) } func (*TransactionNotificationsResponse) ProtoMessage() {} func (*TransactionNotificationsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{69} + return fileDescriptor_api_ba169823a4f7e002, []int{69} } func (m *TransactionNotificationsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TransactionNotificationsResponse.Unmarshal(m, b) @@ -4821,7 +4821,7 @@ func (m *AccountNotificationsRequest) Reset() { *m = AccountNotification func (m *AccountNotificationsRequest) String() string { return proto.CompactTextString(m) } func (*AccountNotificationsRequest) ProtoMessage() {} func (*AccountNotificationsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{70} + return fileDescriptor_api_ba169823a4f7e002, []int{70} } func (m *AccountNotificationsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountNotificationsRequest.Unmarshal(m, b) @@ -4856,7 +4856,7 @@ func (m *AccountNotificationsResponse) Reset() { *m = AccountNotificatio func (m *AccountNotificationsResponse) String() string { return proto.CompactTextString(m) } func (*AccountNotificationsResponse) ProtoMessage() {} func (*AccountNotificationsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{71} + return fileDescriptor_api_ba169823a4f7e002, []int{71} } func (m *AccountNotificationsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountNotificationsResponse.Unmarshal(m, b) @@ -4923,7 +4923,7 @@ func (m *ConfirmationNotificationsRequest) Reset() { *m = ConfirmationNo func (m *ConfirmationNotificationsRequest) String() string { return proto.CompactTextString(m) } func (*ConfirmationNotificationsRequest) ProtoMessage() {} func (*ConfirmationNotificationsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{72} + return fileDescriptor_api_ba169823a4f7e002, []int{72} } func (m *ConfirmationNotificationsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConfirmationNotificationsRequest.Unmarshal(m, b) @@ -4968,7 +4968,7 @@ func (m *ConfirmationNotificationsResponse) Reset() { *m = ConfirmationN func (m *ConfirmationNotificationsResponse) String() string { return proto.CompactTextString(m) } func (*ConfirmationNotificationsResponse) ProtoMessage() {} func (*ConfirmationNotificationsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{73} + return fileDescriptor_api_ba169823a4f7e002, []int{73} } func (m *ConfirmationNotificationsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConfirmationNotificationsResponse.Unmarshal(m, b) @@ -5013,7 +5013,7 @@ func (m *ConfirmationNotificationsResponse_TransactionConfirmations) String() st } func (*ConfirmationNotificationsResponse_TransactionConfirmations) ProtoMessage() {} func (*ConfirmationNotificationsResponse_TransactionConfirmations) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{73, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{73, 0} } func (m *ConfirmationNotificationsResponse_TransactionConfirmations) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ConfirmationNotificationsResponse_TransactionConfirmations.Unmarshal(m, b) @@ -5074,7 +5074,7 @@ func (m *CreateWalletRequest) Reset() { *m = CreateWalletRequest{} } func (m *CreateWalletRequest) String() string { return proto.CompactTextString(m) } func (*CreateWalletRequest) ProtoMessage() {} func (*CreateWalletRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{74} + return fileDescriptor_api_ba169823a4f7e002, []int{74} } func (m *CreateWalletRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateWalletRequest.Unmarshal(m, b) @@ -5125,7 +5125,7 @@ func (m *CreateWalletResponse) Reset() { *m = CreateWalletResponse{} } func (m *CreateWalletResponse) String() string { return proto.CompactTextString(m) } func (*CreateWalletResponse) ProtoMessage() {} func (*CreateWalletResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{75} + return fileDescriptor_api_ba169823a4f7e002, []int{75} } func (m *CreateWalletResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateWalletResponse.Unmarshal(m, b) @@ -5157,7 +5157,7 @@ func (m *CreateWatchingOnlyWalletRequest) Reset() { *m = CreateWatchingO func (m *CreateWatchingOnlyWalletRequest) String() string { return proto.CompactTextString(m) } func (*CreateWatchingOnlyWalletRequest) ProtoMessage() {} func (*CreateWatchingOnlyWalletRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{76} + return fileDescriptor_api_ba169823a4f7e002, []int{76} } func (m *CreateWatchingOnlyWalletRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateWatchingOnlyWalletRequest.Unmarshal(m, b) @@ -5201,7 +5201,7 @@ func (m *CreateWatchingOnlyWalletResponse) Reset() { *m = CreateWatching func (m *CreateWatchingOnlyWalletResponse) String() string { return proto.CompactTextString(m) } func (*CreateWatchingOnlyWalletResponse) ProtoMessage() {} func (*CreateWatchingOnlyWalletResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{77} + return fileDescriptor_api_ba169823a4f7e002, []int{77} } func (m *CreateWatchingOnlyWalletResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateWatchingOnlyWalletResponse.Unmarshal(m, b) @@ -5232,7 +5232,7 @@ func (m *OpenWalletRequest) Reset() { *m = OpenWalletRequest{} } func (m *OpenWalletRequest) String() string { return proto.CompactTextString(m) } func (*OpenWalletRequest) ProtoMessage() {} func (*OpenWalletRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{78} + return fileDescriptor_api_ba169823a4f7e002, []int{78} } func (m *OpenWalletRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OpenWalletRequest.Unmarshal(m, b) @@ -5270,7 +5270,7 @@ func (m *OpenWalletResponse) Reset() { *m = OpenWalletResponse{} } func (m *OpenWalletResponse) String() string { return proto.CompactTextString(m) } func (*OpenWalletResponse) ProtoMessage() {} func (*OpenWalletResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{79} + return fileDescriptor_api_ba169823a4f7e002, []int{79} } func (m *OpenWalletResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_OpenWalletResponse.Unmarshal(m, b) @@ -5307,7 +5307,7 @@ func (m *CloseWalletRequest) Reset() { *m = CloseWalletRequest{} } func (m *CloseWalletRequest) String() string { return proto.CompactTextString(m) } func (*CloseWalletRequest) ProtoMessage() {} func (*CloseWalletRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{80} + return fileDescriptor_api_ba169823a4f7e002, []int{80} } func (m *CloseWalletRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CloseWalletRequest.Unmarshal(m, b) @@ -5337,7 +5337,7 @@ func (m *CloseWalletResponse) Reset() { *m = CloseWalletResponse{} } func (m *CloseWalletResponse) String() string { return proto.CompactTextString(m) } func (*CloseWalletResponse) ProtoMessage() {} func (*CloseWalletResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{81} + return fileDescriptor_api_ba169823a4f7e002, []int{81} } func (m *CloseWalletResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CloseWalletResponse.Unmarshal(m, b) @@ -5367,7 +5367,7 @@ func (m *WalletExistsRequest) Reset() { *m = WalletExistsRequest{} } func (m *WalletExistsRequest) String() string { return proto.CompactTextString(m) } func (*WalletExistsRequest) ProtoMessage() {} func (*WalletExistsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{82} + return fileDescriptor_api_ba169823a4f7e002, []int{82} } func (m *WalletExistsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_WalletExistsRequest.Unmarshal(m, b) @@ -5398,7 +5398,7 @@ func (m *WalletExistsResponse) Reset() { *m = WalletExistsResponse{} } func (m *WalletExistsResponse) String() string { return proto.CompactTextString(m) } func (*WalletExistsResponse) ProtoMessage() {} func (*WalletExistsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{83} + return fileDescriptor_api_ba169823a4f7e002, []int{83} } func (m *WalletExistsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_WalletExistsResponse.Unmarshal(m, b) @@ -5439,7 +5439,7 @@ func (m *StartConsensusRpcRequest) Reset() { *m = StartConsensusRpcReque func (m *StartConsensusRpcRequest) String() string { return proto.CompactTextString(m) } func (*StartConsensusRpcRequest) ProtoMessage() {} func (*StartConsensusRpcRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{84} + return fileDescriptor_api_ba169823a4f7e002, []int{84} } func (m *StartConsensusRpcRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StartConsensusRpcRequest.Unmarshal(m, b) @@ -5497,7 +5497,7 @@ func (m *StartConsensusRpcResponse) Reset() { *m = StartConsensusRpcResp func (m *StartConsensusRpcResponse) String() string { return proto.CompactTextString(m) } func (*StartConsensusRpcResponse) ProtoMessage() {} func (*StartConsensusRpcResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{85} + return fileDescriptor_api_ba169823a4f7e002, []int{85} } func (m *StartConsensusRpcResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StartConsensusRpcResponse.Unmarshal(m, b) @@ -5530,7 +5530,7 @@ func (m *DiscoverAddressesRequest) Reset() { *m = DiscoverAddressesReque func (m *DiscoverAddressesRequest) String() string { return proto.CompactTextString(m) } func (*DiscoverAddressesRequest) ProtoMessage() {} func (*DiscoverAddressesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{86} + return fileDescriptor_api_ba169823a4f7e002, []int{86} } func (m *DiscoverAddressesRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DiscoverAddressesRequest.Unmarshal(m, b) @@ -5581,7 +5581,7 @@ func (m *DiscoverAddressesResponse) Reset() { *m = DiscoverAddressesResp func (m *DiscoverAddressesResponse) String() string { return proto.CompactTextString(m) } func (*DiscoverAddressesResponse) ProtoMessage() {} func (*DiscoverAddressesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{87} + return fileDescriptor_api_ba169823a4f7e002, []int{87} } func (m *DiscoverAddressesResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DiscoverAddressesResponse.Unmarshal(m, b) @@ -5611,7 +5611,7 @@ func (m *FetchMissingCFiltersRequest) Reset() { *m = FetchMissingCFilter func (m *FetchMissingCFiltersRequest) String() string { return proto.CompactTextString(m) } func (*FetchMissingCFiltersRequest) ProtoMessage() {} func (*FetchMissingCFiltersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{88} + return fileDescriptor_api_ba169823a4f7e002, []int{88} } func (m *FetchMissingCFiltersRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FetchMissingCFiltersRequest.Unmarshal(m, b) @@ -5641,7 +5641,7 @@ func (m *FetchMissingCFiltersResponse) Reset() { *m = FetchMissingCFilte func (m *FetchMissingCFiltersResponse) String() string { return proto.CompactTextString(m) } func (*FetchMissingCFiltersResponse) ProtoMessage() {} func (*FetchMissingCFiltersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{89} + return fileDescriptor_api_ba169823a4f7e002, []int{89} } func (m *FetchMissingCFiltersResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FetchMissingCFiltersResponse.Unmarshal(m, b) @@ -5671,7 +5671,7 @@ func (m *SubscribeToBlockNotificationsRequest) Reset() { *m = SubscribeT func (m *SubscribeToBlockNotificationsRequest) String() string { return proto.CompactTextString(m) } func (*SubscribeToBlockNotificationsRequest) ProtoMessage() {} func (*SubscribeToBlockNotificationsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{90} + return fileDescriptor_api_ba169823a4f7e002, []int{90} } func (m *SubscribeToBlockNotificationsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SubscribeToBlockNotificationsRequest.Unmarshal(m, b) @@ -5701,7 +5701,7 @@ func (m *SubscribeToBlockNotificationsResponse) Reset() { *m = Subscribe func (m *SubscribeToBlockNotificationsResponse) String() string { return proto.CompactTextString(m) } func (*SubscribeToBlockNotificationsResponse) ProtoMessage() {} func (*SubscribeToBlockNotificationsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{91} + return fileDescriptor_api_ba169823a4f7e002, []int{91} } func (m *SubscribeToBlockNotificationsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SubscribeToBlockNotificationsResponse.Unmarshal(m, b) @@ -5731,7 +5731,7 @@ func (m *FetchHeadersRequest) Reset() { *m = FetchHeadersRequest{} } func (m *FetchHeadersRequest) String() string { return proto.CompactTextString(m) } func (*FetchHeadersRequest) ProtoMessage() {} func (*FetchHeadersRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{92} + return fileDescriptor_api_ba169823a4f7e002, []int{92} } func (m *FetchHeadersRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FetchHeadersRequest.Unmarshal(m, b) @@ -5766,7 +5766,7 @@ func (m *FetchHeadersResponse) Reset() { *m = FetchHeadersResponse{} } func (m *FetchHeadersResponse) String() string { return proto.CompactTextString(m) } func (*FetchHeadersResponse) ProtoMessage() {} func (*FetchHeadersResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{93} + return fileDescriptor_api_ba169823a4f7e002, []int{93} } func (m *FetchHeadersResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FetchHeadersResponse.Unmarshal(m, b) @@ -5833,7 +5833,7 @@ func (m *FetchHeadersNotification) Reset() { *m = FetchHeadersNotificati func (m *FetchHeadersNotification) String() string { return proto.CompactTextString(m) } func (*FetchHeadersNotification) ProtoMessage() {} func (*FetchHeadersNotification) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{94} + return fileDescriptor_api_ba169823a4f7e002, []int{94} } func (m *FetchHeadersNotification) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FetchHeadersNotification.Unmarshal(m, b) @@ -5879,7 +5879,7 @@ func (m *FetchMissingCFiltersNotification) Reset() { *m = FetchMissingCF func (m *FetchMissingCFiltersNotification) String() string { return proto.CompactTextString(m) } func (*FetchMissingCFiltersNotification) ProtoMessage() {} func (*FetchMissingCFiltersNotification) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{95} + return fileDescriptor_api_ba169823a4f7e002, []int{95} } func (m *FetchMissingCFiltersNotification) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_FetchMissingCFiltersNotification.Unmarshal(m, b) @@ -5924,7 +5924,7 @@ func (m *RescanProgressNotification) Reset() { *m = RescanProgressNotifi func (m *RescanProgressNotification) String() string { return proto.CompactTextString(m) } func (*RescanProgressNotification) ProtoMessage() {} func (*RescanProgressNotification) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{96} + return fileDescriptor_api_ba169823a4f7e002, []int{96} } func (m *RescanProgressNotification) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RescanProgressNotification.Unmarshal(m, b) @@ -5963,7 +5963,7 @@ func (m *PeerNotification) Reset() { *m = PeerNotification{} } func (m *PeerNotification) String() string { return proto.CompactTextString(m) } func (*PeerNotification) ProtoMessage() {} func (*PeerNotification) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{97} + return fileDescriptor_api_ba169823a4f7e002, []int{97} } func (m *PeerNotification) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PeerNotification.Unmarshal(m, b) @@ -6013,7 +6013,7 @@ func (m *RpcSyncRequest) Reset() { *m = RpcSyncRequest{} } func (m *RpcSyncRequest) String() string { return proto.CompactTextString(m) } func (*RpcSyncRequest) ProtoMessage() {} func (*RpcSyncRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{98} + return fileDescriptor_api_ba169823a4f7e002, []int{98} } func (m *RpcSyncRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RpcSyncRequest.Unmarshal(m, b) @@ -6091,7 +6091,7 @@ func (m *RpcSyncResponse) Reset() { *m = RpcSyncResponse{} } func (m *RpcSyncResponse) String() string { return proto.CompactTextString(m) } func (*RpcSyncResponse) ProtoMessage() {} func (*RpcSyncResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{99} + return fileDescriptor_api_ba169823a4f7e002, []int{99} } func (m *RpcSyncResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RpcSyncResponse.Unmarshal(m, b) @@ -6166,7 +6166,7 @@ func (m *SpvSyncRequest) Reset() { *m = SpvSyncRequest{} } func (m *SpvSyncRequest) String() string { return proto.CompactTextString(m) } func (*SpvSyncRequest) ProtoMessage() {} func (*SpvSyncRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{100} + return fileDescriptor_api_ba169823a4f7e002, []int{100} } func (m *SpvSyncRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SpvSyncRequest.Unmarshal(m, b) @@ -6223,7 +6223,7 @@ func (m *SpvSyncResponse) Reset() { *m = SpvSyncResponse{} } func (m *SpvSyncResponse) String() string { return proto.CompactTextString(m) } func (*SpvSyncResponse) ProtoMessage() {} func (*SpvSyncResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{101} + return fileDescriptor_api_ba169823a4f7e002, []int{101} } func (m *SpvSyncResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SpvSyncResponse.Unmarshal(m, b) @@ -6295,7 +6295,7 @@ func (m *RescanPointRequest) Reset() { *m = RescanPointRequest{} } func (m *RescanPointRequest) String() string { return proto.CompactTextString(m) } func (*RescanPointRequest) ProtoMessage() {} func (*RescanPointRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{102} + return fileDescriptor_api_ba169823a4f7e002, []int{102} } func (m *RescanPointRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RescanPointRequest.Unmarshal(m, b) @@ -6326,7 +6326,7 @@ func (m *RescanPointResponse) Reset() { *m = RescanPointResponse{} } func (m *RescanPointResponse) String() string { return proto.CompactTextString(m) } func (*RescanPointResponse) ProtoMessage() {} func (*RescanPointResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{103} + return fileDescriptor_api_ba169823a4f7e002, []int{103} } func (m *RescanPointResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RescanPointResponse.Unmarshal(m, b) @@ -6364,7 +6364,7 @@ func (m *GenerateRandomSeedRequest) Reset() { *m = GenerateRandomSeedReq func (m *GenerateRandomSeedRequest) String() string { return proto.CompactTextString(m) } func (*GenerateRandomSeedRequest) ProtoMessage() {} func (*GenerateRandomSeedRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{104} + return fileDescriptor_api_ba169823a4f7e002, []int{104} } func (m *GenerateRandomSeedRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GenerateRandomSeedRequest.Unmarshal(m, b) @@ -6404,7 +6404,7 @@ func (m *GenerateRandomSeedResponse) Reset() { *m = GenerateRandomSeedRe func (m *GenerateRandomSeedResponse) String() string { return proto.CompactTextString(m) } func (*GenerateRandomSeedResponse) ProtoMessage() {} func (*GenerateRandomSeedResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{105} + return fileDescriptor_api_ba169823a4f7e002, []int{105} } func (m *GenerateRandomSeedResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GenerateRandomSeedResponse.Unmarshal(m, b) @@ -6456,7 +6456,7 @@ func (m *DecodeSeedRequest) Reset() { *m = DecodeSeedRequest{} } func (m *DecodeSeedRequest) String() string { return proto.CompactTextString(m) } func (*DecodeSeedRequest) ProtoMessage() {} func (*DecodeSeedRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{106} + return fileDescriptor_api_ba169823a4f7e002, []int{106} } func (m *DecodeSeedRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DecodeSeedRequest.Unmarshal(m, b) @@ -6494,7 +6494,7 @@ func (m *DecodeSeedResponse) Reset() { *m = DecodeSeedResponse{} } func (m *DecodeSeedResponse) String() string { return proto.CompactTextString(m) } func (*DecodeSeedResponse) ProtoMessage() {} func (*DecodeSeedResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{107} + return fileDescriptor_api_ba169823a4f7e002, []int{107} } func (m *DecodeSeedResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DecodeSeedResponse.Unmarshal(m, b) @@ -6538,7 +6538,7 @@ func (m *RunTicketBuyerRequest) Reset() { *m = RunTicketBuyerRequest{} } func (m *RunTicketBuyerRequest) String() string { return proto.CompactTextString(m) } func (*RunTicketBuyerRequest) ProtoMessage() {} func (*RunTicketBuyerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{108} + return fileDescriptor_api_ba169823a4f7e002, []int{108} } func (m *RunTicketBuyerRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RunTicketBuyerRequest.Unmarshal(m, b) @@ -6617,7 +6617,7 @@ func (m *RunTicketBuyerResponse) Reset() { *m = RunTicketBuyerResponse{} func (m *RunTicketBuyerResponse) String() string { return proto.CompactTextString(m) } func (*RunTicketBuyerResponse) ProtoMessage() {} func (*RunTicketBuyerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{109} + return fileDescriptor_api_ba169823a4f7e002, []int{109} } func (m *RunTicketBuyerResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_RunTicketBuyerResponse.Unmarshal(m, b) @@ -6657,7 +6657,7 @@ func (m *StartAutoBuyerRequest) Reset() { *m = StartAutoBuyerRequest{} } func (m *StartAutoBuyerRequest) String() string { return proto.CompactTextString(m) } func (*StartAutoBuyerRequest) ProtoMessage() {} func (*StartAutoBuyerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{110} + return fileDescriptor_api_ba169823a4f7e002, []int{110} } func (m *StartAutoBuyerRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StartAutoBuyerRequest.Unmarshal(m, b) @@ -6757,7 +6757,7 @@ func (m *StartAutoBuyerResponse) Reset() { *m = StartAutoBuyerResponse{} func (m *StartAutoBuyerResponse) String() string { return proto.CompactTextString(m) } func (*StartAutoBuyerResponse) ProtoMessage() {} func (*StartAutoBuyerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{111} + return fileDescriptor_api_ba169823a4f7e002, []int{111} } func (m *StartAutoBuyerResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StartAutoBuyerResponse.Unmarshal(m, b) @@ -6787,7 +6787,7 @@ func (m *StopAutoBuyerRequest) Reset() { *m = StopAutoBuyerRequest{} } func (m *StopAutoBuyerRequest) String() string { return proto.CompactTextString(m) } func (*StopAutoBuyerRequest) ProtoMessage() {} func (*StopAutoBuyerRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{112} + return fileDescriptor_api_ba169823a4f7e002, []int{112} } func (m *StopAutoBuyerRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StopAutoBuyerRequest.Unmarshal(m, b) @@ -6817,7 +6817,7 @@ func (m *StopAutoBuyerResponse) Reset() { *m = StopAutoBuyerResponse{} } func (m *StopAutoBuyerResponse) String() string { return proto.CompactTextString(m) } func (*StopAutoBuyerResponse) ProtoMessage() {} func (*StopAutoBuyerResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{113} + return fileDescriptor_api_ba169823a4f7e002, []int{113} } func (m *StopAutoBuyerResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_StopAutoBuyerResponse.Unmarshal(m, b) @@ -6847,7 +6847,7 @@ func (m *TicketBuyerConfigRequest) Reset() { *m = TicketBuyerConfigReque func (m *TicketBuyerConfigRequest) String() string { return proto.CompactTextString(m) } func (*TicketBuyerConfigRequest) ProtoMessage() {} func (*TicketBuyerConfigRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{114} + return fileDescriptor_api_ba169823a4f7e002, []int{114} } func (m *TicketBuyerConfigRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TicketBuyerConfigRequest.Unmarshal(m, b) @@ -6897,7 +6897,7 @@ func (m *TicketBuyerConfigResponse) Reset() { *m = TicketBuyerConfigResp func (m *TicketBuyerConfigResponse) String() string { return proto.CompactTextString(m) } func (*TicketBuyerConfigResponse) ProtoMessage() {} func (*TicketBuyerConfigResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{115} + return fileDescriptor_api_ba169823a4f7e002, []int{115} } func (m *TicketBuyerConfigResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TicketBuyerConfigResponse.Unmarshal(m, b) @@ -7068,7 +7068,7 @@ func (m *SetAccountRequest) Reset() { *m = SetAccountRequest{} } func (m *SetAccountRequest) String() string { return proto.CompactTextString(m) } func (*SetAccountRequest) ProtoMessage() {} func (*SetAccountRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{116} + return fileDescriptor_api_ba169823a4f7e002, []int{116} } func (m *SetAccountRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetAccountRequest.Unmarshal(m, b) @@ -7105,7 +7105,7 @@ func (m *SetAccountResponse) Reset() { *m = SetAccountResponse{} } func (m *SetAccountResponse) String() string { return proto.CompactTextString(m) } func (*SetAccountResponse) ProtoMessage() {} func (*SetAccountResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{117} + return fileDescriptor_api_ba169823a4f7e002, []int{117} } func (m *SetAccountResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetAccountResponse.Unmarshal(m, b) @@ -7136,7 +7136,7 @@ func (m *SetBalanceToMaintainRequest) Reset() { *m = SetBalanceToMaintai func (m *SetBalanceToMaintainRequest) String() string { return proto.CompactTextString(m) } func (*SetBalanceToMaintainRequest) ProtoMessage() {} func (*SetBalanceToMaintainRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{118} + return fileDescriptor_api_ba169823a4f7e002, []int{118} } func (m *SetBalanceToMaintainRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetBalanceToMaintainRequest.Unmarshal(m, b) @@ -7173,7 +7173,7 @@ func (m *SetBalanceToMaintainResponse) Reset() { *m = SetBalanceToMainta func (m *SetBalanceToMaintainResponse) String() string { return proto.CompactTextString(m) } func (*SetBalanceToMaintainResponse) ProtoMessage() {} func (*SetBalanceToMaintainResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{119} + return fileDescriptor_api_ba169823a4f7e002, []int{119} } func (m *SetBalanceToMaintainResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetBalanceToMaintainResponse.Unmarshal(m, b) @@ -7204,7 +7204,7 @@ func (m *SetMaxFeeRequest) Reset() { *m = SetMaxFeeRequest{} } func (m *SetMaxFeeRequest) String() string { return proto.CompactTextString(m) } func (*SetMaxFeeRequest) ProtoMessage() {} func (*SetMaxFeeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{120} + return fileDescriptor_api_ba169823a4f7e002, []int{120} } func (m *SetMaxFeeRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMaxFeeRequest.Unmarshal(m, b) @@ -7241,7 +7241,7 @@ func (m *SetMaxFeeResponse) Reset() { *m = SetMaxFeeResponse{} } func (m *SetMaxFeeResponse) String() string { return proto.CompactTextString(m) } func (*SetMaxFeeResponse) ProtoMessage() {} func (*SetMaxFeeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{121} + return fileDescriptor_api_ba169823a4f7e002, []int{121} } func (m *SetMaxFeeResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMaxFeeResponse.Unmarshal(m, b) @@ -7272,7 +7272,7 @@ func (m *SetMaxPriceRelativeRequest) Reset() { *m = SetMaxPriceRelativeR func (m *SetMaxPriceRelativeRequest) String() string { return proto.CompactTextString(m) } func (*SetMaxPriceRelativeRequest) ProtoMessage() {} func (*SetMaxPriceRelativeRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{122} + return fileDescriptor_api_ba169823a4f7e002, []int{122} } func (m *SetMaxPriceRelativeRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMaxPriceRelativeRequest.Unmarshal(m, b) @@ -7309,7 +7309,7 @@ func (m *SetMaxPriceRelativeResponse) Reset() { *m = SetMaxPriceRelative func (m *SetMaxPriceRelativeResponse) String() string { return proto.CompactTextString(m) } func (*SetMaxPriceRelativeResponse) ProtoMessage() {} func (*SetMaxPriceRelativeResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{123} + return fileDescriptor_api_ba169823a4f7e002, []int{123} } func (m *SetMaxPriceRelativeResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMaxPriceRelativeResponse.Unmarshal(m, b) @@ -7340,7 +7340,7 @@ func (m *SetMaxPriceAbsoluteRequest) Reset() { *m = SetMaxPriceAbsoluteR func (m *SetMaxPriceAbsoluteRequest) String() string { return proto.CompactTextString(m) } func (*SetMaxPriceAbsoluteRequest) ProtoMessage() {} func (*SetMaxPriceAbsoluteRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{124} + return fileDescriptor_api_ba169823a4f7e002, []int{124} } func (m *SetMaxPriceAbsoluteRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMaxPriceAbsoluteRequest.Unmarshal(m, b) @@ -7377,7 +7377,7 @@ func (m *SetMaxPriceAbsoluteResponse) Reset() { *m = SetMaxPriceAbsolute func (m *SetMaxPriceAbsoluteResponse) String() string { return proto.CompactTextString(m) } func (*SetMaxPriceAbsoluteResponse) ProtoMessage() {} func (*SetMaxPriceAbsoluteResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{125} + return fileDescriptor_api_ba169823a4f7e002, []int{125} } func (m *SetMaxPriceAbsoluteResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMaxPriceAbsoluteResponse.Unmarshal(m, b) @@ -7408,7 +7408,7 @@ func (m *SetVotingAddressRequest) Reset() { *m = SetVotingAddressRequest func (m *SetVotingAddressRequest) String() string { return proto.CompactTextString(m) } func (*SetVotingAddressRequest) ProtoMessage() {} func (*SetVotingAddressRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{126} + return fileDescriptor_api_ba169823a4f7e002, []int{126} } func (m *SetVotingAddressRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetVotingAddressRequest.Unmarshal(m, b) @@ -7445,7 +7445,7 @@ func (m *SetVotingAddressResponse) Reset() { *m = SetVotingAddressRespon func (m *SetVotingAddressResponse) String() string { return proto.CompactTextString(m) } func (*SetVotingAddressResponse) ProtoMessage() {} func (*SetVotingAddressResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{127} + return fileDescriptor_api_ba169823a4f7e002, []int{127} } func (m *SetVotingAddressResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetVotingAddressResponse.Unmarshal(m, b) @@ -7476,7 +7476,7 @@ func (m *SetPoolAddressRequest) Reset() { *m = SetPoolAddressRequest{} } func (m *SetPoolAddressRequest) String() string { return proto.CompactTextString(m) } func (*SetPoolAddressRequest) ProtoMessage() {} func (*SetPoolAddressRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{128} + return fileDescriptor_api_ba169823a4f7e002, []int{128} } func (m *SetPoolAddressRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetPoolAddressRequest.Unmarshal(m, b) @@ -7513,7 +7513,7 @@ func (m *SetPoolAddressResponse) Reset() { *m = SetPoolAddressResponse{} func (m *SetPoolAddressResponse) String() string { return proto.CompactTextString(m) } func (*SetPoolAddressResponse) ProtoMessage() {} func (*SetPoolAddressResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{129} + return fileDescriptor_api_ba169823a4f7e002, []int{129} } func (m *SetPoolAddressResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetPoolAddressResponse.Unmarshal(m, b) @@ -7544,7 +7544,7 @@ func (m *SetPoolFeesRequest) Reset() { *m = SetPoolFeesRequest{} } func (m *SetPoolFeesRequest) String() string { return proto.CompactTextString(m) } func (*SetPoolFeesRequest) ProtoMessage() {} func (*SetPoolFeesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{130} + return fileDescriptor_api_ba169823a4f7e002, []int{130} } func (m *SetPoolFeesRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetPoolFeesRequest.Unmarshal(m, b) @@ -7581,7 +7581,7 @@ func (m *SetPoolFeesResponse) Reset() { *m = SetPoolFeesResponse{} } func (m *SetPoolFeesResponse) String() string { return proto.CompactTextString(m) } func (*SetPoolFeesResponse) ProtoMessage() {} func (*SetPoolFeesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{131} + return fileDescriptor_api_ba169823a4f7e002, []int{131} } func (m *SetPoolFeesResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetPoolFeesResponse.Unmarshal(m, b) @@ -7612,7 +7612,7 @@ func (m *SetMaxPerBlockRequest) Reset() { *m = SetMaxPerBlockRequest{} } func (m *SetMaxPerBlockRequest) String() string { return proto.CompactTextString(m) } func (*SetMaxPerBlockRequest) ProtoMessage() {} func (*SetMaxPerBlockRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{132} + return fileDescriptor_api_ba169823a4f7e002, []int{132} } func (m *SetMaxPerBlockRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMaxPerBlockRequest.Unmarshal(m, b) @@ -7649,7 +7649,7 @@ func (m *SetMaxPerBlockResponse) Reset() { *m = SetMaxPerBlockResponse{} func (m *SetMaxPerBlockResponse) String() string { return proto.CompactTextString(m) } func (*SetMaxPerBlockResponse) ProtoMessage() {} func (*SetMaxPerBlockResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{133} + return fileDescriptor_api_ba169823a4f7e002, []int{133} } func (m *SetMaxPerBlockResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMaxPerBlockResponse.Unmarshal(m, b) @@ -7679,7 +7679,7 @@ func (m *AgendasRequest) Reset() { *m = AgendasRequest{} } func (m *AgendasRequest) String() string { return proto.CompactTextString(m) } func (*AgendasRequest) ProtoMessage() {} func (*AgendasRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{134} + return fileDescriptor_api_ba169823a4f7e002, []int{134} } func (m *AgendasRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AgendasRequest.Unmarshal(m, b) @@ -7711,7 +7711,7 @@ func (m *AgendasResponse) Reset() { *m = AgendasResponse{} } func (m *AgendasResponse) String() string { return proto.CompactTextString(m) } func (*AgendasResponse) ProtoMessage() {} func (*AgendasResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{135} + return fileDescriptor_api_ba169823a4f7e002, []int{135} } func (m *AgendasResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AgendasResponse.Unmarshal(m, b) @@ -7761,7 +7761,7 @@ func (m *AgendasResponse_Agenda) Reset() { *m = AgendasResponse_Agenda{} func (m *AgendasResponse_Agenda) String() string { return proto.CompactTextString(m) } func (*AgendasResponse_Agenda) ProtoMessage() {} func (*AgendasResponse_Agenda) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{135, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{135, 0} } func (m *AgendasResponse_Agenda) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AgendasResponse_Agenda.Unmarshal(m, b) @@ -7838,7 +7838,7 @@ func (m *AgendasResponse_Choice) Reset() { *m = AgendasResponse_Choice{} func (m *AgendasResponse_Choice) String() string { return proto.CompactTextString(m) } func (*AgendasResponse_Choice) ProtoMessage() {} func (*AgendasResponse_Choice) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{135, 1} + return fileDescriptor_api_ba169823a4f7e002, []int{135, 1} } func (m *AgendasResponse_Choice) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AgendasResponse_Choice.Unmarshal(m, b) @@ -7903,7 +7903,7 @@ func (m *VoteChoicesRequest) Reset() { *m = VoteChoicesRequest{} } func (m *VoteChoicesRequest) String() string { return proto.CompactTextString(m) } func (*VoteChoicesRequest) ProtoMessage() {} func (*VoteChoicesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{136} + return fileDescriptor_api_ba169823a4f7e002, []int{136} } func (m *VoteChoicesRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_VoteChoicesRequest.Unmarshal(m, b) @@ -7936,7 +7936,7 @@ func (m *VoteChoicesResponse) Reset() { *m = VoteChoicesResponse{} } func (m *VoteChoicesResponse) String() string { return proto.CompactTextString(m) } func (*VoteChoicesResponse) ProtoMessage() {} func (*VoteChoicesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{137} + return fileDescriptor_api_ba169823a4f7e002, []int{137} } func (m *VoteChoicesResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_VoteChoicesResponse.Unmarshal(m, b) @@ -7991,7 +7991,7 @@ func (m *VoteChoicesResponse_Choice) Reset() { *m = VoteChoicesResponse_ func (m *VoteChoicesResponse_Choice) String() string { return proto.CompactTextString(m) } func (*VoteChoicesResponse_Choice) ProtoMessage() {} func (*VoteChoicesResponse_Choice) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{137, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{137, 0} } func (m *VoteChoicesResponse_Choice) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_VoteChoicesResponse_Choice.Unmarshal(m, b) @@ -8050,7 +8050,7 @@ func (m *SetVoteChoicesRequest) Reset() { *m = SetVoteChoicesRequest{} } func (m *SetVoteChoicesRequest) String() string { return proto.CompactTextString(m) } func (*SetVoteChoicesRequest) ProtoMessage() {} func (*SetVoteChoicesRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{138} + return fileDescriptor_api_ba169823a4f7e002, []int{138} } func (m *SetVoteChoicesRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetVoteChoicesRequest.Unmarshal(m, b) @@ -8089,7 +8089,7 @@ func (m *SetVoteChoicesRequest_Choice) Reset() { *m = SetVoteChoicesRequ func (m *SetVoteChoicesRequest_Choice) String() string { return proto.CompactTextString(m) } func (*SetVoteChoicesRequest_Choice) ProtoMessage() {} func (*SetVoteChoicesRequest_Choice) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{138, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{138, 0} } func (m *SetVoteChoicesRequest_Choice) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetVoteChoicesRequest_Choice.Unmarshal(m, b) @@ -8134,7 +8134,7 @@ func (m *SetVoteChoicesResponse) Reset() { *m = SetVoteChoicesResponse{} func (m *SetVoteChoicesResponse) String() string { return proto.CompactTextString(m) } func (*SetVoteChoicesResponse) ProtoMessage() {} func (*SetVoteChoicesResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{139} + return fileDescriptor_api_ba169823a4f7e002, []int{139} } func (m *SetVoteChoicesResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetVoteChoicesResponse.Unmarshal(m, b) @@ -8174,7 +8174,7 @@ func (m *VerifyMessageRequest) Reset() { *m = VerifyMessageRequest{} } func (m *VerifyMessageRequest) String() string { return proto.CompactTextString(m) } func (*VerifyMessageRequest) ProtoMessage() {} func (*VerifyMessageRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{140} + return fileDescriptor_api_ba169823a4f7e002, []int{140} } func (m *VerifyMessageRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_VerifyMessageRequest.Unmarshal(m, b) @@ -8226,7 +8226,7 @@ func (m *VerifyMessageResponse) Reset() { *m = VerifyMessageResponse{} } func (m *VerifyMessageResponse) String() string { return proto.CompactTextString(m) } func (*VerifyMessageResponse) ProtoMessage() {} func (*VerifyMessageResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{141} + return fileDescriptor_api_ba169823a4f7e002, []int{141} } func (m *VerifyMessageResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_VerifyMessageResponse.Unmarshal(m, b) @@ -8270,7 +8270,7 @@ func (m *DecodedTransaction) Reset() { *m = DecodedTransaction{} } func (m *DecodedTransaction) String() string { return proto.CompactTextString(m) } func (*DecodedTransaction) ProtoMessage() {} func (*DecodedTransaction) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{142} + return fileDescriptor_api_ba169823a4f7e002, []int{142} } func (m *DecodedTransaction) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DecodedTransaction.Unmarshal(m, b) @@ -8358,7 +8358,7 @@ func (m *DecodedTransaction_Input) Reset() { *m = DecodedTransaction_Inp func (m *DecodedTransaction_Input) String() string { return proto.CompactTextString(m) } func (*DecodedTransaction_Input) ProtoMessage() {} func (*DecodedTransaction_Input) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{142, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{142, 0} } func (m *DecodedTransaction_Input) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DecodedTransaction_Input.Unmarshal(m, b) @@ -8460,7 +8460,7 @@ func (m *DecodedTransaction_Output) Reset() { *m = DecodedTransaction_Ou func (m *DecodedTransaction_Output) String() string { return proto.CompactTextString(m) } func (*DecodedTransaction_Output) ProtoMessage() {} func (*DecodedTransaction_Output) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{142, 1} + return fileDescriptor_api_ba169823a4f7e002, []int{142, 1} } func (m *DecodedTransaction_Output) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DecodedTransaction_Output.Unmarshal(m, b) @@ -8554,7 +8554,7 @@ func (m *DecodeRawTransactionRequest) Reset() { *m = DecodeRawTransactio func (m *DecodeRawTransactionRequest) String() string { return proto.CompactTextString(m) } func (*DecodeRawTransactionRequest) ProtoMessage() {} func (*DecodeRawTransactionRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{143} + return fileDescriptor_api_ba169823a4f7e002, []int{143} } func (m *DecodeRawTransactionRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DecodeRawTransactionRequest.Unmarshal(m, b) @@ -8592,7 +8592,7 @@ func (m *DecodeRawTransactionResponse) Reset() { *m = DecodeRawTransacti func (m *DecodeRawTransactionResponse) String() string { return proto.CompactTextString(m) } func (*DecodeRawTransactionResponse) ProtoMessage() {} func (*DecodeRawTransactionResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{144} + return fileDescriptor_api_ba169823a4f7e002, []int{144} } func (m *DecodeRawTransactionResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DecodeRawTransactionResponse.Unmarshal(m, b) @@ -8630,7 +8630,7 @@ func (m *ValidateAddressRequest) Reset() { *m = ValidateAddressRequest{} func (m *ValidateAddressRequest) String() string { return proto.CompactTextString(m) } func (*ValidateAddressRequest) ProtoMessage() {} func (*ValidateAddressRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{145} + return fileDescriptor_api_ba169823a4f7e002, []int{145} } func (m *ValidateAddressRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ValidateAddressRequest.Unmarshal(m, b) @@ -8679,7 +8679,7 @@ func (m *ValidateAddressResponse) Reset() { *m = ValidateAddressResponse func (m *ValidateAddressResponse) String() string { return proto.CompactTextString(m) } func (*ValidateAddressResponse) ProtoMessage() {} func (*ValidateAddressResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{146} + return fileDescriptor_api_ba169823a4f7e002, []int{146} } func (m *ValidateAddressResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ValidateAddressResponse.Unmarshal(m, b) @@ -8794,7 +8794,7 @@ func (m *CommittedTicketsRequest) Reset() { *m = CommittedTicketsRequest func (m *CommittedTicketsRequest) String() string { return proto.CompactTextString(m) } func (*CommittedTicketsRequest) ProtoMessage() {} func (*CommittedTicketsRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{147} + return fileDescriptor_api_ba169823a4f7e002, []int{147} } func (m *CommittedTicketsRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommittedTicketsRequest.Unmarshal(m, b) @@ -8832,7 +8832,7 @@ func (m *GetAccountExtendedPubKeyRequest) Reset() { *m = GetAccountExten func (m *GetAccountExtendedPubKeyRequest) String() string { return proto.CompactTextString(m) } func (*GetAccountExtendedPubKeyRequest) ProtoMessage() {} func (*GetAccountExtendedPubKeyRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{148} + return fileDescriptor_api_ba169823a4f7e002, []int{148} } func (m *GetAccountExtendedPubKeyRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetAccountExtendedPubKeyRequest.Unmarshal(m, b) @@ -8870,7 +8870,7 @@ func (m *GetAccountExtendedPubKeyResponse) Reset() { *m = GetAccountExte func (m *GetAccountExtendedPubKeyResponse) String() string { return proto.CompactTextString(m) } func (*GetAccountExtendedPubKeyResponse) ProtoMessage() {} func (*GetAccountExtendedPubKeyResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{149} + return fileDescriptor_api_ba169823a4f7e002, []int{149} } func (m *GetAccountExtendedPubKeyResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetAccountExtendedPubKeyResponse.Unmarshal(m, b) @@ -8908,7 +8908,7 @@ func (m *CommittedTicketsResponse) Reset() { *m = CommittedTicketsRespon func (m *CommittedTicketsResponse) String() string { return proto.CompactTextString(m) } func (*CommittedTicketsResponse) ProtoMessage() {} func (*CommittedTicketsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{150} + return fileDescriptor_api_ba169823a4f7e002, []int{150} } func (m *CommittedTicketsResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommittedTicketsResponse.Unmarshal(m, b) @@ -8949,7 +8949,7 @@ func (m *CommittedTicketsResponse_TicketAddress) Reset() { func (m *CommittedTicketsResponse_TicketAddress) String() string { return proto.CompactTextString(m) } func (*CommittedTicketsResponse_TicketAddress) ProtoMessage() {} func (*CommittedTicketsResponse_TicketAddress) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{150, 0} + return fileDescriptor_api_ba169823a4f7e002, []int{150, 0} } func (m *CommittedTicketsResponse_TicketAddress) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommittedTicketsResponse_TicketAddress.Unmarshal(m, b) @@ -8993,7 +8993,7 @@ func (m *BestBlockRequest) Reset() { *m = BestBlockRequest{} } func (m *BestBlockRequest) String() string { return proto.CompactTextString(m) } func (*BestBlockRequest) ProtoMessage() {} func (*BestBlockRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{151} + return fileDescriptor_api_ba169823a4f7e002, []int{151} } func (m *BestBlockRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BestBlockRequest.Unmarshal(m, b) @@ -9025,7 +9025,7 @@ func (m *BestBlockResponse) Reset() { *m = BestBlockResponse{} } func (m *BestBlockResponse) String() string { return proto.CompactTextString(m) } func (*BestBlockResponse) ProtoMessage() {} func (*BestBlockResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{152} + return fileDescriptor_api_ba169823a4f7e002, []int{152} } func (m *BestBlockResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BestBlockResponse.Unmarshal(m, b) @@ -9073,7 +9073,7 @@ func (m *SweepAccountRequest) Reset() { *m = SweepAccountRequest{} } func (m *SweepAccountRequest) String() string { return proto.CompactTextString(m) } func (*SweepAccountRequest) ProtoMessage() {} func (*SweepAccountRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{153} + return fileDescriptor_api_ba169823a4f7e002, []int{153} } func (m *SweepAccountRequest) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SweepAccountRequest.Unmarshal(m, b) @@ -9135,7 +9135,7 @@ func (m *SweepAccountResponse) Reset() { *m = SweepAccountResponse{} } func (m *SweepAccountResponse) String() string { return proto.CompactTextString(m) } func (*SweepAccountResponse) ProtoMessage() {} func (*SweepAccountResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_api_bfc3eaa1a00f06bc, []int{154} + return fileDescriptor_api_ba169823a4f7e002, []int{154} } func (m *SweepAccountResponse) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SweepAccountResponse.Unmarshal(m, b) @@ -9183,6 +9183,172 @@ func (m *SweepAccountResponse) GetEstimatedSignedSize() uint32 { return 0 } +type CleanOutAccountRequest struct { + SourceAccount string `protobuf:"bytes,1,opt,name=source_account,json=sourceAccount,proto3" json:"source_account,omitempty"` + DestinationAddress string `protobuf:"bytes,2,opt,name=destination_address,json=destinationAddress,proto3" json:"destination_address,omitempty"` + RequiredConfirmations uint32 `protobuf:"varint,3,opt,name=required_confirmations,json=requiredConfirmations,proto3" json:"required_confirmations,omitempty"` + FeePerKb float64 `protobuf:"fixed64,4,opt,name=fee_per_kb,json=feePerKb,proto3" json:"fee_per_kb,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CleanOutAccountRequest) Reset() { *m = CleanOutAccountRequest{} } +func (m *CleanOutAccountRequest) String() string { return proto.CompactTextString(m) } +func (*CleanOutAccountRequest) ProtoMessage() {} +func (*CleanOutAccountRequest) Descriptor() ([]byte, []int) { + return fileDescriptor_api_ba169823a4f7e002, []int{155} +} +func (m *CleanOutAccountRequest) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CleanOutAccountRequest.Unmarshal(m, b) +} +func (m *CleanOutAccountRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CleanOutAccountRequest.Marshal(b, m, deterministic) +} +func (dst *CleanOutAccountRequest) XXX_Merge(src proto.Message) { + xxx_messageInfo_CleanOutAccountRequest.Merge(dst, src) +} +func (m *CleanOutAccountRequest) XXX_Size() int { + return xxx_messageInfo_CleanOutAccountRequest.Size(m) +} +func (m *CleanOutAccountRequest) XXX_DiscardUnknown() { + xxx_messageInfo_CleanOutAccountRequest.DiscardUnknown(m) +} + +var xxx_messageInfo_CleanOutAccountRequest proto.InternalMessageInfo + +func (m *CleanOutAccountRequest) GetSourceAccount() string { + if m != nil { + return m.SourceAccount + } + return "" +} + +func (m *CleanOutAccountRequest) GetDestinationAddress() string { + if m != nil { + return m.DestinationAddress + } + return "" +} + +func (m *CleanOutAccountRequest) GetRequiredConfirmations() uint32 { + if m != nil { + return m.RequiredConfirmations + } + return 0 +} + +func (m *CleanOutAccountRequest) GetFeePerKb() float64 { + if m != nil { + return m.FeePerKb + } + return 0 +} + +type CleanOutAccountResponse struct { + Transactions []*CleanOutAccountResponse_CleanOutAccountTransaction `protobuf:"bytes,1,rep,name=transactions,proto3" json:"transactions,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CleanOutAccountResponse) Reset() { *m = CleanOutAccountResponse{} } +func (m *CleanOutAccountResponse) String() string { return proto.CompactTextString(m) } +func (*CleanOutAccountResponse) ProtoMessage() {} +func (*CleanOutAccountResponse) Descriptor() ([]byte, []int) { + return fileDescriptor_api_ba169823a4f7e002, []int{156} +} +func (m *CleanOutAccountResponse) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CleanOutAccountResponse.Unmarshal(m, b) +} +func (m *CleanOutAccountResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CleanOutAccountResponse.Marshal(b, m, deterministic) +} +func (dst *CleanOutAccountResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_CleanOutAccountResponse.Merge(dst, src) +} +func (m *CleanOutAccountResponse) XXX_Size() int { + return xxx_messageInfo_CleanOutAccountResponse.Size(m) +} +func (m *CleanOutAccountResponse) XXX_DiscardUnknown() { + xxx_messageInfo_CleanOutAccountResponse.DiscardUnknown(m) +} + +var xxx_messageInfo_CleanOutAccountResponse proto.InternalMessageInfo + +func (m *CleanOutAccountResponse) GetTransactions() []*CleanOutAccountResponse_CleanOutAccountTransaction { + if m != nil { + return m.Transactions + } + return nil +} + +type CleanOutAccountResponse_CleanOutAccountTransaction struct { + UnsignedTransaction []byte `protobuf:"bytes,1,opt,name=unsigned_transaction,json=unsignedTransaction,proto3" json:"unsigned_transaction,omitempty"` + TotalPreviousOutputAmount int64 `protobuf:"varint,2,opt,name=total_previous_output_amount,json=totalPreviousOutputAmount,proto3" json:"total_previous_output_amount,omitempty"` + TotalOutputAmount int64 `protobuf:"varint,3,opt,name=total_output_amount,json=totalOutputAmount,proto3" json:"total_output_amount,omitempty"` + EstimatedSignedSize uint32 `protobuf:"varint,4,opt,name=estimated_signed_size,json=estimatedSignedSize,proto3" json:"estimated_signed_size,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *CleanOutAccountResponse_CleanOutAccountTransaction) Reset() { + *m = CleanOutAccountResponse_CleanOutAccountTransaction{} +} +func (m *CleanOutAccountResponse_CleanOutAccountTransaction) String() string { + return proto.CompactTextString(m) +} +func (*CleanOutAccountResponse_CleanOutAccountTransaction) ProtoMessage() {} +func (*CleanOutAccountResponse_CleanOutAccountTransaction) Descriptor() ([]byte, []int) { + return fileDescriptor_api_ba169823a4f7e002, []int{156, 0} +} +func (m *CleanOutAccountResponse_CleanOutAccountTransaction) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CleanOutAccountResponse_CleanOutAccountTransaction.Unmarshal(m, b) +} +func (m *CleanOutAccountResponse_CleanOutAccountTransaction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CleanOutAccountResponse_CleanOutAccountTransaction.Marshal(b, m, deterministic) +} +func (dst *CleanOutAccountResponse_CleanOutAccountTransaction) XXX_Merge(src proto.Message) { + xxx_messageInfo_CleanOutAccountResponse_CleanOutAccountTransaction.Merge(dst, src) +} +func (m *CleanOutAccountResponse_CleanOutAccountTransaction) XXX_Size() int { + return xxx_messageInfo_CleanOutAccountResponse_CleanOutAccountTransaction.Size(m) +} +func (m *CleanOutAccountResponse_CleanOutAccountTransaction) XXX_DiscardUnknown() { + xxx_messageInfo_CleanOutAccountResponse_CleanOutAccountTransaction.DiscardUnknown(m) +} + +var xxx_messageInfo_CleanOutAccountResponse_CleanOutAccountTransaction proto.InternalMessageInfo + +func (m *CleanOutAccountResponse_CleanOutAccountTransaction) GetUnsignedTransaction() []byte { + if m != nil { + return m.UnsignedTransaction + } + return nil +} + +func (m *CleanOutAccountResponse_CleanOutAccountTransaction) GetTotalPreviousOutputAmount() int64 { + if m != nil { + return m.TotalPreviousOutputAmount + } + return 0 +} + +func (m *CleanOutAccountResponse_CleanOutAccountTransaction) GetTotalOutputAmount() int64 { + if m != nil { + return m.TotalOutputAmount + } + return 0 +} + +func (m *CleanOutAccountResponse_CleanOutAccountTransaction) GetEstimatedSignedSize() uint32 { + if m != nil { + return m.EstimatedSignedSize + } + return 0 +} + func init() { proto.RegisterType((*VersionRequest)(nil), "walletrpc.VersionRequest") proto.RegisterType((*VersionResponse)(nil), "walletrpc.VersionResponse") @@ -9361,6 +9527,9 @@ func init() { proto.RegisterType((*BestBlockResponse)(nil), "walletrpc.BestBlockResponse") proto.RegisterType((*SweepAccountRequest)(nil), "walletrpc.SweepAccountRequest") proto.RegisterType((*SweepAccountResponse)(nil), "walletrpc.SweepAccountResponse") + proto.RegisterType((*CleanOutAccountRequest)(nil), "walletrpc.CleanOutAccountRequest") + proto.RegisterType((*CleanOutAccountResponse)(nil), "walletrpc.CleanOutAccountResponse") + proto.RegisterType((*CleanOutAccountResponse_CleanOutAccountTransaction)(nil), "walletrpc.CleanOutAccountResponse.CleanOutAccountTransaction") proto.RegisterEnum("walletrpc.SyncNotificationType", SyncNotificationType_name, SyncNotificationType_value) proto.RegisterEnum("walletrpc.TransactionDetails_TransactionType", TransactionDetails_TransactionType_name, TransactionDetails_TransactionType_value) proto.RegisterEnum("walletrpc.NextAddressRequest_Kind", NextAddressRequest_Kind_name, NextAddressRequest_Kind_value) @@ -12417,533 +12586,536 @@ var _DecodeMessageService_serviceDesc = grpc.ServiceDesc{ Metadata: "api.proto", } -func init() { proto.RegisterFile("api.proto", fileDescriptor_api_bfc3eaa1a00f06bc) } - -var fileDescriptor_api_bfc3eaa1a00f06bc = []byte{ - // 8391 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x7d, 0x5b, 0x6c, 0x24, 0x59, - 0x96, 0xd0, 0x84, 0xd3, 0x8f, 0xcc, 0xe3, 0xcc, 0x74, 0xe4, 0xf5, 0x2b, 0x2b, 0x5d, 0xd5, 0x55, - 0x15, 0xdd, 0xd5, 0x5d, 0xd3, 0x0f, 0x77, 0x8d, 0xbb, 0x67, 0xa6, 0x77, 0xa6, 0xa7, 0xbb, 0xb3, - 0xec, 0xac, 0xaa, 0x9c, 0xb2, 0xd3, 0xb9, 0x91, 0x59, 0xd5, 0xd5, 0xd3, 0xb0, 0xa1, 0x70, 0xe6, - 0xb5, 0x1d, 0x5b, 0x99, 0x11, 0x39, 0x11, 0x91, 0x76, 0x79, 0x00, 0x31, 0x1a, 0x04, 0x7f, 0x2b, - 0x1e, 0x12, 0x1f, 0x3c, 0x76, 0x85, 0x04, 0x02, 0x24, 0xc4, 0x02, 0x02, 0xa1, 0x15, 0x83, 0x10, - 0x8b, 0xf8, 0x41, 0x2b, 0x84, 0x96, 0x1f, 0x3e, 0xf8, 0x43, 0xe2, 0x0b, 0x89, 0x95, 0xf8, 0xe5, - 0x03, 0x74, 0x5f, 0x11, 0xf7, 0xc6, 0x23, 0x6d, 0xf7, 0xf4, 0x48, 0xcc, 0x88, 0xfa, 0xa9, 0x8c, - 0x73, 0xcf, 0x3d, 0xf7, 0x75, 0xee, 0xb9, 0xe7, 0x9e, 0x7b, 0xce, 0x31, 0x94, 0xec, 0x89, 0xb3, - 0x3d, 0xf1, 0xbd, 0xd0, 0x43, 0xa5, 0x73, 0x7b, 0x34, 0xc2, 0xa1, 0x3f, 0x19, 0x18, 0x3a, 0x54, - 0x9f, 0x63, 0x3f, 0x70, 0x3c, 0xd7, 0xc4, 0x3f, 0x9e, 0xe2, 0x20, 0x34, 0xfe, 0x50, 0x83, 0x95, - 0x08, 0x14, 0x4c, 0x3c, 0x37, 0xc0, 0xe8, 0x1e, 0x54, 0xcf, 0x18, 0xc8, 0x0a, 0x42, 0xdf, 0x71, - 0x4f, 0xea, 0xda, 0x1d, 0xed, 0x7e, 0xc9, 0xac, 0x70, 0x68, 0x8f, 0x02, 0xd1, 0x1a, 0x2c, 0x8c, - 0xed, 0xdf, 0xf6, 0xfc, 0xfa, 0xdc, 0x1d, 0xed, 0x7e, 0xc5, 0x64, 0x1f, 0x14, 0xea, 0xb8, 0x9e, - 0x5f, 0x2f, 0x70, 0x28, 0xf9, 0x20, 0xd0, 0x89, 0x1d, 0x0e, 0x4e, 0xeb, 0xf3, 0x0c, 0x4a, 0x3f, - 0xd0, 0x6b, 0x00, 0x13, 0x1f, 0xfb, 0x78, 0x84, 0xed, 0x00, 0xd7, 0x17, 0x68, 0x23, 0x12, 0x84, - 0x74, 0xe4, 0x68, 0xea, 0x8c, 0x86, 0xd6, 0x18, 0x87, 0xf6, 0xd0, 0x0e, 0xed, 0xfa, 0x22, 0xeb, - 0x08, 0x85, 0x1e, 0x70, 0xa0, 0xf1, 0x9f, 0x16, 0x00, 0xf5, 0x7d, 0xdb, 0x0d, 0xec, 0x41, 0xe8, - 0x78, 0xee, 0x1e, 0x0e, 0x6d, 0x67, 0x14, 0x20, 0x04, 0xf3, 0xa7, 0x76, 0x70, 0x4a, 0x3b, 0x5f, - 0x36, 0xe9, 0x6f, 0x74, 0x07, 0x96, 0xc3, 0x18, 0x93, 0xf6, 0xbc, 0x6c, 0xca, 0x20, 0xf4, 0x7d, - 0x58, 0x1c, 0xe2, 0x23, 0x27, 0x0c, 0xea, 0x85, 0x3b, 0x85, 0xfb, 0xcb, 0x3b, 0xaf, 0x6f, 0x47, - 0xd3, 0xb7, 0x9d, 0x6e, 0x64, 0xbb, 0xed, 0x4e, 0xa6, 0xa1, 0xc9, 0xab, 0xa0, 0x4f, 0x60, 0x69, - 0xe0, 0xe3, 0x21, 0xa9, 0x3d, 0x4f, 0x6b, 0xbf, 0x31, 0xbb, 0xf6, 0xe1, 0x34, 0x24, 0xd5, 0x45, - 0x25, 0xa4, 0x43, 0xe1, 0x18, 0xb3, 0x99, 0x28, 0x98, 0xe4, 0x27, 0xba, 0x09, 0xa5, 0xd0, 0x19, - 0xe3, 0x20, 0xb4, 0xc7, 0x13, 0x3a, 0xfa, 0x82, 0x19, 0x03, 0xd0, 0x0b, 0xd0, 0xa5, 0xbe, 0x5b, - 0xe1, 0xc5, 0x04, 0xd7, 0x97, 0xee, 0x68, 0xf7, 0xab, 0x3b, 0xef, 0xcd, 0x6e, 0x58, 0x02, 0xf5, - 0x2f, 0x26, 0xd8, 0x5c, 0x09, 0x55, 0x40, 0xe3, 0xc7, 0xb0, 0x40, 0x87, 0x46, 0x56, 0xce, 0x71, - 0x87, 0xf8, 0x15, 0x9d, 0xc6, 0x8a, 0xc9, 0x3e, 0xd0, 0x37, 0x41, 0x9f, 0xf8, 0xf8, 0xcc, 0xf1, - 0xa6, 0x81, 0x65, 0x0f, 0x06, 0xde, 0xd4, 0x0d, 0x39, 0x1b, 0xac, 0x08, 0x78, 0x93, 0x81, 0xd1, - 0x5b, 0xb0, 0x12, 0xa3, 0x8e, 0x29, 0x66, 0x81, 0x8e, 0xa3, 0x1a, 0x61, 0x52, 0x68, 0xe3, 0x1f, - 0x69, 0xb0, 0xc8, 0x26, 0x24, 0xa7, 0xd1, 0x3a, 0x2c, 0xa9, 0x6d, 0x89, 0x4f, 0xd4, 0x80, 0xa2, - 0xe3, 0x86, 0xd8, 0x77, 0xed, 0x11, 0x25, 0x5e, 0x34, 0xa3, 0x6f, 0xb4, 0x01, 0x8b, 0xbc, 0xd9, - 0x79, 0xda, 0x2c, 0xff, 0xa2, 0xd4, 0x86, 0x43, 0x1f, 0x07, 0x01, 0xe7, 0x3c, 0xf1, 0x89, 0x5e, - 0x87, 0x8a, 0x47, 0xfb, 0x61, 0x05, 0x03, 0xdf, 0x99, 0x84, 0x74, 0xde, 0xcb, 0x66, 0x99, 0x01, - 0x7b, 0x14, 0x66, 0x7c, 0x09, 0x2b, 0x89, 0x49, 0x44, 0xcb, 0xb0, 0x64, 0xb6, 0x1e, 0x3f, 0xdb, - 0x6f, 0x9a, 0xfa, 0x37, 0x50, 0x19, 0x8a, 0xbb, 0x87, 0xed, 0xce, 0xc3, 0x66, 0xaf, 0xa5, 0xcf, - 0xa3, 0x55, 0x58, 0xe9, 0xb7, 0x77, 0x9f, 0xb6, 0xfa, 0x56, 0xf7, 0x99, 0xb9, 0xfb, 0x84, 0x00, - 0x35, 0x54, 0x84, 0xf9, 0xe7, 0x87, 0xfd, 0x96, 0x3e, 0x87, 0xaa, 0x00, 0x66, 0xeb, 0xf9, 0xe1, - 0x6e, 0xb3, 0xdf, 0x3e, 0xec, 0xe8, 0x05, 0xe3, 0xdf, 0x6b, 0x50, 0x7e, 0x38, 0xf2, 0x06, 0x2f, - 0x67, 0xf1, 0xf2, 0x06, 0x2c, 0x9e, 0x62, 0xe7, 0xe4, 0x94, 0xcd, 0xc6, 0x82, 0xc9, 0xbf, 0x54, - 0x96, 0x29, 0x24, 0x59, 0xe6, 0x2d, 0x58, 0xb1, 0x27, 0x13, 0xdf, 0x3b, 0xc3, 0x81, 0x35, 0xb1, - 0x7d, 0xec, 0x86, 0x74, 0xf8, 0x45, 0xb3, 0x2a, 0xc0, 0x5d, 0x0a, 0x45, 0x4d, 0x28, 0x4b, 0x4c, - 0x21, 0x18, 0xfa, 0xd6, 0x4c, 0xbe, 0x32, 0x95, 0x2a, 0xc6, 0x21, 0x54, 0x39, 0x17, 0x3c, 0xb4, - 0x47, 0xb6, 0x3b, 0xc0, 0xf2, 0x12, 0x6a, 0xea, 0x12, 0xbe, 0x0e, 0x95, 0xd0, 0x0b, 0xed, 0x91, - 0x75, 0xc4, 0x50, 0xe9, 0xa0, 0x0a, 0x66, 0x99, 0x02, 0x79, 0x75, 0xa3, 0x02, 0xcb, 0x5d, 0xc7, - 0x3d, 0x11, 0xc2, 0xab, 0x0a, 0x65, 0xf6, 0xc9, 0x04, 0x17, 0x11, 0x6f, 0x1d, 0x1c, 0x9e, 0x7b, - 0xfe, 0x4b, 0x81, 0xf1, 0x11, 0xac, 0x44, 0x90, 0x58, 0xba, 0x91, 0xfe, 0x9d, 0x61, 0xcb, 0x65, - 0x25, 0xbc, 0x27, 0x15, 0x06, 0xe5, 0xe8, 0xc6, 0x6f, 0xc0, 0x1a, 0xef, 0x7b, 0x67, 0x3a, 0x3e, - 0xc2, 0x3e, 0xa7, 0x88, 0xee, 0x42, 0x99, 0x77, 0xd9, 0x72, 0xed, 0x31, 0xe6, 0xa2, 0x71, 0x99, - 0xc3, 0x3a, 0xf6, 0x18, 0x1b, 0x9f, 0xc0, 0x7a, 0xa2, 0xaa, 0xdc, 0x34, 0xaf, 0x4b, 0x4b, 0xe2, - 0xa6, 0x25, 0x74, 0xa3, 0x06, 0x2b, 0xbc, 0x7e, 0x20, 0xc6, 0xf1, 0x07, 0x05, 0xd0, 0x63, 0x18, - 0x27, 0xf7, 0x29, 0x14, 0x79, 0xc5, 0xa0, 0xae, 0xa5, 0x84, 0x55, 0x12, 0x5d, 0x00, 0xcc, 0xa8, - 0x12, 0x7a, 0x17, 0xd0, 0x60, 0xea, 0x93, 0xd5, 0xb6, 0x8e, 0x08, 0xb7, 0x59, 0x94, 0xc7, 0x98, - 0x50, 0xd4, 0x79, 0x09, 0x65, 0xc3, 0x27, 0x84, 0xdf, 0x1e, 0xc0, 0x5a, 0x02, 0x9b, 0x71, 0x5f, - 0x81, 0x72, 0x1f, 0x52, 0xf0, 0x69, 0x49, 0xe3, 0x67, 0x73, 0xb0, 0x24, 0xc4, 0xc0, 0xd5, 0xc6, - 0x9e, 0x9a, 0xde, 0xb9, 0xd4, 0xf4, 0xa6, 0x39, 0xa5, 0x90, 0xe6, 0x14, 0x32, 0x34, 0xfc, 0x8a, - 0x49, 0x00, 0xeb, 0x25, 0xbe, 0xb0, 0x06, 0x91, 0x04, 0xa8, 0x98, 0xba, 0x28, 0x79, 0x8a, 0x2f, - 0x76, 0x69, 0xe7, 0xde, 0x05, 0x24, 0xe4, 0x85, 0x84, 0xbd, 0xc0, 0xb0, 0x45, 0x89, 0x82, 0x3d, - 0x9e, 0x78, 0x7e, 0x88, 0x87, 0x12, 0xf6, 0x22, 0xc7, 0xe6, 0x25, 0x02, 0xdb, 0x78, 0x01, 0x6b, - 0x26, 0x26, 0x63, 0x11, 0xf3, 0xcf, 0x19, 0xe9, 0x8a, 0x13, 0x72, 0x03, 0x8a, 0x2e, 0x3e, 0x97, - 0x27, 0x63, 0xc9, 0xc5, 0xe7, 0x94, 0xcf, 0x36, 0x61, 0x3d, 0x41, 0x99, 0xef, 0x83, 0xdf, 0x84, - 0x8a, 0x89, 0x83, 0x81, 0xed, 0x4a, 0x4c, 0x7b, 0x84, 0x4f, 0x1c, 0x57, 0x2c, 0x99, 0x46, 0x97, - 0x6c, 0x99, 0xc2, 0xd8, 0x5a, 0xa1, 0x5b, 0x00, 0x1c, 0x25, 0xe6, 0x81, 0x12, 0x43, 0xb0, 0x83, - 0x53, 0xe3, 0x07, 0x50, 0x15, 0x24, 0x39, 0xf7, 0xbd, 0x03, 0x35, 0x9f, 0x42, 0x5c, 0x3c, 0xb4, - 0xc2, 0x53, 0xdf, 0x9b, 0x9e, 0x9c, 0x72, 0xc2, 0x7a, 0x54, 0xd0, 0x67, 0x70, 0xe3, 0x73, 0x40, - 0x1d, 0xfc, 0x2a, 0x4c, 0x4c, 0x01, 0x39, 0xff, 0xed, 0x20, 0x98, 0x9c, 0xfa, 0xe4, 0xfc, 0x67, - 0xb2, 0x4d, 0x82, 0x5c, 0x81, 0x19, 0x8c, 0x8f, 0x61, 0x55, 0x21, 0x7c, 0xbd, 0x9d, 0xf6, 0x1f, - 0xe7, 0x78, 0xbf, 0x98, 0xe4, 0x17, 0xfd, 0xca, 0x97, 0x52, 0xdf, 0x81, 0xf9, 0x97, 0x8e, 0x3b, - 0xa4, 0x3d, 0xa9, 0xee, 0x18, 0xd2, 0x76, 0x4b, 0x93, 0xd9, 0x7e, 0xea, 0xb8, 0x43, 0x93, 0xe2, - 0xa3, 0x47, 0x00, 0x27, 0xf6, 0xc4, 0x9a, 0x78, 0x23, 0x67, 0x70, 0x41, 0x19, 0xb6, 0xba, 0xf3, - 0xd6, 0xec, 0xda, 0x8f, 0xed, 0x49, 0x97, 0xa2, 0x9b, 0xa5, 0x13, 0xf1, 0xd3, 0xd8, 0x81, 0x79, - 0x42, 0x15, 0xad, 0x81, 0xfe, 0xb0, 0xdd, 0x7d, 0xf0, 0xe0, 0xc3, 0x0f, 0xad, 0xd6, 0x8b, 0x7e, - 0xcb, 0xec, 0x34, 0xf7, 0xf5, 0x6f, 0xc8, 0xd0, 0x76, 0x87, 0x43, 0x35, 0xc3, 0x81, 0x52, 0x44, - 0x0b, 0x35, 0x60, 0xe3, 0x71, 0xb3, 0x6b, 0x75, 0x0f, 0xf7, 0xdb, 0xbb, 0x5f, 0x58, 0xcf, 0x3a, - 0xbd, 0x6e, 0x6b, 0xb7, 0xfd, 0xa8, 0xdd, 0xda, 0x63, 0xd5, 0xa5, 0xb2, 0x96, 0x69, 0x1e, 0x9a, - 0xba, 0x86, 0xd6, 0xa1, 0x26, 0x41, 0xdb, 0x8f, 0x3b, 0x87, 0x26, 0x39, 0xb2, 0x56, 0x61, 0x45, - 0x02, 0x7f, 0x6e, 0x36, 0xbb, 0x7a, 0xc1, 0xe8, 0xf0, 0xd5, 0x10, 0x23, 0xe1, 0xab, 0x21, 0x1d, - 0xb5, 0x9a, 0x7a, 0xd4, 0xde, 0x02, 0x98, 0x4c, 0x8f, 0x46, 0xce, 0x80, 0x6c, 0x24, 0xbe, 0xbe, - 0x25, 0x06, 0x79, 0x8a, 0x2f, 0x8c, 0x7f, 0xaa, 0xc1, 0x66, 0x9b, 0x6e, 0xa8, 0xae, 0xef, 0x9c, - 0xd9, 0x21, 0x7e, 0x8a, 0x2f, 0xae, 0xca, 0x3c, 0xf9, 0xda, 0xc2, 0x9b, 0x44, 0x23, 0xa1, 0xe4, - 0xe8, 0xf6, 0x3d, 0x77, 0x8e, 0xe9, 0x8a, 0x94, 0xcc, 0xca, 0x24, 0x6a, 0xe5, 0x73, 0xe7, 0x98, - 0x1c, 0xb0, 0x8c, 0x91, 0xa9, 0xdc, 0x28, 0x9a, 0xfc, 0x0b, 0x6d, 0x41, 0x89, 0xfc, 0x6f, 0x1d, - 0xfb, 0xde, 0x98, 0x0a, 0x89, 0x05, 0xb3, 0x48, 0x00, 0x8f, 0x7c, 0x6f, 0x6c, 0x34, 0xa0, 0x9e, - 0xee, 0x31, 0xdf, 0x97, 0xff, 0x4c, 0x83, 0x55, 0x56, 0xc8, 0x94, 0x88, 0xab, 0x0e, 0x65, 0x03, - 0x16, 0xb9, 0x26, 0xc2, 0xf6, 0x25, 0xff, 0x92, 0x3a, 0x58, 0xc8, 0xef, 0xe0, 0xbc, 0xda, 0x41, - 0xf4, 0x1e, 0x20, 0x1f, 0xff, 0x78, 0xea, 0xf8, 0xd8, 0xf2, 0xf1, 0x10, 0xe3, 0xb1, 0x7d, 0x34, - 0xc2, 0x5c, 0x07, 0xa8, 0xf1, 0x12, 0x33, 0x2a, 0x30, 0xbe, 0x80, 0x35, 0xb5, 0xcb, 0x7c, 0x4d, - 0xef, 0x42, 0x79, 0xb2, 0x13, 0x9c, 0x5a, 0xea, 0xc2, 0x2e, 0x13, 0x18, 0x5f, 0x7e, 0x32, 0x2c, - 0xa9, 0x85, 0x39, 0xda, 0x82, 0x04, 0x31, 0x5c, 0xa8, 0x72, 0x71, 0x7d, 0x4d, 0x99, 0xf8, 0x6d, - 0xd8, 0xe0, 0x1d, 0x1d, 0x5a, 0x03, 0xcf, 0x3d, 0x76, 0xfc, 0xb1, 0xcd, 0x94, 0x14, 0xa6, 0x09, - 0xad, 0x8b, 0xd2, 0x5d, 0xb9, 0xd0, 0xf8, 0xbb, 0x73, 0xb0, 0x12, 0x35, 0xc8, 0x87, 0xb1, 0x06, - 0x0b, 0xf4, 0xdc, 0xa0, 0x0d, 0x15, 0x4c, 0xf6, 0x41, 0x54, 0xa8, 0x60, 0x82, 0xdd, 0x61, 0xd4, - 0xf1, 0x82, 0x19, 0x03, 0x88, 0x0a, 0xe5, 0x8c, 0xc7, 0x76, 0x38, 0xa5, 0x53, 0x78, 0x6e, 0xfb, - 0x43, 0xa1, 0xd1, 0x0a, 0xb0, 0x49, 0xa1, 0xe8, 0x7b, 0x70, 0x23, 0x42, 0x0c, 0x42, 0xfb, 0x25, - 0xb6, 0x4e, 0xb0, 0x8b, 0x7d, 0xda, 0x1d, 0xae, 0x8d, 0x6e, 0x0a, 0x84, 0x1e, 0x29, 0x7f, 0x1c, - 0x15, 0xa3, 0xb7, 0xa1, 0x46, 0x4e, 0x52, 0x3c, 0xb4, 0x8e, 0x2e, 0xac, 0xd0, 0x19, 0xbc, 0xc4, - 0x61, 0xc0, 0x2f, 0x06, 0x2b, 0xac, 0xe0, 0xe1, 0x45, 0x9f, 0x81, 0x89, 0x36, 0x7e, 0xe6, 0x85, - 0x8e, 0x7b, 0x62, 0xd9, 0xd3, 0xf0, 0xd4, 0xf3, 0x9d, 0xf0, 0x82, 0xdf, 0x15, 0x56, 0x18, 0xbc, - 0x29, 0xc0, 0xe4, 0x02, 0x34, 0x75, 0xf9, 0x9c, 0xe1, 0x21, 0xbd, 0x2c, 0x14, 0x4c, 0x19, 0x64, - 0x3c, 0x84, 0xf5, 0xc7, 0x38, 0x94, 0x74, 0x3b, 0xb1, 0x38, 0xdf, 0x54, 0x2f, 0x1b, 0x92, 0x3e, - 0x2a, 0xdf, 0x1e, 0xe8, 0x69, 0xf1, 0x7b, 0x1a, 0x6c, 0x24, 0x89, 0x44, 0x4a, 0x8b, 0x72, 0x03, - 0x23, 0x04, 0x2e, 0xd5, 0x2a, 0x95, 0x0b, 0xda, 0x1b, 0x50, 0xc9, 0x5a, 0x73, 0x15, 0x48, 0x8f, - 0xb3, 0x58, 0xa5, 0x29, 0xf0, 0xe3, 0x4c, 0xe8, 0x32, 0xc6, 0x7f, 0x9e, 0x4b, 0x76, 0x30, 0x12, - 0xfe, 0xdb, 0xb0, 0x1a, 0x84, 0xb6, 0x4f, 0xa7, 0x53, 0x22, 0xc1, 0x46, 0x5a, 0x13, 0x45, 0xb1, - 0x5a, 0xb4, 0x03, 0xeb, 0x49, 0xfc, 0x58, 0x2b, 0xaf, 0x99, 0xab, 0x6a, 0x0d, 0x76, 0xd8, 0xbe, - 0x0d, 0x35, 0xec, 0x0e, 0x13, 0x2d, 0xb0, 0x4e, 0xae, 0xb0, 0x82, 0x98, 0xfe, 0x36, 0xac, 0xaa, - 0xb8, 0x8c, 0x3a, 0xdb, 0xd6, 0x35, 0x19, 0x9b, 0xd1, 0xfe, 0x04, 0xb6, 0xc6, 0x8e, 0xeb, 0x8c, - 0xa7, 0x63, 0xcb, 0xc7, 0x03, 0xa2, 0xad, 0x29, 0x6a, 0x3c, 0x93, 0x57, 0x37, 0x38, 0x8a, 0x49, - 0x31, 0xe4, 0x69, 0x40, 0x1f, 0x41, 0x3d, 0xb4, 0xfd, 0x13, 0xac, 0xd4, 0x93, 0x74, 0x9c, 0x05, - 0x73, 0x83, 0x95, 0x4b, 0xb5, 0x98, 0xa6, 0xf3, 0xcf, 0x35, 0xd8, 0x4c, 0x4d, 0x2a, 0x5f, 0xf6, - 0x47, 0x80, 0xc6, 0x0e, 0xd5, 0x14, 0xe4, 0xce, 0xb0, 0xd5, 0xdf, 0x94, 0x56, 0x5f, 0xbe, 0xf5, - 0x98, 0x35, 0x5a, 0x45, 0xe9, 0x5d, 0x17, 0xd6, 0xa6, 0x6e, 0x06, 0xa5, 0xb9, 0xab, 0xdc, 0x4e, - 0x56, 0x79, 0x55, 0x99, 0xa2, 0xf1, 0x01, 0xe8, 0xa4, 0xd3, 0x74, 0x2b, 0x09, 0x1e, 0xb8, 0x0d, - 0xcb, 0x6c, 0xcb, 0xc9, 0x6b, 0x0f, 0x0c, 0x44, 0xf9, 0xe7, 0x2f, 0xcc, 0x41, 0x2d, 0xaa, 0xf5, - 0x6b, 0xc3, 0x3a, 0xdb, 0xb0, 0x2a, 0x96, 0x9e, 0x8d, 0x3e, 0xd6, 0x83, 0x17, 0xcc, 0x1a, 0x5f, - 0x75, 0x5a, 0xc2, 0x16, 0xfc, 0x3f, 0xcc, 0x03, 0x92, 0x67, 0x81, 0xaf, 0xf5, 0x2e, 0x2c, 0xb2, - 0xfa, 0x7c, 0x7d, 0xdf, 0x91, 0x56, 0x25, 0x8d, 0xbe, 0xcd, 0xbe, 0xc5, 0x1a, 0xf1, 0xaa, 0xe8, - 0x33, 0x58, 0xa0, 0x9d, 0xa6, 0x73, 0xb1, 0xbc, 0xf3, 0xf6, 0x6c, 0x1a, 0x0a, 0xdb, 0xb0, 0x8a, - 0x8d, 0x3f, 0x9e, 0x83, 0x8a, 0x42, 0x1b, 0x7d, 0x3b, 0xd1, 0xb1, 0x4b, 0xd8, 0x45, 0x74, 0xe5, - 0xbb, 0xb0, 0x44, 0x85, 0x3f, 0xf6, 0x79, 0x67, 0x2e, 0xa9, 0x27, 0xb0, 0xd1, 0x9f, 0x86, 0x0a, - 0x9f, 0xc8, 0x20, 0xb4, 0xc3, 0x69, 0xc0, 0x15, 0xbf, 0x8f, 0xae, 0x31, 0x1f, 0xfc, 0xab, 0x47, - 0xeb, 0x9b, 0xe5, 0x50, 0xfa, 0x32, 0x7e, 0x0c, 0x65, 0xb9, 0x14, 0x2d, 0xc3, 0xd2, 0xb3, 0xce, - 0xd3, 0xce, 0xe1, 0xe7, 0x1d, 0xfd, 0x1b, 0xec, 0xe3, 0xa0, 0xdd, 0x69, 0xed, 0xe9, 0x1a, 0x2a, - 0x43, 0xb1, 0x7d, 0x70, 0xd0, 0xec, 0x3f, 0xa3, 0xaa, 0x5b, 0x11, 0xe6, 0xf7, 0xdb, 0xcf, 0x5b, - 0x7a, 0x01, 0x95, 0x60, 0xe1, 0xf9, 0x61, 0xbf, 0xb5, 0xa7, 0xcf, 0x23, 0x80, 0xc5, 0x83, 0x76, - 0xaf, 0xd7, 0xda, 0xd3, 0x17, 0x48, 0xdd, 0xd6, 0x8b, 0x6e, 0xdb, 0x6c, 0xed, 0xe9, 0x8b, 0xcc, - 0xaa, 0xf1, 0xfc, 0xf0, 0x69, 0x6b, 0x4f, 0x5f, 0x6a, 0xbc, 0xf8, 0x65, 0xd9, 0x25, 0x8c, 0x35, - 0x40, 0x6c, 0x30, 0x5d, 0xdf, 0x89, 0x14, 0x02, 0xa3, 0x0b, 0xab, 0x0a, 0x34, 0x56, 0x3e, 0xf8, - 0xc4, 0x4e, 0x08, 0x9c, 0x1f, 0xde, 0x7c, 0xcf, 0x52, 0xd4, 0xbc, 0x5e, 0x18, 0x08, 0x74, 0x7a, - 0xd4, 0xb6, 0xdd, 0x63, 0x4f, 0xb4, 0xf2, 0xc7, 0x73, 0x50, 0x93, 0x80, 0xbc, 0x91, 0x2d, 0x28, - 0x4d, 0x3c, 0x6f, 0x64, 0x05, 0xce, 0x4f, 0x30, 0xd7, 0x43, 0x8a, 0x04, 0xd0, 0x73, 0x7e, 0x82, - 0x89, 0x0e, 0x69, 0x8f, 0x46, 0xd6, 0x18, 0x8f, 0x29, 0x4e, 0xe8, 0xbc, 0xe2, 0x5a, 0x66, 0xc5, - 0x1e, 0x8d, 0x0e, 0x18, 0xb4, 0xef, 0xbc, 0x22, 0x78, 0xde, 0xb9, 0xab, 0xe0, 0x31, 0xc3, 0x68, - 0xc5, 0x3b, 0x77, 0x25, 0xbc, 0x06, 0x14, 0x85, 0x26, 0xc0, 0x6f, 0xa9, 0xd1, 0x37, 0x99, 0xe4, - 0x91, 0x73, 0x86, 0xf9, 0x7d, 0x94, 0xfe, 0x26, 0x7a, 0xcb, 0x99, 0x17, 0xe2, 0x21, 0xbf, 0x76, - 0xb2, 0x0f, 0x32, 0xe8, 0xb1, 0x13, 0x04, 0xfc, 0x60, 0xaf, 0x98, 0xfc, 0x8b, 0xe8, 0xc2, 0x3e, - 0x3e, 0xf3, 0x5e, 0xe2, 0x61, 0xbd, 0xc8, 0x74, 0x61, 0xfe, 0x49, 0x4a, 0xf0, 0xab, 0x09, 0xd1, - 0x95, 0xea, 0x25, 0x56, 0xc2, 0x3f, 0xe3, 0x6b, 0x76, 0x30, 0x3d, 0x0a, 0x9c, 0xe1, 0x45, 0x1d, - 0xa4, 0x6b, 0x76, 0x8f, 0xc1, 0x48, 0xf5, 0xa9, 0x4b, 0xd8, 0x3d, 0xac, 0x2f, 0xb3, 0xea, 0xfc, - 0xd3, 0xe8, 0x83, 0x4e, 0x39, 0x45, 0x9a, 0xe7, 0xc4, 0xa1, 0xac, 0x25, 0x0e, 0x65, 0x7a, 0x4b, - 0x4d, 0x4a, 0x41, 0x72, 0x4b, 0x8d, 0x25, 0x94, 0xf1, 0xd7, 0xe6, 0xa0, 0x26, 0x91, 0xe5, 0x2b, - 0xf5, 0x0b, 0xd3, 0x4d, 0x2b, 0x15, 0x85, 0x2c, 0xa5, 0x42, 0xe1, 0xe0, 0xf9, 0xa4, 0x65, 0x4d, - 0x6a, 0xc6, 0x26, 0xb2, 0x62, 0x81, 0x19, 0x97, 0x79, 0x33, 0x04, 0x44, 0xee, 0xcc, 0x4c, 0x0f, - 0x74, 0xdc, 0x33, 0x7b, 0xe4, 0x0c, 0x6d, 0xb1, 0x82, 0x45, 0x53, 0x0f, 0x18, 0x03, 0x46, 0xf0, - 0x2c, 0x4b, 0xdd, 0x52, 0x96, 0xa5, 0xce, 0xf8, 0x43, 0x0d, 0x36, 0x77, 0x4f, 0x6d, 0xf7, 0x04, - 0x77, 0xa3, 0x3b, 0x83, 0x98, 0xf2, 0x8f, 0xa0, 0x40, 0x6e, 0x56, 0x1a, 0x15, 0x3c, 0x6f, 0x4a, - 0x82, 0x27, 0xa7, 0xc2, 0x36, 0xb9, 0xaf, 0x90, 0x2a, 0x44, 0x17, 0xf7, 0x46, 0x43, 0x4b, 0xba, - 0x98, 0xb0, 0xcb, 0x47, 0xc5, 0x1b, 0x0d, 0xe3, 0x6a, 0x04, 0xcd, 0xc5, 0xe7, 0x32, 0x1a, 0x3b, - 0x8c, 0x2a, 0x2e, 0x3e, 0x8f, 0xd1, 0x8c, 0xd7, 0xa0, 0xf0, 0x14, 0x5f, 0x10, 0x61, 0xd2, 0x35, - 0xdb, 0xcf, 0x9b, 0xfd, 0x96, 0xfe, 0x0d, 0x22, 0x72, 0xba, 0xcf, 0x1e, 0xee, 0xb7, 0x77, 0x75, - 0x8d, 0x5c, 0x9b, 0xd2, 0x3d, 0xe2, 0xd7, 0xa6, 0x9f, 0xce, 0xc1, 0xc6, 0xa3, 0xa9, 0x3b, 0xcc, - 0xd0, 0x49, 0x67, 0xdb, 0x13, 0xd9, 0x59, 0xc6, 0xad, 0xbf, 0xc2, 0x9e, 0x48, 0x81, 0xcc, 0xe4, - 0x3c, 0xe3, 0x22, 0x51, 0x98, 0x71, 0x91, 0x40, 0x1f, 0x43, 0xc3, 0x71, 0x07, 0xa3, 0xe9, 0x10, - 0x5b, 0x91, 0x7e, 0x3f, 0xf0, 0x1c, 0xf7, 0xc8, 0x0e, 0x70, 0xc0, 0x2f, 0x8b, 0x75, 0x8e, 0xd1, - 0xe6, 0x08, 0xbb, 0xa2, 0x9c, 0x9c, 0xfa, 0xa2, 0xf6, 0x80, 0x0e, 0x59, 0x98, 0x99, 0xd9, 0x1d, - 0x6c, 0x95, 0x17, 0xb2, 0xe9, 0xe0, 0xd6, 0xe6, 0x7f, 0x59, 0x80, 0xcd, 0xd4, 0x14, 0x70, 0xee, - 0xff, 0x53, 0xa0, 0x07, 0x78, 0x84, 0x07, 0x21, 0x1e, 0x5a, 0xcc, 0x44, 0x2d, 0xcc, 0x81, 0xdf, - 0x92, 0xd6, 0x3b, 0xa7, 0xf6, 0x76, 0x97, 0x1b, 0xe1, 0xf9, 0x53, 0xc4, 0x8a, 0x20, 0xc5, 0xbe, - 0x03, 0x2a, 0x6a, 0xa9, 0x18, 0x50, 0xa6, 0x71, 0x99, 0xc2, 0xf8, 0x2c, 0xde, 0x07, 0x9d, 0x0f, - 0x64, 0xf2, 0x52, 0x8c, 0x85, 0x31, 0x41, 0x95, 0xc1, 0xbb, 0x2f, 0xd9, 0x30, 0x1a, 0x7f, 0xa2, - 0x41, 0x55, 0x6d, 0xf0, 0x1a, 0xb7, 0x0a, 0xd2, 0x15, 0x6e, 0x97, 0x67, 0x8f, 0x03, 0x4c, 0xe0, - 0x2e, 0x33, 0x58, 0x9b, 0x3e, 0x11, 0xc4, 0xc6, 0xfe, 0x82, 0x62, 0xec, 0x27, 0xb2, 0x3c, 0xea, - 0xdb, 0x3c, 0x25, 0x5f, 0x9c, 0xf0, 0x5e, 0x11, 0xba, 0x44, 0x53, 0x76, 0xce, 0xb0, 0x45, 0x76, - 0x33, 0xbf, 0x65, 0x2d, 0x73, 0x58, 0xdf, 0x61, 0x36, 0x47, 0x72, 0x99, 0x8e, 0x56, 0x99, 0x6f, - 0xda, 0x32, 0x01, 0x8a, 0x95, 0x25, 0x72, 0x3a, 0xf4, 0x31, 0x7b, 0x81, 0x59, 0x30, 0xe9, 0x6f, - 0xe3, 0x8f, 0x34, 0x58, 0x7f, 0xc6, 0x44, 0x22, 0x9f, 0xd1, 0x5f, 0x61, 0xd6, 0x35, 0xfe, 0xfa, - 0x5c, 0x62, 0x34, 0x11, 0x13, 0xfe, 0x7a, 0x2f, 0x23, 0x39, 0x61, 0x58, 0x17, 0xac, 0x60, 0x3a, - 0xa6, 0x67, 0x68, 0xc1, 0x2c, 0x31, 0x48, 0x6f, 0x3a, 0x36, 0x7e, 0xba, 0x08, 0x5b, 0xbb, 0x9e, - 0x1b, 0x84, 0xfe, 0x74, 0x90, 0x75, 0x75, 0xbe, 0x07, 0xd5, 0xc0, 0x9b, 0xfa, 0x03, 0x6c, 0xa9, - 0x4b, 0x5e, 0x61, 0x50, 0x61, 0x23, 0xff, 0x6a, 0x76, 0x0d, 0x74, 0x13, 0xe0, 0x18, 0x63, 0x6b, - 0x82, 0x7d, 0xeb, 0xe5, 0x11, 0x5f, 0xfe, 0xe2, 0x31, 0xc6, 0x5d, 0xec, 0x3f, 0x3d, 0x42, 0x7f, - 0x0e, 0x1a, 0xe2, 0x35, 0x8b, 0x6e, 0x6d, 0xb2, 0x3c, 0xf6, 0xe8, 0xc4, 0xf3, 0x9d, 0xf0, 0x94, - 0x59, 0x87, 0xaa, 0x3b, 0x9f, 0xca, 0x07, 0x43, 0xfe, 0x38, 0xf8, 0x7b, 0x65, 0x4f, 0xd0, 0x69, - 0x0a, 0x32, 0x66, 0xdd, 0xcb, 0x29, 0x41, 0x5f, 0x02, 0x72, 0xc9, 0xfd, 0x91, 0x09, 0x08, 0x21, - 0x9f, 0x16, 0xa8, 0x7c, 0x7a, 0xef, 0x5a, 0xcd, 0x9a, 0xba, 0xeb, 0xb9, 0x4c, 0x2a, 0x0a, 0xe1, - 0x74, 0x02, 0x88, 0x13, 0x1e, 0xe2, 0x20, 0x74, 0x5c, 0x66, 0x59, 0x59, 0xa4, 0x4a, 0xfa, 0x47, - 0xd7, 0x22, 0xbe, 0x17, 0xd7, 0x37, 0x6b, 0x8c, 0xa6, 0x04, 0x6a, 0x8c, 0xa0, 0x96, 0xc2, 0x9b, - 0x61, 0xd6, 0xcc, 0x33, 0xd8, 0x11, 0x3e, 0xa0, 0xbf, 0x2c, 0xfe, 0x94, 0x2e, 0x94, 0x41, 0x06, - 0xe5, 0x0f, 0xf1, 0x8d, 0x3f, 0x1b, 0x3d, 0x84, 0xfe, 0x08, 0x96, 0xe5, 0x91, 0x69, 0xbf, 0xe0, - 0xc8, 0x64, 0x62, 0xd2, 0x26, 0x9b, 0x93, 0x37, 0x99, 0xf1, 0x21, 0xd4, 0xf3, 0xd6, 0x19, 0xad, - 0xc0, 0xb2, 0x6a, 0x33, 0x5e, 0x82, 0x42, 0x73, 0x7f, 0x5f, 0xd7, 0x8c, 0xbf, 0x31, 0x07, 0x37, - 0xb3, 0x3b, 0xc3, 0x25, 0xc4, 0xb7, 0xc8, 0xcd, 0x3d, 0x70, 0x4e, 0x12, 0x57, 0x77, 0x2e, 0x25, - 0x56, 0x45, 0x99, 0x54, 0x15, 0x7d, 0x0a, 0x37, 0xd9, 0xd9, 0x13, 0x3d, 0x20, 0x73, 0x4e, 0x56, - 0xfa, 0x7d, 0x83, 0xe2, 0xa8, 0xc7, 0x0a, 0x17, 0x92, 0xe4, 0x42, 0x4b, 0x09, 0xa8, 0xf5, 0x98, - 0x50, 0xa9, 0xd1, 0x22, 0x05, 0x7f, 0x07, 0xd6, 0xc9, 0x04, 0x8d, 0x89, 0xfe, 0x65, 0xf1, 0xbe, - 0x52, 0xf5, 0x9f, 0xa9, 0xe4, 0xab, 0x51, 0x61, 0x8f, 0x96, 0xd1, 0x9b, 0xc0, 0x5d, 0x28, 0x73, - 0x1e, 0x64, 0xe2, 0x8c, 0xdd, 0x96, 0x97, 0x19, 0x8c, 0x8a, 0x33, 0xe3, 0x7f, 0xcf, 0xc1, 0x06, - 0xa9, 0x91, 0x21, 0x19, 0x2e, 0x33, 0xfd, 0x7e, 0x1b, 0x36, 0x02, 0xec, 0x3b, 0xf6, 0xc8, 0xf9, - 0x49, 0x62, 0xde, 0x18, 0x67, 0xad, 0xc7, 0xa5, 0xf2, 0xcc, 0xd9, 0x80, 0xec, 0xe1, 0xd0, 0x21, - 0xbf, 0x89, 0x06, 0x4f, 0xb9, 0x4b, 0x3c, 0xe1, 0xee, 0x48, 0xec, 0x93, 0xdd, 0xab, 0xed, 0x66, - 0x54, 0x97, 0x5b, 0x7d, 0x6b, 0x76, 0x02, 0x12, 0x34, 0xfe, 0xaa, 0x06, 0x7a, 0x12, 0xef, 0x6b, - 0x3e, 0x06, 0x84, 0x24, 0x2e, 0x48, 0x92, 0x78, 0xd6, 0x11, 0xf0, 0xc3, 0xf9, 0x62, 0x41, 0x9f, - 0x37, 0x2b, 0x8e, 0x1b, 0x91, 0xc5, 0xe4, 0x9a, 0xbc, 0x99, 0x1a, 0x26, 0xe7, 0xc9, 0x3b, 0x69, - 0x63, 0x64, 0xc2, 0x1d, 0xe4, 0x43, 0xd8, 0x88, 0xb8, 0x56, 0x21, 0x4b, 0x2d, 0x4e, 0x15, 0x33, - 0xe2, 0x69, 0xea, 0x2d, 0xd1, 0xe6, 0x4d, 0xfe, 0xd7, 0x42, 0xaa, 0xcd, 0xe0, 0xaa, 0x2b, 0xfe, - 0xa3, 0xc4, 0xbb, 0x3b, 0xb3, 0x6c, 0x7d, 0x27, 0x7f, 0xd1, 0xa2, 0x17, 0xa3, 0x67, 0xe9, 0x2d, - 0xa4, 0x3e, 0xc8, 0xa3, 0xa3, 0x4c, 0xb6, 0x60, 0x8e, 0x2e, 0x1f, 0x5c, 0xa1, 0x85, 0x5f, 0x51, - 0xbe, 0x68, 0xec, 0xc3, 0x6a, 0xc6, 0xe4, 0xcc, 0xd8, 0x5c, 0xda, 0x8c, 0xcd, 0x65, 0xfc, 0x37, - 0x0d, 0xea, 0xe9, 0x19, 0xe2, 0x2c, 0xf5, 0x45, 0x62, 0xf9, 0x98, 0x26, 0xfe, 0xed, 0x99, 0x93, - 0xcb, 0x55, 0xf1, 0xde, 0xec, 0xd5, 0x6b, 0xbc, 0x84, 0x5a, 0x0a, 0xe5, 0x97, 0xc6, 0xc2, 0xff, - 0xb8, 0x00, 0x1b, 0xbb, 0x3e, 0xb6, 0x43, 0x4c, 0xda, 0xe4, 0xaf, 0x1a, 0x57, 0x7f, 0x79, 0xe3, - 0xe7, 0xe2, 0x9c, 0x7a, 0x2e, 0xe6, 0x4f, 0x78, 0x61, 0x96, 0x34, 0xbb, 0x0d, 0xcb, 0x52, 0xc7, - 0xb9, 0x30, 0x06, 0x27, 0xea, 0x2e, 0xfa, 0x21, 0x94, 0x08, 0x4b, 0x31, 0x07, 0xa8, 0x85, 0x94, - 0x03, 0x54, 0xf6, 0x38, 0xc8, 0x7c, 0x13, 0x8e, 0xa3, 0x0e, 0x50, 0xc5, 0x53, 0xfe, 0x0b, 0xbd, - 0x0b, 0x28, 0x3a, 0x6e, 0x62, 0x8e, 0x62, 0x2e, 0x40, 0x91, 0xd3, 0x93, 0xb8, 0xd1, 0x18, 0x7f, - 0x49, 0x83, 0x65, 0x89, 0x0e, 0x39, 0x20, 0x7b, 0xed, 0xc7, 0x4f, 0x9a, 0xbd, 0x27, 0xd6, 0xe1, - 0x3e, 0x39, 0x20, 0x25, 0x00, 0x3d, 0x28, 0x91, 0x0e, 0x65, 0x01, 0xe8, 0x1c, 0x76, 0x5a, 0xfa, - 0x1c, 0x42, 0x50, 0x15, 0x90, 0x5e, 0xbb, 0xf3, 0x78, 0xbf, 0xa5, 0x17, 0xd0, 0x1a, 0xe8, 0x52, - 0xb5, 0xe7, 0xcd, 0xfd, 0x67, 0x2d, 0x7d, 0x1e, 0xdd, 0x80, 0xb5, 0x08, 0xda, 0xf9, 0xe2, 0xb0, - 0xd3, 0xda, 0x6d, 0x76, 0xba, 0xcd, 0x2f, 0xf4, 0x9f, 0x6a, 0xc6, 0x73, 0xd8, 0x4c, 0x0d, 0x93, - 0xb3, 0xe4, 0x4d, 0x28, 0x05, 0x02, 0x28, 0xac, 0x23, 0x11, 0x20, 0xe3, 0x09, 0xb6, 0x2c, 0x3f, - 0xc1, 0xfe, 0x10, 0x6e, 0x74, 0xc9, 0x47, 0x70, 0x9a, 0x71, 0x7a, 0xbd, 0x07, 0x28, 0xf7, 0x44, - 0xaf, 0xa5, 0xf6, 0x9b, 0xf1, 0x18, 0x1a, 0x59, 0xb4, 0xae, 0x7d, 0x85, 0x30, 0x5e, 0x87, 0xbb, - 0x9c, 0xd0, 0xb3, 0xb4, 0x45, 0x5f, 0x58, 0xf5, 0xde, 0x00, 0x63, 0x16, 0x92, 0x30, 0x2e, 0x14, - 0x60, 0xa3, 0x3b, 0xf5, 0x07, 0xa7, 0x76, 0x80, 0x13, 0xe6, 0xfc, 0xaf, 0xfe, 0xc2, 0x7c, 0x1b, - 0x96, 0xa9, 0x0d, 0xd8, 0x1a, 0x39, 0x63, 0x47, 0xe8, 0x1b, 0x40, 0x41, 0xfb, 0x04, 0x32, 0x43, - 0xd3, 0x67, 0xcc, 0x9d, 0xa3, 0xe9, 0xdf, 0x83, 0x2a, 0xb7, 0x7b, 0xaa, 0xae, 0x6b, 0xdc, 0xcc, - 0x2c, 0x1e, 0x5e, 0x6f, 0xc3, 0xb2, 0x3b, 0x1d, 0x47, 0xaf, 0x86, 0xcc, 0x44, 0x08, 0xee, 0x74, - 0x2c, 0x1e, 0x0c, 0xef, 0x42, 0x99, 0x9a, 0x23, 0x05, 0x95, 0x25, 0xfe, 0x78, 0xeb, 0x79, 0x23, - 0x41, 0x43, 0x58, 0x3f, 0x8f, 0x31, 0x0e, 0xe8, 0x85, 0x47, 0x63, 0xd6, 0xcf, 0x47, 0x18, 0x53, - 0xfd, 0x96, 0x9a, 0x09, 0x2f, 0xb8, 0xd1, 0x90, 0x7f, 0xa1, 0x75, 0x58, 0x0c, 0x5f, 0x91, 0x2a, - 0xdc, 0x58, 0xb8, 0x10, 0xbe, 0x7a, 0xc4, 0x6e, 0x4f, 0xbc, 0xdb, 0xa4, 0x68, 0x59, 0x18, 0xce, - 0x08, 0xe4, 0x11, 0xc6, 0xc6, 0x27, 0xb0, 0x99, 0x5a, 0x01, 0xce, 0x13, 0xaf, 0x47, 0x16, 0x74, - 0xc2, 0x0e, 0x98, 0x89, 0xd3, 0xb2, 0xb0, 0x83, 0x3f, 0xa1, 0x30, 0xe3, 0x3b, 0xb0, 0x66, 0x52, - 0x73, 0xe6, 0xf5, 0xd6, 0x8f, 0xf9, 0xcf, 0x28, 0xf5, 0x38, 0x4f, 0xbc, 0x06, 0x37, 0xf7, 0x3d, - 0x7b, 0xd8, 0xa4, 0x0e, 0x61, 0x7b, 0x76, 0x68, 0x3f, 0x72, 0x46, 0x21, 0xf6, 0x23, 0xce, 0xba, - 0x0d, 0xb7, 0x72, 0xca, 0x39, 0x81, 0x53, 0x40, 0x64, 0x1b, 0x1e, 0xe0, 0x20, 0xb0, 0x4f, 0xb0, - 0x7c, 0xe3, 0xcf, 0xbe, 0x2f, 0xd4, 0x61, 0x69, 0xcc, 0x70, 0x85, 0xc4, 0xe4, 0x9f, 0x89, 0x31, - 0x14, 0x52, 0x63, 0xf8, 0x00, 0x56, 0x95, 0x96, 0xae, 0xb2, 0xe5, 0x8d, 0x3f, 0xd0, 0x94, 0x5a, - 0x57, 0x66, 0xf8, 0x87, 0x50, 0xe4, 0xfd, 0x12, 0x6a, 0xc9, 0x9b, 0x89, 0x73, 0x2d, 0x41, 0x71, - 0x5b, 0xf4, 0x2b, 0xaa, 0xd7, 0xf8, 0x01, 0x2c, 0x71, 0xe0, 0x57, 0x99, 0x0f, 0xe3, 0x6f, 0x6b, - 0xb0, 0xa6, 0x36, 0x14, 0x3d, 0x3a, 0x2d, 0xf9, 0x78, 0x32, 0x72, 0xb0, 0x38, 0x72, 0xbf, 0x99, - 0xdb, 0x35, 0xe9, 0xb8, 0x35, 0xf1, 0x64, 0x74, 0x61, 0x8a, 0x9a, 0x8d, 0x4f, 0xa1, 0x14, 0x41, - 0x2f, 0x11, 0x9b, 0x6b, 0xb0, 0x80, 0x7d, 0x9f, 0x7b, 0x3f, 0x97, 0x4c, 0xf6, 0x61, 0xdc, 0x85, - 0xdb, 0x92, 0x94, 0xe9, 0x78, 0xa1, 0x73, 0xec, 0x0c, 0x6c, 0x45, 0x2c, 0xfd, 0xee, 0x1c, 0xdc, - 0xc9, 0xc7, 0xe1, 0xa3, 0xf9, 0x0c, 0x56, 0xec, 0x30, 0xb4, 0x07, 0xa7, 0x78, 0xc8, 0xde, 0xee, - 0xc4, 0xa8, 0x72, 0xdf, 0x4a, 0xab, 0x02, 0x9f, 0x42, 0x03, 0xf4, 0x16, 0xac, 0x0c, 0xb1, 0x4a, - 0x61, 0x8e, 0xee, 0x9d, 0xaa, 0x00, 0x73, 0xc4, 0xbc, 0x17, 0xd5, 0xc2, 0x57, 0x7d, 0x51, 0x45, - 0x1f, 0x43, 0x23, 0x83, 0xa2, 0xd8, 0xc1, 0xf3, 0xb4, 0x17, 0xf5, 0x74, 0x45, 0xbe, 0x9b, 0x6f, - 0xc1, 0x96, 0xf0, 0x9e, 0xcc, 0x9a, 0xbe, 0xff, 0xa5, 0xc1, 0xcd, 0xec, 0xf2, 0x6b, 0xb9, 0x7e, - 0x5d, 0xc5, 0xd1, 0x30, 0xdb, 0x87, 0xb0, 0x70, 0x2d, 0x1f, 0xc2, 0xf9, 0x6b, 0xf9, 0x10, 0x2e, - 0xe4, 0xf8, 0x10, 0xfe, 0x16, 0xdc, 0x91, 0x0f, 0x82, 0xac, 0x89, 0x21, 0x02, 0x3b, 0x7c, 0xa5, - 0x8a, 0xc9, 0x62, 0xf8, 0x8a, 0x4d, 0x2a, 0x91, 0xc0, 0x41, 0xe8, 0x4d, 0x2c, 0xfb, 0x38, 0xe4, - 0xaf, 0x98, 0x0b, 0x66, 0x89, 0x40, 0x9a, 0x04, 0x60, 0xfc, 0xfe, 0x1c, 0xdc, 0x9d, 0xd1, 0x00, - 0x9f, 0xd9, 0x97, 0xc9, 0x47, 0x12, 0xc6, 0x92, 0x2d, 0xd5, 0x1c, 0x31, 0x9b, 0xc8, 0xb6, 0xe2, - 0x35, 0x20, 0x11, 0x4b, 0xbc, 0xb5, 0x34, 0xfe, 0x96, 0x06, 0xf5, 0x3c, 0x5c, 0xb4, 0x09, 0x4b, - 0x7c, 0xac, 0x7c, 0x63, 0x2e, 0xb2, 0x91, 0x7e, 0x2d, 0xce, 0x21, 0xa9, 0xf7, 0xa2, 0xf9, 0xf4, - 0x3b, 0xd4, 0x5f, 0xd4, 0x60, 0x95, 0xa9, 0x5b, 0x9f, 0xd3, 0xb1, 0x8b, 0x45, 0x78, 0x07, 0x6a, - 0x5c, 0x99, 0x4a, 0x09, 0x52, 0x9d, 0x15, 0x48, 0x4f, 0x27, 0xef, 0x11, 0x4d, 0x93, 0xf9, 0xa1, - 0xa5, 0x5e, 0x59, 0x6a, 0xbc, 0x44, 0x42, 0x47, 0x30, 0x1f, 0x60, 0x3c, 0xe4, 0xfd, 0xa5, 0xbf, - 0x8d, 0x0d, 0x58, 0x53, 0xbb, 0xc1, 0x0f, 0xa0, 0x57, 0x70, 0x5b, 0xc0, 0xc3, 0xc1, 0xa9, 0xe3, - 0x9e, 0x1c, 0xba, 0xa3, 0x0b, 0xb5, 0xab, 0xf7, 0x81, 0xf2, 0xb0, 0x3b, 0xc4, 0x43, 0x6b, 0x32, - 0x3d, 0xb2, 0xc4, 0x33, 0x51, 0xc9, 0xac, 0x0a, 0x78, 0x77, 0x7a, 0xf4, 0x14, 0x5f, 0x64, 0x0f, - 0x6a, 0x2e, 0x7b, 0x50, 0x86, 0x01, 0x77, 0xf2, 0x5b, 0xe6, 0xbd, 0xfb, 0x0c, 0x6a, 0x87, 0x13, - 0xec, 0x7e, 0xf5, 0xa9, 0x33, 0x7e, 0x03, 0x90, 0x4c, 0x21, 0xd6, 0x16, 0xce, 0x79, 0xab, 0x96, - 0xe7, 0x8e, 0xd8, 0x78, 0x8a, 0x66, 0xf9, 0x5c, 0xea, 0x8a, 0xb1, 0x06, 0x68, 0x77, 0xe4, 0x05, - 0xea, 0xc2, 0x19, 0xeb, 0xb0, 0xaa, 0x40, 0x79, 0x4f, 0xd7, 0x61, 0x95, 0x41, 0x5a, 0xaf, 0x9c, - 0x20, 0x76, 0xc7, 0xde, 0x86, 0x35, 0x15, 0xcc, 0x3b, 0x40, 0xf5, 0x22, 0x02, 0xe1, 0x2d, 0xf3, - 0x2f, 0xe3, 0x77, 0xc9, 0x8d, 0x31, 0xb4, 0xfd, 0x70, 0x97, 0xa0, 0xb9, 0xc1, 0x34, 0x30, 0x27, - 0x03, 0x31, 0xf0, 0xb7, 0x60, 0x85, 0x7b, 0xa2, 0x27, 0x9c, 0xe9, 0xaa, 0x1c, 0x2c, 0x54, 0xb2, - 0x06, 0x14, 0xa7, 0x01, 0x11, 0x23, 0x91, 0xb8, 0x8a, 0xbe, 0x49, 0x19, 0x99, 0xb6, 0x73, 0xcf, - 0x17, 0x0c, 0x12, 0x7d, 0x93, 0x2b, 0xe2, 0x00, 0xfb, 0x7c, 0x33, 0x62, 0x7e, 0x39, 0x96, 0x41, - 0xc6, 0x16, 0xdc, 0xc8, 0xe8, 0x1e, 0x9f, 0x83, 0xbf, 0xaf, 0x41, 0x7d, 0xcf, 0x09, 0x06, 0xde, - 0x19, 0xf6, 0x79, 0x57, 0x62, 0x95, 0xe1, 0x1d, 0xa8, 0x0d, 0x79, 0x99, 0x25, 0x39, 0xa3, 0xd3, - 0x17, 0x4d, 0x51, 0x20, 0x3c, 0xd1, 0xaf, 0xcb, 0xf0, 0x39, 0xee, 0x34, 0x85, 0x1c, 0x77, 0x1a, - 0x32, 0x8a, 0x8c, 0x7e, 0xf2, 0x51, 0xdc, 0x82, 0xad, 0x47, 0x38, 0x1c, 0x9c, 0x1e, 0x38, 0x41, - 0xe0, 0xb8, 0x27, 0xbb, 0x09, 0x95, 0xee, 0x35, 0xb8, 0x99, 0x5d, 0xcc, 0xab, 0xbf, 0x09, 0x6f, - 0xf4, 0xa6, 0x47, 0xe4, 0x32, 0x78, 0x84, 0xfb, 0x1e, 0x6d, 0x33, 0xf3, 0x78, 0x7a, 0x0b, 0xee, - 0x5d, 0x82, 0x17, 0x73, 0x16, 0x6d, 0x90, 0xbd, 0x0c, 0x47, 0xf5, 0xff, 0xe1, 0x1c, 0xac, 0xa9, - 0x70, 0xce, 0x5a, 0x3b, 0xb0, 0x7e, 0x4c, 0xe0, 0x78, 0xc8, 0xdf, 0x97, 0x03, 0x4b, 0x7e, 0x49, - 0x58, 0xe5, 0x85, 0xbc, 0x1a, 0x3b, 0x64, 0xde, 0x87, 0xb5, 0x63, 0xc7, 0x0f, 0x42, 0xcb, 0xc5, - 0xe7, 0x69, 0x0f, 0xff, 0x1a, 0x2d, 0xeb, 0xe0, 0xf3, 0xd8, 0x61, 0xe8, 0x03, 0xd8, 0x48, 0x55, - 0x90, 0x9d, 0xfc, 0x57, 0xd5, 0x2a, 0xec, 0xed, 0xfc, 0x23, 0xb8, 0x31, 0xb6, 0x1d, 0x6a, 0xe2, - 0x77, 0x5c, 0x2b, 0x74, 0x26, 0x72, 0x53, 0x8c, 0xd9, 0xd6, 0x09, 0xc2, 0x2e, 0x29, 0xef, 0x3b, - 0x93, 0xb8, 0xb9, 0x8f, 0x61, 0x2b, 0xbb, 0x26, 0x6b, 0x93, 0x59, 0x52, 0x37, 0xd3, 0x75, 0x99, - 0x0c, 0x7e, 0x05, 0x75, 0x79, 0xa6, 0xe4, 0x69, 0x9e, 0x3d, 0x5b, 0x0b, 0xd9, 0xb3, 0x75, 0x1f, - 0xf4, 0x91, 0x1d, 0x84, 0xbc, 0x02, 0x7b, 0x43, 0x62, 0x16, 0xe6, 0x2a, 0x81, 0x33, 0xdc, 0xbe, - 0x33, 0xc6, 0xc6, 0xdf, 0xd3, 0xe0, 0x4e, 0x16, 0xb7, 0x28, 0x5d, 0x68, 0xc2, 0x2d, 0xd1, 0x85, - 0xc1, 0x31, 0x2b, 0xb7, 0x28, 0xcf, 0xaa, 0x4e, 0xf8, 0x0d, 0x8e, 0xb4, 0xcb, 0x71, 0xe8, 0x3e, - 0xe4, 0x33, 0xfb, 0x03, 0xd8, 0x4a, 0x91, 0x20, 0xb7, 0x4a, 0xc5, 0x8f, 0xa1, 0x9e, 0x20, 0xd0, - 0x72, 0x87, 0x7c, 0x82, 0xda, 0xd0, 0x60, 0x3e, 0xfb, 0x5d, 0xdf, 0x3b, 0x21, 0xdb, 0x41, 0xe9, - 0xdf, 0xb5, 0xfc, 0xf7, 0x9f, 0x82, 0xde, 0xc5, 0xd8, 0x57, 0x08, 0xdc, 0x02, 0x98, 0x60, 0xec, - 0x2b, 0x13, 0x5b, 0x22, 0x90, 0xdd, 0x64, 0x7c, 0x95, 0x6a, 0x05, 0x32, 0xfe, 0x44, 0x83, 0xaa, - 0x39, 0x19, 0xf4, 0x2e, 0xdc, 0xff, 0x87, 0x64, 0x60, 0xb6, 0x24, 0x5b, 0xb8, 0x96, 0x24, 0x5b, - 0xcc, 0x91, 0x64, 0xc6, 0xbf, 0x2e, 0xc0, 0x4a, 0x34, 0xe2, 0xf8, 0xac, 0x08, 0x2e, 0xdc, 0x01, - 0x1e, 0x8a, 0xb3, 0x82, 0x7d, 0xa1, 0x7d, 0xa8, 0xb9, 0xd2, 0x34, 0x33, 0x9b, 0x16, 0x8b, 0x37, - 0xb8, 0x2d, 0x5f, 0x69, 0x2e, 0xdc, 0x81, 0xbc, 0x1c, 0xd4, 0x8a, 0xa5, 0xbb, 0x09, 0x08, 0x7a, - 0x02, 0x15, 0xca, 0x1f, 0x62, 0x1b, 0xd0, 0x89, 0x51, 0x03, 0x85, 0xf2, 0x36, 0x91, 0x59, 0x3e, - 0x96, 0x4a, 0x90, 0x0d, 0x1b, 0x8c, 0xd2, 0x98, 0x31, 0x7d, 0xc4, 0x92, 0x74, 0x32, 0x55, 0x2f, - 0xbf, 0xcb, 0x36, 0x87, 0xb9, 0x76, 0x2c, 0x63, 0x70, 0x42, 0xa8, 0x03, 0x2b, 0x8c, 0xf3, 0xac, - 0x09, 0xe7, 0x58, 0xba, 0x00, 0xcb, 0x3b, 0xf7, 0x24, 0xda, 0xf9, 0x2c, 0x6d, 0x56, 0x7d, 0xa5, - 0x0c, 0x3d, 0x02, 0x9d, 0x72, 0xa8, 0xe3, 0x1e, 0x7b, 0x5c, 0xf9, 0xe3, 0x8f, 0x83, 0x5b, 0x12, - 0xc1, 0x24, 0x63, 0x9b, 0x2b, 0xa4, 0x52, 0x3b, 0xae, 0x63, 0xfc, 0x8e, 0x06, 0xd5, 0xde, 0xe4, - 0x4c, 0x66, 0xd8, 0x5f, 0xe6, 0xb9, 0x47, 0xad, 0x47, 0x67, 0xd6, 0xc0, 0x73, 0x5d, 0x3c, 0x08, - 0xe9, 0x45, 0xac, 0x64, 0x42, 0x30, 0x39, 0xdb, 0x65, 0x10, 0xca, 0x4e, 0x51, 0x7f, 0xfe, 0x3f, - 0x3b, 0xfd, 0xaa, 0xb1, 0xd3, 0x1a, 0x20, 0xde, 0xaa, 0xe7, 0x44, 0xc1, 0x50, 0x46, 0x13, 0x56, - 0x15, 0x28, 0x5f, 0xd7, 0xb7, 0x85, 0x98, 0xb6, 0x26, 0x04, 0xae, 0x98, 0x45, 0xfd, 0x18, 0x9f, - 0x2a, 0x40, 0x1f, 0xc3, 0x0d, 0x1e, 0x41, 0x80, 0x4d, 0xdb, 0x1d, 0x7a, 0xe3, 0x1e, 0xc6, 0x43, - 0xc9, 0xa7, 0x99, 0x5c, 0x19, 0xac, 0x11, 0x76, 0x4f, 0xc2, 0x53, 0xae, 0x36, 0x00, 0x01, 0xed, - 0x53, 0x88, 0xf1, 0x67, 0xa0, 0x91, 0x55, 0x3b, 0xf6, 0xb1, 0xa3, 0xd5, 0x8f, 0x2e, 0x42, 0x1c, - 0x44, 0xe6, 0x10, 0x8c, 0x87, 0x0f, 0x09, 0x00, 0xdd, 0x80, 0x22, 0x2d, 0x3e, 0xe5, 0x2f, 0x36, - 0x25, 0x73, 0x89, 0x7c, 0x3f, 0xc1, 0xaf, 0x88, 0x56, 0x4e, 0x8b, 0xc6, 0x2e, 0x1e, 0x7b, 0xae, - 0x33, 0xe0, 0xc1, 0x36, 0x65, 0x02, 0x3c, 0xe0, 0x30, 0x63, 0x07, 0x6a, 0x7b, 0x78, 0xe0, 0x0d, - 0xb1, 0xdc, 0xe5, 0x5b, 0x00, 0x44, 0xb8, 0xb3, 0x57, 0x0b, 0x7e, 0x20, 0x94, 0x08, 0x84, 0xbe, - 0x54, 0x18, 0xdf, 0x05, 0x24, 0xd7, 0x89, 0x7d, 0x43, 0x87, 0x14, 0x3a, 0xb4, 0xe8, 0x75, 0x89, - 0xbf, 0x88, 0x70, 0x18, 0x41, 0x35, 0xfe, 0xf2, 0x1c, 0xac, 0x9b, 0x53, 0x97, 0x99, 0xfd, 0x1e, - 0x4e, 0x2f, 0xe2, 0xe8, 0xce, 0xaf, 0x6e, 0xf2, 0xbd, 0x07, 0x55, 0x11, 0x83, 0x31, 0x90, 0x0d, - 0x05, 0x15, 0x1e, 0x81, 0xc1, 0xd1, 0xb6, 0x61, 0x95, 0x87, 0x2d, 0x5a, 0xa1, 0x67, 0x11, 0xd5, - 0x26, 0xb4, 0x1d, 0x11, 0x0c, 0x52, 0xe3, 0x45, 0x7d, 0xef, 0x80, 0x17, 0xc8, 0x64, 0x55, 0x8b, - 0x2f, 0x27, 0xcb, 0x8f, 0xc5, 0xa4, 0x41, 0x77, 0xf1, 0x12, 0x83, 0xee, 0x92, 0x6a, 0xd0, 0x35, - 0xea, 0xb0, 0x91, 0x9c, 0x10, 0xae, 0xa7, 0xfe, 0x4e, 0x01, 0xd6, 0xa9, 0x4e, 0xd2, 0x9c, 0x86, - 0xde, 0xd7, 0x34, 0x57, 0x39, 0x93, 0x50, 0xc8, 0x9b, 0x84, 0xd7, 0xa1, 0x3a, 0xb6, 0xa9, 0x5d, - 0x59, 0x38, 0xb9, 0xb0, 0xf9, 0x5a, 0x1e, 0xdb, 0xaf, 0x1e, 0x09, 0x3f, 0x97, 0x77, 0x01, 0x11, - 0x24, 0xea, 0x10, 0x6c, 0xf9, 0x78, 0x64, 0x87, 0xc2, 0x67, 0x56, 0x33, 0xf5, 0xb1, 0xfd, 0x8a, - 0x7b, 0x10, 0x33, 0xb8, 0x8a, 0x6d, 0x1f, 0x05, 0xde, 0x68, 0x1a, 0x62, 0x1e, 0x34, 0x13, 0x61, - 0x37, 0x39, 0x3c, 0x63, 0x15, 0x96, 0xae, 0xb2, 0x0a, 0xc5, 0x4b, 0x56, 0xa1, 0x94, 0x30, 0xab, - 0x1b, 0x50, 0xa1, 0x9d, 0xc2, 0x3e, 0x53, 0x84, 0xb9, 0x15, 0x9d, 0x0c, 0xb3, 0x8b, 0x7d, 0xaa, - 0xfb, 0x92, 0x95, 0x4a, 0x2e, 0x07, 0x5f, 0xa9, 0x0d, 0x58, 0xeb, 0x85, 0xde, 0x24, 0xb9, 0x4e, - 0xc6, 0x26, 0x59, 0x40, 0x05, 0xce, 0x2b, 0x34, 0xa0, 0x2e, 0xad, 0x38, 0xb5, 0xb0, 0x44, 0xa1, - 0xd5, 0x7f, 0x65, 0x11, 0x6e, 0x64, 0x14, 0x4a, 0x01, 0x7d, 0xd9, 0xbe, 0x6b, 0x6f, 0x40, 0xd5, - 0x3e, 0x3b, 0xe1, 0xf3, 0x3a, 0xf6, 0x86, 0x42, 0x4b, 0x2b, 0xdb, 0x67, 0x27, 0x74, 0x4e, 0x0f, - 0xbc, 0x21, 0xbd, 0xd9, 0x45, 0x58, 0xcf, 0x3f, 0x6f, 0x76, 0xad, 0x21, 0x1e, 0x85, 0xb6, 0x60, - 0x00, 0x81, 0x4a, 0x4a, 0xf6, 0x48, 0xc1, 0xb5, 0x77, 0x8d, 0x01, 0x15, 0x66, 0xf3, 0x24, 0xe8, - 0xf6, 0xd9, 0x89, 0xf0, 0x05, 0x63, 0xc0, 0xbe, 0xd7, 0x3c, 0x3b, 0x41, 0xdf, 0x82, 0xf5, 0xa1, - 0xe7, 0x86, 0xd6, 0xb9, 0xed, 0x84, 0xd6, 0xb1, 0xe7, 0x2b, 0xcf, 0x25, 0x45, 0x13, 0x91, 0xc2, - 0xcf, 0x6d, 0x27, 0x7c, 0xe4, 0xf9, 0xd2, 0xb3, 0x09, 0x7b, 0xe8, 0xe0, 0xfd, 0xe5, 0xd1, 0x53, - 0x0c, 0xc6, 0x7a, 0x7a, 0x8b, 0xf9, 0x62, 0x31, 0xbf, 0x2e, 0xce, 0x00, 0xa5, 0x63, 0x8c, 0x7b, - 0x14, 0x40, 0xd8, 0x8e, 0x14, 0x73, 0xf7, 0xbe, 0x60, 0x60, 0x8f, 0x1c, 0xf7, 0x84, 0xf3, 0x81, - 0x7e, 0x8c, 0x71, 0x9f, 0x16, 0xf4, 0x18, 0x1c, 0x6d, 0xc2, 0xd2, 0xd8, 0x71, 0xa5, 0xf7, 0x94, - 0xc5, 0xb1, 0xe3, 0x3e, 0xc2, 0x98, 0x16, 0xb0, 0x0d, 0x51, 0x2f, 0xf3, 0x02, 0xba, 0x13, 0xd2, - 0x1c, 0x54, 0x49, 0x71, 0x50, 0x0e, 0xeb, 0x57, 0x73, 0x58, 0x3f, 0x7b, 0x5b, 0xad, 0xe4, 0x6c, - 0xab, 0x37, 0xd8, 0x4e, 0x75, 0x22, 0x8f, 0xf7, 0x7a, 0x8d, 0xf9, 0x2e, 0x8e, 0xed, 0x57, 0x6d, - 0xe1, 0xef, 0x9e, 0xda, 0x27, 0xe8, 0x92, 0x7d, 0xb2, 0x9a, 0xd8, 0x27, 0xdf, 0x81, 0xcd, 0x60, - 0xe2, 0x63, 0x7b, 0x28, 0xe2, 0x54, 0x26, 0xfc, 0xf9, 0x28, 0xa8, 0xaf, 0xd1, 0xc5, 0x5b, 0x67, - 0xc5, 0x3c, 0x74, 0x40, 0x14, 0x66, 0x6c, 0xe3, 0xf5, 0xac, 0x6d, 0x1c, 0xbf, 0x62, 0x6d, 0x48, - 0xaf, 0x58, 0xc6, 0x7b, 0x50, 0xeb, 0xe1, 0x64, 0x08, 0x73, 0xee, 0x4e, 0x20, 0xa7, 0xbc, 0x8c, - 0xce, 0xf7, 0xdc, 0x01, 0x6c, 0xf5, 0xb0, 0x48, 0x87, 0x10, 0x73, 0xac, 0x14, 0x41, 0x94, 0xc5, - 0xe8, 0x5a, 0x0e, 0xa3, 0x1b, 0xaf, 0xc1, 0xcd, 0x6c, 0x72, 0xbc, 0xb9, 0xef, 0x82, 0xde, 0xc3, - 0xe1, 0x01, 0x65, 0x0e, 0xd1, 0x46, 0x5a, 0x9a, 0x6a, 0x29, 0x69, 0x6a, 0xac, 0xd2, 0xc1, 0x8a, - 0x8a, 0x9c, 0xda, 0x0f, 0xa1, 0xc1, 0x80, 0xca, 0xa2, 0x0b, 0xba, 0xd9, 0x9c, 0xa2, 0x65, 0x73, - 0x8a, 0x71, 0x8b, 0x4e, 0x44, 0x9a, 0x56, 0x66, 0x53, 0x82, 0x1b, 0x33, 0x9b, 0x8a, 0x58, 0x58, - 0xcb, 0x66, 0xe1, 0x44, 0x53, 0x31, 0xad, 0xc8, 0x1a, 0xb9, 0xd9, 0xc3, 0xe1, 0x73, 0x99, 0x05, - 0x24, 0xbf, 0xcd, 0x04, 0xc3, 0x68, 0x19, 0x0c, 0x43, 0x04, 0x69, 0x9a, 0x02, 0xa7, 0xfe, 0x3d, - 0x58, 0xef, 0xe1, 0xb0, 0x1b, 0xb3, 0xb6, 0x14, 0x93, 0xaf, 0x6c, 0x02, 0x2d, 0xb5, 0x09, 0xa8, - 0xac, 0x4f, 0xd4, 0xe5, 0x54, 0xbf, 0x45, 0x99, 0xab, 0xcb, 0x37, 0x84, 0xf4, 0x04, 0x10, 0x6f, - 0x1a, 0x2d, 0x71, 0xc4, 0xaf, 0xc3, 0xaa, 0x52, 0x85, 0x53, 0xfa, 0x3e, 0xed, 0xdf, 0x41, 0x2c, - 0x1f, 0x04, 0xb1, 0x94, 0x28, 0xd1, 0xb2, 0x0f, 0xa3, 0x44, 0xe5, 0x38, 0x15, 0x47, 0xf3, 0x04, - 0xbb, 0x43, 0x3b, 0xb2, 0x6c, 0xfd, 0xbc, 0x00, 0x2b, 0x11, 0x28, 0x3e, 0x47, 0x84, 0x23, 0x24, - 0xdf, 0x3d, 0xfc, 0x13, 0x7d, 0x1f, 0x96, 0x6c, 0x86, 0xcc, 0x5f, 0x1a, 0xef, 0xca, 0xa9, 0x2d, - 0x54, 0x32, 0xfc, 0xdb, 0x14, 0x35, 0x1a, 0x7f, 0xa4, 0xc1, 0x22, 0x83, 0xa1, 0x2a, 0xcc, 0x39, - 0x43, 0x3e, 0xb7, 0x73, 0x0e, 0xb5, 0x03, 0x0c, 0x31, 0xf3, 0xe9, 0x10, 0x4e, 0x74, 0x25, 0x53, - 0x06, 0x21, 0x04, 0xf3, 0x63, 0x3b, 0x78, 0xc9, 0xd5, 0x37, 0xfa, 0x9b, 0xf4, 0x66, 0x70, 0xea, - 0x39, 0x03, 0x2c, 0x7c, 0xe8, 0x66, 0xf5, 0x66, 0x97, 0x62, 0x9a, 0xa2, 0x06, 0x7b, 0x7b, 0xb1, - 0xfd, 0x50, 0xf6, 0x4a, 0x2e, 0x51, 0x08, 0xf5, 0x49, 0xbe, 0x0d, 0xec, 0x00, 0xe1, 0x5e, 0xcb, - 0x4c, 0x05, 0x01, 0x06, 0x22, 0x08, 0x8d, 0x9f, 0x69, 0xb0, 0xc8, 0x68, 0x7e, 0xb5, 0xd1, 0xf0, - 0x64, 0x46, 0x74, 0x34, 0x34, 0x4b, 0xd1, 0x2d, 0x00, 0x27, 0x20, 0xdb, 0x26, 0x3a, 0x44, 0x8b, - 0x66, 0xc9, 0x09, 0x9a, 0x0c, 0x80, 0x56, 0x61, 0xc1, 0x09, 0x2c, 0xd7, 0xe3, 0xc6, 0x8f, 0x79, - 0x27, 0xe8, 0x78, 0x44, 0x9a, 0x3d, 0xf7, 0x42, 0xcc, 0xfa, 0x11, 0xad, 0xe9, 0x3f, 0x99, 0x83, - 0x55, 0x05, 0x7c, 0xe9, 0xba, 0x7e, 0x1a, 0xcf, 0x24, 0x5b, 0x57, 0xf9, 0x2e, 0x96, 0x41, 0x2a, - 0x35, 0x9b, 0x0d, 0x28, 0x9e, 0x79, 0x21, 0x96, 0x06, 0x15, 0x7d, 0x37, 0xfe, 0x4e, 0x3c, 0x53, - 0x5b, 0x50, 0x62, 0xdc, 0x60, 0x45, 0x13, 0x56, 0x64, 0x80, 0xf6, 0x90, 0xdc, 0xc7, 0x79, 0x61, - 0x7a, 0xf6, 0x6a, 0xac, 0x64, 0x4f, 0x9a, 0xc3, 0x2d, 0x28, 0xb1, 0xd6, 0x09, 0x2d, 0x76, 0x79, - 0x29, 0x32, 0x00, 0xa3, 0xc5, 0x0b, 0x65, 0x5a, 0xf3, 0x8c, 0x16, 0x2b, 0x91, 0x68, 0x19, 0xbf, - 0xa7, 0xd1, 0xfd, 0x96, 0x9e, 0x4b, 0xd4, 0x8c, 0x67, 0x86, 0xbd, 0xab, 0xc9, 0xf9, 0x21, 0x32, - 0xab, 0x24, 0xe7, 0xa6, 0xf1, 0xf0, 0x6a, 0xc3, 0x57, 0xc6, 0x33, 0xa7, 0x8e, 0xc7, 0xf8, 0x90, - 0x6e, 0xe9, 0xac, 0x45, 0x95, 0x67, 0x5e, 0x53, 0x67, 0xde, 0x38, 0x85, 0xb5, 0xe7, 0xd8, 0x77, - 0x8e, 0x2f, 0xbe, 0x06, 0x97, 0x07, 0xe5, 0xdd, 0xbd, 0x90, 0xf4, 0x5d, 0x78, 0x0f, 0xd6, 0x13, - 0x2d, 0xc5, 0x91, 0xfc, 0x34, 0x76, 0x8a, 0xdb, 0x3f, 0xd8, 0x87, 0xf1, 0xd3, 0x65, 0x71, 0x49, - 0x54, 0x3c, 0xca, 0xae, 0xe1, 0x8f, 0x28, 0xf1, 0x32, 0x33, 0xb8, 0x46, 0xbc, 0xbc, 0x05, 0x25, - 0x6a, 0xae, 0xa6, 0xfb, 0x96, 0xf3, 0x22, 0x01, 0xd0, 0x6d, 0x1d, 0xbb, 0xc8, 0xcc, 0x2b, 0x2e, - 0x32, 0x59, 0x29, 0xbb, 0x16, 0xbe, 0x8e, 0x94, 0x5d, 0xe8, 0xfb, 0xb0, 0x48, 0x2f, 0xca, 0x44, - 0x83, 0x4d, 0x26, 0x03, 0x4a, 0x4f, 0x81, 0xc8, 0x5c, 0xc6, 0xaa, 0xa0, 0x4f, 0x60, 0x49, 0xf8, - 0xe6, 0x2f, 0xa5, 0x32, 0x97, 0x65, 0xd4, 0x16, 0x99, 0xcb, 0x78, 0xa5, 0xc6, 0x7f, 0x29, 0x88, - 0x84, 0x61, 0xdf, 0x83, 0x1b, 0x91, 0xff, 0x5c, 0xce, 0x1c, 0x6f, 0x0a, 0x84, 0xc4, 0xeb, 0x3f, - 0xfa, 0x18, 0x1a, 0x99, 0x75, 0x65, 0x4f, 0xd0, 0x7a, 0x46, 0x65, 0xe6, 0x05, 0xf8, 0x99, 0xe4, - 0x16, 0x5a, 0xdd, 0x79, 0xf7, 0x0a, 0xc3, 0xdf, 0xee, 0xfb, 0x18, 0xd3, 0xd9, 0x64, 0x4e, 0xa4, - 0x0d, 0x28, 0x06, 0x84, 0x73, 0xdd, 0x41, 0x14, 0x85, 0x29, 0xbe, 0xe9, 0x96, 0x62, 0x21, 0x20, - 0x8e, 0xcb, 0xa5, 0x78, 0x91, 0x01, 0xda, 0x6e, 0xea, 0xc9, 0x98, 0xb9, 0x5c, 0x29, 0x21, 0x86, - 0xb7, 0x81, 0x7d, 0xf2, 0xc1, 0xb0, 0x00, 0x4d, 0xf6, 0x0e, 0xdd, 0x16, 0x39, 0xd5, 0x22, 0x36, - 0x17, 0x6e, 0x87, 0x45, 0xc6, 0x93, 0x11, 0x9c, 0xbb, 0xd3, 0x3e, 0x80, 0xb5, 0x24, 0xaa, 0x65, - 0x07, 0x63, 0x7a, 0x91, 0x28, 0x99, 0x28, 0x81, 0xde, 0x0c, 0xc6, 0xc6, 0x47, 0x50, 0x14, 0x63, - 0x55, 0xf3, 0x94, 0xad, 0xc5, 0x41, 0xc3, 0xff, 0x47, 0xfc, 0xd3, 0x50, 0x09, 0x16, 0x7a, 0xfd, - 0xe6, 0xd3, 0x96, 0xae, 0x35, 0xfe, 0xcd, 0xbc, 0x9c, 0x96, 0xed, 0xcc, 0x1e, 0x4d, 0x85, 0xa6, - 0xc5, 0x3e, 0xe2, 0x64, 0x6d, 0x73, 0x89, 0x64, 0x6d, 0x72, 0x8c, 0x83, 0xb4, 0x6d, 0xe2, 0xe0, - 0x88, 0x79, 0x25, 0x38, 0x82, 0x9c, 0x93, 0xf1, 0x50, 0x98, 0x99, 0xa3, 0x14, 0x88, 0x11, 0xa0, - 0xf7, 0x61, 0x35, 0x72, 0x99, 0x8b, 0x06, 0x18, 0xf0, 0x94, 0x04, 0x22, 0xa5, 0xc9, 0x30, 0xf2, - 0x7e, 0x0c, 0x50, 0x0f, 0xca, 0x9c, 0xde, 0x60, 0x64, 0xf3, 0x2b, 0x7b, 0x75, 0xe7, 0xc1, 0x55, - 0xf8, 0x7a, 0x9b, 0x4d, 0xdc, 0x2e, 0xa9, 0x67, 0x2e, 0x07, 0xf1, 0x07, 0x11, 0x4e, 0xb6, 0x78, - 0x5b, 0xac, 0x17, 0xa9, 0x65, 0x36, 0x06, 0xa0, 0x77, 0xa0, 0x36, 0xf0, 0xc6, 0x63, 0x27, 0x1c, - 0x63, 0x37, 0x8a, 0x36, 0x28, 0x31, 0xb5, 0x34, 0x2e, 0x60, 0xc1, 0x06, 0xc6, 0x7f, 0xd7, 0x60, - 0x59, 0x6a, 0x07, 0xe9, 0x50, 0xee, 0x1c, 0x76, 0xac, 0x5e, 0xbf, 0xd9, 0xd9, 0x6b, 0x9a, 0x7b, - 0x2c, 0x86, 0xbb, 0xfb, 0xec, 0xa1, 0xf5, 0xb4, 0xf5, 0x05, 0xf3, 0x1b, 0xe5, 0x1f, 0xd6, 0x93, - 0x66, 0xef, 0x89, 0x3e, 0x47, 0x5d, 0x4b, 0x77, 0xcd, 0x76, 0xb7, 0xcf, 0x00, 0x05, 0x54, 0x81, - 0xd2, 0xc1, 0xb3, 0xfd, 0x7e, 0xdb, 0xea, 0xb5, 0x1f, 0xeb, 0xf3, 0xe4, 0xb3, 0xf3, 0x6c, 0x7f, - 0xdf, 0xda, 0x6b, 0xf6, 0x9b, 0xfa, 0x02, 0x75, 0x29, 0x25, 0x6b, 0x6a, 0xf5, 0x9e, 0x3d, 0x3c, - 0x68, 0xf7, 0x7a, 0xed, 0xc3, 0x8e, 0xbe, 0x48, 0x90, 0x18, 0xf4, 0x71, 0xab, 0xa3, 0x2f, 0xc5, - 0x48, 0x52, 0x3e, 0xba, 0xa2, 0x52, 0xd5, 0xda, 0x7d, 0xd2, 0xec, 0x3c, 0x6e, 0xe9, 0x25, 0xd2, - 0xbe, 0xe8, 0x51, 0x73, 0xbf, 0xaf, 0x03, 0x41, 0x93, 0xbb, 0x48, 0xa1, 0xcb, 0x46, 0x1f, 0xb6, - 0xd8, 0x44, 0x9b, 0xf6, 0x79, 0x86, 0x0f, 0xe9, 0x57, 0x74, 0xc2, 0xb6, 0xe0, 0x66, 0x36, 0xd5, - 0xab, 0xe6, 0x19, 0x49, 0x2f, 0xbe, 0xe2, 0x36, 0x6d, 0xec, 0xc0, 0xc6, 0x73, 0x1e, 0x8b, 0x9b, - 0x91, 0x1e, 0x2a, 0xf3, 0x50, 0x33, 0x7e, 0xbe, 0x00, 0x9b, 0xa9, 0x4a, 0xbc, 0x43, 0x37, 0xa0, - 0xe8, 0x04, 0x96, 0x7c, 0x44, 0x2d, 0x39, 0x01, 0x45, 0x26, 0xd7, 0x79, 0x27, 0xb0, 0xc6, 0x8e, - 0x2b, 0xb2, 0xe4, 0x2c, 0x3a, 0xc1, 0x81, 0xe3, 0x66, 0xf9, 0x32, 0x15, 0xb2, 0x7c, 0x99, 0xee, - 0x40, 0x99, 0x7b, 0x70, 0xd0, 0xdb, 0x04, 0xd7, 0x3e, 0x60, 0x42, 0xdd, 0x37, 0x48, 0x3f, 0x48, - 0x0b, 0xc2, 0xc7, 0x83, 0x85, 0x25, 0x2f, 0xb2, 0x42, 0x22, 0xd5, 0x9c, 0x40, 0x76, 0x72, 0x2e, - 0x9a, 0x45, 0x27, 0xe0, 0x62, 0xe6, 0x4d, 0x58, 0x89, 0x3c, 0xa0, 0x29, 0x65, 0x76, 0x38, 0x94, - 0xcc, 0x8a, 0xf0, 0xac, 0x27, 0xc4, 0x03, 0xd4, 0x01, 0xbe, 0x47, 0xd8, 0x71, 0x56, 0x4c, 0x1d, - 0x67, 0x39, 0x73, 0xc2, 0xb7, 0x19, 0x15, 0xc0, 0x7c, 0xef, 0x53, 0x01, 0xf5, 0x0e, 0xa0, 0x89, - 0x7d, 0x41, 0x6d, 0x37, 0xc3, 0xa1, 0x2f, 0x7a, 0x57, 0x62, 0xb2, 0x70, 0x62, 0x5f, 0xf4, 0x3d, - 0x42, 0x88, 0x77, 0xf2, 0x75, 0xa8, 0x04, 0xce, 0x49, 0x60, 0x09, 0x09, 0x40, 0x4d, 0x25, 0x15, - 0xb3, 0x4c, 0x80, 0x26, 0x87, 0x51, 0x0f, 0xf2, 0xc0, 0x8a, 0x72, 0x44, 0x2e, 0xb3, 0x5c, 0x44, - 0x4e, 0xd0, 0x16, 0x59, 0x22, 0x23, 0x21, 0x56, 0x96, 0x84, 0x98, 0xf1, 0x3f, 0x34, 0x80, 0xb8, - 0x8f, 0xa8, 0x06, 0x95, 0x8e, 0xe7, 0xf6, 0x42, 0xdb, 0x1d, 0xda, 0xfe, 0xb0, 0x7f, 0xc1, 0xd2, - 0x3c, 0x32, 0x2f, 0x99, 0xfe, 0x05, 0xdf, 0xa3, 0xf4, 0x8b, 0xf9, 0x83, 0xeb, 0x73, 0xd4, 0xdb, - 0x9b, 0x12, 0xe0, 0x90, 0x02, 0xaa, 0x02, 0x1c, 0x4c, 0x47, 0xa1, 0xd3, 0x73, 0x4e, 0xfa, 0x17, - 0xfa, 0x3c, 0xf9, 0xee, 0x4c, 0x47, 0xa3, 0x3d, 0x3b, 0xb4, 0xfb, 0x17, 0xfa, 0x02, 0x5a, 0xe7, - 0xb9, 0x08, 0x7a, 0xd3, 0x23, 0xfa, 0x34, 0x42, 0x4e, 0x77, 0x7d, 0x91, 0xa0, 0x89, 0x14, 0x41, - 0xfd, 0x0b, 0x7d, 0x29, 0x42, 0x33, 0xf1, 0x99, 0x27, 0x1e, 0x68, 0xf8, 0x4e, 0xe5, 0xb5, 0x59, - 0xa8, 0x5c, 0xff, 0x82, 0xef, 0xd4, 0xe9, 0xd1, 0x4b, 0x7c, 0xd1, 0x1c, 0x85, 0xfd, 0x0b, 0x1d, - 0xd0, 0x2a, 0xac, 0x30, 0x00, 0xe9, 0x16, 0x03, 0x2e, 0x1b, 0x1f, 0xc0, 0xe6, 0x2e, 0x15, 0x52, - 0x21, 0x1e, 0x26, 0x5c, 0x69, 0xeb, 0xb0, 0x24, 0xcc, 0x63, 0xcc, 0xb5, 0x4c, 0x7c, 0x1a, 0x4f, - 0xe0, 0xf6, 0xe3, 0xc8, 0xcc, 0xd1, 0x52, 0x1c, 0x87, 0xae, 0x97, 0xd5, 0xc9, 0xe8, 0xc1, 0x9d, - 0x7c, 0x4a, 0x7c, 0x13, 0xbd, 0x0f, 0x6b, 0xf6, 0x60, 0x60, 0xe5, 0x38, 0x2e, 0xd5, 0xec, 0xc1, - 0x40, 0xad, 0x68, 0xfc, 0x2b, 0x0d, 0xea, 0xe9, 0x41, 0x71, 0x6a, 0x5f, 0xc2, 0x8a, 0xe2, 0x38, - 0x8d, 0xb3, 0x02, 0xa7, 0xf3, 0x6a, 0xf3, 0xcc, 0x1c, 0x82, 0xa5, 0x93, 0x94, 0x1a, 0x4d, 0x91, - 0x7d, 0xa4, 0x19, 0x07, 0x05, 0x4a, 0xd9, 0x47, 0xca, 0x51, 0x7a, 0x91, 0xfc, 0x87, 0x72, 0x04, - 0xfa, 0x43, 0x1c, 0x84, 0xf2, 0xb5, 0xdc, 0xf8, 0x14, 0x6a, 0x12, 0x2c, 0x7e, 0xfc, 0x93, 0x9c, - 0x0a, 0x2a, 0x51, 0xca, 0x0d, 0x91, 0x9e, 0x63, 0x2e, 0x4e, 0xcf, 0x61, 0xfc, 0x3b, 0x0d, 0x56, - 0x7b, 0xe7, 0x18, 0x4f, 0xd2, 0xf9, 0x08, 0x33, 0x62, 0x54, 0x4b, 0xc9, 0x18, 0xd5, 0xf7, 0x61, - 0x55, 0x0a, 0x22, 0xb4, 0xd4, 0x9e, 0x23, 0xa9, 0xa8, 0x19, 0xc7, 0x7c, 0xcc, 0x08, 0x54, 0xae, - 0x5c, 0x2d, 0xa8, 0x75, 0x9e, 0x19, 0x33, 0x44, 0x50, 0xab, 0xf1, 0x3f, 0x35, 0x58, 0x53, 0x07, - 0xf1, 0xeb, 0x1d, 0x65, 0xf8, 0xf6, 0x3f, 0x28, 0xc0, 0x5a, 0xd6, 0x1b, 0x2d, 0x02, 0x58, 0xec, - 0x7d, 0xd1, 0xd9, 0xa5, 0xc1, 0x98, 0x65, 0x28, 0x3e, 0xeb, 0xf0, 0x2f, 0x0d, 0x21, 0xa8, 0x76, - 0x5b, 0x2d, 0xd3, 0xda, 0x3d, 0xec, 0x74, 0x5a, 0xbb, 0xfd, 0xd6, 0x9e, 0x3e, 0x47, 0xa4, 0x06, - 0x85, 0xed, 0xb5, 0x7b, 0x31, 0xb8, 0x80, 0xde, 0x80, 0x3b, 0x8f, 0x5a, 0xfd, 0xdd, 0x27, 0xad, - 0x3d, 0x8b, 0x6a, 0x06, 0x9d, 0xc7, 0xd6, 0xee, 0xa3, 0xf6, 0x7e, 0xbf, 0x65, 0xf6, 0x88, 0x3e, - 0x62, 0xb2, 0x14, 0x31, 0xf7, 0xe0, 0x6e, 0x2e, 0x56, 0xd7, 0x3c, 0x7c, 0x6c, 0xb6, 0x7a, 0x3d, - 0x7d, 0x61, 0x26, 0xda, 0xa3, 0x76, 0xa7, 0xdd, 0x7b, 0x42, 0xf3, 0xca, 0x6c, 0xc1, 0xa6, 0x40, - 0x7b, 0xd2, 0x6a, 0xee, 0xc9, 0x4d, 0x2d, 0xa1, 0x9b, 0x50, 0x4f, 0x16, 0x46, 0x2d, 0x14, 0xb3, - 0x4a, 0x23, 0xc2, 0x25, 0xf4, 0x1a, 0x34, 0xe8, 0xf0, 0x9e, 0xb7, 0x4c, 0xab, 0xb9, 0xb7, 0x47, - 0xea, 0xb4, 0x62, 0xda, 0x80, 0x6e, 0xc3, 0x56, 0x46, 0x79, 0x44, 0x60, 0x99, 0x4c, 0x9c, 0xd9, - 0xea, 0xed, 0x36, 0x3b, 0x51, 0xa5, 0x32, 0x11, 0x98, 0x1c, 0x16, 0xf5, 0xa3, 0x22, 0x01, 0xa3, - 0xda, 0xd5, 0x1d, 0x33, 0xca, 0xb1, 0xdd, 0xc3, 0xfe, 0x19, 0xb9, 0x8c, 0x7f, 0x06, 0x4b, 0x1c, - 0x82, 0x6e, 0xc8, 0x87, 0xa2, 0x92, 0x89, 0xbb, 0xd1, 0xc8, 0x2a, 0x62, 0x5c, 0xbd, 0xf3, 0xfb, - 0x5b, 0x50, 0x61, 0x0e, 0x87, 0x82, 0xe6, 0x77, 0x61, 0xbe, 0xeb, 0xb8, 0x27, 0x68, 0x43, 0x7e, - 0x79, 0x8e, 0x53, 0xe3, 0x36, 0x36, 0x53, 0xf0, 0xc8, 0xb3, 0x7c, 0x89, 0xa7, 0xb8, 0x55, 0x3a, - 0xa3, 0xe6, 0xcd, 0x55, 0x3a, 0x93, 0x4c, 0xa0, 0x6b, 0x42, 0x45, 0x49, 0x6f, 0x8b, 0x6e, 0xa7, - 0xb3, 0xce, 0x2a, 0x39, 0x73, 0x1b, 0x77, 0xf2, 0x11, 0x22, 0xef, 0xfd, 0x62, 0xe4, 0x2d, 0xd1, - 0xc8, 0x4c, 0x62, 0xcb, 0x28, 0x6d, 0xcd, 0x48, 0x70, 0x4b, 0x86, 0x26, 0xd2, 0xbf, 0xca, 0x43, - 0x53, 0x73, 0x0c, 0x2a, 0x43, 0x4b, 0x66, 0x03, 0x0c, 0xa0, 0x9e, 0x77, 0x04, 0xa1, 0x44, 0x06, - 0xaa, 0x59, 0x27, 0x5e, 0xe3, 0x9d, 0x2b, 0xe1, 0xf2, 0x46, 0x9f, 0x41, 0x55, 0xcd, 0x9a, 0x86, - 0xee, 0x24, 0x12, 0x44, 0xa5, 0x94, 0xe6, 0xc6, 0xdd, 0x19, 0x18, 0x9c, 0xec, 0x8f, 0x60, 0x25, - 0x91, 0x8c, 0x0d, 0xe5, 0xd7, 0x8a, 0x26, 0xd8, 0x98, 0x85, 0xc2, 0x28, 0x3f, 0xd0, 0xd0, 0x63, - 0x28, 0x45, 0x89, 0xab, 0xd0, 0x56, 0x56, 0x3a, 0x2b, 0x41, 0xef, 0xd6, 0xcc, 0x5c, 0x57, 0xe8, - 0x29, 0x40, 0x0c, 0x45, 0x37, 0x73, 0x90, 0xaf, 0x42, 0xea, 0x81, 0x86, 0xf6, 0x61, 0x59, 0x4a, - 0x16, 0x85, 0x94, 0xd0, 0x85, 0x54, 0x6a, 0xa9, 0xc6, 0x6b, 0x79, 0xc5, 0x51, 0xc6, 0xba, 0x52, - 0x94, 0x13, 0x4a, 0x19, 0x63, 0x32, 0x7d, 0x54, 0xe3, 0x66, 0x76, 0x61, 0x4c, 0x27, 0xca, 0x58, - 0xa4, 0xd0, 0x49, 0xa6, 0x47, 0x52, 0xe8, 0xa4, 0x93, 0x1c, 0x11, 0x3a, 0xe2, 0xe0, 0x57, 0xe9, - 0x24, 0x54, 0x04, 0x95, 0x4e, 0x4a, 0x57, 0x98, 0x2a, 0x7e, 0xf5, 0x8a, 0x73, 0xaa, 0xc2, 0xe3, - 0x97, 0xc4, 0xb1, 0x28, 0x3c, 0x7e, 0x59, 0x3c, 0xcb, 0x03, 0x0d, 0x39, 0x71, 0x3e, 0x6d, 0xa5, - 0xc9, 0x37, 0x33, 0x64, 0x43, 0x56, 0x73, 0x6f, 0x5d, 0x8a, 0x17, 0x35, 0xf5, 0x13, 0xb8, 0x91, - 0x1b, 0x87, 0x80, 0xde, 0xb9, 0x5a, 0xb4, 0x02, 0x6b, 0xf4, 0xdd, 0xeb, 0x84, 0x36, 0xdc, 0xd7, - 0x1e, 0x68, 0xe8, 0x4b, 0xd0, 0x93, 0x79, 0x8c, 0x90, 0x71, 0x79, 0xda, 0xa5, 0xc6, 0xeb, 0x33, - 0x71, 0x62, 0xc9, 0xab, 0x24, 0x7c, 0x56, 0x24, 0x6f, 0x56, 0x92, 0x69, 0x45, 0xf2, 0x66, 0xe6, - 0x8a, 0x46, 0x9f, 0xc2, 0x22, 0x73, 0x3b, 0x42, 0xf5, 0x94, 0x57, 0x94, 0xa0, 0x72, 0x23, 0xa3, - 0x44, 0xde, 0x75, 0x52, 0x06, 0x66, 0x65, 0xd7, 0xa5, 0x53, 0x3e, 0x2b, 0xbb, 0x2e, 0x2b, 0x71, - 0xb3, 0xa0, 0x26, 0xf2, 0x03, 0xcf, 0xcc, 0x91, 0x9c, 0xa6, 0x96, 0xb8, 0x73, 0x7f, 0x09, 0x7a, - 0x32, 0x19, 0xaf, 0xb2, 0x1a, 0x39, 0xb9, 0x85, 0x95, 0xd5, 0xc8, 0xcb, 0xe6, 0x8b, 0x0e, 0xa1, - 0x2c, 0x67, 0xc6, 0x45, 0xaf, 0xa5, 0x2a, 0x29, 0x59, 0x7e, 0x1b, 0xb7, 0x73, 0xcb, 0x39, 0xc1, - 0x17, 0xb0, 0x92, 0xc8, 0xd2, 0xa4, 0x48, 0xec, 0xec, 0x14, 0x58, 0x8a, 0xc4, 0xce, 0x4b, 0x11, - 0xf5, 0x1c, 0xaa, 0x6a, 0x12, 0x22, 0xe5, 0x88, 0xc9, 0xcc, 0x4f, 0xd4, 0xc8, 0xc5, 0x90, 0xd6, - 0xfe, 0x04, 0xd6, 0xb2, 0x72, 0x7e, 0x28, 0x9b, 0x7a, 0x46, 0x86, 0x12, 0x65, 0x53, 0xcf, 0x4c, - 0x1e, 0xf2, 0x02, 0x56, 0x12, 0x61, 0xf3, 0xca, 0xd4, 0x64, 0xa7, 0xb1, 0x50, 0xa6, 0x26, 0x2f, - 0x05, 0xc4, 0x97, 0xa0, 0x27, 0x03, 0xf2, 0x91, 0x71, 0x79, 0x2a, 0x04, 0x85, 0x45, 0x72, 0x93, - 0x01, 0xbc, 0x80, 0x95, 0x44, 0x50, 0xb6, 0xd2, 0xed, 0xec, 0xb8, 0x74, 0xa5, 0xdb, 0x79, 0x31, - 0xdd, 0x36, 0xa0, 0x74, 0x28, 0x35, 0x92, 0x8d, 0xf6, 0xb9, 0x51, 0xdb, 0x8d, 0x7b, 0x97, 0x60, - 0xf1, 0x26, 0x2e, 0xa2, 0x68, 0xed, 0x8c, 0xf8, 0x69, 0xf4, 0x6e, 0x9a, 0x48, 0x7e, 0x2c, 0x76, - 0xe3, 0xbd, 0x2b, 0x62, 0xc7, 0xf3, 0x96, 0x88, 0x08, 0x56, 0xe6, 0x2d, 0x3b, 0x5e, 0x5b, 0x99, - 0xb7, 0xbc, 0x80, 0x62, 0x2a, 0x42, 0xa5, 0x98, 0xdf, 0x84, 0x08, 0x4d, 0x47, 0x11, 0x27, 0x44, - 0x68, 0x46, 0xb8, 0x30, 0xfa, 0x6d, 0x58, 0xcf, 0x0c, 0x07, 0x46, 0x32, 0x7b, 0xcf, 0x0a, 0x28, - 0x6e, 0xdc, 0xbf, 0x1c, 0x31, 0x96, 0x8f, 0x52, 0x30, 0xab, 0x22, 0x1f, 0xd3, 0x11, 0xc7, 0x8a, - 0x7c, 0xcc, 0x0a, 0x13, 0x3e, 0x84, 0xb2, 0x1c, 0x1a, 0x8b, 0x5e, 0x9b, 0x1d, 0xce, 0xab, 0x88, - 0xb0, 0xcc, 0x28, 0xdc, 0x17, 0xb0, 0x92, 0xb0, 0xf5, 0x29, 0x0b, 0x97, 0x6d, 0x50, 0x55, 0x16, - 0x2e, 0xcf, 0x7c, 0x4a, 0x0e, 0xd6, 0x84, 0x25, 0x46, 0x3d, 0x58, 0xb3, 0x2d, 0x57, 0xea, 0xc1, - 0x9a, 0x67, 0x08, 0x22, 0xf3, 0x20, 0x59, 0x13, 0xd4, 0x79, 0x48, 0xdb, 0x4a, 0xd4, 0x79, 0xc8, - 0x30, 0x43, 0xec, 0xfc, 0xcd, 0x92, 0x08, 0x1c, 0x23, 0xcb, 0x89, 0x7d, 0x71, 0x6d, 0x3b, 0x84, - 0xb2, 0x1c, 0x38, 0xa6, 0x34, 0x94, 0x11, 0x68, 0xa6, 0x34, 0x94, 0x19, 0x71, 0x76, 0x08, 0x65, - 0x39, 0x00, 0x50, 0x21, 0x98, 0x11, 0xa0, 0xa8, 0x10, 0xcc, 0x8a, 0x1c, 0x24, 0x57, 0xa0, 0xbc, - 0xf8, 0x3d, 0x45, 0x3d, 0xbc, 0x24, 0xbc, 0x50, 0x51, 0x0f, 0x2f, 0x0b, 0x08, 0x44, 0x6d, 0x80, - 0x38, 0x9c, 0x4f, 0xb9, 0x06, 0xa4, 0xe2, 0x04, 0x95, 0x6b, 0x40, 0x46, 0x0c, 0xe0, 0x3e, 0x2c, - 0x4b, 0x81, 0x7c, 0xca, 0x06, 0x49, 0x87, 0xfd, 0x29, 0x1b, 0x24, 0x23, 0xfe, 0x0f, 0xfd, 0x16, - 0xb5, 0xb2, 0xaa, 0x81, 0x71, 0xe8, 0x75, 0x55, 0xdf, 0xcf, 0x8c, 0xea, 0x6b, 0xbc, 0x31, 0x1b, - 0x29, 0xa6, 0x9f, 0x0a, 0x59, 0x53, 0xe8, 0xe7, 0x05, 0xde, 0x29, 0xf4, 0x73, 0xa3, 0xde, 0xd0, - 0xcf, 0x34, 0xb8, 0x35, 0x33, 0x1e, 0x0d, 0xbd, 0x2f, 0xf7, 0xf3, 0x0a, 0x11, 0x6e, 0x8d, 0x07, - 0x57, 0xaf, 0x10, 0xf3, 0xa8, 0x1c, 0x14, 0xa0, 0xf0, 0x68, 0x46, 0x0c, 0x9c, 0xc2, 0xa3, 0x99, - 0xb1, 0x70, 0x27, 0x3c, 0x46, 0x2e, 0x11, 0x12, 0xa0, 0xa8, 0x1d, 0x33, 0x82, 0xfd, 0x14, 0xb5, - 0x63, 0x56, 0xd4, 0x1f, 0x7a, 0x08, 0x4b, 0x3c, 0xce, 0x42, 0xb1, 0x28, 0xa8, 0xb1, 0x20, 0x8a, - 0x45, 0x21, 0x11, 0x96, 0xf1, 0x40, 0x23, 0x34, 0x78, 0xe8, 0x8f, 0x42, 0x43, 0x0d, 0x80, 0x52, - 0x68, 0x24, 0x22, 0x85, 0x98, 0x8e, 0x2d, 0xc5, 0x06, 0x28, 0x4c, 0x9d, 0x8e, 0x24, 0x50, 0x98, - 0x3a, 0x23, 0xa4, 0x60, 0xc7, 0x83, 0x35, 0xc9, 0xb5, 0xf7, 0xf9, 0x8e, 0x10, 0x4e, 0x9f, 0x43, - 0x55, 0x75, 0x02, 0x57, 0xb4, 0xc4, 0x4c, 0x87, 0x79, 0xc5, 0x10, 0x91, 0xed, 0x41, 0xfe, 0x40, - 0xdb, 0xf9, 0xb7, 0x45, 0x91, 0xdc, 0x99, 0x96, 0x88, 0xf6, 0x9e, 0x41, 0x55, 0x75, 0x65, 0x56, - 0xda, 0xcb, 0x74, 0x3a, 0x57, 0xda, 0xcb, 0xf6, 0x83, 0x26, 0x47, 0xbc, 0xe2, 0xef, 0xac, 0x1c, - 0xf1, 0x59, 0x1e, 0xd2, 0x8d, 0x3b, 0xf9, 0x08, 0xf1, 0x3e, 0x4d, 0x79, 0x43, 0x2b, 0xfb, 0x34, - 0xcf, 0x91, 0x5a, 0xd9, 0xa7, 0xf9, 0x0e, 0xd5, 0x6d, 0x80, 0xd8, 0x59, 0x54, 0x11, 0x80, 0x29, - 0x97, 0x53, 0x45, 0x00, 0xa6, 0x3d, 0x4c, 0xc9, 0xe6, 0xc8, 0x72, 0x09, 0x55, 0x36, 0xc7, 0x0c, - 0x17, 0xd4, 0xc6, 0x5b, 0x97, 0xe2, 0x49, 0x06, 0x12, 0xe1, 0x22, 0xaa, 0x1a, 0x48, 0x12, 0x1e, - 0xa7, 0x8d, 0x9b, 0xd9, 0x85, 0x9c, 0xce, 0x90, 0x3a, 0x26, 0x26, 0x3d, 0x41, 0xd1, 0xbd, 0x54, - 0xa5, 0x2c, 0xaf, 0xd3, 0xc6, 0x9b, 0x97, 0xa1, 0x65, 0xb6, 0x12, 0x7b, 0xf6, 0x67, 0x57, 0x4f, - 0x38, 0x9c, 0xe6, 0xb5, 0x92, 0xf4, 0x25, 0xa5, 0xb7, 0x89, 0x84, 0x27, 0xa8, 0x7a, 0x9b, 0xc8, - 0x76, 0x34, 0x55, 0x6f, 0x13, 0x39, 0xae, 0xa4, 0x74, 0xbf, 0x28, 0xee, 0xa0, 0xea, 0x7e, 0xc9, - 0xf2, 0x32, 0x55, 0xf7, 0x4b, 0xa6, 0x2f, 0x29, 0x55, 0x29, 0x63, 0xc7, 0x50, 0x74, 0x2b, 0x5d, - 0x43, 0xf2, 0x31, 0x55, 0x55, 0xca, 0xb4, 0x3f, 0x29, 0xef, 0xa4, 0xe4, 0x12, 0x9a, 0xec, 0x64, - 0xda, 0xd5, 0x34, 0xd9, 0xc9, 0x0c, 0x7f, 0xd2, 0x9d, 0x9f, 0x6b, 0xa4, 0x97, 0x78, 0x28, 0x64, - 0x87, 0x0d, 0x28, 0x1d, 0xac, 0xa4, 0xdc, 0x7f, 0x72, 0x23, 0xa1, 0x94, 0xfb, 0xcf, 0x8c, 0x88, - 0xa7, 0x36, 0x40, 0x1c, 0x5e, 0xa4, 0xec, 0xc9, 0x54, 0xa4, 0x52, 0xe3, 0x56, 0x4e, 0x29, 0xef, - 0xfd, 0x6f, 0x42, 0x85, 0x79, 0x89, 0x4a, 0x4f, 0x02, 0xdc, 0x6d, 0x54, 0x39, 0x14, 0x54, 0x97, - 0x59, 0xe5, 0x50, 0x48, 0x78, 0x99, 0xee, 0xfc, 0x0b, 0x0d, 0x2a, 0x8c, 0x4d, 0x04, 0xcd, 0x7d, - 0x58, 0x96, 0xdc, 0xf6, 0x94, 0x75, 0x4c, 0xfb, 0x0e, 0x2a, 0xeb, 0x98, 0xe5, 0xed, 0xc7, 0xd6, - 0x51, 0x26, 0x78, 0xe7, 0x32, 0x7f, 0xc4, 0xe4, 0x3a, 0x66, 0x90, 0xdd, 0x99, 0x40, 0x83, 0x5f, - 0x1a, 0xa8, 0x17, 0x1f, 0xd7, 0x15, 0xc4, 0x10, 0x4c, 0xa8, 0x28, 0xce, 0x7d, 0x8a, 0xe8, 0xce, - 0x72, 0x30, 0x54, 0x44, 0x77, 0xa6, 0x5f, 0xe0, 0xce, 0x9f, 0x87, 0x35, 0xb6, 0x22, 0xbc, 0x40, - 0xb4, 0x75, 0x22, 0xe0, 0xaa, 0x03, 0x89, 0x22, 0x27, 0x67, 0xf8, 0xad, 0x28, 0x72, 0x72, 0x96, - 0x27, 0xca, 0xd1, 0x22, 0xfd, 0x33, 0xac, 0x1f, 0xfc, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x60, - 0xf1, 0xc6, 0x06, 0x93, 0x75, 0x00, 0x00, +func init() { proto.RegisterFile("api.proto", fileDescriptor_api_ba169823a4f7e002) } + +var fileDescriptor_api_ba169823a4f7e002 = []byte{ + // 8443 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x5d, 0x6c, 0x24, 0x59, + 0x96, 0x10, 0x3c, 0x91, 0xe9, 0x9f, 0xcc, 0xe3, 0xcc, 0x74, 0xf8, 0xfa, 0x2f, 0x2b, 0x5d, 0xd5, + 0x55, 0x15, 0xdd, 0xd5, 0x5d, 0xd3, 0x3f, 0xee, 0x1a, 0x77, 0xcf, 0x4c, 0xef, 0x4c, 0x4f, 0x77, + 0x67, 0xd9, 0x59, 0x55, 0x39, 0x65, 0xa7, 0x73, 0x23, 0xb3, 0xaa, 0xab, 0xa7, 0xbf, 0x6f, 0x43, + 0xe1, 0xcc, 0x6b, 0x3b, 0xb6, 0x32, 0x23, 0x72, 0x22, 0x22, 0xed, 0xf2, 0x00, 0x62, 0x34, 0x08, + 0xde, 0x56, 0xfc, 0x48, 0x3c, 0xf0, 0xb3, 0x2b, 0x24, 0x10, 0x20, 0x21, 0x16, 0x10, 0x08, 0xad, + 0x18, 0x84, 0x58, 0x04, 0x0f, 0x68, 0x85, 0xd0, 0xf2, 0xc2, 0x03, 0x6f, 0x48, 0x3c, 0x21, 0xb1, + 0x12, 0xf0, 0xc6, 0x03, 0xe8, 0xfe, 0x45, 0xdc, 0x1b, 0x3f, 0x69, 0xbb, 0xb7, 0x47, 0x62, 0x46, + 0xd4, 0x4b, 0x65, 0x9c, 0x7b, 0xee, 0xb9, 0x7f, 0xe7, 0x9e, 0x7b, 0xee, 0xb9, 0xe7, 0x1c, 0x43, + 0xd9, 0x9e, 0x38, 0xdb, 0x13, 0xdf, 0x0b, 0x3d, 0x54, 0x3e, 0xb7, 0x47, 0x23, 0x1c, 0xfa, 0x93, + 0x81, 0xa1, 0x43, 0xed, 0x39, 0xf6, 0x03, 0xc7, 0x73, 0x4d, 0xfc, 0xe3, 0x29, 0x0e, 0x42, 0xe3, + 0xf7, 0x35, 0x58, 0x8e, 0x40, 0xc1, 0xc4, 0x73, 0x03, 0x8c, 0xee, 0x41, 0xed, 0x8c, 0x81, 0xac, + 0x20, 0xf4, 0x1d, 0xf7, 0xa4, 0xae, 0xdd, 0xd1, 0xee, 0x97, 0xcd, 0x2a, 0x87, 0xf6, 0x28, 0x10, + 0xad, 0xc1, 0xfc, 0xd8, 0xfe, 0x4d, 0xcf, 0xaf, 0x17, 0xee, 0x68, 0xf7, 0xab, 0x26, 0xfb, 0xa0, + 0x50, 0xc7, 0xf5, 0xfc, 0x7a, 0x91, 0x43, 0xc9, 0x07, 0x81, 0x4e, 0xec, 0x70, 0x70, 0x5a, 0x9f, + 0x63, 0x50, 0xfa, 0x81, 0x5e, 0x03, 0x98, 0xf8, 0xd8, 0xc7, 0x23, 0x6c, 0x07, 0xb8, 0x3e, 0x4f, + 0x1b, 0x91, 0x20, 0xa4, 0x23, 0x47, 0x53, 0x67, 0x34, 0xb4, 0xc6, 0x38, 0xb4, 0x87, 0x76, 0x68, + 0xd7, 0x17, 0x58, 0x47, 0x28, 0xf4, 0x80, 0x03, 0x8d, 0x7f, 0x3f, 0x0f, 0xa8, 0xef, 0xdb, 0x6e, + 0x60, 0x0f, 0x42, 0xc7, 0x73, 0xf7, 0x70, 0x68, 0x3b, 0xa3, 0x00, 0x21, 0x98, 0x3b, 0xb5, 0x83, + 0x53, 0xda, 0xf9, 0x8a, 0x49, 0x7f, 0xa3, 0x3b, 0xb0, 0x14, 0xc6, 0x98, 0xb4, 0xe7, 0x15, 0x53, + 0x06, 0xa1, 0xef, 0xc3, 0xc2, 0x10, 0x1f, 0x39, 0x61, 0x50, 0x2f, 0xde, 0x29, 0xde, 0x5f, 0xda, + 0x79, 0x7d, 0x3b, 0x9a, 0xbe, 0xed, 0x74, 0x23, 0xdb, 0x6d, 0x77, 0x32, 0x0d, 0x4d, 0x5e, 0x05, + 0x7d, 0x02, 0x8b, 0x03, 0x1f, 0x0f, 0x49, 0xed, 0x39, 0x5a, 0xfb, 0x8d, 0xd9, 0xb5, 0x0f, 0xa7, + 0x21, 0xa9, 0x2e, 0x2a, 0x21, 0x1d, 0x8a, 0xc7, 0x98, 0xcd, 0x44, 0xd1, 0x24, 0x3f, 0xd1, 0x4d, + 0x28, 0x87, 0xce, 0x18, 0x07, 0xa1, 0x3d, 0x9e, 0xd0, 0xd1, 0x17, 0xcd, 0x18, 0x80, 0x5e, 0x80, + 0x2e, 0xf5, 0xdd, 0x0a, 0x2f, 0x26, 0xb8, 0xbe, 0x78, 0x47, 0xbb, 0x5f, 0xdb, 0x79, 0x6f, 0x76, + 0xc3, 0x12, 0xa8, 0x7f, 0x31, 0xc1, 0xe6, 0x72, 0xa8, 0x02, 0x1a, 0x3f, 0x86, 0x79, 0x3a, 0x34, + 0xb2, 0x72, 0x8e, 0x3b, 0xc4, 0xaf, 0xe8, 0x34, 0x56, 0x4d, 0xf6, 0x81, 0xbe, 0x09, 0xfa, 0xc4, + 0xc7, 0x67, 0x8e, 0x37, 0x0d, 0x2c, 0x7b, 0x30, 0xf0, 0xa6, 0x6e, 0xc8, 0xd9, 0x60, 0x59, 0xc0, + 0x9b, 0x0c, 0x8c, 0xde, 0x82, 0xe5, 0x18, 0x75, 0x4c, 0x31, 0x8b, 0x74, 0x1c, 0xb5, 0x08, 0x93, + 0x42, 0x1b, 0x7f, 0x4f, 0x83, 0x05, 0x36, 0x21, 0x39, 0x8d, 0xd6, 0x61, 0x51, 0x6d, 0x4b, 0x7c, + 0xa2, 0x06, 0x94, 0x1c, 0x37, 0xc4, 0xbe, 0x6b, 0x8f, 0x28, 0xf1, 0x92, 0x19, 0x7d, 0xa3, 0x0d, + 0x58, 0xe0, 0xcd, 0xce, 0xd1, 0x66, 0xf9, 0x17, 0xa5, 0x36, 0x1c, 0xfa, 0x38, 0x08, 0x38, 0xe7, + 0x89, 0x4f, 0xf4, 0x3a, 0x54, 0x3d, 0xda, 0x0f, 0x2b, 0x18, 0xf8, 0xce, 0x24, 0xa4, 0xf3, 0x5e, + 0x31, 0x2b, 0x0c, 0xd8, 0xa3, 0x30, 0xe3, 0x4b, 0x58, 0x4e, 0x4c, 0x22, 0x5a, 0x82, 0x45, 0xb3, + 0xf5, 0xf8, 0xd9, 0x7e, 0xd3, 0xd4, 0xbf, 0x81, 0x2a, 0x50, 0xda, 0x3d, 0x6c, 0x77, 0x1e, 0x36, + 0x7b, 0x2d, 0x7d, 0x0e, 0xad, 0xc2, 0x72, 0xbf, 0xbd, 0xfb, 0xb4, 0xd5, 0xb7, 0xba, 0xcf, 0xcc, + 0xdd, 0x27, 0x04, 0xa8, 0xa1, 0x12, 0xcc, 0x3d, 0x3f, 0xec, 0xb7, 0xf4, 0x02, 0xaa, 0x01, 0x98, + 0xad, 0xe7, 0x87, 0xbb, 0xcd, 0x7e, 0xfb, 0xb0, 0xa3, 0x17, 0x8d, 0x7f, 0xad, 0x41, 0xe5, 0xe1, + 0xc8, 0x1b, 0xbc, 0x9c, 0xc5, 0xcb, 0x1b, 0xb0, 0x70, 0x8a, 0x9d, 0x93, 0x53, 0x36, 0x1b, 0xf3, + 0x26, 0xff, 0x52, 0x59, 0xa6, 0x98, 0x64, 0x99, 0xb7, 0x60, 0xd9, 0x9e, 0x4c, 0x7c, 0xef, 0x0c, + 0x07, 0xd6, 0xc4, 0xf6, 0xb1, 0x1b, 0xd2, 0xe1, 0x97, 0xcc, 0x9a, 0x00, 0x77, 0x29, 0x14, 0x35, + 0xa1, 0x22, 0x31, 0x85, 0x60, 0xe8, 0x5b, 0x33, 0xf9, 0xca, 0x54, 0xaa, 0x18, 0x87, 0x50, 0xe3, + 0x5c, 0xf0, 0xd0, 0x1e, 0xd9, 0xee, 0x00, 0xcb, 0x4b, 0xa8, 0xa9, 0x4b, 0xf8, 0x3a, 0x54, 0x43, + 0x2f, 0xb4, 0x47, 0xd6, 0x11, 0x43, 0xa5, 0x83, 0x2a, 0x9a, 0x15, 0x0a, 0xe4, 0xd5, 0x8d, 0x2a, + 0x2c, 0x75, 0x1d, 0xf7, 0x44, 0x08, 0xaf, 0x1a, 0x54, 0xd8, 0x27, 0x13, 0x5c, 0x44, 0xbc, 0x75, + 0x70, 0x78, 0xee, 0xf9, 0x2f, 0x05, 0xc6, 0x47, 0xb0, 0x1c, 0x41, 0x62, 0xe9, 0x46, 0xfa, 0x77, + 0x86, 0x2d, 0x97, 0x95, 0xf0, 0x9e, 0x54, 0x19, 0x94, 0xa3, 0x1b, 0xbf, 0x06, 0x6b, 0xbc, 0xef, + 0x9d, 0xe9, 0xf8, 0x08, 0xfb, 0x9c, 0x22, 0xba, 0x0b, 0x15, 0xde, 0x65, 0xcb, 0xb5, 0xc7, 0x98, + 0x8b, 0xc6, 0x25, 0x0e, 0xeb, 0xd8, 0x63, 0x6c, 0x7c, 0x02, 0xeb, 0x89, 0xaa, 0x72, 0xd3, 0xbc, + 0x2e, 0x2d, 0x89, 0x9b, 0x96, 0xd0, 0x8d, 0x15, 0x58, 0xe6, 0xf5, 0x03, 0x31, 0x8e, 0xdf, 0x2b, + 0x82, 0x1e, 0xc3, 0x38, 0xb9, 0x4f, 0xa1, 0xc4, 0x2b, 0x06, 0x75, 0x2d, 0x25, 0xac, 0x92, 0xe8, + 0x02, 0x60, 0x46, 0x95, 0xd0, 0xbb, 0x80, 0x06, 0x53, 0x9f, 0xac, 0xb6, 0x75, 0x44, 0xb8, 0xcd, + 0xa2, 0x3c, 0xc6, 0x84, 0xa2, 0xce, 0x4b, 0x28, 0x1b, 0x3e, 0x21, 0xfc, 0xf6, 0x00, 0xd6, 0x12, + 0xd8, 0x8c, 0xfb, 0x8a, 0x94, 0xfb, 0x90, 0x82, 0x4f, 0x4b, 0x1a, 0x3f, 0x2b, 0xc0, 0xa2, 0x10, + 0x03, 0x57, 0x1b, 0x7b, 0x6a, 0x7a, 0x0b, 0xa9, 0xe9, 0x4d, 0x73, 0x4a, 0x31, 0xcd, 0x29, 0x64, + 0x68, 0xf8, 0x15, 0x93, 0x00, 0xd6, 0x4b, 0x7c, 0x61, 0x0d, 0x22, 0x09, 0x50, 0x35, 0x75, 0x51, + 0xf2, 0x14, 0x5f, 0xec, 0xd2, 0xce, 0xbd, 0x0b, 0x48, 0xc8, 0x0b, 0x09, 0x7b, 0x9e, 0x61, 0x8b, + 0x12, 0x05, 0x7b, 0x3c, 0xf1, 0xfc, 0x10, 0x0f, 0x25, 0xec, 0x05, 0x8e, 0xcd, 0x4b, 0x04, 0xb6, + 0xf1, 0x02, 0xd6, 0x4c, 0x4c, 0xc6, 0x22, 0xe6, 0x9f, 0x33, 0xd2, 0x15, 0x27, 0xe4, 0x06, 0x94, + 0x5c, 0x7c, 0x2e, 0x4f, 0xc6, 0xa2, 0x8b, 0xcf, 0x29, 0x9f, 0x6d, 0xc2, 0x7a, 0x82, 0x32, 0xdf, + 0x07, 0xbf, 0x0e, 0x55, 0x13, 0x07, 0x03, 0xdb, 0x95, 0x98, 0xf6, 0x08, 0x9f, 0x38, 0xae, 0x58, + 0x32, 0x8d, 0x2e, 0xd9, 0x12, 0x85, 0xb1, 0xb5, 0x42, 0xb7, 0x00, 0x38, 0x4a, 0xcc, 0x03, 0x65, + 0x86, 0x60, 0x07, 0xa7, 0xc6, 0x0f, 0xa0, 0x26, 0x48, 0x72, 0xee, 0x7b, 0x07, 0x56, 0x7c, 0x0a, + 0x71, 0xf1, 0xd0, 0x0a, 0x4f, 0x7d, 0x6f, 0x7a, 0x72, 0xca, 0x09, 0xeb, 0x51, 0x41, 0x9f, 0xc1, + 0x8d, 0xcf, 0x01, 0x75, 0xf0, 0xab, 0x30, 0x31, 0x05, 0xe4, 0xfc, 0xb7, 0x83, 0x60, 0x72, 0xea, + 0x93, 0xf3, 0x9f, 0xc9, 0x36, 0x09, 0x72, 0x05, 0x66, 0x30, 0x3e, 0x86, 0x55, 0x85, 0xf0, 0xf5, + 0x76, 0xda, 0xbf, 0x2b, 0xf0, 0x7e, 0x31, 0xc9, 0x2f, 0xfa, 0x95, 0x2f, 0xa5, 0xbe, 0x03, 0x73, + 0x2f, 0x1d, 0x77, 0x48, 0x7b, 0x52, 0xdb, 0x31, 0xa4, 0xed, 0x96, 0x26, 0xb3, 0xfd, 0xd4, 0x71, + 0x87, 0x26, 0xc5, 0x47, 0x8f, 0x00, 0x4e, 0xec, 0x89, 0x35, 0xf1, 0x46, 0xce, 0xe0, 0x82, 0x32, + 0x6c, 0x6d, 0xe7, 0xad, 0xd9, 0xb5, 0x1f, 0xdb, 0x93, 0x2e, 0x45, 0x37, 0xcb, 0x27, 0xe2, 0xa7, + 0xb1, 0x03, 0x73, 0x84, 0x2a, 0x5a, 0x03, 0xfd, 0x61, 0xbb, 0xfb, 0xe0, 0xc1, 0x87, 0x1f, 0x5a, + 0xad, 0x17, 0xfd, 0x96, 0xd9, 0x69, 0xee, 0xeb, 0xdf, 0x90, 0xa1, 0xed, 0x0e, 0x87, 0x6a, 0x86, + 0x03, 0xe5, 0x88, 0x16, 0x6a, 0xc0, 0xc6, 0xe3, 0x66, 0xd7, 0xea, 0x1e, 0xee, 0xb7, 0x77, 0xbf, + 0xb0, 0x9e, 0x75, 0x7a, 0xdd, 0xd6, 0x6e, 0xfb, 0x51, 0xbb, 0xb5, 0xc7, 0xaa, 0x4b, 0x65, 0x2d, + 0xd3, 0x3c, 0x34, 0x75, 0x0d, 0xad, 0xc3, 0x8a, 0x04, 0x6d, 0x3f, 0xee, 0x1c, 0x9a, 0xe4, 0xc8, + 0x5a, 0x85, 0x65, 0x09, 0xfc, 0xb9, 0xd9, 0xec, 0xea, 0x45, 0xa3, 0xc3, 0x57, 0x43, 0x8c, 0x84, + 0xaf, 0x86, 0x74, 0xd4, 0x6a, 0xea, 0x51, 0x7b, 0x0b, 0x60, 0x32, 0x3d, 0x1a, 0x39, 0x03, 0xb2, + 0x91, 0xf8, 0xfa, 0x96, 0x19, 0xe4, 0x29, 0xbe, 0x30, 0xfe, 0xa1, 0x06, 0x9b, 0x6d, 0xba, 0xa1, + 0xba, 0xbe, 0x73, 0x66, 0x87, 0xf8, 0x29, 0xbe, 0xb8, 0x2a, 0xf3, 0xe4, 0x6b, 0x0b, 0x6f, 0x12, + 0x8d, 0x84, 0x92, 0xa3, 0xdb, 0xf7, 0xdc, 0x39, 0xa6, 0x2b, 0x52, 0x36, 0xab, 0x93, 0xa8, 0x95, + 0xcf, 0x9d, 0x63, 0x72, 0xc0, 0x32, 0x46, 0xa6, 0x72, 0xa3, 0x64, 0xf2, 0x2f, 0xb4, 0x05, 0x65, + 0xf2, 0xbf, 0x75, 0xec, 0x7b, 0x63, 0x2a, 0x24, 0xe6, 0xcd, 0x12, 0x01, 0x3c, 0xf2, 0xbd, 0xb1, + 0xd1, 0x80, 0x7a, 0xba, 0xc7, 0x7c, 0x5f, 0xfe, 0x23, 0x0d, 0x56, 0x59, 0x21, 0x53, 0x22, 0xae, + 0x3a, 0x94, 0x0d, 0x58, 0xe0, 0x9a, 0x08, 0xdb, 0x97, 0xfc, 0x4b, 0xea, 0x60, 0x31, 0xbf, 0x83, + 0x73, 0x6a, 0x07, 0xd1, 0x7b, 0x80, 0x7c, 0xfc, 0xe3, 0xa9, 0xe3, 0x63, 0xcb, 0xc7, 0x43, 0x8c, + 0xc7, 0xf6, 0xd1, 0x08, 0x73, 0x1d, 0x60, 0x85, 0x97, 0x98, 0x51, 0x81, 0xf1, 0x05, 0xac, 0xa9, + 0x5d, 0xe6, 0x6b, 0x7a, 0x17, 0x2a, 0x93, 0x9d, 0xe0, 0xd4, 0x52, 0x17, 0x76, 0x89, 0xc0, 0xf8, + 0xf2, 0x93, 0x61, 0x49, 0x2d, 0x14, 0x68, 0x0b, 0x12, 0xc4, 0x70, 0xa1, 0xc6, 0xc5, 0xf5, 0x35, + 0x65, 0xe2, 0xb7, 0x61, 0x83, 0x77, 0x74, 0x68, 0x0d, 0x3c, 0xf7, 0xd8, 0xf1, 0xc7, 0x36, 0x53, + 0x52, 0x98, 0x26, 0xb4, 0x2e, 0x4a, 0x77, 0xe5, 0x42, 0xe3, 0x6f, 0x16, 0x60, 0x39, 0x6a, 0x90, + 0x0f, 0x63, 0x0d, 0xe6, 0xe9, 0xb9, 0x41, 0x1b, 0x2a, 0x9a, 0xec, 0x83, 0xa8, 0x50, 0xc1, 0x04, + 0xbb, 0xc3, 0xa8, 0xe3, 0x45, 0x33, 0x06, 0x10, 0x15, 0xca, 0x19, 0x8f, 0xed, 0x70, 0x4a, 0xa7, + 0xf0, 0xdc, 0xf6, 0x87, 0x42, 0xa3, 0x15, 0x60, 0x93, 0x42, 0xd1, 0xf7, 0xe0, 0x46, 0x84, 0x18, + 0x84, 0xf6, 0x4b, 0x6c, 0x9d, 0x60, 0x17, 0xfb, 0xb4, 0x3b, 0x5c, 0x1b, 0xdd, 0x14, 0x08, 0x3d, + 0x52, 0xfe, 0x38, 0x2a, 0x46, 0x6f, 0xc3, 0x0a, 0x39, 0x49, 0xf1, 0xd0, 0x3a, 0xba, 0xb0, 0x42, + 0x67, 0xf0, 0x12, 0x87, 0x01, 0xbf, 0x18, 0x2c, 0xb3, 0x82, 0x87, 0x17, 0x7d, 0x06, 0x26, 0xda, + 0xf8, 0x99, 0x17, 0x3a, 0xee, 0x89, 0x65, 0x4f, 0xc3, 0x53, 0xcf, 0x77, 0xc2, 0x0b, 0x7e, 0x57, + 0x58, 0x66, 0xf0, 0xa6, 0x00, 0x93, 0x0b, 0xd0, 0xd4, 0xe5, 0x73, 0x86, 0x87, 0xf4, 0xb2, 0x50, + 0x34, 0x65, 0x90, 0xf1, 0x10, 0xd6, 0x1f, 0xe3, 0x50, 0xd2, 0xed, 0xc4, 0xe2, 0x7c, 0x53, 0xbd, + 0x6c, 0x48, 0xfa, 0xa8, 0x7c, 0x7b, 0xa0, 0xa7, 0xc5, 0xef, 0x68, 0xb0, 0x91, 0x24, 0x12, 0x29, + 0x2d, 0xca, 0x0d, 0x8c, 0x10, 0xb8, 0x54, 0xab, 0x54, 0x2e, 0x68, 0x6f, 0x40, 0x35, 0x6b, 0xcd, + 0x55, 0x20, 0x3d, 0xce, 0x62, 0x95, 0xa6, 0xc8, 0x8f, 0x33, 0xa1, 0xcb, 0x18, 0xff, 0xa1, 0x90, + 0xec, 0x60, 0x24, 0xfc, 0xb7, 0x61, 0x35, 0x08, 0x6d, 0x9f, 0x4e, 0xa7, 0x44, 0x82, 0x8d, 0x74, + 0x45, 0x14, 0xc5, 0x6a, 0xd1, 0x0e, 0xac, 0x27, 0xf1, 0x63, 0xad, 0x7c, 0xc5, 0x5c, 0x55, 0x6b, + 0xb0, 0xc3, 0xf6, 0x6d, 0x58, 0xc1, 0xee, 0x30, 0xd1, 0x02, 0xeb, 0xe4, 0x32, 0x2b, 0x88, 0xe9, + 0x6f, 0xc3, 0xaa, 0x8a, 0xcb, 0xa8, 0xb3, 0x6d, 0xbd, 0x22, 0x63, 0x33, 0xda, 0x9f, 0xc0, 0xd6, + 0xd8, 0x71, 0x9d, 0xf1, 0x74, 0x6c, 0xf9, 0x78, 0x40, 0xb4, 0x35, 0x45, 0x8d, 0x67, 0xf2, 0xea, + 0x06, 0x47, 0x31, 0x29, 0x86, 0x3c, 0x0d, 0xe8, 0x23, 0xa8, 0x87, 0xb6, 0x7f, 0x82, 0x95, 0x7a, + 0x92, 0x8e, 0x33, 0x6f, 0x6e, 0xb0, 0x72, 0xa9, 0x16, 0xd3, 0x74, 0xfe, 0xb1, 0x06, 0x9b, 0xa9, + 0x49, 0xe5, 0xcb, 0xfe, 0x08, 0xd0, 0xd8, 0xa1, 0x9a, 0x82, 0xdc, 0x19, 0xb6, 0xfa, 0x9b, 0xd2, + 0xea, 0xcb, 0xb7, 0x1e, 0x73, 0x85, 0x56, 0x51, 0x7a, 0xd7, 0x85, 0xb5, 0xa9, 0x9b, 0x41, 0xa9, + 0x70, 0x95, 0xdb, 0xc9, 0x2a, 0xaf, 0x2a, 0x53, 0x34, 0x3e, 0x00, 0x9d, 0x74, 0x9a, 0x6e, 0x25, + 0xc1, 0x03, 0xb7, 0x61, 0x89, 0x6d, 0x39, 0x79, 0xed, 0x81, 0x81, 0x28, 0xff, 0xfc, 0x99, 0x02, + 0xac, 0x44, 0xb5, 0x7e, 0x65, 0x58, 0x67, 0x1b, 0x56, 0xc5, 0xd2, 0xb3, 0xd1, 0xc7, 0x7a, 0xf0, + 0xbc, 0xb9, 0xc2, 0x57, 0x9d, 0x96, 0xb0, 0x05, 0xff, 0xb7, 0x73, 0x80, 0xe4, 0x59, 0xe0, 0x6b, + 0xbd, 0x0b, 0x0b, 0xac, 0x3e, 0x5f, 0xdf, 0x77, 0xa4, 0x55, 0x49, 0xa3, 0x6f, 0xb3, 0x6f, 0xb1, + 0x46, 0xbc, 0x2a, 0xfa, 0x0c, 0xe6, 0x69, 0xa7, 0xe9, 0x5c, 0x2c, 0xed, 0xbc, 0x3d, 0x9b, 0x86, + 0xc2, 0x36, 0xac, 0x62, 0xe3, 0x0f, 0x0b, 0x50, 0x55, 0x68, 0xa3, 0x6f, 0x27, 0x3a, 0x76, 0x09, + 0xbb, 0x88, 0xae, 0x7c, 0x17, 0x16, 0xa9, 0xf0, 0xc7, 0x3e, 0xef, 0xcc, 0x25, 0xf5, 0x04, 0x36, + 0xfa, 0xff, 0xa1, 0xca, 0x27, 0x32, 0x08, 0xed, 0x70, 0x1a, 0x70, 0xc5, 0xef, 0xa3, 0x6b, 0xcc, + 0x07, 0xff, 0xea, 0xd1, 0xfa, 0x66, 0x25, 0x94, 0xbe, 0x8c, 0x1f, 0x43, 0x45, 0x2e, 0x45, 0x4b, + 0xb0, 0xf8, 0xac, 0xf3, 0xb4, 0x73, 0xf8, 0x79, 0x47, 0xff, 0x06, 0xfb, 0x38, 0x68, 0x77, 0x5a, + 0x7b, 0xba, 0x86, 0x2a, 0x50, 0x6a, 0x1f, 0x1c, 0x34, 0xfb, 0xcf, 0xa8, 0xea, 0x56, 0x82, 0xb9, + 0xfd, 0xf6, 0xf3, 0x96, 0x5e, 0x44, 0x65, 0x98, 0x7f, 0x7e, 0xd8, 0x6f, 0xed, 0xe9, 0x73, 0x08, + 0x60, 0xe1, 0xa0, 0xdd, 0xeb, 0xb5, 0xf6, 0xf4, 0x79, 0x52, 0xb7, 0xf5, 0xa2, 0xdb, 0x36, 0x5b, + 0x7b, 0xfa, 0x02, 0xb3, 0x6a, 0x3c, 0x3f, 0x7c, 0xda, 0xda, 0xd3, 0x17, 0x1b, 0x2f, 0x7e, 0x51, + 0x76, 0x09, 0x63, 0x0d, 0x10, 0x1b, 0x4c, 0xd7, 0x77, 0x22, 0x85, 0xc0, 0xe8, 0xc2, 0xaa, 0x02, + 0x8d, 0x95, 0x0f, 0x3e, 0xb1, 0x13, 0x02, 0xe7, 0x87, 0x37, 0xdf, 0xb3, 0x14, 0x35, 0xaf, 0x17, + 0x06, 0x02, 0x9d, 0x1e, 0xb5, 0x6d, 0xf7, 0xd8, 0x13, 0xad, 0xfc, 0x61, 0x01, 0x56, 0x24, 0x20, + 0x6f, 0x64, 0x0b, 0xca, 0x13, 0xcf, 0x1b, 0x59, 0x81, 0xf3, 0x13, 0xcc, 0xf5, 0x90, 0x12, 0x01, + 0xf4, 0x9c, 0x9f, 0x60, 0xa2, 0x43, 0xda, 0xa3, 0x91, 0x35, 0xc6, 0x63, 0x8a, 0x13, 0x3a, 0xaf, + 0xb8, 0x96, 0x59, 0xb5, 0x47, 0xa3, 0x03, 0x06, 0xed, 0x3b, 0xaf, 0x08, 0x9e, 0x77, 0xee, 0x2a, + 0x78, 0xcc, 0x30, 0x5a, 0xf5, 0xce, 0x5d, 0x09, 0xaf, 0x01, 0x25, 0xa1, 0x09, 0xf0, 0x5b, 0x6a, + 0xf4, 0x4d, 0x26, 0x79, 0xe4, 0x9c, 0x61, 0x7e, 0x1f, 0xa5, 0xbf, 0x89, 0xde, 0x72, 0xe6, 0x85, + 0x78, 0xc8, 0xaf, 0x9d, 0xec, 0x83, 0x0c, 0x7a, 0xec, 0x04, 0x01, 0x3f, 0xd8, 0xab, 0x26, 0xff, + 0x22, 0xba, 0xb0, 0x8f, 0xcf, 0xbc, 0x97, 0x78, 0x58, 0x2f, 0x31, 0x5d, 0x98, 0x7f, 0x92, 0x12, + 0xfc, 0x6a, 0x42, 0x74, 0xa5, 0x7a, 0x99, 0x95, 0xf0, 0xcf, 0xf8, 0x9a, 0x1d, 0x4c, 0x8f, 0x02, + 0x67, 0x78, 0x51, 0x07, 0xe9, 0x9a, 0xdd, 0x63, 0x30, 0x52, 0x7d, 0xea, 0x12, 0x76, 0x0f, 0xeb, + 0x4b, 0xac, 0x3a, 0xff, 0x34, 0xfa, 0xa0, 0x53, 0x4e, 0x91, 0xe6, 0x39, 0x71, 0x28, 0x6b, 0x89, + 0x43, 0x99, 0xde, 0x52, 0x93, 0x52, 0x90, 0xdc, 0x52, 0x63, 0x09, 0x65, 0xfc, 0xa5, 0x02, 0xac, + 0x48, 0x64, 0xf9, 0x4a, 0xfd, 0xb1, 0xe9, 0xa6, 0x95, 0x8a, 0x62, 0x96, 0x52, 0xa1, 0x70, 0xf0, + 0x5c, 0xd2, 0xb2, 0x26, 0x35, 0x63, 0x13, 0x59, 0x31, 0xcf, 0x8c, 0xcb, 0xbc, 0x19, 0x02, 0x22, + 0x77, 0x66, 0xa6, 0x07, 0x3a, 0xee, 0x99, 0x3d, 0x72, 0x86, 0xb6, 0x58, 0xc1, 0x92, 0xa9, 0x07, + 0x8c, 0x01, 0x23, 0x78, 0x96, 0xa5, 0x6e, 0x31, 0xcb, 0x52, 0x67, 0xfc, 0xbe, 0x06, 0x9b, 0xbb, + 0xa7, 0xb6, 0x7b, 0x82, 0xbb, 0xd1, 0x9d, 0x41, 0x4c, 0xf9, 0x47, 0x50, 0x24, 0x37, 0x2b, 0x8d, + 0x0a, 0x9e, 0x37, 0x25, 0xc1, 0x93, 0x53, 0x61, 0x9b, 0xdc, 0x57, 0x48, 0x15, 0xa2, 0x8b, 0x7b, + 0xa3, 0xa1, 0x25, 0x5d, 0x4c, 0xd8, 0xe5, 0xa3, 0xea, 0x8d, 0x86, 0x71, 0x35, 0x82, 0xe6, 0xe2, + 0x73, 0x19, 0x8d, 0x1d, 0x46, 0x55, 0x17, 0x9f, 0xc7, 0x68, 0xc6, 0x6b, 0x50, 0x7c, 0x8a, 0x2f, + 0x88, 0x30, 0xe9, 0x9a, 0xed, 0xe7, 0xcd, 0x7e, 0x4b, 0xff, 0x06, 0x11, 0x39, 0xdd, 0x67, 0x0f, + 0xf7, 0xdb, 0xbb, 0xba, 0x46, 0xae, 0x4d, 0xe9, 0x1e, 0xf1, 0x6b, 0xd3, 0x4f, 0x0b, 0xb0, 0xf1, + 0x68, 0xea, 0x0e, 0x33, 0x74, 0xd2, 0xd9, 0xf6, 0x44, 0x76, 0x96, 0x71, 0xeb, 0xaf, 0xb0, 0x27, + 0x52, 0x20, 0x33, 0x39, 0xcf, 0xb8, 0x48, 0x14, 0x67, 0x5c, 0x24, 0xd0, 0xc7, 0xd0, 0x70, 0xdc, + 0xc1, 0x68, 0x3a, 0xc4, 0x56, 0xa4, 0xdf, 0x0f, 0x3c, 0xc7, 0x3d, 0xb2, 0x03, 0x1c, 0xf0, 0xcb, + 0x62, 0x9d, 0x63, 0xb4, 0x39, 0xc2, 0xae, 0x28, 0x27, 0xa7, 0xbe, 0xa8, 0x3d, 0xa0, 0x43, 0x16, + 0x66, 0x66, 0x76, 0x07, 0x5b, 0xe5, 0x85, 0x6c, 0x3a, 0xb8, 0xb5, 0xf9, 0x9f, 0x16, 0x61, 0x33, + 0x35, 0x05, 0x9c, 0xfb, 0xff, 0x3f, 0xd0, 0x03, 0x3c, 0xc2, 0x83, 0x10, 0x0f, 0x2d, 0x66, 0xa2, + 0x16, 0xe6, 0xc0, 0x6f, 0x49, 0xeb, 0x9d, 0x53, 0x7b, 0xbb, 0xcb, 0x8d, 0xf0, 0xfc, 0x29, 0x62, + 0x59, 0x90, 0x62, 0xdf, 0x01, 0x15, 0xb5, 0x54, 0x0c, 0x28, 0xd3, 0xb8, 0x44, 0x61, 0x7c, 0x16, + 0xef, 0x83, 0xce, 0x07, 0x32, 0x79, 0x29, 0xc6, 0xc2, 0x98, 0xa0, 0xc6, 0xe0, 0xdd, 0x97, 0x6c, + 0x18, 0x8d, 0x3f, 0xd2, 0xa0, 0xa6, 0x36, 0x78, 0x8d, 0x5b, 0x05, 0xe9, 0x0a, 0xb7, 0xcb, 0xb3, + 0xc7, 0x01, 0x26, 0x70, 0x97, 0x18, 0xac, 0x4d, 0x9f, 0x08, 0x62, 0x63, 0x7f, 0x51, 0x31, 0xf6, + 0x13, 0x59, 0x1e, 0xf5, 0x6d, 0x8e, 0x92, 0x2f, 0x4d, 0x78, 0xaf, 0x08, 0x5d, 0xa2, 0x29, 0x3b, + 0x67, 0xd8, 0x22, 0xbb, 0x99, 0xdf, 0xb2, 0x96, 0x38, 0xac, 0xef, 0x30, 0x9b, 0x23, 0xb9, 0x4c, + 0x47, 0xab, 0xcc, 0x37, 0x6d, 0x85, 0x00, 0xc5, 0xca, 0x12, 0x39, 0x1d, 0xfa, 0x98, 0xbd, 0xc0, + 0xcc, 0x9b, 0xf4, 0xb7, 0xf1, 0x07, 0x1a, 0xac, 0x3f, 0x63, 0x22, 0x91, 0xcf, 0xe8, 0x2f, 0x31, + 0xeb, 0x1a, 0x7f, 0xb9, 0x90, 0x18, 0x4d, 0xc4, 0x84, 0xbf, 0xda, 0xcb, 0x48, 0x4e, 0x18, 0xd6, + 0x05, 0x2b, 0x98, 0x8e, 0xe9, 0x19, 0x5a, 0x34, 0xcb, 0x0c, 0xd2, 0x9b, 0x8e, 0x8d, 0x9f, 0x2e, + 0xc0, 0xd6, 0xae, 0xe7, 0x06, 0xa1, 0x3f, 0x1d, 0x64, 0x5d, 0x9d, 0xef, 0x41, 0x2d, 0xf0, 0xa6, + 0xfe, 0x00, 0x5b, 0xea, 0x92, 0x57, 0x19, 0x54, 0xd8, 0xc8, 0xbf, 0x9a, 0x5d, 0x03, 0xdd, 0x04, + 0x38, 0xc6, 0xd8, 0x9a, 0x60, 0xdf, 0x7a, 0x79, 0xc4, 0x97, 0xbf, 0x74, 0x8c, 0x71, 0x17, 0xfb, + 0x4f, 0x8f, 0xd0, 0x9f, 0x82, 0x86, 0x78, 0xcd, 0xa2, 0x5b, 0x9b, 0x2c, 0x8f, 0x3d, 0x3a, 0xf1, + 0x7c, 0x27, 0x3c, 0x65, 0xd6, 0xa1, 0xda, 0xce, 0xa7, 0xf2, 0xc1, 0x90, 0x3f, 0x0e, 0xfe, 0x5e, + 0xd9, 0x13, 0x74, 0x9a, 0x82, 0x8c, 0x59, 0xf7, 0x72, 0x4a, 0xd0, 0x97, 0x80, 0x5c, 0x72, 0x7f, + 0x64, 0x02, 0x42, 0xc8, 0xa7, 0x79, 0x2a, 0x9f, 0xde, 0xbb, 0x56, 0xb3, 0xa6, 0xee, 0x7a, 0x2e, + 0x93, 0x8a, 0x42, 0x38, 0x9d, 0x00, 0xe2, 0x84, 0x87, 0x38, 0x08, 0x1d, 0x97, 0x59, 0x56, 0x16, + 0xa8, 0x92, 0xfe, 0xd1, 0xb5, 0x88, 0xef, 0xc5, 0xf5, 0xcd, 0x15, 0x46, 0x53, 0x02, 0x35, 0x46, + 0xb0, 0x92, 0xc2, 0x9b, 0x61, 0xd6, 0xcc, 0x33, 0xd8, 0x11, 0x3e, 0xa0, 0xbf, 0x2c, 0xfe, 0x94, + 0x2e, 0x94, 0x41, 0x06, 0xe5, 0x0f, 0xf1, 0x8d, 0x3f, 0x19, 0x3d, 0x84, 0xfe, 0x08, 0x96, 0xe4, + 0x91, 0x69, 0x7f, 0xcc, 0x91, 0xc9, 0xc4, 0xa4, 0x4d, 0x56, 0x90, 0x37, 0x99, 0xf1, 0x21, 0xd4, + 0xf3, 0xd6, 0x19, 0x2d, 0xc3, 0x92, 0x6a, 0x33, 0x5e, 0x84, 0x62, 0x73, 0x7f, 0x5f, 0xd7, 0x8c, + 0xbf, 0x52, 0x80, 0x9b, 0xd9, 0x9d, 0xe1, 0x12, 0xe2, 0x5b, 0xe4, 0xe6, 0x1e, 0x38, 0x27, 0x89, + 0xab, 0x3b, 0x97, 0x12, 0xab, 0xa2, 0x4c, 0xaa, 0x8a, 0x3e, 0x85, 0x9b, 0xec, 0xec, 0x89, 0x1e, + 0x90, 0x39, 0x27, 0x2b, 0xfd, 0xbe, 0x41, 0x71, 0xd4, 0x63, 0x85, 0x0b, 0x49, 0x72, 0xa1, 0xa5, + 0x04, 0xd4, 0x7a, 0x4c, 0xa8, 0xac, 0xd0, 0x22, 0x05, 0x7f, 0x07, 0xd6, 0xc9, 0x04, 0x8d, 0x89, + 0xfe, 0x65, 0xf1, 0xbe, 0x52, 0xf5, 0x9f, 0xa9, 0xe4, 0xab, 0x51, 0x61, 0x8f, 0x96, 0xd1, 0x9b, + 0xc0, 0x5d, 0xa8, 0x70, 0x1e, 0x64, 0xe2, 0x8c, 0xdd, 0x96, 0x97, 0x18, 0x8c, 0x8a, 0x33, 0xe3, + 0x7f, 0x15, 0x60, 0x83, 0xd4, 0xc8, 0x90, 0x0c, 0x97, 0x99, 0x7e, 0xbf, 0x0d, 0x1b, 0x01, 0xf6, + 0x1d, 0x7b, 0xe4, 0xfc, 0x24, 0x31, 0x6f, 0x8c, 0xb3, 0xd6, 0xe3, 0x52, 0x79, 0xe6, 0x6c, 0x40, + 0xf6, 0x70, 0xe8, 0x90, 0xdf, 0x44, 0x83, 0xa7, 0xdc, 0x25, 0x9e, 0x70, 0x77, 0x24, 0xf6, 0xc9, + 0xee, 0xd5, 0x76, 0x33, 0xaa, 0xcb, 0xad, 0xbe, 0x2b, 0x76, 0x02, 0x12, 0x34, 0xfe, 0xa2, 0x06, + 0x7a, 0x12, 0xef, 0x6b, 0x3e, 0x06, 0x84, 0x24, 0x2e, 0x4a, 0x92, 0x78, 0xd6, 0x11, 0xf0, 0xc3, + 0xb9, 0x52, 0x51, 0x9f, 0x33, 0xab, 0x8e, 0x1b, 0x91, 0xc5, 0xe4, 0x9a, 0xbc, 0x99, 0x1a, 0x26, + 0xe7, 0xc9, 0x3b, 0x69, 0x63, 0x64, 0xc2, 0x1d, 0xe4, 0x43, 0xd8, 0x88, 0xb8, 0x56, 0x21, 0x4b, + 0x2d, 0x4e, 0x55, 0x33, 0xe2, 0x69, 0xea, 0x2d, 0xd1, 0xe6, 0x4d, 0xfe, 0xa7, 0x62, 0xaa, 0xcd, + 0xe0, 0xaa, 0x2b, 0xfe, 0xa3, 0xc4, 0xbb, 0x3b, 0xb3, 0x6c, 0x7d, 0x27, 0x7f, 0xd1, 0xa2, 0x17, + 0xa3, 0x67, 0xe9, 0x2d, 0xa4, 0x3e, 0xc8, 0xa3, 0xa3, 0x4c, 0xb6, 0x60, 0x8e, 0x2e, 0x1f, 0x5c, + 0xa1, 0x85, 0x5f, 0x52, 0xbe, 0x68, 0xec, 0xc3, 0x6a, 0xc6, 0xe4, 0xcc, 0xd8, 0x5c, 0xda, 0x8c, + 0xcd, 0x65, 0xfc, 0x67, 0x0d, 0xea, 0xe9, 0x19, 0xe2, 0x2c, 0xf5, 0x45, 0x62, 0xf9, 0x98, 0x26, + 0xfe, 0xed, 0x99, 0x93, 0xcb, 0x55, 0xf1, 0xde, 0xec, 0xd5, 0x6b, 0xbc, 0x84, 0x95, 0x14, 0xca, + 0x2f, 0x8c, 0x85, 0xff, 0x7e, 0x11, 0x36, 0x76, 0x7d, 0x6c, 0x87, 0x98, 0xb4, 0xc9, 0x5f, 0x35, + 0xae, 0xfe, 0xf2, 0xc6, 0xcf, 0xc5, 0x82, 0x7a, 0x2e, 0xe6, 0x4f, 0x78, 0x71, 0x96, 0x34, 0xbb, + 0x0d, 0x4b, 0x52, 0xc7, 0xb9, 0x30, 0x06, 0x27, 0xea, 0x2e, 0xfa, 0x21, 0x94, 0x09, 0x4b, 0x31, + 0x07, 0xa8, 0xf9, 0x94, 0x03, 0x54, 0xf6, 0x38, 0xc8, 0x7c, 0x13, 0x8e, 0xa3, 0x0e, 0x50, 0xa5, + 0x53, 0xfe, 0x0b, 0xbd, 0x0b, 0x28, 0x3a, 0x6e, 0x62, 0x8e, 0x62, 0x2e, 0x40, 0x91, 0xd3, 0x93, + 0xb8, 0xd1, 0x18, 0x7f, 0x4e, 0x83, 0x25, 0x89, 0x0e, 0x39, 0x20, 0x7b, 0xed, 0xc7, 0x4f, 0x9a, + 0xbd, 0x27, 0xd6, 0xe1, 0x3e, 0x39, 0x20, 0x25, 0x00, 0x3d, 0x28, 0x91, 0x0e, 0x15, 0x01, 0xe8, + 0x1c, 0x76, 0x5a, 0x7a, 0x01, 0x21, 0xa8, 0x09, 0x48, 0xaf, 0xdd, 0x79, 0xbc, 0xdf, 0xd2, 0x8b, + 0x68, 0x0d, 0x74, 0xa9, 0xda, 0xf3, 0xe6, 0xfe, 0xb3, 0x96, 0x3e, 0x87, 0x6e, 0xc0, 0x5a, 0x04, + 0xed, 0x7c, 0x71, 0xd8, 0x69, 0xed, 0x36, 0x3b, 0xdd, 0xe6, 0x17, 0xfa, 0x4f, 0x35, 0xe3, 0x39, + 0x6c, 0xa6, 0x86, 0xc9, 0x59, 0xf2, 0x26, 0x94, 0x03, 0x01, 0x14, 0xd6, 0x91, 0x08, 0x90, 0xf1, + 0x04, 0x5b, 0x91, 0x9f, 0x60, 0x7f, 0x08, 0x37, 0xba, 0xe4, 0x23, 0x38, 0xcd, 0x38, 0xbd, 0xde, + 0x03, 0x94, 0x7b, 0xa2, 0xaf, 0xa4, 0xf6, 0x9b, 0xf1, 0x18, 0x1a, 0x59, 0xb4, 0xae, 0x7d, 0x85, + 0x30, 0x5e, 0x87, 0xbb, 0x9c, 0xd0, 0xb3, 0xb4, 0x45, 0x5f, 0x58, 0xf5, 0xde, 0x00, 0x63, 0x16, + 0x92, 0x30, 0x2e, 0x14, 0x61, 0xa3, 0x3b, 0xf5, 0x07, 0xa7, 0x76, 0x80, 0x13, 0xe6, 0xfc, 0xaf, + 0xfe, 0xc2, 0x7c, 0x1b, 0x96, 0xa8, 0x0d, 0xd8, 0x1a, 0x39, 0x63, 0x47, 0xe8, 0x1b, 0x40, 0x41, + 0xfb, 0x04, 0x32, 0x43, 0xd3, 0x67, 0xcc, 0x9d, 0xa3, 0xe9, 0xdf, 0x83, 0x1a, 0xb7, 0x7b, 0xaa, + 0xae, 0x6b, 0xdc, 0xcc, 0x2c, 0x1e, 0x5e, 0x6f, 0xc3, 0x92, 0x3b, 0x1d, 0x47, 0xaf, 0x86, 0xcc, + 0x44, 0x08, 0xee, 0x74, 0x2c, 0x1e, 0x0c, 0xef, 0x42, 0x85, 0x9a, 0x23, 0x05, 0x95, 0x45, 0xfe, + 0x78, 0xeb, 0x79, 0x23, 0x41, 0x43, 0x58, 0x3f, 0x8f, 0x31, 0x0e, 0xe8, 0x85, 0x47, 0x63, 0xd6, + 0xcf, 0x47, 0x18, 0x53, 0xfd, 0x96, 0x9a, 0x09, 0x2f, 0xb8, 0xd1, 0x90, 0x7f, 0xa1, 0x75, 0x58, + 0x08, 0x5f, 0x91, 0x2a, 0xdc, 0x58, 0x38, 0x1f, 0xbe, 0x7a, 0xc4, 0x6e, 0x4f, 0xbc, 0xdb, 0xa4, + 0x68, 0x49, 0x18, 0xce, 0x08, 0xe4, 0x11, 0xc6, 0xc6, 0x27, 0xb0, 0x99, 0x5a, 0x01, 0xce, 0x13, + 0xaf, 0x47, 0x16, 0x74, 0xc2, 0x0e, 0x98, 0x89, 0xd3, 0x8a, 0xb0, 0x83, 0x3f, 0xa1, 0x30, 0xe3, + 0x3b, 0xb0, 0x66, 0x52, 0x73, 0xe6, 0xf5, 0xd6, 0x8f, 0xf9, 0xcf, 0x28, 0xf5, 0x38, 0x4f, 0xbc, + 0x06, 0x37, 0xf7, 0x3d, 0x7b, 0xd8, 0xa4, 0x0e, 0x61, 0x7b, 0x76, 0x68, 0x3f, 0x72, 0x46, 0x21, + 0xf6, 0x23, 0xce, 0xba, 0x0d, 0xb7, 0x72, 0xca, 0x39, 0x81, 0x53, 0x40, 0x64, 0x1b, 0x1e, 0xe0, + 0x20, 0xb0, 0x4f, 0xb0, 0x7c, 0xe3, 0xcf, 0xbe, 0x2f, 0xd4, 0x61, 0x71, 0xcc, 0x70, 0x85, 0xc4, + 0xe4, 0x9f, 0x89, 0x31, 0x14, 0x53, 0x63, 0xf8, 0x00, 0x56, 0x95, 0x96, 0xae, 0xb2, 0xe5, 0x8d, + 0xdf, 0xd3, 0x94, 0x5a, 0x57, 0x66, 0xf8, 0x87, 0x50, 0xe2, 0xfd, 0x12, 0x6a, 0xc9, 0x9b, 0x89, + 0x73, 0x2d, 0x41, 0x71, 0x5b, 0xf4, 0x2b, 0xaa, 0xd7, 0xf8, 0x01, 0x2c, 0x72, 0xe0, 0x57, 0x99, + 0x0f, 0xe3, 0xaf, 0x6b, 0xb0, 0xa6, 0x36, 0x14, 0x3d, 0x3a, 0x2d, 0xfa, 0x78, 0x32, 0x72, 0xb0, + 0x38, 0x72, 0xbf, 0x99, 0xdb, 0x35, 0xe9, 0xb8, 0x35, 0xf1, 0x64, 0x74, 0x61, 0x8a, 0x9a, 0x8d, + 0x4f, 0xa1, 0x1c, 0x41, 0x2f, 0x11, 0x9b, 0x6b, 0x30, 0x8f, 0x7d, 0x9f, 0x7b, 0x3f, 0x97, 0x4d, + 0xf6, 0x61, 0xdc, 0x85, 0xdb, 0x92, 0x94, 0xe9, 0x78, 0xa1, 0x73, 0xec, 0x0c, 0x6c, 0x45, 0x2c, + 0xfd, 0x76, 0x01, 0xee, 0xe4, 0xe3, 0xf0, 0xd1, 0x7c, 0x06, 0xcb, 0x76, 0x18, 0xda, 0x83, 0x53, + 0x3c, 0x64, 0x6f, 0x77, 0x62, 0x54, 0xb9, 0x6f, 0xa5, 0x35, 0x81, 0x4f, 0xa1, 0x01, 0x7a, 0x0b, + 0x96, 0x87, 0x58, 0xa5, 0x50, 0xa0, 0x7b, 0xa7, 0x26, 0xc0, 0x1c, 0x31, 0xef, 0x45, 0xb5, 0xf8, + 0x55, 0x5f, 0x54, 0xd1, 0xc7, 0xd0, 0xc8, 0xa0, 0x28, 0x76, 0xf0, 0x1c, 0xed, 0x45, 0x3d, 0x5d, + 0x91, 0xef, 0xe6, 0x5b, 0xb0, 0x25, 0xbc, 0x27, 0xb3, 0xa6, 0xef, 0xbf, 0x6b, 0x70, 0x33, 0xbb, + 0xfc, 0x5a, 0xae, 0x5f, 0x57, 0x71, 0x34, 0xcc, 0xf6, 0x21, 0x2c, 0x5e, 0xcb, 0x87, 0x70, 0xee, + 0x5a, 0x3e, 0x84, 0xf3, 0x39, 0x3e, 0x84, 0xbf, 0x01, 0x77, 0xe4, 0x83, 0x20, 0x6b, 0x62, 0x88, + 0xc0, 0x0e, 0x5f, 0xa9, 0x62, 0xb2, 0x14, 0xbe, 0x62, 0x93, 0x4a, 0x24, 0x70, 0x10, 0x7a, 0x13, + 0xcb, 0x3e, 0x0e, 0xf9, 0x2b, 0xe6, 0xbc, 0x59, 0x26, 0x90, 0x26, 0x01, 0x18, 0xbf, 0x5b, 0x80, + 0xbb, 0x33, 0x1a, 0xe0, 0x33, 0xfb, 0x32, 0xf9, 0x48, 0xc2, 0x58, 0xb2, 0xa5, 0x9a, 0x23, 0x66, + 0x13, 0xd9, 0x56, 0xbc, 0x06, 0x24, 0x62, 0x89, 0xb7, 0x96, 0xc6, 0x5f, 0xd3, 0xa0, 0x9e, 0x87, + 0x8b, 0x36, 0x61, 0x91, 0x8f, 0x95, 0x6f, 0xcc, 0x05, 0x36, 0xd2, 0xaf, 0xc5, 0x39, 0x24, 0xf5, + 0x5e, 0x34, 0x97, 0x7e, 0x87, 0xfa, 0xb3, 0x1a, 0xac, 0x32, 0x75, 0xeb, 0x73, 0x3a, 0x76, 0xb1, + 0x08, 0xef, 0xc0, 0x0a, 0x57, 0xa6, 0x52, 0x82, 0x54, 0x67, 0x05, 0xd2, 0xd3, 0xc9, 0x7b, 0x44, + 0xd3, 0x64, 0x7e, 0x68, 0xa9, 0x57, 0x96, 0x15, 0x5e, 0x22, 0xa1, 0x23, 0x98, 0x0b, 0x30, 0x1e, + 0xf2, 0xfe, 0xd2, 0xdf, 0xc6, 0x06, 0xac, 0xa9, 0xdd, 0xe0, 0x07, 0xd0, 0x2b, 0xb8, 0x2d, 0xe0, + 0xe1, 0xe0, 0xd4, 0x71, 0x4f, 0x0e, 0xdd, 0xd1, 0x85, 0xda, 0xd5, 0xfb, 0x40, 0x79, 0xd8, 0x1d, + 0xe2, 0xa1, 0x35, 0x99, 0x1e, 0x59, 0xe2, 0x99, 0xa8, 0x6c, 0xd6, 0x04, 0xbc, 0x3b, 0x3d, 0x7a, + 0x8a, 0x2f, 0xb2, 0x07, 0x55, 0xc8, 0x1e, 0x94, 0x61, 0xc0, 0x9d, 0xfc, 0x96, 0x79, 0xef, 0x3e, + 0x83, 0x95, 0xc3, 0x09, 0x76, 0xbf, 0xfa, 0xd4, 0x19, 0xbf, 0x06, 0x48, 0xa6, 0x10, 0x6b, 0x0b, + 0xe7, 0xbc, 0x55, 0xcb, 0x73, 0x47, 0x6c, 0x3c, 0x25, 0xb3, 0x72, 0x2e, 0x75, 0xc5, 0x58, 0x03, + 0xb4, 0x3b, 0xf2, 0x02, 0x75, 0xe1, 0x8c, 0x75, 0x58, 0x55, 0xa0, 0xbc, 0xa7, 0xeb, 0xb0, 0xca, + 0x20, 0xad, 0x57, 0x4e, 0x10, 0xbb, 0x63, 0x6f, 0xc3, 0x9a, 0x0a, 0xe6, 0x1d, 0xa0, 0x7a, 0x11, + 0x81, 0xf0, 0x96, 0xf9, 0x97, 0xf1, 0xdb, 0xe4, 0xc6, 0x18, 0xda, 0x7e, 0xb8, 0x4b, 0xd0, 0xdc, + 0x60, 0x1a, 0x98, 0x93, 0x81, 0x18, 0xf8, 0x5b, 0xb0, 0xcc, 0x3d, 0xd1, 0x13, 0xce, 0x74, 0x35, + 0x0e, 0x16, 0x2a, 0x59, 0x03, 0x4a, 0xd3, 0x80, 0x88, 0x91, 0x48, 0x5c, 0x45, 0xdf, 0xa4, 0x8c, + 0x4c, 0xdb, 0xb9, 0xe7, 0x0b, 0x06, 0x89, 0xbe, 0xc9, 0x15, 0x71, 0x80, 0x7d, 0xbe, 0x19, 0x31, + 0xbf, 0x1c, 0xcb, 0x20, 0x63, 0x0b, 0x6e, 0x64, 0x74, 0x8f, 0xcf, 0xc1, 0xdf, 0xd6, 0xa0, 0xbe, + 0xe7, 0x04, 0x03, 0xef, 0x0c, 0xfb, 0xbc, 0x2b, 0xb1, 0xca, 0xf0, 0x0e, 0xac, 0x0c, 0x79, 0x99, + 0x25, 0x39, 0xa3, 0xd3, 0x17, 0x4d, 0x51, 0x20, 0x3c, 0xd1, 0xaf, 0xcb, 0xf0, 0x39, 0xee, 0x34, + 0xc5, 0x1c, 0x77, 0x1a, 0x32, 0x8a, 0x8c, 0x7e, 0xf2, 0x51, 0xdc, 0x82, 0xad, 0x47, 0x38, 0x1c, + 0x9c, 0x1e, 0x38, 0x41, 0xe0, 0xb8, 0x27, 0xbb, 0x09, 0x95, 0xee, 0x35, 0xb8, 0x99, 0x5d, 0xcc, + 0xab, 0xbf, 0x09, 0x6f, 0xf4, 0xa6, 0x47, 0xe4, 0x32, 0x78, 0x84, 0xfb, 0x1e, 0x6d, 0x33, 0xf3, + 0x78, 0x7a, 0x0b, 0xee, 0x5d, 0x82, 0x17, 0x73, 0x16, 0x6d, 0x90, 0xbd, 0x0c, 0x47, 0xf5, 0xff, + 0x6e, 0x01, 0xd6, 0x54, 0x38, 0x67, 0xad, 0x1d, 0x58, 0x3f, 0x26, 0x70, 0x3c, 0xe4, 0xef, 0xcb, + 0x81, 0x25, 0xbf, 0x24, 0xac, 0xf2, 0x42, 0x5e, 0x8d, 0x1d, 0x32, 0xef, 0xc3, 0xda, 0xb1, 0xe3, + 0x07, 0xa1, 0xe5, 0xe2, 0xf3, 0xb4, 0x87, 0xff, 0x0a, 0x2d, 0xeb, 0xe0, 0xf3, 0xd8, 0x61, 0xe8, + 0x03, 0xd8, 0x48, 0x55, 0x90, 0x9d, 0xfc, 0x57, 0xd5, 0x2a, 0xec, 0xed, 0xfc, 0x23, 0xb8, 0x31, + 0xb6, 0x1d, 0x6a, 0xe2, 0x77, 0x5c, 0x2b, 0x74, 0x26, 0x72, 0x53, 0x8c, 0xd9, 0xd6, 0x09, 0xc2, + 0x2e, 0x29, 0xef, 0x3b, 0x93, 0xb8, 0xb9, 0x8f, 0x61, 0x2b, 0xbb, 0x26, 0x6b, 0x93, 0x59, 0x52, + 0x37, 0xd3, 0x75, 0x99, 0x0c, 0x7e, 0x05, 0x75, 0x79, 0xa6, 0xe4, 0x69, 0x9e, 0x3d, 0x5b, 0xf3, + 0xd9, 0xb3, 0x75, 0x1f, 0xf4, 0x91, 0x1d, 0x84, 0xbc, 0x02, 0x7b, 0x43, 0x62, 0x16, 0xe6, 0x1a, + 0x81, 0x33, 0xdc, 0xbe, 0x33, 0xc6, 0xc6, 0xdf, 0xd2, 0xe0, 0x4e, 0x16, 0xb7, 0x28, 0x5d, 0x68, + 0xc2, 0x2d, 0xd1, 0x85, 0xc1, 0x31, 0x2b, 0xb7, 0x28, 0xcf, 0xaa, 0x4e, 0xf8, 0x0d, 0x8e, 0xb4, + 0xcb, 0x71, 0xe8, 0x3e, 0xe4, 0x33, 0xfb, 0x03, 0xd8, 0x4a, 0x91, 0x20, 0xb7, 0x4a, 0xc5, 0x8f, + 0xa1, 0x9e, 0x20, 0xd0, 0x72, 0x87, 0x7c, 0x82, 0xda, 0xd0, 0x60, 0x3e, 0xfb, 0x5d, 0xdf, 0x3b, + 0x21, 0xdb, 0x41, 0xe9, 0xdf, 0xb5, 0xfc, 0xf7, 0x9f, 0x82, 0xde, 0xc5, 0xd8, 0x57, 0x08, 0xdc, + 0x02, 0x98, 0x60, 0xec, 0x2b, 0x13, 0x5b, 0x26, 0x90, 0xdd, 0x64, 0x7c, 0x95, 0x6a, 0x05, 0x32, + 0xfe, 0x48, 0x83, 0x9a, 0x39, 0x19, 0xf4, 0x2e, 0xdc, 0xff, 0x8b, 0x64, 0x60, 0xb6, 0x24, 0x9b, + 0xbf, 0x96, 0x24, 0x5b, 0xc8, 0x91, 0x64, 0xc6, 0x3f, 0x2f, 0xc2, 0x72, 0x34, 0xe2, 0xf8, 0xac, + 0x08, 0x2e, 0xdc, 0x01, 0x1e, 0x8a, 0xb3, 0x82, 0x7d, 0xa1, 0x7d, 0x58, 0x71, 0xa5, 0x69, 0x66, + 0x36, 0x2d, 0x16, 0x6f, 0x70, 0x5b, 0xbe, 0xd2, 0x5c, 0xb8, 0x03, 0x79, 0x39, 0xa8, 0x15, 0x4b, + 0x77, 0x13, 0x10, 0xf4, 0x04, 0xaa, 0x94, 0x3f, 0xc4, 0x36, 0xa0, 0x13, 0xa3, 0x06, 0x0a, 0xe5, + 0x6d, 0x22, 0xb3, 0x72, 0x2c, 0x95, 0x20, 0x1b, 0x36, 0x18, 0xa5, 0x31, 0x63, 0xfa, 0x88, 0x25, + 0xe9, 0x64, 0xaa, 0x5e, 0x7e, 0x97, 0x6d, 0x0e, 0x73, 0xed, 0x58, 0xc6, 0xe0, 0x84, 0x50, 0x07, + 0x96, 0x19, 0xe7, 0x59, 0x13, 0xce, 0xb1, 0x74, 0x01, 0x96, 0x76, 0xee, 0x49, 0xb4, 0xf3, 0x59, + 0xda, 0xac, 0xf9, 0x4a, 0x19, 0x7a, 0x04, 0x3a, 0xe5, 0x50, 0xc7, 0x3d, 0xf6, 0xb8, 0xf2, 0xc7, + 0x1f, 0x07, 0xb7, 0x24, 0x82, 0x49, 0xc6, 0x36, 0x97, 0x49, 0xa5, 0x76, 0x5c, 0xc7, 0xf8, 0x2d, + 0x0d, 0x6a, 0xbd, 0xc9, 0x99, 0xcc, 0xb0, 0xbf, 0xc8, 0x73, 0x8f, 0x5a, 0x8f, 0xce, 0xac, 0x81, + 0xe7, 0xba, 0x78, 0x10, 0xd2, 0x8b, 0x58, 0xd9, 0x84, 0x60, 0x72, 0xb6, 0xcb, 0x20, 0x94, 0x9d, + 0xa2, 0xfe, 0xfc, 0x3f, 0x76, 0xfa, 0x65, 0x63, 0xa7, 0x35, 0x40, 0xbc, 0x55, 0xcf, 0x89, 0x82, + 0xa1, 0x8c, 0x26, 0xac, 0x2a, 0x50, 0xbe, 0xae, 0x6f, 0x0b, 0x31, 0x6d, 0x4d, 0x08, 0x5c, 0x31, + 0x8b, 0xfa, 0x31, 0x3e, 0x55, 0x80, 0x3e, 0x86, 0x1b, 0x3c, 0x82, 0x00, 0x9b, 0xb6, 0x3b, 0xf4, + 0xc6, 0x3d, 0x8c, 0x87, 0x92, 0x4f, 0x33, 0xb9, 0x32, 0x58, 0x23, 0xec, 0x9e, 0x84, 0xa7, 0x5c, + 0x6d, 0x00, 0x02, 0xda, 0xa7, 0x10, 0xe3, 0x4f, 0x40, 0x23, 0xab, 0x76, 0xec, 0x63, 0x47, 0xab, + 0x1f, 0x5d, 0x84, 0x38, 0x88, 0xcc, 0x21, 0x18, 0x0f, 0x1f, 0x12, 0x00, 0xba, 0x01, 0x25, 0x5a, + 0x7c, 0xca, 0x5f, 0x6c, 0xca, 0xe6, 0x22, 0xf9, 0x7e, 0x82, 0x5f, 0x11, 0xad, 0x9c, 0x16, 0x8d, + 0x5d, 0x3c, 0xf6, 0x5c, 0x67, 0xc0, 0x83, 0x6d, 0x2a, 0x04, 0x78, 0xc0, 0x61, 0xc6, 0x0e, 0xac, + 0xec, 0xe1, 0x81, 0x37, 0xc4, 0x72, 0x97, 0x6f, 0x01, 0x10, 0xe1, 0xce, 0x5e, 0x2d, 0xf8, 0x81, + 0x50, 0x26, 0x10, 0xfa, 0x52, 0x61, 0x7c, 0x17, 0x90, 0x5c, 0x27, 0xf6, 0x0d, 0x1d, 0x52, 0xe8, + 0xd0, 0xa2, 0xd7, 0x25, 0xfe, 0x22, 0xc2, 0x61, 0x04, 0xd5, 0xf8, 0xf3, 0x05, 0x58, 0x37, 0xa7, + 0x2e, 0x33, 0xfb, 0x3d, 0x9c, 0x5e, 0xc4, 0xd1, 0x9d, 0x5f, 0xdd, 0xe4, 0x7b, 0x0f, 0x6a, 0x22, + 0x06, 0x63, 0x20, 0x1b, 0x0a, 0xaa, 0x3c, 0x02, 0x83, 0xa3, 0x6d, 0xc3, 0x2a, 0x0f, 0x5b, 0xb4, + 0x42, 0xcf, 0x22, 0xaa, 0x4d, 0x68, 0x3b, 0x22, 0x18, 0x64, 0x85, 0x17, 0xf5, 0xbd, 0x03, 0x5e, + 0x20, 0x93, 0x55, 0x2d, 0xbe, 0x9c, 0x2c, 0x3f, 0x16, 0x93, 0x06, 0xdd, 0x85, 0x4b, 0x0c, 0xba, + 0x8b, 0xaa, 0x41, 0xd7, 0xa8, 0xc3, 0x46, 0x72, 0x42, 0xb8, 0x9e, 0xfa, 0x5b, 0x45, 0x58, 0xa7, + 0x3a, 0x49, 0x73, 0x1a, 0x7a, 0x5f, 0xd3, 0x5c, 0xe5, 0x4c, 0x42, 0x31, 0x6f, 0x12, 0x5e, 0x87, + 0xda, 0xd8, 0xa6, 0x76, 0x65, 0xe1, 0xe4, 0xc2, 0xe6, 0x6b, 0x69, 0x6c, 0xbf, 0x7a, 0x24, 0xfc, + 0x5c, 0xde, 0x05, 0x44, 0x90, 0xa8, 0x43, 0xb0, 0xe5, 0xe3, 0x91, 0x1d, 0x0a, 0x9f, 0x59, 0xcd, + 0xd4, 0xc7, 0xf6, 0x2b, 0xee, 0x41, 0xcc, 0xe0, 0x2a, 0xb6, 0x7d, 0x14, 0x78, 0xa3, 0x69, 0x88, + 0x79, 0xd0, 0x4c, 0x84, 0xdd, 0xe4, 0xf0, 0x8c, 0x55, 0x58, 0xbc, 0xca, 0x2a, 0x94, 0x2e, 0x59, + 0x85, 0x72, 0xc2, 0xac, 0x6e, 0x40, 0x95, 0x76, 0x0a, 0xfb, 0x4c, 0x11, 0xe6, 0x56, 0x74, 0x32, + 0xcc, 0x2e, 0xf6, 0xa9, 0xee, 0x4b, 0x56, 0x2a, 0xb9, 0x1c, 0x7c, 0xa5, 0x36, 0x60, 0xad, 0x17, + 0x7a, 0x93, 0xe4, 0x3a, 0x19, 0x9b, 0x64, 0x01, 0x15, 0x38, 0xaf, 0xd0, 0x80, 0xba, 0xb4, 0xe2, + 0xd4, 0xc2, 0x12, 0x85, 0x56, 0xff, 0x85, 0x05, 0xb8, 0x91, 0x51, 0x28, 0x05, 0xf4, 0x65, 0xfb, + 0xae, 0xbd, 0x01, 0x35, 0xfb, 0xec, 0x84, 0xcf, 0xeb, 0xd8, 0x1b, 0x0a, 0x2d, 0xad, 0x62, 0x9f, + 0x9d, 0xd0, 0x39, 0x3d, 0xf0, 0x86, 0xf4, 0x66, 0x17, 0x61, 0x3d, 0xff, 0xbc, 0xd9, 0xb5, 0x86, + 0x78, 0x14, 0xda, 0x82, 0x01, 0x04, 0x2a, 0x29, 0xd9, 0x23, 0x05, 0xd7, 0xde, 0x35, 0x06, 0x54, + 0x99, 0xcd, 0x93, 0xa0, 0xdb, 0x67, 0x27, 0xc2, 0x17, 0x8c, 0x01, 0xfb, 0x5e, 0xf3, 0xec, 0x04, + 0x7d, 0x0b, 0xd6, 0x87, 0x9e, 0x1b, 0x5a, 0xe7, 0xb6, 0x13, 0x5a, 0xc7, 0x9e, 0xaf, 0x3c, 0x97, + 0x94, 0x4c, 0x44, 0x0a, 0x3f, 0xb7, 0x9d, 0xf0, 0x91, 0xe7, 0x4b, 0xcf, 0x26, 0xec, 0xa1, 0x83, + 0xf7, 0x97, 0x47, 0x4f, 0x31, 0x18, 0xeb, 0xe9, 0x2d, 0xe6, 0x8b, 0xc5, 0xfc, 0xba, 0x38, 0x03, + 0x94, 0x8f, 0x31, 0xee, 0x51, 0x00, 0x61, 0x3b, 0x52, 0xcc, 0xdd, 0xfb, 0x82, 0x81, 0x3d, 0x72, + 0xdc, 0x13, 0xce, 0x07, 0xfa, 0x31, 0xc6, 0x7d, 0x5a, 0xd0, 0x63, 0x70, 0xb4, 0x09, 0x8b, 0x63, + 0xc7, 0x95, 0xde, 0x53, 0x16, 0xc6, 0x8e, 0xfb, 0x08, 0x63, 0x5a, 0xc0, 0x36, 0x44, 0xbd, 0xc2, + 0x0b, 0xe8, 0x4e, 0x48, 0x73, 0x50, 0x35, 0xc5, 0x41, 0x39, 0xac, 0x5f, 0xcb, 0x61, 0xfd, 0xec, + 0x6d, 0xb5, 0x9c, 0xb3, 0xad, 0xde, 0x60, 0x3b, 0xd5, 0x89, 0x3c, 0xde, 0xeb, 0x2b, 0xcc, 0x77, + 0x71, 0x6c, 0xbf, 0x6a, 0x0b, 0x7f, 0xf7, 0xd4, 0x3e, 0x41, 0x97, 0xec, 0x93, 0xd5, 0xc4, 0x3e, + 0xf9, 0x0e, 0x6c, 0x06, 0x13, 0x1f, 0xdb, 0x43, 0x11, 0xa7, 0x32, 0xe1, 0xcf, 0x47, 0x41, 0x7d, + 0x8d, 0x2e, 0xde, 0x3a, 0x2b, 0xe6, 0xa1, 0x03, 0xa2, 0x30, 0x63, 0x1b, 0xaf, 0x67, 0x6d, 0xe3, + 0xf8, 0x15, 0x6b, 0x43, 0x7a, 0xc5, 0x32, 0xde, 0x83, 0x95, 0x1e, 0x4e, 0x86, 0x30, 0xe7, 0xee, + 0x04, 0x72, 0xca, 0xcb, 0xe8, 0x7c, 0xcf, 0x1d, 0xc0, 0x56, 0x0f, 0x8b, 0x74, 0x08, 0x31, 0xc7, + 0x4a, 0x11, 0x44, 0x59, 0x8c, 0xae, 0xe5, 0x30, 0xba, 0xf1, 0x1a, 0xdc, 0xcc, 0x26, 0xc7, 0x9b, + 0xfb, 0x2e, 0xe8, 0x3d, 0x1c, 0x1e, 0x50, 0xe6, 0x10, 0x6d, 0xa4, 0xa5, 0xa9, 0x96, 0x92, 0xa6, + 0xc6, 0x2a, 0x1d, 0xac, 0xa8, 0xc8, 0xa9, 0xfd, 0x10, 0x1a, 0x0c, 0xa8, 0x2c, 0xba, 0xa0, 0x9b, + 0xcd, 0x29, 0x5a, 0x36, 0xa7, 0x18, 0xb7, 0xe8, 0x44, 0xa4, 0x69, 0x65, 0x36, 0x25, 0xb8, 0x31, + 0xb3, 0xa9, 0x88, 0x85, 0xb5, 0x6c, 0x16, 0x4e, 0x34, 0x15, 0xd3, 0x8a, 0xac, 0x91, 0x9b, 0x3d, + 0x1c, 0x3e, 0x97, 0x59, 0x40, 0xf2, 0xdb, 0x4c, 0x30, 0x8c, 0x96, 0xc1, 0x30, 0x44, 0x90, 0xa6, + 0x29, 0x70, 0xea, 0xdf, 0x83, 0xf5, 0x1e, 0x0e, 0xbb, 0x31, 0x6b, 0x4b, 0x31, 0xf9, 0xca, 0x26, + 0xd0, 0x52, 0x9b, 0x80, 0xca, 0xfa, 0x44, 0x5d, 0x4e, 0xf5, 0x5b, 0x94, 0xb9, 0xba, 0x7c, 0x43, + 0x48, 0x4f, 0x00, 0xf1, 0xa6, 0xd1, 0x12, 0x47, 0xfc, 0x3a, 0xac, 0x2a, 0x55, 0x38, 0xa5, 0xef, + 0xd3, 0xfe, 0x1d, 0xc4, 0xf2, 0x41, 0x10, 0x4b, 0x89, 0x12, 0x2d, 0xfb, 0x30, 0x4a, 0x54, 0x8e, + 0x53, 0x71, 0x34, 0x4f, 0xb0, 0x3b, 0xb4, 0x23, 0xcb, 0xd6, 0xcf, 0x8b, 0xb0, 0x1c, 0x81, 0xe2, + 0x73, 0x44, 0x38, 0x42, 0xf2, 0xdd, 0xc3, 0x3f, 0xd1, 0xf7, 0x61, 0xd1, 0x66, 0xc8, 0xfc, 0xa5, + 0xf1, 0xae, 0x9c, 0xda, 0x42, 0x25, 0xc3, 0xbf, 0x4d, 0x51, 0xa3, 0xf1, 0x07, 0x1a, 0x2c, 0x30, + 0x18, 0xaa, 0x41, 0xc1, 0x19, 0xf2, 0xb9, 0x2d, 0x38, 0xd4, 0x0e, 0x30, 0xc4, 0xcc, 0xa7, 0x43, + 0x38, 0xd1, 0x95, 0x4d, 0x19, 0x84, 0x10, 0xcc, 0x8d, 0xed, 0xe0, 0x25, 0x57, 0xdf, 0xe8, 0x6f, + 0xd2, 0x9b, 0xc1, 0xa9, 0xe7, 0x0c, 0xb0, 0xf0, 0xa1, 0x9b, 0xd5, 0x9b, 0x5d, 0x8a, 0x69, 0x8a, + 0x1a, 0xec, 0xed, 0xc5, 0xf6, 0x43, 0xd9, 0x2b, 0xb9, 0x4c, 0x21, 0xd4, 0x27, 0xf9, 0x36, 0xb0, + 0x03, 0x84, 0x7b, 0x2d, 0x33, 0x15, 0x04, 0x18, 0x88, 0x20, 0x34, 0x7e, 0xa6, 0xc1, 0x02, 0xa3, + 0xf9, 0xd5, 0x46, 0xc3, 0x93, 0x19, 0xd1, 0xd1, 0xd0, 0x2c, 0x45, 0xb7, 0x00, 0x9c, 0x80, 0x6c, + 0x9b, 0xe8, 0x10, 0x2d, 0x99, 0x65, 0x27, 0x68, 0x32, 0x00, 0x5a, 0x85, 0x79, 0x27, 0xb0, 0x5c, + 0x8f, 0x1b, 0x3f, 0xe6, 0x9c, 0xa0, 0xe3, 0x11, 0x69, 0xf6, 0xdc, 0x0b, 0x31, 0xeb, 0x47, 0xb4, + 0xa6, 0xff, 0xa0, 0x00, 0xab, 0x0a, 0xf8, 0xd2, 0x75, 0xfd, 0x34, 0x9e, 0x49, 0xb6, 0xae, 0xf2, + 0x5d, 0x2c, 0x83, 0x54, 0x6a, 0x36, 0x1b, 0x50, 0x3a, 0xf3, 0x42, 0x2c, 0x0d, 0x2a, 0xfa, 0x6e, + 0xfc, 0x8d, 0x78, 0xa6, 0xb6, 0xa0, 0xcc, 0xb8, 0xc1, 0x8a, 0x26, 0xac, 0xc4, 0x00, 0xed, 0x21, + 0xb9, 0x8f, 0xf3, 0xc2, 0xf4, 0xec, 0xad, 0xb0, 0x92, 0x3d, 0x69, 0x0e, 0xb7, 0xa0, 0xcc, 0x5a, + 0x27, 0xb4, 0xd8, 0xe5, 0xa5, 0xc4, 0x00, 0x8c, 0x16, 0x2f, 0x94, 0x69, 0xcd, 0x31, 0x5a, 0xac, + 0x44, 0xa2, 0x65, 0xfc, 0x8e, 0x46, 0xf7, 0x5b, 0x7a, 0x2e, 0x51, 0x33, 0x9e, 0x19, 0xf6, 0xae, + 0x26, 0xe7, 0x87, 0xc8, 0xac, 0x92, 0x9c, 0x9b, 0xc6, 0xc3, 0xab, 0x0d, 0x5f, 0x19, 0x4f, 0x41, + 0x1d, 0x8f, 0xf1, 0x21, 0xdd, 0xd2, 0x59, 0x8b, 0x2a, 0xcf, 0xbc, 0xa6, 0xce, 0xbc, 0x71, 0x0a, + 0x6b, 0xcf, 0xb1, 0xef, 0x1c, 0x5f, 0x7c, 0x0d, 0x2e, 0x0f, 0xca, 0xbb, 0x7b, 0x31, 0xe9, 0xbb, + 0xf0, 0x1e, 0xac, 0x27, 0x5a, 0x8a, 0x23, 0xf9, 0x69, 0xec, 0x14, 0xb7, 0x7f, 0xb0, 0x0f, 0xe3, + 0xa7, 0x4b, 0xe2, 0x92, 0xa8, 0x78, 0x94, 0x5d, 0xc3, 0x1f, 0x51, 0xe2, 0x65, 0x66, 0x70, 0x8d, + 0x78, 0x79, 0x0b, 0xca, 0xd4, 0x5c, 0x4d, 0xf7, 0x2d, 0xe7, 0x45, 0x02, 0xa0, 0xdb, 0x3a, 0x76, + 0x91, 0x99, 0x53, 0x5c, 0x64, 0xb2, 0x52, 0x76, 0xcd, 0x7f, 0x1d, 0x29, 0xbb, 0xd0, 0xf7, 0x61, + 0x81, 0x5e, 0x94, 0x89, 0x06, 0x9b, 0x4c, 0x06, 0x94, 0x9e, 0x02, 0x91, 0xb9, 0x8c, 0x55, 0x41, + 0x9f, 0xc0, 0xa2, 0xf0, 0xcd, 0x5f, 0x4c, 0x65, 0x2e, 0xcb, 0xa8, 0x2d, 0x32, 0x97, 0xf1, 0x4a, + 0x8d, 0xff, 0x58, 0x14, 0x09, 0xc3, 0xbe, 0x07, 0x37, 0x22, 0xff, 0xb9, 0x9c, 0x39, 0xde, 0x14, + 0x08, 0x89, 0xd7, 0x7f, 0xf4, 0x31, 0x34, 0x32, 0xeb, 0xca, 0x9e, 0xa0, 0xf5, 0x8c, 0xca, 0xcc, + 0x0b, 0xf0, 0x33, 0xc9, 0x2d, 0xb4, 0xb6, 0xf3, 0xee, 0x15, 0x86, 0xbf, 0xdd, 0xf7, 0x31, 0xa6, + 0xb3, 0xc9, 0x9c, 0x48, 0x1b, 0x50, 0x0a, 0x08, 0xe7, 0xba, 0x83, 0x28, 0x0a, 0x53, 0x7c, 0xd3, + 0x2d, 0xc5, 0x42, 0x40, 0x1c, 0x97, 0x4b, 0xf1, 0x12, 0x03, 0xb4, 0xdd, 0xd4, 0x93, 0x31, 0x73, + 0xb9, 0x52, 0x42, 0x0c, 0x6f, 0x03, 0xfb, 0xe4, 0x83, 0x61, 0x01, 0x9a, 0xec, 0x1d, 0xba, 0x2d, + 0x72, 0xaa, 0x45, 0x6c, 0x2e, 0xdc, 0x0e, 0x4b, 0x8c, 0x27, 0x23, 0x38, 0x77, 0xa7, 0x7d, 0x00, + 0x6b, 0x49, 0x54, 0xcb, 0x0e, 0xc6, 0xf4, 0x22, 0x51, 0x36, 0x51, 0x02, 0xbd, 0x19, 0x8c, 0x8d, + 0x8f, 0xa0, 0x24, 0xc6, 0xaa, 0xe6, 0x29, 0x5b, 0x8b, 0x83, 0x86, 0xff, 0xb7, 0xf8, 0xa7, 0xa1, + 0x32, 0xcc, 0xf7, 0xfa, 0xcd, 0xa7, 0x2d, 0x5d, 0x6b, 0xfc, 0x8b, 0x39, 0x39, 0x2d, 0xdb, 0x99, + 0x3d, 0x9a, 0x0a, 0x4d, 0x8b, 0x7d, 0xc4, 0xc9, 0xda, 0x0a, 0x89, 0x64, 0x6d, 0x72, 0x8c, 0x83, + 0xb4, 0x6d, 0xe2, 0xe0, 0x88, 0x39, 0x25, 0x38, 0x82, 0x9c, 0x93, 0xf1, 0x50, 0x98, 0x99, 0xa3, + 0x1c, 0x88, 0x11, 0xa0, 0xf7, 0x61, 0x35, 0x72, 0x99, 0x8b, 0x06, 0x18, 0xf0, 0x94, 0x04, 0x22, + 0xa5, 0xc9, 0x30, 0xf2, 0x7e, 0x0c, 0x50, 0x0f, 0x2a, 0x9c, 0xde, 0x60, 0x64, 0xf3, 0x2b, 0x7b, + 0x6d, 0xe7, 0xc1, 0x55, 0xf8, 0x7a, 0x9b, 0x4d, 0xdc, 0x2e, 0xa9, 0x67, 0x2e, 0x05, 0xf1, 0x07, + 0x11, 0x4e, 0xb6, 0x78, 0x5b, 0xac, 0x97, 0xa8, 0x65, 0x36, 0x06, 0xa0, 0x77, 0x60, 0x65, 0xe0, + 0x8d, 0xc7, 0x4e, 0x38, 0xc6, 0x6e, 0x14, 0x6d, 0x50, 0x66, 0x6a, 0x69, 0x5c, 0xc0, 0x82, 0x0d, + 0x8c, 0xff, 0xa2, 0xc1, 0x92, 0xd4, 0x0e, 0xd2, 0xa1, 0xd2, 0x39, 0xec, 0x58, 0xbd, 0x7e, 0xb3, + 0xb3, 0xd7, 0x34, 0xf7, 0x58, 0x0c, 0x77, 0xf7, 0xd9, 0x43, 0xeb, 0x69, 0xeb, 0x0b, 0xe6, 0x37, + 0xca, 0x3f, 0xac, 0x27, 0xcd, 0xde, 0x13, 0xbd, 0x40, 0x5d, 0x4b, 0x77, 0xcd, 0x76, 0xb7, 0xcf, + 0x00, 0x45, 0x54, 0x85, 0xf2, 0xc1, 0xb3, 0xfd, 0x7e, 0xdb, 0xea, 0xb5, 0x1f, 0xeb, 0x73, 0xe4, + 0xb3, 0xf3, 0x6c, 0x7f, 0xdf, 0xda, 0x6b, 0xf6, 0x9b, 0xfa, 0x3c, 0x75, 0x29, 0x25, 0x6b, 0x6a, + 0xf5, 0x9e, 0x3d, 0x3c, 0x68, 0xf7, 0x7a, 0xed, 0xc3, 0x8e, 0xbe, 0x40, 0x90, 0x18, 0xf4, 0x71, + 0xab, 0xa3, 0x2f, 0xc6, 0x48, 0x52, 0x3e, 0xba, 0x92, 0x52, 0xd5, 0xda, 0x7d, 0xd2, 0xec, 0x3c, + 0x6e, 0xe9, 0x65, 0xd2, 0xbe, 0xe8, 0x51, 0x73, 0xbf, 0xaf, 0x03, 0x41, 0x93, 0xbb, 0x48, 0xa1, + 0x4b, 0x46, 0x1f, 0xb6, 0xd8, 0x44, 0x9b, 0xf6, 0x79, 0x86, 0x0f, 0xe9, 0x57, 0x74, 0xc2, 0xb6, + 0xe0, 0x66, 0x36, 0xd5, 0xab, 0xe6, 0x19, 0x49, 0x2f, 0xbe, 0xe2, 0x36, 0x6d, 0xec, 0xc0, 0xc6, + 0x73, 0x1e, 0x8b, 0x9b, 0x91, 0x1e, 0x2a, 0xf3, 0x50, 0x33, 0x7e, 0x3e, 0x0f, 0x9b, 0xa9, 0x4a, + 0xbc, 0x43, 0x37, 0xa0, 0xe4, 0x04, 0x96, 0x7c, 0x44, 0x2d, 0x3a, 0x01, 0x45, 0x26, 0xd7, 0x79, + 0x27, 0xb0, 0xc6, 0x8e, 0x2b, 0xb2, 0xe4, 0x2c, 0x38, 0xc1, 0x81, 0xe3, 0x66, 0xf9, 0x32, 0x15, + 0xb3, 0x7c, 0x99, 0xee, 0x40, 0x85, 0x7b, 0x70, 0xd0, 0xdb, 0x04, 0xd7, 0x3e, 0x60, 0x42, 0xdd, + 0x37, 0x48, 0x3f, 0x48, 0x0b, 0xc2, 0xc7, 0x83, 0x85, 0x25, 0x2f, 0xb0, 0x42, 0x22, 0xd5, 0x9c, + 0x40, 0x76, 0x72, 0x2e, 0x99, 0x25, 0x27, 0xe0, 0x62, 0xe6, 0x4d, 0x58, 0x8e, 0x3c, 0xa0, 0x29, + 0x65, 0x76, 0x38, 0x94, 0xcd, 0xaa, 0xf0, 0xac, 0x27, 0xc4, 0x03, 0xd4, 0x01, 0xbe, 0x47, 0xd8, + 0x71, 0x56, 0x4a, 0x1d, 0x67, 0x39, 0x73, 0xc2, 0xb7, 0x19, 0x15, 0xc0, 0x7c, 0xef, 0x53, 0x01, + 0xf5, 0x0e, 0xa0, 0x89, 0x7d, 0x41, 0x6d, 0x37, 0xc3, 0xa1, 0x2f, 0x7a, 0x57, 0x66, 0xb2, 0x70, + 0x62, 0x5f, 0xf4, 0x3d, 0x42, 0x88, 0x77, 0xf2, 0x75, 0xa8, 0x06, 0xce, 0x49, 0x60, 0x09, 0x09, + 0x40, 0x4d, 0x25, 0x55, 0xb3, 0x42, 0x80, 0x26, 0x87, 0x51, 0x0f, 0xf2, 0xc0, 0x8a, 0x72, 0x44, + 0x2e, 0xb1, 0x5c, 0x44, 0x4e, 0xd0, 0x16, 0x59, 0x22, 0x23, 0x21, 0x56, 0x91, 0x84, 0x98, 0xf1, + 0x5f, 0x35, 0x80, 0xb8, 0x8f, 0x68, 0x05, 0xaa, 0x1d, 0xcf, 0xed, 0x85, 0xb6, 0x3b, 0xb4, 0xfd, + 0x61, 0xff, 0x82, 0xa5, 0x79, 0x64, 0x5e, 0x32, 0xfd, 0x0b, 0xbe, 0x47, 0xe9, 0x17, 0xf3, 0x07, + 0xd7, 0x0b, 0xd4, 0xdb, 0x9b, 0x12, 0xe0, 0x90, 0x22, 0xaa, 0x01, 0x1c, 0x4c, 0x47, 0xa1, 0xd3, + 0x73, 0x4e, 0xfa, 0x17, 0xfa, 0x1c, 0xf9, 0xee, 0x4c, 0x47, 0xa3, 0x3d, 0x3b, 0xb4, 0xfb, 0x17, + 0xfa, 0x3c, 0x5a, 0xe7, 0xb9, 0x08, 0x7a, 0xd3, 0x23, 0xfa, 0x34, 0x42, 0x4e, 0x77, 0x7d, 0x81, + 0xa0, 0x89, 0x14, 0x41, 0xfd, 0x0b, 0x7d, 0x31, 0x42, 0x33, 0xf1, 0x99, 0x27, 0x1e, 0x68, 0xf8, + 0x4e, 0xe5, 0xb5, 0x59, 0xa8, 0x5c, 0xff, 0x82, 0xef, 0xd4, 0xe9, 0xd1, 0x4b, 0x7c, 0xd1, 0x1c, + 0x85, 0xfd, 0x0b, 0x1d, 0xd0, 0x2a, 0x2c, 0x33, 0x00, 0xe9, 0x16, 0x03, 0x2e, 0x19, 0x1f, 0xc0, + 0xe6, 0x2e, 0x15, 0x52, 0x21, 0x1e, 0x26, 0x5c, 0x69, 0xeb, 0xb0, 0x28, 0xcc, 0x63, 0xcc, 0xb5, + 0x4c, 0x7c, 0x1a, 0x4f, 0xe0, 0xf6, 0xe3, 0xc8, 0xcc, 0xd1, 0x52, 0x1c, 0x87, 0xae, 0x97, 0xd5, + 0xc9, 0xe8, 0xc1, 0x9d, 0x7c, 0x4a, 0x7c, 0x13, 0xbd, 0x0f, 0x6b, 0xf6, 0x60, 0x60, 0xe5, 0x38, + 0x2e, 0xad, 0xd8, 0x83, 0x81, 0x5a, 0xd1, 0xf8, 0x67, 0x1a, 0xd4, 0xd3, 0x83, 0xe2, 0xd4, 0xbe, + 0x84, 0x65, 0xc5, 0x71, 0x1a, 0x67, 0x05, 0x4e, 0xe7, 0xd5, 0xe6, 0x99, 0x39, 0x04, 0x4b, 0x27, + 0x29, 0x35, 0x9a, 0x22, 0xfb, 0x48, 0x33, 0x0e, 0x0a, 0x94, 0xb2, 0x8f, 0x54, 0xa2, 0xf4, 0x22, + 0xf9, 0x0f, 0xe5, 0x08, 0xf4, 0x87, 0x38, 0x08, 0xe5, 0x6b, 0xb9, 0xf1, 0x29, 0xac, 0x48, 0xb0, + 0xf8, 0xf1, 0x4f, 0x72, 0x2a, 0xa8, 0x46, 0x29, 0x37, 0x44, 0x7a, 0x8e, 0x42, 0x9c, 0x9e, 0xc3, + 0xf8, 0x57, 0x1a, 0xac, 0xf6, 0xce, 0x31, 0x9e, 0xa4, 0xf3, 0x11, 0x66, 0xc4, 0xa8, 0x96, 0x93, + 0x31, 0xaa, 0xef, 0xc3, 0xaa, 0x14, 0x44, 0x68, 0xa9, 0x3d, 0x47, 0x52, 0x51, 0x33, 0x8e, 0xf9, + 0x98, 0x11, 0xa8, 0x5c, 0xbd, 0x5a, 0x50, 0xeb, 0x1c, 0x33, 0x66, 0x88, 0xa0, 0x56, 0xe3, 0xbf, + 0x69, 0xb0, 0xa6, 0x0e, 0xe2, 0x57, 0x3b, 0xca, 0xd0, 0xf8, 0x37, 0x1a, 0x6c, 0xec, 0x8e, 0xb0, + 0xed, 0x1e, 0x4e, 0xc3, 0x5f, 0xe6, 0x85, 0xfb, 0x1f, 0x05, 0xd8, 0x4c, 0x8d, 0x83, 0xaf, 0x9d, + 0x9d, 0x19, 0x3a, 0xf5, 0x03, 0x79, 0x2f, 0x66, 0xd7, 0x4c, 0xc2, 0xf3, 0x43, 0xa8, 0xfe, 0xa7, + 0x06, 0x8d, 0x7c, 0xe4, 0x5f, 0x55, 0xee, 0x79, 0xfb, 0xef, 0x14, 0x61, 0x2d, 0xeb, 0x85, 0x1f, + 0x01, 0x2c, 0xf4, 0xbe, 0xe8, 0xec, 0xd2, 0x50, 0xde, 0x0a, 0x94, 0x9e, 0x75, 0xf8, 0x97, 0x86, + 0x10, 0xd4, 0xba, 0xad, 0x96, 0x69, 0xed, 0x1e, 0x76, 0x3a, 0xad, 0xdd, 0x7e, 0x6b, 0x4f, 0x2f, + 0x90, 0x33, 0x87, 0xc2, 0xf6, 0xda, 0xbd, 0x18, 0x5c, 0x44, 0x6f, 0xc0, 0x9d, 0x47, 0xad, 0xfe, + 0xee, 0x93, 0xd6, 0x9e, 0x45, 0xf5, 0xca, 0xce, 0x63, 0x6b, 0xf7, 0x51, 0x7b, 0xbf, 0xdf, 0x32, + 0x7b, 0x44, 0x9b, 0x35, 0x59, 0x82, 0xa1, 0x7b, 0x70, 0x37, 0x17, 0xab, 0x6b, 0x1e, 0x3e, 0x36, + 0x5b, 0xbd, 0x9e, 0x3e, 0x3f, 0x13, 0xed, 0x51, 0xbb, 0xd3, 0xee, 0x3d, 0xa1, 0x59, 0x89, 0xb6, + 0x60, 0x53, 0xa0, 0x3d, 0x69, 0x35, 0xf7, 0xe4, 0xa6, 0x16, 0xd1, 0x4d, 0xa8, 0x27, 0x0b, 0xa3, + 0x16, 0x4a, 0x59, 0xa5, 0x11, 0xe1, 0x32, 0x7a, 0x0d, 0x1a, 0x74, 0x78, 0xcf, 0x5b, 0xa6, 0xd5, + 0xdc, 0xdb, 0x23, 0x75, 0x5a, 0x31, 0x6d, 0x40, 0xb7, 0x61, 0x2b, 0xa3, 0x3c, 0x22, 0xb0, 0x44, + 0x26, 0xce, 0x6c, 0xf5, 0x76, 0x9b, 0x9d, 0xa8, 0x52, 0x85, 0x1c, 0xb7, 0x1c, 0x16, 0xf5, 0xa3, + 0x2a, 0x01, 0xa3, 0xda, 0xb5, 0x1d, 0x33, 0xca, 0xd0, 0xde, 0xc3, 0xfe, 0x99, 0x33, 0xc0, 0xe8, + 0x33, 0x58, 0xe4, 0x10, 0x74, 0x43, 0x56, 0xa9, 0x94, 0x3c, 0xee, 0x8d, 0x46, 0x56, 0x11, 0xdb, + 0x1d, 0x3b, 0xbf, 0xbb, 0x05, 0x55, 0xe6, 0xae, 0x2a, 0x68, 0x7e, 0x17, 0xe6, 0xba, 0x8e, 0x7b, + 0x82, 0x36, 0x64, 0xbf, 0x85, 0x38, 0xb1, 0x72, 0x63, 0x33, 0x05, 0x8f, 0xe2, 0x12, 0x16, 0x79, + 0x82, 0x64, 0xa5, 0x33, 0x6a, 0xd6, 0x65, 0xa5, 0x33, 0xc9, 0xf4, 0xcb, 0x26, 0x54, 0x95, 0xe4, + 0xc8, 0xe8, 0x76, 0x3a, 0x67, 0xb1, 0x92, 0x71, 0xb9, 0x71, 0x27, 0x1f, 0x21, 0x8a, 0xfd, 0x28, + 0x45, 0xbe, 0x36, 0x8d, 0xcc, 0x14, 0xc8, 0x8c, 0xd2, 0xd6, 0x8c, 0xf4, 0xc8, 0x64, 0x68, 0x22, + 0x79, 0xb0, 0x3c, 0x34, 0x35, 0x43, 0xa5, 0x32, 0xb4, 0x64, 0x2e, 0xc9, 0x00, 0xea, 0x79, 0x0a, + 0x0c, 0x4a, 0xe4, 0x2f, 0x9b, 0xa5, 0x2f, 0x35, 0xde, 0xb9, 0x12, 0x2e, 0x6f, 0xf4, 0x19, 0xd4, + 0xd4, 0x9c, 0x7b, 0xe8, 0x4e, 0x22, 0xbd, 0x58, 0xea, 0xca, 0xd5, 0xb8, 0x3b, 0x03, 0x83, 0x93, + 0xfd, 0x11, 0x2c, 0x27, 0x52, 0xf9, 0xa1, 0xfc, 0x5a, 0xd1, 0x04, 0x1b, 0xb3, 0x50, 0x18, 0xe5, + 0x07, 0x1a, 0x7a, 0x0c, 0xe5, 0x28, 0xed, 0x19, 0xda, 0xca, 0x4a, 0x86, 0x26, 0xe8, 0xdd, 0x9a, + 0x99, 0x29, 0x0d, 0x3d, 0x05, 0x88, 0xa1, 0xe8, 0x66, 0x0e, 0xf2, 0x55, 0x48, 0x3d, 0xd0, 0xd0, + 0x3e, 0x2c, 0x49, 0xa9, 0xc6, 0x90, 0x12, 0xf8, 0x92, 0x4a, 0x4c, 0xd6, 0x78, 0x2d, 0xaf, 0x38, + 0xca, 0x77, 0x58, 0x8e, 0x32, 0x8a, 0x29, 0x63, 0x4c, 0x26, 0x1f, 0x6b, 0xdc, 0xcc, 0x2e, 0x8c, + 0xe9, 0x44, 0xf9, 0xae, 0x14, 0x3a, 0xc9, 0xe4, 0x5a, 0x0a, 0x9d, 0x74, 0x8a, 0x2c, 0x42, 0x47, + 0xa8, 0x8d, 0x2a, 0x9d, 0x84, 0x82, 0xa9, 0xd2, 0x49, 0x69, 0x9a, 0x53, 0x25, 0x2a, 0x43, 0x71, + 0x6d, 0x56, 0x78, 0xfc, 0x92, 0x28, 0x28, 0x85, 0xc7, 0x2f, 0x8b, 0x86, 0x7a, 0xa0, 0x21, 0x27, + 0xce, 0xc6, 0xae, 0x34, 0xf9, 0x66, 0x86, 0x6c, 0xc8, 0x6a, 0xee, 0xad, 0x4b, 0xf1, 0xa2, 0xa6, + 0x7e, 0x02, 0x37, 0x72, 0xa3, 0x58, 0xd0, 0x3b, 0x57, 0x8b, 0x75, 0x61, 0x8d, 0xbe, 0x7b, 0x9d, + 0xc0, 0x98, 0xfb, 0xda, 0x03, 0x0d, 0x7d, 0x09, 0x7a, 0x32, 0x0b, 0x16, 0x32, 0x2e, 0x4f, 0xda, + 0xd5, 0x78, 0x7d, 0x26, 0x4e, 0x2c, 0x79, 0x95, 0x74, 0xe1, 0x8a, 0xe4, 0xcd, 0x4a, 0x51, 0xae, + 0x48, 0xde, 0xcc, 0x4c, 0xe3, 0xe8, 0x53, 0x58, 0x60, 0x4e, 0x6b, 0xa8, 0x9e, 0xf2, 0xa9, 0x13, + 0x54, 0x6e, 0x64, 0x94, 0xc8, 0xbb, 0x4e, 0xca, 0xdf, 0xad, 0xec, 0xba, 0x74, 0xc2, 0x70, 0x65, + 0xd7, 0x65, 0xa5, 0xfd, 0x16, 0xd4, 0x44, 0x76, 0xe9, 0x99, 0x19, 0xb6, 0xd3, 0xd4, 0x12, 0x16, + 0x9b, 0x2f, 0x41, 0x4f, 0xa6, 0x72, 0x56, 0x56, 0x23, 0x27, 0x33, 0xb5, 0xb2, 0x1a, 0x79, 0xb9, + 0xa0, 0xd1, 0x21, 0x54, 0xe4, 0xbc, 0xca, 0xe8, 0xb5, 0x54, 0x25, 0x25, 0x47, 0x74, 0xe3, 0x76, + 0x6e, 0x39, 0x27, 0xf8, 0x02, 0x96, 0x13, 0x39, 0xbe, 0x14, 0x89, 0x9d, 0x9d, 0x40, 0x4d, 0x91, + 0xd8, 0x79, 0x09, 0xc6, 0x9e, 0x43, 0x4d, 0x4d, 0x61, 0xa5, 0x1c, 0x31, 0x99, 0xd9, 0xad, 0x1a, + 0xb9, 0x18, 0xd2, 0xda, 0x9f, 0xc0, 0x5a, 0x56, 0xc6, 0x18, 0x65, 0x53, 0xcf, 0xc8, 0x6f, 0xa3, + 0x6c, 0xea, 0x99, 0xa9, 0x67, 0x5e, 0xc0, 0x72, 0x22, 0xe9, 0x82, 0x32, 0x35, 0xd9, 0x49, 0x50, + 0x94, 0xa9, 0xc9, 0x4b, 0x20, 0xf2, 0x25, 0xe8, 0xc9, 0x74, 0x0e, 0xc8, 0xb8, 0x3c, 0x91, 0x86, + 0xc2, 0x22, 0xb9, 0xa9, 0x24, 0x5e, 0xc0, 0x72, 0x22, 0xa4, 0x5f, 0xe9, 0x76, 0x76, 0x56, 0x03, + 0xa5, 0xdb, 0x79, 0x19, 0x01, 0x6c, 0x40, 0xe9, 0x40, 0x7c, 0x24, 0x3f, 0xf9, 0xe4, 0xc6, 0xfc, + 0x37, 0xee, 0x5d, 0x82, 0xc5, 0x9b, 0xb8, 0x88, 0x62, 0xfd, 0x33, 0xa2, 0xef, 0xd1, 0xbb, 0x69, + 0x22, 0xf9, 0x91, 0xfc, 0x8d, 0xf7, 0xae, 0x88, 0x1d, 0xcf, 0x5b, 0x22, 0x9e, 0x5c, 0x99, 0xb7, + 0xec, 0x68, 0x7f, 0x65, 0xde, 0xf2, 0xc2, 0xd1, 0xa9, 0x08, 0x95, 0x22, 0xc6, 0x13, 0x22, 0x34, + 0x1d, 0x83, 0x9e, 0x10, 0xa1, 0x19, 0xc1, 0xe6, 0xe8, 0x37, 0x61, 0x3d, 0x33, 0x98, 0x1c, 0xc9, + 0xec, 0x3d, 0x2b, 0x1c, 0xbd, 0x71, 0xff, 0x72, 0xc4, 0x58, 0x3e, 0x4a, 0xa1, 0xd0, 0x8a, 0x7c, + 0x4c, 0xc7, 0xab, 0x2b, 0xf2, 0x31, 0x2b, 0xc8, 0xfc, 0x10, 0x2a, 0x72, 0x60, 0x35, 0x7a, 0x6d, + 0x76, 0x30, 0xb8, 0x22, 0xc2, 0x32, 0x63, 0xb8, 0x5f, 0xc0, 0x72, 0xc2, 0x52, 0xac, 0x2c, 0x5c, + 0xb6, 0x39, 0x5e, 0x59, 0xb8, 0x3c, 0xe3, 0x3b, 0x39, 0x58, 0x13, 0x76, 0x3c, 0xf5, 0x60, 0xcd, + 0xb6, 0x7b, 0xaa, 0x07, 0x6b, 0x9e, 0x19, 0x91, 0xcc, 0x83, 0x64, 0x8b, 0x52, 0xe7, 0x21, 0x6d, + 0x69, 0x53, 0xe7, 0x21, 0xc3, 0x88, 0xb5, 0xf3, 0x57, 0xcb, 0x22, 0xec, 0x90, 0x2c, 0x27, 0xf6, + 0xc5, 0xb5, 0xed, 0x10, 0x2a, 0x72, 0xd8, 0xa1, 0xd2, 0x50, 0x46, 0x98, 0xa2, 0xd2, 0x50, 0x66, + 0xbc, 0xe2, 0x21, 0x54, 0xe4, 0xf0, 0x51, 0x85, 0x60, 0x46, 0x78, 0xab, 0x42, 0x30, 0x2b, 0xee, + 0x94, 0x5c, 0x81, 0xf2, 0xa2, 0x3f, 0x15, 0xf5, 0xf0, 0x92, 0xe0, 0x54, 0x45, 0x3d, 0xbc, 0x2c, + 0x9c, 0x14, 0xb5, 0x01, 0xe2, 0x60, 0x50, 0xe5, 0x1a, 0x90, 0x8a, 0x32, 0x55, 0xae, 0x01, 0x19, + 0x11, 0xa4, 0xfb, 0xb0, 0x24, 0x85, 0x81, 0x2a, 0x1b, 0x24, 0x1d, 0x34, 0xaa, 0x6c, 0x90, 0x8c, + 0xe8, 0x51, 0xf4, 0x1b, 0xd4, 0x46, 0xaf, 0x86, 0x55, 0xa2, 0xd7, 0x55, 0x7d, 0x3f, 0x33, 0x26, + 0xb4, 0xf1, 0xc6, 0x6c, 0xa4, 0x98, 0x7e, 0x2a, 0xe0, 0x51, 0xa1, 0x9f, 0x17, 0xb6, 0xa9, 0xd0, + 0xcf, 0x8d, 0x99, 0x44, 0x3f, 0xd3, 0xe0, 0xd6, 0xcc, 0x68, 0x46, 0xf4, 0xbe, 0xdc, 0xcf, 0x2b, + 0xc4, 0x47, 0x36, 0x1e, 0x5c, 0xbd, 0x42, 0xcc, 0xa3, 0x72, 0x48, 0x89, 0xc2, 0xa3, 0x19, 0x11, + 0x94, 0x0a, 0x8f, 0x66, 0x46, 0x52, 0x9e, 0xf0, 0x08, 0xcb, 0x44, 0x40, 0x89, 0xa2, 0x76, 0xcc, + 0x08, 0x15, 0x55, 0xd4, 0x8e, 0x59, 0x31, 0xa3, 0xe8, 0x21, 0x2c, 0xf2, 0x28, 0x1d, 0xc5, 0xa2, + 0xa0, 0x46, 0x12, 0x29, 0x16, 0x85, 0x44, 0x50, 0xcf, 0x03, 0x8d, 0xd0, 0xe0, 0x81, 0x63, 0x0a, + 0x0d, 0x35, 0x7c, 0x4e, 0xa1, 0x91, 0x88, 0x33, 0x63, 0x3a, 0xb6, 0x14, 0x59, 0xa2, 0x30, 0x75, + 0x3a, 0x0e, 0x45, 0x61, 0xea, 0x8c, 0x80, 0x94, 0x1d, 0x0f, 0xd6, 0x24, 0xc7, 0xf0, 0xe7, 0x3b, + 0x42, 0x38, 0x7d, 0x0e, 0x35, 0x35, 0x84, 0x40, 0xd1, 0x12, 0x33, 0xc3, 0x2d, 0x14, 0x43, 0x44, + 0x76, 0xfc, 0xc1, 0x03, 0x6d, 0xe7, 0x5f, 0x96, 0x44, 0x6a, 0x70, 0x5a, 0x22, 0xda, 0x7b, 0x06, + 0x35, 0xd5, 0x11, 0x5e, 0x69, 0x2f, 0x33, 0x64, 0x41, 0x69, 0x2f, 0xdb, 0x8b, 0x9e, 0x1c, 0xf1, + 0x8a, 0xb7, 0xbc, 0x72, 0xc4, 0x67, 0xf9, 0xd7, 0x37, 0xee, 0xe4, 0x23, 0xc4, 0xfb, 0x34, 0xe5, + 0x4b, 0xaf, 0xec, 0xd3, 0x3c, 0x37, 0x7c, 0x65, 0x9f, 0xe6, 0xbb, 0xe3, 0xb7, 0x01, 0x62, 0x57, + 0x63, 0x45, 0x00, 0xa6, 0x1c, 0x96, 0x15, 0x01, 0x98, 0xf6, 0x4f, 0x26, 0x9b, 0x23, 0xcb, 0xa1, + 0x58, 0xd9, 0x1c, 0x33, 0x1c, 0x98, 0x1b, 0x6f, 0x5d, 0x8a, 0x27, 0x19, 0x48, 0x84, 0x83, 0xb1, + 0x6a, 0x20, 0x49, 0xf8, 0x2b, 0x37, 0x6e, 0x66, 0x17, 0x72, 0x3a, 0x43, 0xea, 0xd6, 0x9a, 0xf4, + 0x23, 0x46, 0xf7, 0x52, 0x95, 0xb2, 0x7c, 0x96, 0x1b, 0x6f, 0x5e, 0x86, 0x96, 0xd9, 0x4a, 0x1c, + 0x17, 0x92, 0x5d, 0x3d, 0xe1, 0xae, 0x9c, 0xd7, 0x4a, 0xd2, 0x13, 0x99, 0xde, 0x26, 0x12, 0x7e, + 0xc4, 0xea, 0x6d, 0x22, 0xdb, 0x4d, 0x59, 0xbd, 0x4d, 0xe4, 0x38, 0x22, 0xd3, 0xfd, 0xa2, 0x38, + 0x13, 0xab, 0xfb, 0x25, 0xcb, 0x47, 0x59, 0xdd, 0x2f, 0x99, 0x9e, 0xc8, 0x54, 0xa5, 0x8c, 0xdd, + 0x8a, 0xd1, 0xad, 0x74, 0x0d, 0xc9, 0x43, 0x59, 0x55, 0x29, 0xd3, 0xde, 0xc8, 0xbc, 0x93, 0x92, + 0x43, 0x71, 0xb2, 0x93, 0x69, 0x47, 0xe5, 0x64, 0x27, 0x33, 0xbc, 0x91, 0x77, 0x7e, 0xae, 0x91, + 0x5e, 0xe2, 0xa1, 0x90, 0x1d, 0x36, 0xa0, 0x74, 0xa8, 0x9b, 0x72, 0xff, 0xc9, 0x8d, 0xa3, 0x53, + 0xee, 0x3f, 0x33, 0xe2, 0xe5, 0xda, 0x00, 0x71, 0x70, 0x9a, 0xb2, 0x27, 0x53, 0x71, 0x6e, 0x8d, + 0x5b, 0x39, 0xa5, 0xbc, 0xf7, 0xbf, 0x0e, 0x55, 0xe6, 0x63, 0x2c, 0x3d, 0x09, 0x70, 0xa7, 0x63, + 0xe5, 0x50, 0x50, 0x1d, 0xae, 0x95, 0x43, 0x21, 0xe1, 0xa3, 0xbc, 0xf3, 0x4f, 0x34, 0xa8, 0x32, + 0x36, 0x11, 0x34, 0xf7, 0x61, 0x49, 0x72, 0xfa, 0x54, 0xd6, 0x31, 0xed, 0x79, 0xaa, 0xac, 0x63, + 0x96, 0xaf, 0x28, 0x5b, 0x47, 0x99, 0xe0, 0x9d, 0xcb, 0xbc, 0x59, 0x93, 0xeb, 0x98, 0x41, 0x76, + 0x67, 0x02, 0x0d, 0x7e, 0x69, 0xa0, 0x3e, 0xa0, 0x5c, 0x57, 0x10, 0x43, 0x30, 0xa1, 0xaa, 0xb8, + 0x86, 0x2a, 0xa2, 0x3b, 0xcb, 0x3d, 0x55, 0x11, 0xdd, 0x99, 0x5e, 0xa5, 0x3b, 0x7f, 0x1a, 0xd6, + 0xd8, 0x8a, 0xf0, 0x02, 0xd1, 0xd6, 0x89, 0x80, 0xab, 0xee, 0x47, 0x8a, 0x9c, 0x9c, 0xe1, 0xf5, + 0xa4, 0xc8, 0xc9, 0x59, 0x7e, 0x4c, 0x47, 0x0b, 0xf4, 0x8f, 0xf8, 0x7e, 0xf0, 0x7f, 0x02, 0x00, + 0x00, 0xff, 0xff, 0x02, 0x21, 0x53, 0x88, 0xd1, 0x77, 0x00, 0x00, } diff --git a/wallet/createtx.go b/wallet/createtx.go index f9ce5cc2b..ad5155e47 100644 --- a/wallet/createtx.go +++ b/wallet/createtx.go @@ -21,6 +21,7 @@ import ( "github.com/decred/dcrd/txscript" "github.com/decred/dcrd/wire" "github.com/decred/dcrwallet/errors" + "github.com/decred/dcrwallet/internal/helpers" "github.com/decred/dcrwallet/wallet/v2/internal/txsizes" "github.com/decred/dcrwallet/wallet/v2/txauthor" "github.com/decred/dcrwallet/wallet/v2/txrules" @@ -78,6 +79,34 @@ const ( OutputSelectionAlgorithmAll ) +// trackingSource reprsents an input source that tracks of inputs in calls prior. +type trackingSource struct { + target dcrutil.Amount + source udb.InputSource +} + +// TrackTransaction updates the target of the input source per the outputs and +// fees used by the provided transaction. +func (t *trackingSource) TrackTransaction(tx *txauthor.AuthoredTx, feePerKb dcrutil.Amount) { + fees := txrules.FeeForSerializeSize(feePerKb, tx.EstimatedSignedSerializeSize) + vOut := helpers.SumOutputValues(tx.Tx.TxOut) + diff := fees + vOut + t.target -= diff +} + +// InputSource returns the underlying input source capped by the updated target. +func (t *trackingSource) InputSource() func(dcrutil.Amount) (*txauthor.InputDetail, error) { + return func(dcrutil.Amount) (*txauthor.InputDetail, error) { + inputDetail, err := t.source.SelectInputs(t.target) + // Ignore insufficient balance issues. + if errors.Is(errors.InsufficientBalance, err) { + err = nil + } + + return inputDetail, err + } +} + // NewUnsignedTransaction constructs an unsigned transaction using unspent // account outputs. // @@ -113,15 +142,7 @@ func (w *Wallet) NewUnsignedTransaction(outputs []*wire.TxOut, relayFeePerKb dcr case OutputSelectionAlgorithmDefault: inputSource = sourceImpl.SelectInputs case OutputSelectionAlgorithmAll: - // Wrap the source with one that always fetches the max amount - // available and ignores insufficient balance issues. - inputSource = func(dcrutil.Amount) (*txauthor.InputDetail, error) { - inputDetail, err := sourceImpl.SelectInputs(dcrutil.MaxAmount) - if errors.Is(errors.InsufficientBalance, err) { - err = nil - } - return inputDetail, err - } + inputSource = w.trackingSource.InputSource() default: return errors.E(errors.Invalid, errors.Errorf("unknown output selection algorithm %v", algo)) diff --git a/wallet/udb/txmined.go b/wallet/udb/txmined.go index 08249e2f2..a82deac9e 100644 --- a/wallet/udb/txmined.go +++ b/wallet/udb/txmined.go @@ -2855,10 +2855,11 @@ type InputSource struct { // SelectInputs selects transaction inputs to redeem unspent outputs stored in // the database. It may be called multiple times with increasing target amounts -// to return additional inputs for a higher target amount. It returns the total -// input amount referenced by the previous transaction outputs, a slice of -// transaction inputs referencing these outputs, and a slice of previous output -// scripts from each previous output referenced by the corresponding input. +// to return additional inputs for a higher target amount. It returns an +// inputDetail instance consisting of the total input amount referenced by the +// previous transaction outputs, a slice of transaction inputs referencing +// these outputs, and a slice of previous output scripts from each previous +// output referenced by the corresponding input. func (s *InputSource) SelectInputs(target dcrutil.Amount) (*txauthor.InputDetail, error) { return s.source(target) } diff --git a/wallet/wallet.go b/wallet/wallet.go index 7ae30d7cd..b222029b8 100644 --- a/wallet/wallet.go +++ b/wallet/wallet.go @@ -137,6 +137,8 @@ type Wallet struct { chainParams *chaincfg.Params + trackingSource *trackingSource + wg sync.WaitGroup started bool @@ -631,6 +633,81 @@ func (w *Wallet) loadActiveAddrs(ctx context.Context, dbtx walletdb.ReadTx, nb N return bip0044AddrCount + importedAddrCount, nil } +// scriptChangeSource is a ChangeSource which is used to +// receive all correlated previous input value. +type scriptChangeSource struct { + version uint16 + script []byte +} + +func (src *scriptChangeSource) Script() ([]byte, uint16, error) { + return src.script, src.version, nil +} + +func (src *scriptChangeSource) ScriptSize() int { + return len(src.script) +} + +func makeScriptChangeSource(address string, version uint16) (*scriptChangeSource, error) { + destinationAddress, err := dcrutil.DecodeAddress(address) + if err != nil { + return nil, err + } + + script, err := txscript.PayToAddrScript(destinationAddress) + if err != nil { + return nil, err + } + + source := &scriptChangeSource{ + version: version, + script: script, + } + + return source, nil +} + +func (w *Wallet) CleanOutAccount(account uint32, address string, feePerKb dcrutil.Amount, minConf uint32) ([]*txauthor.AuthoredTx, error) { + changeSource, err := makeScriptChangeSource(address, txscript.DefaultScriptVersion) + if err != nil { + return nil, err + } + + // Reset the tracking source target to the spendable balance of the account + // per the minimum confirmations provided. + err = walletdb.View(w.db, func(dbtx walletdb.ReadTx) error { + addrmgrNs := dbtx.ReadBucket(waddrmgrNamespaceKey) + txmgrNs := dbtx.ReadBucket(wtxmgrNamespaceKey) + bal, err := w.TxStore.AccountBalance(txmgrNs, addrmgrNs, int32(minConf), account) + if err != nil { + return err + } + + w.trackingSource.target = bal.Spendable + + return nil + }) + if err != nil { + return nil, err + } + + var txs []*txauthor.AuthoredTx + + // Create as many transactions as needed to clean out the account + if w.trackingSource.target > 0 { + tx, err := w.NewUnsignedTransaction(nil, feePerKb, account, + int32(minConf), OutputSelectionAlgorithmAll, changeSource) + if err != nil { + return nil, err + } + + w.trackingSource.TrackTransaction(tx, feePerKb) + txs = append(txs, tx) + } + + return txs, nil +} + // CoinType returns the active BIP0044 coin type. For watching-only wallets, // which do not save the coin type keys, this method will return an error with // code errors.WatchingOnly.