From c88fa1492e840327ad552631466a2eb817d6bcbe Mon Sep 17 00:00:00 2001 From: Ori Newman Date: Mon, 4 Nov 2019 11:24:12 +0200 Subject: [PATCH] [NOD-375] Move to pkg/errors (#447) * [NOD-375] Move to pkg/errors * [NOD-375] Fix tests * [NOD-375] Make AreErrorsEqual a shared function --- addrmgr/addrmanager.go | 34 +- addrmgr/addrmanager_test.go | 4 +- apiserver/config/config.go | 2 +- apiserver/database/database.go | 12 +- apiserver/jsonrpc/client.go | 13 +- apiserver/main.go | 9 +- .../000004_create_subnetworks_table.up.sql | 2 +- apiserver/sync.go | 24 +- blockdag/accept_test.go | 2 +- blockdag/blockidhash.go | 6 +- blockdag/blockindex_test.go | 2 +- blockdag/blockwindow.go | 2 +- blockdag/blockwindow_test.go | 4 +- blockdag/checkpoints.go | 3 +- blockdag/coinbase.go | 17 +- blockdag/common_test.go | 8 +- blockdag/dag.go | 44 +- blockdag/dag_test.go | 2 +- blockdag/dagio.go | 5 +- blockdag/dagio_test.go | 2 +- blockdag/external_dag_test.go | 5 +- blockdag/fullblocks_test.go | 12 +- blockdag/fullblocktests/generate.go | 2 +- blockdag/indexers/acceptanceindex.go | 4 +- blockdag/indexers/acceptanceindex_test.go | 6 +- blockdag/indexers/addrindex.go | 4 +- blockdag/indexers/addrindex_test.go | 9 +- blockdag/indexers/cfindex.go | 5 +- blockdag/indexers/common.go | 3 +- blockdag/indexers/txindex.go | 3 +- blockdag/subnetworks.go | 17 +- blockdag/test_utils.go | 12 +- blockdag/test_utils_test.go | 2 +- blockdag/utxodiffstore.go | 4 +- blockdag/utxoset.go | 20 +- blockdag/validate.go | 7 +- blockdag/validate_test.go | 2 +- blockdag/versionbits.go | 1 - btcec/ciphering.go | 2 +- btcec/pubkey.go | 21 +- btcec/signature.go | 5 +- btcec/signature_test.go | 7 +- cmd/addblock/config.go | 7 +- cmd/addblock/import.go | 14 +- cmd/addsubnetwork/addsubnetwork.go | 24 +- cmd/addsubnetwork/config.go | 7 +- cmd/addsubnetwork/connect.go | 6 +- cmd/addsubnetwork/registrytx.go | 4 +- cmd/addsubnetwork/utxo.go | 9 +- cmd/btcctl/config.go | 3 +- cmd/btcctl/httpclient.go | 8 +- cmd/findcheckpoint/config.go | 7 +- cmd/findcheckpoint/findcheckpoint.go | 3 +- cmd/txgen/client.go | 7 +- cmd/txgen/config.go | 2 +- cmd/txgen/connect.go | 6 +- cmd/txgen/main.go | 11 +- cmd/txgen/txloop.go | 18 +- cmd/txsigner/config.go | 3 +- config/config.go | 76 +- connmgr/connmanager.go | 2 +- connmgr/connmanager_test.go | 7 +- dagconfig/params.go | 2 +- database/cmd/dbtool/fetchblock.go | 2 +- database/cmd/dbtool/fetchblockregion.go | 2 +- database/cmd/dbtool/globalconfig.go | 5 +- database/cmd/dbtool/insecureimport.go | 12 +- database/driver_test.go | 6 +- database/error_test.go | 2 +- database/example_test.go | 5 +- database/ffldb/blockio_test.go | 2 +- database/ffldb/db_test.go | 15 +- database/ffldb/dbcache_test.go | 2 +- database/ffldb/driver.go | 9 +- database/ffldb/driver_test.go | 32 +- database/ffldb/init_test.go | 2 +- database/ffldb/interface_test.go | 39 +- database/ffldb/mockfile_test.go | 2 +- database/ffldb/whitebox_test.go | 3 +- database/testdata/generator.go | 12 +- dnsseeder/config.go | 11 +- dnsseeder/dns.go | 7 +- dnsseeder/manager.go | 6 +- docker/docker-compose.yml | 12 +- faucet/database/database.go | 12 +- faucet/faucet.go | 2 +- faucet/main.go | 10 +- httpserverutils/error.go | 3 +- integration/bip0009_test.go | 3 +- integration/rpctest/blockgen.go | 2 +- integration/rpctest/btcd.go | 8 +- integration/rpctest/memwallet.go | 4 +- integration/rpctest/rpc_harness.go | 5 +- limits/limits_unix.go | 4 +- logger/logger.go | 9 +- logs/logs.go | 5 +- mempool/mempool.go | 9 +- mempool/mempool_test.go | 6 +- mining/cpuminer/cpuminer.go | 2 +- mining/mining.go | 6 +- mining/mining_test.go | 2 +- mining/simulator/client.go | 7 +- mining/simulator/config.go | 2 +- mining/simulator/connect.go | 4 +- mining/simulator/main.go | 7 +- mining/simulator/mineloop.go | 18 +- mining/test_utils.go | 4 +- netsync/manager.go | 2 +- peer/peer.go | 2 +- peer/peer_test.go | 2 +- rpcclient/infrastructure.go | 6 +- rpcclient/mining.go | 3 +- rpcclient/notify.go | 2 +- rpcclient/rawrequest.go | 3 +- server/p2p/p2p.go | 6 +- server/rpc/common.go | 6 +- server/rpc/handle_get_block_dag_info.go | 3 +- server/rpc/handle_get_block_template.go | 6 +- server/rpc/rpcserver.go | 2 +- server/rpc/rpcserverhelp.go | 2 +- server/rpc/rpcwebsocket.go | 2 +- server/serverutils/upnp.go | 2 +- server/serverutils/utils.go | 4 +- service_windows.go | 18 +- testutil/testutil.go | 18 + txscript/data/script_tests.json | 6664 ++++++++++++++--- txscript/data/sighash.json | 4004 ++++++++-- txscript/data/tx_invalid.json | 911 ++- txscript/data/tx_valid.json | 1181 ++- txscript/engine.go | 1 - txscript/reference_test.go | 10 +- txscript/script.go | 3 +- txscript/sign.go | 5 +- txscript/sign_test.go | 8 +- txscript/stack_test.go | 8 +- txscript/standard.go | 3 +- util/address.go | 11 +- util/amount.go | 2 +- util/base58/base58check.go | 2 +- util/bech32/bech32.go | 15 +- util/certgen.go | 13 +- util/coinset/coins.go | 2 +- util/daghash/hash.go | 6 +- util/gcs/gcs.go | 6 +- util/hdkeychain/extendedkey.go | 5 +- util/hdkeychain/extendedkey_test.go | 9 +- util/network/tor.go | 2 +- util/subnetworkid/subnetworkid.go | 6 +- util/testtools/testtools.go | 19 +- util/wif.go | 2 +- wire/message.go | 3 +- wire/msgversion.go | 3 +- 152 files changed, 11289 insertions(+), 2602 deletions(-) create mode 100644 testutil/testutil.go diff --git a/addrmgr/addrmanager.go b/addrmgr/addrmanager.go index 88167e878..a30a51376 100644 --- a/addrmgr/addrmanager.go +++ b/addrmgr/addrmanager.go @@ -10,7 +10,7 @@ import ( "encoding/base32" "encoding/binary" "encoding/json" - "fmt" + "github.com/pkg/errors" "io" "math/rand" "net" @@ -565,7 +565,7 @@ func (a *AddrManager) deserializePeers(filePath string) error { } r, err := os.Open(filePath) if err != nil { - return fmt.Errorf("%s error opening file: %s", filePath, err) + return errors.Errorf("%s error opening file: %s", filePath, err) } defer r.Close() @@ -573,11 +573,11 @@ func (a *AddrManager) deserializePeers(filePath string) error { dec := json.NewDecoder(r) err = dec.Decode(&sam) if err != nil { - return fmt.Errorf("error reading %s: %s", filePath, err) + return errors.Errorf("error reading %s: %s", filePath, err) } if sam.Version != serialisationVersion { - return fmt.Errorf("unknown version %d in serialized "+ + return errors.Errorf("unknown version %d in serialized "+ "addrmanager", sam.Version) } copy(a.key[:], sam.Key[:]) @@ -586,18 +586,18 @@ func (a *AddrManager) deserializePeers(filePath string) error { ka := new(KnownAddress) ka.na, err = a.DeserializeNetAddress(v.Addr) if err != nil { - return fmt.Errorf("failed to deserialize netaddress "+ + return errors.Errorf("failed to deserialize netaddress "+ "%s: %s", v.Addr, err) } ka.srcAddr, err = a.DeserializeNetAddress(v.Src) if err != nil { - return fmt.Errorf("failed to deserialize netaddress "+ + return errors.Errorf("failed to deserialize netaddress "+ "%s: %s", v.Src, err) } if v.SubnetworkID != "" { ka.subnetworkID, err = subnetworkid.NewFromStr(v.SubnetworkID) if err != nil { - return fmt.Errorf("failed to deserialize subnetwork id "+ + return errors.Errorf("failed to deserialize subnetwork id "+ "%s: %s", v.SubnetworkID, err) } } @@ -616,7 +616,7 @@ func (a *AddrManager) deserializePeers(filePath string) error { for _, val := range subnetworkNewBucket { ka, ok := a.addrIndex[val] if !ok { - return fmt.Errorf("newbucket contains %s but "+ + return errors.Errorf("newbucket contains %s but "+ "none in address list", val) } @@ -633,7 +633,7 @@ func (a *AddrManager) deserializePeers(filePath string) error { for _, val := range newBucket { ka, ok := a.addrIndex[val] if !ok { - return fmt.Errorf("full nodes newbucket contains %s but "+ + return errors.Errorf("full nodes newbucket contains %s but "+ "none in address list", val) } @@ -654,7 +654,7 @@ func (a *AddrManager) deserializePeers(filePath string) error { for _, val := range subnetworkTriedBucket { ka, ok := a.addrIndex[val] if !ok { - return fmt.Errorf("Tried bucket contains %s but "+ + return errors.Errorf("Tried bucket contains %s but "+ "none in address list", val) } @@ -669,7 +669,7 @@ func (a *AddrManager) deserializePeers(filePath string) error { for _, val := range triedBucket { ka, ok := a.addrIndex[val] if !ok { - return fmt.Errorf("Full nodes tried bucket contains %s but "+ + return errors.Errorf("Full nodes tried bucket contains %s but "+ "none in address list", val) } @@ -682,12 +682,12 @@ func (a *AddrManager) deserializePeers(filePath string) error { // Sanity checking. for k, v := range a.addrIndex { if v.refs == 0 && !v.tried { - return fmt.Errorf("address %s after serialisation "+ + return errors.Errorf("address %s after serialisation "+ "with no references", k) } if v.refs > 0 && v.tried { - return fmt.Errorf("address %s after serialisation "+ + return errors.Errorf("address %s after serialisation "+ "which is both new and tried!", k) } } @@ -774,11 +774,11 @@ func (a *AddrManager) AddAddressByIP(addrIP string, subnetworkID *subnetworkid.S // Put it in wire.Netaddress ip := net.ParseIP(addr) if ip == nil { - return fmt.Errorf("invalid ip address %s", addr) + return errors.Errorf("invalid ip address %s", addr) } port, err := strconv.ParseUint(portStr, 10, 0) if err != nil { - return fmt.Errorf("invalid port %s: %s", portStr, err) + return errors.Errorf("invalid port %s: %s", portStr, err) } na := wire.NewNetAddressIPPort(ip, uint16(port), 0) a.AddAddress(na, na, subnetworkID) // XXX use correct src address @@ -917,7 +917,7 @@ func (a *AddrManager) HostToNetAddress(host string, port uint16, services wire.S return nil, err } if len(ips) == 0 { - return nil, fmt.Errorf("no addresses found for %s", host) + return nil, errors.Errorf("no addresses found for %s", host) } ip = ips[0] } @@ -1249,7 +1249,7 @@ func (a *AddrManager) Good(addr *wire.NetAddress, subnetworkID *subnetworkid.Sub // with the given priority. func (a *AddrManager) AddLocalAddress(na *wire.NetAddress, priority AddressPriority) error { if !IsRoutable(na) { - return fmt.Errorf("address %s is not routable", na.IP) + return errors.Errorf("address %s is not routable", na.IP) } a.lamtx.Lock() diff --git a/addrmgr/addrmanager_test.go b/addrmgr/addrmanager_test.go index 484e0e133..f5322dcc3 100644 --- a/addrmgr/addrmanager_test.go +++ b/addrmgr/addrmanager_test.go @@ -5,8 +5,8 @@ package addrmgr import ( - "errors" "fmt" + "github.com/pkg/errors" "net" "reflect" "testing" @@ -113,7 +113,7 @@ func TestStartStop(t *testing.T) { } func TestAddAddressByIP(t *testing.T) { - fmtErr := fmt.Errorf("") + fmtErr := errors.Errorf("") addrErr := &net.AddrError{} var tests = []struct { addrIP string diff --git a/apiserver/config/config.go b/apiserver/config/config.go index 5e88d96df..ef3fd1655 100644 --- a/apiserver/config/config.go +++ b/apiserver/config/config.go @@ -1,11 +1,11 @@ package config import ( - "errors" "github.com/daglabs/btcd/apiserver/logger" "github.com/daglabs/btcd/dagconfig" "github.com/daglabs/btcd/util" "github.com/jessevdk/go-flags" + "github.com/pkg/errors" "path/filepath" ) diff --git a/apiserver/database/database.go b/apiserver/database/database.go index 48e18f811..52d300718 100644 --- a/apiserver/database/database.go +++ b/apiserver/database/database.go @@ -1,8 +1,8 @@ package database import ( - "errors" "fmt" + "github.com/pkg/errors" "os" "github.com/daglabs/btcd/apiserver/config" @@ -40,10 +40,10 @@ func Connect(cfg *config.Config) error { } isCurrent, version, err := isCurrent(migrator, driver) if err != nil { - return fmt.Errorf("Error checking whether the database is current: %s", err) + return errors.Errorf("Error checking whether the database is current: %s", err) } if !isCurrent { - return fmt.Errorf("Database is not current (version %d). Please migrate"+ + return errors.Errorf("Database is not current (version %d). Please migrate"+ " the database by running the server with --migrate flag and then run it again.", version) } @@ -83,7 +83,7 @@ func isCurrent(migrator *migrate.Migrate, driver source.Driver) (bool, uint, err return false, 0, err } if isDirty { - return false, 0, fmt.Errorf("Database is dirty") + return false, 0, errors.Errorf("Database is dirty") } // The database is current if Next returns ErrNotExist @@ -118,7 +118,7 @@ func Migrate(cfg *config.Config) error { } isCurrent, version, err := isCurrent(migrator, driver) if err != nil { - return fmt.Errorf("Error checking whether the database is current: %s", err) + return errors.Errorf("Error checking whether the database is current: %s", err) } if isCurrent { log.Infof("Database is already up-to-date (version %d)", version) @@ -133,7 +133,7 @@ func Migrate(cfg *config.Config) error { return err } if isDirty { - return fmt.Errorf("error migrating database: database is dirty") + return errors.Errorf("error migrating database: database is dirty") } log.Infof("Migrated database to the latest version (version %d)", version) return nil diff --git a/apiserver/jsonrpc/client.go b/apiserver/jsonrpc/client.go index 507a1ba36..fd8326f66 100644 --- a/apiserver/jsonrpc/client.go +++ b/apiserver/jsonrpc/client.go @@ -1,8 +1,7 @@ package jsonrpc import ( - "errors" - "fmt" + "github.com/pkg/errors" "io/ioutil" "time" @@ -61,7 +60,7 @@ func Connect(cfg *config.Config) error { var err error cert, err = ioutil.ReadFile(cfg.RPCCert) if err != nil { - return fmt.Errorf("Error reading certificates file: %s", err) + return errors.Errorf("Error reading certificates file: %s", err) } } @@ -81,7 +80,7 @@ func Connect(cfg *config.Config) error { var err error client, err = newClient(connCfg) if err != nil { - return fmt.Errorf("Error connecting to address %s: %s", cfg.RPCServer, err) + return errors.Errorf("Error connecting to address %s: %s", cfg.RPCServer, err) } return nil @@ -111,14 +110,14 @@ func newClient(connCfg *rpcclient.ConnConfig) (*Client, error) { var err error client.Client, err = rpcclient.New(connCfg, notificationHandlers) if err != nil { - return nil, fmt.Errorf("Error connecting to address %s: %s", connCfg.Host, err) + return nil, errors.Errorf("Error connecting to address %s: %s", connCfg.Host, err) } if err = client.NotifyBlocks(); err != nil { - return nil, fmt.Errorf("Error while registering client %s for block notifications: %s", client.Host(), err) + return nil, errors.Errorf("Error while registering client %s for block notifications: %s", client.Host(), err) } if err = client.NotifyChainChanges(); err != nil { - return nil, fmt.Errorf("Error while registering client %s for chain changes notifications: %s", client.Host(), err) + return nil, errors.Errorf("Error while registering client %s for chain changes notifications: %s", client.Host(), err) } return client, nil diff --git a/apiserver/main.go b/apiserver/main.go index 4ab411483..6a2dba294 100644 --- a/apiserver/main.go +++ b/apiserver/main.go @@ -2,6 +2,7 @@ package main import ( "fmt" + "github.com/pkg/errors" "os" "github.com/daglabs/btcd/apiserver/config" @@ -32,25 +33,25 @@ func main() { if cfg.Migrate { err := database.Migrate(cfg) if err != nil { - panic(fmt.Errorf("Error migrating database: %s", err)) + panic(errors.Errorf("Error migrating database: %s", err)) } return } err = database.Connect(cfg) if err != nil { - panic(fmt.Errorf("Error connecting to database: %s", err)) + panic(errors.Errorf("Error connecting to database: %s", err)) } defer func() { err := database.Close() if err != nil { - panic(fmt.Errorf("Error closing the database: %s", err)) + panic(errors.Errorf("Error closing the database: %s", err)) } }() err = jsonrpc.Connect(cfg) if err != nil { - panic(fmt.Errorf("Error connecting to servers: %s", err)) + panic(errors.Errorf("Error connecting to servers: %s", err)) } defer jsonrpc.Close() diff --git a/apiserver/migrations/000004_create_subnetworks_table.up.sql b/apiserver/migrations/000004_create_subnetworks_table.up.sql index 127482e00..f5da9e8d0 100644 --- a/apiserver/migrations/000004_create_subnetworks_table.up.sql +++ b/apiserver/migrations/000004_create_subnetworks_table.up.sql @@ -1,7 +1,7 @@ CREATE TABLE `subnetworks` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, - `subnetwork_id` CHAR(64) NOT NULL, + `subnetwork_id` CHAR(64) NOT NULL, `gas_limit` BIGINT UNSIGNED NULL, PRIMARY KEY (`id`), UNIQUE INDEX `idx_subnetworks_subnetwork_id` (`subnetwork_id`) diff --git a/apiserver/sync.go b/apiserver/sync.go index e3c64769b..824c89f3a 100644 --- a/apiserver/sync.go +++ b/apiserver/sync.go @@ -3,7 +3,6 @@ package main import ( "bytes" "encoding/hex" - "fmt" "github.com/daglabs/btcd/apiserver/config" "github.com/daglabs/btcd/apiserver/database" "github.com/daglabs/btcd/apiserver/dbmodels" @@ -14,6 +13,7 @@ import ( "github.com/daglabs/btcd/util/daghash" "github.com/daglabs/btcd/util/subnetworkid" "github.com/jinzhu/gorm" + "github.com/pkg/errors" "strconv" "time" ) @@ -346,7 +346,7 @@ func insertBlockParents(dbTx *gorm.DB, rawBlock btcjson.GetBlockVerboseResult, d return httpserverutils.NewErrorFromDBErrors("failed to find blocks: ", dbErrors) } if len(dbParents) != len(rawBlock.ParentHashes) { - return fmt.Errorf("some parents are missing for block: %s", rawBlock.Hash) + return errors.Errorf("some parents are missing for block: %s", rawBlock.Hash) } for _, dbParent := range dbParents { @@ -501,7 +501,7 @@ func insertTransactionInput(dbTx *gorm.DB, dbTransaction *dbmodels.Transaction, return httpserverutils.NewErrorFromDBErrors("failed to find previous transactionOutput: ", dbErrors) } if httpserverutils.IsDBRecordNotFoundError(dbErrors) { - return fmt.Errorf("missing output transaction output for txID: %s and index: %d", input.TxID, input.Vout) + return errors.Errorf("missing output transaction output for txID: %s and index: %d", input.TxID, input.Vout) } var dbTransactionInputCount int @@ -656,10 +656,10 @@ func updateRemovedChainHashes(dbTx *gorm.DB, removedHash string) error { return httpserverutils.NewErrorFromDBErrors("failed to find block: ", dbErrors) } if httpserverutils.IsDBRecordNotFoundError(dbErrors) { - return fmt.Errorf("missing block for hash: %s", removedHash) + return errors.Errorf("missing block for hash: %s", removedHash) } if !dbBlock.IsChainBlock { - return fmt.Errorf("block erroneously marked as not a chain block: %s", removedHash) + return errors.Errorf("block erroneously marked as not a chain block: %s", removedHash) } var dbTransactions []dbmodels.Transaction @@ -675,7 +675,7 @@ func updateRemovedChainHashes(dbTx *gorm.DB, removedHash string) error { for _, dbTransactionInput := range dbTransaction.TransactionInputs { dbPreviousTransactionOutput := dbTransactionInput.PreviousTransactionOutput if !dbPreviousTransactionOutput.IsSpent { - return fmt.Errorf("cannot de-spend an unspent transaction output: %s index: %d", + return errors.Errorf("cannot de-spend an unspent transaction output: %s index: %d", dbTransaction.TransactionID, dbTransactionInput.Index) } @@ -731,10 +731,10 @@ func updateAddedChainBlocks(dbTx *gorm.DB, addedBlock *btcjson.ChainBlock) error return httpserverutils.NewErrorFromDBErrors("failed to find block: ", dbErrors) } if httpserverutils.IsDBRecordNotFoundError(dbErrors) { - return fmt.Errorf("missing block for hash: %s", addedBlock.Hash) + return errors.Errorf("missing block for hash: %s", addedBlock.Hash) } if dbAddedBlock.IsChainBlock { - return fmt.Errorf("block erroneously marked as a chain block: %s", addedBlock.Hash) + return errors.Errorf("block erroneously marked as a chain block: %s", addedBlock.Hash) } for _, acceptedBlock := range addedBlock.AcceptedBlocks { @@ -747,10 +747,10 @@ func updateAddedChainBlocks(dbTx *gorm.DB, addedBlock *btcjson.ChainBlock) error return httpserverutils.NewErrorFromDBErrors("failed to find block: ", dbErrors) } if httpserverutils.IsDBRecordNotFoundError(dbErrors) { - return fmt.Errorf("missing block for hash: %s", acceptedBlock.Hash) + return errors.Errorf("missing block for hash: %s", acceptedBlock.Hash) } if dbAccepedBlock.AcceptingBlockID != nil && *dbAccepedBlock.AcceptingBlockID == dbAddedBlock.ID { - return fmt.Errorf("block %s erroneously marked as accepted by %s", acceptedBlock.Hash, addedBlock.Hash) + return errors.Errorf("block %s erroneously marked as accepted by %s", acceptedBlock.Hash, addedBlock.Hash) } transactionIDsIn := make([]string, len(acceptedBlock.AcceptedTxIDs)) @@ -767,14 +767,14 @@ func updateAddedChainBlocks(dbTx *gorm.DB, addedBlock *btcjson.ChainBlock) error return httpserverutils.NewErrorFromDBErrors("failed to find transactions: ", dbErrors) } if len(dbAcceptedTransactions) != len(acceptedBlock.AcceptedTxIDs) { - return fmt.Errorf("some transaction are missing for block: %s", acceptedBlock.Hash) + return errors.Errorf("some transaction are missing for block: %s", acceptedBlock.Hash) } for _, dbAcceptedTransaction := range dbAcceptedTransactions { for _, dbTransactionInput := range dbAcceptedTransaction.TransactionInputs { dbPreviousTransactionOutput := dbTransactionInput.PreviousTransactionOutput if dbPreviousTransactionOutput.IsSpent { - return fmt.Errorf("cannot spend an already spent transaction output: %s index: %d", + return errors.Errorf("cannot spend an already spent transaction output: %s index: %d", dbAcceptedTransaction.TransactionID, dbTransactionInput.Index) } diff --git a/blockdag/accept_test.go b/blockdag/accept_test.go index 271b2cd36..0d41f7ab8 100644 --- a/blockdag/accept_test.go +++ b/blockdag/accept_test.go @@ -1,7 +1,7 @@ package blockdag import ( - "errors" + "github.com/pkg/errors" "path/filepath" "strings" "testing" diff --git a/blockdag/blockidhash.go b/blockdag/blockidhash.go index 66483adca..77349ed5a 100644 --- a/blockdag/blockidhash.go +++ b/blockdag/blockidhash.go @@ -1,9 +1,9 @@ package blockdag import ( - "fmt" "github.com/daglabs/btcd/database" "github.com/daglabs/btcd/util/daghash" + "github.com/pkg/errors" ) var ( @@ -57,7 +57,7 @@ func DBFetchBlockIDByHash(dbTx database.Tx, hash *daghash.Hash) (uint64, error) hashIndex := dbTx.Metadata().Bucket(idByHashIndexBucketName) serializedID := hashIndex.Get(hash[:]) if serializedID == nil { - return 0, fmt.Errorf("no entry in the block ID index for block with hash %s", hash) + return 0, errors.Errorf("no entry in the block ID index for block with hash %s", hash) } return DeserializeBlockID(serializedID), nil @@ -69,7 +69,7 @@ func DBFetchBlockHashBySerializedID(dbTx database.Tx, serializedID []byte) (*dag idIndex := dbTx.Metadata().Bucket(hashByIDIndexBucketName) hashBytes := idIndex.Get(serializedID) if hashBytes == nil { - return nil, fmt.Errorf("no entry in the block ID index for block with id %d", byteOrder.Uint64(serializedID)) + return nil, errors.Errorf("no entry in the block ID index for block with id %d", byteOrder.Uint64(serializedID)) } var hash daghash.Hash diff --git a/blockdag/blockindex_test.go b/blockdag/blockindex_test.go index 2cd8c6069..e052d70a5 100644 --- a/blockdag/blockindex_test.go +++ b/blockdag/blockindex_test.go @@ -1,7 +1,7 @@ package blockdag import ( - "errors" + "github.com/pkg/errors" "strings" "testing" "time" diff --git a/blockdag/blockwindow.go b/blockdag/blockwindow.go index a0753199a..d6150a2d8 100644 --- a/blockdag/blockwindow.go +++ b/blockdag/blockwindow.go @@ -1,8 +1,8 @@ package blockdag import ( - "errors" "github.com/daglabs/btcd/util" + "github.com/pkg/errors" "math" "math/big" "sort" diff --git a/blockdag/blockwindow_test.go b/blockdag/blockwindow_test.go index 3eba701df..b48085a5f 100644 --- a/blockdag/blockwindow_test.go +++ b/blockdag/blockwindow_test.go @@ -1,9 +1,9 @@ package blockdag import ( - "fmt" "github.com/daglabs/btcd/dagconfig" "github.com/daglabs/btcd/util/daghash" + "github.com/pkg/errors" "reflect" "testing" "time" @@ -132,7 +132,7 @@ func checkWindowIDs(window []*blockNode, expectedIDs []string, idByBlockMap map[ ids[i] = idByBlockMap[node] } if !reflect.DeepEqual(ids, expectedIDs) { - return fmt.Errorf("window expected to have blocks %s but got %s", expectedIDs, ids) + return errors.Errorf("window expected to have blocks %s but got %s", expectedIDs, ids) } return nil } diff --git a/blockdag/checkpoints.go b/blockdag/checkpoints.go index ef9132a33..e00fd968a 100644 --- a/blockdag/checkpoints.go +++ b/blockdag/checkpoints.go @@ -10,6 +10,7 @@ import ( "github.com/daglabs/btcd/txscript" "github.com/daglabs/btcd/util" "github.com/daglabs/btcd/util/daghash" + "github.com/pkg/errors" ) // CheckpointConfirmations is the number of blocks before the end of the current @@ -218,7 +219,7 @@ func (dag *BlockDAG) IsCheckpointCandidate(block *util.Block) (bool, error) { // in the DAG match. This should always be the case unless the // caller provided an invalid block. if node.chainHeight != block.ChainHeight() { - return false, fmt.Errorf("passed block chain height of %d does not "+ + return false, errors.Errorf("passed block chain height of %d does not "+ "match the its height in the DAG: %d", block.ChainHeight(), node.chainHeight) } diff --git a/blockdag/coinbase.go b/blockdag/coinbase.go index d0a51309e..26f4dd094 100644 --- a/blockdag/coinbase.go +++ b/blockdag/coinbase.go @@ -4,9 +4,8 @@ import ( "bufio" "bytes" "encoding/binary" - "errors" - "fmt" "github.com/daglabs/btcd/util/subnetworkid" + "github.com/pkg/errors" "io" "math" @@ -85,7 +84,7 @@ func (node *blockNode) getBluesFeeData(dag *BlockDAG) (map[daghash.Hash]compactF for _, blueBlock := range node.blues { feeData, err := dbFetchFeeData(dbTx, blueBlock.hash) if err != nil { - return fmt.Errorf("Error getting fee data for block %s: %s", blueBlock.hash, err) + return errors.Errorf("Error getting fee data for block %s: %s", blueBlock.hash, err) } bluesFeeData[*blueBlock.hash] = feeData @@ -103,7 +102,7 @@ func (node *blockNode) getBluesFeeData(dag *BlockDAG) (map[daghash.Hash]compactF func dbStoreFeeData(dbTx database.Tx, blockHash *daghash.Hash, feeData compactFeeData) error { feeBucket, err := dbTx.Metadata().CreateBucketIfNotExists(feeBucket) if err != nil { - return fmt.Errorf("Error creating or retrieving fee bucket: %s", err) + return errors.Errorf("Error creating or retrieving fee bucket: %s", err) } return feeBucket.Put(blockHash.CloneBytes(), feeData) @@ -117,7 +116,7 @@ func dbFetchFeeData(dbTx database.Tx, blockHash *daghash.Hash) (compactFeeData, feeData := feeBucket.Get(blockHash.CloneBytes()) if feeData == nil { - return nil, fmt.Errorf("No fee data found for block %s", blockHash) + return nil, errors.Errorf("No fee data found for block %s", blockHash) } return feeData, nil @@ -223,15 +222,15 @@ func coinbaseInputAndOutputForBlueBlock(dag *BlockDAG, blueBlock *blockNode, blockTxsAcceptanceData, ok := txsAcceptanceData[*blueBlock.hash] if !ok { - return nil, nil, fmt.Errorf("No txsAcceptanceData for block %s", blueBlock.hash) + return nil, nil, errors.Errorf("No txsAcceptanceData for block %s", blueBlock.hash) } blockFeeData, ok := feeData[*blueBlock.hash] if !ok { - return nil, nil, fmt.Errorf("No feeData for block %s", blueBlock.hash) + return nil, nil, errors.Errorf("No feeData for block %s", blueBlock.hash) } if len(blockTxsAcceptanceData) != blockFeeData.Len() { - return nil, nil, fmt.Errorf( + return nil, nil, errors.Errorf( "length of accepted transaction data(%d) and fee data(%d) is not equal for block %s", len(blockTxsAcceptanceData), blockFeeData.Len(), blueBlock.hash) } @@ -251,7 +250,7 @@ func coinbaseInputAndOutputForBlueBlock(dag *BlockDAG, blueBlock *blockNode, for _, txAcceptanceData := range blockTxsAcceptanceData { fee, err := feeIterator.next() if err != nil { - return nil, nil, fmt.Errorf("Error retrieving fee from compactFeeData iterator: %s", err) + return nil, nil, errors.Errorf("Error retrieving fee from compactFeeData iterator: %s", err) } if txAcceptanceData.IsAccepted { totalFees += fee diff --git a/blockdag/common_test.go b/blockdag/common_test.go index d353173f9..9ad96a461 100644 --- a/blockdag/common_test.go +++ b/blockdag/common_test.go @@ -7,7 +7,7 @@ package blockdag import ( "compress/bzip2" "encoding/binary" - "fmt" + "github.com/pkg/errors" "io" "os" "path/filepath" @@ -185,7 +185,7 @@ func checkRuleError(gotErr, wantErr error) error { // Ensure the error code is of the expected type and the error // code matches the value specified in the test instance. if reflect.TypeOf(gotErr) != reflect.TypeOf(wantErr) { - return fmt.Errorf("wrong error - got %T (%[1]v), want %T", + return errors.Errorf("wrong error - got %T (%[1]v), want %T", gotErr, wantErr) } if gotErr == nil { @@ -195,7 +195,7 @@ func checkRuleError(gotErr, wantErr error) error { // Ensure the want error type is a script error. werr, ok := wantErr.(RuleError) if !ok { - return fmt.Errorf("unexpected test error type %T", wantErr) + return errors.Errorf("unexpected test error type %T", wantErr) } // Ensure the error codes match. It's safe to use a raw type assert @@ -203,7 +203,7 @@ func checkRuleError(gotErr, wantErr error) error { // the want error is a script error. gotErrorCode := gotErr.(RuleError).ErrorCode if gotErrorCode != werr.ErrorCode { - return fmt.Errorf("mismatched error code - got %v (%v), want %v", + return errors.Errorf("mismatched error code - got %v (%v), want %v", gotErrorCode, gotErr, werr.ErrorCode) } diff --git a/blockdag/dag.go b/blockdag/dag.go index 00bee8530..c427149ac 100644 --- a/blockdag/dag.go +++ b/blockdag/dag.go @@ -5,8 +5,8 @@ package blockdag import ( - "errors" "fmt" + "github.com/pkg/errors" "math" "sort" "sync" @@ -677,7 +677,7 @@ func (dag *BlockDAG) validateGasLimit(block *util.Block) error { currentGasUsage = 0 currentSubnetworkGasLimit, err = dag.SubnetworkStore.GasLimit(currentSubnetworkID) if err != nil { - return fmt.Errorf("Error getting gas limit for subnetworkID '%s': %s", currentSubnetworkID, err) + return errors.Errorf("Error getting gas limit for subnetworkID '%s': %s", currentSubnetworkID, err) } } @@ -848,7 +848,7 @@ func (dag *BlockDAG) TxsAcceptedByVirtual() (MultiBlockTxsAcceptanceData, error) func (dag *BlockDAG) TxsAcceptedByBlockHash(blockHash *daghash.Hash) (MultiBlockTxsAcceptanceData, error) { node := dag.index.LookupNode(blockHash) if node == nil { - return nil, fmt.Errorf("Couldn't find block %s", blockHash) + return nil, errors.Errorf("Couldn't find block %s", blockHash) } _, txsAcceptanceData, err := dag.pastUTXO(node) return txsAcceptanceData, err @@ -860,7 +860,7 @@ func (dag *BlockDAG) TxsAcceptedByBlockHash(blockHash *daghash.Hash) (MultiBlock func (dag *BlockDAG) BlockPastUTXO(blockHash *daghash.Hash) (UTXOSet, error) { node := dag.index.LookupNode(blockHash) if node == nil { - return nil, fmt.Errorf("Couldn't find block %s", blockHash) + return nil, errors.Errorf("Couldn't find block %s", blockHash) } pastUTXO, _, err := dag.pastUTXO(node) return pastUTXO, err @@ -882,7 +882,7 @@ func (dag *BlockDAG) applyDAGChanges(node *blockNode, block *util.Block, newBloc chainUpdates *chainUpdates, err error) { if err = node.updateParents(dag, newBlockUTXO); err != nil { - return nil, nil, nil, fmt.Errorf("failed updating parents of %s: %s", node, err) + return nil, nil, nil, errors.Errorf("failed updating parents of %s: %s", node, err) } // Update the virtual block's parents (the DAG tips) to include the new block. @@ -891,7 +891,7 @@ func (dag *BlockDAG) applyDAGChanges(node *blockNode, block *util.Block, newBloc // Build a UTXO set for the new virtual block newVirtualPastUTXO, virtualTxsAcceptanceData, err := dag.pastUTXO(&dag.virtual.blockNode) if err != nil { - return nil, nil, nil, fmt.Errorf("could not restore past UTXO for virtual %s: %s", dag.virtual, err) + return nil, nil, nil, errors.Errorf("could not restore past UTXO for virtual %s: %s", dag.virtual, err) } // Apply the new virtual's blue score to all the unaccepted UTXOs @@ -907,7 +907,7 @@ func (dag *BlockDAG) applyDAGChanges(node *blockNode, block *util.Block, newBloc // Apply new utxoDiffs to all the tips err = updateTipsUTXO(dag, newVirtualUTXO) if err != nil { - return nil, nil, nil, fmt.Errorf("failed updating the tips' UTXO: %s", err) + return nil, nil, nil, errors.Errorf("failed updating the tips' UTXO: %s", err) } // It is now safe to meld the UTXO set to base. @@ -915,7 +915,7 @@ func (dag *BlockDAG) applyDAGChanges(node *blockNode, block *util.Block, newBloc virtualUTXODiff = diffSet.UTXODiff err = dag.meldVirtualUTXO(diffSet) if err != nil { - return nil, nil, nil, fmt.Errorf("failed melding the virtual UTXO: %s", err) + return nil, nil, nil, errors.Errorf("failed melding the virtual UTXO: %s", err) } dag.index.SetStatusFlags(node, statusValid) @@ -1322,7 +1322,7 @@ func (dag *BlockDAG) GetUTXOEntry(outpoint wire.Outpoint) (*UTXOEntry, bool) { func (dag *BlockDAG) BlueScoreByBlockHash(hash *daghash.Hash) (uint64, error) { node := dag.index.LookupNode(hash) if node == nil { - return 0, fmt.Errorf("block %s is unknown", hash) + return 0, errors.Errorf("block %s is unknown", hash) } return node.blueScore, nil @@ -1349,7 +1349,7 @@ func (dag *BlockDAG) BlockConfirmationsByHashNoLock(hash *daghash.Hash) (uint64, node := dag.index.LookupNode(hash) if node == nil { - return 0, fmt.Errorf("block %s is unknown", hash) + return 0, errors.Errorf("block %s is unknown", hash) } return dag.blockConfirmations(node) @@ -1400,7 +1400,7 @@ func (dag *BlockDAG) acceptingBlock(node *blockNode) (*blockNode, error) { return nil, errors.New("cannot get acceptingBlock for virtual") } // A childless block that isn't a tip or the virtual can never happen. Panicking - panic(fmt.Errorf("got childless block %s that is neither a tip nor the virtual", node.hash)) + panic(errors.Errorf("got childless block %s that is neither a tip nor the virtual", node.hash)) } // If the node is a chain-block itself, the accepting block is its chain-child @@ -1410,7 +1410,7 @@ func (dag *BlockDAG) acceptingBlock(node *blockNode) (*blockNode, error) { return child, nil } } - return nil, fmt.Errorf("chain block %s does not have a chain child", node.hash) + return nil, errors.Errorf("chain block %s does not have a chain child", node.hash) } // Find the only chain block that may contain the node in its blues @@ -1461,7 +1461,7 @@ func (dag *BlockDAG) SelectedParentChain(startHash *daghash.Hash) ([]*daghash.Ha startHash = dag.genesis.hash } if !dag.BlockExists(startHash) { - return nil, nil, fmt.Errorf("startHash %s does not exist in the DAG", startHash) + return nil, nil, errors.Errorf("startHash %s does not exist in the DAG", startHash) } // If startHash is not in the selected parent chain, go down its selected parent chain @@ -1531,7 +1531,7 @@ func (dag *BlockDAG) CurrentBits() uint32 { func (dag *BlockDAG) HeaderByHash(hash *daghash.Hash) (*wire.BlockHeader, error) { node := dag.index.LookupNode(hash) if node == nil { - err := fmt.Errorf("block %s is not known", hash) + err := errors.Errorf("block %s is not known", hash) return &wire.BlockHeader{}, err } @@ -1578,24 +1578,24 @@ func (dag *BlockDAG) HeightToHashRange(startHeight uint64, endNode := dag.index.LookupNode(endHash) if endNode == nil { - return nil, fmt.Errorf("no known block header with hash %s", endHash) + return nil, errors.Errorf("no known block header with hash %s", endHash) } if !dag.index.NodeStatus(endNode).KnownValid() { - return nil, fmt.Errorf("block %s is not yet validated", endHash) + return nil, errors.Errorf("block %s is not yet validated", endHash) } endHeight := endNode.height if startHeight < 0 { - return nil, fmt.Errorf("start height (%d) is below 0", startHeight) + return nil, errors.Errorf("start height (%d) is below 0", startHeight) } if startHeight > endHeight { - return nil, fmt.Errorf("start height (%d) is past end height (%d)", + return nil, errors.Errorf("start height (%d) is past end height (%d)", startHeight, endHeight) } resultsLength := int(endHeight - startHeight + 1) if resultsLength > maxResults { - return nil, fmt.Errorf("number of results (%d) would exceed max (%d)", + return nil, errors.Errorf("number of results (%d) would exceed max (%d)", resultsLength, maxResults) } @@ -1618,10 +1618,10 @@ func (dag *BlockDAG) IntervalBlockHashes(endHash *daghash.Hash, interval uint64, endNode := dag.index.LookupNode(endHash) if endNode == nil { - return nil, fmt.Errorf("no known block header with hash %s", endHash) + return nil, errors.Errorf("no known block header with hash %s", endHash) } if !dag.index.NodeStatus(endNode).KnownValid() { - return nil, fmt.Errorf("block %s is not yet validated", endHash) + return nil, errors.Errorf("block %s is not yet validated", endHash) } endHeight := endNode.height @@ -1728,7 +1728,7 @@ func (dag *BlockDAG) GetTopHeaders(startHash *daghash.Hash) ([]*wire.BlockHeader if startHash != nil { startNode = dag.index.LookupNode(startHash) if startNode == nil { - return nil, fmt.Errorf("Couldn't find the start hash %s in the dag", startHash) + return nil, errors.Errorf("Couldn't find the start hash %s in the dag", startHash) } } headers := make([]*wire.BlockHeader, 0, startNode.blueScore) diff --git a/blockdag/dag_test.go b/blockdag/dag_test.go index 9e8983785..bc9a9ea7b 100644 --- a/blockdag/dag_test.go +++ b/blockdag/dag_test.go @@ -5,8 +5,8 @@ package blockdag import ( - "errors" "fmt" + "github.com/pkg/errors" "os" "path/filepath" "reflect" diff --git a/blockdag/dagio.go b/blockdag/dagio.go index d6e49419b..a7c2396fc 100644 --- a/blockdag/dagio.go +++ b/blockdag/dagio.go @@ -9,6 +9,7 @@ import ( "encoding/binary" "encoding/json" "fmt" + "github.com/pkg/errors" "io" "sync" @@ -418,7 +419,7 @@ func (dag *BlockDAG) initDAGState() error { localSubnetworkID.SetBytes(localSubnetworkIDBytes) } if !localSubnetworkID.IsEqual(dag.subnetworkID) { - return fmt.Errorf("Cannot start btcd with subnetwork ID %s because"+ + return errors.Errorf("Cannot start btcd with subnetwork ID %s because"+ " its database is already built with subnetwork ID %s. If you"+ " want to switch to a new database, please reset the"+ " database by starting btcd with --reset-db flag", dag.subnetworkID, localSubnetworkID) @@ -821,7 +822,7 @@ func (dag *BlockDAG) BlockHashesFrom(startHash *daghash.Hash, limit int) ([]*dag blockHashes = append(blockHashes, dag.genesis.hash) } if !dag.BlockExists(startHash) { - return nil, fmt.Errorf("block %s not found", startHash) + return nil, errors.Errorf("block %s not found", startHash) } blueScore, err := dag.BlueScoreByBlockHash(startHash) if err != nil { diff --git a/blockdag/dagio_test.go b/blockdag/dagio_test.go index 13cfd9073..c25aca8eb 100644 --- a/blockdag/dagio_test.go +++ b/blockdag/dagio_test.go @@ -6,7 +6,7 @@ package blockdag import ( "bytes" - "errors" + "github.com/pkg/errors" "reflect" "testing" diff --git a/blockdag/external_dag_test.go b/blockdag/external_dag_test.go index 962e2bfe2..94ca4c21d 100644 --- a/blockdag/external_dag_test.go +++ b/blockdag/external_dag_test.go @@ -2,6 +2,7 @@ package blockdag_test import ( "fmt" + "github.com/pkg/errors" "math" "testing" @@ -58,11 +59,11 @@ func TestFinality(t *testing.T) { return nil, err } if delay != 0 { - return nil, fmt.Errorf("ProcessBlock: block " + + return nil, errors.Errorf("ProcessBlock: block " + "is too far in the future") } if isOrphan { - return nil, fmt.Errorf("ProcessBlock: unexpected returned orphan block") + return nil, errors.Errorf("ProcessBlock: unexpected returned orphan block") } return block, nil diff --git a/blockdag/fullblocks_test.go b/blockdag/fullblocks_test.go index 0cf9da2a7..6490d12af 100644 --- a/blockdag/fullblocks_test.go +++ b/blockdag/fullblocks_test.go @@ -7,7 +7,7 @@ package blockdag_test import ( "bytes" - "fmt" + "github.com/pkg/errors" "os" "path/filepath" "testing" @@ -62,7 +62,7 @@ func isSupportedDbType(dbType string) bool { // a teardown function the caller should invoke when done testing to clean up. func DAGSetup(dbName string, params *dagconfig.Params) (*blockdag.BlockDAG, func(), error) { if !isSupportedDbType(testDbType) { - return nil, nil, fmt.Errorf("unsupported db type %v", testDbType) + return nil, nil, errors.Errorf("unsupported db type %v", testDbType) } // Handle memory database specially since it doesn't need the disk @@ -72,7 +72,7 @@ func DAGSetup(dbName string, params *dagconfig.Params) (*blockdag.BlockDAG, func if testDbType == "memdb" { ndb, err := database.Create(testDbType) if err != nil { - return nil, nil, fmt.Errorf("error creating db: %v", err) + return nil, nil, errors.Errorf("error creating db: %v", err) } db = ndb @@ -85,7 +85,7 @@ func DAGSetup(dbName string, params *dagconfig.Params) (*blockdag.BlockDAG, func // Create the root directory for test databases. if !fileExists(testDbRoot) { if err := os.MkdirAll(testDbRoot, 0700); err != nil { - err := fmt.Errorf("unable to create test db "+ + err := errors.Errorf("unable to create test db "+ "root: %v", err) return nil, nil, err } @@ -96,7 +96,7 @@ func DAGSetup(dbName string, params *dagconfig.Params) (*blockdag.BlockDAG, func _ = os.RemoveAll(dbPath) ndb, err := database.Create(testDbType, dbPath, blockDataNet) if err != nil { - return nil, nil, fmt.Errorf("error creating db: %v", err) + return nil, nil, errors.Errorf("error creating db: %v", err) } db = ndb @@ -123,7 +123,7 @@ func DAGSetup(dbName string, params *dagconfig.Params) (*blockdag.BlockDAG, func }) if err != nil { teardown() - err := fmt.Errorf("failed to create chain instance: %v", err) + err := errors.Errorf("failed to create chain instance: %v", err) return nil, nil, err } return chain, teardown, nil diff --git a/blockdag/fullblocktests/generate.go b/blockdag/fullblocktests/generate.go index 570db4e45..794994762 100644 --- a/blockdag/fullblocktests/generate.go +++ b/blockdag/fullblocktests/generate.go @@ -12,8 +12,8 @@ package fullblocktests import ( "bytes" "encoding/binary" - "errors" "fmt" + "github.com/pkg/errors" "math" "runtime" "time" diff --git a/blockdag/indexers/acceptanceindex.go b/blockdag/indexers/acceptanceindex.go index 15a892d81..b4c8a1460 100644 --- a/blockdag/indexers/acceptanceindex.go +++ b/blockdag/indexers/acceptanceindex.go @@ -3,12 +3,12 @@ package indexers import ( "bytes" "encoding/gob" - "fmt" "github.com/daglabs/btcd/blockdag" "github.com/daglabs/btcd/database" "github.com/daglabs/btcd/util" "github.com/daglabs/btcd/util/daghash" "github.com/daglabs/btcd/wire" + "github.com/pkg/errors" ) const ( @@ -156,7 +156,7 @@ func dbFetchTxsAcceptanceDataByID(dbTx database.Tx, bucket := dbTx.Metadata().Bucket(acceptanceIndexKey) serializedTxsAcceptanceData := bucket.Get(serializedBlockID) if serializedTxsAcceptanceData == nil { - return nil, fmt.Errorf("no entry in the accpetance index for block id %d", blockID) + return nil, errors.Errorf("no entry in the accpetance index for block id %d", blockID) } return deserializeMultiBlockTxsAcceptanceData(serializedTxsAcceptanceData) diff --git a/blockdag/indexers/acceptanceindex_test.go b/blockdag/indexers/acceptanceindex_test.go index fedf82c5c..5ebbeca5d 100644 --- a/blockdag/indexers/acceptanceindex_test.go +++ b/blockdag/indexers/acceptanceindex_test.go @@ -1,13 +1,13 @@ package indexers import ( - "fmt" "github.com/daglabs/btcd/blockdag" "github.com/daglabs/btcd/dagconfig" "github.com/daglabs/btcd/database" "github.com/daglabs/btcd/util" "github.com/daglabs/btcd/util/daghash" "github.com/daglabs/btcd/wire" + "github.com/pkg/errors" "io" "io/ioutil" "os" @@ -259,7 +259,7 @@ func copyDirectory(scrDir, dest string) error { stat, ok := fileInfo.Sys().(*syscall.Stat_t) if !ok { - return fmt.Errorf("failed to get raw syscall.Stat_t data for '%s'", sourcePath) + return errors.Errorf("failed to get raw syscall.Stat_t data for '%s'", sourcePath) } switch fileInfo.Mode() & os.ModeType { @@ -323,7 +323,7 @@ func createIfNotExists(dir string, perm os.FileMode) error { } if err := os.MkdirAll(dir, perm); err != nil { - return fmt.Errorf("failed to create directory: '%s', error: '%s'", dir, err.Error()) + return errors.Errorf("failed to create directory: '%s', error: '%s'", dir, err.Error()) } return nil diff --git a/blockdag/indexers/addrindex.go b/blockdag/indexers/addrindex.go index 8ad2d0c76..b7f88230e 100644 --- a/blockdag/indexers/addrindex.go +++ b/blockdag/indexers/addrindex.go @@ -5,8 +5,8 @@ package indexers import ( - "errors" "fmt" + "github.com/pkg/errors" "sync" "github.com/daglabs/btcd/blockdag" @@ -898,7 +898,7 @@ func (idx *AddrIndex) UnconfirmedTxnsForAddress(addr util.Address) []*util.Tx { // // This is part of the Indexer interface. func (idx *AddrIndex) Recover(dbTx database.Tx, currentBlockID, lastKnownBlockID uint64) error { - return fmt.Errorf("addrindex was turned off for %d blocks and can't be recovered."+ + return errors.Errorf("addrindex was turned off for %d blocks and can't be recovered."+ " To resume working drop the addrindex with --dropaddrindex", lastKnownBlockID-currentBlockID) } diff --git a/blockdag/indexers/addrindex_test.go b/blockdag/indexers/addrindex_test.go index 3f4b8f91b..acc7053bb 100644 --- a/blockdag/indexers/addrindex_test.go +++ b/blockdag/indexers/addrindex_test.go @@ -7,6 +7,7 @@ package indexers import ( "bytes" "fmt" + "github.com/pkg/errors" "testing" "github.com/daglabs/btcd/wire" @@ -127,17 +128,17 @@ func (b *addrIndexBucket) sanityCheck(addrKey [addrKeySize]byte, expectedTotal i if (highestLevel != 0 && numEntries == 0) || numEntries > maxEntries { - return fmt.Errorf("level %d has %d entries", + return errors.Errorf("level %d has %d entries", level, numEntries) } } else if numEntries != maxEntries && numEntries != maxEntries/2 { - return fmt.Errorf("level %d has %d entries", level, + return errors.Errorf("level %d has %d entries", level, numEntries) } maxEntries *= 2 } if totalEntries != expectedTotal { - return fmt.Errorf("expected %d entries - got %d", expectedTotal, + return errors.Errorf("expected %d entries - got %d", expectedTotal, totalEntries) } @@ -151,7 +152,7 @@ func (b *addrIndexBucket) sanityCheck(addrKey [addrKeySize]byte, expectedTotal i start := i * txEntrySize num := byteOrder.Uint32(data[start:]) if num != expectedNum { - return fmt.Errorf("level %d offset %d does "+ + return errors.Errorf("level %d offset %d does "+ "not contain the expected number of "+ "%d - got %d", level, i, num, expectedNum) diff --git a/blockdag/indexers/cfindex.go b/blockdag/indexers/cfindex.go index 181f82110..0aca6f478 100644 --- a/blockdag/indexers/cfindex.go +++ b/blockdag/indexers/cfindex.go @@ -5,8 +5,7 @@ package indexers import ( - "errors" - "fmt" + "github.com/pkg/errors" "github.com/daglabs/btcd/blockdag" "github.com/daglabs/btcd/dagconfig" @@ -346,7 +345,7 @@ func (idx *CfIndex) FilterHashesByBlockHashes(blockHashes []*daghash.Hash, // // This is part of the Indexer interface. func (idx *CfIndex) Recover(dbTx database.Tx, currentBlockID, lastKnownBlockID uint64) error { - return fmt.Errorf("cfindex was turned off for %d blocks and can't be recovered."+ + return errors.Errorf("cfindex was turned off for %d blocks and can't be recovered."+ " To resume working drop the cfindex with --dropcfindex", lastKnownBlockID-currentBlockID) } diff --git a/blockdag/indexers/common.go b/blockdag/indexers/common.go index b7ef0d11f..47533d0db 100644 --- a/blockdag/indexers/common.go +++ b/blockdag/indexers/common.go @@ -9,11 +9,10 @@ package indexers import ( "encoding/binary" - "errors" - "github.com/daglabs/btcd/blockdag" "github.com/daglabs/btcd/database" "github.com/daglabs/btcd/util" + "github.com/pkg/errors" ) var ( diff --git a/blockdag/indexers/txindex.go b/blockdag/indexers/txindex.go index 2b8d0c6df..b4fb473c7 100644 --- a/blockdag/indexers/txindex.go +++ b/blockdag/indexers/txindex.go @@ -11,6 +11,7 @@ import ( "github.com/daglabs/btcd/util" "github.com/daglabs/btcd/util/daghash" "github.com/daglabs/btcd/wire" + "github.com/pkg/errors" ) const ( @@ -429,6 +430,6 @@ func DropTxIndex(db database.DB, interrupt <-chan struct{}) error { // // This is part of the Indexer interface. func (idx *TxIndex) Recover(dbTx database.Tx, currentBlockID, lastKnownBlockID uint64) error { - return fmt.Errorf("txindex was turned off for %d blocks and can't be recovered."+ + return errors.Errorf("txindex was turned off for %d blocks and can't be recovered."+ " To resume working drop the txindex with --droptxindex", lastKnownBlockID-currentBlockID) } diff --git a/blockdag/subnetworks.go b/blockdag/subnetworks.go index feb2623de..49f9da3cb 100644 --- a/blockdag/subnetworks.go +++ b/blockdag/subnetworks.go @@ -4,6 +4,7 @@ import ( "bytes" "encoding/binary" "fmt" + "github.com/pkg/errors" "github.com/daglabs/btcd/util" @@ -57,7 +58,7 @@ func registerSubnetworks(dbTx database.Tx, txs []*util.Tx) error { createdSubnetwork := newSubnetwork(registryTx) err := dbRegisterSubnetwork(dbTx, subnetworkID, createdSubnetwork) if err != nil { - return fmt.Errorf("failed registering subnetwork"+ + return errors.Errorf("failed registering subnetwork"+ "for tx '%s': %s", registryTx.TxHash(), err) } } @@ -94,10 +95,10 @@ func (s *SubnetworkStore) subnetwork(subnetworkID *subnetworkid.SubnetworkID) (* return nil }) if dbErr != nil { - return nil, fmt.Errorf("could not retrieve subnetwork '%d': %s", subnetworkID, dbErr) + return nil, errors.Errorf("could not retrieve subnetwork '%d': %s", subnetworkID, dbErr) } if err != nil { - return nil, fmt.Errorf("could not retrieve subnetwork '%d': %s", subnetworkID, err) + return nil, errors.Errorf("could not retrieve subnetwork '%d': %s", subnetworkID, err) } return sNet, nil @@ -111,7 +112,7 @@ func (s *SubnetworkStore) GasLimit(subnetworkID *subnetworkid.SubnetworkID) (uin return 0, err } if sNet == nil { - return 0, fmt.Errorf("subnetwork '%s' not found", subnetworkID) + return 0, errors.Errorf("subnetwork '%s' not found", subnetworkID) } return sNet.gasLimit, nil @@ -122,14 +123,14 @@ func dbRegisterSubnetwork(dbTx database.Tx, subnetworkID *subnetworkid.Subnetwor // Serialize the subnetwork serializedSubnetwork, err := serializeSubnetwork(network) if err != nil { - return fmt.Errorf("failed to serialize sub-netowrk '%s': %s", subnetworkID, err) + return errors.Errorf("failed to serialize sub-netowrk '%s': %s", subnetworkID, err) } // Store the subnetwork subnetworksBucket := dbTx.Metadata().Bucket(subnetworksBucketName) err = subnetworksBucket.Put(subnetworkID[:], serializedSubnetwork) if err != nil { - return fmt.Errorf("failed to write sub-netowrk '%s': %s", subnetworkID, err) + return errors.Errorf("failed to write sub-netowrk '%s': %s", subnetworkID, err) } return nil @@ -169,7 +170,7 @@ func serializeSubnetwork(sNet *subnetwork) ([]byte, error) { // Write the gas limit err := binary.Write(serializedSNet, byteOrder, sNet.gasLimit) if err != nil { - return nil, fmt.Errorf("failed to serialize subnetwork: %s", err) + return nil, errors.Errorf("failed to serialize subnetwork: %s", err) } return serializedSNet.Bytes(), nil @@ -184,7 +185,7 @@ func deserializeSubnetwork(serializedSNetBytes []byte) (*subnetwork, error) { var gasLimit uint64 err := binary.Read(serializedSNet, byteOrder, &gasLimit) if err != nil { - return nil, fmt.Errorf("failed to deserialize subnetwork: %s", err) + return nil, errors.Errorf("failed to deserialize subnetwork: %s", err) } return &subnetwork{ diff --git a/blockdag/test_utils.go b/blockdag/test_utils.go index 022681b5e..8edce78a0 100644 --- a/blockdag/test_utils.go +++ b/blockdag/test_utils.go @@ -5,8 +5,8 @@ package blockdag import ( "compress/bzip2" "encoding/binary" - "fmt" "github.com/daglabs/btcd/util" + "github.com/pkg/errors" "io" "os" "path/filepath" @@ -61,7 +61,7 @@ func FileExists(name string) bool { // a teardown function the caller should invoke when done testing to clean up. func DAGSetup(dbName string, config Config) (*BlockDAG, func(), error) { if !isSupportedDbType(testDbType) { - return nil, nil, fmt.Errorf("unsupported db type %s", testDbType) + return nil, nil, errors.Errorf("unsupported db type %s", testDbType) } var teardown func() @@ -82,7 +82,7 @@ func DAGSetup(dbName string, config Config) (*BlockDAG, func(), error) { // Create the root directory for test databases. if !FileExists(testDbRoot) { if err := os.MkdirAll(testDbRoot, 0700); err != nil { - err := fmt.Errorf("unable to create test db "+ + err := errors.Errorf("unable to create test db "+ "root: %s", err) return nil, nil, err } @@ -93,7 +93,7 @@ func DAGSetup(dbName string, config Config) (*BlockDAG, func(), error) { var err error config.DB, err = database.Create(testDbType, dbPath, blockDataNet) if err != nil { - return nil, nil, fmt.Errorf("error creating db: %s", err) + return nil, nil, errors.Errorf("error creating db: %s", err) } // Setup a teardown function for cleaning up. This function is @@ -120,7 +120,7 @@ func DAGSetup(dbName string, config Config) (*BlockDAG, func(), error) { dag, err := New(&config) if err != nil { teardown() - err := fmt.Errorf("failed to create dag instance: %s", err) + err := errors.Errorf("failed to create dag instance: %s", err) return nil, nil, err } return dag, teardown, nil @@ -177,7 +177,7 @@ func GetVirtualFromParentsForTest(dag *BlockDAG, parentHashes []*daghash.Hash) ( for _, hash := range parentHashes { parent := dag.index.LookupNode(hash) if parent == nil { - return nil, fmt.Errorf("GetVirtualFromParentsForTest: didn't found node for hash %s", hash) + return nil, errors.Errorf("GetVirtualFromParentsForTest: didn't found node for hash %s", hash) } parents.add(parent) } diff --git a/blockdag/test_utils_test.go b/blockdag/test_utils_test.go index 63fa9bd09..093ac38e8 100644 --- a/blockdag/test_utils_test.go +++ b/blockdag/test_utils_test.go @@ -1,7 +1,7 @@ package blockdag import ( - "errors" + "github.com/pkg/errors" "os" "strings" "testing" diff --git a/blockdag/utxodiffstore.go b/blockdag/utxodiffstore.go index f79c44804..eba8378fe 100644 --- a/blockdag/utxodiffstore.go +++ b/blockdag/utxodiffstore.go @@ -1,10 +1,10 @@ package blockdag import ( - "fmt" "github.com/daglabs/btcd/database" "github.com/daglabs/btcd/util/daghash" "github.com/daglabs/btcd/util/locks" + "github.com/pkg/errors" ) var multisetPointSize = 32 @@ -105,7 +105,7 @@ func (diffStore *utxoDiffStore) diffDataByHash(hash *daghash.Hash) (*blockUTXODi } func diffNotFoundError(node *blockNode) error { - return fmt.Errorf("Couldn't find diff data for block %s", node.hash) + return errors.Errorf("Couldn't find diff data for block %s", node.hash) } func (diffStore *utxoDiffStore) diffByNode(node *blockNode) (*UTXODiff, error) { diff --git a/blockdag/utxoset.go b/blockdag/utxoset.go index e5065a308..a495dbbee 100644 --- a/blockdag/utxoset.go +++ b/blockdag/utxoset.go @@ -1,8 +1,8 @@ package blockdag import ( - "errors" "fmt" + "github.com/pkg/errors" "math" "sort" "strings" @@ -223,7 +223,7 @@ func (d *UTXODiff) diffFrom(other *UTXODiff) (*UTXODiff, error) { other.toAdd.containsWithBlueScore(outpoint, utxoEntry.blockBlueScore)) { continue } - return nil, fmt.Errorf("diffFrom: outpoint %s both in d.toAdd and in other.toRemove", outpoint) + return nil, errors.Errorf("diffFrom: outpoint %s both in d.toAdd and in other.toRemove", outpoint) } } @@ -383,7 +383,7 @@ func (d *UTXODiff) AddEntry(outpoint wire.Outpoint, entry *UTXOEntry) error { if d.toRemove.containsWithBlueScore(outpoint, entry.blockBlueScore) { d.toRemove.remove(outpoint) } else if _, exists := d.toAdd[outpoint]; exists { - return fmt.Errorf("AddEntry: Cannot add outpoint %s twice", outpoint) + return errors.Errorf("AddEntry: Cannot add outpoint %s twice", outpoint) } else { d.toAdd.add(outpoint, entry) } @@ -402,7 +402,7 @@ func (d *UTXODiff) RemoveEntry(outpoint wire.Outpoint, entry *UTXOEntry) error { if d.toAdd.containsWithBlueScore(outpoint, entry.blockBlueScore) { d.toAdd.remove(outpoint) } else if _, exists := d.toRemove[outpoint]; exists { - return fmt.Errorf("removeEntry: Cannot remove outpoint %s twice", outpoint) + return errors.Errorf("removeEntry: Cannot remove outpoint %s twice", outpoint) } else { d.toRemove.add(outpoint, entry) } @@ -490,7 +490,7 @@ func diffFromAcceptedTx(u UTXOSet, tx *wire.MsgTx, acceptingBlueScore uint64) (* existingOutpoint := *wire.NewOutpoint(tx.TxID(), uint32(i)) existingEntry, ok := u.Get(existingOutpoint) if !ok { - return nil, fmt.Errorf("cannot accept outpoint %s because it doesn't exist in the given UTXO", existingOutpoint) + return nil, errors.Errorf("cannot accept outpoint %s because it doesn't exist in the given UTXO", existingOutpoint) } // Remove unaccepted entries @@ -642,7 +642,7 @@ func (fus *FullUTXOSet) addAndUpdateMultiset(outpoint wire.Outpoint, entry *UTXO func (fus *FullUTXOSet) removeAndUpdateMultiset(outpoint wire.Outpoint) error { entry, ok := fus.Get(outpoint) if !ok { - return fmt.Errorf("Couldn't find outpoint %s", outpoint) + return errors.Errorf("Couldn't find outpoint %s", outpoint) } fus.remove(outpoint) var err error @@ -663,7 +663,7 @@ func (fus *FullUTXOSet) WithTransactions(transactions []*wire.MsgTx, blockBlueSc return nil, err } if !ignoreDoubleSpends && !isAccepted { - return nil, fmt.Errorf("Transaction %s is not valid with the current UTXO set", tx.TxID()) + return nil, errors.Errorf("Transaction %s is not valid with the current UTXO set", tx.TxID()) } } return UTXOSet(diffSet), nil @@ -729,7 +729,7 @@ func (dus *DiffUTXOSet) appendTx(tx *wire.MsgTx, blockBlueScore uint64, isCoinba outpoint := *wire.NewOutpoint(&txIn.PreviousOutpoint.TxID, txIn.PreviousOutpoint.Index) entry, ok := dus.Get(outpoint) if !ok { - return fmt.Errorf("Couldn't find entry for outpoint %s", outpoint) + return errors.Errorf("Couldn't find entry for outpoint %s", outpoint) } err := dus.UTXODiff.RemoveEntry(outpoint, entry) if err != nil { @@ -770,7 +770,7 @@ func (dus *DiffUTXOSet) meldToBase() error { if _, ok := dus.base.Get(outpoint); ok { dus.base.remove(outpoint) } else { - return fmt.Errorf("Couldn't remove outpoint %s because it doesn't exist in the DiffUTXOSet base", outpoint) + return errors.Errorf("Couldn't remove outpoint %s because it doesn't exist in the DiffUTXOSet base", outpoint) } } @@ -835,7 +835,7 @@ func (dus *DiffUTXOSet) WithTransactions(transactions []*wire.MsgTx, blockBlueSc return nil, err } if !ignoreDoubleSpends && !isAccepted { - return nil, fmt.Errorf("Transaction %s is not valid with the current UTXO set", tx.TxID()) + return nil, errors.Errorf("Transaction %s is not valid with the current UTXO set", tx.TxID()) } } return UTXOSet(diffSet), nil diff --git a/blockdag/validate.go b/blockdag/validate.go index 7fcde690d..1f2d8be11 100644 --- a/blockdag/validate.go +++ b/blockdag/validate.go @@ -6,6 +6,7 @@ package blockdag import ( "fmt" + "github.com/pkg/errors" "math" "sort" "time" @@ -899,12 +900,12 @@ func (dag *BlockDAG) checkConnectToPastUTXO(block *blockNode, pastUTXO UTXOSet, err = compactFeeFactory.add(txFee) if err != nil { - return nil, fmt.Errorf("error adding tx %s fee to compactFeeFactory: %s", tx.ID(), err) + return nil, errors.Errorf("error adding tx %s fee to compactFeeFactory: %s", tx.ID(), err) } } feeData, err := compactFeeFactory.data() if err != nil { - return nil, fmt.Errorf("error getting bytes of fee data: %s", err) + return nil, errors.Errorf("error getting bytes of fee data: %s", err) } if !fastAdd { @@ -992,7 +993,7 @@ func (dag *BlockDAG) CheckConnectBlockTemplateNoLock(block *util.Block) error { } if delay != 0 { - return fmt.Errorf("Block timestamp is too far in the future") + return errors.Errorf("Block timestamp is too far in the future") } parents, err := lookupParentNodes(block, dag) diff --git a/blockdag/validate_test.go b/blockdag/validate_test.go index 758db62ff..d24e36284 100644 --- a/blockdag/validate_test.go +++ b/blockdag/validate_test.go @@ -6,7 +6,7 @@ package blockdag import ( "bou.ke/monkey" - "errors" + "github.com/pkg/errors" "math" "path/filepath" "testing" diff --git a/blockdag/versionbits.go b/blockdag/versionbits.go index 7d3b5958c..da2c2eb96 100644 --- a/blockdag/versionbits.go +++ b/blockdag/versionbits.go @@ -11,7 +11,6 @@ import ( ) const ( - // vbTopBits defines the bits to set in the version to signal that the // version bits scheme is being used. vbTopBits = 0x10000000 diff --git a/btcec/ciphering.go b/btcec/ciphering.go index b18c9b7a3..7859e1829 100644 --- a/btcec/ciphering.go +++ b/btcec/ciphering.go @@ -12,7 +12,7 @@ import ( "crypto/rand" "crypto/sha256" "crypto/sha512" - "errors" + "github.com/pkg/errors" "io" ) diff --git a/btcec/pubkey.go b/btcec/pubkey.go index 9d577a9b0..0b828cb09 100644 --- a/btcec/pubkey.go +++ b/btcec/pubkey.go @@ -6,8 +6,7 @@ package btcec import ( "crypto/ecdsa" - "errors" - "fmt" + "github.com/pkg/errors" "math/big" ) @@ -44,7 +43,7 @@ func decompressPoint(curve *KoblitzCurve, x *big.Int, ybit bool) (*big.Int, erro y2 := new(big.Int).Mul(y, y) y2.Mod(y2, curve.Params().P) if y2.Cmp(x3) != 0 { - return nil, fmt.Errorf("invalid square root") + return nil, errors.Errorf("invalid square root") } // Verify that y-coord has expected parity. @@ -52,7 +51,7 @@ func decompressPoint(curve *KoblitzCurve, x *big.Int, ybit bool) (*big.Int, erro y.Sub(curve.Params().P, y) } if ybit != isOdd(y) { - return nil, fmt.Errorf("ybit doesn't match oddness") + return nil, errors.Errorf("ybit doesn't match oddness") } return y, nil } @@ -90,7 +89,7 @@ func ParsePubKey(pubKeyStr []byte, curve *KoblitzCurve) (key *PublicKey, err err switch len(pubKeyStr) { case PubKeyBytesLenUncompressed: if format != pubkeyUncompressed && format != pubkeyHybrid { - return nil, fmt.Errorf("invalid magic in pubkey str: "+ + return nil, errors.Errorf("invalid magic in pubkey str: "+ "%d", pubKeyStr[0]) } @@ -98,14 +97,14 @@ func ParsePubKey(pubKeyStr []byte, curve *KoblitzCurve) (key *PublicKey, err err pubkey.Y = new(big.Int).SetBytes(pubKeyStr[33:]) // hybrid keys have extra information, make use of it. if format == pubkeyHybrid && ybit != isOdd(pubkey.Y) { - return nil, fmt.Errorf("ybit doesn't match oddness") + return nil, errors.Errorf("ybit doesn't match oddness") } case PubKeyBytesLenCompressed: // format is 0x2 | solution, // solution determines which solution of the curve we use. /// y^2 = x^3 + Curve.B if format != pubkeyCompressed { - return nil, fmt.Errorf("invalid magic in compressed "+ + return nil, errors.Errorf("invalid magic in compressed "+ "pubkey string: %d", pubKeyStr[0]) } pubkey.X = new(big.Int).SetBytes(pubKeyStr[1:33]) @@ -114,18 +113,18 @@ func ParsePubKey(pubKeyStr []byte, curve *KoblitzCurve) (key *PublicKey, err err return nil, err } default: // wrong! - return nil, fmt.Errorf("invalid pub key length %d", + return nil, errors.Errorf("invalid pub key length %d", len(pubKeyStr)) } if pubkey.X.Cmp(pubkey.Curve.Params().P) >= 0 { - return nil, fmt.Errorf("pubkey X parameter is >= to P") + return nil, errors.Errorf("pubkey X parameter is >= to P") } if pubkey.Y.Cmp(pubkey.Curve.Params().P) >= 0 { - return nil, fmt.Errorf("pubkey Y parameter is >= to P") + return nil, errors.Errorf("pubkey Y parameter is >= to P") } if !pubkey.Curve.IsOnCurve(pubkey.X, pubkey.Y) { - return nil, fmt.Errorf("pubkey isn't on secp256k1 curve") + return nil, errors.Errorf("pubkey isn't on secp256k1 curve") } return &pubkey, nil } diff --git a/btcec/signature.go b/btcec/signature.go index 1d26d759e..ae2b71ecb 100644 --- a/btcec/signature.go +++ b/btcec/signature.go @@ -10,8 +10,7 @@ import ( "crypto/elliptic" "crypto/hmac" "crypto/sha256" - "errors" - "fmt" + "github.com/pkg/errors" "hash" "math/big" ) @@ -181,7 +180,7 @@ func parseSig(sigStr []byte, curve elliptic.Curve, der bool) (*Signature, error) // sanity check length parsing if index != len(sigStr) { - return nil, fmt.Errorf("malformed signature: bad final length %d != %d", + return nil, errors.Errorf("malformed signature: bad final length %d != %d", index, len(sigStr)) } diff --git a/btcec/signature_test.go b/btcec/signature_test.go index 00583d079..aaffae68f 100644 --- a/btcec/signature_test.go +++ b/btcec/signature_test.go @@ -10,8 +10,9 @@ import ( "crypto/sha256" "encoding/hex" "fmt" + "github.com/daglabs/btcd/testutil" + "github.com/pkg/errors" "math/big" - "reflect" "testing" ) @@ -554,7 +555,7 @@ var recoveryTests = []struct { // Invalid curve point recovered. msg: "00c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c", sig: "0100b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f00b940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549", - err: fmt.Errorf("invalid square root"), + err: errors.Errorf("invalid square root"), }, { // Low R and S values. @@ -575,7 +576,7 @@ func TestRecoverCompact(t *testing.T) { pub, _, err := RecoverCompact(S256(), sig, msg) // Verify that returned error matches as expected. - if !reflect.DeepEqual(test.err, err) { + if !testutil.AreErrorsEqual(test.err, err) { t.Errorf("unexpected error returned from pubkey "+ "recovery #%d: wanted %v, got %v", i, test.err, err) diff --git a/cmd/addblock/config.go b/cmd/addblock/config.go index 96eb367a0..48d2ab02d 100644 --- a/cmd/addblock/config.go +++ b/cmd/addblock/config.go @@ -6,6 +6,7 @@ package main import ( "fmt" + "github.com/pkg/errors" "os" "path/filepath" "strings" @@ -111,7 +112,7 @@ func loadConfig() (*config, []string, error) { if numNets > 1 { str := "%s: The testnet, regtest, simnet and devent params can't be " + "used together -- choose one of the four" - err := fmt.Errorf(str, funcName) + err := errors.Errorf(str, funcName) fmt.Fprintln(os.Stderr, err) parser.WriteHelp(os.Stderr) return nil, nil, err @@ -121,7 +122,7 @@ func loadConfig() (*config, []string, error) { if !validDbType(cfg.DbType) { str := "%s: The specified database type [%s] is invalid -- " + "supported types %s" - err := fmt.Errorf(str, "loadConfig", cfg.DbType, strings.Join(knownDbTypes, ", ")) + err := errors.Errorf(str, "loadConfig", cfg.DbType, strings.Join(knownDbTypes, ", ")) fmt.Fprintln(os.Stderr, err) parser.WriteHelp(os.Stderr) return nil, nil, err @@ -138,7 +139,7 @@ func loadConfig() (*config, []string, error) { // Ensure the specified block file exists. if !fileExists(cfg.InFile) { str := "%s: The specified block file [%s] does not exist" - err := fmt.Errorf(str, "loadConfig", cfg.InFile) + err := errors.Errorf(str, "loadConfig", cfg.InFile) fmt.Fprintln(os.Stderr, err) parser.WriteHelp(os.Stderr) return nil, nil, err diff --git a/cmd/addblock/import.go b/cmd/addblock/import.go index 260dc89d6..ea2733a1d 100644 --- a/cmd/addblock/import.go +++ b/cmd/addblock/import.go @@ -6,7 +6,7 @@ package main import ( "encoding/binary" - "fmt" + "github.com/pkg/errors" "io" "sync" "time" @@ -60,7 +60,7 @@ func (bi *blockImporter) readBlock() ([]byte, error) { return nil, nil } if net != uint32(activeNetParams.Net) { - return nil, fmt.Errorf("network mismatch -- got %x, want %x", + return nil, errors.Errorf("network mismatch -- got %x, want %x", net, uint32(activeNetParams.Net)) } @@ -70,7 +70,7 @@ func (bi *blockImporter) readBlock() ([]byte, error) { return nil, err } if blockLen > wire.MaxMessagePayload { - return nil, fmt.Errorf("block payload of %d bytes is larger "+ + return nil, errors.Errorf("block payload of %d bytes is larger "+ "than the max allowed %d bytes", blockLen, wire.MaxMessagePayload) } @@ -110,7 +110,7 @@ func (bi *blockImporter) processBlock(serializedBlock []byte) (bool, error) { parentHashes := block.MsgBlock().Header.ParentHashes if len(parentHashes) > 0 { if !bi.dag.HaveBlocks(parentHashes) { - return false, fmt.Errorf("import file contains block "+ + return false, errors.Errorf("import file contains block "+ "%v which does not link to the available "+ "block DAG", parentHashes) } @@ -124,10 +124,10 @@ func (bi *blockImporter) processBlock(serializedBlock []byte) (bool, error) { return false, err } if delay != 0 { - return false, fmt.Errorf("import file contains a block that is too far in the future") + return false, errors.Errorf("import file contains a block that is too far in the future") } if isOrphan { - return false, fmt.Errorf("import file contains an orphan "+ + return false, errors.Errorf("import file contains an orphan "+ "block: %s", blockHash) } @@ -144,7 +144,7 @@ out: // notify the status handler with the error and bail. serializedBlock, err := bi.readBlock() if err != nil { - bi.errChan <- fmt.Errorf("Error reading from input "+ + bi.errChan <- errors.Errorf("Error reading from input "+ "file: %s", err.Error()) break out } diff --git a/cmd/addsubnetwork/addsubnetwork.go b/cmd/addsubnetwork/addsubnetwork.go index 2c9cff4ae..018f6f2a5 100644 --- a/cmd/addsubnetwork/addsubnetwork.go +++ b/cmd/addsubnetwork/addsubnetwork.go @@ -1,11 +1,11 @@ package main import ( - "fmt" "github.com/daglabs/btcd/blockdag" "github.com/daglabs/btcd/btcjson" "github.com/daglabs/btcd/rpcclient" "github.com/daglabs/btcd/util/subnetworkid" + "github.com/pkg/errors" "time" ) @@ -17,48 +17,48 @@ const ( func main() { cfg, err := parseConfig() if err != nil { - panic(fmt.Errorf("error parsing command-line arguments: %s", err)) + panic(errors.Errorf("error parsing command-line arguments: %s", err)) } privateKey, addrPubKeyHash, err := decodeKeys(cfg) if err != nil { - panic(fmt.Errorf("error decoding public key: %s", err)) + panic(errors.Errorf("error decoding public key: %s", err)) } client, err := connect(cfg) if err != nil { - panic(fmt.Errorf("could not connect to RPC server: %s", err)) + panic(errors.Errorf("could not connect to RPC server: %s", err)) } log.Infof("Connected to server %s", cfg.RPCServer) fundingOutpoint, fundingTx, err := findUnspentTXO(cfg, client, addrPubKeyHash) if err != nil { - panic(fmt.Errorf("error finding unspent transactions: %s", err)) + panic(errors.Errorf("error finding unspent transactions: %s", err)) } if fundingOutpoint == nil || fundingTx == nil { - panic(fmt.Errorf("could not find any unspent transactions this for key")) + panic(errors.Errorf("could not find any unspent transactions this for key")) } log.Infof("Found transaction to spend: %s:%d", fundingOutpoint.TxID, fundingOutpoint.Index) registryTx, err := buildSubnetworkRegistryTx(cfg, fundingOutpoint, fundingTx, privateKey) if err != nil { - panic(fmt.Errorf("error building subnetwork registry tx: %s", err)) + panic(errors.Errorf("error building subnetwork registry tx: %s", err)) } _, err = client.SendRawTransaction(registryTx, true) if err != nil { - panic(fmt.Errorf("failed sending subnetwork registry tx: %s", err)) + panic(errors.Errorf("failed sending subnetwork registry tx: %s", err)) } log.Infof("Successfully sent subnetwork registry transaction") subnetworkID, err := blockdag.TxToSubnetworkID(registryTx) if err != nil { - panic(fmt.Errorf("could not build subnetwork ID: %s", err)) + panic(errors.Errorf("could not build subnetwork ID: %s", err)) } err = waitForSubnetworkToBecomeAccepted(client, subnetworkID) if err != nil { - panic(fmt.Errorf("error waiting for subnetwork to become accepted: %s", err)) + panic(errors.Errorf("error waiting for subnetwork to become accepted: %s", err)) } log.Infof("Subnetwork '%s' was successfully registered.", subnetworkID) } @@ -73,14 +73,14 @@ func waitForSubnetworkToBecomeAccepted(client *rpcclient.Client, subnetworkID *s retries++ if retries == maxGetSubnetworkRetries { - return fmt.Errorf("failed to get subnetwork %d times: %s", maxGetSubnetworkRetries, err) + return errors.Errorf("failed to get subnetwork %d times: %s", maxGetSubnetworkRetries, err) } log.Infof("Waiting %d seconds...", int(getSubnetworkRetryDelay.Seconds())) <-time.After(getSubnetworkRetryDelay) continue } - return fmt.Errorf("failed getting subnetwork: %s", err) + return errors.Errorf("failed getting subnetwork: %s", err) } return nil } diff --git a/cmd/addsubnetwork/config.go b/cmd/addsubnetwork/config.go index 2ce4fed98..4127bf75d 100644 --- a/cmd/addsubnetwork/config.go +++ b/cmd/addsubnetwork/config.go @@ -1,10 +1,9 @@ package main import ( - "errors" - "fmt" "github.com/daglabs/btcd/dagconfig" "github.com/jessevdk/go-flags" + "github.com/pkg/errors" ) type config struct { @@ -74,14 +73,14 @@ func parseConfig() (*config, error) { } if cfg.GasLimit < 0 { - return nil, fmt.Errorf("gaslimit may not be smaller than 0") + return nil, errors.Errorf("gaslimit may not be smaller than 0") } if cfg.GasLimit == 0 { cfg.GasLimit = defaultSubnetworkGasLimit } if cfg.RegistryTxFee < 0 { - return nil, fmt.Errorf("regtxfee may not be smaller than 0") + return nil, errors.Errorf("regtxfee may not be smaller than 0") } if cfg.RegistryTxFee == 0 { cfg.RegistryTxFee = defaultRegistryTxFee diff --git a/cmd/addsubnetwork/connect.go b/cmd/addsubnetwork/connect.go index 4bc7a47df..8258fd7ef 100644 --- a/cmd/addsubnetwork/connect.go +++ b/cmd/addsubnetwork/connect.go @@ -1,8 +1,8 @@ package main import ( - "fmt" "github.com/daglabs/btcd/rpcclient" + "github.com/pkg/errors" "io/ioutil" ) @@ -12,7 +12,7 @@ func connect(cfg *config) (*rpcclient.Client, error) { var err error cert, err = ioutil.ReadFile(cfg.RPCCert) if err != nil { - return nil, fmt.Errorf("error reading certificates file: %s", err) + return nil, errors.Errorf("error reading certificates file: %s", err) } } @@ -30,7 +30,7 @@ func connect(cfg *config) (*rpcclient.Client, error) { client, err := rpcclient.New(connCfg, nil) if err != nil { - return nil, fmt.Errorf("error connecting to address %s: %s", cfg.RPCServer, err) + return nil, errors.Errorf("error connecting to address %s: %s", cfg.RPCServer, err) } return client, nil diff --git a/cmd/addsubnetwork/registrytx.go b/cmd/addsubnetwork/registrytx.go index 6dc7d593f..0b8c2ce25 100644 --- a/cmd/addsubnetwork/registrytx.go +++ b/cmd/addsubnetwork/registrytx.go @@ -1,10 +1,10 @@ package main import ( - "fmt" "github.com/daglabs/btcd/btcec" "github.com/daglabs/btcd/txscript" "github.com/daglabs/btcd/wire" + "github.com/pkg/errors" ) func buildSubnetworkRegistryTx(cfg *config, fundingOutpoint *wire.Outpoint, fundingTx *wire.MsgTx, privateKey *btcec.PrivateKey) (*wire.MsgTx, error) { @@ -21,7 +21,7 @@ func buildSubnetworkRegistryTx(cfg *config, fundingOutpoint *wire.Outpoint, fund SignatureScript, err := txscript.SignatureScript(registryTx, 0, fundingTx.TxOut[fundingOutpoint.Index].ScriptPubKey, txscript.SigHashAll, privateKey, true) if err != nil { - return nil, fmt.Errorf("failed to build signature script: %s", err) + return nil, errors.Errorf("failed to build signature script: %s", err) } txIn.SignatureScript = SignatureScript diff --git a/cmd/addsubnetwork/utxo.go b/cmd/addsubnetwork/utxo.go index 5d2d6b14d..3b7a9e958 100644 --- a/cmd/addsubnetwork/utxo.go +++ b/cmd/addsubnetwork/utxo.go @@ -3,12 +3,11 @@ package main import ( "bytes" "encoding/hex" - "fmt" - "github.com/daglabs/btcd/btcjson" "github.com/daglabs/btcd/rpcclient" "github.com/daglabs/btcd/util" "github.com/daglabs/btcd/wire" + "github.com/pkg/errors" ) const ( @@ -58,7 +57,7 @@ func collectTransactions(client *rpcclient.Client, addrPubKeyHash *util.AddressP tx, err := parseRawTransactionResult(result) if err != nil { - return nil, fmt.Errorf("failed to process SearchRawTransactionResult: %s", err) + return nil, errors.Errorf("failed to process SearchRawTransactionResult: %s", err) } if tx == nil { continue @@ -78,13 +77,13 @@ func collectTransactions(client *rpcclient.Client, addrPubKeyHash *util.AddressP func parseRawTransactionResult(result *btcjson.SearchRawTransactionsResult) (*wire.MsgTx, error) { txBytes, err := hex.DecodeString(result.Hex) if err != nil { - return nil, fmt.Errorf("failed to decode transaction bytes: %s", err) + return nil, errors.Errorf("failed to decode transaction bytes: %s", err) } var tx wire.MsgTx reader := bytes.NewReader(txBytes) err = tx.Deserialize(reader) if err != nil { - return nil, fmt.Errorf("failed to deserialize transaction: %s", err) + return nil, errors.Errorf("failed to deserialize transaction: %s", err) } return &tx, nil } diff --git a/cmd/btcctl/config.go b/cmd/btcctl/config.go index c7a1b3324..78e61ba09 100644 --- a/cmd/btcctl/config.go +++ b/cmd/btcctl/config.go @@ -6,6 +6,7 @@ package main import ( "fmt" + "github.com/pkg/errors" "io/ioutil" "net" "os" @@ -238,7 +239,7 @@ func loadConfig() (*config, []string, error) { if numNets > 1 { str := "%s: The multiple net params (testnet, simnet, devnet etc.) can't be used " + "together -- choose one of them" - err := fmt.Errorf(str, "loadConfig") + err := errors.Errorf(str, "loadConfig") fmt.Fprintln(os.Stderr, err) return nil, nil, err } diff --git a/cmd/btcctl/httpclient.go b/cmd/btcctl/httpclient.go index ce8fb7d86..0129c8ef6 100644 --- a/cmd/btcctl/httpclient.go +++ b/cmd/btcctl/httpclient.go @@ -5,7 +5,7 @@ import ( "crypto/tls" "crypto/x509" "encoding/json" - "fmt" + "github.com/pkg/errors" "io/ioutil" "net" "net/http" @@ -98,7 +98,7 @@ func sendPostRequest(marshalledJSON []byte, cfg *config) ([]byte, error) { respBytes, err := ioutil.ReadAll(httpResponse.Body) httpResponse.Body.Close() if err != nil { - err = fmt.Errorf("error reading json reply: %s", err) + err = errors.Errorf("error reading json reply: %s", err) return nil, err } @@ -109,10 +109,10 @@ func sendPostRequest(marshalledJSON []byte, cfg *config) ([]byte, error) { // than showing nothing in case the target server has a poor // implementation. if len(respBytes) == 0 { - return nil, fmt.Errorf("%d %s", httpResponse.StatusCode, + return nil, errors.Errorf("%d %s", httpResponse.StatusCode, http.StatusText(httpResponse.StatusCode)) } - return nil, fmt.Errorf("%s", respBytes) + return nil, errors.Errorf("%s", respBytes) } // Unmarshal the response. diff --git a/cmd/findcheckpoint/config.go b/cmd/findcheckpoint/config.go index bf87c0e27..c393b75f4 100644 --- a/cmd/findcheckpoint/config.go +++ b/cmd/findcheckpoint/config.go @@ -6,6 +6,7 @@ package main import ( "fmt" + "github.com/pkg/errors" "os" "path/filepath" "strings" @@ -99,7 +100,7 @@ func loadConfig() (*config, []string, error) { if numNets > 1 { str := "%s: The testnet, regtest, simnet and devnet params can't be " + "used together -- choose one of the four" - err := fmt.Errorf(str, funcName) + err := errors.Errorf(str, funcName) fmt.Fprintln(os.Stderr, err) parser.WriteHelp(os.Stderr) return nil, nil, err @@ -109,7 +110,7 @@ func loadConfig() (*config, []string, error) { if !validDbType(cfg.DbType) { str := "%s: The specified database type [%s] is invalid -- " + "supported types %s" - err := fmt.Errorf(str, funcName, cfg.DbType, strings.Join(knownDbTypes, ", ")) + err := errors.Errorf(str, funcName, cfg.DbType, strings.Join(knownDbTypes, ", ")) fmt.Fprintln(os.Stderr, err) parser.WriteHelp(os.Stderr) return nil, nil, err @@ -127,7 +128,7 @@ func loadConfig() (*config, []string, error) { if cfg.NumCandidates < minCandidates || cfg.NumCandidates > maxCandidates { str := "%s: The specified number of candidates is out of " + "range -- parsed [%d]" - err = fmt.Errorf(str, funcName, cfg.NumCandidates) + err = errors.Errorf(str, funcName, cfg.NumCandidates) fmt.Fprintln(os.Stderr, err) parser.WriteHelp(os.Stderr) return nil, nil, err diff --git a/cmd/findcheckpoint/findcheckpoint.go b/cmd/findcheckpoint/findcheckpoint.go index eebdb5da0..357ebe81b 100644 --- a/cmd/findcheckpoint/findcheckpoint.go +++ b/cmd/findcheckpoint/findcheckpoint.go @@ -6,6 +6,7 @@ package main import ( "fmt" + "github.com/pkg/errors" "os" "path/filepath" @@ -61,7 +62,7 @@ func findCandidates(dag *blockdag.BlockDAG, highestTipHash *daghash.Hash) ([]*da checkpointConfirmations := uint64(blockdag.CheckpointConfirmations) requiredChainHeight := latestCheckpoint.ChainHeight + checkpointConfirmations if block.ChainHeight() < requiredChainHeight { - return nil, fmt.Errorf("the block database is only at chain "+ + return nil, errors.Errorf("the block database is only at chain "+ "height %d which is less than the latest checkpoint chain height "+ "of %d plus required confirmations of %d", block.ChainHeight(), latestCheckpoint.ChainHeight, diff --git a/cmd/txgen/client.go b/cmd/txgen/client.go index 271811d93..bce43eec9 100644 --- a/cmd/txgen/client.go +++ b/cmd/txgen/client.go @@ -1,11 +1,10 @@ package main import ( - "fmt" - "github.com/daglabs/btcd/rpcclient" "github.com/daglabs/btcd/util" "github.com/daglabs/btcd/wire" + "github.com/pkg/errors" ) type txgenClient struct { @@ -36,11 +35,11 @@ func newTxgenClient(connCfg *rpcclient.ConnConfig) (*txgenClient, error) { var err error client.Client, err = rpcclient.New(connCfg, notificationHandlers) if err != nil { - return nil, fmt.Errorf("Error connecting to address %s: %s", connCfg.Host, err) + return nil, errors.Errorf("Error connecting to address %s: %s", connCfg.Host, err) } if err = client.NotifyBlocks(); err != nil { - return nil, fmt.Errorf("Error while registering client %s for block notifications: %s", client.Host(), err) + return nil, errors.Errorf("Error while registering client %s for block notifications: %s", client.Host(), err) } return client, nil } diff --git a/cmd/txgen/config.go b/cmd/txgen/config.go index d52de436c..fb3281afe 100644 --- a/cmd/txgen/config.go +++ b/cmd/txgen/config.go @@ -1,8 +1,8 @@ package main import ( - "errors" "github.com/daglabs/btcd/util" + "github.com/pkg/errors" "path/filepath" "github.com/jessevdk/go-flags" diff --git a/cmd/txgen/connect.go b/cmd/txgen/connect.go index d98a64566..47149b2e9 100644 --- a/cmd/txgen/connect.go +++ b/cmd/txgen/connect.go @@ -1,8 +1,8 @@ package main import ( - "fmt" "github.com/daglabs/btcd/rpcclient" + "github.com/pkg/errors" "io/ioutil" ) @@ -12,7 +12,7 @@ func connectToServer(cfg *config) (*txgenClient, error) { var err error cert, err = ioutil.ReadFile(cfg.CertificatePath) if err != nil { - return nil, fmt.Errorf("Error reading certificates file: %s", err) + return nil, errors.Errorf("Error reading certificates file: %s", err) } } @@ -30,7 +30,7 @@ func connectToServer(cfg *config) (*txgenClient, error) { client, err := newTxgenClient(connCfg) if err != nil { - return nil, fmt.Errorf("Error connecting to address %s: %s", cfg.Address, err) + return nil, errors.Errorf("Error connecting to address %s: %s", cfg.Address, err) } log.Infof("Connected to server %s", cfg.Address) diff --git a/cmd/txgen/main.go b/cmd/txgen/main.go index 0c39e0718..a72870da5 100644 --- a/cmd/txgen/main.go +++ b/cmd/txgen/main.go @@ -1,14 +1,13 @@ package main import ( - "fmt" - "github.com/daglabs/btcd/btcec" "github.com/daglabs/btcd/dagconfig" "github.com/daglabs/btcd/signal" "github.com/daglabs/btcd/util" "github.com/daglabs/btcd/util/base58" "github.com/daglabs/btcd/util/panics" + "github.com/pkg/errors" ) var ( @@ -28,7 +27,7 @@ func main() { cfg, err := parseConfig() if err != nil { - panic(fmt.Errorf("Error parsing command-line arguments: %s", err)) + panic(errors.Errorf("Error parsing command-line arguments: %s", err)) } privateKeyBytes := base58.Decode(cfg.PrivateKey) @@ -36,7 +35,7 @@ func main() { p2pkhAddress, err = privateKeyToP2pkhAddress(privateKey, activeNetParams) if err != nil { - panic(fmt.Errorf("Failed to get P2PKH address from private key: %s", err)) + panic(errors.Errorf("Failed to get P2PKH address from private key: %s", err)) } log.Infof("P2PKH address for private key: %s\n", p2pkhAddress) @@ -44,13 +43,13 @@ func main() { if cfg.SecondaryAddress != "" { secondaryAddress, err = util.DecodeAddress(cfg.SecondaryAddress, activeNetParams.Prefix) if err != nil { - panic(fmt.Errorf("Failed to decode secondary address %s: %s", cfg.SecondaryAddress, err)) + panic(errors.Errorf("Failed to decode secondary address %s: %s", cfg.SecondaryAddress, err)) } } client, err := connectToServer(cfg) if err != nil { - panic(fmt.Errorf("Error connecting to servers: %s", err)) + panic(errors.Errorf("Error connecting to servers: %s", err)) } defer disconnect(client) diff --git a/cmd/txgen/txloop.go b/cmd/txgen/txloop.go index bc8d61d09..af6390dbf 100644 --- a/cmd/txgen/txloop.go +++ b/cmd/txgen/txloop.go @@ -3,7 +3,7 @@ package main import ( "bytes" "encoding/hex" - "fmt" + "github.com/pkg/errors" "math" "math/rand" "time" @@ -66,13 +66,13 @@ func txLoop(client *txgenClient, cfg *config) error { var err error primaryScriptPubKey, err = txscript.PayToAddrScript(p2pkhAddress) if err != nil { - return fmt.Errorf("failed to generate primaryScriptPubKey to address: %s", err) + return errors.Errorf("failed to generate primaryScriptPubKey to address: %s", err) } if secondaryAddress != nil { secondaryScriptPubKey, err = txscript.PayToAddrScript(secondaryAddress) if err != nil { - return fmt.Errorf("failed to generate primaryScriptPubKey to address: %s", err) + return errors.Errorf("failed to generate primaryScriptPubKey to address: %s", err) } filterAddresses = append(filterAddresses, secondaryAddress) @@ -120,7 +120,7 @@ func updateSubnetworks(txs []*util.Tx, gasLimitMap map[subnetworkid.SubnetworkID if msgTx.SubnetworkID.IsEqual(subnetworkid.SubnetworkIDRegistry) { subnetworkID, err := blockdag.TxToSubnetworkID(msgTx) if err != nil { - return fmt.Errorf("could not build subnetwork ID: %s", err) + return errors.Errorf("could not build subnetwork ID: %s", err) } gasLimit := blockdag.ExtractGasLimit(msgTx) log.Infof("Found subnetwork %s with gas limit %d", subnetworkID, gasLimit) @@ -335,7 +335,7 @@ func signTx(walletUTXOSet utxoSet, tx *wire.MsgTx) error { sigScript, err := txscript.SignatureScript(tx, i, prevOut.ScriptPubKey, txscript.SigHashAll, privateKey, true) if err != nil { - return fmt.Errorf("Failed to sign transaction: %s", err) + return errors.Errorf("Failed to sign transaction: %s", err) } txIn.SignatureScript = sigScript @@ -365,7 +365,7 @@ func fundTx(walletUTXOSet utxoSet, tx *wire.MsgTx, amount uint64, feeRate float6 } if !isTxFunded { - return 0, fmt.Errorf("not enough funds for coin selection") + return 0, errors.Errorf("not enough funds for coin selection") } return amountSelected, nil @@ -482,7 +482,7 @@ func collectTransactions(client *txgenClient, gasLimitMap map[subnetworkid.Subne tx, err := parseRawTransactionResult(result) if err != nil { - return nil, fmt.Errorf("failed to process SearchRawTransactionResult: %s", err) + return nil, errors.Errorf("failed to process SearchRawTransactionResult: %s", err) } if tx == nil { continue @@ -516,13 +516,13 @@ func collectTransactions(client *txgenClient, gasLimitMap map[subnetworkid.Subne func parseRawTransactionResult(result *btcjson.SearchRawTransactionsResult) (*wire.MsgTx, error) { txBytes, err := hex.DecodeString(result.Hex) if err != nil { - return nil, fmt.Errorf("failed to decode transaction bytes: %s", err) + return nil, errors.Errorf("failed to decode transaction bytes: %s", err) } var tx wire.MsgTx reader := bytes.NewReader(txBytes) err = tx.Deserialize(reader) if err != nil { - return nil, fmt.Errorf("failed to deserialize transaction: %s", err) + return nil, errors.Errorf("failed to deserialize transaction: %s", err) } return &tx, nil } diff --git a/cmd/txsigner/config.go b/cmd/txsigner/config.go index d0346c3a5..268ecd970 100644 --- a/cmd/txsigner/config.go +++ b/cmd/txsigner/config.go @@ -4,6 +4,7 @@ import ( "fmt" "github.com/daglabs/btcd/dagconfig" "github.com/jessevdk/go-flags" + "github.com/pkg/errors" "os" ) @@ -46,7 +47,7 @@ func parseCommandLine() (*config, error) { if numNets > 1 { str := "%s: The testnet, regtest, simnet and devent params can't be " + "used together -- choose one of the four" - err := fmt.Errorf(str, funcName) + err := errors.Errorf(str, funcName) fmt.Fprintln(os.Stderr, err) parser.WriteHelp(os.Stderr) return nil, err diff --git a/config/config.go b/config/config.go index 8faf02445..e55aa34bb 100644 --- a/config/config.go +++ b/config/config.go @@ -8,8 +8,8 @@ import ( "bufio" "crypto/rand" "encoding/base64" - "errors" "fmt" + "github.com/pkg/errors" "io" "net" "os" @@ -218,24 +218,24 @@ func validDbType(dbType string) bool { func newCheckpointFromStr(checkpoint string) (dagconfig.Checkpoint, error) { parts := strings.Split(checkpoint, ":") if len(parts) != 2 { - return dagconfig.Checkpoint{}, fmt.Errorf("unable to parse "+ + return dagconfig.Checkpoint{}, errors.Errorf("unable to parse "+ "checkpoint %q -- use the syntax :", checkpoint) } height, err := strconv.ParseInt(parts[0], 10, 64) if err != nil { - return dagconfig.Checkpoint{}, fmt.Errorf("unable to parse "+ + return dagconfig.Checkpoint{}, errors.Errorf("unable to parse "+ "checkpoint %q due to malformed height", checkpoint) } if len(parts[1]) == 0 { - return dagconfig.Checkpoint{}, fmt.Errorf("unable to parse "+ + return dagconfig.Checkpoint{}, errors.Errorf("unable to parse "+ "checkpoint %q due to missing hash", checkpoint) } hash, err := daghash.NewHashFromStr(parts[1]) if err != nil { - return dagconfig.Checkpoint{}, fmt.Errorf("unable to parse "+ + return dagconfig.Checkpoint{}, errors.Errorf("unable to parse "+ "checkpoint %q due to malformed hash", checkpoint) } @@ -414,12 +414,12 @@ func loadConfig() (*Config, []string, error) { if e, ok := err.(*os.PathError); ok && os.IsExist(err) { if link, lerr := os.Readlink(e.Path); lerr == nil { str := "is symlink %s -> %s mounted?" - err = fmt.Errorf(str, e.Path, link) + err = errors.Errorf(str, e.Path, link) } } str := "%s: Failed to create home directory: %s" - err := fmt.Errorf(str, funcName, err) + err := errors.Errorf(str, funcName, err) fmt.Fprintln(os.Stderr, err) return nil, nil, err } @@ -449,7 +449,7 @@ func loadConfig() (*Config, []string, error) { if numNets > 1 { str := "%s: The testnet, regtest, devnet, and simnet params " + "can't be used together -- choose one of the four" - err := fmt.Errorf(str, funcName) + err := errors.Errorf(str, funcName) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -464,7 +464,7 @@ func loadConfig() (*Config, []string, error) { case cfg.RelayNonStd && cfg.RejectNonStd: str := "%s: rejectnonstd and relaynonstd cannot be used " + "together -- choose only one" - err := fmt.Errorf(str, funcName) + err := errors.Errorf(str, funcName) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -501,7 +501,7 @@ func loadConfig() (*Config, []string, error) { // Parse, validate, and set debug log level(s). if err := logger.ParseAndSetDebugLevels(cfg.DebugLevel); err != nil { - err := fmt.Errorf("%s: %s", funcName, err.Error()) + err := errors.Errorf("%s: %s", funcName, err.Error()) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -511,7 +511,7 @@ func loadConfig() (*Config, []string, error) { if !validDbType(cfg.DbType) { str := "%s: The specified database type [%s] is invalid -- " + "supported types %s" - err := fmt.Errorf(str, funcName, cfg.DbType, knownDbTypes) + err := errors.Errorf(str, funcName, cfg.DbType, knownDbTypes) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -522,7 +522,7 @@ func loadConfig() (*Config, []string, error) { profilePort, err := strconv.Atoi(cfg.Profile) if err != nil || profilePort < 1024 || profilePort > 65535 { str := "%s: The profile port must be between 1024 and 65535" - err := fmt.Errorf(str, funcName) + err := errors.Errorf(str, funcName) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -532,7 +532,7 @@ func loadConfig() (*Config, []string, error) { // Don't allow ban durations that are too short. if cfg.BanDuration < time.Second { str := "%s: The banduration option may not be less than 1s -- parsed [%s]" - err := fmt.Errorf(str, funcName, cfg.BanDuration) + err := errors.Errorf(str, funcName, cfg.BanDuration) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -549,7 +549,7 @@ func loadConfig() (*Config, []string, error) { ip = net.ParseIP(addr) if ip == nil { str := "%s: The whitelist value of '%s' is invalid" - err = fmt.Errorf(str, funcName, addr) + err = errors.Errorf(str, funcName, addr) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -574,7 +574,7 @@ func loadConfig() (*Config, []string, error) { if len(cfg.AddPeers) > 0 && len(cfg.ConnectPeers) > 0 { str := "%s: the --addpeer and --connect options can not be " + "mixed" - err := fmt.Errorf(str, funcName) + err := errors.Errorf(str, funcName) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -604,7 +604,7 @@ func loadConfig() (*Config, []string, error) { if cfg.RPCUser == cfg.RPCLimitUser && cfg.RPCUser != "" { str := "%s: --rpcuser and --rpclimituser must not specify the " + "same username" - err := fmt.Errorf(str, funcName) + err := errors.Errorf(str, funcName) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -614,7 +614,7 @@ func loadConfig() (*Config, []string, error) { if cfg.RPCPass == cfg.RPCLimitPass && cfg.RPCPass != "" { str := "%s: --rpcpass and --rpclimitpass must not specify the " + "same password" - err := fmt.Errorf(str, funcName) + err := errors.Errorf(str, funcName) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -646,7 +646,7 @@ func loadConfig() (*Config, []string, error) { if cfg.RPCMaxConcurrentReqs < 0 { str := "%s: The rpcmaxwebsocketconcurrentrequests option may " + "not be less than 0 -- parsed [%d]" - err := fmt.Errorf(str, funcName, cfg.RPCMaxConcurrentReqs) + err := errors.Errorf(str, funcName, cfg.RPCMaxConcurrentReqs) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -656,7 +656,7 @@ func loadConfig() (*Config, []string, error) { cfg.MinRelayTxFee, err = util.NewAmount(cfg.configFlags.MinRelayTxFee) if err != nil { str := "%s: invalid minrelaytxfee: %s" - err := fmt.Errorf(str, funcName, err) + err := errors.Errorf(str, funcName, err) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -665,7 +665,7 @@ func loadConfig() (*Config, []string, error) { // Disallow 0 and negative min tx fees. if cfg.MinRelayTxFee <= 0 { str := "%s: The minrelaytxfee option must be greater than 0 -- parsed [%d]" - err := fmt.Errorf(str, funcName, cfg.MinRelayTxFee) + err := errors.Errorf(str, funcName, cfg.MinRelayTxFee) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -677,7 +677,7 @@ func loadConfig() (*Config, []string, error) { str := "%s: The blockmaxmass option must be in between %d " + "and %d -- parsed [%d]" - err := fmt.Errorf(str, funcName, blockMaxMassMin, + err := errors.Errorf(str, funcName, blockMaxMassMin, blockMaxMassMax, cfg.BlockMaxMass) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) @@ -688,7 +688,7 @@ func loadConfig() (*Config, []string, error) { if cfg.MaxOrphanTxs < 0 { str := "%s: The maxorphantx option may not be less than 0 " + "-- parsed [%d]" - err := fmt.Errorf(str, funcName, cfg.MaxOrphanTxs) + err := errors.Errorf(str, funcName, cfg.MaxOrphanTxs) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -697,7 +697,7 @@ func loadConfig() (*Config, []string, error) { // Look for illegal characters in the user agent comments. for _, uaComment := range cfg.UserAgentComments { if strings.ContainsAny(uaComment, "/:()") { - err := fmt.Errorf("%s: The following characters must not "+ + err := errors.Errorf("%s: The following characters must not "+ "appear in user agent comments: '/', ':', '(', ')'", funcName) fmt.Fprintln(os.Stderr, err) @@ -708,7 +708,7 @@ func loadConfig() (*Config, []string, error) { // --txindex and --droptxindex do not mix. if cfg.TxIndex && cfg.DropTxIndex { - err := fmt.Errorf("%s: the --txindex and --droptxindex "+ + err := errors.Errorf("%s: the --txindex and --droptxindex "+ "options may not be activated at the same time", funcName) fmt.Fprintln(os.Stderr, err) @@ -718,7 +718,7 @@ func loadConfig() (*Config, []string, error) { // --addrindex and --dropaddrindex do not mix. if cfg.AddrIndex && cfg.DropAddrIndex { - err := fmt.Errorf("%s: the --addrindex and --dropaddrindex "+ + err := errors.Errorf("%s: the --addrindex and --dropaddrindex "+ "options may not be activated at the same time", funcName) fmt.Fprintln(os.Stderr, err) @@ -728,7 +728,7 @@ func loadConfig() (*Config, []string, error) { // --addrindex and --droptxindex do not mix. if cfg.AddrIndex && cfg.DropTxIndex { - err := fmt.Errorf("%s: the --addrindex and --droptxindex "+ + err := errors.Errorf("%s: the --addrindex and --droptxindex "+ "options may not be activated at the same time "+ "because the address index relies on the transaction "+ "index", @@ -740,7 +740,7 @@ func loadConfig() (*Config, []string, error) { // --acceptanceindex and --dropacceptanceindex do not mix. if cfg.AcceptanceIndex && cfg.DropAcceptanceIndex { - err := fmt.Errorf("%s: the --acceptanceindex and --dropacceptanceindex "+ + err := errors.Errorf("%s: the --acceptanceindex and --dropacceptanceindex "+ "options may not be activated at the same time", funcName) fmt.Fprintln(os.Stderr, err) @@ -754,14 +754,14 @@ func loadConfig() (*Config, []string, error) { addr, err := util.DecodeAddress(strAddr, activeNetParams.Prefix) if err != nil { str := "%s: mining address '%s' failed to decode: %s" - err := fmt.Errorf(str, funcName, strAddr, err) + err := errors.Errorf(str, funcName, strAddr, err) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err } if !addr.IsForPrefix(activeNetParams.Prefix) { str := "%s: mining address '%s' is on the wrong network" - err := fmt.Errorf(str, funcName, strAddr) + err := errors.Errorf(str, funcName, strAddr) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -781,7 +781,7 @@ func loadConfig() (*Config, []string, error) { // Check that 'generate' and 'subnetwork' flags do not conflict if cfg.Generate && cfg.SubnetworkID != nil { str := "%s: both generate flag and subnetwork filtering are set " - err := fmt.Errorf(str, funcName) + err := errors.Errorf(str, funcName) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -792,7 +792,7 @@ func loadConfig() (*Config, []string, error) { if cfg.Generate && len(cfg.MiningAddrs) == 0 { str := "%s: the generate flag is set, but there are no mining " + "addresses specified " - err := fmt.Errorf(str, funcName) + err := errors.Errorf(str, funcName) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -821,7 +821,7 @@ func loadConfig() (*Config, []string, error) { if err != nil { str := "%s: RPC listen interface '%s' is " + "invalid: %s" - err := fmt.Errorf(str, funcName, addr, err) + err := errors.Errorf(str, funcName, addr, err) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -830,7 +830,7 @@ func loadConfig() (*Config, []string, error) { str := "%s: the --notls option may not be used " + "when binding RPC to non localhost " + "addresses: %s" - err := fmt.Errorf(str, funcName, addr) + err := errors.Errorf(str, funcName, addr) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -847,7 +847,7 @@ func loadConfig() (*Config, []string, error) { // --noonion and --onion do not mix. if cfg.NoOnion && cfg.OnionProxy != "" { - err := fmt.Errorf("%s: the --noonion and --onion options may "+ + err := errors.Errorf("%s: the --noonion and --onion options may "+ "not be activated at the same time", funcName) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) @@ -858,7 +858,7 @@ func loadConfig() (*Config, []string, error) { cfg.AddCheckpoints, err = parseCheckpoints(cfg.configFlags.AddCheckpoints) if err != nil { str := "%s: Error parsing checkpoints: %s" - err := fmt.Errorf(str, funcName, err) + err := errors.Errorf(str, funcName, err) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -868,7 +868,7 @@ func loadConfig() (*Config, []string, error) { if cfg.TorIsolation && cfg.Proxy == "" && cfg.OnionProxy == "" { str := "%s: Tor stream isolation requires either proxy or " + "onionproxy to be set" - err := fmt.Errorf(str, funcName) + err := errors.Errorf(str, funcName) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -886,7 +886,7 @@ func loadConfig() (*Config, []string, error) { _, _, err := net.SplitHostPort(cfg.Proxy) if err != nil { str := "%s: Proxy address '%s' is invalid: %s" - err := fmt.Errorf(str, funcName, cfg.Proxy, err) + err := errors.Errorf(str, funcName, cfg.Proxy, err) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err @@ -932,7 +932,7 @@ func loadConfig() (*Config, []string, error) { _, _, err := net.SplitHostPort(cfg.OnionProxy) if err != nil { str := "%s: Onion proxy address '%s' is invalid: %s" - err := fmt.Errorf(str, funcName, cfg.OnionProxy, err) + err := errors.Errorf(str, funcName, cfg.OnionProxy, err) fmt.Fprintln(os.Stderr, err) fmt.Fprintln(os.Stderr, usageMessage) return nil, nil, err diff --git a/connmgr/connmanager.go b/connmgr/connmanager.go index e4f596835..8303f7e26 100644 --- a/connmgr/connmanager.go +++ b/connmgr/connmanager.go @@ -5,8 +5,8 @@ package connmgr import ( - "errors" "fmt" + "github.com/pkg/errors" "net" "sync" "sync/atomic" diff --git a/connmgr/connmanager_test.go b/connmgr/connmanager_test.go index ae47bd0f7..3f8f7dbe8 100644 --- a/connmgr/connmanager_test.go +++ b/connmgr/connmanager_test.go @@ -5,8 +5,7 @@ package connmgr import ( - "errors" - "fmt" + "github.com/pkg/errors" "io" "net" "sync/atomic" @@ -434,7 +433,7 @@ func TestRemovePendingConnection(t *testing.T) { wait := make(chan struct{}) indefiniteDialer := func(addr net.Addr) (net.Conn, error) { <-wait - return nil, fmt.Errorf("error") + return nil, errors.Errorf("error") } cmgr, err := New(&Config{ Dial: indefiniteDialer, @@ -494,7 +493,7 @@ func TestCancelIgnoreDelayedConnection(t *testing.T) { default: } - return nil, fmt.Errorf("error") + return nil, errors.Errorf("error") } connected := make(chan *ConnReq) diff --git a/dagconfig/params.go b/dagconfig/params.go index 42e1c02c3..1df93c471 100644 --- a/dagconfig/params.go +++ b/dagconfig/params.go @@ -5,7 +5,7 @@ package dagconfig import ( - "errors" + "github.com/pkg/errors" "math" "math/big" "time" diff --git a/database/cmd/dbtool/fetchblock.go b/database/cmd/dbtool/fetchblock.go index 2b67dc14b..16c977bc8 100644 --- a/database/cmd/dbtool/fetchblock.go +++ b/database/cmd/dbtool/fetchblock.go @@ -6,7 +6,7 @@ package main import ( "encoding/hex" - "errors" + "github.com/pkg/errors" "time" "github.com/daglabs/btcd/database" diff --git a/database/cmd/dbtool/fetchblockregion.go b/database/cmd/dbtool/fetchblockregion.go index 7c697d912..2d2655c08 100644 --- a/database/cmd/dbtool/fetchblockregion.go +++ b/database/cmd/dbtool/fetchblockregion.go @@ -6,7 +6,7 @@ package main import ( "encoding/hex" - "errors" + "github.com/pkg/errors" "strconv" "time" diff --git a/database/cmd/dbtool/globalconfig.go b/database/cmd/dbtool/globalconfig.go index 1819788cd..807f186a8 100644 --- a/database/cmd/dbtool/globalconfig.go +++ b/database/cmd/dbtool/globalconfig.go @@ -5,8 +5,7 @@ package main import ( - "errors" - "fmt" + "github.com/pkg/errors" "os" "path/filepath" "strings" @@ -93,7 +92,7 @@ func setupGlobalConfig() error { if !validDbType(cfg.DbType) { str := "The specified database type [%s] is invalid -- " + "supported types: %s" - return fmt.Errorf(str, cfg.DbType, strings.Join(knownDbTypes, ", ")) + return errors.Errorf(str, cfg.DbType, strings.Join(knownDbTypes, ", ")) } // Append the network type to the data directory so it is "namespaced" diff --git a/database/cmd/dbtool/insecureimport.go b/database/cmd/dbtool/insecureimport.go index 640d192a7..f896fa367 100644 --- a/database/cmd/dbtool/insecureimport.go +++ b/database/cmd/dbtool/insecureimport.go @@ -6,7 +6,7 @@ package main import ( "encoding/binary" - "fmt" + "github.com/pkg/errors" "io" "os" "sync" @@ -72,7 +72,7 @@ func (bi *blockImporter) readBlock() ([]byte, error) { return nil, nil } if net != uint32(activeNetParams.Net) { - return nil, fmt.Errorf("network mismatch -- got %x, want %x", + return nil, errors.Errorf("network mismatch -- got %x, want %x", net, uint32(activeNetParams.Net)) } @@ -82,7 +82,7 @@ func (bi *blockImporter) readBlock() ([]byte, error) { return nil, err } if blockLen > wire.MaxMessagePayload { - return nil, fmt.Errorf("block payload of %d bytes is larger "+ + return nil, errors.Errorf("block payload of %d bytes is larger "+ "than the max allowed %d bytes", blockLen, wire.MaxMessagePayload) } @@ -137,7 +137,7 @@ func (bi *blockImporter) processBlock(serializedBlock []byte) (bool, error) { return false, err } if !exists { - return false, fmt.Errorf("import file contains block "+ + return false, errors.Errorf("import file contains block "+ "%s which does not link to the available "+ "block chain", parentHash) } @@ -164,7 +164,7 @@ out: // notify the status handler with the error and bail. serializedBlock, err := bi.readBlock() if err != nil { - bi.errChan <- fmt.Errorf("Error reading from input "+ + bi.errChan <- errors.Errorf("Error reading from input "+ "file: %s", err.Error()) break out } @@ -329,7 +329,7 @@ func (cmd *importCmd) Execute(args []string) error { // Ensure the specified block file exists. if !fileExists(cmd.InFile) { str := "The specified block file [%s] does not exist" - return fmt.Errorf(str, cmd.InFile) + return errors.Errorf(str, cmd.InFile) } // Load the block database. diff --git a/database/driver_test.go b/database/driver_test.go index 9989a3f46..2259326f6 100644 --- a/database/driver_test.go +++ b/database/driver_test.go @@ -5,7 +5,7 @@ package database_test import ( - "fmt" + "github.com/pkg/errors" "testing" "github.com/daglabs/btcd/database" @@ -54,7 +54,7 @@ func TestAddDuplicateDriver(t *testing.T) { // detected if the interface allows a duplicate driver to overwrite an // existing one. bogusCreateDB := func(args ...interface{}) (database.DB, error) { - return nil, fmt.Errorf("duplicate driver allowed for database "+ + return nil, errors.Errorf("duplicate driver allowed for database "+ "type [%v]", dbType) } @@ -80,7 +80,7 @@ func TestCreateOpenFail(t *testing.T) { // driver function that intentionally returns a failure which can be // detected. dbType := "createopenfail" - openError := fmt.Errorf("failed to create or open database for "+ + openError := errors.Errorf("failed to create or open database for "+ "database type [%v]", dbType) bogusCreateDB := func(args ...interface{}) (database.DB, error) { return nil, openError diff --git a/database/error_test.go b/database/error_test.go index 1cdf3acfb..e85d78f7a 100644 --- a/database/error_test.go +++ b/database/error_test.go @@ -5,7 +5,7 @@ package database import ( - "errors" + "github.com/pkg/errors" "testing" ) diff --git a/database/example_test.go b/database/example_test.go index ad4931493..f5a9acb19 100644 --- a/database/example_test.go +++ b/database/example_test.go @@ -7,6 +7,7 @@ package database_test import ( "bytes" "fmt" + "github.com/pkg/errors" "os" "path/filepath" @@ -83,7 +84,7 @@ func Example_basicUsage() { // Read the key back and ensure it matches. if !bytes.Equal(dbTx.Metadata().Get(key), value) { - return fmt.Errorf("unexpected value for key '%s'", key) + return errors.Errorf("unexpected value for key '%s'", key) } // Create a new nested bucket under the metadata bucket. @@ -96,7 +97,7 @@ func Example_basicUsage() { // The key from above that was set in the metadata bucket does // not exist in this new nested bucket. if nestedBucket.Get(key) != nil { - return fmt.Errorf("key '%s' is not expected nil", key) + return errors.Errorf("key '%s' is not expected nil", key) } return nil diff --git a/database/ffldb/blockio_test.go b/database/ffldb/blockio_test.go index 3d380501c..ccad25959 100644 --- a/database/ffldb/blockio_test.go +++ b/database/ffldb/blockio_test.go @@ -2,7 +2,7 @@ package ffldb import ( "container/list" - "errors" + "github.com/pkg/errors" "os" "sync" "testing" diff --git a/database/ffldb/db_test.go b/database/ffldb/db_test.go index 9086f7857..9ffc38043 100644 --- a/database/ffldb/db_test.go +++ b/database/ffldb/db_test.go @@ -2,8 +2,7 @@ package ffldb import ( "bytes" - "errors" - "fmt" + "github.com/pkg/errors" "testing" "bou.ke/monkey" @@ -622,11 +621,11 @@ func TestDeleteDoubleNestedBucket(t *testing.T) { metadata := dbTx.Metadata() firstBucket, err := metadata.CreateBucket(firstKey) if err != nil { - return fmt.Errorf("Error creating first bucket: %s", err) + return errors.Errorf("Error creating first bucket: %s", err) } secondBucket, err := firstBucket.CreateBucket(secondKey) if err != nil { - return fmt.Errorf("Error creating second bucket: %s", err) + return errors.Errorf("Error creating second bucket: %s", err) } secondBucket.Put(key, value) @@ -635,11 +634,11 @@ func TestDeleteDoubleNestedBucket(t *testing.T) { for ok := c.First(); ok && !bytes.Equal(c.Key(), key); ok = c.Next() { } if !bytes.Equal(c.Key(), key) { - return fmt.Errorf("Couldn't find key to extract rawKey") + return errors.Errorf("Couldn't find key to extract rawKey") } rawKey = c.(*cursor).rawKey() if dbTx.(*transaction).fetchKey(rawKey) == nil { - return fmt.Errorf("rawKey not found") + return errors.Errorf("rawKey not found") } // extract rawSecondKey from cursor and make sure it's in raw database @@ -647,11 +646,11 @@ func TestDeleteDoubleNestedBucket(t *testing.T) { for ok := c.First(); ok && !bytes.Equal(c.Key(), secondKey); ok = c.Next() { } if !bytes.Equal(c.Key(), secondKey) { - return fmt.Errorf("Couldn't find secondKey to extract rawSecondKey") + return errors.Errorf("Couldn't find secondKey to extract rawSecondKey") } rawSecondKey = c.(*cursor).rawKey() if dbTx.(*transaction).fetchKey(rawSecondKey) == nil { - return fmt.Errorf("rawSecondKey not found for some reason") + return errors.Errorf("rawSecondKey not found for some reason") } return nil diff --git a/database/ffldb/dbcache_test.go b/database/ffldb/dbcache_test.go index 5d48ef486..2f8c6407f 100644 --- a/database/ffldb/dbcache_test.go +++ b/database/ffldb/dbcache_test.go @@ -2,7 +2,7 @@ package ffldb import ( "bytes" - "errors" + "github.com/pkg/errors" "testing" "bou.ke/monkey" diff --git a/database/ffldb/driver.go b/database/ffldb/driver.go index 401ffa083..55a178ccf 100644 --- a/database/ffldb/driver.go +++ b/database/ffldb/driver.go @@ -5,10 +5,9 @@ package ffldb import ( - "fmt" - "github.com/daglabs/btcd/database" "github.com/daglabs/btcd/wire" + "github.com/pkg/errors" ) const ( @@ -18,20 +17,20 @@ const ( // parseArgs parses the arguments from the database Open/Create methods. func parseArgs(funcName string, args ...interface{}) (string, wire.BitcoinNet, error) { if len(args) != 2 { - return "", 0, fmt.Errorf("invalid arguments to %s.%s -- "+ + return "", 0, errors.Errorf("invalid arguments to %s.%s -- "+ "expected database path and block network", dbType, funcName) } dbPath, ok := args[0].(string) if !ok { - return "", 0, fmt.Errorf("first argument to %s.%s is invalid -- "+ + return "", 0, errors.Errorf("first argument to %s.%s is invalid -- "+ "expected database path string", dbType, funcName) } network, ok := args[1].(wire.BitcoinNet) if !ok { - return "", 0, fmt.Errorf("second argument to %s.%s is invalid -- "+ + return "", 0, errors.Errorf("second argument to %s.%s is invalid -- "+ "expected block network", dbType, funcName) } diff --git a/database/ffldb/driver_test.go b/database/ffldb/driver_test.go index cd79929f7..5dbbb3768 100644 --- a/database/ffldb/driver_test.go +++ b/database/ffldb/driver_test.go @@ -5,7 +5,7 @@ package ffldb_test import ( - "fmt" + "github.com/pkg/errors" "os" "path/filepath" "reflect" @@ -36,7 +36,7 @@ func TestCreateOpenFail(t *testing.T) { // Ensure that attempting to open a database with the wrong number of // parameters returns the expected error. - wantErr := fmt.Errorf("invalid arguments to %s.Open -- expected "+ + wantErr := errors.Errorf("invalid arguments to %s.Open -- expected "+ "database path and block network", dbType) _, err = database.Open(dbType, 1, 2, 3) if err.Error() != wantErr.Error() { @@ -47,7 +47,7 @@ func TestCreateOpenFail(t *testing.T) { // Ensure that attempting to open a database with an invalid type for // the first parameter returns the expected error. - wantErr = fmt.Errorf("first argument to %s.Open is invalid -- "+ + wantErr = errors.Errorf("first argument to %s.Open is invalid -- "+ "expected database path string", dbType) _, err = database.Open(dbType, 1, blockDataNet) if err.Error() != wantErr.Error() { @@ -58,7 +58,7 @@ func TestCreateOpenFail(t *testing.T) { // Ensure that attempting to open a database with an invalid type for // the second parameter returns the expected error. - wantErr = fmt.Errorf("second argument to %s.Open is invalid -- "+ + wantErr = errors.Errorf("second argument to %s.Open is invalid -- "+ "expected block network", dbType) _, err = database.Open(dbType, "noexist", "invalid") if err.Error() != wantErr.Error() { @@ -69,7 +69,7 @@ func TestCreateOpenFail(t *testing.T) { // Ensure that attempting to create a database with the wrong number of // parameters returns the expected error. - wantErr = fmt.Errorf("invalid arguments to %s.Create -- expected "+ + wantErr = errors.Errorf("invalid arguments to %s.Create -- expected "+ "database path and block network", dbType) _, err = database.Create(dbType, 1, 2, 3) if err.Error() != wantErr.Error() { @@ -80,7 +80,7 @@ func TestCreateOpenFail(t *testing.T) { // Ensure that attempting to create a database with an invalid type for // the first parameter returns the expected error. - wantErr = fmt.Errorf("first argument to %s.Create is invalid -- "+ + wantErr = errors.Errorf("first argument to %s.Create is invalid -- "+ "expected database path string", dbType) _, err = database.Create(dbType, 1, blockDataNet) if err.Error() != wantErr.Error() { @@ -91,7 +91,7 @@ func TestCreateOpenFail(t *testing.T) { // Ensure that attempting to create a database with an invalid type for // the second parameter returns the expected error. - wantErr = fmt.Errorf("second argument to %s.Create is invalid -- "+ + wantErr = errors.Errorf("second argument to %s.Create is invalid -- "+ "expected block network", dbType) _, err = database.Create(dbType, "noexist", "invalid") if err.Error() != wantErr.Error() { @@ -176,25 +176,25 @@ func TestPersistence(t *testing.T) { err = db.Update(func(dbTx database.Tx) error { metadataBucket := dbTx.Metadata() if metadataBucket == nil { - return fmt.Errorf("Metadata: unexpected nil bucket") + return errors.Errorf("Metadata: unexpected nil bucket") } bucket1, err := metadataBucket.CreateBucket(bucket1Key) if err != nil { - return fmt.Errorf("CreateBucket: unexpected error: %v", + return errors.Errorf("CreateBucket: unexpected error: %v", err) } for k, v := range storeValues { err := bucket1.Put([]byte(k), []byte(v)) if err != nil { - return fmt.Errorf("Put: unexpected error: %v", + return errors.Errorf("Put: unexpected error: %v", err) } } if err := dbTx.StoreBlock(genesisBlock); err != nil { - return fmt.Errorf("StoreBlock: unexpected error: %v", + return errors.Errorf("StoreBlock: unexpected error: %v", err) } @@ -219,18 +219,18 @@ func TestPersistence(t *testing.T) { err = db.View(func(dbTx database.Tx) error { metadataBucket := dbTx.Metadata() if metadataBucket == nil { - return fmt.Errorf("Metadata: unexpected nil bucket") + return errors.Errorf("Metadata: unexpected nil bucket") } bucket1 := metadataBucket.Bucket(bucket1Key) if bucket1 == nil { - return fmt.Errorf("Bucket1: unexpected nil bucket") + return errors.Errorf("Bucket1: unexpected nil bucket") } for k, v := range storeValues { gotVal := bucket1.Get([]byte(k)) if !reflect.DeepEqual(gotVal, []byte(v)) { - return fmt.Errorf("Get: key '%s' does not "+ + return errors.Errorf("Get: key '%s' does not "+ "match expected value - got %s, want %s", k, gotVal, v) } @@ -239,11 +239,11 @@ func TestPersistence(t *testing.T) { genesisBlockBytes, _ := genesisBlock.Bytes() gotBytes, err := dbTx.FetchBlock(genesisHash) if err != nil { - return fmt.Errorf("FetchBlock: unexpected error: %v", + return errors.Errorf("FetchBlock: unexpected error: %v", err) } if !reflect.DeepEqual(gotBytes, genesisBlockBytes) { - return fmt.Errorf("FetchBlock: stored block mismatch") + return errors.Errorf("FetchBlock: stored block mismatch") } return nil diff --git a/database/ffldb/init_test.go b/database/ffldb/init_test.go index f5c1571b6..4a8710f6b 100644 --- a/database/ffldb/init_test.go +++ b/database/ffldb/init_test.go @@ -1,7 +1,7 @@ package ffldb import ( - "errors" + "github.com/pkg/errors" "testing" "bou.ke/monkey" diff --git a/database/ffldb/interface_test.go b/database/ffldb/interface_test.go index 8b6916f95..61c2b77d6 100644 --- a/database/ffldb/interface_test.go +++ b/database/ffldb/interface_test.go @@ -17,6 +17,7 @@ import ( "compress/bzip2" "encoding/binary" "fmt" + "github.com/pkg/errors" "io" "os" "path/filepath" @@ -41,7 +42,7 @@ var ( blockDataFile = filepath.Join("..", "testdata", "blocks1-256.bz2") // errSubTestFail is used to signal that a sub test returned false. - errSubTestFail = fmt.Errorf("sub test failure") + errSubTestFail = errors.Errorf("sub test failure") ) // loadBlocks loads the blocks contained in the testdata directory and returns @@ -427,7 +428,7 @@ func testBucketInterface(tc *testContext, bucket database.Bucket) bool { // Ensure errors returned from the user-supplied ForEach // function are returned. - forEachError := fmt.Errorf("example foreach error") + forEachError := errors.Errorf("example foreach error") err := bucket.ForEach(func(k, v []byte) error { return forEachError }) @@ -443,12 +444,12 @@ func testBucketInterface(tc *testContext, bucket database.Bucket) bool { err = bucket.ForEach(func(k, v []byte) error { wantV, found := lookupKey(k, expectedKeyValues) if !found { - return fmt.Errorf("ForEach: key '%s' should "+ + return errors.Errorf("ForEach: key '%s' should "+ "exist", k) } if !reflect.DeepEqual(v, wantV) { - return fmt.Errorf("ForEach: value for key '%s' "+ + return errors.Errorf("ForEach: value for key '%s' "+ "does not match - got %s, want %s", k, v, wantV) } @@ -935,12 +936,12 @@ func testMetadataTxInterface(tc *testContext) bool { err = tc.db.View(func(dbTx database.Tx) error { metadataBucket := dbTx.Metadata() if metadataBucket == nil { - return fmt.Errorf("Metadata: unexpected nil bucket") + return errors.Errorf("Metadata: unexpected nil bucket") } bucket1 := metadataBucket.Bucket(bucket1Name) if bucket1 == nil { - return fmt.Errorf("Bucket1: unexpected nil bucket") + return errors.Errorf("Bucket1: unexpected nil bucket") } tc.isWritable = false @@ -959,7 +960,7 @@ func testMetadataTxInterface(tc *testContext) bool { // Ensure errors returned from the user-supplied View function are // returned. - viewError := fmt.Errorf("example view error") + viewError := errors.Errorf("example view error") err = tc.db.View(func(dbTx database.Tx) error { return viewError }) @@ -972,16 +973,16 @@ func testMetadataTxInterface(tc *testContext) bool { // Test the bucket interface via a managed read-write transaction. // Also, put a series of values and force a rollback so the following // code can ensure the values were not stored. - forceRollbackError := fmt.Errorf("force rollback") + forceRollbackError := errors.Errorf("force rollback") err = tc.db.Update(func(dbTx database.Tx) error { metadataBucket := dbTx.Metadata() if metadataBucket == nil { - return fmt.Errorf("Metadata: unexpected nil bucket") + return errors.Errorf("Metadata: unexpected nil bucket") } bucket1 := metadataBucket.Bucket(bucket1Name) if bucket1 == nil { - return fmt.Errorf("Bucket1: unexpected nil bucket") + return errors.Errorf("Bucket1: unexpected nil bucket") } tc.isWritable = true @@ -1011,7 +1012,7 @@ func testMetadataTxInterface(tc *testContext) bool { err = tc.db.View(func(dbTx database.Tx) error { metadataBucket := dbTx.Metadata() if metadataBucket == nil { - return fmt.Errorf("Metadata: unexpected nil bucket") + return errors.Errorf("Metadata: unexpected nil bucket") } if !testGetValues(tc, metadataBucket, rollbackValues(keyValues)) { @@ -1031,12 +1032,12 @@ func testMetadataTxInterface(tc *testContext) bool { err = tc.db.Update(func(dbTx database.Tx) error { metadataBucket := dbTx.Metadata() if metadataBucket == nil { - return fmt.Errorf("Metadata: unexpected nil bucket") + return errors.Errorf("Metadata: unexpected nil bucket") } bucket1 := metadataBucket.Bucket(bucket1Name) if bucket1 == nil { - return fmt.Errorf("Bucket1: unexpected nil bucket") + return errors.Errorf("Bucket1: unexpected nil bucket") } if !testPutValues(tc, bucket1, keyValues) { @@ -1056,12 +1057,12 @@ func testMetadataTxInterface(tc *testContext) bool { err = tc.db.View(func(dbTx database.Tx) error { metadataBucket := dbTx.Metadata() if metadataBucket == nil { - return fmt.Errorf("Metadata: unexpected nil bucket") + return errors.Errorf("Metadata: unexpected nil bucket") } bucket1 := metadataBucket.Bucket(bucket1Name) if bucket1 == nil { - return fmt.Errorf("Bucket1: unexpected nil bucket") + return errors.Errorf("Bucket1: unexpected nil bucket") } if !testGetValues(tc, bucket1, toGetValues(keyValues)) { @@ -1081,12 +1082,12 @@ func testMetadataTxInterface(tc *testContext) bool { err = tc.db.Update(func(dbTx database.Tx) error { metadataBucket := dbTx.Metadata() if metadataBucket == nil { - return fmt.Errorf("Metadata: unexpected nil bucket") + return errors.Errorf("Metadata: unexpected nil bucket") } bucket1 := metadataBucket.Bucket(bucket1Name) if bucket1 == nil { - return fmt.Errorf("Bucket1: unexpected nil bucket") + return errors.Errorf("Bucket1: unexpected nil bucket") } if !testDeleteValues(tc, bucket1, keyValues) { @@ -1533,7 +1534,7 @@ func testBlockIOTxInterface(tc *testContext) bool { // fetching APIs work properly on them within the transaction before a // commit or rollback. Then, force a rollback so the code below can // ensure none of the data actually gets stored. - forceRollbackError := fmt.Errorf("force rollback") + forceRollbackError := errors.Errorf("force rollback") err = tc.db.Update(func(dbTx database.Tx) error { // Store all blocks in the same transaction. for i, block := range tc.blocks { @@ -2102,7 +2103,7 @@ func testConcurrecy(tc *testContext) bool { // place, the data it added should not be visible. val := dbTx.Metadata().Get(concurrentKey) if val != nil { - return fmt.Errorf("%s should not be visible", + return errors.Errorf("%s should not be visible", concurrentKey) } return nil diff --git a/database/ffldb/mockfile_test.go b/database/ffldb/mockfile_test.go index 15fbd6e5a..4c93fc4aa 100644 --- a/database/ffldb/mockfile_test.go +++ b/database/ffldb/mockfile_test.go @@ -8,7 +8,7 @@ package ffldb import ( - "errors" + "github.com/pkg/errors" "io" "sync" ) diff --git a/database/ffldb/whitebox_test.go b/database/ffldb/whitebox_test.go index fa0048742..7208c49b9 100644 --- a/database/ffldb/whitebox_test.go +++ b/database/ffldb/whitebox_test.go @@ -11,6 +11,7 @@ import ( "compress/bzip2" "encoding/binary" "fmt" + "github.com/pkg/errors" "hash/crc32" "io" "os" @@ -34,7 +35,7 @@ var ( blockDataFile = filepath.Join("..", "testdata", "blocks1-256.bz2") // errSubTestFail is used to signal that a sub test returned false. - errSubTestFail = fmt.Errorf("sub test failure") + errSubTestFail = errors.Errorf("sub test failure") ) // loadBlocks loads the blocks contained in the testdata directory and returns diff --git a/database/testdata/generator.go b/database/testdata/generator.go index dc7e83c02..8752ba76e 100644 --- a/database/testdata/generator.go +++ b/database/testdata/generator.go @@ -20,12 +20,12 @@ func main() { out, err := os.Create(targetFile) if err != nil { - panic(fmt.Errorf("error reading target file: %s", err)) + panic(errors.Errorf("error reading target file: %s", err)) } defer func() { err := out.Close() if err != nil { - panic(fmt.Errorf("error closing target file: %s", err)) + panic(errors.Errorf("error closing target file: %s", err)) } }() @@ -65,24 +65,24 @@ func writeBlock(out *os.File, block *wire.MsgBlock) { err := block.Serialize(buf) if err != nil { - panic(fmt.Errorf("error serializing block: %s", err)) + panic(errors.Errorf("error serializing block: %s", err)) } err = binary.Write(out, binary.LittleEndian, blockLen) if err != nil { - panic(fmt.Errorf("error writing blockLen: %s", err)) + panic(errors.Errorf("error writing blockLen: %s", err)) } _, err = out.Write(buf.Bytes()) if err != nil { - panic(fmt.Errorf("error writing block: %s", err)) + panic(errors.Errorf("error writing block: %s", err)) } } func writeNet(out *os.File) { err := binary.Write(out, binary.LittleEndian, wire.MainNet) if err != nil { - panic(fmt.Errorf("error writing net to file: %s", err)) + panic(errors.Errorf("error writing net to file: %s", err)) } } diff --git a/dnsseeder/config.go b/dnsseeder/config.go index 94a2d5d12..8d4557a0b 100644 --- a/dnsseeder/config.go +++ b/dnsseeder/config.go @@ -6,6 +6,7 @@ package main import ( "fmt" + "github.com/pkg/errors" "net" "os" "path/filepath" @@ -55,12 +56,12 @@ func loadConfig() (*config, error) { if e, ok := err.(*os.PathError); ok && os.IsExist(err) { if link, lerr := os.Readlink(e.Path); lerr == nil { str := "is symlink %s -> %s mounted?" - err = fmt.Errorf(str, e.Path, link) + err = errors.Errorf(str, e.Path, link) } } str := "failed to create home directory: %v" - err := fmt.Errorf(str, err) + err := errors.Errorf(str, err) fmt.Fprintln(os.Stderr, err) return nil, err } @@ -109,14 +110,14 @@ func loadConfig() (*config, error) { if len(cfg.Host) == 0 { str := "Please specify a hostname" - err := fmt.Errorf(str) + err := errors.Errorf(str) fmt.Fprintln(os.Stderr, err) return nil, err } if len(cfg.Nameserver) == 0 { str := "Please specify a nameserver" - err := fmt.Errorf(str) + err := errors.Errorf(str) fmt.Fprintln(os.Stderr, err) return nil, err } @@ -125,7 +126,7 @@ func loadConfig() (*config, error) { if cfg.TestNet && cfg.DevNet { str := "Both testnet and devnet are specified" - err := fmt.Errorf(str) + err := errors.Errorf(str) fmt.Fprintln(os.Stderr, err) return nil, err } else if cfg.TestNet { diff --git a/dnsseeder/dns.go b/dnsseeder/dns.go index 91bcdc6ac..bbeead431 100644 --- a/dnsseeder/dns.go +++ b/dnsseeder/dns.go @@ -6,6 +6,7 @@ package main import ( "fmt" + "github.com/pkg/errors" "net" "os" "strconv" @@ -138,14 +139,14 @@ func (d *DNSServer) validateDNSRequest(addr *net.UDPAddr, b []byte) (dnsMsg *dns if len(dnsMsg.Question) != 1 { str := fmt.Sprintf("%s sent more than 1 question: %d", addr, len(dnsMsg.Question)) log.Infof("%s", str) - return nil, "", "", fmt.Errorf("%s", str) + return nil, "", "", errors.Errorf("%s", str) } domainName = strings.ToLower(dnsMsg.Question[0].Name) ff := strings.LastIndex(domainName, d.hostname) if ff < 0 { str := fmt.Sprintf("invalid name: %s", dnsMsg.Question[0].Name) log.Infof("%s", str) - return nil, "", "", fmt.Errorf("%s", str) + return nil, "", "", errors.Errorf("%s", str) } atype, err = translateDNSQuestion(addr, dnsMsg) return dnsMsg, domainName, atype, err @@ -164,7 +165,7 @@ func translateDNSQuestion(addr *net.UDPAddr, dnsMsg *dns.Msg) (string, error) { default: str := fmt.Sprintf("%s: invalid qtype: %d", addr, dnsMsg.Question[0].Qtype) log.Infof("%s", str) - return "", fmt.Errorf("%s", str) + return "", errors.Errorf("%s", str) } return atype, nil } diff --git a/dnsseeder/manager.go b/dnsseeder/manager.go index 1320d9875..408e3692e 100644 --- a/dnsseeder/manager.go +++ b/dnsseeder/manager.go @@ -6,7 +6,7 @@ package main import ( "encoding/json" - "fmt" + "github.com/pkg/errors" "net" "os" "path/filepath" @@ -328,7 +328,7 @@ func (m *Manager) deserializePeers() error { } r, err := os.Open(filePath) if err != nil { - return fmt.Errorf("%s error opening file: %v", filePath, err) + return errors.Errorf("%s error opening file: %v", filePath, err) } defer r.Close() @@ -336,7 +336,7 @@ func (m *Manager) deserializePeers() error { dec := json.NewDecoder(r) err = dec.Decode(&nodes) if err != nil { - return fmt.Errorf("error reading %s: %v", filePath, err) + return errors.Errorf("error reading %s: %v", filePath, err) } l := len(nodes) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index f458d7e87..7e39ae02e 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -2,7 +2,7 @@ version: '3' services: first: image: btcd:latest - security_opt: + security_opt: - apparmor=unconfined cap_add: - SYS_PTRACE @@ -24,7 +24,7 @@ services: second: image: btcd:latest links: ["first"] - security_opt: + security_opt: - apparmor=unconfined cap_add: - SYS_PTRACE @@ -45,14 +45,14 @@ services: second-debug: image: btcd:latest links: ["first"] - security_opt: + security_opt: - apparmor=unconfined cap_add: - SYS_PTRACE command: [ - "dlv", - "--listen=:40000", - "--api-version=2", + "dlv", + "--listen=:40000", + "--api-version=2", "--headless=true", "exec", "./btcd", diff --git a/faucet/database/database.go b/faucet/database/database.go index 4e669725b..6bbd3ed93 100644 --- a/faucet/database/database.go +++ b/faucet/database/database.go @@ -1,8 +1,8 @@ package database import ( - "errors" "fmt" + "github.com/pkg/errors" "os" "github.com/daglabs/btcd/faucet/config" @@ -43,10 +43,10 @@ func Connect() error { } isCurrent, version, err := isCurrent(migrator, driver) if err != nil { - return fmt.Errorf("Error checking whether the database is current: %s", err) + return errors.Errorf("Error checking whether the database is current: %s", err) } if !isCurrent { - return fmt.Errorf("Database is not current (version %d). Please migrate"+ + return errors.Errorf("Database is not current (version %d). Please migrate"+ " the database by running the faucet with --migrate flag and then run it again.", version) } @@ -90,7 +90,7 @@ func isCurrent(migrator *migrate.Migrate, driver source.Driver) (bool, uint, err return false, 0, err } if isDirty { - return false, 0, fmt.Errorf("Database is dirty") + return false, 0, errors.Errorf("Database is dirty") } // The database is current if Next returns ErrNotExist @@ -128,7 +128,7 @@ func Migrate() error { } isCurrent, version, err := isCurrent(migrator, driver) if err != nil { - return fmt.Errorf("Error checking whether the database is current: %s", err) + return errors.Errorf("Error checking whether the database is current: %s", err) } if isCurrent { log.Infof("Database is already up-to-date (version %d)", version) @@ -143,7 +143,7 @@ func Migrate() error { return err } if isDirty { - return fmt.Errorf("error migrating database: database is dirty") + return errors.Errorf("error migrating database: database is dirty") } log.Infof("Migrated database to the latest version (version %d)", version) return nil diff --git a/faucet/faucet.go b/faucet/faucet.go index a7822e83a..87864eb11 100644 --- a/faucet/faucet.go +++ b/faucet/faucet.go @@ -219,7 +219,7 @@ func signTx(walletUTXOSet utxoSet, tx *wire.MsgTx) error { sigScript, err := txscript.SignatureScript(tx, i, walletUTXOSet[outpoint].ScriptPubKey(), txscript.SigHashAll, faucetPrivateKey, true) if err != nil { - return fmt.Errorf("Failed to sign transaction: %s", err) + return errors.Errorf("Failed to sign transaction: %s", err) } txIn.SignatureScript = sigScript } diff --git a/faucet/main.go b/faucet/main.go index a64a2a7b8..827d7b6a7 100644 --- a/faucet/main.go +++ b/faucet/main.go @@ -47,19 +47,19 @@ func main() { if cfg.Migrate { err := database.Migrate() if err != nil { - panic(fmt.Errorf("Error migrating database: %s", err)) + panic(errors.Errorf("Error migrating database: %s", err)) } return } err = database.Connect() if err != nil { - panic(fmt.Errorf("Error connecting to database: %s", err)) + panic(errors.Errorf("Error connecting to database: %s", err)) } defer func() { err := database.Close() if err != nil { - panic(fmt.Errorf("Error closing the database: %s", err)) + panic(errors.Errorf("Error closing the database: %s", err)) } }() @@ -68,12 +68,12 @@ func main() { faucetAddress, err = privateKeyToP2PKHAddress(faucetPrivateKey, config.ActiveNetParams()) if err != nil { - panic(fmt.Errorf("Failed to get P2PKH address from private key: %s", err)) + panic(errors.Errorf("Failed to get P2PKH address from private key: %s", err)) } faucetScriptPubKey, err = txscript.PayToAddrScript(faucetAddress) if err != nil { - panic(fmt.Errorf("failed to generate faucetScriptPubKey to address: %s", err)) + panic(errors.Errorf("failed to generate faucetScriptPubKey to address: %s", err)) } shutdownServer := startHTTPServer(cfg.HTTPListen) diff --git a/httpserverutils/error.go b/httpserverutils/error.go index 5a1c6786a..d14b91b1d 100644 --- a/httpserverutils/error.go +++ b/httpserverutils/error.go @@ -4,6 +4,7 @@ import ( "encoding/json" "fmt" "github.com/jinzhu/gorm" + "github.com/pkg/errors" "net/http" "strings" ) @@ -54,7 +55,7 @@ func NewErrorFromDBErrors(prefix string, dbErrors []error) error { for i, dbErr := range dbErrors { dbErrorsStrings[i] = fmt.Sprintf("\"%s\"", dbErr) } - return fmt.Errorf("%s [%s]", prefix, strings.Join(dbErrorsStrings, ",")) + return errors.Errorf("%s [%s]", prefix, strings.Join(dbErrorsStrings, ",")) } // NewHandlerErrorFromDBErrors takes a slice of database errors and a prefix, and diff --git a/integration/bip0009_test.go b/integration/bip0009_test.go index 0b2f1aceb..0def1e33f 100644 --- a/integration/bip0009_test.go +++ b/integration/bip0009_test.go @@ -8,7 +8,6 @@ package integration import ( - "fmt" "runtime" "testing" "time" @@ -80,7 +79,7 @@ func thresholdStateToStatus(state blockdag.ThresholdState) (string, error) { return "failed", nil } - return "", fmt.Errorf("unrecognized threshold state: %v", state) + return "", errors.Errorf("unrecognized threshold state: %v", state) } // assertSoftForkStatus retrieves the current blockchain info from the given diff --git a/integration/rpctest/blockgen.go b/integration/rpctest/blockgen.go index b41a45739..74743fe15 100644 --- a/integration/rpctest/blockgen.go +++ b/integration/rpctest/blockgen.go @@ -5,7 +5,7 @@ package rpctest import ( - "errors" + "github.com/pkg/errors" "math" "math/big" "runtime" diff --git a/integration/rpctest/btcd.go b/integration/rpctest/btcd.go index 026b42d89..602842d1a 100644 --- a/integration/rpctest/btcd.go +++ b/integration/rpctest/btcd.go @@ -5,7 +5,7 @@ package rpctest import ( - "fmt" + "github.com/pkg/errors" "go/build" "os/exec" "path/filepath" @@ -48,12 +48,12 @@ func btcdExecutablePath() (string, error) { // this is a forked repo. _, rpctestDir, _, ok := runtime.Caller(1) if !ok { - return "", fmt.Errorf("Cannot get path to btcd source code") + return "", errors.Errorf("Cannot get path to btcd source code") } btcdPkgPath := filepath.Join(rpctestDir, "..", "..", "..") btcdPkg, err := build.ImportDir(btcdPkgPath, build.FindOnly) if err != nil { - return "", fmt.Errorf("Failed to build btcd: %s", err) + return "", errors.Errorf("Failed to build btcd: %s", err) } // Build btcd and output an executable in a static temp path. @@ -64,7 +64,7 @@ func btcdExecutablePath() (string, error) { cmd := exec.Command("go", "build", "-o", outputPath, btcdPkg.ImportPath) err = cmd.Run() if err != nil { - return "", fmt.Errorf("Failed to build btcd: %s", err) + return "", errors.Errorf("Failed to build btcd: %s", err) } // Save executable path so future calls do not recompile. diff --git a/integration/rpctest/memwallet.go b/integration/rpctest/memwallet.go index 7790b76ba..d2e86c563 100644 --- a/integration/rpctest/memwallet.go +++ b/integration/rpctest/memwallet.go @@ -7,7 +7,7 @@ package rpctest import ( "bytes" "encoding/binary" - "fmt" + "github.com/pkg/errors" "sync" "github.com/daglabs/btcd/btcec" @@ -399,7 +399,7 @@ func (m *memWallet) fundTx(tx *wire.MsgTx, amt util.Amount, feeRate util.Amount) // If we've reached this point, then coin selection failed due to an // insufficient amount of coins. - return fmt.Errorf("not enough funds for coin selection") + return errors.Errorf("not enough funds for coin selection") } // SendOutputs creates, then sends a transaction paying to the specified output diff --git a/integration/rpctest/rpc_harness.go b/integration/rpctest/rpc_harness.go index cace0af16..7e9cb67df 100644 --- a/integration/rpctest/rpc_harness.go +++ b/integration/rpctest/rpc_harness.go @@ -6,6 +6,7 @@ package rpctest import ( "fmt" + "github.com/pkg/errors" "io/ioutil" "net" "os" @@ -116,7 +117,7 @@ func New(activeNet *dagconfig.Params, handlers *rpcclient.NotificationHandlers, case wire.SimNet: extraArgs = append(extraArgs, "--simnet") default: - return nil, fmt.Errorf("rpctest.New must be called with one " + + return nil, errors.Errorf("rpctest.New must be called with one " + "of the supported chain networks") } @@ -314,7 +315,7 @@ func (h *Harness) connectRPCClient() error { } if client == nil { - return fmt.Errorf("connection timeout") + return errors.Errorf("connection timeout") } h.Node = client diff --git a/limits/limits_unix.go b/limits/limits_unix.go index 0dbffd84d..b0f631e3a 100644 --- a/limits/limits_unix.go +++ b/limits/limits_unix.go @@ -7,7 +7,7 @@ package limits import ( - "fmt" + "github.com/pkg/errors" "syscall" ) @@ -29,7 +29,7 @@ func SetLimits() error { return nil } if rLimit.Max < fileLimitMin { - err = fmt.Errorf("need at least %d file descriptors", + err = errors.Errorf("need at least %d file descriptors", fileLimitMin) return err } diff --git a/logger/logger.go b/logger/logger.go index 23148bcb4..8de95d84e 100644 --- a/logger/logger.go +++ b/logger/logger.go @@ -7,6 +7,7 @@ package logger import ( "fmt" + "github.com/pkg/errors" "os" "sort" "strings" @@ -193,7 +194,7 @@ func ParseAndSetDebugLevels(debugLevel string) error { // Validate debug log level. if !validLogLevel(debugLevel) { str := "The specified debug level [%s] is invalid" - return fmt.Errorf(str, debugLevel) + return errors.Errorf(str, debugLevel) } // Change the logging level for all subsystems. @@ -208,7 +209,7 @@ func ParseAndSetDebugLevels(debugLevel string) error { if !strings.Contains(logLevelPair, "=") { str := "The specified debug level contains an invalid " + "subsystem/level pair [%s]" - return fmt.Errorf(str, logLevelPair) + return errors.Errorf(str, logLevelPair) } // Extract the specified subsystem and log level. @@ -219,13 +220,13 @@ func ParseAndSetDebugLevels(debugLevel string) error { if _, exists := Get(subsysID); !exists { str := "The specified subsystem [%s] is invalid -- " + "supported subsytems %s" - return fmt.Errorf(str, subsysID, strings.Join(SupportedSubsystems(), ", ")) + return errors.Errorf(str, subsysID, strings.Join(SupportedSubsystems(), ", ")) } // Validate log level. if !validLogLevel(logLevel) { str := "The specified debug level [%s] is invalid" - return fmt.Errorf(str, logLevel) + return errors.Errorf(str, logLevel) } SetLogLevel(subsysID, logLevel) diff --git a/logs/logs.go b/logs/logs.go index 670c69c6b..fc43b432e 100644 --- a/logs/logs.go +++ b/logs/logs.go @@ -35,6 +35,7 @@ package logs import ( "bytes" "fmt" + "github.com/pkg/errors" "os" "path/filepath" "runtime" @@ -270,11 +271,11 @@ func (b *Backend) AddLogFile(logFile string, logLevel Level) error { logDir, _ := filepath.Split(logFile) err := os.MkdirAll(logDir, 0700) if err != nil { - return fmt.Errorf("failed to create log directory: %s", err) + return errors.Errorf("failed to create log directory: %s", err) } r, err := rotator.New(logFile, 10*1024, false, 3) if err != nil { - return fmt.Errorf("failed to create file rotator: %s", err) + return errors.Errorf("failed to create file rotator: %s", err) } b.rotators = append(b.rotators, &backendLogRotator{ Rotator: r, diff --git a/mempool/mempool.go b/mempool/mempool.go index d2702da43..f616c4574 100644 --- a/mempool/mempool.go +++ b/mempool/mempool.go @@ -7,6 +7,7 @@ package mempool import ( "container/list" "fmt" + "github.com/pkg/errors" "sync" "sync/atomic" "time" @@ -544,12 +545,12 @@ func (mp *TxPool) removeTransactionWithDiff(tx *util.Tx, diff *blockdag.UTXODiff err := mp.removeTransactionUTXOEntriesFromDiff(tx, diff) if err != nil { - return fmt.Errorf("could not remove UTXOEntry from diff: %s", err) + return errors.Errorf("could not remove UTXOEntry from diff: %s", err) } err = mp.markTransactionOutputsUnspent(tx, diff, restoreInputs) if err != nil { - return fmt.Errorf("could not mark transaction output as unspent: %s", err) + return errors.Errorf("could not mark transaction output as unspent: %s", err) } txDesc, _ := mp.fetchTransaction(txID) @@ -714,7 +715,7 @@ func (mp *TxPool) addTransaction(tx *util.Tx, height uint64, blueScore uint64, f if isAccepted, err := mp.mpUTXOSet.AddTx(tx.MsgTx(), blockdag.UnacceptedBlueScore); err != nil { return nil, err } else if !isAccepted { - return nil, fmt.Errorf("unexpectedly failed to add tx %s to the mempool utxo set", tx.ID()) + return nil, errors.Errorf("unexpectedly failed to add tx %s to the mempool utxo set", tx.ID()) } atomic.StoreInt64(&mp.lastUpdated, time.Now().Unix()) @@ -780,7 +781,7 @@ func (mp *TxPool) FetchTransaction(txID *daghash.TxID) (*util.Tx, error) { return txDesc.Tx, nil } - return nil, fmt.Errorf("transaction is not in the pool") + return nil, errors.Errorf("transaction is not in the pool") } // maybeAcceptTransaction is the internal function which implements the public diff --git a/mempool/mempool_test.go b/mempool/mempool_test.go index 21e532db7..f99ee9ad5 100644 --- a/mempool/mempool_test.go +++ b/mempool/mempool_test.go @@ -6,8 +6,8 @@ package mempool import ( "bytes" - "errors" "fmt" + "github.com/pkg/errors" "math" "reflect" "runtime" @@ -320,7 +320,7 @@ func newPoolHarness(t *testing.T, dagParams *dagconfig.Params, numOutputs uint32 DAGParams: ¶ms, }) if err != nil { - return nil, nil, nil, fmt.Errorf("Failed to setup DAG instance: %v", err) + return nil, nil, nil, errors.Errorf("Failed to setup DAG instance: %v", err) } defer func() { if err != nil { @@ -330,7 +330,7 @@ func newPoolHarness(t *testing.T, dagParams *dagconfig.Params, numOutputs uint32 signatureScript, err := txscript.PayToScriptHashSignatureScript(blockdag.OpTrueScript, nil) if err != nil { - return nil, nil, nil, fmt.Errorf("Failed to build harness signature script: %s", err) + return nil, nil, nil, errors.Errorf("Failed to build harness signature script: %s", err) } // Create a new fake chain and harness bound to it. diff --git a/mining/cpuminer/cpuminer.go b/mining/cpuminer/cpuminer.go index 9329105c0..bddbc694d 100644 --- a/mining/cpuminer/cpuminer.go +++ b/mining/cpuminer/cpuminer.go @@ -5,8 +5,8 @@ package cpuminer import ( - "errors" "fmt" + "github.com/pkg/errors" "math/rand" "runtime" "sync" diff --git a/mining/mining.go b/mining/mining.go index e01ab8d4c..9cf022490 100644 --- a/mining/mining.go +++ b/mining/mining.go @@ -7,7 +7,7 @@ package mining import ( "bytes" "encoding/binary" - "fmt" + "github.com/pkg/errors" "sort" "time" @@ -224,7 +224,7 @@ func (g *BlkTmplGenerator) NewBlockTemplate(payToAddress util.Address) (*BlockTe txsForBlockTemplate, err := g.selectTxs(payToAddress) if err != nil { - return nil, fmt.Errorf("failed to select txs: %s", err) + return nil, errors.Errorf("failed to select txs: %s", err) } // Calculate the required difficulty for the block. The timestamp @@ -360,7 +360,7 @@ func (g *BlkTmplGenerator) UpdateExtraNonce(msgBlock *wire.MsgBlock, extraNonce return err } if len(coinbasePayload) > blockdag.MaxCoinbasePayloadLen { - return fmt.Errorf("coinbase transaction script length "+ + return errors.Errorf("coinbase transaction script length "+ "of %d is out of range (max: %d)", len(coinbasePayload), blockdag.MaxCoinbasePayloadLen) diff --git a/mining/mining_test.go b/mining/mining_test.go index b24fb0ba9..faf2cfbcc 100644 --- a/mining/mining_test.go +++ b/mining/mining_test.go @@ -5,7 +5,7 @@ package mining import ( - "errors" + "github.com/pkg/errors" "testing" "github.com/daglabs/btcd/util/subnetworkid" diff --git a/mining/simulator/client.go b/mining/simulator/client.go index b9914fe74..9d1fe2fe1 100644 --- a/mining/simulator/client.go +++ b/mining/simulator/client.go @@ -1,11 +1,10 @@ package main import ( - "fmt" - "github.com/daglabs/btcd/rpcclient" "github.com/daglabs/btcd/util" "github.com/daglabs/btcd/wire" + "github.com/pkg/errors" ) type simulatorClient struct { @@ -29,11 +28,11 @@ func newSimulatorClient(address string, connCfg *rpcclient.ConnConfig) (*simulat var err error client.Client, err = rpcclient.New(connCfg, notificationHandlers) if err != nil { - return nil, fmt.Errorf("Error connecting to address %s: %s", address, err) + return nil, errors.Errorf("Error connecting to address %s: %s", address, err) } if err = client.NotifyBlocks(); err != nil { - return nil, fmt.Errorf("Error while registering client %s for block notifications: %s", client.Host(), err) + return nil, errors.Errorf("Error while registering client %s for block notifications: %s", client.Host(), err) } return client, nil } diff --git a/mining/simulator/config.go b/mining/simulator/config.go index 79e1206ca..179f09859 100644 --- a/mining/simulator/config.go +++ b/mining/simulator/config.go @@ -1,8 +1,8 @@ package main import ( - "errors" "github.com/daglabs/btcd/util" + "github.com/pkg/errors" "path/filepath" "github.com/jessevdk/go-flags" diff --git a/mining/simulator/connect.go b/mining/simulator/connect.go index 91f7a14cc..ee9d51359 100644 --- a/mining/simulator/connect.go +++ b/mining/simulator/connect.go @@ -1,7 +1,7 @@ package main import ( - "fmt" + "github.com/pkg/errors" "io/ioutil" "time" @@ -16,7 +16,7 @@ func connectToServers(cfg *config, addressList []string) ([]*simulatorClient, er var err error cert, err = ioutil.ReadFile(cfg.CertificatePath) if err != nil { - return nil, fmt.Errorf("Error reading certificates file: %s", err) + return nil, errors.Errorf("Error reading certificates file: %s", err) } } diff --git a/mining/simulator/main.go b/mining/simulator/main.go index a37de2349..ccf79d932 100644 --- a/mining/simulator/main.go +++ b/mining/simulator/main.go @@ -2,6 +2,7 @@ package main import ( "fmt" + "github.com/pkg/errors" "os" "github.com/daglabs/btcd/signal" @@ -22,19 +23,19 @@ func main() { addressList, err := getAddressList(cfg) if err != nil { - panic(fmt.Errorf("Couldn't load address list: %s", err)) + panic(errors.Errorf("Couldn't load address list: %s", err)) } clients, err := connectToServers(cfg, addressList) if err != nil { - panic(fmt.Errorf("Error connecting to servers: %s", err)) + panic(errors.Errorf("Error connecting to servers: %s", err)) } defer disconnect(clients) spawn(func() { err = mineLoop(clients) if err != nil { - panic(fmt.Errorf("Error in main loop: %s", err)) + panic(errors.Errorf("Error in main loop: %s", err)) } }) diff --git a/mining/simulator/mineloop.go b/mining/simulator/mineloop.go index 0b8d84479..90438e4f9 100644 --- a/mining/simulator/mineloop.go +++ b/mining/simulator/mineloop.go @@ -2,7 +2,7 @@ package main import ( "encoding/hex" - "fmt" + "github.com/pkg/errors" "math/rand" "strconv" "strings" @@ -24,7 +24,7 @@ func parseBlock(template *btcjson.GetBlockTemplateResult) (*util.Block, error) { for i, parentHash := range template.ParentHashes { hash, err := daghash.NewHashFromStr(parentHash) if err != nil { - return nil, fmt.Errorf("Error decoding hash %s: %s", parentHash, err) + return nil, errors.Errorf("Error decoding hash %s: %s", parentHash, err) } parentHashes[i] = hash } @@ -32,18 +32,18 @@ func parseBlock(template *btcjson.GetBlockTemplateResult) (*util.Block, error) { // parse Bits bitsInt64, err := strconv.ParseInt(template.Bits, 16, 32) if err != nil { - return nil, fmt.Errorf("Error decoding bits %s: %s", template.Bits, err) + return nil, errors.Errorf("Error decoding bits %s: %s", template.Bits, err) } bits := uint32(bitsInt64) // parseAcceptedIDMerkleRoot acceptedIDMerkleRoot, err := daghash.NewHashFromStr(template.AcceptedIDMerkleRoot) if err != nil { - return nil, fmt.Errorf("Error parsing acceptedIDMerkleRoot: %s", err) + return nil, errors.Errorf("Error parsing acceptedIDMerkleRoot: %s", err) } utxoCommitment, err := daghash.NewHashFromStr(template.UTXOCommitment) if err != nil { - return nil, fmt.Errorf("Error parsing utxoCommitment: %s", err) + return nil, errors.Errorf("Error parsing utxoCommitment: %s", err) } // parse rest of block msgBlock := wire.NewMsgBlock( @@ -54,7 +54,7 @@ func parseBlock(template *btcjson.GetBlockTemplateResult) (*util.Block, error) { reader := hex.NewDecoder(strings.NewReader(txResult.Data)) tx := &wire.MsgTx{} if err := tx.BtcDecode(reader, 0); err != nil { - return nil, fmt.Errorf("Error decoding tx #%d: %s", i, err) + return nil, errors.Errorf("Error decoding tx #%d: %s", i, err) } msgBlock.AddTransaction(tx) } @@ -101,7 +101,7 @@ func templatesLoop(client *simulatorClient, newTemplateChan chan *btcjson.GetBlo log.Infof("Got timeout while requesting template '%s' from %s", longPollID, client.Host()) return } else if err != nil { - errChan <- fmt.Errorf("Error getting block template: %s", err) + errChan <- errors.Errorf("Error getting block template: %s", err) return } if template.LongPollID != longPollID { @@ -133,7 +133,7 @@ func solveLoop(newTemplateChan chan *btcjson.GetBlockTemplateResult, foundBlock stopOldTemplateSolving = make(chan struct{}) block, err := parseBlock(template) if err != nil { - errChan <- fmt.Errorf("Error parsing block: %s", err) + errChan <- errors.Errorf("Error parsing block: %s", err) return } @@ -156,7 +156,7 @@ func handleFoundBlock(client *simulatorClient, block *util.Block, templateStopCh err := client.SubmitBlock(block, &btcjson.SubmitBlockOptions{}) if err != nil { - return fmt.Errorf("Error submitting block: %s", err) + return errors.Errorf("Error submitting block: %s", err) } return nil } diff --git a/mining/test_utils.go b/mining/test_utils.go index 118105bd4..9a5fc3a7d 100644 --- a/mining/test_utils.go +++ b/mining/test_utils.go @@ -3,7 +3,7 @@ package mining // This file functions are not considered safe for regular use, and should be used for test purposes only. import ( - "fmt" + "github.com/pkg/errors" "time" "github.com/daglabs/btcd/dagconfig" @@ -90,7 +90,7 @@ func PrepareBlockForTest(dag *blockdag.BlockDAG, params *dagconfig.Params, paren } if !found { if !forceTransactions { - return nil, fmt.Errorf("tx %s wasn't found in the block", tx.TxHash()) + return nil, errors.Errorf("tx %s wasn't found in the block", tx.TxHash()) } txsToAdd = append(txsToAdd, tx) } diff --git a/netsync/manager.go b/netsync/manager.go index 3ea88f463..83d84a2cc 100644 --- a/netsync/manager.go +++ b/netsync/manager.go @@ -6,8 +6,8 @@ package netsync import ( "container/list" - "errors" "fmt" + "github.com/pkg/errors" "net" "sync" "sync/atomic" diff --git a/peer/peer.go b/peer/peer.go index 3e8788544..1ce739cc8 100644 --- a/peer/peer.go +++ b/peer/peer.go @@ -7,8 +7,8 @@ package peer import ( "bytes" "container/list" - "errors" "fmt" + "github.com/pkg/errors" "io" "math/rand" "net" diff --git a/peer/peer_test.go b/peer/peer_test.go index e9b782b43..4076a8ac4 100644 --- a/peer/peer_test.go +++ b/peer/peer_test.go @@ -5,7 +5,7 @@ package peer_test import ( - "errors" + "github.com/pkg/errors" "io" "net" "strconv" diff --git a/rpcclient/infrastructure.go b/rpcclient/infrastructure.go index a9bae26f2..cf418c9ca 100644 --- a/rpcclient/infrastructure.go +++ b/rpcclient/infrastructure.go @@ -11,8 +11,8 @@ import ( "crypto/x509" "encoding/base64" "encoding/json" - "errors" "fmt" + "github.com/pkg/errors" "io" "io/ioutil" "math" @@ -688,7 +688,7 @@ func (c *Client) handleSendPostMessage(details *sendPostDetails) { respBytes, err := ioutil.ReadAll(httpResponse.Body) httpResponse.Body.Close() if err != nil { - err = fmt.Errorf("error reading json reply: %s", err) + err = errors.Errorf("error reading json reply: %s", err) jReq.responseChan <- &response{err: err} return } @@ -700,7 +700,7 @@ func (c *Client) handleSendPostMessage(details *sendPostDetails) { // When the response itself isn't a valid JSON-RPC response // return an error which includes the HTTP status code and raw // response bytes. - err = fmt.Errorf("status code: %d, response: %q", + err = errors.Errorf("status code: %d, response: %q", httpResponse.StatusCode, string(respBytes)) jReq.responseChan <- &response{err: err} return diff --git a/rpcclient/mining.go b/rpcclient/mining.go index c1f86b830..6bd246d64 100644 --- a/rpcclient/mining.go +++ b/rpcclient/mining.go @@ -7,11 +7,10 @@ package rpcclient import ( "encoding/hex" "encoding/json" - "errors" - "github.com/daglabs/btcd/btcjson" "github.com/daglabs/btcd/util" "github.com/daglabs/btcd/util/daghash" + "github.com/pkg/errors" ) // FutureGenerateResult is a future promise to deliver the result of a diff --git a/rpcclient/notify.go b/rpcclient/notify.go index 8e1b18d9e..bb1c08b19 100644 --- a/rpcclient/notify.go +++ b/rpcclient/notify.go @@ -9,8 +9,8 @@ import ( "bytes" "encoding/hex" "encoding/json" - "errors" "fmt" + "github.com/pkg/errors" "time" "github.com/daglabs/btcd/btcjson" diff --git a/rpcclient/rawrequest.go b/rpcclient/rawrequest.go index a88214900..22f39cd6f 100644 --- a/rpcclient/rawrequest.go +++ b/rpcclient/rawrequest.go @@ -6,9 +6,8 @@ package rpcclient import ( "encoding/json" - "errors" - "github.com/daglabs/btcd/btcjson" + "github.com/pkg/errors" ) // FutureRawResult is a future promise to deliver the result of a RawRequest RPC diff --git a/server/p2p/p2p.go b/server/p2p/p2p.go index 55bc4902f..c8d3c1e18 100644 --- a/server/p2p/p2p.go +++ b/server/p2p/p2p.go @@ -9,8 +9,8 @@ import ( "bytes" "crypto/rand" "encoding/binary" - "errors" "fmt" + "github.com/pkg/errors" "math" "net" "runtime" @@ -1503,7 +1503,7 @@ func ParseListeners(addrs []string) ([]net.Addr, error) { } ip = net.ParseIP(hostAddrs[0]) if ip == nil { - return nil, fmt.Errorf("Cannot resolve IP address for host '%s'", host) + return nil, errors.Errorf("Cannot resolve IP address for host '%s'", host) } } @@ -1932,7 +1932,7 @@ func addrStringToNetAddr(addr string) (net.Addr, error) { return nil, err } if len(ips) == 0 { - return nil, fmt.Errorf("no addresses found for %s", host) + return nil, errors.Errorf("no addresses found for %s", host) } return &net.TCPAddr{ diff --git a/server/rpc/common.go b/server/rpc/common.go index 47f86cd47..0567fe8b7 100644 --- a/server/rpc/common.go +++ b/server/rpc/common.go @@ -3,7 +3,6 @@ package rpc import ( "bytes" "encoding/hex" - "errors" "fmt" "github.com/daglabs/btcd/blockdag" "github.com/daglabs/btcd/btcjson" @@ -12,6 +11,7 @@ import ( "github.com/daglabs/btcd/util" "github.com/daglabs/btcd/util/daghash" "github.com/daglabs/btcd/wire" + "github.com/pkg/errors" "math/big" "strconv" ) @@ -384,7 +384,7 @@ func txConfirmations(s *Server, txID *daghash.TxID) (uint64, error) { acceptingBlock, err := s.cfg.TxIndex.BlockThatAcceptedTx(s.cfg.DAG, txID) if err != nil { - return 0, fmt.Errorf("could not get block that accepted tx %s: %s", txID, err) + return 0, errors.Errorf("could not get block that accepted tx %s: %s", txID, err) } if acceptingBlock == nil { return 0, nil @@ -392,7 +392,7 @@ func txConfirmations(s *Server, txID *daghash.TxID) (uint64, error) { confirmations, err := s.cfg.DAG.BlockConfirmationsByHash(acceptingBlock) if err != nil { - return 0, fmt.Errorf("could not get confirmations for block that accepted tx %s: %s", txID, err) + return 0, errors.Errorf("could not get confirmations for block that accepted tx %s: %s", txID, err) } return confirmations, nil diff --git a/server/rpc/handle_get_block_dag_info.go b/server/rpc/handle_get_block_dag_info.go index 904801ff4..73a38852f 100644 --- a/server/rpc/handle_get_block_dag_info.go +++ b/server/rpc/handle_get_block_dag_info.go @@ -6,6 +6,7 @@ import ( "github.com/daglabs/btcd/btcjson" "github.com/daglabs/btcd/dagconfig" "github.com/daglabs/btcd/util/daghash" + "github.com/pkg/errors" "strings" ) @@ -94,6 +95,6 @@ func softForkStatus(state blockdag.ThresholdState) (string, error) { case blockdag.ThresholdFailed: return "failed", nil default: - return "", fmt.Errorf("unknown deployment state: %s", state) + return "", errors.Errorf("unknown deployment state: %s", state) } } diff --git a/server/rpc/handle_get_block_template.go b/server/rpc/handle_get_block_template.go index df4c62e64..f94778e05 100644 --- a/server/rpc/handle_get_block_template.go +++ b/server/rpc/handle_get_block_template.go @@ -3,7 +3,6 @@ package rpc import ( "bytes" "encoding/hex" - "errors" "fmt" "github.com/daglabs/btcd/blockdag" "github.com/daglabs/btcd/btcjson" @@ -13,6 +12,7 @@ import ( "github.com/daglabs/btcd/util" "github.com/daglabs/btcd/util/daghash" "github.com/daglabs/btcd/wire" + "github.com/pkg/errors" "math/rand" "strconv" "strings" @@ -864,14 +864,14 @@ func decodeLongPollID(longPollID string) ([]*daghash.Hash, int64, error) { for i := 0; i < len(parentHashesStr); i += daghash.HashSize { hash, err := daghash.NewHashFromStr(parentHashesStr[i : i+daghash.HashSize]) if err != nil { - return nil, 0, fmt.Errorf("decodeLongPollID: NewHashFromStr: %s", err) + return nil, 0, errors.Errorf("decodeLongPollID: NewHashFromStr: %s", err) } parentHashes = append(parentHashes, hash) } lastGenerated, err := strconv.ParseInt(fields[1], 10, 64) if err != nil { - return nil, 0, fmt.Errorf("decodeLongPollID: Cannot parse timestamp %s: %s", fields[1], err) + return nil, 0, errors.Errorf("decodeLongPollID: Cannot parse timestamp %s: %s", fields[1], err) } return parentHashes, lastGenerated, nil diff --git a/server/rpc/rpcserver.go b/server/rpc/rpcserver.go index 80d145e63..2e99be87f 100644 --- a/server/rpc/rpcserver.go +++ b/server/rpc/rpcserver.go @@ -11,8 +11,8 @@ import ( "crypto/tls" "encoding/base64" "encoding/json" - "errors" "fmt" + "github.com/pkg/errors" "io" "io/ioutil" "math/rand" diff --git a/server/rpc/rpcserverhelp.go b/server/rpc/rpcserverhelp.go index 282faa5e9..dc8f68e9a 100644 --- a/server/rpc/rpcserverhelp.go +++ b/server/rpc/rpcserverhelp.go @@ -6,7 +6,7 @@ package rpc import ( - "errors" + "github.com/pkg/errors" "sort" "strings" "sync" diff --git a/server/rpc/rpcwebsocket.go b/server/rpc/rpcwebsocket.go index 1f04e1a82..84b7d9ee4 100644 --- a/server/rpc/rpcwebsocket.go +++ b/server/rpc/rpcwebsocket.go @@ -13,7 +13,7 @@ import ( "encoding/base64" "encoding/hex" "encoding/json" - "errors" + "github.com/pkg/errors" "io" "sync" "time" diff --git a/server/serverutils/upnp.go b/server/serverutils/upnp.go index 812163e17..4a2a3f622 100644 --- a/server/serverutils/upnp.go +++ b/server/serverutils/upnp.go @@ -35,7 +35,7 @@ package serverutils import ( "bytes" "encoding/xml" - "errors" + "github.com/pkg/errors" "net" "net/http" "os" diff --git a/server/serverutils/utils.go b/server/serverutils/utils.go index 73990da9a..a0bd431d6 100644 --- a/server/serverutils/utils.go +++ b/server/serverutils/utils.go @@ -1,7 +1,7 @@ package serverutils import ( - "fmt" + "github.com/pkg/errors" "io/ioutil" "net" "os" @@ -42,7 +42,7 @@ type Peer struct { // are not intended to be resolved outside of the tor proxy. func BTCDLookup(host string) ([]net.IP, error) { if strings.HasSuffix(host, ".onion") { - return nil, fmt.Errorf("attempt to resolve tor address %s", host) + return nil, errors.Errorf("attempt to resolve tor address %s", host) } return config.MainConfig().Lookup(host) diff --git a/service_windows.go b/service_windows.go index 58d78ab46..816560240 100644 --- a/service_windows.go +++ b/service_windows.go @@ -139,7 +139,7 @@ func installService() error { service, err := serviceManager.OpenService(svcName) if err == nil { service.Close() - return fmt.Errorf("service %s already exists", svcName) + return errors.Errorf("service %s already exists", svcName) } // Install the service. @@ -175,7 +175,7 @@ func removeService() error { // Ensure the service exists. service, err := serviceManager.OpenService(svcName) if err != nil { - return fmt.Errorf("service %s is not installed", svcName) + return errors.Errorf("service %s is not installed", svcName) } defer service.Close() @@ -194,13 +194,13 @@ func startService() error { service, err := serviceManager.OpenService(svcName) if err != nil { - return fmt.Errorf("could not access service: %s", err) + return errors.Errorf("could not access service: %s", err) } defer service.Close() err = service.Start(os.Args) if err != nil { - return fmt.Errorf("could not start service: %s", err) + return errors.Errorf("could not start service: %s", err) } return nil @@ -219,26 +219,26 @@ func controlService(c svc.Cmd, to svc.State) error { service, err := serviceManager.OpenService(svcName) if err != nil { - return fmt.Errorf("could not access service: %s", err) + return errors.Errorf("could not access service: %s", err) } defer service.Close() status, err := service.Control(c) if err != nil { - return fmt.Errorf("could not send control=%d: %s", c, err) + return errors.Errorf("could not send control=%d: %s", c, err) } // Send the control message. timeout := time.Now().Add(10 * time.Second) for status.State != to { if timeout.Before(time.Now()) { - return fmt.Errorf("timeout waiting for service to go "+ + return errors.Errorf("timeout waiting for service to go "+ "to state=%d", to) } time.Sleep(300 * time.Millisecond) status, err = service.Query() if err != nil { - return fmt.Errorf("could not retrieve service "+ + return errors.Errorf("could not retrieve service "+ "status: %s", err) } } @@ -265,7 +265,7 @@ func performServiceCommand(command string) error { err = controlService(svc.Stop, svc.Stopped) default: - err = fmt.Errorf("invalid service command [%s]", command) + err = errors.Errorf("invalid service command [%s]", command) } return err diff --git a/testutil/testutil.go b/testutil/testutil.go new file mode 100644 index 000000000..f9e9ed1c4 --- /dev/null +++ b/testutil/testutil.go @@ -0,0 +1,18 @@ +package testutil + +import "fmt" + +// AreErrorsEqual returns whether errors have the same type +// and same error string from .Error(). +func AreErrorsEqual(err1, err2 error) bool { + if err1 == nil && err2 == nil { + return true + } + if err1 == nil && err2 != nil { + return false + } + if fmt.Sprintf("%T", err1) != fmt.Sprintf("%T", err2) { + return false + } + return err1.Error() == err2.Error() +} diff --git a/txscript/data/script_tests.json b/txscript/data/script_tests.json index 618b4b214..80c378c89 100644 --- a/txscript/data/script_tests.json +++ b/txscript/data/script_tests.json @@ -1,1121 +1,5577 @@ [ -["Format is: [[wit..., amount]?, scriptSig, scriptPubKey, flags, expected_scripterror, ... comments]"], -["It is evaluated as if there was a crediting coinbase transaction with two 0"], -["pushes as scriptSig, and one output of 0 satoshi and given scriptPubKey,"], -["followed by a spending transaction which spends this output as only input (and"], -["correct prevout hash), using the given scriptSig. All nLockTimes are 0, all"], -["nSequences are max."], - -["", "DEPTH 0 EQUAL", "", "OK", "Test the test: we should have an empty stack after scriptSig evaluation"], -[" ", "DEPTH 0 EQUAL", "", "OK", "and multiple spaces should not change that."], -[" ", "DEPTH 0 EQUAL", "", "OK"], -[" ", "DEPTH 0 EQUAL", "", "OK"], -["1 2", "2 EQUALVERIFY 1 EQUAL", "", "OK", "Similarly whitespace around and between symbols"], -["1 2", "2 EQUALVERIFY 1 EQUAL", "", "OK"], -[" 1 2", "2 EQUALVERIFY 1 EQUAL", "", "OK"], -["1 2 ", "2 EQUALVERIFY 1 EQUAL", "", "OK"], -[" 1 2 ", "2 EQUALVERIFY 1 EQUAL", "", "OK"], - -["1", "", "", "OK"], -["0x02 0x01 0x00", "", "", "OK", "all bytes are significant, not only the last one"], -["0x09 0x00000000 0x00000000 0x10", "", "", "OK", "equals zero when cast to Int64"], - -["0x01 0x11", "17 EQUAL", "", "OK", "push 1 byte"], -["0x02 0x417a", "'Az' EQUAL", "", "OK"], -["0x4b 0x417a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a", - "'Azzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz' EQUAL", "", "OK", "push 75 bytes"], - -["0x4c 0x4c 0x417a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a", - "'Azzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz' EQUAL", "", "OK", "0x4c is OP_PUSHDATA1 (push 76 bytes)"], -["0x4d 0x0001 0x417a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a", - "'Azzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz' EQUAL", "", "OK", "0x4d is OP_PUSHDATA2"], - -["0x4f 1000","ADD 999 EQUAL", "", "OK"], -["0", "IF 0x50 ENDIF 1", "", "OK", "0x50 is reserved (ok if not executed)"], -["0x51", "0x5f ADD 0x60 EQUAL", "", "OK", "0x51 through 0x60 push 1 through 16 onto stack"], -["1","NOP", "", "OK"], -["0", "IF VER ELSE 1 ENDIF", "", "OK", "VER non-functional (ok if not executed)"], -["0", "IF RESERVED RESERVED1 RESERVED2 ELSE 1 ENDIF", "", "OK", "RESERVED ok in un-executed IF"], - -["1", "DUP IF ENDIF", "", "OK"], -["1", "IF 1 ENDIF", "", "OK"], -["1", "DUP IF ELSE ENDIF", "", "OK"], -["1", "IF 1 ELSE ENDIF", "", "OK"], -["0", "IF ELSE 1 ENDIF", "", "OK"], - -["1 1", "IF IF 1 ELSE 0 ENDIF ENDIF", "", "OK"], -["1 0", "IF IF 1 ELSE 0 ENDIF ENDIF", "", "OK"], -["1 1", "IF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF", "", "OK"], -["0 0", "IF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF", "", "OK"], - -["1 0", "NOTIF IF 1 ELSE 0 ENDIF ENDIF", "", "OK"], -["1 1", "NOTIF IF 1 ELSE 0 ENDIF ENDIF", "", "OK"], -["1 0", "NOTIF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF", "", "OK"], -["0 1", "NOTIF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF", "", "OK"], - -["0", "IF 0 ELSE 1 ELSE 0 ENDIF", "", "OK", "Multiple ELSE's are valid and executed inverts on each ELSE encountered"], -["1", "IF 1 ELSE 0 ELSE ENDIF", "", "OK"], -["1", "IF ELSE 0 ELSE 1 ENDIF", "", "OK"], -["1", "IF 1 ELSE 0 ELSE 1 ENDIF ADD 2 EQUAL", "", "OK"], -["'' 1", "IF SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ENDIF 0x14 0x68ca4fec736264c13b859bac43d5173df6871682 EQUAL", "", "OK"], - -["1", "NOTIF 0 ELSE 1 ELSE 0 ENDIF", "", "OK", "Multiple ELSE's are valid and execution inverts on each ELSE encountered"], -["0", "NOTIF 1 ELSE 0 ELSE ENDIF", "", "OK"], -["0", "NOTIF ELSE 0 ELSE 1 ENDIF", "", "OK"], -["0", "NOTIF 1 ELSE 0 ELSE 1 ENDIF ADD 2 EQUAL", "", "OK"], -["'' 0", "NOTIF SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ENDIF 0x14 0x68ca4fec736264c13b859bac43d5173df6871682 EQUAL", "", "OK"], - -["0", "IF 1 IF RETURN ELSE RETURN ELSE RETURN ENDIF ELSE 1 IF 1 ELSE RETURN ELSE 1 ENDIF ELSE RETURN ENDIF ADD 2 EQUAL", "", "OK", "Nested ELSE ELSE"], -["1", "NOTIF 0 NOTIF RETURN ELSE RETURN ELSE RETURN ENDIF ELSE 0 NOTIF 1 ELSE RETURN ELSE 1 ENDIF ELSE RETURN ENDIF ADD 2 EQUAL", "", "OK"], - -["0", "IF RETURN ENDIF 1", "", "OK", "RETURN only works if executed"], - -["1 1", "VERIFY", "", "OK"], -["1 0x05 0x01 0x00 0x00 0x00 0x00", "VERIFY", "", "OK", "values >4 bytes can be cast to boolean"], -["0x01 0x80", "VERIFY TRUE", "", "VERIFY", "negative 0 is false"], - -["10 0 11", "TOALTSTACK DROP FROMALTSTACK ADD 21 EQUAL", "", "OK"], -["'gavin_was_here'", "TOALTSTACK 11 FROMALTSTACK 'gavin_was_here' EQUALVERIFY 11 EQUAL", "", "OK"], - -["0", "IFDUP DEPTH 1 EQUALVERIFY 0 EQUAL", "", "OK"], -["1", "IFDUP DEPTH 2 EQUALVERIFY 1 EQUALVERIFY 1 EQUAL", "", "OK"], -["0x05 0x0100000000", "IFDUP DEPTH 2 EQUALVERIFY 0x05 0x0100000000 EQUALVERIFY DROP TRUE", "", "OK", "IFDUP dups non ints"], -["0", "DROP DEPTH 0 EQUAL", "", "OK"], -["0", "DUP 1 ADD 1 EQUALVERIFY 0 EQUAL", "", "OK"], -["0 1", "NIP", "", "OK"], -["1 0", "OVER DEPTH 3 EQUALVERIFY DROP DROP DROP TRUE", "", "OK"], -["22 21 20", "0 PICK 20 EQUALVERIFY DEPTH 3 EQUALVERIFY DROP DROP DROP TRUE", "", "OK"], -["22 21 20", "1 PICK 21 EQUALVERIFY DEPTH 3 EQUALVERIFY DROP DROP DROP TRUE", "", "OK"], -["22 21 20", "2 PICK 22 EQUALVERIFY DEPTH 3 EQUALVERIFY DROP DROP DROP TRUE", "", "OK"], -["22 21 20", "0 ROLL 20 EQUALVERIFY DEPTH 2 EQUALVERIFY DROP DROP TRUE", "", "OK"], -["22 21 20", "1 ROLL 21 EQUALVERIFY DEPTH 2 EQUALVERIFY DROP DROP TRUE", "", "OK"], -["22 21 20", "2 ROLL 22 EQUALVERIFY DEPTH 2 EQUALVERIFY DROP DROP TRUE", "", "OK"], -["22 21 20", "ROT 22 EQUALVERIFY DROP DROP TRUE", "", "OK"], -["22 21 20", "ROT DROP 20 EQUALVERIFY DROP TRUE", "", "OK"], -["22 21 20", "ROT DROP DROP 21 EQUAL", "", "OK"], -["22 21 20", "ROT ROT 21 EQUAL 2DROP", "", "OK"], -["22 21 20", "ROT ROT ROT 20 EQUALVERIFY DROP DROP TRUE", "", "OK"], -["25 24 23 22 21 20", "2ROT 24 EQUALVERIFY DROP DROP DROP DROP DROP TRUE", "", "OK"], -["25 24 23 22 21 20", "2ROT DROP 25 EQUALVERIFY DROP DROP DROP DROP TRUE", "", "OK"], -["25 24 23 22 21 20", "2ROT 2DROP 20 EQUALVERIFY DROP DROP DROP TRUE", "", "OK"], -["25 24 23 22 21 20", "2ROT 2DROP DROP 21 EQUALVERIFY 2DROP TRUE", "", "OK"], -["25 24 23 22 21 20", "2ROT 2DROP 2DROP 22 EQUALVERIFY DROP TRUE", "", "OK"], -["25 24 23 22 21 20", "2ROT 2DROP 2DROP DROP 23 EQUALVERIFY TRUE", "", "OK"], -["25 24 23 22 21 20", "2ROT 2ROT 22 EQUALVERIFY 2DROP DROP DROP DROP TRUE", "", "OK"], -["25 24 23 22 21 20", "2ROT 2ROT 2ROT 20 EQUALVERIFY DROP DROP DROP DROP DROP TRUE", "", "OK"], -["1 0", "SWAP 1 EQUALVERIFY 0 EQUAL", "", "OK"], -["0 1", "TUCK DEPTH 3 EQUALVERIFY SWAP 2DROP", "", "OK"], -["13 14", "2DUP ROT EQUALVERIFY EQUAL", "", "OK"], -["-1 0 1 2", "3DUP DEPTH 7 EQUALVERIFY ADD ADD 3 EQUALVERIFY 2DROP 0 EQUALVERIFY", "", "OK"], -["1 2 3 5", "2OVER ADD ADD 8 EQUALVERIFY ADD ADD 6 EQUAL", "", "OK"], -["1 3 5 7", "2SWAP ADD 4 EQUALVERIFY ADD 12 EQUAL", "", "OK"], -["0", "SIZE 0 EQUALVERIFY DROP TRUE", "", "OK"], -["1", "SIZE 1 EQUALVERIFY DROP TRUE", "", "OK"], -["127", "SIZE 1 EQUALVERIFY DROP TRUE", "", "OK"], -["128", "SIZE 2 EQUALVERIFY DROP TRUE", "", "OK"], -["32767", "SIZE 2 EQUALVERIFY DROP TRUE", "", "OK"], -["32768", "SIZE 3 EQUALVERIFY DROP TRUE", "", "OK"], -["8388607", "SIZE 3 EQUALVERIFY DROP TRUE", "", "OK"], -["8388608", "SIZE 4 EQUALVERIFY DROP TRUE", "", "OK"], -["2147483647", "SIZE 4 EQUALVERIFY DROP TRUE", "", "OK"], -["2147483648", "SIZE 5 EQUALVERIFY DROP TRUE", "", "OK"], -["549755813887", "SIZE 5 EQUALVERIFY DROP TRUE", "", "OK"], -["549755813888", "SIZE 6 EQUALVERIFY DROP TRUE", "", "OK"], -["9223372036854775807", "SIZE 8 EQUALVERIFY DROP TRUE", "", "OK"], -["-1", "SIZE 1 EQUALVERIFY DROP TRUE", "", "OK"], -["-127", "SIZE 1 EQUALVERIFY DROP TRUE", "", "OK"], -["-128", "SIZE 2 EQUALVERIFY DROP TRUE", "", "OK"], -["-32767", "SIZE 2 EQUALVERIFY DROP TRUE", "", "OK"], -["-32768", "SIZE 3 EQUALVERIFY DROP TRUE", "", "OK"], -["-8388607", "SIZE 3 EQUALVERIFY DROP TRUE", "", "OK"], -["-8388608", "SIZE 4 EQUALVERIFY DROP TRUE", "", "OK"], -["-2147483647", "SIZE 4 EQUALVERIFY DROP TRUE", "", "OK"], -["-2147483648", "SIZE 5 EQUALVERIFY DROP TRUE", "", "OK"], -["-549755813887", "SIZE 5 EQUALVERIFY DROP TRUE", "", "OK"], -["-549755813888", "SIZE 6 EQUALVERIFY DROP TRUE", "", "OK"], -["-9223372036854775807", "SIZE 8 EQUALVERIFY DROP TRUE", "", "OK"], -["'abcdefghijklmnopqrstuvwxyz'", "SIZE 26 EQUALVERIFY DROP TRUE", "", "OK"], - -["42", "SIZE 1 EQUALVERIFY 42 EQUAL", "", "OK", "SIZE does not consume argument"], - -["2 -2", "ADD 0 EQUAL", "", "OK"], -["2147483647 -2147483647", "ADD 0 EQUAL", "", "OK"], -["-1 -1", "ADD -2 EQUAL", "", "OK"], - -["0 0","EQUAL", "", "OK"], -["1 1", "ADD 2 EQUAL", "", "OK"], -["1", "1ADD 2 EQUAL", "", "OK"], -["111", "1SUB 110 EQUAL", "", "OK"], -["111 1", "ADD 12 SUB 100 EQUAL", "", "OK"], -["0", "ABS 0 EQUAL", "", "OK"], -["16", "ABS 16 EQUAL", "", "OK"], -["-16", "ABS -16 NEGATE EQUAL", "", "OK"], -["0", "NOT NOP", "", "OK"], -["1", "NOT 0 EQUAL", "", "OK"], -["11", "NOT 0 EQUAL", "", "OK"], -["0", "0NOTEQUAL 0 EQUAL", "", "OK"], -["1", "0NOTEQUAL 1 EQUAL", "", "OK"], -["111", "0NOTEQUAL 1 EQUAL", "", "OK"], -["-111", "0NOTEQUAL 1 EQUAL", "", "OK"], -["1 1", "BOOLAND NOP", "", "OK"], -["1 0", "BOOLAND NOT", "", "OK"], -["0 1", "BOOLAND NOT", "", "OK"], -["0 0", "BOOLAND NOT", "", "OK"], -["16 17", "BOOLAND NOP", "", "OK"], -["1 1", "BOOLOR NOP", "", "OK"], -["1 0", "BOOLOR NOP", "", "OK"], -["0 1", "BOOLOR NOP", "", "OK"], -["0 0", "BOOLOR NOT", "", "OK"], -["16 17", "BOOLOR NOP", "", "OK"], -["11 10 1", "ADD NUMEQUAL", "", "OK"], -["11 10 1", "ADD NUMEQUALVERIFY 1", "", "OK"], -["11 10 1", "ADD NUMNOTEQUAL NOT", "", "OK"], -["111 10 1", "ADD NUMNOTEQUAL", "", "OK"], -["11 10", "LESSTHAN NOT", "", "OK"], -["4 4", "LESSTHAN NOT", "", "OK"], -["10 11", "LESSTHAN", "", "OK"], -["-11 11", "LESSTHAN", "", "OK"], -["-11 -10", "LESSTHAN", "", "OK"], -["11 10", "GREATERTHAN", "", "OK"], -["4 4", "GREATERTHAN NOT", "", "OK"], -["10 11", "GREATERTHAN NOT", "", "OK"], -["-11 11", "GREATERTHAN NOT", "", "OK"], -["-11 -10", "GREATERTHAN NOT", "", "OK"], -["11 10", "LESSTHANOREQUAL NOT", "", "OK"], -["4 4", "LESSTHANOREQUAL", "", "OK"], -["10 11", "LESSTHANOREQUAL", "", "OK"], -["-11 11", "LESSTHANOREQUAL", "", "OK"], -["-11 -10", "LESSTHANOREQUAL", "", "OK"], -["11 10", "GREATERTHANOREQUAL", "", "OK"], -["4 4", "GREATERTHANOREQUAL", "", "OK"], -["10 11", "GREATERTHANOREQUAL NOT", "", "OK"], -["-11 11", "GREATERTHANOREQUAL NOT", "", "OK"], -["-11 -10", "GREATERTHANOREQUAL NOT", "", "OK"], -["1 0", "MIN 0 NUMEQUAL", "", "OK"], -["0 1", "MIN 0 NUMEQUAL", "", "OK"], -["-1 0", "MIN -1 NUMEQUAL", "", "OK"], -["0 -2147483647", "MIN -2147483647 NUMEQUAL", "", "OK"], -["2147483647 0", "MAX 2147483647 NUMEQUAL", "", "OK"], -["0 100", "MAX 100 NUMEQUAL", "", "OK"], -["-100 0", "MAX 0 NUMEQUAL", "", "OK"], -["0 -2147483647", "MAX 0 NUMEQUAL", "", "OK"], -["0 0 1", "WITHIN", "", "OK"], -["1 0 1", "WITHIN NOT", "", "OK"], -["0 -2147483647 2147483647", "WITHIN", "", "OK"], -["-1 -100 100", "WITHIN", "", "OK"], -["11 -100 100", "WITHIN", "", "OK"], -["-2147483647 -100 100", "WITHIN NOT", "", "OK"], -["2147483647 -100 100", "WITHIN NOT", "", "OK"], - -["2147483647 2147483647", "SUB 0 EQUAL", "", "OK"], -["2147483647", "DUP ADD 4294967294 EQUAL", "", "OK", ">32 bit EQUAL is valid"], -["2147483647", "NEGATE DUP ADD -4294967294 EQUAL", "", "OK"], - -["''", "RIPEMD160 0x14 0x9c1185a5c5e9fc54612808977ee8f548b2258d31 EQUAL", "", "OK"], -["'a'", "RIPEMD160 0x14 0x0bdc9d2d256b3ee9daae347be6f4dc835a467ffe EQUAL", "", "OK"], -["'abcdefghijklmnopqrstuvwxyz'", "RIPEMD160 0x14 0xf71c27109c692c1b56bbdceb5b9d2865b3708dbc EQUAL", "", "OK"], -["''", "SHA1 0x14 0xda39a3ee5e6b4b0d3255bfef95601890afd80709 EQUAL", "", "OK"], -["'a'", "SHA1 0x14 0x86f7e437faa5a7fce15d1ddcb9eaeaea377667b8 EQUAL", "", "OK"], -["'abcdefghijklmnopqrstuvwxyz'", "SHA1 0x14 0x32d10c7b8cf96570ca04ce37f2a19d84240d3a89 EQUAL", "", "OK"], -["''", "SHA256 0x20 0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 EQUAL", "", "OK"], -["'a'", "SHA256 0x20 0xca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb EQUAL", "", "OK"], -["'abcdefghijklmnopqrstuvwxyz'", "SHA256 0x20 0x71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73 EQUAL", "", "OK"], -["''", "DUP HASH160 SWAP SHA256 RIPEMD160 EQUAL", "", "OK"], -["''", "DUP HASH256 SWAP SHA256 SHA256 EQUAL", "", "OK"], -["''", "NOP HASH160 0x14 0xb472a266d0bd89c13706a4132ccfb16f7c3b9fcb EQUAL", "", "OK"], -["'a'", "HASH160 NOP 0x14 0x994355199e516ff76c4fa4aab39337b9d84cf12b EQUAL", "", "OK"], -["'abcdefghijklmnopqrstuvwxyz'", "NOP HASH160 0x14 0xc286a1af0947f58d1ad787385b1c2c4a976f9e71 EQUAL", "", "OK", "The NOP is added so the script won't be interpreted as P2SH"], -["''", "HASH256 0x20 0x5df6e0e2761359d30a8275058e299fcc0381534545f55cf43e41983f5d4c9456 EQUAL", "", "OK"], -["'a'", "HASH256 0x20 0xbf5d3affb73efd2ec6c36ad3112dd933efed63c4e1cbffcfa88e2759c144f2d8 EQUAL", "", "OK"], -["'abcdefghijklmnopqrstuvwxyz'", "HASH256 0x20 0xca139bc10c2f660da42666f72e89a225936fc60f193c161124a672050c434671 EQUAL", "", "OK"], - - -["1","NOP1 NOP2 NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10 1 EQUAL", "", "OK"], -["'NOP_1_to_10'","NOP1 NOP2 NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10 'NOP_1_to_10' EQUAL", "", "OK"], - -["1", "NOP", "DISCOURAGE_UPGRADABLE_NOPS", "OK", "Discourage NOPx flag allows OP_NOP"], - -["0", "IF NOP10 ENDIF 1", "DISCOURAGE_UPGRADABLE_NOPS", "OK", - "Discouraged NOPs are allowed if not executed"], - -["0", "IF 0xbc ELSE 1 ENDIF", "", "OK", "opcodes above NOP10 invalid if executed"], -["0", "IF 0xbd ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xbe ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xbf ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xc0 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xc1 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xc2 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xc3 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xc4 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xc5 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xc6 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xc7 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xc8 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xc9 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xca ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xcb ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xcc ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xcd ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xce ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xcf ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xd0 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xd1 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xd2 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xd3 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xd4 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xd5 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xd6 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xd7 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xd8 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xd9 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xda ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xdb ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xdc ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xdd ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xde ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xdf ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xe0 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xe1 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xe2 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xe3 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xe4 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xe5 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xe6 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xe7 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xe8 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xe9 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xea ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xeb ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xec ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xed ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xee ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xef ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xf0 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xf1 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xf2 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xf3 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xf4 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xf5 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xf6 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xf7 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xf8 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xf9 ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xfa ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xfb ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xfc ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xfd ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xfe ELSE 1 ENDIF", "", "OK"], -["0", "IF 0xff ELSE 1 ENDIF", "", "OK"], - -["", -"'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'", -"", "OK", -"520 byte push"], -["1", -"0x616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161", -"", "OK", -"201 opcodes executed. 0x61 is NOP"], -["1 2 3 4 5", -"0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f 1 2 3 4 5 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f 0x6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d75", -"", "OK", -"244 stack size (0x6f is 3DUP, 0x6d is 2DROP, and 0x75 is DROP)"], -["'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'", -"'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f 2DUP DROP 0x6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d 0x61616161", -"", "OK", -"Max-size (10,000-byte), max-push(520 bytes), max-opcodes(201), max stack size(244 items). 0x6f is 3DUP, 0x61 is NOP, 0x6d is 2DROP"], - -["0", -"IF 0x5050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050 ENDIF 1", -"", "OK", -">201 opcodes, but RESERVED (0x50) doesn't count towards opcode limit."], - -["","1", "", "OK"], - -["127", "0x01 0x7F EQUAL", "", "OK"], -["128", "0x02 0x8000 EQUAL", "", "OK", "Leave room for the sign bit"], -["32767", "0x02 0xFF7F EQUAL", "", "OK"], -["32768", "0x03 0x008000 EQUAL", "", "OK"], -["8388607", "0x03 0xFFFF7F EQUAL", "", "OK"], -["8388608", "0x04 0x00008000 EQUAL", "", "OK"], -["2147483647", "0x04 0xFFFFFF7F EQUAL", "", "OK"], -["2147483648", "0x05 0x0000008000 EQUAL", "", "OK"], -["549755813887", "0x05 0xFFFFFFFF7F EQUAL", "", "OK"], -["549755813888", "0x06 0xFFFFFFFF7F EQUALVERIFY 2DROP TRUE", "", "OK"], -["9223372036854775807", "0x08 0xFFFFFFFFFFFFFF7F EQUAL", "", "OK"], -["-2", "0x01 0x82 EQUAL", "", "OK", "Numbers are little-endian with the MSB being a sign bit"], -["-127", "0x01 0xFF EQUAL", "", "OK"], -["-128", "0x02 0x8080 EQUAL", "", "OK"], -["-32767", "0x02 0xFFFF EQUAL", "", "OK"], -["-32768", "0x03 0x008080 EQUAL", "", "OK"], -["-8388607", "0x03 0xFFFFFF EQUAL", "", "OK"], -["-8388608", "0x04 0x00008080 EQUAL", "", "OK"], -["-2147483647", "0x04 0xFFFFFFFF EQUAL", "", "OK"], -["-2147483648", "0x05 0x0000008080 EQUAL", "", "OK"], -["-4294967295", "0x05 0xFFFFFFFF80 EQUAL", "", "OK"], -["-549755813887", "0x05 0xFFFFFFFFFF EQUAL", "", "OK"], -["-549755813888", "0x06 0x000000008080 EQUAL", "", "OK"], -["-9223372036854775807", "0x08 0xFFFFFFFFFFFFFFFF EQUAL", "", "OK"], - -["2147483647", "1ADD 2147483648 EQUAL", "", "OK", "We can do math on 4-byte integers, and compare 5-byte ones"], -["2147483647", "1ADD DROP 1", "", "OK"], -["-2147483647", "1ADD DROP 1", "", "OK"], - -["1", "0x02 0x0100 EQUAL NOT", "", "OK", "Not the same byte array..."], -["0", "0x01 0x80 EQUAL NOT", "", "OK"], - -["", "NOP 1", "", "OK", "The following tests check the if(stack.size() < N) tests in each opcode"], -["1", "IF 1 ENDIF", "", "OK", "They are here to catch copy-and-paste errors"], -["0", "NOTIF 1 ENDIF", "", "OK", "Most of them are duplicated elsewhere,"], -["1", "VERIFY 1", "", "OK", "but, hey, more is always better, right?"], - -["0", "TOALTSTACK 1", "", "OK"], -["1", "TOALTSTACK FROMALTSTACK", "", "OK"], -["0 0", "2DROP 1", "", "OK"], -["0 1", "2DUP VERIFY DROP DROP DROP TRUE", "", "OK"], -["0 0 1", "3DUP VERIFY DROP DROP DROP DROP DROP TRUE", "", "OK"], -["0 1 0 0", "2OVER VERIFY DROP DROP DROP DROP DROP TRUE", "", "OK"], -["0 1 0 0 0 0", "2ROT VERIFY DROP DROP DROP DROP DROP TRUE", "", "OK"], -["0 1 0 0", "2SWAP VERIFY DROP DROP DROP TRUE", "", "OK"], -["1", "IFDUP VERIFY", "", "OK"], -["", "DEPTH 1 VERIFY DROP TRUE", "", "OK"], -["0", "DROP 1", "", "OK"], -["1", "DUP VERIFY", "", "OK"], -["0 1", "NIP", "", "OK"], -["1 0", "OVER VERIFY DROP DROP TRUE", "", "OK"], -["1 0 0 0 3", "PICK VERIFY DROP DROP DROP DROP TRUE", "", "OK"], -["1 0", "PICK VERIFY DROP TRUE", "", "OK"], -["1 0 0 0 3", "ROLL VERIFY DROP DROP DROP TRUE", "", "OK"], -["1 0", "ROLL", "", "OK"], -["1 0 0", "ROT VERIFY DROP DROP TRUE", "", "OK"], -["1 0", "SWAP VERIFY DROP TRUE", "", "OK"], -["0 1", "TUCK VERIFY DROP DROP TRUE", "", "OK"], - -["1", "SIZE VERIFY DROP TRUE", "", "OK"], - -["0 0", "EQUAL", "", "OK"], -["0 0", "EQUALVERIFY 1", "", "OK"], -["0 0 1", "EQUAL EQUAL", "", "OK", "OP_0 and bools must have identical byte representations"], - -["0", "1ADD", "", "OK"], -["2", "1SUB", "", "OK"], -["-1", "NEGATE", "", "OK"], -["-1", "ABS", "", "OK"], -["0", "NOT", "", "OK"], -["-1", "0NOTEQUAL", "", "OK"], - -["1 0", "ADD", "", "OK"], -["1 0", "SUB", "", "OK"], -["-1 -1", "BOOLAND", "", "OK"], -["-1 0", "BOOLOR", "", "OK"], -["0 0", "NUMEQUAL", "", "OK"], -["5 4", "NUMEQUAL FALSE EQUAL", "", "OK"], -["0 0", "NUMEQUALVERIFY 1", "", "OK"], -["-1 0", "NUMNOTEQUAL", "", "OK"], -["-1 0", "LESSTHAN", "", "OK"], -["1 0", "GREATERTHAN", "", "OK"], -["0 0", "LESSTHANOREQUAL", "", "OK"], -["0 0", "GREATERTHANOREQUAL", "", "OK"], -["-1 0", "MIN", "", "OK"], -["1 0", "MAX", "", "OK"], -["-1 -1 0", "WITHIN", "", "OK"], - -["0", "RIPEMD160", "", "OK"], -["0", "SHA1", "", "OK"], -["0", "SHA256", "", "OK"], -["0", "HASH160", "", "OK"], -["0", "HASH256", "", "OK"], - -["", "NOP1 1", "", "OK"], -["", "NOP2 1", "", "OK"], -["", "NOP3 1", "", "OK"], -["", "NOP4 1", "", "OK"], -["", "NOP5 1", "", "OK"], -["", "NOP6 1", "", "OK"], -["", "NOP7 1", "", "OK"], -["", "NOP8 1", "", "OK"], -["", "NOP9 1", "", "OK"], -["", "NOP10 1", "", "OK"], - -["", "0 0 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK", "CHECKMULTISIG is allowed to have zero keys and/or sigs"], -["", "0 0 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 0 1 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK", "Zero sigs means no sigs are checked"], -["", "0 0 1 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], - -["", "0 0 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK", "CHECKMULTISIG is allowed to have zero keys and/or sigs"], -["", "0 0 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 0 1 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK", "Zero sigs means no sigs are checked"], -["", "0 0 1 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], - -["", "0 'a' 'b' 2 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK", "Test from up to 20 pubkeys, all not checked"], -["", "0 'a' 'b' 'c' 3 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 4 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 5 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 6 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 7 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 8 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 9 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 10 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 11 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 12 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 13 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 14 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 15 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 16 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 17 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 18 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 19 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 1 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 2 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 3 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 4 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 5 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 6 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 7 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 8 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 9 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 10 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 11 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 12 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 13 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 14 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 15 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 16 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 17 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 18 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 19 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], -["", "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", "", "OK"], - -["1", -"0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY", -"", "OK", "nOpCount is incremented by the number of keys evaluated in addition to the usual one op per op. In this case we have zero keys, so we can execute 201 CHECKMULTISIGS"], - -["", -"NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY DROP DROP DROP DROP DROP DROP DROP TRUE", -"", "OK", -"Even though there are no signatures being checked nOpCount is incremented by the number of keys."], - -["1", -"NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY", -"", "OK"], - -["0x01 1", "HASH160 0x14 0xda1745e9b549bd0bfa1a569971c77eba30cd5a4b EQUAL", "", "OK", "Very basic P2SH"], - -["0x00", "SIZE 0 EQUALVERIFY DROP TRUE", "", "OK", "Basic OP_0 execution"], - -["Numeric pushes"], - -["-1", "0x4f EQUAL", "", "OK", "OP1_NEGATE pushes 0x81"], -["1", "0x51 EQUAL", "", "OK", "OP_1 pushes 0x01"], -["2", "0x52 EQUAL", "", "OK", "OP_2 pushes 0x02"], -["3", "0x53 EQUAL", "", "OK", "OP_3 pushes 0x03"], -["4", "0x54 EQUAL", "", "OK", "OP_4 pushes 0x04"], -["5", "0x55 EQUAL", "", "OK", "OP_5 pushes 0x05"], -["6", "0x56 EQUAL", "", "OK", "OP_6 pushes 0x06"], -["7", "0x57 EQUAL", "", "OK", "OP_7 pushes 0x07"], -["8", "0x58 EQUAL", "", "OK", "OP_8 pushes 0x08"], -["9", "0x59 EQUAL", "", "OK", "OP_9 pushes 0x09"], -["10", "0x5a EQUAL", "", "OK", "OP_10 pushes 0x0a"], -["11", "0x5b EQUAL", "", "OK", "OP_11 pushes 0x0b"], -["12", "0x5c EQUAL", "", "OK", "OP_12 pushes 0x0c"], -["13", "0x5d EQUAL", "", "OK", "OP_13 pushes 0x0d"], -["14", "0x5e EQUAL", "", "OK", "OP_14 pushes 0x0e"], -["15", "0x5f EQUAL", "", "OK", "OP_15 pushes 0x0f"], -["16", "0x60 EQUAL", "", "OK", "OP_16 pushes 0x10"], - -["Unevaluated non-minimal pushes are ignored"], - -["0", "IF 0x4c 0x00 ENDIF 1 ", "", "OK", "non-minimal PUSHDATA1 ignored"], -["0", "IF 0x4d 0x0000 ENDIF 1 ", "", "OK", "non-minimal PUSHDATA2 ignored"], -["0", "IF 0x4c 0x00000000 ENDIF 1 ", "", "OK", "non-minimal PUSHDATA4 ignored"], -["0", "IF 0x01 0x81 ENDIF 1 ", "", "OK", "1NEGATE equiv"], -["0", "IF 0x01 0x01 ENDIF 1 ", "", "OK", "OP_1 equiv"], -["0", "IF 0x01 0x02 ENDIF 1 ", "", "OK", "OP_2 equiv"], -["0", "IF 0x01 0x03 ENDIF 1 ", "", "OK", "OP_3 equiv"], -["0", "IF 0x01 0x04 ENDIF 1 ", "", "OK", "OP_4 equiv"], -["0", "IF 0x01 0x05 ENDIF 1 ", "", "OK", "OP_5 equiv"], -["0", "IF 0x01 0x06 ENDIF 1 ", "", "OK", "OP_6 equiv"], -["0", "IF 0x01 0x07 ENDIF 1 ", "", "OK", "OP_7 equiv"], -["0", "IF 0x01 0x08 ENDIF 1 ", "", "OK", "OP_8 equiv"], -["0", "IF 0x01 0x09 ENDIF 1 ", "", "OK", "OP_9 equiv"], -["0", "IF 0x01 0x0a ENDIF 1 ", "", "OK", "OP_10 equiv"], -["0", "IF 0x01 0x0b ENDIF 1 ", "", "OK", "OP_11 equiv"], -["0", "IF 0x01 0x0c ENDIF 1 ", "", "OK", "OP_12 equiv"], -["0", "IF 0x01 0x0d ENDIF 1 ", "", "OK", "OP_13 equiv"], -["0", "IF 0x01 0x0e ENDIF 1 ", "", "OK", "OP_14 equiv"], -["0", "IF 0x01 0x0f ENDIF 1 ", "", "OK", "OP_15 equiv"], -["0", "IF 0x01 0x10 ENDIF 1 ", "", "OK", "OP_16 equiv"], - -["Numeric minimaldata rules are only applied when a stack item is numerically evaluated; the push itself is allowed"], - -["0x01 0x00", "1 VERIFY DROP TRUE", "", "OK"], -["0x01 0x80", "1 VERIFY DROP TRUE", "", "OK"], -["0x02 0x0180", "1 VERIFY DROP TRUE", "", "OK"], -["0x02 0x0100", "1 VERIFY DROP TRUE", "", "OK"], -["0x02 0x0200", "1 VERIFY DROP TRUE", "", "OK"], -["0x02 0x0300", "1 VERIFY DROP TRUE", "", "OK"], -["0x02 0x0400", "1 VERIFY DROP TRUE", "", "OK"], -["0x02 0x0500", "1 VERIFY DROP TRUE", "", "OK"], -["0x02 0x0600", "1 VERIFY DROP TRUE", "", "OK"], -["0x02 0x0700", "1 VERIFY DROP TRUE", "", "OK"], -["0x02 0x0800", "1 VERIFY DROP TRUE", "", "OK"], -["0x02 0x0900", "1 VERIFY DROP TRUE", "", "OK"], -["0x02 0x0a00", "1 VERIFY DROP TRUE", "", "OK"], -["0x02 0x0b00", "1 VERIFY DROP TRUE", "", "OK"], -["0x02 0x0c00", "1 VERIFY DROP TRUE", "", "OK"], -["0x02 0x0d00", "1 VERIFY DROP TRUE", "", "OK"], -["0x02 0x0e00", "1 VERIFY DROP TRUE", "", "OK"], -["0x02 0x0f00", "1 VERIFY DROP TRUE", "", "OK"], -["0x02 0x1000", "1 VERIFY DROP TRUE", "", "OK"], - -["While not really correctly DER encoded, the empty signature is allowed"], -["to provide a compact way to provide a delibrately invalid signature."], -["0", "0x21 0x02865c40293a680cb9c020e7b1e106d8c1916d3cef99aa431a56d253e69256dac0 CHECKSIG NOT", "", "OK"], -["0", "1 0x21 0x02865c40293a680cb9c020e7b1e106d8c1916d3cef99aa431a56d253e69256dac0 1 CHECKMULTISIG NOT", "", "OK"], - -["TRUE 2147483648", "CHECKSEQUENCEVERIFY", "", "OK", "CSV passes if stack top bit 1 << 31 is set"], - -["", "DEPTH", "", "EVAL_FALSE", "Test the test: we should have an empty stack after scriptSig evaluation"], -[" ", "DEPTH", "", "EVAL_FALSE", "and multiple spaces should not change that."], -[" ", "DEPTH", "", "EVAL_FALSE"], -[" ", "DEPTH", "", "EVAL_FALSE"], - -["", "", "","EVAL_FALSE"], -["", "NOP", "","EVAL_FALSE"], -["", "NOP DEPTH", "", "EVAL_FALSE"], -["", "DEPTH", "", "EVAL_FALSE"], -["","NOP", "", "EVAL_FALSE"], -["","NOP DEPTH", "", "EVAL_FALSE"], - -["0x4c01","0x01 NOP", "","BAD_OPCODE", "PUSHDATA1 with not enough bytes"], -["0x4d0200ff","0x01 NOP", "","BAD_OPCODE", "PUSHDATA2 with not enough bytes"], -["0x4e03000000ffff","0x01 NOP", "","BAD_OPCODE", "PUSHDATA4 with not enough bytes"], - -["1", "IF 0x50 ENDIF 1", "","BAD_OPCODE", "0x50 is reserved"], -["0x52", "0x5f ADD 0x60 EQUAL", "","EVAL_FALSE", "0x51 through 0x60 push 1 through 16 onto stack"], -["0","NOP", "","EVAL_FALSE",""], -["1", "IF VER ELSE 1 ENDIF", "", "BAD_OPCODE", "VER non-functional"], -["0", "IF VERIF ELSE 1 ENDIF", "", "BAD_OPCODE", "VERIF illegal everywhere"], -["0", "IF ELSE 1 ELSE VERIF ENDIF", "", "BAD_OPCODE", "VERIF illegal everywhere"], -["0", "IF VERNOTIF ELSE 1 ENDIF", "", "BAD_OPCODE", "VERNOTIF illegal everywhere"], -["0", "IF ELSE 1 ELSE VERNOTIF ENDIF", "", "BAD_OPCODE", "VERNOTIF illegal everywhere"], - -["0", "DUP IF ENDIF", "", "EVAL_FALSE"], -["0", "IF 1 ENDIF", "", "EVAL_FALSE"], -["0", "DUP IF ELSE ENDIF", "", "EVAL_FALSE"], -["0", "IF 1 ELSE ENDIF", "", "EVAL_FALSE"], -["0", "NOTIF ELSE 1 ENDIF", "", "EVAL_FALSE"], - -["0 1", "IF IF 1 ELSE 0 ENDIF ENDIF", "", "EVAL_FALSE"], -["0 0", "IF IF 1 ELSE 0 ENDIF ENDIF", "", "EVAL_FALSE"], -["1 0", "IF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF", "", "EVAL_FALSE"], -["0 1", "IF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF", "", "EVAL_FALSE"], - -["0 0", "NOTIF IF 1 ELSE 0 ENDIF ENDIF", "", "EVAL_FALSE"], -["0 1", "NOTIF IF 1 ELSE 0 ENDIF ENDIF", "", "EVAL_FALSE"], -["1 1", "NOTIF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF", "", "EVAL_FALSE"], -["0 0", "NOTIF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF", "", "EVAL_FALSE"], - -["1", "IF RETURN ELSE ELSE 1 ENDIF", "", "OP_RETURN", "Multiple ELSEs"], -["1", "IF 1 ELSE ELSE RETURN ENDIF", "", "OP_RETURN"], - -["1", "ENDIF", "", "UNBALANCED_CONDITIONAL", "Malformed IF/ELSE/ENDIF sequence"], -["1", "ELSE ENDIF", "", "UNBALANCED_CONDITIONAL"], -["1", "ENDIF ELSE", "", "UNBALANCED_CONDITIONAL"], -["1", "ENDIF ELSE IF", "", "UNBALANCED_CONDITIONAL"], -["1", "IF ELSE ENDIF ELSE", "", "UNBALANCED_CONDITIONAL"], -["1", "IF ELSE ENDIF ELSE ENDIF", "", "UNBALANCED_CONDITIONAL"], -["1", "IF ENDIF ENDIF", "", "UNBALANCED_CONDITIONAL"], -["1", "IF ELSE ELSE ENDIF ENDIF", "", "UNBALANCED_CONDITIONAL"], - -["1", "RETURN", "", "OP_RETURN"], -["1", "DUP IF RETURN ENDIF", "", "OP_RETURN"], - -["1", "RETURN 'data'", "", "OP_RETURN", "canonical prunable txout format"], - -["0", "VERIFY 1", "", "VERIFY"], -["1", "VERIFY", "", "EVAL_FALSE"], -["1", "VERIFY 0", "", "EVAL_FALSE"], - -["", "IFDUP DEPTH 0 EQUAL", "", "INVALID_STACK_OPERATION"], -["", "DROP DEPTH 0 EQUAL", "", "INVALID_STACK_OPERATION"], -["", "DUP DEPTH 0 EQUAL", "", "INVALID_STACK_OPERATION"], -["1", "DUP 1 ADD 2 EQUALVERIFY 0 EQUAL", "", "EVAL_FALSE"], -["", "NIP", "", "INVALID_STACK_OPERATION"], -["", "1 NIP", "", "INVALID_STACK_OPERATION"], -["", "1 0 NIP", "", "EVAL_FALSE"], -["", "OVER 1", "", "INVALID_STACK_OPERATION"], -["1", "OVER", "", "INVALID_STACK_OPERATION"], -["19 20 21", "PICK 19 EQUALVERIFY DEPTH 2 EQUAL", "", "INVALID_STACK_OPERATION"], -["", "0 PICK", "", "INVALID_STACK_OPERATION"], -["1", "-1 PICK", "", "INVALID_STACK_OPERATION"], -["19 20 21", "0 PICK 20 EQUALVERIFY DEPTH 3 EQUAL", "", "EQUALVERIFY"], -["19 20 21", "1 PICK 21 EQUALVERIFY DEPTH 3 EQUAL", "", "EQUALVERIFY"], -["19 20 21", "2 PICK 22 EQUALVERIFY DEPTH 3 EQUAL", "", "EQUALVERIFY"], -["", "0 ROLL", "", "INVALID_STACK_OPERATION"], -["1", "-1 ROLL", "", "INVALID_STACK_OPERATION"], -["19 20 21", "0 ROLL 20 EQUALVERIFY DEPTH 2 EQUAL", "", "EQUALVERIFY"], -["19 20 21", "1 ROLL 21 EQUALVERIFY DEPTH 2 EQUAL", "", "EQUALVERIFY"], -["19 20 21", "2 ROLL 22 EQUALVERIFY DEPTH 2 EQUAL", "", "EQUALVERIFY"], -["", "ROT 1", "", "INVALID_STACK_OPERATION"], -["", "1 ROT 1", "", "INVALID_STACK_OPERATION"], -["", "1 2 ROT 1", "", "INVALID_STACK_OPERATION"], -["", "SWAP 1", "", "INVALID_STACK_OPERATION"], -["1", "SWAP 1", "", "INVALID_STACK_OPERATION"], -["0 1", "SWAP 1 EQUALVERIFY", "", "EQUALVERIFY"], -["", "TUCK 1", "", "INVALID_STACK_OPERATION"], -["1", "TUCK 1", "", "INVALID_STACK_OPERATION"], -["1 0", "TUCK DEPTH 3 EQUALVERIFY SWAP 2DROP", "", "EVAL_FALSE"], -["", "2DUP 1", "", "INVALID_STACK_OPERATION"], -["1", "2DUP 1", "", "INVALID_STACK_OPERATION"], -["", "3DUP 1", "", "INVALID_STACK_OPERATION"], -["1", "3DUP 1", "", "INVALID_STACK_OPERATION"], -["1 2", "3DUP 1", "", "INVALID_STACK_OPERATION"], -["", "2OVER 1 VERIFY DROP DROP DROP DROP TRUE", "", "INVALID_STACK_OPERATION"], -["1", "2 3 2OVER 1", "", "INVALID_STACK_OPERATION"], -["", "2SWAP 1", "", "INVALID_STACK_OPERATION"], -["1", "2 3 2SWAP 1", "", "INVALID_STACK_OPERATION"], - -["'a' 'b'", "CAT", "", "DISABLED_OPCODE", "CAT disabled"], -["'a' 'b' 0", "IF CAT ELSE 1 ENDIF", "", "DISABLED_OPCODE", "CAT disabled"], -["'abc' 1 1", "SUBSTR", "", "DISABLED_OPCODE", "SUBSTR disabled"], -["'abc' 1 1 0", "IF SUBSTR ELSE 1 ENDIF", "", "DISABLED_OPCODE", "SUBSTR disabled"], -["'abc' 2 0", "IF LEFT ELSE 1 ENDIF", "", "DISABLED_OPCODE", "LEFT disabled"], -["'abc' 2 0", "IF RIGHT ELSE 1 ENDIF", "", "DISABLED_OPCODE", "RIGHT disabled"], - -["", "SIZE 1", "", "INVALID_STACK_OPERATION"], - -["", "NOP", "", "EMPTY_STACK", "Checks EMPTY_STACK error"], - -["'abc'", "INVERT VERIFY TRUE", "", "DISABLED_OPCODE", "INVERT disabled"], -["1 2 0", "IF AND ELSE 1 ENDIF NOP", "", "DISABLED_OPCODE", "AND disabled"], -["1 2 0", "IF OR ELSE 1 ENDIF NOP", "", "DISABLED_OPCODE", "OR disabled"], -["1 2 0", "IF XOR ELSE 1 ENDIF NOP", "", "DISABLED_OPCODE", "XOR disabled"], -["2 0", "IF 2MUL ELSE 1 ENDIF NOP", "", "DISABLED_OPCODE", "2MUL disabled"], -["2 0", "IF 2DIV ELSE 1 ENDIF NOP", "", "DISABLED_OPCODE", "2DIV disabled"], -["2 2 0", "IF MUL ELSE 1 ENDIF NOP", "", "DISABLED_OPCODE", "MUL disabled"], -["2 2 0", "IF DIV ELSE 1 ENDIF NOP", "", "DISABLED_OPCODE", "DIV disabled"], -["2 2 0", "IF MOD ELSE 1 ENDIF NOP", "", "DISABLED_OPCODE", "MOD disabled"], -["2 2 0", "IF LSHIFT ELSE 1 ENDIF NOP", "", "DISABLED_OPCODE", "LSHIFT disabled"], -["2 2 0", "IF RSHIFT ELSE 1 ENDIF NOP", "", "DISABLED_OPCODE", "RSHIFT disabled"], - -["", "EQUAL NOT", "", "INVALID_STACK_OPERATION", "EQUAL must error when there are no stack items"], -["0", "EQUAL NOT", "", "INVALID_STACK_OPERATION", "EQUAL must error when there are not 2 stack items"], -["0 1","EQUAL", "", "EVAL_FALSE"], -["1 1", "ADD 0 EQUAL", "", "EVAL_FALSE"], -["11 1", "ADD 12 SUB 11 EQUAL", "", "EVAL_FALSE"], - -["2147483648 0", "ADD NOP", "", "UNKNOWN_ERROR", "arithmetic operands must be in range [-2^31...2^31] "], -["-2147483648 0", "ADD NOP", "", "UNKNOWN_ERROR", "arithmetic operands must be in range [-2^31...2^31] "], -["2147483647", "DUP ADD 4294967294 NUMEQUAL", "", "UNKNOWN_ERROR", "NUMEQUAL must be in numeric range"], -["'abcdef'", "NOT 0 EQUAL", "", "UNKNOWN_ERROR", "NOT is an arithmetic operand"], - -["2", "DUP MUL 4 EQUAL", "", "DISABLED_OPCODE", "disabled"], -["2", "DUP DIV 1 EQUAL", "", "DISABLED_OPCODE", "disabled"], -["2", "2MUL 4 EQUAL", "", "DISABLED_OPCODE", "disabled"], -["2", "2DIV 1 EQUAL", "", "DISABLED_OPCODE", "disabled"], -["7 3", "MOD 1 EQUAL", "", "DISABLED_OPCODE", "disabled"], -["2 2", "LSHIFT 8 EQUAL", "", "DISABLED_OPCODE", "disabled"], -["2 1", "RSHIFT 1 EQUAL", "", "DISABLED_OPCODE", "disabled"], - -["1", "NOP1 NOP2 NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10 2 EQUAL", "", "EVAL_FALSE"], -["'NOP_1_to_10'","NOP1 NOP2 NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10 'NOP_1_to_11' EQUAL", "", "EVAL_FALSE"], - -["Ensure 100% coverage of discouraged NOPS"], -["1", "NOP1", "DISCOURAGE_UPGRADABLE_NOPS", "DISCOURAGE_UPGRADABLE_NOPS"], -["1", "NOP2", "DISCOURAGE_UPGRADABLE_NOPS", "DISCOURAGE_UPGRADABLE_NOPS"], -["1", "NOP3", "DISCOURAGE_UPGRADABLE_NOPS", "DISCOURAGE_UPGRADABLE_NOPS"], -["1", "NOP4", "DISCOURAGE_UPGRADABLE_NOPS", "DISCOURAGE_UPGRADABLE_NOPS"], -["1", "NOP5", "DISCOURAGE_UPGRADABLE_NOPS", "DISCOURAGE_UPGRADABLE_NOPS"], -["1", "NOP6", "DISCOURAGE_UPGRADABLE_NOPS", "DISCOURAGE_UPGRADABLE_NOPS"], -["1", "NOP7", "DISCOURAGE_UPGRADABLE_NOPS", "DISCOURAGE_UPGRADABLE_NOPS"], -["1", "NOP8", "DISCOURAGE_UPGRADABLE_NOPS", "DISCOURAGE_UPGRADABLE_NOPS"], -["1", "NOP9", "DISCOURAGE_UPGRADABLE_NOPS", "DISCOURAGE_UPGRADABLE_NOPS"], -["1", "NOP10", "DISCOURAGE_UPGRADABLE_NOPS", "DISCOURAGE_UPGRADABLE_NOPS"], - -["1 0x01 0xbb", "HASH160 0x14 0x6b598ec091379f3d1a7f0532738e86accc36dc9f EQUAL", - "DISCOURAGE_UPGRADABLE_NOPS", "DISCOURAGE_UPGRADABLE_NOPS", "Discouraged NOP10 in redeemScript"], - -["0x50","1", "", "BAD_OPCODE", "opcode 0x50 is reserved"], -["1", "IF 0xbc ELSE 1 ENDIF", "", "BAD_OPCODE", "opcodes above NOP10 invalid if executed"], -["1", "IF 0xbd ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xbe ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xbf ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xc0 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xc1 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xc2 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xc3 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xc4 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xc5 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xc6 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xc7 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xc8 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xc9 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xca ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xcb ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xcc ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xcd ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xce ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xcf ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xd0 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xd1 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xd2 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xd3 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xd4 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xd5 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xd6 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xd7 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xd8 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xd9 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xda ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xdb ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xdc ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xdd ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xde ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xdf ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xe0 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xe1 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xe2 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xe3 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xe4 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xe5 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xe6 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xe7 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xe8 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xe9 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xea ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xeb ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xec ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xed ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xee ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xef ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xf0 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xf1 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xf2 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xf3 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xf4 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xf5 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xf6 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xf7 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xf8 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xf9 ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xfa ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xfb ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xfc ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xfd ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xfe ELSE 1 ENDIF", "", "BAD_OPCODE"], -["1", "IF 0xff ELSE 1 ENDIF", "", "BAD_OPCODE"], - -["", "RIPEMD160", "", "INVALID_STACK_OPERATION"], -["", "SHA1", "", "INVALID_STACK_OPERATION"], -["", "SHA256", "", "INVALID_STACK_OPERATION"], -["", "HASH160", "", "INVALID_STACK_OPERATION"], -["", "HASH256", "", "INVALID_STACK_OPERATION"], - -["", -"'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'", -"", -"PUSH_SIZE", -">520 byte push"], -["0", -"IF 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' ENDIF 1", -"", -"PUSH_SIZE", -">520 byte push in non-executed IF branch"], -["1", -"0x61616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161", -"", -"OP_COUNT", -">201 opcodes executed. 0x61 is NOP"], -["0", -"IF 0x6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161 ENDIF 1", -"", -"OP_COUNT", -">201 opcodes including non-executed IF branch. 0x61 is NOP"], -["", -"1 2 3 4 5 6 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f", -"", -"STACK_SIZE", -">244 stack size (0x6f is 3DUP)"], -["", -"1 TOALTSTACK 2 TOALTSTACK 3 4 5 6 7 8 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f", -"", -"STACK_SIZE", -">244 stack+altstack size"], -["", -"0 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f 2DUP 0x616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161", -"", -"SCRIPT_SIZE", -"10,001-byte scriptPubKey"], - -["","NOP1 NOP10", "", "EVAL_FALSE"], - -["1","VER", "", "BAD_OPCODE", "OP_VER is reserved"], -["1","VERIF", "", "BAD_OPCODE", "OP_VERIF is reserved"], -["1","VERNOTIF", "", "BAD_OPCODE", "OP_VERNOTIF is reserved"], -["1","RESERVED", "", "BAD_OPCODE", "OP_RESERVED is reserved"], -["1","RESERVED1", "", "BAD_OPCODE", "OP_RESERVED1 is reserved"], -["1","RESERVED2", "", "BAD_OPCODE", "OP_RESERVED2 is reserved"], -["1","0xbc", "", "BAD_OPCODE", "0xbc == OP_NOP10 + 1"], - -["2147483648", "1ADD 1", "", "UNKNOWN_ERROR", "We cannot do math on 5-byte integers"], -["2147483648", "NEGATE 1", "", "UNKNOWN_ERROR", "We cannot do math on 5-byte integers"], -["-2147483648", "1ADD 1", "", "UNKNOWN_ERROR", "Because we use a sign bit, -2147483648 is also 5 bytes"], -["2147483647", "1ADD 1SUB 1", "", "UNKNOWN_ERROR", "We cannot do math on 5-byte integers, even if the result is 4-bytes"], -["2147483648", "1SUB 1", "", "UNKNOWN_ERROR", "We cannot do math on 5-byte integers, even if the result is 4-bytes"], - -["2147483648 1", "BOOLOR 1", "", "UNKNOWN_ERROR", "We cannot do BOOLOR on 5-byte integers (but we can still do IF etc)"], -["2147483648 1", "BOOLAND 1", "", "UNKNOWN_ERROR", "We cannot do BOOLAND on 5-byte integers"], - -["1", "1 ENDIF", "", "UNBALANCED_CONDITIONAL", "ENDIF without IF"], -["1", "IF 1", "", "UNBALANCED_CONDITIONAL", "IF without ENDIF"], - -["", "IF 1 ENDIF", "", "UNBALANCED_CONDITIONAL", "The following tests check the if(stack.size() < N) tests in each opcode"], -["", "NOTIF 1 ENDIF", "", "UNBALANCED_CONDITIONAL", "They are here to catch copy-and-paste errors"], -["", "VERIFY 1", "", "INVALID_STACK_OPERATION", "Most of them are duplicated elsewhere,"], - -["", "TOALTSTACK 1", "", "INVALID_STACK_OPERATION", "but, hey, more is always better, right?"], -["1", "FROMALTSTACK", "", "INVALID_ALTSTACK_OPERATION"], -["1", "2DROP 1", "", "INVALID_STACK_OPERATION"], -["1", "2DUP", "", "INVALID_STACK_OPERATION"], -["1 1", "3DUP", "", "INVALID_STACK_OPERATION"], -["1 1 1", "2OVER", "", "INVALID_STACK_OPERATION"], -["1 1 1 1 1", "2ROT", "", "INVALID_STACK_OPERATION"], -["1 1 1", "2SWAP", "", "INVALID_STACK_OPERATION"], -["", "IFDUP 1", "", "INVALID_STACK_OPERATION"], -["", "DROP 1", "", "INVALID_STACK_OPERATION"], -["", "DUP 1", "", "INVALID_STACK_OPERATION"], -["1", "NIP", "", "INVALID_STACK_OPERATION"], -["1", "OVER", "", "INVALID_STACK_OPERATION"], -["1 1 1 3", "PICK", "", "INVALID_STACK_OPERATION"], -["0", "PICK 1", "", "INVALID_STACK_OPERATION"], -["1 1 1 3", "ROLL", "", "INVALID_STACK_OPERATION"], -["0", "ROLL 1", "", "INVALID_STACK_OPERATION"], -["1 1", "ROT", "", "INVALID_STACK_OPERATION"], -["1", "SWAP", "", "INVALID_STACK_OPERATION"], -["1", "TUCK", "", "INVALID_STACK_OPERATION"], - -["", "SIZE 1", "", "INVALID_STACK_OPERATION"], - -["1", "EQUAL 1", "", "INVALID_STACK_OPERATION"], -["1", "EQUALVERIFY 1", "", "INVALID_STACK_OPERATION"], - -["", "1ADD 1", "", "INVALID_STACK_OPERATION"], -["", "1SUB 1", "", "INVALID_STACK_OPERATION"], -["", "NEGATE 1", "", "INVALID_STACK_OPERATION"], -["", "ABS 1", "", "INVALID_STACK_OPERATION"], -["", "NOT 1", "", "INVALID_STACK_OPERATION"], -["", "0NOTEQUAL 1", "", "INVALID_STACK_OPERATION"], - -["1", "ADD", "", "INVALID_STACK_OPERATION"], -["1", "SUB", "", "INVALID_STACK_OPERATION"], -["1", "BOOLAND", "", "INVALID_STACK_OPERATION"], -["1", "BOOLOR", "", "INVALID_STACK_OPERATION"], -["1", "NUMEQUAL", "", "INVALID_STACK_OPERATION"], -["1", "NUMEQUALVERIFY 1", "", "INVALID_STACK_OPERATION"], -["1", "NUMNOTEQUAL", "", "INVALID_STACK_OPERATION"], -["1", "LESSTHAN", "", "INVALID_STACK_OPERATION"], -["1", "GREATERTHAN", "", "INVALID_STACK_OPERATION"], -["1", "LESSTHANOREQUAL", "", "INVALID_STACK_OPERATION"], -["1", "GREATERTHANOREQUAL", "", "INVALID_STACK_OPERATION"], -["1", "MIN", "", "INVALID_STACK_OPERATION"], -["1", "MAX", "", "INVALID_STACK_OPERATION"], -["1 1", "WITHIN", "", "INVALID_STACK_OPERATION"], - -["", "RIPEMD160 1", "", "INVALID_STACK_OPERATION"], -["", "SHA1 1", "", "INVALID_STACK_OPERATION"], -["", "SHA256 1", "", "INVALID_STACK_OPERATION"], -["", "HASH160 1", "", "INVALID_STACK_OPERATION"], -["", "HASH256 1", "", "INVALID_STACK_OPERATION"], - -["Increase CHECKSIG and CHECKMULTISIG negative test coverage"], -["", "CHECKSIG NOT", "", "INVALID_STACK_OPERATION", "CHECKSIG must error when there are no stack items"], -["0", "CHECKSIG NOT", "", "INVALID_STACK_OPERATION", "CHECKSIG must error when there are not 2 stack items"], -["", "CHECKMULTISIG NOT", "", "INVALID_STACK_OPERATION", "CHECKMULTISIG must error when there are no stack items"], -["", "-1 CHECKMULTISIG NOT", "", "PUBKEY_COUNT", "CHECKMULTISIG must error when the specified number of pubkeys is negative"], -["", "1 CHECKMULTISIG NOT", "", "INVALID_STACK_OPERATION", "CHECKMULTISIG must error when there are not enough pubkeys on the stack"], -["", "-1 0 CHECKMULTISIG NOT", "", "SIG_COUNT", "CHECKMULTISIG must error when the specified number of signatures is negative"], -["", "1 'pk1' 1 CHECKMULTISIG NOT", "", "INVALID_STACK_OPERATION", "CHECKMULTISIG must error when there are not enough signatures on the stack"], - -["", -"0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG", -"", -"OP_COUNT", -"202 CHECKMULTISIGS, fails due to 201 op limit"], - -["", -"NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG", -"", -"OP_COUNT", -"Fails due to 201 script operation limit"], - -["1", -"NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY", -"", -"OP_COUNT", -""], - - -["0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21", "21 CHECKMULTISIG 1", "", "PUBKEY_COUNT", "nPubKeys > 20"], -["0 'sig' 1 0", "CHECKMULTISIG 1", "", "SIG_COUNT", "nSigs > nPubKeys"], - - -["NOP 0x01 1", "HASH160 0x14 0xda1745e9b549bd0bfa1a569971c77eba30cd5a4b EQUAL", "", "SIG_PUSHONLY", "Tests for Script.IsPushOnly()"], -["NOP1 0x01 1", "HASH160 0x14 0xda1745e9b549bd0bfa1a569971c77eba30cd5a4b EQUAL", "", "SIG_PUSHONLY"], - -["0 0x01 0x50", "HASH160 0x14 0xece424a6bb6ddf4db592c0faed60685047a361b1 EQUAL", "", "BAD_OPCODE", "OP_RESERVED in P2SH should fail"], -["0 0x01", "VER HASH160 0x14 0x0f4d7845db968f2a81b530b6f3c1d6246d4c7e01 EQUAL", "", "BAD_OPCODE", "OP_VER in P2SH should fail"], - -["0x00", "'00' EQUAL", "", "EVAL_FALSE", "Basic OP_0 execution"], - -["MINIMALDATA enforcement for PUSHDATAs"], - -["0x4c 0x00", "DROP 1", "", "MINIMALDATA", "Empty vector minimally represented by OP_0"], -["0x01 0x81", "DROP 1", "", "MINIMALDATA", "-1 minimally represented by OP_1NEGATE"], -["0x01 0x01", "DROP 1", "", "MINIMALDATA", "1 to 16 minimally represented by OP_1 to OP_16"], -["0x01 0x02", "DROP 1", "", "MINIMALDATA"], -["0x01 0x03", "DROP 1", "", "MINIMALDATA"], -["0x01 0x04", "DROP 1", "", "MINIMALDATA"], -["0x01 0x05", "DROP 1", "", "MINIMALDATA"], -["0x01 0x06", "DROP 1", "", "MINIMALDATA"], -["0x01 0x07", "DROP 1", "", "MINIMALDATA"], -["0x01 0x08", "DROP 1", "", "MINIMALDATA"], -["0x01 0x09", "DROP 1", "", "MINIMALDATA"], -["0x01 0x0a", "DROP 1", "", "MINIMALDATA"], -["0x01 0x0b", "DROP 1", "", "MINIMALDATA"], -["0x01 0x0c", "DROP 1", "", "MINIMALDATA"], -["0x01 0x0d", "DROP 1", "", "MINIMALDATA"], -["0x01 0x0e", "DROP 1", "", "MINIMALDATA"], -["0x01 0x0f", "DROP 1", "", "MINIMALDATA"], -["0x01 0x10", "DROP 1", "", "MINIMALDATA"], - -["0x4c 0x48 0x111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "DROP 1", "", - "MINIMALDATA", - "PUSHDATA1 of 72 bytes minimally represented by direct push"], - -["0x4d 0xFF00 0x111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "DROP 1", "", - "MINIMALDATA", - "PUSHDATA2 of 255 bytes minimally represented by PUSHDATA1"], - -["0x4e 0x00010000 0x11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", "DROP 1", "", - "MINIMALDATA", - "PUSHDATA4 of 256 bytes minimally represented by PUSHDATA2"], - -["MINIMALDATA enforcement for numeric arguments"], - -["0x01 0x00", "NOT DROP 1", "", "UNKNOWN_ERROR", "numequals 0"], -["0x02 0x0000", "NOT DROP 1", "", "UNKNOWN_ERROR", "numequals 0"], -["0x01 0x80", "NOT DROP 1", "", "UNKNOWN_ERROR", "0x80 (negative zero) numequals 0"], -["0x02 0x0080", "NOT DROP 1", "", "UNKNOWN_ERROR", "numequals 0"], -["0x02 0x0500", "NOT DROP 1", "", "UNKNOWN_ERROR", "numequals 5"], -["0x03 0x050000", "NOT DROP 1", "", "UNKNOWN_ERROR", "numequals 5"], -["0x02 0x0580", "NOT DROP 1", "", "UNKNOWN_ERROR", "numequals -5"], -["0x03 0x050080", "NOT DROP 1", "", "UNKNOWN_ERROR", "numequals -5"], -["0x03 0xff7f80", "NOT DROP 1", "", "UNKNOWN_ERROR", "Minimal encoding is 0xffff"], -["0x03 0xff7f00", "NOT DROP 1", "", "UNKNOWN_ERROR", "Minimal encoding is 0xff7f"], -["0x04 0xffff7f80", "NOT DROP 1", "", "UNKNOWN_ERROR", "Minimal encoding is 0xffffff"], -["0x04 0xffff7f00", "NOT DROP 1", "", "UNKNOWN_ERROR", "Minimal encoding is 0xffff7f"], - -["Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule"], - -["1 0x02 0x0000", "PICK DROP", "", "UNKNOWN_ERROR"], -["1 0x02 0x0000", "ROLL DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000", "1ADD DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000", "1SUB DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000", "NEGATE DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000", "ABS DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000", "NOT DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000", "0NOTEQUAL DROP 1", "", "UNKNOWN_ERROR"], - -["0 0x02 0x0000", "ADD DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000 0", "ADD DROP 1", "", "UNKNOWN_ERROR"], -["0 0x02 0x0000", "SUB DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000 0", "SUB DROP 1", "", "UNKNOWN_ERROR"], -["0 0x02 0x0000", "BOOLAND DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000 0", "BOOLAND DROP 1", "", "UNKNOWN_ERROR"], -["0 0x02 0x0000", "BOOLOR DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000 0", "BOOLOR DROP 1", "", "UNKNOWN_ERROR"], -["0 0x02 0x0000", "NUMEQUAL DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000 1", "NUMEQUAL DROP 1", "", "UNKNOWN_ERROR"], -["0 0x02 0x0000", "NUMEQUALVERIFY 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000 0", "NUMEQUALVERIFY 1", "", "UNKNOWN_ERROR"], -["0 0x02 0x0000", "NUMNOTEQUAL DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000 0", "NUMNOTEQUAL DROP 1", "", "UNKNOWN_ERROR"], -["0 0x02 0x0000", "LESSTHAN DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000 0", "LESSTHAN DROP 1", "", "UNKNOWN_ERROR"], -["0 0x02 0x0000", "GREATERTHAN DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000 0", "GREATERTHAN DROP 1", "", "UNKNOWN_ERROR"], -["0 0x02 0x0000", "LESSTHANOREQUAL DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000 0", "LESSTHANOREQUAL DROP 1", "", "UNKNOWN_ERROR"], -["0 0x02 0x0000", "GREATERTHANOREQUAL DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000 0", "GREATERTHANOREQUAL DROP 1", "", "UNKNOWN_ERROR"], -["0 0x02 0x0000", "MIN DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000 0", "MIN DROP 1", "", "UNKNOWN_ERROR"], -["0 0x02 0x0000", "MAX DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000 0", "MAX DROP 1", "", "UNKNOWN_ERROR"], - -["0x02 0x0000 0 0", "WITHIN DROP 1", "", "UNKNOWN_ERROR"], -["0 0x02 0x0000 0", "WITHIN DROP 1", "", "UNKNOWN_ERROR"], -["0 0 0x02 0x0000", "WITHIN DROP 1", "", "UNKNOWN_ERROR"], - -["0 0x02 0x0000", "CHECKMULTISIG DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000 0", "CHECKMULTISIG DROP 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000 0 1", "CHECKMULTISIG DROP 1", "", "UNKNOWN_ERROR"], -["0 0x02 0x0000", "CHECKMULTISIGVERIFY 1", "", "UNKNOWN_ERROR"], -["0x02 0x0000 0", "CHECKMULTISIGVERIFY 1", "", "UNKNOWN_ERROR"], - -["Check MINIMALIF"], -["2", "IF TRUE ELSE FALSE", "", "MINIMALIF"], -["2", "NOTIF TRUE ELSE FALSE", "", "MINIMALIF"], - - -["Order of CHECKMULTISIG evaluation tests, inverted by swapping the order of"], -["pubkeys/signatures so they fail due to the STRICTENC rules on validly encoded"], -["signatures and pubkeys."], -[ + [ + "Format is: [[wit..., amount]?, scriptSig, scriptPubKey, flags, expected_scripterror, ... comments]" + ], + [ + "It is evaluated as if there was a crediting coinbase transaction with two 0" + ], + [ + "pushes as scriptSig, and one output of 0 satoshi and given scriptPubKey," + ], + [ + "followed by a spending transaction which spends this output as only input (and" + ], + [ + "correct prevout hash), using the given scriptSig. All nLockTimes are 0, all" + ], + [ + "nSequences are max." + ], + [ + "", + "DEPTH 0 EQUAL", + "", + "OK", + "Test the test: we should have an empty stack after scriptSig evaluation" + ], + [ + " ", + "DEPTH 0 EQUAL", + "", + "OK", + "and multiple spaces should not change that." + ], + [ + " ", + "DEPTH 0 EQUAL", + "", + "OK" + ], + [ + " ", + "DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "1 2", + "2 EQUALVERIFY 1 EQUAL", + "", + "OK", + "Similarly whitespace around and between symbols" + ], + [ + "1 2", + "2 EQUALVERIFY 1 EQUAL", + "", + "OK" + ], + [ + " 1 2", + "2 EQUALVERIFY 1 EQUAL", + "", + "OK" + ], + [ + "1 2 ", + "2 EQUALVERIFY 1 EQUAL", + "", + "OK" + ], + [ + " 1 2 ", + "2 EQUALVERIFY 1 EQUAL", + "", + "OK" + ], + [ + "1", + "", + "", + "OK" + ], + [ + "0x02 0x01 0x00", + "", + "", + "OK", + "all bytes are significant, not only the last one" + ], + [ + "0x09 0x00000000 0x00000000 0x10", + "", + "", + "OK", + "equals zero when cast to Int64" + ], + [ + "0x01 0x11", + "17 EQUAL", + "", + "OK", + "push 1 byte" + ], + [ + "0x02 0x417a", + "'Az' EQUAL", + "", + "OK" + ], + [ + "0x4b 0x417a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a", + "'Azzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz' EQUAL", + "", + "OK", + "push 75 bytes" + ], + [ + "0x4c 0x4c 0x417a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a", + "'Azzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz' EQUAL", + "", + "OK", + "0x4c is OP_PUSHDATA1 (push 76 bytes)" + ], + [ + "0x4d 0x0001 0x417a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a7a", + "'Azzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz' EQUAL", + "", + "OK", + "0x4d is OP_PUSHDATA2" + ], + [ + "0x4f 1000", + "ADD 999 EQUAL", + "", + "OK" + ], + [ + "0", + "IF 0x50 ENDIF 1", + "", + "OK", + "0x50 is reserved (ok if not executed)" + ], + [ + "0x51", + "0x5f ADD 0x60 EQUAL", + "", + "OK", + "0x51 through 0x60 push 1 through 16 onto stack" + ], + [ + "1", + "NOP", + "", + "OK" + ], + [ + "0", + "IF VER ELSE 1 ENDIF", + "", + "OK", + "VER non-functional (ok if not executed)" + ], + [ + "0", + "IF RESERVED RESERVED1 RESERVED2 ELSE 1 ENDIF", + "", + "OK", + "RESERVED ok in un-executed IF" + ], + [ + "1", + "DUP IF ENDIF", + "", + "OK" + ], + [ + "1", + "IF 1 ENDIF", + "", + "OK" + ], + [ + "1", + "DUP IF ELSE ENDIF", + "", + "OK" + ], + [ + "1", + "IF 1 ELSE ENDIF", + "", + "OK" + ], + [ + "0", + "IF ELSE 1 ENDIF", + "", + "OK" + ], + [ + "1 1", + "IF IF 1 ELSE 0 ENDIF ENDIF", + "", + "OK" + ], + [ + "1 0", + "IF IF 1 ELSE 0 ENDIF ENDIF", + "", + "OK" + ], + [ + "1 1", + "IF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF", + "", + "OK" + ], + [ + "0 0", + "IF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF", + "", + "OK" + ], + [ + "1 0", + "NOTIF IF 1 ELSE 0 ENDIF ENDIF", + "", + "OK" + ], + [ + "1 1", + "NOTIF IF 1 ELSE 0 ENDIF ENDIF", + "", + "OK" + ], + [ + "1 0", + "NOTIF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF", + "", + "OK" + ], + [ + "0 1", + "NOTIF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0 ELSE 1 ELSE 0 ENDIF", + "", + "OK", + "Multiple ELSE's are valid and executed inverts on each ELSE encountered" + ], + [ + "1", + "IF 1 ELSE 0 ELSE ENDIF", + "", + "OK" + ], + [ + "1", + "IF ELSE 0 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "1", + "IF 1 ELSE 0 ELSE 1 ENDIF ADD 2 EQUAL", + "", + "OK" + ], + [ + "'' 1", + "IF SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ENDIF 0x14 0x68ca4fec736264c13b859bac43d5173df6871682 EQUAL", + "", + "OK" + ], + [ + "1", + "NOTIF 0 ELSE 1 ELSE 0 ENDIF", + "", + "OK", + "Multiple ELSE's are valid and execution inverts on each ELSE encountered" + ], + [ + "0", + "NOTIF 1 ELSE 0 ELSE ENDIF", + "", + "OK" + ], + [ + "0", + "NOTIF ELSE 0 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "NOTIF 1 ELSE 0 ELSE 1 ENDIF ADD 2 EQUAL", + "", + "OK" + ], + [ + "'' 0", + "NOTIF SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ELSE ELSE SHA1 ENDIF 0x14 0x68ca4fec736264c13b859bac43d5173df6871682 EQUAL", + "", + "OK" + ], + [ + "0", + "IF 1 IF RETURN ELSE RETURN ELSE RETURN ENDIF ELSE 1 IF 1 ELSE RETURN ELSE 1 ENDIF ELSE RETURN ENDIF ADD 2 EQUAL", + "", + "OK", + "Nested ELSE ELSE" + ], + [ + "1", + "NOTIF 0 NOTIF RETURN ELSE RETURN ELSE RETURN ENDIF ELSE 0 NOTIF 1 ELSE RETURN ELSE 1 ENDIF ELSE RETURN ENDIF ADD 2 EQUAL", + "", + "OK" + ], + [ + "0", + "IF RETURN ENDIF 1", + "", + "OK", + "RETURN only works if executed" + ], + [ + "1 1", + "VERIFY", + "", + "OK" + ], + [ + "1 0x05 0x01 0x00 0x00 0x00 0x00", + "VERIFY", + "", + "OK", + "values >4 bytes can be cast to boolean" + ], + [ + "0x01 0x80", + "VERIFY TRUE", + "", + "VERIFY", + "negative 0 is false" + ], + [ + "10 0 11", + "TOALTSTACK DROP FROMALTSTACK ADD 21 EQUAL", + "", + "OK" + ], + [ + "'gavin_was_here'", + "TOALTSTACK 11 FROMALTSTACK 'gavin_was_here' EQUALVERIFY 11 EQUAL", + "", + "OK" + ], + [ + "0", + "IFDUP DEPTH 1 EQUALVERIFY 0 EQUAL", + "", + "OK" + ], + [ + "1", + "IFDUP DEPTH 2 EQUALVERIFY 1 EQUALVERIFY 1 EQUAL", + "", + "OK" + ], + [ + "0x05 0x0100000000", + "IFDUP DEPTH 2 EQUALVERIFY 0x05 0x0100000000 EQUALVERIFY DROP TRUE", + "", + "OK", + "IFDUP dups non ints" + ], + [ + "0", + "DROP DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "0", + "DUP 1 ADD 1 EQUALVERIFY 0 EQUAL", + "", + "OK" + ], + [ + "0 1", + "NIP", + "", + "OK" + ], + [ + "1 0", + "OVER DEPTH 3 EQUALVERIFY DROP DROP DROP TRUE", + "", + "OK" + ], + [ + "22 21 20", + "0 PICK 20 EQUALVERIFY DEPTH 3 EQUALVERIFY DROP DROP DROP TRUE", + "", + "OK" + ], + [ + "22 21 20", + "1 PICK 21 EQUALVERIFY DEPTH 3 EQUALVERIFY DROP DROP DROP TRUE", + "", + "OK" + ], + [ + "22 21 20", + "2 PICK 22 EQUALVERIFY DEPTH 3 EQUALVERIFY DROP DROP DROP TRUE", + "", + "OK" + ], + [ + "22 21 20", + "0 ROLL 20 EQUALVERIFY DEPTH 2 EQUALVERIFY DROP DROP TRUE", + "", + "OK" + ], + [ + "22 21 20", + "1 ROLL 21 EQUALVERIFY DEPTH 2 EQUALVERIFY DROP DROP TRUE", + "", + "OK" + ], + [ + "22 21 20", + "2 ROLL 22 EQUALVERIFY DEPTH 2 EQUALVERIFY DROP DROP TRUE", + "", + "OK" + ], + [ + "22 21 20", + "ROT 22 EQUALVERIFY DROP DROP TRUE", + "", + "OK" + ], + [ + "22 21 20", + "ROT DROP 20 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "22 21 20", + "ROT DROP DROP 21 EQUAL", + "", + "OK" + ], + [ + "22 21 20", + "ROT ROT 21 EQUAL 2DROP", + "", + "OK" + ], + [ + "22 21 20", + "ROT ROT ROT 20 EQUALVERIFY DROP DROP TRUE", + "", + "OK" + ], + [ + "25 24 23 22 21 20", + "2ROT 24 EQUALVERIFY DROP DROP DROP DROP DROP TRUE", + "", + "OK" + ], + [ + "25 24 23 22 21 20", + "2ROT DROP 25 EQUALVERIFY DROP DROP DROP DROP TRUE", + "", + "OK" + ], + [ + "25 24 23 22 21 20", + "2ROT 2DROP 20 EQUALVERIFY DROP DROP DROP TRUE", + "", + "OK" + ], + [ + "25 24 23 22 21 20", + "2ROT 2DROP DROP 21 EQUALVERIFY 2DROP TRUE", + "", + "OK" + ], + [ + "25 24 23 22 21 20", + "2ROT 2DROP 2DROP 22 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "25 24 23 22 21 20", + "2ROT 2DROP 2DROP DROP 23 EQUALVERIFY TRUE", + "", + "OK" + ], + [ + "25 24 23 22 21 20", + "2ROT 2ROT 22 EQUALVERIFY 2DROP DROP DROP DROP TRUE", + "", + "OK" + ], + [ + "25 24 23 22 21 20", + "2ROT 2ROT 2ROT 20 EQUALVERIFY DROP DROP DROP DROP DROP TRUE", + "", + "OK" + ], + [ + "1 0", + "SWAP 1 EQUALVERIFY 0 EQUAL", + "", + "OK" + ], + [ + "0 1", + "TUCK DEPTH 3 EQUALVERIFY SWAP 2DROP", + "", + "OK" + ], + [ + "13 14", + "2DUP ROT EQUALVERIFY EQUAL", + "", + "OK" + ], + [ + "-1 0 1 2", + "3DUP DEPTH 7 EQUALVERIFY ADD ADD 3 EQUALVERIFY 2DROP 0 EQUALVERIFY", + "", + "OK" + ], + [ + "1 2 3 5", + "2OVER ADD ADD 8 EQUALVERIFY ADD ADD 6 EQUAL", + "", + "OK" + ], + [ + "1 3 5 7", + "2SWAP ADD 4 EQUALVERIFY ADD 12 EQUAL", + "", + "OK" + ], + [ + "0", + "SIZE 0 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "1", + "SIZE 1 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "127", + "SIZE 1 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "128", + "SIZE 2 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "32767", + "SIZE 2 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "32768", + "SIZE 3 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "8388607", + "SIZE 3 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "8388608", + "SIZE 4 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "2147483647", + "SIZE 4 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "2147483648", + "SIZE 5 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "549755813887", + "SIZE 5 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "549755813888", + "SIZE 6 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "9223372036854775807", + "SIZE 8 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "-1", + "SIZE 1 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "-127", + "SIZE 1 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "-128", + "SIZE 2 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "-32767", + "SIZE 2 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "-32768", + "SIZE 3 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "-8388607", + "SIZE 3 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "-8388608", + "SIZE 4 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "-2147483647", + "SIZE 4 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "-2147483648", + "SIZE 5 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "-549755813887", + "SIZE 5 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "-549755813888", + "SIZE 6 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "-9223372036854775807", + "SIZE 8 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "'abcdefghijklmnopqrstuvwxyz'", + "SIZE 26 EQUALVERIFY DROP TRUE", + "", + "OK" + ], + [ + "42", + "SIZE 1 EQUALVERIFY 42 EQUAL", + "", + "OK", + "SIZE does not consume argument" + ], + [ + "2 -2", + "ADD 0 EQUAL", + "", + "OK" + ], + [ + "2147483647 -2147483647", + "ADD 0 EQUAL", + "", + "OK" + ], + [ + "-1 -1", + "ADD -2 EQUAL", + "", + "OK" + ], + [ + "0 0", + "EQUAL", + "", + "OK" + ], + [ + "1 1", + "ADD 2 EQUAL", + "", + "OK" + ], + [ + "1", + "1ADD 2 EQUAL", + "", + "OK" + ], + [ + "111", + "1SUB 110 EQUAL", + "", + "OK" + ], + [ + "111 1", + "ADD 12 SUB 100 EQUAL", + "", + "OK" + ], + [ + "0", + "ABS 0 EQUAL", + "", + "OK" + ], + [ + "16", + "ABS 16 EQUAL", + "", + "OK" + ], + [ + "-16", + "ABS -16 NEGATE EQUAL", + "", + "OK" + ], + [ + "0", + "NOT NOP", + "", + "OK" + ], + [ + "1", + "NOT 0 EQUAL", + "", + "OK" + ], + [ + "11", + "NOT 0 EQUAL", + "", + "OK" + ], + [ + "0", + "0NOTEQUAL 0 EQUAL", + "", + "OK" + ], + [ + "1", + "0NOTEQUAL 1 EQUAL", + "", + "OK" + ], + [ + "111", + "0NOTEQUAL 1 EQUAL", + "", + "OK" + ], + [ + "-111", + "0NOTEQUAL 1 EQUAL", + "", + "OK" + ], + [ + "1 1", + "BOOLAND NOP", + "", + "OK" + ], + [ + "1 0", + "BOOLAND NOT", + "", + "OK" + ], + [ + "0 1", + "BOOLAND NOT", + "", + "OK" + ], + [ + "0 0", + "BOOLAND NOT", + "", + "OK" + ], + [ + "16 17", + "BOOLAND NOP", + "", + "OK" + ], + [ + "1 1", + "BOOLOR NOP", + "", + "OK" + ], + [ + "1 0", + "BOOLOR NOP", + "", + "OK" + ], + [ + "0 1", + "BOOLOR NOP", + "", + "OK" + ], + [ + "0 0", + "BOOLOR NOT", + "", + "OK" + ], + [ + "16 17", + "BOOLOR NOP", + "", + "OK" + ], + [ + "11 10 1", + "ADD NUMEQUAL", + "", + "OK" + ], + [ + "11 10 1", + "ADD NUMEQUALVERIFY 1", + "", + "OK" + ], + [ + "11 10 1", + "ADD NUMNOTEQUAL NOT", + "", + "OK" + ], + [ + "111 10 1", + "ADD NUMNOTEQUAL", + "", + "OK" + ], + [ + "11 10", + "LESSTHAN NOT", + "", + "OK" + ], + [ + "4 4", + "LESSTHAN NOT", + "", + "OK" + ], + [ + "10 11", + "LESSTHAN", + "", + "OK" + ], + [ + "-11 11", + "LESSTHAN", + "", + "OK" + ], + [ + "-11 -10", + "LESSTHAN", + "", + "OK" + ], + [ + "11 10", + "GREATERTHAN", + "", + "OK" + ], + [ + "4 4", + "GREATERTHAN NOT", + "", + "OK" + ], + [ + "10 11", + "GREATERTHAN NOT", + "", + "OK" + ], + [ + "-11 11", + "GREATERTHAN NOT", + "", + "OK" + ], + [ + "-11 -10", + "GREATERTHAN NOT", + "", + "OK" + ], + [ + "11 10", + "LESSTHANOREQUAL NOT", + "", + "OK" + ], + [ + "4 4", + "LESSTHANOREQUAL", + "", + "OK" + ], + [ + "10 11", + "LESSTHANOREQUAL", + "", + "OK" + ], + [ + "-11 11", + "LESSTHANOREQUAL", + "", + "OK" + ], + [ + "-11 -10", + "LESSTHANOREQUAL", + "", + "OK" + ], + [ + "11 10", + "GREATERTHANOREQUAL", + "", + "OK" + ], + [ + "4 4", + "GREATERTHANOREQUAL", + "", + "OK" + ], + [ + "10 11", + "GREATERTHANOREQUAL NOT", + "", + "OK" + ], + [ + "-11 11", + "GREATERTHANOREQUAL NOT", + "", + "OK" + ], + [ + "-11 -10", + "GREATERTHANOREQUAL NOT", + "", + "OK" + ], + [ + "1 0", + "MIN 0 NUMEQUAL", + "", + "OK" + ], + [ + "0 1", + "MIN 0 NUMEQUAL", + "", + "OK" + ], + [ + "-1 0", + "MIN -1 NUMEQUAL", + "", + "OK" + ], + [ + "0 -2147483647", + "MIN -2147483647 NUMEQUAL", + "", + "OK" + ], + [ + "2147483647 0", + "MAX 2147483647 NUMEQUAL", + "", + "OK" + ], + [ + "0 100", + "MAX 100 NUMEQUAL", + "", + "OK" + ], + [ + "-100 0", + "MAX 0 NUMEQUAL", + "", + "OK" + ], + [ + "0 -2147483647", + "MAX 0 NUMEQUAL", + "", + "OK" + ], + [ + "0 0 1", + "WITHIN", + "", + "OK" + ], + [ + "1 0 1", + "WITHIN NOT", + "", + "OK" + ], + [ + "0 -2147483647 2147483647", + "WITHIN", + "", + "OK" + ], + [ + "-1 -100 100", + "WITHIN", + "", + "OK" + ], + [ + "11 -100 100", + "WITHIN", + "", + "OK" + ], + [ + "-2147483647 -100 100", + "WITHIN NOT", + "", + "OK" + ], + [ + "2147483647 -100 100", + "WITHIN NOT", + "", + "OK" + ], + [ + "2147483647 2147483647", + "SUB 0 EQUAL", + "", + "OK" + ], + [ + "2147483647", + "DUP ADD 4294967294 EQUAL", + "", + "OK", + ">32 bit EQUAL is valid" + ], + [ + "2147483647", + "NEGATE DUP ADD -4294967294 EQUAL", + "", + "OK" + ], + [ + "''", + "RIPEMD160 0x14 0x9c1185a5c5e9fc54612808977ee8f548b2258d31 EQUAL", + "", + "OK" + ], + [ + "'a'", + "RIPEMD160 0x14 0x0bdc9d2d256b3ee9daae347be6f4dc835a467ffe EQUAL", + "", + "OK" + ], + [ + "'abcdefghijklmnopqrstuvwxyz'", + "RIPEMD160 0x14 0xf71c27109c692c1b56bbdceb5b9d2865b3708dbc EQUAL", + "", + "OK" + ], + [ + "''", + "SHA1 0x14 0xda39a3ee5e6b4b0d3255bfef95601890afd80709 EQUAL", + "", + "OK" + ], + [ + "'a'", + "SHA1 0x14 0x86f7e437faa5a7fce15d1ddcb9eaeaea377667b8 EQUAL", + "", + "OK" + ], + [ + "'abcdefghijklmnopqrstuvwxyz'", + "SHA1 0x14 0x32d10c7b8cf96570ca04ce37f2a19d84240d3a89 EQUAL", + "", + "OK" + ], + [ + "''", + "SHA256 0x20 0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 EQUAL", + "", + "OK" + ], + [ + "'a'", + "SHA256 0x20 0xca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb EQUAL", + "", + "OK" + ], + [ + "'abcdefghijklmnopqrstuvwxyz'", + "SHA256 0x20 0x71c480df93d6ae2f1efad1447c66c9525e316218cf51fc8d9ed832f2daf18b73 EQUAL", + "", + "OK" + ], + [ + "''", + "DUP HASH160 SWAP SHA256 RIPEMD160 EQUAL", + "", + "OK" + ], + [ + "''", + "DUP HASH256 SWAP SHA256 SHA256 EQUAL", + "", + "OK" + ], + [ + "''", + "NOP HASH160 0x14 0xb472a266d0bd89c13706a4132ccfb16f7c3b9fcb EQUAL", + "", + "OK" + ], + [ + "'a'", + "HASH160 NOP 0x14 0x994355199e516ff76c4fa4aab39337b9d84cf12b EQUAL", + "", + "OK" + ], + [ + "'abcdefghijklmnopqrstuvwxyz'", + "NOP HASH160 0x14 0xc286a1af0947f58d1ad787385b1c2c4a976f9e71 EQUAL", + "", + "OK", + "The NOP is added so the script won't be interpreted as P2SH" + ], + [ + "''", + "HASH256 0x20 0x5df6e0e2761359d30a8275058e299fcc0381534545f55cf43e41983f5d4c9456 EQUAL", + "", + "OK" + ], + [ + "'a'", + "HASH256 0x20 0xbf5d3affb73efd2ec6c36ad3112dd933efed63c4e1cbffcfa88e2759c144f2d8 EQUAL", + "", + "OK" + ], + [ + "'abcdefghijklmnopqrstuvwxyz'", + "HASH256 0x20 0xca139bc10c2f660da42666f72e89a225936fc60f193c161124a672050c434671 EQUAL", + "", + "OK" + ], + [ + "1", + "NOP1 NOP2 NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10 1 EQUAL", + "", + "OK" + ], + [ + "'NOP_1_to_10'", + "NOP1 NOP2 NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10 'NOP_1_to_10' EQUAL", + "", + "OK" + ], + [ + "1", + "NOP", + "DISCOURAGE_UPGRADABLE_NOPS", + "OK", + "Discourage NOPx flag allows OP_NOP" + ], + [ + "0", + "IF NOP10 ENDIF 1", + "DISCOURAGE_UPGRADABLE_NOPS", + "OK", + "Discouraged NOPs are allowed if not executed" + ], + [ + "0", + "IF 0xbc ELSE 1 ENDIF", + "", + "OK", + "opcodes above NOP10 invalid if executed" + ], + [ + "0", + "IF 0xbd ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xbe ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xbf ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xc0 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xc1 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xc2 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xc3 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xc4 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xc5 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xc6 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xc7 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xc8 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xc9 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xca ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xcb ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xcc ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xcd ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xce ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xcf ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xd0 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xd1 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xd2 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xd3 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xd4 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xd5 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xd6 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xd7 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xd8 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xd9 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xda ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xdb ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xdc ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xdd ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xde ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xdf ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xe0 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xe1 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xe2 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xe3 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xe4 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xe5 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xe6 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xe7 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xe8 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xe9 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xea ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xeb ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xec ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xed ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xee ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xef ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xf0 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xf1 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xf2 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xf3 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xf4 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xf5 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xf6 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xf7 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xf8 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xf9 ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xfa ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xfb ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xfc ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xfd ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xfe ELSE 1 ENDIF", + "", + "OK" + ], + [ + "0", + "IF 0xff ELSE 1 ENDIF", + "", + "OK" + ], + [ + "", + "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'", + "", + "OK", + "520 byte push" + ], + [ + "1", + "0x616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161", + "", + "OK", + "201 opcodes executed. 0x61 is NOP" + ], + [ + "1 2 3 4 5", + "0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f 1 2 3 4 5 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f 0x6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d75", + "", + "OK", + "244 stack size (0x6f is 3DUP, 0x6d is 2DROP, and 0x75 is DROP)" + ], + [ + "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'", + "'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f 2DUP DROP 0x6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d6d 0x61616161", + "", + "OK", + "Max-size (10,000-byte), max-push(520 bytes), max-opcodes(201), max stack size(244 items). 0x6f is 3DUP, 0x61 is NOP, 0x6d is 2DROP" + ], + [ + "0", + "IF 0x5050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050 ENDIF 1", + "", + "OK", + ">201 opcodes, but RESERVED (0x50) doesn't count towards opcode limit." + ], + [ + "", + "1", + "", + "OK" + ], + [ + "127", + "0x01 0x7F EQUAL", + "", + "OK" + ], + [ + "128", + "0x02 0x8000 EQUAL", + "", + "OK", + "Leave room for the sign bit" + ], + [ + "32767", + "0x02 0xFF7F EQUAL", + "", + "OK" + ], + [ + "32768", + "0x03 0x008000 EQUAL", + "", + "OK" + ], + [ + "8388607", + "0x03 0xFFFF7F EQUAL", + "", + "OK" + ], + [ + "8388608", + "0x04 0x00008000 EQUAL", + "", + "OK" + ], + [ + "2147483647", + "0x04 0xFFFFFF7F EQUAL", + "", + "OK" + ], + [ + "2147483648", + "0x05 0x0000008000 EQUAL", + "", + "OK" + ], + [ + "549755813887", + "0x05 0xFFFFFFFF7F EQUAL", + "", + "OK" + ], + [ + "549755813888", + "0x06 0xFFFFFFFF7F EQUALVERIFY 2DROP TRUE", + "", + "OK" + ], + [ + "9223372036854775807", + "0x08 0xFFFFFFFFFFFFFF7F EQUAL", + "", + "OK" + ], + [ + "-2", + "0x01 0x82 EQUAL", + "", + "OK", + "Numbers are little-endian with the MSB being a sign bit" + ], + [ + "-127", + "0x01 0xFF EQUAL", + "", + "OK" + ], + [ + "-128", + "0x02 0x8080 EQUAL", + "", + "OK" + ], + [ + "-32767", + "0x02 0xFFFF EQUAL", + "", + "OK" + ], + [ + "-32768", + "0x03 0x008080 EQUAL", + "", + "OK" + ], + [ + "-8388607", + "0x03 0xFFFFFF EQUAL", + "", + "OK" + ], + [ + "-8388608", + "0x04 0x00008080 EQUAL", + "", + "OK" + ], + [ + "-2147483647", + "0x04 0xFFFFFFFF EQUAL", + "", + "OK" + ], + [ + "-2147483648", + "0x05 0x0000008080 EQUAL", + "", + "OK" + ], + [ + "-4294967295", + "0x05 0xFFFFFFFF80 EQUAL", + "", + "OK" + ], + [ + "-549755813887", + "0x05 0xFFFFFFFFFF EQUAL", + "", + "OK" + ], + [ + "-549755813888", + "0x06 0x000000008080 EQUAL", + "", + "OK" + ], + [ + "-9223372036854775807", + "0x08 0xFFFFFFFFFFFFFFFF EQUAL", + "", + "OK" + ], + [ + "2147483647", + "1ADD 2147483648 EQUAL", + "", + "OK", + "We can do math on 4-byte integers, and compare 5-byte ones" + ], + [ + "2147483647", + "1ADD DROP 1", + "", + "OK" + ], + [ + "-2147483647", + "1ADD DROP 1", + "", + "OK" + ], + [ + "1", + "0x02 0x0100 EQUAL NOT", + "", + "OK", + "Not the same byte array..." + ], + [ + "0", + "0x01 0x80 EQUAL NOT", + "", + "OK" + ], + [ + "", + "NOP 1", + "", + "OK", + "The following tests check the if(stack.size() < N) tests in each opcode" + ], + [ + "1", + "IF 1 ENDIF", + "", + "OK", + "They are here to catch copy-and-paste errors" + ], + [ + "0", + "NOTIF 1 ENDIF", + "", + "OK", + "Most of them are duplicated elsewhere," + ], + [ + "1", + "VERIFY 1", + "", + "OK", + "but, hey, more is always better, right?" + ], + [ + "0", + "TOALTSTACK 1", + "", + "OK" + ], + [ + "1", + "TOALTSTACK FROMALTSTACK", + "", + "OK" + ], + [ + "0 0", + "2DROP 1", + "", + "OK" + ], + [ + "0 1", + "2DUP VERIFY DROP DROP DROP TRUE", + "", + "OK" + ], + [ + "0 0 1", + "3DUP VERIFY DROP DROP DROP DROP DROP TRUE", + "", + "OK" + ], + [ + "0 1 0 0", + "2OVER VERIFY DROP DROP DROP DROP DROP TRUE", + "", + "OK" + ], + [ + "0 1 0 0 0 0", + "2ROT VERIFY DROP DROP DROP DROP DROP TRUE", + "", + "OK" + ], + [ + "0 1 0 0", + "2SWAP VERIFY DROP DROP DROP TRUE", + "", + "OK" + ], + [ + "1", + "IFDUP VERIFY", + "", + "OK" + ], + [ + "", + "DEPTH 1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0", + "DROP 1", + "", + "OK" + ], + [ + "1", + "DUP VERIFY", + "", + "OK" + ], + [ + "0 1", + "NIP", + "", + "OK" + ], + [ + "1 0", + "OVER VERIFY DROP DROP TRUE", + "", + "OK" + ], + [ + "1 0 0 0 3", + "PICK VERIFY DROP DROP DROP DROP TRUE", + "", + "OK" + ], + [ + "1 0", + "PICK VERIFY DROP TRUE", + "", + "OK" + ], + [ + "1 0 0 0 3", + "ROLL VERIFY DROP DROP DROP TRUE", + "", + "OK" + ], + [ + "1 0", + "ROLL", + "", + "OK" + ], + [ + "1 0 0", + "ROT VERIFY DROP DROP TRUE", + "", + "OK" + ], + [ + "1 0", + "SWAP VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0 1", + "TUCK VERIFY DROP DROP TRUE", + "", + "OK" + ], + [ + "1", + "SIZE VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0 0", + "EQUAL", + "", + "OK" + ], + [ + "0 0", + "EQUALVERIFY 1", + "", + "OK" + ], + [ + "0 0 1", + "EQUAL EQUAL", + "", + "OK", + "OP_0 and bools must have identical byte representations" + ], + [ + "0", + "1ADD", + "", + "OK" + ], + [ + "2", + "1SUB", + "", + "OK" + ], + [ + "-1", + "NEGATE", + "", + "OK" + ], + [ + "-1", + "ABS", + "", + "OK" + ], + [ + "0", + "NOT", + "", + "OK" + ], + [ + "-1", + "0NOTEQUAL", + "", + "OK" + ], + [ + "1 0", + "ADD", + "", + "OK" + ], + [ + "1 0", + "SUB", + "", + "OK" + ], + [ + "-1 -1", + "BOOLAND", + "", + "OK" + ], + [ + "-1 0", + "BOOLOR", + "", + "OK" + ], + [ + "0 0", + "NUMEQUAL", + "", + "OK" + ], + [ + "5 4", + "NUMEQUAL FALSE EQUAL", + "", + "OK" + ], + [ + "0 0", + "NUMEQUALVERIFY 1", + "", + "OK" + ], + [ + "-1 0", + "NUMNOTEQUAL", + "", + "OK" + ], + [ + "-1 0", + "LESSTHAN", + "", + "OK" + ], + [ + "1 0", + "GREATERTHAN", + "", + "OK" + ], + [ + "0 0", + "LESSTHANOREQUAL", + "", + "OK" + ], + [ + "0 0", + "GREATERTHANOREQUAL", + "", + "OK" + ], + [ + "-1 0", + "MIN", + "", + "OK" + ], + [ + "1 0", + "MAX", + "", + "OK" + ], + [ + "-1 -1 0", + "WITHIN", + "", + "OK" + ], + [ + "0", + "RIPEMD160", + "", + "OK" + ], + [ + "0", + "SHA1", + "", + "OK" + ], + [ + "0", + "SHA256", + "", + "OK" + ], + [ + "0", + "HASH160", + "", + "OK" + ], + [ + "0", + "HASH256", + "", + "OK" + ], + [ + "", + "NOP1 1", + "", + "OK" + ], + [ + "", + "NOP2 1", + "", + "OK" + ], + [ + "", + "NOP3 1", + "", + "OK" + ], + [ + "", + "NOP4 1", + "", + "OK" + ], + [ + "", + "NOP5 1", + "", + "OK" + ], + [ + "", + "NOP6 1", + "", + "OK" + ], + [ + "", + "NOP7 1", + "", + "OK" + ], + [ + "", + "NOP8 1", + "", + "OK" + ], + [ + "", + "NOP9 1", + "", + "OK" + ], + [ + "", + "NOP10 1", + "", + "OK" + ], + [ + "", + "0 0 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK", + "CHECKMULTISIG is allowed to have zero keys and/or sigs" + ], + [ + "", + "0 0 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 0 1 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK", + "Zero sigs means no sigs are checked" + ], + [ + "", + "0 0 1 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 0 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK", + "CHECKMULTISIG is allowed to have zero keys and/or sigs" + ], + [ + "", + "0 0 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 0 1 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK", + "Zero sigs means no sigs are checked" + ], + [ + "", + "0 0 1 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 2 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK", + "Test from up to 20 pubkeys, all not checked" + ], + [ + "", + "0 'a' 'b' 'c' 3 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 4 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 5 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 6 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 7 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 8 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 9 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 10 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 11 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 12 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 13 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 14 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 15 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 16 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 17 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 18 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 19 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG VERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 1 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 2 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 3 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 4 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 5 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 6 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 7 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 8 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 9 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 10 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 11 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 12 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 13 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 14 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 15 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 16 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 17 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 18 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 19 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "", + "0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY DEPTH 0 EQUAL", + "", + "OK" + ], + [ + "1", + "0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY 0 0 CHECKMULTISIGVERIFY", + "", + "OK", + "nOpCount is incremented by the number of keys evaluated in addition to the usual one op per op. In this case we have zero keys, so we can execute 201 CHECKMULTISIGS" + ], + [ + "", + "NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY DROP DROP DROP DROP DROP DROP DROP TRUE", + "", + "OK", + "Even though there are no signatures being checked nOpCount is incremented by the number of keys." + ], + [ + "1", + "NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY", + "", + "OK" + ], + [ + "0x01 1", + "HASH160 0x14 0xda1745e9b549bd0bfa1a569971c77eba30cd5a4b EQUAL", + "", + "OK", + "Very basic P2SH" + ], + [ + "0x00", + "SIZE 0 EQUALVERIFY DROP TRUE", + "", + "OK", + "Basic OP_0 execution" + ], + [ + "Numeric pushes" + ], + [ + "-1", + "0x4f EQUAL", + "", + "OK", + "OP1_NEGATE pushes 0x81" + ], + [ + "1", + "0x51 EQUAL", + "", + "OK", + "OP_1 pushes 0x01" + ], + [ + "2", + "0x52 EQUAL", + "", + "OK", + "OP_2 pushes 0x02" + ], + [ + "3", + "0x53 EQUAL", + "", + "OK", + "OP_3 pushes 0x03" + ], + [ + "4", + "0x54 EQUAL", + "", + "OK", + "OP_4 pushes 0x04" + ], + [ + "5", + "0x55 EQUAL", + "", + "OK", + "OP_5 pushes 0x05" + ], + [ + "6", + "0x56 EQUAL", + "", + "OK", + "OP_6 pushes 0x06" + ], + [ + "7", + "0x57 EQUAL", + "", + "OK", + "OP_7 pushes 0x07" + ], + [ + "8", + "0x58 EQUAL", + "", + "OK", + "OP_8 pushes 0x08" + ], + [ + "9", + "0x59 EQUAL", + "", + "OK", + "OP_9 pushes 0x09" + ], + [ + "10", + "0x5a EQUAL", + "", + "OK", + "OP_10 pushes 0x0a" + ], + [ + "11", + "0x5b EQUAL", + "", + "OK", + "OP_11 pushes 0x0b" + ], + [ + "12", + "0x5c EQUAL", + "", + "OK", + "OP_12 pushes 0x0c" + ], + [ + "13", + "0x5d EQUAL", + "", + "OK", + "OP_13 pushes 0x0d" + ], + [ + "14", + "0x5e EQUAL", + "", + "OK", + "OP_14 pushes 0x0e" + ], + [ + "15", + "0x5f EQUAL", + "", + "OK", + "OP_15 pushes 0x0f" + ], + [ + "16", + "0x60 EQUAL", + "", + "OK", + "OP_16 pushes 0x10" + ], + [ + "Unevaluated non-minimal pushes are ignored" + ], + [ + "0", + "IF 0x4c 0x00 ENDIF 1 ", + "", + "OK", + "non-minimal PUSHDATA1 ignored" + ], + [ + "0", + "IF 0x4d 0x0000 ENDIF 1 ", + "", + "OK", + "non-minimal PUSHDATA2 ignored" + ], + [ + "0", + "IF 0x4c 0x00000000 ENDIF 1 ", + "", + "OK", + "non-minimal PUSHDATA4 ignored" + ], + [ + "0", + "IF 0x01 0x81 ENDIF 1 ", + "", + "OK", + "1NEGATE equiv" + ], + [ + "0", + "IF 0x01 0x01 ENDIF 1 ", + "", + "OK", + "OP_1 equiv" + ], + [ + "0", + "IF 0x01 0x02 ENDIF 1 ", + "", + "OK", + "OP_2 equiv" + ], + [ + "0", + "IF 0x01 0x03 ENDIF 1 ", + "", + "OK", + "OP_3 equiv" + ], + [ + "0", + "IF 0x01 0x04 ENDIF 1 ", + "", + "OK", + "OP_4 equiv" + ], + [ + "0", + "IF 0x01 0x05 ENDIF 1 ", + "", + "OK", + "OP_5 equiv" + ], + [ + "0", + "IF 0x01 0x06 ENDIF 1 ", + "", + "OK", + "OP_6 equiv" + ], + [ + "0", + "IF 0x01 0x07 ENDIF 1 ", + "", + "OK", + "OP_7 equiv" + ], + [ + "0", + "IF 0x01 0x08 ENDIF 1 ", + "", + "OK", + "OP_8 equiv" + ], + [ + "0", + "IF 0x01 0x09 ENDIF 1 ", + "", + "OK", + "OP_9 equiv" + ], + [ + "0", + "IF 0x01 0x0a ENDIF 1 ", + "", + "OK", + "OP_10 equiv" + ], + [ + "0", + "IF 0x01 0x0b ENDIF 1 ", + "", + "OK", + "OP_11 equiv" + ], + [ + "0", + "IF 0x01 0x0c ENDIF 1 ", + "", + "OK", + "OP_12 equiv" + ], + [ + "0", + "IF 0x01 0x0d ENDIF 1 ", + "", + "OK", + "OP_13 equiv" + ], + [ + "0", + "IF 0x01 0x0e ENDIF 1 ", + "", + "OK", + "OP_14 equiv" + ], + [ + "0", + "IF 0x01 0x0f ENDIF 1 ", + "", + "OK", + "OP_15 equiv" + ], + [ + "0", + "IF 0x01 0x10 ENDIF 1 ", + "", + "OK", + "OP_16 equiv" + ], + [ + "Numeric minimaldata rules are only applied when a stack item is numerically evaluated; the push itself is allowed" + ], + [ + "0x01 0x00", + "1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0x01 0x80", + "1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0x02 0x0180", + "1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0x02 0x0100", + "1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0x02 0x0200", + "1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0x02 0x0300", + "1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0x02 0x0400", + "1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0x02 0x0500", + "1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0x02 0x0600", + "1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0x02 0x0700", + "1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0x02 0x0800", + "1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0x02 0x0900", + "1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0x02 0x0a00", + "1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0x02 0x0b00", + "1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0x02 0x0c00", + "1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0x02 0x0d00", + "1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0x02 0x0e00", + "1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0x02 0x0f00", + "1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "0x02 0x1000", + "1 VERIFY DROP TRUE", + "", + "OK" + ], + [ + "While not really correctly DER encoded, the empty signature is allowed" + ], + [ + "to provide a compact way to provide a delibrately invalid signature." + ], + [ + "0", + "0x21 0x02865c40293a680cb9c020e7b1e106d8c1916d3cef99aa431a56d253e69256dac0 CHECKSIG NOT", + "", + "OK" + ], + [ + "0", + "1 0x21 0x02865c40293a680cb9c020e7b1e106d8c1916d3cef99aa431a56d253e69256dac0 1 CHECKMULTISIG NOT", + "", + "OK" + ], + [ + "TRUE 2147483648", + "CHECKSEQUENCEVERIFY", + "", + "OK", + "CSV passes if stack top bit 1 << 31 is set" + ], + [ + "", + "DEPTH", + "", + "EVAL_FALSE", + "Test the test: we should have an empty stack after scriptSig evaluation" + ], + [ + " ", + "DEPTH", + "", + "EVAL_FALSE", + "and multiple spaces should not change that." + ], + [ + " ", + "DEPTH", + "", + "EVAL_FALSE" + ], + [ + " ", + "DEPTH", + "", + "EVAL_FALSE" + ], + [ + "", + "", + "", + "EVAL_FALSE" + ], + [ + "", + "NOP", + "", + "EVAL_FALSE" + ], + [ + "", + "NOP DEPTH", + "", + "EVAL_FALSE" + ], + [ + "", + "DEPTH", + "", + "EVAL_FALSE" + ], + [ + "", + "NOP", + "", + "EVAL_FALSE" + ], + [ + "", + "NOP DEPTH", + "", + "EVAL_FALSE" + ], + [ + "0x4c01", + "0x01 NOP", + "", + "BAD_OPCODE", + "PUSHDATA1 with not enough bytes" + ], + [ + "0x4d0200ff", + "0x01 NOP", + "", + "BAD_OPCODE", + "PUSHDATA2 with not enough bytes" + ], + [ + "0x4e03000000ffff", + "0x01 NOP", + "", + "BAD_OPCODE", + "PUSHDATA4 with not enough bytes" + ], + [ + "1", + "IF 0x50 ENDIF 1", + "", + "BAD_OPCODE", + "0x50 is reserved" + ], + [ + "0x52", + "0x5f ADD 0x60 EQUAL", + "", + "EVAL_FALSE", + "0x51 through 0x60 push 1 through 16 onto stack" + ], + [ + "0", + "NOP", + "", + "EVAL_FALSE", + "" + ], + [ + "1", + "IF VER ELSE 1 ENDIF", + "", + "BAD_OPCODE", + "VER non-functional" + ], + [ + "0", + "IF VERIF ELSE 1 ENDIF", + "", + "BAD_OPCODE", + "VERIF illegal everywhere" + ], + [ + "0", + "IF ELSE 1 ELSE VERIF ENDIF", + "", + "BAD_OPCODE", + "VERIF illegal everywhere" + ], + [ + "0", + "IF VERNOTIF ELSE 1 ENDIF", + "", + "BAD_OPCODE", + "VERNOTIF illegal everywhere" + ], + [ + "0", + "IF ELSE 1 ELSE VERNOTIF ENDIF", + "", + "BAD_OPCODE", + "VERNOTIF illegal everywhere" + ], + [ + "0", + "DUP IF ENDIF", + "", + "EVAL_FALSE" + ], + [ + "0", + "IF 1 ENDIF", + "", + "EVAL_FALSE" + ], + [ + "0", + "DUP IF ELSE ENDIF", + "", + "EVAL_FALSE" + ], + [ + "0", + "IF 1 ELSE ENDIF", + "", + "EVAL_FALSE" + ], + [ + "0", + "NOTIF ELSE 1 ENDIF", + "", + "EVAL_FALSE" + ], + [ + "0 1", + "IF IF 1 ELSE 0 ENDIF ENDIF", + "", + "EVAL_FALSE" + ], + [ + "0 0", + "IF IF 1 ELSE 0 ENDIF ENDIF", + "", + "EVAL_FALSE" + ], + [ + "1 0", + "IF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF", + "", + "EVAL_FALSE" + ], + [ + "0 1", + "IF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF", + "", + "EVAL_FALSE" + ], + [ + "0 0", + "NOTIF IF 1 ELSE 0 ENDIF ENDIF", + "", + "EVAL_FALSE" + ], + [ + "0 1", + "NOTIF IF 1 ELSE 0 ENDIF ENDIF", + "", + "EVAL_FALSE" + ], + [ + "1 1", + "NOTIF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF", + "", + "EVAL_FALSE" + ], + [ + "0 0", + "NOTIF IF 1 ELSE 0 ENDIF ELSE IF 0 ELSE 1 ENDIF ENDIF", + "", + "EVAL_FALSE" + ], + [ + "1", + "IF RETURN ELSE ELSE 1 ENDIF", + "", + "OP_RETURN", + "Multiple ELSEs" + ], + [ + "1", + "IF 1 ELSE ELSE RETURN ENDIF", + "", + "OP_RETURN" + ], + [ + "1", + "ENDIF", + "", + "UNBALANCED_CONDITIONAL", + "Malformed IF/ELSE/ENDIF sequence" + ], + [ + "1", + "ELSE ENDIF", + "", + "UNBALANCED_CONDITIONAL" + ], + [ + "1", + "ENDIF ELSE", + "", + "UNBALANCED_CONDITIONAL" + ], + [ + "1", + "ENDIF ELSE IF", + "", + "UNBALANCED_CONDITIONAL" + ], + [ + "1", + "IF ELSE ENDIF ELSE", + "", + "UNBALANCED_CONDITIONAL" + ], + [ + "1", + "IF ELSE ENDIF ELSE ENDIF", + "", + "UNBALANCED_CONDITIONAL" + ], + [ + "1", + "IF ENDIF ENDIF", + "", + "UNBALANCED_CONDITIONAL" + ], + [ + "1", + "IF ELSE ELSE ENDIF ENDIF", + "", + "UNBALANCED_CONDITIONAL" + ], + [ + "1", + "RETURN", + "", + "OP_RETURN" + ], + [ + "1", + "DUP IF RETURN ENDIF", + "", + "OP_RETURN" + ], + [ + "1", + "RETURN 'data'", + "", + "OP_RETURN", + "canonical prunable txout format" + ], + [ + "0", + "VERIFY 1", + "", + "VERIFY" + ], + [ + "1", + "VERIFY", + "", + "EVAL_FALSE" + ], + [ + "1", + "VERIFY 0", + "", + "EVAL_FALSE" + ], + [ + "", + "IFDUP DEPTH 0 EQUAL", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "DROP DEPTH 0 EQUAL", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "DUP DEPTH 0 EQUAL", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "DUP 1 ADD 2 EQUALVERIFY 0 EQUAL", + "", + "EVAL_FALSE" + ], + [ + "", + "NIP", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "1 NIP", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "1 0 NIP", + "", + "EVAL_FALSE" + ], + [ + "", + "OVER 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "OVER", + "", + "INVALID_STACK_OPERATION" + ], + [ + "19 20 21", + "PICK 19 EQUALVERIFY DEPTH 2 EQUAL", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "0 PICK", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "-1 PICK", + "", + "INVALID_STACK_OPERATION" + ], + [ + "19 20 21", + "0 PICK 20 EQUALVERIFY DEPTH 3 EQUAL", + "", + "EQUALVERIFY" + ], + [ + "19 20 21", + "1 PICK 21 EQUALVERIFY DEPTH 3 EQUAL", + "", + "EQUALVERIFY" + ], + [ + "19 20 21", + "2 PICK 22 EQUALVERIFY DEPTH 3 EQUAL", + "", + "EQUALVERIFY" + ], + [ + "", + "0 ROLL", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "-1 ROLL", + "", + "INVALID_STACK_OPERATION" + ], + [ + "19 20 21", + "0 ROLL 20 EQUALVERIFY DEPTH 2 EQUAL", + "", + "EQUALVERIFY" + ], + [ + "19 20 21", + "1 ROLL 21 EQUALVERIFY DEPTH 2 EQUAL", + "", + "EQUALVERIFY" + ], + [ + "19 20 21", + "2 ROLL 22 EQUALVERIFY DEPTH 2 EQUAL", + "", + "EQUALVERIFY" + ], + [ + "", + "ROT 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "1 ROT 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "1 2 ROT 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "SWAP 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "SWAP 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "0 1", + "SWAP 1 EQUALVERIFY", + "", + "EQUALVERIFY" + ], + [ + "", + "TUCK 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "TUCK 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1 0", + "TUCK DEPTH 3 EQUALVERIFY SWAP 2DROP", + "", + "EVAL_FALSE" + ], + [ + "", + "2DUP 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "2DUP 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "3DUP 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "3DUP 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1 2", + "3DUP 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "2OVER 1 VERIFY DROP DROP DROP DROP TRUE", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "2 3 2OVER 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "2SWAP 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "2 3 2SWAP 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "'a' 'b'", + "CAT", + "", + "DISABLED_OPCODE", + "CAT disabled" + ], + [ + "'a' 'b' 0", + "IF CAT ELSE 1 ENDIF", + "", + "DISABLED_OPCODE", + "CAT disabled" + ], + [ + "'abc' 1 1", + "SUBSTR", + "", + "DISABLED_OPCODE", + "SUBSTR disabled" + ], + [ + "'abc' 1 1 0", + "IF SUBSTR ELSE 1 ENDIF", + "", + "DISABLED_OPCODE", + "SUBSTR disabled" + ], + [ + "'abc' 2 0", + "IF LEFT ELSE 1 ENDIF", + "", + "DISABLED_OPCODE", + "LEFT disabled" + ], + [ + "'abc' 2 0", + "IF RIGHT ELSE 1 ENDIF", + "", + "DISABLED_OPCODE", + "RIGHT disabled" + ], + [ + "", + "SIZE 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "NOP", + "", + "EMPTY_STACK", + "Checks EMPTY_STACK error" + ], + [ + "'abc'", + "INVERT VERIFY TRUE", + "", + "DISABLED_OPCODE", + "INVERT disabled" + ], + [ + "1 2 0", + "IF AND ELSE 1 ENDIF NOP", + "", + "DISABLED_OPCODE", + "AND disabled" + ], + [ + "1 2 0", + "IF OR ELSE 1 ENDIF NOP", + "", + "DISABLED_OPCODE", + "OR disabled" + ], + [ + "1 2 0", + "IF XOR ELSE 1 ENDIF NOP", + "", + "DISABLED_OPCODE", + "XOR disabled" + ], + [ + "2 0", + "IF 2MUL ELSE 1 ENDIF NOP", + "", + "DISABLED_OPCODE", + "2MUL disabled" + ], + [ + "2 0", + "IF 2DIV ELSE 1 ENDIF NOP", + "", + "DISABLED_OPCODE", + "2DIV disabled" + ], + [ + "2 2 0", + "IF MUL ELSE 1 ENDIF NOP", + "", + "DISABLED_OPCODE", + "MUL disabled" + ], + [ + "2 2 0", + "IF DIV ELSE 1 ENDIF NOP", + "", + "DISABLED_OPCODE", + "DIV disabled" + ], + [ + "2 2 0", + "IF MOD ELSE 1 ENDIF NOP", + "", + "DISABLED_OPCODE", + "MOD disabled" + ], + [ + "2 2 0", + "IF LSHIFT ELSE 1 ENDIF NOP", + "", + "DISABLED_OPCODE", + "LSHIFT disabled" + ], + [ + "2 2 0", + "IF RSHIFT ELSE 1 ENDIF NOP", + "", + "DISABLED_OPCODE", + "RSHIFT disabled" + ], + [ + "", + "EQUAL NOT", + "", + "INVALID_STACK_OPERATION", + "EQUAL must error when there are no stack items" + ], + [ + "0", + "EQUAL NOT", + "", + "INVALID_STACK_OPERATION", + "EQUAL must error when there are not 2 stack items" + ], + [ + "0 1", + "EQUAL", + "", + "EVAL_FALSE" + ], + [ + "1 1", + "ADD 0 EQUAL", + "", + "EVAL_FALSE" + ], + [ + "11 1", + "ADD 12 SUB 11 EQUAL", + "", + "EVAL_FALSE" + ], + [ + "2147483648 0", + "ADD NOP", + "", + "UNKNOWN_ERROR", + "arithmetic operands must be in range [-2^31...2^31] " + ], + [ + "-2147483648 0", + "ADD NOP", + "", + "UNKNOWN_ERROR", + "arithmetic operands must be in range [-2^31...2^31] " + ], + [ + "2147483647", + "DUP ADD 4294967294 NUMEQUAL", + "", + "UNKNOWN_ERROR", + "NUMEQUAL must be in numeric range" + ], + [ + "'abcdef'", + "NOT 0 EQUAL", + "", + "UNKNOWN_ERROR", + "NOT is an arithmetic operand" + ], + [ + "2", + "DUP MUL 4 EQUAL", + "", + "DISABLED_OPCODE", + "disabled" + ], + [ + "2", + "DUP DIV 1 EQUAL", + "", + "DISABLED_OPCODE", + "disabled" + ], + [ + "2", + "2MUL 4 EQUAL", + "", + "DISABLED_OPCODE", + "disabled" + ], + [ + "2", + "2DIV 1 EQUAL", + "", + "DISABLED_OPCODE", + "disabled" + ], + [ + "7 3", + "MOD 1 EQUAL", + "", + "DISABLED_OPCODE", + "disabled" + ], + [ + "2 2", + "LSHIFT 8 EQUAL", + "", + "DISABLED_OPCODE", + "disabled" + ], + [ + "2 1", + "RSHIFT 1 EQUAL", + "", + "DISABLED_OPCODE", + "disabled" + ], + [ + "1", + "NOP1 NOP2 NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10 2 EQUAL", + "", + "EVAL_FALSE" + ], + [ + "'NOP_1_to_10'", + "NOP1 NOP2 NOP3 NOP4 NOP5 NOP6 NOP7 NOP8 NOP9 NOP10 'NOP_1_to_11' EQUAL", + "", + "EVAL_FALSE" + ], + [ + "Ensure 100% coverage of discouraged NOPS" + ], + [ + "1", + "NOP1", + "DISCOURAGE_UPGRADABLE_NOPS", + "DISCOURAGE_UPGRADABLE_NOPS" + ], + [ + "1", + "NOP2", + "DISCOURAGE_UPGRADABLE_NOPS", + "DISCOURAGE_UPGRADABLE_NOPS" + ], + [ + "1", + "NOP3", + "DISCOURAGE_UPGRADABLE_NOPS", + "DISCOURAGE_UPGRADABLE_NOPS" + ], + [ + "1", + "NOP4", + "DISCOURAGE_UPGRADABLE_NOPS", + "DISCOURAGE_UPGRADABLE_NOPS" + ], + [ + "1", + "NOP5", + "DISCOURAGE_UPGRADABLE_NOPS", + "DISCOURAGE_UPGRADABLE_NOPS" + ], + [ + "1", + "NOP6", + "DISCOURAGE_UPGRADABLE_NOPS", + "DISCOURAGE_UPGRADABLE_NOPS" + ], + [ + "1", + "NOP7", + "DISCOURAGE_UPGRADABLE_NOPS", + "DISCOURAGE_UPGRADABLE_NOPS" + ], + [ + "1", + "NOP8", + "DISCOURAGE_UPGRADABLE_NOPS", + "DISCOURAGE_UPGRADABLE_NOPS" + ], + [ + "1", + "NOP9", + "DISCOURAGE_UPGRADABLE_NOPS", + "DISCOURAGE_UPGRADABLE_NOPS" + ], + [ + "1", + "NOP10", + "DISCOURAGE_UPGRADABLE_NOPS", + "DISCOURAGE_UPGRADABLE_NOPS" + ], + [ + "1 0x01 0xbb", + "HASH160 0x14 0x6b598ec091379f3d1a7f0532738e86accc36dc9f EQUAL", + "DISCOURAGE_UPGRADABLE_NOPS", + "DISCOURAGE_UPGRADABLE_NOPS", + "Discouraged NOP10 in redeemScript" + ], + [ + "0x50", + "1", + "", + "BAD_OPCODE", + "opcode 0x50 is reserved" + ], + [ + "1", + "IF 0xbc ELSE 1 ENDIF", + "", + "BAD_OPCODE", + "opcodes above NOP10 invalid if executed" + ], + [ + "1", + "IF 0xbd ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xbe ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xbf ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xc0 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xc1 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xc2 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xc3 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xc4 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xc5 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xc6 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xc7 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xc8 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xc9 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xca ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xcb ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xcc ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xcd ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xce ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xcf ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xd0 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xd1 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xd2 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xd3 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xd4 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xd5 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xd6 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xd7 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xd8 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xd9 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xda ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xdb ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xdc ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xdd ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xde ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xdf ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xe0 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xe1 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xe2 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xe3 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xe4 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xe5 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xe6 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xe7 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xe8 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xe9 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xea ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xeb ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xec ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xed ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xee ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xef ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xf0 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xf1 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xf2 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xf3 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xf4 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xf5 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xf6 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xf7 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xf8 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xf9 ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xfa ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xfb ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xfc ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xfd ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xfe ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "1", + "IF 0xff ELSE 1 ENDIF", + "", + "BAD_OPCODE" + ], + [ + "", + "RIPEMD160", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "SHA1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "SHA256", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "HASH160", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "HASH256", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'", + "", + "PUSH_SIZE", + ">520 byte push" + ], + [ + "0", + "IF 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' ENDIF 1", + "", + "PUSH_SIZE", + ">520 byte push in non-executed IF branch" + ], + [ + "1", + "0x61616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161", + "", + "OP_COUNT", + ">201 opcodes executed. 0x61 is NOP" + ], + [ + "0", + "IF 0x6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161 ENDIF 1", + "", + "OP_COUNT", + ">201 opcodes including non-executed IF branch. 0x61 is NOP" + ], + [ + "", + "1 2 3 4 5 6 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f", + "", + "STACK_SIZE", + ">244 stack size (0x6f is 3DUP)" + ], + [ + "", + "1 TOALTSTACK 2 TOALTSTACK 3 4 5 6 7 8 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f", + "", + "STACK_SIZE", + ">244 stack+altstack size" + ], + [ + "", + "0 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 0x6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f6f 2DUP 0x616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161", + "", + "SCRIPT_SIZE", + "10,001-byte scriptPubKey" + ], + [ + "", + "NOP1 NOP10", + "", + "EVAL_FALSE" + ], + [ + "1", + "VER", + "", + "BAD_OPCODE", + "OP_VER is reserved" + ], + [ + "1", + "VERIF", + "", + "BAD_OPCODE", + "OP_VERIF is reserved" + ], + [ + "1", + "VERNOTIF", + "", + "BAD_OPCODE", + "OP_VERNOTIF is reserved" + ], + [ + "1", + "RESERVED", + "", + "BAD_OPCODE", + "OP_RESERVED is reserved" + ], + [ + "1", + "RESERVED1", + "", + "BAD_OPCODE", + "OP_RESERVED1 is reserved" + ], + [ + "1", + "RESERVED2", + "", + "BAD_OPCODE", + "OP_RESERVED2 is reserved" + ], + [ + "1", + "0xbc", + "", + "BAD_OPCODE", + "0xbc == OP_NOP10 + 1" + ], + [ + "2147483648", + "1ADD 1", + "", + "UNKNOWN_ERROR", + "We cannot do math on 5-byte integers" + ], + [ + "2147483648", + "NEGATE 1", + "", + "UNKNOWN_ERROR", + "We cannot do math on 5-byte integers" + ], + [ + "-2147483648", + "1ADD 1", + "", + "UNKNOWN_ERROR", + "Because we use a sign bit, -2147483648 is also 5 bytes" + ], + [ + "2147483647", + "1ADD 1SUB 1", + "", + "UNKNOWN_ERROR", + "We cannot do math on 5-byte integers, even if the result is 4-bytes" + ], + [ + "2147483648", + "1SUB 1", + "", + "UNKNOWN_ERROR", + "We cannot do math on 5-byte integers, even if the result is 4-bytes" + ], + [ + "2147483648 1", + "BOOLOR 1", + "", + "UNKNOWN_ERROR", + "We cannot do BOOLOR on 5-byte integers (but we can still do IF etc)" + ], + [ + "2147483648 1", + "BOOLAND 1", + "", + "UNKNOWN_ERROR", + "We cannot do BOOLAND on 5-byte integers" + ], + [ + "1", + "1 ENDIF", + "", + "UNBALANCED_CONDITIONAL", + "ENDIF without IF" + ], + [ + "1", + "IF 1", + "", + "UNBALANCED_CONDITIONAL", + "IF without ENDIF" + ], + [ + "", + "IF 1 ENDIF", + "", + "UNBALANCED_CONDITIONAL", + "The following tests check the if(stack.size() < N) tests in each opcode" + ], + [ + "", + "NOTIF 1 ENDIF", + "", + "UNBALANCED_CONDITIONAL", + "They are here to catch copy-and-paste errors" + ], + [ + "", + "VERIFY 1", + "", + "INVALID_STACK_OPERATION", + "Most of them are duplicated elsewhere," + ], + [ + "", + "TOALTSTACK 1", + "", + "INVALID_STACK_OPERATION", + "but, hey, more is always better, right?" + ], + [ + "1", + "FROMALTSTACK", + "", + "INVALID_ALTSTACK_OPERATION" + ], + [ + "1", + "2DROP 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "2DUP", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1 1", + "3DUP", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1 1 1", + "2OVER", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1 1 1 1 1", + "2ROT", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1 1 1", + "2SWAP", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "IFDUP 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "DROP 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "DUP 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "NIP", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "OVER", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1 1 1 3", + "PICK", + "", + "INVALID_STACK_OPERATION" + ], + [ + "0", + "PICK 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1 1 1 3", + "ROLL", + "", + "INVALID_STACK_OPERATION" + ], + [ + "0", + "ROLL 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1 1", + "ROT", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "SWAP", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "TUCK", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "SIZE 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "EQUAL 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "EQUALVERIFY 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "1ADD 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "1SUB 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "NEGATE 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "ABS 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "NOT 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "0NOTEQUAL 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "ADD", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "SUB", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "BOOLAND", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "BOOLOR", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "NUMEQUAL", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "NUMEQUALVERIFY 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "NUMNOTEQUAL", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "LESSTHAN", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "GREATERTHAN", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "LESSTHANOREQUAL", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "GREATERTHANOREQUAL", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "MIN", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1", + "MAX", + "", + "INVALID_STACK_OPERATION" + ], + [ + "1 1", + "WITHIN", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "RIPEMD160 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "SHA1 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "SHA256 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "HASH160 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "", + "HASH256 1", + "", + "INVALID_STACK_OPERATION" + ], + [ + "Increase CHECKSIG and CHECKMULTISIG negative test coverage" + ], + [ + "", + "CHECKSIG NOT", + "", + "INVALID_STACK_OPERATION", + "CHECKSIG must error when there are no stack items" + ], + [ + "0", + "CHECKSIG NOT", + "", + "INVALID_STACK_OPERATION", + "CHECKSIG must error when there are not 2 stack items" + ], + [ + "", + "CHECKMULTISIG NOT", + "", + "INVALID_STACK_OPERATION", + "CHECKMULTISIG must error when there are no stack items" + ], + [ + "", + "-1 CHECKMULTISIG NOT", + "", + "PUBKEY_COUNT", + "CHECKMULTISIG must error when the specified number of pubkeys is negative" + ], + [ + "", + "1 CHECKMULTISIG NOT", + "", + "INVALID_STACK_OPERATION", + "CHECKMULTISIG must error when there are not enough pubkeys on the stack" + ], + [ + "", + "-1 0 CHECKMULTISIG NOT", + "", + "SIG_COUNT", + "CHECKMULTISIG must error when the specified number of signatures is negative" + ], + [ + "", + "1 'pk1' 1 CHECKMULTISIG NOT", + "", + "INVALID_STACK_OPERATION", + "CHECKMULTISIG must error when there are not enough signatures on the stack" + ], + [ + "", + "0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG 0 0 CHECKMULTISIG", + "", + "OP_COUNT", + "202 CHECKMULTISIGS, fails due to 201 op limit" + ], + [ + "", + "NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIG", + "", + "OP_COUNT", + "Fails due to 201 script operation limit" + ], + [ + "1", + "NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY 0 0 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 20 CHECKMULTISIGVERIFY", + "", + "OP_COUNT", + "" + ], + [ + "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21", + "21 CHECKMULTISIG 1", + "", + "PUBKEY_COUNT", + "nPubKeys > 20" + ], + [ + "0 'sig' 1 0", + "CHECKMULTISIG 1", + "", + "SIG_COUNT", + "nSigs > nPubKeys" + ], + [ + "NOP 0x01 1", + "HASH160 0x14 0xda1745e9b549bd0bfa1a569971c77eba30cd5a4b EQUAL", + "", + "SIG_PUSHONLY", + "Tests for Script.IsPushOnly()" + ], + [ + "NOP1 0x01 1", + "HASH160 0x14 0xda1745e9b549bd0bfa1a569971c77eba30cd5a4b EQUAL", + "", + "SIG_PUSHONLY" + ], + [ + "0 0x01 0x50", + "HASH160 0x14 0xece424a6bb6ddf4db592c0faed60685047a361b1 EQUAL", + "", + "BAD_OPCODE", + "OP_RESERVED in P2SH should fail" + ], + [ + "0 0x01", + "VER HASH160 0x14 0x0f4d7845db968f2a81b530b6f3c1d6246d4c7e01 EQUAL", + "", + "BAD_OPCODE", + "OP_VER in P2SH should fail" + ], + [ + "0x00", + "'00' EQUAL", + "", + "EVAL_FALSE", + "Basic OP_0 execution" + ], + [ + "MINIMALDATA enforcement for PUSHDATAs" + ], + [ + "0x4c 0x00", + "DROP 1", + "", + "MINIMALDATA", + "Empty vector minimally represented by OP_0" + ], + [ + "0x01 0x81", + "DROP 1", + "", + "MINIMALDATA", + "-1 minimally represented by OP_1NEGATE" + ], + [ + "0x01 0x01", + "DROP 1", + "", + "MINIMALDATA", + "1 to 16 minimally represented by OP_1 to OP_16" + ], + [ + "0x01 0x02", + "DROP 1", + "", + "MINIMALDATA" + ], + [ + "0x01 0x03", + "DROP 1", + "", + "MINIMALDATA" + ], + [ + "0x01 0x04", + "DROP 1", + "", + "MINIMALDATA" + ], + [ + "0x01 0x05", + "DROP 1", + "", + "MINIMALDATA" + ], + [ + "0x01 0x06", + "DROP 1", + "", + "MINIMALDATA" + ], + [ + "0x01 0x07", + "DROP 1", + "", + "MINIMALDATA" + ], + [ + "0x01 0x08", + "DROP 1", + "", + "MINIMALDATA" + ], + [ + "0x01 0x09", + "DROP 1", + "", + "MINIMALDATA" + ], + [ + "0x01 0x0a", + "DROP 1", + "", + "MINIMALDATA" + ], + [ + "0x01 0x0b", + "DROP 1", + "", + "MINIMALDATA" + ], + [ + "0x01 0x0c", + "DROP 1", + "", + "MINIMALDATA" + ], + [ + "0x01 0x0d", + "DROP 1", + "", + "MINIMALDATA" + ], + [ + "0x01 0x0e", + "DROP 1", + "", + "MINIMALDATA" + ], + [ + "0x01 0x0f", + "DROP 1", + "", + "MINIMALDATA" + ], + [ + "0x01 0x10", + "DROP 1", + "", + "MINIMALDATA" + ], + [ + "0x4c 0x48 0x111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", + "DROP 1", + "", + "MINIMALDATA", + "PUSHDATA1 of 72 bytes minimally represented by direct push" + ], + [ + "0x4d 0xFF00 0x111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", + "DROP 1", + "", + "MINIMALDATA", + "PUSHDATA2 of 255 bytes minimally represented by PUSHDATA1" + ], + [ + "0x4e 0x00010000 0x11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111", + "DROP 1", + "", + "MINIMALDATA", + "PUSHDATA4 of 256 bytes minimally represented by PUSHDATA2" + ], + [ + "MINIMALDATA enforcement for numeric arguments" + ], + [ + "0x01 0x00", + "NOT DROP 1", + "", + "UNKNOWN_ERROR", + "numequals 0" + ], + [ + "0x02 0x0000", + "NOT DROP 1", + "", + "UNKNOWN_ERROR", + "numequals 0" + ], + [ + "0x01 0x80", + "NOT DROP 1", + "", + "UNKNOWN_ERROR", + "0x80 (negative zero) numequals 0" + ], + [ + "0x02 0x0080", + "NOT DROP 1", + "", + "UNKNOWN_ERROR", + "numequals 0" + ], + [ + "0x02 0x0500", + "NOT DROP 1", + "", + "UNKNOWN_ERROR", + "numequals 5" + ], + [ + "0x03 0x050000", + "NOT DROP 1", + "", + "UNKNOWN_ERROR", + "numequals 5" + ], + [ + "0x02 0x0580", + "NOT DROP 1", + "", + "UNKNOWN_ERROR", + "numequals -5" + ], + [ + "0x03 0x050080", + "NOT DROP 1", + "", + "UNKNOWN_ERROR", + "numequals -5" + ], + [ + "0x03 0xff7f80", + "NOT DROP 1", + "", + "UNKNOWN_ERROR", + "Minimal encoding is 0xffff" + ], + [ + "0x03 0xff7f00", + "NOT DROP 1", + "", + "UNKNOWN_ERROR", + "Minimal encoding is 0xff7f" + ], + [ + "0x04 0xffff7f80", + "NOT DROP 1", + "", + "UNKNOWN_ERROR", + "Minimal encoding is 0xffffff" + ], + [ + "0x04 0xffff7f00", + "NOT DROP 1", + "", + "UNKNOWN_ERROR", + "Minimal encoding is 0xffff7f" + ], + [ + "Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule" + ], + [ + "1 0x02 0x0000", + "PICK DROP", + "", + "UNKNOWN_ERROR" + ], + [ + "1 0x02 0x0000", + "ROLL DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000", + "1ADD DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000", + "1SUB DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000", + "NEGATE DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000", + "ABS DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000", + "NOT DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000", + "0NOTEQUAL DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0 0x02 0x0000", + "ADD DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000 0", + "ADD DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0 0x02 0x0000", + "SUB DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000 0", + "SUB DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0 0x02 0x0000", + "BOOLAND DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000 0", + "BOOLAND DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0 0x02 0x0000", + "BOOLOR DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000 0", + "BOOLOR DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0 0x02 0x0000", + "NUMEQUAL DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000 1", + "NUMEQUAL DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0 0x02 0x0000", + "NUMEQUALVERIFY 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000 0", + "NUMEQUALVERIFY 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0 0x02 0x0000", + "NUMNOTEQUAL DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000 0", + "NUMNOTEQUAL DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0 0x02 0x0000", + "LESSTHAN DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000 0", + "LESSTHAN DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0 0x02 0x0000", + "GREATERTHAN DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000 0", + "GREATERTHAN DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0 0x02 0x0000", + "LESSTHANOREQUAL DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000 0", + "LESSTHANOREQUAL DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0 0x02 0x0000", + "GREATERTHANOREQUAL DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000 0", + "GREATERTHANOREQUAL DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0 0x02 0x0000", + "MIN DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000 0", + "MIN DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0 0x02 0x0000", + "MAX DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000 0", + "MAX DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000 0 0", + "WITHIN DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0 0x02 0x0000 0", + "WITHIN DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0 0 0x02 0x0000", + "WITHIN DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0 0x02 0x0000", + "CHECKMULTISIG DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000 0", + "CHECKMULTISIG DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000 0 1", + "CHECKMULTISIG DROP 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0 0x02 0x0000", + "CHECKMULTISIGVERIFY 1", + "", + "UNKNOWN_ERROR" + ], + [ + "0x02 0x0000 0", + "CHECKMULTISIGVERIFY 1", + "", + "UNKNOWN_ERROR" + ], + [ + "Check MINIMALIF" + ], + [ + "2", + "IF TRUE ELSE FALSE", + "", + "MINIMALIF" + ], + [ + "2", + "NOTIF TRUE ELSE FALSE", + "", + "MINIMALIF" + ], + [ + "Order of CHECKMULTISIG evaluation tests, inverted by swapping the order of" + ], + [ + "pubkeys/signatures so they fail due to the STRICTENC rules on validly encoded" + ], + [ + "signatures and pubkeys." + ], + [ "0x47 0x3044022044dc17b0887c161bb67ba9635bf758735bdde503e4b0a0987f587f14a4e1143d022009a215772d49a85dae40d8ca03955af26ad3978a0ff965faa12915e9586249a501 0x47 0x3044022044dc17b0887c161bb67ba9635bf758735bdde503e4b0a0987f587f14a4e1143d022009a215772d49a85dae40d8ca03955af26ad3978a0ff965faa12915e9586249a501", "2 0x21 0x02865c40293a680cb9c020e7b1e106d8c1916d3cef99aa431a56d253e69256dac0 0 2 CHECKMULTISIG NOT", "", "PUBKEYFORMAT", "2-of-2 CHECKMULTISIG NOT with the first pubkey invalid, and both signatures validly encoded." -], -[ + ], + [ "0x47 0x3044022044dc17b0887c161bb67ba9635bf758735bdde503e4b0a0987f587f14a4e1143d022009a215772d49a85dae40d8ca03955af26ad3978a0ff965faa12915e9586249a501 1", "2 0x21 0x02865c40293a680cb9c020e7b1e106d8c1916d3cef99aa431a56d253e69256dac0 0x21 0x02865c40293a680cb9c020e7b1e106d8c1916d3cef99aa431a56d253e69256dac0 2 CHECKMULTISIG NOT", "", "SIG_DER", "2-of-2 CHECKMULTISIG NOT with both pubkeys valid, but first signature invalid." -], -[ + ], + [ "0x47 0x304402205451ce65ad844dbb978b8bdedf5082e33b43cae8279c30f2c74d9e9ee49a94f802203fe95a7ccf74da7a232ee523ef4a53cb4d14bdd16289680cdb97a63819b8f42f01 0x46 0x304402205451ce65ad844dbb978b8bdedf5082e33b43cae8279c30f2c74d9e9ee49a94f802203fe95a7ccf74da7a232ee523ef4a53cb4d14bdd16289680cdb97a63819b8f42f", "2 0x21 0x02a673638cb9587cb68ea08dbef685c6f2d2a751a8b3c6f2a7e9a4999e6e4bfaf5 0x21 0x02a673638cb9587cb68ea08dbef685c6f2d2a751a8b3c6f2a7e9a4999e6e4bfaf5 0x21 0x02a673638cb9587cb68ea08dbef685c6f2d2a751a8b3c6f2a7e9a4999e6e4bfaf5 3 CHECKMULTISIG", "", "SIG_DER", "2-of-3 with one valid and one invalid signature due to parse error, nSigs > validSigs" -], - -["Increase DERSIG test coverage"], -["0x4a 0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", "0 CHECKSIG NOT", "", "SIG_DER", "Overly long signature is incorrectly encoded for DERSIG"], -["0x25 0x30220220000000000000000000000000000000000000000000000000000000000000000000", "0 CHECKSIG NOT", "", "SIG_DER", "Missing S is incorrectly encoded for DERSIG"], -["0x27 0x3024021077777777777777777777777777777777020a7777777777777777777777777777777701", "0 CHECKSIG NOT", "", "SIG_DER", "S with invalid S length is incorrectly encoded for DERSIG"], -["0x27 0x302403107777777777777777777777777777777702107777777777777777777777777777777701", "0 CHECKSIG NOT", "", "SIG_DER", "Non-integer R is incorrectly encoded for DERSIG"], -["0x27 0x302402107777777777777777777777777777777703107777777777777777777777777777777701", "0 CHECKSIG NOT", "", "SIG_DER", "Non-integer S is incorrectly encoded for DERSIG"], -["0x17 0x3014020002107777777777777777777777777777777701", "0 CHECKSIG NOT", "", "SIG_DER", "Zero-length R is incorrectly encoded for DERSIG"], -["0x17 0x3014021077777777777777777777777777777777020001", "0 CHECKSIG NOT", "", "SIG_DER", "Zero-length S is incorrectly encoded for DERSIG"], -["0x27 0x302402107777777777777777777777777777777702108777777777777777777777777777777701", "0 CHECKSIG NOT", "", "SIG_DER", "Negative S is incorrectly encoded for DERSIG"], - -["CHECKSEQUENCEVERIFY tests"], -["", "CHECKSEQUENCEVERIFY", "", "INVALID_STACK_OPERATION", "CSV automatically fails on a empty stack"], -["-1", "CHECKSEQUENCEVERIFY", "", "NEGATIVE_LOCKTIME", "CSV automatically fails if stack top is negative"], -["0x0100", "CHECKSEQUENCEVERIFY", "", "UNKNOWN_ERROR", "CSV fails if stack top is not minimally encoded"], -["0", "CHECKSEQUENCEVERIFY", "", "UNSATISFIED_LOCKTIME", "CSV fails if stack top bit 1 << 31 is set and the tx version < 2"], -["4294967296", "CHECKSEQUENCEVERIFY", "", "UNSATISFIED_LOCKTIME", - "CSV fails if stack top bit 1 << 31 is not set, and tx version < 2"], - -["NULLFAIL should cover all signatures and signatures only"], -["0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", "0x01 0x14 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0x01 0x14 CHECKMULTISIG NOT", "", "OK", "BIP66 and NULLFAIL-compliant"], -["0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x09 0x300602010102010101", "0x01 0x14 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x01 0x14 CHECKMULTISIG NOT", "", "NULLFAIL", "BIP66-compliant but not NULLFAIL-compliant 2"], -["0x09 0x300602010102010101 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", "0x01 0x14 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0x01 0x14 CHECKMULTISIG NOT", "", "NULLFAIL", "BIP66-compliant but not NULLFAIL-compliant 4"], - -["The End"] + ], + [ + "Increase DERSIG test coverage" + ], + [ + "0x4a 0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001", + "0 CHECKSIG NOT", + "", + "SIG_DER", + "Overly long signature is incorrectly encoded for DERSIG" + ], + [ + "0x25 0x30220220000000000000000000000000000000000000000000000000000000000000000000", + "0 CHECKSIG NOT", + "", + "SIG_DER", + "Missing S is incorrectly encoded for DERSIG" + ], + [ + "0x27 0x3024021077777777777777777777777777777777020a7777777777777777777777777777777701", + "0 CHECKSIG NOT", + "", + "SIG_DER", + "S with invalid S length is incorrectly encoded for DERSIG" + ], + [ + "0x27 0x302403107777777777777777777777777777777702107777777777777777777777777777777701", + "0 CHECKSIG NOT", + "", + "SIG_DER", + "Non-integer R is incorrectly encoded for DERSIG" + ], + [ + "0x27 0x302402107777777777777777777777777777777703107777777777777777777777777777777701", + "0 CHECKSIG NOT", + "", + "SIG_DER", + "Non-integer S is incorrectly encoded for DERSIG" + ], + [ + "0x17 0x3014020002107777777777777777777777777777777701", + "0 CHECKSIG NOT", + "", + "SIG_DER", + "Zero-length R is incorrectly encoded for DERSIG" + ], + [ + "0x17 0x3014021077777777777777777777777777777777020001", + "0 CHECKSIG NOT", + "", + "SIG_DER", + "Zero-length S is incorrectly encoded for DERSIG" + ], + [ + "0x27 0x302402107777777777777777777777777777777702108777777777777777777777777777777701", + "0 CHECKSIG NOT", + "", + "SIG_DER", + "Negative S is incorrectly encoded for DERSIG" + ], + [ + "CHECKSEQUENCEVERIFY tests" + ], + [ + "", + "CHECKSEQUENCEVERIFY", + "", + "INVALID_STACK_OPERATION", + "CSV automatically fails on a empty stack" + ], + [ + "-1", + "CHECKSEQUENCEVERIFY", + "", + "NEGATIVE_LOCKTIME", + "CSV automatically fails if stack top is negative" + ], + [ + "0x0100", + "CHECKSEQUENCEVERIFY", + "", + "UNKNOWN_ERROR", + "CSV fails if stack top is not minimally encoded" + ], + [ + "0", + "CHECKSEQUENCEVERIFY", + "", + "UNSATISFIED_LOCKTIME", + "CSV fails if stack top bit 1 << 31 is set and the tx version < 2" + ], + [ + "4294967296", + "CHECKSEQUENCEVERIFY", + "", + "UNSATISFIED_LOCKTIME", + "CSV fails if stack top bit 1 << 31 is not set, and tx version < 2" + ], + [ + "NULLFAIL should cover all signatures and signatures only" + ], + [ + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "0x01 0x14 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0x01 0x14 CHECKMULTISIG NOT", + "", + "OK", + "BIP66 and NULLFAIL-compliant" + ], + [ + "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x09 0x300602010102010101", + "0x01 0x14 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x21 0x020101010101010101010101010101010101010101010101010101010101010101 0x01 0x14 CHECKMULTISIG NOT", + "", + "NULLFAIL", + "BIP66-compliant but not NULLFAIL-compliant 2" + ], + [ + "0x09 0x300602010102010101 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0", + "0x01 0x14 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0x01 0x14 CHECKMULTISIG NOT", + "", + "NULLFAIL", + "BIP66-compliant but not NULLFAIL-compliant 4" + ], + [ + "The End" + ] ] diff --git a/txscript/data/sighash.json b/txscript/data/sighash.json index 2d5d37432..35f7f8a7a 100644 --- a/txscript/data/sighash.json +++ b/txscript/data/sighash.json @@ -1,503 +1,3505 @@ [ - ["raw_transaction, script, input_index, hashType, signature_hash (result)"], - ["907c2bc503ade11cc3b04eb2918b6f547b0630ab569273824748c87ea14b0696526c66ba74020000000165fd1f9bdd4ef073c7afc4ae00da8a66f429c917a0081ad1e1dabce28d373eab81d8628de802000000076a525352000052ad042b5f25efb33beec9f3364e8a9139e8439d9d7e26529c3c30b6c3fd89f8684cfd68ea020000000753526500636a52599ac2fe02a526ed040000000008535300516352515164370e010000000003006300ab2ec229", "", 2, 1864164639, "31af167a6cf3f9d5f6875caa4d31704ceb0eba078d132b78dab52c3b8997317e"], - ["a0aa3126041621a6dea5b800141aa696daf28408959dfb2df96095db9fa425ad3f427f2f6103000000015360290e9c6063fa26912c2e7fb6a0ad80f1c5fea1771d42f12976092e7a85a4229fdb6e890000000000c109f6e47688ac0e4682988785744602b8c87228fcef0695085edf19088af1a9db126e93000000000665516aac536affffffff8fe53e0806e12dfd05d67ac68f4768fdbe23fc48ace22a5aa8ba04c96d58e2750300000007ac51ac635153650524aa680455ce7b000000000000499e50030000000008636a00ac526563ac5051ee030000000001acd2b6fe000000000003516563910fb6b5", "65", 0, -1391424484, "b74712825433040244a0fcb8aff24d98addeac56dc0581744faa97f95981c0c4"], - ["6e7e9d4b04ce17afa1e8546b627bb8d89a6a7fefd9d892ec8a192d79c2ceafc01694a6a7e7030000000953ac6a51006353636a33bced1544f797f08ceed02f108da22cd24c9e7809a446c61eb3895914508ac91f07053a01000000045163516affffffff11dc54eee8f9e4ff0bcf6b1a1a35b1cd10d63389571375501af7444073bcec3c02000000036a53514a821f0ce3956e235f71e4c69d91abe1e93fb703bd33039ac567249ed339bf0ba0883ef30000000008006365000065ac654bec3cc504bcf4990200000000036a52ac64eb060100000000076a6a5351650053bbbc130100000000036a6a53d6e1380100000000026a51c4e509b8", "ac655151", 0, 479279909, "7249457d31183868014df9f90fb86ebc439fc6d387c0951b5ac7d2b4ad6b222e"], - ["73107cbd025c22ebc8c3e0a47b2a760739216a528de8d4dab5d45cbeb3051cebae73b01ca102000000066353656a636affffffffe26816dffc670841e6a6c8c61c586da401df1261a330a6c6b3dd9f9a0789bc9e000000000800ac6552ac6aac51ffffffff0174a8f0010000000004ac52515100000000", "5163ac63635151ac", 1, 1190874345, "06e328de263a87b09beabe222a21627a6ea5c7f560030da31610c4611f4a46bc"], - ["e93bbf6902be872933cb987fc26ba0f914fcfc2f6ce555258554dd9939d12032a8536c8802030000000453ac5353eabb6451e074e6fef9de211347d6a45900ea5aaf2636ef7967f565dce66fa451805c5cd10000000003525253ffffffff047dc3e6020000000006516565ac656aec9eea010000000001633e46e600000000000015080a03000000000000000000", "5300ac6a536a", 1, -886562767, "13b4c982c2e4943a4e5a2174ad3367878e599b3aea889effeb3d19db6daadc80"], - ["50818f4c01b464538b1e7e7f5ae4ed96ad23c68c830e78da9a845bc19b5c3b0b20bb82e5e9030000000763526a63655352ffffffff023b3f9c040000000008630051516a6a5163a83caf0100000000045365510000000000", "6aac", 0, 946795545, "5742901d59e51c1957fd30f907083609eb2d009bd6cb3a3a8c65517d33185a0c"], - ["a93e93440250f97012d466a6cc24839f572def241c814fe6ae94442cf58ea33eb0fdd9bcc1030000000600636a0065acffffffff5dee3a6e7e5ad6310dea3e5b3ddda1a56bf8de7d3b75889fc024b5e233ec10f80300000006ac5363525353ffffffff0160468b04000000000800526a5300ac526a00000000", "ac00636a53", 1, 1773442520, "5c9d3a2ce9365bb72cfabbaa4579c843bb8abf200944612cf8ae4b56a908bcbd"], - ["ce7d371f0476dda8b811d4bf3b64d5f86204725deeaa3937861869d5b2766ea7d17c57e40b0100000003535265ffffffff7e7e9188f76c34a46d0bbe856bde5cb32f089a07a70ea96e15e92abb37e479a101000000046552655225bcab06d1c2896709f364b1e372814d842c9c671356a1aa5ca4e060462c65ae55acc02d0000000005ac0063ac5281b33e332f96beebdbc6a379ebe6aea36af115c067461eb99d22ba1afbf59462b59ae0bd0200000003635365be15c23801724a1704000000000965006a65ac00000052ca555572", "53530051", 1, 2030598449, "c336b2f7d3702fbbdeffc014d106c69e3413c7c71e436ba7562d8a7a2871f181"], - ["d3b7421e011f4de0f1cea9ba7458bf3486bee722519efab711a963fa8c100970cf7488b7bb0200000003525352dcd61b300148be5d05000000000000000000", "535251536aac536a", 0, -1960128125, "29aa6d2d752d3310eba20442770ad345b7f6a35f96161ede5f07b33e92053e2a"], - ["04bac8c5033460235919a9c63c42b2db884c7c8f2ed8fcd69ff683a0a2cccd9796346a04050200000003655351fcad3a2c5a7cbadeb4ec7acc9836c3f5c3e776e5c566220f7f965cf194f8ef98efb5e3530200000007526a006552526526a2f55ba5f69699ece76692552b399ba908301907c5763d28a15b08581b23179cb01eac030000000653636a516351073942c2025aa98a05000000000565006aac65d7ffa6030000000004516a655200000000", "53ac6365ac526a", 1, 764174870, "f41e06c31cfcb5ee5b8e907fe8956af7891b1a61c05a7e81bd3f7e59eb4b8d91"], - ["c363a70c01ab174230bbe4afe0c3efa2d7f2feaf179431359adedccf30d1f69efe0c86ed39020000000151558648fe0231318b04000000000151662170000000000008ac5300006a63acac00000000", "", 0, 2146479410, "191ab180b0d753763671717d051f138d4866b7cb0d1d4811472e64de595d2c70"], - ["8d437a7304d8772210a923fd81187c425fc28c17a5052571501db05c7e89b11448b36618cd02000000026a6340fec14ad2c9298fde1477f1e8325e5747b61b7e2ff2a549f3d132689560ab6c45dd43c3010000000963ac00ac000051516a447ed907a7efffebeb103988bf5f947fc688aab2c6a7914f48238cf92c337fad4a79348102000000085352ac526a5152517436edf2d80e3ef06725227c970a816b25d0b58d2cd3c187a7af2cea66d6b27ba69bf33a0300000006000063526553f3f0d6140386815d0300000000026300de138f00000000000800525153515265ac1f87040300000000036aac6500000000", "51", 3, -315779667, "44d3386a47c4659b83316fc71735d0813fe3df6a336fd4a2665ff6510dc4b4fd"], - ["fd878840031e82fdbe1ad1d745d1185622b0060ac56638290ec4f66b1beef4450817114a2c0000000007516a6353650051ffffffff37b7a10322b5418bfd64fb09cd8a27ddf57731aeb1f1f920ffde7cb2dfb6cdb70300000008536a5365ac53515369ecc034f1594690dbe189094dc816d6d57ea75917de764cbf8eccce4632cbabe7e116cd0100000003515352ffffffff035777fc000000000003515200abe9140300000000050063005165bed6d1020000000006630053636365195e9110", "635265", 0, 1729787658, "b03c53df11ccf92ce40561f43170935d81acdc31e843fa6e964536c9b12583a7"], - ["f40a750702af06efff3ea68e5d56e42bc41cdb8b6065c98f1221fe04a325a898cb61f3d7ee030000000363acacffffffffb5788174aef79788716f96af779d7959147a0c2e0e5bfb6c2dba2df5b4b97894030000000965510065535163ac6affffffff0445e6fd0200000000096aac536365526a526aa6546b000000000007ac656a6552535141a0fd010000000000c897ea030000000007526500526a6a631b39dba3", "005163ac", 1, -1778064747, "cb5ff8056a9ee628c3a37bdeb46654924eed844f267121c8a713cb933325bb54"], - ["a63bc673049c75211aa2c09ecc38e360eaa571435fedd2af1116b5c1fa3d0629c269ecccbf0000000007ac65516352ac52ffffffffbf1a76fdda7f451a5f0baff0f9ccd0fe9136444c094bb8c544b1af0fa2774b06010000000463535253ffffffff13d6b7c3ddceef255d680d87181e100864eeb11a5bb6a3528cb0d70d7ee2bbbc02000000036a0052951241809623313b198bb520645c15ec96bfcc74a2b0f3db7ad61d455cc32db04afc5cc702000000016309c9ae25014d94730200000000026aac3bb1e803", "", 3, -232881718, "85eccb602ecba5358916c37f1fe4424a27bd543b591ff0f253117875277dacbd"], - ["4c565efe04e7d32bac03ae358d63140c1cfe95de15e30c5b84f31bb0b65bb542d637f49e0f010000000351536348ae32b31c7d3132030a510a1b1aacf7b7c3f19ce8dc49944ef93e5fa5fe2d356b4a73a00100000007ac635163ac00514c8bc57b6b844e04555c0a4f4fb426df139475cd2396ae418bc7015820e852f711519bc202000000076a00510000ac52488ff4aec72cbcfcc98759c58e20a8d2d9725aa4a80f83964e69bc4e793a4ff25cd75dc701000000086a52ac6aac5351532ec6b10802463e0200000000000553005265523e08680100000000002f39a6b0", "", 3, 70712784, "c6076b6a45e6fcfba14d3df47a34f6aadbacfba107e95621d8d7c9c0e40518ed"], - ["1233d5e703403b3b8b4dae84510ddfc126b4838dcb47d3b23df815c0b3a07b55bf3098110e010000000163c5c55528041f480f40cf68a8762d6ed3efe2bd402795d5233e5d94bf5ddee71665144898030000000965525165655151656affffffff6381667e78bb74d0880625993bec0ea3bd41396f2bcccc3cc097b240e5e92d6a01000000096363acac6a63536365ffffffff04610ad602000000000452516552e90d680200000000046351516ae30e9801000000000652520063656a671856010000000004ac6aac514c84e383", "6a636300", 1, -114996813, "544e8fa044e9dd49d7504be895038472026389a641108c80dfaa4bf5745e2536"], - ["0c69702103b25ceaed43122cc2672de84a3b9aa49872f2a5bb458e19a52f8cc75973abb9f102000000055365656aacffffffff3ffb1cf0f76d9e3397de0942038c856b0ebbea355dc9d8f2b06036e19044b0450100000000ffffffff4b7793f4169617c54b734f2cd905ed65f1ce3d396ecd15b6c426a677186ca0620200000008655263526551006a181a25b703240cce010000000003635253dee22903000000000865526a6a516a51005e12160200000000055252ac655200000000", "6a516a63", 1, -2040012771, "591e3bbba963126bd5f4f10b264e1696dfe5e2b40a90991127ad581ca6ab02d9"], - ["fd22692802db8ae6ab095aeae3867305a954278f7c076c542f0344b2591789e7e33e4d29f4020000000151ffffffffb9409129cfed9d3226f3b6bab7a2c83f99f48d039100eeb5796f00903b0e5e5e0100000005656552ac63d226abac0403e64900000000000551ac5100ac8035f10000000000095165006a63526a52510d42db030000000006635365ac6a6324ef59010000000003536a0000000000", "536a52516aac6a", 1, 309309168, "ecd699538b26e25365c8ab23c991f630bb221f2b325b3adc5d67aea8838f3d9a"], - ["a43f85f701ffa54a3cc57177510f3ea28ecb6db0d4431fc79171cad708a6054f6e5b4f89170000000008ac6a006a536551652bebeaa2013e779c05000000000665ac5363635100000000", "ac", 0, 2028978692, "58294f0d7f2e68fe1fd30c01764fe1619bcc7961d68968944a0e263af6550437"], - ["c2b0b99001acfecf7da736de0ffaef8134a9676811602a6299ba5a2563a23bb09e8cbedf9300000000026300ffffffff042997c50300000000045252536a2724370300000000066553536363ac6637520300000000016a6d5c900000000000046a6a526500000000", "52ac525163515251", 0, -894181723, "66b68d1cc93f59f362a2e0406b2ea86b33125e145e07ddb66129ca63d87b9b60"], - ["82f9f10304c17a9d954cf3380db817814a8c738d2c811f0412284b2c791ec75515f38c4f8c0200000001655729ca7db1b79abee66c8a757221f29280d0681355cb522149525f36da760548dbd7080a0100000001510b477bd9ce9ad5bb81c0306273a3a7d051e053f04ecf3a1dbeda543e20601a5755c0cfae030000000451ac656affffffff71141a04134f6c292c2e0d415e6705dfd8dcee892b0d0807828d5aeb7d11f5ef0300000001520b6c6dc802a6f3dd0000000000046a515163bfb6800300000000015300000000", "", 3, -635779440, "cb7c2a8e3ebbb54a41e4bae79a06183022bf018199eb7772cc0c357c5018892f"], - ["8edcf5a1014b604e53f0d12fe143cf4284f86dc79a634a9f17d7e9f8725f7beb95e8ffcd2403000000036aac52ffffffff01c402b50400000000046a63525100000000", "6351525251ac6a", 0, 1520147826, "6f1ebdd03eceef3201911027eeeec1a7ca696cb5fe56af6e9ce3690e9bebcafd"], - ["2074bad5011847f14df5ea7b4afd80cd56b02b99634893c6e3d5aaad41ca7c8ee8e5098df003000000026a6affffffff018ad59700000000000900ac656a526551635300000000", "65635265", 0, -1804671183, "663c999a52288c9999bff36c9da2f8b78d5c61b8347538f76c164ccba9868d0a"], - ["7100b11302e554d4ef249ee416e7510a485e43b2ba4b8812d8fe5529fe33ea75f36d392c4403000000020000ffffffff3d01a37e075e9a7715a657ae1bdf1e44b46e236ad16fd2f4c74eb9bf370368810000000007636553ac536365ffffffff01db696a0400000000065200ac656aac00000000", "63005151", 0, -1210499507, "b9c3aee8515a4a3b439de1ffc9c156824bda12cb75bfe5bc863164e8fd31bd7a"], - ["02c1017802091d1cb08fec512db7b012fe4220d57a5f15f9e7676358b012786e1209bcff950100000003ac6352ffffffff799bc282724a970a6fea1828984d0aeb0f16b67776fa213cbdc4838a2f1961a3010000000751516a5365526affffffff016c7b4b03000000000765ac5253ac5352b70195ad", "65655200516a", 0, -241626954, "53756e3d2ba9173c6688f69eed52c0af5acda26c2b075791774b962bb7c510aa"], - ["cb3178520136cd294568b83bb2520f78fecc507898f4a2db2674560d72fd69b9858f75b3b502000000066aac00515100ffffffff03ab005a01000000000563526363006e3836030000000000fbda32000000000005650065006500000000", "516a0063006a5300", 0, 1182109299, "9a97d60d09aaae9887640a41ae35eb6e37d28a025ee1168afb78c2f3c03a2891"], - ["18a4b0c004702cf0e39686ac98aab78ad788308f1d484b1ddfe70dc1997148ba0e28515c310300000000ffffffff05275a52a23c59da91129093364e275da5616c4070d8a05b96df5a2080ef259500000000086aac51656a6aac5366e64966b3b36a07dd2bb40242dd4a3743d3026e7e1e0d9e9e18f11d068464b989661321030000000265ac383339c4fae63379cafb63b0bab2eca70e1f5fc7d857eb5c88ccd6c0465093924bba8b2a000000000300636ab5e0545402bc2c4c010000000000cd41c002000000000000000000", "ac635253656a00", 3, 2052372230, "32db877b6b1ca556c9e859442329406f0f8246706522369839979a9f7a235a32"], - ["1d9c5df20139904c582285e1ea63dec934251c0f9cf5c47e86abfb2b394ebc57417a81f67c010000000353515222ba722504800d3402000000000353656a3c0b4a0200000000000fb8d20500000000066300005200516462f30400000000015200000000", "65", 0, -210854112, "ee638e53d2ffa8bd15bb833ee5046bb229508506d2a13817a62ec35a93d5e3f6"], - ["4504cb1904c7a4acf375ddae431a74de72d5436efc73312cf8e9921f431267ea6852f9714a01000000066a656a656553a2fbd587c098b3a1c5bd1d6480f730a0d6d9b537966e20efc0e352d971576d0f87df0d6d01000000016321aeec3c4dcc819f1290edb463a737118f39ab5765800547522708c425306ebfca3f396603000000055300ac656a1d09281d05bfac57b5eb17eb3fa81ffcedfbcd3a917f1be0985c944d473d2c34d245eb350300000007656a51525152ac263078d9032f470f0500000000066aac00000052e12da60200000000003488410200000000066365006300539981e432", "52536a52526a", 1, -31909119, "c7391b817e7c725f54f1a7f19d27bf014b86f83eb900d6c91a0c9c31133919e9"], - ["14bc7c3e03322ec0f1311f4327e93059c996275302554473104f3f7b46ca179bfac9ef753503000000016affffffff9d405eaeffa1ca54d9a05441a296e5cc3a3e32bb8307afaf167f7b57190b07e0030000000351526345533aa242c61bca90dd15d46079a0ab0841d85df67b29ba87f2393cd764a6997c372b55030000000452005263ffffffff0250f40e02000000000651516a0063630e95ab0000000000046a5151ac00000000", "6a65005151", 0, -1460947095, "aa418d096929394c9147be8818d8c9dafe6d105945ab9cd7ec682df537b5dd79"], - ["2b3bd0dd04a1832f893bf49a776cd567ec4b43945934f4786b615d6cb850dfc0349b33301a000000000565ac000051cf80c670f6ddafab63411adb4d91a69c11d9ac588898cbfb4cb16061821cc104325c895103000000025163ffffffffa9e2d7506d2d7d53b882bd377bbcc941f7a0f23fd15d2edbef3cd9df8a4c39d10200000009ac63006a52526a5265ffffffff44c099cdf10b10ce87d4b38658d002fd6ea17ae4a970053c05401d86d6e75f9900000000076353526a525263ffffffff035af69c01000000000100ba9b8b0400000000004cead10500000000026a520b77d667", "52ac526553", 3, -1955078165, "eb9ceecc3b401224cb79a44d23aa8f428e29f1405daf69b4e01910b848ef1523"], - ["35df11f004a48ba439aba878fe9df20cc935b4a761c262b1b707e6f2b33e2bb7565cd68b130000000000ffffffffb2a2f99abf64163bb57ca900500b863f40c02632dfd9ea2590854c5fb4811da90200000006ac006363636affffffffaf9d89b2a8d2670ca37c8f7c140600b81259f2e037cb4590578ec6e37af8bf200000000004ac6a655270a4751eb551f058a93301ffeda2e252b6614a1fdd0e283e1d9fe53c96c5bbaafaac57b8030000000153ffffffff020d9f3b02000000000100ed7008030000000003ac000000000000", "ac", 3, 593793071, "57037535cf3b9bcf7f4fa9f9d48c2d89c7f5c09aeac29ae3fa49ad799b88e5e8"], - ["a08ff466049fb7619e25502ec22fedfb229eaa1fe275aa0b5a23154b318441bf547989d05100000000045363636affffffff2b0e335cb5383886751cdbd993dc0720817745a6b1c9b8ab3d15547fc9aafd03000000000965656a536a52656a532b53d10584c290d3ac1ab74ab0a19201a4a039cb59dc58719821c024f6bf2eb26322b33f010000000865ac6aac00536353ffffffff048decba6ebbd2db81e416e39dde1f821ba69329725e702bcdea20c5cc0ecc64020000000763635351ac6551466e377b0468c0fa0000000000055153ac6a513461c6010000000008636a636365535100eeb3dc010000000006526a52ac516a43f362010000000005000063536500000000", "0063516a", 1, -1158911348, "90b014f63f99e2ab93bb7132f5b717bedceda3c5bf71be7c41d51f4e0b288971"], - ["5ac2f17d03bc902e2bac2469907ec7d01a62b5729340bc58c343b7145b66e6b97d434b30fa000000000163ffffffff44028aa674192caa0d0b4ebfeb969c284cb16b80c312d096efd80c6c6b094cca000000000663acac516a52ffffffff10c809106e04b10f9b43085855521270fb48ab579266e7474657c6c625062d2d030000000351636595a0a97004a1b69603000000000365005352ad68010000000008636a5263acac5100da7105010000000001ac90325200000000000000000000", "6a6a516a63526353", 2, 1518400956, "9821dc391a0efc812c783477fd94b696c3c12d4207ec73866f05411cc444ea51"], - ["aeb2e11902dc3770c218b97f0b1960d6ee70459ecb6a95eff3f05295dc1ef4a0884f10ba460300000005516352526393e9b1b3e6ae834102d699ddd3845a1e159aa7cf7635edb5c02003f7830fee3788b795f20100000008006a526553ac006ad8809c570469290e040000000003000000b10fd5040000000005655263ac53630b180300000000009d9993040000000002516300000000", "5351ac6a65", 0, 1084852870, "7e5d1656f7f92f7cd3a759e3c661f16c2b49b06ca53198d3130b598e557c6c2e"], - ["9860ca9a0294ff4812534def8c3a3e3db35b817e1a2ddb7f0bf673f70eab71bb79e90a2f3100000000086a636551acac5165ffffffffed4d6d3cd9ff9b2d490e0c089739121161a1445844c3e204296816ab06e0a83702000000035100ac88d0db5201c3b59a050000000004ac6a005100000000", "535263006a526a", 1, -962088116, "2c9b60742e1aa409973c70e0ba6a4ce0dcdb350125002f98bdee95da25ee2c56"], - ["4ddaa680026ec4d8060640304b86823f1ac760c260cef81d85bd847952863d629a3002b54b0200000007526365636a656a65457861fc6c24bdc760c8b2e906b6656edaf9ed22b5f50e1fb29ec076ceadd9e8ebcb6b000000000152ffffffff033ff04f00000000000551526a00657a1d900300000000002153af040000000003006a6300000000", "526a53ac", 0, 1055317633, "7f21b62267ed52462e371a917eb3542569a4049b9dfca2de3c75872b39510b26"], - ["01e76dcd02ad54cbc8c71d68eaf3fa7c883b65d74217b30ba81f1f5144ef80b706c0dc82ca0000000002526a078ec18bcd0514825feced2e8b8ea1ccb34429fae41c70cc0b73a2799e85603613c68700020000000763636365536a53ffffffff043acea90000000000016ad20e1803000000000100fa00830200000000056352515351e864ee000000000007655352536a6551d0c46672", "6a6365ac", 0, -1420559003, "769129ee13526557a2ff8ed9143a781b6c409291e05d2f0afafbe68f39469dca"], - ["fa00b26402670b97906203434aa967ce1559d9bd097d56dbe760469e6032e7ab61accb54160100000006635163630052fffffffffe0d3f4f0f808fd9cfb162e9f0c004601acf725cd7ea5683bbdc9a9a433ef15a020000000452536563d09c7bef049040f305000000000153a7c7b9020000000003ac6352847a250300000000045300655390ed8001000000000400655352860671d4", "53656552", 0, 799022412, "4137db1db2a52bf9b7d3f65d0ef847932b48601a9badb57cac403313793a6741"], - ["cb5c06dc01b022ee6105ba410f0eb12b9ce5b5aa185b28532492d839a10cef33d06134b91b010000000153ffffffff02cec0530400000000005e1e4504000000000865656551acacac6a00000000", "53", 0, -1514251329, "136beb95459fe6b126cd6cefd54eb5d971524b0e883e41a292a78f78015cb8d5"], - ["f10a0356031cd569d652dbca8e7a4d36c8da33cdff428d003338602b7764fe2c96c505175b010000000465ac516affffffffbb54563c71136fa944ee20452d78dc87073ac2365ba07e638dce29a5d179da600000000003635152ffffffff9a411d8e2d421b1e6085540ee2809901e590940bbb41532fa38bd7a16b68cc350100000007535251635365636195df1603b61c4501000000000165bf6a310400000000026352fcbba10200000000016aa30b7ff0", "5351", 0, 1552495929, "e4bbbeaa67cfd27f435e1b0f17ffe37707d1be50d933d06dbbbfd1a731c90265"], - ["c3325c9b012f659466626ca8f3c61dfd36f34670abc054476b7516a1839ec43cd0870aa0c0000000000753525265005351e7e3f04b0112650500000000000363ac6300000000", "acac", 0, -68961433, "5ca70e727d91b1a42b78488af2ed551642c32d3de4712a51679f60f1456a8647"], - ["2333e54c044370a8af16b9750ac949b151522ea6029bacc9a34261599549581c7b4e5ece470000000006510052006563ffffffff80630fc0155c750ce20d0ca4a3d0c8e8d83b014a5b40f0b0be0dd4c63ac28126020000000465000000ffffffff1b5f1433d38cdc494093bb1d62d84b10abbdae57e3d04e82e600857ab3b1dc990300000003515100b76564be13e4890a908ea7508afdad92ec1b200a9a67939fadce6eb7a29eb4550a0a28cb0300000001acffffffff02926c930300000000016373800201000000000153d27ee740", "6365516a53", 3, 598653797, "2be27a686eb7940dd32c44ff3a97c1b28feb7ab9c5c0b1593b2d762361cfc2db"], - ["b500ca48011ec57c2e5252e5da6432089130603245ffbafb0e4c5ffe6090feb629207eeb0e0100000004526a636a8302c9d2042b44f40500000000015278c05a050000000004ac5251524be080020000000007636aac63ac5252c93a9a040000000007656553636a5352d91f9ddb", "52005100", 0, -2024394677, "a1c7d6660d3382d6c93bd2c46b12eafb6513ec4be9a5a1489d4383524f1edcf9"], - ["f52ff64b02ee91adb01f3936cc42e41e1672778962b68cf013293d649536b519bc3271dd2c00000000020065afee11313784849a7c15f44a61cd5fd51ccfcdae707e5896d131b082dc9322a19e12858501000000036aac654e8ca882022deb7c020000000005006a515352d3defc0000000000016300000000", "63520063", 0, 1130989496, "ec2f130931c2d4acdf04556cbe9bab0c7297c410d010918a128640997de843af"], - ["ab7d6f36027a7adc36a5cf7528fe4fb5d94b2c96803a4b38a83a675d7806dda62b380df86a0000000003000000ffffffff5bc00131e29e22057c04be854794b4877dda42e416a7a24706b802ff9da521b20000000007ac6a0065ac52ac957cf45501b9f06501000000000400ac636325f1110b", "00526500536a635253", 0, 911316637, "1797caf6329f3d52afac7a58d81bc3228ae3d2fdec25c0bc43d84eec1003183c"], - ["f940888f023dce6360263c850372eb145b864228fdbbb4c1186174fa83aab890ff38f8c9a90300000000ffffffff01e80ccdb081e7bbae1c776531adcbfb77f2e5a7d0e5d0d0e2e6c8758470e85f00000000020053ffffffff03b49088050000000003656a52428bd60400000000085163006563ac636a0cbacf0400000000070063ac5265ac53d6e16604", "ac63", 0, 39900215, "96c6cca56df96cf63f98859d9be6fcedd2f97f25567c4e7e719869c96fd2cb17"], - ["530ecd0b01ec302d97ef6f1b5a6420b9a239714013e20d39aa3789d191ef623fc215aa8b940200000004ac53516a3823ab8202572eaa040000000006526a51526563fd8a270100000000036a006581a798f0", "525153656a0063", 0, 1784562684, "d7727f208a685cea80c63c66ac7613a3f0bf5081a6083950b2e022091e999a6b"], - ["5d781d9303acfcce964f50865ddfddab527ea971aee91234c88e184979985c00b4de15204b01000000026352a009c8ab01f93c8ef2447386c434b4498538f061845862c3f9d5751ad0fce52af442b3a902000000025165b909c66b5a3e7c81b3c45396b944be13b8aacfc0204f3f3c105a66fa8fa6402f1b5efddb01000000086a65ac636aac656ac3c677c402b79fa4050000000003006a5133e358020000000005516351630078c2e025", "6aac51636a6a005265", 0, -882306874, "2257287674ad60f1a3537aab37ad8a9b14de255e6f8dd6ce65ce0ff2f69c8d04"], - ["25ee54ef0187387564bb86e0af96baec54289ca8d15e81a507a2ed6668dc92683111dfb7a50100000004005263634cecf17d0429aa4d000000000005636a6a5263daa756010000000001514df70a01000000000151980a890400000000065253ac6a006377fd24e3", "65", 0, 797877378, "069f38fd5d47abff46f04ee3ae27db03275e9aa4737fa0d2f5394779f9654845"], - ["a9c57b1a018551bcbc781b256642532bbc09967f1cbe30a227d352a19365d219d3f11649a3030000000451655352b14094220318289403000000000400ac6a654add350400000000003d379505000000000453acac00e1739d36", "5363", 0, -1069721025, "067e85b25142810ca22954698263e485b1ee3e7fc8542dc90c4ac9cdf9370530"], - ["05c4fb94040f5119dc0b10aa9df054871ed23c98c890f1e931a98ffb0683dac45e98619fdc0200000006ac6a525263513e7495651c9794c4d60da835d303eb4ee6e871f8292f6ad0b32e85ef08c9dc7aa4e03c9c01000000040052acacfffffffffee953259cf14ced323fe8d567e4c57ba331021a1ef5ac2fa90f7789340d7c550100000007ac6aacac6a6a53ffffffff08d9dc820d00f18998af247319f9de5c0bbd52a475ea587f16101af3afab7c210100000003535363569bca7c0468e34f00000000000863536353ac51ac6584e3190100000000056500526a533debea030000000003ac0053ee7070020000000006ac52005253ac00000000", "6351005253", 2, 1386916157, "59d1078fc84ae1d50363c10b0052e39900c250d5b2ab47c5201bcbbe887083a6"], - ["c95ab19104b63986d7303f4363ca8f5d2fa87c21e3c5d462b99f1ebcb7c402fc012f5034780000000009006aac63ac65655265ffffffffbe91afa68af40a8700fd579c86d4b706c24e47f7379dad6133de389f815ef7f501000000036aac00ffffffff1520db0d81be4c631878494668d258369f30b8f2b7a71e257764e9a27f24b48701000000076a515100535300b0a989e1164db9499845bac01d07a3a7d6d2c2a76e4c04abe68f808b6e2ef5068ce6540e0100000008ac53636a6365656affffffff0309aac60500000000046563656a6067e8020000000003ac536aec91c803000000000865525165ac6a53acc7a45bc5", "63526a65ac", 1, 512079270, "7b43923888bcb249b559b3767057664aa9bfab4dd42351c143bbb85cdc3a8035"], - ["ca66ae10049533c2b39f1449791bd6d3f039efe0a121ab7339d39ef05d6dcb200ec3fb2b3b020000000465006a53ffffffff534b8f97f15cc7fb4f4cea9bf798472dc93135cd5b809e4ca7fe4617a61895980100000000ddd83c1dc96f640929dd5e6f1151dab1aa669128591f153310d3993e562cc7725b6ae3d903000000046a52536582f8ccddb8086d8550f09128029e1782c3f2624419abdeaf74ecb24889cc45ac1a64492a0100000002516a4867b41502ee6ccf03000000000552acac526a4b7ba800000000000651510052536300000000", "6553", 2, -62969257, "cf83f09721753dfe8da695ddcd2ae11028aebef4aa8f57c8d69437ac34ed2069"], - ["ba646d0b0453999f0c70cb0430d4cab0e2120457bb9128ed002b6e9500e9c7f8d7baa20abe0200000001652a4e42935b21db02b56bf6f08ef4be5adb13c38bc6a0c3187ed7f6197607ba6a2c47bc8a03000000040052516affffffffa55c3cbfc19b1667594ac8681ba5d159514b623d08ed4697f56ce8fcd9ca5b0b00000000086a6a5263ac65526366728c2720fdeabdfdf8d9fb2bfe88b295d3b87590e26a1e456bad5991964165f888c03a0200000006630051ac00acffffffff0176fafe0100000000070063acac65515200000000", "63", 1, 2002322280, "9db4e320208185ee70edb4764ee195deca00ba46412d5527d9700c1cf1c3d057"], - ["2ddb8f84039f983b45f64a7a79b74ff939e3b598b38f436def7edd57282d0803c7ef34968d02000000026a537eb00c4187de96e6e397c05f11915270bcc383959877868ba93bac417d9f6ed9f627a7930300000003516551ffffffffacc12f1bb67be3ae9f1d43e55fda8b885340a0df1175392a8bbd9f959ad3605003000000025163ffffffff02ff0f4700000000000070bd99040000000002ac53f8440b42", "", 2, -393923011, "c8798ae08d2cf6af56eb468f3c040be24866af35e03d2ea6d92d3b2aa735bc21"], - ["b21fc15403b4bdaa994204444b59323a7b8714dd471bd7f975a4e4b7b48787e720cbd1f5f00000000000ffffffff311533001cb85c98c1d58de0a5fbf27684a69af850d52e22197b0dc941bc6ca903000000056563635351a8ae2c2c7141ece9a4ff75c43b7ea9d94ec79b7e28f63e015ac584d984a526a73fe1e04e0100000007526352536a5365ffffffff02a0a9ea03000000000152cfc4f300000000000465525253e8e0f342", "000000", 1, 1305253970, "b3c229c947c27b41cece5549b8fba359a14ef7b06f81fa00532e75b18121361d"], - ["d1704d6601acf710b19fa753e307cfcee2735eada0d982b5df768573df690f460281aad12d0000000007656300005100acffffffff0232205505000000000251632ca1bc0300000000016300000000", "ac656551", 0, 165179664, "63fcd4f003a59d705a1ec2a2579f813c4c42bbf5f1aa5d3386503461c94ef884"], - ["d2f6c096025cc909952c2400bd83ac3d532bfa8a1f8f3e73c69b1fd7b8913379793f3ce92202000000066a006a53516ade5332d81d58b22ed47b2a249ab3a2cb3a6ce9a6b5a6810e18e3e1283c1a1b3bd73e3ab00300000001acffffffff01a9b2d4050000000003635200dc4b7f69", "0065", 0, -78019184, "3c5350ae0557040f042a1467ee9e667dba1c38c4aee2d6104e91348856c0b449"], - ["3e6db1a1019444dba461247224ad5933c997256d15c5d37ade3d700506a0ba0a57824930d7010000000652650000ac00ffffffff03389242020000000000a8465a0200000000076a6a636a510052394e6003000000000953ac51526351000053d21d9800", "ac5365", 0, 1643661850, "7a55a214a6c62555854cddbd278cbf0b249ea9e6a4821a37d363340c2b00bee5"], - ["f821a042036ad43634d29913b77c0fc87b4af593ac86e9a816a9d83fd18dfcfc84e1e1d57102000000076a63ac52006351ffffffffbcdaf490fc75086109e2f832c8985716b3a624a422cf9412fe6227c10585d212030000000752525352ac526affffffff2efed01a4b73ad46c7f7bc7fa3bc480f8e32d741252f389eaca889a2e9d2007e000000000353ac53ffffffff032ac8b3020000000009636300000063516300d3d9f2040000000006510065ac656aafa5de00000000000563525300ac9042b57d", "525365", 1, 667065611, "4055f568c1e384f78f54a55e1b423246874d6cd69a973e0e8e16df9054f40404"], - ["58e3f0f704a186ef55d3919061459910df5406a9121f375e7502f3be872a449c3f2bb058380100000000f0e858da3ac57b6c973f889ad879ffb2bd645e91b774006dfa366c74e2794aafc8bbc871010000000751ac65516a515131a68f120fd88ca08687ceb4800e1e3fbfea7533d34c84fef70cc5a96b648d580369526d000000000600ac00515363f6191d5b3e460fa541a30a6e83345dedfa3ed31ad8574d46d7bbecd3c9074e6ba5287c24020000000151e3e19d6604162602010000000004005100ac71e17101000000000065b5e9030000000003005353f6b7d101000000000200ac00000000", "6563", 1, -669018604, "0d29716180aaf3d362452d4fc6a0ecb268452643b3da574f8dc9b589be506bb3"], - ["efec1cce044a676c1a3d973f810edb5a9706eb4cf888a240f2b5fb08636bd2db482327cf50000000000451656a52ffffffff46ef019d7c03d9456e5134eb0a7b5408d274bd8e33e83df44fab94101f7c5b650200000009ac5100006353630051407aadf6f5aaffbd318fdbbc9cae4bd883e67d524df06bb006ce2f7c7e2725744afb76960100000004536a53acec0d64eae09e2fa1a7c4960354230d51146cf6dc45ee8a51f489e20508a785cbe6ca86fc000000000651536a516300ffffffff014ef598020000000006636aac655265a6ae1b75", "53516a5363526563", 2, -1823982010, "13e8b5ab4e5b2ceeff0045c625e19898bda2d39fd7af682e2d1521303cfe1154"], - ["3c436c2501442a5b700cbc0622ee5143b34b1b8021ea7bbc29e4154ab1f5bdfb3dff9d640501000000076a5251ac5252acffffffff0170b9a20300000000056a6351525114b13791", "63ac5251ac65", 0, -2140612788, "6c44dd81f45d721f4fb8f4b2b3235798721f0477348f69e73bb9bcaa34a3bf3a"], - ["d62f183e037e0d52dcf73f9b31f70554bce4f693d36d17552d0e217041e01f15ad3840c838000000000863acac6a6a6a6363ffffffffabdfb395b6b4e63e02a763830f536fc09a35ff8a0cf604021c3c751fe4c88f4d03000000046365ac53aa4d30de95a2327bccf9039fb1ad976f84e0b4a0936d82e67eafebc108993f1e57d8ae39000000000165ffffffff04364ad30500000000036a005179fd84010000000006636aac6363519b9023030000000008510065006563ac6acd2a4a02000000000000000000", "52", 1, 595020383, "43f13b3e823082f194d9eafe225f9622cd99fdb188e773cc710562f75a8f98c0"], - ["44c200a5021238de8de7d80e7cce905606001524e21c8d8627e279335554ca886454d692e6000000000400acac52bb8d1dc876abb1f514e96b21c6e83f429c66accd961860dc3aed5071e153e556e6cf076d02000000056553526a51870a928d0360a580040000000004516a535290e1e3020000000007516a00510065acdd7fc504000000000651536365636abb1ec182", "6363", 0, -785766894, "98866f7694e00b4b902ea968c971b7aadc08e972cb75bf792accb6f17a62e25a"], - ["d682d52d034e9b062544e5f8c60f860c18f029df8b47716cabb6c1b4a4b310a0705e754556020000000400656a0016eeb88eef6924fed207fba7ddd321ff3d84f09902ff958c815a2bf2bb692eb52032c4d803000000076365ac516a520099788831f8c8eb2552389839cfb81a9dc55ecd25367acad4e03cfbb06530f8cccf82802701000000085253655300656a53ffffffff02d543200500000000056a510052ac03978b05000000000700ac51525363acfdc4f784", "", 2, -696035135, "e1a256854099907050cfee7778f2018082e735a1f1a3d91437584850a74c87bb"], - ["e8c0dec5026575ddf31343c20aeeca8770afb33d4e562aa8ee52eeda6b88806fdfd4fe0a97030000000653ac65516552ffffffffdde122c2c3e9708874286465f8105f43019e837746686f442666629088a970e0010000000153ffffffff01f98eee0100000000025251fe87379a", "63", 1, 633826334, "abe441209165d25bc6d8368f2e7e7dc21019056719fef1ace45542aa2ef282e2"], - ["b288c331011c17569293c1e6448e33a64205fc9dc6e35bc756a1ac8b97d18e912ea88dc0770200000006635300ac6aacfc3c890903a3ccf8040000000004656500ac9c65c90400000000056a6a65ac63ac5f7702000000000365005200000000", "526a63", 0, 1574937329, "ea9f25d0dcf3b7bb2a98b8416f581569eef203dda8cea3fe8a3d92ea80cc50b0"], - ["fc0a092003cb275fa9a25a72cf85d69c19e4590bfde36c2b91cd2c9c56385f51cc545530210000000003530063ffffffff729b006eb6d14d6e5e32b1c376acf1c62830a5d9246da38dbdb4db9f51fd1c74020000000463636500ffffffff0ae695c6d12ab7dcb8d3d4b547b03f178c7268765d1de9af8523d244e3836b12030000000151ffffffff0115c1e20100000000056a6aac6a6a1ff59aec", "0053ac", 0, 931831026, "1a4207a784c0ab325f36f7632cd29a8f98c719a4f2794febfaa9915a38e9ff14"], - ["0fcae7e004a71a4a7c8f66e9450c0c1785268679f5f1a2ee0fb3e72413d70a9049ecff75de020000000452005251ffffffff99c8363c4b95e7ec13b8c017d7bb6e80f7c04b1187d6072961e1c2479b1dc0320200000000ffffffff7cf03b3d66ab53ed740a70c5c392b84f780fff5472aee82971ac3bfeeb09b2df02000000055265636a0058e4fe9257d7c7c7e82ff187757c6eadc14cceb6664dba2de03a018095fd3006682a5b9600000000056353536a636de26b2303ff76de010000000001acdc0a2e0200000000000a53ed02000000000653006351510088417307", "ac6aac5165535253", 2, -902160694, "da4a0ce0d5835d2b1c0346ca90c94a267345339db2c4634410e640f6c86cd173"], - ["612701500414271138e30a46b7a5d95c70c78cc45bf8e40491dac23a6a1b65a51af04e6b94020000000451655153ffffffffeb72dc0e49b2fad3075c19e1e6e4b387f1365dca43d510f6a02136318ddecb7f0200000003536352e115ffc4f9bae25ef5baf534a890d18106fb07055c4d7ec9553ba89ed1ac2101724e507303000000070063006563acac2ff07f69a080cf61a9d19f868239e6a4817c0eeb6a4f33fe254045d8af2bca289a8695de0300000000430736c404d317840500000000066a00ac535165306e05030000000006630051536a6a6c8aca010000000004655163515dcf960100000000016a00000000", "", 2, -604581431, "bc4865c1566a0cdf045abb6c938987da7c39dd582d0fba6fff8d1837ee4a7166"], - ["6b68ba00023bb4f446365ea04d68d48539aae66f5b04e31e6b38b594d2723ab82d44512460000000000200acffffffff5dfc6febb484fff69c9eeb7c7eb972e91b6d949295571b8235b1da8955f3137b020000000851ac6352516a535325828c8a03365da801000000000600636aac65510f594d03000000000963ac536365ac63636a45329e010000000004ac53526a00000000", "005151", 0, 1317038910, "0ae0a34d94e7876dd15da19879f9cea8d4d0bfaa5ce318506583a41abafefda4"], - ["aff5850c0168a67296cc790c1b04a9ed9ad1ba0469263a9432fcb53676d1bb4e0eea8ea1410100000005ac65526a537d5fcb1d01d9c26d02000000000552655153acc0617ca1", "51650063", 0, 1712981774, "87c894884c1e673ad986b2ff632c114c307b786e0568912b6612223eea18828a"], - ["e6d6b9d8042c27aec99af8c12b6c1f7a80453e2252c02515e1f391da185df0874e133696b50300000006ac5165650065ffffffff6a4b60a5bfe7af72b198eaa3cde2e02aa5fa36bdf5f24ebce79f6ecb51f3b554000000000452656aac2ec4c5a6cebf86866b1fcc4c5bd5f4b19785a8eea2cdfe58851febf87feacf6f355324a80100000001537100145149ac1e287cef62f6f5343579189fad849dd33f25c25bfca841cb696f10c5a34503000000046a636a63df9d7c4c018d96e20100000000015100000000", "53", 1, -1924777542, "f98f95d0c5ec3ac3e699d81f6c440d2e7843eab15393eb023bc5a62835d6dcea"], - ["046ac25e030a344116489cc48025659a363da60bc36b3a8784df137a93b9afeab91a04c1ed0200000008510000526a65ac51ffffffff6c094a03869fde55b9a8c4942a9906683f0a96e2d3e5a03c73614ea3223b2c29020000000400636a6affffffff3da7aa5ecef9071600866267674b54af1740c5aeb88a290c459caa257a2683cb000000000265657e2a1b900301b916030000000004ac63656308f4ed0300000000075253ac63ac51ac73d62002000000000200008deb1285", "6a", 2, 1299505108, "12680ed69294aee1203af681520d76a34f58d77a3656a2d170d2534c810545c1"], - ["bd515acd0130b0ac47c2d87f8d65953ec7d657af8d96af584fc13323d0c182a2e5f9a96573000000000652ac51acac65ffffffff0467aade000000000003655363dc577d0500000000055152525300137f60030000000007535163530065004cdc860500000000036a5265241bf53e", "ac", 0, 621090621, "9f65007e83f456f919bf343d1ae243f1f6acd25e80c08ccee9399c772141757a"], - ["ff1ae37103397245ac0fa1c115b079fa20930757f5b6623db3579cb7663313c2dc4a3ffdb300000000076353656a000053ffffffff83c59e38e5ad91216ee1a312d15b4267bae2dd2e57d1a3fd5c2f0f809eeb5d460100000005006a6a5351ffffffff9d5e706c032c1e0ca75915f8c6686f64ec995ebcd2539508b7dd8abc3e4d7d2a01000000006b2bdcda02a8fe070500000000045253000019e31d0400000000050063ac526a00000000", "53656a6a525251", 0, 881938872, "4a5fbdebe4a5bb645f4ccfb9bbc6397930d3d7842da1907e4adfc46e3854d8d8"], - ["ff5400dd02fec5beb9a396e1cbedc82bedae09ed44bae60ba9bef2ff375a6858212478844b03000000025253ffffffff01e46c203577a79d1172db715e9cc6316b9cfc59b5e5e4d9199fef201c6f9f0f0000000008006552656a5165acffffffff02e8ce62040000000002515312ce3e00000000000251513f119316", "", 0, 1541581667, "1e0da47eedbbb381b0e0debbb76e128d042e02e65b11125e17fd127305fc65cd"], - ["28e3daa603c03626ad91ffd0ff927a126e28d29db5012588b829a06a652ea4a8a57324070302000000036552acffffffff8e643146d3d0568fc2ad854fd7864d43f6f16b84e395db82b739f6f5c84d97b40000000004515165526b01c2dc1469db0198bd884e95d8f29056c48d7e74ff9fd37a9dec53e44b8769a6c99c030200000008006a516a53630065eea8738901002398000000000006ac5363516a51eaef12f5", "5252515253", 2, 1687390463, "b0951cf9846e21e7453f8143f08237c2c8d1894ae427564e4c363051cfec6a4d"], - ["b54bf5ac043b62e97817abb892892269231b9b220ba08bc8dbc570937cd1ea7cdc13d9676c0100000003515365a10adb7b35189e1e8c00b86250f769319668189b7993d6bdac012800f1749150415b2deb0200000003655300ffffffff60b9f4fb9a7e17069fd00416d421f804e2ef2f2c67de4ca04e0241b9f9c1cc5d02000000026aacfffffffff048168461cce1d40601b42fbc5c4f904ace0d35654b7cc1937ccf53fe78505a0100000007526563525265acffffffff01dbf4e6040000000007acac656553636500000000", "63", 2, 882302077, "f5b38b0f06e246e47ce622e5ee27d5512c509f8ac0e39651b3389815eff2ab93"], - ["ebf628b30360bab3fa4f47ce9e0dcbe9ceaf6675350e638baff0c2c197b2419f8e4fb17e16000000000452516365ac4d909a79be207c6e5fb44fbe348acc42fc7fe7ef1d0baa0e4771a3c4a6efdd7e2c118b0100000003acacacffffffffa6166e9101f03975721a3067f1636cc390d72617be72e5c3c4f73057004ee0ee010000000863636a6a516a5252c1b1e82102d8d54500000000000153324c900400000000015308384913", "0063516a51", 1, -1658428367, "eb2d8dea38e9175d4d33df41f4087c6fea038a71572e3bad1ea166353bf22184"], - ["d6a8500303f1507b1221a91adb6462fb62d741b3052e5e7684ea7cd061a5fc0b0e93549fa50100000003ac65acfffffffffdec79bf7e139c428c7cfd4b35435ae94336367c7b5e1f8e9826fcb0ebaaaea30300000000ffffffffd115fdc00713d52c35ea92805414bd57d1e59d0e6d3b79a77ee18a3228278ada020000000453005151ffffffff040231510300000000085100ac6a6a000063c6041c0400000000080000536a6563acac138a0b04000000000163d25fbe03000000000900656a00656aac510000000000", "ac526aac6a00", 1, -2007972591, "70466179ab02e0a0d1e30fb22e189fe37c317ca4022487f41b6b1e22f52213e3"], - ["658cb1c1049564e728291a56fa79987a4ed3146775fce078bd2e875d1a5ca83baf6166a82302000000046a6563512170e7d0826cbdb45fda0457ca7689745fd70541e2137bb4f52e7b432dcfe2112807bd720300000007006a0052536351ffffffff8715ca2977696abf86d433d5c920ef26974f50e9f4a20c584fecbb68e530af5101000000009e49d864155bf1d3c757186d29f3388fd89c7f55cc4d9158b4cf74ca27a35a1dd93f945502000000096a535353ac656351510d29fa870230b8090400000000056a6a526a633b41da0500000000036a6a65ed63bf62", "52acac", 2, -1774073281, "d0c0ad4eb89bb42b233d8b49bfddb58a2a94a5086fced93d5be526f3e26ba57c"], - ["e92492cc01aec4e62df67ea3bc645e2e3f603645b3c5b353e4ae967b562d23d6e043badecd0100000002ac65ffffffff02c7e5ea04000000000152e1e584010000000005536365515195d16047", "6551", 0, -424930556, "1b6e90535cc7b99ac9a707fc38fc4339b7ac98c80d7d788937c84d94cba37345"], - ["02e242db04be2d8ced9179957e98cee395d4767966f71448dd084426844cbc6d15f2182e85030000000200650c8ffce3db9de9c3f9cdb9104c7cb26647a7531ad1ebf7591c259a9c9985503be50f8de30000000007ac6a51636a6353ffffffffa2e33e7ff06fd6469987ddf8a626853dbf30c01719efb259ae768f051f803cd30300000000fffffffffd69d8aead941683ca0b1ee235d09eade960e0b1df3cd99f850afc0af1b73e07030000000060bb602a011659670100000000076363526300acac00000000", "6353515251", 3, 1451100552, "bbc9069b8615f3a52ac8a77359098dcc6c1ba88c8372d5d5fe080b99eb781e55"], - ["b28d5f5e015a7f24d5f9e7b04a83cd07277d452e898f78b50aae45393dfb87f94a26ef57720200000006ac630053ac52ffffffff046475ed0400000000075100526363ac65c9834a04000000000151ae26b30100000000040000ac65ceefb900000000000000000000", "ac6551ac6a536553", 0, -1756558188, "fa793d53ce3009538526eb1d1c0547cad63610aee4425a8c3c01f0e8ef3fbda1"], - ["efb8b09801f647553b91922a5874f8e4bb2ed8ddb3536ed2d2ed0698fac5e0e3a298012391030000000952ac005263ac52006affffffff04cdfa0f050000000005ac5351ac65b68d1b0200000000045365ac00d057d50000000000016a9e1fda010000000007ac63ac536552ac00000000", "6aac", 0, 1947322973, "fee40f24dd25601b57caedb968efb0940c31b686b4ca6976fedeb664cfdabf2c"], - ["68a59fb901c21946797e7d07a4a3ea86978ce43df0479860d7116ac514ba955460bae78fff0000000000ffffffff03979be80100000000036553639300bc040000000008006552006a656565cfa78d0000000000056552ac635100000000", "65", 0, 995583673, "f1eb78d44ea74232cf2e8555eddd3bae8ccbe9cf678ad3bd826144fe984ffd63"], - ["67761f2a014a16f3940dcb14a22ba5dc057fcffdcd2cf6150b01d516be00ef55ef7eb07a830100000004636a6a51ffffffff01af67bd050000000008526553526300510000000000", "6a00", 0, 1570943676, "079fa62e9d9d7654da8b74b065da3154f3e63c315f25751b4d896733a1d67807"], - ["e20fe96302496eb436eee98cd5a32e1c49f2a379ceb71ada8a48c5382df7c8cd88bdc47ced03000000016556aa0e180660925a841b457aed0aae47fca2a92fa1d7afeda647abf67198a3902a7c80dd00000000085152ac636a535265bd18335e01803c810100000000046500ac52f371025e", "6363", 1, -651254218, "2921a0e5e3ba83c57ba57c25569380c17986bf34c366ec216d4188d5ba8b0b47"], - ["4e1bd9fa011fe7aa14eee8e78f27c9fde5127f99f53d86bc67bdab23ca8901054ee8a8b6eb0300000009ac535153006a6a0063ffffffff044233670500000000000a667205000000000452636a51e5bf35030000000003535351d579e50500000000060063006551ac3419ac30", "52ac52", 0, -1807563680, "18f86c959cf34c3f4748ae43b15ac365986c340a004c3f6b461af4bd0e214f23"], - ["ec02fbee03120d02fde12574649660c441b40d330439183430c6feb404064d4f507e704f3c0100000000ffffffffe108d99c7a4e5f75cc35c05debb615d52fac6e3240a6964a29c1704d98017fb6020000000163fffffffff726ec890038977adfc9dadbeaf5e486d5fcb65dc23acff0dd90b61b8e2773410000000002ac65e9dace55010f881b010000000004ac00650000000000", "51ac525152ac6552", 2, -1564046020, "67cdf19c0e2207c39eba0c3227246f9a892b71657b657279289a0de48de36a84"], - ["23dbdcc1039c99bf11938d8e3ccec53b60c6c1d10c8eb6c31197d62c6c4e2af17f52115c3a0300000006636352000063ffffffff17823880e1df93e63ad98c29bfac12e36efd60254346cac9d3f8ada020afc062030000000263631c26f002ac66e86cd22a25e3ed3cb39d982f47c5118f03253054842daadc88a6c41a2e1500000000086a00636a53635163195314de015570fd0100000000086a5263ac5200005300000000", "ac6a6553", 1, 11586329, "c9175e72b4bac047b14e198e735c5f611770a704323f8298410ed233befc9a28"], - ["33b03bf00222c7ca35c2f8870bbdef2a543b70677e413ce50494ac9b22ea673287b6aa55c5000000000400006a52ee4d97b527eb0b427e4514ea4a76c81e68c34900a23838d3e57d0edb5410e62eeb8c92b6000000000553ac6aacac42e59e170326245c000000000007656553536a516ab1a10603000000000652526a516500cc89c802000000000763ac6a63ac516300000000", "", 0, 557416556, "1eb1b268555b020ce680b0d86c8e86e0ddfb072bd3be6db1193683145b1d4197"], - ["813eda1103ac8159850b4524ef65e4644e0fc30efe57a5db0c0365a30446d518d9b9aa8fdd0000000003656565c2f1e89448b374b8f12055557927d5b33339c52228f7108228149920e0b77ef0bcd69da60000000003ac006382cdb7978d28630c5e1dc630f332c4245581f787936f0b1e84d38d33892141974c75b4750300000003ac5365ffffffff0137edfb02000000000000000000", "0063", 1, -1948560575, "71dfcd2eb7f2e6473aed47b16a6d5fcbd0af22813d892e9765023151e07771ec"], - ["9e45d9aa0248c16dbd7f435e8c54ae1ad086de50c7b25795a704f3d8e45e1886386c653fbf01000000025352fb4a1acefdd27747b60d1fb79b96d14fb88770c75e0da941b7803a513e6d4c908c6445c7010000000163ffffffff014069a8010000000001520a794fb3", "51ac005363", 1, -719113284, "0d31a221c69bd322ef7193dd7359ddfefec9e0a1521d4a8740326d46e44a5d6a"], - ["36e42018044652286b19a90e5dd4f8d9f361d0760d080c5c5add1970296ff0f1de630233c8010000000200ac39260c7606017d2246ee14ddb7611586178067e6a4be38e788e33f39a3a95a55a13a6775010000000352ac638bea784f7c2354ed02ea0b93f0240cdfb91796fa77649beee6f7027caa70778b091deee700000000066a65ac656363ffffffff4d9d77ab676d711267ef65363f2d192e1bd55d3cd37f2280a34c72e8b4c559d700000000046a006a00001764e1020d30220100000000075252516aac00534720970400000000086353536a636a5100a56407a1", "006a53655153", 0, 827296034, "daec2af5622bbe220c762da77bab14dc75e7d28aa1ade9b7f100798f7f0fd97a"], - ["5e06159a02762b5f3a5edcdfc91fd88c3bff08b202e69eb5ba74743e9f4291c4059ab008200000000001ac348f5446bb069ef977f89dbe925795d59fb5d98562679bafd61f5f5f3150c3559582992d00000000065165515353ac762fc67703847ec6010000000000e200cf040000000001aca64b86010000000007520000515363acb82b491b", "535253526a", 0, -61819505, "db79951df96e717d7e2da948bf0d9471d6c21fcdadf66b114ba206af0f2655a1"], - ["a1948872013b543d6d902ccdeead231c585195214ccf5d39f136023855958436a43266911501000000086aac006a6a6a51514951c9b2038a538a04000000000452526563c0f345050000000007526a5252ac526af9be8e03000000000652acac51006306198db2", "6353", 0, -326384076, "ac7e7c73d421e8db3fde36c0bda6747e11841c2aa9bd35504c8c911601964168"], - ["c3efabba03cb656f154d1e159aa4a1a4bf9423a50454ebcef07bc3c42a35fb8ad84014864d0000000000d1cc73d260980775650caa272e9103dc6408bdacaddada6b9c67c88ceba6abaa9caa2f7d020000000553536a5265ffffffff9f946e8176d9b11ff854b76efcca0a4c236d29b69fb645ba29d406480427438e01000000066a0065005300ffffffff040419c00100000000026a63cdb5b60100000000080063005352656a63f9fe5e050000000004acac5352611b980100000000086a00acac00006a512d7f0c40", "0053", 0, -59089911, "5d0c4674661b9ec0295cebe0deb9997b37ca3cd582a28777758e532288c65584"], - ["efb55c2e04b21a0c25e0e29f6586be9ef09f2008389e5257ebf2f5251051cdc6a79fce2dac020000000351006affffffffaba73e5b6e6c62048ba5676d18c33ccbcb59866470bb7911ccafb2238cfd493802000000026563ffffffffe62d7cb8658a6eca8a8babeb0f1f4fa535b62f5fc0ec70eb0111174e72bbec5e0300000006ac516365526affffffffbf568789e681032d3e3be761642f25e46c20322fa80346c1146cb47ac999cf1b0300000000b3dbd559025288280100000000000aac7b0100000000015300000000", "acac52", 3, 1638140535, "6a9f07368fe6045aa9d8651087d8fb1c12988a958764c991651c7a1e819d3dbf"], - ["91d3b21903629209b877b3e1aef09cd59aca6a5a0db9b83e6b3472aceec3bc2109e64ab85a0200000003530065ffffffffca5f92de2f1b7d8478b8261eaf32e5656b9eabbc58dcb2345912e9079a33c4cd0100000005006500536ad530611da41bbd51a389788c46678a265fe85737b8d317a83a8ff7a839debd18892ae5c803000000056aac6551008b86c501038b8a9a05000000000263525b3f7a04000000000453535300d4e3ff04000000000565ac5165630b7b656f", "6551525151516a00", 2, 499657927, "1d5e3f025b461b1ce59e3c3564ec28633d6f691d7c03086a0eef58c7dfacdad4"], - ["5d5c41ad0317aa7e40a513f5141ad5fc6e17d3916eebee4ddb400ddab596175b41a111ead20100000005536a5265acffffffff900ecb5e355c5c9f278c2c6ea15ac1558b041738e4bffe5ae06a9346d66d5b2b00000000060000636a656affffffff99f4e08305fa5bd8e38fb9ca18b73f7a33c61ff7b3c68e696b30a04fea87f3ca000000000163d3d1760d019fc13a00000000000000000000", "53ac6aac6a52", 2, 1007461922, "4012f5ff2f1238a0eb84854074670b4703238ebc15bfcdcd47ffa8498105fcd9"], - ["ceecfa6c02b7e3345445b82226b15b7a097563fa7d15f3b0c979232b138124b62c0be007890200000008ac51536a63525253ffffffffbae481ccb4f15d94db5ec0d8854c24c1cc8642bd0c6300ede98a91ca13a4539a0200000001ac50b0813d023110f5020000000005acac526563e2b0d0040000000009656aac0063516a536300000000", "0063526500", 0, -1862053821, "ac45b766abbd5c40316d80844f939938005cf51b5e644fc4fde63b0d96453b03"], - ["ae62d5fd0380c4083a26642159f51af24bf55dc69008e6b7769442b6a69a603edd980a33000000000003510053ffffffff49d048324d899d4b8ed5e739d604f5806a1104fede4cb9f92cc825a7fa7b4bfe0200000005536a000053ffffffff42e5cea5673c650881d0b4005fa4550fd86de5f21509c4564a379a0b7252ac0e0000000007530000526a53525f26a68a03bfacc3010000000000e2496f0000000000085253acac52636563b11cc600000000000700510065526a6a00000000", "", 1, -1600104856, "cac54b3a39a48c9a02e39bb968394d08664a5508853aedd6319341307ac0e03c"], - ["f06f64af04fdcb830464b5efdb3d5ee25869b0744005375481d7b9d7136a0eb8828ad1f0240200000003516563fffffffffd3ba192dabe9c4eb634a1e3079fca4f072ee5ceb4b57deb6ade5527053a92c5000000000165ffffffff39f43401a36ba13a5c6dd7f1190e793933ae32ee3bf3e7bfb967be51e681af760300000009650000536552636a528e34f50b21183952cad945a83d4d56294b55258183e1627d6e8fb3beb8457ec36cadb0630000000003530052334a7128014bbfd10100000000075352006a63656afc424a7c", "53650051635253ac00", 2, 313255000, "d0b066d280df7df96d13d797a60425a38efbc5694086722202713c0e6c3b8a8d"], - ["6dfd2f98046b08e7e2ef5fff153e00545faf7076699012993c7a30cb1a50ec528281a9022f030000000152ffffffff1f535e4851920b968e6c437d84d6ecf586984ebddb7d5db6ae035bd02ba222a8010000000551006a5351605072acb3e17939fa0737bc3ee43bc393b4acd58451fc4ffeeedc06df9fc649828822d5010000000253525a4955221715f27788d302382112cf60719be9ae159c51f394519bd5f7e70a4f9816c7020200000008526a6a51636a656a36d3a5ff0445548e0100000000086a6a00516a52655167030b050000000004ac6a63525cfda8030000000000e158200000000000010000000000", "535263ac6a65515153", 3, 585774166, "72b7da10704c3ca7d1deb60c31b718ee12c70dc9dfb9ae3461edce50789fe2ba"], - ["187eafed01389a45e75e9dda526d3acbbd41e6414936b3356473d1f9793d161603efdb4567010000000100ffffffff04371c8202000000000563630063523b3bde02000000000753516563006300e9e765010000000005516aac656a373f9805000000000565525352ac08d46763", "", 0, 122457992, "6a7e59385244ed651f3a9fd3b79c91cef425233a6c1f399ca853ad25f7ac56db"], - ["7d50b977035d50411d814d296da9f7965ddc56f3250961ca5ba805cadd0454e7c521e31b0300000000003d0416c2cf115a397bacf615339f0e54f6c35ffec95aa009284d38390bdde1595cc7aa7c010000000452ac5365ffffffff4232c6e796544d5ac848c9dc8d25cfa74e32e847a5fc74c74d8f38ca51188562030000000653ac51006a51ffffffff016bd8bb000000000003655253163526f3", "51526a00005353", 1, -1311316785, "896b409b0dc8586307777d9ed6e47729d2ea5f2ecb4c3d46f275649a0ff3f1d1"], - ["2a45cd1001bf642a2315d4a427eddcc1e2b0209b1c6abd2db81a800c5f1af32812de42032702000000050051525200ffffffff032177db050000000004530051ac49186f0000000000026a00645c0000000000000665655263acac00000000", "6a65", 0, -1774715722, "23ef12379dbb35735b930e5fd2cc607d052cee29167d61cb783761f7aa30343f"], - ["479358c202427f3c8d19e2ea3def6d6d3ef2281b4a93cd76214f0c7d8f040aa042fe19f71f0300000000ffffffffa2709be556cf6ecaa5ef530df9e4d056d0ed57ce96de55a5b1f369fa40d4e74a020000000700006a51635365c426be3f02af57850500000000026363fd8f590500000000055153ac53632dfb14b3", "52006351", 1, -763226778, "f2b472c43f1a619df3abb4a83654a3f5cef07418868169ba7fd8139d69bb7914"], - ["76179a8e03bec40747ad65ab0f8a21bc0d125b5c3c17ad5565556d5cb03ade7c83b4f32d98030000000151ffffffff99b900504e0c02b97a65e24f3ad8435dfa54e3c368f4e654803b756d011d24150200000003ac5353617a04ac61bb6cf697cfa4726657ba35ed0031432da8c0ffb252a190278830f9bd54f0320100000006656551005153c8e8fc8803677c77020000000007ac6553535253ac70f442030000000001535be0f20200000000026300bf46cb3a", "6a52", 1, -58495673, "35e94b3776a6729d20aa2f3ddeeb06d3aad1c14cc4cde52fd21a4efc212ea16c"], - ["75ae53c2042f7546223ce5d5f9e00a968ddc68d52e8932ef2013fa40ce4e8c6ed0b6195cde01000000056563ac630079da0452c20697382e3dba6f4fc300da5f52e95a9dca379bb792907db872ba751b8024ee0300000009655151536500005163ffffffffe091b6d43f51ff00eff0ccfbc99b72d3aff208e0f44b44dfa5e1c7322cfc0c5f0100000006520000536363ffffffff7e96c3b83443260ac5cfd18258574fbc4225c630d3950df812bf51dceaeb0f9103000000065365655165639a6bf70b01b3e14305000000000563530063ac00000000", "630000ac", 2, 982422189, "ee4ea49d2aae0dbba05f0b9785172da54408eb1ec67d36759ff7ed25bfc28766"], - ["1cdfa01e01e1b8078e9c2b0ca5082249bd18fdb8b629ead659adedf9a0dd5a04031871ba1202000000075253515365656affffffff011e28430200000000076a5363636aac52b2febd4a", "acac63656300", 0, 387396350, "299dcaac2bdaa627eba0dfd74767ee6c6f27c9200b49da8ff6270b1041669e7e"], - ["cc28c1810113dfa6f0fcd9c7d9c9a30fb6f1d774356abeb527a8651f24f4e6b25cf763c4e00300000002636affffffff02dfc60500000000000700536363510052afd569030000000003535265f6c90d99", "006551acacac", 0, 1299280838, "de88653f77e3b6549285fc4fb791acf57e99943fa4e4589a05fa03dba27b877f"], - ["ca816e7802cd43d66b9374cd9bf99a8da09402d69c688d8dcc5283ace8f147e1672b757e020200000003516a5240fb06c95c922342279fcd88ba6cd915933e320d7becac03192e0941e0345b79223e89570300000004005151ac353ecb5d0264dfbd010000000003ac6aacd5d70001000000000752ac53ac6a5151ec257f71", "63ac", 1, 774695685, "c10f1c008fcc3db006822d9d3f66518d3cd96a1a08c79cd3557dfdd676a25f45"], - ["b42b955303942fedd7dc77bbd9040aa0de858afa100f399d63c7f167b7986d6c2377f66a7403000000066aac00525100ffffffff0577d04b64880425a3174055f94191031ad6b4ca6f34f6da9be7c3411d8b51fc000000000300526a6391e1cf0f22e45ef1c44298523b516b3e1249df153590f592fcb5c5fc432dc66f3b57cb03000000046a6aac65ffffffff0393a6c9000000000004516a65aca674ac0400000000046a525352c82c370000000000030053538e577f89", "", 1, -1237094944, "566953eb806d40a9fb684d46c1bf8c69dea86273424d562bd407b9461c8509af"], - ["92c9fe210201e781b72554a0ed5e22507fb02434ddbaa69aff6e74ea8bad656071f1923f3f02000000056a63ac6a514470cef985ba83dcb8eee2044807bedbf0d983ae21286421506ae276142359c8c6a34d68020000000863ac63525265006aa796dd0102ca3f9d0500000000050052535353cd5c83010000000007ac00525252005322ac75ee", "5165", 0, 97879971, "ddeff6de8056dbdbf2c0b921543d8a0c2fa3a4156968a6204ffb1f1c94c1bc9c"], - ["ccca1d5b01e40fe2c6b3ee24c660252134601dab785b8f55bd6201ffaf2fddc7b3e2192325030000000365535100496d4703b4b66603000000000665535253ac633013240000000000015212d2a502000000000851ac636353636a5337b82426", "0052", 0, -1691630172, "2588673ffa4397bfdd505127331f3ef08912aaedae468f013809b93e32456ac2"], - ["bc1a7a3c01691e2d0c4266136f12e391422f93655c71831d90935fbda7e840e50770c61da20000000007635253ac516353ffffffff031f32aa020000000003636563786dbc0200000000003e950f00000000000563516a655184b8a1de", "51536a", 0, -1627072905, "730bc25699b46703d7718fd5f5c34c4b5f00f594a9968ddc247fa7d5175124ed"], - ["076d209e02d904a6c40713c7225d23e7c25d4133c3c3477828f98c7d6dbd68744023dbb66b03000000065300536565acffffffff10975f1b8db8861ca94c8cc7c7cff086ddcd83e10b5fffd4fc8f2bdb03f9463c0100000000ffffffff029dff76010000000006526365530051a3be6004000000000000000000", "515253ac65acacac", 1, -1207502445, "66c488603b2bc53f0d22994a1f0f66fb2958203102eba30fe1d37b27a55de7a5"], - ["690fd1f80476db1f9eebe91317f2f130a60cbc1f4feadd9d6474d438e9cb7f91e4994600af0300000003536a63a15ce9fa6622d0c4171d895b42bff884dc6e8a7452f827fdc68a29c3c88e6fdee364eaf5000000000152ffffffff022dc39d3c0956b24d7f410b1e387859e7a72955f45d6ffb1e884d77888d18fe0300000005ac6a63656afffffffff10b06bce1800f5c49153d24748fdefb0bf514c12863247d1042d56018c3e25c03000000086a63ac6365536a52ffffffff031f162f0500000000050000655265ffbcd40500000000045151ac001a9c8c05000000000652ac53656a6300000000", "ac5163acac", 0, -67986012, "631c2af46a073eefd20c20a532d88d4b20ed13fe82548f89d6604f45b843bb15"], - ["49ac2af00216c0307a29e83aa5de19770e6b20845de329290bd69cf0e0db7aed61ae41b39002000000035163ac8b2558ef84635bfc59635150e90b61fc753d34acfd10d97531043053e229cd720133cd95000000000463516a51ffffffff02458471040000000006636a51ac0065545aa80000000000096a6553516a5263ac6a00000000", "515263005363", 1, 1449668540, "87567ef198b654c923fa489e8f058e5c584a5a3c01d76b29ee494d2301583cf9"], - ["fa4d868b024b010bd5dce46576c2fb489aa60bb797dac3c72a4836f49812c5c564c258414f03000000007a9b3a585e05027bdd89edbadf3c85ac61f8c3a04c773fa746517ae600ff1a9d6b6c02fb0200000003515163ffffffff01b17d020500000000046a65520000000000", "53656565635363", 0, -1718953372, "96c2b32f0a00a5925db7ba72d0b5d39922f30ea0f7443b22bc1b734808513c47"], - ["cac6382d0462375e83b67c7a86c922b569a7473bfced67f17afd96c3cd2d896cf113febf9e0300000003006a53ffffffffaa4913b7eae6821487dd3ca43a514e94dcbbf350f8cc4cafff9c1a88720711b800000000096a6a525300acac6353ffffffff184fc4109c34ea27014cc2c1536ef7ed1821951797a7141ddacdd6e429fae6ff01000000055251655200ffffffff9e7b79b4e6836e290d7b489ead931cba65d1030ccc06f20bd4ca46a40195b33c030000000008f6bc8304a09a2704000000000563655353511dbc73050000000000cf34c500000000000091f76e000000000006520000005100d07208cb", "0063656a", 2, -1488731031, "75f88c4a66ba5b54534fbb87f5127e2557750e44c418450ca083d16c78237122"], - ["1711146502c1a0b82eaa7893976fefe0fb758c3f0e560447cef6e1bde11e42de91a125f71c030000000015bd8c04703b4030496c7461482481f290c623be3e76ad23d57a955807c9e851aaaa20270300000000d04abaf20326dcb7030000000001632225350400000000075263ac00520063dddad9020000000000af23d148", "52520053510063", 0, 1852122830, "e33d5ee08c0f3c130a44d7ce29606450271b676f4a80c52ab9ffab00cecf67f8"], - ["8d5b124d0231fbfc640c706ddb1d57bb49a18ba8ca0e1101e32c7e6e65a0d4c7971d93ea360100000006acac0000ac65ffffffff8fe0fd7696597b845c079c3e7b87d4a44110c445a330d70342a5501955e17dd70100000003525363ef22e8a90346629f030000000009516a00ac63acac51657bd57b05000000000200acfd4288050000000006ac535200636300000000", "53ac52655365", 0, 1253152975, "8f0605526d02765e387a2514228dea36ce6cf56afe17c37980b07bdf8b7e7115"], - ["38146dc502c7430e92b6708e9e107b61cd38e5e773d9395e5c8ad8986e7e4c03ee1c1e1e760100000000c8962ce2ac1bb3b1285c0b9ba07f4d2e5ce87c738c42ac0548cd8cec1100e6928cd6b0b6010000000563636a52527cccefbd04e5f6f8020000000005006aacac65ab2c4a00000000000351635209a6f40100000000026aacce57dc0400000000065353516a516a00000000", "", 0, -1205978252, "c5d7082c3cf2ba8677fafb850fedf2aff1691ab8690e6b342330b151afd1dda0"], - ["22d81c740469695a6a83a9a4824f77ecff8804d020df23713990afce2b72591ed7de98500502000000065352526a6a6affffffff90dc85e118379b1005d7bbc7d2b8b0bab104dad7eaa49ff5bead892f17d8c3ba01000000056565630051ffffffff965193879e1d5628b52005d8560a35a2ba57a7f19201a4045b7cbab85133311d0200000003ac005348af21a13f9b4e0ad90ed20bf84e4740c8a9d7129632590349afc03799414b76fd6e826200000000025353ffffffff04a0d40d04000000000060702700000000000652655151516ad31f1502000000000365ac0069a1ac050000000008510065530053525100000000", "51636a52ac", 0, -1644680765, "add7f5da27262f13da6a1e2cc2feafdc809bd66a67fb8ae2a6f5e6be95373b6f"], - ["a27dcbc801e3475174a183586082e0914c314bc9d79d1570f29b54591e5e0dff07fbb45a7f0000000003ac5351ffffffff027347f502000000000453535163d0e5c9030000000007ac656a635152007cd632ed", "ac63636553", 0, -686435306, "895c2c8c653393c9f9b953816f1294d4b5b7941e42b7ae3157ae48480cf93dbe"], - ["b123ed2204410d4e8aaaa8cdb95234ca86dad9ff77fb4ae0fd4c06ebed36794f0215ede0040100000002ac63ffffffff3b58b81b19b90d8f402701389b238c3a84ff9ba9aeea298bbf15b41a6766d27a01000000046a655300151824d401786153b819831fb15926ff1944ea7b03d884935a8bde01ed069d5fd80220310200000000ffffffffa9c9d246f1eb8b7b382a9032b55567e9a93f86c77f4e32c092aa1738f7f756c3010000000165ffffffff011a2b48000000000000ed44d1fb", "63005163", 2, -1118263883, "b5dab912bcabedff5f63f6dd395fc2cf030d83eb4dd28214baba68a45b4bfff0"], - ["1339051503e196f730955c5a39acd6ed28dec89b4dadc3f7c79b203b344511270e5747fa9900000000045151636affffffff378c6090e08a3895cedf1d25453bbe955a274657172491fd2887ed5c9aceca7b0100000000ffffffffcf7cc3c36ddf9d4749edfa9cefed496d2f86e870deb814bfcd3b5637a5496461030000000451006300ffffffff04dcf3fa010000000007526a63005263acb41d84040000000003ac5153800eff020000000005656a535365106c5e00000000000000000000", "ac5300", 2, 2013719928, "5de3e11871729fc147fa6530bb5f50e17a5015034b680c722e8c9a4e81b671dd"], - ["0728c606014c1fd6005ccf878196ba71a54e86cc8c53d6db500c3cc0ac369a26fac6fcbc21000000000453ac5365ba9668290182d7870100000000066a000053655100000000", "65", 0, 1789961588, "ab6baa6da3b2bc853868d166f8996ad31d63ef981179f9104f49968fd61c8427"], - ["a1134397034bf4067b6c81c581e2b73fb63835a08819ba24e4e92df73074bf773c94577df7000000000465525251ffffffff8b6608feaa3c1f35f49c6330a769716fa01c5c6f6e0cdc2eb10dfc99bbc21e77010000000952656aac005352655180a0bda4bc72002c2ea8262e26e03391536ec36867258cab968a6fd6ec7523b64fa1d8c001000000056a53ac6353ffffffff04dbeeed05000000000453650052cd5d0e0100000000026351104b2e0500000000066aac53ac5165283ca701000000000353525200000000", "515151516552", 1, -324598676, "6c9fb41040b5e3af0590f6982d177c48f5f47ec2030f98073445cd91f672d3d5"], - ["bcdafbae04aa18eb75855aeb1f5124f30044741351b33794254a80070940cb10552fa4fa8e0300000001acd0423fe6e3f3f88ae606f2e8cfab7a5ef87caa2a8f0401765ff9a47d718afcfb40c0099b0000000007ac656553ac6aac645308009d680202d600e492b31ee0ab77c7c5883ebad5065f1ce87e4dfe6453e54023a0010000000151ffffffffb9d818b14245899e1d440152827c95268a676f14c3389fc47f5a11a7b38b1bde03000000026300ffffffff03cda22102000000000751ac535263005100a4d20400000000045200536ac8bef405000000000500516563ac00000000", "6553516a526a", 1, -2111409753, "b9e5621e89a8dd0c8a418db4cbe6b5950db3cffb9e211e882c53f38566cc8002"], - ["ed3bb93802ddbd08cb030ef60a2247f715a0226de390c9c1a81d52e83f8674879065b5f87d03000000026552ffffffff04d2c5e60a21fb6da8de20bf206db43b720e2a24ce26779bca25584c3f765d1e0200000005656a6aac006e946ded025a811d04000000000751ac6352ac005143cfa3030000000005635200636a00000000", "5352ac650065535300", 1, -668727133, "e9995065e1fddef72a796eef5274de62012249660dc9d233a4f24e02a2979c87"], - ["59f4629d030fa5d115c33e8d55a79ea3cba8c209821f979ed0e285299a9c72a73c5bba00150200000002636affffffffd8aca2176df3f7a96d0dc4ee3d24e6cecde1582323eec2ebef9a11f8162f17ac00000000056565ac6553ffffffffeebc10af4f99c7a21cbc1d1074bd9f0ee032482a71800f44f26ee67491208e0403000000065352ac656351ffffffff0434e955040000000003515152caf2b305000000000365ac007b1473030000000002530033da970500000000060051536a5253bb08ab51", "", 2, 396340944, "c8fd48ce40676668a083c80e6deea3db48fd54dde8c8299f1428f1ac9a358bed"], - ["286e3eb7043902bae5173ac3b39b44c5950bc363f474386a50b98c7bdab26f98dc83449c4a020000000752ac6a00510051ffffffff4339cd6a07f5a5a2cb5815e5845da70300f5c7833788363bf7fe67595d3225520100000000fffffffff9c2dd8b06ad910365ffdee1a966f124378a2b8021065c8764f6138bb1e9513802000000045153ac6affffffff0370202aba7a68df85436ea7c945139513384ef391fa33d16020420b8ad40e9a0000000007005165526353acffffffff020c1907000000000003ac526a1b490b040000000000df1528f7", "5353", 3, -1407529517, "71a48b2592d7571ccbac9a8d792889cbe17ebc09d7fa2d44baecdd812093d4ce"], - ["2e245cf80179e2e95cd1b34995c2aff49fe4519cd7cee93ad7587f7f7e8105fc2dff206cd30200000008006a63516a655352350435a201d5ed2d020000000002526558552c89", "0053", 0, -233917810, "3928fe71d4d3d96864b32b177ac1af449266829feacc820aec14d301bfdc0333"], - ["33a98004029d262f951881b20a8d746c8c707ea802cd2c8b02a33b7e907c58699f97e42be80100000006ac53536552acdee04cc01d205fd8a3687fdf265b064d42ab38046d76c736aad8865ca210824b7c622ecf02000000070065006a536a6affffffff01431c5d010000000000270d48ee", "", 1, 921554116, "ff9d7394002f3f196ea25472ea6c46f753bd879a7244795157bb7235c9322902"], - ["aac18f2b02b144ed481557c53f2146ae523f24fcde40f3445ab0193b6b276c315dc2894d2300000000075165650000636a233526947dbffc76aec7db1e1baa6868ad4799c76e14794dcbaaec9e713a83967f6a65170200000003ac655127d518be01b652a30000000000015300000000", "52ac5353", 1, 1559377136, "59fc2959bb7bb24576cc8a237961ed95bbb900679d94da6567734c4390cb6ef5"], - ["5ab79881033555b65fe58c928883f70ce7057426fbdd5c67d7260da0fe8b1b9e6a2674cb850300000009ac516aac6aac006a6affffffffa5be9223b43c2b1a4d120b5c5b6ec0484f637952a3252181d0f8e813e76e11580200000000e4b5ceb8118cb77215bbeedc9a076a4d087bb9cd1473ea32368b71daeeeacc451ec209010000000005acac5153aced7dc34e02bc5d11030000000005ac5363006a5418580300000000045200636a00000000", "5100", 1, 1927062711, "e7c0e71008397a8e6ca596d1439a0b8434142c532ee912052f7c364a1b258af3"], - ["6c2c8fac0124b0b7d4b610c3c5b91dee32b7c927ac71abdf2d008990ca1ac40de0dfd530660300000004ac5253656bd7eada01d847ec000000000004ac52006af4232ec8", "6a6a6a0051", 0, -340809707, "fb51eb9d7e47d32ff2086205214f90c7c139e08c257a64829ae4d2b301071c6a"], - ["6e3880af031735a0059c0bb5180574a7dcc88e522c8b56746d130f8d45a52184045f96793e0100000007acac6a526a6553fffffffffe05f14cdef7d12a9169ec0fd37524b5fcd3295f73f48ca35a36e671da4a2f560000000007006a526a635163ffffffffdfbd869ac9e472640a84caf28bdd82e8c6797f42d03b99817a705a24fde2736600000000010090a090a503db956b04000000000752ac536a536a63358390010000000009656a5200525153ac65353ee204000000000663530052526aa6ad83fb", "5351516300", 2, 222014018, "57a34ddeb1bf36d28c7294dda0432e9228a9c9e5cc5c692db98b6ed2e218d825"], - ["8df1cd19027db4240718dcaf70cdee33b26ea3dece49ae6917331a028c85c5a1fb7ee3e4750200000007656a00510063636157988bc84d8d55a8ba93cdea001b9bf9d0fa65b5db42be6084b5b1e1556f3602f65d4d0100000004ac000052206c852902b2fb54030000000008ac5252536aacac5378c4a5050000000006acac535163532784439e", "ac6a", 0, 1105620132, "0ff3d774137adecc3c0cf90888944050ca9d9e7940ca65f3c3b3fd93bdcc153b"], - ["0e803682024f79337b25c98f276d412bc27e56a300aa422c42994004790cee213008ff1b8303000000080051ac65ac655165f421a331892b19a44c9f88413d057fea03c3c4a6c7de4911fe6fe79cf2e9b3b10184b1910200000005525163630096cb1c670398277204000000000253acf7d5d502000000000863536a6a636a5363381092020000000002ac6a911ccf32", "6565", 1, -1492094009, "13e7129bfe4915b7aac2f46970b42a22864128b29985c527bce333de6490252d"], - ["7d71669d03022f9dd90edac323cde9e56354c6804c6b8e687e9ae699f46805aafb8bcaa636000000000153ffffffff698a5fdd3d7f2b8b000c68333e4dd58fa8045b3e2f689b889beeb3156cecdb4903000000065253530051acc53f0aa821cdd69b473ec6e6cf45cf9b38996e1c8f52c27878a01ec8bb02e8cb31ad24e5000000000453530052ffffffff0447a23401000000000365535133aaa0030000000006515163656563057d110300000000056a6aacac52cf13b5000000000003526a5100000000", "6a6a51", 1, -1349253507, "a86f24204949bed01f885373e045b2b6419a2cd78606025a296b29076d3f072b"], - ["9ff618e60136f8e6bb7eabaaac7d6e2535f5fba95854be6d2726f986eaa9537cb283c701ff02000000026a65ffffffff012d1c090500000000076500ac6a516a652f9ad240", "51515253635351ac", 0, 1571304387, "6083b26d56c3bcb1f7e297d8ecf25aa9a344be79731fabac28fb9e70dc1d0af7"], - ["9fbd43ac025e1462ecd10b1a9182a8e0c542f6d1089322a41822ab94361e214ed7e1dfdd8a020000000263519d0437581538e8e0b6aea765beff5b4f3a4a202fca6e5d19b34c141078c6688f71ba5b8e0100000003ac6552ffffffff02077774050000000008655153655263ac6a0ae4e10100000000035152524c97136b", "635152", 0, 1969622955, "9401df7836c71e2b66bf7b9d185eb019a6d4e14a6dfcde3f4e2561a69b0a5a4f"], - ["0117c92004314b84ed228fc11e2999e657f953b6de3b233331b5f0d0cf40d5cc149b93c7b30300000005515263516a083e8af1bd540e54bf5b309d36ba80ed361d77bbf4a1805c7aa73667ad9df4f97e2da4100200000004006351524d04f2179455e794b2fcb3d214670001c885f0802e4b5e015ed13a917514a7618f5f332203000000076a536a51000063ecf029e65a4a009a5d67796c9f1eb358b0d4bd2620c8ad7330fb98f5a802ab92d0038b1002000000036a6551a184a88804b044900000000000086a5152535165526a33d1ab020000000001518e92320000000000002913df04000000000852ac6353525353ac8b19bfdf", "0000510000", 0, 489433059, "676ee365c8d71b7cc0fee1c6cddbcea8b3d4801907967892b7cd540f51dbdbc7"], - ["e7f5482903f98f0299e0984b361efb2fddcd9979869102281e705d3001a9d283fe9f3f3a1e02000000025365ffffffffcc5c7fe82feebad32a22715fc30bc584efc9cd9cadd57e5bc4b6a265547e676e0000000000579d21235bc2281e08bf5e7f8f64d3afb552839b9aa5c77cf762ba2366fffd7ebb74e4940000000004526363633df82cf40100982e05000000000453ac535300000000", "acac", 2, -1362931214, "046de666545330e50d53083eb78c9336416902f9b96c77cc8d8e543da6dfc7e4"], - ["09adb2e90175ca0e816326ae2dce7750c1b27941b16f6278023dbc294632ab97977852a09d030000000365006affffffff027739cf010000000005515163ac658a5bb601000000000653ac5151520011313cdc", "ac", 0, -76831756, "0adbc09696f17422eada9c7a29968dc3675e45e2ce3eca3db3d2a397a7b91d1e"], - ["f973867602e30f857855cd0364b5bbb894c049f44abbfd661d7ae5dbfeaafca89fac8959c2010000000452536a51ffffffffbeceb68a4715f99ba50e131884d8d20f4a179313691150adf0ebf29d05f877030300000005635200ac63ffffffff021fddb90000000000036a656322a177000000000008526500ac5100acac84839083", "52ac53ac", 0, 1407879325, "db0329439490efc64b7104d6d009b03fbc6fac597cf54fd786fbbb5fd73b92b4"], - ["fd22ebaa03bd588ad16795bea7d4aa7f7d48df163d75ea3afebe7017ce2f350f6a0c1cb0bb00000000076aac5153526363ffffffff488e0bb22e26a565d77ba07178d17d8f85702630ee665ec35d152fa05af3bda10200000003515163ffffffffeb21035849e85ad84b2805e1069a91bb36c425dc9c212d9bae50a95b6bfde12003000000005df262fd02b698480400000000076363636a6363ace23bf2010000000007655263635253534348c1da", "006353526563516a00", 0, -1491036196, "7810715dcb7dddf5a7b3d07d600ab6b783f5ffe9b798de359e30318ed219b0b9"], - ["130b462d01dd49fac019dc4442d0fb54eaa6b1c2d1ad0197590b7df26969a67abd7f3fbb4f0100000006ac65ac536563ffffffff0345f825000000000004ac53acac9d5816020000000000eff8e90500000000076a006552ac6a53a892dc55", "0065ac530052", 0, 944483412, "42e985a31427d6d955e3d1a6fd0b90bfc9813123184a0c52870be30b1514249b"], - ["f8e50c2604609be2a95f6d0f31553081f4e1a49a0a30777fe51eb1c596c1a9a92c053cf28c0300000009656a51ac5252630052fffffffff792ed0132ae2bd2f11d4a2aab9d0c4fbdf9a66d9ae2dc4108afccdc14d2b17001000000066a6563ac636a7bfb2fa116122b539dd6a2ab089f88f3bc5923e5050c8262c112ff9ce0a3cd51c6e3e84f02000000066551ac5352650d5e687ddf4cc9a497087cabecf74d236aa4fc3081c3f67b6d323cba795e10e7a171b725000000000752635351635100ffffffff02df5409020000000007ac6a53ac5151004156990200000000045163655200000000", "ac53ac65005300", 0, -173065000, "3b2e2a9eda4604ceaf2f624c4337e5e129bef26fa7d57ae3dced4d489b5558bc"], - ["18020dd1017f149eec65b2ec23300d8df0a7dd64fc8558b36907723c03cd1ba672bbb0f51d0300000003656a63ffffffff037cd7ae000000000008516a65005352ac65f1e4360400000000056353530053f118f0040000000007536363006500ac00000000", "6351ac52ac", 0, -550412404, "9cf6941ac66b36b66470096e1531c2ee48f52a989eab3113ff6603fb21d2c65d"], - ["b04154610363fdade55ceb6942d5e5a723323863b48a0cb04fdcf56210717955763f56b08d0300000009ac526a525151635151ffffffff93a176e76151a9eabdd7af00ef2af72f9e7af5ecb0aa4d45d00618f394cdd03c030000000074d818b332ebe05dc24c44d776cf9d275c61f471cc01efce12fd5a16464157f1842c65cb00000000066a0000ac6352d3c4134f01d8a1c0030000000005520000005200000000", "5200656a656351", 2, -9757957, "6e3e5ba77f760b6b5b5557b13043f1262418f3dd2ce7f0298b012811fc8ad5bc"], - ["9794b3ce033df7b1e32db62d2f0906b589eacdacf5743963dc2255b6b9a6cba211fadd0d4102000000050000650065ffffffffaae00687a6a4131152bbcaafedfaed461c86754b0bde39e2bef720e6d1860a0302000000070065516aac6552ffffffff50e4ef784d6230df7486e972e8918d919f005025bc2d9aacba130f58bed705670300000006526552656a52ffffffff02c6f1a9000000000006005251006363cf450c04000000000563510053ac00000000", "ac0063515353", 1, 2063905082, "e2f8dafd539773d4777e616143bcbccd472ce098b4a101cd49683425e5c3f93c"], - ["94533db7015e70e8df715066efa69dbb9c3a42ff733367c18c22ff070392f988f3b93920820000000006535363636300ce4dac3e03169af80300000000080065ac6a53ac65ac39c050020000000004ac6aacac708a02050000000005ac5251520000000000", "6553", 0, -360458507, "08fe618910ff2d1c270d96f9d1cb1c68e8b1ab1f5d26ad9388fbf8b1f58dfc2d"], - ["c8597ada04f59836f06c224a2640b79f3a8a7b41ef3efa2602592ddda38e7597da6c639fee0300000008005251635351acacffffffff4c518f347ee694884b9d4072c9e916b1a1f0a7fc74a1c90c63fdf8e5a185b6ae02000000007113af55afb41af7518ea6146786c7c726641c68c8829a52925e8d4afd07d8945f68e72303000000050065650063ffffffffc28e46d7598312c420e11dfaae12add68b4d85adb182ae5b28f8340185394b63000000000165ffffffff04dbabb7010000000000ee2f600000000000065265006a51acb62a27000000000009ac53515300ac006a6345fb7505000000000752516a0051636a00000000", "", 3, 15199787, "cd4f3268df778f8fb132366883781b308f267771d118024b629cec0a0685c7f8"], - ["1a28c4f702c8efaad96d879b38ec65c5283b5c084b819ad7db1c086e85e32446c7818dc7a90300000008656351536a525165fa78cef86c982f1aac9c5eb8b707aee8366f74574c8f42ef240599c955ef4401cf578be30200000001518893292204c430eb0100000000016503138a0300000000030053ac60e0eb01000000000452520063567c2d03000000000252006cf81e85", "51525152", 1, 2118315905, "23f71f7ecb680b47b6d6bd60112a2508b984ed08264369b80adefa8bcec2371c"], - ["c6c7a87003f772bcae9f3a0ac5e499000b68703e1804b9ddc3e73099663564d53ddc4e1c6e01000000076a536a6aac63636e3102122f4c30056ef8711a6bf11f641ddfa6984c25ac38c3b3e286e74e839198a80a34010000000165867195cd425821dfa2f279cb1390029834c06f018b1e6af73823c867bf3a0524d1d6923b0300000003ac5365ffffffff02fa4c49010000000007656a0052650053e001100400000000008836d972", "ac526351ac", 1, 978122815, "04a7e4200829e5191788b8fdbda836c7bd3882108a5928e9c392b12bf63a63c6"], - ["0ea580ac04c9495ab6af3b8d59108bb4194fcb9af90b3511c83f7bb046d87aedbf8423218e02000000075152acac0063639063d7dc25704e0caa5edde1c6f2dd137ded379ff597e055b2977b9c559b07a7134fcef2000000000200aca89e50181f86e9854ae3b453f239e2847cf67300fff802707c8e3867ae421df69274449402000000026365ffffffff47a4760c881a4d7e51c69b69977707bd2fb3bcdc300f0efc61f5840e1ac72cee0000000000ffffffff0460179a0200000000025352a5250c0500000000076565acac6365526c281e02000000000952635100ac006563654e55070400000000046552526500000000", "526563acac53", 2, 1426964167, "01d5b9ace8a53b2dbe73087b6d3e036f3c63d68e1c1ffccfeee38343d1a9ebc0"], - ["c33028b301d5093e1e8397270d75a0b009b2a6509a01861061ab022ca122a6ba935b8513320200000000ffffffff013bcf5a0500000000015200000000", "", 0, -513413204, "6b1459536f51482f5dbf42d7e561896557461e1e3b6bf67871e2b51faae2832c"], - ["43b2727901a7dd06dd2abf690a1ccedc0b0739cb551200796669d9a25f24f71d8d101379f50300000000ffffffff0418e031040000000000863d770000000000085352ac526563ac5174929e040000000004ac65ac00ec31ac0100000000036a515300000000", "65", 0, -492874289, "80a102bb4b5936218b262722a40f3df2b092689d36b54641a8a07a0629559d04"], - ["4763ed4401c3e6ab204bed280528e84d5288f9cac5fb8a2e7bd699c7b98d4df4ac0c40e55303000000056a6aac5165ffffffff015b57f80400000000046a63535100000000", "ac5153", 0, -592611747, "849033a2321b5755e56ef4527ae6f51e30e3bca50149d5707368479723d744f8"], - ["d24f647b02f71708a880e6819a1dc929c1a50b16447e158f8ff62f9ccd644e0ca3c592593702000000050053536a00ffffffff67868cd5414b6ca792030b18d649de5450a456407242b296d936bcf3db79e07b02000000005af6319c016022f50100000000036a516300000000", "6a526353516a6a", 0, 1350782301, "8556fe52d1d0782361dc28baaf8774b13f3ce5ed486ae0f124b665111e08e3e3"], - ["fe6ddf3a02657e42a7496ef170b4a8caf245b925b91c7840fd28e4a22c03cb459cb498b8d603000000065263656a650071ce6bf8d905106f9f1faf6488164f3decac65bf3c5afe1dcee20e6bc3cb6d052561985a030000000163295b117601343dbb0000000000026563dba521df", "", 1, -1696179931, "d9684685c99ce48f398fb467a91a1a59629a850c429046fb3071f1fa9a5fe816"], - ["c61523ef0129bb3952533cbf22ed797fa2088f307837dd0be1849f20decf709cf98c6f032f03000000026563c0f1d378044338310400000000066363516a5165a14fcb0400000000085163536a6a0053657271d60200000000001d953f0500000000010000000000", "53516353005153", 0, 1141615707, "c9baf4ad5cb4d9487325e0560015ade3aaa5862caad30a578bf1b1e1201c5a15"], - ["ba3dac6c0182562b0a26d475fe1e36315f0913b6869bdad0ecf21f1339a5fcbccd32056c840200000000ffffffff04300351050000000000220ed405000000000751ac636565ac53dbbd19020000000007636363ac6a52acbb005a0500000000016abd0c78a8", "63006a635151005352", 0, 1359658828, "32ebab9ecff27e8eb1cd55b2f99c5a1358ab2770b967bb3b204cabf4f694dc06"], - ["ac27e7f5025fc877d1d99f7fc18dd4cadbafa50e34e1676748cc89c202f93abf36ed46362101000000026300ffffffff958cd5381962b765e14d87fc9524d751e4752dd66471f973ed38b9d562e525620100000003006500ffffffff02b67120050000000004ac51516adc330c0300000000015200000000", "656352", 1, 15049991, "f3374253d64ac264055bdbcc32e27426416bd595b7c7915936c70f839e504010"], - ["edb30140029182b80c8c3255b888f7c7f061c4174d1db45879dca98c9aab8c8fed647a6ffc03000000076a535100526300ffffffff82f65f261db62d517362c886c429c8fbbea250bcaad93356be6f86ba573e9d930100000000ffffffff04daaf150400000000016a86d1300100000000096a6353535252ac5165d4ddaf0000000000005f1c6201000000000000000000", "6a6a00ac", 0, -2058017816, "8c92ba3a1c12176fde460f5c6e64a8051ac9a7cf3227205f4f12abf455792743"], - ["7e50207303146d1f7ad62843ae8017737a698498d4b9118c7a89bb02e8370307fa4fada41d000000000753006300005152b7afefc85674b1104ba33ef2bf37c6ed26316badbc0b4aa6cb8b00722da4f82ff3555a6c020000000900ac656363ac51ac52ffffffff93fab89973bd322c5d7ad7e2b929315453e5f7ada3072a36d8e33ca8bebee6e0020000000200ac930da52b04384b04000000000004650052ac435e380200000000066a6a5152636aa94947050000000005006a525252af8ba90100000000086565ac526353536a279b17ad", "acac005263536aac63", 1, -34754133, "2ca4ef0aa28999eda6806954e067800103f8afd4d441bca5de983d90ef25a4be"], - ["c05764f40244fb4ebe4c54f2c5298c7c798aa90e62c29709acca0b4c2c6ec08430b26167440100000007ac6a6565005253ffffffffc02c2418f398318e7f34a3cf669d034eef2111ea95b9f0978b01493293293a870100000000e563e2e00238ee8d040000000001ac03fb060200000000076500ac656a516aa37f5534", "526a0065", 1, -2033176648, "60f9b69157ab40d2cc46ed69a66f5d0092f3d66e60518cd8f66b5a5410e35b93"], - ["5a59e0b9040654a3596d6dab8146462363cd6549898c26e2476b1f6ae42915f73fd9aedfda00000000026363ffffffff9ac9e9ca90be0187be2214251ff08ba118e6bf5e2fd1ba55229d24e50a510d53010000000165ffffffff41d42d799ac4104644969937522873c0834cc2fcdab7cdbecd84d213c0e96fd60000000000ffffffffd838db2c1a4f30e2eaa7876ef778470f8729fcf258ad228b388df2488709f8410300000000fdf2ace002ceb6d903000000000265654c1310040000000003ac00657e91c0ec", "536a63ac", 0, 82144555, "98ccde2dc14d14f5d8b1eeea5364bd18fc84560fec2fcea8de4d88b49c00695e"], - ["156ebc8202065d0b114984ee98c097600c75c859bfee13af75dc93f57c313a877efb09f230010000000463536a51ffffffff81114e8a697be3ead948b43b5005770dd87ffb1d5ccd4089fa6c8b33d3029e9c03000000066a5251656351ffffffff01a87f140000000000050000ac51ac00000000", "00", 0, -362221092, "a903c84d8c5e71134d1ab6dc1e21ac307c4c1a32c90c90f556f257b8a0ec1bf5"], - ["15e37793023c7cbf46e073428908fce0331e49550f2a42b92468827852693f0532a01c29f70200000007005353636351acffffffff38426d9cec036f00eb56ec1dcd193647e56a7577278417b8a86a78ac53199bc403000000056353006a53ffffffff04a25ce1030000000008005365656a526a63c8eff7030000000004526353537ab6db0200000000016a11a3fa02000000000551acac526500000000", "53ac6a6a6551", 0, 1117532791, "9e317a57a2e60095fcee7a1ce0e5cbb0246890ab08e768146f4c887696bc5612"], - ["f7a09f10027250fc1b70398fb5c6bffd2be9718d3da727e841a73596fdd63810c9e4520a6a010000000963ac516a636a65acac1d2e2c57ab28d311edc4f858c1663972eebc3bbc93ed774801227fda65020a7ec1965f780200000005ac5252516a8299fddc01dcbf7200000000000463ac6551960fda03", "65ac51", 1, 2017321737, "9c5fa02abfd34d0f9dec32bf3edb1089fca70016debdb41f4f54affcb13a2a2a"], - ["6d97a9a5029220e04f4ccc342d8394c751282c328bf1c132167fc05551d4ca4da4795f6d4e02000000066a0052525165ffffffff9516a205e555fa2a16b73e6db6c223a9e759a7e09c9a149a8f376c0a7233fa1b0100000005ac5163ac6affffffff04868aed04000000000652ac65ac536a396edf01000000000044386c0000000000066a5363655200894d480100000000008ebefc23", "6351526aac51", 1, 1943666485, "ac9b46f03e0858377fff5f395acf3f08702c8a41484d84a31a088ff3c19a982a"], - ["8e3fddfb028d9e566dfdda251cd874cd3ce72e9dde837f95343e90bd2a93fe21c5daeb5eed01000000045151525140517dc818181f1e7564b8b1013fd68a2f9a56bd89469686367a0e72c06be435cf99db750000000003635251ffffffff01c051780300000000066552ac6a65ac099766eb", "51636a5251", 1, 1296295812, "370f619d5471ed61c9839befe350bd7cb313cbb5306cab8d388ceb9010194061"], - ["a603f37b02a35e5f25aae73d0adc0b4b479e68a734cf722723fd4e0267a26644c36faefdab0200000000ffffffff43374ad26838bf733f8302585b0f9c22e5b8179888030de9bdda180160d770650200000001004c7309ce01379099040000000005526552536500000000", "005153", 0, 1409936559, "4ca73da4fcd5f1b10da07998706ffe16408aa5dff7cec40b52081a6514e3827e"], - ["9eeedaa8034471a3a0e3165620d1743237986f060c4434f095c226114dcb4b4ec78274729f03000000086a5365510052ac6afb505af3736e347e3f299a58b1b968fce0d78f7457f4eab69240cbc40872fd61b5bf8b120200000002ac52df8247cf979b95a4c97ecb8edf26b3833f967020cd2fb25146a70e60f82c9ee4b14e88b103000000008459e2fa0125cbcd05000000000000000000", "525352006353516a", 0, -1832576682, "fb018ae54206fdd20c83ae5873ec82b8e320a27ed0d0662db09cda8a071f9852"], - ["05921d7c048cf26f76c1219d0237c226454c2a713c18bf152acc83c8b0647a94b13477c07f0300000003ac526afffffffff2f494453afa0cabffd1ba0a626c56f90681087a5c1bd81d6adeb89184b27b7402000000036a6352ffffffff0ad10e2d3ce355481d1b215030820da411d3f571c3f15e8daf22fe15342fed04000000000095f29f7b93ff814a9836f54dc6852ec414e9c4e16a506636715f569151559100ccfec1d100000000055263656a53ffffffff04f4ffef010000000005ac6a6aac6a0e6689040000000004536a5352e364d00500000000086553636365525153807e00010000000003526a63f18003e3", "6363ac51", 3, -375891099, "bfeb34159406429091ebe4d68ec673f65e6a54798a594569964495783011645f"], - ["b9b44d9f04b9f15e787d7704e6797d51bc46382190c36d8845ec68dfd63ee64cf7a467b21e00000000086aac00530052636aba1bcb110a80c5cbe073f12c739e3b20836aa217a4507648d133a8eedd3f02cb55c132b203000000076a000063526352b1c288e3a9ff1f2da603f230b32ef7c0d402bdcf652545e2322ac01d725d75f5024048ad0100000000ffffffffffd882d963be559569c94febc0ef241801d09dc69527c9490210f098ed8203c700000000046a0063009109298d01719d9a0300000000056a52006365d7894c5b", "ac6351650063636a", 3, -622355349, "4b44026001afd9caac7b2e830fea359eec537d7fe5e4fc06d21d982f783cfca3"], - ["ff60473b02574f46d3e49814c484081d1adb9b15367ba8487291fc6714fd6e3383d5b335f001000000026a6ae0b82da3dc77e5030db23d77b58c3c20fa0b70aa7d341a0f95f3f72912165d751afd57230300000008ac536563516a6363ffffffff04f86c0200000000000453ac636ab13111000000000003510065f0d3f305000000000651516a65516a730a3a010000000002515200000000", "ac6a", 1, 1895032314, "93c76c0ef11fe28a4f36546d4281a5b26185f7ea00395dd72630d461f285370d"], - ["f218026204f4f4fc3d3bd0eada07c57b88570d544a0436ae9f8b753792c0c239810bb30fbc0200000002536affffffff8a468928d6ec4cc10aa0f73047697970e99fa64ae8a3b4dca7551deb0b639149010000000751520052650051ffffffffa98dc5df357289c9f6873d0f5afcb5b030d629e8f23aa082cf06ec9a95f3b0cf0000000000ffffffffea2c2850c5107705fd380d6f29b03f533482fd036db88739122aac9eff04e0aa010000000365536a03bd37db034ac4c4020000000007515152655200ac33b27705000000000151efb71e0000000000007b65425b", "515151", 3, -1772252043, "de35c84a58f2458c33f564b9e58bc57c3e028d629f961ad1b3c10ee020166e5a"], - ["48e7d42103b260b27577b70530d1ac2fed2551e9dd607cbcf66dca34bb8c03862cf8f5fd5401000000065151526aac00ffffffff1e3d3b841552f7c6a83ee379d9d66636836673ce0b0eda95af8f2d2523c91813030000000665acac006365ffffffff388b3c386cd8c9ef67c83f3eaddc79f1ff910342602c9152ffe8003bce51b28b0100000008636363006a636a52ffffffff04b8f67703000000000852005353ac6552520cef7202000000000551516352005096d6030000000005516a005100662582020000000001ac6c137280", "6a65", 1, 1513618429, "0f4d20fe1b05fd48b8e7f9b6b5be8b308e320356da0559e6a80e4a810ec189b6"], - ["91ebc4cf01bc1e068d958d72ee6e954b196f1d85b3faf75a521b88a78021c543a06e0562790000000001657c12df0503832121030000000000cc41a60100000000045263516540a9510500000000046365acac00000000", "526a0065636a6a6aac", 0, -614046478, "cb6e63ffc060ffe615a29ee1049f213eaebe89ab016fba01ca17cdd84275928d"], - ["3cd4474201be7a6c25403bf00ca62e2aa8f8f4f700154e1bb4d18c66f7bb7f9b975649f0dc0100000006535151535153ffffffff01febbeb000000000006005151006aac00000000", "", 0, -1674687131, "6b77ca70cc452cc89acb83b69857cda98efbfc221688fe816ef4cb4faf152f86"], - ["92fc95f00307a6b3e2572e228011b9c9ed41e58ddbaefe3b139343dbfb3b34182e9fcdc3f50200000001ac847bf1935fde8bcfe41c7dd99683289292770e7f163ad09deff0e0665ed473cd2b56b0f403000000055165516351294dab312dd87b9327ce2e95eb44b712cfae0e50fda15b07816c8282e8365b643390eaab01000000026aacffffffff016e0b6b040000000001ac00000000", "650065acac005300", 2, -1885164012, "bd7d26bb3a98fc8c90c972500618bf894cb1b4fe37bf5481ff60eef439d3b970"], - ["4db591ab018adcef5f4f3f2060e41f7829ce3a07ea41d681e8cb70a0e37685561e4767ac3b0000000004000052acd280e63601ae6ef20000000000036a636326c908f7", "ac6a51526300630052", 0, 862877446, "355ccaf30697c9c5b966e619a554d3323d7494c3ea280a9b0dfb73f953f5c1cb"], - ["503fd5ef029e1beb7b242d10032ac2768f9a1aca0b0faffe51cec24770664ec707ef7ede4f01000000045253ac53375e350cc77741b8e96eb1ce2d3ca91858c052e5f5830a0193200ae2a45b413dda31541f0000000003516553ffffffff0175a5ba0500000000015200000000", "6a6551005365", 1, 1603081205, "353ca9619ccb0210ae18b24d0e57efa7abf8e58fa6f7102738e51e8e72c9f0c4"], - ["c80abebd042cfec3f5c1958ee6970d2b4586e0abec8305e1d99eb9ee69ecc6c2cbd76374380000000007ac53006300ac510acee933b44817db79320df8094af039fd82111c7726da3b33269d3820123694d849ee5001000000046a65526562699bea8530dc916f5d61f0babea709dac578774e8a4dcd9c640ec3aceb6cb2443f24f302000000020063ea780e9e57d1e4245c1e5df19b4582f1bf704049c5654f426d783069bcc039f2d8fa659f03000000075153635200006a8d00de0b03654e8500000000000363635178ebbb0400000000045100636a239f1d030000000005006300536500000000", "6565ac515100", 3, 1460851377, "a28742f90c8b9590b7f0c7f747abb6092b4256e3d62cb67fd21884655d86a502"], - ["0337b2d5043eb6949a76d6632b8bb393efc7fe26130d7409ef248576708e2d7f9d0ced9d3102000000075352636a5163007034384dfa200f52160690fea6ce6c82a475c0ef1caf5c9e5a39f8f9ddc1c8297a5aa0eb02000000026a51ffffffff38e536298799631550f793357795d432fb2d4231f4effa183c4e2f61a816bcf0030000000463ac5300706f1cd3454344e521fde05b59b96e875c8295294da5d81d6cc7efcfe8128f150aa54d6503000000008f4a98c704c1561600000000000072cfa6000000000000e43def01000000000100cf31cc0500000000066365526a6500cbaa8e2e", "", 3, 2029506437, "7615b4a7b3be865633a31e346bc3db0bcc410502c8358a65b8127089d81b01f8"], - ["59f6cffd034733f4616a20fe19ea6aaf6abddb30b408a3a6bd86cd343ab6fe90dc58300cc90200000000ffffffffc835430a04c3882066abe7deeb0fa1fdaef035d3233460c67d9eabdb05e95e5a02000000070065ac53535300ffffffff4b9a043e89ad1b4a129c8777b0e8d87a014a0ab6a3d03e131c27337bbdcb43b402000000056a5100ac6ad9e9bf62014bb118010000000001526cbe484f", "52635265", 0, 2103515652, "4f2ccf981598639bec57f885b4c3d8ea8db445ea6e61cfd45789c69374862e5e"], - ["cbc79b10020b15d605680a24ee11d8098ad94ae5203cb6b0589e432832e20c27b72a926af2030000000565516a53acbb854f3146e55c508ece25fa3d99dbfde641a58ed88c051a8a51f3dacdffb1afb827814b02000000026352c43e6ef30302410a020000000000ff4bd9010000000005510063000008aa8e0400000000085265526565ac5365c52c8a77", "53526aac0051", 0, 202662340, "cc48e8f7f8908dfb6fd0180127067dbc8d86fb4c26462f6e8821d3d32b59eefa"], - ["7c07419202fa756d29288c57b5c2b83f3c847a807f4a9a651a3f6cd6c46034ae0aa3a7446b02000000036a6365ffffffff9da83cf4219bb96c76f2d77d5df31c1411a421171d9b59ec02e5c1218f29935403000000008c13879002f8b1ac0400000000086a63536a636553653c584f02000000000000000000", "ac53656363", 1, -1038419525, "4a74f365a161bc6c9bddd249cbd70f5dadbe3de70ef4bd745dcb6ee1cd299fbd"], - ["351cbb57021346e076d2a2889d491e9bfa28c54388c91b46ee8695874ad9aa576f1241874d02000000076563525300516affffffffe13e61b8880b8cd52be4a59e00f9723a4722ea58013ec579f5b3693b9e115b1100000000086363ac5252635351ffffffff027fee020400000000066a5200006a65b85f130200000000066a526300535200000000", "6a65", 1, 586415826, "69009f5b17ae2a8ad2b8b5fad4e3355bb3c77b93bd5c768f1782e5c95945d0c4"], - ["a8252ea903f1e8ff953adb16c1d1455a5036222c6ea98207fc21818f0ece2e1fac310f9a0100000000095163ac635363ac0000be6619e9fffcde50a0413078821283ce3340b3993ad00b59950bae7a9f931a9b0a3a035f010000000463005300b8b0583fbd6049a1715e7adacf770162811989f2be20af33f5f60f26eba653dc26b024a00000000006525351636552ffffffff046d2acc030000000002636a9a2d43050000000006006500516553ecf63204000000000052b9ed050000000007acacac5365656500000000", "6553635253636a51", 2, 1442639059, "4cbb84b6b3b1c388c2494dcc035eb308908aab1e25e0bb7b157e209c02d9d7e1"], - ["2f1a425c0471a5239068c4f38f9df135b1d24bf52d730d4461144b97ea637504495aec360801000000055300515365c71801dd1f49f376dd134a9f523e0b4ae611a4bb122d8b26de66d95203f181d09037974300000000025152ffffffff9bdcea7bc72b6e5262e242c94851e3a5bf8f314b3e5de0e389fc9e5b3eadac030000000009525265655151005153ffffffffdbb53ce99b5a2320a4e6e2d13b01e88ed885a0957d222e508e9ec8e4f83496cb0200000006635200ac63ac04c96237020cc5490100000000080000516a51ac6553074a360200000000025152225520ca", "655165ac65516a", 1, -489869549, "9bc5bb772c553831fb40abe466074e59a469154679c7dee042b8ea3001c20393"], - ["ef3acfd4024defb48def411b8f8ba2dc408dc9ee97a4e8bde4d6cb8e10280f29c98a6e8e9103000000035100513d5389e3d67e075469dfd9f204a7d16175653a149bd7851619610d7ca6eece85a516b2df0300000005516aac6552ca678bdf02f477f003000000000057e45b0300000000055252525252af35c20a", "5165ac53", 1, -1900839569, "78eb6b24365ac1edc386aa4ffd15772f601059581c8776c34f92f8a7763c9ccf"], - ["ff4468dc0108475fc8d4959a9562879ce4ab4867a419664bf6e065f17ae25043e6016c70480100000000ffffffff02133c6f0400000000000bd0a8020000000004006a520035afa4f6", "51ac65", 0, -537664660, "f6da59b9deac63e83728850ac791de61f5dfcaeed384ebcbb20e44afcd8c8910"], - ["4e8594d803b1d0a26911a2bcdd46d7cbc987b7095a763885b1a97ca9cbb747d32c5ab9aa91030000000353ac53a0cc4b215e07f1d648b6eeb5cdbe9fa32b07400aa773b9696f582cebfd9930ade067b2b2000000000400656500fc99833216b8e27a02defd9be47fafae4e4a97f52a9d2a210d08148d2a4e5d02730bcd460100000004516351ac37ce3ae1033baa55040000000006006a636a63acc63c990400000000025265eb1919030000000005656a6a516a00000000", "", 1, -75217178, "04c5ee48514cd033b82a28e336c4d051074f477ef2675ce0ce4bafe565ee9049"], - ["a88830a7023f13ed19ab14fd757358eb6af10d6520f9a54923a6d613ac4f2c11e249cda8aa030000000551630065acffffffff8f5fe0bc04a33504c4b47e3991d25118947a0261a9fa520356731eeabd561dd3020000000163ffffffff038404bd0100000000065153516a6a63d33a5601000000000263004642dc020000000009655152acac636352004be6f3af", "5253536565006a6a", 0, 1174417836, "9d5c816ab81a761d2f573c323d3ab55c9401bb001eb4ef769eed69516e4f7e6c"], - ["44e1a2b4010762af23d2027864c784e34ef322b6e24c70308a28c8f2157d90d17b99cd94a401000000085163656565006300ffffffff0198233d020000000002000000000000", "52525153656365", 0, 1119696980, "d9096de94d70c6337da6202e6e588166f31bff5d51bb5adc9468594559d65695"], - ["44ca65b901259245abd50a745037b17eb51d9ce1f41aa7056b4888285f48c6f26cb97b7a25020000000452636363ffffffff047820350400000000030053ac14f3e603000000000552635100630ce66c03000000000001bdc704000000000765650065ac51ac3e886381", "51", 0, -263340864, "42b52a07a3c088ce7ec410b81144738aa546b9d61ec6ba38372fc455ec5d623d"], - ["cfa147d2017fe84122122b4dda2f0d6318e59e60a7207a2d00737b5d89694d480a2c26324b0000000006006351526552ffffffff0456b5b804000000000600516a525363166633000000000003655363254c0e020000000007526a6a00525151097c1b020000000009656a52ac6300530065ad0d6e50", "6a535165ac6a536500", 0, -574683184, "e9ada180722bbd10682062eda7ab2e8631c6ae9e72044a958c1d28d482bd5816"], - ["91c5d5f6022fea6f230cc4ae446ce040d8313071c5ac1749c82982cc1988c94cb1738aa48503000000016a19e204f30cb45dd29e68ff4ae160da037e5fc93538e21a11b92d9dd51cf0b5efacba4dd70000000005656a6aac51ffffffff03db126905000000000853006a536563636a36a273030000000006656a52656552b03ede00000000000352516500000000", "530052526a00", 1, 1437328441, "b99434064834b3027a2c60b7cdbc92797d4d030cc43293eff99462d2807f68b6"], - ["03f20dc202c886907b607e278731ebc5d7373c348c8c66cac167560f19b341b782dfb634cb03000000056a51ac6a63ea3e8de7adb9f599c9caba95aa3fa852e947fc88ed97ee50e0a0ec0d14d164f44c0115c101000000035153516fdd679e0414edbd000000000005ac636a53512021f2040000000007006a0051536a52c73db2050000000005525265ac5369046e000000000002006a1ef7bd1e", "52656a", 0, 1360223035, "c8673f91e4ef5861be4d2f0b8cfe2bd1fcc1d5332273f95ce37b0abf70bd99c1"], - ["d9611140036881b61e01627078512bc3378386e1d4761f959d480fdb9d9710bebddba2079d020000000563536a5153819271b41e228f5b04daa1d4e72c8e1955230accd790640b81783cfc165116a9f535a74c000000000163ffffffffa2e7bb9a28e810624c251ff5ba6b0f07a356ac082048cf9f39ec036bba3d431a02000000076a000000ac65acffffffff01678a820000000000085363515153ac635100000000", "535353", 2, -82213851, "52b9e0778206af68998cbc4ebdaad5a9469e04d0a0a6cef251abfdbb74e2f031"], - ["98b3a0bf034233afdcf0df9d46ac65be84ef839e58ee9fa59f32daaa7d684b6bdac30081c60200000004636351acffffffffc71cf82ded4d1593e5825618dc1d5752ae30560ecfaa07f192731d68ea768d0f0100000006650052636563f3a2888deb5ddd161430177ce298242c1a86844619bc60ca2590d98243b5385bc52a5b8f00000000085365acac520052ac50d4722801c3b8a60300000000035165517e563b65", "51", 1, -168940690, "b6b684e2d2ecec8a8dce4ed3fc1147f8b2e45732444222aa8f52d860c2a27a9d"], - ["97be4f7702dc20b087a1fdd533c7de762a3f2867a8f439bddf0dcec9a374dfd0276f9c55cc0300000000cdfb1dbe6582499569127bda6ca4aaff02c132dc73e15dcd91d73da77e92a32a13d1a0ba020000000151ffffffff048cfbe202000000000900516351515363ac535128ce0100000000056aac53656ac84e8302000000000763536a536a6552f051230500000000066aac535153510848d813", "ac51", 0, 229541474, "e5da9a416ea883be1f8b8b2d178463633f19de3fa82ae25d44ffb531e35bdbc8"], - ["085b6e04040b5bff81e29b646f0ed4a45e05890a8d32780c49d09643e69cdccb5bd81357670100000000ffffffffa5c981fe758307648e783217e3b4349e31a557602225e237f62b636ec26df1a803000000036500524792e1da2930cc90822a8d2a0a91ea343317bce5356b6aa8aae6c3956076aa33a5351a9c0300000003ac5265e27ddbcd472a2f13325cc6be40049d53f3e266ac082172f17f6df817db1936d9ff48c02b000000000152ffffffff021aa767050000000007535363516351ac14d584000000000001aca4d136cc", "6a525300536352536a", 0, -1398925877, "d94006873aaff72211399e719839923ed37469a9560e1925684de25e21d467d4"], - ["eec32fff03c6a18b12cd7b60b7bdc2dd74a08977e53fdd756000af221228fe736bd9c42d870100000007005353ac515265ffffffff037929791a188e9980e8b9cc154ad1b0d05fb322932501698195ab5b219488fc020000000600635100656a0bfc176aa7e84f771ea3d45a6b9c24887ceea715a0ff10ede63db8f089e97d927075b4f100000000025163ffffffff02eb933c000000000000262c420000000000036563632549c2b6", "6352", 2, 1480445874, "ff8a4016dfdd918f53a45d3a1f62b12c407cd147d68ca5c92b7520e12c353ff5"], - ["98ea7eac0313d9fb03573fb2b8e718180c70ce647bebcf49b97a8403837a2556cb8c9377f30000000004ac53ac65ffffffff8caac77a5e52f0d8213ef6ce998bedbb50cfdf108954771031c0e0cd2a78423900000000010066e99a44937ebb37015be3693761078ad5c73aa73ec623ac7300b45375cc8eef36087eb80000000007515352acac5100ffffffff0114a51b02000000000000000000", "6aac", 0, 243527074, "bad77967f98941af4dd52a8517d5ad1e32307c0d511e15461e86465e1b8b5273"], - ["3ab70f4604e8fc7f9de395ec3e4c3de0d560212e84a63f8d75333b604237aa52a10da17196000000000763526a6553ac63a25de6fd66563d71471716fe59087be0dde98e969e2b359282cf11f82f14b00f1c0ac70f02000000050052516aacdffed6bb6889a13e46956f4b8af20752f10185838fd4654e3191bf49579c961f5597c36c0100000004ac636363c3a1785bae5b8a1b4be5d0cbfadc240b4f7acaa7dfed6a66e852835df5eb9ac3c553766801000000036a65630733b7530218569602000000000852006a6a6a51ac52777f06030000000006ac0063530052c08267c9", "000000536aac0000", 1, 1919096509, "3b532797b54394c9e750f26c50be78d6a87adf6de9d6f9c14cc8039436ba3c10"], - ["bdb6b4d704af0b7234ced671c04ba57421aba7ead0a117d925d7ebd6ca078ec6e7b93eea6600000000026565ffffffff3270f5ad8f46495d69b9d71d4ab0238cbf86cc4908927fbb70a71fa3043108e6010000000700516a65655152ffffffff6085a0fdc03ae8567d0562c584e8bfe13a1bd1094c518690ebcb2b7c6ce5f04502000000085251530052536a53a576a37f2c516aad9911f687fe83d0ae7983686b6269b4dd54701cb5ce9ec91f0e6828390300000000ffffffff04cc76cc020000000002656a01ffb702000000000153534610040000000008ac006565516a00521f55f5040000000000389dfee9", "6a525165", 0, 1336204763, "c54f81901c4ed1c32d9779f3a8caa26ece5fb432ecd8fc354bf1615dfa9a8f7f"], - ["54258edd017d22b274fbf0317555aaf11318affef5a5f0ae45a43d9ca4aa652c6e85f8a040010000000853ac655251656500ffffffff03321d450000000000085265526a51526a529ede8b030000000003635151ce6065020000000001534c56ec1b", "acac", 0, 2094130012, "110d90fea9470dfe6c5048f45c3af5e8cc0cb77dd58fd13d338268e1c24b1ccc"], - ["ce0d322e04f0ffc7774218b251530a7b64ebefca55c90db3d0624c0ff4b3f03f918e8cf6f60300000003656500ffffffff9cce943872da8d8af29022d0b6321af5fefc004a281d07b598b95f6dcc07b1830200000004515351ac8d926410e69d76b7e584aad1470a97b14b9c879c8b43f9a9238e52a2c2fefc2001c56af80100000003005253cd2cd1fe192ce3a93b5478af82fa250c27064df82ba416dfb0debf4f0eb307a746b6928901000000086500acac6a0063514214524502947efc0200000000035251652c40340100000000086a6a52000052656a5231c54c", "51", 2, -2090320538, "90e78966cbb949a82119d6224b7c8e01351e6a254c2754bb652474f78dbf31e8"], - ["47ac54940313430712ebb32004679d3a512242c2b33d549bf5bbc8420ec1fd0850ed50eb6d0300000008536aac6a65acac51ffffffffb843e44266ce2462f92e6bff54316661048c8c17ecb092cb493b39bfca9117850000000001519ab348c05e74ebc3f67423724a3371dd99e3bceb4f098f8860148f48ad70000313c4c223000000000653006565656512c2d8dc033f3c97010000000002636aa993aa010000000005526365526ab7cf560300000000076a0065ac6a526500000000", "0053525353006a", 2, 59531991, "dac6f5660bb1e47992c421de295c569136dd6336c0df27979854a8d5c5b253db"], - ["233cd90b043916fc41eb870c64543f0111fb31f3c486dc72457689dea58f75c16ae59e9eb2000000000500536a6a6affffffff9ae30de76be7cd57fb81220fce78d74a13b2dbcad4d023f3cadb3c9a0e45a3ce000000000965ac6353ac5165515130834512dfb293f87cb1879d8d1b20ebad9d7d3d5c3e399a291ce86a3b4d30e4e32368a9020000000453005165ffffffff26d84ae93eb58c81158c9b3c3cbc24a84614d731094f38d0eea8686dec02824d0300000004636a65acf02c784001a0bd5d0300000000080065535165ac516a416ef503", "", 1, -295106477, "a4d897e990b5815939e2e5feb548879a13fbfe1c00b4bdade5eee79aeee2e1d7"], - ["9200e26b03ff36bc4bf908143de5f97d4d02358db642bd5a8541e6ff709c420d1482d471b7000000000665536a636553ffffffff61ba6d15f5453b5079fb494af4c48de713a0c3e7f6454d7450074a2a80cb6d880300000006ac6a005165515dfb7574fbce822892c2acb5d978188b1d65f969e4fe874b08db4c791d176113272a5cc10100000000ffffffff0420958d000000000009ac63516a0063516353dd885505000000000465ac00007b79e901000000000066d8bf010000000005525252006a00000000", "ac5152", 0, 2089531339, "89ec7fab7cfe7d8d7d96956613c49dc48bf295269cfb4ea44f7333d88c170e62"], - ["45f335ba01ce2073a8b0273884eb5b48f56df474fc3dff310d9706a8ac7202cf5ac188272103000000025363ffffffff049d8595020000000002656a8e98b1030000000002ac51f3a80603000000000752535151ac00000306e30300000000020051b58b2b3a", "", 0, 1899564574, "f2ba7ad9407ff28fd063c5c8cf3dbe2053380973c9b1128092af14585456d73f"], - ["d8f652a6043b4faeada05e14b81756cd6920cfcf332e97f4086961d49232ad6ffb6bc6c097000000000453526563ffffffff1ea4d60e5e91193fbbc1a476c8785a79a4c11ec5e5d6c9950c668ceacfe07a1502000000025251fffffffffe029a374595c4edd382875a8dd3f20b9820abb3e93f877b622598d11d0b09e503000000095351000052ac515152ffffffff9d65fea491b979699ceb13caf2479cd42a354bd674ded3925e760758e85a756803000000036365acffffffff0169001d00000000000651636a65656300000000", "0063630000ac", 3, 1050965951, "4cc85cbc2863ee7dbce15490d8ca2c5ded61998257b9eeaff968fe38e9f009ae"], - ["718662be026e1dcf672869ac658fd0c87d6835cfbb34bd854c44e577d5708a7faecda96e260300000004526a636a489493073353b678549adc7640281b9cbcb225037f84007c57e55b874366bb7b0fa03bdc00000000075165ac65ac00008ab7f2a802eaa53d000000000007acac516aac526ae92f380100000000056aac00536500000000", "00", 1, 43296088, "2d642ceee910abff0af2116af75b2e117ffb7469b2f19ad8fef08f558416d8f7"], - ["94083c840288d40a6983faca876d452f7c52a07de9268ad892e70a81e150d602a773c175ad03000000007ec3637d7e1103e2e7e0c61896cbbf8d7e205b2ecc93dd0d6d7527d39cdbf6d335789f660300000000ffffffff019e1f7b03000000000800ac0051acac0053539cb363", "", 1, -183614058, "a17b66d6bb427f42653d08207a22b02353dd19ccf2c7de6a9a3a2bdb7c49c9e7"], - ["30e0d4d20493d0cd0e640b757c9c47a823120e012b3b64c9c1890f9a087ae4f2001ca22a61010000000152f8f05468303b8fcfaad1fb60534a08fe90daa79bff51675472528ebe1438b6f60e7f60c10100000008526a6551ac510053ffffffffaaab73957ea2133e32329795221ed44548a0d3a54d1cf9c96827e7cffd1706df020000000800526a005265526affffffffd19a6fe54352015bf170119742821696f64083b5f14fb5c7d1b5a721a3d7786801000000045265ac53ffffffff020f39bd0300000000036aac52049f6c05000000000352516aba5b4c60", "6a6365516a6a655253", 0, -624256405, "ab09ea40daca420b5ab385d5f120b26a8d7aa2f36831bab61dfbb90b795a04c9"], - ["f9c69d940276ec00f65f9fe08120fc89385d7350388508fd80f4a6ba2b5d4597a9e21c884f0100000002636315473ae6d82c744c07fc876ecd53bd0f3018b2dbedad77d757d5bdf3811b23d294e8c0170000000000afababe00157ede2050000000006ac6a5263635300000000", "53", 1, 606547088, "714d8b14699835b26b2f94c58b6ea4c53da3f7adf0c62ea9966b1e1758272c47"], - ["5c0ac112032d6885b7a9071d3c5f493aa16c610a4a57228b2491258c38de8302014276e8be0300000002006a17468315215262ad5c7393bb5e0c5a6429fd1911f78f6f72dafbbbb78f3149a5073e24740300000003ac5100ffffffff33c7a14a062bdea1be3c9c8e973f54ade53fe4a69dcb5ab019df5f3345050be00100000007ac63655163526a428defc0033ec36203000000000765516365536a00ae55b200000000000153f4c0080400000000095265516a536563536a00000000", "6a005151006a", 2, 272749594, "14b6f7b0c8232bd9b8b6f9e108156a0bd112324d05f8ffc2ba4bf42258700727"], - ["e3683329026720010b08d4bec0faa244f159ae10aa582252dd0f3f80046a4e145207d54d31000000000852acac52656aacac3aaf2a5017438ad6adfa3f9d05f53ebed9ceb1b10d809d507bcf75e0604254a8259fc29c02000000055352655251f926e52c04b44918030000000000f7679c0100000000090000525152005365539e3f48050000000007516500635363008396c905000000000253650591024f", "6a6365", 0, 908746924, "4613548115961a791c9d846df2c034cbd8926dd54b110590c28ae97642272e5c"], - ["48c4afb204204209e1df6805f0697edaa42c0450bbbd767941fe125b9bc40614d63d757e2203000000066a5363005152dc8b6a605a6d1088e631af3c94b8164e36e61445e2c60130292d81dabd30d15f54b355a802000000036a6353ffffffff1d05dcec4f3dedcfd02c042ce5d230587ee92cb22b52b1e59863f3717df2362f0300000005536552ac52ffffffffd4d71c4f0a7d53ba47bb0289ca79b1e33d4c569c1e951dd611fc9c9c1ca8bc6c030000000665536a6551acffffffff042f9aa905000000000753655153656351ab93d8010000000002655337440e0300000000005d4c690000000000015278587acb", "006565526a51", 0, 1502064227, "bbed77ff0f808aa8abd946ba9e7ec1ddb003a969fa223dee0af779643cb841a9"], - ["00b20fd104dd59705b84d67441019fa26c4c3dec5fd3b50eca1aa549e750ef9ddb774dcabe000000000651ac656aac65ffffffff52d4246f2db568fc9eea143e4d260c698a319f0d0670f84c9c83341204fde48b0200000000ffffffffb8aeabb85d3bcbc67b132f1fd815b451ea12dcf7fc169c1bc2e2cf433eb6777a03000000076a51ac6a6563acd510d209f413da2cf036a31b0def1e4dcd8115abf2e511afbcccb5ddf41d9702f28c52900100000005ac526a0065ffffffff039c827600000000000753655200656a52401561010000000002ac0082b716010000000002510000000000", "535265", 1, -947367579, "6c7f57a4e9c03c95bf22236d912ac8cba66c6dbebdc61fea5a736fd8d3150b34"], - ["455131860220abbaa72015519090a666faf137a0febce7edd49da1eada41feab1505a0028b02000000026365453ead4225724eb69beb590f2ec56a7693a608871e0ab0c34f5e96157f90e0a96148f3c50200000007525151535163acffffffff022d1249040000000008ac00acac6565630088b310040000000000e3920e59", "51526a52ac5152", 0, 294375737, "8036634b1978c37820ea253bac2bde46c68fc6f699c7d796b2cc74ffc68f4048"], - ["624d28cb02c8747915e9af2b13c79b417eb34d2fa2a73547897770ace08c6dd9de528848d303000000035163533c69d3f9b75b6ef8ed2df50c2210fd0bf4e889c42477d58682f711cbaece1a626194bb85030000000665ac53ac5353ffffffff018cc280040000000007acac52636352ac6859409e", "ac51ac", 1, 1005144875, "4bf229cf09d584f00136a80f077426a5c9e02ab4c4e93c637a602e7c04e18422"], - ["8f28471d02f7d41b2e70e9b4c804f2d90d23fb24d53426fa746bcdcfffea864925bdeabe3e0200000001acffffffff76d1d35d04db0e64d65810c808fe40168f8d1f2143902a1cc551034fd193be0e0000000001acffffffff048a5565000000000005005151516afafb610400000000045263ac53648bb30500000000086363516a6a5165513245de01000000000000000000", "6a0053510053", 1, -1525137460, "305fc8ff5dc04ebd9b6448b03c9a3d945a11567206c8d5214666b30ec6d0d6cc"], - ["10ec50d7046b8b40e4222a3c6449490ebe41513aad2eca7848284a08f3069f3352c2a9954f0000000009526aac656352acac53ffffffff0d979f236155aa972472d43ee6f8ce22a2d052c740f10b59211454ff22cb7fd00200000005acacac6353ffffffffbbf97ebde8969b35725b2e240092a986a2cbfd58de48c4475fe077bdd493a20c0100000003635365ffffffff4600722d33b8dba300d3ad037bcfc6038b1db8abfe8008a15a1de2da2264007302000000035351ac6dbdafaf020d0ccf040000000004636a516ae06e5e0200000000016a00000000", "", 0, -1658960232, "31ac6b02930185c2b025b67605227023f52e7d196e000ce4c3d3f288eb058736"], - ["fef98b7101bf99277b08a6eff17d08f3fcb862e20e13138a77d66fba55d54f26304143e536010000000451536500ffffffff04265965030000000004655252ace2c775010000000001002b23b4040000000006516a515353ac456a7a00000000000653525251acacba521291", "526aacac0053", 0, -1614097109, "85a6b1c783a3abd470a79967d90684d50a88d87255203b4ecdb431cd63ebb59e"], - ["34a2b8830253661b373b519546552a2c3bff7414ea0060df183b1052683d78d8f54e842442000000000152ffffffffd961a8e34cf374151058dfcddc86509b33832bc57267c63489f69ff01199697c0300000001acba856cfb01b17c2f050000000007515365ac53000000000000", "5263656a", 1, -2104480987, "fcb05b2af9c06cfb378f999fd7a82f96fd352e9146b9b65ec513ef1ce658b5de"], - ["43559290038f32fda86580dd8a4bc4422db88dd22a626b8bd4f10f1c9dd325c8dc49bf479f01000000026351ffffffff401339530e1ed3ffe996578a17c3ec9d6fccb0723dd63e7b3f39e2c44b976b7b03000000056a65656a51ffffffff6fb9ba041c96b886482009f56c09c22e7b0d33091f2ac5418d05708951816ce7000000000551ac525100ffffffff020921e40500000000035365533986f40500000000016a00000000", "52ac51", 0, 1769771809, "02040283ef2291d8e1f79bb71bdabe7c1546c40d7ed615c375643000a8b9600d"], - ["6878a6bd02e7e1c8082d5e3ee1b746cfebfac9e8b97e61caa9e0759d8a8ecb3743e36a30de0100000001532a911b0f12b73e0071f5d50b6bdaf783f4b9a6ce90ec0cad9eecca27d5abae188241ddec0200000001651c7758d803f7457b0500000000036551515f4e90000000000001007022080200000000035365acc86b6946", "6351", 0, -1929374995, "f24be499c58295f3a07f5f1c6e5084496ae160450bd61fdb2934e615289448f1"], - ["35b6fc06047ebad04783a5167ab5fc9878a00c4eb5e7d70ef297c33d5abd5137a2dea9912402000000036aacacffffffff21dc291763419a584bdb3ed4f6f8c60b218aaa5b99784e4ba8acfec04993e50c03000000046a00ac6affffffff69e04d77e4b662a82db71a68dd72ef0af48ca5bebdcb40f5edf0caf591bb41020200000000b5db78a16d93f5f24d7d932f93a29bb4b784febd0cbb1943f90216dc80bba15a0567684b000000000653525100006a1be2208a02f6bdc1030000000001658550ea04000000000365636a00000000", "", 0, -1114114836, "b653c54899c1d7497161b934958797b83611a717c18e7076c1e0a486f99000a3"], - ["bebb90c302bf91fd4501d33555a5fc5f2e1be281d9b7743680979b65c3c919108cc2f51751010000000100ffffffff969c30053f1276550532d0aa33cfe80ca63758cd215b740448a9c08a84826f33030000000465655153ffffffff04bf6f2a040000000003655265903e760100000000026a6a7103fa020000000006526553525365b05b2c000000000005000000535300000000", "5151005363635153", 1, 1081291172, "1e3c0518129698cd9542227f0a141d180187a468da6d575584b9dfe34feb4a59"], - ["af48319f031b4eeb4319714a285f44244f283cbff30dcb9275b06f2348ccd0d7f015b54f8500000000066363ac65ac6affffffff2560a9817ebbc738ad01d0c9b9cf657b8f9179b1a7f073eb0b67517409d108180200000004ac636552ffffffff0bdd67cd4ecae96249a2e2a96db1490ee645f042fd9d5579de945e22b799f4d00300000006655251515300cf187c8202e51abf0300000000056552006a00adf37d000000000004ac6a535100000000", "6365", 1, -1855554446, "acc4b39abbf3bd4b380ecb631c19d96cc8f35909b1ea39940a489b3f7345dfa5"], - ["f35befbc03faf8c25cc4bc0b92f6239f477e663b44b83065c9cb7cf231243032cf367ce313000000000465526a517c4c334149a9c9edc39e29276a4b3ffbbab337de7908ea6f88af331228bd90086a6900ba020000000151279d19950d2fe81979b72ce3a33c6d82ebb92f9a2e164b6471ac857f3bbd3c0ea213b54201000000085351635363520065052657c20300a9ba04000000000452636a6a0516ea020000000006535253656365cfdd3f01000000000865ac516aac00530000000000", "", 2, -99793521, "836e9ba82c036ca806ca9834d4655b5251580678942db8e1cc6f55d783dd16bd"], - ["d3da18520216601acf885414538ce2fb4d910997eeb91582cac42eb6982c9381589587794f0300000000fffffffff1b1c9880356852e10cf41c02e928748dd8fae2e988be4e1c4cb32d0bfaea6f70000000002656affffffff02fb0d69050000000000eda8580500000000085163526565ac52522b913c95", "ac", 1, -1247973017, "90bb0762c3c7bf0f1b42531960d66aa6b25e0728201644208cd7ba0436e9cd21"], - ["8218eb740229c695c252e3630fc6257c42624f974bc856b7af8208df643a6c520ef681bfd00000000002510066f30f270a09b2b420e274c14d07430008e7886ec621ba45665057120afce58befca9601030000000352515384c380a9015d96100000000000076a5300acac526500000000", "ac005263", 0, -1855679695, "5071f8acf96aea41c7518bd1b5b6bbe16258b529df0c03f9e374b83c66b742c6"], - ["1123e7010240310013c74e5def60d8e14dd67aedff5a57d07a24abc84d933483431b8cf8ea0300000003530051fc6775ff1a23c627a2e605dd2560e84e27f4208300071e90f4589e762ad9c9fe8d0da95e020000000465655200ffffffff0425159803000000000265639d28d90400000000096563636aacac525153474df801000000000851525165ac51006a75e23b040000000000e5bd3a4a", "6363636565", 0, -467124448, "3c45916684a1c22866830167fc842ba0fbae2c392b5bae051bbb9701dcd6991a"], - ["fd92fe1003083c5179f97e77bf7d71975788138147adbdb283306802e261c0aee080fa22630200000000860c643ba9a1816b9badf36077b4554d11720e284e395a1121bc45279e148b2064c65e490200000005516a53636a2c713088d20f4bc4001264d972cce05b9fe004dc33376ad24d0d013e417b91a5f1b6734e000000000100ffffffff02e3064c0500000000066552006a5165b86e87050000000004656553522052eadb", "0053525265", 0, 776203277, "8dd13496ffc9c6e1e1c45e57fbfa8db9c2677c06bf2879596a9bcd59f3e689c4"], - ["d1b6a703038f14d41fcc5cc45455faa135a5322be4bf0f5cbcd526578fc270a236cacb853f0200000000ffffffff135aeff902fa38f202ccf5bd34437ff89c9dc57a028b62447a0a38579383e8ef0000000000ffffffffadf398d2c818d0b90bc474f540c3618a4a643482eeab73d36101987e2ec0335900000000004bd3323504e69fc10000000000055151535251790ada020000000003636a521337a704000000000863ac63acac52656a1e9862010000000006656500ac516a8f4ee672", "5251656565ac63", 2, 82008394, "e272326c1171e26a32634c315442f72b827fbf54e3f0d7ca538345fa56433001"], - ["81dadaa7011556683db3fe95262f4fdb20391b7e75b7ffcee51b176af64d83c06f85545d620200000003515152ffffffff044805ef0300000000065353516352639702c8020000000008005163515152525270db08040000000007ac516a526553ac4aabc905000000000863650052636a525100000000", "65656a5152", 0, -2126294159, "f95803b90493138c22df24e9ef1e25213a6670bdb10952a7e5c9400c63a6fd7f"], - ["3b937e05032b8895d2f4945cb7e3679be2fbd15311e2414f4184706dbfc0558cf7de7b4d000000000001638b91a12668a3c3ce349788c961c26aa893c862f1e630f18d80e7843686b6e1e6fc39631000000000075263535365ac51eeb09dd1c9605391258ee6f74b9ae17b5e8c2ef010dc721c5433dcdc6e93a1593e3b6d1700000000085365ac6553526351ffffffff0308b18e04000000000253acb6dd00040000000008536aac5153ac516ab0a88201000000000500ac006500804e3ff2", "", 0, 416167343, "595a3c02254564634e8085283ec4ea7c23808da97ce9c5da7aecd7b553e7fd7f"], - ["a48f27ca047997470da74c8ee086ddad82f36d9c22e790bd6f8603ee6e27ad4d3174ea875403000000075153ac636a6aacffffffffefc936294e468d2c9a99e09909ba599978a8c0891ad47dc00ba424761627cef202000000056a51630053ffffffff304cae7ed2d3dbb4f2fbd679da442aed06221ffda9aee460a28ceec5a9399f4e0200000000f5bddf82c9c25fc29c5729274c1ff0b43934303e5f595ce86316fc66ad263b96ca46ab8d0100000003536500d7cf226b0146b00c04000000000200ac5c2014ce", "515100636563", 0, 1991799059, "9c051a7092fe17fa62b1720bc2c4cb2ffc1527d9fb0b006d2e142bb8fe07bf3c"], - ["180cd53101c5074cf0b7f089d139e837fe49932791f73fa2342bd823c6df6a2f72fe6dba1303000000066a6a63ac53acffffffff03853bc1020000000007ac526a6a6a6a003c4a8903000000000453515163a0fbbd030000000004656a5253253d64cf", "ac65", 0, -1548453970, "1a7d5d2203376199149277a670ea07038886f5e93bc51971504299cf52f3beeb"], - ["c21ec8b60376c47e057f2c71caa90269888d0ffd5c46a471649144a920d0b409e56f190b700000000008acac6a526a536365ffffffff5d315d9da8bf643a9ba11299450b1f87272e6030fdb0c8adc04e6c1bfc87de9a0000000000ea43a9a142e5830c96b0ce827663af36b23b0277244658f8f606e95384574b91750b8e940000000007516a63ac0063acffffffff023c61be04000000000451655263313cc8020000000006006a53526551ed8c3d56", "6a", 1, 1160627414, "3c09d5f69578e89bf1a43f3cf1d6fae5546b7610f0e2b92a2ffd51c80c643651"], - ["128cd90f04b66a4cbc78bf48748f6eec0f08d5193ee8d0a6f2e8d3e5f138ed12c2c87d01a3010000000652006aac0000ffffffff09fc88bb1851e3dfb3d30179c38e15aeb1b39929c7c74f6acd071994ed4806490300000000e7fc5ea12ec56f56c0d758ecf4bb88aa95f3b08176b336db3b9bec2f6e27336dce28adbe030000000400530051fffffffffd6ff1adcf1fbe0d883451ee46904f1b7e8820243d395559b2d4ee8190a6e891000000000080fb1ae702f85b4000000000000252008d96510100000000046a52536a00000000", "", 1, 1667598199, "508b078076335e06265e101fb2ae0342b50d0a5e4ef83a36f2275e671f4b7861"], - ["da9695a403493d3511c10e1fe1286f954db0366b7667c91ef18ae4578056c1bf752114ac5901000000035351519788d91dd1f9c62dc005d80ea54eb13f7131ca5aace3d5d29f9b58ccc5fbc9a27e779950010000000453ac6a00ffffffffe2556ff29ebe83eb42a32c7a8d93bc598043578f491b5935805a33608538845a03000000015265d21b3b018f26c4030000000005ac51535352e1cbcb10", "00656552", 2, -1550927794, "9739b2f481f15e49de50adbcfea6eb0a375f0463b80243f701ad1ecbcb7097cc"], - ["b240517501334021240427adb0b413433641555424f6d24647211e3e6bfbb22a8045cbda2f000000000071bac8630112717802000000000000000000", "6a5165ac52656551", 0, 1790414254, "2c8be597620d95abd88f9c1cf4967c1ae3ca2309f3afec8928058c9598660e9e"], - ["96bac43903044a199b4b3efeeec5d196ee23fb05495541fa2cd6fb6405a9432d1723363660010000000151ffffffffe6ce2b66ce1488918a3e880bebb0e750123f007c7bcbac8fcd67ce75cb6fbae80300000000ffffffff9c0955aa07f506455834895c0c56be5a095398f47c62a3d431fe125b161d666a0200000004520000ac7ffdbc540216f2f004000000000165a26dce01000000000000000000", "5151656a656a6a63", 0, -707123065, "ae31ab7a63ae73db083c6bcfa34c9950dd808d3bc2d16520a4890bb912d68b20"], - ["b8fd394001ed255f49ad491fecc990b7f38688e9c837ccbc7714ddbbf5404f42524e68c18f00000000056353535363081e15ee02706f7d050000000008515200535351526364c7ec040000000005636a53acac9206cbe1", "655352ac", 0, -1251578838, "8e0697d8cd8a9ccea837fd798cc6c5ed29f6fbd1892ee9bcb6c944772778af19"], - ["e42a76740264677829e30ed610864160c7f97232c16528fe5610fc08814b21c34eefcea69d010000000653006a6a0052ffffffff647046cf44f217d040e6a8ff3f295312ab4dd5a0df231c66968ad1c6d8f4428000000000025352ffffffff0199a7f900000000000000000000", "655263006a005163", 1, 1122505713, "7cda43f1ff9191c646c56a4e29b1a8c6cb3f7b331da6883ef2f0480a515d0861"], - ["0f034f32027a8e094119443aa9cfe11737c6d7dda9a52b839bc073dcc0235b847b28e0fab60200000006ac53ac536a63eee63447dfdad80476994b68706e916df1bd9d7cb4f3a4f6b14369de84564bea2e8688bd030000000565636a65acf8434663020b35fe01000000000500655163acb3d6a103000000000253ac345eeda0", "526a51ac6351", 1, 66020215, "73d7cf5a5b0449e84d7e615f41e9b6bc6103501e4ddc5a30567210e5db7dcc2e"], - ["a2dfa4690214c1ab25331815a5128f143219de51a47abdc7ce2d367e683eeb93960a31af9f010000000363636affffffff8be0628abb1861b078fcc19c236bc4cc726fa49068b88ad170adb2a97862e7460200000004ac655363ffffffff0441f11103000000000153dbab0c00000000000753ac5365526a63abbb9505000000000352516a29a029040000000003ac526a00000000", "6a52ac63", 1, -1302210567, "7c8fb6b3d954f0c45ec0b69eb0d4ba4d99cf7ffcf5fceebbd8cde447277fc2d1"], - ["9dbc591f04521670af83fb3bb591c5d4da99206f5d38e020289f7db95414390dddbbeb56680100000004ac5100acffffffffb6a40b5e29d5e459f8e72d39f800089529f0889006cad3d734011991da8ef09d0100000008526a5100ac536a515fc427436df97cc51dc8497642ffc868857ee245314d28b356bd70adba671bd6071301fc0000000000ffffffff487efde2f620566a9b017b2e6e6d42525e4070f73a602f85c6dfd58304518db30000000005516353006a8d8090180244904a0200000000046a65656ab1e9c20300000000025163a06a5449", "", 0, -1414953913, "a9b488fdd04166a822a49cbaaacc9f77a1547d59b7be98b00c58869fa2a68950"], - ["1345fb2c04bb21a35ae33a3f9f295bece34650308a9d8984a989dfe4c977790b0c21ff9a7f0000000006ac52ac6a0053ffffffff7baee9e8717d81d375a43b691e91579be53875350dfe23ba0058ea950029fcb7020000000453536352ffffffff684b6b3828dfb4c8a92043b49b8cb15dd3a7c98b978da1d314dce5b9570dadd2020000000763536a5200ac63d1a8647bf667ceb2eae7ec75569ca249fbfd5d1b582acfbd7e1fcf5886121fca699c011d0100000003ac006affffffff049b1eb00300000000001e46dc01000000000700656a6a630065ca95b40300000000030051520c84990100000000056aac526a6500000000", "53526aac636300", 2, 1809978100, "e3f19b8a9d68424900b66628b381b44553bbc96d1ea2efe5df99f1b350585c14"], - ["7d75dc8f011e5f9f7313ba6aedef8dbe10d0a471aca88bbfc0c4a448ce424a2c5580cda15603000000025152ffffffff01997f8e0200000000096552ac6a65656563530d93bbcc", "00656a6563", 0, 1414485913, "ec91eda1149f75bffb97612569a78855498c5d5386d473752a2c81454f297fa7"], - ["1459179504b69f01c066e8ade5e124c748ae5652566b34ed673eea38568c483a5a4c4836ca0100000008ac5352006563656affffffff5d4e037880ab1975ce95ea378d2874dcd49d5e01e1cdbfae3343a01f383fa35800000000095251ac52ac6aac6500ffffffff7de3ae7d97373b7f2aeb4c55137b5e947b2d5fb325e892530cb589bc4f92abd503000000076563ac53520052ffffffffb4db36a32d6e543ef49f4bafde46053cb85b2a6c4f0e19fa0860d9083901a119030000000251531bbcfe5504a6dbda040000000007536a5365ac6500d660c803000000000765656a53536a6a54e84e010000000003acac52df2ccf0500000000025351220c857e", "", 2, 1879181631, "41542fb175286b4b6afeedfadc4769744936e8d1db843d89ffd3a34007ae0288"], - ["d98b777f04b1b3f4de16b07a05c31d79965579d0edda05600c118908d7cf642c9cd670093f020000000853005351ac655363a268caad6733b7d1718008997f249e1375eb3ab9fe68ab0fe170d8e745ea24f54ce67f9b00000000066500516a5151ffffffff7ef8040dfcc86a0651f5907e8bfd1017c940f51cf8d57e3d3fe78d57e40b1e610200000003535263ffffffff39846cfed4babc098ff465256ba3820c30d710581316afcb67cd31c623b703360300000001acffffffff03d405120100000000056300006a5201a73d050000000003636a6a294c8c000000000006ac65536553ac00000000", "63525351ac", 1, 2018694761, "852549bc8f55c4ece6a503d89a17298debf8cd783759e44a1be5a6171763e745"], - ["cabb1b06045a895e6dcfc0c1e971e94130c46feace286759f69a16d298c8b0f6fd0afef8f20300000004ac006352ffffffffa299f5edac903072bfb7d29b663c1dd1345c2a33546a508ba5cf17aab911234602000000056a65515365ffffffff89a20dc2ee0524b361231092a070ace03343b162e7162479c96b757739c8394a030000000092ec524daf73fabee63f95c1b79fa8b84e92d0e8bac57295e1d0adc55dc7af5534ebea410200000001534d70e79b04674f6f00000000000400ac53517d60cc020000000002526596c51d040000000004ac6300ac62a787050000000007006a51656363639e2e7ff7", "6551ac6351ac", 3, 1942663262, "4ddabfc3da0e90138887c2801ac7ec9cbdef5ed9816f29887523bf020d4bfbb7"], - ["8b96d7a30132f6005b5bd33ea82aa325e2bcb441f46f63b5fca159ac7094499f380f6b7e2e00000000066aacac6300acffffffff0158056700000000000465005100c319e6d0", "52006a", 0, -1100733473, "fb4bd26a91b5cf225dd3f170eb09bad0eac314bc1e74503cc2a3f376833f183e"], - ["112191b7013cfbe18a175eaf09af7a43cbac2c396f3695bbe050e1e5f4250603056d60910e02000000001c8a5bba03738a22010000000005525352656a77a149010000000002510003b52302000000000351ac52722be8e6", "65ac6565", 0, -1847972737, "8e795aeef18f510d117dfa2b9f4a2bd2e2847a343205276cedd2ba14548fd63f"], - ["ce6e1a9e04b4c746318424705ea69517e5e0343357d131ad55d071562d0b6ebfedafd6cb840100000003656553ffffffff67bd2fa78e2f52d9f8900c58b84c27ef9d7679f67a0a6f78645ce61b883fb8de000000000100d699a56b9861d99be2838e8504884af4d30b909b1911639dd0c5ad47c557a0773155d4d303000000036a5151ffffffff9fdb84b77c326921a8266854f7bbd5a71305b54385e747fe41af8a397e78b7fa010000000763acac6a5100ac0d2e9b9d049b8173010000000007ac53526a650063ba9b7e010000000008526a00525263acac0ab3fd030000000000ea8a0303000000000200aca61a97b9", "", 1, -1276952681, "b6ed4a3721be3c3c7305a5128c9d418efa58e419580cec0d83f133a93e3a22c5"], - ["a7721d94021652d90c79aaf5022d98219337d50f836382403ed313adb1116ba507ac28b0b0010000000451ac630089e6d64a7aa81fb9595368f04d1b36d7020e7adf5807535c80d015f994cce29554fe869b01000000055353636500ffffffff024944c90100000000046300635369df9f01000000000000000000", "656a536551", 0, -1740151687, "935892c6f02948f3b08bcd463b6acb769b02c1912be4450126768b055e8f183a"], - ["2f7353dd02e395b0a4d16da0f7472db618857cd3de5b9e2789232952a9b154d249102245fd030000000151617fd88f103280b85b0a198198e438e7cab1a4c92ba58409709997cc7a65a619eb9eec3c0200000002636affffffff0397481c0200000000045300636a0dc97803000000000009d389030000000003ac6a53134007bb", "0000536552526a", 0, -1912746174, "30c4cd4bd6b291f7e9489cc4b4440a083f93a7664ea1f93e77a9597dab8ded9c"], - ["7d95473604fd5267d0e1bb8c9b8be06d7e83ff18ad597e7a568a0aa033fa5b4e1e2b6f1007020000000465006a6affffffffaee008503bfc5708bd557c7e78d2eab4878216a9f19daa87555f175490c40aaf000000000163ffffffffabd74f0cff6e7ceb9acc2ee25e65af1abcebb50c08306e6c78fa8171c37613dd010000000352acacffffffff54a3069393f7930fa1b331cdff0cb945ec21c11d4605d8eedba1d3e094c6ae1f01000000026300ffffffff0182edeb0500000000085263535153530065a247e8cd", "51516a00", 2, -426210430, "2707ca714af09494bb4cf0794abe33c6cba5f29891d619e76070269d1fa8e690"], - ["221d4718023d9ca9fe1af178dbfce02b2b369bf823ea3f43f00891b7fef98e215c06b94fdd000000000851005153000051acffffffffb1c7ad1c64b7441bf5e70cd0f6eb4ec96821d67fc4997d9e6dfdceadecd36dde01000000070051536a635153ffffffff04e883cd000000000006515365530052bbb2f70400000000002f1b2e03000000000165259fcb00000000000010dbde99", "", 1, 665721280, "ab45dd7ce573d4a55464be1c324c5485ecf7c817480fb3ee3d976b19876a0f2f"], - ["6f66c0b3013e6ae6aabae9382a4326df31c981eac169b6bc4f746edaa7fc1f8c796ef4e3740000000004656aac6affffffff0191c8d6030000000002525300000000", "6a5352516a635352", 0, -1299629906, "48411efeb133c6b7fec4e7bdbe613f827093cb06ea0dbcc2ffcfde3a9ac4356c"], - ["89e7928c04363cb520eff4465251fd8e41550cbd0d2cdf18c456a0be3d634382abcfd4a2130200000006ac516a6a656355042a796061ed72db52ae47d1607b1ceef6ca6aea3b7eea48e7e02429f382b378c4e5190100000006535163525252ffffffff53631cbda79b40183000d6ede011c778f70147dc6fa1aed3395d4ce9f7a8e69701000000076a655352516a52ad0de418d80afe059aab5da73237e0beb60af4ac490c3394c12d66665d1bac13bdf29aa8000000000153f2b59ab6027a33eb040000000007005351ac5100ac88b9410300000000020052e1e8a143", "63656a", 0, 1258533326, "b89f9cf9604e0521dd869431abdf535560a869a08b826cedf1828253d47d42cb"], - ["ca356e2004bea08ec2dd2df203dc275765dc3f6073f55c46513a588a7abcc4cbde2ff011c7020000000553525100003aefec4860ef5d6c1c6be93e13bd2d2a40c6fb7361694136a7620b020ecbaca9413bcd2a030000000965ac00536352535100ace4289e00e97caaea741f2b89c1143060011a1f93090dc230bee3f05e34fbd8d8b6c399010000000365526affffffff48fc444238bda7a757cb6a98cb89fb44338829d3e24e46a60a36d4e24ba05d9002000000026a53ffffffff03d70b440200000000056a6a526aac853c97010000000002515335552202000000000351635300000000", "0052", 3, -528192467, "fc93cc056c70d5e033933d730965f36ad81ef64f1762e57f0bc5506c5b507e24"], - ["82d4fa65017958d53e562fac073df233ab154bd0cf6e5a18f57f4badea8200b217975e31030200000003636a51ac0891a204227cc9050000000006635200655365bfef8802000000000865650051635252acfc2d0905000000000565ac51516380195e030000000007ac52525352510063d50572", "53", 0, -713567171, "e0ee0c224184730c9cc8ee7ccb0399ff8809c28fd9d7050bccb1a32509a3f9e7"], - ["75f6949503e0e47dd70426ef32002d6cdb564a45abedc1575425a18a8828bf385fa8e808e600000000016a82f9fd14e9647d7a1b5284e6c55169c8bd228a7ea335987cef0195841e83da45ec28aa2e0300000002516350dc6fe239d150efdb1b51aa288fe85f9b9f741c72956c11d9dcd176889963d699abd63f0000000000429a63f502777d20010000000006ac52ac516a53d081d9020000000003acac630c3cc3a8", "535152516551510000", 1, 973814968, "c8e60a5984b57ddc3f0ed4d767e3e9d0e6c37143de7501da29ad8c3d4dee83d8"], - ["24f24cd90132b2162f938f1c22d3ca5e7daa83515883f31a61a5177aebf99d7db6bdfc398c010000000163ffffffff01d5562d0100000000016300000000", "5265ac5165ac5252", 0, 1055129103, "5eeb03e03806cd7bfd44bbba69c30f84c2c5120df9e68cd8facc605fcfbc9693"], - ["5ff2cac201423064a4d87a96b88f1669b33adddc6fa9acdc840c0d8a243671e0e6de49a5b00300000005ac6353655353b91db50180db5a03000000000663535151006a047a3aff", "52515365005163", 0, -1336626596, "b8db8d57fe40ab3a99cf2f8ed57da7a65050fcc1d34d4280e25faf10108d3110"], - ["10011f150220ad76a50ccc7bb1a015eda0ff987e64cd447f84b0afb8dc3060bdae5b36a6900200000000ffffffff1e92dd814dfafa830187bc8e5b9258de2445ec07b02c420ee5181d0b203bb334000000000465536a65ffffffff0124e6540100000000060063655353ac00000000", "530051", 0, 440222748, "4614dcf172fd2db5bc0d1d0fe4d87a15d9b2928cc43480e58c6b802cf7a07b35"], - ["8b95ec900456648d820a9b8df1d8f816db647df8a8dc9f6e7151ebf6079d90ee3f6861352a0200000007520000ac535151ffffffff039b10b845f961225ac0bcaac4f5fe1991029a051aa3d06a3811b5762977a67403000000025252ffffffff8559d65f40d5e261f45aec8aad3d2c56c6114b22b26f7ee54a06f0881be3a7f5010000000765635252536363ffffffff38f8b003b50f6412feb2322b06b270197f81ad69c36af02ca5008b94eee5f650020000000165ffffffff01ae2b00010000000001638eb153a2", "00535300ac53", 2, 1266056769, "205f3653f0142b35ce3ef39625442efebae98cde8cbf0516b97b51073bb0479f"], - ["babbb7ea01ab5d584727cb44393b17cf66521606dc81e25d85273be0d57bad43e8f6b6d43501000000036a656aba83a68803fb0f4a000000000004536353633fcfe4020000000008ac00ac6351006a65182a0c03000000000453ac5363bee74f44", "536a6a6a6365ac51", 0, -799187625, "a33a95d143903529e1cc345b93fe150e0f1f1d4f3fcc6ea7a0252ddbf145920b"], - ["e86a24bc03e4fae784cdf81b24d120348cb5e52d937cd9055402fdba7e43281e482e77a1c100000000046363006affffffffa5447e9bdcdab22bd20d88b19795d4c8fb263fbbf7ce8f4f9a85f865953a6325020000000663ac53535253ffffffff9f8b693bc84e0101fc73748e0513a8cecdc264270d8a4ee1a1b6717607ee1eaa00000000026a513417bf980158d82c020000000009005253005351acac5200000000", "6353516365536a6a", 2, -563792735, "508129278ef07b43112ac32faf00170ad38a500eed97615a860fd58baaad174b"], - ["53bd749603798ed78798ef0f1861b498fc61dcee2ee0f2b37cddb115b118e73bc6a5a47a0201000000086a63656a6a6a000007ff674a0d74f8b4be9d2e8e654840e99d533263adbdd0cf083fa1d5dd38e44d2d163d9001000000055251ac6a51c8b6b63f744a9b9273ccfdd47ceb05d3be6400c1ed0f7283d32b34a7f4f0889cccf06be30000000008516a52636551516a9ac1fe63030c677e05000000000027bc610000000000086565636a635100526e2dc60200000000015300000000", "6552536a515351", 1, -1617066878, "fe516df92299e995b8e6489be824c6839543071ec5e9286060b2600935bf1f20"], - ["691bf9fc028ca3099020b79184e70039cf53b3c7b3fe695d661fd62d7b433e65feda2150610000000002ac63ffffffff2c814c15b142bc944192bddccb90a392cd05b968b599c1d8cd99a55a28a243fd01000000075300526a5200ac98516a5803dfd3540500000000046552ac5228381201000000000300536a4409a903000000000665636a5300658759621b", "65ac5165", 0, -359941441, "2b6be40583884c063bfc2a1689ad08ee203b17d4bdeddbd730d456647e004b4b"], - ["536bc5e60232eb60954587667d6bcdd19a49048d67a027383cc0c2a29a48b960dc38c5a0370300000004ac636300ffffffff8f1cfc102f39b1c9348a2195d496e602c77d9f57e0769dabde7eaaedf9c69e250100000004ac6a6351ffffffff0432f56f0400000000046a5365517fd54b0400000000035265539484e4050000000003536a5376dc25020000000006ac536a6a536ab978e686", "ac0051006a006a006a", 0, -273074082, "3c6eaba993d523ffc97ed430692390b8c12ad830feed85073d67462b7e749e09"], - ["74606eba01c2f98b86c29ba5a32dc7a7807c2abe6ed8d89435b3da875d87c12ae05329e6070200000003510052ffffffff02a1e2c4020000000006516563526a63c68bae04000000000752636300006363fe19ae4f", "63acac5365", 0, 112323400, "dd5092e9ba0db3db222a3f7fed4c4bd13fe4d191f9c082d5807f2cdef0d2ba08"], - ["2ed805e20399e52b5bcc9dc075dad5cf19049ff5d7f3de1a77aee9288e59c5f4986751483f020000000165ffffffff967531a5726e7a653a9db75bd3d5208fa3e2c5e6cd5970c4d3aba84eb644c72c0300000000ffffffffd79030d20c65e5f8d3c55b5692e5bdaa2ae78cfa1935a0282efb97515feac43f030000000400006365261ab88c02bdf66a0000000000026351d6ad8b000000000004525152ac00000000", "6300535265", 0, 2072814938, "9e6495debcf5c6d165c2dc247c895528f87de18c82ff6c40c4d020605620b960"], - ["fab796ee03f737f07669160d1f1c8bf0800041157e3ac7961fea33a293f976d79ce49c02ab0200000003ac5252eb097ea1a6d1a7ae9dace338505ba559e579a1ee98a2e9ad96f30696d6337adcda5a85f403000000076500656a6a656396d5d41a9b11f571d91e4242ddc0cf2420eca796ad4882ef1251e84e42b930398ec69dd80100000005526551ac6a8e5d0de804f763bb0400000000015288271a010000000001acf2bf290500000000020051c9641500000000000952655363636365ac5100000000", "00ac536552", 0, -1854521113, "a7af3152547de519e3178358f7a083154b0df0ac59bc69a66df8b66cc929fc6c"], - ["f2b539a401e4e8402869d5e1502dbc3156dbce93583f516a4947b333260d5af1a34810c6a00200000003525363ffffffff01d305e2000000000004ac535200a265fe77", "", 0, -1435650456, "a8a1db0372c037eeb26dc03c9b297e7f03afabcfa12b0d5413db7a25226802df"], - ["9f10b1d8033aee81ac04d84ceee0c03416a784d1017a2af8f8a34d2f56b767aea28ff88c8f02000000025352ffffffff748cb29843bea8e9c44ed5ff258df1faf55fbb9146870b8d76454786c4549de100000000016a5ba089417305424d05112c0ca445bc7107339083e7da15e430050d578f034ec0c589223b0200000005ac53ac6565ffffffff025a4ecd0100000000046365636540d2700000000000056a6553526333fa296c", "", 0, -395044364, "c3de9cacd3644752ca5a3a51b0356904abebc17e3a3d86c25103c90aff6cb71f"], - ["ab81755f02b325cbd2377acd416374806aa51482f9cc5c3b72991e64f459a25d0ddb52e66703000000026a008727056d48c00cc6e6222be6608c721bc2b1e69d0ffbadd51d131f05ec54bcd83003aac5000000000003f2cdb60454630e020000000007526aac63000000e9e25c040000000003516a0088c97e0000000000076a535265655263771b580500000000075100ac6565515100000000", "515100ac", 0, -230931127, "a65047626d3beefdf68bc0cd7ddd42332ff27d87f772c24e2b4c823162420e4a"], - ["7a17e0ef0378dab4c601240639139335da3b7d684600fa682f59b7346ef39386fe9abd69350000000003ac5252807f26fb3249326813e18260a603b9ad66f41f05eaa8146f66bcca452162a502aac4aa8b02000000026a534ea460faa7e3d7854ec6c70d7e797025697b547ec500b2c09c873b4d5517767d3f3720660300000000ffffffff01b12e7a02000000000700006a65656a63991c03e2", "6a6a", 1, -1577994103, "cff17feca457abd837a3b4355071e627731eeee16216c76b03891d88c17ea9bc"], - ["ff2ecc09041b4cf5abb7b760e910b775268abee2792c7f21cc5301dd3fecc1b4233ee70a2c0200000009acac5300006a51526affffffffeb39c195a5426afff38379fc85369771e4933587218ef4968f3f05c51d6b7c92000000000165453a5f039b8dbef7c1ffdc70ac383b481f72f99f52b0b3a5903c825c45cfa5d2c0642cd50200000001654b5038e6c49daea8c0a9ac8611cfe904fc206dad03a41fb4e5b1d6d85b1ecad73ecd4c0102000000086a51000053656565bdb5548302cc719200000000000452655265214a36030000000002006a00000000", "52516a006a63", 1, -2113289251, "3cbb0d5a6fce6b49cd3e82d8235e521a2720becc8485f66554250cba6def30a1"], - ["70a8577804e553e462a859375957db68cfdf724d68caeacf08995e80d7fa93db7ebc04519d0200000003535253619f4f2a428109c5fcf9fee634a2ab92f4a09dc01a5015e8ecb3fc0d9279c4a77fb27e9000000000056a51006a6affffffff3ed1a0a0d03f25c5e8d279bb5d931b7eb7e99c8203306a6c310db113419a69ad010000000465516300ffffffff6bf668d4ff5005ef73a1b0c51f32e8235e67ab31fe019bf131e1382050b39a630000000004536a6563ffffffff02faf0bb00000000000163cf2b4b05000000000752ac635363acac15ab369f", "ac", 0, -1175809030, "1c9d6816c20865849078f9777544b5ddf37c8620fe7bd1618e4b72fb72dddca1"], - ["a3604e5304caa5a6ba3c257c20b45dcd468f2c732a8ca59016e77b6476ac741ce8b16ca8360200000004acac6553ffffffff695e7006495517e0b79bd4770f955040610e74d35f01e41c9932ab8ccfa3b55d0300000007ac5253515365acffffffff6153120efc5d73cd959d72566fc829a4eb00b3ef1a5bd3559677fb5aae116e3800000000020052c29e7abd06ff98372a3a06227386609adc7665a602e511cadcb06377cc6ac0b8f63d4fdb03000000045100acacffffffff042090730500000000075163ac5252536514462e05000000000752ac636300656a20672c0400000000025153b2769900000000000465656a5300000000", "5351", 0, 1460890590, "0c1d9e9befee2f0aec339d9ad4cc7b5fb51f814a890a2b4274ce07c38c9807de"], - ["c6a72ed403313b7d027f6864e705ec6b5fa52eb99169f8ea7cd884f5cdb830a150cebade870100000007ac635165656a51ffffffff398d5838735ff43c390ca418593dbe43f3445ba69394a6d665b5dc3b4769b5d700000000065265ac515365ffffffff7ee5616a1ee105fd18189806a477300e2a9cf836bf8035464e8192a0d785eea3030000000700ac6a51516a52ffffffff018075fd0000000000015100000000", "005251acac5252", 2, -656067295, "2cc1c7514fdc512fd45ca7ba4f7be8a9fe6d3318328bc1a61ae6e7675047e654"], - ["93c12cc30270fc4370c960665b8f774e07942a627c83e58e860e38bd6b0aa2cb7a2c1e060901000000026300ffffffff4d9b618035f9175f564837f733a2b108c0f462f28818093372eec070d9f0a5440300000001acffffffff039c2137020000000001525500990100000000045265636a07980e0300000000005ba0e9d1", "656a5100", 1, 18954182, "ee8ff2eabaf8cfd532d9b932109a00b91c60b1d484d23ec7426fb306bfdbe2ff"], - ["97bddc63015f1767619d56598ad0eb5c7e9f880b24a928fea1e040e95429c930c1dc653bdb0100000008ac53acac00005152aaa94eb90235ed10040000000000287bdd0400000000016a8077673a", "acac6a536352655252", 0, -813649781, "5990b139451847343c9bb89cdba0e6daee6850b60e5b7ea505b04efba15f5d92"], - ["cc3c9dd303637839fb727270261d8e9ddb8a21b7f6cbdcf07015ba1e5cf01dc3c3a327745d0300000000d2d7804fe20a9fca9659a0e49f258800304580499e8753046276062f69dbbde85d17cd2201000000086352536a520000acffffffffbc75dfa9b5f81f3552e4143e08f485dfb97ae6187330e6cd6752de6c21bdfd2103000000050053650063ffffffff0313d0140400000000096565515253526aacac167f0a040000000007ac00535263536a9a52f8030000000003515163f75b66f2", "6a635353636a65ac65", 1, 377286607, "b0dd80fc8d5300efbc5ccade2b87ad8c2f1830c2a9fcd0719122ba14595b736b"], - ["236f91b702b8ffea3b890700b6f91af713480769dda5a085ae219c8737ebae90ff25915a3203000000056300ac6300811a6a10230f12c9faa28dae5be2ebe93f37c06a79e76214feba49bb017fb25305ff84eb020000000100ffffffff041e351703000000000351ac004ff53e05000000000253636c1460010000000000cb55f7010000000005515200510000000000", "acac636a6aac5300", 0, 406448919, "daea1bf312f48d7d2e5bc35e13855a18dec32035a3f726ac7649579fc49a098e"], - ["22e10d2003ab4ea9849a2801921113583b7c35c3710ff49a6003489395789a7cfb1e6051900100000006526a65535151ffffffff82f21e249ec60db33831d33b9ead0d56f6496db64337dcb7f1c3327c47729c4a020000000153ffffffff138f098f0e6a4cf51dc3e7a3b749f487d1ebde71b73b731d1d02ad1180ac7b8c02000000036563acda215011027a9484020000000007635165530000ac4bf6cb0400000000036aac653ce3f32c", "0052", 2, 1136359457, "aaf5af7efa7b63d4f4e017ee99d5f389977b7a724c359e0038994344f86af090"], - ["c47d5ad60485cb2f7a825587b95ea665a593769191382852f3514a486d7a7a11d220b62c54000000000563655253ac8c3cf32b0285b040e50dcf6987ddf7c385b3665048ad2f9317b9e0c5ba0405d8fde4129b0000000008525100ac65635300ffffffff549fe963ee410d6435bb2ed3042a7c294d0c7382a83edefba8582a2064af3265000000000152fffffffff7737a85e0e94c2d19cd1cde47328ece04b3e33cd60f24a8a345da7f2a96a6d00000000006656a0051656a28ff30d5049613ea020000000005ac51000063f06df1050000000007ac63516aac5153afef5901000000000700656500655253688bc00000000000076a5352526a53521ff1d5ff", "51ac52", 2, -1296011911, "89dbcd8060fbab09d417d99ab857c86e5ec5958d08ef11895fdd62dee97dcafc"], - ["0b43f122032f182366541e7ee18562eb5f39bc7a8e5e0d3c398f7e306e551cdef773941918030000000763006351ac51acffffffffae586660c8ff43355b685dfa8676a370799865fbc4b641c5a962f0849a13d825010000000263acffffffff0b2b6b800d8e77807cf130de6286b237717957658443674df047a2ab18e4138601000000066aac65520063ffffffff04f1dbca03000000000700635253656a52a6eefd0300000000036365655d8ca90200000000005a0d530400000000015300000000", "65ac65acac", 0, 351448685, "f28f61918bfe72b90a70c7b4c9fcb68cef50c7d6acac097acdb0b3af673ebc29"], - ["4b0ecc0c03ba35700d2a30a71f28e432ff6ac7e357533b49f4e97cf28f1071119ad6b97f3e0300000007ac516363ac63acffffffffcd6a2019d99b5c2d639ddca0b1aa5ea7c1326a071255ea226960bd88f45ca57d00000000085253655363005353ffffffffba257635191c9f216de3277be548cb5a2313114cb1a4c563b03b4ef6c0f4f7040300000000da542edf0495cdc40100000000026353c049e903000000000652516a5365512b0f9304000000000863516aac65516552fa9ece050000000008ac6500005152530000000000", "6551525352510052", 1, -1355414590, "3cd85f84aae6d702436f3f9b8980adcc1f8f202e957759540a27da0a32fc6c87"], - ["adaac0a803f66811346271c733036d6e0d45e15a9b602092e2e04ad93564f196e7f020b088000000000600526a636a00700ec3f9db07a3a6ce910bf318c7ec87a876e1f2a3366cc69f20cde09203b99c1cb9d15800000000050000ac636a4d0de554ebe95c6cc14faf5ff6361d1deba9474b8b0fd3b93c011cd96aec783abb3f3683020000000465005251ffffffff0464eb100500000000055200006a651beaa80300000000005a2f31050000000005526a65ac52ba7db100000000000352516a0cfb46e7", "0051ac52636a", 1, -184733716, "0ca3afec5af28a1f1d15b7b89ec7706735689532178532d5750e302b99d5ce58"], - ["af1c4ab301ec462f76ee69ba419b1b2557b7ded639f3442a3522d4f9170b2d6859765c3df402000000016affffffff01a5ca6c00000000000652536a00005300000000", "6a6351", 0, 110304602, "25595a96fbe7eca4053970f9d5091926823017bfa3f6a9ccea5fada24e68be1e"], - ["0bfd34210451c92cdfa02125a62ba365448e11ff1db3fb8bc84f1c7e5615da40233a8cd368010000000252ac9a070cd88dec5cf9aed1eab10d19529720e12c52d3a21b92c6fdb589d056908e43ea910e0200000009ac516a52656a6a5165ffffffffc3edcca8d2f61f34a5296c405c5f6bc58276416c720c956ff277f1fb81541ddd00000000020063ffffffff811247905cdfc973d179c03014c01e37d44e78f087233444dfdce1d1389d97c3020000000551630000631724a26e02ca37c90200000000075153525352ac529012a90100000000085200525253535353fa32575b", "5352ac6351", 1, -1087700448, "969f104745a675fd6ca5fec692be9ec178eaefdd9a3354885bdc5e67a106b807"], - ["2c84c0640487a4a695751d3e4be48019dbaea85a6e854f796881697383ea455347d2b2769001000000055265526500ffffffff6aac176d8aa00778d496a7231eeb7d3334f20c512d3db1683276402100d98de5030000000700536a5263526ac1ee9ceb171c0c984ebaf12c234fd1487fbf3b3d73aa0756907f26837efba78d1bed332003000000004d9e8ec0bed837cb929bbed76ee848959cec59de44bd7667b7631a744f880d5c71a20cfd0100000006005363515300ffffffff023753fb0000000000036565532d38730500000000070051526a63ac5200000000", "650053", 0, -877941183, "3538e501b9b2b660b86aa1d1ff1b0c6c96d4f888f7bf4cda61ef8f6305f6606a"], - ["1f7e4b1b045d3efa6cd7a11d7873a8bab886c19bd11fcb6712f0948f2db3a7be76ff76c8f1000000000852656a0065ac5363ffffffffdaafcfa6029336c997680a541725190f09a6f6da21e54560eca4b5b8ae987da1000000000952ac52acac52515165ffffffff825a38d3b1e5bb4d10f33653ab3ab6882c7abdaec74460257d1528ce7be3f98e0100000007526a006a656a63c14adc8f04953a5d3d3f89237f38b857dd357713896d36215f7e8b77b11d98ea3cdc93df02000000015212484f6104bfafae0300000000025263a2b012000000000004656300516c4d2605000000000653ac6500655301cc93030000000001ac14643b1f", "63acac53", 0, 333824258, "18da6ceb011cd36f15ad7dd6c55ef07e6f6ed48881ce3bb31416d3c290d9a0e9"], - ["467a3e7602e6d1a7a531106791845ec3908a29b833598e41f610ef83d02a7da3a1900bf29600000000046a636353ffffffff031db6dac6f0bafafe723b9199420217ad2c94221b6880654f2b35114f44b1df01000000086552636a63ac6352ffffffff02b3b95c01000000000263007032160300000000003261c0aa", "6a", 0, 2110869267, "bec81678ef196011c242f24da12b52eaa5ef56c9cd72c73cb2123b0e65bf8c1b"], - ["8713bc4f01b411149d575ebae575f5dd7e456198d61d238695df459dd9b86c4e3b2734b62e0300000003ac6363ffffffff03b58049050000000002ac653c714c04000000000953656a005151526a527b5a9e03000000000652ac5100525300000000", "52", 0, -647281251, "0e0bed1bf2ff255aef6e5c587f879ae0be6222ab33bd75ee365ec6fbb8acbe38"], - ["f2ba8a8701b9c401efe3dd0695d655e20532b90ac0142768cee4a3bb0a89646758f544aa8102000000036a52527899f4e4040c6f0b03000000000663656553005152b60c000000000008515200630053ac53a49c5f0400000000055351630063fa27340300000000015100000000", "ac635251", 0, -1328936437, "87584c7ad7b43b0a85619d327f8663349cc261c65dcd51aad22319cb4e57b618"], - ["b5a7df6102107beded33ae7f1dec0531d4829dff7477260925aa2cba54119b7a07d92d5a1d02000000046a516a52803b625c334c1d2107a326538a3db92c6c6ae3f7c3516cd90a09b619ec6f58d10e77bd6703000000056563006a63ffffffff0117484b03000000000653ac52526a65c1b548a1", "ac006a525100", 0, 2074359913, "708fcbe48b6921601571c5624b905bde73f5c02bf363f2f99210db0ad522546b"], - ["278cb16204b9dadf400266106392c4aa9df01ba03af988c8139dae4c1818ac009f13fc5f1a00000000065200ac656a52ffffffffd006bbebd8cbd7bdead24cddc9badfcc6bc0c2e63c037e5c29aa858f5d0f3e7d01000000046a0051acffffffffbc62a5f57e58da0b67956003ae81ac97cb4cbd1d694c914fc41515c008c4d8fd020000000165e329c844bcc16164be64b64a81cbf4ffd41ed2934e0daa0040ccb8365bab0b2a9e401c18030000000152ffffffff02588460030000000000a25a12030000000005535100005300000000", "65536a5300ac51", 3, 989407546, "1c29f110576f4a3b257f67454d99dfc0dee62ef5517ca702848ce4bd2ea1a1d7"], - ["49eb2178020a04fca08612c34959fd41447319c190fb7ffed9f71c235aa77bec28703aa1820200000003ac6353abaff326071f07ec6b77fb651af06e8e8bd171068ec96b52ed584de1d71437fed186aecf0300000001acffffffff03da3dbe02000000000552ac63ac6a8f3b680400000000096a536a65636a53516a5175470100000000016500000000", "6a536365", 0, 1283691249, "340ae3ff3e8548ff8212003e194c8022bfb6cccc5561b1fdef7194f17063a41e"], - ["0f96cea9019b4b3233c0485d5b1bad770c246fe8d4a58fb24c3b7dfdb3b0fd90ea4e8e947f0300000006006a5163515303571e1e01906956030000000003635353adc0fbbe", "acac", 0, -1491469027, "b0a8e0803b176c7e4f53dcefe22250f473758f5b607d1bbcd9108d69ba178b18"], - ["9a7d858604577171f5fe3f3fd3e5e039c4b0a06717a5381e9977d80e9f53e025e0f16d2877020000000752636565536353ffffffff5862bd028e8276e63f044be1dddcbb8d0c3fa097678308abf2b0f45104a93dbd0100000001531200667ba8fdd3b28e98a35da73d3ddfe51e210303d8eb580f923de988ee632d77793892030000000752526363526563ffffffffe9744eb44db2658f120847c77f47786d268c302120d269e6004455aa3ea5f5e202000000076300636a656551ffffffff03c61a3c020000000005516a6a6a53737f1a05000000000553ac65536592a4a00400000000016367edf6c8", "535352", 3, 659348595, "44f468a39e90f950895d7b1798bf5d41133eb9f61ec67a7a17efc9fb733d3438"], - ["148e68480196eb52529af8e83e14127cbfdbd4a174e60a86ac2d86eac9665f46f4447cf7aa01000000045200ac538f8f871401cf240c030000000005525252656a5266cf61", "", 0, -344314825, "a43a505f93bedd8358f9ff2ac4afc9b5306e712535968ceba2e4200433f27fbc"], - ["e2bc29d4013660631ba14ecf75c60ec5e9bed7237524d8c10f66d0675daa66d1492cb834530200000004ac510065e42d0c9e04f2b26c01000000000751525152acac65a35b7504000000000853ac6aac0065005394688c0400000000056365526553a1bced0300000000016a00000000", "650063655353", 0, -888431789, "43ee16b706611adf52cdf5af06efd16ad75dc7e18ad067d9d6e62ead2985032e"], - ["0c8a70d70494dca6ab05b2bc941b5b431c43a292bd8f2f02eab5e240a408ca73a676044a4103000000046a51006affffffff84496004e54836c035821f14439149f22e1db834f315b24588ba2f031511926c0100000000ffffffffbbc5e70ed1c3060ba1bfe99c1656a3158a7307c3ce8eb362ec32c668596d2bd3000000000763656363535100b039344c6fc4f9bec24322e45407af271b2d3dfec5f259ee2fc7227bc5285e22b3be85b40100000007ac0053ac6a5352e5ddfcff02d50231020000000005006a51536ab086d9020000000004ac51ac6a00000000", "636565acac6a", 3, 241546088, "5c11451d99e0679995bafd552facad1ffb742158905843483370caac4c69360c"], - ["f98f79cf0274b745e1d6f36da7cbe205a79132a7ad462bdc434cfb1dcd62a6977c3d2a5dbc010000000553516a5365ffffffff4f89f485b53cdad7fb80cc1b7e314b9735b9383bc92c1248bb0e5c6173a55c0d010000000353655293f9b014045ad96d02000000000963ac526a53ac636365f4c27904000000000952536563635152526a2788f0030000000002516aff5add01000000000763530051655351d04716ba", "6552536a53", 1, -2128899945, "95c24251cff87b2e50211ee272d0527d13ecdeac9bf8c7345fb09fb728dec251"], - ["6c7913f902aa3f5f939dd1615114ce961beda7c1e0dd195be36a2f0d9d047c28ac62738c3a020000000353ac00ffffffff477bf2c5b5c6733881447ac1ecaff3a6f80d7016eee3513f382ad7f554015b9701000000056563ac5152ffffffff04e58fe104000000000600526a526553e59790010000000001525a834b03000000000035fdaf0200000000076551ac6551520000000000", "63ac53", 1, 1285478169, "669fa8a8f4b97cc8e1816ae6adb4413a175042809e30bcf1d0a0397b2c1f6583"], - ["4624aa9204584f06a8a325c84e3b108cafb97a387af62dc9eab9afd85ae5e2c71e593a3b690200000003636a005eb2b44eabbaeca6257c442fea00107c80e32e8715a1293cc164a42e62ce14fea146220c020000000090b9ee38106e3310037bfc519fd209bdbd21c588522a0e96df5fba4e979392bc993bfe9f01000000076363636a6353536f1907d218ef6f3c729d9200e23c1dbff2df58b8b1282c6717b26cf760ee4c880d23f4d100000000086a516a536a525163ffffffff01d6f162050000000000ebbab208", "5253650053", 1, -1515409325, "6cf9cd409b7185b1f118171f0a34217af5b612ea54195ea186505b667c19337f"], - ["16562fc503f1cf9113987040c408bfd4523f1512da699a2ca6ba122dc65677a4c9bf7763830000000003636552ffffffff1ec1fab5ff099d1c8e6b068156f4e39b5543286bab53c6d61e2582d1e07c96cf02000000045163656affffffffd0ef40003524d54c08cb4d13a5ee61c84fbb28cde9eca7a6d11ba3a9335d8c620100000007635153536a6300fbb84fc2012003a6010000000002636a00000000", "63636a006a6a", 0, -1310262675, "4c154533157b2f889b7751e83426ba1a4e124b9ea3088486866fb5433b82d1d6"], - ["531665d701f86bacbdb881c317ef60d9cd1baeffb2475e57d3b282cd9225e2a3bf9cbe0ded01000000076300ac515263acffffffff0453a8500100000000076353ac516a6565e5e9200500000000026a52a44caa00000000000453ac000065e41b0500000000076500ac0065526ab4476f4d", "006563006a00636a", 0, 1770013777, "df3ed95fa9c904a0ecc41206d313ac22157d20b93dc02cb18db6cbd430aad0af"], - ["0f1227a20140655a3da36e413b9b5d108a866f6f147eb4940f032f5a89854eae6d7c3a91600100000009525363515153515253e37a79480161ab6102000000000000000000", "65005200", 0, -1996383599, "fef5ce63369124769b79343e66e29c436973d7d3f8cd0e0ab3318dc070b6976b"], - ["063ff6eb01aff98d0d2a6db224475010edb634c2f3b46257084676adeb84165a4ff8558d7601000000066353006a5165deb3262c042d109c000000000006636352ac005200b9c4050000000007516300ac510063cfffc800000000000200639e815501000000000700526a52ac6365ac7b07b8", "656552ac6500", 0, -1559847112, "51448b68451d6012d768a9453ff753868bdc4d95a9f08d8bcdc3cbedcbc71ede"], - ["3320f6730132f830c4681d0cae542188e4177cad5d526fae84565c60ceb5c0118e844f90bd030000000163ffffffff0257ec5a040000000005525251ac6538344d000000000002515200000000", "5352656a53ac516a65", 0, 788050308, "3afacaca0ef6be9d39e71d7b1b118994f99e4ea5973c9107ca687d28d8eba485"], - ["c13aa4b702eedd7cde09d0416e649a890d40e675aa9b5b6d6912686e20e9b9e10dbd40abb10000000007636353515351ac11d24dc4cc22ded7cdbc13edd3f87bd4b226eda3e4408853a57bcd1becf2df2a1671fd1600000000045165516affffffff01baea300100000000056a5253005300000000", "0065", 0, -1195908377, "610729ed2a518717bf30c32a6ffaa7aba8963225dce2ec3897805e35821d9b8b"], - ["d9a6f20e019dd1b5fae897fb472843903f9c3c2293a0ffb59cff2b413bae6eceab574aaf9d030000000563006a515102f54939032df5100100000000046a5165530ec28f010000000004ac5100007e874905000000000651005265ac6a00000000", "ac63acac", 0, 271463254, "2df4cc2686d6e168552f5443c218a086e4c41e01ba91e2c5365a7f63436e7ff6"], - ["157c81bf0490432b3fcb3f9a5b79e5f91f67f05efb89fa1c8740a3fe7e9bdc18d7cb6acd2203000000026351ffffffff912e48e72bbcf8a540b693cf8b028e532a950e6e63a28801f6eaad1afcc52ad00000000000b1a4b170a2b9e60e0cad88a0085137309f6807d25d5afb5c1e1d32aa10ba1cdf7df596dd0000000007525165656a51653674fba32a76fe09b273618d5f14124465933f4190ba4e0fd09d838daafc6223b31642ac00000000086a53536551ac6565ffffffff01fe9fb603000000000751656a5165636a00000000", "006a6551", 3, -64357617, "aef164bce218201307d98efbed396dd7a18bf2df7f3e5e8c768ce732499c1c7e"], - ["a2692fff03b2387f5bacd5640c86ba7df574a0ee9ed7f66f22c73cccaef3907eae791cbd230200000003536363ffffffff4d9fe7e5b375de88ba48925d9b2005447a69ea2e00495a96eafb2f144ad475b40000000008000053000052636537259bee3cedd3dcc07c8f423739690c590dc195274a7d398fa196af37f3e9b4a1413f810000000005ac63acac52ffffffff04c65fe60200000000065151536365657236fc02000000000800526300656a6a5195b8b6030000000007ac5165636aac6a7d7b66010000000001ac00000000", "51", 2, -826546582, "6b3fcf04dd294362d2464c8516896043ba807fe901641472d23e89a50f6113a5"], - ["2c5b003201b88654ac2d02ff6762446cb5a4af77586f05e65ee5d54680cea13291efcf930d0100000004536a006a37423d2504100367000000000004536a515335149800000000000152166aeb03000000000452510063226c8e03000000000000000000", "635251", 0, 1060344799, "7e058ca5dd07640e4aae7dea731cfb7d7fef1bfd0d6d7b6ce109d041f4ca2a31"], - ["f981b9e104acb93b9a7e2375080f3ea0e7a94ce54cd8fb25c57992fa8042bdf4378572859f0100000002630008604febba7e4837da77084d5d1b81965e0ea0deb6d61278b6be8627b0d9a2ecd7aeb06a0300000005ac5353536a42af3ef15ce7a2cd60482fc0d191c4236e66b4b48c9018d7dbe4db820f5925aad0e8b52a03000000070063510052516301863715efc8608bf69c0343f18fb81a8b0c720898a3563eca8fe630736c0440a179129d03000000086aac6a52ac6a63ac44fec4c00408320a03000000000062c21c030000000007ac6a655263006553835f0100000000015303cd60000000000005535263536558b596e0", "00", 0, -2140385880, "49870a961263354c9baf108c6979b28261f99b374e97605baa532d9fa3848797"], - ["e7416df901269b7af14a13d9d0507709b3cd751f586ce9d5da8d16a121e1bd481f5a086e1103000000046a005200ffffffff01aa269c040000000006acac6a6a5263ee718de6", "525363", 0, 1309186551, "eea7d2212bda2d408fff146f9ae5e85e6b640a93b9362622bb9d5e6e36798389"], - ["402a815902193073625ab13d876190d1bbb72aecb0ea733c3330f2a4c2fe6146f322d8843a0300000007656a0000535363fffffffff9dccdec5d8509d9297d26dfcb1e789cf02236c77dc4b90ebccbf94d1b5821150300000001510bf1f96a03c5c145000000000002ac6ae11b1c0100000000055163516a5239c8a600000000000365636300000000", "63536aac", 0, -1811424955, "0090803a20102a778ab967a74532faee13e03b702083b090b1497bc2267ee2fe"], - ["c4b702e502f1a54f235224f0e6de961d2e53b506ab45b9a40805d1dacd35148f0acf24ca5e00000000075200ac65ac53acf34ba6099135658460de9d9b433b84a8562032723635baf21ca1db561dce1c13a06f4407000000000751ac006a63516affffffff02a853a603000000000163d17a6703000000000463006a5200000000", "ac5363515153", 1, 480734903, "6ac2296565d013ac4f9dc737821b534cfd42eea3dace80bee4c4669662bb6ffd"], - ["9b83f78704f492b9b353a3faad8d93f688e885030c274856e4037818848b99e490afef27770200000000ffffffff36b60675a5888c0ef4d9e11744ecd90d9fe9e6d8abb4cff5666c898fdce98d9e00000000046a656352596370fca7a7c139752971e169a1af3e67d7656fc4fc7fd3b98408e607c2f2c836c9f27c030000000553ac516300a0761de7e158947f401b3595b7dc0fe7b75fa9c833d13f1af57b9206e4012de0c41b8124030000000853656a5353510052242e5f5601bf83b301000000000465516a6300000000", "63515200ac656365", 3, -150879312, "9cf05990421ea853782e4a2c67118e03434629e7d52ab3f1d55c37cf7d72cdc4"], - ["f492a9da04f80b679708c01224f68203d5ea2668b1f442ebba16b1aa4301d2fe5b4e2568f301000000085300535152526365ffffffff93b34c3f37d4a66df255b514419105b56d7d60c24bf395415eda3d3d8aa5cd0101000000020065ffffffff9dba34dabdc4f1643b372b6b77fdf2b482b33ed425914bb4b1a61e4fad33cf39000000000152ffffffffbbf3dc82f397ef3ee902c5146c8a80d9a1344fa6e38b7abce0f157be7adaefae0000000009515351005365006a51ffffffff021359ba010000000000403fea0200000000085200ac6353ac635300000000", "00ac51acacac", 0, -2115078404, "bcf2cd25bbe87547620e87088e51f633500d68e9d4f31f07d7b659750461cee9"], - ["2f73e0b304f154d3a00fde2fdd40e791295e28d6cb76af9c0fd8547acf3771a02e3a92ba37030000000752ac63516565639aa95467b065cec61b6e7dc4d6192b5536a7c569315fb43f470078b31ed22a55dab8265f02000000070065636a6a6a53ffffffff9e3addbff52b2aaf9fe49c67017395198a9b71f0aa668c5cb354d06c295a691a0100000000ffffffff45c2b4019abaf05c5e484df982a4a07459204d1343a6ee5badade358141f8f990300000007ac516a6aacac6308655cd601f3bc2f0000000000015200000000", "", 0, -2082053939, "9a95e692e1f78efd3e46bb98f178a1e3a0ef60bd0301d9f064c0e5703dc879c2"], - ["5a60b9b503553f3c099f775db56af3456330f1e44e67355c4ab290d22764b9144a7b5f959003000000030052acbd63e0564decc8659aa53868be48c1bfcda0a8c9857b0db32a217bc8b46d9e7323fe9649020000000453ac6551d0ecf806211db989bead96c09c7f3ec5f73c1411d3329d47d12f9e46678f09bac0dc383e0200000000ffffffff01494bb202000000000500516551ac00000000", "ac", 0, 1169947809, "62a36c6e8da037202fa8aeae03e533665376d5a4e0a854fc4624a75ec52e4eb1"], - ["7e98d353045569c52347ca0ff2fdba608829e744f61eb779ffdb5830aae0e6d6857ab2690e03000000065365ac656352ffffffffa890dd37818776d12da8dca53d02d243ef23b4535c67016f4c58103eed85360f030000000093dbacdc25ca65d2951e047d6102c4a7da5e37f3d5e3c8b87c29b489360725dcd117ee2003000000056a6300ac53c7e99fa1dc2b8b51733034e6555f6d6de47dbbf1026effac7db80cb2080678687380dc1e02000000075352005263516affffffff04423272040000000006635365510051e0f53b0500000000086300516552635152f74a5f04000000000553ac0053520e8e5f00000000000751ac5363516a6a00000000", "6a516352", 3, 890006103, "697cd75ff0a4aef1886e8f93a8159c6a068d806d73cb534321ac2c3918826364"], - ["e3649aa40405e6ffe377dbb1bbbb672a40d8424c430fa6512c6165273a2b9b6afa9949ec430200000006630052655153a365f62f2792fa90c784efe3f0981134d72aac0b1e1578097132c7f0406671457c332b840200000002536ad780f40cf51be22bb4ff755434779c7f1def4999e4f289d2bd23d142f36b66fbe5cfbb4b01000000056a5252ac521430ffdc67127c9c0fc97dcd4b578dab64f4fb9550d2b59d599773962077a563e8b6732c02000000016affffffff04cb2687000000000001636e320904000000000252acf70e9401000000000100dc33930500000000050063536aacbc231765", "65520053", 3, -2016196547, "2b5c35cb390a72b8b02629d48c5a7487c2790a0952f8422a6f23ab9ecfb80e89"], - ["1d033569040700441686672832b531ab55db89b50dc1f9fc00fb72218b652da9dcfbc83be901000000066551ac526a632b390f9ad068e5fdee6563e88e2a8e4e09763c861072713dc069893dc6bbc9db3f00e26502000000096a5363526565525252ffffffff8a36bdd0aaf38f6707592d203e14476ca9f259021e487135c7e8324244057ed90300000000ed3fb2a3dfd4d46b5f3603fe0148653911988457bd0ed7f742b07c452f5476c228ff9f600200000007526aac00525152ffffffff04b88e48030000000000c753d602000000000853510000006553518fda2603000000000853ac52acac5263534839f1030000000006ac006aacac5300000000", "5165536353000052", 1, 2075958316, "c2cefaec2293134acbcf6d2a8bf2b3eb42e4ec04ee8f8bf30ff23e65680677c1"], - ["4c4be7540344050e3044f0f1d628039a334a7c1f7b4573469cfea46101d6888bb6161fe9710200000000ffffffffac85a4fdad641d8e28523f78cf5b0f4dc74e6c5d903c10b358dd13a5a1fd8a06000000000163e0ae75d05616b72467b691dc207fe2e65ea35e2eadb7e06ea442b2adb9715f212c0924f10200000000ffffffff0194ddfe02000000000265ac00000000", "00006500", 1, -479922562, "d66924d49f03a6960d3ca479f3415d638c45889ce9ab05e25b65ac260b51d634"], - ["202c18eb012bc0a987e69e205aea63f0f0c089f96dd8f0e9fcde199f2f37892b1d4e6da90302000000055352ac6565ffffffff0257e5450100000000025300ad257203000000000000000000", "520052ac6a005265", 0, 168054797, "502967a6f999f7ee25610a443caf8653dda288e6d644a77537bcc115a8a29894"], - ["32fa0b0804e6ea101e137665a041cc2350b794e59bf42d9b09088b01cde806ec1bbea077df0200000008515153650000006506a11c55904258fa418e57b88b12724b81153260d3f4c9f080439789a391ab147aabb0fa0000000006000052ac51510986f2a15c0d5e05d20dc876dd2dafa435276d53da7b47c393f20900e55f163b97ce0b800000000007526a520065636a8087df7d4d9c985fb42308fb09dce704650719140aa6050e8955fa5d2ea46b464a333f870000000009636300636a6565006affffffff01994a0d040000000002536500000000", "516563530065", 2, -163068286, "f58637277d2bc42e18358dc55f7e87e7043f5e33f4ce1fc974e715ef0d3d1c2a"], - ["ae23424d040cd884ebfb9a815d8f17176980ab8015285e03fdde899449f4ae71e04275e9a80100000006006553530053ffffffff018e06db6af519dadc5280c07791c0fd33251500955e43fe4ac747a4df5c54df020000000251ac330e977c0fec6149a1768e0d312fdb53ed9953a3737d7b5d06aad4d86e9970346a4feeb503000000075151ac6563526a67cabc431ee3d8111224d5ecdbb7d717aa8fe82ce4a63842c9bd1aa848f111910e5ae1eb0100000004ac515300bfb7e0d7048acddc030000000009636a5253636a655363a3428e040000000001525b99c6050000000003655265717e6e020000000000d99011eb", "ac6a6a516565", 1, -716251549, "b098eb9aff1bbd375c70a0cbb9497882ab51f3abfebbf4e1f8d74c0739dc7717"], - ["030f44fc01b4a9267335a95677bd190c1c12655e64df74addc53b753641259af1a54146baa020000000152e004b56c04ba11780300000000026a53f125f001000000000251acd2cc7c03000000000763536563655363c9b9e50500000000015200000000", "ac", 0, -1351818298, "19dd32190ed2a37be22f0224a9b55b91e37290577c6c346d36d32774db0219a3"], - ["c05f448f02817740b30652c5681a3b128322f9dc97d166bd4402d39c37c0b14506d8adb5890300000003536353ffffffffa188b430357055ba291c648f951cd2f9b28a2e76353bef391b71a889ba68d5fc02000000056565526a6affffffff02745f730100000000003ec34c0400000000036aac5200000000", "516551510053", 0, -267877178, "bd1beb1f9867c22627f7c4db637ba3c73231bfc931760c2af322da90b1cf0300"], - ["163ba45703dd8c2c5a1c1f8b806afdc710a2a8fc40c0138e2d83e329e0e02a9b6c837ff6b80000000006006551516a522b48b8f134eb1a7e6f5a6fa319ce9d11b36327ba427b7d65ead3b4a6a69f85cda8bbcd22030000000563656552acffffffffdbcf4955232bd11eef0cc6954f3f6279675b2956b9bcc24f08c360894027a60201000000056500006500ffffffff04d0ce9d0200000000008380650000000000015233f360040000000002006aedcf0801000000000000000000", "000065006500ac", 0, 216965323, "853251875a6a8b3d9cdb5bcbe19256e5eefa1a56883af28e0b6e8804455ecc27"], - ["07f7f5530453a12ad0c7eb8fbc3f140c7ab6818144d67d2d8752600ca5d9a9358e2dff87d4000000000563526a526a9e599c379d455e2da36d0cde88d931a863a3e97e01e93b9edb65856f3d958dc08b92b720000000000165bbc8d66dae3b1b170a6e2457f5b161465cb8706e0e6ffc6af55deb918365f14c5f40d4890100000000a7bd77c069ee4b48638e2363fcf2a86b02bea022047bd9fcb16d2b94ad068308d19b31cb00000000046a5300529672aa8f01dbd8a205000000000663536353006a02e99901", "ac006351006a6363", 1, 119789359, "6629a1e75c6ae8f4f9d5f734246b6a71682a5ea57246040ef0584f6b97916175"], - ["fe647f950311bf8f3a4d90afd7517df306e04a344d2b2a2fea368935faf11fa6882505890d00000000045100516affffffff43c140947d9778718919c49c0535667fc6cc727f5876851cb8f7b6460710c7f60100000000ffffffffce4aa5d90d7ab93cbec2e9626a435afcf2a68dd693c15b0e1ece81a9fcbe025e0300000000ffffffff02f34806020000000002515262e54403000000000965635151ac655363636de5ce24", "6a005100ac516351", 2, 989643518, "818a7ceaf963f52b5c48a7f01681ac6653c26b63a9f491856f090d9d60f2ffe3"], - ["a1050f8604d0f9d2feefcdb5051ae0052f38e21bf39daf583fd0c3900faa3eab5d431c0bbe030000000653536a005151683d27e5c6e0da8f22125823f32d5d98477d8098ef36263b9694d61d4d85d3f2ac02b7570200000006000052005165ffffffff0cad981542bcb54a87d9400aa63e514c7c6fab7158c2b1fb37821ea755eb162a0200000000b94feb5100e5ef3bf8ed8d43356c8a8d5ac6c7e80d7ff6040f4f0aa19abbe783f4f461240200000007636500000052655686fd70042be3ad02000000000365636a15680b000000000004acac53511277c705000000000452635252d27a0102000000000000000000", "6a6aac65655251", 1, -982144648, "e5fa92d182456e8dca1545376e62e54254106cb39566ca17932652385b57177c"], - ["cef7316804c3e77fe67fc6207a1ea6ae6eb06b3bf1b3a4010a45ae5c7ad677bb8a4ebd16d90200000009ac536a5152ac5263005301ab8a0da2b3e0654d31a30264f9356ba1851c820a403be2948d35cafc7f9fe67a06960300000006526a63636a53ffffffffbada0d85465199fa4232c6e4222df790470c5b7afd54704595a48eedd7a4916b03000000076563ac006a006ab28dba4ad55e58b5375053f78b8cdf4879f723ea4068aed3dd4138766cb4d80aab0aff3d0300000003ac6a00ffffffff010f5dd6010000000003006a5100000000", "", 1, 889284257, "31729d511760f21d9f00c70018ef391ac6e9d18d9d7660e1e1e7a8c1a1d97263"], - ["7b3ff28004ba3c7590ed6e36f45453ebb3f16636fe716acb2418bb2963df596a50ed954d2e03000000055251515265ffffffff706ee16e32e22179400c9841013971645dabf63a3a6d2d5feb42f83aa468983e030000000653ac51ac5152ffffffffa03a16e5e5de65dfa848b9a64ee8bf8656cc1f96b06a15d35bd5f3d32629876e020000000043c1a3965448b3b46f0f0689f1368f3b2981208a368ec5c30defb35595ef9cf95ffd10e902000000036aac65253a5bbe042e907204000000000800006565656352634203b4020000000002656336b3b70100000000007a063f0100000000026500a233cb76", "006551636a53ac5251", 1, -1144216171, "b4fb45bad7afba3e35275336fd09b787897e280f66b630c5c5fbd4a552e75b09"], - ["d5c1b16f0248c60a3ddccf7ebd1b3f260360bbdf2230577d1c236891a1993725e262e1b6cb000000000363636affffffff0a32362cfe68d25b243a015fc9aa172ea9c6b087c9e231474bb01824fd6bd8bc030000000352516affffffff0420d9a70200000000045152656a45765d0000000000055252536a5277bad1000000000001523f3f3803000000000463acac5200000000", "52636a5265", 1, 1305123906, "978dc178ecd03d403b048213d904653979d11c51730381c96c4208e3ea24243a"], - ["1be8ee5604a9937ebecffc832155d9ba7860d0ca451eaced58ca3688945a31d93420c27c460100000005ac5300535288b65458af2f17cbbf7c5fbcdcfb334ffd84c1510d5500dc7d25a43c36679b702e850f7c0200000003005300ffffffff7c237281cb859653eb5bb0a66dbb7aeb2ac11d99ba9ed0f12c766a8ae2a2157203000000066aac526365acfffffffff09d3d6639849f442a6a52ad10a5d0e4cb1f4a6b22a98a8f442f60280c9e5be8020000000400656552ffffffff0398fe83030000000003526aacbdd6ec0100000000045352526a82c1e6040000000001652b71c40c", "6563526353656351", 2, -853634888, "d7462d6fa13f37e2720ca416f770a1574fcf53d7d048283c0cdc0671ade9811e"], - ["9e0f99c504fbca858c209c6d9371ddd78985be1ab52845db0720af9ae5e2664d352f5037d4010000000552ac53636affffffff0e0ce866bc3f5b0a49748f597c18fa47a2483b8a94cef1d7295d9a5d36d31ae7030000000663515263ac635bb5d1698325164cdd3f7f3f7831635a3588f26d47cc30bf0fefd56cd87dc4e84f162ab702000000036a6365ffffffff85c2b1a61de4bcbd1d5332d5f59f338dd5e8accbc466fd860f96eef1f54c28ec030000000165ffffffff04f5cabd010000000007000052ac526563c18f1502000000000465510051dc9157050000000008655363ac525253ac506bb600000000000765656a5363006a00000000", "006a6a0052", 0, 1186324483, "2f9b7348600336512686e7271c53015d1cb096ab1a5e0bce49acd35bceb42bc8"], - ["11ce51f90164b4b54b9278f0337d95c50d16f6828fcb641df9c7a041a2b274aa70b1250f2b00000000076a6a65006551524c9fe7f604af44be050000000005525365006521f79a0300000000015306bb4e04000000000265ac99611a05000000000665ac656500006dc866d0", "", 0, -1710478768, "e0b6dfd00056068d3cb13fab177002404b6286b12f247eec0a3ee6dcf7723a39"], - ["86bc233e02ba3c647e356558e7252481a7769491fb46e883dd547a4ce9898fc9a1ca1b77790000000003535151f0c1d09c37696d5c7c257788f5dff5583f4700687bcb7d4acfb48521dc953659e325fa390300000003acac5280f29523027225af03000000000663ac006565ac7e59d90400000000016549dac846", "53006aac52acac", 0, 711159875, "178241b9244fb157a6e49870b83dd8d2c80db05b742cc2769b2ef101cbae1094"], - ["beac155d03a853bf18cd5c490bb2a245b3b2a501a3ce5967945b0bf388fec2ba9f04c03d68030000000012fe96283aec4d3aafed8f888b0f1534bd903f9cd1af86a7e64006a2fa0d2d30711af770010000000163ffffffffd963a19d19a292104b9021c535d3e302925543fb3b5ed39fb2124ee23a9db00302000000056500ac63acffffffff01ad67f503000000000300ac5189f78db2", "53536a636500", 2, 748992863, "bde3dd0575164d7ece3b5783ce0783ffddb7df98f178fe6468683230314f285a"], - ["81dab34a039c9e225ba8ef421ec8e0e9d46b5172e892058a9ade579fe0eb239f7d9c97d45b0300000008ac65655351526363ffffffff10c0faaf7f597fc8b00bbc67c3fd4c6b70ca6b22718d15946bf6b032e62dae570000000004536a006a02cddec3acf985bbe62c96fccf17012a87026ed63fc6756fa39e286eb4c2dd79b59d37400300000002516affffffff04f18b8d030000000005535152636564411c020000000003006300e965750300000000001bd2cf02000000000365526a00000000", "006551", 0, -1488174485, "837f15a277e25f47bc2bdd17e99eed396ac3b88c740459a43a404040c237a127"], - ["489ebbf10478e260ba88c0168bd7509a651b36aaee983e400c7063da39c93bf28100011f280100000001632fc856f05f59b257a4445253e0d91b6dffe32302d520ac8e7f6f2467f7f6b4b65f2f59e903000000076353ac6351656affffffff0122d9480db6c45a2c6fd68b7bc57246edffbf6330c39ccd36aa3aa45ec108fc0300000001659a7e78a69aadd6b030b12602dff0739bbc346b466c7c0129b34f50ae1f61e634e11e9f3d0000000006516a53525100ffffffff0112710700000000000765636353536352c4dd0e2c", "", 0, -293358504, "3bb56b25b9647f37f88d5617bc931f822433ae66ce0ea000e50c26fcfa813f8a"], - ["6911195d04f449e8eade3bc49fd09b6fb4b7b7ec86529918b8593a9f6c34c2f2d301ec378b00000000016349162266af054643505b572c24ff6f8e4c920e601b23b3c42095881857d00caf56b28acd030000000565525200ac3ac4d24cb59ee8cfec0950312dcdcc14d1b360ab343e834004a5628d629642422f3c5acc02000000035100accf99b663e3c74787aba1272129a34130668a877cc6516bfb7574af9fa6d07f9b41973034000000000753515152635252ffffffff042b3c95000000000000ff92330200000000036a5252884a2402000000000853530065520063000d78be030000000005535253ac65a72cb34b", "6a", 2, -637739405, "2015e8cca32dd47a352e02604b08eb564039d9b51d85d0ec225a0bc53e47a2c6"], - ["746347cf03faa548f4c0b9d2bd96504d2e780292730f690bf0475b188493fb67ca58dcca4f0000000002005336e3521bfb94c254058e852a32fc4cf50d99f9cc7215f7c632b251922104f638aa0b9d080100000008656aac5351635251ffffffff4da22a678bb5bb3ad1a29f97f6f7e5b5de11bb80bcf2f7bb96b67b9f1ac44d09030000000165ffffffff036f02b300000000000663536aac63ac50b72a050000000001aca8abf804000000000663006a6a6353797eb999", "acac5100", 1, -1484493812, "64e32985faa16652e0aac3d180dbd96ce9e79c97c279c1398e8e2abb8eacff8a"], - ["e17149010239dd33f847bf1f57896db60e955117d8cf013e7553fae6baa9acd3d0f1412ad90200000006516500516500cb7b32a8a67d58dddfb6ceb5897e75ef1c1ff812d8cd73875856487826dec4a4e2d2422a0100000004ac525365196dbb69039229270400000000070000535351636a8b759602000000000551ac52655131e99d040000000003516551ee437f5c", "ac656a53", 1, 1102662601, "a70d0643c50979ab645417feb0e44aa258e30ac02074d62dcc07fafb38e674aa"], - ["144971940223597a2d1dec49c7d4ec557e4f4bd207428618bafa3c96c411752d494249e1fb0100000004526a5151ffffffff340a545b1080d4f7e2225ff1c9831f283a7d4ca4d3d0a29d12e07d86d6826f7f0200000003006553ffffffff03c36965000000000000dfa9af00000000000451636aac7f7d140300000000016300000000", "", 1, -108117779, "c84fcaf9d779df736a26cc3cabd04d0e61150d4d5472dd5358d6626e610be57f"], - ["b11b6752044e650b9c4744fb9c930819227d2ac4040d8c91a133080e090b042a142e93906e0000000003650053ffffffff6b9ce7e29550d3c1676b702e5e1537567354b002c8b7bb3d3535e63ad03b50ea01000000055100516300fffffffffcf7b252fea3ad5a108af3640a9bc2cd724a7a3ce22a760fba95496e88e2f2e801000000036a00ac7c58df5efba193d33d9549547f6ca839f93e14fa0e111f780c28c60cc938f785b363941b00000000076351516552ac5265e51fcd0308e9830400000000026a00ab72190300000000016a63d07100000000000400516a6300000000", "53005165ac5165", 0, 229563932, "697786b0b18e62ce643820fe413370ccf6e65c05da239adeb7ca293f2dc2d72d"], - ["2aee6b9a02172a8288e02fac654520c9dd9ab93cf514d73163701f4788b4caeeb9297d2e2503000000036363008fb36695528d7482710ea2926412f877a3b20acae31e9d3091406bfa6b62ebf9d9d2a6470100000009535165536a63520065ffffffff03f7b560050000000002ac6a9a8338050000000000206ce90000000000056552516a5100000000", "5252", 1, -1102319963, "77acca2c85f6661df917569fcf9bcf47f7182e06fd3b293ab65a9016fa6d4d50"], - ["9554595203ad5d687f34474685425c1919e3d2cd05cf2dac89d5f33cd3963e5bb43f8706480100000000ffffffff9de2539c2fe3000d59afbd376cb46cefa8bd01dbc43938ff6089b63d68acdc2b02000000096553655251536a6500fffffffff9695e4016cd4dfeb5f7dadf00968e6a409ef048f81922cec231efed4ac78f5d0100000005636a5365006caaf0070162cc6402000000000351635100000000", "", 0, -1105256289, "8d86b7118d8e329f7d51394b29481071c3a51c7679f8034c7311916fa388646a"], - ["04f51f2a0484cba53d63de1cb0efdcb222999cdf2dd9d19b3542a896ca96e23a643dfc45f00200000007acac53510063002b091fd0bfc0cfb386edf7b9e694f1927d7a3cf4e1d2ce937c1e01610313729ef6419ae7030000000165a3372a913c59b8b3da458335dc1714805c0db98992fd0d93f16a7f28c55dc747fe66a5b5030000000753516552536351ffffffff5650b318b3e236802a4e41ed9bc0a19c32b7aa3f9b2cda1178f84499963a0cde000000000165ffffffff0383954f04000000000553ac536363a8fc90030000000000a2e315000000000003ac005100000000", "0053", 2, -1424653648, "b09c5550ca8eab1d602f1bf74e30a5ff23cb391928ca665b4edc55650f6d2786"], - ["5e4fab42024a27f0544fe11abc781f46596f75086730be9d16ce948b04cc36f86db7ad50fd01000000026a00613330f4916285b5305cc2d3de6f0293946aa6362fc087727e5203e558c676b314ef8dd401000000001af590d202ba496f040000000001009e3c9604000000000351ac51943d64d3", "51ac510052", 1, -129301207, "556c3f90aa81f9b4df5b92a23399fe6432cf8fecf7bba66fd8fdb0246440036c"], - ["a115284704b88b45a5f060af429a3a8eab10b26b7c15ed421258f5320fa22f4882817d6c2b0300000003005300ffffffff4162f4d738e973e5d26991452769b2e1be4b2b5b7e8cbeab79b9cf9df2882c040000000006636aac63ac5194abc8aa22f8ddc8a7ab102a58e39671683d1891799d19bd1308d24ea6d365e571172f1e030000000700515352515153ffffffff4da7ad75ce6d8541acbb0226e9818a1784e9c97c54b7d1ff82f791df1c6578f60000000000ffffffff01b1f2650400000000080051ac656a516a5300000000", "516352535265", 0, -1269106800, "063a8b77e343f75d9b2613f7cc76fc125bba68647417cf403b15eec0e80cabac"], - ["f3f771ae02939752bfe309d6c652c0d271b7cab14107e98032f269d92b2a8c8853ab057da80100000004636a6365670c305c38f458e30a7c0ab45ee9abd9a8dc03bae1860f965ffced879cb2e5d0bb156821020000000153ffffffff025dc619050000000002ac51ec0d250100000000076a5200636a6363333aecd8", "650053ac515100", 1, 1812404608, "a7aa34bf8a5644f03c6dd8801f9b15ba2e07e07256dbf1e02dad59f0d3e17ea9"], - ["fd3e267203ae7d6d3975e738ca84f12540229bb237dd228d5f688e9d5ba53fce4302b0334d01000000026353ffffffff602a3ab75af7aa951d93093e345ef0037a2863f3f580a9b1a575fffe68e677450300000000239e476d1e8f81e8b6313880d8a49b27c1b00af467f29756e76f675f084a5676539636ab0300000006656351acac52d9217747044d773204000000000752ac51526353acc33e45050000000005516500005115d8890400000000035163510cbbbd0200000000016500000000", "65ac526aac6a5352", 2, -886179388, "8763fc77056569a497af457b5e809a453eb8da68b41c33c1df94d4a90fb88f37"], - ["f380ae23033646af5dfc186f6599098015139e961919aea28502ea2d69474413d94a555ea2000000000753635265acac5314da394b99b07733341ddba9e86022637be3b76492992fb0f58f23c915098979250a966203000000026300ffffffff4bb6d1c0a0d84eac7f770d3ad0fdc5369ae42a21bbe4c06e0b5060d5990776220300000000ffffffff0486fd70020000000007ac6500635252acf3fd72010000000005656a6a6551212de90500000000096365006a63635153000fa33100000000000600535151656300000000", "52", 2, -740890152, "f804fc4d81f039009ed1f2cccb5c91da797543f235ac71b214c20e763a6d86d7"], - ["5c45d09801bb4d8e7679d857b86b97697472d514f8b76d862460e7421e8617b15a2df217c6010000000763acac6565006affffffff01156dbc03000000000952ac63516551ac6aac00000000", "6aac", 0, 1310125891, "270445ab77258ced2e5e22a6d0d8c36ac7c30fff9beefa4b3e981867b03fa0ad"], - ["4ecc6bde030ca0f83c0ed3d4b777f94c0c88708c6c933fe1df6874f296d425cac95355c23d0000000006ac6a51536a52f286a0969d6170e20f2a8000193807f5bc556770e9d82341ef8e17b0035eace89c76edd50200000007ac65525100656affffffff5bade6e462fac1927f078d69d3a981f5b4c1e59311a38efcb9a910aa436afaa80000000006ac6a00635252ffffffff0331e58902000000000663ac53636352b8b3ca000000000001637a1d26040000000008535263ac6a5352655ae34a39", "6a65", 2, 2142728517, "303c8dd6fefd68fef70b0248077adda35feeabfbe747e6c5b93d6fc260ccef93"], - ["a59484b501eb50114be0fc79e72ab9bc9f4a5f7acdf274a56d6b68684eb68cf8b07ec5d1c20000000004650000639e09aa940141e3530200000000046500ac6500000000", "00516565", 0, -1561622405, "d60bbadd2cc0674100baa08d0e0493ee4248f0304b3eb778da942041f503a896"], - ["53dc1a88046531c7b57a35f4d9adf101d068bf8d63fbbedaf4741dba8bc5e92c8725def571030000000453655251fcdf116a226b3ec240739c4c7493800e4edfe67275234e371a227721eac43d3d9ecaf1b50300000003ac0052ffffffff2c9279ffeea4718d167e9499bd067600715c14484e373ef93ae4a31d2f5671ab0000000009516553ac636a6a65001977752eeba95a8f16b88c571a459c2f2a204e23d48cc7090e4f4cc35846ca7fc0a455ce00000000055165ac0063188143f80205972902000000000765ac63ac516353c7b6a50000000000036a510000000000", "655351536a", 0, 103806788, "b276584d3514e5b4e058167c41dc02915b9d97f6795936a51f40e894ed8508bc"], - ["53f8959f01ddb36afdcd20167edcbb75a63d18654fdcf10bc0004c761ab450fe236d79cb2702000000065151650063653435003a033a5e34050000000009ac52516a630000516ab86db3030000000002006344ac09050000000003636300f3644537", "526363ac656353", 0, -218513553, "bd6a5101606e537e04162097a0f3b41064c169e69a7b7dd8d55fa83c3c5a882d"], - ["5a06cb4602dcfc85f49b8d14513f33c48f67146f2ee44959bbca092788e6823b2719f3160b02000000003c013f2518035b9ea635f9a1c74ec1a3fb7496a160f46aae2e09bfc5cd5111a0f20969e003000000015158c89ab7049f20d6010000000007ac6a52ac53515349765e000000000002006382926301000000000353510086da09010000000006656a6365525300000000", "526a63", 1, 1502936586, "b4e5e9952c80304d55168d73865f628e2b3e5b3edc1fe2bfa1170add4648e544"], - ["ca9d84fa0129011e1bf27d7cb71819650b59fb292b053d625c6f02b0339249b498ff7fd4b601000000025352ffffffff032173a00400000000065252535152639473bb030000000009005153526a53535151d085bd0000000000076a53655165655300000000", "005152ac51", 0, 580353445, "b7cfd728f53e2aaf77008ae898df3fcd49955298a7f69a50b1532b0db98031ad"], - ["e3cdbfb4014d90ae6a4401e85f7ac717adc2c035858bf6ff48979dd399d155bce1f150daea0300000002ac51a67a0d39017f6c71040000000005535200535200000000", "", 0, -1899950911, "c1c7df8206e661d593f6455db1d61a364a249407f88e99ecad05346e495b38d7"], - ["b2b6b9ab0283d9d73eeae3d847f41439cd88279c166aa805e44f8243adeb3b09e584efb1df00000000026300ffffffff7dfe653bd67ca094f8dab51007c6adaced09de2af745e175b9714ca1f5c68d050000000003ac6500aa8e596903fd3f3204000000000553ac6a6a533a2e210500000000055253ac526392d0ee0200000000075200656352005200000000", "65acacac65005365", 0, 28298553, "3e9fab68740cb0d44d2b4aebffeb03df92b3aa1f0302b6f045071b2f34a362f8"], - ["f30c5c3d01a6edb9e10fafaf7e85db14e7fec558b9dca4a80b05d7c3a2944d282c5018f4680200000003005263ffffffff04aac3530300000000026551bc2419010000000008005163ac6a5100658e7085050000000000c5e4ec050000000006656a6a6353652d8e8882", "ac53005251ac52", 0, -490287546, "bb73343cf104b71c3b830f6099a197af9703ccf6b3bdee5608dde7821cc14a72"], - ["4314339e01de40faabcb1b970245a7f19eedbc17c507dac86cf986c2973715035cf95736ae020000000165bde67b900151510b04000000000853ac00655200535300000000", "52", 0, 399070095, "47585dc25469d04ff3a60939d0a03779e3e81a411bf0ca18b91bb925ebd30718"], - ["2d4cf4e9031b3e175b2ff18cd933151379d9cfac4713d8bd0e63b70bd4a92277aa7af901ab000000000465515353ffffffff557666c7f3be9cdecdad44c3df206eb63a2da4ed1f159d21193882a9f0340081020000000663535252ac63ffffffff8a8c897bdb87e93886aad5ded9d82a13101d5476554386373646ca5e23612e450300000007006a5265526a635ac03fc00198bb02040000000009525100526a6563636a1d052834", "52ac00acac6a", 0, -1469882480, "09ed6563a454814ab7e3b4c28d56d8751162b77df1825b37ba66c6147750b2a3"], - ["f063171b03e1830fdc1d685a30a377537363ccafdc68b42bf2e3acb908dac61ee24b37595c020000000665ac51006aacf447bc8e037b89d6cadd62d960cc442d5ced901d188867b5122b42a862929ce45e7b628d010000000153a009a1ba42b00f1490b0b857052820976c675f335491cda838fb7934d5eea0257684a2a202000000001e83cf2401a7f7770300000000076553526a53526a00000000", "", 2, 1984790332, "581d480ec4e2a459808f85e76f1242c14daba43eaff63fe305ffd1b86407faba"], - ["cf7bdc250249e22cbe23baf6b648328d31773ea0e771b3b76a48b4748d7fbd390e88a004d30000000003ac536a4ab8cce0e097136c90b2037f231b7fde2063017facd40ed4e5896da7ad00e9c71dd70ae600000000096a0063516352525365ffffffff01b71e3e00000000000300536a00000000", "", 1, 546970113, "6a815ba155270af102322c882f26d22da11c5330a751f520807936b320b9af5d"], - ["ac7a125a0269d35f5dbdab9948c48674616e7507413cd10e1acebeaf85b369cd8c88301b7c030000000863656aac6a530053ffffffffed94c39a582e1a46ce4c6bffda2ccdb16cda485f3a0d94b06206066da12aecfe01000000055263536363ef71dcfb02ee07fa0400000000016a6908c802000000000651656a6551ac688c2c2d", "6a6351526551", 0, 858400684, "f8268f4a29450b932e62c73b294f7159d69face8c0d772a874071fbe1fa7668e"], - ["3a1f454a03a4591e46cf1f7605a3a130b631bf4dfd81bd2443dc4fac1e0a224e74112884fe0000000005516aac6a53a87e78b55548601ffc941f91d75eab263aa79cd498c88c37fdf275a64feff89fc1710efe03000000016a39d7ef6f2a52c00378b4f8f8301853b61c54792c0f1c4e2cd18a08cb97a7668caa008d970200000002656affffffff017642b20100000000086a63535253ac6a6528271998", "51", 2, 1459585400, "94ebe4e031f4ab2b13a16fe952be55051aa07311b400b54c0aceab84eb17dcd1"], - ["f59366cc0114c2a18e6bd1347ed9470f2522284e9e835dd5c5f7ef243639ebea95d9b232b6020000000153474b62eb045c001705000000000763525163525200038a520400000000076a5253656a63005b968904000000000963536353ac0053635387106002000000000000000000", "5252630051", 0, 1834116153, "460fa39c72197ab17b10c1a1314f0e332045614c9b4485e94cae6084cabafced"], - ["6269e0fa0173e76e89657ca495913f1b86af5b8f1c1586bcd6c960aede9bc759718dfd5044000000000352ac530e2c7bd90219849b000000000005006a53006319f28100000000000600515165ac5200000000", "6a", 0, -2039568300, "d85c366955acbeefef093d85487bfc41a6611942a6e596154fd064b6afc8343a"], - ["eb2bc00604815b9ced1c604960d54beea4a3a74b5c0035d4a8b6bfec5d0c9108f143c0e99a0000000000ffffffff22645b6e8da5f11d90e5130fd0a0df8cf79829b2647957471d881c2372c527d8010000000263acffffffff1179dbaf17404109f706ae27ad7ba61e860346f63f0c81cb235d2b05d14f2c1003000000025300264cb23aaffdc4d6fa8ec0bb94eff3a2e50a83418a8e9473a16aaa4ef8b855625ed77ef40100000003ac51acf8414ad404dd328901000000000652526500006ab6261c000000000002526a72a4c9020000000006ac526500656586d2e7000000000006656aac00ac5279cd8908", "51", 1, -399279379, "d37532e7b2b8e7db5c7c534197600397ebcc15a750e3af07a3e2d2e4f84b024f"], - ["dc9fe6a8038b84209bbdae5d848e8c040433237f415437592907aa798bf30d9dbbddf0ff85010000000153ffffffff23269a7ea29fcf788db483b8d4c4b35669e582608644259e950ce152b0fa6e050000000001acffffffff65de94857897ae9ea3aa0b938ba6e5adf374d48469922d2b36dbb83d3b8c8261010000000452ac5200ffffffff02856e9b0300000000026a51980c8e0200000000026563d2648db4", "000051ac526565", 2, 1562581941, "19afe3555f84c947b5569ca320278734ce9a2ebd612c53ac4f253d1a4d2f3e52"], - ["eba8b0de04ac276293c272d0d3636e81400b1aaa60db5f11561480592f99e6f6fa13ad387002000000060053ac536563bebb23d66fd17d98271b182019864a90e60a54f5a615e40b643a54f8408fa8512cfac927030000000663ac6a6aac65ffffffff890a72192bc01255058314f376bab1dc72b5fea104c154a15d6faee75dfa5dba020000000100592b3559b0085387ac7575c05b29b1f35d9a2c26a0c27903cc0f43e7e6e37d5a60d8305a030000000152ffffffff0126518f05000000000000000000", "005300635252635351", 1, 664344756, "26dc2cba4bd5334e5c0b3a520b44cc1640c6b923d10e576062f1197171724097"], - ["91bd040802c92f6fe97411b159df2cd60fb9571764b001f31657f2d616964637605875c2a901000000055263006a65ffffffff3651df372645f50cf4e32fdf6e61c766e912e16335db2b40c5d52fe89eefe7cd0000000003006565ffffffff03ca862503000000000751ac6353005252c6bf140200000000040052005167d27000000000000653525351636a00000000", "515163005252ac", 1, 1983087664, "88b96f7714e48321f4d0e4956ff46cf936ee3b14996e89bc946084a9acb60dc1"], - ["185cda1a01ecf7a8a8c28466725b60431545fc7a3367ab68e34d486e8ea85ee3128e0d8384000000000365ac63ec88b7bb031c56eb04000000000965636a51005252006a7c78d5040000000006acac63ac51ac3024a40500000000076300526a51ac51464c0e8c", "0065535265515352", 0, 1594558917, "506c9f2b971f1649c8646a197afc2bfd1980ae798c02241232c6e447097e9415"], - ["a9531f07034091668b65fea8b1a79700d586ac9e2f42ca0455a26abe41f9e1805d009a0f5702000000086365516365ac52633619bac643a9e28ee47855118cf80c3a74531cdf198835d206d0fe41804e325a4f9f105e03000000016a58e3ab0d46375d98994daf0fa7c600d2bb4669e726fca0e3a3f21ea0d9e777396740328f0100000007636a5363526a538d3ea7700304cb6603000000000551516352510184030500000000085353636565ac0051d9cff402000000000451525352f0e36254", "5353ac5365ac", 2, 1633101834, "35afb21a41f5ad9544c63c29ebdd68a8cfac03ac245145ca32b753ab3a694de3"], - ["6b5ecc7903fe0ba37ea551df92a59e12bad0a3065846ba69179a8f4a741a2b4fcf679aac810200000004535263529a3d343293b99ab425e7ef8529549d84f480bcd92472bab972ea380a302128ae14dfcd0200000000025163ffffffff24636e4545cab9bf87009119b7fc3ec4d5ee9e206b90f35d1df8a563b6cd097a010000000652ac53005153c64467860406e832020000000009526300006a53ac6352ac1395010000000002ac53b117f300000000000763655351ac00651edf0203000000000751ac6353535252628ef71d", "636a52ac526563", 2, -1559697626, "4f27b1102f3f8633a693225835fbdca8681563b5c8b64bbc6e0df559caa3bbbf"], - ["92c9fb780138abc472e589d5b59489303f234acc838ca66ffcdf0164517a8679bb622a4267020000000153468e373d04de03fa020000000008ac006a52655163006af649050000000007515153006a00658ceb59030000000001ac36afa00200000000075300635151000000000000", "6a", 0, 2059357502, "6904a629cc6b1a2b724c64d95361a4621b49de81a1333a88438700cbce0bff8b"], - ["6f62138301436f33a00b84a26a0457ccbfc0f82403288b9cbae39986b34357cb2ff9b889b302000000045253655335a7ff6701bac9960400000000076552656352635200000000", "6aac51", 0, 1444414211, "65eed736c4dc78083dcdca7fe92d9a24a4390efc1abb835f88c16d702f48849a"], - ["9981143a040a88c2484ac3abe053849e72d04862120f424f373753161997dd40505dcb4783030000000700536365536565a2e10da3f4b1c1ad049d97b33f0ae0ea48c5d7c30cc8810e144ad93be97789706a5ead180100000003636a00ffffffffbdcbac84c4bcc87f03d0ad83fbe13b369d7e42ddb3aecf40870a37e814ad8bb5010000000863536a5100636a53ffffffff883609905a80e34202101544f69b58a0b4576fb7391e12a769f890eef90ffb72020000000651656352526affffffff042436600000000000035352534a9ce0010000000007636563636a53652df19d030000000003ac65acedc51700000000000000000000", "ac6300acac", 2, 293672388, "a9544ab8326a6361ccde6e11a052bff5196da8915168f22b39a05d71925e5307"], - ["a2bb630b01989bc5d643f2da4fb9b55c0cdf846ba06d1dbe372893024dbbe5b9b8a1900af802000000055265ac63aca7a68d2f04916c74010000000002ac007077f0040000000001007d4127010000000005ac516aac000f31e8030000000000571079c9", "650051ac", 0, -1103627693, "9489487125feeb56a6df08aa2aba65f204d36af8f41773a584dd0ed03fd4c06e"], - ["49f7d0b6037bba276e910ad3cd74966c7b3bc197ffbcfefd6108d6587006947e97789835ea0300000008526a52006a650053ffffffff8d7b6c07cd10f4c4010eac7946f61aff7fb5f3920bdf3467e939e58a1d4100ab03000000076aac63ac535351ffffffff8f48c3ba2d52ad67fbcdc90d8778f3c8a3894e3c35b9730562d7176b81af23c801000000025265ffffffff0301e3ef0300000000046a525353e899ac05000000000551536a65ac259bea0400000000007b739972", "53516aacac6aac", 1, 955403557, "47434a0456d729f4bcd49b17705e0501f637030c540a6ba11bf96b351ebdc2e7"], - ["58a4fed801fbd8d92db9dfcb2e26b6ff10b120204243fee954d7dcb3b4b9b53380e7bb8fb60100000003006351ffffffff02a0795b050000000006536351ac6aac2718d00200000000065151acac515354d21ba1", "005363515351", 0, -1322430665, "44b83f4912c1f88d89f746acb5cac17b353106dc34255a32fb624f679db565c8"], - ["32765a0b02e455793d9ce530e9f6a44bcbc612e893a875b5da61d822dc56d8245166c398b403000000075353ac6300006a6bdee2a78d0d0b6a5ea666eed70b9bfea99d1d612ba3878f615c4da10d4a521cba27155002000000025363ffffffff043cd42401000000000551656a53653685320100000000030000511881bc0500000000045165636a20169f010000000006ac656aac63acdb0706a8", "65ac5353", 0, 1936499176, "89f352d307c9e980e4d5b04f8c08f165ead050345cb732b934a8dcd11023fd26"], - ["17fad0d303da0d764fedf9f2887a91ea625331b28704940f41e39adf3903d8e75683ef6d46020000000151ffffffffff376eea4e880bcf0f03d33999104aafed2b3daf4907950bb06496af6b51720a020000000900636a63525253525196521684f3b08497bad2c660b00b43a6a517edc58217876eb5e478aa3b5fda0f29ee1bea00000000036aac6affffffff03dde8e2050000000007ac5365ac51516a14772e000000000004630000acbbb3600100000000045251656a50f180f0", "0053", 0, -1043701251, "dbd390e8f1bd34f78ea2ee2bcc975a94f00a94bf8a5704af9585b40f95f8aa84"], - ["236c32850300045e292c84ede2b9ab5733ba08315a2bb09ab234c4b4e8894808edbdac0d3b020000000553635363acffffffffd3f696bb31fdd18a72f3fc2bb9ae54b416a253fc37c1a0f0180b52d35bad49440100000003650053ffffffffa85c75a2406d82a93b12e555b66641c1896a4e83ae41ef1038218311e38ace060200000004006a51ac104b5e6701e2842c04000000000700630051ac000000000000", "63ac6a516a", 1, -1709887524, "02fdf4ccd26d4f2b3dc85a096d0975791ffe58590906589f6c3e004fe7e58d59"], - ["b78d5fd601345f3100af494cdf447e7d4076179f940035b0ebe8962587d4d0c9c6c9fc34ee0300000003516a6affffffff03dc5c890100000000085353ac53ac6a52534ac941040000000006ac63656a5151d4266b0100000000036aacac70731f2d", "0053510053", 0, -1789071265, "3eb5554f372e9d3a8f3bf326b1b901b68caa1f99a55009b69f83fcfadd13e520"], - ["5a2257df03554550b774e677f348939b37f8e765a212e566ce6b60b4ea8fed4c9504b7f7d10000000005536552655258b67bb931df15b041177cf9599b0604160b79e30f3d7a594e7826bae2c29700f6d8f8f40300000005515300ac6a159cf8808a41f504eb5c2e0e8a9279f3801a5b5d7bc6a70515fbf1c5edc875bb4c9ffac500000000050063510052ffffffff0422a90105000000000965006a650000516a006417d202000000000552636300524d969d0100000000035153acc4f077040000000005ac5200636500000000", "6a52", 1, -1482463464, "fe2c31bf623e4271b5c95a5b55b537adea161cdf2588778452ff6d5ac00cfd54"], - ["e0032ad601269154b3fa72d3888a3151da0aed32fb2e1a15b3ae7bee57c3ddcffff76a1321010000000100110d93ae03f5bd080100000000075263516a6551002871e60100000000046a005252eaa7530400000000026a526e325c71", "630052", 0, -1857873018, "1124ce2eef893700a2903b96908a37a0df0b979c818f0e93d4a78b138337fa56"], - ["014b2a5304d46764817aca180dca50f5ab25f2e0d5749f21bb74a2f8bf6b8b7b3fa8189cb7030000000865ac51656a51ac6360ecd91e8abc7e700a4c36c1a708a494c94bb20cbe695c408543146566ab22be43beae910300000003516300ffffffffffa48066012829629a9ec06ccd4905a05df0e2b745b966f6a269c9c8e13451fc00000000026565ffffffffc40ccadc21e65fe8a4b1e072f4994738ccaf4881ae6fede2a2844d7da4d199ab02000000045152536affffffff01b6e0540300000000035153523e063432", "", 0, 1056459916, "ec6c440ffff776852f6c49bdf50492ff9a6c8ef4fc8784a6b5a7542f4c985e9c"], - ["c4ef04c103c5dde65410fced19bf6a569549ecf01ceb0db4867db11f2a3a3eef0320c9e8e001000000075100536a53516affffffff2a0354fa5bd96f1e28835ffe30f52e19bd7d5150c687d255021a6bec03cf4cfd03000000056a006300514900c5b01d3d4ae1b97370ff1155b9dd0510e198d266c356d6168109c54c11b4c283dca00300000000ffffffff02e19e3003000000000451655351fa5c0003000000000163ef1fc64b", "51636a51630065", 1, -1754709177, "0a281172d306b6a32e166e6fb2a2cc52c505c5d60ea448e9ba7029aa0a2211e1"], - ["29083fe00398bd2bb76ceb178f22c51b49b5c029336a51357442ed1bac35b67e1ae6fdf13100000000056a6500ac51ffffffffe4ca45c9dc84fd2c9c47c7281575c2ba4bf33b0b45c7eca8a2a483f9e3ebe4b3010000000100ffffffffdf47ad2b8c263fafb1e3908158b18146357c3a6e0832f718cd464518a219d18303000000096352ac656351ac0052daddfb3b0231c36f00000000000400526a5275c7e002000000000000000000", "ac536aac52", 2, 300802386, "56a1cd52ca286e172228097197cf07d76032f4f4acca3579e2f2e999b1dd710b"], - ["1201ab5d04f89f07c0077abd009762e59db4bb0d86048383ba9e1dad2c9c2ad96ef660e6d002000000066a65ac5200652466fa5143ab13d55886b6cdc3d0f226f47ec1c3020c1c6e32602cd3428aceab544ef43e00000000086a6a6a526a6a5263ffffffffd5be0b0be13ab75001243749c839d779716f46687e2e9978bd6c9e2fe457ee480200000001651e1bac0f72005cf638f71a3df2e3bbc0fa35bf00f32d9c7dc9c39a5e8909f7d53170c8ae02000000076a51516363516affffffff02f0a6210500000000036300ac867356010000000008ac65ac6353536a659356d367", "ac53535252", 0, 917543338, "7f0248e34c12668b8355c50d21c8dbb20c217bd331d1f800b9950cadaf32375a"], - ["344fa11e01c19c4dd232c77742f0dd0aeb3695f18f76da627628741d0ee362b0ea1fb3a2180200000007635151005100529bab25af01937c1f050000000004515353656e7630af", "6351005163ac51", 0, -629732125, "9e2512e57162703e8658db721dddba7badc4561d7d673a13ad64b7b0f1e621ec"], - ["b2fda1950191358a2b855f5626a0ebc830ab625bea7480f09f9cd3b388102e35c0f303124c030000000465ac6553ffffffff03f9c5ec0400000000066551516551650e2b9f0500000000045365525284e8f6040000000001ac00000000", "ac51655253", 0, 1433027632, "f960e775db95cfa932146db23f878b7f06b0c25882d3345530dbfffaaba05edb"], - ["a4a6bbd201aa5d882957ac94f2c74d4747ae32d69fdc765add4acc2b68abd1bdb8ee333d6e0300000007516a6552515152ffffffff02c353cb040000000006ac635151536588bd320500000000066552525253ac00000000", "", 0, 1702060459, "9ec678b38b1a7a4745426e48f41d86fe63bb45b043b2b0303aac98e1eab8d3a1"], - ["584e8d6c035a6b2f9dac2791b980a485994bf38e876d9dda9b77ad156eee02fa39e19224a60300000002636529db326cc8686a339b79ab6b6e82794a18e0aabc19d9ad13f31dee9d7aad8eff38288588020000000452530052ffffffff09a41f07755c16cea1c7e193c765807d18cadddca6ec1c2ed7f5dcdca99e90e80000000001acffffffff01cba62305000000000451ac63acccdf1f67", "536a6363", 2, -27393461, "1125645b49202dca2df2d76dae51877387903a096a9d3f66b5ac80e042c95788"], - ["83a583d204d926f2ee587a83dd526cf1e25a44bb668e45370798f91a2907d184f7cddcbbc70300000006006565536a539f71d3776300dffdfa0cdd1c3784c9a1f773e34041ca400193612341a9c42df64e3f550e01000000050052515251ffffffff52dab2034ab0648553a1bb8fc4e924b2c89ed97c18dfc8a63e248b454035564b01000000015139ab54708c7d4d2c2886290f08a5221cf69592a810fd1979d7b63d35c271961e710424fd0300000005ac65ac5251ffffffff01168f7c030000000000a85e5fb0", "6a536353656a00", 0, 179595345, "5350a31ac954a0b49931239d0ecafbf34d035a537fd0c545816b8fdc355e9961"], - ["ffd35d51042f290108fcb6ea49a560ba0a6560f9181da7453a55dfdbdfe672dc800b39e7320200000006630065516a65f2166db2e3827f44457e86dddfd27a8af3a19074e216348daa0204717d61825f198ec00301000000025100ffffffffdf41807adb7dff7db9f14d95fd6dc4e65f8402c002d009a3f1ddedf6f4895fc8030000000400006a65a5a848345052f860620abd5fcd074195548ce3bd0839fa9ad8642ed80627bf43a0d47dbd010000000665006a656a53b38cdd6502a186da0500000000056500006a53527c0e010000000007536551acacac52534bd1b1", "6a635253ac0000", 0, 1095082149, "9b0ea712da894a5f42871402d7326598daa56a42834acc42176360eda79ded43"], - ["6c9a4b98013c8f1cae1b1df9f0f2de518d0c50206a0ab871603ac682155504c0e0ce946f460100000000ffffffff04e9266305000000000753535100ac6aacded39e04000000000365ac6ab93ccd010000000002515397bf3d050000000002636300000000", "63520052ac656353", 0, -352633155, "ab8a6224bf7cd47dd82e382e18440a9041dda6bd57729ffed39ddcb9ab2274ed"], - ["e01dc7f0021dc07928906b2946ca3e9ac95f14ad4026887101e2d722c26982c27dc2b59fdb0000000005ac5200516ab5a31ffadcbe74957a5a3f97d7f1475cc6423fc6dbc4f96471bd44c70cc736e7dec0d1ea020000000851636a526a52ac53ffffffff04bc2edd05000000000152528c7b02000000000952ac51526500525353324820040000000002005380c71300000000000863006500ac525252451bbb48", "5365ac", 0, -552384418, "7578c44d2ab1f5cbd8a509b56a6ea64192e76390dab45659edeb23621ce55bdb"], - ["009046a1023f266d0113556d604931374d7932b4d6a7952d08fbd9c9b87cbd83f4f4c178b4030000000452ac526346e73b438c4516c60edd5488023131f07acb5f9ea1540b3e84de92f4e3c432289781ea4900000000046500655357dfd6da02baef910100000000026a007d101703000000000700516500acac5100000000", "6a6553ac", 0, -802456605, "f8757fbb4448ca34e0cd41b997685b37238d331e70316659a9cc9087d116169d"], - ["df76ec0801a3fcf3d18862c5f686b878266dd5083f16cf655facab888b4cb3123b3ce5db7e01000000010010e7ac6a0233c83803000000000365ac51faf14a040000000004ac51655100000000", "6353ac", 0, 15705861, "e7d873aa079a19ec712b269a37d2670f60d8cb334c4f97e2e3fd10eeb8ee5f5e"], - ["828fd3e0031084051ccef9cfdd97fae4d9cc50c0dae36bd22a3ff332881f17e9756c3e288e0200000003535363961a2ccccaf0218ec6a16ba0c1d8b5e93cfd025c95b6e72bc629ec0a3f47da7a4c396dad01000000025353ffffffff19ad28747fb32b4caf7b5dbd9b2da5a264bedb6c86d3a4805cd294ae53a86ac40200000006535353516551ffffffff04a41650030000000003656a6a8331a304000000000700516365ac516a0d2a47010000000005ac516353acdebc190400000000055300636a6300000000", "515253ac52", 0, 1866105980, "c269646f2b9b1a570c1e7f718dd9ce004b73cf57a0d65ef746fb3b16a4b7d611"], - ["c4b80f850323022205b3e1582f1ed097911a81be593471a8dce93d5c3a7bded92ef6c7c1260100000002006affffffff70294d62f37c3da7c5eae5d67dce6e1b28fedd7316d03f4f48e1829f78a88ae801000000096a5200530000516351f6b7b544f7c39189d3a2106ca58ce4130605328ce7795204be592a90acd81bef517d6f170200000000ffffffff012ab8080000000000075100006365006335454c1e", "53ac6a536aacac", 0, -1124103895, "06277201504e6bf8b8c94136fad81b6e3dadacb9d4a2c21a8e10017bfa929e0e"], - ["8ab69ed50351b47b6e04ac05e12320984a63801716739ed7a940b3429c9c9fed44d3398ad40300000006536a516a52638171ef3a46a2adb8025a4884b453889bc457d63499971307a7e834b0e76eec69c943038a0300000000ffffffff566bb96f94904ed8d43d9d44a4a6301073cef2c011bf5a12a89bedbaa03e4724030000000265acb606affd01edea38050000000008515252516aacac6300000000", "65000000006365ac53", 0, -1338942849, "7912573937824058103cb921a59a7f910a854bf2682f4116a393a2045045a8c3"], - ["2484991e047f1cf3cfe38eab071f915fe86ebd45d111463b315217bf9481daf0e0d10902a402000000006e71a424eb1347ffa638363604c0d5eccbc90447ff371e000bf52fc743ec832851bb564a0100000000ffffffffef7d014fad3ae7927948edbbb3afe247c1bcbe7c4c8f5d6cf97c799696412612020000000851536a5353006a001dfee0d7a0dd46ada63b925709e141863f7338f34f7aebde85d39268ae21b77c3068c01d000000000753515100636563ffffffff018478070200000000085200635365ac525341b08cd3", "", 3, 265623923, "b733d44ed509d9eb51f93197cfd3cf20301b2aef237ccf3deba781c98fc500f7"], - ["54839ef9026f65db30fc9cfcb71f5f84d7bb3c48731ab9d63351a1b3c7bc1e7da22bbd508e0300000000442ad138f170e446d427d1f64040016032f36d8325c3b2f7a4078766bdd8fb106e52e8d20000000003656500ffffffff02219aa101000000000551ac5200659646bd02000000000452acacac24c394a5", "ac", 0, 906807497, "0106127dd7901786b645a7feaaa2e49d9bfed8da4afd514475fc7ac5a42420b4"], - ["5036d7080434eb4eef93efda86b9131b0b4c6a0c421e1e5feb099a28ff9dd8477728639f77030000000751516a5351525391429be9cce85d9f3d358c5605cf8c3666f034af42740e94d495e28b9aaa1001ba0c8758030000000600655200006affffffffd838978e10c0c78f1cd0a0830d6815f38cdcc631408649c32a25170099669daa0000000001ac8984227e804ad268b5b367285edcdf102d382d027789250a2c0641892b480c21bf84e3fb0100000000b518041e023d8653010000000001004040fb0100000000080051ac5200636a6300000000", "52ac", 0, 366357656, "bd0e88829afa6bdc1e192bb8b2d9d14db69298a4d81d464cbd34df0302c634c6"], - ["9ad5ccf503fa4facf6a27b538bc910cce83c118d6dfd82f3fb1b8ae364a1aff4dcefabd38f03000000096365655263ac655300807c48130c5937190a996105a69a8eba585e0bd32fadfc57d24029cbed6446d30ebc1f100100000004000053650f0ccfca1356768df7f9210cbf078a53c72e0712736d9a7a238e0115faac0ca383f219d0010000000500536552002799982b0221b8280000000000000c41320000000000086552ac6365636a6595f233a3", "6a5152", 2, 553208588, "f99c29a79f1d73d2a69c59abbb5798e987639e36d4c44125d8dc78a94ddcfb13"], - ["669538a204047214ce058aed6a07ca5ad4866c821c41ac1642c7d63ed0054f84677077a84f030000000653ac6a655353ffffffff70c2a071c115282924e3cb678b13800c1d29b6a028b3c989a598c491bc7c76c5030000000752ac52ac5163ac80420e8a6e43d39af0163271580df6b936237f15de998e9589ec39fe717553d415ac02a4030000000463635153184ad8a5a4e69a8969f71288c331aff3c2b7d1b677d2ebafad47234840454b624bf7ac1d03000000036a6363df38c24a02fbc63a040000000001535ec3dc050000000002536500000000", "635153", 3, -190399351, "663677df67bf45f3358c34fb5296274117ea392c021e6ecd6916d7c2158e19c8"], - ["a7f139e502af5894be88158853b7cbea49ba08417fbbca876ca6614b5a41432be34499987b000000000665635165ac63ffffffff8b8d70e96c7f54eb70da0229b548ced438e1ca2ba5ddd648a027f72277ee1efc0100000000ffffffff044f2c4204000000000165e93f550100000000050000526a6a94550304000000000365536aadc21c0300000000016300000000", "6aacac63635265ac", 1, 2143189425, "6e3f97955490d93d6a107c18d7fe402f1cada79993bb0ff0d096357261b3a724"], - ["3b94438f0366f9f53579a9989b86a95d134256ce271da63ca7cd16f7dd5e4bffa17d35133f010000000100ffffffff1aaad0c721e06ec00d07e61a84fb6dc840b9a968002ce7e142f943f06fd143a10100000007535151ac510053b68b8e9c672daf66041332163e04db3f6048534bd718e1940b3fc3811c4eef5b7a56888b01000000001d58e38c012e38e70000000000075253ac6365536a00000000", "655352", 1, -935223304, "8b289a2649047eecc49da07c69351f67d5b87d60fd1e5f74cdd525833fbcac9b"], - ["e5dca8a20456de0a67e185fa6ea94085ceae478d2c15c73cb931a500db3a1b6735dd1649ec0200000002536a32d11bbdcb81361202681df06a6b824b12b5cb40bb1a672cf9af8f2a836e4d95b783932703000000065100536565acb345085932939eef0c724adef8a57f9e1bf5813852d957c039b6a12d9c2f201ea520fb030000000009ac5352005165acac6a5efc6072f1a421dc7dc714fc6368f6d763a5d76d0278b95fc0503b9268ccfadb48213a2500000000026a53ffffffff039ee1c4020000000008ac53536353535163184018000000000005655265526a9a4a8a050000000001ac00000000", "65536a006553", 2, 1902561212, "83bcf3f2ddb147f75759a0f2a3a80f2ee1b01b7efc25ba83b9802fbd1c3dfa41"], - ["972128b904e7b673517e96e98d80c0c8ceceae76e2f5c126d63da77ffd7893fb53308bb2da0300000005ac655252acffffffff4cac767c797d297c079a93d06dc8569f016b4bf7a7d79b605c526e1d36a40e2202000000085365636aac6a6a6a69928d2eddc836133a690cfb72ec2d3115bf50fb3b0d10708fa5d2ebb09b4810c426a1db01000000060052526300001e8e89585da7e77b2dd2e30625887f0660accdf29e53a614d23cf698e6fc8ab03310e87700000000076a520051acac6555231ddb0330ec2d03000000000100faf4570400000000036a6352bdc42400000000000153d6dd2f04", "", 0, 209234698, "d252eddb74ce116ac306969573d49f4318ea7ad6acd54299a64fc40fb34c0764"], - ["1fb4085b022c6cfb848f8af7ba3ba8d21bd23ffa9f0bfd181cb68bcaaf2074e66d4974a31602000000080000006a6a6500ac6c12c07d9f3dbd2d93295c3a49e3757119767097e7fd5371f7d1ba9ba32f1a67a5a426f00000000000ffffffff018fd2fc04000000000363ac5100000000", "65006a6a526a", 0, 1431502299, "8b7dd0ff12ca0d8f4dbf9abf0abba00e897c2f6fd3b92c79f5f6a534e0b33b32"], - ["5374f0c603d727f63006078bd6c3dce48bd5d0a4b6ea00a47e5832292d86af258ea0825c260000000009655353636352526a6af2221067297d42a9f8933dfe07f61a574048ff9d3a44a3535cd8eb7de79fb7c45b6f47320200000003ac006affffffff153d917c447d367e75693c5591e0abf4c94bbdd88a98ab8ad7f75bfe69a08c470200000005ac65516365ffffffff037b5b7b000000000001515dc4d904000000000004bb26010000000004536a6aac00000000", "516552516352ac", 2, 328538756, "8bb7a0129eaf4b8fc23e911c531b9b7637a21ab11a246352c6c053ff6e93fcb6"], - ["c441132102cc82101b6f31c1025066ab089f28108c95f18fa67db179610247086350c163bd01000000055152526300ffffffff9b8d56b1f16746f075249b215bdb3516cbbe190fef6292c75b1ad8a8988897c3000000000451655300ffffffff02f9078b0000000000070053ac51ac0051c0422105000000000651006563525200000000", "ac51", 0, -197051790, "0d675c36ed969b27c390235835a12d6ff040f6d3d9acd6f1e508d4e5d93dc403"], - ["ab82ad3b04545bd86b3bb937eb1af304d3ef1a6d1343ed809b4346cafb79b7297c09e1648202000000086351ac5200535353ffffffff95d32795bbaaf5977a81c2128a9ec0b3c7551b9b1c3d952876fcb423b2dfb9e80000000005515363acac47a7d050ec1a603627ce6cd606b3af314fa7964abcc579d92e19c7aba00cf6c3090d6d4601000000056a516551633e794768bfe39277ebc0db18b5afb5f0c8117dde9b4dfd5697e9027210eca76a9be20d630000000006005200636aacffffffff01ec2ddc050000000008ac52ac65ac65ac5100000000", "536300", 1, -2070209841, "b362da5634f20be7267de78b545d81773d711b82fe9310f23cd0414a8280801d"], - ["8bff9d170419fa6d556c65fa227a185fe066efc1decf8a1c490bc5cbb9f742d68da2ab7f320100000006000053525365a7a43a80ab9593b9e8b6130a7849603b14b5c9397a190008d89d362250c3a2257504eb810200000005acacac0051ee141be418f003e75b127fd3883dbf4e8c3f6cd05ca4afcaac52edd25dd3027ae70a62a00000000008ac52526a5200536affffffffb8058f4e1d7f220a1d1fa17e96d81dfb9a304a2de4e004250c9a576963a586ae0300000004acac5363b9bc856c039c01d804000000000951656aac53005365acb0724e0000000000036563acea7c7a0000000000036a00ac00000000", "6565", 1, -1349282084, "91e30f9537e6db6647dc14005471ad52c72a408898ce94a20e7335b59d6efddd"], - ["0e1633b4041c50f656e882a53fde964e7f0c853b0ada0964fc89ae124a2b7ffc5bc97ea6230100000005ac6aacacacffffffff2e35f4dfcad2d53ea1c8ada8041d13ea6c65880860d96a14835b025f76b1fbd9000000000351515121270867ef6bf63a91adbaf790a43465c61a096acc5a776b8e5215d4e5cd1492e611f761000000000500ac6a5265ffffffff63b5fc39bcac83ca80ac36124abafc5caee608f9f63a12479b68473bd4bae769000000000865ac52acac5263acffffffff0163153e02000000000600516565515300000000", "6a6aac00", 0, -968477862, "2895286e20c64b3f440f63f31e23c495e96ceeac48e54d858bf6522c07c3cdd2"], - ["2b052c24022369e956a8d318e38780ef73b487ba6a8f674a56bdb80a9a63634c6110fb5154010000000251acffffffff48fe138fb7fdaa014d67044bc05940f4127e70c113c6744fbd13f8d51d45143e01000000005710db3804e01aa9030000000007acac6a516a5152fd55aa01000000000651510000ac636d6026010000000000b97da9000000000000fddf3b53", "006552", 0, 595461670, "bdc139efefac1cea236855c47152424e47b89f7dd79717962da1c8b9009c79fa"], - ["073bc856015245f03b2ea2da62ccedc44ecb99e4250c7042f596bcb23b294c9dc92cfceb6b0200000005516352636afe292fb303b7c3f001000000000352636af3c49502000000000400ac6a535851850100000000056aac65536500000000", "6a53006a52", 0, 247114317, "6d047c82c51fe13a363ebfa6be10eeaaff3d6fe6209fd092b2b56255fc38f9da"], - ["7888b71403f6d522e414d4ca2e12786247acf3e78f1918f6d727d081a79813d129ee8befce0100000006516a63536365ffffffff4a882791bf6400fda7a8209fb2c83c6eef51831bdf0f5dacde648859090797ec030000000153ffffffffbb08957d59fa15303b681bad19ccf670d7d913697a2f4f51584bf85fcf91f1f30200000008526565ac52ac63acffffffff0227c0e8050000000001ac361dc801000000000600515165000000000000", "656a", 2, 1869281295, "9533d9296a82da8c657d102b3d6dc63b721f7833d74f2b15ef727348e3f8165a"], - ["cc4dda57047bd0ca6806243a6a4b108f7ced43d8042a1acaa28083c9160911cf47eab910c40200000006526a00006a63e4154e581fcf52567836c9a455e8b41b162a78c85906ccc1c2b2b300b4c69caaaa2ba02303000000065152ac510065ffffffff69696b523ed4bd41ecd4d65b4af73c9cf77edf0e066138712a8e60a04614ea1c03000000036a000016c9045c7df7836e05ac4b2e397e2dd72a5708f4a8bf6d2bc36adc5af3cacefcf074b8b403000000065352ac5252acffffffff01d7e380050000000000cf4e699a", "525163656351", 1, -776533694, "ff18c5bffd086e00917c2234f880034d24e7ea2d1e1933a28973d134ca9e35d2"], - ["b7877f82019c832707a60cf14fba44cfa254d787501fdd676bd58c744f6e951dbba0b3b77f0200000009ac515263ac53525300a5a36e500148f89c0500000000075265ac6a6a65ac00000000", "6563", 0, -1785108415, "5f1917641e3c3a887026c455b25fc2ee58b1f01d79dec20b4f763cc6e9d9f7e3"], - ["aeb14046045a28cc59f244c2347134d3434faaf980961019a084f7547218785a2bd03916f3000000000165f852e6104304955bda5fa0b75826ee176211acc4a78209816bbb4419feff984377b2352200000000003a94a5032df1e0d60390715b4b188c330e4bb7b995f07cdef11ced9d17ee0f60bb7ffc8e0100000002516513e343a5c1dc1c80cd4561e9dddad22391a2dbf9c8d2b6048e519343ca1925a9c6f0800a020000000665516365ac513180144a0290db270000000000046551515138b1870100000000055363ac516a9e5cd98a", "53ac", 0, 478591320, "4a2ffc462c302c55bb020ea074fb1064b574bff3d9bc9742807b68055c0d97e5"], - ["c9270fe004c7911b791a00999d108ce42f9f1b19ec59143f7b7b04a67400888808487bd59103000000066a0052ac6565b905e76687be2dd7723b22c5e8269bc0f2000a332a289cfc40bc0d617cfe3214a61a85a30300000007ac63ac00635251560871209f21eb0268f175b8b4a06edd0b04162a974cf8b5dada43e499a1f22380d35ede0300000000792213fc58b6342cc8100079f9f5f046fb89f2d92cf0a2cb6d07304d32d9da858757037c000000000651636565516affffffff02c72a8b03000000000452acac530dfb9f05000000000096f94307", "5253536351", 3, 543688436, "0278adbcc476d135493ae9bdcd7b3c2002df17f2d81c17d631c50c73e546c264"], - ["57a5a04c0278c8c8e243d2df4bb716f81d41ac41e2df153e7096f5682380c4f441888d9d260300000002636afdbe4203525dff42a7b1e628fe22bccaa5edbb34d8ab02faff198e085580ea5fcdb0c61b0000000002ac6affffffff03375e6c05000000000563516a6a513cb6260400000000007ca328020000000005516a636a5294701cc7", "0053ac5152", 0, -550925626, "45485ce2e926bf8ee366ac0b0903540562ac05f3c5cdc881baf9dce1e142d1e7"], - ["072b75a504ad2550c2e9a02614bc9b2a2f50b5b553af7b87c0ef07c64ddc8d8934c96d216401000000026aaca1387242a5bcd21099b016ad6045bed7dce603472757d9822cc5f602caa4ae20414d378b02000000026a63e4ac816734acdc969538d6f70b8ab43a2589f55e0177a4dc471bdd0eb61d59f0f46f6bb801000000055351526a52d9f2977be76a492c3a7617b7a16dc29a3b0a7618f328c2f7d4fd9bafe760dc427a5066ef000000000465635165ffffffff02c5793600000000000165296820050000000002ac6300000000", "53006a6aac0052", 2, 66084636, "437e89bb6f70fd2ed2feef33350b6f6483b891305e574da03e580b3efd81ae13"], - ["7e27c42d0279c1a05eeb9b9faedcc9be0cab6303bde351a19e5cbb26dd0d594b9d74f40d2b020000000200518c8689a08a01e862d5c4dcb294a2331912ff11c13785be7dce3092f154a005624970f84e0200000000500cf5a601e74c1f0000000000066a52636a6a5200000000", "6500006a5351", 0, 449533391, "c31419c6afa744a7c065dd62e90f1e96c6cbcceb7304c559fed7d81909679d26"], - ["11414de403d7f6c0135a9df01cb108c1359b8d4e105be50a3dcba5e6be595c8817217490b20000000003005263ffffffff0c6becb9c3ad301c8dcd92f5cbc07c8bed7973573806d1489316fc77a829da03030000000700005253535352ffffffff2346d74ff9e12e5111aa8779a2025981850d4bf788a48de72baa2e321e4bc9ca00000000046352ac63cc585b64045e03850500000000075253516aacac00efa9cf0300000000065200635151acbe80330400000000060063635100000be159050000000007525300655300ac00000000", "51656a0051", 0, 683137826, "d4737f3b58f3e5081b35f36f91acde89dda00a6a09d447e516b523e7a99264d5"], - ["1c6b5f29033fc139338658237a42456123727c8430019ca25bd71c6168a9e35a2bf54538d80100000008536aac52ac6a6a52ffffffff3fb36be74036ff0c940a0247c451d923c65f826793d0ac2bb3f01ecbec80332901000000050000516363ffffffff5d9eca0cf711685105bd060bf7a67321eaef95367acffab36ce8dedddd632ee2000000000652ac6a63ac517167319e032d26de040000000003516363dc38fb010000000000b37b00000000000005520051ac534baba51f", "636300ac6563", 0, -2049129935, "a8ed152739f1c8ac0c96f2c2f7ef5f4bbf4a5a6e6c0ee26a915bebfc385ab27d"], - ["978b9dad0214cfc7ce392d74d9dcc507350dc34007d72e4125861c63071ebf2cc0a6fd4856020000000551ac6a6a52ffffffff47f20734e3370e733f87a6edab95a7a268ae44db7a8974e255614836b22938720200000008635265ac51516553ffffffff0137b2560100000000035252ac2f3363e9", "006a6352", 1, 2014249801, "55611a5fb1483bce4c14c33ed15198130e788b72cd8929b2ceef4dd68b1806bf"], - ["442f1c8703ab39876153c241ab3d69f432ba6db4732bea5002be45c8ca10c3a2356fe0e9590300000001accb2b679cab7c58a660cb6d4b3452c21cd7251a1b77a52c300f655f5baeb6fa27ff5b79880300000003005252e5ccf55712bc8ed6179f6726f8a78f3018a7a0391594b7e286ef5ee99efdcde302a102cc0200000009006352526351536a63ffffffff04443f63030000000005536a6363651405fb020000000008ac5353515253006a9f172b000000000003535263ad5c50050000000007656a65630000ac00000000", "65636a006552", 2, 2125838294, "ec3f58de85a13baae2760020b1776676b18432d43792b3e5ebd8eb43a97994d0"], - ["2b3470dd028083910117f86614cdcfb459ee56d876572510be4df24c72e8f58c70d5f5948b03000000056a65635265da2c3aac9d42c9baafd4b655c2f3efc181784d8cba5418e053482132ee798408ba43ccf90300000000ffffffff047dda4703000000000765516a52ac53009384a603000000000551636a636a8cf57a030000000002526a8cf6a405000000000952636a6a6565525100661e09cb", "ac520063ac6a6a52", 1, 1405647183, "5694adec37b52c6562305644b7790c0115e48f8297e0c60b80656b95513b8da3"], - ["d74282b501be95d3c19a5d9da3d49c8a88a7049c573f3788f2c42fc6fa594f59715560b9b00000000009655353525265ac52ac9772121f028f8303030000000003510065af5f47040000000007ac516a6551630000000000", "ac53006363ac", 0, -1113209770, "2f482b97178f17286f693796a756f4d7bd2dfcdbecd4142528eec1c7a3e5101a"], - ["3a5644a9010f199f253f858d65782d3caec0ac64c3262b56893022b9796086275c9d4d097b02000000009d168f7603a67b30050000000007ac51536a0053acd9d88a0500000000066553635352633cf1f403000000000352ac6a00000000", "005363536565acac6a", 0, -1383947195, "a72af2143af372e06cd7b13b85558a98ffbd937894d99247b6b8aba11a773e4b"], - ["67b3cc43049d13007485a8133b90d94648bcf30e83ba174f5486ab42c9107c69c5530c5e1f0000000003005100ffffffff9870ebb65c14263282ea8d41e4f4f40df16b565c2cf86f1d22a9494cad03a67f01000000016a5a121bee5e359da548e808ae1ad6dfccae7c67cbb8898d811638a1f455a671e822f228ef030000000151c1fcc9f9825f27c0dde27ea709da62a80a2ff9f6b1b86a5874c50d6c37d39ae31fb6c8a0030000000163553b8786020ca74a000000000005656351535275c0760000000000020052e659b05d", "636a6a6a", 0, -342795451, "28524792262542aff915fcbdc306ca1fff8b5d9ea54103eb4693f85a6c779fa0"], - ["bda1ff6804a3c228b7a12799a4c20917301dd501c67847d35da497533a606701ad31bf9d5e0300000001ac16a6c5d03cf516cd7364e4cbbf5aeccd62f8fd03cb6675883a0636a7daeb650423cb1291010000000500656553ac4a63c30b6a835606909c9efbae1b2597e9db020c5ecfc0642da6dc583fba4e84167539a8020000000865525353515200acffffffff990807720a5803c305b7da08a9f24b92abe343c42ac9e917a84e1f335aad785d00000000026a52ffffffff04981f200300000000008c762200000000000153690b9605000000000151ce88b301000000000753526a6a51006500000000", "000052ac52530000", 1, -1809193140, "0396ec42c37e898cb246dcdff66e2a2acfb3640b7a2dd1f603eb786ef59f5bee"], - ["2ead28ff0243b3ab285e5d1067f0ec8724224402b21b9cef9be962a8b0d153d401be99bbee0000000004ac635153ffffffff6985987b7c1360c9fa8406dd6e0a61141709f0d5195f946da55ed83be4e3895301000000020053ffffffff016503d20500000000085251ac6a65656a6a00000000", "51", 1, 1723793403, "67483ee62516be17a2431a163e96fd88a08ff2ce8634a52e42c1bc04e30f3f8a"], - ["db4904e6026b6dd8d898f278c6428a176410d1ffbde75a4fa37cda12263108ccd4ca6137440100000007656a0000515263ffffffff1db7d5005c1c40da0ed17b74cf6b2a6ee2c33c9e0bacda76c0da2017dcac2fc702000000026a53ffffffff0454cf2103000000000153463aef0000000000076a63006552636387e0ed050000000000e8d16f05000000000352ac63e4521b22", "", 1, 1027042424, "12b7f4dd4ac7ae8a65cc28f353305763122f1f2957ea73446fff00ef6c2d3723"], - ["dca31ad10461ead74751e83d9a81dcee08db778d3d79ad9a6d079cfdb93919ac1b0b6187110200000007650052536551ac7f7e9aed78e1ef8d213d40a1c50145403d196019985c837ffe83836222fe3e5955e177e70100000006525152525300ffffffff5e98482883cc08a6fe946f674cca479822f0576a43bf4113de9cbf414ca628060100000006ac53516a5253ffffffff07490b0b898198ec16c23b75d606e14fa16aa3107ef9818594f72d5776805ec502000000036a0052ffffffff01932a28030000000007656551ac6a516a2687aa06", "635300ac", 2, -1880362326, "71d1c5106f3fc844c32f5d75a48b99253efbdf8ef7c08c4ee15335e4aee3ec9d"], - ["e14e1a9f0442ab44dfc5f6d945ad1ff8a376bc966aad5515421e96ddbe49e529614995cafc03000000055165515165fffffffff97582b8290e5a5cfeb2b0f018882dbe1b43f60b7f45e4dd21dbd3a8b0cfca3b0200000000daa267726fe075db282d694b9fee7d6216d17a8c1f00b2229085495c5dc5b260c8f8cd5d000000000363ac6affffffffaab083d22d0465471c896a438c6ac3abf4d383ae79420617a8e0ba8b9baa872b010000000763526563ac5363d948b5ce022113440200000000076a636552006a53229017040000000000e6f62ac8", "526353636a65", 3, -485265025, "1bc8ad76f9b7c366c5d052dc479d6a8a2015566d3a42e93ab12f727692c89d65"], - ["720d4693025ca3d347360e219e9bc746ef8f7bc88e8795162e5e2f0b0fc99dc17116fc937100000000046353520045cb1fd79824a100d30b6946eab9b219daea2b0cdca6c86367c0c36af98f19ac64f3575002000000008a1c881003ed16f3050000000007536a63630000ac45e0e704000000000151f6551a0500000000076353656551536300000000", "65536a6a510000", 1, 1249091393, "107b7fea2a89f1716c836489cb9b794cc56b5003888e650069f0ab919f8bff2c"], - ["69df842a04c1410bfca10896467ce664cfa31c681a5dac10106b34d4b9d4d6d0dc1eac01c1000000000551536a5165269835ca4ad7268667b16d0a2df154ec81e304290d5ed69e0069b43f8c89e673328005e200000000066a5153006aacffffffffc9314bd80b176488f3d634360fcba90c3a659e74a52e100ac91d3897072e3509010000000665ac51636363ffffffff0e0768b13f10f0fbd2fa3f68e4b4841809b3b5ba0e53987c3aaffcf09eee12bf0300000008ac535263526a53ac514f4c2402da8fab0400000000001ef15201000000000451526a52d0ec9aca", "525365ac52", 1, 313967049, "a72a760b361af41832d2c667c7488dc9702091918d11e344afc234a4aea3ec44"], - ["adf2340d03af5c589cb5d28c06635ac07dd0757b884d4777ba85a6a7c410408ad5efa8b1900100000003510000ffffffff808dc0231c96e6667c04786865727013922bcb7db20739b686f0c17f5ba70e8f0300000000fd2332a654b580881a5e2bfec8313f5aa878ae94312f37441bf2d226e7fc953dcf0c77ab000000000163aa73dc580412f8c2050000000005636aacac63da02d502000000000153e74b52020000000001536b293d030000000006636552ac526500000000", "00005252", 0, -568651175, "2ba54d0067af47a7e8902abf4ee382268e78e5ca424047817f408c394b3e8bca"], - ["e4fec9f10378a95199c1dd23c6228732c9de0d7997bf1c83918a5cfd36012476c0c3cba24002000000085165536500ac0000ad08ab93fb49d77d12a7ccdbb596bc5110876451b53a79fdce43104ff1c316ad63501de801000000036a635276af9908463444aeecd32516a04dd5803e02680ed7f16307242a794024d93287595250f4000000000089807279041a82e603000000000200521429100200000000055253636a63f20b940400000000004049ed04000000000300526543dfaf7d", "6563526aac", 2, -1923470368, "a946cd4885bc5e6160ee87e8ab443327ad43ee02ae095859248ababe0c449b4e"], - ["4000d3600100b7a3ff5b41ec8d6ccdc8b2775ad034765bad505192f05d1f55d2bc39d0cbe101000000065165ac6a5163ffffffff034949150100000000026a6a92c9f600000000000565536a635200e697040000000007636a5353525365237ae7d2", "52000063", 0, -880046683, "6174e28e376d36e5cac48ffc38e90f0c425519eb39032142fc7a57baf11c89eb"], - ["eabc0aa701fe489c0e4e6222d72b52f083166b49d63ad1410fb98caed027b6a71c02ab830c0300000006525363530065ffffffff01a5dc0b05000000000253533e820177", "", 0, 954499283, "1d849b92eedb9bf26bd4ced52ce9cb0595164295b0526842ab1096001fcd31b1"], - ["d48d55d304aad0139783b44789a771539d052db565379f668def5084daba0dfd348f7dcf6b00000000006826f59e5ffba0dd0ccbac89c1e2d69a346531d7f995dea2ca6d7e6d9225d81aec257c6003000000096a655200ac656552acffffffffa188ffbd5365cae844c8e0dea6213c4d1b2407274ae287b769ab0bf293e049eb0300000004ac6a6a51ad1c407c5b116ca8f65ed496b476183f85f072c5f8a0193a4273e2015b1cc288bf03e9e2030000000152ffffffff04076f4404000000000465535353be6500050000000003ac65ac3c15040500000000085100536353516a52ed3aba04000000000700ac5353636aac00000000", "5253526563acac", 2, -1506108646, "569e37ae36eff78c39b021a8d2c862ac190488703f4981614d880d4bf19b5544"], - ["9746f45b039bfe723258fdb6be77eb85917af808211eb9d43b15475ee0b01253d33fc3bfc502000000065163006a655312b12562dc9c54e11299210266428632a7d0ee31d04dfc7375dcad2da6e9c11947ced0e000000000009074095a5ac4df057554566dd04740c61490e1d3826000ad9d8f777a93373c8dddc4918a00000000025351ffffffff01287564030000000003636a0000000000", "52", 2, -1380411075, "e091b57aa044402b515b958aa22a05304df52818ce469f15f592c0a6ebbb9d02"], - ["8731b64903d735ba16da64af537eaf487b57d73977f390baac57c7b567cb2770dfa2ef65870100000001635aedd990c42645482340eacb0bfa4a0a9e888057389c728b5b6a8691cdeb1a6a67b45e140200000008ac53526a52516551ffffffff45c4f567c47b8d999916fd49642cbc5d10d43c304b99e32d044d35091679cb860100000003006a51ffffffff0176d6c200000000000000000000", "6a6553", 2, -1221546710, "ccfdba36d9445f4451fb7cbf0752cc89c23d4fc6fff0f3930d20e116f9db0b95"], - ["f5cfc52f016209ab1385e890c2865a74e93076595d1ca77cbe8fbf2022a2f2061a90fb0f3e010000000253acffffffff027de73f0200000000085252ac510052acac49cd6a020000000000e6c2cb56", "51655253530063", 0, -1195302704, "5532717402a2da01a1da912d824964024185ca7e8d4ad1748659dc393a14182b"], - ["df0a32ae01c4672fd1abd0b2623aae0a1a8256028df57e532f9a472d1a9ceb194267b6ee190200000009536a6a51516a525251b545f9e803469a2302000000000465526500810631040000000000441f5b050000000006530051006aaceb183c76", "536a635252ac6a", 0, 1601138113, "9a0435996cc58bdba09643927fe48c1fc908d491a050abbef8daec87f323c58f"], - ["d102d10c028b9c721abb259fe70bc68962f6cae384dabd77477c59cbeb1fb26266e091ba3e0100000002516affffffffe8d7305a74f43e30c772109849f4cd6fb867c7216e6d92e27605e69a0818899700000000026a65ecf82d58027db4620500000000026552c28ed301000000000000000000", "0051515365", 1, -131815460, "e719bbfc9df2b77cb1303161106fc13b6b0709fc82a067b715ebe1cf7d47d75b"], - ["cef930ed01c36fcb1d62ceef931bef57098f27a77a4299904cc0cbb44504802d535fb11557010000000153ffffffff02c8657403000000000863ac655253520063d593380400000000036a536a00000000", "656a0051636553", 0, -351313308, "8d15e39940afbecf3c96d8b8ebf3b7075fb69615a4669edb282be97b3b27108c"], - ["b1c0b71804dff30812b92eefb533ac77c4b9fdb9ab2f77120a76128d7da43ad70c20bbfb990200000002536392693e6001bc59411aebf15a3dc62a6566ec71a302141b0c730a3ecc8de5d76538b30f55010000000665535252ac514b740c6271fb9fe69fdf82bf98b459a7faa8a3b62f3af34943ad55df4881e0d93d3ce0ac0200000000c4158866eb9fb73da252102d1e64a3ce611b52e873533be43e6883137d0aaa0f63966f060000000000ffffffff04a605b604000000000851006a656a630052f49a0300000000000252515a94e1050000000005ac65005200fd8dd002000000000651535163526a2566852d", "ac5363", 0, -1718831517, "b0dc030661783dd9939e4bf1a6dfcba809da2017e1b315a6312e5942d714cf05"], - ["6a270ee404ebc8d137cfd4bb6b92aa3702213a3139a579c1fc6f56fbc7edd9574ef17b13f3010000000500656565acffffffffaa65b1ab6c6d87260d9e27a472edceb7dd212483e72d90f08857abf1dbfd46d10100000000fffffffff93c4c9c84c4dbbe8a912b99a2830cfe3401aebc919041de063d660e585fc9f002000000076aac52ac6a53acfa6dcef3f28355a8d98eee53839455445eeee83eecd2c854e784efa53cee699dbfecaebd01000000026a51ffffffff04f7d71b050000000009ac6a536aac6a6365513c376505000000000452656a53fa742002000000000039ed82030000000007516aac635165512fdabd17", "535252526563", 1, -1326210506, "6395a22dd3378726fa2b92402bdae26f15e9dc41b2b38c39ba1c7e79fbfa4438"], - ["3657e4260304ccdc19936e47bdf058d36167ee3d4eb145c52b224eff04c9eb5d1b4e434dfc000000000058aefe57707c66328d3cceef2e6f56ab6b7465e587410c5f73555a513ace2b232793a74400000000036a006522e69d3a785b61ad41a635d59b3a06b2780a92173f85f8ed428491d0aaa436619baa9c45010000000263512609629902eb7793050000000000a1b967040000000003525353a34d6192", "516a", 0, -1761874713, "0a2ff41f6d155d8d0e37cd9438f3b270df9f9214cda8e95c76d5a239ca189df2"], - ["a0eb6dc402994e493c787b45d1f946d267b09c596c5edde043e620ce3d59e95b2b5b93d43002000000086a5252526aac636555694287a279e29ee491c177a801cd685b8744a2eab83824255a3bcd08fc0e3ea13fb88200000000056365520063ffffffff029e424a040000000006ac53516a636a23830f0400000000016adf49c1f9", "ac0065ac6500005252", 1, 669294500, "f398f44f5ead1c19b708fec28bdba33c0f6f9f8f3fa2e1697d76ee7f9738f924"], - ["6e67c0d3027701ef71082204c85ed63c700ef1400c65efb62ce3580d187fb348376a23e9710200000001655b91369d3155ba916a0bc6fe4f5d94cad461d899bb8aaac3699a755838bfc229d6828920010000000765536353526a52ffffffff04c0c792000000000005650052535372f79e000000000001527fc0ee010000000004ac530065d1b3e902000000000151a942b278", "6a5151", 0, 1741407676, "f4eb16dbd61db1fe8064856e67d5a4ca6a7735406699a6603d96aba53a734e68"], - ["8f53639901f1d643e01fc631f632b7a16e831d846a0184cdcda289b8fa7767f0c292eb221a00000000036a53acffffffff037a2daa01000000000553ac6a6a51eac349020000000005ac526552638421b3040000000007006a005100ac63048a1492", "ac65", 0, 1033685559, "da86c260d42a692358f46893d6f91563985d86eeb9ea9e21cd38c2d8ffcfcc4d"], - ["491f99cb01bdfba1aa235e5538dac081fae9ce55f9622de483afe7e65105c2b0db75d360d200000000045251636340b60f0f041421330300000000096351ac000051636553ce2822040000000005516a00ac5180c8e40300000000025100caa8570400000000020000cfdc8da6", "6a5100516a655365", 0, -953727341, "397c68803b7ce953666830b0221a5e2bcf897aa2ded8e36a6b76c497dcb1a2e1"], - ["b3cad3a7041c2c17d90a2cd994f6c37307753fa3635e9ef05ab8b1ff121ca11239a0902e700300000008635300006aac5163ffffffffcec91722c7468156dce4664f3c783afef147f0e6f80739c83b5f09d5a09a57040200000004516a6552ffffffff969d1c6daf8ef53a70b7cdf1b4102fb3240055a8eaeaed2489617cd84cfd56cf02000000025253ffffffff46598b6579494a77b593681c33422a99559b9993d77ca2fa97833508b0c169f80200000009655300655365516351ffffffff04d7ddf800000000000753536a65ac635109f3420300000000036a65ac33589d04000000000952656a65655151acac944d6f0400000000006a8004ba", "005165", 1, 1035865506, "fe1dc9e8554deecf8f50c417c670b839cc9d650722ebaaf36572418756075d58"], - ["e1cfd73b0125add9e9d699f5a45dca458355af175a7bd4486ebef28f1928d87864384d02df02000000036a0051ffffffff0357df030100000000036a5365777e2d040000000006636a00005265f434a601000000000351655100000000", "53", 0, -1936500914, "5ff796ec362f811a8acebab73fe51acb423391f0570bc32070c13bfc362a4104"], - ["cf781855040a755f5ba85eef93837236b34a5d3daeb2dbbdcf58bb811828d806ed05754ab8010000000351ac53ffffffffda1e264727cf55c67f06ebcc56dfe7fa12ac2a994fecd0180ce09ee15c480f7d00000000086351516a51acac0053dd49ff9f334befd6d6f87f1a832cddfd826a90b78fd8cf19a52cb8287788af94e939d6020000000700525251ac526310d54a7e8900ed633f0f6f0841145aae7ee0cbbb1e2a0cae724ee4558dbabfdc58ba6855010000000452536a53fd1b101102c51f910500000000096300656a525252656a300bee010000000008ac52005263635151e19235c9", "53005365", 2, 1422854188, "47375ce8a6890e96241eff5952901b6eddd904e299f72942170871853777f82f"], - ["fea256ce01272d125e577c0a09570a71366898280dda279b021000db1325f27edda41a5346010000000153c752c21c013c2b3a01000000000000000000", "65", 0, 1145543262, "076b9f844f6ae429de228a2c337c704df1652c292b6c6494882190638dad9efd"] + [ + "raw_transaction, script, input_index, hashType, signature_hash (result)" + ], + [ + "907c2bc503ade11cc3b04eb2918b6f547b0630ab569273824748c87ea14b0696526c66ba74020000000165fd1f9bdd4ef073c7afc4ae00da8a66f429c917a0081ad1e1dabce28d373eab81d8628de802000000076a525352000052ad042b5f25efb33beec9f3364e8a9139e8439d9d7e26529c3c30b6c3fd89f8684cfd68ea020000000753526500636a52599ac2fe02a526ed040000000008535300516352515164370e010000000003006300ab2ec229", + "", + 2, + 1864164639, + "31af167a6cf3f9d5f6875caa4d31704ceb0eba078d132b78dab52c3b8997317e" + ], + [ + "a0aa3126041621a6dea5b800141aa696daf28408959dfb2df96095db9fa425ad3f427f2f6103000000015360290e9c6063fa26912c2e7fb6a0ad80f1c5fea1771d42f12976092e7a85a4229fdb6e890000000000c109f6e47688ac0e4682988785744602b8c87228fcef0695085edf19088af1a9db126e93000000000665516aac536affffffff8fe53e0806e12dfd05d67ac68f4768fdbe23fc48ace22a5aa8ba04c96d58e2750300000007ac51ac635153650524aa680455ce7b000000000000499e50030000000008636a00ac526563ac5051ee030000000001acd2b6fe000000000003516563910fb6b5", + "65", + 0, + -1391424484, + "b74712825433040244a0fcb8aff24d98addeac56dc0581744faa97f95981c0c4" + ], + [ + "6e7e9d4b04ce17afa1e8546b627bb8d89a6a7fefd9d892ec8a192d79c2ceafc01694a6a7e7030000000953ac6a51006353636a33bced1544f797f08ceed02f108da22cd24c9e7809a446c61eb3895914508ac91f07053a01000000045163516affffffff11dc54eee8f9e4ff0bcf6b1a1a35b1cd10d63389571375501af7444073bcec3c02000000036a53514a821f0ce3956e235f71e4c69d91abe1e93fb703bd33039ac567249ed339bf0ba0883ef30000000008006365000065ac654bec3cc504bcf4990200000000036a52ac64eb060100000000076a6a5351650053bbbc130100000000036a6a53d6e1380100000000026a51c4e509b8", + "ac655151", + 0, + 479279909, + "7249457d31183868014df9f90fb86ebc439fc6d387c0951b5ac7d2b4ad6b222e" + ], + [ + "73107cbd025c22ebc8c3e0a47b2a760739216a528de8d4dab5d45cbeb3051cebae73b01ca102000000066353656a636affffffffe26816dffc670841e6a6c8c61c586da401df1261a330a6c6b3dd9f9a0789bc9e000000000800ac6552ac6aac51ffffffff0174a8f0010000000004ac52515100000000", + "5163ac63635151ac", + 1, + 1190874345, + "06e328de263a87b09beabe222a21627a6ea5c7f560030da31610c4611f4a46bc" + ], + [ + "e93bbf6902be872933cb987fc26ba0f914fcfc2f6ce555258554dd9939d12032a8536c8802030000000453ac5353eabb6451e074e6fef9de211347d6a45900ea5aaf2636ef7967f565dce66fa451805c5cd10000000003525253ffffffff047dc3e6020000000006516565ac656aec9eea010000000001633e46e600000000000015080a03000000000000000000", + "5300ac6a536a", + 1, + -886562767, + "13b4c982c2e4943a4e5a2174ad3367878e599b3aea889effeb3d19db6daadc80" + ], + [ + "50818f4c01b464538b1e7e7f5ae4ed96ad23c68c830e78da9a845bc19b5c3b0b20bb82e5e9030000000763526a63655352ffffffff023b3f9c040000000008630051516a6a5163a83caf0100000000045365510000000000", + "6aac", + 0, + 946795545, + "5742901d59e51c1957fd30f907083609eb2d009bd6cb3a3a8c65517d33185a0c" + ], + [ + "a93e93440250f97012d466a6cc24839f572def241c814fe6ae94442cf58ea33eb0fdd9bcc1030000000600636a0065acffffffff5dee3a6e7e5ad6310dea3e5b3ddda1a56bf8de7d3b75889fc024b5e233ec10f80300000006ac5363525353ffffffff0160468b04000000000800526a5300ac526a00000000", + "ac00636a53", + 1, + 1773442520, + "5c9d3a2ce9365bb72cfabbaa4579c843bb8abf200944612cf8ae4b56a908bcbd" + ], + [ + "ce7d371f0476dda8b811d4bf3b64d5f86204725deeaa3937861869d5b2766ea7d17c57e40b0100000003535265ffffffff7e7e9188f76c34a46d0bbe856bde5cb32f089a07a70ea96e15e92abb37e479a101000000046552655225bcab06d1c2896709f364b1e372814d842c9c671356a1aa5ca4e060462c65ae55acc02d0000000005ac0063ac5281b33e332f96beebdbc6a379ebe6aea36af115c067461eb99d22ba1afbf59462b59ae0bd0200000003635365be15c23801724a1704000000000965006a65ac00000052ca555572", + "53530051", + 1, + 2030598449, + "c336b2f7d3702fbbdeffc014d106c69e3413c7c71e436ba7562d8a7a2871f181" + ], + [ + "d3b7421e011f4de0f1cea9ba7458bf3486bee722519efab711a963fa8c100970cf7488b7bb0200000003525352dcd61b300148be5d05000000000000000000", + "535251536aac536a", + 0, + -1960128125, + "29aa6d2d752d3310eba20442770ad345b7f6a35f96161ede5f07b33e92053e2a" + ], + [ + "04bac8c5033460235919a9c63c42b2db884c7c8f2ed8fcd69ff683a0a2cccd9796346a04050200000003655351fcad3a2c5a7cbadeb4ec7acc9836c3f5c3e776e5c566220f7f965cf194f8ef98efb5e3530200000007526a006552526526a2f55ba5f69699ece76692552b399ba908301907c5763d28a15b08581b23179cb01eac030000000653636a516351073942c2025aa98a05000000000565006aac65d7ffa6030000000004516a655200000000", + "53ac6365ac526a", + 1, + 764174870, + "f41e06c31cfcb5ee5b8e907fe8956af7891b1a61c05a7e81bd3f7e59eb4b8d91" + ], + [ + "c363a70c01ab174230bbe4afe0c3efa2d7f2feaf179431359adedccf30d1f69efe0c86ed39020000000151558648fe0231318b04000000000151662170000000000008ac5300006a63acac00000000", + "", + 0, + 2146479410, + "191ab180b0d753763671717d051f138d4866b7cb0d1d4811472e64de595d2c70" + ], + [ + "8d437a7304d8772210a923fd81187c425fc28c17a5052571501db05c7e89b11448b36618cd02000000026a6340fec14ad2c9298fde1477f1e8325e5747b61b7e2ff2a549f3d132689560ab6c45dd43c3010000000963ac00ac000051516a447ed907a7efffebeb103988bf5f947fc688aab2c6a7914f48238cf92c337fad4a79348102000000085352ac526a5152517436edf2d80e3ef06725227c970a816b25d0b58d2cd3c187a7af2cea66d6b27ba69bf33a0300000006000063526553f3f0d6140386815d0300000000026300de138f00000000000800525153515265ac1f87040300000000036aac6500000000", + "51", + 3, + -315779667, + "44d3386a47c4659b83316fc71735d0813fe3df6a336fd4a2665ff6510dc4b4fd" + ], + [ + "fd878840031e82fdbe1ad1d745d1185622b0060ac56638290ec4f66b1beef4450817114a2c0000000007516a6353650051ffffffff37b7a10322b5418bfd64fb09cd8a27ddf57731aeb1f1f920ffde7cb2dfb6cdb70300000008536a5365ac53515369ecc034f1594690dbe189094dc816d6d57ea75917de764cbf8eccce4632cbabe7e116cd0100000003515352ffffffff035777fc000000000003515200abe9140300000000050063005165bed6d1020000000006630053636365195e9110", + "635265", + 0, + 1729787658, + "b03c53df11ccf92ce40561f43170935d81acdc31e843fa6e964536c9b12583a7" + ], + [ + "f40a750702af06efff3ea68e5d56e42bc41cdb8b6065c98f1221fe04a325a898cb61f3d7ee030000000363acacffffffffb5788174aef79788716f96af779d7959147a0c2e0e5bfb6c2dba2df5b4b97894030000000965510065535163ac6affffffff0445e6fd0200000000096aac536365526a526aa6546b000000000007ac656a6552535141a0fd010000000000c897ea030000000007526500526a6a631b39dba3", + "005163ac", + 1, + -1778064747, + "cb5ff8056a9ee628c3a37bdeb46654924eed844f267121c8a713cb933325bb54" + ], + [ + "a63bc673049c75211aa2c09ecc38e360eaa571435fedd2af1116b5c1fa3d0629c269ecccbf0000000007ac65516352ac52ffffffffbf1a76fdda7f451a5f0baff0f9ccd0fe9136444c094bb8c544b1af0fa2774b06010000000463535253ffffffff13d6b7c3ddceef255d680d87181e100864eeb11a5bb6a3528cb0d70d7ee2bbbc02000000036a0052951241809623313b198bb520645c15ec96bfcc74a2b0f3db7ad61d455cc32db04afc5cc702000000016309c9ae25014d94730200000000026aac3bb1e803", + "", + 3, + -232881718, + "85eccb602ecba5358916c37f1fe4424a27bd543b591ff0f253117875277dacbd" + ], + [ + "4c565efe04e7d32bac03ae358d63140c1cfe95de15e30c5b84f31bb0b65bb542d637f49e0f010000000351536348ae32b31c7d3132030a510a1b1aacf7b7c3f19ce8dc49944ef93e5fa5fe2d356b4a73a00100000007ac635163ac00514c8bc57b6b844e04555c0a4f4fb426df139475cd2396ae418bc7015820e852f711519bc202000000076a00510000ac52488ff4aec72cbcfcc98759c58e20a8d2d9725aa4a80f83964e69bc4e793a4ff25cd75dc701000000086a52ac6aac5351532ec6b10802463e0200000000000553005265523e08680100000000002f39a6b0", + "", + 3, + 70712784, + "c6076b6a45e6fcfba14d3df47a34f6aadbacfba107e95621d8d7c9c0e40518ed" + ], + [ + "1233d5e703403b3b8b4dae84510ddfc126b4838dcb47d3b23df815c0b3a07b55bf3098110e010000000163c5c55528041f480f40cf68a8762d6ed3efe2bd402795d5233e5d94bf5ddee71665144898030000000965525165655151656affffffff6381667e78bb74d0880625993bec0ea3bd41396f2bcccc3cc097b240e5e92d6a01000000096363acac6a63536365ffffffff04610ad602000000000452516552e90d680200000000046351516ae30e9801000000000652520063656a671856010000000004ac6aac514c84e383", + "6a636300", + 1, + -114996813, + "544e8fa044e9dd49d7504be895038472026389a641108c80dfaa4bf5745e2536" + ], + [ + "0c69702103b25ceaed43122cc2672de84a3b9aa49872f2a5bb458e19a52f8cc75973abb9f102000000055365656aacffffffff3ffb1cf0f76d9e3397de0942038c856b0ebbea355dc9d8f2b06036e19044b0450100000000ffffffff4b7793f4169617c54b734f2cd905ed65f1ce3d396ecd15b6c426a677186ca0620200000008655263526551006a181a25b703240cce010000000003635253dee22903000000000865526a6a516a51005e12160200000000055252ac655200000000", + "6a516a63", + 1, + -2040012771, + "591e3bbba963126bd5f4f10b264e1696dfe5e2b40a90991127ad581ca6ab02d9" + ], + [ + "fd22692802db8ae6ab095aeae3867305a954278f7c076c542f0344b2591789e7e33e4d29f4020000000151ffffffffb9409129cfed9d3226f3b6bab7a2c83f99f48d039100eeb5796f00903b0e5e5e0100000005656552ac63d226abac0403e64900000000000551ac5100ac8035f10000000000095165006a63526a52510d42db030000000006635365ac6a6324ef59010000000003536a0000000000", + "536a52516aac6a", + 1, + 309309168, + "ecd699538b26e25365c8ab23c991f630bb221f2b325b3adc5d67aea8838f3d9a" + ], + [ + "a43f85f701ffa54a3cc57177510f3ea28ecb6db0d4431fc79171cad708a6054f6e5b4f89170000000008ac6a006a536551652bebeaa2013e779c05000000000665ac5363635100000000", + "ac", + 0, + 2028978692, + "58294f0d7f2e68fe1fd30c01764fe1619bcc7961d68968944a0e263af6550437" + ], + [ + "c2b0b99001acfecf7da736de0ffaef8134a9676811602a6299ba5a2563a23bb09e8cbedf9300000000026300ffffffff042997c50300000000045252536a2724370300000000066553536363ac6637520300000000016a6d5c900000000000046a6a526500000000", + "52ac525163515251", + 0, + -894181723, + "66b68d1cc93f59f362a2e0406b2ea86b33125e145e07ddb66129ca63d87b9b60" + ], + [ + "82f9f10304c17a9d954cf3380db817814a8c738d2c811f0412284b2c791ec75515f38c4f8c0200000001655729ca7db1b79abee66c8a757221f29280d0681355cb522149525f36da760548dbd7080a0100000001510b477bd9ce9ad5bb81c0306273a3a7d051e053f04ecf3a1dbeda543e20601a5755c0cfae030000000451ac656affffffff71141a04134f6c292c2e0d415e6705dfd8dcee892b0d0807828d5aeb7d11f5ef0300000001520b6c6dc802a6f3dd0000000000046a515163bfb6800300000000015300000000", + "", + 3, + -635779440, + "cb7c2a8e3ebbb54a41e4bae79a06183022bf018199eb7772cc0c357c5018892f" + ], + [ + "8edcf5a1014b604e53f0d12fe143cf4284f86dc79a634a9f17d7e9f8725f7beb95e8ffcd2403000000036aac52ffffffff01c402b50400000000046a63525100000000", + "6351525251ac6a", + 0, + 1520147826, + "6f1ebdd03eceef3201911027eeeec1a7ca696cb5fe56af6e9ce3690e9bebcafd" + ], + [ + "2074bad5011847f14df5ea7b4afd80cd56b02b99634893c6e3d5aaad41ca7c8ee8e5098df003000000026a6affffffff018ad59700000000000900ac656a526551635300000000", + "65635265", + 0, + -1804671183, + "663c999a52288c9999bff36c9da2f8b78d5c61b8347538f76c164ccba9868d0a" + ], + [ + "7100b11302e554d4ef249ee416e7510a485e43b2ba4b8812d8fe5529fe33ea75f36d392c4403000000020000ffffffff3d01a37e075e9a7715a657ae1bdf1e44b46e236ad16fd2f4c74eb9bf370368810000000007636553ac536365ffffffff01db696a0400000000065200ac656aac00000000", + "63005151", + 0, + -1210499507, + "b9c3aee8515a4a3b439de1ffc9c156824bda12cb75bfe5bc863164e8fd31bd7a" + ], + [ + "02c1017802091d1cb08fec512db7b012fe4220d57a5f15f9e7676358b012786e1209bcff950100000003ac6352ffffffff799bc282724a970a6fea1828984d0aeb0f16b67776fa213cbdc4838a2f1961a3010000000751516a5365526affffffff016c7b4b03000000000765ac5253ac5352b70195ad", + "65655200516a", + 0, + -241626954, + "53756e3d2ba9173c6688f69eed52c0af5acda26c2b075791774b962bb7c510aa" + ], + [ + "cb3178520136cd294568b83bb2520f78fecc507898f4a2db2674560d72fd69b9858f75b3b502000000066aac00515100ffffffff03ab005a01000000000563526363006e3836030000000000fbda32000000000005650065006500000000", + "516a0063006a5300", + 0, + 1182109299, + "9a97d60d09aaae9887640a41ae35eb6e37d28a025ee1168afb78c2f3c03a2891" + ], + [ + "18a4b0c004702cf0e39686ac98aab78ad788308f1d484b1ddfe70dc1997148ba0e28515c310300000000ffffffff05275a52a23c59da91129093364e275da5616c4070d8a05b96df5a2080ef259500000000086aac51656a6aac5366e64966b3b36a07dd2bb40242dd4a3743d3026e7e1e0d9e9e18f11d068464b989661321030000000265ac383339c4fae63379cafb63b0bab2eca70e1f5fc7d857eb5c88ccd6c0465093924bba8b2a000000000300636ab5e0545402bc2c4c010000000000cd41c002000000000000000000", + "ac635253656a00", + 3, + 2052372230, + "32db877b6b1ca556c9e859442329406f0f8246706522369839979a9f7a235a32" + ], + [ + "1d9c5df20139904c582285e1ea63dec934251c0f9cf5c47e86abfb2b394ebc57417a81f67c010000000353515222ba722504800d3402000000000353656a3c0b4a0200000000000fb8d20500000000066300005200516462f30400000000015200000000", + "65", + 0, + -210854112, + "ee638e53d2ffa8bd15bb833ee5046bb229508506d2a13817a62ec35a93d5e3f6" + ], + [ + "4504cb1904c7a4acf375ddae431a74de72d5436efc73312cf8e9921f431267ea6852f9714a01000000066a656a656553a2fbd587c098b3a1c5bd1d6480f730a0d6d9b537966e20efc0e352d971576d0f87df0d6d01000000016321aeec3c4dcc819f1290edb463a737118f39ab5765800547522708c425306ebfca3f396603000000055300ac656a1d09281d05bfac57b5eb17eb3fa81ffcedfbcd3a917f1be0985c944d473d2c34d245eb350300000007656a51525152ac263078d9032f470f0500000000066aac00000052e12da60200000000003488410200000000066365006300539981e432", + "52536a52526a", + 1, + -31909119, + "c7391b817e7c725f54f1a7f19d27bf014b86f83eb900d6c91a0c9c31133919e9" + ], + [ + "14bc7c3e03322ec0f1311f4327e93059c996275302554473104f3f7b46ca179bfac9ef753503000000016affffffff9d405eaeffa1ca54d9a05441a296e5cc3a3e32bb8307afaf167f7b57190b07e0030000000351526345533aa242c61bca90dd15d46079a0ab0841d85df67b29ba87f2393cd764a6997c372b55030000000452005263ffffffff0250f40e02000000000651516a0063630e95ab0000000000046a5151ac00000000", + "6a65005151", + 0, + -1460947095, + "aa418d096929394c9147be8818d8c9dafe6d105945ab9cd7ec682df537b5dd79" + ], + [ + "2b3bd0dd04a1832f893bf49a776cd567ec4b43945934f4786b615d6cb850dfc0349b33301a000000000565ac000051cf80c670f6ddafab63411adb4d91a69c11d9ac588898cbfb4cb16061821cc104325c895103000000025163ffffffffa9e2d7506d2d7d53b882bd377bbcc941f7a0f23fd15d2edbef3cd9df8a4c39d10200000009ac63006a52526a5265ffffffff44c099cdf10b10ce87d4b38658d002fd6ea17ae4a970053c05401d86d6e75f9900000000076353526a525263ffffffff035af69c01000000000100ba9b8b0400000000004cead10500000000026a520b77d667", + "52ac526553", + 3, + -1955078165, + "eb9ceecc3b401224cb79a44d23aa8f428e29f1405daf69b4e01910b848ef1523" + ], + [ + "35df11f004a48ba439aba878fe9df20cc935b4a761c262b1b707e6f2b33e2bb7565cd68b130000000000ffffffffb2a2f99abf64163bb57ca900500b863f40c02632dfd9ea2590854c5fb4811da90200000006ac006363636affffffffaf9d89b2a8d2670ca37c8f7c140600b81259f2e037cb4590578ec6e37af8bf200000000004ac6a655270a4751eb551f058a93301ffeda2e252b6614a1fdd0e283e1d9fe53c96c5bbaafaac57b8030000000153ffffffff020d9f3b02000000000100ed7008030000000003ac000000000000", + "ac", + 3, + 593793071, + "57037535cf3b9bcf7f4fa9f9d48c2d89c7f5c09aeac29ae3fa49ad799b88e5e8" + ], + [ + "a08ff466049fb7619e25502ec22fedfb229eaa1fe275aa0b5a23154b318441bf547989d05100000000045363636affffffff2b0e335cb5383886751cdbd993dc0720817745a6b1c9b8ab3d15547fc9aafd03000000000965656a536a52656a532b53d10584c290d3ac1ab74ab0a19201a4a039cb59dc58719821c024f6bf2eb26322b33f010000000865ac6aac00536353ffffffff048decba6ebbd2db81e416e39dde1f821ba69329725e702bcdea20c5cc0ecc64020000000763635351ac6551466e377b0468c0fa0000000000055153ac6a513461c6010000000008636a636365535100eeb3dc010000000006526a52ac516a43f362010000000005000063536500000000", + "0063516a", + 1, + -1158911348, + "90b014f63f99e2ab93bb7132f5b717bedceda3c5bf71be7c41d51f4e0b288971" + ], + [ + "5ac2f17d03bc902e2bac2469907ec7d01a62b5729340bc58c343b7145b66e6b97d434b30fa000000000163ffffffff44028aa674192caa0d0b4ebfeb969c284cb16b80c312d096efd80c6c6b094cca000000000663acac516a52ffffffff10c809106e04b10f9b43085855521270fb48ab579266e7474657c6c625062d2d030000000351636595a0a97004a1b69603000000000365005352ad68010000000008636a5263acac5100da7105010000000001ac90325200000000000000000000", + "6a6a516a63526353", + 2, + 1518400956, + "9821dc391a0efc812c783477fd94b696c3c12d4207ec73866f05411cc444ea51" + ], + [ + "aeb2e11902dc3770c218b97f0b1960d6ee70459ecb6a95eff3f05295dc1ef4a0884f10ba460300000005516352526393e9b1b3e6ae834102d699ddd3845a1e159aa7cf7635edb5c02003f7830fee3788b795f20100000008006a526553ac006ad8809c570469290e040000000003000000b10fd5040000000005655263ac53630b180300000000009d9993040000000002516300000000", + "5351ac6a65", + 0, + 1084852870, + "7e5d1656f7f92f7cd3a759e3c661f16c2b49b06ca53198d3130b598e557c6c2e" + ], + [ + "9860ca9a0294ff4812534def8c3a3e3db35b817e1a2ddb7f0bf673f70eab71bb79e90a2f3100000000086a636551acac5165ffffffffed4d6d3cd9ff9b2d490e0c089739121161a1445844c3e204296816ab06e0a83702000000035100ac88d0db5201c3b59a050000000004ac6a005100000000", + "535263006a526a", + 1, + -962088116, + "2c9b60742e1aa409973c70e0ba6a4ce0dcdb350125002f98bdee95da25ee2c56" + ], + [ + "4ddaa680026ec4d8060640304b86823f1ac760c260cef81d85bd847952863d629a3002b54b0200000007526365636a656a65457861fc6c24bdc760c8b2e906b6656edaf9ed22b5f50e1fb29ec076ceadd9e8ebcb6b000000000152ffffffff033ff04f00000000000551526a00657a1d900300000000002153af040000000003006a6300000000", + "526a53ac", + 0, + 1055317633, + "7f21b62267ed52462e371a917eb3542569a4049b9dfca2de3c75872b39510b26" + ], + [ + "01e76dcd02ad54cbc8c71d68eaf3fa7c883b65d74217b30ba81f1f5144ef80b706c0dc82ca0000000002526a078ec18bcd0514825feced2e8b8ea1ccb34429fae41c70cc0b73a2799e85603613c68700020000000763636365536a53ffffffff043acea90000000000016ad20e1803000000000100fa00830200000000056352515351e864ee000000000007655352536a6551d0c46672", + "6a6365ac", + 0, + -1420559003, + "769129ee13526557a2ff8ed9143a781b6c409291e05d2f0afafbe68f39469dca" + ], + [ + "fa00b26402670b97906203434aa967ce1559d9bd097d56dbe760469e6032e7ab61accb54160100000006635163630052fffffffffe0d3f4f0f808fd9cfb162e9f0c004601acf725cd7ea5683bbdc9a9a433ef15a020000000452536563d09c7bef049040f305000000000153a7c7b9020000000003ac6352847a250300000000045300655390ed8001000000000400655352860671d4", + "53656552", + 0, + 799022412, + "4137db1db2a52bf9b7d3f65d0ef847932b48601a9badb57cac403313793a6741" + ], + [ + "cb5c06dc01b022ee6105ba410f0eb12b9ce5b5aa185b28532492d839a10cef33d06134b91b010000000153ffffffff02cec0530400000000005e1e4504000000000865656551acacac6a00000000", + "53", + 0, + -1514251329, + "136beb95459fe6b126cd6cefd54eb5d971524b0e883e41a292a78f78015cb8d5" + ], + [ + "f10a0356031cd569d652dbca8e7a4d36c8da33cdff428d003338602b7764fe2c96c505175b010000000465ac516affffffffbb54563c71136fa944ee20452d78dc87073ac2365ba07e638dce29a5d179da600000000003635152ffffffff9a411d8e2d421b1e6085540ee2809901e590940bbb41532fa38bd7a16b68cc350100000007535251635365636195df1603b61c4501000000000165bf6a310400000000026352fcbba10200000000016aa30b7ff0", + "5351", + 0, + 1552495929, + "e4bbbeaa67cfd27f435e1b0f17ffe37707d1be50d933d06dbbbfd1a731c90265" + ], + [ + "c3325c9b012f659466626ca8f3c61dfd36f34670abc054476b7516a1839ec43cd0870aa0c0000000000753525265005351e7e3f04b0112650500000000000363ac6300000000", + "acac", + 0, + -68961433, + "5ca70e727d91b1a42b78488af2ed551642c32d3de4712a51679f60f1456a8647" + ], + [ + "2333e54c044370a8af16b9750ac949b151522ea6029bacc9a34261599549581c7b4e5ece470000000006510052006563ffffffff80630fc0155c750ce20d0ca4a3d0c8e8d83b014a5b40f0b0be0dd4c63ac28126020000000465000000ffffffff1b5f1433d38cdc494093bb1d62d84b10abbdae57e3d04e82e600857ab3b1dc990300000003515100b76564be13e4890a908ea7508afdad92ec1b200a9a67939fadce6eb7a29eb4550a0a28cb0300000001acffffffff02926c930300000000016373800201000000000153d27ee740", + "6365516a53", + 3, + 598653797, + "2be27a686eb7940dd32c44ff3a97c1b28feb7ab9c5c0b1593b2d762361cfc2db" + ], + [ + "b500ca48011ec57c2e5252e5da6432089130603245ffbafb0e4c5ffe6090feb629207eeb0e0100000004526a636a8302c9d2042b44f40500000000015278c05a050000000004ac5251524be080020000000007636aac63ac5252c93a9a040000000007656553636a5352d91f9ddb", + "52005100", + 0, + -2024394677, + "a1c7d6660d3382d6c93bd2c46b12eafb6513ec4be9a5a1489d4383524f1edcf9" + ], + [ + "f52ff64b02ee91adb01f3936cc42e41e1672778962b68cf013293d649536b519bc3271dd2c00000000020065afee11313784849a7c15f44a61cd5fd51ccfcdae707e5896d131b082dc9322a19e12858501000000036aac654e8ca882022deb7c020000000005006a515352d3defc0000000000016300000000", + "63520063", + 0, + 1130989496, + "ec2f130931c2d4acdf04556cbe9bab0c7297c410d010918a128640997de843af" + ], + [ + "ab7d6f36027a7adc36a5cf7528fe4fb5d94b2c96803a4b38a83a675d7806dda62b380df86a0000000003000000ffffffff5bc00131e29e22057c04be854794b4877dda42e416a7a24706b802ff9da521b20000000007ac6a0065ac52ac957cf45501b9f06501000000000400ac636325f1110b", + "00526500536a635253", + 0, + 911316637, + "1797caf6329f3d52afac7a58d81bc3228ae3d2fdec25c0bc43d84eec1003183c" + ], + [ + "f940888f023dce6360263c850372eb145b864228fdbbb4c1186174fa83aab890ff38f8c9a90300000000ffffffff01e80ccdb081e7bbae1c776531adcbfb77f2e5a7d0e5d0d0e2e6c8758470e85f00000000020053ffffffff03b49088050000000003656a52428bd60400000000085163006563ac636a0cbacf0400000000070063ac5265ac53d6e16604", + "ac63", + 0, + 39900215, + "96c6cca56df96cf63f98859d9be6fcedd2f97f25567c4e7e719869c96fd2cb17" + ], + [ + "530ecd0b01ec302d97ef6f1b5a6420b9a239714013e20d39aa3789d191ef623fc215aa8b940200000004ac53516a3823ab8202572eaa040000000006526a51526563fd8a270100000000036a006581a798f0", + "525153656a0063", + 0, + 1784562684, + "d7727f208a685cea80c63c66ac7613a3f0bf5081a6083950b2e022091e999a6b" + ], + [ + "5d781d9303acfcce964f50865ddfddab527ea971aee91234c88e184979985c00b4de15204b01000000026352a009c8ab01f93c8ef2447386c434b4498538f061845862c3f9d5751ad0fce52af442b3a902000000025165b909c66b5a3e7c81b3c45396b944be13b8aacfc0204f3f3c105a66fa8fa6402f1b5efddb01000000086a65ac636aac656ac3c677c402b79fa4050000000003006a5133e358020000000005516351630078c2e025", + "6aac51636a6a005265", + 0, + -882306874, + "2257287674ad60f1a3537aab37ad8a9b14de255e6f8dd6ce65ce0ff2f69c8d04" + ], + [ + "25ee54ef0187387564bb86e0af96baec54289ca8d15e81a507a2ed6668dc92683111dfb7a50100000004005263634cecf17d0429aa4d000000000005636a6a5263daa756010000000001514df70a01000000000151980a890400000000065253ac6a006377fd24e3", + "65", + 0, + 797877378, + "069f38fd5d47abff46f04ee3ae27db03275e9aa4737fa0d2f5394779f9654845" + ], + [ + "a9c57b1a018551bcbc781b256642532bbc09967f1cbe30a227d352a19365d219d3f11649a3030000000451655352b14094220318289403000000000400ac6a654add350400000000003d379505000000000453acac00e1739d36", + "5363", + 0, + -1069721025, + "067e85b25142810ca22954698263e485b1ee3e7fc8542dc90c4ac9cdf9370530" + ], + [ + "05c4fb94040f5119dc0b10aa9df054871ed23c98c890f1e931a98ffb0683dac45e98619fdc0200000006ac6a525263513e7495651c9794c4d60da835d303eb4ee6e871f8292f6ad0b32e85ef08c9dc7aa4e03c9c01000000040052acacfffffffffee953259cf14ced323fe8d567e4c57ba331021a1ef5ac2fa90f7789340d7c550100000007ac6aacac6a6a53ffffffff08d9dc820d00f18998af247319f9de5c0bbd52a475ea587f16101af3afab7c210100000003535363569bca7c0468e34f00000000000863536353ac51ac6584e3190100000000056500526a533debea030000000003ac0053ee7070020000000006ac52005253ac00000000", + "6351005253", + 2, + 1386916157, + "59d1078fc84ae1d50363c10b0052e39900c250d5b2ab47c5201bcbbe887083a6" + ], + [ + "c95ab19104b63986d7303f4363ca8f5d2fa87c21e3c5d462b99f1ebcb7c402fc012f5034780000000009006aac63ac65655265ffffffffbe91afa68af40a8700fd579c86d4b706c24e47f7379dad6133de389f815ef7f501000000036aac00ffffffff1520db0d81be4c631878494668d258369f30b8f2b7a71e257764e9a27f24b48701000000076a515100535300b0a989e1164db9499845bac01d07a3a7d6d2c2a76e4c04abe68f808b6e2ef5068ce6540e0100000008ac53636a6365656affffffff0309aac60500000000046563656a6067e8020000000003ac536aec91c803000000000865525165ac6a53acc7a45bc5", + "63526a65ac", + 1, + 512079270, + "7b43923888bcb249b559b3767057664aa9bfab4dd42351c143bbb85cdc3a8035" + ], + [ + "ca66ae10049533c2b39f1449791bd6d3f039efe0a121ab7339d39ef05d6dcb200ec3fb2b3b020000000465006a53ffffffff534b8f97f15cc7fb4f4cea9bf798472dc93135cd5b809e4ca7fe4617a61895980100000000ddd83c1dc96f640929dd5e6f1151dab1aa669128591f153310d3993e562cc7725b6ae3d903000000046a52536582f8ccddb8086d8550f09128029e1782c3f2624419abdeaf74ecb24889cc45ac1a64492a0100000002516a4867b41502ee6ccf03000000000552acac526a4b7ba800000000000651510052536300000000", + "6553", + 2, + -62969257, + "cf83f09721753dfe8da695ddcd2ae11028aebef4aa8f57c8d69437ac34ed2069" + ], + [ + "ba646d0b0453999f0c70cb0430d4cab0e2120457bb9128ed002b6e9500e9c7f8d7baa20abe0200000001652a4e42935b21db02b56bf6f08ef4be5adb13c38bc6a0c3187ed7f6197607ba6a2c47bc8a03000000040052516affffffffa55c3cbfc19b1667594ac8681ba5d159514b623d08ed4697f56ce8fcd9ca5b0b00000000086a6a5263ac65526366728c2720fdeabdfdf8d9fb2bfe88b295d3b87590e26a1e456bad5991964165f888c03a0200000006630051ac00acffffffff0176fafe0100000000070063acac65515200000000", + "63", + 1, + 2002322280, + "9db4e320208185ee70edb4764ee195deca00ba46412d5527d9700c1cf1c3d057" + ], + [ + "2ddb8f84039f983b45f64a7a79b74ff939e3b598b38f436def7edd57282d0803c7ef34968d02000000026a537eb00c4187de96e6e397c05f11915270bcc383959877868ba93bac417d9f6ed9f627a7930300000003516551ffffffffacc12f1bb67be3ae9f1d43e55fda8b885340a0df1175392a8bbd9f959ad3605003000000025163ffffffff02ff0f4700000000000070bd99040000000002ac53f8440b42", + "", + 2, + -393923011, + "c8798ae08d2cf6af56eb468f3c040be24866af35e03d2ea6d92d3b2aa735bc21" + ], + [ + "b21fc15403b4bdaa994204444b59323a7b8714dd471bd7f975a4e4b7b48787e720cbd1f5f00000000000ffffffff311533001cb85c98c1d58de0a5fbf27684a69af850d52e22197b0dc941bc6ca903000000056563635351a8ae2c2c7141ece9a4ff75c43b7ea9d94ec79b7e28f63e015ac584d984a526a73fe1e04e0100000007526352536a5365ffffffff02a0a9ea03000000000152cfc4f300000000000465525253e8e0f342", + "000000", + 1, + 1305253970, + "b3c229c947c27b41cece5549b8fba359a14ef7b06f81fa00532e75b18121361d" + ], + [ + "d1704d6601acf710b19fa753e307cfcee2735eada0d982b5df768573df690f460281aad12d0000000007656300005100acffffffff0232205505000000000251632ca1bc0300000000016300000000", + "ac656551", + 0, + 165179664, + "63fcd4f003a59d705a1ec2a2579f813c4c42bbf5f1aa5d3386503461c94ef884" + ], + [ + "d2f6c096025cc909952c2400bd83ac3d532bfa8a1f8f3e73c69b1fd7b8913379793f3ce92202000000066a006a53516ade5332d81d58b22ed47b2a249ab3a2cb3a6ce9a6b5a6810e18e3e1283c1a1b3bd73e3ab00300000001acffffffff01a9b2d4050000000003635200dc4b7f69", + "0065", + 0, + -78019184, + "3c5350ae0557040f042a1467ee9e667dba1c38c4aee2d6104e91348856c0b449" + ], + [ + "3e6db1a1019444dba461247224ad5933c997256d15c5d37ade3d700506a0ba0a57824930d7010000000652650000ac00ffffffff03389242020000000000a8465a0200000000076a6a636a510052394e6003000000000953ac51526351000053d21d9800", + "ac5365", + 0, + 1643661850, + "7a55a214a6c62555854cddbd278cbf0b249ea9e6a4821a37d363340c2b00bee5" + ], + [ + "f821a042036ad43634d29913b77c0fc87b4af593ac86e9a816a9d83fd18dfcfc84e1e1d57102000000076a63ac52006351ffffffffbcdaf490fc75086109e2f832c8985716b3a624a422cf9412fe6227c10585d212030000000752525352ac526affffffff2efed01a4b73ad46c7f7bc7fa3bc480f8e32d741252f389eaca889a2e9d2007e000000000353ac53ffffffff032ac8b3020000000009636300000063516300d3d9f2040000000006510065ac656aafa5de00000000000563525300ac9042b57d", + "525365", + 1, + 667065611, + "4055f568c1e384f78f54a55e1b423246874d6cd69a973e0e8e16df9054f40404" + ], + [ + "58e3f0f704a186ef55d3919061459910df5406a9121f375e7502f3be872a449c3f2bb058380100000000f0e858da3ac57b6c973f889ad879ffb2bd645e91b774006dfa366c74e2794aafc8bbc871010000000751ac65516a515131a68f120fd88ca08687ceb4800e1e3fbfea7533d34c84fef70cc5a96b648d580369526d000000000600ac00515363f6191d5b3e460fa541a30a6e83345dedfa3ed31ad8574d46d7bbecd3c9074e6ba5287c24020000000151e3e19d6604162602010000000004005100ac71e17101000000000065b5e9030000000003005353f6b7d101000000000200ac00000000", + "6563", + 1, + -669018604, + "0d29716180aaf3d362452d4fc6a0ecb268452643b3da574f8dc9b589be506bb3" + ], + [ + "efec1cce044a676c1a3d973f810edb5a9706eb4cf888a240f2b5fb08636bd2db482327cf50000000000451656a52ffffffff46ef019d7c03d9456e5134eb0a7b5408d274bd8e33e83df44fab94101f7c5b650200000009ac5100006353630051407aadf6f5aaffbd318fdbbc9cae4bd883e67d524df06bb006ce2f7c7e2725744afb76960100000004536a53acec0d64eae09e2fa1a7c4960354230d51146cf6dc45ee8a51f489e20508a785cbe6ca86fc000000000651536a516300ffffffff014ef598020000000006636aac655265a6ae1b75", + "53516a5363526563", + 2, + -1823982010, + "13e8b5ab4e5b2ceeff0045c625e19898bda2d39fd7af682e2d1521303cfe1154" + ], + [ + "3c436c2501442a5b700cbc0622ee5143b34b1b8021ea7bbc29e4154ab1f5bdfb3dff9d640501000000076a5251ac5252acffffffff0170b9a20300000000056a6351525114b13791", + "63ac5251ac65", + 0, + -2140612788, + "6c44dd81f45d721f4fb8f4b2b3235798721f0477348f69e73bb9bcaa34a3bf3a" + ], + [ + "d62f183e037e0d52dcf73f9b31f70554bce4f693d36d17552d0e217041e01f15ad3840c838000000000863acac6a6a6a6363ffffffffabdfb395b6b4e63e02a763830f536fc09a35ff8a0cf604021c3c751fe4c88f4d03000000046365ac53aa4d30de95a2327bccf9039fb1ad976f84e0b4a0936d82e67eafebc108993f1e57d8ae39000000000165ffffffff04364ad30500000000036a005179fd84010000000006636aac6363519b9023030000000008510065006563ac6acd2a4a02000000000000000000", + "52", + 1, + 595020383, + "43f13b3e823082f194d9eafe225f9622cd99fdb188e773cc710562f75a8f98c0" + ], + [ + "44c200a5021238de8de7d80e7cce905606001524e21c8d8627e279335554ca886454d692e6000000000400acac52bb8d1dc876abb1f514e96b21c6e83f429c66accd961860dc3aed5071e153e556e6cf076d02000000056553526a51870a928d0360a580040000000004516a535290e1e3020000000007516a00510065acdd7fc504000000000651536365636abb1ec182", + "6363", + 0, + -785766894, + "98866f7694e00b4b902ea968c971b7aadc08e972cb75bf792accb6f17a62e25a" + ], + [ + "d682d52d034e9b062544e5f8c60f860c18f029df8b47716cabb6c1b4a4b310a0705e754556020000000400656a0016eeb88eef6924fed207fba7ddd321ff3d84f09902ff958c815a2bf2bb692eb52032c4d803000000076365ac516a520099788831f8c8eb2552389839cfb81a9dc55ecd25367acad4e03cfbb06530f8cccf82802701000000085253655300656a53ffffffff02d543200500000000056a510052ac03978b05000000000700ac51525363acfdc4f784", + "", + 2, + -696035135, + "e1a256854099907050cfee7778f2018082e735a1f1a3d91437584850a74c87bb" + ], + [ + "e8c0dec5026575ddf31343c20aeeca8770afb33d4e562aa8ee52eeda6b88806fdfd4fe0a97030000000653ac65516552ffffffffdde122c2c3e9708874286465f8105f43019e837746686f442666629088a970e0010000000153ffffffff01f98eee0100000000025251fe87379a", + "63", + 1, + 633826334, + "abe441209165d25bc6d8368f2e7e7dc21019056719fef1ace45542aa2ef282e2" + ], + [ + "b288c331011c17569293c1e6448e33a64205fc9dc6e35bc756a1ac8b97d18e912ea88dc0770200000006635300ac6aacfc3c890903a3ccf8040000000004656500ac9c65c90400000000056a6a65ac63ac5f7702000000000365005200000000", + "526a63", + 0, + 1574937329, + "ea9f25d0dcf3b7bb2a98b8416f581569eef203dda8cea3fe8a3d92ea80cc50b0" + ], + [ + "fc0a092003cb275fa9a25a72cf85d69c19e4590bfde36c2b91cd2c9c56385f51cc545530210000000003530063ffffffff729b006eb6d14d6e5e32b1c376acf1c62830a5d9246da38dbdb4db9f51fd1c74020000000463636500ffffffff0ae695c6d12ab7dcb8d3d4b547b03f178c7268765d1de9af8523d244e3836b12030000000151ffffffff0115c1e20100000000056a6aac6a6a1ff59aec", + "0053ac", + 0, + 931831026, + "1a4207a784c0ab325f36f7632cd29a8f98c719a4f2794febfaa9915a38e9ff14" + ], + [ + "0fcae7e004a71a4a7c8f66e9450c0c1785268679f5f1a2ee0fb3e72413d70a9049ecff75de020000000452005251ffffffff99c8363c4b95e7ec13b8c017d7bb6e80f7c04b1187d6072961e1c2479b1dc0320200000000ffffffff7cf03b3d66ab53ed740a70c5c392b84f780fff5472aee82971ac3bfeeb09b2df02000000055265636a0058e4fe9257d7c7c7e82ff187757c6eadc14cceb6664dba2de03a018095fd3006682a5b9600000000056353536a636de26b2303ff76de010000000001acdc0a2e0200000000000a53ed02000000000653006351510088417307", + "ac6aac5165535253", + 2, + -902160694, + "da4a0ce0d5835d2b1c0346ca90c94a267345339db2c4634410e640f6c86cd173" + ], + [ + "612701500414271138e30a46b7a5d95c70c78cc45bf8e40491dac23a6a1b65a51af04e6b94020000000451655153ffffffffeb72dc0e49b2fad3075c19e1e6e4b387f1365dca43d510f6a02136318ddecb7f0200000003536352e115ffc4f9bae25ef5baf534a890d18106fb07055c4d7ec9553ba89ed1ac2101724e507303000000070063006563acac2ff07f69a080cf61a9d19f868239e6a4817c0eeb6a4f33fe254045d8af2bca289a8695de0300000000430736c404d317840500000000066a00ac535165306e05030000000006630051536a6a6c8aca010000000004655163515dcf960100000000016a00000000", + "", + 2, + -604581431, + "bc4865c1566a0cdf045abb6c938987da7c39dd582d0fba6fff8d1837ee4a7166" + ], + [ + "6b68ba00023bb4f446365ea04d68d48539aae66f5b04e31e6b38b594d2723ab82d44512460000000000200acffffffff5dfc6febb484fff69c9eeb7c7eb972e91b6d949295571b8235b1da8955f3137b020000000851ac6352516a535325828c8a03365da801000000000600636aac65510f594d03000000000963ac536365ac63636a45329e010000000004ac53526a00000000", + "005151", + 0, + 1317038910, + "0ae0a34d94e7876dd15da19879f9cea8d4d0bfaa5ce318506583a41abafefda4" + ], + [ + "aff5850c0168a67296cc790c1b04a9ed9ad1ba0469263a9432fcb53676d1bb4e0eea8ea1410100000005ac65526a537d5fcb1d01d9c26d02000000000552655153acc0617ca1", + "51650063", + 0, + 1712981774, + "87c894884c1e673ad986b2ff632c114c307b786e0568912b6612223eea18828a" + ], + [ + "e6d6b9d8042c27aec99af8c12b6c1f7a80453e2252c02515e1f391da185df0874e133696b50300000006ac5165650065ffffffff6a4b60a5bfe7af72b198eaa3cde2e02aa5fa36bdf5f24ebce79f6ecb51f3b554000000000452656aac2ec4c5a6cebf86866b1fcc4c5bd5f4b19785a8eea2cdfe58851febf87feacf6f355324a80100000001537100145149ac1e287cef62f6f5343579189fad849dd33f25c25bfca841cb696f10c5a34503000000046a636a63df9d7c4c018d96e20100000000015100000000", + "53", + 1, + -1924777542, + "f98f95d0c5ec3ac3e699d81f6c440d2e7843eab15393eb023bc5a62835d6dcea" + ], + [ + "046ac25e030a344116489cc48025659a363da60bc36b3a8784df137a93b9afeab91a04c1ed0200000008510000526a65ac51ffffffff6c094a03869fde55b9a8c4942a9906683f0a96e2d3e5a03c73614ea3223b2c29020000000400636a6affffffff3da7aa5ecef9071600866267674b54af1740c5aeb88a290c459caa257a2683cb000000000265657e2a1b900301b916030000000004ac63656308f4ed0300000000075253ac63ac51ac73d62002000000000200008deb1285", + "6a", + 2, + 1299505108, + "12680ed69294aee1203af681520d76a34f58d77a3656a2d170d2534c810545c1" + ], + [ + "bd515acd0130b0ac47c2d87f8d65953ec7d657af8d96af584fc13323d0c182a2e5f9a96573000000000652ac51acac65ffffffff0467aade000000000003655363dc577d0500000000055152525300137f60030000000007535163530065004cdc860500000000036a5265241bf53e", + "ac", + 0, + 621090621, + "9f65007e83f456f919bf343d1ae243f1f6acd25e80c08ccee9399c772141757a" + ], + [ + "ff1ae37103397245ac0fa1c115b079fa20930757f5b6623db3579cb7663313c2dc4a3ffdb300000000076353656a000053ffffffff83c59e38e5ad91216ee1a312d15b4267bae2dd2e57d1a3fd5c2f0f809eeb5d460100000005006a6a5351ffffffff9d5e706c032c1e0ca75915f8c6686f64ec995ebcd2539508b7dd8abc3e4d7d2a01000000006b2bdcda02a8fe070500000000045253000019e31d0400000000050063ac526a00000000", + "53656a6a525251", + 0, + 881938872, + "4a5fbdebe4a5bb645f4ccfb9bbc6397930d3d7842da1907e4adfc46e3854d8d8" + ], + [ + "ff5400dd02fec5beb9a396e1cbedc82bedae09ed44bae60ba9bef2ff375a6858212478844b03000000025253ffffffff01e46c203577a79d1172db715e9cc6316b9cfc59b5e5e4d9199fef201c6f9f0f0000000008006552656a5165acffffffff02e8ce62040000000002515312ce3e00000000000251513f119316", + "", + 0, + 1541581667, + "1e0da47eedbbb381b0e0debbb76e128d042e02e65b11125e17fd127305fc65cd" + ], + [ + "28e3daa603c03626ad91ffd0ff927a126e28d29db5012588b829a06a652ea4a8a57324070302000000036552acffffffff8e643146d3d0568fc2ad854fd7864d43f6f16b84e395db82b739f6f5c84d97b40000000004515165526b01c2dc1469db0198bd884e95d8f29056c48d7e74ff9fd37a9dec53e44b8769a6c99c030200000008006a516a53630065eea8738901002398000000000006ac5363516a51eaef12f5", + "5252515253", + 2, + 1687390463, + "b0951cf9846e21e7453f8143f08237c2c8d1894ae427564e4c363051cfec6a4d" + ], + [ + "b54bf5ac043b62e97817abb892892269231b9b220ba08bc8dbc570937cd1ea7cdc13d9676c0100000003515365a10adb7b35189e1e8c00b86250f769319668189b7993d6bdac012800f1749150415b2deb0200000003655300ffffffff60b9f4fb9a7e17069fd00416d421f804e2ef2f2c67de4ca04e0241b9f9c1cc5d02000000026aacfffffffff048168461cce1d40601b42fbc5c4f904ace0d35654b7cc1937ccf53fe78505a0100000007526563525265acffffffff01dbf4e6040000000007acac656553636500000000", + "63", + 2, + 882302077, + "f5b38b0f06e246e47ce622e5ee27d5512c509f8ac0e39651b3389815eff2ab93" + ], + [ + "ebf628b30360bab3fa4f47ce9e0dcbe9ceaf6675350e638baff0c2c197b2419f8e4fb17e16000000000452516365ac4d909a79be207c6e5fb44fbe348acc42fc7fe7ef1d0baa0e4771a3c4a6efdd7e2c118b0100000003acacacffffffffa6166e9101f03975721a3067f1636cc390d72617be72e5c3c4f73057004ee0ee010000000863636a6a516a5252c1b1e82102d8d54500000000000153324c900400000000015308384913", + "0063516a51", + 1, + -1658428367, + "eb2d8dea38e9175d4d33df41f4087c6fea038a71572e3bad1ea166353bf22184" + ], + [ + "d6a8500303f1507b1221a91adb6462fb62d741b3052e5e7684ea7cd061a5fc0b0e93549fa50100000003ac65acfffffffffdec79bf7e139c428c7cfd4b35435ae94336367c7b5e1f8e9826fcb0ebaaaea30300000000ffffffffd115fdc00713d52c35ea92805414bd57d1e59d0e6d3b79a77ee18a3228278ada020000000453005151ffffffff040231510300000000085100ac6a6a000063c6041c0400000000080000536a6563acac138a0b04000000000163d25fbe03000000000900656a00656aac510000000000", + "ac526aac6a00", + 1, + -2007972591, + "70466179ab02e0a0d1e30fb22e189fe37c317ca4022487f41b6b1e22f52213e3" + ], + [ + "658cb1c1049564e728291a56fa79987a4ed3146775fce078bd2e875d1a5ca83baf6166a82302000000046a6563512170e7d0826cbdb45fda0457ca7689745fd70541e2137bb4f52e7b432dcfe2112807bd720300000007006a0052536351ffffffff8715ca2977696abf86d433d5c920ef26974f50e9f4a20c584fecbb68e530af5101000000009e49d864155bf1d3c757186d29f3388fd89c7f55cc4d9158b4cf74ca27a35a1dd93f945502000000096a535353ac656351510d29fa870230b8090400000000056a6a526a633b41da0500000000036a6a65ed63bf62", + "52acac", + 2, + -1774073281, + "d0c0ad4eb89bb42b233d8b49bfddb58a2a94a5086fced93d5be526f3e26ba57c" + ], + [ + "e92492cc01aec4e62df67ea3bc645e2e3f603645b3c5b353e4ae967b562d23d6e043badecd0100000002ac65ffffffff02c7e5ea04000000000152e1e584010000000005536365515195d16047", + "6551", + 0, + -424930556, + "1b6e90535cc7b99ac9a707fc38fc4339b7ac98c80d7d788937c84d94cba37345" + ], + [ + "02e242db04be2d8ced9179957e98cee395d4767966f71448dd084426844cbc6d15f2182e85030000000200650c8ffce3db9de9c3f9cdb9104c7cb26647a7531ad1ebf7591c259a9c9985503be50f8de30000000007ac6a51636a6353ffffffffa2e33e7ff06fd6469987ddf8a626853dbf30c01719efb259ae768f051f803cd30300000000fffffffffd69d8aead941683ca0b1ee235d09eade960e0b1df3cd99f850afc0af1b73e07030000000060bb602a011659670100000000076363526300acac00000000", + "6353515251", + 3, + 1451100552, + "bbc9069b8615f3a52ac8a77359098dcc6c1ba88c8372d5d5fe080b99eb781e55" + ], + [ + "b28d5f5e015a7f24d5f9e7b04a83cd07277d452e898f78b50aae45393dfb87f94a26ef57720200000006ac630053ac52ffffffff046475ed0400000000075100526363ac65c9834a04000000000151ae26b30100000000040000ac65ceefb900000000000000000000", + "ac6551ac6a536553", + 0, + -1756558188, + "fa793d53ce3009538526eb1d1c0547cad63610aee4425a8c3c01f0e8ef3fbda1" + ], + [ + "efb8b09801f647553b91922a5874f8e4bb2ed8ddb3536ed2d2ed0698fac5e0e3a298012391030000000952ac005263ac52006affffffff04cdfa0f050000000005ac5351ac65b68d1b0200000000045365ac00d057d50000000000016a9e1fda010000000007ac63ac536552ac00000000", + "6aac", + 0, + 1947322973, + "fee40f24dd25601b57caedb968efb0940c31b686b4ca6976fedeb664cfdabf2c" + ], + [ + "68a59fb901c21946797e7d07a4a3ea86978ce43df0479860d7116ac514ba955460bae78fff0000000000ffffffff03979be80100000000036553639300bc040000000008006552006a656565cfa78d0000000000056552ac635100000000", + "65", + 0, + 995583673, + "f1eb78d44ea74232cf2e8555eddd3bae8ccbe9cf678ad3bd826144fe984ffd63" + ], + [ + "67761f2a014a16f3940dcb14a22ba5dc057fcffdcd2cf6150b01d516be00ef55ef7eb07a830100000004636a6a51ffffffff01af67bd050000000008526553526300510000000000", + "6a00", + 0, + 1570943676, + "079fa62e9d9d7654da8b74b065da3154f3e63c315f25751b4d896733a1d67807" + ], + [ + "e20fe96302496eb436eee98cd5a32e1c49f2a379ceb71ada8a48c5382df7c8cd88bdc47ced03000000016556aa0e180660925a841b457aed0aae47fca2a92fa1d7afeda647abf67198a3902a7c80dd00000000085152ac636a535265bd18335e01803c810100000000046500ac52f371025e", + "6363", + 1, + -651254218, + "2921a0e5e3ba83c57ba57c25569380c17986bf34c366ec216d4188d5ba8b0b47" + ], + [ + "4e1bd9fa011fe7aa14eee8e78f27c9fde5127f99f53d86bc67bdab23ca8901054ee8a8b6eb0300000009ac535153006a6a0063ffffffff044233670500000000000a667205000000000452636a51e5bf35030000000003535351d579e50500000000060063006551ac3419ac30", + "52ac52", + 0, + -1807563680, + "18f86c959cf34c3f4748ae43b15ac365986c340a004c3f6b461af4bd0e214f23" + ], + [ + "ec02fbee03120d02fde12574649660c441b40d330439183430c6feb404064d4f507e704f3c0100000000ffffffffe108d99c7a4e5f75cc35c05debb615d52fac6e3240a6964a29c1704d98017fb6020000000163fffffffff726ec890038977adfc9dadbeaf5e486d5fcb65dc23acff0dd90b61b8e2773410000000002ac65e9dace55010f881b010000000004ac00650000000000", + "51ac525152ac6552", + 2, + -1564046020, + "67cdf19c0e2207c39eba0c3227246f9a892b71657b657279289a0de48de36a84" + ], + [ + "23dbdcc1039c99bf11938d8e3ccec53b60c6c1d10c8eb6c31197d62c6c4e2af17f52115c3a0300000006636352000063ffffffff17823880e1df93e63ad98c29bfac12e36efd60254346cac9d3f8ada020afc062030000000263631c26f002ac66e86cd22a25e3ed3cb39d982f47c5118f03253054842daadc88a6c41a2e1500000000086a00636a53635163195314de015570fd0100000000086a5263ac5200005300000000", + "ac6a6553", + 1, + 11586329, + "c9175e72b4bac047b14e198e735c5f611770a704323f8298410ed233befc9a28" + ], + [ + "33b03bf00222c7ca35c2f8870bbdef2a543b70677e413ce50494ac9b22ea673287b6aa55c5000000000400006a52ee4d97b527eb0b427e4514ea4a76c81e68c34900a23838d3e57d0edb5410e62eeb8c92b6000000000553ac6aacac42e59e170326245c000000000007656553536a516ab1a10603000000000652526a516500cc89c802000000000763ac6a63ac516300000000", + "", + 0, + 557416556, + "1eb1b268555b020ce680b0d86c8e86e0ddfb072bd3be6db1193683145b1d4197" + ], + [ + "813eda1103ac8159850b4524ef65e4644e0fc30efe57a5db0c0365a30446d518d9b9aa8fdd0000000003656565c2f1e89448b374b8f12055557927d5b33339c52228f7108228149920e0b77ef0bcd69da60000000003ac006382cdb7978d28630c5e1dc630f332c4245581f787936f0b1e84d38d33892141974c75b4750300000003ac5365ffffffff0137edfb02000000000000000000", + "0063", + 1, + -1948560575, + "71dfcd2eb7f2e6473aed47b16a6d5fcbd0af22813d892e9765023151e07771ec" + ], + [ + "9e45d9aa0248c16dbd7f435e8c54ae1ad086de50c7b25795a704f3d8e45e1886386c653fbf01000000025352fb4a1acefdd27747b60d1fb79b96d14fb88770c75e0da941b7803a513e6d4c908c6445c7010000000163ffffffff014069a8010000000001520a794fb3", + "51ac005363", + 1, + -719113284, + "0d31a221c69bd322ef7193dd7359ddfefec9e0a1521d4a8740326d46e44a5d6a" + ], + [ + "36e42018044652286b19a90e5dd4f8d9f361d0760d080c5c5add1970296ff0f1de630233c8010000000200ac39260c7606017d2246ee14ddb7611586178067e6a4be38e788e33f39a3a95a55a13a6775010000000352ac638bea784f7c2354ed02ea0b93f0240cdfb91796fa77649beee6f7027caa70778b091deee700000000066a65ac656363ffffffff4d9d77ab676d711267ef65363f2d192e1bd55d3cd37f2280a34c72e8b4c559d700000000046a006a00001764e1020d30220100000000075252516aac00534720970400000000086353536a636a5100a56407a1", + "006a53655153", + 0, + 827296034, + "daec2af5622bbe220c762da77bab14dc75e7d28aa1ade9b7f100798f7f0fd97a" + ], + [ + "5e06159a02762b5f3a5edcdfc91fd88c3bff08b202e69eb5ba74743e9f4291c4059ab008200000000001ac348f5446bb069ef977f89dbe925795d59fb5d98562679bafd61f5f5f3150c3559582992d00000000065165515353ac762fc67703847ec6010000000000e200cf040000000001aca64b86010000000007520000515363acb82b491b", + "535253526a", + 0, + -61819505, + "db79951df96e717d7e2da948bf0d9471d6c21fcdadf66b114ba206af0f2655a1" + ], + [ + "a1948872013b543d6d902ccdeead231c585195214ccf5d39f136023855958436a43266911501000000086aac006a6a6a51514951c9b2038a538a04000000000452526563c0f345050000000007526a5252ac526af9be8e03000000000652acac51006306198db2", + "6353", + 0, + -326384076, + "ac7e7c73d421e8db3fde36c0bda6747e11841c2aa9bd35504c8c911601964168" + ], + [ + "c3efabba03cb656f154d1e159aa4a1a4bf9423a50454ebcef07bc3c42a35fb8ad84014864d0000000000d1cc73d260980775650caa272e9103dc6408bdacaddada6b9c67c88ceba6abaa9caa2f7d020000000553536a5265ffffffff9f946e8176d9b11ff854b76efcca0a4c236d29b69fb645ba29d406480427438e01000000066a0065005300ffffffff040419c00100000000026a63cdb5b60100000000080063005352656a63f9fe5e050000000004acac5352611b980100000000086a00acac00006a512d7f0c40", + "0053", + 0, + -59089911, + "5d0c4674661b9ec0295cebe0deb9997b37ca3cd582a28777758e532288c65584" + ], + [ + "efb55c2e04b21a0c25e0e29f6586be9ef09f2008389e5257ebf2f5251051cdc6a79fce2dac020000000351006affffffffaba73e5b6e6c62048ba5676d18c33ccbcb59866470bb7911ccafb2238cfd493802000000026563ffffffffe62d7cb8658a6eca8a8babeb0f1f4fa535b62f5fc0ec70eb0111174e72bbec5e0300000006ac516365526affffffffbf568789e681032d3e3be761642f25e46c20322fa80346c1146cb47ac999cf1b0300000000b3dbd559025288280100000000000aac7b0100000000015300000000", + "acac52", + 3, + 1638140535, + "6a9f07368fe6045aa9d8651087d8fb1c12988a958764c991651c7a1e819d3dbf" + ], + [ + "91d3b21903629209b877b3e1aef09cd59aca6a5a0db9b83e6b3472aceec3bc2109e64ab85a0200000003530065ffffffffca5f92de2f1b7d8478b8261eaf32e5656b9eabbc58dcb2345912e9079a33c4cd0100000005006500536ad530611da41bbd51a389788c46678a265fe85737b8d317a83a8ff7a839debd18892ae5c803000000056aac6551008b86c501038b8a9a05000000000263525b3f7a04000000000453535300d4e3ff04000000000565ac5165630b7b656f", + "6551525151516a00", + 2, + 499657927, + "1d5e3f025b461b1ce59e3c3564ec28633d6f691d7c03086a0eef58c7dfacdad4" + ], + [ + "5d5c41ad0317aa7e40a513f5141ad5fc6e17d3916eebee4ddb400ddab596175b41a111ead20100000005536a5265acffffffff900ecb5e355c5c9f278c2c6ea15ac1558b041738e4bffe5ae06a9346d66d5b2b00000000060000636a656affffffff99f4e08305fa5bd8e38fb9ca18b73f7a33c61ff7b3c68e696b30a04fea87f3ca000000000163d3d1760d019fc13a00000000000000000000", + "53ac6aac6a52", + 2, + 1007461922, + "4012f5ff2f1238a0eb84854074670b4703238ebc15bfcdcd47ffa8498105fcd9" + ], + [ + "ceecfa6c02b7e3345445b82226b15b7a097563fa7d15f3b0c979232b138124b62c0be007890200000008ac51536a63525253ffffffffbae481ccb4f15d94db5ec0d8854c24c1cc8642bd0c6300ede98a91ca13a4539a0200000001ac50b0813d023110f5020000000005acac526563e2b0d0040000000009656aac0063516a536300000000", + "0063526500", + 0, + -1862053821, + "ac45b766abbd5c40316d80844f939938005cf51b5e644fc4fde63b0d96453b03" + ], + [ + "ae62d5fd0380c4083a26642159f51af24bf55dc69008e6b7769442b6a69a603edd980a33000000000003510053ffffffff49d048324d899d4b8ed5e739d604f5806a1104fede4cb9f92cc825a7fa7b4bfe0200000005536a000053ffffffff42e5cea5673c650881d0b4005fa4550fd86de5f21509c4564a379a0b7252ac0e0000000007530000526a53525f26a68a03bfacc3010000000000e2496f0000000000085253acac52636563b11cc600000000000700510065526a6a00000000", + "", + 1, + -1600104856, + "cac54b3a39a48c9a02e39bb968394d08664a5508853aedd6319341307ac0e03c" + ], + [ + "f06f64af04fdcb830464b5efdb3d5ee25869b0744005375481d7b9d7136a0eb8828ad1f0240200000003516563fffffffffd3ba192dabe9c4eb634a1e3079fca4f072ee5ceb4b57deb6ade5527053a92c5000000000165ffffffff39f43401a36ba13a5c6dd7f1190e793933ae32ee3bf3e7bfb967be51e681af760300000009650000536552636a528e34f50b21183952cad945a83d4d56294b55258183e1627d6e8fb3beb8457ec36cadb0630000000003530052334a7128014bbfd10100000000075352006a63656afc424a7c", + "53650051635253ac00", + 2, + 313255000, + "d0b066d280df7df96d13d797a60425a38efbc5694086722202713c0e6c3b8a8d" + ], + [ + "6dfd2f98046b08e7e2ef5fff153e00545faf7076699012993c7a30cb1a50ec528281a9022f030000000152ffffffff1f535e4851920b968e6c437d84d6ecf586984ebddb7d5db6ae035bd02ba222a8010000000551006a5351605072acb3e17939fa0737bc3ee43bc393b4acd58451fc4ffeeedc06df9fc649828822d5010000000253525a4955221715f27788d302382112cf60719be9ae159c51f394519bd5f7e70a4f9816c7020200000008526a6a51636a656a36d3a5ff0445548e0100000000086a6a00516a52655167030b050000000004ac6a63525cfda8030000000000e158200000000000010000000000", + "535263ac6a65515153", + 3, + 585774166, + "72b7da10704c3ca7d1deb60c31b718ee12c70dc9dfb9ae3461edce50789fe2ba" + ], + [ + "187eafed01389a45e75e9dda526d3acbbd41e6414936b3356473d1f9793d161603efdb4567010000000100ffffffff04371c8202000000000563630063523b3bde02000000000753516563006300e9e765010000000005516aac656a373f9805000000000565525352ac08d46763", + "", + 0, + 122457992, + "6a7e59385244ed651f3a9fd3b79c91cef425233a6c1f399ca853ad25f7ac56db" + ], + [ + "7d50b977035d50411d814d296da9f7965ddc56f3250961ca5ba805cadd0454e7c521e31b0300000000003d0416c2cf115a397bacf615339f0e54f6c35ffec95aa009284d38390bdde1595cc7aa7c010000000452ac5365ffffffff4232c6e796544d5ac848c9dc8d25cfa74e32e847a5fc74c74d8f38ca51188562030000000653ac51006a51ffffffff016bd8bb000000000003655253163526f3", + "51526a00005353", + 1, + -1311316785, + "896b409b0dc8586307777d9ed6e47729d2ea5f2ecb4c3d46f275649a0ff3f1d1" + ], + [ + "2a45cd1001bf642a2315d4a427eddcc1e2b0209b1c6abd2db81a800c5f1af32812de42032702000000050051525200ffffffff032177db050000000004530051ac49186f0000000000026a00645c0000000000000665655263acac00000000", + "6a65", + 0, + -1774715722, + "23ef12379dbb35735b930e5fd2cc607d052cee29167d61cb783761f7aa30343f" + ], + [ + "479358c202427f3c8d19e2ea3def6d6d3ef2281b4a93cd76214f0c7d8f040aa042fe19f71f0300000000ffffffffa2709be556cf6ecaa5ef530df9e4d056d0ed57ce96de55a5b1f369fa40d4e74a020000000700006a51635365c426be3f02af57850500000000026363fd8f590500000000055153ac53632dfb14b3", + "52006351", + 1, + -763226778, + "f2b472c43f1a619df3abb4a83654a3f5cef07418868169ba7fd8139d69bb7914" + ], + [ + "76179a8e03bec40747ad65ab0f8a21bc0d125b5c3c17ad5565556d5cb03ade7c83b4f32d98030000000151ffffffff99b900504e0c02b97a65e24f3ad8435dfa54e3c368f4e654803b756d011d24150200000003ac5353617a04ac61bb6cf697cfa4726657ba35ed0031432da8c0ffb252a190278830f9bd54f0320100000006656551005153c8e8fc8803677c77020000000007ac6553535253ac70f442030000000001535be0f20200000000026300bf46cb3a", + "6a52", + 1, + -58495673, + "35e94b3776a6729d20aa2f3ddeeb06d3aad1c14cc4cde52fd21a4efc212ea16c" + ], + [ + "75ae53c2042f7546223ce5d5f9e00a968ddc68d52e8932ef2013fa40ce4e8c6ed0b6195cde01000000056563ac630079da0452c20697382e3dba6f4fc300da5f52e95a9dca379bb792907db872ba751b8024ee0300000009655151536500005163ffffffffe091b6d43f51ff00eff0ccfbc99b72d3aff208e0f44b44dfa5e1c7322cfc0c5f0100000006520000536363ffffffff7e96c3b83443260ac5cfd18258574fbc4225c630d3950df812bf51dceaeb0f9103000000065365655165639a6bf70b01b3e14305000000000563530063ac00000000", + "630000ac", + 2, + 982422189, + "ee4ea49d2aae0dbba05f0b9785172da54408eb1ec67d36759ff7ed25bfc28766" + ], + [ + "1cdfa01e01e1b8078e9c2b0ca5082249bd18fdb8b629ead659adedf9a0dd5a04031871ba1202000000075253515365656affffffff011e28430200000000076a5363636aac52b2febd4a", + "acac63656300", + 0, + 387396350, + "299dcaac2bdaa627eba0dfd74767ee6c6f27c9200b49da8ff6270b1041669e7e" + ], + [ + "cc28c1810113dfa6f0fcd9c7d9c9a30fb6f1d774356abeb527a8651f24f4e6b25cf763c4e00300000002636affffffff02dfc60500000000000700536363510052afd569030000000003535265f6c90d99", + "006551acacac", + 0, + 1299280838, + "de88653f77e3b6549285fc4fb791acf57e99943fa4e4589a05fa03dba27b877f" + ], + [ + "ca816e7802cd43d66b9374cd9bf99a8da09402d69c688d8dcc5283ace8f147e1672b757e020200000003516a5240fb06c95c922342279fcd88ba6cd915933e320d7becac03192e0941e0345b79223e89570300000004005151ac353ecb5d0264dfbd010000000003ac6aacd5d70001000000000752ac53ac6a5151ec257f71", + "63ac", + 1, + 774695685, + "c10f1c008fcc3db006822d9d3f66518d3cd96a1a08c79cd3557dfdd676a25f45" + ], + [ + "b42b955303942fedd7dc77bbd9040aa0de858afa100f399d63c7f167b7986d6c2377f66a7403000000066aac00525100ffffffff0577d04b64880425a3174055f94191031ad6b4ca6f34f6da9be7c3411d8b51fc000000000300526a6391e1cf0f22e45ef1c44298523b516b3e1249df153590f592fcb5c5fc432dc66f3b57cb03000000046a6aac65ffffffff0393a6c9000000000004516a65aca674ac0400000000046a525352c82c370000000000030053538e577f89", + "", + 1, + -1237094944, + "566953eb806d40a9fb684d46c1bf8c69dea86273424d562bd407b9461c8509af" + ], + [ + "92c9fe210201e781b72554a0ed5e22507fb02434ddbaa69aff6e74ea8bad656071f1923f3f02000000056a63ac6a514470cef985ba83dcb8eee2044807bedbf0d983ae21286421506ae276142359c8c6a34d68020000000863ac63525265006aa796dd0102ca3f9d0500000000050052535353cd5c83010000000007ac00525252005322ac75ee", + "5165", + 0, + 97879971, + "ddeff6de8056dbdbf2c0b921543d8a0c2fa3a4156968a6204ffb1f1c94c1bc9c" + ], + [ + "ccca1d5b01e40fe2c6b3ee24c660252134601dab785b8f55bd6201ffaf2fddc7b3e2192325030000000365535100496d4703b4b66603000000000665535253ac633013240000000000015212d2a502000000000851ac636353636a5337b82426", + "0052", + 0, + -1691630172, + "2588673ffa4397bfdd505127331f3ef08912aaedae468f013809b93e32456ac2" + ], + [ + "bc1a7a3c01691e2d0c4266136f12e391422f93655c71831d90935fbda7e840e50770c61da20000000007635253ac516353ffffffff031f32aa020000000003636563786dbc0200000000003e950f00000000000563516a655184b8a1de", + "51536a", + 0, + -1627072905, + "730bc25699b46703d7718fd5f5c34c4b5f00f594a9968ddc247fa7d5175124ed" + ], + [ + "076d209e02d904a6c40713c7225d23e7c25d4133c3c3477828f98c7d6dbd68744023dbb66b03000000065300536565acffffffff10975f1b8db8861ca94c8cc7c7cff086ddcd83e10b5fffd4fc8f2bdb03f9463c0100000000ffffffff029dff76010000000006526365530051a3be6004000000000000000000", + "515253ac65acacac", + 1, + -1207502445, + "66c488603b2bc53f0d22994a1f0f66fb2958203102eba30fe1d37b27a55de7a5" + ], + [ + "690fd1f80476db1f9eebe91317f2f130a60cbc1f4feadd9d6474d438e9cb7f91e4994600af0300000003536a63a15ce9fa6622d0c4171d895b42bff884dc6e8a7452f827fdc68a29c3c88e6fdee364eaf5000000000152ffffffff022dc39d3c0956b24d7f410b1e387859e7a72955f45d6ffb1e884d77888d18fe0300000005ac6a63656afffffffff10b06bce1800f5c49153d24748fdefb0bf514c12863247d1042d56018c3e25c03000000086a63ac6365536a52ffffffff031f162f0500000000050000655265ffbcd40500000000045151ac001a9c8c05000000000652ac53656a6300000000", + "ac5163acac", + 0, + -67986012, + "631c2af46a073eefd20c20a532d88d4b20ed13fe82548f89d6604f45b843bb15" + ], + [ + "49ac2af00216c0307a29e83aa5de19770e6b20845de329290bd69cf0e0db7aed61ae41b39002000000035163ac8b2558ef84635bfc59635150e90b61fc753d34acfd10d97531043053e229cd720133cd95000000000463516a51ffffffff02458471040000000006636a51ac0065545aa80000000000096a6553516a5263ac6a00000000", + "515263005363", + 1, + 1449668540, + "87567ef198b654c923fa489e8f058e5c584a5a3c01d76b29ee494d2301583cf9" + ], + [ + "fa4d868b024b010bd5dce46576c2fb489aa60bb797dac3c72a4836f49812c5c564c258414f03000000007a9b3a585e05027bdd89edbadf3c85ac61f8c3a04c773fa746517ae600ff1a9d6b6c02fb0200000003515163ffffffff01b17d020500000000046a65520000000000", + "53656565635363", + 0, + -1718953372, + "96c2b32f0a00a5925db7ba72d0b5d39922f30ea0f7443b22bc1b734808513c47" + ], + [ + "cac6382d0462375e83b67c7a86c922b569a7473bfced67f17afd96c3cd2d896cf113febf9e0300000003006a53ffffffffaa4913b7eae6821487dd3ca43a514e94dcbbf350f8cc4cafff9c1a88720711b800000000096a6a525300acac6353ffffffff184fc4109c34ea27014cc2c1536ef7ed1821951797a7141ddacdd6e429fae6ff01000000055251655200ffffffff9e7b79b4e6836e290d7b489ead931cba65d1030ccc06f20bd4ca46a40195b33c030000000008f6bc8304a09a2704000000000563655353511dbc73050000000000cf34c500000000000091f76e000000000006520000005100d07208cb", + "0063656a", + 2, + -1488731031, + "75f88c4a66ba5b54534fbb87f5127e2557750e44c418450ca083d16c78237122" + ], + [ + "1711146502c1a0b82eaa7893976fefe0fb758c3f0e560447cef6e1bde11e42de91a125f71c030000000015bd8c04703b4030496c7461482481f290c623be3e76ad23d57a955807c9e851aaaa20270300000000d04abaf20326dcb7030000000001632225350400000000075263ac00520063dddad9020000000000af23d148", + "52520053510063", + 0, + 1852122830, + "e33d5ee08c0f3c130a44d7ce29606450271b676f4a80c52ab9ffab00cecf67f8" + ], + [ + "8d5b124d0231fbfc640c706ddb1d57bb49a18ba8ca0e1101e32c7e6e65a0d4c7971d93ea360100000006acac0000ac65ffffffff8fe0fd7696597b845c079c3e7b87d4a44110c445a330d70342a5501955e17dd70100000003525363ef22e8a90346629f030000000009516a00ac63acac51657bd57b05000000000200acfd4288050000000006ac535200636300000000", + "53ac52655365", + 0, + 1253152975, + "8f0605526d02765e387a2514228dea36ce6cf56afe17c37980b07bdf8b7e7115" + ], + [ + "38146dc502c7430e92b6708e9e107b61cd38e5e773d9395e5c8ad8986e7e4c03ee1c1e1e760100000000c8962ce2ac1bb3b1285c0b9ba07f4d2e5ce87c738c42ac0548cd8cec1100e6928cd6b0b6010000000563636a52527cccefbd04e5f6f8020000000005006aacac65ab2c4a00000000000351635209a6f40100000000026aacce57dc0400000000065353516a516a00000000", + "", + 0, + -1205978252, + "c5d7082c3cf2ba8677fafb850fedf2aff1691ab8690e6b342330b151afd1dda0" + ], + [ + "22d81c740469695a6a83a9a4824f77ecff8804d020df23713990afce2b72591ed7de98500502000000065352526a6a6affffffff90dc85e118379b1005d7bbc7d2b8b0bab104dad7eaa49ff5bead892f17d8c3ba01000000056565630051ffffffff965193879e1d5628b52005d8560a35a2ba57a7f19201a4045b7cbab85133311d0200000003ac005348af21a13f9b4e0ad90ed20bf84e4740c8a9d7129632590349afc03799414b76fd6e826200000000025353ffffffff04a0d40d04000000000060702700000000000652655151516ad31f1502000000000365ac0069a1ac050000000008510065530053525100000000", + "51636a52ac", + 0, + -1644680765, + "add7f5da27262f13da6a1e2cc2feafdc809bd66a67fb8ae2a6f5e6be95373b6f" + ], + [ + "a27dcbc801e3475174a183586082e0914c314bc9d79d1570f29b54591e5e0dff07fbb45a7f0000000003ac5351ffffffff027347f502000000000453535163d0e5c9030000000007ac656a635152007cd632ed", + "ac63636553", + 0, + -686435306, + "895c2c8c653393c9f9b953816f1294d4b5b7941e42b7ae3157ae48480cf93dbe" + ], + [ + "b123ed2204410d4e8aaaa8cdb95234ca86dad9ff77fb4ae0fd4c06ebed36794f0215ede0040100000002ac63ffffffff3b58b81b19b90d8f402701389b238c3a84ff9ba9aeea298bbf15b41a6766d27a01000000046a655300151824d401786153b819831fb15926ff1944ea7b03d884935a8bde01ed069d5fd80220310200000000ffffffffa9c9d246f1eb8b7b382a9032b55567e9a93f86c77f4e32c092aa1738f7f756c3010000000165ffffffff011a2b48000000000000ed44d1fb", + "63005163", + 2, + -1118263883, + "b5dab912bcabedff5f63f6dd395fc2cf030d83eb4dd28214baba68a45b4bfff0" + ], + [ + "1339051503e196f730955c5a39acd6ed28dec89b4dadc3f7c79b203b344511270e5747fa9900000000045151636affffffff378c6090e08a3895cedf1d25453bbe955a274657172491fd2887ed5c9aceca7b0100000000ffffffffcf7cc3c36ddf9d4749edfa9cefed496d2f86e870deb814bfcd3b5637a5496461030000000451006300ffffffff04dcf3fa010000000007526a63005263acb41d84040000000003ac5153800eff020000000005656a535365106c5e00000000000000000000", + "ac5300", + 2, + 2013719928, + "5de3e11871729fc147fa6530bb5f50e17a5015034b680c722e8c9a4e81b671dd" + ], + [ + "0728c606014c1fd6005ccf878196ba71a54e86cc8c53d6db500c3cc0ac369a26fac6fcbc21000000000453ac5365ba9668290182d7870100000000066a000053655100000000", + "65", + 0, + 1789961588, + "ab6baa6da3b2bc853868d166f8996ad31d63ef981179f9104f49968fd61c8427" + ], + [ + "a1134397034bf4067b6c81c581e2b73fb63835a08819ba24e4e92df73074bf773c94577df7000000000465525251ffffffff8b6608feaa3c1f35f49c6330a769716fa01c5c6f6e0cdc2eb10dfc99bbc21e77010000000952656aac005352655180a0bda4bc72002c2ea8262e26e03391536ec36867258cab968a6fd6ec7523b64fa1d8c001000000056a53ac6353ffffffff04dbeeed05000000000453650052cd5d0e0100000000026351104b2e0500000000066aac53ac5165283ca701000000000353525200000000", + "515151516552", + 1, + -324598676, + "6c9fb41040b5e3af0590f6982d177c48f5f47ec2030f98073445cd91f672d3d5" + ], + [ + "bcdafbae04aa18eb75855aeb1f5124f30044741351b33794254a80070940cb10552fa4fa8e0300000001acd0423fe6e3f3f88ae606f2e8cfab7a5ef87caa2a8f0401765ff9a47d718afcfb40c0099b0000000007ac656553ac6aac645308009d680202d600e492b31ee0ab77c7c5883ebad5065f1ce87e4dfe6453e54023a0010000000151ffffffffb9d818b14245899e1d440152827c95268a676f14c3389fc47f5a11a7b38b1bde03000000026300ffffffff03cda22102000000000751ac535263005100a4d20400000000045200536ac8bef405000000000500516563ac00000000", + "6553516a526a", + 1, + -2111409753, + "b9e5621e89a8dd0c8a418db4cbe6b5950db3cffb9e211e882c53f38566cc8002" + ], + [ + "ed3bb93802ddbd08cb030ef60a2247f715a0226de390c9c1a81d52e83f8674879065b5f87d03000000026552ffffffff04d2c5e60a21fb6da8de20bf206db43b720e2a24ce26779bca25584c3f765d1e0200000005656a6aac006e946ded025a811d04000000000751ac6352ac005143cfa3030000000005635200636a00000000", + "5352ac650065535300", + 1, + -668727133, + "e9995065e1fddef72a796eef5274de62012249660dc9d233a4f24e02a2979c87" + ], + [ + "59f4629d030fa5d115c33e8d55a79ea3cba8c209821f979ed0e285299a9c72a73c5bba00150200000002636affffffffd8aca2176df3f7a96d0dc4ee3d24e6cecde1582323eec2ebef9a11f8162f17ac00000000056565ac6553ffffffffeebc10af4f99c7a21cbc1d1074bd9f0ee032482a71800f44f26ee67491208e0403000000065352ac656351ffffffff0434e955040000000003515152caf2b305000000000365ac007b1473030000000002530033da970500000000060051536a5253bb08ab51", + "", + 2, + 396340944, + "c8fd48ce40676668a083c80e6deea3db48fd54dde8c8299f1428f1ac9a358bed" + ], + [ + "286e3eb7043902bae5173ac3b39b44c5950bc363f474386a50b98c7bdab26f98dc83449c4a020000000752ac6a00510051ffffffff4339cd6a07f5a5a2cb5815e5845da70300f5c7833788363bf7fe67595d3225520100000000fffffffff9c2dd8b06ad910365ffdee1a966f124378a2b8021065c8764f6138bb1e9513802000000045153ac6affffffff0370202aba7a68df85436ea7c945139513384ef391fa33d16020420b8ad40e9a0000000007005165526353acffffffff020c1907000000000003ac526a1b490b040000000000df1528f7", + "5353", + 3, + -1407529517, + "71a48b2592d7571ccbac9a8d792889cbe17ebc09d7fa2d44baecdd812093d4ce" + ], + [ + "2e245cf80179e2e95cd1b34995c2aff49fe4519cd7cee93ad7587f7f7e8105fc2dff206cd30200000008006a63516a655352350435a201d5ed2d020000000002526558552c89", + "0053", + 0, + -233917810, + "3928fe71d4d3d96864b32b177ac1af449266829feacc820aec14d301bfdc0333" + ], + [ + "33a98004029d262f951881b20a8d746c8c707ea802cd2c8b02a33b7e907c58699f97e42be80100000006ac53536552acdee04cc01d205fd8a3687fdf265b064d42ab38046d76c736aad8865ca210824b7c622ecf02000000070065006a536a6affffffff01431c5d010000000000270d48ee", + "", + 1, + 921554116, + "ff9d7394002f3f196ea25472ea6c46f753bd879a7244795157bb7235c9322902" + ], + [ + "aac18f2b02b144ed481557c53f2146ae523f24fcde40f3445ab0193b6b276c315dc2894d2300000000075165650000636a233526947dbffc76aec7db1e1baa6868ad4799c76e14794dcbaaec9e713a83967f6a65170200000003ac655127d518be01b652a30000000000015300000000", + "52ac5353", + 1, + 1559377136, + "59fc2959bb7bb24576cc8a237961ed95bbb900679d94da6567734c4390cb6ef5" + ], + [ + "5ab79881033555b65fe58c928883f70ce7057426fbdd5c67d7260da0fe8b1b9e6a2674cb850300000009ac516aac6aac006a6affffffffa5be9223b43c2b1a4d120b5c5b6ec0484f637952a3252181d0f8e813e76e11580200000000e4b5ceb8118cb77215bbeedc9a076a4d087bb9cd1473ea32368b71daeeeacc451ec209010000000005acac5153aced7dc34e02bc5d11030000000005ac5363006a5418580300000000045200636a00000000", + "5100", + 1, + 1927062711, + "e7c0e71008397a8e6ca596d1439a0b8434142c532ee912052f7c364a1b258af3" + ], + [ + "6c2c8fac0124b0b7d4b610c3c5b91dee32b7c927ac71abdf2d008990ca1ac40de0dfd530660300000004ac5253656bd7eada01d847ec000000000004ac52006af4232ec8", + "6a6a6a0051", + 0, + -340809707, + "fb51eb9d7e47d32ff2086205214f90c7c139e08c257a64829ae4d2b301071c6a" + ], + [ + "6e3880af031735a0059c0bb5180574a7dcc88e522c8b56746d130f8d45a52184045f96793e0100000007acac6a526a6553fffffffffe05f14cdef7d12a9169ec0fd37524b5fcd3295f73f48ca35a36e671da4a2f560000000007006a526a635163ffffffffdfbd869ac9e472640a84caf28bdd82e8c6797f42d03b99817a705a24fde2736600000000010090a090a503db956b04000000000752ac536a536a63358390010000000009656a5200525153ac65353ee204000000000663530052526aa6ad83fb", + "5351516300", + 2, + 222014018, + "57a34ddeb1bf36d28c7294dda0432e9228a9c9e5cc5c692db98b6ed2e218d825" + ], + [ + "8df1cd19027db4240718dcaf70cdee33b26ea3dece49ae6917331a028c85c5a1fb7ee3e4750200000007656a00510063636157988bc84d8d55a8ba93cdea001b9bf9d0fa65b5db42be6084b5b1e1556f3602f65d4d0100000004ac000052206c852902b2fb54030000000008ac5252536aacac5378c4a5050000000006acac535163532784439e", + "ac6a", + 0, + 1105620132, + "0ff3d774137adecc3c0cf90888944050ca9d9e7940ca65f3c3b3fd93bdcc153b" + ], + [ + "0e803682024f79337b25c98f276d412bc27e56a300aa422c42994004790cee213008ff1b8303000000080051ac65ac655165f421a331892b19a44c9f88413d057fea03c3c4a6c7de4911fe6fe79cf2e9b3b10184b1910200000005525163630096cb1c670398277204000000000253acf7d5d502000000000863536a6a636a5363381092020000000002ac6a911ccf32", + "6565", + 1, + -1492094009, + "13e7129bfe4915b7aac2f46970b42a22864128b29985c527bce333de6490252d" + ], + [ + "7d71669d03022f9dd90edac323cde9e56354c6804c6b8e687e9ae699f46805aafb8bcaa636000000000153ffffffff698a5fdd3d7f2b8b000c68333e4dd58fa8045b3e2f689b889beeb3156cecdb4903000000065253530051acc53f0aa821cdd69b473ec6e6cf45cf9b38996e1c8f52c27878a01ec8bb02e8cb31ad24e5000000000453530052ffffffff0447a23401000000000365535133aaa0030000000006515163656563057d110300000000056a6aacac52cf13b5000000000003526a5100000000", + "6a6a51", + 1, + -1349253507, + "a86f24204949bed01f885373e045b2b6419a2cd78606025a296b29076d3f072b" + ], + [ + "9ff618e60136f8e6bb7eabaaac7d6e2535f5fba95854be6d2726f986eaa9537cb283c701ff02000000026a65ffffffff012d1c090500000000076500ac6a516a652f9ad240", + "51515253635351ac", + 0, + 1571304387, + "6083b26d56c3bcb1f7e297d8ecf25aa9a344be79731fabac28fb9e70dc1d0af7" + ], + [ + "9fbd43ac025e1462ecd10b1a9182a8e0c542f6d1089322a41822ab94361e214ed7e1dfdd8a020000000263519d0437581538e8e0b6aea765beff5b4f3a4a202fca6e5d19b34c141078c6688f71ba5b8e0100000003ac6552ffffffff02077774050000000008655153655263ac6a0ae4e10100000000035152524c97136b", + "635152", + 0, + 1969622955, + "9401df7836c71e2b66bf7b9d185eb019a6d4e14a6dfcde3f4e2561a69b0a5a4f" + ], + [ + "0117c92004314b84ed228fc11e2999e657f953b6de3b233331b5f0d0cf40d5cc149b93c7b30300000005515263516a083e8af1bd540e54bf5b309d36ba80ed361d77bbf4a1805c7aa73667ad9df4f97e2da4100200000004006351524d04f2179455e794b2fcb3d214670001c885f0802e4b5e015ed13a917514a7618f5f332203000000076a536a51000063ecf029e65a4a009a5d67796c9f1eb358b0d4bd2620c8ad7330fb98f5a802ab92d0038b1002000000036a6551a184a88804b044900000000000086a5152535165526a33d1ab020000000001518e92320000000000002913df04000000000852ac6353525353ac8b19bfdf", + "0000510000", + 0, + 489433059, + "676ee365c8d71b7cc0fee1c6cddbcea8b3d4801907967892b7cd540f51dbdbc7" + ], + [ + "e7f5482903f98f0299e0984b361efb2fddcd9979869102281e705d3001a9d283fe9f3f3a1e02000000025365ffffffffcc5c7fe82feebad32a22715fc30bc584efc9cd9cadd57e5bc4b6a265547e676e0000000000579d21235bc2281e08bf5e7f8f64d3afb552839b9aa5c77cf762ba2366fffd7ebb74e4940000000004526363633df82cf40100982e05000000000453ac535300000000", + "acac", + 2, + -1362931214, + "046de666545330e50d53083eb78c9336416902f9b96c77cc8d8e543da6dfc7e4" + ], + [ + "09adb2e90175ca0e816326ae2dce7750c1b27941b16f6278023dbc294632ab97977852a09d030000000365006affffffff027739cf010000000005515163ac658a5bb601000000000653ac5151520011313cdc", + "ac", + 0, + -76831756, + "0adbc09696f17422eada9c7a29968dc3675e45e2ce3eca3db3d2a397a7b91d1e" + ], + [ + "f973867602e30f857855cd0364b5bbb894c049f44abbfd661d7ae5dbfeaafca89fac8959c2010000000452536a51ffffffffbeceb68a4715f99ba50e131884d8d20f4a179313691150adf0ebf29d05f877030300000005635200ac63ffffffff021fddb90000000000036a656322a177000000000008526500ac5100acac84839083", + "52ac53ac", + 0, + 1407879325, + "db0329439490efc64b7104d6d009b03fbc6fac597cf54fd786fbbb5fd73b92b4" + ], + [ + "fd22ebaa03bd588ad16795bea7d4aa7f7d48df163d75ea3afebe7017ce2f350f6a0c1cb0bb00000000076aac5153526363ffffffff488e0bb22e26a565d77ba07178d17d8f85702630ee665ec35d152fa05af3bda10200000003515163ffffffffeb21035849e85ad84b2805e1069a91bb36c425dc9c212d9bae50a95b6bfde12003000000005df262fd02b698480400000000076363636a6363ace23bf2010000000007655263635253534348c1da", + "006353526563516a00", + 0, + -1491036196, + "7810715dcb7dddf5a7b3d07d600ab6b783f5ffe9b798de359e30318ed219b0b9" + ], + [ + "130b462d01dd49fac019dc4442d0fb54eaa6b1c2d1ad0197590b7df26969a67abd7f3fbb4f0100000006ac65ac536563ffffffff0345f825000000000004ac53acac9d5816020000000000eff8e90500000000076a006552ac6a53a892dc55", + "0065ac530052", + 0, + 944483412, + "42e985a31427d6d955e3d1a6fd0b90bfc9813123184a0c52870be30b1514249b" + ], + [ + "f8e50c2604609be2a95f6d0f31553081f4e1a49a0a30777fe51eb1c596c1a9a92c053cf28c0300000009656a51ac5252630052fffffffff792ed0132ae2bd2f11d4a2aab9d0c4fbdf9a66d9ae2dc4108afccdc14d2b17001000000066a6563ac636a7bfb2fa116122b539dd6a2ab089f88f3bc5923e5050c8262c112ff9ce0a3cd51c6e3e84f02000000066551ac5352650d5e687ddf4cc9a497087cabecf74d236aa4fc3081c3f67b6d323cba795e10e7a171b725000000000752635351635100ffffffff02df5409020000000007ac6a53ac5151004156990200000000045163655200000000", + "ac53ac65005300", + 0, + -173065000, + "3b2e2a9eda4604ceaf2f624c4337e5e129bef26fa7d57ae3dced4d489b5558bc" + ], + [ + "18020dd1017f149eec65b2ec23300d8df0a7dd64fc8558b36907723c03cd1ba672bbb0f51d0300000003656a63ffffffff037cd7ae000000000008516a65005352ac65f1e4360400000000056353530053f118f0040000000007536363006500ac00000000", + "6351ac52ac", + 0, + -550412404, + "9cf6941ac66b36b66470096e1531c2ee48f52a989eab3113ff6603fb21d2c65d" + ], + [ + "b04154610363fdade55ceb6942d5e5a723323863b48a0cb04fdcf56210717955763f56b08d0300000009ac526a525151635151ffffffff93a176e76151a9eabdd7af00ef2af72f9e7af5ecb0aa4d45d00618f394cdd03c030000000074d818b332ebe05dc24c44d776cf9d275c61f471cc01efce12fd5a16464157f1842c65cb00000000066a0000ac6352d3c4134f01d8a1c0030000000005520000005200000000", + "5200656a656351", + 2, + -9757957, + "6e3e5ba77f760b6b5b5557b13043f1262418f3dd2ce7f0298b012811fc8ad5bc" + ], + [ + "9794b3ce033df7b1e32db62d2f0906b589eacdacf5743963dc2255b6b9a6cba211fadd0d4102000000050000650065ffffffffaae00687a6a4131152bbcaafedfaed461c86754b0bde39e2bef720e6d1860a0302000000070065516aac6552ffffffff50e4ef784d6230df7486e972e8918d919f005025bc2d9aacba130f58bed705670300000006526552656a52ffffffff02c6f1a9000000000006005251006363cf450c04000000000563510053ac00000000", + "ac0063515353", + 1, + 2063905082, + "e2f8dafd539773d4777e616143bcbccd472ce098b4a101cd49683425e5c3f93c" + ], + [ + "94533db7015e70e8df715066efa69dbb9c3a42ff733367c18c22ff070392f988f3b93920820000000006535363636300ce4dac3e03169af80300000000080065ac6a53ac65ac39c050020000000004ac6aacac708a02050000000005ac5251520000000000", + "6553", + 0, + -360458507, + "08fe618910ff2d1c270d96f9d1cb1c68e8b1ab1f5d26ad9388fbf8b1f58dfc2d" + ], + [ + "c8597ada04f59836f06c224a2640b79f3a8a7b41ef3efa2602592ddda38e7597da6c639fee0300000008005251635351acacffffffff4c518f347ee694884b9d4072c9e916b1a1f0a7fc74a1c90c63fdf8e5a185b6ae02000000007113af55afb41af7518ea6146786c7c726641c68c8829a52925e8d4afd07d8945f68e72303000000050065650063ffffffffc28e46d7598312c420e11dfaae12add68b4d85adb182ae5b28f8340185394b63000000000165ffffffff04dbabb7010000000000ee2f600000000000065265006a51acb62a27000000000009ac53515300ac006a6345fb7505000000000752516a0051636a00000000", + "", + 3, + 15199787, + "cd4f3268df778f8fb132366883781b308f267771d118024b629cec0a0685c7f8" + ], + [ + "1a28c4f702c8efaad96d879b38ec65c5283b5c084b819ad7db1c086e85e32446c7818dc7a90300000008656351536a525165fa78cef86c982f1aac9c5eb8b707aee8366f74574c8f42ef240599c955ef4401cf578be30200000001518893292204c430eb0100000000016503138a0300000000030053ac60e0eb01000000000452520063567c2d03000000000252006cf81e85", + "51525152", + 1, + 2118315905, + "23f71f7ecb680b47b6d6bd60112a2508b984ed08264369b80adefa8bcec2371c" + ], + [ + "c6c7a87003f772bcae9f3a0ac5e499000b68703e1804b9ddc3e73099663564d53ddc4e1c6e01000000076a536a6aac63636e3102122f4c30056ef8711a6bf11f641ddfa6984c25ac38c3b3e286e74e839198a80a34010000000165867195cd425821dfa2f279cb1390029834c06f018b1e6af73823c867bf3a0524d1d6923b0300000003ac5365ffffffff02fa4c49010000000007656a0052650053e001100400000000008836d972", + "ac526351ac", + 1, + 978122815, + "04a7e4200829e5191788b8fdbda836c7bd3882108a5928e9c392b12bf63a63c6" + ], + [ + "0ea580ac04c9495ab6af3b8d59108bb4194fcb9af90b3511c83f7bb046d87aedbf8423218e02000000075152acac0063639063d7dc25704e0caa5edde1c6f2dd137ded379ff597e055b2977b9c559b07a7134fcef2000000000200aca89e50181f86e9854ae3b453f239e2847cf67300fff802707c8e3867ae421df69274449402000000026365ffffffff47a4760c881a4d7e51c69b69977707bd2fb3bcdc300f0efc61f5840e1ac72cee0000000000ffffffff0460179a0200000000025352a5250c0500000000076565acac6365526c281e02000000000952635100ac006563654e55070400000000046552526500000000", + "526563acac53", + 2, + 1426964167, + "01d5b9ace8a53b2dbe73087b6d3e036f3c63d68e1c1ffccfeee38343d1a9ebc0" + ], + [ + "c33028b301d5093e1e8397270d75a0b009b2a6509a01861061ab022ca122a6ba935b8513320200000000ffffffff013bcf5a0500000000015200000000", + "", + 0, + -513413204, + "6b1459536f51482f5dbf42d7e561896557461e1e3b6bf67871e2b51faae2832c" + ], + [ + "43b2727901a7dd06dd2abf690a1ccedc0b0739cb551200796669d9a25f24f71d8d101379f50300000000ffffffff0418e031040000000000863d770000000000085352ac526563ac5174929e040000000004ac65ac00ec31ac0100000000036a515300000000", + "65", + 0, + -492874289, + "80a102bb4b5936218b262722a40f3df2b092689d36b54641a8a07a0629559d04" + ], + [ + "4763ed4401c3e6ab204bed280528e84d5288f9cac5fb8a2e7bd699c7b98d4df4ac0c40e55303000000056a6aac5165ffffffff015b57f80400000000046a63535100000000", + "ac5153", + 0, + -592611747, + "849033a2321b5755e56ef4527ae6f51e30e3bca50149d5707368479723d744f8" + ], + [ + "d24f647b02f71708a880e6819a1dc929c1a50b16447e158f8ff62f9ccd644e0ca3c592593702000000050053536a00ffffffff67868cd5414b6ca792030b18d649de5450a456407242b296d936bcf3db79e07b02000000005af6319c016022f50100000000036a516300000000", + "6a526353516a6a", + 0, + 1350782301, + "8556fe52d1d0782361dc28baaf8774b13f3ce5ed486ae0f124b665111e08e3e3" + ], + [ + "fe6ddf3a02657e42a7496ef170b4a8caf245b925b91c7840fd28e4a22c03cb459cb498b8d603000000065263656a650071ce6bf8d905106f9f1faf6488164f3decac65bf3c5afe1dcee20e6bc3cb6d052561985a030000000163295b117601343dbb0000000000026563dba521df", + "", + 1, + -1696179931, + "d9684685c99ce48f398fb467a91a1a59629a850c429046fb3071f1fa9a5fe816" + ], + [ + "c61523ef0129bb3952533cbf22ed797fa2088f307837dd0be1849f20decf709cf98c6f032f03000000026563c0f1d378044338310400000000066363516a5165a14fcb0400000000085163536a6a0053657271d60200000000001d953f0500000000010000000000", + "53516353005153", + 0, + 1141615707, + "c9baf4ad5cb4d9487325e0560015ade3aaa5862caad30a578bf1b1e1201c5a15" + ], + [ + "ba3dac6c0182562b0a26d475fe1e36315f0913b6869bdad0ecf21f1339a5fcbccd32056c840200000000ffffffff04300351050000000000220ed405000000000751ac636565ac53dbbd19020000000007636363ac6a52acbb005a0500000000016abd0c78a8", + "63006a635151005352", + 0, + 1359658828, + "32ebab9ecff27e8eb1cd55b2f99c5a1358ab2770b967bb3b204cabf4f694dc06" + ], + [ + "ac27e7f5025fc877d1d99f7fc18dd4cadbafa50e34e1676748cc89c202f93abf36ed46362101000000026300ffffffff958cd5381962b765e14d87fc9524d751e4752dd66471f973ed38b9d562e525620100000003006500ffffffff02b67120050000000004ac51516adc330c0300000000015200000000", + "656352", + 1, + 15049991, + "f3374253d64ac264055bdbcc32e27426416bd595b7c7915936c70f839e504010" + ], + [ + "edb30140029182b80c8c3255b888f7c7f061c4174d1db45879dca98c9aab8c8fed647a6ffc03000000076a535100526300ffffffff82f65f261db62d517362c886c429c8fbbea250bcaad93356be6f86ba573e9d930100000000ffffffff04daaf150400000000016a86d1300100000000096a6353535252ac5165d4ddaf0000000000005f1c6201000000000000000000", + "6a6a00ac", + 0, + -2058017816, + "8c92ba3a1c12176fde460f5c6e64a8051ac9a7cf3227205f4f12abf455792743" + ], + [ + "7e50207303146d1f7ad62843ae8017737a698498d4b9118c7a89bb02e8370307fa4fada41d000000000753006300005152b7afefc85674b1104ba33ef2bf37c6ed26316badbc0b4aa6cb8b00722da4f82ff3555a6c020000000900ac656363ac51ac52ffffffff93fab89973bd322c5d7ad7e2b929315453e5f7ada3072a36d8e33ca8bebee6e0020000000200ac930da52b04384b04000000000004650052ac435e380200000000066a6a5152636aa94947050000000005006a525252af8ba90100000000086565ac526353536a279b17ad", + "acac005263536aac63", + 1, + -34754133, + "2ca4ef0aa28999eda6806954e067800103f8afd4d441bca5de983d90ef25a4be" + ], + [ + "c05764f40244fb4ebe4c54f2c5298c7c798aa90e62c29709acca0b4c2c6ec08430b26167440100000007ac6a6565005253ffffffffc02c2418f398318e7f34a3cf669d034eef2111ea95b9f0978b01493293293a870100000000e563e2e00238ee8d040000000001ac03fb060200000000076500ac656a516aa37f5534", + "526a0065", + 1, + -2033176648, + "60f9b69157ab40d2cc46ed69a66f5d0092f3d66e60518cd8f66b5a5410e35b93" + ], + [ + "5a59e0b9040654a3596d6dab8146462363cd6549898c26e2476b1f6ae42915f73fd9aedfda00000000026363ffffffff9ac9e9ca90be0187be2214251ff08ba118e6bf5e2fd1ba55229d24e50a510d53010000000165ffffffff41d42d799ac4104644969937522873c0834cc2fcdab7cdbecd84d213c0e96fd60000000000ffffffffd838db2c1a4f30e2eaa7876ef778470f8729fcf258ad228b388df2488709f8410300000000fdf2ace002ceb6d903000000000265654c1310040000000003ac00657e91c0ec", + "536a63ac", + 0, + 82144555, + "98ccde2dc14d14f5d8b1eeea5364bd18fc84560fec2fcea8de4d88b49c00695e" + ], + [ + "156ebc8202065d0b114984ee98c097600c75c859bfee13af75dc93f57c313a877efb09f230010000000463536a51ffffffff81114e8a697be3ead948b43b5005770dd87ffb1d5ccd4089fa6c8b33d3029e9c03000000066a5251656351ffffffff01a87f140000000000050000ac51ac00000000", + "00", + 0, + -362221092, + "a903c84d8c5e71134d1ab6dc1e21ac307c4c1a32c90c90f556f257b8a0ec1bf5" + ], + [ + "15e37793023c7cbf46e073428908fce0331e49550f2a42b92468827852693f0532a01c29f70200000007005353636351acffffffff38426d9cec036f00eb56ec1dcd193647e56a7577278417b8a86a78ac53199bc403000000056353006a53ffffffff04a25ce1030000000008005365656a526a63c8eff7030000000004526353537ab6db0200000000016a11a3fa02000000000551acac526500000000", + "53ac6a6a6551", + 0, + 1117532791, + "9e317a57a2e60095fcee7a1ce0e5cbb0246890ab08e768146f4c887696bc5612" + ], + [ + "f7a09f10027250fc1b70398fb5c6bffd2be9718d3da727e841a73596fdd63810c9e4520a6a010000000963ac516a636a65acac1d2e2c57ab28d311edc4f858c1663972eebc3bbc93ed774801227fda65020a7ec1965f780200000005ac5252516a8299fddc01dcbf7200000000000463ac6551960fda03", + "65ac51", + 1, + 2017321737, + "9c5fa02abfd34d0f9dec32bf3edb1089fca70016debdb41f4f54affcb13a2a2a" + ], + [ + "6d97a9a5029220e04f4ccc342d8394c751282c328bf1c132167fc05551d4ca4da4795f6d4e02000000066a0052525165ffffffff9516a205e555fa2a16b73e6db6c223a9e759a7e09c9a149a8f376c0a7233fa1b0100000005ac5163ac6affffffff04868aed04000000000652ac65ac536a396edf01000000000044386c0000000000066a5363655200894d480100000000008ebefc23", + "6351526aac51", + 1, + 1943666485, + "ac9b46f03e0858377fff5f395acf3f08702c8a41484d84a31a088ff3c19a982a" + ], + [ + "8e3fddfb028d9e566dfdda251cd874cd3ce72e9dde837f95343e90bd2a93fe21c5daeb5eed01000000045151525140517dc818181f1e7564b8b1013fd68a2f9a56bd89469686367a0e72c06be435cf99db750000000003635251ffffffff01c051780300000000066552ac6a65ac099766eb", + "51636a5251", + 1, + 1296295812, + "370f619d5471ed61c9839befe350bd7cb313cbb5306cab8d388ceb9010194061" + ], + [ + "a603f37b02a35e5f25aae73d0adc0b4b479e68a734cf722723fd4e0267a26644c36faefdab0200000000ffffffff43374ad26838bf733f8302585b0f9c22e5b8179888030de9bdda180160d770650200000001004c7309ce01379099040000000005526552536500000000", + "005153", + 0, + 1409936559, + "4ca73da4fcd5f1b10da07998706ffe16408aa5dff7cec40b52081a6514e3827e" + ], + [ + "9eeedaa8034471a3a0e3165620d1743237986f060c4434f095c226114dcb4b4ec78274729f03000000086a5365510052ac6afb505af3736e347e3f299a58b1b968fce0d78f7457f4eab69240cbc40872fd61b5bf8b120200000002ac52df8247cf979b95a4c97ecb8edf26b3833f967020cd2fb25146a70e60f82c9ee4b14e88b103000000008459e2fa0125cbcd05000000000000000000", + "525352006353516a", + 0, + -1832576682, + "fb018ae54206fdd20c83ae5873ec82b8e320a27ed0d0662db09cda8a071f9852" + ], + [ + "05921d7c048cf26f76c1219d0237c226454c2a713c18bf152acc83c8b0647a94b13477c07f0300000003ac526afffffffff2f494453afa0cabffd1ba0a626c56f90681087a5c1bd81d6adeb89184b27b7402000000036a6352ffffffff0ad10e2d3ce355481d1b215030820da411d3f571c3f15e8daf22fe15342fed04000000000095f29f7b93ff814a9836f54dc6852ec414e9c4e16a506636715f569151559100ccfec1d100000000055263656a53ffffffff04f4ffef010000000005ac6a6aac6a0e6689040000000004536a5352e364d00500000000086553636365525153807e00010000000003526a63f18003e3", + "6363ac51", + 3, + -375891099, + "bfeb34159406429091ebe4d68ec673f65e6a54798a594569964495783011645f" + ], + [ + "b9b44d9f04b9f15e787d7704e6797d51bc46382190c36d8845ec68dfd63ee64cf7a467b21e00000000086aac00530052636aba1bcb110a80c5cbe073f12c739e3b20836aa217a4507648d133a8eedd3f02cb55c132b203000000076a000063526352b1c288e3a9ff1f2da603f230b32ef7c0d402bdcf652545e2322ac01d725d75f5024048ad0100000000ffffffffffd882d963be559569c94febc0ef241801d09dc69527c9490210f098ed8203c700000000046a0063009109298d01719d9a0300000000056a52006365d7894c5b", + "ac6351650063636a", + 3, + -622355349, + "4b44026001afd9caac7b2e830fea359eec537d7fe5e4fc06d21d982f783cfca3" + ], + [ + "ff60473b02574f46d3e49814c484081d1adb9b15367ba8487291fc6714fd6e3383d5b335f001000000026a6ae0b82da3dc77e5030db23d77b58c3c20fa0b70aa7d341a0f95f3f72912165d751afd57230300000008ac536563516a6363ffffffff04f86c0200000000000453ac636ab13111000000000003510065f0d3f305000000000651516a65516a730a3a010000000002515200000000", + "ac6a", + 1, + 1895032314, + "93c76c0ef11fe28a4f36546d4281a5b26185f7ea00395dd72630d461f285370d" + ], + [ + "f218026204f4f4fc3d3bd0eada07c57b88570d544a0436ae9f8b753792c0c239810bb30fbc0200000002536affffffff8a468928d6ec4cc10aa0f73047697970e99fa64ae8a3b4dca7551deb0b639149010000000751520052650051ffffffffa98dc5df357289c9f6873d0f5afcb5b030d629e8f23aa082cf06ec9a95f3b0cf0000000000ffffffffea2c2850c5107705fd380d6f29b03f533482fd036db88739122aac9eff04e0aa010000000365536a03bd37db034ac4c4020000000007515152655200ac33b27705000000000151efb71e0000000000007b65425b", + "515151", + 3, + -1772252043, + "de35c84a58f2458c33f564b9e58bc57c3e028d629f961ad1b3c10ee020166e5a" + ], + [ + "48e7d42103b260b27577b70530d1ac2fed2551e9dd607cbcf66dca34bb8c03862cf8f5fd5401000000065151526aac00ffffffff1e3d3b841552f7c6a83ee379d9d66636836673ce0b0eda95af8f2d2523c91813030000000665acac006365ffffffff388b3c386cd8c9ef67c83f3eaddc79f1ff910342602c9152ffe8003bce51b28b0100000008636363006a636a52ffffffff04b8f67703000000000852005353ac6552520cef7202000000000551516352005096d6030000000005516a005100662582020000000001ac6c137280", + "6a65", + 1, + 1513618429, + "0f4d20fe1b05fd48b8e7f9b6b5be8b308e320356da0559e6a80e4a810ec189b6" + ], + [ + "91ebc4cf01bc1e068d958d72ee6e954b196f1d85b3faf75a521b88a78021c543a06e0562790000000001657c12df0503832121030000000000cc41a60100000000045263516540a9510500000000046365acac00000000", + "526a0065636a6a6aac", + 0, + -614046478, + "cb6e63ffc060ffe615a29ee1049f213eaebe89ab016fba01ca17cdd84275928d" + ], + [ + "3cd4474201be7a6c25403bf00ca62e2aa8f8f4f700154e1bb4d18c66f7bb7f9b975649f0dc0100000006535151535153ffffffff01febbeb000000000006005151006aac00000000", + "", + 0, + -1674687131, + "6b77ca70cc452cc89acb83b69857cda98efbfc221688fe816ef4cb4faf152f86" + ], + [ + "92fc95f00307a6b3e2572e228011b9c9ed41e58ddbaefe3b139343dbfb3b34182e9fcdc3f50200000001ac847bf1935fde8bcfe41c7dd99683289292770e7f163ad09deff0e0665ed473cd2b56b0f403000000055165516351294dab312dd87b9327ce2e95eb44b712cfae0e50fda15b07816c8282e8365b643390eaab01000000026aacffffffff016e0b6b040000000001ac00000000", + "650065acac005300", + 2, + -1885164012, + "bd7d26bb3a98fc8c90c972500618bf894cb1b4fe37bf5481ff60eef439d3b970" + ], + [ + "4db591ab018adcef5f4f3f2060e41f7829ce3a07ea41d681e8cb70a0e37685561e4767ac3b0000000004000052acd280e63601ae6ef20000000000036a636326c908f7", + "ac6a51526300630052", + 0, + 862877446, + "355ccaf30697c9c5b966e619a554d3323d7494c3ea280a9b0dfb73f953f5c1cb" + ], + [ + "503fd5ef029e1beb7b242d10032ac2768f9a1aca0b0faffe51cec24770664ec707ef7ede4f01000000045253ac53375e350cc77741b8e96eb1ce2d3ca91858c052e5f5830a0193200ae2a45b413dda31541f0000000003516553ffffffff0175a5ba0500000000015200000000", + "6a6551005365", + 1, + 1603081205, + "353ca9619ccb0210ae18b24d0e57efa7abf8e58fa6f7102738e51e8e72c9f0c4" + ], + [ + "c80abebd042cfec3f5c1958ee6970d2b4586e0abec8305e1d99eb9ee69ecc6c2cbd76374380000000007ac53006300ac510acee933b44817db79320df8094af039fd82111c7726da3b33269d3820123694d849ee5001000000046a65526562699bea8530dc916f5d61f0babea709dac578774e8a4dcd9c640ec3aceb6cb2443f24f302000000020063ea780e9e57d1e4245c1e5df19b4582f1bf704049c5654f426d783069bcc039f2d8fa659f03000000075153635200006a8d00de0b03654e8500000000000363635178ebbb0400000000045100636a239f1d030000000005006300536500000000", + "6565ac515100", + 3, + 1460851377, + "a28742f90c8b9590b7f0c7f747abb6092b4256e3d62cb67fd21884655d86a502" + ], + [ + "0337b2d5043eb6949a76d6632b8bb393efc7fe26130d7409ef248576708e2d7f9d0ced9d3102000000075352636a5163007034384dfa200f52160690fea6ce6c82a475c0ef1caf5c9e5a39f8f9ddc1c8297a5aa0eb02000000026a51ffffffff38e536298799631550f793357795d432fb2d4231f4effa183c4e2f61a816bcf0030000000463ac5300706f1cd3454344e521fde05b59b96e875c8295294da5d81d6cc7efcfe8128f150aa54d6503000000008f4a98c704c1561600000000000072cfa6000000000000e43def01000000000100cf31cc0500000000066365526a6500cbaa8e2e", + "", + 3, + 2029506437, + "7615b4a7b3be865633a31e346bc3db0bcc410502c8358a65b8127089d81b01f8" + ], + [ + "59f6cffd034733f4616a20fe19ea6aaf6abddb30b408a3a6bd86cd343ab6fe90dc58300cc90200000000ffffffffc835430a04c3882066abe7deeb0fa1fdaef035d3233460c67d9eabdb05e95e5a02000000070065ac53535300ffffffff4b9a043e89ad1b4a129c8777b0e8d87a014a0ab6a3d03e131c27337bbdcb43b402000000056a5100ac6ad9e9bf62014bb118010000000001526cbe484f", + "52635265", + 0, + 2103515652, + "4f2ccf981598639bec57f885b4c3d8ea8db445ea6e61cfd45789c69374862e5e" + ], + [ + "cbc79b10020b15d605680a24ee11d8098ad94ae5203cb6b0589e432832e20c27b72a926af2030000000565516a53acbb854f3146e55c508ece25fa3d99dbfde641a58ed88c051a8a51f3dacdffb1afb827814b02000000026352c43e6ef30302410a020000000000ff4bd9010000000005510063000008aa8e0400000000085265526565ac5365c52c8a77", + "53526aac0051", + 0, + 202662340, + "cc48e8f7f8908dfb6fd0180127067dbc8d86fb4c26462f6e8821d3d32b59eefa" + ], + [ + "7c07419202fa756d29288c57b5c2b83f3c847a807f4a9a651a3f6cd6c46034ae0aa3a7446b02000000036a6365ffffffff9da83cf4219bb96c76f2d77d5df31c1411a421171d9b59ec02e5c1218f29935403000000008c13879002f8b1ac0400000000086a63536a636553653c584f02000000000000000000", + "ac53656363", + 1, + -1038419525, + "4a74f365a161bc6c9bddd249cbd70f5dadbe3de70ef4bd745dcb6ee1cd299fbd" + ], + [ + "351cbb57021346e076d2a2889d491e9bfa28c54388c91b46ee8695874ad9aa576f1241874d02000000076563525300516affffffffe13e61b8880b8cd52be4a59e00f9723a4722ea58013ec579f5b3693b9e115b1100000000086363ac5252635351ffffffff027fee020400000000066a5200006a65b85f130200000000066a526300535200000000", + "6a65", + 1, + 586415826, + "69009f5b17ae2a8ad2b8b5fad4e3355bb3c77b93bd5c768f1782e5c95945d0c4" + ], + [ + "a8252ea903f1e8ff953adb16c1d1455a5036222c6ea98207fc21818f0ece2e1fac310f9a0100000000095163ac635363ac0000be6619e9fffcde50a0413078821283ce3340b3993ad00b59950bae7a9f931a9b0a3a035f010000000463005300b8b0583fbd6049a1715e7adacf770162811989f2be20af33f5f60f26eba653dc26b024a00000000006525351636552ffffffff046d2acc030000000002636a9a2d43050000000006006500516553ecf63204000000000052b9ed050000000007acacac5365656500000000", + "6553635253636a51", + 2, + 1442639059, + "4cbb84b6b3b1c388c2494dcc035eb308908aab1e25e0bb7b157e209c02d9d7e1" + ], + [ + "2f1a425c0471a5239068c4f38f9df135b1d24bf52d730d4461144b97ea637504495aec360801000000055300515365c71801dd1f49f376dd134a9f523e0b4ae611a4bb122d8b26de66d95203f181d09037974300000000025152ffffffff9bdcea7bc72b6e5262e242c94851e3a5bf8f314b3e5de0e389fc9e5b3eadac030000000009525265655151005153ffffffffdbb53ce99b5a2320a4e6e2d13b01e88ed885a0957d222e508e9ec8e4f83496cb0200000006635200ac63ac04c96237020cc5490100000000080000516a51ac6553074a360200000000025152225520ca", + "655165ac65516a", + 1, + -489869549, + "9bc5bb772c553831fb40abe466074e59a469154679c7dee042b8ea3001c20393" + ], + [ + "ef3acfd4024defb48def411b8f8ba2dc408dc9ee97a4e8bde4d6cb8e10280f29c98a6e8e9103000000035100513d5389e3d67e075469dfd9f204a7d16175653a149bd7851619610d7ca6eece85a516b2df0300000005516aac6552ca678bdf02f477f003000000000057e45b0300000000055252525252af35c20a", + "5165ac53", + 1, + -1900839569, + "78eb6b24365ac1edc386aa4ffd15772f601059581c8776c34f92f8a7763c9ccf" + ], + [ + "ff4468dc0108475fc8d4959a9562879ce4ab4867a419664bf6e065f17ae25043e6016c70480100000000ffffffff02133c6f0400000000000bd0a8020000000004006a520035afa4f6", + "51ac65", + 0, + -537664660, + "f6da59b9deac63e83728850ac791de61f5dfcaeed384ebcbb20e44afcd8c8910" + ], + [ + "4e8594d803b1d0a26911a2bcdd46d7cbc987b7095a763885b1a97ca9cbb747d32c5ab9aa91030000000353ac53a0cc4b215e07f1d648b6eeb5cdbe9fa32b07400aa773b9696f582cebfd9930ade067b2b2000000000400656500fc99833216b8e27a02defd9be47fafae4e4a97f52a9d2a210d08148d2a4e5d02730bcd460100000004516351ac37ce3ae1033baa55040000000006006a636a63acc63c990400000000025265eb1919030000000005656a6a516a00000000", + "", + 1, + -75217178, + "04c5ee48514cd033b82a28e336c4d051074f477ef2675ce0ce4bafe565ee9049" + ], + [ + "a88830a7023f13ed19ab14fd757358eb6af10d6520f9a54923a6d613ac4f2c11e249cda8aa030000000551630065acffffffff8f5fe0bc04a33504c4b47e3991d25118947a0261a9fa520356731eeabd561dd3020000000163ffffffff038404bd0100000000065153516a6a63d33a5601000000000263004642dc020000000009655152acac636352004be6f3af", + "5253536565006a6a", + 0, + 1174417836, + "9d5c816ab81a761d2f573c323d3ab55c9401bb001eb4ef769eed69516e4f7e6c" + ], + [ + "44e1a2b4010762af23d2027864c784e34ef322b6e24c70308a28c8f2157d90d17b99cd94a401000000085163656565006300ffffffff0198233d020000000002000000000000", + "52525153656365", + 0, + 1119696980, + "d9096de94d70c6337da6202e6e588166f31bff5d51bb5adc9468594559d65695" + ], + [ + "44ca65b901259245abd50a745037b17eb51d9ce1f41aa7056b4888285f48c6f26cb97b7a25020000000452636363ffffffff047820350400000000030053ac14f3e603000000000552635100630ce66c03000000000001bdc704000000000765650065ac51ac3e886381", + "51", + 0, + -263340864, + "42b52a07a3c088ce7ec410b81144738aa546b9d61ec6ba38372fc455ec5d623d" + ], + [ + "cfa147d2017fe84122122b4dda2f0d6318e59e60a7207a2d00737b5d89694d480a2c26324b0000000006006351526552ffffffff0456b5b804000000000600516a525363166633000000000003655363254c0e020000000007526a6a00525151097c1b020000000009656a52ac6300530065ad0d6e50", + "6a535165ac6a536500", + 0, + -574683184, + "e9ada180722bbd10682062eda7ab2e8631c6ae9e72044a958c1d28d482bd5816" + ], + [ + "91c5d5f6022fea6f230cc4ae446ce040d8313071c5ac1749c82982cc1988c94cb1738aa48503000000016a19e204f30cb45dd29e68ff4ae160da037e5fc93538e21a11b92d9dd51cf0b5efacba4dd70000000005656a6aac51ffffffff03db126905000000000853006a536563636a36a273030000000006656a52656552b03ede00000000000352516500000000", + "530052526a00", + 1, + 1437328441, + "b99434064834b3027a2c60b7cdbc92797d4d030cc43293eff99462d2807f68b6" + ], + [ + "03f20dc202c886907b607e278731ebc5d7373c348c8c66cac167560f19b341b782dfb634cb03000000056a51ac6a63ea3e8de7adb9f599c9caba95aa3fa852e947fc88ed97ee50e0a0ec0d14d164f44c0115c101000000035153516fdd679e0414edbd000000000005ac636a53512021f2040000000007006a0051536a52c73db2050000000005525265ac5369046e000000000002006a1ef7bd1e", + "52656a", + 0, + 1360223035, + "c8673f91e4ef5861be4d2f0b8cfe2bd1fcc1d5332273f95ce37b0abf70bd99c1" + ], + [ + "d9611140036881b61e01627078512bc3378386e1d4761f959d480fdb9d9710bebddba2079d020000000563536a5153819271b41e228f5b04daa1d4e72c8e1955230accd790640b81783cfc165116a9f535a74c000000000163ffffffffa2e7bb9a28e810624c251ff5ba6b0f07a356ac082048cf9f39ec036bba3d431a02000000076a000000ac65acffffffff01678a820000000000085363515153ac635100000000", + "535353", + 2, + -82213851, + "52b9e0778206af68998cbc4ebdaad5a9469e04d0a0a6cef251abfdbb74e2f031" + ], + [ + "98b3a0bf034233afdcf0df9d46ac65be84ef839e58ee9fa59f32daaa7d684b6bdac30081c60200000004636351acffffffffc71cf82ded4d1593e5825618dc1d5752ae30560ecfaa07f192731d68ea768d0f0100000006650052636563f3a2888deb5ddd161430177ce298242c1a86844619bc60ca2590d98243b5385bc52a5b8f00000000085365acac520052ac50d4722801c3b8a60300000000035165517e563b65", + "51", + 1, + -168940690, + "b6b684e2d2ecec8a8dce4ed3fc1147f8b2e45732444222aa8f52d860c2a27a9d" + ], + [ + "97be4f7702dc20b087a1fdd533c7de762a3f2867a8f439bddf0dcec9a374dfd0276f9c55cc0300000000cdfb1dbe6582499569127bda6ca4aaff02c132dc73e15dcd91d73da77e92a32a13d1a0ba020000000151ffffffff048cfbe202000000000900516351515363ac535128ce0100000000056aac53656ac84e8302000000000763536a536a6552f051230500000000066aac535153510848d813", + "ac51", + 0, + 229541474, + "e5da9a416ea883be1f8b8b2d178463633f19de3fa82ae25d44ffb531e35bdbc8" + ], + [ + "085b6e04040b5bff81e29b646f0ed4a45e05890a8d32780c49d09643e69cdccb5bd81357670100000000ffffffffa5c981fe758307648e783217e3b4349e31a557602225e237f62b636ec26df1a803000000036500524792e1da2930cc90822a8d2a0a91ea343317bce5356b6aa8aae6c3956076aa33a5351a9c0300000003ac5265e27ddbcd472a2f13325cc6be40049d53f3e266ac082172f17f6df817db1936d9ff48c02b000000000152ffffffff021aa767050000000007535363516351ac14d584000000000001aca4d136cc", + "6a525300536352536a", + 0, + -1398925877, + "d94006873aaff72211399e719839923ed37469a9560e1925684de25e21d467d4" + ], + [ + "eec32fff03c6a18b12cd7b60b7bdc2dd74a08977e53fdd756000af221228fe736bd9c42d870100000007005353ac515265ffffffff037929791a188e9980e8b9cc154ad1b0d05fb322932501698195ab5b219488fc020000000600635100656a0bfc176aa7e84f771ea3d45a6b9c24887ceea715a0ff10ede63db8f089e97d927075b4f100000000025163ffffffff02eb933c000000000000262c420000000000036563632549c2b6", + "6352", + 2, + 1480445874, + "ff8a4016dfdd918f53a45d3a1f62b12c407cd147d68ca5c92b7520e12c353ff5" + ], + [ + "98ea7eac0313d9fb03573fb2b8e718180c70ce647bebcf49b97a8403837a2556cb8c9377f30000000004ac53ac65ffffffff8caac77a5e52f0d8213ef6ce998bedbb50cfdf108954771031c0e0cd2a78423900000000010066e99a44937ebb37015be3693761078ad5c73aa73ec623ac7300b45375cc8eef36087eb80000000007515352acac5100ffffffff0114a51b02000000000000000000", + "6aac", + 0, + 243527074, + "bad77967f98941af4dd52a8517d5ad1e32307c0d511e15461e86465e1b8b5273" + ], + [ + "3ab70f4604e8fc7f9de395ec3e4c3de0d560212e84a63f8d75333b604237aa52a10da17196000000000763526a6553ac63a25de6fd66563d71471716fe59087be0dde98e969e2b359282cf11f82f14b00f1c0ac70f02000000050052516aacdffed6bb6889a13e46956f4b8af20752f10185838fd4654e3191bf49579c961f5597c36c0100000004ac636363c3a1785bae5b8a1b4be5d0cbfadc240b4f7acaa7dfed6a66e852835df5eb9ac3c553766801000000036a65630733b7530218569602000000000852006a6a6a51ac52777f06030000000006ac0063530052c08267c9", + "000000536aac0000", + 1, + 1919096509, + "3b532797b54394c9e750f26c50be78d6a87adf6de9d6f9c14cc8039436ba3c10" + ], + [ + "bdb6b4d704af0b7234ced671c04ba57421aba7ead0a117d925d7ebd6ca078ec6e7b93eea6600000000026565ffffffff3270f5ad8f46495d69b9d71d4ab0238cbf86cc4908927fbb70a71fa3043108e6010000000700516a65655152ffffffff6085a0fdc03ae8567d0562c584e8bfe13a1bd1094c518690ebcb2b7c6ce5f04502000000085251530052536a53a576a37f2c516aad9911f687fe83d0ae7983686b6269b4dd54701cb5ce9ec91f0e6828390300000000ffffffff04cc76cc020000000002656a01ffb702000000000153534610040000000008ac006565516a00521f55f5040000000000389dfee9", + "6a525165", + 0, + 1336204763, + "c54f81901c4ed1c32d9779f3a8caa26ece5fb432ecd8fc354bf1615dfa9a8f7f" + ], + [ + "54258edd017d22b274fbf0317555aaf11318affef5a5f0ae45a43d9ca4aa652c6e85f8a040010000000853ac655251656500ffffffff03321d450000000000085265526a51526a529ede8b030000000003635151ce6065020000000001534c56ec1b", + "acac", + 0, + 2094130012, + "110d90fea9470dfe6c5048f45c3af5e8cc0cb77dd58fd13d338268e1c24b1ccc" + ], + [ + "ce0d322e04f0ffc7774218b251530a7b64ebefca55c90db3d0624c0ff4b3f03f918e8cf6f60300000003656500ffffffff9cce943872da8d8af29022d0b6321af5fefc004a281d07b598b95f6dcc07b1830200000004515351ac8d926410e69d76b7e584aad1470a97b14b9c879c8b43f9a9238e52a2c2fefc2001c56af80100000003005253cd2cd1fe192ce3a93b5478af82fa250c27064df82ba416dfb0debf4f0eb307a746b6928901000000086500acac6a0063514214524502947efc0200000000035251652c40340100000000086a6a52000052656a5231c54c", + "51", + 2, + -2090320538, + "90e78966cbb949a82119d6224b7c8e01351e6a254c2754bb652474f78dbf31e8" + ], + [ + "47ac54940313430712ebb32004679d3a512242c2b33d549bf5bbc8420ec1fd0850ed50eb6d0300000008536aac6a65acac51ffffffffb843e44266ce2462f92e6bff54316661048c8c17ecb092cb493b39bfca9117850000000001519ab348c05e74ebc3f67423724a3371dd99e3bceb4f098f8860148f48ad70000313c4c223000000000653006565656512c2d8dc033f3c97010000000002636aa993aa010000000005526365526ab7cf560300000000076a0065ac6a526500000000", + "0053525353006a", + 2, + 59531991, + "dac6f5660bb1e47992c421de295c569136dd6336c0df27979854a8d5c5b253db" + ], + [ + "233cd90b043916fc41eb870c64543f0111fb31f3c486dc72457689dea58f75c16ae59e9eb2000000000500536a6a6affffffff9ae30de76be7cd57fb81220fce78d74a13b2dbcad4d023f3cadb3c9a0e45a3ce000000000965ac6353ac5165515130834512dfb293f87cb1879d8d1b20ebad9d7d3d5c3e399a291ce86a3b4d30e4e32368a9020000000453005165ffffffff26d84ae93eb58c81158c9b3c3cbc24a84614d731094f38d0eea8686dec02824d0300000004636a65acf02c784001a0bd5d0300000000080065535165ac516a416ef503", + "", + 1, + -295106477, + "a4d897e990b5815939e2e5feb548879a13fbfe1c00b4bdade5eee79aeee2e1d7" + ], + [ + "9200e26b03ff36bc4bf908143de5f97d4d02358db642bd5a8541e6ff709c420d1482d471b7000000000665536a636553ffffffff61ba6d15f5453b5079fb494af4c48de713a0c3e7f6454d7450074a2a80cb6d880300000006ac6a005165515dfb7574fbce822892c2acb5d978188b1d65f969e4fe874b08db4c791d176113272a5cc10100000000ffffffff0420958d000000000009ac63516a0063516353dd885505000000000465ac00007b79e901000000000066d8bf010000000005525252006a00000000", + "ac5152", + 0, + 2089531339, + "89ec7fab7cfe7d8d7d96956613c49dc48bf295269cfb4ea44f7333d88c170e62" + ], + [ + "45f335ba01ce2073a8b0273884eb5b48f56df474fc3dff310d9706a8ac7202cf5ac188272103000000025363ffffffff049d8595020000000002656a8e98b1030000000002ac51f3a80603000000000752535151ac00000306e30300000000020051b58b2b3a", + "", + 0, + 1899564574, + "f2ba7ad9407ff28fd063c5c8cf3dbe2053380973c9b1128092af14585456d73f" + ], + [ + "d8f652a6043b4faeada05e14b81756cd6920cfcf332e97f4086961d49232ad6ffb6bc6c097000000000453526563ffffffff1ea4d60e5e91193fbbc1a476c8785a79a4c11ec5e5d6c9950c668ceacfe07a1502000000025251fffffffffe029a374595c4edd382875a8dd3f20b9820abb3e93f877b622598d11d0b09e503000000095351000052ac515152ffffffff9d65fea491b979699ceb13caf2479cd42a354bd674ded3925e760758e85a756803000000036365acffffffff0169001d00000000000651636a65656300000000", + "0063630000ac", + 3, + 1050965951, + "4cc85cbc2863ee7dbce15490d8ca2c5ded61998257b9eeaff968fe38e9f009ae" + ], + [ + "718662be026e1dcf672869ac658fd0c87d6835cfbb34bd854c44e577d5708a7faecda96e260300000004526a636a489493073353b678549adc7640281b9cbcb225037f84007c57e55b874366bb7b0fa03bdc00000000075165ac65ac00008ab7f2a802eaa53d000000000007acac516aac526ae92f380100000000056aac00536500000000", + "00", + 1, + 43296088, + "2d642ceee910abff0af2116af75b2e117ffb7469b2f19ad8fef08f558416d8f7" + ], + [ + "94083c840288d40a6983faca876d452f7c52a07de9268ad892e70a81e150d602a773c175ad03000000007ec3637d7e1103e2e7e0c61896cbbf8d7e205b2ecc93dd0d6d7527d39cdbf6d335789f660300000000ffffffff019e1f7b03000000000800ac0051acac0053539cb363", + "", + 1, + -183614058, + "a17b66d6bb427f42653d08207a22b02353dd19ccf2c7de6a9a3a2bdb7c49c9e7" + ], + [ + "30e0d4d20493d0cd0e640b757c9c47a823120e012b3b64c9c1890f9a087ae4f2001ca22a61010000000152f8f05468303b8fcfaad1fb60534a08fe90daa79bff51675472528ebe1438b6f60e7f60c10100000008526a6551ac510053ffffffffaaab73957ea2133e32329795221ed44548a0d3a54d1cf9c96827e7cffd1706df020000000800526a005265526affffffffd19a6fe54352015bf170119742821696f64083b5f14fb5c7d1b5a721a3d7786801000000045265ac53ffffffff020f39bd0300000000036aac52049f6c05000000000352516aba5b4c60", + "6a6365516a6a655253", + 0, + -624256405, + "ab09ea40daca420b5ab385d5f120b26a8d7aa2f36831bab61dfbb90b795a04c9" + ], + [ + "f9c69d940276ec00f65f9fe08120fc89385d7350388508fd80f4a6ba2b5d4597a9e21c884f0100000002636315473ae6d82c744c07fc876ecd53bd0f3018b2dbedad77d757d5bdf3811b23d294e8c0170000000000afababe00157ede2050000000006ac6a5263635300000000", + "53", + 1, + 606547088, + "714d8b14699835b26b2f94c58b6ea4c53da3f7adf0c62ea9966b1e1758272c47" + ], + [ + "5c0ac112032d6885b7a9071d3c5f493aa16c610a4a57228b2491258c38de8302014276e8be0300000002006a17468315215262ad5c7393bb5e0c5a6429fd1911f78f6f72dafbbbb78f3149a5073e24740300000003ac5100ffffffff33c7a14a062bdea1be3c9c8e973f54ade53fe4a69dcb5ab019df5f3345050be00100000007ac63655163526a428defc0033ec36203000000000765516365536a00ae55b200000000000153f4c0080400000000095265516a536563536a00000000", + "6a005151006a", + 2, + 272749594, + "14b6f7b0c8232bd9b8b6f9e108156a0bd112324d05f8ffc2ba4bf42258700727" + ], + [ + "e3683329026720010b08d4bec0faa244f159ae10aa582252dd0f3f80046a4e145207d54d31000000000852acac52656aacac3aaf2a5017438ad6adfa3f9d05f53ebed9ceb1b10d809d507bcf75e0604254a8259fc29c02000000055352655251f926e52c04b44918030000000000f7679c0100000000090000525152005365539e3f48050000000007516500635363008396c905000000000253650591024f", + "6a6365", + 0, + 908746924, + "4613548115961a791c9d846df2c034cbd8926dd54b110590c28ae97642272e5c" + ], + [ + "48c4afb204204209e1df6805f0697edaa42c0450bbbd767941fe125b9bc40614d63d757e2203000000066a5363005152dc8b6a605a6d1088e631af3c94b8164e36e61445e2c60130292d81dabd30d15f54b355a802000000036a6353ffffffff1d05dcec4f3dedcfd02c042ce5d230587ee92cb22b52b1e59863f3717df2362f0300000005536552ac52ffffffffd4d71c4f0a7d53ba47bb0289ca79b1e33d4c569c1e951dd611fc9c9c1ca8bc6c030000000665536a6551acffffffff042f9aa905000000000753655153656351ab93d8010000000002655337440e0300000000005d4c690000000000015278587acb", + "006565526a51", + 0, + 1502064227, + "bbed77ff0f808aa8abd946ba9e7ec1ddb003a969fa223dee0af779643cb841a9" + ], + [ + "00b20fd104dd59705b84d67441019fa26c4c3dec5fd3b50eca1aa549e750ef9ddb774dcabe000000000651ac656aac65ffffffff52d4246f2db568fc9eea143e4d260c698a319f0d0670f84c9c83341204fde48b0200000000ffffffffb8aeabb85d3bcbc67b132f1fd815b451ea12dcf7fc169c1bc2e2cf433eb6777a03000000076a51ac6a6563acd510d209f413da2cf036a31b0def1e4dcd8115abf2e511afbcccb5ddf41d9702f28c52900100000005ac526a0065ffffffff039c827600000000000753655200656a52401561010000000002ac0082b716010000000002510000000000", + "535265", + 1, + -947367579, + "6c7f57a4e9c03c95bf22236d912ac8cba66c6dbebdc61fea5a736fd8d3150b34" + ], + [ + "455131860220abbaa72015519090a666faf137a0febce7edd49da1eada41feab1505a0028b02000000026365453ead4225724eb69beb590f2ec56a7693a608871e0ab0c34f5e96157f90e0a96148f3c50200000007525151535163acffffffff022d1249040000000008ac00acac6565630088b310040000000000e3920e59", + "51526a52ac5152", + 0, + 294375737, + "8036634b1978c37820ea253bac2bde46c68fc6f699c7d796b2cc74ffc68f4048" + ], + [ + "624d28cb02c8747915e9af2b13c79b417eb34d2fa2a73547897770ace08c6dd9de528848d303000000035163533c69d3f9b75b6ef8ed2df50c2210fd0bf4e889c42477d58682f711cbaece1a626194bb85030000000665ac53ac5353ffffffff018cc280040000000007acac52636352ac6859409e", + "ac51ac", + 1, + 1005144875, + "4bf229cf09d584f00136a80f077426a5c9e02ab4c4e93c637a602e7c04e18422" + ], + [ + "8f28471d02f7d41b2e70e9b4c804f2d90d23fb24d53426fa746bcdcfffea864925bdeabe3e0200000001acffffffff76d1d35d04db0e64d65810c808fe40168f8d1f2143902a1cc551034fd193be0e0000000001acffffffff048a5565000000000005005151516afafb610400000000045263ac53648bb30500000000086363516a6a5165513245de01000000000000000000", + "6a0053510053", + 1, + -1525137460, + "305fc8ff5dc04ebd9b6448b03c9a3d945a11567206c8d5214666b30ec6d0d6cc" + ], + [ + "10ec50d7046b8b40e4222a3c6449490ebe41513aad2eca7848284a08f3069f3352c2a9954f0000000009526aac656352acac53ffffffff0d979f236155aa972472d43ee6f8ce22a2d052c740f10b59211454ff22cb7fd00200000005acacac6353ffffffffbbf97ebde8969b35725b2e240092a986a2cbfd58de48c4475fe077bdd493a20c0100000003635365ffffffff4600722d33b8dba300d3ad037bcfc6038b1db8abfe8008a15a1de2da2264007302000000035351ac6dbdafaf020d0ccf040000000004636a516ae06e5e0200000000016a00000000", + "", + 0, + -1658960232, + "31ac6b02930185c2b025b67605227023f52e7d196e000ce4c3d3f288eb058736" + ], + [ + "fef98b7101bf99277b08a6eff17d08f3fcb862e20e13138a77d66fba55d54f26304143e536010000000451536500ffffffff04265965030000000004655252ace2c775010000000001002b23b4040000000006516a515353ac456a7a00000000000653525251acacba521291", + "526aacac0053", + 0, + -1614097109, + "85a6b1c783a3abd470a79967d90684d50a88d87255203b4ecdb431cd63ebb59e" + ], + [ + "34a2b8830253661b373b519546552a2c3bff7414ea0060df183b1052683d78d8f54e842442000000000152ffffffffd961a8e34cf374151058dfcddc86509b33832bc57267c63489f69ff01199697c0300000001acba856cfb01b17c2f050000000007515365ac53000000000000", + "5263656a", + 1, + -2104480987, + "fcb05b2af9c06cfb378f999fd7a82f96fd352e9146b9b65ec513ef1ce658b5de" + ], + [ + "43559290038f32fda86580dd8a4bc4422db88dd22a626b8bd4f10f1c9dd325c8dc49bf479f01000000026351ffffffff401339530e1ed3ffe996578a17c3ec9d6fccb0723dd63e7b3f39e2c44b976b7b03000000056a65656a51ffffffff6fb9ba041c96b886482009f56c09c22e7b0d33091f2ac5418d05708951816ce7000000000551ac525100ffffffff020921e40500000000035365533986f40500000000016a00000000", + "52ac51", + 0, + 1769771809, + "02040283ef2291d8e1f79bb71bdabe7c1546c40d7ed615c375643000a8b9600d" + ], + [ + "6878a6bd02e7e1c8082d5e3ee1b746cfebfac9e8b97e61caa9e0759d8a8ecb3743e36a30de0100000001532a911b0f12b73e0071f5d50b6bdaf783f4b9a6ce90ec0cad9eecca27d5abae188241ddec0200000001651c7758d803f7457b0500000000036551515f4e90000000000001007022080200000000035365acc86b6946", + "6351", + 0, + -1929374995, + "f24be499c58295f3a07f5f1c6e5084496ae160450bd61fdb2934e615289448f1" + ], + [ + "35b6fc06047ebad04783a5167ab5fc9878a00c4eb5e7d70ef297c33d5abd5137a2dea9912402000000036aacacffffffff21dc291763419a584bdb3ed4f6f8c60b218aaa5b99784e4ba8acfec04993e50c03000000046a00ac6affffffff69e04d77e4b662a82db71a68dd72ef0af48ca5bebdcb40f5edf0caf591bb41020200000000b5db78a16d93f5f24d7d932f93a29bb4b784febd0cbb1943f90216dc80bba15a0567684b000000000653525100006a1be2208a02f6bdc1030000000001658550ea04000000000365636a00000000", + "", + 0, + -1114114836, + "b653c54899c1d7497161b934958797b83611a717c18e7076c1e0a486f99000a3" + ], + [ + "bebb90c302bf91fd4501d33555a5fc5f2e1be281d9b7743680979b65c3c919108cc2f51751010000000100ffffffff969c30053f1276550532d0aa33cfe80ca63758cd215b740448a9c08a84826f33030000000465655153ffffffff04bf6f2a040000000003655265903e760100000000026a6a7103fa020000000006526553525365b05b2c000000000005000000535300000000", + "5151005363635153", + 1, + 1081291172, + "1e3c0518129698cd9542227f0a141d180187a468da6d575584b9dfe34feb4a59" + ], + [ + "af48319f031b4eeb4319714a285f44244f283cbff30dcb9275b06f2348ccd0d7f015b54f8500000000066363ac65ac6affffffff2560a9817ebbc738ad01d0c9b9cf657b8f9179b1a7f073eb0b67517409d108180200000004ac636552ffffffff0bdd67cd4ecae96249a2e2a96db1490ee645f042fd9d5579de945e22b799f4d00300000006655251515300cf187c8202e51abf0300000000056552006a00adf37d000000000004ac6a535100000000", + "6365", + 1, + -1855554446, + "acc4b39abbf3bd4b380ecb631c19d96cc8f35909b1ea39940a489b3f7345dfa5" + ], + [ + "f35befbc03faf8c25cc4bc0b92f6239f477e663b44b83065c9cb7cf231243032cf367ce313000000000465526a517c4c334149a9c9edc39e29276a4b3ffbbab337de7908ea6f88af331228bd90086a6900ba020000000151279d19950d2fe81979b72ce3a33c6d82ebb92f9a2e164b6471ac857f3bbd3c0ea213b54201000000085351635363520065052657c20300a9ba04000000000452636a6a0516ea020000000006535253656365cfdd3f01000000000865ac516aac00530000000000", + "", + 2, + -99793521, + "836e9ba82c036ca806ca9834d4655b5251580678942db8e1cc6f55d783dd16bd" + ], + [ + "d3da18520216601acf885414538ce2fb4d910997eeb91582cac42eb6982c9381589587794f0300000000fffffffff1b1c9880356852e10cf41c02e928748dd8fae2e988be4e1c4cb32d0bfaea6f70000000002656affffffff02fb0d69050000000000eda8580500000000085163526565ac52522b913c95", + "ac", + 1, + -1247973017, + "90bb0762c3c7bf0f1b42531960d66aa6b25e0728201644208cd7ba0436e9cd21" + ], + [ + "8218eb740229c695c252e3630fc6257c42624f974bc856b7af8208df643a6c520ef681bfd00000000002510066f30f270a09b2b420e274c14d07430008e7886ec621ba45665057120afce58befca9601030000000352515384c380a9015d96100000000000076a5300acac526500000000", + "ac005263", + 0, + -1855679695, + "5071f8acf96aea41c7518bd1b5b6bbe16258b529df0c03f9e374b83c66b742c6" + ], + [ + "1123e7010240310013c74e5def60d8e14dd67aedff5a57d07a24abc84d933483431b8cf8ea0300000003530051fc6775ff1a23c627a2e605dd2560e84e27f4208300071e90f4589e762ad9c9fe8d0da95e020000000465655200ffffffff0425159803000000000265639d28d90400000000096563636aacac525153474df801000000000851525165ac51006a75e23b040000000000e5bd3a4a", + "6363636565", + 0, + -467124448, + "3c45916684a1c22866830167fc842ba0fbae2c392b5bae051bbb9701dcd6991a" + ], + [ + "fd92fe1003083c5179f97e77bf7d71975788138147adbdb283306802e261c0aee080fa22630200000000860c643ba9a1816b9badf36077b4554d11720e284e395a1121bc45279e148b2064c65e490200000005516a53636a2c713088d20f4bc4001264d972cce05b9fe004dc33376ad24d0d013e417b91a5f1b6734e000000000100ffffffff02e3064c0500000000066552006a5165b86e87050000000004656553522052eadb", + "0053525265", + 0, + 776203277, + "8dd13496ffc9c6e1e1c45e57fbfa8db9c2677c06bf2879596a9bcd59f3e689c4" + ], + [ + "d1b6a703038f14d41fcc5cc45455faa135a5322be4bf0f5cbcd526578fc270a236cacb853f0200000000ffffffff135aeff902fa38f202ccf5bd34437ff89c9dc57a028b62447a0a38579383e8ef0000000000ffffffffadf398d2c818d0b90bc474f540c3618a4a643482eeab73d36101987e2ec0335900000000004bd3323504e69fc10000000000055151535251790ada020000000003636a521337a704000000000863ac63acac52656a1e9862010000000006656500ac516a8f4ee672", + "5251656565ac63", + 2, + 82008394, + "e272326c1171e26a32634c315442f72b827fbf54e3f0d7ca538345fa56433001" + ], + [ + "81dadaa7011556683db3fe95262f4fdb20391b7e75b7ffcee51b176af64d83c06f85545d620200000003515152ffffffff044805ef0300000000065353516352639702c8020000000008005163515152525270db08040000000007ac516a526553ac4aabc905000000000863650052636a525100000000", + "65656a5152", + 0, + -2126294159, + "f95803b90493138c22df24e9ef1e25213a6670bdb10952a7e5c9400c63a6fd7f" + ], + [ + "3b937e05032b8895d2f4945cb7e3679be2fbd15311e2414f4184706dbfc0558cf7de7b4d000000000001638b91a12668a3c3ce349788c961c26aa893c862f1e630f18d80e7843686b6e1e6fc39631000000000075263535365ac51eeb09dd1c9605391258ee6f74b9ae17b5e8c2ef010dc721c5433dcdc6e93a1593e3b6d1700000000085365ac6553526351ffffffff0308b18e04000000000253acb6dd00040000000008536aac5153ac516ab0a88201000000000500ac006500804e3ff2", + "", + 0, + 416167343, + "595a3c02254564634e8085283ec4ea7c23808da97ce9c5da7aecd7b553e7fd7f" + ], + [ + "a48f27ca047997470da74c8ee086ddad82f36d9c22e790bd6f8603ee6e27ad4d3174ea875403000000075153ac636a6aacffffffffefc936294e468d2c9a99e09909ba599978a8c0891ad47dc00ba424761627cef202000000056a51630053ffffffff304cae7ed2d3dbb4f2fbd679da442aed06221ffda9aee460a28ceec5a9399f4e0200000000f5bddf82c9c25fc29c5729274c1ff0b43934303e5f595ce86316fc66ad263b96ca46ab8d0100000003536500d7cf226b0146b00c04000000000200ac5c2014ce", + "515100636563", + 0, + 1991799059, + "9c051a7092fe17fa62b1720bc2c4cb2ffc1527d9fb0b006d2e142bb8fe07bf3c" + ], + [ + "180cd53101c5074cf0b7f089d139e837fe49932791f73fa2342bd823c6df6a2f72fe6dba1303000000066a6a63ac53acffffffff03853bc1020000000007ac526a6a6a6a003c4a8903000000000453515163a0fbbd030000000004656a5253253d64cf", + "ac65", + 0, + -1548453970, + "1a7d5d2203376199149277a670ea07038886f5e93bc51971504299cf52f3beeb" + ], + [ + "c21ec8b60376c47e057f2c71caa90269888d0ffd5c46a471649144a920d0b409e56f190b700000000008acac6a526a536365ffffffff5d315d9da8bf643a9ba11299450b1f87272e6030fdb0c8adc04e6c1bfc87de9a0000000000ea43a9a142e5830c96b0ce827663af36b23b0277244658f8f606e95384574b91750b8e940000000007516a63ac0063acffffffff023c61be04000000000451655263313cc8020000000006006a53526551ed8c3d56", + "6a", + 1, + 1160627414, + "3c09d5f69578e89bf1a43f3cf1d6fae5546b7610f0e2b92a2ffd51c80c643651" + ], + [ + "128cd90f04b66a4cbc78bf48748f6eec0f08d5193ee8d0a6f2e8d3e5f138ed12c2c87d01a3010000000652006aac0000ffffffff09fc88bb1851e3dfb3d30179c38e15aeb1b39929c7c74f6acd071994ed4806490300000000e7fc5ea12ec56f56c0d758ecf4bb88aa95f3b08176b336db3b9bec2f6e27336dce28adbe030000000400530051fffffffffd6ff1adcf1fbe0d883451ee46904f1b7e8820243d395559b2d4ee8190a6e891000000000080fb1ae702f85b4000000000000252008d96510100000000046a52536a00000000", + "", + 1, + 1667598199, + "508b078076335e06265e101fb2ae0342b50d0a5e4ef83a36f2275e671f4b7861" + ], + [ + "da9695a403493d3511c10e1fe1286f954db0366b7667c91ef18ae4578056c1bf752114ac5901000000035351519788d91dd1f9c62dc005d80ea54eb13f7131ca5aace3d5d29f9b58ccc5fbc9a27e779950010000000453ac6a00ffffffffe2556ff29ebe83eb42a32c7a8d93bc598043578f491b5935805a33608538845a03000000015265d21b3b018f26c4030000000005ac51535352e1cbcb10", + "00656552", + 2, + -1550927794, + "9739b2f481f15e49de50adbcfea6eb0a375f0463b80243f701ad1ecbcb7097cc" + ], + [ + "b240517501334021240427adb0b413433641555424f6d24647211e3e6bfbb22a8045cbda2f000000000071bac8630112717802000000000000000000", + "6a5165ac52656551", + 0, + 1790414254, + "2c8be597620d95abd88f9c1cf4967c1ae3ca2309f3afec8928058c9598660e9e" + ], + [ + "96bac43903044a199b4b3efeeec5d196ee23fb05495541fa2cd6fb6405a9432d1723363660010000000151ffffffffe6ce2b66ce1488918a3e880bebb0e750123f007c7bcbac8fcd67ce75cb6fbae80300000000ffffffff9c0955aa07f506455834895c0c56be5a095398f47c62a3d431fe125b161d666a0200000004520000ac7ffdbc540216f2f004000000000165a26dce01000000000000000000", + "5151656a656a6a63", + 0, + -707123065, + "ae31ab7a63ae73db083c6bcfa34c9950dd808d3bc2d16520a4890bb912d68b20" + ], + [ + "b8fd394001ed255f49ad491fecc990b7f38688e9c837ccbc7714ddbbf5404f42524e68c18f00000000056353535363081e15ee02706f7d050000000008515200535351526364c7ec040000000005636a53acac9206cbe1", + "655352ac", + 0, + -1251578838, + "8e0697d8cd8a9ccea837fd798cc6c5ed29f6fbd1892ee9bcb6c944772778af19" + ], + [ + "e42a76740264677829e30ed610864160c7f97232c16528fe5610fc08814b21c34eefcea69d010000000653006a6a0052ffffffff647046cf44f217d040e6a8ff3f295312ab4dd5a0df231c66968ad1c6d8f4428000000000025352ffffffff0199a7f900000000000000000000", + "655263006a005163", + 1, + 1122505713, + "7cda43f1ff9191c646c56a4e29b1a8c6cb3f7b331da6883ef2f0480a515d0861" + ], + [ + "0f034f32027a8e094119443aa9cfe11737c6d7dda9a52b839bc073dcc0235b847b28e0fab60200000006ac53ac536a63eee63447dfdad80476994b68706e916df1bd9d7cb4f3a4f6b14369de84564bea2e8688bd030000000565636a65acf8434663020b35fe01000000000500655163acb3d6a103000000000253ac345eeda0", + "526a51ac6351", + 1, + 66020215, + "73d7cf5a5b0449e84d7e615f41e9b6bc6103501e4ddc5a30567210e5db7dcc2e" + ], + [ + "a2dfa4690214c1ab25331815a5128f143219de51a47abdc7ce2d367e683eeb93960a31af9f010000000363636affffffff8be0628abb1861b078fcc19c236bc4cc726fa49068b88ad170adb2a97862e7460200000004ac655363ffffffff0441f11103000000000153dbab0c00000000000753ac5365526a63abbb9505000000000352516a29a029040000000003ac526a00000000", + "6a52ac63", + 1, + -1302210567, + "7c8fb6b3d954f0c45ec0b69eb0d4ba4d99cf7ffcf5fceebbd8cde447277fc2d1" + ], + [ + "9dbc591f04521670af83fb3bb591c5d4da99206f5d38e020289f7db95414390dddbbeb56680100000004ac5100acffffffffb6a40b5e29d5e459f8e72d39f800089529f0889006cad3d734011991da8ef09d0100000008526a5100ac536a515fc427436df97cc51dc8497642ffc868857ee245314d28b356bd70adba671bd6071301fc0000000000ffffffff487efde2f620566a9b017b2e6e6d42525e4070f73a602f85c6dfd58304518db30000000005516353006a8d8090180244904a0200000000046a65656ab1e9c20300000000025163a06a5449", + "", + 0, + -1414953913, + "a9b488fdd04166a822a49cbaaacc9f77a1547d59b7be98b00c58869fa2a68950" + ], + [ + "1345fb2c04bb21a35ae33a3f9f295bece34650308a9d8984a989dfe4c977790b0c21ff9a7f0000000006ac52ac6a0053ffffffff7baee9e8717d81d375a43b691e91579be53875350dfe23ba0058ea950029fcb7020000000453536352ffffffff684b6b3828dfb4c8a92043b49b8cb15dd3a7c98b978da1d314dce5b9570dadd2020000000763536a5200ac63d1a8647bf667ceb2eae7ec75569ca249fbfd5d1b582acfbd7e1fcf5886121fca699c011d0100000003ac006affffffff049b1eb00300000000001e46dc01000000000700656a6a630065ca95b40300000000030051520c84990100000000056aac526a6500000000", + "53526aac636300", + 2, + 1809978100, + "e3f19b8a9d68424900b66628b381b44553bbc96d1ea2efe5df99f1b350585c14" + ], + [ + "7d75dc8f011e5f9f7313ba6aedef8dbe10d0a471aca88bbfc0c4a448ce424a2c5580cda15603000000025152ffffffff01997f8e0200000000096552ac6a65656563530d93bbcc", + "00656a6563", + 0, + 1414485913, + "ec91eda1149f75bffb97612569a78855498c5d5386d473752a2c81454f297fa7" + ], + [ + "1459179504b69f01c066e8ade5e124c748ae5652566b34ed673eea38568c483a5a4c4836ca0100000008ac5352006563656affffffff5d4e037880ab1975ce95ea378d2874dcd49d5e01e1cdbfae3343a01f383fa35800000000095251ac52ac6aac6500ffffffff7de3ae7d97373b7f2aeb4c55137b5e947b2d5fb325e892530cb589bc4f92abd503000000076563ac53520052ffffffffb4db36a32d6e543ef49f4bafde46053cb85b2a6c4f0e19fa0860d9083901a119030000000251531bbcfe5504a6dbda040000000007536a5365ac6500d660c803000000000765656a53536a6a54e84e010000000003acac52df2ccf0500000000025351220c857e", + "", + 2, + 1879181631, + "41542fb175286b4b6afeedfadc4769744936e8d1db843d89ffd3a34007ae0288" + ], + [ + "d98b777f04b1b3f4de16b07a05c31d79965579d0edda05600c118908d7cf642c9cd670093f020000000853005351ac655363a268caad6733b7d1718008997f249e1375eb3ab9fe68ab0fe170d8e745ea24f54ce67f9b00000000066500516a5151ffffffff7ef8040dfcc86a0651f5907e8bfd1017c940f51cf8d57e3d3fe78d57e40b1e610200000003535263ffffffff39846cfed4babc098ff465256ba3820c30d710581316afcb67cd31c623b703360300000001acffffffff03d405120100000000056300006a5201a73d050000000003636a6a294c8c000000000006ac65536553ac00000000", + "63525351ac", + 1, + 2018694761, + "852549bc8f55c4ece6a503d89a17298debf8cd783759e44a1be5a6171763e745" + ], + [ + "cabb1b06045a895e6dcfc0c1e971e94130c46feace286759f69a16d298c8b0f6fd0afef8f20300000004ac006352ffffffffa299f5edac903072bfb7d29b663c1dd1345c2a33546a508ba5cf17aab911234602000000056a65515365ffffffff89a20dc2ee0524b361231092a070ace03343b162e7162479c96b757739c8394a030000000092ec524daf73fabee63f95c1b79fa8b84e92d0e8bac57295e1d0adc55dc7af5534ebea410200000001534d70e79b04674f6f00000000000400ac53517d60cc020000000002526596c51d040000000004ac6300ac62a787050000000007006a51656363639e2e7ff7", + "6551ac6351ac", + 3, + 1942663262, + "4ddabfc3da0e90138887c2801ac7ec9cbdef5ed9816f29887523bf020d4bfbb7" + ], + [ + "8b96d7a30132f6005b5bd33ea82aa325e2bcb441f46f63b5fca159ac7094499f380f6b7e2e00000000066aacac6300acffffffff0158056700000000000465005100c319e6d0", + "52006a", + 0, + -1100733473, + "fb4bd26a91b5cf225dd3f170eb09bad0eac314bc1e74503cc2a3f376833f183e" + ], + [ + "112191b7013cfbe18a175eaf09af7a43cbac2c396f3695bbe050e1e5f4250603056d60910e02000000001c8a5bba03738a22010000000005525352656a77a149010000000002510003b52302000000000351ac52722be8e6", + "65ac6565", + 0, + -1847972737, + "8e795aeef18f510d117dfa2b9f4a2bd2e2847a343205276cedd2ba14548fd63f" + ], + [ + "ce6e1a9e04b4c746318424705ea69517e5e0343357d131ad55d071562d0b6ebfedafd6cb840100000003656553ffffffff67bd2fa78e2f52d9f8900c58b84c27ef9d7679f67a0a6f78645ce61b883fb8de000000000100d699a56b9861d99be2838e8504884af4d30b909b1911639dd0c5ad47c557a0773155d4d303000000036a5151ffffffff9fdb84b77c326921a8266854f7bbd5a71305b54385e747fe41af8a397e78b7fa010000000763acac6a5100ac0d2e9b9d049b8173010000000007ac53526a650063ba9b7e010000000008526a00525263acac0ab3fd030000000000ea8a0303000000000200aca61a97b9", + "", + 1, + -1276952681, + "b6ed4a3721be3c3c7305a5128c9d418efa58e419580cec0d83f133a93e3a22c5" + ], + [ + "a7721d94021652d90c79aaf5022d98219337d50f836382403ed313adb1116ba507ac28b0b0010000000451ac630089e6d64a7aa81fb9595368f04d1b36d7020e7adf5807535c80d015f994cce29554fe869b01000000055353636500ffffffff024944c90100000000046300635369df9f01000000000000000000", + "656a536551", + 0, + -1740151687, + "935892c6f02948f3b08bcd463b6acb769b02c1912be4450126768b055e8f183a" + ], + [ + "2f7353dd02e395b0a4d16da0f7472db618857cd3de5b9e2789232952a9b154d249102245fd030000000151617fd88f103280b85b0a198198e438e7cab1a4c92ba58409709997cc7a65a619eb9eec3c0200000002636affffffff0397481c0200000000045300636a0dc97803000000000009d389030000000003ac6a53134007bb", + "0000536552526a", + 0, + -1912746174, + "30c4cd4bd6b291f7e9489cc4b4440a083f93a7664ea1f93e77a9597dab8ded9c" + ], + [ + "7d95473604fd5267d0e1bb8c9b8be06d7e83ff18ad597e7a568a0aa033fa5b4e1e2b6f1007020000000465006a6affffffffaee008503bfc5708bd557c7e78d2eab4878216a9f19daa87555f175490c40aaf000000000163ffffffffabd74f0cff6e7ceb9acc2ee25e65af1abcebb50c08306e6c78fa8171c37613dd010000000352acacffffffff54a3069393f7930fa1b331cdff0cb945ec21c11d4605d8eedba1d3e094c6ae1f01000000026300ffffffff0182edeb0500000000085263535153530065a247e8cd", + "51516a00", + 2, + -426210430, + "2707ca714af09494bb4cf0794abe33c6cba5f29891d619e76070269d1fa8e690" + ], + [ + "221d4718023d9ca9fe1af178dbfce02b2b369bf823ea3f43f00891b7fef98e215c06b94fdd000000000851005153000051acffffffffb1c7ad1c64b7441bf5e70cd0f6eb4ec96821d67fc4997d9e6dfdceadecd36dde01000000070051536a635153ffffffff04e883cd000000000006515365530052bbb2f70400000000002f1b2e03000000000165259fcb00000000000010dbde99", + "", + 1, + 665721280, + "ab45dd7ce573d4a55464be1c324c5485ecf7c817480fb3ee3d976b19876a0f2f" + ], + [ + "6f66c0b3013e6ae6aabae9382a4326df31c981eac169b6bc4f746edaa7fc1f8c796ef4e3740000000004656aac6affffffff0191c8d6030000000002525300000000", + "6a5352516a635352", + 0, + -1299629906, + "48411efeb133c6b7fec4e7bdbe613f827093cb06ea0dbcc2ffcfde3a9ac4356c" + ], + [ + "89e7928c04363cb520eff4465251fd8e41550cbd0d2cdf18c456a0be3d634382abcfd4a2130200000006ac516a6a656355042a796061ed72db52ae47d1607b1ceef6ca6aea3b7eea48e7e02429f382b378c4e5190100000006535163525252ffffffff53631cbda79b40183000d6ede011c778f70147dc6fa1aed3395d4ce9f7a8e69701000000076a655352516a52ad0de418d80afe059aab5da73237e0beb60af4ac490c3394c12d66665d1bac13bdf29aa8000000000153f2b59ab6027a33eb040000000007005351ac5100ac88b9410300000000020052e1e8a143", + "63656a", + 0, + 1258533326, + "b89f9cf9604e0521dd869431abdf535560a869a08b826cedf1828253d47d42cb" + ], + [ + "ca356e2004bea08ec2dd2df203dc275765dc3f6073f55c46513a588a7abcc4cbde2ff011c7020000000553525100003aefec4860ef5d6c1c6be93e13bd2d2a40c6fb7361694136a7620b020ecbaca9413bcd2a030000000965ac00536352535100ace4289e00e97caaea741f2b89c1143060011a1f93090dc230bee3f05e34fbd8d8b6c399010000000365526affffffff48fc444238bda7a757cb6a98cb89fb44338829d3e24e46a60a36d4e24ba05d9002000000026a53ffffffff03d70b440200000000056a6a526aac853c97010000000002515335552202000000000351635300000000", + "0052", + 3, + -528192467, + "fc93cc056c70d5e033933d730965f36ad81ef64f1762e57f0bc5506c5b507e24" + ], + [ + "82d4fa65017958d53e562fac073df233ab154bd0cf6e5a18f57f4badea8200b217975e31030200000003636a51ac0891a204227cc9050000000006635200655365bfef8802000000000865650051635252acfc2d0905000000000565ac51516380195e030000000007ac52525352510063d50572", + "53", + 0, + -713567171, + "e0ee0c224184730c9cc8ee7ccb0399ff8809c28fd9d7050bccb1a32509a3f9e7" + ], + [ + "75f6949503e0e47dd70426ef32002d6cdb564a45abedc1575425a18a8828bf385fa8e808e600000000016a82f9fd14e9647d7a1b5284e6c55169c8bd228a7ea335987cef0195841e83da45ec28aa2e0300000002516350dc6fe239d150efdb1b51aa288fe85f9b9f741c72956c11d9dcd176889963d699abd63f0000000000429a63f502777d20010000000006ac52ac516a53d081d9020000000003acac630c3cc3a8", + "535152516551510000", + 1, + 973814968, + "c8e60a5984b57ddc3f0ed4d767e3e9d0e6c37143de7501da29ad8c3d4dee83d8" + ], + [ + "24f24cd90132b2162f938f1c22d3ca5e7daa83515883f31a61a5177aebf99d7db6bdfc398c010000000163ffffffff01d5562d0100000000016300000000", + "5265ac5165ac5252", + 0, + 1055129103, + "5eeb03e03806cd7bfd44bbba69c30f84c2c5120df9e68cd8facc605fcfbc9693" + ], + [ + "5ff2cac201423064a4d87a96b88f1669b33adddc6fa9acdc840c0d8a243671e0e6de49a5b00300000005ac6353655353b91db50180db5a03000000000663535151006a047a3aff", + "52515365005163", + 0, + -1336626596, + "b8db8d57fe40ab3a99cf2f8ed57da7a65050fcc1d34d4280e25faf10108d3110" + ], + [ + "10011f150220ad76a50ccc7bb1a015eda0ff987e64cd447f84b0afb8dc3060bdae5b36a6900200000000ffffffff1e92dd814dfafa830187bc8e5b9258de2445ec07b02c420ee5181d0b203bb334000000000465536a65ffffffff0124e6540100000000060063655353ac00000000", + "530051", + 0, + 440222748, + "4614dcf172fd2db5bc0d1d0fe4d87a15d9b2928cc43480e58c6b802cf7a07b35" + ], + [ + "8b95ec900456648d820a9b8df1d8f816db647df8a8dc9f6e7151ebf6079d90ee3f6861352a0200000007520000ac535151ffffffff039b10b845f961225ac0bcaac4f5fe1991029a051aa3d06a3811b5762977a67403000000025252ffffffff8559d65f40d5e261f45aec8aad3d2c56c6114b22b26f7ee54a06f0881be3a7f5010000000765635252536363ffffffff38f8b003b50f6412feb2322b06b270197f81ad69c36af02ca5008b94eee5f650020000000165ffffffff01ae2b00010000000001638eb153a2", + "00535300ac53", + 2, + 1266056769, + "205f3653f0142b35ce3ef39625442efebae98cde8cbf0516b97b51073bb0479f" + ], + [ + "babbb7ea01ab5d584727cb44393b17cf66521606dc81e25d85273be0d57bad43e8f6b6d43501000000036a656aba83a68803fb0f4a000000000004536353633fcfe4020000000008ac00ac6351006a65182a0c03000000000453ac5363bee74f44", + "536a6a6a6365ac51", + 0, + -799187625, + "a33a95d143903529e1cc345b93fe150e0f1f1d4f3fcc6ea7a0252ddbf145920b" + ], + [ + "e86a24bc03e4fae784cdf81b24d120348cb5e52d937cd9055402fdba7e43281e482e77a1c100000000046363006affffffffa5447e9bdcdab22bd20d88b19795d4c8fb263fbbf7ce8f4f9a85f865953a6325020000000663ac53535253ffffffff9f8b693bc84e0101fc73748e0513a8cecdc264270d8a4ee1a1b6717607ee1eaa00000000026a513417bf980158d82c020000000009005253005351acac5200000000", + "6353516365536a6a", + 2, + -563792735, + "508129278ef07b43112ac32faf00170ad38a500eed97615a860fd58baaad174b" + ], + [ + "53bd749603798ed78798ef0f1861b498fc61dcee2ee0f2b37cddb115b118e73bc6a5a47a0201000000086a63656a6a6a000007ff674a0d74f8b4be9d2e8e654840e99d533263adbdd0cf083fa1d5dd38e44d2d163d9001000000055251ac6a51c8b6b63f744a9b9273ccfdd47ceb05d3be6400c1ed0f7283d32b34a7f4f0889cccf06be30000000008516a52636551516a9ac1fe63030c677e05000000000027bc610000000000086565636a635100526e2dc60200000000015300000000", + "6552536a515351", + 1, + -1617066878, + "fe516df92299e995b8e6489be824c6839543071ec5e9286060b2600935bf1f20" + ], + [ + "691bf9fc028ca3099020b79184e70039cf53b3c7b3fe695d661fd62d7b433e65feda2150610000000002ac63ffffffff2c814c15b142bc944192bddccb90a392cd05b968b599c1d8cd99a55a28a243fd01000000075300526a5200ac98516a5803dfd3540500000000046552ac5228381201000000000300536a4409a903000000000665636a5300658759621b", + "65ac5165", + 0, + -359941441, + "2b6be40583884c063bfc2a1689ad08ee203b17d4bdeddbd730d456647e004b4b" + ], + [ + "536bc5e60232eb60954587667d6bcdd19a49048d67a027383cc0c2a29a48b960dc38c5a0370300000004ac636300ffffffff8f1cfc102f39b1c9348a2195d496e602c77d9f57e0769dabde7eaaedf9c69e250100000004ac6a6351ffffffff0432f56f0400000000046a5365517fd54b0400000000035265539484e4050000000003536a5376dc25020000000006ac536a6a536ab978e686", + "ac0051006a006a006a", + 0, + -273074082, + "3c6eaba993d523ffc97ed430692390b8c12ad830feed85073d67462b7e749e09" + ], + [ + "74606eba01c2f98b86c29ba5a32dc7a7807c2abe6ed8d89435b3da875d87c12ae05329e6070200000003510052ffffffff02a1e2c4020000000006516563526a63c68bae04000000000752636300006363fe19ae4f", + "63acac5365", + 0, + 112323400, + "dd5092e9ba0db3db222a3f7fed4c4bd13fe4d191f9c082d5807f2cdef0d2ba08" + ], + [ + "2ed805e20399e52b5bcc9dc075dad5cf19049ff5d7f3de1a77aee9288e59c5f4986751483f020000000165ffffffff967531a5726e7a653a9db75bd3d5208fa3e2c5e6cd5970c4d3aba84eb644c72c0300000000ffffffffd79030d20c65e5f8d3c55b5692e5bdaa2ae78cfa1935a0282efb97515feac43f030000000400006365261ab88c02bdf66a0000000000026351d6ad8b000000000004525152ac00000000", + "6300535265", + 0, + 2072814938, + "9e6495debcf5c6d165c2dc247c895528f87de18c82ff6c40c4d020605620b960" + ], + [ + "fab796ee03f737f07669160d1f1c8bf0800041157e3ac7961fea33a293f976d79ce49c02ab0200000003ac5252eb097ea1a6d1a7ae9dace338505ba559e579a1ee98a2e9ad96f30696d6337adcda5a85f403000000076500656a6a656396d5d41a9b11f571d91e4242ddc0cf2420eca796ad4882ef1251e84e42b930398ec69dd80100000005526551ac6a8e5d0de804f763bb0400000000015288271a010000000001acf2bf290500000000020051c9641500000000000952655363636365ac5100000000", + "00ac536552", + 0, + -1854521113, + "a7af3152547de519e3178358f7a083154b0df0ac59bc69a66df8b66cc929fc6c" + ], + [ + "f2b539a401e4e8402869d5e1502dbc3156dbce93583f516a4947b333260d5af1a34810c6a00200000003525363ffffffff01d305e2000000000004ac535200a265fe77", + "", + 0, + -1435650456, + "a8a1db0372c037eeb26dc03c9b297e7f03afabcfa12b0d5413db7a25226802df" + ], + [ + "9f10b1d8033aee81ac04d84ceee0c03416a784d1017a2af8f8a34d2f56b767aea28ff88c8f02000000025352ffffffff748cb29843bea8e9c44ed5ff258df1faf55fbb9146870b8d76454786c4549de100000000016a5ba089417305424d05112c0ca445bc7107339083e7da15e430050d578f034ec0c589223b0200000005ac53ac6565ffffffff025a4ecd0100000000046365636540d2700000000000056a6553526333fa296c", + "", + 0, + -395044364, + "c3de9cacd3644752ca5a3a51b0356904abebc17e3a3d86c25103c90aff6cb71f" + ], + [ + "ab81755f02b325cbd2377acd416374806aa51482f9cc5c3b72991e64f459a25d0ddb52e66703000000026a008727056d48c00cc6e6222be6608c721bc2b1e69d0ffbadd51d131f05ec54bcd83003aac5000000000003f2cdb60454630e020000000007526aac63000000e9e25c040000000003516a0088c97e0000000000076a535265655263771b580500000000075100ac6565515100000000", + "515100ac", + 0, + -230931127, + "a65047626d3beefdf68bc0cd7ddd42332ff27d87f772c24e2b4c823162420e4a" + ], + [ + "7a17e0ef0378dab4c601240639139335da3b7d684600fa682f59b7346ef39386fe9abd69350000000003ac5252807f26fb3249326813e18260a603b9ad66f41f05eaa8146f66bcca452162a502aac4aa8b02000000026a534ea460faa7e3d7854ec6c70d7e797025697b547ec500b2c09c873b4d5517767d3f3720660300000000ffffffff01b12e7a02000000000700006a65656a63991c03e2", + "6a6a", + 1, + -1577994103, + "cff17feca457abd837a3b4355071e627731eeee16216c76b03891d88c17ea9bc" + ], + [ + "ff2ecc09041b4cf5abb7b760e910b775268abee2792c7f21cc5301dd3fecc1b4233ee70a2c0200000009acac5300006a51526affffffffeb39c195a5426afff38379fc85369771e4933587218ef4968f3f05c51d6b7c92000000000165453a5f039b8dbef7c1ffdc70ac383b481f72f99f52b0b3a5903c825c45cfa5d2c0642cd50200000001654b5038e6c49daea8c0a9ac8611cfe904fc206dad03a41fb4e5b1d6d85b1ecad73ecd4c0102000000086a51000053656565bdb5548302cc719200000000000452655265214a36030000000002006a00000000", + "52516a006a63", + 1, + -2113289251, + "3cbb0d5a6fce6b49cd3e82d8235e521a2720becc8485f66554250cba6def30a1" + ], + [ + "70a8577804e553e462a859375957db68cfdf724d68caeacf08995e80d7fa93db7ebc04519d0200000003535253619f4f2a428109c5fcf9fee634a2ab92f4a09dc01a5015e8ecb3fc0d9279c4a77fb27e9000000000056a51006a6affffffff3ed1a0a0d03f25c5e8d279bb5d931b7eb7e99c8203306a6c310db113419a69ad010000000465516300ffffffff6bf668d4ff5005ef73a1b0c51f32e8235e67ab31fe019bf131e1382050b39a630000000004536a6563ffffffff02faf0bb00000000000163cf2b4b05000000000752ac635363acac15ab369f", + "ac", + 0, + -1175809030, + "1c9d6816c20865849078f9777544b5ddf37c8620fe7bd1618e4b72fb72dddca1" + ], + [ + "a3604e5304caa5a6ba3c257c20b45dcd468f2c732a8ca59016e77b6476ac741ce8b16ca8360200000004acac6553ffffffff695e7006495517e0b79bd4770f955040610e74d35f01e41c9932ab8ccfa3b55d0300000007ac5253515365acffffffff6153120efc5d73cd959d72566fc829a4eb00b3ef1a5bd3559677fb5aae116e3800000000020052c29e7abd06ff98372a3a06227386609adc7665a602e511cadcb06377cc6ac0b8f63d4fdb03000000045100acacffffffff042090730500000000075163ac5252536514462e05000000000752ac636300656a20672c0400000000025153b2769900000000000465656a5300000000", + "5351", + 0, + 1460890590, + "0c1d9e9befee2f0aec339d9ad4cc7b5fb51f814a890a2b4274ce07c38c9807de" + ], + [ + "c6a72ed403313b7d027f6864e705ec6b5fa52eb99169f8ea7cd884f5cdb830a150cebade870100000007ac635165656a51ffffffff398d5838735ff43c390ca418593dbe43f3445ba69394a6d665b5dc3b4769b5d700000000065265ac515365ffffffff7ee5616a1ee105fd18189806a477300e2a9cf836bf8035464e8192a0d785eea3030000000700ac6a51516a52ffffffff018075fd0000000000015100000000", + "005251acac5252", + 2, + -656067295, + "2cc1c7514fdc512fd45ca7ba4f7be8a9fe6d3318328bc1a61ae6e7675047e654" + ], + [ + "93c12cc30270fc4370c960665b8f774e07942a627c83e58e860e38bd6b0aa2cb7a2c1e060901000000026300ffffffff4d9b618035f9175f564837f733a2b108c0f462f28818093372eec070d9f0a5440300000001acffffffff039c2137020000000001525500990100000000045265636a07980e0300000000005ba0e9d1", + "656a5100", + 1, + 18954182, + "ee8ff2eabaf8cfd532d9b932109a00b91c60b1d484d23ec7426fb306bfdbe2ff" + ], + [ + "97bddc63015f1767619d56598ad0eb5c7e9f880b24a928fea1e040e95429c930c1dc653bdb0100000008ac53acac00005152aaa94eb90235ed10040000000000287bdd0400000000016a8077673a", + "acac6a536352655252", + 0, + -813649781, + "5990b139451847343c9bb89cdba0e6daee6850b60e5b7ea505b04efba15f5d92" + ], + [ + "cc3c9dd303637839fb727270261d8e9ddb8a21b7f6cbdcf07015ba1e5cf01dc3c3a327745d0300000000d2d7804fe20a9fca9659a0e49f258800304580499e8753046276062f69dbbde85d17cd2201000000086352536a520000acffffffffbc75dfa9b5f81f3552e4143e08f485dfb97ae6187330e6cd6752de6c21bdfd2103000000050053650063ffffffff0313d0140400000000096565515253526aacac167f0a040000000007ac00535263536a9a52f8030000000003515163f75b66f2", + "6a635353636a65ac65", + 1, + 377286607, + "b0dd80fc8d5300efbc5ccade2b87ad8c2f1830c2a9fcd0719122ba14595b736b" + ], + [ + "236f91b702b8ffea3b890700b6f91af713480769dda5a085ae219c8737ebae90ff25915a3203000000056300ac6300811a6a10230f12c9faa28dae5be2ebe93f37c06a79e76214feba49bb017fb25305ff84eb020000000100ffffffff041e351703000000000351ac004ff53e05000000000253636c1460010000000000cb55f7010000000005515200510000000000", + "acac636a6aac5300", + 0, + 406448919, + "daea1bf312f48d7d2e5bc35e13855a18dec32035a3f726ac7649579fc49a098e" + ], + [ + "22e10d2003ab4ea9849a2801921113583b7c35c3710ff49a6003489395789a7cfb1e6051900100000006526a65535151ffffffff82f21e249ec60db33831d33b9ead0d56f6496db64337dcb7f1c3327c47729c4a020000000153ffffffff138f098f0e6a4cf51dc3e7a3b749f487d1ebde71b73b731d1d02ad1180ac7b8c02000000036563acda215011027a9484020000000007635165530000ac4bf6cb0400000000036aac653ce3f32c", + "0052", + 2, + 1136359457, + "aaf5af7efa7b63d4f4e017ee99d5f389977b7a724c359e0038994344f86af090" + ], + [ + "c47d5ad60485cb2f7a825587b95ea665a593769191382852f3514a486d7a7a11d220b62c54000000000563655253ac8c3cf32b0285b040e50dcf6987ddf7c385b3665048ad2f9317b9e0c5ba0405d8fde4129b0000000008525100ac65635300ffffffff549fe963ee410d6435bb2ed3042a7c294d0c7382a83edefba8582a2064af3265000000000152fffffffff7737a85e0e94c2d19cd1cde47328ece04b3e33cd60f24a8a345da7f2a96a6d00000000006656a0051656a28ff30d5049613ea020000000005ac51000063f06df1050000000007ac63516aac5153afef5901000000000700656500655253688bc00000000000076a5352526a53521ff1d5ff", + "51ac52", + 2, + -1296011911, + "89dbcd8060fbab09d417d99ab857c86e5ec5958d08ef11895fdd62dee97dcafc" + ], + [ + "0b43f122032f182366541e7ee18562eb5f39bc7a8e5e0d3c398f7e306e551cdef773941918030000000763006351ac51acffffffffae586660c8ff43355b685dfa8676a370799865fbc4b641c5a962f0849a13d825010000000263acffffffff0b2b6b800d8e77807cf130de6286b237717957658443674df047a2ab18e4138601000000066aac65520063ffffffff04f1dbca03000000000700635253656a52a6eefd0300000000036365655d8ca90200000000005a0d530400000000015300000000", + "65ac65acac", + 0, + 351448685, + "f28f61918bfe72b90a70c7b4c9fcb68cef50c7d6acac097acdb0b3af673ebc29" + ], + [ + "4b0ecc0c03ba35700d2a30a71f28e432ff6ac7e357533b49f4e97cf28f1071119ad6b97f3e0300000007ac516363ac63acffffffffcd6a2019d99b5c2d639ddca0b1aa5ea7c1326a071255ea226960bd88f45ca57d00000000085253655363005353ffffffffba257635191c9f216de3277be548cb5a2313114cb1a4c563b03b4ef6c0f4f7040300000000da542edf0495cdc40100000000026353c049e903000000000652516a5365512b0f9304000000000863516aac65516552fa9ece050000000008ac6500005152530000000000", + "6551525352510052", + 1, + -1355414590, + "3cd85f84aae6d702436f3f9b8980adcc1f8f202e957759540a27da0a32fc6c87" + ], + [ + "adaac0a803f66811346271c733036d6e0d45e15a9b602092e2e04ad93564f196e7f020b088000000000600526a636a00700ec3f9db07a3a6ce910bf318c7ec87a876e1f2a3366cc69f20cde09203b99c1cb9d15800000000050000ac636a4d0de554ebe95c6cc14faf5ff6361d1deba9474b8b0fd3b93c011cd96aec783abb3f3683020000000465005251ffffffff0464eb100500000000055200006a651beaa80300000000005a2f31050000000005526a65ac52ba7db100000000000352516a0cfb46e7", + "0051ac52636a", + 1, + -184733716, + "0ca3afec5af28a1f1d15b7b89ec7706735689532178532d5750e302b99d5ce58" + ], + [ + "af1c4ab301ec462f76ee69ba419b1b2557b7ded639f3442a3522d4f9170b2d6859765c3df402000000016affffffff01a5ca6c00000000000652536a00005300000000", + "6a6351", + 0, + 110304602, + "25595a96fbe7eca4053970f9d5091926823017bfa3f6a9ccea5fada24e68be1e" + ], + [ + "0bfd34210451c92cdfa02125a62ba365448e11ff1db3fb8bc84f1c7e5615da40233a8cd368010000000252ac9a070cd88dec5cf9aed1eab10d19529720e12c52d3a21b92c6fdb589d056908e43ea910e0200000009ac516a52656a6a5165ffffffffc3edcca8d2f61f34a5296c405c5f6bc58276416c720c956ff277f1fb81541ddd00000000020063ffffffff811247905cdfc973d179c03014c01e37d44e78f087233444dfdce1d1389d97c3020000000551630000631724a26e02ca37c90200000000075153525352ac529012a90100000000085200525253535353fa32575b", + "5352ac6351", + 1, + -1087700448, + "969f104745a675fd6ca5fec692be9ec178eaefdd9a3354885bdc5e67a106b807" + ], + [ + "2c84c0640487a4a695751d3e4be48019dbaea85a6e854f796881697383ea455347d2b2769001000000055265526500ffffffff6aac176d8aa00778d496a7231eeb7d3334f20c512d3db1683276402100d98de5030000000700536a5263526ac1ee9ceb171c0c984ebaf12c234fd1487fbf3b3d73aa0756907f26837efba78d1bed332003000000004d9e8ec0bed837cb929bbed76ee848959cec59de44bd7667b7631a744f880d5c71a20cfd0100000006005363515300ffffffff023753fb0000000000036565532d38730500000000070051526a63ac5200000000", + "650053", + 0, + -877941183, + "3538e501b9b2b660b86aa1d1ff1b0c6c96d4f888f7bf4cda61ef8f6305f6606a" + ], + [ + "1f7e4b1b045d3efa6cd7a11d7873a8bab886c19bd11fcb6712f0948f2db3a7be76ff76c8f1000000000852656a0065ac5363ffffffffdaafcfa6029336c997680a541725190f09a6f6da21e54560eca4b5b8ae987da1000000000952ac52acac52515165ffffffff825a38d3b1e5bb4d10f33653ab3ab6882c7abdaec74460257d1528ce7be3f98e0100000007526a006a656a63c14adc8f04953a5d3d3f89237f38b857dd357713896d36215f7e8b77b11d98ea3cdc93df02000000015212484f6104bfafae0300000000025263a2b012000000000004656300516c4d2605000000000653ac6500655301cc93030000000001ac14643b1f", + "63acac53", + 0, + 333824258, + "18da6ceb011cd36f15ad7dd6c55ef07e6f6ed48881ce3bb31416d3c290d9a0e9" + ], + [ + "467a3e7602e6d1a7a531106791845ec3908a29b833598e41f610ef83d02a7da3a1900bf29600000000046a636353ffffffff031db6dac6f0bafafe723b9199420217ad2c94221b6880654f2b35114f44b1df01000000086552636a63ac6352ffffffff02b3b95c01000000000263007032160300000000003261c0aa", + "6a", + 0, + 2110869267, + "bec81678ef196011c242f24da12b52eaa5ef56c9cd72c73cb2123b0e65bf8c1b" + ], + [ + "8713bc4f01b411149d575ebae575f5dd7e456198d61d238695df459dd9b86c4e3b2734b62e0300000003ac6363ffffffff03b58049050000000002ac653c714c04000000000953656a005151526a527b5a9e03000000000652ac5100525300000000", + "52", + 0, + -647281251, + "0e0bed1bf2ff255aef6e5c587f879ae0be6222ab33bd75ee365ec6fbb8acbe38" + ], + [ + "f2ba8a8701b9c401efe3dd0695d655e20532b90ac0142768cee4a3bb0a89646758f544aa8102000000036a52527899f4e4040c6f0b03000000000663656553005152b60c000000000008515200630053ac53a49c5f0400000000055351630063fa27340300000000015100000000", + "ac635251", + 0, + -1328936437, + "87584c7ad7b43b0a85619d327f8663349cc261c65dcd51aad22319cb4e57b618" + ], + [ + "b5a7df6102107beded33ae7f1dec0531d4829dff7477260925aa2cba54119b7a07d92d5a1d02000000046a516a52803b625c334c1d2107a326538a3db92c6c6ae3f7c3516cd90a09b619ec6f58d10e77bd6703000000056563006a63ffffffff0117484b03000000000653ac52526a65c1b548a1", + "ac006a525100", + 0, + 2074359913, + "708fcbe48b6921601571c5624b905bde73f5c02bf363f2f99210db0ad522546b" + ], + [ + "278cb16204b9dadf400266106392c4aa9df01ba03af988c8139dae4c1818ac009f13fc5f1a00000000065200ac656a52ffffffffd006bbebd8cbd7bdead24cddc9badfcc6bc0c2e63c037e5c29aa858f5d0f3e7d01000000046a0051acffffffffbc62a5f57e58da0b67956003ae81ac97cb4cbd1d694c914fc41515c008c4d8fd020000000165e329c844bcc16164be64b64a81cbf4ffd41ed2934e0daa0040ccb8365bab0b2a9e401c18030000000152ffffffff02588460030000000000a25a12030000000005535100005300000000", + "65536a5300ac51", + 3, + 989407546, + "1c29f110576f4a3b257f67454d99dfc0dee62ef5517ca702848ce4bd2ea1a1d7" + ], + [ + "49eb2178020a04fca08612c34959fd41447319c190fb7ffed9f71c235aa77bec28703aa1820200000003ac6353abaff326071f07ec6b77fb651af06e8e8bd171068ec96b52ed584de1d71437fed186aecf0300000001acffffffff03da3dbe02000000000552ac63ac6a8f3b680400000000096a536a65636a53516a5175470100000000016500000000", + "6a536365", + 0, + 1283691249, + "340ae3ff3e8548ff8212003e194c8022bfb6cccc5561b1fdef7194f17063a41e" + ], + [ + "0f96cea9019b4b3233c0485d5b1bad770c246fe8d4a58fb24c3b7dfdb3b0fd90ea4e8e947f0300000006006a5163515303571e1e01906956030000000003635353adc0fbbe", + "acac", + 0, + -1491469027, + "b0a8e0803b176c7e4f53dcefe22250f473758f5b607d1bbcd9108d69ba178b18" + ], + [ + "9a7d858604577171f5fe3f3fd3e5e039c4b0a06717a5381e9977d80e9f53e025e0f16d2877020000000752636565536353ffffffff5862bd028e8276e63f044be1dddcbb8d0c3fa097678308abf2b0f45104a93dbd0100000001531200667ba8fdd3b28e98a35da73d3ddfe51e210303d8eb580f923de988ee632d77793892030000000752526363526563ffffffffe9744eb44db2658f120847c77f47786d268c302120d269e6004455aa3ea5f5e202000000076300636a656551ffffffff03c61a3c020000000005516a6a6a53737f1a05000000000553ac65536592a4a00400000000016367edf6c8", + "535352", + 3, + 659348595, + "44f468a39e90f950895d7b1798bf5d41133eb9f61ec67a7a17efc9fb733d3438" + ], + [ + "148e68480196eb52529af8e83e14127cbfdbd4a174e60a86ac2d86eac9665f46f4447cf7aa01000000045200ac538f8f871401cf240c030000000005525252656a5266cf61", + "", + 0, + -344314825, + "a43a505f93bedd8358f9ff2ac4afc9b5306e712535968ceba2e4200433f27fbc" + ], + [ + "e2bc29d4013660631ba14ecf75c60ec5e9bed7237524d8c10f66d0675daa66d1492cb834530200000004ac510065e42d0c9e04f2b26c01000000000751525152acac65a35b7504000000000853ac6aac0065005394688c0400000000056365526553a1bced0300000000016a00000000", + "650063655353", + 0, + -888431789, + "43ee16b706611adf52cdf5af06efd16ad75dc7e18ad067d9d6e62ead2985032e" + ], + [ + "0c8a70d70494dca6ab05b2bc941b5b431c43a292bd8f2f02eab5e240a408ca73a676044a4103000000046a51006affffffff84496004e54836c035821f14439149f22e1db834f315b24588ba2f031511926c0100000000ffffffffbbc5e70ed1c3060ba1bfe99c1656a3158a7307c3ce8eb362ec32c668596d2bd3000000000763656363535100b039344c6fc4f9bec24322e45407af271b2d3dfec5f259ee2fc7227bc5285e22b3be85b40100000007ac0053ac6a5352e5ddfcff02d50231020000000005006a51536ab086d9020000000004ac51ac6a00000000", + "636565acac6a", + 3, + 241546088, + "5c11451d99e0679995bafd552facad1ffb742158905843483370caac4c69360c" + ], + [ + "f98f79cf0274b745e1d6f36da7cbe205a79132a7ad462bdc434cfb1dcd62a6977c3d2a5dbc010000000553516a5365ffffffff4f89f485b53cdad7fb80cc1b7e314b9735b9383bc92c1248bb0e5c6173a55c0d010000000353655293f9b014045ad96d02000000000963ac526a53ac636365f4c27904000000000952536563635152526a2788f0030000000002516aff5add01000000000763530051655351d04716ba", + "6552536a53", + 1, + -2128899945, + "95c24251cff87b2e50211ee272d0527d13ecdeac9bf8c7345fb09fb728dec251" + ], + [ + "6c7913f902aa3f5f939dd1615114ce961beda7c1e0dd195be36a2f0d9d047c28ac62738c3a020000000353ac00ffffffff477bf2c5b5c6733881447ac1ecaff3a6f80d7016eee3513f382ad7f554015b9701000000056563ac5152ffffffff04e58fe104000000000600526a526553e59790010000000001525a834b03000000000035fdaf0200000000076551ac6551520000000000", + "63ac53", + 1, + 1285478169, + "669fa8a8f4b97cc8e1816ae6adb4413a175042809e30bcf1d0a0397b2c1f6583" + ], + [ + "4624aa9204584f06a8a325c84e3b108cafb97a387af62dc9eab9afd85ae5e2c71e593a3b690200000003636a005eb2b44eabbaeca6257c442fea00107c80e32e8715a1293cc164a42e62ce14fea146220c020000000090b9ee38106e3310037bfc519fd209bdbd21c588522a0e96df5fba4e979392bc993bfe9f01000000076363636a6353536f1907d218ef6f3c729d9200e23c1dbff2df58b8b1282c6717b26cf760ee4c880d23f4d100000000086a516a536a525163ffffffff01d6f162050000000000ebbab208", + "5253650053", + 1, + -1515409325, + "6cf9cd409b7185b1f118171f0a34217af5b612ea54195ea186505b667c19337f" + ], + [ + "16562fc503f1cf9113987040c408bfd4523f1512da699a2ca6ba122dc65677a4c9bf7763830000000003636552ffffffff1ec1fab5ff099d1c8e6b068156f4e39b5543286bab53c6d61e2582d1e07c96cf02000000045163656affffffffd0ef40003524d54c08cb4d13a5ee61c84fbb28cde9eca7a6d11ba3a9335d8c620100000007635153536a6300fbb84fc2012003a6010000000002636a00000000", + "63636a006a6a", + 0, + -1310262675, + "4c154533157b2f889b7751e83426ba1a4e124b9ea3088486866fb5433b82d1d6" + ], + [ + "531665d701f86bacbdb881c317ef60d9cd1baeffb2475e57d3b282cd9225e2a3bf9cbe0ded01000000076300ac515263acffffffff0453a8500100000000076353ac516a6565e5e9200500000000026a52a44caa00000000000453ac000065e41b0500000000076500ac0065526ab4476f4d", + "006563006a00636a", + 0, + 1770013777, + "df3ed95fa9c904a0ecc41206d313ac22157d20b93dc02cb18db6cbd430aad0af" + ], + [ + "0f1227a20140655a3da36e413b9b5d108a866f6f147eb4940f032f5a89854eae6d7c3a91600100000009525363515153515253e37a79480161ab6102000000000000000000", + "65005200", + 0, + -1996383599, + "fef5ce63369124769b79343e66e29c436973d7d3f8cd0e0ab3318dc070b6976b" + ], + [ + "063ff6eb01aff98d0d2a6db224475010edb634c2f3b46257084676adeb84165a4ff8558d7601000000066353006a5165deb3262c042d109c000000000006636352ac005200b9c4050000000007516300ac510063cfffc800000000000200639e815501000000000700526a52ac6365ac7b07b8", + "656552ac6500", + 0, + -1559847112, + "51448b68451d6012d768a9453ff753868bdc4d95a9f08d8bcdc3cbedcbc71ede" + ], + [ + "3320f6730132f830c4681d0cae542188e4177cad5d526fae84565c60ceb5c0118e844f90bd030000000163ffffffff0257ec5a040000000005525251ac6538344d000000000002515200000000", + "5352656a53ac516a65", + 0, + 788050308, + "3afacaca0ef6be9d39e71d7b1b118994f99e4ea5973c9107ca687d28d8eba485" + ], + [ + "c13aa4b702eedd7cde09d0416e649a890d40e675aa9b5b6d6912686e20e9b9e10dbd40abb10000000007636353515351ac11d24dc4cc22ded7cdbc13edd3f87bd4b226eda3e4408853a57bcd1becf2df2a1671fd1600000000045165516affffffff01baea300100000000056a5253005300000000", + "0065", + 0, + -1195908377, + "610729ed2a518717bf30c32a6ffaa7aba8963225dce2ec3897805e35821d9b8b" + ], + [ + "d9a6f20e019dd1b5fae897fb472843903f9c3c2293a0ffb59cff2b413bae6eceab574aaf9d030000000563006a515102f54939032df5100100000000046a5165530ec28f010000000004ac5100007e874905000000000651005265ac6a00000000", + "ac63acac", + 0, + 271463254, + "2df4cc2686d6e168552f5443c218a086e4c41e01ba91e2c5365a7f63436e7ff6" + ], + [ + "157c81bf0490432b3fcb3f9a5b79e5f91f67f05efb89fa1c8740a3fe7e9bdc18d7cb6acd2203000000026351ffffffff912e48e72bbcf8a540b693cf8b028e532a950e6e63a28801f6eaad1afcc52ad00000000000b1a4b170a2b9e60e0cad88a0085137309f6807d25d5afb5c1e1d32aa10ba1cdf7df596dd0000000007525165656a51653674fba32a76fe09b273618d5f14124465933f4190ba4e0fd09d838daafc6223b31642ac00000000086a53536551ac6565ffffffff01fe9fb603000000000751656a5165636a00000000", + "006a6551", + 3, + -64357617, + "aef164bce218201307d98efbed396dd7a18bf2df7f3e5e8c768ce732499c1c7e" + ], + [ + "a2692fff03b2387f5bacd5640c86ba7df574a0ee9ed7f66f22c73cccaef3907eae791cbd230200000003536363ffffffff4d9fe7e5b375de88ba48925d9b2005447a69ea2e00495a96eafb2f144ad475b40000000008000053000052636537259bee3cedd3dcc07c8f423739690c590dc195274a7d398fa196af37f3e9b4a1413f810000000005ac63acac52ffffffff04c65fe60200000000065151536365657236fc02000000000800526300656a6a5195b8b6030000000007ac5165636aac6a7d7b66010000000001ac00000000", + "51", + 2, + -826546582, + "6b3fcf04dd294362d2464c8516896043ba807fe901641472d23e89a50f6113a5" + ], + [ + "2c5b003201b88654ac2d02ff6762446cb5a4af77586f05e65ee5d54680cea13291efcf930d0100000004536a006a37423d2504100367000000000004536a515335149800000000000152166aeb03000000000452510063226c8e03000000000000000000", + "635251", + 0, + 1060344799, + "7e058ca5dd07640e4aae7dea731cfb7d7fef1bfd0d6d7b6ce109d041f4ca2a31" + ], + [ + "f981b9e104acb93b9a7e2375080f3ea0e7a94ce54cd8fb25c57992fa8042bdf4378572859f0100000002630008604febba7e4837da77084d5d1b81965e0ea0deb6d61278b6be8627b0d9a2ecd7aeb06a0300000005ac5353536a42af3ef15ce7a2cd60482fc0d191c4236e66b4b48c9018d7dbe4db820f5925aad0e8b52a03000000070063510052516301863715efc8608bf69c0343f18fb81a8b0c720898a3563eca8fe630736c0440a179129d03000000086aac6a52ac6a63ac44fec4c00408320a03000000000062c21c030000000007ac6a655263006553835f0100000000015303cd60000000000005535263536558b596e0", + "00", + 0, + -2140385880, + "49870a961263354c9baf108c6979b28261f99b374e97605baa532d9fa3848797" + ], + [ + "e7416df901269b7af14a13d9d0507709b3cd751f586ce9d5da8d16a121e1bd481f5a086e1103000000046a005200ffffffff01aa269c040000000006acac6a6a5263ee718de6", + "525363", + 0, + 1309186551, + "eea7d2212bda2d408fff146f9ae5e85e6b640a93b9362622bb9d5e6e36798389" + ], + [ + "402a815902193073625ab13d876190d1bbb72aecb0ea733c3330f2a4c2fe6146f322d8843a0300000007656a0000535363fffffffff9dccdec5d8509d9297d26dfcb1e789cf02236c77dc4b90ebccbf94d1b5821150300000001510bf1f96a03c5c145000000000002ac6ae11b1c0100000000055163516a5239c8a600000000000365636300000000", + "63536aac", + 0, + -1811424955, + "0090803a20102a778ab967a74532faee13e03b702083b090b1497bc2267ee2fe" + ], + [ + "c4b702e502f1a54f235224f0e6de961d2e53b506ab45b9a40805d1dacd35148f0acf24ca5e00000000075200ac65ac53acf34ba6099135658460de9d9b433b84a8562032723635baf21ca1db561dce1c13a06f4407000000000751ac006a63516affffffff02a853a603000000000163d17a6703000000000463006a5200000000", + "ac5363515153", + 1, + 480734903, + "6ac2296565d013ac4f9dc737821b534cfd42eea3dace80bee4c4669662bb6ffd" + ], + [ + "9b83f78704f492b9b353a3faad8d93f688e885030c274856e4037818848b99e490afef27770200000000ffffffff36b60675a5888c0ef4d9e11744ecd90d9fe9e6d8abb4cff5666c898fdce98d9e00000000046a656352596370fca7a7c139752971e169a1af3e67d7656fc4fc7fd3b98408e607c2f2c836c9f27c030000000553ac516300a0761de7e158947f401b3595b7dc0fe7b75fa9c833d13f1af57b9206e4012de0c41b8124030000000853656a5353510052242e5f5601bf83b301000000000465516a6300000000", + "63515200ac656365", + 3, + -150879312, + "9cf05990421ea853782e4a2c67118e03434629e7d52ab3f1d55c37cf7d72cdc4" + ], + [ + "f492a9da04f80b679708c01224f68203d5ea2668b1f442ebba16b1aa4301d2fe5b4e2568f301000000085300535152526365ffffffff93b34c3f37d4a66df255b514419105b56d7d60c24bf395415eda3d3d8aa5cd0101000000020065ffffffff9dba34dabdc4f1643b372b6b77fdf2b482b33ed425914bb4b1a61e4fad33cf39000000000152ffffffffbbf3dc82f397ef3ee902c5146c8a80d9a1344fa6e38b7abce0f157be7adaefae0000000009515351005365006a51ffffffff021359ba010000000000403fea0200000000085200ac6353ac635300000000", + "00ac51acacac", + 0, + -2115078404, + "bcf2cd25bbe87547620e87088e51f633500d68e9d4f31f07d7b659750461cee9" + ], + [ + "2f73e0b304f154d3a00fde2fdd40e791295e28d6cb76af9c0fd8547acf3771a02e3a92ba37030000000752ac63516565639aa95467b065cec61b6e7dc4d6192b5536a7c569315fb43f470078b31ed22a55dab8265f02000000070065636a6a6a53ffffffff9e3addbff52b2aaf9fe49c67017395198a9b71f0aa668c5cb354d06c295a691a0100000000ffffffff45c2b4019abaf05c5e484df982a4a07459204d1343a6ee5badade358141f8f990300000007ac516a6aacac6308655cd601f3bc2f0000000000015200000000", + "", + 0, + -2082053939, + "9a95e692e1f78efd3e46bb98f178a1e3a0ef60bd0301d9f064c0e5703dc879c2" + ], + [ + "5a60b9b503553f3c099f775db56af3456330f1e44e67355c4ab290d22764b9144a7b5f959003000000030052acbd63e0564decc8659aa53868be48c1bfcda0a8c9857b0db32a217bc8b46d9e7323fe9649020000000453ac6551d0ecf806211db989bead96c09c7f3ec5f73c1411d3329d47d12f9e46678f09bac0dc383e0200000000ffffffff01494bb202000000000500516551ac00000000", + "ac", + 0, + 1169947809, + "62a36c6e8da037202fa8aeae03e533665376d5a4e0a854fc4624a75ec52e4eb1" + ], + [ + "7e98d353045569c52347ca0ff2fdba608829e744f61eb779ffdb5830aae0e6d6857ab2690e03000000065365ac656352ffffffffa890dd37818776d12da8dca53d02d243ef23b4535c67016f4c58103eed85360f030000000093dbacdc25ca65d2951e047d6102c4a7da5e37f3d5e3c8b87c29b489360725dcd117ee2003000000056a6300ac53c7e99fa1dc2b8b51733034e6555f6d6de47dbbf1026effac7db80cb2080678687380dc1e02000000075352005263516affffffff04423272040000000006635365510051e0f53b0500000000086300516552635152f74a5f04000000000553ac0053520e8e5f00000000000751ac5363516a6a00000000", + "6a516352", + 3, + 890006103, + "697cd75ff0a4aef1886e8f93a8159c6a068d806d73cb534321ac2c3918826364" + ], + [ + "e3649aa40405e6ffe377dbb1bbbb672a40d8424c430fa6512c6165273a2b9b6afa9949ec430200000006630052655153a365f62f2792fa90c784efe3f0981134d72aac0b1e1578097132c7f0406671457c332b840200000002536ad780f40cf51be22bb4ff755434779c7f1def4999e4f289d2bd23d142f36b66fbe5cfbb4b01000000056a5252ac521430ffdc67127c9c0fc97dcd4b578dab64f4fb9550d2b59d599773962077a563e8b6732c02000000016affffffff04cb2687000000000001636e320904000000000252acf70e9401000000000100dc33930500000000050063536aacbc231765", + "65520053", + 3, + -2016196547, + "2b5c35cb390a72b8b02629d48c5a7487c2790a0952f8422a6f23ab9ecfb80e89" + ], + [ + "1d033569040700441686672832b531ab55db89b50dc1f9fc00fb72218b652da9dcfbc83be901000000066551ac526a632b390f9ad068e5fdee6563e88e2a8e4e09763c861072713dc069893dc6bbc9db3f00e26502000000096a5363526565525252ffffffff8a36bdd0aaf38f6707592d203e14476ca9f259021e487135c7e8324244057ed90300000000ed3fb2a3dfd4d46b5f3603fe0148653911988457bd0ed7f742b07c452f5476c228ff9f600200000007526aac00525152ffffffff04b88e48030000000000c753d602000000000853510000006553518fda2603000000000853ac52acac5263534839f1030000000006ac006aacac5300000000", + "5165536353000052", + 1, + 2075958316, + "c2cefaec2293134acbcf6d2a8bf2b3eb42e4ec04ee8f8bf30ff23e65680677c1" + ], + [ + "4c4be7540344050e3044f0f1d628039a334a7c1f7b4573469cfea46101d6888bb6161fe9710200000000ffffffffac85a4fdad641d8e28523f78cf5b0f4dc74e6c5d903c10b358dd13a5a1fd8a06000000000163e0ae75d05616b72467b691dc207fe2e65ea35e2eadb7e06ea442b2adb9715f212c0924f10200000000ffffffff0194ddfe02000000000265ac00000000", + "00006500", + 1, + -479922562, + "d66924d49f03a6960d3ca479f3415d638c45889ce9ab05e25b65ac260b51d634" + ], + [ + "202c18eb012bc0a987e69e205aea63f0f0c089f96dd8f0e9fcde199f2f37892b1d4e6da90302000000055352ac6565ffffffff0257e5450100000000025300ad257203000000000000000000", + "520052ac6a005265", + 0, + 168054797, + "502967a6f999f7ee25610a443caf8653dda288e6d644a77537bcc115a8a29894" + ], + [ + "32fa0b0804e6ea101e137665a041cc2350b794e59bf42d9b09088b01cde806ec1bbea077df0200000008515153650000006506a11c55904258fa418e57b88b12724b81153260d3f4c9f080439789a391ab147aabb0fa0000000006000052ac51510986f2a15c0d5e05d20dc876dd2dafa435276d53da7b47c393f20900e55f163b97ce0b800000000007526a520065636a8087df7d4d9c985fb42308fb09dce704650719140aa6050e8955fa5d2ea46b464a333f870000000009636300636a6565006affffffff01994a0d040000000002536500000000", + "516563530065", + 2, + -163068286, + "f58637277d2bc42e18358dc55f7e87e7043f5e33f4ce1fc974e715ef0d3d1c2a" + ], + [ + "ae23424d040cd884ebfb9a815d8f17176980ab8015285e03fdde899449f4ae71e04275e9a80100000006006553530053ffffffff018e06db6af519dadc5280c07791c0fd33251500955e43fe4ac747a4df5c54df020000000251ac330e977c0fec6149a1768e0d312fdb53ed9953a3737d7b5d06aad4d86e9970346a4feeb503000000075151ac6563526a67cabc431ee3d8111224d5ecdbb7d717aa8fe82ce4a63842c9bd1aa848f111910e5ae1eb0100000004ac515300bfb7e0d7048acddc030000000009636a5253636a655363a3428e040000000001525b99c6050000000003655265717e6e020000000000d99011eb", + "ac6a6a516565", + 1, + -716251549, + "b098eb9aff1bbd375c70a0cbb9497882ab51f3abfebbf4e1f8d74c0739dc7717" + ], + [ + "030f44fc01b4a9267335a95677bd190c1c12655e64df74addc53b753641259af1a54146baa020000000152e004b56c04ba11780300000000026a53f125f001000000000251acd2cc7c03000000000763536563655363c9b9e50500000000015200000000", + "ac", + 0, + -1351818298, + "19dd32190ed2a37be22f0224a9b55b91e37290577c6c346d36d32774db0219a3" + ], + [ + "c05f448f02817740b30652c5681a3b128322f9dc97d166bd4402d39c37c0b14506d8adb5890300000003536353ffffffffa188b430357055ba291c648f951cd2f9b28a2e76353bef391b71a889ba68d5fc02000000056565526a6affffffff02745f730100000000003ec34c0400000000036aac5200000000", + "516551510053", + 0, + -267877178, + "bd1beb1f9867c22627f7c4db637ba3c73231bfc931760c2af322da90b1cf0300" + ], + [ + "163ba45703dd8c2c5a1c1f8b806afdc710a2a8fc40c0138e2d83e329e0e02a9b6c837ff6b80000000006006551516a522b48b8f134eb1a7e6f5a6fa319ce9d11b36327ba427b7d65ead3b4a6a69f85cda8bbcd22030000000563656552acffffffffdbcf4955232bd11eef0cc6954f3f6279675b2956b9bcc24f08c360894027a60201000000056500006500ffffffff04d0ce9d0200000000008380650000000000015233f360040000000002006aedcf0801000000000000000000", + "000065006500ac", + 0, + 216965323, + "853251875a6a8b3d9cdb5bcbe19256e5eefa1a56883af28e0b6e8804455ecc27" + ], + [ + "07f7f5530453a12ad0c7eb8fbc3f140c7ab6818144d67d2d8752600ca5d9a9358e2dff87d4000000000563526a526a9e599c379d455e2da36d0cde88d931a863a3e97e01e93b9edb65856f3d958dc08b92b720000000000165bbc8d66dae3b1b170a6e2457f5b161465cb8706e0e6ffc6af55deb918365f14c5f40d4890100000000a7bd77c069ee4b48638e2363fcf2a86b02bea022047bd9fcb16d2b94ad068308d19b31cb00000000046a5300529672aa8f01dbd8a205000000000663536353006a02e99901", + "ac006351006a6363", + 1, + 119789359, + "6629a1e75c6ae8f4f9d5f734246b6a71682a5ea57246040ef0584f6b97916175" + ], + [ + "fe647f950311bf8f3a4d90afd7517df306e04a344d2b2a2fea368935faf11fa6882505890d00000000045100516affffffff43c140947d9778718919c49c0535667fc6cc727f5876851cb8f7b6460710c7f60100000000ffffffffce4aa5d90d7ab93cbec2e9626a435afcf2a68dd693c15b0e1ece81a9fcbe025e0300000000ffffffff02f34806020000000002515262e54403000000000965635151ac655363636de5ce24", + "6a005100ac516351", + 2, + 989643518, + "818a7ceaf963f52b5c48a7f01681ac6653c26b63a9f491856f090d9d60f2ffe3" + ], + [ + "a1050f8604d0f9d2feefcdb5051ae0052f38e21bf39daf583fd0c3900faa3eab5d431c0bbe030000000653536a005151683d27e5c6e0da8f22125823f32d5d98477d8098ef36263b9694d61d4d85d3f2ac02b7570200000006000052005165ffffffff0cad981542bcb54a87d9400aa63e514c7c6fab7158c2b1fb37821ea755eb162a0200000000b94feb5100e5ef3bf8ed8d43356c8a8d5ac6c7e80d7ff6040f4f0aa19abbe783f4f461240200000007636500000052655686fd70042be3ad02000000000365636a15680b000000000004acac53511277c705000000000452635252d27a0102000000000000000000", + "6a6aac65655251", + 1, + -982144648, + "e5fa92d182456e8dca1545376e62e54254106cb39566ca17932652385b57177c" + ], + [ + "cef7316804c3e77fe67fc6207a1ea6ae6eb06b3bf1b3a4010a45ae5c7ad677bb8a4ebd16d90200000009ac536a5152ac5263005301ab8a0da2b3e0654d31a30264f9356ba1851c820a403be2948d35cafc7f9fe67a06960300000006526a63636a53ffffffffbada0d85465199fa4232c6e4222df790470c5b7afd54704595a48eedd7a4916b03000000076563ac006a006ab28dba4ad55e58b5375053f78b8cdf4879f723ea4068aed3dd4138766cb4d80aab0aff3d0300000003ac6a00ffffffff010f5dd6010000000003006a5100000000", + "", + 1, + 889284257, + "31729d511760f21d9f00c70018ef391ac6e9d18d9d7660e1e1e7a8c1a1d97263" + ], + [ + "7b3ff28004ba3c7590ed6e36f45453ebb3f16636fe716acb2418bb2963df596a50ed954d2e03000000055251515265ffffffff706ee16e32e22179400c9841013971645dabf63a3a6d2d5feb42f83aa468983e030000000653ac51ac5152ffffffffa03a16e5e5de65dfa848b9a64ee8bf8656cc1f96b06a15d35bd5f3d32629876e020000000043c1a3965448b3b46f0f0689f1368f3b2981208a368ec5c30defb35595ef9cf95ffd10e902000000036aac65253a5bbe042e907204000000000800006565656352634203b4020000000002656336b3b70100000000007a063f0100000000026500a233cb76", + "006551636a53ac5251", + 1, + -1144216171, + "b4fb45bad7afba3e35275336fd09b787897e280f66b630c5c5fbd4a552e75b09" + ], + [ + "d5c1b16f0248c60a3ddccf7ebd1b3f260360bbdf2230577d1c236891a1993725e262e1b6cb000000000363636affffffff0a32362cfe68d25b243a015fc9aa172ea9c6b087c9e231474bb01824fd6bd8bc030000000352516affffffff0420d9a70200000000045152656a45765d0000000000055252536a5277bad1000000000001523f3f3803000000000463acac5200000000", + "52636a5265", + 1, + 1305123906, + "978dc178ecd03d403b048213d904653979d11c51730381c96c4208e3ea24243a" + ], + [ + "1be8ee5604a9937ebecffc832155d9ba7860d0ca451eaced58ca3688945a31d93420c27c460100000005ac5300535288b65458af2f17cbbf7c5fbcdcfb334ffd84c1510d5500dc7d25a43c36679b702e850f7c0200000003005300ffffffff7c237281cb859653eb5bb0a66dbb7aeb2ac11d99ba9ed0f12c766a8ae2a2157203000000066aac526365acfffffffff09d3d6639849f442a6a52ad10a5d0e4cb1f4a6b22a98a8f442f60280c9e5be8020000000400656552ffffffff0398fe83030000000003526aacbdd6ec0100000000045352526a82c1e6040000000001652b71c40c", + "6563526353656351", + 2, + -853634888, + "d7462d6fa13f37e2720ca416f770a1574fcf53d7d048283c0cdc0671ade9811e" + ], + [ + "9e0f99c504fbca858c209c6d9371ddd78985be1ab52845db0720af9ae5e2664d352f5037d4010000000552ac53636affffffff0e0ce866bc3f5b0a49748f597c18fa47a2483b8a94cef1d7295d9a5d36d31ae7030000000663515263ac635bb5d1698325164cdd3f7f3f7831635a3588f26d47cc30bf0fefd56cd87dc4e84f162ab702000000036a6365ffffffff85c2b1a61de4bcbd1d5332d5f59f338dd5e8accbc466fd860f96eef1f54c28ec030000000165ffffffff04f5cabd010000000007000052ac526563c18f1502000000000465510051dc9157050000000008655363ac525253ac506bb600000000000765656a5363006a00000000", + "006a6a0052", + 0, + 1186324483, + "2f9b7348600336512686e7271c53015d1cb096ab1a5e0bce49acd35bceb42bc8" + ], + [ + "11ce51f90164b4b54b9278f0337d95c50d16f6828fcb641df9c7a041a2b274aa70b1250f2b00000000076a6a65006551524c9fe7f604af44be050000000005525365006521f79a0300000000015306bb4e04000000000265ac99611a05000000000665ac656500006dc866d0", + "", + 0, + -1710478768, + "e0b6dfd00056068d3cb13fab177002404b6286b12f247eec0a3ee6dcf7723a39" + ], + [ + "86bc233e02ba3c647e356558e7252481a7769491fb46e883dd547a4ce9898fc9a1ca1b77790000000003535151f0c1d09c37696d5c7c257788f5dff5583f4700687bcb7d4acfb48521dc953659e325fa390300000003acac5280f29523027225af03000000000663ac006565ac7e59d90400000000016549dac846", + "53006aac52acac", + 0, + 711159875, + "178241b9244fb157a6e49870b83dd8d2c80db05b742cc2769b2ef101cbae1094" + ], + [ + "beac155d03a853bf18cd5c490bb2a245b3b2a501a3ce5967945b0bf388fec2ba9f04c03d68030000000012fe96283aec4d3aafed8f888b0f1534bd903f9cd1af86a7e64006a2fa0d2d30711af770010000000163ffffffffd963a19d19a292104b9021c535d3e302925543fb3b5ed39fb2124ee23a9db00302000000056500ac63acffffffff01ad67f503000000000300ac5189f78db2", + "53536a636500", + 2, + 748992863, + "bde3dd0575164d7ece3b5783ce0783ffddb7df98f178fe6468683230314f285a" + ], + [ + "81dab34a039c9e225ba8ef421ec8e0e9d46b5172e892058a9ade579fe0eb239f7d9c97d45b0300000008ac65655351526363ffffffff10c0faaf7f597fc8b00bbc67c3fd4c6b70ca6b22718d15946bf6b032e62dae570000000004536a006a02cddec3acf985bbe62c96fccf17012a87026ed63fc6756fa39e286eb4c2dd79b59d37400300000002516affffffff04f18b8d030000000005535152636564411c020000000003006300e965750300000000001bd2cf02000000000365526a00000000", + "006551", + 0, + -1488174485, + "837f15a277e25f47bc2bdd17e99eed396ac3b88c740459a43a404040c237a127" + ], + [ + "489ebbf10478e260ba88c0168bd7509a651b36aaee983e400c7063da39c93bf28100011f280100000001632fc856f05f59b257a4445253e0d91b6dffe32302d520ac8e7f6f2467f7f6b4b65f2f59e903000000076353ac6351656affffffff0122d9480db6c45a2c6fd68b7bc57246edffbf6330c39ccd36aa3aa45ec108fc0300000001659a7e78a69aadd6b030b12602dff0739bbc346b466c7c0129b34f50ae1f61e634e11e9f3d0000000006516a53525100ffffffff0112710700000000000765636353536352c4dd0e2c", + "", + 0, + -293358504, + "3bb56b25b9647f37f88d5617bc931f822433ae66ce0ea000e50c26fcfa813f8a" + ], + [ + "6911195d04f449e8eade3bc49fd09b6fb4b7b7ec86529918b8593a9f6c34c2f2d301ec378b00000000016349162266af054643505b572c24ff6f8e4c920e601b23b3c42095881857d00caf56b28acd030000000565525200ac3ac4d24cb59ee8cfec0950312dcdcc14d1b360ab343e834004a5628d629642422f3c5acc02000000035100accf99b663e3c74787aba1272129a34130668a877cc6516bfb7574af9fa6d07f9b41973034000000000753515152635252ffffffff042b3c95000000000000ff92330200000000036a5252884a2402000000000853530065520063000d78be030000000005535253ac65a72cb34b", + "6a", + 2, + -637739405, + "2015e8cca32dd47a352e02604b08eb564039d9b51d85d0ec225a0bc53e47a2c6" + ], + [ + "746347cf03faa548f4c0b9d2bd96504d2e780292730f690bf0475b188493fb67ca58dcca4f0000000002005336e3521bfb94c254058e852a32fc4cf50d99f9cc7215f7c632b251922104f638aa0b9d080100000008656aac5351635251ffffffff4da22a678bb5bb3ad1a29f97f6f7e5b5de11bb80bcf2f7bb96b67b9f1ac44d09030000000165ffffffff036f02b300000000000663536aac63ac50b72a050000000001aca8abf804000000000663006a6a6353797eb999", + "acac5100", + 1, + -1484493812, + "64e32985faa16652e0aac3d180dbd96ce9e79c97c279c1398e8e2abb8eacff8a" + ], + [ + "e17149010239dd33f847bf1f57896db60e955117d8cf013e7553fae6baa9acd3d0f1412ad90200000006516500516500cb7b32a8a67d58dddfb6ceb5897e75ef1c1ff812d8cd73875856487826dec4a4e2d2422a0100000004ac525365196dbb69039229270400000000070000535351636a8b759602000000000551ac52655131e99d040000000003516551ee437f5c", + "ac656a53", + 1, + 1102662601, + "a70d0643c50979ab645417feb0e44aa258e30ac02074d62dcc07fafb38e674aa" + ], + [ + "144971940223597a2d1dec49c7d4ec557e4f4bd207428618bafa3c96c411752d494249e1fb0100000004526a5151ffffffff340a545b1080d4f7e2225ff1c9831f283a7d4ca4d3d0a29d12e07d86d6826f7f0200000003006553ffffffff03c36965000000000000dfa9af00000000000451636aac7f7d140300000000016300000000", + "", + 1, + -108117779, + "c84fcaf9d779df736a26cc3cabd04d0e61150d4d5472dd5358d6626e610be57f" + ], + [ + "b11b6752044e650b9c4744fb9c930819227d2ac4040d8c91a133080e090b042a142e93906e0000000003650053ffffffff6b9ce7e29550d3c1676b702e5e1537567354b002c8b7bb3d3535e63ad03b50ea01000000055100516300fffffffffcf7b252fea3ad5a108af3640a9bc2cd724a7a3ce22a760fba95496e88e2f2e801000000036a00ac7c58df5efba193d33d9549547f6ca839f93e14fa0e111f780c28c60cc938f785b363941b00000000076351516552ac5265e51fcd0308e9830400000000026a00ab72190300000000016a63d07100000000000400516a6300000000", + "53005165ac5165", + 0, + 229563932, + "697786b0b18e62ce643820fe413370ccf6e65c05da239adeb7ca293f2dc2d72d" + ], + [ + "2aee6b9a02172a8288e02fac654520c9dd9ab93cf514d73163701f4788b4caeeb9297d2e2503000000036363008fb36695528d7482710ea2926412f877a3b20acae31e9d3091406bfa6b62ebf9d9d2a6470100000009535165536a63520065ffffffff03f7b560050000000002ac6a9a8338050000000000206ce90000000000056552516a5100000000", + "5252", + 1, + -1102319963, + "77acca2c85f6661df917569fcf9bcf47f7182e06fd3b293ab65a9016fa6d4d50" + ], + [ + "9554595203ad5d687f34474685425c1919e3d2cd05cf2dac89d5f33cd3963e5bb43f8706480100000000ffffffff9de2539c2fe3000d59afbd376cb46cefa8bd01dbc43938ff6089b63d68acdc2b02000000096553655251536a6500fffffffff9695e4016cd4dfeb5f7dadf00968e6a409ef048f81922cec231efed4ac78f5d0100000005636a5365006caaf0070162cc6402000000000351635100000000", + "", + 0, + -1105256289, + "8d86b7118d8e329f7d51394b29481071c3a51c7679f8034c7311916fa388646a" + ], + [ + "04f51f2a0484cba53d63de1cb0efdcb222999cdf2dd9d19b3542a896ca96e23a643dfc45f00200000007acac53510063002b091fd0bfc0cfb386edf7b9e694f1927d7a3cf4e1d2ce937c1e01610313729ef6419ae7030000000165a3372a913c59b8b3da458335dc1714805c0db98992fd0d93f16a7f28c55dc747fe66a5b5030000000753516552536351ffffffff5650b318b3e236802a4e41ed9bc0a19c32b7aa3f9b2cda1178f84499963a0cde000000000165ffffffff0383954f04000000000553ac536363a8fc90030000000000a2e315000000000003ac005100000000", + "0053", + 2, + -1424653648, + "b09c5550ca8eab1d602f1bf74e30a5ff23cb391928ca665b4edc55650f6d2786" + ], + [ + "5e4fab42024a27f0544fe11abc781f46596f75086730be9d16ce948b04cc36f86db7ad50fd01000000026a00613330f4916285b5305cc2d3de6f0293946aa6362fc087727e5203e558c676b314ef8dd401000000001af590d202ba496f040000000001009e3c9604000000000351ac51943d64d3", + "51ac510052", + 1, + -129301207, + "556c3f90aa81f9b4df5b92a23399fe6432cf8fecf7bba66fd8fdb0246440036c" + ], + [ + "a115284704b88b45a5f060af429a3a8eab10b26b7c15ed421258f5320fa22f4882817d6c2b0300000003005300ffffffff4162f4d738e973e5d26991452769b2e1be4b2b5b7e8cbeab79b9cf9df2882c040000000006636aac63ac5194abc8aa22f8ddc8a7ab102a58e39671683d1891799d19bd1308d24ea6d365e571172f1e030000000700515352515153ffffffff4da7ad75ce6d8541acbb0226e9818a1784e9c97c54b7d1ff82f791df1c6578f60000000000ffffffff01b1f2650400000000080051ac656a516a5300000000", + "516352535265", + 0, + -1269106800, + "063a8b77e343f75d9b2613f7cc76fc125bba68647417cf403b15eec0e80cabac" + ], + [ + "f3f771ae02939752bfe309d6c652c0d271b7cab14107e98032f269d92b2a8c8853ab057da80100000004636a6365670c305c38f458e30a7c0ab45ee9abd9a8dc03bae1860f965ffced879cb2e5d0bb156821020000000153ffffffff025dc619050000000002ac51ec0d250100000000076a5200636a6363333aecd8", + "650053ac515100", + 1, + 1812404608, + "a7aa34bf8a5644f03c6dd8801f9b15ba2e07e07256dbf1e02dad59f0d3e17ea9" + ], + [ + "fd3e267203ae7d6d3975e738ca84f12540229bb237dd228d5f688e9d5ba53fce4302b0334d01000000026353ffffffff602a3ab75af7aa951d93093e345ef0037a2863f3f580a9b1a575fffe68e677450300000000239e476d1e8f81e8b6313880d8a49b27c1b00af467f29756e76f675f084a5676539636ab0300000006656351acac52d9217747044d773204000000000752ac51526353acc33e45050000000005516500005115d8890400000000035163510cbbbd0200000000016500000000", + "65ac526aac6a5352", + 2, + -886179388, + "8763fc77056569a497af457b5e809a453eb8da68b41c33c1df94d4a90fb88f37" + ], + [ + "f380ae23033646af5dfc186f6599098015139e961919aea28502ea2d69474413d94a555ea2000000000753635265acac5314da394b99b07733341ddba9e86022637be3b76492992fb0f58f23c915098979250a966203000000026300ffffffff4bb6d1c0a0d84eac7f770d3ad0fdc5369ae42a21bbe4c06e0b5060d5990776220300000000ffffffff0486fd70020000000007ac6500635252acf3fd72010000000005656a6a6551212de90500000000096365006a63635153000fa33100000000000600535151656300000000", + "52", + 2, + -740890152, + "f804fc4d81f039009ed1f2cccb5c91da797543f235ac71b214c20e763a6d86d7" + ], + [ + "5c45d09801bb4d8e7679d857b86b97697472d514f8b76d862460e7421e8617b15a2df217c6010000000763acac6565006affffffff01156dbc03000000000952ac63516551ac6aac00000000", + "6aac", + 0, + 1310125891, + "270445ab77258ced2e5e22a6d0d8c36ac7c30fff9beefa4b3e981867b03fa0ad" + ], + [ + "4ecc6bde030ca0f83c0ed3d4b777f94c0c88708c6c933fe1df6874f296d425cac95355c23d0000000006ac6a51536a52f286a0969d6170e20f2a8000193807f5bc556770e9d82341ef8e17b0035eace89c76edd50200000007ac65525100656affffffff5bade6e462fac1927f078d69d3a981f5b4c1e59311a38efcb9a910aa436afaa80000000006ac6a00635252ffffffff0331e58902000000000663ac53636352b8b3ca000000000001637a1d26040000000008535263ac6a5352655ae34a39", + "6a65", + 2, + 2142728517, + "303c8dd6fefd68fef70b0248077adda35feeabfbe747e6c5b93d6fc260ccef93" + ], + [ + "a59484b501eb50114be0fc79e72ab9bc9f4a5f7acdf274a56d6b68684eb68cf8b07ec5d1c20000000004650000639e09aa940141e3530200000000046500ac6500000000", + "00516565", + 0, + -1561622405, + "d60bbadd2cc0674100baa08d0e0493ee4248f0304b3eb778da942041f503a896" + ], + [ + "53dc1a88046531c7b57a35f4d9adf101d068bf8d63fbbedaf4741dba8bc5e92c8725def571030000000453655251fcdf116a226b3ec240739c4c7493800e4edfe67275234e371a227721eac43d3d9ecaf1b50300000003ac0052ffffffff2c9279ffeea4718d167e9499bd067600715c14484e373ef93ae4a31d2f5671ab0000000009516553ac636a6a65001977752eeba95a8f16b88c571a459c2f2a204e23d48cc7090e4f4cc35846ca7fc0a455ce00000000055165ac0063188143f80205972902000000000765ac63ac516353c7b6a50000000000036a510000000000", + "655351536a", + 0, + 103806788, + "b276584d3514e5b4e058167c41dc02915b9d97f6795936a51f40e894ed8508bc" + ], + [ + "53f8959f01ddb36afdcd20167edcbb75a63d18654fdcf10bc0004c761ab450fe236d79cb2702000000065151650063653435003a033a5e34050000000009ac52516a630000516ab86db3030000000002006344ac09050000000003636300f3644537", + "526363ac656353", + 0, + -218513553, + "bd6a5101606e537e04162097a0f3b41064c169e69a7b7dd8d55fa83c3c5a882d" + ], + [ + "5a06cb4602dcfc85f49b8d14513f33c48f67146f2ee44959bbca092788e6823b2719f3160b02000000003c013f2518035b9ea635f9a1c74ec1a3fb7496a160f46aae2e09bfc5cd5111a0f20969e003000000015158c89ab7049f20d6010000000007ac6a52ac53515349765e000000000002006382926301000000000353510086da09010000000006656a6365525300000000", + "526a63", + 1, + 1502936586, + "b4e5e9952c80304d55168d73865f628e2b3e5b3edc1fe2bfa1170add4648e544" + ], + [ + "ca9d84fa0129011e1bf27d7cb71819650b59fb292b053d625c6f02b0339249b498ff7fd4b601000000025352ffffffff032173a00400000000065252535152639473bb030000000009005153526a53535151d085bd0000000000076a53655165655300000000", + "005152ac51", + 0, + 580353445, + "b7cfd728f53e2aaf77008ae898df3fcd49955298a7f69a50b1532b0db98031ad" + ], + [ + "e3cdbfb4014d90ae6a4401e85f7ac717adc2c035858bf6ff48979dd399d155bce1f150daea0300000002ac51a67a0d39017f6c71040000000005535200535200000000", + "", + 0, + -1899950911, + "c1c7df8206e661d593f6455db1d61a364a249407f88e99ecad05346e495b38d7" + ], + [ + "b2b6b9ab0283d9d73eeae3d847f41439cd88279c166aa805e44f8243adeb3b09e584efb1df00000000026300ffffffff7dfe653bd67ca094f8dab51007c6adaced09de2af745e175b9714ca1f5c68d050000000003ac6500aa8e596903fd3f3204000000000553ac6a6a533a2e210500000000055253ac526392d0ee0200000000075200656352005200000000", + "65acacac65005365", + 0, + 28298553, + "3e9fab68740cb0d44d2b4aebffeb03df92b3aa1f0302b6f045071b2f34a362f8" + ], + [ + "f30c5c3d01a6edb9e10fafaf7e85db14e7fec558b9dca4a80b05d7c3a2944d282c5018f4680200000003005263ffffffff04aac3530300000000026551bc2419010000000008005163ac6a5100658e7085050000000000c5e4ec050000000006656a6a6353652d8e8882", + "ac53005251ac52", + 0, + -490287546, + "bb73343cf104b71c3b830f6099a197af9703ccf6b3bdee5608dde7821cc14a72" + ], + [ + "4314339e01de40faabcb1b970245a7f19eedbc17c507dac86cf986c2973715035cf95736ae020000000165bde67b900151510b04000000000853ac00655200535300000000", + "52", + 0, + 399070095, + "47585dc25469d04ff3a60939d0a03779e3e81a411bf0ca18b91bb925ebd30718" + ], + [ + "2d4cf4e9031b3e175b2ff18cd933151379d9cfac4713d8bd0e63b70bd4a92277aa7af901ab000000000465515353ffffffff557666c7f3be9cdecdad44c3df206eb63a2da4ed1f159d21193882a9f0340081020000000663535252ac63ffffffff8a8c897bdb87e93886aad5ded9d82a13101d5476554386373646ca5e23612e450300000007006a5265526a635ac03fc00198bb02040000000009525100526a6563636a1d052834", + "52ac00acac6a", + 0, + -1469882480, + "09ed6563a454814ab7e3b4c28d56d8751162b77df1825b37ba66c6147750b2a3" + ], + [ + "f063171b03e1830fdc1d685a30a377537363ccafdc68b42bf2e3acb908dac61ee24b37595c020000000665ac51006aacf447bc8e037b89d6cadd62d960cc442d5ced901d188867b5122b42a862929ce45e7b628d010000000153a009a1ba42b00f1490b0b857052820976c675f335491cda838fb7934d5eea0257684a2a202000000001e83cf2401a7f7770300000000076553526a53526a00000000", + "", + 2, + 1984790332, + "581d480ec4e2a459808f85e76f1242c14daba43eaff63fe305ffd1b86407faba" + ], + [ + "cf7bdc250249e22cbe23baf6b648328d31773ea0e771b3b76a48b4748d7fbd390e88a004d30000000003ac536a4ab8cce0e097136c90b2037f231b7fde2063017facd40ed4e5896da7ad00e9c71dd70ae600000000096a0063516352525365ffffffff01b71e3e00000000000300536a00000000", + "", + 1, + 546970113, + "6a815ba155270af102322c882f26d22da11c5330a751f520807936b320b9af5d" + ], + [ + "ac7a125a0269d35f5dbdab9948c48674616e7507413cd10e1acebeaf85b369cd8c88301b7c030000000863656aac6a530053ffffffffed94c39a582e1a46ce4c6bffda2ccdb16cda485f3a0d94b06206066da12aecfe01000000055263536363ef71dcfb02ee07fa0400000000016a6908c802000000000651656a6551ac688c2c2d", + "6a6351526551", + 0, + 858400684, + "f8268f4a29450b932e62c73b294f7159d69face8c0d772a874071fbe1fa7668e" + ], + [ + "3a1f454a03a4591e46cf1f7605a3a130b631bf4dfd81bd2443dc4fac1e0a224e74112884fe0000000005516aac6a53a87e78b55548601ffc941f91d75eab263aa79cd498c88c37fdf275a64feff89fc1710efe03000000016a39d7ef6f2a52c00378b4f8f8301853b61c54792c0f1c4e2cd18a08cb97a7668caa008d970200000002656affffffff017642b20100000000086a63535253ac6a6528271998", + "51", + 2, + 1459585400, + "94ebe4e031f4ab2b13a16fe952be55051aa07311b400b54c0aceab84eb17dcd1" + ], + [ + "f59366cc0114c2a18e6bd1347ed9470f2522284e9e835dd5c5f7ef243639ebea95d9b232b6020000000153474b62eb045c001705000000000763525163525200038a520400000000076a5253656a63005b968904000000000963536353ac0053635387106002000000000000000000", + "5252630051", + 0, + 1834116153, + "460fa39c72197ab17b10c1a1314f0e332045614c9b4485e94cae6084cabafced" + ], + [ + "6269e0fa0173e76e89657ca495913f1b86af5b8f1c1586bcd6c960aede9bc759718dfd5044000000000352ac530e2c7bd90219849b000000000005006a53006319f28100000000000600515165ac5200000000", + "6a", + 0, + -2039568300, + "d85c366955acbeefef093d85487bfc41a6611942a6e596154fd064b6afc8343a" + ], + [ + "eb2bc00604815b9ced1c604960d54beea4a3a74b5c0035d4a8b6bfec5d0c9108f143c0e99a0000000000ffffffff22645b6e8da5f11d90e5130fd0a0df8cf79829b2647957471d881c2372c527d8010000000263acffffffff1179dbaf17404109f706ae27ad7ba61e860346f63f0c81cb235d2b05d14f2c1003000000025300264cb23aaffdc4d6fa8ec0bb94eff3a2e50a83418a8e9473a16aaa4ef8b855625ed77ef40100000003ac51acf8414ad404dd328901000000000652526500006ab6261c000000000002526a72a4c9020000000006ac526500656586d2e7000000000006656aac00ac5279cd8908", + "51", + 1, + -399279379, + "d37532e7b2b8e7db5c7c534197600397ebcc15a750e3af07a3e2d2e4f84b024f" + ], + [ + "dc9fe6a8038b84209bbdae5d848e8c040433237f415437592907aa798bf30d9dbbddf0ff85010000000153ffffffff23269a7ea29fcf788db483b8d4c4b35669e582608644259e950ce152b0fa6e050000000001acffffffff65de94857897ae9ea3aa0b938ba6e5adf374d48469922d2b36dbb83d3b8c8261010000000452ac5200ffffffff02856e9b0300000000026a51980c8e0200000000026563d2648db4", + "000051ac526565", + 2, + 1562581941, + "19afe3555f84c947b5569ca320278734ce9a2ebd612c53ac4f253d1a4d2f3e52" + ], + [ + "eba8b0de04ac276293c272d0d3636e81400b1aaa60db5f11561480592f99e6f6fa13ad387002000000060053ac536563bebb23d66fd17d98271b182019864a90e60a54f5a615e40b643a54f8408fa8512cfac927030000000663ac6a6aac65ffffffff890a72192bc01255058314f376bab1dc72b5fea104c154a15d6faee75dfa5dba020000000100592b3559b0085387ac7575c05b29b1f35d9a2c26a0c27903cc0f43e7e6e37d5a60d8305a030000000152ffffffff0126518f05000000000000000000", + "005300635252635351", + 1, + 664344756, + "26dc2cba4bd5334e5c0b3a520b44cc1640c6b923d10e576062f1197171724097" + ], + [ + "91bd040802c92f6fe97411b159df2cd60fb9571764b001f31657f2d616964637605875c2a901000000055263006a65ffffffff3651df372645f50cf4e32fdf6e61c766e912e16335db2b40c5d52fe89eefe7cd0000000003006565ffffffff03ca862503000000000751ac6353005252c6bf140200000000040052005167d27000000000000653525351636a00000000", + "515163005252ac", + 1, + 1983087664, + "88b96f7714e48321f4d0e4956ff46cf936ee3b14996e89bc946084a9acb60dc1" + ], + [ + "185cda1a01ecf7a8a8c28466725b60431545fc7a3367ab68e34d486e8ea85ee3128e0d8384000000000365ac63ec88b7bb031c56eb04000000000965636a51005252006a7c78d5040000000006acac63ac51ac3024a40500000000076300526a51ac51464c0e8c", + "0065535265515352", + 0, + 1594558917, + "506c9f2b971f1649c8646a197afc2bfd1980ae798c02241232c6e447097e9415" + ], + [ + "a9531f07034091668b65fea8b1a79700d586ac9e2f42ca0455a26abe41f9e1805d009a0f5702000000086365516365ac52633619bac643a9e28ee47855118cf80c3a74531cdf198835d206d0fe41804e325a4f9f105e03000000016a58e3ab0d46375d98994daf0fa7c600d2bb4669e726fca0e3a3f21ea0d9e777396740328f0100000007636a5363526a538d3ea7700304cb6603000000000551516352510184030500000000085353636565ac0051d9cff402000000000451525352f0e36254", + "5353ac5365ac", + 2, + 1633101834, + "35afb21a41f5ad9544c63c29ebdd68a8cfac03ac245145ca32b753ab3a694de3" + ], + [ + "6b5ecc7903fe0ba37ea551df92a59e12bad0a3065846ba69179a8f4a741a2b4fcf679aac810200000004535263529a3d343293b99ab425e7ef8529549d84f480bcd92472bab972ea380a302128ae14dfcd0200000000025163ffffffff24636e4545cab9bf87009119b7fc3ec4d5ee9e206b90f35d1df8a563b6cd097a010000000652ac53005153c64467860406e832020000000009526300006a53ac6352ac1395010000000002ac53b117f300000000000763655351ac00651edf0203000000000751ac6353535252628ef71d", + "636a52ac526563", + 2, + -1559697626, + "4f27b1102f3f8633a693225835fbdca8681563b5c8b64bbc6e0df559caa3bbbf" + ], + [ + "92c9fb780138abc472e589d5b59489303f234acc838ca66ffcdf0164517a8679bb622a4267020000000153468e373d04de03fa020000000008ac006a52655163006af649050000000007515153006a00658ceb59030000000001ac36afa00200000000075300635151000000000000", + "6a", + 0, + 2059357502, + "6904a629cc6b1a2b724c64d95361a4621b49de81a1333a88438700cbce0bff8b" + ], + [ + "6f62138301436f33a00b84a26a0457ccbfc0f82403288b9cbae39986b34357cb2ff9b889b302000000045253655335a7ff6701bac9960400000000076552656352635200000000", + "6aac51", + 0, + 1444414211, + "65eed736c4dc78083dcdca7fe92d9a24a4390efc1abb835f88c16d702f48849a" + ], + [ + "9981143a040a88c2484ac3abe053849e72d04862120f424f373753161997dd40505dcb4783030000000700536365536565a2e10da3f4b1c1ad049d97b33f0ae0ea48c5d7c30cc8810e144ad93be97789706a5ead180100000003636a00ffffffffbdcbac84c4bcc87f03d0ad83fbe13b369d7e42ddb3aecf40870a37e814ad8bb5010000000863536a5100636a53ffffffff883609905a80e34202101544f69b58a0b4576fb7391e12a769f890eef90ffb72020000000651656352526affffffff042436600000000000035352534a9ce0010000000007636563636a53652df19d030000000003ac65acedc51700000000000000000000", + "ac6300acac", + 2, + 293672388, + "a9544ab8326a6361ccde6e11a052bff5196da8915168f22b39a05d71925e5307" + ], + [ + "a2bb630b01989bc5d643f2da4fb9b55c0cdf846ba06d1dbe372893024dbbe5b9b8a1900af802000000055265ac63aca7a68d2f04916c74010000000002ac007077f0040000000001007d4127010000000005ac516aac000f31e8030000000000571079c9", + "650051ac", + 0, + -1103627693, + "9489487125feeb56a6df08aa2aba65f204d36af8f41773a584dd0ed03fd4c06e" + ], + [ + "49f7d0b6037bba276e910ad3cd74966c7b3bc197ffbcfefd6108d6587006947e97789835ea0300000008526a52006a650053ffffffff8d7b6c07cd10f4c4010eac7946f61aff7fb5f3920bdf3467e939e58a1d4100ab03000000076aac63ac535351ffffffff8f48c3ba2d52ad67fbcdc90d8778f3c8a3894e3c35b9730562d7176b81af23c801000000025265ffffffff0301e3ef0300000000046a525353e899ac05000000000551536a65ac259bea0400000000007b739972", + "53516aacac6aac", + 1, + 955403557, + "47434a0456d729f4bcd49b17705e0501f637030c540a6ba11bf96b351ebdc2e7" + ], + [ + "58a4fed801fbd8d92db9dfcb2e26b6ff10b120204243fee954d7dcb3b4b9b53380e7bb8fb60100000003006351ffffffff02a0795b050000000006536351ac6aac2718d00200000000065151acac515354d21ba1", + "005363515351", + 0, + -1322430665, + "44b83f4912c1f88d89f746acb5cac17b353106dc34255a32fb624f679db565c8" + ], + [ + "32765a0b02e455793d9ce530e9f6a44bcbc612e893a875b5da61d822dc56d8245166c398b403000000075353ac6300006a6bdee2a78d0d0b6a5ea666eed70b9bfea99d1d612ba3878f615c4da10d4a521cba27155002000000025363ffffffff043cd42401000000000551656a53653685320100000000030000511881bc0500000000045165636a20169f010000000006ac656aac63acdb0706a8", + "65ac5353", + 0, + 1936499176, + "89f352d307c9e980e4d5b04f8c08f165ead050345cb732b934a8dcd11023fd26" + ], + [ + "17fad0d303da0d764fedf9f2887a91ea625331b28704940f41e39adf3903d8e75683ef6d46020000000151ffffffffff376eea4e880bcf0f03d33999104aafed2b3daf4907950bb06496af6b51720a020000000900636a63525253525196521684f3b08497bad2c660b00b43a6a517edc58217876eb5e478aa3b5fda0f29ee1bea00000000036aac6affffffff03dde8e2050000000007ac5365ac51516a14772e000000000004630000acbbb3600100000000045251656a50f180f0", + "0053", + 0, + -1043701251, + "dbd390e8f1bd34f78ea2ee2bcc975a94f00a94bf8a5704af9585b40f95f8aa84" + ], + [ + "236c32850300045e292c84ede2b9ab5733ba08315a2bb09ab234c4b4e8894808edbdac0d3b020000000553635363acffffffffd3f696bb31fdd18a72f3fc2bb9ae54b416a253fc37c1a0f0180b52d35bad49440100000003650053ffffffffa85c75a2406d82a93b12e555b66641c1896a4e83ae41ef1038218311e38ace060200000004006a51ac104b5e6701e2842c04000000000700630051ac000000000000", + "63ac6a516a", + 1, + -1709887524, + "02fdf4ccd26d4f2b3dc85a096d0975791ffe58590906589f6c3e004fe7e58d59" + ], + [ + "b78d5fd601345f3100af494cdf447e7d4076179f940035b0ebe8962587d4d0c9c6c9fc34ee0300000003516a6affffffff03dc5c890100000000085353ac53ac6a52534ac941040000000006ac63656a5151d4266b0100000000036aacac70731f2d", + "0053510053", + 0, + -1789071265, + "3eb5554f372e9d3a8f3bf326b1b901b68caa1f99a55009b69f83fcfadd13e520" + ], + [ + "5a2257df03554550b774e677f348939b37f8e765a212e566ce6b60b4ea8fed4c9504b7f7d10000000005536552655258b67bb931df15b041177cf9599b0604160b79e30f3d7a594e7826bae2c29700f6d8f8f40300000005515300ac6a159cf8808a41f504eb5c2e0e8a9279f3801a5b5d7bc6a70515fbf1c5edc875bb4c9ffac500000000050063510052ffffffff0422a90105000000000965006a650000516a006417d202000000000552636300524d969d0100000000035153acc4f077040000000005ac5200636500000000", + "6a52", + 1, + -1482463464, + "fe2c31bf623e4271b5c95a5b55b537adea161cdf2588778452ff6d5ac00cfd54" + ], + [ + "e0032ad601269154b3fa72d3888a3151da0aed32fb2e1a15b3ae7bee57c3ddcffff76a1321010000000100110d93ae03f5bd080100000000075263516a6551002871e60100000000046a005252eaa7530400000000026a526e325c71", + "630052", + 0, + -1857873018, + "1124ce2eef893700a2903b96908a37a0df0b979c818f0e93d4a78b138337fa56" + ], + [ + "014b2a5304d46764817aca180dca50f5ab25f2e0d5749f21bb74a2f8bf6b8b7b3fa8189cb7030000000865ac51656a51ac6360ecd91e8abc7e700a4c36c1a708a494c94bb20cbe695c408543146566ab22be43beae910300000003516300ffffffffffa48066012829629a9ec06ccd4905a05df0e2b745b966f6a269c9c8e13451fc00000000026565ffffffffc40ccadc21e65fe8a4b1e072f4994738ccaf4881ae6fede2a2844d7da4d199ab02000000045152536affffffff01b6e0540300000000035153523e063432", + "", + 0, + 1056459916, + "ec6c440ffff776852f6c49bdf50492ff9a6c8ef4fc8784a6b5a7542f4c985e9c" + ], + [ + "c4ef04c103c5dde65410fced19bf6a569549ecf01ceb0db4867db11f2a3a3eef0320c9e8e001000000075100536a53516affffffff2a0354fa5bd96f1e28835ffe30f52e19bd7d5150c687d255021a6bec03cf4cfd03000000056a006300514900c5b01d3d4ae1b97370ff1155b9dd0510e198d266c356d6168109c54c11b4c283dca00300000000ffffffff02e19e3003000000000451655351fa5c0003000000000163ef1fc64b", + "51636a51630065", + 1, + -1754709177, + "0a281172d306b6a32e166e6fb2a2cc52c505c5d60ea448e9ba7029aa0a2211e1" + ], + [ + "29083fe00398bd2bb76ceb178f22c51b49b5c029336a51357442ed1bac35b67e1ae6fdf13100000000056a6500ac51ffffffffe4ca45c9dc84fd2c9c47c7281575c2ba4bf33b0b45c7eca8a2a483f9e3ebe4b3010000000100ffffffffdf47ad2b8c263fafb1e3908158b18146357c3a6e0832f718cd464518a219d18303000000096352ac656351ac0052daddfb3b0231c36f00000000000400526a5275c7e002000000000000000000", + "ac536aac52", + 2, + 300802386, + "56a1cd52ca286e172228097197cf07d76032f4f4acca3579e2f2e999b1dd710b" + ], + [ + "1201ab5d04f89f07c0077abd009762e59db4bb0d86048383ba9e1dad2c9c2ad96ef660e6d002000000066a65ac5200652466fa5143ab13d55886b6cdc3d0f226f47ec1c3020c1c6e32602cd3428aceab544ef43e00000000086a6a6a526a6a5263ffffffffd5be0b0be13ab75001243749c839d779716f46687e2e9978bd6c9e2fe457ee480200000001651e1bac0f72005cf638f71a3df2e3bbc0fa35bf00f32d9c7dc9c39a5e8909f7d53170c8ae02000000076a51516363516affffffff02f0a6210500000000036300ac867356010000000008ac65ac6353536a659356d367", + "ac53535252", + 0, + 917543338, + "7f0248e34c12668b8355c50d21c8dbb20c217bd331d1f800b9950cadaf32375a" + ], + [ + "344fa11e01c19c4dd232c77742f0dd0aeb3695f18f76da627628741d0ee362b0ea1fb3a2180200000007635151005100529bab25af01937c1f050000000004515353656e7630af", + "6351005163ac51", + 0, + -629732125, + "9e2512e57162703e8658db721dddba7badc4561d7d673a13ad64b7b0f1e621ec" + ], + [ + "b2fda1950191358a2b855f5626a0ebc830ab625bea7480f09f9cd3b388102e35c0f303124c030000000465ac6553ffffffff03f9c5ec0400000000066551516551650e2b9f0500000000045365525284e8f6040000000001ac00000000", + "ac51655253", + 0, + 1433027632, + "f960e775db95cfa932146db23f878b7f06b0c25882d3345530dbfffaaba05edb" + ], + [ + "a4a6bbd201aa5d882957ac94f2c74d4747ae32d69fdc765add4acc2b68abd1bdb8ee333d6e0300000007516a6552515152ffffffff02c353cb040000000006ac635151536588bd320500000000066552525253ac00000000", + "", + 0, + 1702060459, + "9ec678b38b1a7a4745426e48f41d86fe63bb45b043b2b0303aac98e1eab8d3a1" + ], + [ + "584e8d6c035a6b2f9dac2791b980a485994bf38e876d9dda9b77ad156eee02fa39e19224a60300000002636529db326cc8686a339b79ab6b6e82794a18e0aabc19d9ad13f31dee9d7aad8eff38288588020000000452530052ffffffff09a41f07755c16cea1c7e193c765807d18cadddca6ec1c2ed7f5dcdca99e90e80000000001acffffffff01cba62305000000000451ac63acccdf1f67", + "536a6363", + 2, + -27393461, + "1125645b49202dca2df2d76dae51877387903a096a9d3f66b5ac80e042c95788" + ], + [ + "83a583d204d926f2ee587a83dd526cf1e25a44bb668e45370798f91a2907d184f7cddcbbc70300000006006565536a539f71d3776300dffdfa0cdd1c3784c9a1f773e34041ca400193612341a9c42df64e3f550e01000000050052515251ffffffff52dab2034ab0648553a1bb8fc4e924b2c89ed97c18dfc8a63e248b454035564b01000000015139ab54708c7d4d2c2886290f08a5221cf69592a810fd1979d7b63d35c271961e710424fd0300000005ac65ac5251ffffffff01168f7c030000000000a85e5fb0", + "6a536353656a00", + 0, + 179595345, + "5350a31ac954a0b49931239d0ecafbf34d035a537fd0c545816b8fdc355e9961" + ], + [ + "ffd35d51042f290108fcb6ea49a560ba0a6560f9181da7453a55dfdbdfe672dc800b39e7320200000006630065516a65f2166db2e3827f44457e86dddfd27a8af3a19074e216348daa0204717d61825f198ec00301000000025100ffffffffdf41807adb7dff7db9f14d95fd6dc4e65f8402c002d009a3f1ddedf6f4895fc8030000000400006a65a5a848345052f860620abd5fcd074195548ce3bd0839fa9ad8642ed80627bf43a0d47dbd010000000665006a656a53b38cdd6502a186da0500000000056500006a53527c0e010000000007536551acacac52534bd1b1", + "6a635253ac0000", + 0, + 1095082149, + "9b0ea712da894a5f42871402d7326598daa56a42834acc42176360eda79ded43" + ], + [ + "6c9a4b98013c8f1cae1b1df9f0f2de518d0c50206a0ab871603ac682155504c0e0ce946f460100000000ffffffff04e9266305000000000753535100ac6aacded39e04000000000365ac6ab93ccd010000000002515397bf3d050000000002636300000000", + "63520052ac656353", + 0, + -352633155, + "ab8a6224bf7cd47dd82e382e18440a9041dda6bd57729ffed39ddcb9ab2274ed" + ], + [ + "e01dc7f0021dc07928906b2946ca3e9ac95f14ad4026887101e2d722c26982c27dc2b59fdb0000000005ac5200516ab5a31ffadcbe74957a5a3f97d7f1475cc6423fc6dbc4f96471bd44c70cc736e7dec0d1ea020000000851636a526a52ac53ffffffff04bc2edd05000000000152528c7b02000000000952ac51526500525353324820040000000002005380c71300000000000863006500ac525252451bbb48", + "5365ac", + 0, + -552384418, + "7578c44d2ab1f5cbd8a509b56a6ea64192e76390dab45659edeb23621ce55bdb" + ], + [ + "009046a1023f266d0113556d604931374d7932b4d6a7952d08fbd9c9b87cbd83f4f4c178b4030000000452ac526346e73b438c4516c60edd5488023131f07acb5f9ea1540b3e84de92f4e3c432289781ea4900000000046500655357dfd6da02baef910100000000026a007d101703000000000700516500acac5100000000", + "6a6553ac", + 0, + -802456605, + "f8757fbb4448ca34e0cd41b997685b37238d331e70316659a9cc9087d116169d" + ], + [ + "df76ec0801a3fcf3d18862c5f686b878266dd5083f16cf655facab888b4cb3123b3ce5db7e01000000010010e7ac6a0233c83803000000000365ac51faf14a040000000004ac51655100000000", + "6353ac", + 0, + 15705861, + "e7d873aa079a19ec712b269a37d2670f60d8cb334c4f97e2e3fd10eeb8ee5f5e" + ], + [ + "828fd3e0031084051ccef9cfdd97fae4d9cc50c0dae36bd22a3ff332881f17e9756c3e288e0200000003535363961a2ccccaf0218ec6a16ba0c1d8b5e93cfd025c95b6e72bc629ec0a3f47da7a4c396dad01000000025353ffffffff19ad28747fb32b4caf7b5dbd9b2da5a264bedb6c86d3a4805cd294ae53a86ac40200000006535353516551ffffffff04a41650030000000003656a6a8331a304000000000700516365ac516a0d2a47010000000005ac516353acdebc190400000000055300636a6300000000", + "515253ac52", + 0, + 1866105980, + "c269646f2b9b1a570c1e7f718dd9ce004b73cf57a0d65ef746fb3b16a4b7d611" + ], + [ + "c4b80f850323022205b3e1582f1ed097911a81be593471a8dce93d5c3a7bded92ef6c7c1260100000002006affffffff70294d62f37c3da7c5eae5d67dce6e1b28fedd7316d03f4f48e1829f78a88ae801000000096a5200530000516351f6b7b544f7c39189d3a2106ca58ce4130605328ce7795204be592a90acd81bef517d6f170200000000ffffffff012ab8080000000000075100006365006335454c1e", + "53ac6a536aacac", + 0, + -1124103895, + "06277201504e6bf8b8c94136fad81b6e3dadacb9d4a2c21a8e10017bfa929e0e" + ], + [ + "8ab69ed50351b47b6e04ac05e12320984a63801716739ed7a940b3429c9c9fed44d3398ad40300000006536a516a52638171ef3a46a2adb8025a4884b453889bc457d63499971307a7e834b0e76eec69c943038a0300000000ffffffff566bb96f94904ed8d43d9d44a4a6301073cef2c011bf5a12a89bedbaa03e4724030000000265acb606affd01edea38050000000008515252516aacac6300000000", + "65000000006365ac53", + 0, + -1338942849, + "7912573937824058103cb921a59a7f910a854bf2682f4116a393a2045045a8c3" + ], + [ + "2484991e047f1cf3cfe38eab071f915fe86ebd45d111463b315217bf9481daf0e0d10902a402000000006e71a424eb1347ffa638363604c0d5eccbc90447ff371e000bf52fc743ec832851bb564a0100000000ffffffffef7d014fad3ae7927948edbbb3afe247c1bcbe7c4c8f5d6cf97c799696412612020000000851536a5353006a001dfee0d7a0dd46ada63b925709e141863f7338f34f7aebde85d39268ae21b77c3068c01d000000000753515100636563ffffffff018478070200000000085200635365ac525341b08cd3", + "", + 3, + 265623923, + "b733d44ed509d9eb51f93197cfd3cf20301b2aef237ccf3deba781c98fc500f7" + ], + [ + "54839ef9026f65db30fc9cfcb71f5f84d7bb3c48731ab9d63351a1b3c7bc1e7da22bbd508e0300000000442ad138f170e446d427d1f64040016032f36d8325c3b2f7a4078766bdd8fb106e52e8d20000000003656500ffffffff02219aa101000000000551ac5200659646bd02000000000452acacac24c394a5", + "ac", + 0, + 906807497, + "0106127dd7901786b645a7feaaa2e49d9bfed8da4afd514475fc7ac5a42420b4" + ], + [ + "5036d7080434eb4eef93efda86b9131b0b4c6a0c421e1e5feb099a28ff9dd8477728639f77030000000751516a5351525391429be9cce85d9f3d358c5605cf8c3666f034af42740e94d495e28b9aaa1001ba0c8758030000000600655200006affffffffd838978e10c0c78f1cd0a0830d6815f38cdcc631408649c32a25170099669daa0000000001ac8984227e804ad268b5b367285edcdf102d382d027789250a2c0641892b480c21bf84e3fb0100000000b518041e023d8653010000000001004040fb0100000000080051ac5200636a6300000000", + "52ac", + 0, + 366357656, + "bd0e88829afa6bdc1e192bb8b2d9d14db69298a4d81d464cbd34df0302c634c6" + ], + [ + "9ad5ccf503fa4facf6a27b538bc910cce83c118d6dfd82f3fb1b8ae364a1aff4dcefabd38f03000000096365655263ac655300807c48130c5937190a996105a69a8eba585e0bd32fadfc57d24029cbed6446d30ebc1f100100000004000053650f0ccfca1356768df7f9210cbf078a53c72e0712736d9a7a238e0115faac0ca383f219d0010000000500536552002799982b0221b8280000000000000c41320000000000086552ac6365636a6595f233a3", + "6a5152", + 2, + 553208588, + "f99c29a79f1d73d2a69c59abbb5798e987639e36d4c44125d8dc78a94ddcfb13" + ], + [ + "669538a204047214ce058aed6a07ca5ad4866c821c41ac1642c7d63ed0054f84677077a84f030000000653ac6a655353ffffffff70c2a071c115282924e3cb678b13800c1d29b6a028b3c989a598c491bc7c76c5030000000752ac52ac5163ac80420e8a6e43d39af0163271580df6b936237f15de998e9589ec39fe717553d415ac02a4030000000463635153184ad8a5a4e69a8969f71288c331aff3c2b7d1b677d2ebafad47234840454b624bf7ac1d03000000036a6363df38c24a02fbc63a040000000001535ec3dc050000000002536500000000", + "635153", + 3, + -190399351, + "663677df67bf45f3358c34fb5296274117ea392c021e6ecd6916d7c2158e19c8" + ], + [ + "a7f139e502af5894be88158853b7cbea49ba08417fbbca876ca6614b5a41432be34499987b000000000665635165ac63ffffffff8b8d70e96c7f54eb70da0229b548ced438e1ca2ba5ddd648a027f72277ee1efc0100000000ffffffff044f2c4204000000000165e93f550100000000050000526a6a94550304000000000365536aadc21c0300000000016300000000", + "6aacac63635265ac", + 1, + 2143189425, + "6e3f97955490d93d6a107c18d7fe402f1cada79993bb0ff0d096357261b3a724" + ], + [ + "3b94438f0366f9f53579a9989b86a95d134256ce271da63ca7cd16f7dd5e4bffa17d35133f010000000100ffffffff1aaad0c721e06ec00d07e61a84fb6dc840b9a968002ce7e142f943f06fd143a10100000007535151ac510053b68b8e9c672daf66041332163e04db3f6048534bd718e1940b3fc3811c4eef5b7a56888b01000000001d58e38c012e38e70000000000075253ac6365536a00000000", + "655352", + 1, + -935223304, + "8b289a2649047eecc49da07c69351f67d5b87d60fd1e5f74cdd525833fbcac9b" + ], + [ + "e5dca8a20456de0a67e185fa6ea94085ceae478d2c15c73cb931a500db3a1b6735dd1649ec0200000002536a32d11bbdcb81361202681df06a6b824b12b5cb40bb1a672cf9af8f2a836e4d95b783932703000000065100536565acb345085932939eef0c724adef8a57f9e1bf5813852d957c039b6a12d9c2f201ea520fb030000000009ac5352005165acac6a5efc6072f1a421dc7dc714fc6368f6d763a5d76d0278b95fc0503b9268ccfadb48213a2500000000026a53ffffffff039ee1c4020000000008ac53536353535163184018000000000005655265526a9a4a8a050000000001ac00000000", + "65536a006553", + 2, + 1902561212, + "83bcf3f2ddb147f75759a0f2a3a80f2ee1b01b7efc25ba83b9802fbd1c3dfa41" + ], + [ + "972128b904e7b673517e96e98d80c0c8ceceae76e2f5c126d63da77ffd7893fb53308bb2da0300000005ac655252acffffffff4cac767c797d297c079a93d06dc8569f016b4bf7a7d79b605c526e1d36a40e2202000000085365636aac6a6a6a69928d2eddc836133a690cfb72ec2d3115bf50fb3b0d10708fa5d2ebb09b4810c426a1db01000000060052526300001e8e89585da7e77b2dd2e30625887f0660accdf29e53a614d23cf698e6fc8ab03310e87700000000076a520051acac6555231ddb0330ec2d03000000000100faf4570400000000036a6352bdc42400000000000153d6dd2f04", + "", + 0, + 209234698, + "d252eddb74ce116ac306969573d49f4318ea7ad6acd54299a64fc40fb34c0764" + ], + [ + "1fb4085b022c6cfb848f8af7ba3ba8d21bd23ffa9f0bfd181cb68bcaaf2074e66d4974a31602000000080000006a6a6500ac6c12c07d9f3dbd2d93295c3a49e3757119767097e7fd5371f7d1ba9ba32f1a67a5a426f00000000000ffffffff018fd2fc04000000000363ac5100000000", + "65006a6a526a", + 0, + 1431502299, + "8b7dd0ff12ca0d8f4dbf9abf0abba00e897c2f6fd3b92c79f5f6a534e0b33b32" + ], + [ + "5374f0c603d727f63006078bd6c3dce48bd5d0a4b6ea00a47e5832292d86af258ea0825c260000000009655353636352526a6af2221067297d42a9f8933dfe07f61a574048ff9d3a44a3535cd8eb7de79fb7c45b6f47320200000003ac006affffffff153d917c447d367e75693c5591e0abf4c94bbdd88a98ab8ad7f75bfe69a08c470200000005ac65516365ffffffff037b5b7b000000000001515dc4d904000000000004bb26010000000004536a6aac00000000", + "516552516352ac", + 2, + 328538756, + "8bb7a0129eaf4b8fc23e911c531b9b7637a21ab11a246352c6c053ff6e93fcb6" + ], + [ + "c441132102cc82101b6f31c1025066ab089f28108c95f18fa67db179610247086350c163bd01000000055152526300ffffffff9b8d56b1f16746f075249b215bdb3516cbbe190fef6292c75b1ad8a8988897c3000000000451655300ffffffff02f9078b0000000000070053ac51ac0051c0422105000000000651006563525200000000", + "ac51", + 0, + -197051790, + "0d675c36ed969b27c390235835a12d6ff040f6d3d9acd6f1e508d4e5d93dc403" + ], + [ + "ab82ad3b04545bd86b3bb937eb1af304d3ef1a6d1343ed809b4346cafb79b7297c09e1648202000000086351ac5200535353ffffffff95d32795bbaaf5977a81c2128a9ec0b3c7551b9b1c3d952876fcb423b2dfb9e80000000005515363acac47a7d050ec1a603627ce6cd606b3af314fa7964abcc579d92e19c7aba00cf6c3090d6d4601000000056a516551633e794768bfe39277ebc0db18b5afb5f0c8117dde9b4dfd5697e9027210eca76a9be20d630000000006005200636aacffffffff01ec2ddc050000000008ac52ac65ac65ac5100000000", + "536300", + 1, + -2070209841, + "b362da5634f20be7267de78b545d81773d711b82fe9310f23cd0414a8280801d" + ], + [ + "8bff9d170419fa6d556c65fa227a185fe066efc1decf8a1c490bc5cbb9f742d68da2ab7f320100000006000053525365a7a43a80ab9593b9e8b6130a7849603b14b5c9397a190008d89d362250c3a2257504eb810200000005acacac0051ee141be418f003e75b127fd3883dbf4e8c3f6cd05ca4afcaac52edd25dd3027ae70a62a00000000008ac52526a5200536affffffffb8058f4e1d7f220a1d1fa17e96d81dfb9a304a2de4e004250c9a576963a586ae0300000004acac5363b9bc856c039c01d804000000000951656aac53005365acb0724e0000000000036563acea7c7a0000000000036a00ac00000000", + "6565", + 1, + -1349282084, + "91e30f9537e6db6647dc14005471ad52c72a408898ce94a20e7335b59d6efddd" + ], + [ + "0e1633b4041c50f656e882a53fde964e7f0c853b0ada0964fc89ae124a2b7ffc5bc97ea6230100000005ac6aacacacffffffff2e35f4dfcad2d53ea1c8ada8041d13ea6c65880860d96a14835b025f76b1fbd9000000000351515121270867ef6bf63a91adbaf790a43465c61a096acc5a776b8e5215d4e5cd1492e611f761000000000500ac6a5265ffffffff63b5fc39bcac83ca80ac36124abafc5caee608f9f63a12479b68473bd4bae769000000000865ac52acac5263acffffffff0163153e02000000000600516565515300000000", + "6a6aac00", + 0, + -968477862, + "2895286e20c64b3f440f63f31e23c495e96ceeac48e54d858bf6522c07c3cdd2" + ], + [ + "2b052c24022369e956a8d318e38780ef73b487ba6a8f674a56bdb80a9a63634c6110fb5154010000000251acffffffff48fe138fb7fdaa014d67044bc05940f4127e70c113c6744fbd13f8d51d45143e01000000005710db3804e01aa9030000000007acac6a516a5152fd55aa01000000000651510000ac636d6026010000000000b97da9000000000000fddf3b53", + "006552", + 0, + 595461670, + "bdc139efefac1cea236855c47152424e47b89f7dd79717962da1c8b9009c79fa" + ], + [ + "073bc856015245f03b2ea2da62ccedc44ecb99e4250c7042f596bcb23b294c9dc92cfceb6b0200000005516352636afe292fb303b7c3f001000000000352636af3c49502000000000400ac6a535851850100000000056aac65536500000000", + "6a53006a52", + 0, + 247114317, + "6d047c82c51fe13a363ebfa6be10eeaaff3d6fe6209fd092b2b56255fc38f9da" + ], + [ + "7888b71403f6d522e414d4ca2e12786247acf3e78f1918f6d727d081a79813d129ee8befce0100000006516a63536365ffffffff4a882791bf6400fda7a8209fb2c83c6eef51831bdf0f5dacde648859090797ec030000000153ffffffffbb08957d59fa15303b681bad19ccf670d7d913697a2f4f51584bf85fcf91f1f30200000008526565ac52ac63acffffffff0227c0e8050000000001ac361dc801000000000600515165000000000000", + "656a", + 2, + 1869281295, + "9533d9296a82da8c657d102b3d6dc63b721f7833d74f2b15ef727348e3f8165a" + ], + [ + "cc4dda57047bd0ca6806243a6a4b108f7ced43d8042a1acaa28083c9160911cf47eab910c40200000006526a00006a63e4154e581fcf52567836c9a455e8b41b162a78c85906ccc1c2b2b300b4c69caaaa2ba02303000000065152ac510065ffffffff69696b523ed4bd41ecd4d65b4af73c9cf77edf0e066138712a8e60a04614ea1c03000000036a000016c9045c7df7836e05ac4b2e397e2dd72a5708f4a8bf6d2bc36adc5af3cacefcf074b8b403000000065352ac5252acffffffff01d7e380050000000000cf4e699a", + "525163656351", + 1, + -776533694, + "ff18c5bffd086e00917c2234f880034d24e7ea2d1e1933a28973d134ca9e35d2" + ], + [ + "b7877f82019c832707a60cf14fba44cfa254d787501fdd676bd58c744f6e951dbba0b3b77f0200000009ac515263ac53525300a5a36e500148f89c0500000000075265ac6a6a65ac00000000", + "6563", + 0, + -1785108415, + "5f1917641e3c3a887026c455b25fc2ee58b1f01d79dec20b4f763cc6e9d9f7e3" + ], + [ + "aeb14046045a28cc59f244c2347134d3434faaf980961019a084f7547218785a2bd03916f3000000000165f852e6104304955bda5fa0b75826ee176211acc4a78209816bbb4419feff984377b2352200000000003a94a5032df1e0d60390715b4b188c330e4bb7b995f07cdef11ced9d17ee0f60bb7ffc8e0100000002516513e343a5c1dc1c80cd4561e9dddad22391a2dbf9c8d2b6048e519343ca1925a9c6f0800a020000000665516365ac513180144a0290db270000000000046551515138b1870100000000055363ac516a9e5cd98a", + "53ac", + 0, + 478591320, + "4a2ffc462c302c55bb020ea074fb1064b574bff3d9bc9742807b68055c0d97e5" + ], + [ + "c9270fe004c7911b791a00999d108ce42f9f1b19ec59143f7b7b04a67400888808487bd59103000000066a0052ac6565b905e76687be2dd7723b22c5e8269bc0f2000a332a289cfc40bc0d617cfe3214a61a85a30300000007ac63ac00635251560871209f21eb0268f175b8b4a06edd0b04162a974cf8b5dada43e499a1f22380d35ede0300000000792213fc58b6342cc8100079f9f5f046fb89f2d92cf0a2cb6d07304d32d9da858757037c000000000651636565516affffffff02c72a8b03000000000452acac530dfb9f05000000000096f94307", + "5253536351", + 3, + 543688436, + "0278adbcc476d135493ae9bdcd7b3c2002df17f2d81c17d631c50c73e546c264" + ], + [ + "57a5a04c0278c8c8e243d2df4bb716f81d41ac41e2df153e7096f5682380c4f441888d9d260300000002636afdbe4203525dff42a7b1e628fe22bccaa5edbb34d8ab02faff198e085580ea5fcdb0c61b0000000002ac6affffffff03375e6c05000000000563516a6a513cb6260400000000007ca328020000000005516a636a5294701cc7", + "0053ac5152", + 0, + -550925626, + "45485ce2e926bf8ee366ac0b0903540562ac05f3c5cdc881baf9dce1e142d1e7" + ], + [ + "072b75a504ad2550c2e9a02614bc9b2a2f50b5b553af7b87c0ef07c64ddc8d8934c96d216401000000026aaca1387242a5bcd21099b016ad6045bed7dce603472757d9822cc5f602caa4ae20414d378b02000000026a63e4ac816734acdc969538d6f70b8ab43a2589f55e0177a4dc471bdd0eb61d59f0f46f6bb801000000055351526a52d9f2977be76a492c3a7617b7a16dc29a3b0a7618f328c2f7d4fd9bafe760dc427a5066ef000000000465635165ffffffff02c5793600000000000165296820050000000002ac6300000000", + "53006a6aac0052", + 2, + 66084636, + "437e89bb6f70fd2ed2feef33350b6f6483b891305e574da03e580b3efd81ae13" + ], + [ + "7e27c42d0279c1a05eeb9b9faedcc9be0cab6303bde351a19e5cbb26dd0d594b9d74f40d2b020000000200518c8689a08a01e862d5c4dcb294a2331912ff11c13785be7dce3092f154a005624970f84e0200000000500cf5a601e74c1f0000000000066a52636a6a5200000000", + "6500006a5351", + 0, + 449533391, + "c31419c6afa744a7c065dd62e90f1e96c6cbcceb7304c559fed7d81909679d26" + ], + [ + "11414de403d7f6c0135a9df01cb108c1359b8d4e105be50a3dcba5e6be595c8817217490b20000000003005263ffffffff0c6becb9c3ad301c8dcd92f5cbc07c8bed7973573806d1489316fc77a829da03030000000700005253535352ffffffff2346d74ff9e12e5111aa8779a2025981850d4bf788a48de72baa2e321e4bc9ca00000000046352ac63cc585b64045e03850500000000075253516aacac00efa9cf0300000000065200635151acbe80330400000000060063635100000be159050000000007525300655300ac00000000", + "51656a0051", + 0, + 683137826, + "d4737f3b58f3e5081b35f36f91acde89dda00a6a09d447e516b523e7a99264d5" + ], + [ + "1c6b5f29033fc139338658237a42456123727c8430019ca25bd71c6168a9e35a2bf54538d80100000008536aac52ac6a6a52ffffffff3fb36be74036ff0c940a0247c451d923c65f826793d0ac2bb3f01ecbec80332901000000050000516363ffffffff5d9eca0cf711685105bd060bf7a67321eaef95367acffab36ce8dedddd632ee2000000000652ac6a63ac517167319e032d26de040000000003516363dc38fb010000000000b37b00000000000005520051ac534baba51f", + "636300ac6563", + 0, + -2049129935, + "a8ed152739f1c8ac0c96f2c2f7ef5f4bbf4a5a6e6c0ee26a915bebfc385ab27d" + ], + [ + "978b9dad0214cfc7ce392d74d9dcc507350dc34007d72e4125861c63071ebf2cc0a6fd4856020000000551ac6a6a52ffffffff47f20734e3370e733f87a6edab95a7a268ae44db7a8974e255614836b22938720200000008635265ac51516553ffffffff0137b2560100000000035252ac2f3363e9", + "006a6352", + 1, + 2014249801, + "55611a5fb1483bce4c14c33ed15198130e788b72cd8929b2ceef4dd68b1806bf" + ], + [ + "442f1c8703ab39876153c241ab3d69f432ba6db4732bea5002be45c8ca10c3a2356fe0e9590300000001accb2b679cab7c58a660cb6d4b3452c21cd7251a1b77a52c300f655f5baeb6fa27ff5b79880300000003005252e5ccf55712bc8ed6179f6726f8a78f3018a7a0391594b7e286ef5ee99efdcde302a102cc0200000009006352526351536a63ffffffff04443f63030000000005536a6363651405fb020000000008ac5353515253006a9f172b000000000003535263ad5c50050000000007656a65630000ac00000000", + "65636a006552", + 2, + 2125838294, + "ec3f58de85a13baae2760020b1776676b18432d43792b3e5ebd8eb43a97994d0" + ], + [ + "2b3470dd028083910117f86614cdcfb459ee56d876572510be4df24c72e8f58c70d5f5948b03000000056a65635265da2c3aac9d42c9baafd4b655c2f3efc181784d8cba5418e053482132ee798408ba43ccf90300000000ffffffff047dda4703000000000765516a52ac53009384a603000000000551636a636a8cf57a030000000002526a8cf6a405000000000952636a6a6565525100661e09cb", + "ac520063ac6a6a52", + 1, + 1405647183, + "5694adec37b52c6562305644b7790c0115e48f8297e0c60b80656b95513b8da3" + ], + [ + "d74282b501be95d3c19a5d9da3d49c8a88a7049c573f3788f2c42fc6fa594f59715560b9b00000000009655353525265ac52ac9772121f028f8303030000000003510065af5f47040000000007ac516a6551630000000000", + "ac53006363ac", + 0, + -1113209770, + "2f482b97178f17286f693796a756f4d7bd2dfcdbecd4142528eec1c7a3e5101a" + ], + [ + "3a5644a9010f199f253f858d65782d3caec0ac64c3262b56893022b9796086275c9d4d097b02000000009d168f7603a67b30050000000007ac51536a0053acd9d88a0500000000066553635352633cf1f403000000000352ac6a00000000", + "005363536565acac6a", + 0, + -1383947195, + "a72af2143af372e06cd7b13b85558a98ffbd937894d99247b6b8aba11a773e4b" + ], + [ + "67b3cc43049d13007485a8133b90d94648bcf30e83ba174f5486ab42c9107c69c5530c5e1f0000000003005100ffffffff9870ebb65c14263282ea8d41e4f4f40df16b565c2cf86f1d22a9494cad03a67f01000000016a5a121bee5e359da548e808ae1ad6dfccae7c67cbb8898d811638a1f455a671e822f228ef030000000151c1fcc9f9825f27c0dde27ea709da62a80a2ff9f6b1b86a5874c50d6c37d39ae31fb6c8a0030000000163553b8786020ca74a000000000005656351535275c0760000000000020052e659b05d", + "636a6a6a", + 0, + -342795451, + "28524792262542aff915fcbdc306ca1fff8b5d9ea54103eb4693f85a6c779fa0" + ], + [ + "bda1ff6804a3c228b7a12799a4c20917301dd501c67847d35da497533a606701ad31bf9d5e0300000001ac16a6c5d03cf516cd7364e4cbbf5aeccd62f8fd03cb6675883a0636a7daeb650423cb1291010000000500656553ac4a63c30b6a835606909c9efbae1b2597e9db020c5ecfc0642da6dc583fba4e84167539a8020000000865525353515200acffffffff990807720a5803c305b7da08a9f24b92abe343c42ac9e917a84e1f335aad785d00000000026a52ffffffff04981f200300000000008c762200000000000153690b9605000000000151ce88b301000000000753526a6a51006500000000", + "000052ac52530000", + 1, + -1809193140, + "0396ec42c37e898cb246dcdff66e2a2acfb3640b7a2dd1f603eb786ef59f5bee" + ], + [ + "2ead28ff0243b3ab285e5d1067f0ec8724224402b21b9cef9be962a8b0d153d401be99bbee0000000004ac635153ffffffff6985987b7c1360c9fa8406dd6e0a61141709f0d5195f946da55ed83be4e3895301000000020053ffffffff016503d20500000000085251ac6a65656a6a00000000", + "51", + 1, + 1723793403, + "67483ee62516be17a2431a163e96fd88a08ff2ce8634a52e42c1bc04e30f3f8a" + ], + [ + "db4904e6026b6dd8d898f278c6428a176410d1ffbde75a4fa37cda12263108ccd4ca6137440100000007656a0000515263ffffffff1db7d5005c1c40da0ed17b74cf6b2a6ee2c33c9e0bacda76c0da2017dcac2fc702000000026a53ffffffff0454cf2103000000000153463aef0000000000076a63006552636387e0ed050000000000e8d16f05000000000352ac63e4521b22", + "", + 1, + 1027042424, + "12b7f4dd4ac7ae8a65cc28f353305763122f1f2957ea73446fff00ef6c2d3723" + ], + [ + "dca31ad10461ead74751e83d9a81dcee08db778d3d79ad9a6d079cfdb93919ac1b0b6187110200000007650052536551ac7f7e9aed78e1ef8d213d40a1c50145403d196019985c837ffe83836222fe3e5955e177e70100000006525152525300ffffffff5e98482883cc08a6fe946f674cca479822f0576a43bf4113de9cbf414ca628060100000006ac53516a5253ffffffff07490b0b898198ec16c23b75d606e14fa16aa3107ef9818594f72d5776805ec502000000036a0052ffffffff01932a28030000000007656551ac6a516a2687aa06", + "635300ac", + 2, + -1880362326, + "71d1c5106f3fc844c32f5d75a48b99253efbdf8ef7c08c4ee15335e4aee3ec9d" + ], + [ + "e14e1a9f0442ab44dfc5f6d945ad1ff8a376bc966aad5515421e96ddbe49e529614995cafc03000000055165515165fffffffff97582b8290e5a5cfeb2b0f018882dbe1b43f60b7f45e4dd21dbd3a8b0cfca3b0200000000daa267726fe075db282d694b9fee7d6216d17a8c1f00b2229085495c5dc5b260c8f8cd5d000000000363ac6affffffffaab083d22d0465471c896a438c6ac3abf4d383ae79420617a8e0ba8b9baa872b010000000763526563ac5363d948b5ce022113440200000000076a636552006a53229017040000000000e6f62ac8", + "526353636a65", + 3, + -485265025, + "1bc8ad76f9b7c366c5d052dc479d6a8a2015566d3a42e93ab12f727692c89d65" + ], + [ + "720d4693025ca3d347360e219e9bc746ef8f7bc88e8795162e5e2f0b0fc99dc17116fc937100000000046353520045cb1fd79824a100d30b6946eab9b219daea2b0cdca6c86367c0c36af98f19ac64f3575002000000008a1c881003ed16f3050000000007536a63630000ac45e0e704000000000151f6551a0500000000076353656551536300000000", + "65536a6a510000", + 1, + 1249091393, + "107b7fea2a89f1716c836489cb9b794cc56b5003888e650069f0ab919f8bff2c" + ], + [ + "69df842a04c1410bfca10896467ce664cfa31c681a5dac10106b34d4b9d4d6d0dc1eac01c1000000000551536a5165269835ca4ad7268667b16d0a2df154ec81e304290d5ed69e0069b43f8c89e673328005e200000000066a5153006aacffffffffc9314bd80b176488f3d634360fcba90c3a659e74a52e100ac91d3897072e3509010000000665ac51636363ffffffff0e0768b13f10f0fbd2fa3f68e4b4841809b3b5ba0e53987c3aaffcf09eee12bf0300000008ac535263526a53ac514f4c2402da8fab0400000000001ef15201000000000451526a52d0ec9aca", + "525365ac52", + 1, + 313967049, + "a72a760b361af41832d2c667c7488dc9702091918d11e344afc234a4aea3ec44" + ], + [ + "adf2340d03af5c589cb5d28c06635ac07dd0757b884d4777ba85a6a7c410408ad5efa8b1900100000003510000ffffffff808dc0231c96e6667c04786865727013922bcb7db20739b686f0c17f5ba70e8f0300000000fd2332a654b580881a5e2bfec8313f5aa878ae94312f37441bf2d226e7fc953dcf0c77ab000000000163aa73dc580412f8c2050000000005636aacac63da02d502000000000153e74b52020000000001536b293d030000000006636552ac526500000000", + "00005252", + 0, + -568651175, + "2ba54d0067af47a7e8902abf4ee382268e78e5ca424047817f408c394b3e8bca" + ], + [ + "e4fec9f10378a95199c1dd23c6228732c9de0d7997bf1c83918a5cfd36012476c0c3cba24002000000085165536500ac0000ad08ab93fb49d77d12a7ccdbb596bc5110876451b53a79fdce43104ff1c316ad63501de801000000036a635276af9908463444aeecd32516a04dd5803e02680ed7f16307242a794024d93287595250f4000000000089807279041a82e603000000000200521429100200000000055253636a63f20b940400000000004049ed04000000000300526543dfaf7d", + "6563526aac", + 2, + -1923470368, + "a946cd4885bc5e6160ee87e8ab443327ad43ee02ae095859248ababe0c449b4e" + ], + [ + "4000d3600100b7a3ff5b41ec8d6ccdc8b2775ad034765bad505192f05d1f55d2bc39d0cbe101000000065165ac6a5163ffffffff034949150100000000026a6a92c9f600000000000565536a635200e697040000000007636a5353525365237ae7d2", + "52000063", + 0, + -880046683, + "6174e28e376d36e5cac48ffc38e90f0c425519eb39032142fc7a57baf11c89eb" + ], + [ + "eabc0aa701fe489c0e4e6222d72b52f083166b49d63ad1410fb98caed027b6a71c02ab830c0300000006525363530065ffffffff01a5dc0b05000000000253533e820177", + "", + 0, + 954499283, + "1d849b92eedb9bf26bd4ced52ce9cb0595164295b0526842ab1096001fcd31b1" + ], + [ + "d48d55d304aad0139783b44789a771539d052db565379f668def5084daba0dfd348f7dcf6b00000000006826f59e5ffba0dd0ccbac89c1e2d69a346531d7f995dea2ca6d7e6d9225d81aec257c6003000000096a655200ac656552acffffffffa188ffbd5365cae844c8e0dea6213c4d1b2407274ae287b769ab0bf293e049eb0300000004ac6a6a51ad1c407c5b116ca8f65ed496b476183f85f072c5f8a0193a4273e2015b1cc288bf03e9e2030000000152ffffffff04076f4404000000000465535353be6500050000000003ac65ac3c15040500000000085100536353516a52ed3aba04000000000700ac5353636aac00000000", + "5253526563acac", + 2, + -1506108646, + "569e37ae36eff78c39b021a8d2c862ac190488703f4981614d880d4bf19b5544" + ], + [ + "9746f45b039bfe723258fdb6be77eb85917af808211eb9d43b15475ee0b01253d33fc3bfc502000000065163006a655312b12562dc9c54e11299210266428632a7d0ee31d04dfc7375dcad2da6e9c11947ced0e000000000009074095a5ac4df057554566dd04740c61490e1d3826000ad9d8f777a93373c8dddc4918a00000000025351ffffffff01287564030000000003636a0000000000", + "52", + 2, + -1380411075, + "e091b57aa044402b515b958aa22a05304df52818ce469f15f592c0a6ebbb9d02" + ], + [ + "8731b64903d735ba16da64af537eaf487b57d73977f390baac57c7b567cb2770dfa2ef65870100000001635aedd990c42645482340eacb0bfa4a0a9e888057389c728b5b6a8691cdeb1a6a67b45e140200000008ac53526a52516551ffffffff45c4f567c47b8d999916fd49642cbc5d10d43c304b99e32d044d35091679cb860100000003006a51ffffffff0176d6c200000000000000000000", + "6a6553", + 2, + -1221546710, + "ccfdba36d9445f4451fb7cbf0752cc89c23d4fc6fff0f3930d20e116f9db0b95" + ], + [ + "f5cfc52f016209ab1385e890c2865a74e93076595d1ca77cbe8fbf2022a2f2061a90fb0f3e010000000253acffffffff027de73f0200000000085252ac510052acac49cd6a020000000000e6c2cb56", + "51655253530063", + 0, + -1195302704, + "5532717402a2da01a1da912d824964024185ca7e8d4ad1748659dc393a14182b" + ], + [ + "df0a32ae01c4672fd1abd0b2623aae0a1a8256028df57e532f9a472d1a9ceb194267b6ee190200000009536a6a51516a525251b545f9e803469a2302000000000465526500810631040000000000441f5b050000000006530051006aaceb183c76", + "536a635252ac6a", + 0, + 1601138113, + "9a0435996cc58bdba09643927fe48c1fc908d491a050abbef8daec87f323c58f" + ], + [ + "d102d10c028b9c721abb259fe70bc68962f6cae384dabd77477c59cbeb1fb26266e091ba3e0100000002516affffffffe8d7305a74f43e30c772109849f4cd6fb867c7216e6d92e27605e69a0818899700000000026a65ecf82d58027db4620500000000026552c28ed301000000000000000000", + "0051515365", + 1, + -131815460, + "e719bbfc9df2b77cb1303161106fc13b6b0709fc82a067b715ebe1cf7d47d75b" + ], + [ + "cef930ed01c36fcb1d62ceef931bef57098f27a77a4299904cc0cbb44504802d535fb11557010000000153ffffffff02c8657403000000000863ac655253520063d593380400000000036a536a00000000", + "656a0051636553", + 0, + -351313308, + "8d15e39940afbecf3c96d8b8ebf3b7075fb69615a4669edb282be97b3b27108c" + ], + [ + "b1c0b71804dff30812b92eefb533ac77c4b9fdb9ab2f77120a76128d7da43ad70c20bbfb990200000002536392693e6001bc59411aebf15a3dc62a6566ec71a302141b0c730a3ecc8de5d76538b30f55010000000665535252ac514b740c6271fb9fe69fdf82bf98b459a7faa8a3b62f3af34943ad55df4881e0d93d3ce0ac0200000000c4158866eb9fb73da252102d1e64a3ce611b52e873533be43e6883137d0aaa0f63966f060000000000ffffffff04a605b604000000000851006a656a630052f49a0300000000000252515a94e1050000000005ac65005200fd8dd002000000000651535163526a2566852d", + "ac5363", + 0, + -1718831517, + "b0dc030661783dd9939e4bf1a6dfcba809da2017e1b315a6312e5942d714cf05" + ], + [ + "6a270ee404ebc8d137cfd4bb6b92aa3702213a3139a579c1fc6f56fbc7edd9574ef17b13f3010000000500656565acffffffffaa65b1ab6c6d87260d9e27a472edceb7dd212483e72d90f08857abf1dbfd46d10100000000fffffffff93c4c9c84c4dbbe8a912b99a2830cfe3401aebc919041de063d660e585fc9f002000000076aac52ac6a53acfa6dcef3f28355a8d98eee53839455445eeee83eecd2c854e784efa53cee699dbfecaebd01000000026a51ffffffff04f7d71b050000000009ac6a536aac6a6365513c376505000000000452656a53fa742002000000000039ed82030000000007516aac635165512fdabd17", + "535252526563", + 1, + -1326210506, + "6395a22dd3378726fa2b92402bdae26f15e9dc41b2b38c39ba1c7e79fbfa4438" + ], + [ + "3657e4260304ccdc19936e47bdf058d36167ee3d4eb145c52b224eff04c9eb5d1b4e434dfc000000000058aefe57707c66328d3cceef2e6f56ab6b7465e587410c5f73555a513ace2b232793a74400000000036a006522e69d3a785b61ad41a635d59b3a06b2780a92173f85f8ed428491d0aaa436619baa9c45010000000263512609629902eb7793050000000000a1b967040000000003525353a34d6192", + "516a", + 0, + -1761874713, + "0a2ff41f6d155d8d0e37cd9438f3b270df9f9214cda8e95c76d5a239ca189df2" + ], + [ + "a0eb6dc402994e493c787b45d1f946d267b09c596c5edde043e620ce3d59e95b2b5b93d43002000000086a5252526aac636555694287a279e29ee491c177a801cd685b8744a2eab83824255a3bcd08fc0e3ea13fb88200000000056365520063ffffffff029e424a040000000006ac53516a636a23830f0400000000016adf49c1f9", + "ac0065ac6500005252", + 1, + 669294500, + "f398f44f5ead1c19b708fec28bdba33c0f6f9f8f3fa2e1697d76ee7f9738f924" + ], + [ + "6e67c0d3027701ef71082204c85ed63c700ef1400c65efb62ce3580d187fb348376a23e9710200000001655b91369d3155ba916a0bc6fe4f5d94cad461d899bb8aaac3699a755838bfc229d6828920010000000765536353526a52ffffffff04c0c792000000000005650052535372f79e000000000001527fc0ee010000000004ac530065d1b3e902000000000151a942b278", + "6a5151", + 0, + 1741407676, + "f4eb16dbd61db1fe8064856e67d5a4ca6a7735406699a6603d96aba53a734e68" + ], + [ + "8f53639901f1d643e01fc631f632b7a16e831d846a0184cdcda289b8fa7767f0c292eb221a00000000036a53acffffffff037a2daa01000000000553ac6a6a51eac349020000000005ac526552638421b3040000000007006a005100ac63048a1492", + "ac65", + 0, + 1033685559, + "da86c260d42a692358f46893d6f91563985d86eeb9ea9e21cd38c2d8ffcfcc4d" + ], + [ + "491f99cb01bdfba1aa235e5538dac081fae9ce55f9622de483afe7e65105c2b0db75d360d200000000045251636340b60f0f041421330300000000096351ac000051636553ce2822040000000005516a00ac5180c8e40300000000025100caa8570400000000020000cfdc8da6", + "6a5100516a655365", + 0, + -953727341, + "397c68803b7ce953666830b0221a5e2bcf897aa2ded8e36a6b76c497dcb1a2e1" + ], + [ + "b3cad3a7041c2c17d90a2cd994f6c37307753fa3635e9ef05ab8b1ff121ca11239a0902e700300000008635300006aac5163ffffffffcec91722c7468156dce4664f3c783afef147f0e6f80739c83b5f09d5a09a57040200000004516a6552ffffffff969d1c6daf8ef53a70b7cdf1b4102fb3240055a8eaeaed2489617cd84cfd56cf02000000025253ffffffff46598b6579494a77b593681c33422a99559b9993d77ca2fa97833508b0c169f80200000009655300655365516351ffffffff04d7ddf800000000000753536a65ac635109f3420300000000036a65ac33589d04000000000952656a65655151acac944d6f0400000000006a8004ba", + "005165", + 1, + 1035865506, + "fe1dc9e8554deecf8f50c417c670b839cc9d650722ebaaf36572418756075d58" + ], + [ + "e1cfd73b0125add9e9d699f5a45dca458355af175a7bd4486ebef28f1928d87864384d02df02000000036a0051ffffffff0357df030100000000036a5365777e2d040000000006636a00005265f434a601000000000351655100000000", + "53", + 0, + -1936500914, + "5ff796ec362f811a8acebab73fe51acb423391f0570bc32070c13bfc362a4104" + ], + [ + "cf781855040a755f5ba85eef93837236b34a5d3daeb2dbbdcf58bb811828d806ed05754ab8010000000351ac53ffffffffda1e264727cf55c67f06ebcc56dfe7fa12ac2a994fecd0180ce09ee15c480f7d00000000086351516a51acac0053dd49ff9f334befd6d6f87f1a832cddfd826a90b78fd8cf19a52cb8287788af94e939d6020000000700525251ac526310d54a7e8900ed633f0f6f0841145aae7ee0cbbb1e2a0cae724ee4558dbabfdc58ba6855010000000452536a53fd1b101102c51f910500000000096300656a525252656a300bee010000000008ac52005263635151e19235c9", + "53005365", + 2, + 1422854188, + "47375ce8a6890e96241eff5952901b6eddd904e299f72942170871853777f82f" + ], + [ + "fea256ce01272d125e577c0a09570a71366898280dda279b021000db1325f27edda41a5346010000000153c752c21c013c2b3a01000000000000000000", + "65", + 0, + 1145543262, + "076b9f844f6ae429de228a2c337c704df1652c292b6c6494882190638dad9efd" + ] ] diff --git a/txscript/data/tx_invalid.json b/txscript/data/tx_invalid.json index 686a4fb46..de2cccbe9 100644 --- a/txscript/data/tx_invalid.json +++ b/txscript/data/tx_invalid.json @@ -1,201 +1,714 @@ [ -["The following are deserialized transactions which are invalid."], -["They are in the form"], -["[[[prevout hash, prevout index, prevout scriptPubKey, amount?], [input 2], ...],"], -["serializedTransaction, verifyFlags]"], -["Objects that are only a single string (like this one) are ignored"], - -["0e1b5688cf179cd9f7cbda1fac0090f6e684bbf8cd946660120197c3f3681809 but with extra junk appended to the end of the scriptPubKey"], -[[["6ca7ec7b1847f6bdbd737176050e6a08d66ccd55bb94ad24f4018024107a5827", 0, "0x41 0x043b640e983c9690a14c039a2037ecc3467b27a0dcd58f19d76c7bc118d09fec45adc5370a1c5bf8067ca9f5557a4cf885fdb0fe0dcc9c3a7137226106fbc779a5 CHECKSIG VERIFY 1"]], -"010000000127587a10248001f424ad94bb55cd6cd6086a0e05767173bdbdf647187beca76c000000004948304502201b822ad10d6adc1a341ae8835be3f70a25201bbff31f59cbb9c5353a5f0eca18022100ea7b2f7074e9aa9cf70aa8d0ffee13e6b45dddabf1ab961bda378bcdb778fa4701ffffffff0100f2052a010000001976a914fc50c5907d86fed474ba5ce8b12a66e0a4c139d888ac00000000", "P2SH"], - -["Same as above, but with the sig in the scriptSig also pushed with the same non-standard OP_PUSHDATA"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "DUP HASH160 0x14 0x5b6462475454710f3c22f5fdf0b40704c92f25c3 EQUALVERIFY CHECKSIGVERIFY 1 0x4c 0x47 0x3044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a01"]], -"01000000010001000000000000000000000000000000000000000000000000000000000000000000006b4c473044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a012103ba8c8b86dea131c22ab967e6dd99bdae8eff7a1f75a2c35f1f944109e3fe5e22ffffffff010000000000000000015100000000", "P2SH"], - -["An invalid P2SH Transaction"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x7a052c840ba73af26755de42cf01cc9e0a49fef0 EQUAL"]], -"010000000100010000000000000000000000000000000000000000000000000000000000000000000009085768617420697320ffffffff010000000000000000015100000000", "P2SH"], - -["Tests for CheckTransaction()"], -["No inputs"], -["Skipped because this is not checked by btcscript, this is a problem for chain."], - -["No outputs"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x05ab9e14d983742513f0f451e105ffb4198d1dd4 EQUAL"]], -"01000000010001000000000000000000000000000000000000000000000000000000000000000000006d483045022100f16703104aab4e4088317c862daec83440242411b039d14280e03dd33b487ab802201318a7be236672c5c56083eb7a5a195bc57a40af7923ff8545016cd3b571e2a601232103c40e5d339df3f30bf753e7e04450ae4ef76c9e45587d1d993bdc4cd06f0651c7acffffffff0000000000", "P2SH"], - -["Negative output"], -["Removed because btcscript doesn't do tx sanity checking."], - -["MAX_MONEY + 1 output"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x32afac281462b822adbec5094b8d4d337dd5bd6a EQUAL"]], -"01000000010001000000000000000000000000000000000000000000000000000000000000000000006e493046022100e1eadba00d9296c743cb6ecc703fd9ddc9b3cd12906176a226ae4c18d6b00796022100a71aef7d2874deff681ba6080f1b278bac7bb99c61b08a85f4311970ffe7f63f012321030c0588dc44d92bdcbf8e72093466766fdc265ead8db64517b0c542275b70fffbacffffffff010140075af0750700015100000000", "P2SH"], - -["MAX_MONEY output + 1 output"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0xb558cbf4930954aa6a344363a15668d7477ae716 EQUAL"]], -"01000000010001000000000000000000000000000000000000000000000000000000000000000000006d483045022027deccc14aa6668e78a8c9da3484fbcd4f9dcc9bb7d1b85146314b21b9ae4d86022100d0b43dece8cfb07348de0ca8bc5b86276fa88f7f2138381128b7c36ab2e42264012321029bb13463ddd5d2cc05da6e84e37536cb9525703cfd8f43afdb414988987a92f6acffffffff020040075af075070001510001000000000000015100000000", "P2SH"], - -["Duplicate inputs"], -["Removed because btcscript doesn't check input duplication, btcchain does"], - -["Coinbase of size 1"], -["Note the input is just required to make the tester happy"], -["Removed because btcscript doesn't handle coinbase checking, btcchain does"], - -["Coinbase of size 101"], -["Note the input is just required to make the tester happy"], -["Removed because btcscript doesn't handle coinbase checking, btcchain does"], - -["Null txin"], -["Removed because btcscript doesn't do tx sanity checking."], - -["Same as the transactions in valid with one input SIGHASH_ALL and one SIGHASH_ANYONECANPAY, but we set the _ANYONECANPAY sequence number, invalidating the SIGHASH_ALL signature"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG"], - ["0000000000000000000000000000000000000000000000000000000000000200", 0, "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG"]], - "01000000020001000000000000000000000000000000000000000000000000000000000000000000004948304502203a0f5f0e1f2bdbcd04db3061d18f3af70e07f4f467cbc1b8116f267025f5360b022100c792b6e215afc5afc721a351ec413e714305cb749aae3d7fee76621313418df10101000000000200000000000000000000000000000000000000000000000000000000000000000000484730440220201dc2d030e380e8f9cfb41b442d930fa5a685bb2c8db5906671f865507d0670022018d9e7a8d4c8d86a73c2a724ee38ef983ec249827e0e464841735955c707ece98101000000010100000000000000015100000000", "P2SH"], - -["CHECKMULTISIG with incorrect signature order"], -["Note the input is just required to make the tester happy"], -[[["b3da01dd4aae683c7aee4d5d8b52a540a508e1115f77cd7fa9a291243f501223", 0, "HASH160 0x14 0xb1ce99298d5f07364b57b1e5c9cc00be0b04a954 EQUAL"]], -"01000000012312503f2491a2a97fcd775f11e108a540a5528b5d4dee7a3c68ae4add01dab300000000fdfd0048304502207aacee820e08b0b174e248abd8d7a34ed63b5da3abedb99934df9fddd65c05c4022100dfe87896ab5ee3df476c2655f9fbe5bd089dccbef3e4ea05b5d121169fe7f5f401483045022100f6649b0eddfdfd4ad55426663385090d51ee86c3481bdc6b0c18ea6c0ece2c0b0220561c315b07cffa6f7dd9df96dbae9200c2dee09bf93cc35ca05e6cdf613340aa014c695221031d11db38972b712a9fe1fc023577c7ae3ddb4a3004187d41c45121eecfdbb5b7210207ec36911b6ad2382860d32989c7b8728e9489d7bbc94a6b5509ef0029be128821024ea9fac06f666a4adc3fc1357b7bec1fd0bdece2b9d08579226a8ebde53058e453aeffffffff0180380100000000001976a914c9b99cddf847d10685a4fabaa0baf505f7c3dfab88ac00000000", "P2SH"], - -["Empty stack when we try to run CHECKSIG"], -[[["ad503f72c18df5801ee64d76090afe4c607fb2b822e9b7b63c5826c50e22fc3b", 0, "0x21 0x027c3a97665bf283a102a587a62a30a0c102d4d3b141015e2cae6f64e2543113e5 CHECKSIG NOT"]], -"01000000013bfc220ec526583cb6b7e922b8b27f604cfe0a09764de61e80f58dc1723f50ad0000000000ffffffff0101000000000000002321027c3a97665bf283a102a587a62a30a0c102d4d3b141015e2cae6f64e2543113e5ac00000000", "P2SH"], - -["CHECKLOCKTIMEVERIFY tests"], - -["By-height locks, with argument just beyond tx nLockTime"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1 CHECKLOCKTIMEVERIFY 1"]], -"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 CHECKLOCKTIMEVERIFY 1"]], -"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000fe64cd1d", "P2SH"], - -["By-time locks, with argument just beyond tx nLockTime (but within numerical boundaries)"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000001 CHECKLOCKTIMEVERIFY 1"]], -"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967295 CHECKLOCKTIMEVERIFY 1"]], -"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000feffffff", "P2SH"], - -["Argument missing"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "CHECKLOCKTIMEVERIFY 1"]], -"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]], -"010000000100010000000000000000000000000000000000000000000000000000000000000000000001b1010000000100000000000000000000000000", "P2SH"], - -["Argument negative with by-blockheight nLockTime=0"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 CHECKLOCKTIMEVERIFY 1"]], -"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH"], - -["Argument negative with by-blocktime nLockTime=500,000,000"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 CHECKLOCKTIMEVERIFY 1"]], -"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]], -"010000000100010000000000000000000000000000000000000000000000000000000000000000000004005194b1010000000100000000000000000002000000", "P2SH"], - -["Input locked"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKLOCKTIMEVERIFY 1"]], -"010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0"]], -"01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b1ffffffff0100000000000000000002000000", "P2SH"], - -["Another input being unlocked isn't sufficient; the CHECKLOCKTIMEVERIFY-using input must be unlocked"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKLOCKTIMEVERIFY 1"] , - ["0000000000000000000000000000000000000000000000000000000000000200", 1, "1"]], -"010000000200010000000000000000000000000000000000000000000000000000000000000000000000ffffffff00020000000000000000000000000000000000000000000000000000000000000100000000000000000100000000000000000000000000", "P2SH"], - -["Argument/tx height/time mismatch, both versions"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKLOCKTIMEVERIFY 1"]], -"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0"]], -"01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b000000000010000000000000000000065cd1d", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 CHECKLOCKTIMEVERIFY 1"]], -"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 CHECKLOCKTIMEVERIFY 1"]], -"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 CHECKLOCKTIMEVERIFY 1"]], -"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d", "P2SH"], - -["Argument 2^32 with nLockTime=2^32-1"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967296 CHECKLOCKTIMEVERIFY 1"]], -"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff", "P2SH"], - -["Same, but with nLockTime=2^31-1"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483648 CHECKLOCKTIMEVERIFY 1"]], -"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffff7f", "P2SH"], - -["6 byte non-minimally-encoded arguments are invalid even if their contents are valid"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x06 0x000000000000 CHECKLOCKTIMEVERIFY 1"]], -"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH"], - -["Failure due to failing CHECKLOCKTIMEVERIFY in scriptSig"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]], -"01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b0000000000100000000000000000000000000", "P2SH"], - -["Failure due to failing CHECKLOCKTIMEVERIFY in redeemScript"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x198821d0c372b25f4d25d71171164ac5a3a0f20d EQUAL"]], -"0100000001000100000000000000000000000000000000000000000000000000000000000000000000030251b0000000000100000000000000000000000000", "P2SH"], - -["A transaction with a non-standard DER signature."], -[[["b1dbc81696c8a9c0fccd0693ab66d7c368dbc38c0def4e800685560ddd1b2132", 0, "DUP HASH160 0x14 0x4b3bd7eba3bc0284fd3007be7f3be275e94f5826 EQUALVERIFY CHECKSIG"]], -"010000000132211bdd0d568506804eef0d8cc3db68c3d766ab9306cdfcc0a9c89616c8dbb1000000006c493045022100c7bb0faea0522e74ff220c20c022d2cb6033f8d167fb89e75a50e237a35fd6d202203064713491b1f8ad5f79e623d0219ad32510bfaa1009ab30cbee77b59317d6e30001210237af13eb2d84e4545af287b919c2282019c9691cc509e78e196a9d8274ed1be0ffffffff0100000000000000001976a914f1b3ed2eda9a2ebe5a9374f692877cdf87c0f95b88ac00000000", "P2SH,DERSIG"], - -["CHECKSEQUENCEVERIFY tests"], - -["By-height locks, with argument just beyond txin.nSequence"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4259839 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000feff40000100000000000000000000000000", "P2SH"], - -["By-time locks, with argument just beyond txin.nSequence (but within numerical boundries)"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4194305 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4259839 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000feff40000100000000000000000000000000", "P2SH"], - -["Argument missing"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH"], - -["Argument negative with by-blockheight txin.nSequence=0"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH"], - -["Argument negative with by-blocktime txin.nSequence=CTxIn::SEQUENCE_LOCKTIME_TYPE_FLAG"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "-1 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000", "P2SH"], - -["Argument/tx height/time mismatch, both versions"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "65535 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4194304 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4259839 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH"], - -["6 byte non-minimally-encoded arguments are invalid even if their contents are valid"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x06 0x000000000000 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffff00000100000000000000000000000000", "P2SH"], - -["Failure due to failing CHECKSEQUENCEVERIFY in scriptSig"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]], -"02000000010001000000000000000000000000000000000000000000000000000000000000000000000251b0000000000100000000000000000000000000", "P2SH"], - -["Failure due to failing CHECKSEQUENCEVERIFY in redeemScript"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x7c17aff532f22beb54069942f9bf567a66133eaf EQUAL"]], -"0200000001000100000000000000000000000000000000000000000000000000000000000000000000030251b1000000000100000000000000000000000000", "P2SH"], - - -["The following tests for the fix of a btc bug in the handling of SIGHASH_SINGLE"], -["It results in signing the constant 1, instead of something generated based on the transaction,"], -["when the input doing the signing has an index greater than the maximum output index"], -["We have fixed this bug and it should no longer be part of the concensus rules"], -[[["0000000000000000000000000000000000000000000000000000000000000200", 0, "1"], ["0000000000000000000000000000000000000000000000000000000000000100", 0, "DUP HASH160 0x14 0xe52b482f2faa8ecbf0db344f93c84ac908557f33 EQUALVERIFY CHECKSIG"]], -"01000000020002000000000000000000000000000000000000000000000000000000000000000000000151ffffffff0001000000000000000000000000000000000000000000000000000000000000000000006b483045022100c9cdd08798a28af9d1baf44a6c77bcc7e279f47dc487c8c899911bc48feaffcc0220503c5c50ae3998a733263c5c0f7061b483e2b56c4c41b456e7d2f5a78a74c077032102d5c25adb51b61339d2b05315791e21bbe80ea470a49db0135720983c905aace0ffffffff010000000000000000015100000000", "P2SH"], - -["Make diffs cleaner by leaving a comment here without comma at the end"] + [ + "The following are deserialized transactions which are invalid." + ], + [ + "They are in the form" + ], + [ + "[[[prevout hash, prevout index, prevout scriptPubKey, amount?], [input 2], ...]," + ], + [ + "serializedTransaction, verifyFlags]" + ], + [ + "Objects that are only a single string (like this one) are ignored" + ], + [ + "0e1b5688cf179cd9f7cbda1fac0090f6e684bbf8cd946660120197c3f3681809 but with extra junk appended to the end of the scriptPubKey" + ], + [ + [ + [ + "6ca7ec7b1847f6bdbd737176050e6a08d66ccd55bb94ad24f4018024107a5827", + 0, + "0x41 0x043b640e983c9690a14c039a2037ecc3467b27a0dcd58f19d76c7bc118d09fec45adc5370a1c5bf8067ca9f5557a4cf885fdb0fe0dcc9c3a7137226106fbc779a5 CHECKSIG VERIFY 1" + ] + ], + "010000000127587a10248001f424ad94bb55cd6cd6086a0e05767173bdbdf647187beca76c000000004948304502201b822ad10d6adc1a341ae8835be3f70a25201bbff31f59cbb9c5353a5f0eca18022100ea7b2f7074e9aa9cf70aa8d0ffee13e6b45dddabf1ab961bda378bcdb778fa4701ffffffff0100f2052a010000001976a914fc50c5907d86fed474ba5ce8b12a66e0a4c139d888ac00000000", + "P2SH" + ], + [ + "Same as above, but with the sig in the scriptSig also pushed with the same non-standard OP_PUSHDATA" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "DUP HASH160 0x14 0x5b6462475454710f3c22f5fdf0b40704c92f25c3 EQUALVERIFY CHECKSIGVERIFY 1 0x4c 0x47 0x3044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a01" + ] + ], + "01000000010001000000000000000000000000000000000000000000000000000000000000000000006b4c473044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a012103ba8c8b86dea131c22ab967e6dd99bdae8eff7a1f75a2c35f1f944109e3fe5e22ffffffff010000000000000000015100000000", + "P2SH" + ], + [ + "An invalid P2SH Transaction" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "HASH160 0x14 0x7a052c840ba73af26755de42cf01cc9e0a49fef0 EQUAL" + ] + ], + "010000000100010000000000000000000000000000000000000000000000000000000000000000000009085768617420697320ffffffff010000000000000000015100000000", + "P2SH" + ], + [ + "Tests for CheckTransaction()" + ], + [ + "No inputs" + ], + [ + "Skipped because this is not checked by btcscript, this is a problem for chain." + ], + [ + "No outputs" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "HASH160 0x14 0x05ab9e14d983742513f0f451e105ffb4198d1dd4 EQUAL" + ] + ], + "01000000010001000000000000000000000000000000000000000000000000000000000000000000006d483045022100f16703104aab4e4088317c862daec83440242411b039d14280e03dd33b487ab802201318a7be236672c5c56083eb7a5a195bc57a40af7923ff8545016cd3b571e2a601232103c40e5d339df3f30bf753e7e04450ae4ef76c9e45587d1d993bdc4cd06f0651c7acffffffff0000000000", + "P2SH" + ], + [ + "Negative output" + ], + [ + "Removed because btcscript doesn't do tx sanity checking." + ], + [ + "MAX_MONEY + 1 output" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "HASH160 0x14 0x32afac281462b822adbec5094b8d4d337dd5bd6a EQUAL" + ] + ], + "01000000010001000000000000000000000000000000000000000000000000000000000000000000006e493046022100e1eadba00d9296c743cb6ecc703fd9ddc9b3cd12906176a226ae4c18d6b00796022100a71aef7d2874deff681ba6080f1b278bac7bb99c61b08a85f4311970ffe7f63f012321030c0588dc44d92bdcbf8e72093466766fdc265ead8db64517b0c542275b70fffbacffffffff010140075af0750700015100000000", + "P2SH" + ], + [ + "MAX_MONEY output + 1 output" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "HASH160 0x14 0xb558cbf4930954aa6a344363a15668d7477ae716 EQUAL" + ] + ], + "01000000010001000000000000000000000000000000000000000000000000000000000000000000006d483045022027deccc14aa6668e78a8c9da3484fbcd4f9dcc9bb7d1b85146314b21b9ae4d86022100d0b43dece8cfb07348de0ca8bc5b86276fa88f7f2138381128b7c36ab2e42264012321029bb13463ddd5d2cc05da6e84e37536cb9525703cfd8f43afdb414988987a92f6acffffffff020040075af075070001510001000000000000015100000000", + "P2SH" + ], + [ + "Duplicate inputs" + ], + [ + "Removed because btcscript doesn't check input duplication, btcchain does" + ], + [ + "Coinbase of size 1" + ], + [ + "Note the input is just required to make the tester happy" + ], + [ + "Removed because btcscript doesn't handle coinbase checking, btcchain does" + ], + [ + "Coinbase of size 101" + ], + [ + "Note the input is just required to make the tester happy" + ], + [ + "Removed because btcscript doesn't handle coinbase checking, btcchain does" + ], + [ + "Null txin" + ], + [ + "Removed because btcscript doesn't do tx sanity checking." + ], + [ + "Same as the transactions in valid with one input SIGHASH_ALL and one SIGHASH_ANYONECANPAY, but we set the _ANYONECANPAY sequence number, invalidating the SIGHASH_ALL signature" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG" + ], + [ + "0000000000000000000000000000000000000000000000000000000000000200", + 0, + "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG" + ] + ], + "01000000020001000000000000000000000000000000000000000000000000000000000000000000004948304502203a0f5f0e1f2bdbcd04db3061d18f3af70e07f4f467cbc1b8116f267025f5360b022100c792b6e215afc5afc721a351ec413e714305cb749aae3d7fee76621313418df10101000000000200000000000000000000000000000000000000000000000000000000000000000000484730440220201dc2d030e380e8f9cfb41b442d930fa5a685bb2c8db5906671f865507d0670022018d9e7a8d4c8d86a73c2a724ee38ef983ec249827e0e464841735955c707ece98101000000010100000000000000015100000000", + "P2SH" + ], + [ + "CHECKMULTISIG with incorrect signature order" + ], + [ + "Note the input is just required to make the tester happy" + ], + [ + [ + [ + "b3da01dd4aae683c7aee4d5d8b52a540a508e1115f77cd7fa9a291243f501223", + 0, + "HASH160 0x14 0xb1ce99298d5f07364b57b1e5c9cc00be0b04a954 EQUAL" + ] + ], + "01000000012312503f2491a2a97fcd775f11e108a540a5528b5d4dee7a3c68ae4add01dab300000000fdfd0048304502207aacee820e08b0b174e248abd8d7a34ed63b5da3abedb99934df9fddd65c05c4022100dfe87896ab5ee3df476c2655f9fbe5bd089dccbef3e4ea05b5d121169fe7f5f401483045022100f6649b0eddfdfd4ad55426663385090d51ee86c3481bdc6b0c18ea6c0ece2c0b0220561c315b07cffa6f7dd9df96dbae9200c2dee09bf93cc35ca05e6cdf613340aa014c695221031d11db38972b712a9fe1fc023577c7ae3ddb4a3004187d41c45121eecfdbb5b7210207ec36911b6ad2382860d32989c7b8728e9489d7bbc94a6b5509ef0029be128821024ea9fac06f666a4adc3fc1357b7bec1fd0bdece2b9d08579226a8ebde53058e453aeffffffff0180380100000000001976a914c9b99cddf847d10685a4fabaa0baf505f7c3dfab88ac00000000", + "P2SH" + ], + [ + "Empty stack when we try to run CHECKSIG" + ], + [ + [ + [ + "ad503f72c18df5801ee64d76090afe4c607fb2b822e9b7b63c5826c50e22fc3b", + 0, + "0x21 0x027c3a97665bf283a102a587a62a30a0c102d4d3b141015e2cae6f64e2543113e5 CHECKSIG NOT" + ] + ], + "01000000013bfc220ec526583cb6b7e922b8b27f604cfe0a09764de61e80f58dc1723f50ad0000000000ffffffff0101000000000000002321027c3a97665bf283a102a587a62a30a0c102d4d3b141015e2cae6f64e2543113e5ac00000000", + "P2SH" + ], + [ + "CHECKLOCKTIMEVERIFY tests" + ], + [ + "By-height locks, with argument just beyond tx nLockTime" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "1 CHECKLOCKTIMEVERIFY 1" + ] + ], + "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "499999999 CHECKLOCKTIMEVERIFY 1" + ] + ], + "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000fe64cd1d", + "P2SH" + ], + [ + "By-time locks, with argument just beyond tx nLockTime (but within numerical boundaries)" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "500000001 CHECKLOCKTIMEVERIFY 1" + ] + ], + "01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4294967295 CHECKLOCKTIMEVERIFY 1" + ] + ], + "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000feffffff", + "P2SH" + ], + [ + "Argument missing" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "CHECKLOCKTIMEVERIFY 1" + ] + ], + "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "1" + ] + ], + "010000000100010000000000000000000000000000000000000000000000000000000000000000000001b1010000000100000000000000000000000000", + "P2SH" + ], + [ + "Argument negative with by-blockheight nLockTime=0" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "-1 CHECKLOCKTIMEVERIFY 1" + ] + ], + "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", + "P2SH" + ], + [ + "Argument negative with by-blocktime nLockTime=500,000,000" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "-1 CHECKLOCKTIMEVERIFY 1" + ] + ], + "01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "1" + ] + ], + "010000000100010000000000000000000000000000000000000000000000000000000000000000000004005194b1010000000100000000000000000002000000", + "P2SH" + ], + [ + "Input locked" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "0 CHECKLOCKTIMEVERIFY 1" + ] + ], + "010000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "0" + ] + ], + "01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b1ffffffff0100000000000000000002000000", + "P2SH" + ], + [ + "Another input being unlocked isn't sufficient; the CHECKLOCKTIMEVERIFY-using input must be unlocked" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "0 CHECKLOCKTIMEVERIFY 1" + ], + [ + "0000000000000000000000000000000000000000000000000000000000000200", + 1, + "1" + ] + ], + "010000000200010000000000000000000000000000000000000000000000000000000000000000000000ffffffff00020000000000000000000000000000000000000000000000000000000000000100000000000000000100000000000000000000000000", + "P2SH" + ], + [ + "Argument/tx height/time mismatch, both versions" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "0 CHECKLOCKTIMEVERIFY 1" + ] + ], + "01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "0" + ] + ], + "01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b000000000010000000000000000000065cd1d", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "499999999 CHECKLOCKTIMEVERIFY 1" + ] + ], + "01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "500000000 CHECKLOCKTIMEVERIFY 1" + ] + ], + "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "500000000 CHECKLOCKTIMEVERIFY 1" + ] + ], + "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d", + "P2SH" + ], + [ + "Argument 2^32 with nLockTime=2^32-1" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4294967296 CHECKLOCKTIMEVERIFY 1" + ] + ], + "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff", + "P2SH" + ], + [ + "Same, but with nLockTime=2^31-1" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "2147483648 CHECKLOCKTIMEVERIFY 1" + ] + ], + "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffff7f", + "P2SH" + ], + [ + "6 byte non-minimally-encoded arguments are invalid even if their contents are valid" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "0x06 0x000000000000 CHECKLOCKTIMEVERIFY 1" + ] + ], + "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", + "P2SH" + ], + [ + "Failure due to failing CHECKLOCKTIMEVERIFY in scriptSig" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "1" + ] + ], + "01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b0000000000100000000000000000000000000", + "P2SH" + ], + [ + "Failure due to failing CHECKLOCKTIMEVERIFY in redeemScript" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "HASH160 0x14 0x198821d0c372b25f4d25d71171164ac5a3a0f20d EQUAL" + ] + ], + "0100000001000100000000000000000000000000000000000000000000000000000000000000000000030251b0000000000100000000000000000000000000", + "P2SH" + ], + [ + "A transaction with a non-standard DER signature." + ], + [ + [ + [ + "b1dbc81696c8a9c0fccd0693ab66d7c368dbc38c0def4e800685560ddd1b2132", + 0, + "DUP HASH160 0x14 0x4b3bd7eba3bc0284fd3007be7f3be275e94f5826 EQUALVERIFY CHECKSIG" + ] + ], + "010000000132211bdd0d568506804eef0d8cc3db68c3d766ab9306cdfcc0a9c89616c8dbb1000000006c493045022100c7bb0faea0522e74ff220c20c022d2cb6033f8d167fb89e75a50e237a35fd6d202203064713491b1f8ad5f79e623d0219ad32510bfaa1009ab30cbee77b59317d6e30001210237af13eb2d84e4545af287b919c2282019c9691cc509e78e196a9d8274ed1be0ffffffff0100000000000000001976a914f1b3ed2eda9a2ebe5a9374f692877cdf87c0f95b88ac00000000", + "P2SH,DERSIG" + ], + [ + "CHECKSEQUENCEVERIFY tests" + ], + [ + "By-height locks, with argument just beyond txin.nSequence" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "1 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4259839 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000feff40000100000000000000000000000000", + "P2SH" + ], + [ + "By-time locks, with argument just beyond txin.nSequence (but within numerical boundries)" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4194305 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4259839 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000feff40000100000000000000000000000000", + "P2SH" + ], + [ + "Argument missing" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", + "P2SH" + ], + [ + "Argument negative with by-blockheight txin.nSequence=0" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "-1 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", + "P2SH" + ], + [ + "Argument negative with by-blocktime txin.nSequence=CTxIn::SEQUENCE_LOCKTIME_TYPE_FLAG" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "-1 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000", + "P2SH" + ], + [ + "Argument/tx height/time mismatch, both versions" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "0 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "65535 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4194304 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4259839 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", + "P2SH" + ], + [ + "6 byte non-minimally-encoded arguments are invalid even if their contents are valid" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "0x06 0x000000000000 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffff00000100000000000000000000000000", + "P2SH" + ], + [ + "Failure due to failing CHECKSEQUENCEVERIFY in scriptSig" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "1" + ] + ], + "02000000010001000000000000000000000000000000000000000000000000000000000000000000000251b0000000000100000000000000000000000000", + "P2SH" + ], + [ + "Failure due to failing CHECKSEQUENCEVERIFY in redeemScript" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "HASH160 0x14 0x7c17aff532f22beb54069942f9bf567a66133eaf EQUAL" + ] + ], + "0200000001000100000000000000000000000000000000000000000000000000000000000000000000030251b1000000000100000000000000000000000000", + "P2SH" + ], + [ + "The following tests for the fix of a btc bug in the handling of SIGHASH_SINGLE" + ], + [ + "It results in signing the constant 1, instead of something generated based on the transaction," + ], + [ + "when the input doing the signing has an index greater than the maximum output index" + ], + [ + "We have fixed this bug and it should no longer be part of the concensus rules" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000200", + 0, + "1" + ], + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "DUP HASH160 0x14 0xe52b482f2faa8ecbf0db344f93c84ac908557f33 EQUALVERIFY CHECKSIG" + ] + ], + "01000000020002000000000000000000000000000000000000000000000000000000000000000000000151ffffffff0001000000000000000000000000000000000000000000000000000000000000000000006b483045022100c9cdd08798a28af9d1baf44a6c77bcc7e279f47dc487c8c899911bc48feaffcc0220503c5c50ae3998a733263c5c0f7061b483e2b56c4c41b456e7d2f5a78a74c077032102d5c25adb51b61339d2b05315791e21bbe80ea470a49db0135720983c905aace0ffffffff010000000000000000015100000000", + "P2SH" + ], + [ + "Make diffs cleaner by leaving a comment here without comma at the end" + ] ] diff --git a/txscript/data/tx_valid.json b/txscript/data/tx_valid.json index d402db166..272d591f4 100644 --- a/txscript/data/tx_valid.json +++ b/txscript/data/tx_valid.json @@ -1,247 +1,938 @@ [ -["The following are deserialized transactions which are valid."], -["They are in the form"], -["[[[prevout hash, prevout index, prevout scriptPubKey, amount?], [input 2], ...],"], -["serializedTransaction, verifyFlags]"], -["Objects that are only a single string (like this one) are ignored"], - -["The following is 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63"], -["It is of particular interest because it contains an invalidly-encoded signature which OpenSSL accepts"], -["See http://r6.ca/blog/20111119T211504Z.html"], -["It is also the first OP_CHECKMULTISIG transaction in standard form"], -[[["60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1", 0, "1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG"]], -"0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba260000000004847304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000", "P2SH"], - -["The following is a tweaked form of 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63"], -["It is an OP_CHECKMULTISIG with an arbitrary extra byte stuffed into the signature at pos length - 2"], -[[["60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1", 0, "1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG"]], -"0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba260000000004948304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2bab01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000", "P2SH"], - -["The following is c99c49da4c38af669dea436d3e73780dfdb6c1ecf9958baa52960e8baee30e73"], -["It is of interest because it contains a 0-sequence as well as a signature of SIGHASH type 0 (which is not a real type)"], -[[["406b2b06bcd34d3c8733e6b79f7a394c8a431fbf4ff5ac705c93f4076bb77602", 0, "DUP HASH160 0x14 0xdc44b1164188067c3a32d4780f5996fa14a4f2d9 EQUALVERIFY CHECKSIG"]], -"01000000010276b76b07f4935c70acf54fbf1f438a4c397a9fb7e633873c4dd3bc062b6b40000000008c493046022100d23459d03ed7e9511a47d13292d3430a04627de6235b6e51a40f9cd386f2abe3022100e7d25b080f0bb8d8d5f878bba7d54ad2fda650ea8d158a33ee3cbd11768191fd004104b0e2c879e4daf7b9ab68350228c159766676a14f5815084ba166432aab46198d4cca98fa3e9981d0a90b2effc514b76279476550ba3663fdcaff94c38420e9d5000000000100093d00000000001976a9149a7b0f3b80c6baaeedce0a0842553800f832ba1f88ac00000000", "P2SH"], - -["A nearly-standard transaction with CHECKSIGVERIFY 1 instead of CHECKSIG"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "DUP HASH160 0x14 0x5b6462475454710f3c22f5fdf0b40704c92f25c3 EQUALVERIFY CHECKSIGVERIFY 1"]], -"01000000010001000000000000000000000000000000000000000000000000000000000000000000006a473044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a012103ba8c8b86dea131c22ab967e6dd99bdae8eff7a1f75a2c35f1f944109e3fe5e22ffffffff010000000000000000015100000000", "P2SH"], - -["The following is f7fdd091fa6d8f5e7a8c2458f5c38faffff2d3f1406b6e4fe2c99dcc0d2d1cbb"], -["It caught a bug in the workaround for 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63 in an overly simple implementation"], -[[["b464e85df2a238416f8bdae11d120add610380ea07f4ef19c5f9dfd472f96c3d", 0, "DUP HASH160 0x14 0xbef80ecf3a44500fda1bc92176e442891662aed2 EQUALVERIFY CHECKSIG"], -["b7978cc96e59a8b13e0865d3f95657561a7f725be952438637475920bac9eb21", 1, "DUP HASH160 0x14 0xbef80ecf3a44500fda1bc92176e442891662aed2 EQUALVERIFY CHECKSIG"]], -"01000000023d6cf972d4dff9c519eff407ea800361dd0a121de1da8b6f4138a2f25de864b4000000008a4730440220ffda47bfc776bcd269da4832626ac332adfca6dd835e8ecd83cd1ebe7d709b0e022049cffa1cdc102a0b56e0e04913606c70af702a1149dc3b305ab9439288fee090014104266abb36d66eb4218a6dd31f09bb92cf3cfa803c7ea72c1fc80a50f919273e613f895b855fb7465ccbc8919ad1bd4a306c783f22cd3227327694c4fa4c1c439affffffff21ebc9ba20594737864352e95b727f1a565756f9d365083eb1a8596ec98c97b7010000008a4730440220503ff10e9f1e0de731407a4a245531c9ff17676eda461f8ceeb8c06049fa2c810220c008ac34694510298fa60b3f000df01caa244f165b727d4896eb84f81e46bcc4014104266abb36d66eb4218a6dd31f09bb92cf3cfa803c7ea72c1fc80a50f919273e613f895b855fb7465ccbc8919ad1bd4a306c783f22cd3227327694c4fa4c1c439affffffff01f0da5200000000001976a914857ccd42dded6df32949d4646dfa10a92458cfaa88ac00000000", "P2SH"], - -["An invalid P2SH Transaction"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x7a052c840ba73af26755de42cf01cc9e0a49fef0 EQUAL"]], -"010000000100010000000000000000000000000000000000000000000000000000000000000000000009085768617420697320ffffffff010000000000000000015100000000", "NONE"], - -["A valid P2SH Transaction using the standard transaction type put forth in BIP 16"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x8febbed40483661de6958d957412f82deed8e2f7 EQUAL"]], -"01000000010001000000000000000000000000000000000000000000000000000000000000000000006e493046022100c66c9cdf4c43609586d15424c54707156e316d88b0a1534c9e6b0d4f311406310221009c0fe51dbc9c4ab7cc25d3fdbeccf6679fe6827f08edf2b4a9f16ee3eb0e438a0123210338e8034509af564c62644c07691942e0c056752008a173c89f60ab2a88ac2ebfacffffffff010000000000000000015100000000", "P2SH"], - -["Tests for CheckTransaction()"], -["MAX_MONEY output"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x32afac281462b822adbec5094b8d4d337dd5bd6a EQUAL"]], -"01000000010001000000000000000000000000000000000000000000000000000000000000000000006e493046022100e1eadba00d9296c743cb6ecc703fd9ddc9b3cd12906176a226ae4c18d6b00796022100a71aef7d2874deff681ba6080f1b278bac7bb99c61b08a85f4311970ffe7f63f012321030c0588dc44d92bdcbf8e72093466766fdc265ead8db64517b0c542275b70fffbacffffffff010040075af0750700015100000000", "P2SH"], - -["MAX_MONEY output + 0 output"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0xb558cbf4930954aa6a344363a15668d7477ae716 EQUAL"]], -"01000000010001000000000000000000000000000000000000000000000000000000000000000000006d483045022027deccc14aa6668e78a8c9da3484fbcd4f9dcc9bb7d1b85146314b21b9ae4d86022100d0b43dece8cfb07348de0ca8bc5b86276fa88f7f2138381128b7c36ab2e42264012321029bb13463ddd5d2cc05da6e84e37536cb9525703cfd8f43afdb414988987a92f6acffffffff020040075af075070001510000000000000000015100000000", "P2SH"], - -["Coinbase of size 2"], -["Note the input is just required to make the tester happy"], -[[["0000000000000000000000000000000000000000000000000000000000000000", -1, "1"]], -"01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025151ffffffff010000000000000000015100000000", "P2SH"], - -["Coinbase of size 100"], -["Note the input is just required to make the tester happy"], -[[["0000000000000000000000000000000000000000000000000000000000000000", -1, "1"]], -"01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff6451515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151ffffffff010000000000000000015100000000", "P2SH"], - -["Simple transaction with first input is signed with SIGHASH_ALL, second with SIGHASH_ANYONECANPAY"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG"], - ["0000000000000000000000000000000000000000000000000000000000000200", 0, "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG"]], - "010000000200010000000000000000000000000000000000000000000000000000000000000000000049483045022100d180fd2eb9140aeb4210c9204d3f358766eb53842b2a9473db687fa24b12a3cc022079781799cd4f038b85135bbe49ec2b57f306b2bb17101b17f71f000fcab2b6fb01ffffffff0002000000000000000000000000000000000000000000000000000000000000000000004847304402205f7530653eea9b38699e476320ab135b74771e1c48b81a5d041e2ca84b9be7a802200ac8d1f40fb026674fe5a5edd3dea715c27baa9baca51ed45ea750ac9dc0a55e81ffffffff010100000000000000015100000000", "P2SH"], - -["Same as above, but we change the sequence number of the first input to check that SIGHASH_ANYONECANPAY is being followed"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG"], - ["0000000000000000000000000000000000000000000000000000000000000200", 0, "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG"]], - "01000000020001000000000000000000000000000000000000000000000000000000000000000000004948304502203a0f5f0e1f2bdbcd04db3061d18f3af70e07f4f467cbc1b8116f267025f5360b022100c792b6e215afc5afc721a351ec413e714305cb749aae3d7fee76621313418df101010000000002000000000000000000000000000000000000000000000000000000000000000000004847304402205f7530653eea9b38699e476320ab135b74771e1c48b81a5d041e2ca84b9be7a802200ac8d1f40fb026674fe5a5edd3dea715c27baa9baca51ed45ea750ac9dc0a55e81ffffffff010100000000000000015100000000", "P2SH"], - -["afd9c17f8913577ec3509520bd6e5d63e9c0fd2a5f70c787993b097ba6ca9fae which has several SIGHASH_SINGLE signatures"], -[[["63cfa5a09dc540bf63e53713b82d9ea3692ca97cd608c384f2aa88e51a0aac70", 0, "DUP HASH160 0x14 0xdcf72c4fd02f5a987cf9b02f2fabfcac3341a87d EQUALVERIFY CHECKSIG"], - ["04e8d0fcf3846c6734477b98f0f3d4badfb78f020ee097a0be5fe347645b817d", 1, "DUP HASH160 0x14 0xdcf72c4fd02f5a987cf9b02f2fabfcac3341a87d EQUALVERIFY CHECKSIG"], - ["ee1377aff5d0579909e11782e1d2f5f7b84d26537be7f5516dd4e43373091f3f", 1, "DUP HASH160 0x14 0xdcf72c4fd02f5a987cf9b02f2fabfcac3341a87d EQUALVERIFY CHECKSIG"]], - "010000000370ac0a1ae588aaf284c308d67ca92c69a39e2db81337e563bf40c59da0a5cf63000000006a4730440220360d20baff382059040ba9be98947fd678fb08aab2bb0c172efa996fd8ece9b702201b4fb0de67f015c90e7ac8a193aeab486a1f587e0f54d0fb9552ef7f5ce6caec032103579ca2e6d107522f012cd00b52b9a65fb46f0c57b9b8b6e377c48f526a44741affffffff7d815b6447e35fbea097e00e028fb7dfbad4f3f0987b4734676c84f3fcd0e804010000006b483045022100c714310be1e3a9ff1c5f7cacc65c2d8e781fc3a88ceb063c6153bf950650802102200b2d0979c76e12bb480da635f192cc8dc6f905380dd4ac1ff35a4f68f462fffd032103579ca2e6d107522f012cd00b52b9a65fb46f0c57b9b8b6e377c48f526a44741affffffff3f1f097333e4d46d51f5e77b53264db8f7f5d2e18217e1099957d0f5af7713ee010000006c493046022100b663499ef73273a3788dea342717c2640ac43c5a1cf862c9e09b206fcb3f6bb8022100b09972e75972d9148f2bdd462e5cb69b57c1214b88fc55ca638676c07cfc10d8032103579ca2e6d107522f012cd00b52b9a65fb46f0c57b9b8b6e377c48f526a44741affffffff0380841e00000000001976a914bfb282c70c4191f45b5a6665cad1682f2c9cfdfb88ac80841e00000000001976a9149857cc07bed33a5cf12b9c5e0500b675d500c81188ace0fd1c00000000001976a91443c52850606c872403c0601e69fa34b26f62db4a88ac00000000", "P2SH"], - - ["ddc454a1c0c35c188c98976b17670f69e586d9c0f3593ea879928332f0a069e7, which spends an input that pushes using a PUSHDATA1 that is negative when read as signed"], - [[["c5510a5dd97a25f43175af1fe649b707b1df8e1a41489bac33a23087027a2f48", 0, "0x4c 0xae 0x606563686f2022553246736447566b58312b5a536e587574356542793066794778625456415675534a6c376a6a334878416945325364667657734f53474f36633338584d7439435c6e543249584967306a486956304f376e775236644546673d3d22203e20743b206f70656e73736c20656e63202d7061737320706173733a5b314a564d7751432d707269766b65792d6865785d202d64202d6165732d3235362d636263202d61202d696e207460 DROP DUP HASH160 0x14 0xbfd7436b6265aa9de506f8a994f881ff08cc2872 EQUALVERIFY CHECKSIG"]], - "0100000001482f7a028730a233ac9b48411a8edfb107b749e61faf7531f4257ad95d0a51c5000000008b483045022100bf0bbae9bde51ad2b222e87fbf67530fbafc25c903519a1e5dcc52a32ff5844e022028c4d9ad49b006dd59974372a54291d5764be541574bb0c4dc208ec51f80b7190141049dd4aad62741dc27d5f267f7b70682eee22e7e9c1923b9c0957bdae0b96374569b460eb8d5b40d972e8c7c0ad441de3d94c4a29864b212d56050acb980b72b2bffffffff0180969800000000001976a914e336d0017a9d28de99d16472f6ca6d5a3a8ebc9988ac00000000", "P2SH"], - -["Correct signature order"], -["Note the input is just required to make the tester happy"], -[[["b3da01dd4aae683c7aee4d5d8b52a540a508e1115f77cd7fa9a291243f501223", 0, "HASH160 0x14 0xb1ce99298d5f07364b57b1e5c9cc00be0b04a954 EQUAL"]], -"01000000012312503f2491a2a97fcd775f11e108a540a5528b5d4dee7a3c68ae4add01dab300000000fdfe0000483045022100f6649b0eddfdfd4ad55426663385090d51ee86c3481bdc6b0c18ea6c0ece2c0b0220561c315b07cffa6f7dd9df96dbae9200c2dee09bf93cc35ca05e6cdf613340aa0148304502207aacee820e08b0b174e248abd8d7a34ed63b5da3abedb99934df9fddd65c05c4022100dfe87896ab5ee3df476c2655f9fbe5bd089dccbef3e4ea05b5d121169fe7f5f4014c695221031d11db38972b712a9fe1fc023577c7ae3ddb4a3004187d41c45121eecfdbb5b7210207ec36911b6ad2382860d32989c7b8728e9489d7bbc94a6b5509ef0029be128821024ea9fac06f666a4adc3fc1357b7bec1fd0bdece2b9d08579226a8ebde53058e453aeffffffff0180380100000000001976a914c9b99cddf847d10685a4fabaa0baf505f7c3dfab88ac00000000", "P2SH"], - -["cc60b1f899ec0a69b7c3f25ddf32c4524096a9c5b01cbd84c6d0312a0c478984, which is a fairly strange transaction which relies on OP_CHECKSIG returning 0 when checking a completely invalid sig of length 0"], -[[["cbebc4da731e8995fe97f6fadcd731b36ad40e5ecb31e38e904f6e5982fa09f7", 0, "0x2102085c6600657566acc2d6382a47bc3f324008d2aa10940dd7705a48aa2a5a5e33ac7c2103f5d0fb955f95dd6be6115ce85661db412ec6a08abcbfce7da0ba8297c6cc0ec4ac7c5379a820d68df9e32a147cffa36193c6f7c43a1c8c69cda530e1c6db354bfabdcfefaf3c875379a820f531f3041d3136701ea09067c53e7159c8f9b2746a56c3d82966c54bbc553226879a5479827701200122a59a5379827701200122a59a6353798277537982778779679a68"]], -"0100000001f709fa82596e4f908ee331cb5e0ed46ab331d7dcfaf697fe95891e73dac4ebcb000000008c20ca42095840735e89283fec298e62ac2ddea9b5f34a8cbb7097ad965b87568100201b1b01dc829177da4a14551d2fc96a9db00c6501edfa12f22cd9cefd335c227f483045022100a9df60536df5733dd0de6bc921fab0b3eee6426501b43a228afa2c90072eb5ca02201c78b74266fac7d1db5deff080d8a403743203f109fbcabf6d5a760bf87386d20100ffffffff01c075790000000000232103611f9a45c18f28f06f19076ad571c344c82ce8fcfe34464cf8085217a2d294a6ac00000000", "P2SH"], - -["Empty pubkey"], -[[["229257c295e7f555421c1bfec8538dd30a4b5c37c1c8810bbe83cafa7811652c", 0, "0x00 CHECKSIG NOT"]], -"01000000012c651178faca83be0b81c8c1375c4b0ad38d53c8fe1b1c4255f5e795c25792220000000049483045022100d6044562284ac76c985018fc4a90127847708c9edb280996c507b28babdc4b2a02203d74eca3f1a4d1eea7ff77b528fde6d5dc324ec2dbfdb964ba885f643b9704cd01ffffffff010100000000000000232102c2410f8891ae918cab4ffc4bb4a3b0881be67c7a1e7faa8b5acf9ab8932ec30cac00000000", "P2SH"], - -["Empty signature"], -[[["9ca93cfd8e3806b9d9e2ba1cf64e3cc6946ee0119670b1796a09928d14ea25f7", 0, "0x21 0x028a1d66975dbdf97897e3a4aef450ebeb5b5293e4a0b4a6d3a2daaa0b2b110e02 CHECKSIG NOT"]], -"0100000001f725ea148d92096a79b1709611e06e94c63c4ef61cbae2d9b906388efd3ca99c000000000100ffffffff0101000000000000002321028a1d66975dbdf97897e3a4aef450ebeb5b5293e4a0b4a6d3a2daaa0b2b110e02ac00000000", "P2SH"], - -[[["444e00ed7840d41f20ecd9c11d3f91982326c731a02f3c05748414a4fa9e59be", 0, "1 0x00 0x21 0x02136b04758b0b6e363e7a6fbe83aaf527a153db2b060d36cc29f7f8309ba6e458 2 CHECKMULTISIG"]], -"0100000001be599efaa4148474053c2fa031c7262398913f1dc1d9ec201fd44078ed004e440000000048473044022022b29706cb2ed9ef0cb3c97b72677ca2dfd7b4160f7b4beb3ba806aa856c401502202d1e52582412eba2ed474f1f437a427640306fd3838725fab173ade7fe4eae4a01ffffffff010100000000000000232103ac4bba7e7ca3e873eea49e08132ad30c7f03640b6539e9b59903cf14fd016bbbac00000000", "P2SH"], - -[[["e16abbe80bf30c080f63830c8dbf669deaef08957446e95940227d8c5e6db612", 0, "1 0x21 0x03905380c7013e36e6e19d305311c1b81fce6581f5ee1c86ef0627c68c9362fc9f 0x00 2 CHECKMULTISIG"]], -"010000000112b66d5e8c7d224059e946749508efea9d66bf8d0c83630f080cf30be8bb6ae1000000004847304402206ffe3f14caf38ad5c1544428e99da76ffa5455675ec8d9780fac215ca17953520220779502985e194d84baa36b9bd40a0dbd981163fa191eb884ae83fc5bd1c86b1101ffffffff010100000000000000232103905380c7013e36e6e19d305311c1b81fce6581f5ee1c86ef0627c68c9362fc9fac00000000", "P2SH"], - -[[["ebbcf4bfce13292bd791d6a65a2a858d59adbf737e387e40370d4e64cc70efb0", 0, "2 0x21 0x033bcaa0a602f0d44cc9d5637c6e515b0471db514c020883830b7cefd73af04194 0x21 0x03a88b326f8767f4f192ce252afe33c94d25ab1d24f27f159b3cb3aa691ffe1423 2 CHECKMULTISIG NOT"]], -"0100000001b0ef70cc644e0d37407e387e73bfad598d852a5aa6d691d72b2913cebff4bceb0000000049473044022068cd4851fc7f9a892ab910df7a24e616f293bcb5c5fbdfbc304a194b26b60fba022078e6da13d8cb881a22939b952c24f88b97afd06b4c47a47d7f804c9a352a6d6d0100ffffffff0101000000000000002321033bcaa0a602f0d44cc9d5637c6e515b0471db514c020883830b7cefd73af04194ac00000000", "P2SH"], - -[[["ba4cd7ae2ad4d4d13ebfc8ab1d93a63e4a6563f25089a18bf0fc68f282aa88c1", 0, "2 0x21 0x037c615d761e71d38903609bf4f46847266edc2fb37532047d747ba47eaae5ffe1 0x21 0x02edc823cd634f2c4033d94f5755207cb6b60c4b1f1f056ad7471c47de5f2e4d50 2 CHECKMULTISIG NOT"]], -"0100000001c188aa82f268fcf08ba18950f263654a3ea6931dabc8bf3ed1d4d42aaed74cba000000004a00483045022100940378576e069aca261a6b26fb38344e4497ca6751bb10905c76bb689f4222b002204833806b014c26fd801727b792b1260003c55710f87c5adbd7a9cb57446dbc9801ffffffff0101000000000000002321037c615d761e71d38903609bf4f46847266edc2fb37532047d747ba47eaae5ffe1ac00000000", "P2SH"], - - -["CHECKSIG is legal in scriptSigs"], -[[["ccf7f4053a02e653c36ac75c891b7496d0dc5ce5214f6c913d9cf8f1329ebee0", 0, "DUP HASH160 0x14 0xee5a6aa40facefb2655ac23c0c28c57c65c41f9b EQUALVERIFY CHECKSIG"]], -"0100000001e0be9e32f1f89c3d916c4f21e55cdcd096741b895cc76ac353e6023a05f4f7cc00000000d86149304602210086e5f736a2c3622ebb62bd9d93d8e5d76508b98be922b97160edc3dcca6d8c47022100b23c312ac232a4473f19d2aeb95ab7bdf2b65518911a0d72d50e38b5dd31dc820121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ac4730440220508fa761865c8abd81244a168392876ee1d94e8ed83897066b5e2df2400dad24022043f5ee7538e87e9c6aef7ef55133d3e51da7cc522830a9c4d736977a76ef755c0121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ffffffff010000000000000000016a00000000", "P2SH"], - -["CHECKLOCKTIMEVERIFY tests"], - -["By-height locks, with argument == 0 and == tx nLockTime"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKLOCKTIMEVERIFY 1"]], -"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 CHECKLOCKTIMEVERIFY 1"]], -"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKLOCKTIMEVERIFY 1"]], -"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d", "P2SH"], - -["By-time locks, with argument just beyond tx nLockTime (but within numerical boundaries)"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 CHECKLOCKTIMEVERIFY 1"]], -"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967295 CHECKLOCKTIMEVERIFY 1"]], -"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "500000000 CHECKLOCKTIMEVERIFY 1"]], -"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff", "P2SH"], - -["Any non-maxint nSequence is fine"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKLOCKTIMEVERIFY 1"]], -"010000000100010000000000000000000000000000000000000000000000000000000000000000000000feffffff0100000000000000000000000000", "P2SH"], - -["The argument can be calculated rather than created directly by a PUSHDATA"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "499999999 1ADD CHECKLOCKTIMEVERIFY 1"]], -"01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", "P2SH"], - -["Perhaps even by an ADD producing a 5-byte result that is out of bounds for other opcodes"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483647 2147483647 ADD CHECKLOCKTIMEVERIFY 1"]], -"0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000feffffff", "P2SH"], - -["5 byte non-minimally-encoded arguments are valid"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x05 0x0000000000 CHECKLOCKTIMEVERIFY 1"]], -"010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH"], - -["Valid CHECKLOCKTIMEVERIFY in scriptSig"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]], -"01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b0000000000100000000000000000001000000", "P2SH"], - -["Valid CHECKLOCKTIMEVERIFY in redeemScript"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x105469277736a89dc89ce794f6db2ff926ce3b EQUAL"]], -"0100000001000100000000000000000000000000000000000000000000000000000000000000000000040351b051000000000100000000000000000001000000", "P2SH"], - -["A transaction with a non-standard DER signature."], -[[["b1dbc81696c8a9c0fccd0693ab66d7c368dbc38c0def4e800685560ddd1b2132", 0, "DUP HASH160 0x14 0x4b3bd7eba3bc0284fd3007be7f3be275e94f5826 EQUALVERIFY CHECKSIG"]], -"010000000132211bdd0d568506804eef0d8cc3db68c3d766ab9306cdfcc0a9c89616c8dbb1000000006c493045022100c7bb0faea0522e74ff220c20c022d2cb6033f8d167fb89e75a50e237a35fd6d202203064713491b1f8ad5f79e623d0219ad32510bfaa1009ab30cbee77b59317d6e30001210237af13eb2d84e4545af287b919c2282019c9691cc509e78e196a9d8274ed1be0ffffffff0100000000000000001976a914f1b3ed2eda9a2ebe5a9374f692877cdf87c0f95b88ac00000000", "P2SH"], - -["CHECKSEQUENCEVERIFY tests"], - -["By-height locks, with argument == 0 and == txin.nSequence"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "65535 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffff00000100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "65535 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000", "P2SH"], - -["By-time locks, with argument == 0 and == txin.nSequence"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4194304 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4259839 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffff40000100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4259839 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4194304 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000", "P2SH"], - -["Upper sequence with upper sequence is fine"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483648 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000800100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967295 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000800100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483648 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000feffffff0100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967295 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000feffffff0100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483648 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967295 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000", "P2SH"], - -["Argument 2^31 with various nSequence"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483648 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483648 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483648 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000", "P2SH"], - -["Argument 2^32-1 with various nSequence"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967295 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967295 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4294967295 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000", "P2SH"], - -["Argument 3<<31 with various nSequence"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "6442450944 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "6442450944 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "6442450944 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000", "P2SH"], - -["5 byte non-minimally-encoded operandss are valid"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "0x05 0x0000000000 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH"], - -["The argument can be calculated rather than created directly by a PUSHDATA"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4194303 1ADD CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "4194304 1SUB CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffff00000100000000000000000000000000", "P2SH"], - -["An ADD producing a 5-byte result that sets CTxIn::SEQUENCE_LOCKTIME_DISABLE_FLAG"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483647 65536 CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", "P2SH"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "2147483647 4259840 ADD CHECKSEQUENCEVERIFY 1"]], -"020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000", "P2SH"], - -["Valid CHECKSEQUENCEVERIFY in scriptSig"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "1"]], -"02000000010001000000000000000000000000000000000000000000000000000000000000000000000251b2010000000100000000000000000000000000", "P2SH"], - -["Valid CHECKSEQUENCEVERIFY in redeemScript"], -[[["0000000000000000000000000000000000000000000000000000000000000100", 0, "HASH160 0x14 0x7c17aff532f22beb54069942f9bf567a66133eaf EQUAL"]], -"0200000001000100000000000000000000000000000000000000000000000000000000000000000000030251b2010000000100000000000000000000000000", "P2SH"], - -["Make diffs cleaner by leaving a comment here without comma at the end"] + [ + "The following are deserialized transactions which are valid." + ], + [ + "They are in the form" + ], + [ + "[[[prevout hash, prevout index, prevout scriptPubKey, amount?], [input 2], ...]," + ], + [ + "serializedTransaction, verifyFlags]" + ], + [ + "Objects that are only a single string (like this one) are ignored" + ], + [ + "The following is 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63" + ], + [ + "It is of particular interest because it contains an invalidly-encoded signature which OpenSSL accepts" + ], + [ + "See http://r6.ca/blog/20111119T211504Z.html" + ], + [ + "It is also the first OP_CHECKMULTISIG transaction in standard form" + ], + [ + [ + [ + "60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1", + 0, + "1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG" + ] + ], + "0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba260000000004847304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2b01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000", + "P2SH" + ], + [ + "The following is a tweaked form of 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63" + ], + [ + "It is an OP_CHECKMULTISIG with an arbitrary extra byte stuffed into the signature at pos length - 2" + ], + [ + [ + [ + "60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1", + 0, + "1 0x41 0x04cc71eb30d653c0c3163990c47b976f3fb3f37cccdcbedb169a1dfef58bbfbfaff7d8a473e7e2e6d317b87bafe8bde97e3cf8f065dec022b51d11fcdd0d348ac4 0x41 0x0461cbdcc5409fb4b4d42b51d33381354d80e550078cb532a34bfa2fcfdeb7d76519aecc62770f5b0e4ef8551946d8a540911abe3e7854a26f39f58b25c15342af 2 OP_CHECKMULTISIG" + ] + ], + "0100000001b14bdcbc3e01bdaad36cc08e81e69c82e1060bc14e518db2b49aa43ad90ba260000000004948304402203f16c6f40162ab686621ef3000b04e75418a0c0cb2d8aebeac894ae360ac1e780220ddc15ecdfc3507ac48e1681a33eb60996631bf6bf5bc0a0682c4db743ce7ca2bab01ffffffff0140420f00000000001976a914660d4ef3a743e3e696ad990364e555c271ad504b88ac00000000", + "P2SH" + ], + [ + "The following is c99c49da4c38af669dea436d3e73780dfdb6c1ecf9958baa52960e8baee30e73" + ], + [ + "It is of interest because it contains a 0-sequence as well as a signature of SIGHASH type 0 (which is not a real type)" + ], + [ + [ + [ + "406b2b06bcd34d3c8733e6b79f7a394c8a431fbf4ff5ac705c93f4076bb77602", + 0, + "DUP HASH160 0x14 0xdc44b1164188067c3a32d4780f5996fa14a4f2d9 EQUALVERIFY CHECKSIG" + ] + ], + "01000000010276b76b07f4935c70acf54fbf1f438a4c397a9fb7e633873c4dd3bc062b6b40000000008c493046022100d23459d03ed7e9511a47d13292d3430a04627de6235b6e51a40f9cd386f2abe3022100e7d25b080f0bb8d8d5f878bba7d54ad2fda650ea8d158a33ee3cbd11768191fd004104b0e2c879e4daf7b9ab68350228c159766676a14f5815084ba166432aab46198d4cca98fa3e9981d0a90b2effc514b76279476550ba3663fdcaff94c38420e9d5000000000100093d00000000001976a9149a7b0f3b80c6baaeedce0a0842553800f832ba1f88ac00000000", + "P2SH" + ], + [ + "A nearly-standard transaction with CHECKSIGVERIFY 1 instead of CHECKSIG" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "DUP HASH160 0x14 0x5b6462475454710f3c22f5fdf0b40704c92f25c3 EQUALVERIFY CHECKSIGVERIFY 1" + ] + ], + "01000000010001000000000000000000000000000000000000000000000000000000000000000000006a473044022067288ea50aa799543a536ff9306f8e1cba05b9c6b10951175b924f96732555ed022026d7b5265f38d21541519e4a1e55044d5b9e17e15cdbaf29ae3792e99e883e7a012103ba8c8b86dea131c22ab967e6dd99bdae8eff7a1f75a2c35f1f944109e3fe5e22ffffffff010000000000000000015100000000", + "P2SH" + ], + [ + "The following is f7fdd091fa6d8f5e7a8c2458f5c38faffff2d3f1406b6e4fe2c99dcc0d2d1cbb" + ], + [ + "It caught a bug in the workaround for 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63 in an overly simple implementation" + ], + [ + [ + [ + "b464e85df2a238416f8bdae11d120add610380ea07f4ef19c5f9dfd472f96c3d", + 0, + "DUP HASH160 0x14 0xbef80ecf3a44500fda1bc92176e442891662aed2 EQUALVERIFY CHECKSIG" + ], + [ + "b7978cc96e59a8b13e0865d3f95657561a7f725be952438637475920bac9eb21", + 1, + "DUP HASH160 0x14 0xbef80ecf3a44500fda1bc92176e442891662aed2 EQUALVERIFY CHECKSIG" + ] + ], + "01000000023d6cf972d4dff9c519eff407ea800361dd0a121de1da8b6f4138a2f25de864b4000000008a4730440220ffda47bfc776bcd269da4832626ac332adfca6dd835e8ecd83cd1ebe7d709b0e022049cffa1cdc102a0b56e0e04913606c70af702a1149dc3b305ab9439288fee090014104266abb36d66eb4218a6dd31f09bb92cf3cfa803c7ea72c1fc80a50f919273e613f895b855fb7465ccbc8919ad1bd4a306c783f22cd3227327694c4fa4c1c439affffffff21ebc9ba20594737864352e95b727f1a565756f9d365083eb1a8596ec98c97b7010000008a4730440220503ff10e9f1e0de731407a4a245531c9ff17676eda461f8ceeb8c06049fa2c810220c008ac34694510298fa60b3f000df01caa244f165b727d4896eb84f81e46bcc4014104266abb36d66eb4218a6dd31f09bb92cf3cfa803c7ea72c1fc80a50f919273e613f895b855fb7465ccbc8919ad1bd4a306c783f22cd3227327694c4fa4c1c439affffffff01f0da5200000000001976a914857ccd42dded6df32949d4646dfa10a92458cfaa88ac00000000", + "P2SH" + ], + [ + "An invalid P2SH Transaction" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "HASH160 0x14 0x7a052c840ba73af26755de42cf01cc9e0a49fef0 EQUAL" + ] + ], + "010000000100010000000000000000000000000000000000000000000000000000000000000000000009085768617420697320ffffffff010000000000000000015100000000", + "NONE" + ], + [ + "A valid P2SH Transaction using the standard transaction type put forth in BIP 16" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "HASH160 0x14 0x8febbed40483661de6958d957412f82deed8e2f7 EQUAL" + ] + ], + "01000000010001000000000000000000000000000000000000000000000000000000000000000000006e493046022100c66c9cdf4c43609586d15424c54707156e316d88b0a1534c9e6b0d4f311406310221009c0fe51dbc9c4ab7cc25d3fdbeccf6679fe6827f08edf2b4a9f16ee3eb0e438a0123210338e8034509af564c62644c07691942e0c056752008a173c89f60ab2a88ac2ebfacffffffff010000000000000000015100000000", + "P2SH" + ], + [ + "Tests for CheckTransaction()" + ], + [ + "MAX_MONEY output" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "HASH160 0x14 0x32afac281462b822adbec5094b8d4d337dd5bd6a EQUAL" + ] + ], + "01000000010001000000000000000000000000000000000000000000000000000000000000000000006e493046022100e1eadba00d9296c743cb6ecc703fd9ddc9b3cd12906176a226ae4c18d6b00796022100a71aef7d2874deff681ba6080f1b278bac7bb99c61b08a85f4311970ffe7f63f012321030c0588dc44d92bdcbf8e72093466766fdc265ead8db64517b0c542275b70fffbacffffffff010040075af0750700015100000000", + "P2SH" + ], + [ + "MAX_MONEY output + 0 output" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "HASH160 0x14 0xb558cbf4930954aa6a344363a15668d7477ae716 EQUAL" + ] + ], + "01000000010001000000000000000000000000000000000000000000000000000000000000000000006d483045022027deccc14aa6668e78a8c9da3484fbcd4f9dcc9bb7d1b85146314b21b9ae4d86022100d0b43dece8cfb07348de0ca8bc5b86276fa88f7f2138381128b7c36ab2e42264012321029bb13463ddd5d2cc05da6e84e37536cb9525703cfd8f43afdb414988987a92f6acffffffff020040075af075070001510000000000000000015100000000", + "P2SH" + ], + [ + "Coinbase of size 2" + ], + [ + "Note the input is just required to make the tester happy" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000000", + -1, + "1" + ] + ], + "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff025151ffffffff010000000000000000015100000000", + "P2SH" + ], + [ + "Coinbase of size 100" + ], + [ + "Note the input is just required to make the tester happy" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000000", + -1, + "1" + ] + ], + "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff6451515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151ffffffff010000000000000000015100000000", + "P2SH" + ], + [ + "Simple transaction with first input is signed with SIGHASH_ALL, second with SIGHASH_ANYONECANPAY" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG" + ], + [ + "0000000000000000000000000000000000000000000000000000000000000200", + 0, + "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG" + ] + ], + "010000000200010000000000000000000000000000000000000000000000000000000000000000000049483045022100d180fd2eb9140aeb4210c9204d3f358766eb53842b2a9473db687fa24b12a3cc022079781799cd4f038b85135bbe49ec2b57f306b2bb17101b17f71f000fcab2b6fb01ffffffff0002000000000000000000000000000000000000000000000000000000000000000000004847304402205f7530653eea9b38699e476320ab135b74771e1c48b81a5d041e2ca84b9be7a802200ac8d1f40fb026674fe5a5edd3dea715c27baa9baca51ed45ea750ac9dc0a55e81ffffffff010100000000000000015100000000", + "P2SH" + ], + [ + "Same as above, but we change the sequence number of the first input to check that SIGHASH_ANYONECANPAY is being followed" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG" + ], + [ + "0000000000000000000000000000000000000000000000000000000000000200", + 0, + "0x21 0x035e7f0d4d0841bcd56c39337ed086b1a633ee770c1ffdd94ac552a95ac2ce0efc CHECKSIG" + ] + ], + "01000000020001000000000000000000000000000000000000000000000000000000000000000000004948304502203a0f5f0e1f2bdbcd04db3061d18f3af70e07f4f467cbc1b8116f267025f5360b022100c792b6e215afc5afc721a351ec413e714305cb749aae3d7fee76621313418df101010000000002000000000000000000000000000000000000000000000000000000000000000000004847304402205f7530653eea9b38699e476320ab135b74771e1c48b81a5d041e2ca84b9be7a802200ac8d1f40fb026674fe5a5edd3dea715c27baa9baca51ed45ea750ac9dc0a55e81ffffffff010100000000000000015100000000", + "P2SH" + ], + [ + "afd9c17f8913577ec3509520bd6e5d63e9c0fd2a5f70c787993b097ba6ca9fae which has several SIGHASH_SINGLE signatures" + ], + [ + [ + [ + "63cfa5a09dc540bf63e53713b82d9ea3692ca97cd608c384f2aa88e51a0aac70", + 0, + "DUP HASH160 0x14 0xdcf72c4fd02f5a987cf9b02f2fabfcac3341a87d EQUALVERIFY CHECKSIG" + ], + [ + "04e8d0fcf3846c6734477b98f0f3d4badfb78f020ee097a0be5fe347645b817d", + 1, + "DUP HASH160 0x14 0xdcf72c4fd02f5a987cf9b02f2fabfcac3341a87d EQUALVERIFY CHECKSIG" + ], + [ + "ee1377aff5d0579909e11782e1d2f5f7b84d26537be7f5516dd4e43373091f3f", + 1, + "DUP HASH160 0x14 0xdcf72c4fd02f5a987cf9b02f2fabfcac3341a87d EQUALVERIFY CHECKSIG" + ] + ], + "010000000370ac0a1ae588aaf284c308d67ca92c69a39e2db81337e563bf40c59da0a5cf63000000006a4730440220360d20baff382059040ba9be98947fd678fb08aab2bb0c172efa996fd8ece9b702201b4fb0de67f015c90e7ac8a193aeab486a1f587e0f54d0fb9552ef7f5ce6caec032103579ca2e6d107522f012cd00b52b9a65fb46f0c57b9b8b6e377c48f526a44741affffffff7d815b6447e35fbea097e00e028fb7dfbad4f3f0987b4734676c84f3fcd0e804010000006b483045022100c714310be1e3a9ff1c5f7cacc65c2d8e781fc3a88ceb063c6153bf950650802102200b2d0979c76e12bb480da635f192cc8dc6f905380dd4ac1ff35a4f68f462fffd032103579ca2e6d107522f012cd00b52b9a65fb46f0c57b9b8b6e377c48f526a44741affffffff3f1f097333e4d46d51f5e77b53264db8f7f5d2e18217e1099957d0f5af7713ee010000006c493046022100b663499ef73273a3788dea342717c2640ac43c5a1cf862c9e09b206fcb3f6bb8022100b09972e75972d9148f2bdd462e5cb69b57c1214b88fc55ca638676c07cfc10d8032103579ca2e6d107522f012cd00b52b9a65fb46f0c57b9b8b6e377c48f526a44741affffffff0380841e00000000001976a914bfb282c70c4191f45b5a6665cad1682f2c9cfdfb88ac80841e00000000001976a9149857cc07bed33a5cf12b9c5e0500b675d500c81188ace0fd1c00000000001976a91443c52850606c872403c0601e69fa34b26f62db4a88ac00000000", + "P2SH" + ], + [ + "ddc454a1c0c35c188c98976b17670f69e586d9c0f3593ea879928332f0a069e7, which spends an input that pushes using a PUSHDATA1 that is negative when read as signed" + ], + [ + [ + [ + "c5510a5dd97a25f43175af1fe649b707b1df8e1a41489bac33a23087027a2f48", + 0, + "0x4c 0xae 0x606563686f2022553246736447566b58312b5a536e587574356542793066794778625456415675534a6c376a6a334878416945325364667657734f53474f36633338584d7439435c6e543249584967306a486956304f376e775236644546673d3d22203e20743b206f70656e73736c20656e63202d7061737320706173733a5b314a564d7751432d707269766b65792d6865785d202d64202d6165732d3235362d636263202d61202d696e207460 DROP DUP HASH160 0x14 0xbfd7436b6265aa9de506f8a994f881ff08cc2872 EQUALVERIFY CHECKSIG" + ] + ], + "0100000001482f7a028730a233ac9b48411a8edfb107b749e61faf7531f4257ad95d0a51c5000000008b483045022100bf0bbae9bde51ad2b222e87fbf67530fbafc25c903519a1e5dcc52a32ff5844e022028c4d9ad49b006dd59974372a54291d5764be541574bb0c4dc208ec51f80b7190141049dd4aad62741dc27d5f267f7b70682eee22e7e9c1923b9c0957bdae0b96374569b460eb8d5b40d972e8c7c0ad441de3d94c4a29864b212d56050acb980b72b2bffffffff0180969800000000001976a914e336d0017a9d28de99d16472f6ca6d5a3a8ebc9988ac00000000", + "P2SH" + ], + [ + "Correct signature order" + ], + [ + "Note the input is just required to make the tester happy" + ], + [ + [ + [ + "b3da01dd4aae683c7aee4d5d8b52a540a508e1115f77cd7fa9a291243f501223", + 0, + "HASH160 0x14 0xb1ce99298d5f07364b57b1e5c9cc00be0b04a954 EQUAL" + ] + ], + "01000000012312503f2491a2a97fcd775f11e108a540a5528b5d4dee7a3c68ae4add01dab300000000fdfe0000483045022100f6649b0eddfdfd4ad55426663385090d51ee86c3481bdc6b0c18ea6c0ece2c0b0220561c315b07cffa6f7dd9df96dbae9200c2dee09bf93cc35ca05e6cdf613340aa0148304502207aacee820e08b0b174e248abd8d7a34ed63b5da3abedb99934df9fddd65c05c4022100dfe87896ab5ee3df476c2655f9fbe5bd089dccbef3e4ea05b5d121169fe7f5f4014c695221031d11db38972b712a9fe1fc023577c7ae3ddb4a3004187d41c45121eecfdbb5b7210207ec36911b6ad2382860d32989c7b8728e9489d7bbc94a6b5509ef0029be128821024ea9fac06f666a4adc3fc1357b7bec1fd0bdece2b9d08579226a8ebde53058e453aeffffffff0180380100000000001976a914c9b99cddf847d10685a4fabaa0baf505f7c3dfab88ac00000000", + "P2SH" + ], + [ + "cc60b1f899ec0a69b7c3f25ddf32c4524096a9c5b01cbd84c6d0312a0c478984, which is a fairly strange transaction which relies on OP_CHECKSIG returning 0 when checking a completely invalid sig of length 0" + ], + [ + [ + [ + "cbebc4da731e8995fe97f6fadcd731b36ad40e5ecb31e38e904f6e5982fa09f7", + 0, + "0x2102085c6600657566acc2d6382a47bc3f324008d2aa10940dd7705a48aa2a5a5e33ac7c2103f5d0fb955f95dd6be6115ce85661db412ec6a08abcbfce7da0ba8297c6cc0ec4ac7c5379a820d68df9e32a147cffa36193c6f7c43a1c8c69cda530e1c6db354bfabdcfefaf3c875379a820f531f3041d3136701ea09067c53e7159c8f9b2746a56c3d82966c54bbc553226879a5479827701200122a59a5379827701200122a59a6353798277537982778779679a68" + ] + ], + "0100000001f709fa82596e4f908ee331cb5e0ed46ab331d7dcfaf697fe95891e73dac4ebcb000000008c20ca42095840735e89283fec298e62ac2ddea9b5f34a8cbb7097ad965b87568100201b1b01dc829177da4a14551d2fc96a9db00c6501edfa12f22cd9cefd335c227f483045022100a9df60536df5733dd0de6bc921fab0b3eee6426501b43a228afa2c90072eb5ca02201c78b74266fac7d1db5deff080d8a403743203f109fbcabf6d5a760bf87386d20100ffffffff01c075790000000000232103611f9a45c18f28f06f19076ad571c344c82ce8fcfe34464cf8085217a2d294a6ac00000000", + "P2SH" + ], + [ + "Empty pubkey" + ], + [ + [ + [ + "229257c295e7f555421c1bfec8538dd30a4b5c37c1c8810bbe83cafa7811652c", + 0, + "0x00 CHECKSIG NOT" + ] + ], + "01000000012c651178faca83be0b81c8c1375c4b0ad38d53c8fe1b1c4255f5e795c25792220000000049483045022100d6044562284ac76c985018fc4a90127847708c9edb280996c507b28babdc4b2a02203d74eca3f1a4d1eea7ff77b528fde6d5dc324ec2dbfdb964ba885f643b9704cd01ffffffff010100000000000000232102c2410f8891ae918cab4ffc4bb4a3b0881be67c7a1e7faa8b5acf9ab8932ec30cac00000000", + "P2SH" + ], + [ + "Empty signature" + ], + [ + [ + [ + "9ca93cfd8e3806b9d9e2ba1cf64e3cc6946ee0119670b1796a09928d14ea25f7", + 0, + "0x21 0x028a1d66975dbdf97897e3a4aef450ebeb5b5293e4a0b4a6d3a2daaa0b2b110e02 CHECKSIG NOT" + ] + ], + "0100000001f725ea148d92096a79b1709611e06e94c63c4ef61cbae2d9b906388efd3ca99c000000000100ffffffff0101000000000000002321028a1d66975dbdf97897e3a4aef450ebeb5b5293e4a0b4a6d3a2daaa0b2b110e02ac00000000", + "P2SH" + ], + [ + [ + [ + "444e00ed7840d41f20ecd9c11d3f91982326c731a02f3c05748414a4fa9e59be", + 0, + "1 0x00 0x21 0x02136b04758b0b6e363e7a6fbe83aaf527a153db2b060d36cc29f7f8309ba6e458 2 CHECKMULTISIG" + ] + ], + "0100000001be599efaa4148474053c2fa031c7262398913f1dc1d9ec201fd44078ed004e440000000048473044022022b29706cb2ed9ef0cb3c97b72677ca2dfd7b4160f7b4beb3ba806aa856c401502202d1e52582412eba2ed474f1f437a427640306fd3838725fab173ade7fe4eae4a01ffffffff010100000000000000232103ac4bba7e7ca3e873eea49e08132ad30c7f03640b6539e9b59903cf14fd016bbbac00000000", + "P2SH" + ], + [ + [ + [ + "e16abbe80bf30c080f63830c8dbf669deaef08957446e95940227d8c5e6db612", + 0, + "1 0x21 0x03905380c7013e36e6e19d305311c1b81fce6581f5ee1c86ef0627c68c9362fc9f 0x00 2 CHECKMULTISIG" + ] + ], + "010000000112b66d5e8c7d224059e946749508efea9d66bf8d0c83630f080cf30be8bb6ae1000000004847304402206ffe3f14caf38ad5c1544428e99da76ffa5455675ec8d9780fac215ca17953520220779502985e194d84baa36b9bd40a0dbd981163fa191eb884ae83fc5bd1c86b1101ffffffff010100000000000000232103905380c7013e36e6e19d305311c1b81fce6581f5ee1c86ef0627c68c9362fc9fac00000000", + "P2SH" + ], + [ + [ + [ + "ebbcf4bfce13292bd791d6a65a2a858d59adbf737e387e40370d4e64cc70efb0", + 0, + "2 0x21 0x033bcaa0a602f0d44cc9d5637c6e515b0471db514c020883830b7cefd73af04194 0x21 0x03a88b326f8767f4f192ce252afe33c94d25ab1d24f27f159b3cb3aa691ffe1423 2 CHECKMULTISIG NOT" + ] + ], + "0100000001b0ef70cc644e0d37407e387e73bfad598d852a5aa6d691d72b2913cebff4bceb0000000049473044022068cd4851fc7f9a892ab910df7a24e616f293bcb5c5fbdfbc304a194b26b60fba022078e6da13d8cb881a22939b952c24f88b97afd06b4c47a47d7f804c9a352a6d6d0100ffffffff0101000000000000002321033bcaa0a602f0d44cc9d5637c6e515b0471db514c020883830b7cefd73af04194ac00000000", + "P2SH" + ], + [ + [ + [ + "ba4cd7ae2ad4d4d13ebfc8ab1d93a63e4a6563f25089a18bf0fc68f282aa88c1", + 0, + "2 0x21 0x037c615d761e71d38903609bf4f46847266edc2fb37532047d747ba47eaae5ffe1 0x21 0x02edc823cd634f2c4033d94f5755207cb6b60c4b1f1f056ad7471c47de5f2e4d50 2 CHECKMULTISIG NOT" + ] + ], + "0100000001c188aa82f268fcf08ba18950f263654a3ea6931dabc8bf3ed1d4d42aaed74cba000000004a00483045022100940378576e069aca261a6b26fb38344e4497ca6751bb10905c76bb689f4222b002204833806b014c26fd801727b792b1260003c55710f87c5adbd7a9cb57446dbc9801ffffffff0101000000000000002321037c615d761e71d38903609bf4f46847266edc2fb37532047d747ba47eaae5ffe1ac00000000", + "P2SH" + ], + [ + "CHECKSIG is legal in scriptSigs" + ], + [ + [ + [ + "ccf7f4053a02e653c36ac75c891b7496d0dc5ce5214f6c913d9cf8f1329ebee0", + 0, + "DUP HASH160 0x14 0xee5a6aa40facefb2655ac23c0c28c57c65c41f9b EQUALVERIFY CHECKSIG" + ] + ], + "0100000001e0be9e32f1f89c3d916c4f21e55cdcd096741b895cc76ac353e6023a05f4f7cc00000000d86149304602210086e5f736a2c3622ebb62bd9d93d8e5d76508b98be922b97160edc3dcca6d8c47022100b23c312ac232a4473f19d2aeb95ab7bdf2b65518911a0d72d50e38b5dd31dc820121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ac4730440220508fa761865c8abd81244a168392876ee1d94e8ed83897066b5e2df2400dad24022043f5ee7538e87e9c6aef7ef55133d3e51da7cc522830a9c4d736977a76ef755c0121038479a0fa998cd35259a2ef0a7a5c68662c1474f88ccb6d08a7677bbec7f22041ffffffff010000000000000000016a00000000", + "P2SH" + ], + [ + "CHECKLOCKTIMEVERIFY tests" + ], + [ + "By-height locks, with argument == 0 and == tx nLockTime" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "0 CHECKLOCKTIMEVERIFY 1" + ] + ], + "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "499999999 CHECKLOCKTIMEVERIFY 1" + ] + ], + "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "0 CHECKLOCKTIMEVERIFY 1" + ] + ], + "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ff64cd1d", + "P2SH" + ], + [ + "By-time locks, with argument just beyond tx nLockTime (but within numerical boundaries)" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "500000000 CHECKLOCKTIMEVERIFY 1" + ] + ], + "01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4294967295 CHECKLOCKTIMEVERIFY 1" + ] + ], + "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "500000000 CHECKLOCKTIMEVERIFY 1" + ] + ], + "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000ffffffff", + "P2SH" + ], + [ + "Any non-maxint nSequence is fine" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "0 CHECKLOCKTIMEVERIFY 1" + ] + ], + "010000000100010000000000000000000000000000000000000000000000000000000000000000000000feffffff0100000000000000000000000000", + "P2SH" + ], + [ + "The argument can be calculated rather than created directly by a PUSHDATA" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "499999999 1ADD CHECKLOCKTIMEVERIFY 1" + ] + ], + "01000000010001000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000065cd1d", + "P2SH" + ], + [ + "Perhaps even by an ADD producing a 5-byte result that is out of bounds for other opcodes" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "2147483647 2147483647 ADD CHECKLOCKTIMEVERIFY 1" + ] + ], + "0100000001000100000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000feffffff", + "P2SH" + ], + [ + "5 byte non-minimally-encoded arguments are valid" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "0x05 0x0000000000 CHECKLOCKTIMEVERIFY 1" + ] + ], + "010000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", + "P2SH" + ], + [ + "Valid CHECKLOCKTIMEVERIFY in scriptSig" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "1" + ] + ], + "01000000010001000000000000000000000000000000000000000000000000000000000000000000000251b0000000000100000000000000000001000000", + "P2SH" + ], + [ + "Valid CHECKLOCKTIMEVERIFY in redeemScript" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "HASH160 0x14 0x105469277736a89dc89ce794f6db2ff926ce3b EQUAL" + ] + ], + "0100000001000100000000000000000000000000000000000000000000000000000000000000000000040351b051000000000100000000000000000001000000", + "P2SH" + ], + [ + "A transaction with a non-standard DER signature." + ], + [ + [ + [ + "b1dbc81696c8a9c0fccd0693ab66d7c368dbc38c0def4e800685560ddd1b2132", + 0, + "DUP HASH160 0x14 0x4b3bd7eba3bc0284fd3007be7f3be275e94f5826 EQUALVERIFY CHECKSIG" + ] + ], + "010000000132211bdd0d568506804eef0d8cc3db68c3d766ab9306cdfcc0a9c89616c8dbb1000000006c493045022100c7bb0faea0522e74ff220c20c022d2cb6033f8d167fb89e75a50e237a35fd6d202203064713491b1f8ad5f79e623d0219ad32510bfaa1009ab30cbee77b59317d6e30001210237af13eb2d84e4545af287b919c2282019c9691cc509e78e196a9d8274ed1be0ffffffff0100000000000000001976a914f1b3ed2eda9a2ebe5a9374f692877cdf87c0f95b88ac00000000", + "P2SH" + ], + [ + "CHECKSEQUENCEVERIFY tests" + ], + [ + "By-height locks, with argument == 0 and == txin.nSequence" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "0 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "65535 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffff00000100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "65535 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "0 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000", + "P2SH" + ], + [ + "By-time locks, with argument == 0 and == txin.nSequence" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4194304 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4259839 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffff40000100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4259839 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4194304 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000", + "P2SH" + ], + [ + "Upper sequence with upper sequence is fine" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "2147483648 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000800100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4294967295 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000800100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "2147483648 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000feffffff0100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4294967295 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000feffffff0100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "2147483648 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4294967295 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000", + "P2SH" + ], + [ + "Argument 2^31 with various nSequence" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "2147483648 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "2147483648 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "2147483648 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000", + "P2SH" + ], + [ + "Argument 2^32-1 with various nSequence" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4294967295 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4294967295 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4294967295 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000", + "P2SH" + ], + [ + "Argument 3<<31 with various nSequence" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "6442450944 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffbf7f0100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "6442450944 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "6442450944 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffffffff0100000000000000000000000000", + "P2SH" + ], + [ + "5 byte non-minimally-encoded operandss are valid" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "0x05 0x0000000000 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", + "P2SH" + ], + [ + "The argument can be calculated rather than created directly by a PUSHDATA" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4194303 1ADD CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "4194304 1SUB CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000ffff00000100000000000000000000000000", + "P2SH" + ], + [ + "An ADD producing a 5-byte result that sets CTxIn::SEQUENCE_LOCKTIME_DISABLE_FLAG" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "2147483647 65536 CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000", + "P2SH" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "2147483647 4259840 ADD CHECKSEQUENCEVERIFY 1" + ] + ], + "020000000100010000000000000000000000000000000000000000000000000000000000000000000000000040000100000000000000000000000000", + "P2SH" + ], + [ + "Valid CHECKSEQUENCEVERIFY in scriptSig" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "1" + ] + ], + "02000000010001000000000000000000000000000000000000000000000000000000000000000000000251b2010000000100000000000000000000000000", + "P2SH" + ], + [ + "Valid CHECKSEQUENCEVERIFY in redeemScript" + ], + [ + [ + [ + "0000000000000000000000000000000000000000000000000000000000000100", + 0, + "HASH160 0x14 0x7c17aff532f22beb54069942f9bf567a66133eaf EQUAL" + ] + ], + "0200000001000100000000000000000000000000000000000000000000000000000000000000000000030251b2010000000100000000000000000000000000", + "P2SH" + ], + [ + "Make diffs cleaner by leaving a comment here without comma at the end" + ] ] diff --git a/txscript/engine.go b/txscript/engine.go index 07ad3067b..84124b04d 100644 --- a/txscript/engine.go +++ b/txscript/engine.go @@ -17,7 +17,6 @@ import ( type ScriptFlags uint32 const ( - // ScriptNoFlags is used when you want to use ScriptFlags without raising any flags ScriptNoFlags ScriptFlags = 0 diff --git a/txscript/reference_test.go b/txscript/reference_test.go index 9f2b971d7..a5ee07570 100644 --- a/txscript/reference_test.go +++ b/txscript/reference_test.go @@ -7,8 +7,8 @@ package txscript import ( "encoding/hex" "encoding/json" - "errors" "fmt" + "github.com/pkg/errors" "io/ioutil" "strconv" "strings" @@ -24,7 +24,7 @@ func scriptTestName(test []interface{}) (string, error) { // The test must consist of a signature script, public key script, flags, // and expected error. Finally, it may optionally contain a comment. if len(test) < 4 || len(test) > 5 { - return "", fmt.Errorf("invalid test length %d", len(test)) + return "", errors.Errorf("invalid test length %d", len(test)) } // Use the comment for the test name if one is specified, otherwise, @@ -116,7 +116,7 @@ func parseShortForm(script string) ([]byte, error) { } else if opcode, ok := shortFormOps[tok]; ok { builder.AddOp(opcode) } else { - return nil, fmt.Errorf("bad token %q", tok) + return nil, errors.Errorf("bad token %q", tok) } } @@ -136,7 +136,7 @@ func parseScriptFlags(flagStr string) (ScriptFlags, error) { case "DISCOURAGE_UPGRADABLE_NOPS": flags |= ScriptDiscourageUpgradableNops default: - return flags, fmt.Errorf("invalid flag: %s", flag) + return flags, errors.Errorf("invalid flag: %s", flag) } } return flags, nil @@ -208,7 +208,7 @@ func parseExpectedResult(expected string) ([]ErrorCode, error) { return []ErrorCode{ErrMinimalIf}, nil } - return nil, fmt.Errorf("unrecognized expected result in test data: %v", + return nil, errors.Errorf("unrecognized expected result in test data: %v", expected) } diff --git a/txscript/script.go b/txscript/script.go index 4b6527aca..1363ef3b3 100644 --- a/txscript/script.go +++ b/txscript/script.go @@ -8,6 +8,7 @@ import ( "bytes" "encoding/binary" "fmt" + "github.com/pkg/errors" "github.com/daglabs/btcd/util/daghash" "github.com/daglabs/btcd/wire" @@ -287,7 +288,7 @@ func shallowCopyTx(tx *wire.MsgTx) wire.MsgTx { func CalcSignatureHash(script []byte, hashType SigHashType, tx *wire.MsgTx, idx int) ([]byte, error) { parsedScript, err := parseScript(script) if err != nil { - return nil, fmt.Errorf("cannot parse output script: %s", err) + return nil, errors.Errorf("cannot parse output script: %s", err) } return calcSignatureHash(parsedScript, hashType, tx, idx) } diff --git a/txscript/sign.go b/txscript/sign.go index 891c2a300..f663333b4 100644 --- a/txscript/sign.go +++ b/txscript/sign.go @@ -5,8 +5,7 @@ package txscript import ( - "errors" - "fmt" + "github.com/pkg/errors" "github.com/daglabs/btcd/btcec" "github.com/daglabs/btcd/dagconfig" @@ -25,7 +24,7 @@ func RawTxInSignature(tx *wire.MsgTx, idx int, script []byte, } signature, err := key.Sign(hash) if err != nil { - return nil, fmt.Errorf("cannot sign tx input: %s", err) + return nil, errors.Errorf("cannot sign tx input: %s", err) } return append(signature.Serialize(), byte(hashType)), nil diff --git a/txscript/sign_test.go b/txscript/sign_test.go index b3c03480d..f1ad17646 100644 --- a/txscript/sign_test.go +++ b/txscript/sign_test.go @@ -5,8 +5,8 @@ package txscript import ( - "errors" "fmt" + "github.com/pkg/errors" "testing" "github.com/daglabs/btcd/btcec" @@ -59,13 +59,13 @@ func checkScripts(msg string, tx *wire.MsgTx, idx int, sigScript, scriptPubKey [ vm, err := NewEngine(scriptPubKey, tx, idx, flags, nil) if err != nil { - return fmt.Errorf("failed to make script engine for %s: %v", + return errors.Errorf("failed to make script engine for %s: %v", msg, err) } err = vm.Execute() if err != nil { - return fmt.Errorf("invalid script signature for %s: %v", msg, + return errors.Errorf("invalid script signature for %s: %v", msg, err) } @@ -79,7 +79,7 @@ func signAndCheck(msg string, tx *wire.MsgTx, idx int, scriptPubKey []byte, sigScript, err := SignTxOutput(&dagconfig.TestNetParams, tx, idx, scriptPubKey, hashType, kdb, sdb, nil) if err != nil { - return fmt.Errorf("failed to sign output %s: %v", msg, err) + return errors.Errorf("failed to sign output %s: %v", msg, err) } return checkScripts(msg, tx, idx, sigScript, scriptPubKey) diff --git a/txscript/stack_test.go b/txscript/stack_test.go index 791bd976e..c82a8eb40 100644 --- a/txscript/stack_test.go +++ b/txscript/stack_test.go @@ -6,8 +6,8 @@ package txscript import ( "bytes" - "errors" "fmt" + "github.com/pkg/errors" "reflect" "testing" ) @@ -19,7 +19,7 @@ func checkScriptError(gotErr, wantErr error) error { // Ensure the error code is of the expected type and the error // code matches the value specified in the test instance. if reflect.TypeOf(gotErr) != reflect.TypeOf(wantErr) { - return fmt.Errorf("wrong error - got %T (%[1]v), want %T", + return errors.Errorf("wrong error - got %T (%[1]v), want %T", gotErr, wantErr) } if gotErr == nil { @@ -29,7 +29,7 @@ func checkScriptError(gotErr, wantErr error) error { // Ensure the want error type is a script error. werr, ok := wantErr.(Error) if !ok { - return fmt.Errorf("unexpected test error type %T", wantErr) + return errors.Errorf("unexpected test error type %T", wantErr) } // Ensure the error codes match. It's safe to use a raw type assert @@ -37,7 +37,7 @@ func checkScriptError(gotErr, wantErr error) error { // the want error is a script error. gotErrorCode := gotErr.(Error).ErrorCode if gotErrorCode != werr.ErrorCode { - return fmt.Errorf("mismatched error code - got %v (%v), want %v", + return errors.Errorf("mismatched error code - got %v (%v), want %v", gotErrorCode, gotErr, werr.ErrorCode) } diff --git a/txscript/standard.go b/txscript/standard.go index d1955fb50..157e361c9 100644 --- a/txscript/standard.go +++ b/txscript/standard.go @@ -6,6 +6,7 @@ package txscript import ( "fmt" + "github.com/pkg/errors" "github.com/daglabs/btcd/dagconfig" "github.com/daglabs/btcd/util" @@ -313,7 +314,7 @@ func ExtractScriptPubKeyAddress(scriptPubKey []byte, chainParams *dagconfig.Para return NonStandardTy, nil, nil } - return NonStandardTy, nil, fmt.Errorf("Cannot handle script class %s", scriptClass) + return NonStandardTy, nil, errors.Errorf("Cannot handle script class %s", scriptClass) } // AtomicSwapDataPushes houses the data pushes found in atomic swap contracts. diff --git a/util/address.go b/util/address.go index 1e7a4df12..a7669bbf5 100644 --- a/util/address.go +++ b/util/address.go @@ -5,8 +5,7 @@ package util import ( - "errors" - "fmt" + "github.com/pkg/errors" "github.com/daglabs/btcd/util/bech32" "golang.org/x/crypto/ripemd160" @@ -66,7 +65,7 @@ var stringsToBech32Prefixes = map[string]Bech32Prefix{ func ParsePrefix(prefixString string) (Bech32Prefix, error) { prefix, ok := stringsToBech32Prefixes[prefixString] if !ok { - return Bech32PrefixUnknown, fmt.Errorf("could not parse prefix %s", prefixString) + return Bech32PrefixUnknown, errors.Errorf("could not parse prefix %s", prefixString) } return prefix, nil @@ -130,15 +129,15 @@ type Address interface { func DecodeAddress(addr string, defaultPrefix Bech32Prefix) (Address, error) { prefixString, decoded, version, err := bech32.Decode(addr) if err != nil { - return nil, fmt.Errorf("decoded address is of unknown format: %s", err) + return nil, errors.Errorf("decoded address is of unknown format: %s", err) } prefix, err := ParsePrefix(prefixString) if err != nil { - return nil, fmt.Errorf("decoded address's prefix could not be parsed: %s", err) + return nil, errors.Errorf("decoded address's prefix could not be parsed: %s", err) } if defaultPrefix != prefix { - return nil, fmt.Errorf("decoded address is of wrong network: %s", err) + return nil, errors.Errorf("decoded address is of wrong network: %s", err) } // Switch on decoded length to determine the type. diff --git a/util/amount.go b/util/amount.go index 534db9d48..2a3f16070 100644 --- a/util/amount.go +++ b/util/amount.go @@ -5,7 +5,7 @@ package util import ( - "errors" + "github.com/pkg/errors" "math" "strconv" ) diff --git a/util/base58/base58check.go b/util/base58/base58check.go index 7cdafeeec..62579b3cd 100644 --- a/util/base58/base58check.go +++ b/util/base58/base58check.go @@ -6,7 +6,7 @@ package base58 import ( "crypto/sha256" - "errors" + "github.com/pkg/errors" ) // ErrChecksum indicates that the checksum of a check-encoded string does not verify against diff --git a/util/bech32/bech32.go b/util/bech32/bech32.go index e0b095d72..d3d1f773f 100644 --- a/util/bech32/bech32.go +++ b/util/bech32/bech32.go @@ -6,6 +6,7 @@ package bech32 import ( "fmt" + "github.com/pkg/errors" "strings" ) @@ -58,13 +59,13 @@ func decode(encoded string) (string, []byte, error) { // since it needs a non-empty prefix, a separator, and an 8 character // checksum. if len(encoded) < checksumLength+2 { - return "", nil, fmt.Errorf("invalid bech32 string length %d", + return "", nil, errors.Errorf("invalid bech32 string length %d", len(encoded)) } // Only ASCII characters between 33 and 126 are allowed. for i := 0; i < len(encoded); i++ { if encoded[i] < 33 || encoded[i] > 126 { - return "", nil, fmt.Errorf("invalid character in "+ + return "", nil, errors.Errorf("invalid character in "+ "string: '%c'", encoded[i]) } } @@ -73,7 +74,7 @@ func decode(encoded string) (string, []byte, error) { lower := strings.ToLower(encoded) upper := strings.ToUpper(encoded) if encoded != lower && encoded != upper { - return "", nil, fmt.Errorf("string not all lowercase or all " + + return "", nil, errors.Errorf("string not all lowercase or all " + "uppercase") } @@ -86,7 +87,7 @@ func decode(encoded string) (string, []byte, error) { // or if the string is more than 90 characters in total. colonIndex := strings.LastIndexByte(encoded, ':') if colonIndex < 1 || colonIndex+checksumLength+1 > len(encoded) { - return "", nil, fmt.Errorf("invalid index of ':'") + return "", nil, errors.Errorf("invalid index of ':'") } // The prefix part is everything before the last ':'. @@ -97,7 +98,7 @@ func decode(encoded string) (string, []byte, error) { // 'charset'. decoded, err := decodeFromBase32(data) if err != nil { - return "", nil, fmt.Errorf("failed converting data to bytes: "+ + return "", nil, errors.Errorf("failed converting data to bytes: "+ "%s", err) } @@ -106,7 +107,7 @@ func decode(encoded string) (string, []byte, error) { expected := encodeToBase32(calculateChecksum(prefix, decoded[:len(decoded)-checksumLength])) - return "", nil, fmt.Errorf("checksum failed. Expected %s, got %s", + return "", nil, errors.Errorf("checksum failed. Expected %s, got %s", expected, checksum) } @@ -136,7 +137,7 @@ func decodeFromBase32(base32String string) ([]byte, error) { for i := 0; i < len(base32String); i++ { index := strings.IndexByte(charset, base32String[i]) if index < 0 { - return nil, fmt.Errorf("invalid character not part of "+ + return nil, errors.Errorf("invalid character not part of "+ "charset: %c", base32String[i]) } decoded = append(decoded, byte(index)) diff --git a/util/certgen.go b/util/certgen.go index 4b59bd1a0..9b046c09f 100644 --- a/util/certgen.go +++ b/util/certgen.go @@ -13,8 +13,7 @@ import ( "crypto/x509" "crypto/x509/pkix" "encoding/pem" - "errors" - "fmt" + "github.com/pkg/errors" "math/big" "net" "os" @@ -45,7 +44,7 @@ func NewTLSCertPair(organization string, validUntil time.Time, extraHosts []stri serialNumberLimit := new(big.Int).Lsh(big.NewInt(1), 128) serialNumber, err := rand.Int(rand.Reader, serialNumberLimit) if err != nil { - return nil, nil, fmt.Errorf("failed to generate serial number: %s", err) + return nil, nil, errors.Errorf("failed to generate serial number: %s", err) } host, err := os.Hostname() @@ -120,24 +119,24 @@ func NewTLSCertPair(organization string, validUntil time.Time, extraHosts []stri derBytes, err := x509.CreateCertificate(rand.Reader, &template, &template, &priv.PublicKey, priv) if err != nil { - return nil, nil, fmt.Errorf("failed to create certificate: %s", err) + return nil, nil, errors.Errorf("failed to create certificate: %s", err) } certBuf := &bytes.Buffer{} err = pem.Encode(certBuf, &pem.Block{Type: "CERTIFICATE", Bytes: derBytes}) if err != nil { - return nil, nil, fmt.Errorf("failed to encode certificate: %s", err) + return nil, nil, errors.Errorf("failed to encode certificate: %s", err) } keybytes, err := x509.MarshalECPrivateKey(priv) if err != nil { - return nil, nil, fmt.Errorf("failed to marshal private key: %s", err) + return nil, nil, errors.Errorf("failed to marshal private key: %s", err) } keyBuf := &bytes.Buffer{} err = pem.Encode(keyBuf, &pem.Block{Type: "EC PRIVATE KEY", Bytes: keybytes}) if err != nil { - return nil, nil, fmt.Errorf("failed to encode private key: %s", err) + return nil, nil, errors.Errorf("failed to encode private key: %s", err) } return certBuf.Bytes(), keyBuf.Bytes(), nil diff --git a/util/coinset/coins.go b/util/coinset/coins.go index 50cc27543..474fa81c7 100644 --- a/util/coinset/coins.go +++ b/util/coinset/coins.go @@ -6,7 +6,7 @@ package coinset import ( "container/list" - "errors" + "github.com/pkg/errors" "sort" "github.com/daglabs/btcd/util" diff --git a/util/daghash/hash.go b/util/daghash/hash.go index 37bef2e96..85e06ed6e 100644 --- a/util/daghash/hash.go +++ b/util/daghash/hash.go @@ -7,7 +7,7 @@ package daghash import ( "encoding/hex" - "fmt" + "github.com/pkg/errors" "math/big" "sort" "strings" @@ -24,7 +24,7 @@ const MaxHashStringSize = HashSize * 2 // ErrHashStrSize describes an error that indicates the caller specified a hash // string that has too many characters. -var ErrHashStrSize = fmt.Errorf("max hash string length is %d bytes", MaxHashStringSize) +var ErrHashStrSize = errors.Errorf("max hash string length is %d bytes", MaxHashStringSize) // Hash is used in several of the bitcoin messages and common structures. It // typically represents the double sha256 of data. @@ -84,7 +84,7 @@ func (txID *TxID) CloneBytes() []byte { func (hash *Hash) SetBytes(newHash []byte) error { nhlen := len(newHash) if nhlen != HashSize { - return fmt.Errorf("invalid hash length of %d, want %d", nhlen, + return errors.Errorf("invalid hash length of %d, want %d", nhlen, HashSize) } copy(hash[:], newHash) diff --git a/util/gcs/gcs.go b/util/gcs/gcs.go index c4a09a774..882aa3423 100644 --- a/util/gcs/gcs.go +++ b/util/gcs/gcs.go @@ -7,7 +7,7 @@ package gcs import ( "bytes" - "fmt" + "github.com/pkg/errors" "io" "sort" @@ -20,11 +20,11 @@ import ( var ( // ErrNTooBig signifies that the filter can't handle N items. - ErrNTooBig = fmt.Errorf("N is too big to fit in uint32") + ErrNTooBig = errors.Errorf("N is too big to fit in uint32") // ErrPTooBig signifies that the filter can't handle `1/2**P` // collision probability. - ErrPTooBig = fmt.Errorf("P is too big to fit in uint32") + ErrPTooBig = errors.Errorf("P is too big to fit in uint32") ) const ( diff --git a/util/hdkeychain/extendedkey.go b/util/hdkeychain/extendedkey.go index b3319503c..fa14839fa 100644 --- a/util/hdkeychain/extendedkey.go +++ b/util/hdkeychain/extendedkey.go @@ -14,8 +14,7 @@ import ( "crypto/rand" "crypto/sha512" "encoding/binary" - "errors" - "fmt" + "github.com/pkg/errors" "math/big" "github.com/daglabs/btcd/btcec" @@ -84,7 +83,7 @@ var ( // ErrInvalidSeedLen describes an error in which the provided seed or // seed length is not in the allowed range. - ErrInvalidSeedLen = fmt.Errorf("seed length must be between %d and %d "+ + ErrInvalidSeedLen = errors.Errorf("seed length must be between %d and %d "+ "bits", MinSeedBytes*8, MaxSeedBytes*8) // ErrBadChecksum describes an error in which the checksum encoded with diff --git a/util/hdkeychain/extendedkey_test.go b/util/hdkeychain/extendedkey_test.go index 81ea228aa..d6150369f 100644 --- a/util/hdkeychain/extendedkey_test.go +++ b/util/hdkeychain/extendedkey_test.go @@ -11,7 +11,8 @@ package hdkeychain import ( "bytes" "encoding/hex" - "errors" + "github.com/daglabs/btcd/testutil" + "github.com/pkg/errors" "math" "reflect" "testing" @@ -540,7 +541,7 @@ func TestGenenerateSeed(t *testing.T) { for i, test := range tests { seed, err := GenerateSeed(test.length) - if !reflect.DeepEqual(err, test.err) { + if !testutil.AreErrorsEqual(err, test.err) { t.Errorf("GenerateSeed #%d (%s): unexpected error -- "+ "want %v, got %v", i, test.name, test.err, err) continue @@ -870,7 +871,7 @@ func TestErrors(t *testing.T) { for i, test := range tests { extKey, err := NewKeyFromString(test.key) - if !reflect.DeepEqual(err, test.err) { + if !testutil.AreErrorsEqual(err, test.err) { t.Errorf("NewKeyFromString #%d (%s): mismatched error "+ "-- got: %v, want: %v", i, test.name, err, test.err) @@ -953,7 +954,7 @@ func TestZero(t *testing.T) { wantErr = errors.New("pubkey string is empty") _, err = key.ECPubKey() - if !reflect.DeepEqual(err, wantErr) { + if !testutil.AreErrorsEqual(err, wantErr) { t.Errorf("ECPubKey #%d (%s): mismatched error: want "+ "%v, got %v", i, testName, wantErr, err) return false diff --git a/util/network/tor.go b/util/network/tor.go index 409bf3997..086c6021a 100644 --- a/util/network/tor.go +++ b/util/network/tor.go @@ -6,7 +6,7 @@ package network import ( "encoding/binary" - "errors" + "github.com/pkg/errors" "net" ) diff --git a/util/subnetworkid/subnetworkid.go b/util/subnetworkid/subnetworkid.go index ec0db3626..cc54dca6d 100644 --- a/util/subnetworkid/subnetworkid.go +++ b/util/subnetworkid/subnetworkid.go @@ -7,7 +7,7 @@ package subnetworkid import ( "encoding/hex" - "fmt" + "github.com/pkg/errors" "math/big" "sort" ) @@ -20,7 +20,7 @@ const MaxStringSize = IDLength * 2 // ErrIDStrSize describes an error that indicates the caller specified an ID // string that has too many characters. -var ErrIDStrSize = fmt.Errorf("max ID string length is %d bytes", MaxStringSize) +var ErrIDStrSize = errors.Errorf("max ID string length is %d bytes", MaxStringSize) // SubnetworkID is used in several of the bitcoin messages and common structures. It // typically represents ripmed160(sha256(data)). @@ -73,7 +73,7 @@ func (id *SubnetworkID) CloneBytes() []byte { func (id *SubnetworkID) SetBytes(newID []byte) error { nhlen := len(newID) if nhlen != IDLength { - return fmt.Errorf("invalid ID length of %d, want %d", nhlen, + return errors.Errorf("invalid ID length of %d, want %d", nhlen, IDLength) } copy(id[:], newID) diff --git a/util/testtools/testtools.go b/util/testtools/testtools.go index 31d018e07..57ed0d7f6 100644 --- a/util/testtools/testtools.go +++ b/util/testtools/testtools.go @@ -1,9 +1,8 @@ package testtools import ( - "fmt" - "github.com/daglabs/btcd/dagconfig" + "github.com/pkg/errors" "github.com/daglabs/btcd/mining" "github.com/daglabs/btcd/util/daghash" @@ -34,11 +33,11 @@ func RegisterSubnetworkForTest(dag *blockdag.BlockDAG, params *dagconfig.Params, } if delay != 0 { - return fmt.Errorf("ProcessBlock: block is is too far in the future") + return errors.Errorf("ProcessBlock: block is is too far in the future") } if isOrphan { - return fmt.Errorf("ProcessBlock: unexpected returned orphan block") + return errors.Errorf("ProcessBlock: unexpected returned orphan block") } return nil @@ -47,12 +46,12 @@ func RegisterSubnetworkForTest(dag *blockdag.BlockDAG, params *dagconfig.Params, // Create a block in order to fund later transactions fundsBlock, err := buildNextBlock(dag.TipHashes(), []*wire.MsgTx{}) if err != nil { - return nil, fmt.Errorf("could not build funds block: %s", err) + return nil, errors.Errorf("could not build funds block: %s", err) } err = addBlockToDAG(fundsBlock) if err != nil { - return nil, fmt.Errorf("could not add funds block to DAG: %s", err) + return nil, errors.Errorf("could not add funds block to DAG: %s", err) } fundsBlockCbTx := fundsBlock.Transactions()[0].MsgTx() @@ -60,7 +59,7 @@ func RegisterSubnetworkForTest(dag *blockdag.BlockDAG, params *dagconfig.Params, // Create a block with a valid subnetwork registry transaction signatureScript, err := txscript.PayToScriptHashSignatureScript(blockdag.OpTrueScript, nil) if err != nil { - return nil, fmt.Errorf("Failed to build signature script: %s", err) + return nil, errors.Errorf("Failed to build signature script: %s", err) } txIn := &wire.TxIn{ PreviousOutpoint: *wire.NewOutpoint(fundsBlockCbTx.TxID(), 0), @@ -81,17 +80,17 @@ func RegisterSubnetworkForTest(dag *blockdag.BlockDAG, params *dagconfig.Params, // Add it to the DAG registryBlock, err := buildNextBlock([]*daghash.Hash{fundsBlock.Hash()}, []*wire.MsgTx{registryTx}) if err != nil { - return nil, fmt.Errorf("could not build registry block: %s", err) + return nil, errors.Errorf("could not build registry block: %s", err) } err = addBlockToDAG(registryBlock) if err != nil { - return nil, fmt.Errorf("could not add registry block to DAG: %s", err) + return nil, errors.Errorf("could not add registry block to DAG: %s", err) } // Build a subnetwork ID from the registry transaction subnetworkID, err := blockdag.TxToSubnetworkID(registryTx) if err != nil { - return nil, fmt.Errorf("could not build subnetwork ID: %s", err) + return nil, errors.Errorf("could not build subnetwork ID: %s", err) } return subnetworkID, nil } diff --git a/util/wif.go b/util/wif.go index 98366a3e2..b981a9b22 100644 --- a/util/wif.go +++ b/util/wif.go @@ -6,10 +6,10 @@ package util import ( "bytes" - "errors" "github.com/daglabs/btcd/btcec" "github.com/daglabs/btcd/util/base58" "github.com/daglabs/btcd/util/daghash" + "github.com/pkg/errors" ) // ErrMalformedPrivateKey describes an error where a WIF-encoded private diff --git a/wire/message.go b/wire/message.go index 6a8da91c6..e64f92bc1 100644 --- a/wire/message.go +++ b/wire/message.go @@ -7,6 +7,7 @@ package wire import ( "bytes" "fmt" + "github.com/pkg/errors" "io" "unicode/utf8" @@ -171,7 +172,7 @@ func makeEmptyMessage(command string) (Message, error) { msg = &MsgCFCheckpt{} default: - return nil, fmt.Errorf("unhandled command [%s]", command) + return nil, errors.Errorf("unhandled command [%s]", command) } return msg, nil } diff --git a/wire/msgversion.go b/wire/msgversion.go index 2449764ea..b09455119 100644 --- a/wire/msgversion.go +++ b/wire/msgversion.go @@ -7,6 +7,7 @@ package wire import ( "bytes" "fmt" + "github.com/pkg/errors" "io" "strings" "time" @@ -85,7 +86,7 @@ func (msg *MsgVersion) AddService(service ServiceFlag) { func (msg *MsgVersion) BtcDecode(r io.Reader, pver uint32) error { buf, ok := r.(*bytes.Buffer) if !ok { - return fmt.Errorf("MsgVersion.BtcDecode reader is not a " + + return errors.Errorf("MsgVersion.BtcDecode reader is not a " + "*bytes.Buffer") }